KR20230015447A - 서브픽처-관련 비디오 코딩 개념들 - Google Patents

서브픽처-관련 비디오 코딩 개념들 Download PDF

Info

Publication number
KR20230015447A
KR20230015447A KR1020227045258A KR20227045258A KR20230015447A KR 20230015447 A KR20230015447 A KR 20230015447A KR 1020227045258 A KR1020227045258 A KR 1020227045258A KR 20227045258 A KR20227045258 A KR 20227045258A KR 20230015447 A KR20230015447 A KR 20230015447A
Authority
KR
South Korea
Prior art keywords
layer
data stream
video data
layers
subpicture
Prior art date
Application number
KR1020227045258A
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 KR20230015447A publication Critical patent/KR20230015447A/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
    • 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/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

독립적으로 코드된 서브픽처들로 세분된 방식으로 비디오 데이터 스트림들에(therein) 인코드된 비디오 데이터 스트림들을 인코딩(encoding), 디코딩(decoding), 추출(extracting) 및 믹싱(mixing)하는 것에 관한 비디오 코딩 개념들이 설명된다. 상기 개념들은 인터-레이어 예측 도구들의 핸들링 및 그런 비디오 데이터 스트림들에 대한 인터-레이어 예측에 대한 스케일링 윈도우들, 그런 데이터 스트림들에 대한 디코더 능력 요구사항들의 결정, 그런 데이터 스트림들에 대한 레이어-특화 제약들, 및 독립적인 코딩의 상이한 타입들과 함께 인코드된 서브픽처들의 믹싱(mixing)의 핸들링, 세분된 픽처들의 레이어 및 비-세분된 픽처들(un-subdivided pictures)의 레이어를 가지는 서브픽처 특화 비디오 데이터 스트림들의 추출에 관련이 있다.

Description

서브픽처-관련 비디오 코딩 개념들
본 명세서의 실시예들은 비디오 콘텐츠를 비디오 데이터 스트림으로 인코딩하기 위한 인코더들에 관한 것이다. 추가의 실시예들은 멀티-레이어드 비디오 데이터 스트림(multi-layered video data stream)으로부터 서브픽처-특화 비디오 데이터 스트림(subpicture-specific video data stream)을 추출하기 위한 장치들에 관한 것이다. 추가의 실시예들은 비디오 데이터 스트림을 디코딩하기 위한 디코더들에 관한 것이다. 추가의 실시예들은 비디오 콘텐츠를 비디오 데이터 스트림으로 인코딩하기 위한 방법들, 비디오 데이터 스트림을 디코딩하기 위한 방법들, 및 멀티-레이어드 비디오 데이터 스트림으로부터 서브픽처-특화 비디오 데이터 스트림을 추출하기 위한 방법들에 관한 것이다. 추가의 실시예들은 비디오 데이터 스트림들에 관한 것이다.
비디오 코딩에서, 비디오 시퀀스의 픽처(picture)는 복수의(multiple) 서브픽처들에 의해 비디오 데이터 스트림으로 코딩될 수 있고, 이들의 각각은 픽처의 부분(portion)을 포함한다. 다시 말해, 비디오 데이터 스트림은 동일한 프리젠테이션 시간과 관련된 복수의(multiple) 서브픽처들을 포함할 수 있다. 디코딩 또는 프리젠테이션을 위한 서브픽처들 중 하나 또는 복수의(multiple)를 선택함으로써, 제시된(presented) 비디오 컨텐츠는 디코더 측(decoder side)에서 선택되도록 할 수 있다. 예를 들어, 이러한 비디오 데이터 스트림들은 뷰포트(viewport) 종속 스트리밍 시나리오들에서 활용(utilize)될 수 있다. 전체 픽처가 아닌 하나 이상의 서브픽처들이 제시되어야 하는 경우에서와 같이, 전체 비디오 데이터 스트림을 디코드하지 않고 그 일 부분만을 디코드하는 것이 유리(favorable)할 수 있다. 그런 식으로, 제시된 비디오 컨텐츠의 더 양호한 레이트-왜곡 관계(rate-distortion relation)가 주어진 디코딩 비용(decoding cost)에서 달성될 수 있다. 이것을 위해, 비디오 데이터 스트림의 부분은 디코딩 전에 추출될 수 있다.
따라서, 서브픽처 특화 비디오 데이터 스트림의 정확한 추출과 낮은 시그널링 오버헤드(low signaling overhead) 사이의 양호한(good) 트레이드오프(tradeoff)를 제공하는 방식으로 복수의(multiple) 서브픽처들을 포함하는 비디오 데이터 스트림들을 인코딩하고 핸들링하기 위한 개념을 갖는 것이 바람직하다.
본 발명의 제1 측면에 따른 실시예들은, 비-서브픽처 나뉜 방식(non-subpicture divided manner)으로 레이어들에 인코드된 비디오를 가지는 레이어들 및 두개 이상의 서브픽처들로 세분된 방식으로 레이어들에 인코드된 비디오를 가지는 레이어들 사이에서, 멀티-레이어드 비디오 데이터 스트림의 서브픽처 특화 비디오 데이터 스트림의 추출 또는 정의 또는 기술(description)에서, 구별하는 아이디어에 의존한다. 비-서브픽처 나뉜 방식으로 인코드된 레이어들과 서브픽처 나뉜 방식으로 인코드된 레이어들을 구별하는 것은, 서브픽처 특화 비디오 데이터 스트림에 의해 표현된 서브픽처를 넘어 확장하는 픽처들을 포함하는 서브픽처 특화 비디오 데이터 스트림들을 추출하거나 설명할 수 있게 한다. 따라서, 실시예들은 예를 들어, 서브픽처 특화 비디오 데이터 스트림의 추출 또는 기술(description)을 허용하며, 여기서 서브픽처 세분된(subdivided) 방식으로 인코드된 레이어의 서브픽처들은 비-서브픽처 세분된 방식으로 인코드된 레이어의 픽처들에 의존한다. 추가로, 뷰포트 종속 스트리밍과 같은 애플리케이션에서, 서브픽처 특화 비디오 데이터 스트림에서 이용 가능한 비-세분된 방식으로 인코드된 픽처들을 갖는 것은, 뷰포트의 변경이 있는 경우에 비세분된 방식으로 인코드된 픽처들의 품질의 적어도 하나의 픽처가 즉시 이용가능하도록 허용할 수 있다.
본 발명의 제1 측면에 따른 실시예들은 멀티-레이어드 비디오 데이터 스트림으로부터 서브픽처 특화 비디오 데이터 스트림을 추출하는 장치를 제공한다. 복수의(multiple) 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림은, NAL 유닛들과 같은 비트스트림 부분들로 구성(또는 포함)되고, 이들의 각각은 레이어들 중 하나에 속한다. 주목해야 할 것은, "구성된"은 - 본 명세서에서 발생하는 어느 곳에서든지 - 주제가 구성 요소(composition)의 목적을 배타적으로 포함할 것을 요구하는 것으로 이해되어서는 안 되고; 오히려, 데이터 스트림은, 비트스트림 부분들 외에, 본 명세서에서 설명된 바와 같은 다른 부분들을 포함할 수 있으며, 데이터 스트림 내의 비트스트림 부분들의 배열(arrangement)은 하나의 액세스 유닛 내의 특정(certain) 타임 스탬프에 속하는 비트스트림 부분들의 수집(collection)과 같은 특정 규칙들을 준수(adhere to)한다. 제1 특징에 따르면, 예를 들어, 서브 사진 특정 비디오 데이터 스트림을 추출하는 장치에 의해, 멀티-레이어드 비디오 데이터 스트림에서 서브픽처 특화 비디오 데이터 스트림을 추출하는 하는 것은, 개별적인 레이어가 비-서브픽처-세분된(non-subpicture-subdivided) 방식으로 개별적인 레이어에(thereinto) 비디오를 인코드했는지 또는, 개별적인 레이어가, 비디오의 픽처들이, 비디오의 각 픽처에 대해, 개별적인 픽처의 서브픽처들이 개별적인 레이어의 서로 상이한(mutually different) 비트스트림 부분들(bitstream portions)로 인코드되도록 서로 독립적인(mutually independent) 방식으로 개별적인 레이어로 인코드된 둘 이상의 서브픽처들로 세분(subdivide)되는 방식으로 개별적인 레이어에(thereinto) 비디오를 인코드 했는지, 레이어 세트의 각 레이어에 대해, 예를 들어 OLS(ouput layer set), 체크(check)하는 것을 포함한다. 만약 개별적인 레이어가 비-서브픽처-세분된 방식으로 비디오를 개별적인 레이어에(thereinto) 인코드 했다면, 추출은, 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)이 개별적인 레이어에(thereinto) 완전히(completely) 인코드된 개별적인 레이어의 비디오를 갖도록, 개별적인 레이어에 속하는 비트스트림 부분들(bitstream portions)을, 멀티-레이어드 비디오 데이터 스트림으로부터 서브픽처 특화 비디오 데이터 스트림으로 인수(take over)하는 것을 포함한다. 만약 비디오의 픽처들이 둘 이상의 서브픽처들로 세분된 방식으로, 개별적인 레이어가 개별적인 레이어에(thereinto) 비디오를 인코드했다면, 서브레이어 특화 비디오 데이터 스트림(sublayer specific video data stream)을 추출하는 것은, 상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해, 둘 이상의 서브픽처들 중 개별적인 비트스트림 부분이 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 비트스트림 부분으로부터 판독(read)하는 것, 및 만약 개별적인 비트스트림 부분이, 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트(predetermined set)에 속하는 서브픽처를 인코드했다면, 멀티-레이어드 비디오 데이터 스트림으로부터 서브픽처 특화 비디오 데이터 스트림으로 개별적인 레이어의 개별적인 비트스트림 부분을 인수(take over)하는 것을 포함한다.
추가의 실시예들은 상기 멀티-레이어드 비디오 데이터 스트림으로부터 추출가능한 서브픽처 특화 비디오 데이터 스트림에 관한 디코더 능력 요구사항 정보(decoder capability requirement information)를 포함하는 멀티-레이어드 비디오 데이터 스트림, 및 이를 인코딩하는 인코더에 의해 제공되는 바와 같이, 서브픽처 특화 비디오 데이터 스트림을 추출하는 설명된 장치에 의해 수행된다. 비디오 데이터 스트림에서 디코더 능력 요구사항 정보를 시그널링(Signaling)하는 것은, 디코더 능력들의 보다 효율적인 개발(exploitation) 및/또는 디코딩에 사용될 디코더의 능력들의 관점에서 디코딩을 위한 최상의 비디오 데이터 스트림의 선택을 가능하게 한다.
본 발명의 제2 측면의 실시예들에 따르면, 멀티-레이어드 비디오 데이터 스트림은, 제1 비디오(first video)의 각 픽처에 대해, 제1 비디오의 개별적인 픽처의 서브픽처들이 제1 레이어의 서로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 제1 비디오의 픽처들이 제1 레이어의 비트스트림 부분들로 인코드된 둘 이상의 서브픽처들로 세분되는 방식으로, 비트스트림 부분들은 비트스트림 부분들에(thereinto) 인코드된 제1 비디오를 갖는 제1 레이어를 포함한다. 멀티-레이어드 비디오 데이터 스트림은 비트스트림 부분이 제2 비디오를 갖는 제2 레이어를 더 포함한다. 제1 레이어의 비트스트림 부분들은 레퍼런스 픽처들(reference pictures)로부터 벡터-기반 예측(vector-based prediction)을 사용하여 비트스트림 부분들에(thereinto) 인코드된 제1 비디오를 갖는다. 추가로, 제1 레이어의 비트스트림 부분들은 상기 레퍼런스 픽처들로(as) 제2 비디오의 픽처들을 포함하는 방식으로, 및 레퍼런스 픽처들 및 제1 비디오의 픽처들을 위한, 개별적으로(respectively), 멀티-레이어드 비디오 데이터 스트림에서 스케일링 윈도우들(scaling windows)의 포지션들(positions) 및 사이즈들(sizes)에 따라(according to), 제1 레이어들의 비트스트림 부분들에 의해 구성되고 제1 레이어들의 비트스트림 부분들이 인코드된 것을 사용하는 벡터들을, 벡터 기초 예측에서 사용하기 위해, 옵셋(offset) 및 스케일(scale)되는 방식으로 비트스트림 부분들에(thereinto) 인코드된 제1 비디오를 가진다. 제2 측면에 따른 개념은, 멀티-레이어드 비디오 데이터 스트림에서 서브픽처 특화 비디오 데이터 스트림을 추출함에 있어서, 서브픽처 특화 비디오 데이터 스트림이 개별적인 레이어에(thereinto) 완전히 인코드된 개별적인 레이어의 비디오를 갖도록, 제2 레이어에 속하는 비트스트림 부분들을, 멀티-레이어드 비디오 데이터 스트림으로부터 서브픽처 특화 비디오 데이터 스트림으로 인수(take over)하는 것을 포함한다. 서브픽처 특화 비디오 데이터 스트림을 추출하는 것은 하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처들을, 비트스트림 부분에(thereinto) 인코드하였고 제1 레이어(L1)에 속하는 각 비트스트림을, 멀티-레이어드 비디오 데이터 스트림으로부터 서브픽처 특화 비디오 데이터 스트림으로 인수(take over)하는 것을 더 포함한다. 또한, 서브픽처 특정 비디오 데이터 스트림의 추출하는 것은 제2 비디오의 픽처들의 스케일링 윈도우(scaling window)의 공간적 영역(spatial area)이, 하나 이상의 서브픽처들의 미리 결정된 세트에 대한 스케일링 윈도우의 공간적 영역(spatial area)에 공간적으로(spatially) 일치하도록(corresponds to), 서브픽처 특화 비디오 데이터 스트림에서 제1 및/또는 제2 레이어들에 대한 스케일링 윈도우 신호화(scaling window signalization)를 조정(adapt)하는 것을 포함한다.
제2 측면에 따른 실시예들은, 벡터들이 멀티-레이어드 비디오 데이터 스트림에 제공된 스케일링 윈도우들이 의도한 포지션들(positions) 및 사이즈들(sizes)에 따라 포지션들 및 사이즈들로 스케일링되도록, 제1 레이어의 픽처들의 사이즈가 서브픽처 추출로 인해 변경될 수 있는 동안, 스케일링 윈도우들을 사용한 벡터 기반 예측을 위한 벡터들의 스케일링이 수행되도록 보장(ensure)할 수 있다. 따라서, 제2 측면의 실시예들은, 벡터 기반 인터-레이어(inter-layer) 예측과 함께 서브픽처 추출의 사용(usage)의 조합(combination)을, 또한 픽처 및 그 인터-레이어 레퍼런스 픽처 사이의 상대적인 픽처 사이즈가 서브픽처 추출로 인해 변경되는 경우, 예를 들어, 개별적인 레이어의 픽처들이 서브픽처 특화 비디오 데이터 스트림으로 완전히 포워드되는 경우(예를 들어, 제1 측면에 대해 설명된 바와 같이) 허용한다.
본 발명의 제3 측면에 따른 실시예들은, 멀티-레이어드 비디오 데이터 스트림의 인코딩 및/또는 디코딩에서 인터-레이어 예측 도구들은 비디오의 제1 버전을 멀티-레이어드 비디오 데이터 스트림의 제1 레이어로부터(from)/제1 레이어으로(into) 코딩하기 위해 사용되며, 인터-레이어 예측 도구들 멀티-레이어드 비디오 데이터 스트림의 제2 레이어로부터 예측을 위해 사용되고, 제1 버전은 인코드되고, 그리고 제1 레이어는 비디오의 제1 버전의 서브픽처-별(subpicture-wise) 독립적인 코딩을 위한 제1 구성 설정을 사용한다. 추가로, 서브픽처-별 독립적인 코딩을 위한 제2 구성 설정은 멀티-레이어드 비디오 데이터 스트림의 제2 레이어로부터(from)/제2 레이어로(into) 비디오의 제2 버전을 코딩을 위해 사용된다. 제1 및 제2 구성 설정들이 미리 결정된(predetermined) 관계(relationship)를 갖는지 여부에 의존하여, 하나 이상의 인터-레이어 예측 도구들의 미리 결정된 서브세트(subset)가 제2 레이어로부터 인터-레이어 예측에서 비활성화된다.
그에 맞춰(accordingly), 제3 측면에 따른 실시예들은, 예를 들어, 하나의 레이어의 픽처들이 서브픽처들로 세분되는 반면 또 다른(another) 레이어의 픽처들은 서브픽처들로 세분되지 않는 경우, 특히, 멀티-레이어드 비디오 데이터 스트림의 상이한 레이어들의 픽처들이 상이한 수의 서브픽처들로 세분되는 시나리오들에서, 멀티-레이어드 비트스트림의 픽처들이 서브픽처로 세분(subdivided)되는 경우, 인터-레이어 예측이 또한 사용될 수 있도록, 인터-레이어 예측 도구들의 사용을 정밀하게(precisely) 제어(control)할 수 있도록 허용한다.
본 발명의 제4 측면에 따른 실시예들은, 하나 이상의 제1 레이어들에서 독립적으로 코드된 서브픽처들로 세분되는 방식으로 픽처들로 멀티-레이어드 비디오 비트스트림에(thereinto) 인코드된 멀티-레이어드 비디오 비트스트림 및 하나 이상의 제2 레이어들에서 세분되지 않는 방식으로 픽처들로 멀티-레이어드 비디오 비트스트림에(thereinto) 인코드된 멀티-레이어드 비디오 비트스트림의 인코딩 또는 핸들링을 제공한다. 멀티-레이어드 비디오 비트스트림은 레이어 세트를 디코딩하기에 충분한 여러(several) 레퍼런스 디코더 능력 요구사항들(reference decoder capability requirements)로 인코드되었으며, 레이어 세트(which)의 각각은 적어도 하나의 제1 레이어들 및 적어도 하나의 제2 레이어들을 포함한다. 레퍼런스 디코더 능력 요구사항들의 각각에 대해, 멀티-레이어드 비디오 데이터 스트림은 적어도 하나의 제1 레이어에 기인한 개별적인 레퍼런스 디코더 능력 요구사항의 제1 프랙션 및 적어도 하나의 제2 레이어에 기인한(attributed to) 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션(fraction)에 관한(on) 정보(information)를 포함한다.
제1 프랙션 및 제2 프랙션에 관한(on) 정보를 갖는 것은 서브픽처 특화 비디오 데이터 스트림과 같은, 멀티-레이어드 비디오 데이터 스트림으로부터 추출될 수 있는 여러 비디오 데이터 스트림들의 각각과 연관된 디코더 능력 요구사항의 정확한 결정을 허용한다.
본 발명의 제5 측면에 따른 실시예들은, 레퍼런스 디코더 능력 요구사항, 예를 들어 레이어-특화 제약조건들과 연관된 제약들을, 멀티-레이어드 비디오 데이터 스트림에 지시된 레이어 세트의 이들(those) 레이어들에 선택적인 적용을 위해 제공하며, 이들(which) 레이어들은 독립적으로 코드된 서브픽처들로 세분된 방식으로 레이어에(thereinto) 비디오 픽처들을 인코드한다. 서브픽처 특화 비디오 데이터 스트림을 추출하는 동안, 픽처 사이즈의 감소로 인해 제약들이 강화(tighten)될 수 있을 때, 픽처 사이즈가 유지되는 레이어에 대한 제약들의 적용을 생략(omit)하는 것은, 예를 들어, 픽처들이 비-세분된 레이어들에 불균형하게(disproportionally) 타이트한(tight) 제약들을 부과(impose)하는 것을 피할 수 있다.
본 발명의 제6 측면에 따른 실시예들은, 비디오 데이터 스트림에서의 지시(indication)를 제공하며, 이(which) 지시는 비디오 데이터 스트림으로 인코드된 픽처들이 하나 이상의 독립적으로 코드된 서브픽처들을 거쳐(by way of) 인코드되는지 여부를 표시하고, 지시는 하나 이상의 독립적으로 코드된 서브픽처들 및 하나 이상의 독립적인 디코드된 서브픽처들의 주변(surrounding) 사이의 상이한 타입의 코딩 독립성을 구별한다. 제6 측면에 따른 실시예들은, 상이한 타입들의 NAL 유닛들과 같은 비트스트림 부분들을 구성된 비트스트림의 하나의 픽처, 즉, 하나의 액세스 유닛으로 믹싱(mixing)하는 것을 허용한다. 따라서, 제6 측면에 따른 실시예들은, 비디오 비트스트림들의 믹싱에서 더 높은 유연성(flexibility)을 허용한다.
본 개시의 실시예들 및 유리한 구현예들은 도면들에 관하여 이하에서 더 상세히 설명되며, 그 중에서도 다음과 같다:
도 1은 일 실시예에 따른 인코더, 추출기 및 디코더의 예들을 도시한다.
도 2는 일 실시예에 따른 인코더, 비디오 데이터 스트림, 및 추출기의 예들을 도시한다.
도 3은 비디오 데이터 스트림의 일 예 및 서브픽처 특화 비디오 데이터 스트림의 잘못된(erroneous) 추출의 일 예를 도시한다.
도 4는 서브픽처 특화 비디오 데이터 스트림의 일 예를 도시한다.
도 5는 본 발명의 제2 측면에 따른 인코더, 추출기, 및 멀티-레이어드 비디오 데이터 스트림의 예들을 도시한다.
도 6은 일 실시예에 따른 스케일링 윈도우들의 조정(adaption)을 도시한다.
도 7은 서브픽처 특화 비디오 데이터 스트림의 추출의 또 다른 예를 도시한다.
도 8은 서브픽처 특화 비디오 데이터 스트림의 출력 픽처 영역(output picture area) 프랙션의 일 예를 도시한다.
도 9는 레퍼런스 디코더 능력 요구사항의 세분된 레이어(subdivided layer) 및 비-세분된(non-subdivided) 레이어의 프랙션(fraction)들의 예들을 도시한다.
도 10은 인코더들, 비디오 데이터 스트림들, 비디오 데이터 스트림들을 믹싱(mixing) 및/또는 추출하기 위한 장치 및 디코더의 예들을 도시한다.
도 11은 디코더 측(decoder side) 경계 처리(boundary treatment)와 인코더 측(encoder side) 경계 처리를 믹스(mix)하는 비트스트림(bitstream)의 일 예를 도시한다.
도 12는 디코더 측(decoder side) 및 인코더 측(encoder side) 경계 처리를 믹싱(mixing)하는 싱글 레이어 비트스트림의 일 예를 도시한다.
도 13은 독립성(independency)의 타입들에 따른 비트스트림 부분들의 일 예를 도시한다.
이하에서, 실시예들이 상세히 논의되지만, 그러나 실시예들은 매우 다양한 비디오 코딩 개념들로 구체화될 수 있는 많은 적용가능한 개념들을 제공한다는 것이 인식되어야 한다. 논의된 특화(specific) 실시예들은 본 개념을 구현하고 사용하기 위한 특정 방법을 예시하는 것일 뿐, 실시예의 범위를 제한하지 않는다. 이하의 기술(description)에서, 복수의 세부사항들(details)이 개시의 실시예들에 대한 보다 철저한 설명을 제공하기 위해 제시된다. 그러나, 당업자에게는 다른 실시예들이 이러한 특화(specific) 세부사항들 없이 실시될 수 있다는 것이 명백할 것이다. 다른 예들에서, 잘 알려진 구조들 및 장치들은 본 명세서에 기술된 예들을 모호하게(obscuring) 하는 것을 피하기 위해 상세하게 보다는 블록도(block diagram)의 형태로 도시된다. 또한, 본 명세서에서 설명되는 상이한 실시예들의 특징들은 특별히 달리 언급되지 않는 한 서로 조합될 수 있다.
실시예들에 대한 이하의 기술(description)에 있어서, 동일하거나 유사한 구성요소들 또는 동일한 기능을 갖는 요소들은 동일한 참조 부호(reference sign)로 제공되거나 동일한 명칭으로 식별되고, 동일한 참조 번호로 제공되거나 동일한 명칭으로 식별되는 요소들에 대한 반복적인 기술(descipntion)은 통상적으로 생략된다. 따라서, 동일하거나 유사한 참조 번호를 갖거나 동일한 명칭으로 식별되는 요소들에 대해 제공되는 기술은 상호 교환 가능하거나 상이한 실시예에서 서로 적용될 수 있다.
도면들에 대한 다음의 설명은 도 1에 관하여 인코더, 추출기 및 디코더의 프리젠테이션(presentation)과 함께 시작한다. 도 1의 인코더 및 추출기는 본 발명의 실시예들이 내장될 수 있는 프레임워크(framework)에 대한 예시를 제공한다. 그 후, 본 발명의 개념의 실시예들에 대한 기술(description)이 도 1의 인코더 및 추출기에 어떻게 내장(built)될 수 있는지에 관해(as to) 기술(description)과 함께 제시된다. 그러나, 그 이하의 도 2 및 이하의 후속 실시예들에 관하여 설명되는 실시예들은 또한 도 1에 관하여 설명된 프레임워크에 따라 동작하지 않는 인코더 및 추출기를 형성(form)하는데 사용될 수 있다. 또한, 인코더, 추출기 및 디코더는 예시적인 목적(illustrative purpose)을 위해 도 1에서 공동으로 설명되지만, 서로 별개로 구현될 수 있음에 유의하라.
0. 도 1에 따른 인코더(40), 추출기(10), 디코더(50) 및 비디오 데이터 스트림(14)
도 1은 인코더(40), 추출기(20) 및 디코더(50)의 예들을 도시한다. 인코더(40)는 비디오(24)를 비디오 데이터 스트림(14)으로 인코드한다. 비디오 데이터 스트림(14)(비디오 데이터 스트림들은 또한 본 명세서에서 비트스트림들로서 지칭될 수 있음)은, 예를 들어, 데이터 캐리어 상에 전송될 수 있거나 또는 저장될 수 있다. 비디오(24)는 픽처들의 시퀀스(sequence)를 포함할 수 있고, 이들의 각각은 프리젠테이션 시간 순서의 프리젠테이션 시간과 연관될 수 있다. 비디오(24)는 도 1에서 픽처들(260, 261)에 의해 표현되는 복수의 픽처들(26)을 포함할 수 있다. 픽처들(26)의 각각은 도 1의 제1 레이어(L1) 또는 제2 레이어(L0)와 같은 레이어와 연관될 수 있다. 예를 들어, 도 1에서, 픽처들(260)은 제2 레이어(L0)와 연관되고, 픽처(261)는 제1 레이어(L1)와 연관된다. 레이어(L0)의 픽처들(260)은 비디오 시퀀스(240)를 형성할 수 있다. 레이어(L1)의 픽처들(261)은 비디오 시퀀스(241)를 형성할 수 있다. 예들에서, 비디오(24)의 비디오 시퀀스들(240, 241)은 동일한 콘텐츠를 나타내고 동일한 프리젠테이션 시간과 연관되지만 상이한 해상도(resolution)를 갖는 픽처들을 포함할 수 있다. 그러나, 비디오(24)의 레이어들(L0, L1)과 연관된 비디오 시퀀스들(240, 241)은 상이한 프레임 레이트들(frame rates)을 가질 수 있음에 유의하라. 따라서, 예를 들어, 비디오 시퀀스(240)는 비디오 시퀀스(241)가 픽처(261)를 포함하는 프리젠테이션 시간들의 각각에 대한 픽처(260)를 반드시 포함할 필요는 없다. 인코더(40)는 비디오 시퀀스(241)의 픽처(261)를 비디오 데이터 스트림(14)으로, 즉, 픽처(261)와 시간적으로 배치된, 즉, 동일한 프리젠테이션 시간과 연관된 비디오 시퀀스(240)의 픽처(260)(예를 들어, 인터-레이어 예측을 위해 레퍼런스 픽처로 지칭됨)을 참조하는 것에 의존하여 인코드할 수 있다. 다시 말해(in other words), 레이어(L0)의 픽처들은 레이어(L1)의 픽처들에 대한 레퍼런스 픽처일 수 있다. 따라서, 비디오 데이터 스트림(14)으로부터의 픽처(261)의 디코딩은 비디오 데이터 스트림(14)으로 인코드된 픽처(260)를 필요할 수 있다. 이들 예들에서, 레이어(L0)는 베이스 레이어(base layer)로 지칭될 수 있고, 레이어(L0)와 연관된 픽처들은 제1 해상도(first resolution)를 가질 수 있다. 강화 레이어(enhancement layer)로 지칭될 수 있는 제1 레이어(L1)와 연관된 픽처들(261)은 제1 해상도보다 높을 수 있는 제2 해상도를 가질 수 있다. 예를 들어, 인코더(40)는, 제1 해상도에서 비디오(24)를 나타내는, 레이어(L0)가 제1 해상도의 비디오를 야기하는, 레이어(L1)와 독립적으로 비디오 데이터 스트림(14)으로부터 디코드될 수 있도록 비디오(24)에서 비디오 데이터 스트림(14)으로 인코드할 수 있다. 레이어(L1)의 픽처들(261)이 레이어(L0)의 픽처들(260)에 의존하는 경우, 비디오 시퀀스들(240, 241)은 선택적으로 공동으로(jointly) 디코드될 수 있고, 이는 비디오가 제1 해상도, 예를 들어 제2 해상도보다 높은 해상도를 갖는 결과를 초래할 수 있다. 따라서, 비디오 데이터 스트림(14)을 디코딩하기 위한 복수의(multiple) 선택들이 있을 수 있고, 디코드될 데이터 스트림의 상이한 데이터 레이트들(data rates)과 함께 오는 개별적인 선택들(individual choices)이 상이한 해상도를 갖는 비디오들을 초래(result in)한다.
도 1에 도시된 레이어들의 수는 예시적인 것이며, 비디오 데이터 스트림(14)은 둘 이상의 레이어들을 가질 수 있다는 것이 지적(point out)된다. 또한, 비디오 데이터 스트림(14)은 반드시 복수의 레이어들을 포함할 필요는 없지만, 일부 예들에서, 섹션 6(section 6)에서 설명된 실시예들의 예들에서와 같이, 하나의 단일 레이어들만을 포함할 수 있다는 점에 유의하라.
추출기(10)는 비디오 데이터 스트림(14)을 수신할 수 있고, 추출된 비디오 데이터 스트림(12)을 제공하기 위해서 추출기(10)는 비디오 데이터 스트림으로부터(therefrom) 비디오 데이터 스트림(14)의 비트스트림 부분들의 반드시 적절한 부분집합이 아닌 것을 추출할 수 있다. 달리 말해, 추출된 비디오 데이터 스트림(12)은 비디오 데이터 스트림(14)에 대응할 수 있거나, 비디오 데이터 스트림(14)의 부분(apportion)을 포함할 수 있다. 추출기(10)는 추출된 비디오 데이터 스트림(12)에서 비트스트림 부분들을 포워딩할 때, 비디오 데이터 스트림(14)의 비트스트림 부분들의 콘텐츠를 선택적으로 수정(modify)할 수 있다는 것이 지적된다. 예를 들어, 추출기(10)는 추출된 비디오 데이터 스트림(12)의 코드된 비디오 데이터를 디코드하는 방법에 대한 정보를 포함하는 설명 데이터(descriptive data)를 수정할 수 있다. 추출기(10)는 비디오 데이터 스트림(14)으로부터 추출될 OLS(output layer set)에 기초하여, 추출된 비디오 데이터 스트림(12)으로 포워드될 비디오 데이터 스트림(14)의 비트스트림 부분들을 선택(select)할 수 있다. 예를 들어, 추출기(10)는 추출될 OLS(OLS to be extracted) 또는 제시될 OLS를 지시하는 OLS 지시를 수신할 수 있다. 비디오 데이터 스트림(14)은 비디오 데이터 스트림(14)으로부터 추출가능한 OLS들의 세트를 지시하는 OLS 지시를 포함할 수 있다. OLS는 비디오 데이터 스트림(14)의 레이어들 중 하나 이상 또는 전부가 전체적으로 또는 부분적으로 추출된 비디오 데이터 스트림(12)으로 포워드될 것임을 지시할 수 있다.
달리 말해, OLS는, 예를 들어, 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들의 (반드시 적절하지는 않은) 서브세트를 지시할 수 있다. OLS는 비트스트림(14)의 비디오 파라미터 세트(VPS, video parameter set)에 포함될 수 있는 OLS 지시(18)에서와 같이 멀티-레이어드 데이터 스트림 자체(itself)에서 지시될 수 있다. 실제로, 하나보다 많은(more than one) 이러한 OLS는, 예를 들어, API(20)를 통해, 외부 수단에 의해 결정되는 추출에 사용되는 OLS와 함께 데이터 스트림(14)에서 지시될 수 있다. 참고로, OLS 지시(18)는, 주로 출력되거나(output) 제시될(presented) 비디오의 하나 이상의 레이어들을 지시하는 반면, 하나 이상의 출력 레이어들이 (또 다른 개별적인 레이어를 통해) 직접 또는 간접적으로 레이어에 의존한다는 점에서, 하나 이상의 출력 레이어들에 속하는 출력/제시되지 않을 비-출력(non-output) 레퍼런스 레이어들을 지시할 수도 있다. OLS 지시(18)는 하나 이상의 OLS들을 지시할 수 있다.
옵션으로(Optionally), OLS 지시(18)는, 예를 들어 비디오 파라미터 세트(VPS)에서, OLS에 대한 비디오 파라미터들을 지시할 수 있다. 예를 들어, 비디오 파라미터들은 레퍼런스 디코더 능력 요구사항들(또한 디코더 능력 요구사항들, (레퍼런스) 레벨 정보, 또는 (레퍼런스) 레벨 지시로 지칭됨)을 나타낼 수 있고, 이는 OLS에 의해 설명된 비트스트림을 디코딩할 수 있기 위한 디코더에 관한 요구사항들을 제기(pose)한다. 하나 이상의 시간적 서브레이어들(temporal sublayers) 및/또는 OLS의 하나 이상의 레이어들의 선택/추출에 의해 여전히 스케일러블(scalable)가능할 있도록, 비디오 파라미터들은 하나의 OLS에 대한 하나 이상의 레퍼런스 디코더 능력 요구사항들을 지시할 수 있는 것을 유의하라. 예를 들어, 혼합기(mixer) 또는 병합기(merger)(예를 들어, 도 10의 장치(100))는 추출된 비디오 데이터 스트림(12)을 사용하여 비트스트림을 형성할 수 있거나, 또는 디코더는 디코딩을 위해 추출된 비디오 데이터 스트림(12)의 서브-비트스트림(sub-bitstream)을 선택할 수 있다.
추출된 비디오 데이터 스트림(12)은 디코더(50)로 포워드되고, 디코더(50)는 디코드된 비디오(24')를 획득하기 위하여, 추출된 비디오 데이터 스트림(12)을 디코드한다. 디코드된 비디오(24')는 비디오(24)의 전체 컨텐츠를 반드시 포함하지 않는다는 점에서 비디오(24)와 상이할 수 있고, 및/또는 또 다른 해상도를 가질 수 있고 및/또는 비디오(24)에 관하여, 예를 들어, 양자화 손실(quantization loss)에 기초하여 왜곡(distortion)을 가질 수 있다.
비디오 데이터 스트림(14)의 레이어들 중 하나의 픽처들(26)은 하나 이상의 서브픽처들(28)을 포함할 수 있고, 또는 복수의 서브픽처들(28)로 세분될 수 있다. 레퍼런스 부호(reference sign)(26)는 레이어들의 픽처들을 지칭(refer)하기 위해 다음에서 사용될 것이며, 픽처(26)는, 예를 들어, 레이어(L1)의 픽처(261) 또는 레이어(L0)의 픽처(260)를 지칭(refer)할 수 있다. 인코더(40)는 픽처(26)의 서브픽처들(28)을 서로 독립적으로 인코드할 수 있다. 즉, 픽처(26)의 서브픽처들(28) 중 하나는 픽처(26)의 또 다른 서브픽처(28)를 요구(require)하지 않고 디코드될 수 있다. 예를 들어, 추출기(10)는 반드시 레이어의 모든 서브픽처들(28)을 포워드할 필요는 없으나, 레이어의 픽처들(26)의 각각의 서브픽처들(28)의 서브세트, 또는 단지 하나를 포워드할 수 있다. 결과적으로, 추출된 비디오 데이터 스트림(12)의 데이터 레이트(data rate), 이 경우, 서브픽처 특화 비디오 데이터 스트림(12)로 지칭(refer)될 수 있는, 데이터 레이트는, 추출된 비디오 데이터 스트림(12)의 디코딩은 더 적은 디코더 자원들을 필요로하도록, 비디오 데이터 스트림(14)의 데이터 레이트보다 낮을 수 있다. 도 1의 예에서, 추출기(10)는 레이어(L0)의 픽처들(240) 및 레이어(L1)의 픽처들(261)의 서브픽처들(28)을 포워드한다. 이 시나리오에서, 디코드된 비디오(24')는 비디오 시퀀스(240)의 디코드된 픽처들을 나타내는 디코드된 비디오 시퀀스(24'0)를 포함한다. 추가로, 이 예에 따른 디코드된 비디오 시퀀스(24')는 비디오 시퀀스(241)의 픽처들(261)의 서브픽처(28)를 포함하는 디코드된 픽처들(26'1)을 나타내는 디코드된 비디오 시퀀스(24'1)를 포함한다.
인코더는 OLS 지시에서 하나 이상의 의미있는/추출 가능한 레이어 세트들을 지시할 뿐만 아니라, 실시예에 따라, 지시된 특정 OLS가 예를 들어, DPB 및/또는 CPB에 대한 이용 가능한 버퍼 메모리에 관해서(in terms of) 디코더에 의해 디코드가능한지 여부를 결정하기 위해 디코더가 사용할 수 있는 정보를 데이터 스트림에 제공하고, 커널들 프로세싱(processing kernels), 원하는 디코딩 지연(decoding delay) 등; 이 정보는 디코더 능력 요구사항 정보에 포함될 수 있는 것에 유의하라.
멀티-레이어드 비디오 데이터 스트림, 서브픽처들, 비트스트림 확장성 및 레퍼런스 픽처들의 개념을 매우 일반적으로 설명한 후에, 비디오 데이터 스트림(14)으로부터 추출된 비디오 데이터 스트림(12)의 추출 프로세스를 구현하기 위한 다음의 여러 실시예들 및 비디오 데이터 스트림(14)에서의 연관된 지시들 및/또는 비디오 데이터 스트림(14)을 인코드하는 방법들이 설명된다. 추출 프로세스에 관하여 설명된 특징들은 추출된 비디오 데이터 스트림이 추출될 대응하는 비디오 데이터 스트림 및 비디오 데이터 스트림의 대응하는 인코드 프로세스에 대한 설명을 나타내는 것에 유의하라. 예를 들어, 비디오 데이터 스트림(14)으로부터 정보를 도출하기 위해 추출기(10)를 특정하는 특징은 또한 정보가 비디오 데이터 스트림으로부터 유도될 수 있도록 하는 비디오 데이터 스트림(14)의 특징으로서, 그리고 그에 따라 비디오 데이터 스트림(14)을 인코딩하는 것에 관해서 인코더(40)의 특징으로서 이해되어야 한다.
1. 제1 측면에 따른 인코더(40), 추출기(10), 및 비디오 데이터 스트림(14)
이 섹션은 도 1을 레퍼런스(reference)하는 제1 측면에 따른 실시예들을 설명하며, 섹션 0에 설명된 세부사항들(details)은 선택적으로 제1 측면에 따른 실시예들에 적용될 수 있다.
제1 측면의 실시예들에 따르면, 서브픽처 특화 비디오 데이터 스트림을 추출하는 장치(10)로도 지칭될 수 있는 도 1의 추출기(10)는, 멀티-레이어드 비디오 데이터 스트림(14)에서 서브픽처 특화 비디오 데이터 스트림(12)을 추출하기 위해 구성된다. 즉, 제1 측면에 따르면, 비디오 데이터 스트림(14)은 복수의(multiple) 레이어들을 포함하고, 및 비트스트림 부분들(16)을 포함하며, 이들 각각은 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들(L0, L1), 예를 들어, 레이어들 중 하나에 속한다. 예를 들어, 비트스트림 부분들(16)의 각각은 개별적인 비트스트림(respective bitstream) 부분(16)이 속한 레이어를 지시하는 레이어 ID와 같은 지시를 포함할 수 있다. 제1 측면의 실시예들에 따르면, 추출기(10)는 개별적인 레이어가 비-서브픽처 세분된(non-subpicture subdivided) 방식으로 개별적인 레이어에(thereinto) 비디오(24)를 인코드했는지 또는, 개별적인 레이어가, 비디오의 픽처들(e.g. 픽처들(261, 262), i.e. 개별적인 레이어에 인코드된 픽처들)이, 비디오(24)의 각 픽처(261, 262)에 대해, 펄스펙티브(perspective) 픽처의 서브픽처들(28)이 개별적인 레이어의 서로 상이한(mutually different) 비트스트림 부분들(bitstream portions)(16)로 인코드되도록 서로 독립적인(mutually independent) 방식으로 개별적인 레이어로 인코드된 둘 이상의 서브픽처들(28)로 세분(subdivide)되는 방식으로 개별적인 레이어에(thereinto) 비디오(24)를 인코드 했는지, 레이어 세트(layer set)(OLS)에서 각 레이어에 대해, 체크(check)하기 위해 구성된다.
예를 들어, 레이어 세트는 OLS에 의해 지시된 레이어 세트이며, 예를 들어, 도 1에 관하여 설명된 바와 같이, OLS 추출기(10)는 API(20)와 같은 외부 수단에 의해 추출하도록 지시되거나, OLS 추출기는 예를 들어 개별적인 명령(instruction)이 없는 상태에서 추출될 것으로 추론(infer)한다.
예를 들어, 서로 독립적으로 인코드되는 서브픽처들(28)은 각각의 서브픽처(28)가 (서브픽처가 속한 픽처의) 임의의 다른 서브픽처로부터 독립적으로 인코드되고 각각의 비트스트림 부분(16)은 단지 하나(하나 보다 많은 아니지만 어쩌면 하나의 일부만) 비트스트림 부분에(thereinto) 인코드된 서브픽처를 갖는다는 것을 의미할 수 있다. 달리 말해, 독립적으로 코드된 서브픽처(28)는 서브픽처(28)가 속하는 픽처가 코드되는 비트스트림 부분들(16) 중에서, 독립적으로 코드된 서브픽처(28)가 코드되는 비트스트림 부분들 이외의 비트스트림 부분들을 요구하지 않을 수 있다. 비디오(24)를 비-서브픽처 세분된 방식으로 인코드하는 것은, 예를 들어, 개별적인 레이어가 코드되는 다수의 서브포션들(subportions)이 하나이거나, 또는 개별적인 레이어로 코드된 서브포션들의 수가 하나라는 것을 의미할 수 있다. 달리 말해, 비-서브픽처 세분된 방식으로 인코드된다는 것은 각 픽처가 하나의 서브픽처로서 인코드되는 방식으로 인코드되는 것을 의미할 수 있다.
만약 개별적인 레이어가 비-서브픽처-세분된 방식으로 개별적인 레이어에(thereinto) 비디오를 인코드했다면, 예를 들어, 도 1의 레이어(L0), 추출기(10)는, 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12)이 개별적인 레이어에(thereinto) 완전히(completely) 인코드된, 예를 들어 도 1의 비디오 시퀀스(240), 개별적인 레이어의 비디오(24)를 갖도록, 개별적인 레이어(도 1의 비디오 데이터 스트림들(14, 12)에서 점선으로 구분된(dotted) 비트스트림 부분들(16))에 속하는 비트스트림 부분들(16)을, 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)할 수 있다. 개별적인 레이어의 비디오가 완전히 개별적인 레이어에(thereinto) 인코드된다는 것은, 예를 들어, 개별적인 레이어의 모든 비트스트림 부분들(16), 예를 들어, 멀티-레이어드 비디오 데이터 스트림(14)의 레이어(L0)가 서브픽처 특화 비디오 데이터 스트림(12)에 포함된다는 것을 의미할 수 있다. 대안적으로 또는 부가적으로, 개별적인 레이어에(thereinto) 완전히 인코드된 개별적인 레이어의 비디오(24)를 갖는 서브픽처 특화 비디오 데이터 스트림은, 서브픽처 특화 비디오 데이터 스트림(12)으로 인수된(taken over) 비트스트림 부분(16)이 또 다른 레이어의 둘 이상의 서브픽처들 중 어느 것이 서브픽처 특화 비디오 데이터 스트림(12)에서 포워드되는지의, 예를 들어, 이하에 언급된 하나 이상의 서브픽처들의 미리 결정된 세트에 속하고, 선택으로부터 독립적임을 의미할 수 있다.
만약, 추출기가 개별적인 레이어, 즉 현재 체크된 레이어가, 예를 들어 레이어(L1)의 비디오 시퀀스(241), 비디오(24)를 개별적인 레이어에(thereinto) 인코드한 것을 발견하면, 예를 들어 레이어(L1)의 비디오의 픽처들(261), 레이어의 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 추출기(10)는, 비트스트림 부분(16) 각각에 대해, 개별적인 레이어에 속하는, 도 1에서 레이어(L1)와 같이, 둘 이상의 서브픽처들 중 개별적인 비트스트림 부분이 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 비트스트림 부분(16)으로부터 판독(read)할 수 있다. 추출기는 만약 개별적인 비트스트림 부분(16)이 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처를 인코드했다면, 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특화 데이터 스트림(12)으로, 개별적인 레이어의 개별적인 비트스트림 부분(16)을 인수(take over)할 수 있다. 예를 들어, 도 1에서, 서브픽처들의 미리 결정된 세트는 크로스 해치(cross hatch)에 도시된 서브픽처(28)만을 포함한다. 예를 들어, 추출기(10)는 개별적인 레이어에 속하지만, 하나 이상의 서브픽처들의 미리 결정된 세트에 속하지 않는 서브픽처를 개별적인 레이어에(thereinto) 인코드한, 각 비트스트림 부분을, 예를 들어 포워드 하지 않는, 드롭(drop) 또는 떠나거나(leave) 또는 제거(remove)할 수 있다.
도 2는 도 1에 도시된 시나리오에 관하여 본 발명의 제1 측면의 실시예들에 따른 비디오 데이터 스트림(14) 및 서브픽처 특화 비디오 데이터 스트림(12)에서 시그널된 정보를 보다 상세하게 도시한다. 도 2의 예시적인 예시에 따르면, 서브픽처들의 미리 결정된 세트는 단지 하나의 서브픽처(28), 즉 레이어(L1)의 픽처들(261)의 크로스해치된(crosshatched) 서브픽처(28)를 포함한다. 도 2에 예시된 바와 같이, 레이어(L0)가 비디오를 레이어에(thereinto) 인코드했다는 발견에 기초하여, 즉, 비디오 시퀀스(240), 비-서브픽처 세분된 방식으로, 추출기(10)는 레이어(L0)와 연관된 모든 비트스트림 부분들(16)(점선으로 구분된 것들)을 포워드하거나 인수한다. 레이어(L1)에 연관된 비트스트림 부분들은 서브픽처 나뉜(divided) 방식으로 비디오 데이터 스트림(14)에 인코드된다. 도 2의 예에서, 레이어(L1)의 픽처들(261)의 서브픽처들(28)이 코드되는 비트스트림 부분들은 크로스 해치에서 예시되고, 픽처들(261)의 추가의 서브픽처가 코드되는 비트스트림 부분들은 단순히 해치(hatch)된 것으로 예시된다. 도 2에 예시된 바와 같이, 동일한 프리젠테이션 시간의 픽처들에 속하는 비트스트림 부분들은 공통 액세스 유닛(AU)의 일부(part)일 수 있다. 추가로, 각 픽처(26) 또는 서브픽처(28)는 하나 이상의 비트스트림 부분들(16)로 코드될 수 있음에 유의하라. 예를 들어, 픽처(26) 또는 서브픽처(28)는 슬라이스들(slices)로 더 세분될 수 있고, 이들의 각각은 하나 이상의 비트스트림 부분들로 코드될 수 있다. 도 2의 예시적인 예에서, 서브픽처들(28)의 미리 결정된 세트, 즉, 디코딩을 위한 서브픽처 특화 비디오 데이터 스트림(12)에서 포워드될 하나 이상의 서브픽처들의 세트는 오직 하나의 서브픽처, 즉(namely) 크로스-해치된 서브픽처(28)를 갖는다. 따라서, 레이어(L1)의 픽처들(261)과 연관된 비트스트림 부분들 중에서, 서브픽처(28)의 크로스 해치된 비트스트림 부분들만이 서브픽처의 특화 비디오 데이터 스트림(12)에서 포워드된다.
다시 말해, 장치(10)는 둘 이상의 독립적으로 코드된 서브픽처들(28)의 유닛들로 코드되는 레이어에 민감할 수 있거나, 또는 레이어들의 비트스트림 부분들(16)을 서브스트림(substream)(12)으로 인수하지 않을 수 있다.
예를 들어, 하나 이상의 서브픽처들의 미리 결정된 세트는 API(20)와 같은 외부 수단에 의해 추출기(10)에 제공될 수 있다. 즉, 추출기(10)는 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들 중 어느 픽처(26)의 서브픽처들이 디코더(50)로 포워드될 것인지에 대한(about) 정보를 수신(receive)할 수 있다.
예를 들어, 서브픽처 세분된 방식으로 인코드된 레이어의 둘 이상의 서브픽처들 중 서브픽처(28)가 어느 비트스트림 부분에 속하는지를 드러내는(revealing) 정보는, 서브픽처 식별자(subpicture identifier), 예를 들어, SH_subpic_ID에 의해 제공될 수 있다. 예를 들어, 이 정보, 즉 서브픽처 식별자는 개별적인 비트스트림 부분의 헤더(header), 예를 들어, 슬라이스된 헤더에 제공될 수 있다. 달리 말해, 픽처들(26) 또는 서브픽처들(28) 중 하나의 비디오 데이터를 비트스트림 부분(16)(thereinto)에 인코드한 비트스트림 부분(16)은, 비트스트림 부분의 설명 데이터(descriptive data)에서 비트스트림 부분이 속하는 서브픽처를 지시하는, 예를 들어, 인덱스를 통해, 서브픽처 식별자를 비디오 데이터와(therewith) 연관시킬 수 있다.
예들에서, 비디오 데이터 스트림(14)은 비트스트림 부분들에서 서브픽처 식별자들을 비디오(24)의 픽쳐들에서 서브포션들(subportions) 공간적 포지션(spatial position)과 연관시키는데 사용되는 subpicIDVal과 같은 연관 테이블(association table)(30)을 포함할 수 있다.
실시예에 따르면, 추출기(10)는 개별적인 레이어를 위한 비디오 데이터 스트림(14)에 시그널된(signaled) 신택스 요소(syntax element)를 평가(evaluate)함으로써 서브픽처 세분된 방식으로 또는, 비-서브픽처 세분된 방식으로, 레이어가 비디오를 개별적인 레이어에(thereinto) 인코드했는지 체크하는 것을 수행(performing)할 수 있다. 예를 들어, 개별적인 신택스 요소는 개별적인 레이어가 연관되는 시퀀스 파라미터 세트(sequence parameter set)에서 시그널될 수 있다. 예를 들어, 신택스 요소는 개별적인 레이어로 코드된 다수의 서브픽처들 또는 서브포션들을 나타낼 수 있다. 신택스 요소는 픽처 또는 서브픽처 구성 데이터(subpicture configuration data)(22)에 포함될 수 있으며, 이는 예들에서 비디오 데이터 스트림(14)에서, 예를 들어, 시퀀스 파라미터 세트(SPS)에서 시그널될 수 있다. 예를 들어, 개별적인 신택스 요소는 sps_num_subpics_minus1 신택스 요소일 수 있다.
도 2에 예시된 바와 같이, 비디오 데이터 스트림(14)은 선택적으로 OLS 지시(18)를 포함할 수 있고, 이는 레이어 세트, 예를 들어, OLS, 예를 들어, 서브픽처 특화 비디오 데이터 스트림(12)에서 적어도 부분적으로 포워드되도록 지시된 레이어 세트를 나타낸다. 앞서 설명된 바와 같이, OLS 지시(18)는, 예를 들어, 서브픽처 특화 비디오 데이터 스트림(12)에서 포워드되도록 지시되는 레이어 세트를 포함하는 OLS들의 세트를 포함할 수 있다. 예를 들어, API(20)는, 예를 들어, OLS 지시(18)의 OLS들 중 하나를 가리키는(pointing) 인덱스를 지시함으로써, OLS 지시(18)의 OLS들 중 어느 것이 서브픽처 특화 비디오 데이터 스트림(12)에서 포워드될 것인지를 추출기(10)에 지시한다.
비디오 데이터 스트림(14)은, 선택적으로(optionally), 디코더 능력 요구사항 정보(60)를 더 포함할 수 있으며, 디코더 능력 요구사항 정보는 예를 들어, 픽처 사이즈들, CPB 및/또는 DPB의 버퍼 사이즈들과 같은 버퍼 사이즈들, 및 유사한 정보, 예를 들어, HRD, DPD 및 TPL 정보를 포함할 수 있다. 정보는 인덱싱에 의해 지칭(refer)될 특정 OLS에 적용하는 버전과 함께 비디오 데이터 스트림의(thereof) 다양한 버전들의 리스트의 형태(form)로 비디오 데이터 스트림(14)에서 제공될 수 있다. 즉, 특정 추출 가능한 OLS, 예를 들어, OLS 지시(18)에 의해 지시된 OLS에 대해, 대응하는 HRD, DPD 및/또는 TPL 정보를 가리키는(point) 인덱스가 시그널될 수 있다.
디코더 능력 요구사항 정보(60)는 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추출가능한 서브픽처 특화 비디오 데이터 스트림(12)에 관한(on) 정보일 수 있다. 예를 들어, 디코더 능력 요구사항 정보(60) 또는 디코더 능력 요구사항 정보의(thereof) 부분은 추출기(10)가 펄스펙티브(perspective) 추출 가능한 서브픽처 특화 비디오 데이터 스트림(12)을 추출하기 위한 추출 프로세스를 수행하는 것과 같은 방식으로 추출 프로세스를 실제로 수행함으로써 인코더(40)에 의해 결정될 수 있고, 인코더(40)는 디코더 능력 요구사항 정보(60)의 특정 파라미터를 결정하기 위해 적어도 어느 정도까지(at least to some extent) 추출 프로세스를 수행할 수 있다.
추출기(10)는 데이터 스트림(12)으로부터 데이터 스트림(14)을 형성할 때 일부 데이터를 조정시킬 수 있음에 유의하라. 도 1에서, 이러한 가능성은 비디오 데이터 스트림(12)의 비트스트림 부분들의 레퍼런스 부호(reference sign)(16)에 대한 아포스트로피(apostrophe)의 사용에 의해 지시된다. 도 2에 도시된 바와 같이, 스트림(12)의 컴포넌트들(components)에 대해서도 동일하게 보유되며, 이는(which) 또한 선택적으로 도 1의 비디오 데이터 스트림(12)의 일부일 수 있다. 이들 컴포넌트들은 또한 본 명세서에서 설명되는 추가의 측면들(aspects)에 따른 비디오 데이터 스트림들(14, 12)의 실시예들에 존재(present) 될 수 있다. 예를 들어, 스트림(14)에서 픽처 구성 데이터(22)는 데이터 스트림(14)으로 코드된 전체 픽처들(26)의 픽처 사이즈를 나타내는 반면, 스트림(12)에서 픽처 구성 데이터(22')는 데이터 스트림(14)으로 코드된 픽처들(26')의 픽처 사이즈를 나타내고, 이제 하나의 서브픽처(28)로부터 스트림(12)으로 코드되고, 즉 하나의 서브픽처(28)로부터 픽처(261'), VCL NAL 유닛들과 같이, 비트스트림 패킷들에(thereinto) 인코드된 실제 픽처 콘텐츠를 갖는 비트스트림 패킷들(16)은 적어도 실제 픽처 콘텐츠의(thereof) 산술적으로(arithmetically) 코드된 부분에 관하여, 어떠한 수정도 없이, 그대로(as they are) 인수될 수 있다. 알 수 있는 바와 같이, OLS 지시(18')조차도 스트림(14)으로부터 스트림(12)으로 인수될 수 있다. 스트림(14)에 그대로 둘 수도 있다; 연관 테이블(30)은 그에 따라 수정되었을 수 있다; 데이터 아이템(18, 20 및 22) 중 임의의 것의 수정된 버전은 스트림(12)에 숨겨져/내포될(hidden/nested) 수 있고, 즉, 인코더(40)에 의해 스트림에(therein) 제공되었을 수 있고, 따라서 스트림(14)을 형성할 때 스트림(12)에서 발생하는 대응하는 오버룰된 버전(corresponding overruled version)을 대체하기 위해 추출기에 의해 단순히 사용될 수 있거나, 스트림(14)의 전체 정보에 기초하여 즉석에서(on the fly) 추출기(10)에 의해 해석되어(construed) 스트림(12)에 배치될(placed) 수 있고, 디코더(50)는, 스트림(12)을 수신하거나 공급(fed)받을 때, 서브픽처 세분된 레이어들(L1)의 픽처들(261)이 스트림(14)에서 한 때 어떻게 보였는지에 관해(as to) 더 이상 볼 수 있는 포지션(position)에 있지 않을 수 있다.
체크에 의존하여, 추출기(10)는 PPS 및 SPS와 같은 특정 레이어(certain layer) 특화 파라미터 세트들(specific parameter sets)이 스크래치(scratch)로부터 그에 따라 조정되거나 새로 생성되는지를 추가로 결정할 수 있어서, 스크래치안의(therein) 특정 파라미터가 서브픽처 특화 데이터 스트림(12)에 조정된다. 이러한 파라미터들은 상술한 픽처 사이즈 및 픽처 또는 서브픽처 구성 데이터(22)에서의 서브픽처 구성, 크롭핑 윈도우 오프셋들(cropping window offsets), 레벨 인디게이터(level indicator)를 포함한다. 따라서, 픽처 사이즈 및 서브픽처 구성에 관해서(in terms of) 데이터 스트림(12) 내의 픽처 또는 서브픽처 구성 데이터(22)의 조정과 같은 이러한 조정들은 비-서브픽처-세분된(not-subpicture-subdivided) 레이어들에 대해서는 일어나지 않고, 즉 "만약 개별적인 레이어가 비-서브픽처-세분된 방식으로 비디오를 개별적인 레이어에(thereinto) 인코드했던 경우", 그러나 "만약 개별적인 레이어가 비디오의 픽처들(26)이 둘 이상 서브픽처들(28)로 세분되는 방식으로 비디오(24)를 개별적인 레이어에(thereinto) 인코드했던 경우"가 발생한다.
예를 들어, 픽처들(260)이 서브픽처 특화 비디오 데이터 스트림(12)에서 포워드될 때, 이들 픽처들은 예를 들어 레이어(L1)의 서브픽처들(28)에 대해, 레퍼런스 레이어들로서 이용가능하다. 예를 들어, 도 1에 관하여 설명된 바와 같이, 멀티-레이어드 비디오 데이터 스트림(14)은 예를 들어 데이터 스트림의 데이터 레이트의 확장성(scalability)을 허용할 수 있다. 이를 위해, 베이스 레이어, 예를 들어 레이어(L0)는, 제1 해상도로 비디오를 레이어에(thereinto) 인코드했을 수 있고, 강화 레이어(enhancement layer), 예를 들어 레이어(L1)는 이러한 레이어(베이스 레이어)일 수 있고, 제1 해상도보다 높은 제2 해상도에 대한 비디오에 대한 정보를 레이어에(thereinto) 인코드했을 수 있다. 예를 들어, 강화 레이어로 인코드된 픽처들(261)의 디코딩은 베이스 레이어의 시간적으로 배치된 픽처(collocated picture)의 정보를 필요로 할 수 있다. 달리 말해, 베이스 레이어는 강화 레이어의 레퍼런스 레이어일 수 있다. 따라서, 이 시나리오에서, 베이스 및 강화 레이어이 둘 다 레이어들의 세트의 일부이면, 강화 레이어의 서브픽처의 베이스 레이어의 일부인 레퍼런스 픽처는, 서브픽처 특화 비디오 데이터 스트림에서 이용 가능하다는 것이 보장될 수 있다. 추가로, 예들에서, 저해상도 비디오가 비-서브픽처-세분된 방식으로 베이스 레이어에 코드되고, 결과적으로 제시된 개념에 따라 베이스 레이어의 비트스트림 부분들이 서브픽처 특화 비디오 데이터 스트림으로 인수된다. 따라서, 전체 비디오 컨텐츠의 적어도 저해상도 비디오가 서브픽처 특화 비디오 데이터 스트림에서 이용 가능하다는 것이 보장될 수 있고, 이에 따라 서브픽처가 제시될 변경이 발생하고, 따라서 디코드될 경우, 베이스 레이어의 적어도 저해상도 픽처가 디코더에 즉시 이용가능하고, 서브픽처의 빠른 변경을 할 수 있다.
달리 말해, 스케일러블한(scalable) 코딩이 서브픽처들과 함께 사용될 때, 예를 들어 뷰포트 종속(viewport dependent) 360도 비디오 스트리밍 시나리오에서, 하나의 공통 셋업(setup)은 전체 360도 비디오 장면(scene)을 묘사(depict)하는 저해상도 베이스 레이어와 더 높은 충실도(fidelity) 또는 공간 해상도(spatial resolution)의 장면을 포함하는 강화 레이어를 갖는 것이지만, 강화 레이어 픽처는 여러 독립적으로 코드된 서브픽처들로 세분된다. 이러한 셋업에서는, 강화 레이어와 비-서브픽처 베이스 레이어로부터, 예를 들어 클라이언트의 보기 방향(viewing direction)에 일치하는 픽처 부분, 싱글 서브픽처(single subpicture)를 추출하고 전체 360도 비디오(full-360-degree video) 기본 레이어에 나란히(alongside) 디코드할 수 있다.
상술한 바와 같은 비트스트림 구성(비-서브픽처(non-subpic) 레퍼런스 레이어들과 함께 서브픽처들)의 경우 VVC 안(VVC specification)과 같은 최첨단(state of the art) 추출 프로세스는 컨포먼트 비트스트림(conformant bitstream)을 생성하지 않는다. 예를 들어, 다음 단계는 inBitstream의 축어적 사본(verbatim copy)으로부터 임시(temporary) 아웃비트스트림(outBitstream)을 생성(create)한 후 (예를 들어, OLS 지시(18)로부터 OLS 지시(18')를 도출하기 위해서) 인덱스 subpicIdx로 서브픽처를 추출할 때, 현재 VVC 기술시방서 안(current VVC draft specification)의 서브픽처 서브-비트스트림(sub-bitstream) 추출 프로세스에서 추출된 OLS에서 각 레이어(i)에 대해 수행된다.
- i번째 레이어의 nuh_layer_id과 nuh_layer_id 같고 SubpicIdVal[subpicIdx]와 같지 않은 sh_subpic_id 갖는 모든 VCL NAL 유닛들(VCL NAL units)을 아웃비트스트림(outBitstream)에서 제거(remove)하고, 즉, i번째 레이어의 nuh_layer_id와 nuh_layer_id 같고 SubpicIdVal[subpicIdx]와 sh_subpic_id 같은 VCL NAL 유닛만 추출된 비트스트림으로 인수한다.
추출할 서브픽처와 상이한 서브픽처 ID를 갖는 모든 VCL NAL 유닛들는 제거되는 것에 유의하라.
SubpicIdVal은 서브픽처가 비트스트림에 나타나는 서브픽처 인덱스 Idx 순서로부터 AU 특화 매핑(AU specific mapping) 및 관련된 시그널링 구조들(related signalling structures) 및 식별자 ID(identifier ID) 값이며, 이는 서브픽처에 속하는 슬라이스들의 슬라이스 헤더들에서 신택스 요소(syntax element)(sh_subpic_id)로서 운반되고, 추출 동안 서브픽처를 식별하기 위해 추출기에 의해 용이하게 된다.
도 3은 멀티-레이어드 비디오 데이터 스트림(14)의 일 예를 도시하며, 이는 도 1 및 도 2에 관하여 설명된 바와 같은 비디오 데이터 스트림(14)의 일 예일 수 있다. 도 3에 따르면, 비디오의 4개의 액세스 유닛들의 시퀀스가 도시된다. 레이어(L1)의 픽처들(261)의 각각은 2개의 서브픽처들, 인덱스 0으로 인덱스된 제1 서브픽처와 인덱스 1로 인덱스된 제2 서브픽처로 세분되고, 한편 레이어(L0)의 픽처들(260)은 비-세분된 방식으로 코드된다.
종래로, 도 3의 상부에 도시된 바와 같은 오리지널 비트스트림(original bitstream)이 서브픽처의 추출의 대상이 될 때, 예를 들어 subpicIdx 1, L1이 도 3의 하단에 도시된 바와 같이 L0으로부터 그의 인터-레이어 레퍼런스 픽처들(ILRP)이 누락(missing)될 것이기 때문에, 비-컨포먼트(non-conformant) 비트스트림(12*)이 생성될 것이다. 서브픽처 ID들은 비트스트림 과정에서 변경될 수 있으므로, 추출은 인덱스 기반(index based)인 것을 유의하라. 이러한 단계는 서브픽처 인덱스 0을 가지므로 비-서브픽처 레이어들로부터 모든 NAL 유닛들, 예를 들어, 비트스트림 부분들을 제거하는 결과를 초래할 것임이 명백하다.
따라서, 제1 측면에 따른 실시예들은 시나리오들에서 서브픽처 특화 비디오 데이터 스트림의 추출을 허용할 수 있고, 서브픽처 특화 비디오 데이터 스트림은 비-서브픽처 레이어들을 포함한다. 달리 말해, 실시예들은 서브픽처들이 비-서브픽처 레이어에 대한 레퍼런스들을 가질 수 있는 서브픽처 특화 비디오 데이터 스트림의 추출을 허용할 수 있다.
달리 말해, 본 발명의 제1 측면에 따른 실시예들은, 대조적으로, OLS의(its) 서브픽처 구성에 따라 OLS 내의 각 레이어로부터 NAL 유닛들을 추출(즉, 제거)하는 것을 허용할 수 있다. 예를 들어, 일 실시예에서, 상술한 제거 단계(removal step)는 서브픽처의 존재(presence)에 조건되고(conditioned), 예를 들어 다음과 같이 레이어 SPS 내의 서브픽처들의 수를 통해:
sps_num_subpics_minus1이 0보다 크면, i번째 레이어의 nuh_layer_id와 nuh_layer_id 같고 SubpicIdVal [subpicIdx]와 같지 않은 sh_subpic_id와 함께 모든 VCL NAL 유닛들을 아웃비트스트림(outBitstream)으로부터 제거한다.
특히 "sps_num_subpics_minus1이 0보다 큰 경우" 부분에 유의하여, VCL NAL 유닛들의 제거를 적어도 두 개의 서브픽처들을 갖는 레이어 또는 픽처들로 제한한다.
또 다른 실시예에서, 각 레이어의 비-VCL NAL 유닛들에 관한 상술한 추출 프로세스의 추가 단계들, 예컨대 픽처 사이즈, 크롭핑 윈도우 오프셋들, 레벨 idc 및 서브픽처 구성에 관한(regarding) SPS/PPS 조정둘(SPS/PPS adjustments)은 다음과 같이 서브픽처의 존재(presence)에 기초하여 생략(omit)된다.
출력 서브-비트스트림(output sub-bitstream) 아웃비트스트림(outBitstream)은 다음과 같이 도출된다:
- 부록 C.6(Annex C.6)에 명시된 서브-비트스트림 추출 프로세스는 inBitstream, targetOlsIdx 및 tIdTarget을 입력들로 호출되고, 프로세스의 출력은 아웃비트스트림(outBitstream)에 할당된다.
- 만약 사양(specification)에 명시되지 않은 일부 몇몇 외부 수단들(external means)을 서브-비트스트림 아웃비트스트림(outBitstream)에 대한 대체 파라미터 세트를 제공할 수 있는 경우, 모든 파라미터 세트들을 대체 파라미터 세트들(replacement parameter sets)로 대체한다.
- 그렇지 않으면, 서브픽처 레벨 정보 SEI 메시지들은 inBitstream에 존재하는 경우, 다음이 적용된다.
[…]
i가 NumLayersInOls[targetOlsIdx] - 1에서 0 사이의 범위에 있는 i번째 레이어의 경우 다음이 적용된다.
- sps_num_subpics_minus1이 0보다 크면 다음이 적용된다.
[…] VCL NAL 유닛들의 제거, 서브픽처 파라미터들, 및 적합성(conformance) 윈도우 // , 픽처 사이즈, 레벨에 관하여(in terms of) SPS/PPS에 대한 조정과 같은 레이어-특화 작업들(layer-specific tasks)//
다시 말하지만, "sps_num_subpics_minus1이 0보다 큰 경우"부분에 유의하여, 레이어-특화 작업들을 적어도 두 개의 서브픽처들을 가지는 레이어들 또는 픽처들로 제한한다.
도 4는 상기 실시예가 추출 프로세스에서 사용될 때 서브픽처 특화 비디오 데이터 스트림(12)의 추출의 예시적인 결과를 도시하며, 이는 따르는(conforming) 비트스트림을 초래한다.
2. 제2 측면에 따른 인코더(40), 추출기(10) 및 비디오 데이터 스트림(14)
이 섹션은 본 발명의 제2 측면에 따른 인코더(40), 추출기(10) 및 비디오 데이터 스트림(14)의 실시예들을 설명한다. 제2 측면에 따른 인코더(40), 추출기(10) 및 비디오 데이터 스트림(14)은 도 1에 관하여 설명한 바와 같이 인코더(40), 추출기(10) 및 비디오 데이터 스트림(14)에 따를 수 있고, 선택적으로 섹션 1에서 도 2에 관하여 설명한 바와 같은 제1 측면에 따를 수도 있다.
도 5는 인코더(40), 추출기(10), 디코더(50) 및 비디오 데이터 스트림(14)의 실시예들을 도시하며, 여기서 비디오 데이터 스트림(14)은 예를 들어, 도 1 및 도 2에 관하여 설명된 바와 같이, 적어도 제1 레이어(L1) 및 제2 레이어(L0)를 포함한다. 도 5에서 예시적으로 도시된 시나리오의 비디오 시퀀스(24), 픽처(26) 및 서브픽처(28)는 도 1 및 도 2에 도시된 시나리오의 설명에 따를 수 있다.
제2 측면의 실시예들에 따르면, 멀티-레이어드 비디오 데이터 스트림(14)은, 예를 들어, 개별적인 비트스트림 부분과 연관된 레이어 ID에 의해 지시된 바와 같이 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들 중 하나에 속하는 각각, 예를 들어, NAL 유닛들, 비트스트림 부분들(16)로 구성되거나 또는 포함한다. 멀티-레이어드 비디오 데이터 스트림(14)은 제1 레이어, 예를 들어 도 5의 레이어(L1), 좌측(left-hand side), 비트스트림 부분들(16)을 포함하며, 그 중 제1 비디오(241)의 픽처들(261)이 둘 이상의 서브픽처들(28), 예를 들어, 레이어(L1)의 픽처들(261)의 단순 해치 및 크로스 해치된 반쪽들로 세분되는 방식으로 비트스트림 부분들에(thereinto) 인코드된 제1 비디오(241)를 갖는다. 서브픽처들(28)은, 제1 비디오(241)의 각 픽처(261)에 대해, 제1 비디오의 개별적인 픽처의 서브픽처들(28)제1 레이어(L1)로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 제1 레이어(L1)의 비트스트림 부분들(16)로 인코드된다. 예를 들어, 도 2에 관하여 이미 설명된 바와 같이, 단순히 해치된 서브픽처(28)는 비디오 데이터 스트림(14)의 단순 해치된 비트스트림 부분들로 인코드되고, 크로스해치된 서브픽처들(28)은 비디오 데이터 스트림(14)의 크로스해치된 비트스트림 부분들로 인코드된다. 멀티-레이어드 비디오 데이터 스트림(14)은 제2 레이어, 예를 들어, 도 5의 좌측의 레이어(L0)를 더 포함하고, 그 중 비트스트림 부분들은 비트스트림 부분들에(thereinto) 인코드된 제2 비디오(240)를 갖는다. 예를 들어, 제2 비디오(240)는, 제2 비디오에 기초한 제1 비디오의 인터레이어 예측이 실현 가능하도록, 적어도 제1 비디오(241)의 비디오 컨텐츠를 커버하고, 시간적으로 정렬되는 비디오 컨텐츠에 관한 것이다. 예를 들어, 레이어(L0)의 픽처(260)의 비디오 컨텐츠는 레이어(L1)의 시간적으로 정렬된 픽처(261)의 비디오 컨텐츠를 커버할 수 있다. 제2 비디오(240)는 예시적으로 비디오 데이터 스트림(14)의 제2 레이어(L0)로 인코드되지만, 반드시 그런 것은 아니지만, 제1 비디오(241)에 공간적으로 대응되는 제2 비디오(240)의 공간적 픽처 영역(spatial picture area)에 관하여 비-서브픽처 세분된 방식으로 인코드된다. 달리 말해, 제2 레이어(L0)로 코드된 서브포션들(subportions)의 개수는 하나일 수 있다. 심지어 달리 말해, 제2 레이어(L0)의 각 픽처는 하나의 서브픽처로서 인코드될 수 있거나, 또는 대안적으로, 만약 서브포션들로 세분되는 경우, 하나의 서브포션이 제1 비디오의 풋프린트(footprint)를 완전히 커버할 수 있다. 제1 레이어의 비트스트림 부분들, 즉, 크로스해치된 및 단순히 해치된 부분들은, 개별적인 픽처들로부터 벡터 기반 예측을 사용하여 비트스트림 부분에(thereinto) 인코드된 제1 비디오(241)를 갖는다. 추가로, 제1 레이어의 비트스트림 부분들은 제2 비디오(240)의 픽처들을 레퍼런스 픽처들로서(예를 들어, 적어도) 포함하는 방식으로, 그리고 제1 레이어들의 비트스트림 부분들이 인코드되고, 제1 레이어들의 비트스트림 부분들에 의해 구성되거나 또는 시그널되는 벡터들(70)이 비트스트림 부분들에(thereinto) 인코드되는 방식으로, 벡터 기반 사용자 예측(vector based user prediction)에 사용하기 위해, 제1 비디오의 픽처들(261) 및 레퍼런스 픽처들(260)에 대한, 개별적으로, 멀티-레이어드 비디오 데이터 스트림(14)에서 스케일링 윈도우들(72)의 사이즈들 및 포지션들에 따라 스케일 및 오프셋될 수 있다.
예를 들어, 제2 비디오(240)의 픽처들은 적어도 제1 레이어의 비트스트림 부분들이 벡터-기반 예측을 사용하여 인코드된 개별적인 픽처들에 포함된다. 예를 들어, 도 5의 픽처(260)는 픽처(261)의 레퍼런스 픽처일 수 있다. 달리 말해, 제2 비디오(240)의 픽처들(260)은 제1 비디오(241)의 픽처들(261)을 인코딩하기 위한 인터 레이어 개별적인 픽처들의 역할을 할 수 있다. 예를 들어, 벡터 기반 예측은 모션 벡터 기반 예측 프레임워크(motion vector based prediction framework)에 포함될 수 있으며, 여기서 용어 "모션"은 몇몇 개별적인 픽처로부터 예측되는 제1 비디오(241)의 픽처 콘텐츠가 몇몇 벡터에 의해 공간적으로, 그로부터(from which is) 예측되고, 개별적인 픽처에서 대응하는 픽처 콘텐츠로부터 이동되는 사실을 일반적으로 지칭한다. 즉, 그로부터 대체되며(displaced), 레퍼런스 픽처는, 예를 들어, 제1 비디오(241)의 미리 코드된 픽처 또는 제2 비디오(240)의 동-시간적(co-temporal) 또는 시간적으로 정렬된 픽처일 수 있다. 예를 들어, 도 5의 제1 비디오(241)와 제2 비디오(240)의 예시(illustration)에서 서로 상부에 묘사된(depicted) 픽처들(26)은 그러한 픽처들일 수 있다.
스케일링 윈도우들(72)의 사이즈들 및 포지션들에 따른 벡터들(70)의 오프셋팅(offsetting)은, 예를 들어, 스케일링 윈도우들, 예를 들어, 레이어(L0)의 스케일링 윈도우들(720)과 레이어(L1)의 스케일링 윈도우들(721) 사이의 위치상의 오프셋(positional offset)에 따라 수행될 수 있다. 추가로, 예를 들면, 스케일링 윈도우(72)의 사이즈들 및 포지션들에 따른 벡터들(70)의 스케일링은, 스케일링 윈도우들, 예를 들어, 스케일링 윈도우들(720, 721) 사이의 사이즈 비율(size ratio)에 따라 수행될 수 있다.
예를 들어, 스케일링 윈도우(72)의 사이즈들 및 포지션들은 예를 들어, 픽처 기초 유닛으로 스케일링 윈도우 지시(72)에 의해 멀티-레이어드 비디오 데이터 스트림(14)에서 시그널될 수 있다. 예를 들어, 스케일링 윈도우(72)의 사이즈들 및 포지션들은 스케일링 윈도우들의 두 대향하는 코너들의 포지션들의 지시, 또는 하나의 코너의 포지션 및 x 및 y에서의 스케일링 윈도우들의 차원들(dimensions)의 지시에 의해 시그널될 수 있다.
해당 플래그를 사용하여 픽처 경계와 스케일링 윈도우가 일치함을 나타내는 것과 같이, 좌표들 또는 같은 것(the same)의 좌표들 및 치수들(dimensions)을 사용하는 것과는 다르게 스케일링 윈도우의 특정 포지셔닝들(positionings)을 시그널하는 것이 가능할 수 있는 것에 유의하라. 후자의 경우(In the latter case), 예들에서, 만약 플래그가 스케일링 윈도우와 픽처 경계들의 포지셔닝의 일치를 지시하지 않는 경우에만, 스케일링 윈도우의 포지셔닝은 좌표 등을 사용하여 지시된다.
제2 측면에 따른 추출기(10)는, 서브픽처 특화 비디오 데이터 스트림(12)이 비디오에(thereinto) 완전히 인코드된 개별적인 레이어의 비디오(240)를 가지도록, 제2 레이어(L0)에 속하는 비트스트림 부분들을, 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 서브픽처 특화 비디오 데이터 스트림(12)으로, 인수하도록 추가로 구성된다. 예를 들어, 추출기(10)는 레이어(L0)의 모든 비트스트림 부분들(16)을 포워드(forward)할 수 있고, 또는 서브픽처 특화 비디오 데이터 스트림(12)에 포워드 된 제1 레이어(L1)의 둘 이상의 서브픽처들 중 서브픽처로부터 독립적인 레이어(L0)에 연관된 비트스트림 부분들을 포워드 할 수 있다, 즉 제1 레이어(L1)의 서브픽처들 중 서브픽처는 다음에 기술되는 바와 같이 하나 이상의 서브픽처들의 미리 결정된 세트에 속한다. 달리 말해, 제2 측면에 따르는 장치(10)는, 제2 레이어(L0)의 비트스트림 부분들을, 예를 들어, 비-서브픽처 세분된 방식으로 인코드된 레이어(L0)의 경우에 대해 도 1 및 도 2와 관련하여 기술된 바와 같이, 인수할 수 있다,
제2 측면에 따른 추출기(10)는, 서브픽처 특화 비디오 데이터 스트림(12)이 개별적인 레이어에(thereinto) 완전히 인코드된 개별적인 레이어의 비디오(240)를 갖도록, 멀티-레이어드 영상 데이터 스트림(14)으로부터 서브픽처 특화 비디오 데이터 스트림(12)으로, 제2 레이어(L0)에 속하는 비트스트림 부분들을 인수하도록 구성된다. 예를 들어, 추출기(10)는 레이어(L0)의 모든 비트스트림 부분들(16)을 포워드 할 수 있고, 또는 제1 레이어(L1)의 둘 이상의 서브픽처들 중 어느 것으로부터 서브픽처 특화 비디오 데이터 스트림(12)으로 포워드 되는지, 독립적으로 레이어(L0)와 연관된 비트스트림 부분들을, 즉 제1 레이어(L1)의 서브픽처들 중 어느 것이 다음에서 설명되는 바와 같이 하나 이상의 서브픽처들의 미리 결정된 세트에 속하는지, 포워드 할 수 있다. 달리 말해, 제2 측면에 따른 장치(10)는, 예를 들어 도 1 및 도 2, 제1 측면에 관한여 설명된 바와 같이 서브픽처들의 미리 결정된 세트의 세트에 속하는 제1 레이어(L1)의 비트스트림 부분들을 선택적으로 포워드 할 수 있다. 도 1 및 도 2에 관하여 설명한 바와 같이, 하나 이상의 서브픽처들의 미리 결정된 세트는 API에 의해 추출기(10)에 제공되는 정보에 의해 지시될 수 있다.
추출기(10)는 서브픽처 특화 비디오 데이터 스트림(12) 내의 제1 레이어(L1) 및/또는 제2 레이어(L0)에 대한 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정시키도록 더 구성되어, 제2 비디오의 픽처들에 대한 스케일링 윈도우(720')의 공간적 영역(spatial area)이 하나 이상의 서브픽처들의 미리 결정된 세트에 대한 스케일링 윈도우(721')의 공간적 영역에 공간적으로 대응한다.
도 5에 예시된 바와 같이, 서브픽처 특화 비디오 데이터 스트림(12)의 추출 후, 하나 이상의 서브픽처들의 미리 결정된 세트에 의해 정의된 서브픽처들은 하나 이상의 서브픽처들의 미리 결정된 세트의 서브픽처들의 추출(extract) 및 조정(tailor)으로 인해, 예를 들어, 도 5의 서브픽처(28), 데이터 스트림(12)의 제1 레이어(L1)의 픽처들(261')을 구성하거나, 또는 만든다(make up). 추출기(10)는 스케일링 윈도우들(720', 721')을 사용하여 스케일링한 후에 서브픽처 특화 비디오 데이터 스트림(12)의 제2 레이어(L0)의 벡터들(70)의 스케일링이 스케일링 윈도우 신호화(scaling window signalization)를 적응시킬 수 있고, 사이즈 및 위치는 제2 레이어(L0)의 픽처의 벡터(70)가 멀티-레이어드 비디오 데이터 스트림(14)에서 스케일링 윈도우들(720, 721)을 사용하여 연관되거나, 또는 맵핑되는 벡터(70)의 것(those of)들에 대응한다. 달리 말해, 추출기(10)는 스케일링 윈도우(720', 721')가 데이터 스트림(12)의 제1 레이어(L1)의 픽처(261') 내의 주어진 포지션의 벡터(70)의 결정을 제공하도록 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정시킬 수 있고, 그 결정은 멀티-레이어드 비디오 데이터 스트림(14)의 레이어(L1)의 픽처들(261) 내의 대응하는 포지션의 벡터(70)에 대응하는 사이즈 및 포지션의 벡터를 초래한다(픽처들의 경계들에 상대적이기보다는 컨텐츠 별(content wise) 픽처(261') 내의 포지션에 대응하는 포지션). 그러나, 픽처(261')의 사이즈가 픽처(261')에 관하여 변경되었을 수 있으므로, 스케일링 윈도우들은, 픽처들의 경계들에 관해 정의될 때, 픽처(261')의 경계에 관한 그들의 포지션에 관하여 적응되거나 이동될 필요가 있을 수 있다.
실시예에 따르면, 추출기(10)는 제1 레이어(L1)의 스케일링 윈도우(721')가 제2 레이어의 스케일링 윈도우(720')와 포지션 및 사이즈에 대응되도록 제1 레이어(L1)에 대한 스케일링 윈도우 신호화(74)를 적응할 수 있다. 예는 연속 라인으로 도시된 스케일링 윈도우(720', 721')에 의해 도 5에 도시된다.
대안적으로, 추출기(10)는 도 5의 점선으로 도시되거나, 또는 도 6에 도시된 스케일링 윈도우(720', 721')에 의해 지시된 바와 같이, 하나 이상의 서브픽처들의 미리 결정된 세트의 외부의 둘레(outer circumference)와 일치하도록, 제2 레이어(L0)의 스케일링 윈도우(720')를 정의함으로써 스케일링 윈도우 신호화(74)를 적응시킬 수 있다.
추가 실시예들에 따르면, 추출기(10)는 스케일링 윈도우들(720' 및 721')의 둘레들(circumferences)이 일치하도록 제1 및 제2 레이어 모두에 대한 스케일링 윈도우 신호화, 즉 스케일링 윈도우들(720' 및 721')을 적응시킬 수 있다.
예를 들어, 추출기(10)는 데이터 스트림(14) 내의 서브픽처 구성 데이터(22)를 사용함으로써 스케일링 윈도우 신호화(74)를 적응시킬 수 있다. 달리 말해, 추출기(10)는 데이터 스트림(12)에서 서브픽처 구성 데이터(22')를 제공하기 위해서, 데이터 스트림(14)에서 서브픽처 구성 데이터(22)를 적응시킬 수 있다. 예를 들어, 서브픽처 구성 데이터(22)는 스케일링 윈도우 포지션 및 사이즈의 지시를 포함할 수 있다. 추출기(10)는 서브픽처 구성 데이터(22')를 획득하기 위해서, 구성 데이터(22) 내의 스케일링 윈도우 위치 및 사이즈를 적응시킬 수 있다.
도 2에 관하여 제공된 바와 같이 추출기(10)에 의한 비트스트림 부분들의 은닉 방식(hidden manner) 또는 새로운 발생(anew generation)에 조정 또는 포함에 관한 동일한 참고 사항들(cf. 데이터 스트림(12)의 비트스트림 부분들에 사용되는 아포스트로피(apostrophe))은 도 5에도 적용되는 것에 유의하고, 정보(74)는 인코더에 의해 은닉 방식으로 포함될 수 있거나 또는 즉석에서(on the fly) 추출기에 의해 새로(anew) 조정되거나 또는 발생되는 정보에 관한 또 다른 예이다.
도 6은 제2 레이어(L0)의 스케일링 윈도우(720')가 추출기(10)에 의해 조정되는 전술한 예를 도시한다. 달리 말해, 도 6은 레이어(L1)와 레이어(L0)의 오른쪽 서브픽처(right subpicture)를 추출한 경우에 스케일링 윈도우를 조정하는 예를 나타낸다.
스케일링 윈도우들을 조정시키기 위한 구현에 대한 예시적인 사양(exemplary specification)이 다음에 도시된다.
출력 서브-비트스트림(output sub-bitstream) 아웃비트스트림(outBitstream)은 다음과 같이 도출된다:
- 부록 C.6(Annex C.6)에 명시된 서브-비트스트림 추출 프로세스는 inBitstream, targetOlsIdx 및 tIdTarget을 입력들로 호출되고, 프로세스의 출력은 아웃비트스트림(outBitstream)에 할당된다.
- 만약 사양(specification)에 명시되지 않은 일부 몇몇 외부 수단들(external means)을 서브-비트스트림 아웃비트스트림(outBitstream)에 대한 대체 파라미터 세트를 제공할 수 있는 경우, 모든 파라미터 세트들을 대체 파라미터 세트들(replacement parameter sets)로 대체한다.
- 그렇지 않으면, 서브픽처 레벨 정보 SEI 메시지들은 inBitstream에 존재하는 경우, 다음이 적용된다.
[…]
i가 NumLayersInOls[targetOlsIdx] - 1에서 0 사이의 범위에 있는 i번째 레이어의 경우, 다음이 적용된다.
- sps_num_subpics_minus1이 0보다 크면 다음이 적용된다.
[…] 레벨, 픽처 //사이즈, 적합성(conformance) 윈도우 및 서브픽처 파라미터들에 관해서(in terms of) SPS/PPS 조정들, VCL NAL 유닛들의 제거와 같은 // 다른 레이어-특화 작업들
- 변수들 subPicLeftPos, subPicRightPos, subPicTopPos 및 subPicBottomPos는 다음과 같이 도출된다:
subPicLeftPos = sps_subpic_ctu_top_left_x[subpicIdx] * CtbSizeY (C.XX)
subPicRightPos = subPicLeftPos + (sps_subpic_width_minus1[subpicIdx]+1) * CtbSizeY (C.XX)
subPicTopPos = sps_subpic_ctu_top_left_y[ subpicIdx ] * CtbSizeY (C.XX)
subPicBottomPos = subPicTopPos + (sps_subpic_height_minus1[subpicIdx] + 1) * CtbSizeY (C.XX)
[…] 레벨, 픽처 사이즈, 적합성(conformance) 윈도우 및 서브픽처 파라미터 관점에서 SPS/PPS 조정, //VCL NAL 유닛들의 제거와 같은 남아있는 다른 레이어-특화 작업들
- sps_num_subpics_minus1이 0과 같지 않으면, 다음이 적용된다.
- 모든 레퍼런스된 PPS NAL 유닛들의 pps_scaling_win_left_offset, pps_scaling_win_right_offset, pps_scaling_win_top_offset, 및 pps_scaling_win_bottom_offset의 값들을 각각 subPicLeftPos, (ppsPicWidth - subPicRightPos), subPicTopPos, 및 (ppsPicHeight-subPicBottomPos)와 같도록 재작성(rewrite) 한다.
도 5 및 도 6에 관하여 설명된 제2 측면에 따른 실시예들은 데이터 스트림(12)과 같은 서브픽처 특화 비디오 데이터 스트림의 인터-레이어 예측 및 추출의 조합을 허용하는데, 이는 벡터 기반 예측에 사용되는 벡터들(17)이 추출된 서브픽처 특화 비디오 데이터 스트림(12)의 디코딩에서 정확하게 맵핑(mapped)될 수 있기 때문이다.
오리지널 비트스트림(original bitstream)은 개별적인 PPS들에서 소위 스케일링 윈도우를 통해 정확한 업스케일 필터들(upscale filters) 및 MV 오프셋들(MV offsets)을 적용하기 위해 인터-레이어 예측을 조종(steer)하는 제어 정보(control information)를 포함하지만, 정확한 디코딩(correct decoding)을 허용하기 위해 하나의 EL 서브픽처(EL subpicture) + 풀 BL(full BL)의 추출로부터 발생하는 서브-비트스트림에서 그러한 하이-레벨(high-level) 파라미터들(parameters)을 조정하는 것이 중요하다. 따라서, 이 장의 측면의 일부로서, 스케일링 윈도우 오프셋 파라미터들은 MV 오프셋 및 스케일링 팩터 도출에 관해서(in terms of) 강화 레이어(enhancement layer)의 드롭된 서브픽처들을 보상(compensate)하기 위해 조정된다. 도 6에서, 강화 레이어(enhancement layer)에 두 개의 서브픽처들이 있는 예가 도시되고 베이스 레이어(L0) 및 강화 레이어(L1)의 스케일링 윈도우들이 인코더 측(encoder side)에서 원래 수행된 것처럼 디코더 측(decoder side)에서 정확한 인터-레이어 예측을 초래하도록 조정되는 방법이 도시되고, 즉 서브픽처(L1)를 포함하는 레이어에서 스케일링 윈도우가, 도 6의 우측에 도시된 바와 같이 추출된 서브픽처에만 해당하는 추출 후 완전한 코드된 픽처 영역을 포괄(encompass)하도록 재작성(rewritten)되어야 하고, 서브픽처가 없는 레이어들(L0)의 스케일링 윈도우는 상위 레이어들의 추출된 서브픽처에 해당하는 픽처 영역들만을 포괄하도록 재작성되는 반면, 즉 남아있는(remaining) L1 코드된 픽처 영역 또는 서브픽처의 예측에 필요한 샘플들을 포괄한다. 전술한 바와 같은 예에도 유사하게 적용되고, 이에 따라 하나 이상의 서브픽처들의 미리 결정된 세트에 의해 정의된 하나 이상의 서브픽처들이 추출기(10)에 의해 추출되는 제1 레이어(L1)의 스케일링 윈도우(721')가 조정된다.
3. 제3 측면에 따른 인코더(40) 및 디코더(50)
이 섹션은 도 1을 참조하여(making reference) 제3 측면에 따른 실시예들을 설명하며, 섹션 0에 설명된 세부사항들(details)은 선택적으로 제3 측면에 따른 실시예들에 적용될 수 있다. 또한, 도 2 및 도 5에 도시된 바와 같은 데이터 스트림들(12, 14)의 세부사항들은 제3 측면들의 실시예들에 포함될 수 있으며, 이 경우 섹션 1 및 2의 대응하는 설명이 그에 따라 적용된다.
상술한 바와 같이, 인코더(40)는 비디오(24)의 픽처들(26)의 인코딩에서 인터-레이어 예측을 적용할 수 있다. 예를 들어, 인코더(14)는 레이어(L1)의 픽처들(261)의 인코딩을 위해 인터-레이어 예측을 사용할 수 있다. 인코더(40)는, 예를 들어, 픽처(261)의 인코딩에서 인터-레이어 예측을 위해 픽처(261)와 시간적으로 배치된(temporally collocated) 픽처(260)를 사용할 수 있다. 예를 들어, 인코더(40)는 픽처(261)의 인코딩을 위한 모션 벡터들을 예측하기 위해 시간적 모션 벡터 예측(TMVP, temporal motion vector prediction)을 사용할 수 있다. 인터-레이어 예측에 사용될 수 있는 방법들의 다른 예들은 광류를 통한 예측 정제(PROF, prediction refinement with optical flow) 또는 모션 벡터 랩 어라운드(motion vector wrap around)이고, 다음에서 보다 정확하게 설명될 것이다. 앞서 언급한 바와 같이 인코드되는 픽처의 예측에 사용되는 픽처는, 인코드되는 픽처의 레퍼런스 픽처라고 지칭될 수 있다.
TMVP가 레퍼런스 픽처 모션 벡터(reference picture motion vector) (MV) 스토리지를 리샘플링하는 것을 필요로 하는 경우, 예를 들어, 싱글 레이어 해상도 변화(resolution change) 또는 멀티-레이어 공간 확장성(spatial scalability)(멀티-레이어드 비디오 시퀀스(24)에 의해 제공될 수 있는 것처럼), 게이팅 변수 RprConstraintsActive[currentPic][refPic]는 다음과 같이 TMVP의 사용을 하지 못하게 하기 위해 사용된다.
비트스트림 적합성(conformance)의 요구사항은 sh_collocated_ref_idx에 의해 지칭되는 픽처가 코드된 픽처의 모든 슬라이스에 대해 동일 해야하며, 및 RprConstraintsActive[sh_collocated_from_l0_flag ? 0:1] [sh_collocated_ref_idx]는 0과 같아야 한다.
유의 - 상술한 제약(constraint)은, 현재 픽처로서 동일한 공간 해상도(spatial resolution) 및 동일한 스케일링 윈도우 오프셋들(scaling window offsets)을 가지는 배치된 픽처(collocated picture)를 필요하다.
도 7은 멀티-레이어드 비트스트림으로부터 서브픽처 특화 비디오 데이터 스트림의 추출의 예를 도시하며, 여기서 제1 레이어(L1)의 픽처(261)는 서브픽처들(28)로 세분되고, 제2 레이어(L0)의 배치된 픽처(collocated picture)(260)는 세분되지 않은, 즉, 싱글 서브픽처(single subpicture)로 코드된다. 상술한 바와 같이, 섹션 내의 실시예들은 도 1의 요소들의 설명 및 대응하는 레퍼런스 부호들이 적용될 수 있도록 도 1에 관하여 설명된다. 추가로, 도 2에 관한 대응하는 구성요소들에 대한 설명은 제3 측면에 따른 실시예들에도 적용될 수 있다.
위에서 설명한 대로 서브픽처들이 있는 레이어들이 OLS에서 서브픽처들이 없는 레이어들과 결합되고 (예를 들어, 섹션 1 및 2), 도 7의 왼쪽(left-hand side)에 있는 오리지널 비트스트림(original bitstream)을 통해 공간 확장성(spatial scalability)이 사용되지 않는 경우, 인코더도 TMVP를 사용하는 것이 허용된다.
그러나, 도 7의 오른쪽에 도시된 바와 같이 서브픽처들이 추출되고, 스케일링 윈도우들이 추출 프로세스 동안 조정되어 샘플 값들의 인터-레이어 예측을 허용하는 것이 제대로 동작할 때, 문제가 발생한다. 추출 후, RprConstraintsActive[currentPic][refPic]의 도출에 관한 조건들이 변경되었으며 현재 VVC 기술시방서 안(draft specification)의 다음 섹션, 특히 "RprConstraintsActive[i][j]"가 정의된 부분에서 보일 수 있듯이, TMVP가 허용되지 않는다.
그렇지 않으면, 레퍼런스 픽처는 RefPicList[0] 및 RefPicList[1]을 나열하고, 레퍼런스 픽처 스케일링 비율들 RefPicScale[i][j][0] 및 RefPicScale[i][j][1], 레퍼런스 픽처 스케일된 플래그들 RprConstraintsActive[0][j] 및 RprConstraintsActive[1][j]는 다음과 같이 도출된다:
for( i = 0; i < 2; i++ ) {
for( j = 0, k = 0, pocBase = PicOrderCntVal; j < num_ref_entries[ i ][ RplsIdx[ i ] ]; j++) {
[…]
fRefWidth is set equal to PicOutputWidthL of the reference picture RefPicList[ i ][ j ]
fRefHeight is set equal to PicOutputHeightL of the reference picture RefPicList[ i ][ j ]
refPicWidth, refPicHeight, refScalingWinLeftOffset, refScalingWinRightOffset, refScalingWinTopOffset,
and refScalingWinBottomOffset, are set equal to the values of pps_pic_width_in_luma_samples,
pps_pic_height_in_luma_samples, pps_scaling_win_left_offset, pps_scaling_win_right_offset,
pps_scaling_win_top_offset, and pps_scaling_win_bottom_offset, respectively, of the reference picture
RefPicList[ i ][ j ]
RefPicScale[ i ][ j ][ 0 ] = ( ( fRefWidth  <<  14 ) + ( PicOutputWidthL  >>  1 ) ) / PicOutputWidthL
RefPicScale[ i ][ j ][ 1 ] = ( ( fRefHeight  <<  14 ) + ( PicOutputHeightL  >>  1 ) ) / PicOutputHeightL
RprConstraintsActive[ i ][ j ] = ( pps_pic_width_in_luma_samples != refPicWidth | |
pps_pic_height_in_luma_samples != refPicHeight | |
pps_scaling_win_left_offset != refScalingWinLeftOffset | |
pps_scaling_win_right_offset != refScalingWinRightOffset | |
pps_scaling_win_top_offset != refScalingWinTopOffset | |
pps_scaling_win_bottom_offset != refScalingWinBottomOffset )
}
}
RprConstraintsActive[i][j]가 정의된 부분은 "상술한 제약(constraint)(레퍼런스 픽처에 관한(on) 제약)은 배치된 픽처에게 현재 픽처와 동일한 공간 해상도 및 동일한 사이즈 스케일링 윈도우 오프셋들을 가져야 하기를 요구하는 것”을 정의한 이 섹션의 앞부분에서 설명한 노트(note)에 해당하는 조건들을 정의한다. TMVP와 같은 구문-기반(syntax-based) 예측은 예를 들어, CVS(코드된 비디오 시퀀스)에서 싱글 레이어 해상도 변화 또는 공간적인 스케일러블한 비트스트림(spatial scalable bitstream)에서 인터-레이어 예측과 같이 현재 픽처(current picture)와 레퍼런스 픽처의 사이즈가 상이한 경우 금지되고, 그러한 예측은 관련된 예측 메커니즘들에서 특별한 예방 조치를 필요로 한다. 예를 들어, MV 후보와 같은 구문은 추가의 레귤러 스토리지 그리드(extra regular storage grid)(예: 16x16 샘플)에 구문 예측 목적(syntax prediction purpose)으로 저장되며, 해상도 변경 없이, 현재 픽처의 (CTU-)블락 경계들이 레귤러 스토리지(regular storage)의 경계들과 정렬(aligned)된다. 이런 이유로, 공동-위치된(co-located) MV 스토리지 포지션(storage position)을 찾는 것은 비교적 사소한 반면, 1과 같지 않은 샘플링 비율(즉, 레퍼런스와 현재 픽처 사이의 해상도 변화)이 발생하거나 또는 임의의 포지셔널(positional) 오프셋이 사용될 때(레퍼런스(ref)와 현재 픽처 사이의 상이한 스케일링 윈도우 포지션들을 통해), 상술한 경계들은 더 이상 정렬되지 않을 수 있다. 예측에 사용할 올바른 MV 스토리지 포지션(storage position)을 도출하는 것은 추가적인 구현 부담(burden)이 될 것이며, VVC의 경우, 싱글 레이어 해상도 변화의 주요 사용 사례에서 거의 발생하지 않는다고 가정하고 싱글 레이어 해상도 변화의 주요 사용 사례에서 거의 발생하지 않는다고 가정하고 멀티-레이어 응용들이 코덱의 주요 대상(primary target)이 아니라고 가정하기 때문에, 이 경우에 대한 특별한 예방 조치들(special precautions)을 통합하지 않기 위해 디자인 트레이드오프(design trade off)가 취해졌다.
또한, 현재 모션 벡터 예측은 스케일링 윈도우들을 이용하지 않는 것을 유의하라. 스케일링 윈도우들은 블락에 사용되는 모션 벡터를 기반으로 하는 샘플 예측에만 사용되며, 즉, 스케일링 윈도우들은 모션 벡터들이 오프셋되는 방법을 정의한다. 그러나, 모션 벡터 예측을 위해 스케일링 윈도우는 무시되고, 픽처의 왼쪽 상단 블락은 또 다른 픽처의 왼쪽 상단 블락(공동-위치된(co-located) 블락)에 맵핑되며, 도면에 도시된 예에서, 추출이 수행될 때, 추출이 수행된 후, 추출 전과 비교할 때 완전히 상이한 공동-위치된(co-located) 블락들로 이어질 것이다.
TMVP와 유사하게 영향을 받는 또 다른 도구는 VVC에서 아핀(affine) 모션 예측 모델의 일부(part)인 광류를 통한 예측 정제(PROF, prediction refinement with optical flow)이고, 모션의 특정 타입들(예: 확대 또는 축소, 회전)을 보다 효율적으로 나타내기 위해 도입되었으며, 만약 이 모드가 선택되면, CU-기반(CU-based) 아핀(affine) 모션 보상된 예측(compensated prediction)이 적용된다. CU에 대한 아핀 모션 모델은 왼쪽-상단 및 오른쪽-상단 코너들(4개의 파라미터 모델)에 위치한 2개의 제어 포인트들의 MV들 또는 왼쪽-상단, 오른쪽-상단 및 왼쪽-하단 코너들(6개의 파라미터 모델)에 위치한 3개의 제어 포인트들의 MV들로 설명된다. 모션 보상의 보다 미세한(finer) 그래뉴얼리티(granularity)를 달성하기 위해, 광류를 통한 예측 정제(PROF, prediction refinement with optical flow)는 샘플-별 모션 보상(sample-wise motion compensation)의 효과를 목표로(targeting), 각 루마(luma) 예측 서브블락(subblock)을 정제하도록 사용된다. 루마(luma) 서브블락의 예측 샘플들은 그래디언트들(gradients) 및 샘플-기반 모션 벡터 상이함(sample-based motion vector difference)을 기반으로 도출된 상이함을 추가함으로써 정제(refine)된다. PROF는 크로마 샘플들(chroma samples)에는 적용되지 않는다.
그러나, 아핀 모션 예측 프로세스(affine motion prediction process)에서 PROF와 관련된 플래그 cbProfFlagLX는 RprConstraintsActive[i][j]를 기초로 도출되며 서브픽처의 추출 전후의 도출에 상이함(difference)은 인코더/디코더 불일치들(mismatches)로 이어질 것이다.
영향을 받는 또 다른 도구는, 컨텐츠의 특정 타입(정방형(Equirectangular) 프로젝션 포맷에서 360도 비디오)을 위해 사용되는 모션 벡터 랩 어라운드(motion vector wrap around)이다. 예를 들어, 객체들이 픽처의 수직 경계(vertical boundary)에 코드된 픽처 평면(coded picture plane)을 떠날 때, 일반적으로 근본적인(underlying) 프로젝션의 네이쳐(nature)에서와 같이, 반대쪽 수직 경계의 픽처 평면으로 다시 들어간다. 이 사실은 모션 벡터가 픽처의 외부(outside)를 가리킬 때(point), 샘플 패딩(sample padding)을 위한 반대 경계(opposite boundary)를 사용함으로써 모션 벡터 랩 어라운드에서 촉진(facilitate)된다.
그러나 샘플 예측 프로세스에서, 모션 벡터 랩 어라운드를 제어(control)하는 플래그(refWraparoundEnabledFlag)가 RprConstraintsActive[i][j]에 기초하여 도출되므로, 서브픽처의 추출 전후의 도출에 상이함(difference)이 발생하면, TMVP 또는 PROF의 경우와 유사한 인코더/디코더 불일치들(mismatches)로 이어질 것이다.
제3 측면은, 서브픽처 특화 비디오 데이터 스트림이 추출될 때 발생할 수 있는 상술한 이슈들이 회피될 수 있도록, TMVP, PROF 및 MV 랩 어라운드(MV wrap around)와 같은 인터-레이어 예측 도구들의 사용을 제어하기 위한 개념을 제공한다. 제3 측면에 따른 실시예들은 서브픽처의 추출 전후에 상이한 거동(different behavior)을 피하기 위해서, 오리지널 비트스트림(original bitstream), 즉, 멀티-레이어드 비디오 데이터 스트림(14)의 인코딩에서 이들 인터-레이어 예측 도구들의 사용을 제어함으로써 이러한 이슈들을 회피할 수 있다.
제3 측면의 실시예들에 따르면, 비디오(24)를 멀티-레이어드 비디오 데이터 스트림(14)으로 인코딩하기 위한 인코더(40)는 서브픽처-별(subpicture-wise) 독립적인 코딩(independent coding)을 서포트(support)한다. 추가로, 인코더(40)는 멀티-레이어드 비디오 데이터 스트림(14)의 제2 레이어(L0)에 대한 인터-레이어 예측 도구들의 세트를 사용하고 서브픽처-별 독립적인 코딩을 위한 제1 구성 설정을 사용하여, 비디오(24)의 제1 버전(241)을 멀티-레이어드 비디오 데이터 스트림(14)의 제1 레이어(L1)로 인코드하도록 구성된다. 제3 측면에 따른 인코더(40)는 서브픽처-별 독립적인 코딩을 위한 제2 구성 설정을 사용하여 비디오(24)의 제2 버전(240)을 멀티-레이어드 비디오 데이터 스트림(14)의 제2 레이어(L0)로 인코딩하기 위해 더 구성된다. 인코더(40)는 제1 및 제2 구성 설정이 미리 결정된 관계를 가지는지를 체크(check)하기 위해 구성된다. 만약 제1 및 제2 구성 설정이 미리 결정된 관계를 갖지 않으면, 인코더(40)는 하나 이상의 인터-레이어 예측 도구들의 미리 결정된 서브세트를 이용하는 것을 삼가(refrain from) 또는 비활성화한다.
예를 들어, 제1 레이어(L1) 및 제2 레이어(L0)에 대한 제1 및 제2 구성 설정은 개별적인 레이어가 서브픽처 세분된 방식으로 인코드되는지 여부(또는 아닌지 여부)를 고려할 수 있다. 달리 말해, 제1 및 제2 구성 설정들은 다수의 서브픽처들에 대한 정보를 포함할 수 있다(예를 들어, 하나 및 하나보다 많은(more than one) 서브픽처들을 구별하는 것은, 다수의 하나의 서브픽처들이 비-세분된 방식(non-subdivided manner)으로 코드됨을 의미(signify)한다). 예를 들어, 제1 레이어(L1) 및 제2 레이어(L0)에 대한 제1 및 제2 구성 설정은 서브픽처들의 경계들, 서브픽처 식별자, 및 서브픽처들의 경계 처리(boundary treatment) 중 하나 이상에 대한 정보를 포함할 수 있다.
예를 들어, 미리 결정된 관계는 제1 및 제2 구성 설정이 만약 하나 이상 또는 모든 다음의 조건들의 세트가 충족된다면, 미리 결정된 관계를 갖도록 할 수 있다:
- 제1 및 제2 비디오는, 개별적으로, 하나보다 많은(more than one) 서브픽처로 세분되는 방식으로 상기 제1 및 제2 레이어들로 인코드되고,
- 제1 및 제2 비디오는, 제1 및 제2 비디오 중에(among) 동일한, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 제1 및 제2 레이어들로 인코드되고,
- 제1 및 제2 비디오는, 제1 및 제2 비디오 중에(among) 동일한, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 제1 및 제2 레이어들로 인코드되고, 서브픽처들 경계들을 다양화(varying)하여 공간적으로 일치시키고,
- 제1 및 제2 비디오는, 멀티-레이어드 비디오 데이터 스트림에서 서브픽처들을 위해 시그널된(signaled) 서브픽처 ID들에 일치하는, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 제1 및 제2 레이어들로 인코드되고,
- 제1 및 제2 비디오는, 서브픽처들을 위한 경계 처리(boundary treatment)에서 일치하는, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 제1 및 제2 레이어들로 인코드된다.
예를 들어, 하나 이상의 인터-레이어 예측의 미리 결정된 서브세트는 인터-레이어 모션 벡터 예측, 예를 들어 TMVP, 벡터 기반 인터-레이어 예측의 광류 정제(optical flow refinement), 및 벡터 기반 인터-레이어 예측에서 모션 벡터 랩 어라운드 중 하나 이상을 포함한다.
예를 들어, 인코더(40)는 멀티-레이어드 비디오 데이터 스트림을 설정하는 제1 및 제2 구성을 시그널(signal)할 수 있다.
예시들에서, 인코더(40)는, 만약 제1 및 제2 구성 설정이 미리 결정된 관계를 가진다면, 하나 이상의 인터-레이어 예측 도구들의 미리결정된 서브세트, 또는 그것의(thereof) 서브세트를 활성화하거나 이용할 수 있다.
제3 측면의 실시예들에 따르면, 멀티-레이어드 비디오 데이터 스트림을 디코딩하기 위한 디코더(50)는, 멀티-레이어드 비디오 데이터 스트림의 제2 레이어(L0)로부터 예측을 위한 인터-레이어 예측 도구들의 세트를 사용하고, 서브픽처-별 독립적인 코딩을 위한 제1 구성 설정을 사용하여 비디오(24)의 제1 버전(241)을, 멀티-레이어드 비디오 데이터 스트림의 제1 레이어(L1)로부터 디코딩 하기 위해 구성된다. 멀티-레이어드 비디오 데이터 스트림은 서브픽처 특화 비디오 데이터 스트림(12) 또는 멀티-레이어드 비디오 데이터 스트림(14)일 수 있는 것을 유의하라. 달리 말해, 도 1에서, 디코더(50)가 서브픽처 특화 비디오 데이터 스트림(12)을 디코드하는 것으로 도시되어 있지만, 디코더(50)는 또한 멀티-레이어드 비디오 데이터 스트림(14)을 디코딩 할 수 있으며, 예를 들어, 도 1에 도시된 시나리오에서와 같이 또 다른 OLS의 선택시 추출기(10)에 의해 포워드될 수 있다. 디코더(50)에 의해 디코드된 멀티-레이어드 비디오 데이터 스트림은 서브픽처 특화 비디오 데이터 스트림(12)에 대응할 수 있으므로, 비디오(24)의 제1 버전(241)은, 도 1 내지 도 7에 관해 설명된 바와 같이, 멀티-레이어드 비디오 데이터 스트림이 추출 프로세스를 거쳤을 수 있기 때문에, 인코더(40)에 관하여 상술된 버전과 다를 수 있다. 결과적으로, 디코더(50)에 관하여 상술된 비디오의 제1 버전(241)은, 실시예들에서, 하나 이상의 서브픽처들의 생략(omission)에 의해 인코더(40)에 관하여 언급된 것과 다를 수 있다. 제1 구성 설정에도 동일하게 적용되는데, 이는 디코더(50)와 관련하여(with reference to) 디코더(50)에 의해 디코드될 데이터 스트림의 추출된(extracted)/남아있는(remaining)/정상적으로(normally) 제거된 부분으로 코드된 픽처의 픽처 영역에 관한 것이다. 만약, 예를 들어, 디코더에 들어가는 멀티-레이어드 비디오 데이터 스트림이 픽처들을 포함하는 이전의(erstwhile) 두개의 서브픽처들 중 하나의 서브픽처(28)에만 관련된다면, 제1 구성 데이터는 단지 비-서브픽처(non-subpicture) 세분(subdivision)을 지시할 것이다.
제3 측면에 따른 디코더(50)는 서브픽처-별(subpicture-wise) 독립적인 코딩을 위한 제2 구성 설정을 사용하여 비디오(24')의 제2 버전(240')을, 멀티-레이어드 비디오 데이터 스트림의 제2 레이어(L0), 즉, 디코더(50)에 제공된 비디오 데이터 스트림으로부터 디코딩 하기 위해 구성될 수 있다. 디코더(50)는 제1 및 제2 구성 설정이 미리 결정된 관계(predetermined relationship)를 갖는지 여부를 체크하기 위해 구성된다. 만약 제1 및 제2 구성 설정들이 미리 결정된 관계를 가진다면, 디코더(50)는 인코더(40)에 관하여 설명된 바와 같이, 하나 이상의 인터-레이어 예측 도구들의 미리 결정된 서브세트를 비활성화(deactive)할 수 있다.
실시예들에 따르면, 디코더(50)는 서브픽처 경계들에서의 벡터 클립핑(vector clipping) 및/또는 서브픽처 경계들에서의 경계 패딩(boundary padding)을 포함하는 서브픽처-별 독립적인 디코딩(subpicture-wise independent decoding)을 위해 구성될 수 있다.
예를 들어, 위에 도입된 변수 RprConstrainsActive는 제1 및 제2 구성 설정들의 비교(comparison)를 나타낼 수 있다. 예를 들어, 인코더(40) 및 디코더(50)는 제1 및 제2 구성 설정들이 미리 결정된 관계를 갖는지에 의존하여, 즉 그에 따라 변수(RprConstrainsActive)를 설정(i.e. set the variable accordingly) 하는지에 의존하여, 이 변수(RprConstrainsActive)를 도출할 수 있고, 인터-레이어 예측 도구들의 미리 결정된 서브세트를 사용할지 여부를 결정하기 위해 이 변수(RprConstrainsActive)를 사용할 수 있다.
일 실시예에서, RprConstraintsActive[i][j]의 도출(derivation)은 다음과 같이 조정된다:
그렇지 않으면, 레퍼런스 픽처는 RefPicList[0] 및 RefPicList[1]을 나열(list)하고, 레퍼런스 픽처 스케일링 비율들(reference picture scaling ratios) RefPicScale[i][j][0] 및 RefPicScale[i][j][1], 레퍼런스 픽처 스케일된 플래그들(reference picture scaled flags) RprConstraintsActive[0][j] 및 RprConstraintsActive[1][j]는 다음과 같이 도출된다:
for( i = 0; i < 2; i++ ) {
for( j = 0, k = 0, pocBase = PicOrderCntVal; j < num_ref_entries[ i ][ RplsIdx[ i ] ]; j++) {
[…]
fRefWidth is set equal to PicOutputWidthL of the reference picture RefPicList[ i ][ j ]
fRefHeight is set equal to PicOutputHeightL of the reference picture RefPicList[ i ][ j ]
refPicWidth, refPicHeight, refScalingWinLeftOffset, refScalingWinRightOffset, refScalingWinTopOffset,
and refScalingWinBottomOffset, are set equal to the values of pps_pic_width_in_luma_samples,
pps_pic_height_in_luma_samples, pps_scaling_win_left_offset, pps_scaling_win_right_offset,
pps_scaling_win_top_offset, and pps_scaling_win_bottom_offset, respectively, of the reference picture
RefPicList[ i ][ j ]
fRefSubpicsEnabled is set equal to sps_subpic_info_present_flag of the reference picture RefPicList[ i ][ j ] (thus meaning,that here it is checked whether the reference picture for ILMVP is subdivded into subpictures or not)
RefPicScale[ i ][ j ][ 0 ] = ( ( fRefWidth  <<  14 ) + ( PicOutputWidthL  >>  1 ) ) / PicOutputWidthL
RefPicScale[ i ][ j ][ 1 ] = ( ( fRefHeight  <<  14 ) + ( PicOutputHeightL  >>  1 ) ) / PicOutputHeightL
RprConstraintsActive[ i ][ j ] = ( pps_pic_width_in_luma_samples != refPicWidth | |
pps_pic_height_in_luma_samples != refPicHeight | |
pps_scaling_win_left_offset != refScalingWinLeftOffset | |
pps_scaling_win_right_offset != refScalingWinRightOffset | |
pps_scaling_win_top_offset != refScalingWinTopOffset | |
pps_scaling_win_bottom_offset != refScalingWinBottomOffset | |
sps_subpic_info_present_flag != fRefSubpicsEnabled (thus meaning,that ILMVP is disabled if not both the reference picture as well as the picture to be coded are subdivded or both the reference picture as well as the picture to be coded are not subdivded)
}
}
대안적으로, 일 실시예에서, 비트스트림이 현재 픽처와 상이한 서브픽처 구성(인에이블드(enabled) vs 디스에이블드(disabled))을 갖는 레퍼런스 픽처 사이의 예측에서 TMVP, PROF 또는 MvWrapAround를 활성화하지 않고, 비트스트림이 상술한 제약(constraint)의 지시를 전달(carry)하는 것은 비트스트림 적합성(conformance)의 요구사항이다.
TMVP의 경우 위의 도출(derivation)의 영향(implication)들은, 예들에서, 디코더에 영향을 미치지 않지만, PROF 및 MvWrapAround의 경우, 디코더는 위의 수정된 도출을 수행(carry out)하고 개별적인 도구들(respective tools)이 실행/체크(executed/checked)될 때 상이하게 동작(behave)할 수 있다.
대안적으로, 이러한 체크는 현재 픽처 및 레퍼런스 픽처에서 서브픽처의 수 또는 식별자(identifier), 이러한 서브픽처들의 경계 처리(boundary treatment)의 속성(property) 또는 추가 특성(further characteristic)들에 따라(depending on) 수행(carry out)될 수 있다.
4. 제4 측면에 따른 인코더(40) 및 추출기(10)
이 섹션은 도 1을 참조하여(making reference) 제4 측면에 따른 실시예들을 설명하며, 섹션 0에 설명된 세부사항들(details)은 선택적으로 제4 측면에 따른 실시예들에도 적용할 수 있다. 또한, 도 2 및 도 5에 도시된 바와 같은 데이터 스트림들(12, 14)의 세부사항들은 선택적으로 제3 측면들의 실시예들에 포함될 수 있으며, 이 경우 섹션 1 및 2의 대응하는 설명(corresponding description)이 그에 따라 적용한다. 최적으로(Optimally), 또한 제1, 제2 및 제3 측면과 관련한 설명된 특징들은 제4 측면과 조합(combined)될 수 있다.
서브픽처들이 비디오 데이터 스트림(14)과 같은 멀티-레이어드 비디오 데이터 스트림으로부터 추출될 때, 예를 들어, 이전 섹션들 1 내지 3의 예시들에서, 프랙션(예를 들어, ref_level_fraction_minus1에 의해 지시됨)이 시그널되거나 도출될 수 있고, 이는 추출된 서브-비트스트림(sub-bitstream)의 특정 레벨 한계들(certain level limits)의 결정에 나중에 사용될 수 있다(예를 들어, 비트레이트(bitrate), (코드된 픽처 버퍼)(coded picture buffer) CPB 사이즈, 타일들의 수, 등). 예를 들어, 이러한 레벨 제약들(level constrains)은, 디코더가 비디오 데이터 스트림, 또는 능력 요구사항들(capability requirements)이 지칭(refer)하는 OLS에 의해 설명된 비디오 시퀀스를 디코딩할 수 있도록 이행해야 하는 것인, 디코더 능력 요구사항들(decoder capability requirements)을 제기(pose)하거나 이와 관련될 수 있다.
종래적으로(Conventionally), 이 프랙션은, 존재하지 않을 때, 다음과 같이 그 레이어에서 완전한 픽처의 사이즈에 관하여 서브픽처의 사이즈와 같을 것으로 추론(inferred)된다:
존재하지 않는 경우, ref_level_fraction_minus1[i][j]의 값은 올림(Ceil)(256 * SubpicSizeY[j] ÷ PicSizeInSamplesY * MaxLumaPs(general_level_idc) ÷ MaxLumaPs(ref_level_idc[i]) 1)과 같을 것으로 추론된다.
그러나, 이 메커니즘에는 다수의(a number of) 이슈들이 존재(exist)한다. 첫째, 위의 추론은, 몇몇의 레벨 한계들(level limits)은 비트스트림 범위(bitstream scope)(예를 들어, 비트레이트 및 CPB 사이즈)가 있는 반면, 다른 레벨 한계들에는 레이어 범위(layer scope)(예를 들어, 타일들의 수)를 가지기 때문에, 예를 들어, SubpicSizeSizeY[j] ÷ PicSizeInSamplesY 비율과 관련하여 충분하지 않고, 비트스트림이 복수의(multiple) 레이어들을 호스트 할 수 있다는 사실을 고려하지 않는다.
따라서, 본 측면의 일부로서, 일 실시예에서, 추론(inference)은 OLS 내의 모든 레이어들을 고려하는 방식, 즉 비트스트림 특화(bitstream specific) 유도되는 방식으로(in a fashion) 수행(carry out)된다.
따라서, 본 측면의 일부로서, 일 실시예에서, 서브픽처 당(per) 프랙션의 추론(inference)은, 다음과 같이, 서브픽처들이 없는 레퍼런스 레이어들의 레벨 영향(level impact)을 또한 통합(incorporate)하도록 변경된다.
존재하지 않을 때, ref_level_fraction_minus1[i][j]의 값은 최대(max)(255, 올림(Ceil)(256 * SumOfSubpicSizeY[j] ÷ SumOfPicSizeInSamplesY * MaxLumaPs(general_level_idc) ÷ MaxLumaPs(ref_level_idc[i]) - 1))와 같을 것으로 추론된다. 최대 함수(maximum function)는 생략(left off)되어, 올림(Ceil)(256 * SumOfSubpicSizeY[j] ÷ SumOfPicSizeInSamplesY * MaxLumaPs(general_level_idc) ÷ MaxLumaPs(ref_level_idc[i]) - 1)로 이어질 수 있다.
SumOfSubpicSizeY 및 SumOfPicSizeInSamplesY는 OLS 내의 모든 레이어들에서 개별적인 서브픽처에 연관된 모든 샘플들의 합이다.
도 8은, 예를 들어, 도 1, 도 2, 및 도 5에서 도시된 시나리오에 따른, 서브픽처 특화 비디오 데이터 스트림(14)의 추출의 예시를 도시한다. 도 8은 오리지널 데이터 스트림(original data stream) 사이의 출력 픽처 영역(output picture area)의 상대적인 변화를 지시한다. 예를 들어, 추출 전 데이터 스트림(14)의 비디오(24), 및 추출 후 서브픽처 특화 데이터 스트림(12)의 비디오 시퀀스(24').
제2 이슈(second issue)는, L0가 서브픽처들을 가지지 않는 도 8에서 도시된 바와 같이 대응하는 서브픽처를 포함(contain)하지 않는 레퍼런스 레이어들과 결합되어 서브픽처가 이용될 수 있는 사실에 관한 것이다.
이 경우를 커버하거나, 보다 더 정확한(accurate) 레벨 제한을 제공하기 위하여, 또 다른 실시예에서 예를 들어, ref_level_fraction_minus1의, 추론(inference)은 다음에 따라 수행된다:
Ols_fraction_nominator[ i ][ j ][ k ] = 0
Ols_fraction_denominator[ i ][ j ][ k ] = 0
Loop over layers in the k-Ols {
Ols_fraction_nominator[ i ][ j ][ k ]=+ PicSizeInSamplesY[layer] * (sps_subpic_info_present_flag[layer] ? ref_level_fraction_minus1[ i ][ j ] : 255 )
Ols_fraction_denominator[ i ][ j ][ k ]=+ PicSizeInSamplesY[layer]
}
OlsRefLevelFraction[ i ][ j ][ k ] = Ols_fraction_nominator[ i ][ j ][ k ]/ Ols_fraction_denominator[ i ][ j ][ k ]
k는 OLS의 인덱스이고, i는 레퍼런스 레벨(reference level)의 인덱스이며, j는 서브픽처의 인덱스이다.
위의 실시예들은, 모든 레이어들 사이의 동일한 레이트 분포(rate distribution)를 예상(expect)할 수 있다. 서브픽처 레이어들 및 비-서브픽처 레이어들 사이의 레이트 분포에 대하여 인코더가 자유롭게 결정을 내리는(decide) 것을 또한 허용하기 위하여, 본 발명의 또 다른 실시예에서, 비트스트림의 OLS 내의 서브픽처들을 가지지 않는 레이어들의 프랙션은 명시적으로(explicitly) 시그널(signal)된다. 즉, 그것은 비-서브픽처 레이어들이 모두 함께 대응하는 주어진 레퍼런스 레벨에 대하여 비트스트림의 OLS의 프랙션이 시그널된다:
Figure pct00001
non_subpic_layers_fraction[ i ]는 0과 동일한 sps_num_subpics_minus1를 가지는 비트스트림/OLS의 레이어들과 연관된 비트스트림/OLS-특화 레벨 제한들의 프랙션을 지정한다. vps_max_layers_minus1가 0과 동일할 때 non_subpic_layers_fraction[ i ], 또는 0과 동일한 sps_num_subpics_minus1를 가지는 비트스트림/OLS의 레이어가 없을 때 non_subpic_layers_fraction[ i ]는 0과 동일해야 한다.
i번째 ref_level_idc(i-th ref_level_idc)에 대한 j번째 서브픽처(j-th subpicture)의 변수 OlsRefLevelFraction[ i ][ j ]는, non_subpic_layers_fraction[ i ] + (255  non_subpic_layers_fraction[ i ]) ÷ 255 * ref_level_fraction_minus1[ i ][ j ] + 1과 동일하게 설정(set)된다.
OlsRefLevelFraction[ i ][ j ]는, 섹션 5에서 논의된 바에 따라 OLS 특화로 사용될 것이다.
제4 측면의 실시예들에 따르면, 멀티-레이어드 비디오 데이터 스트림(14)은 레이어들의 세트, 예를 들어, 디코드하기 위해 선택된 OLS와 같은 OLS를, 포함한다. 예를 들어, OLS는 도 1에서 도시된 레이어(L0 및 L1)을 포함할 수 있다. 인코더(40)에 의하여 인코드된 멀티-레이어드 비디오 데이터 스트림이 아마(possibly) 단지 레이어들의 이 세트보다, 즉, 레이어들의 이 한 세트보다, 더 포함할 수 있지만, 추가 OLS들을 포함할 수 있고, 도 1에서 도시된 레이어(L0) 및 레이어(L1) 외에 추가 레이어들(further layers)을 포함할 수 있는 것이 주목된다. 제4 측면에 따른 인코더(40)는, 멀티-레이어드 비디오 데이터 스트림(14)로, 레이어들의, 예를 들어, 레이어들(L0 및 L1)의 세트의 비-축소된 버전을 인코드하기 위하여 구성되고, 비디오 버전들은, 예를 들어, 비디오 시퀀스(240) 및 비디오 시퀀스(241)는, 레이어 당 하나 이상의 독립적으로 코드된 서브픽처들의 유닛으로(in units of one or more independently coded subpictures) 레이어들의 세트의 비-축소된 버전으로 인코드된다. 표현(wording) "하나의 독립적으로 코드된 서브픽처들의 유닛으로"는, 예를 들어, 서브픽처들로 세분되지 않은, 즉, 픽처가, 비디오 버전(240)의 픽처(260)와 같이, 하나의 서브픽처를 형성하는, 코드된 레이어들을 의미(denote)해야 한다. 예를 들어, 하나 이상의 이러한 세분되지 않은 레이어들은 레이어 세트에 존재할 수 있고, 하나 이상의 서브픽처 분할된 레이어들은 레이어 세트에 존재할 수 있다.
제4 측면에 따른 인코더(40)는, 레이어들의 세트의 비-축소된 버전을 디코드하는 것에 관련된 레퍼런스 디코더 능력 요구사항을, 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하기 위하여 더 구성된다. 더욱이, 제4 측면에 따른 인코더(14)는, 멀티-레이어드 비디오 데이터 스트림(14)로, 레이어들의 세트의 각 레이어에 대하여, 레이어들의 사이즈의 비-축소된 버전의 개별적인 레이어로 코드된 픽처들의 픽처 사이즈에서, 도 2에서 도시(depict)된 정보(22)와 같은, 정보 및 개별적인 레이어의 하나 이상의 독립적으로 코드된 서브픽처들 중 각각에 대하여, 서브픽처 사이즈를 인코드하기 위하여 구성된다. 제4 측면에 따른 인코더(40)는, 적어도 하나의 레이어의 서브픽처 관련된 부분이 제거되었던 레이어들의 세트의 하나 이상의 축소된 버전들 중 각각에 대하여, 예를 들어, 서브픽처 특화 비디오 데이터 스트림(12) 또는 전체 멀티-레이어드 비디오 데이터 스트림(14)을 반드시 포함할 필요는 없는 비디오 데이터 스트림(12)의 추가 버전들에 대하여, 레이어들의 세트의 개별적인 축소된 버전을 디코드하는 것에 관련된 디코더 능력 요구사항을, 예를 들어, OlsRefLevelFraction[ i ][ j ]을 결정하기 위하여 구성된다(OlsRefLevelFraction[ i ][ j ]는 j번째 서브픽처(j-th subpicture)에 관련된 축소된 버전에 특화되는 것을 주목하라).
인코더(40)는, 픽처 사이즈들에 대한 합계에 의하여 나뉜 레이어들의 세트의 개별적인 축소된 버전에 포함된 독립적으로 코드된 서브픽처들의 서브픽처 사이즈들에 대한 합계의 몫을 사용하여 결정된 팩터에 의하여 레퍼런스 디코더 능력 요구사항을 스케일(scale)함으로써 개별적인 축소된 버전에 대한 디코더 능력 요구사항을 결정한다. 다른 말로, 레이어들의 세트의 축소된 버전들은, 추출되지 않을, 즉, 서브픽처 특화 비디오 데이터 스트림(14)으로 포워드될 서브레이어들의 미리 결정된 세트의 일부(part)가 아닌, 서브픽처들과 같은 다른 서브픽처들에 관련된 비트스트림 부분들이 제거된 레이어들의 세트의 버전들을 지칭(refer)한다.
예를 들어, 인코더(40)는, 멀티-레이어드 비디오 데이터 스트림(14)에서 디코더 능력 요구사항을 제공할 수 있고, 예를 들어, 도 2에서 도시된 바와 같이, 디코더 능력 요구사항(60)을, 비교할 수 있다.
디코더 능력 요구사항 정보는, 추출된 비트스트림이 비트스트림을 수신할 디코더에 의하여 디코드가능한지 여부의 지시(indication)로 사용될 수 있다. 예를 들어, 디코더 능력 요구사항 정보는, 디코더를 초기화(initialize)하거나 셋업(set up)하기 위한 비트스트림을 수신하는 디코더에 의하여 사용될 수 있다.
특화 디코더 능력 요구사항을, 재사용(reuse)된 버전들 중 각각에 대하여, 결정함으로써, 디코더 능력 요구사항은, 보다 더 정밀하게 제공될 수 있으므로, 불필요하게 높은 디코더 능력 요구사항들을 지시하는 정보가 피해질 수 있고, 예를 들어, 디코더는 그것의 능력들에 따라 최고 품질 OLS(highest quality OLS)를 선택할 수 있다.
이에 따라, 제4 측면에 따른 추출기(10)의 실시예, 레이어들의 세트, 서브픽처 특화 비디오 데이터 스트림(12), 레이어들에(thereinto) 인코드된 레이어들의 세트의 비-축소된 버전을 가지는 멀티-레이어드 비디오 데이터 스트림(14), 및 레이어 당 하나 이상의 독립적으로 코드된 서브픽처들의 유닛으로(in units of one or more independently coded subpictures), 레이어들의 세트의 비-축소된 버전으로 인코드된 비디오 버전들(240, 241)을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)로부터 추출하기 위한 추출기(10)는, 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 레이어들의 세트의 비-축소된 버전을 디코드하는 것에 관련된 레퍼런스 디코더 능력 요구사항을 도출(derive)하도록 구성된다. 이 실시예에 따르면, 추출기(10)는, 멀티-레이어드 비디오 데이터 스트림으로부터, 레이어들의 세트의 각 레이어에 대하여, 레이어들의 세트의 비-축소된 버전의 개별적인 레이어로 코드된 픽처들의 픽처 사이즈에, 도 2에서 도시된 정보(22)와 같은 정보, 및 개별적인 레이어의 하나 이상의 독립적으로 코드된 서브픽처들 중 각각에 대하여, 서브픽처 사이즈를 도출하기 위하여해 구성된다. 더욱이, 이 실시예에 따르면, 추출기(10)는, 적어도 하나의 레이어의 서브픽처 관련된 부분이 제거된 레이어들의 세트의, 미리 결정된 축소된 버전에 대하여, 예를 들어, API에 의하여 제공된 OLS 지시(20)의 미리 결정된 수단으로, 픽처 사이즈들에 대한 합계에 의하여 나뉜 레이어들의 세트의 미리 결정된 축소된 버전에 포함된 독립적으로 코드된 서브픽처들의 픽처 사이즈들에 대한 합계의 몫을 사용하여 결정된 팩터에 의하여 레퍼런스 디코더 능력 요구사항을 스케일함으로써 레이어들의 세트의 미리 결정된 축소된 버전을 디코드하는 것에 관련된 디코더 능력 요구사항을 결정하기 위하여 구성된다.
이하, 제4 측면의 대안적인 실시예들이, 여전히 도 1 및 도 2를 참조하여, 기재될 것이다.
이 대안적인 실시예들에 따르면, 멀티-레이어드 비디오 데이터 스트림(14)은, 레이어(L0) 및 레이어(L1)와 같은 복수의 레이어들을 포함한다. 더욱이, 인코더(40)는, 도 1의 레이어(L1)와 같은 하나 이상의 제1 레이어들에 관하여 독립적으로 코드된 서브픽처들로 세분된 방식으로, 및 레이어(L0)와 같은 하나 이상의 제2 레이어들에 관하여 세분되지 않는 방식으로, 픽처(260) 및 픽처(261)와 같은 비디오 픽처들(26)을, 멀티-레이어드 비디오 데이터 스트림의 레이어들로, 인코드하기 위하여 구성된다. 다른 말로, 인코더(14)는, 제1 레이어(L1)와 같은 제1 타입의 레이어로 독립적으로 코드된 서브픽처들로 세분된 방식으로 비디오(24)의 픽처들을 인코드할 수 있고, 제2 레이어(L0)와 같은 제2 타입의 하나 이상의 레이어들로 세분되지 않은 방식으로 픽처들을 인코드할 수 있다. 멀티-레이어드 비디오 데이터 스트림(14)이 제1 타입의 하나 이상의 레이어들 및 제2 타입의 하나 이상의 레이어들을 포함할 수 있는 것이 주목된다. 이 대안적인 실시예들에 따른 인코더(40)는, 적어도 하나의 제1 레이어가 레이어 세트에 포함되고 적어도 하나의 제2 레이어가 레이어 세트에 포함되도록, 레이어들의 레이어 세트의, 도 2에서 도시된 지시(18)와 같은 지시를, 멀티-레이어드 비디오 데이터 스트림(14)로 인코드하기 위하여 구성된다. 예를 들어, 레이어들의 세트의 지시는, OLS 지시(18)일 수 있다. 멀티-레이어드 비디오 데이터 스트림(14)은, 도 1에 관해 설명된 바와 같이, 복수의 레이어들의 세트들의 지시를 포함할 수 있다.
이 대안적인 실시예들에 따른 인코더(40)는, 레이어들의 레이어 세트를 디코드하기에 충분한 여러 레퍼런스 디코더 능력 요구사항들 중 각각에 대하여, 적어도 하나의 제1 레이어에 기인한(attributed to) 개별적인 리퍼런스 디코더 능력 요구사항의 제1 프랙션(예: 도 9의 제1 프랙션(134)) 및 적어도 하나의 제2 레이어에 기인한 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션(132)(예: 도 9의 제2 프랙션(134))에 대한 정보를, 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하기 위하여 구성된다. 예를 들어, 제1 프랙션(134)은, 위에서-도입된(above-introduced) 신택스 요소 ref_level_fraction_minus1[ i ][ j ]에 의하여 지시될 수 있고, 제2 프랙션(132)은, 위에서 소개된 신택스 요소 non_subpic_layer_fraction[ i ][ j ]에 의하여 지시될 수 있다.
예를 들어, 레이어들의 레이어 세트를 디코드하기에 충분한 디코더 능력 요구사항은, 레퍼런스 디코더 능력 요구사항들 중 각각이, 적어도, 최소 CPB 사이즈에 의하여 정의되는 것을 의미(signify)할 수 있다. 여러 레퍼런스 디코더 능력 요구사항들은, 아마(possibly) 그것들의 지시된 최소 CPB 사이즈에 관하여 서로 다를(mutually different from each other) 수 있다. 레퍼런스 디코더 능력 요구사항들 중 일부에 대하여, 오직 프랙션을 함께 소비(consume)할 수 있고, 예를 들어, 레이어 세트가 완전히(totally) 이용 가능한 CPB 사이즈의 프랙션만 소비(consume)할 수 있고, 그러므로, 도 10에 관하여 설명(explain)될 믹서(100)와 같은 믹서가 이러한 정보를, 즉, 레벨/리퍼런스 디코더 능력 요구사항을 충족(meet)하는 것에 불구하고 함께 믹스(mix)될 다른 스트림들의 OLS들의 수에 대한 결정을 내리기 위한 레퍼런스 디코더 능력 요구사항을, 사용할 수 있는 것이 주목된다.
예를 들어, 디코더 능력 정보(decoder capability information; DCI)로도 지칭(refer)될 수 있는 디코더 능력 요구사항은, 디코더 능력 정보가 연관된 레이어 세트를 디코드하기 위한 디코더에 대한 요구사항들을 지시할 수 있다. 예를 들어, 레이어 세트는 여러 레퍼런스 디코더 능력 요구사항들을 레이어 세트와(therewith) 연관시킬 수 있다. 예를 들어, 레이어 세트와 연관된 레퍼런스 디코더 능력 요구사항들 중 각각은, 다른 서브픽처들을 포함하는 비디오의 다른 버전들이 코드된 다른 서브픽처 특화 비디오 데이터 스트림들과 같은, 레이어 세트로 코드된 비디오(24)의 다른 버전들로 지칭(refer)될 수 있다.
제4 측면의 실시예들은, 멀티-레이어드 비디오 데이터 스트림(14)을 핸들링하기 위한 장치를 포함할 수 있고, 장치는 인코더(40)의 방금-기재된(just-described) 대안적인 실시예에 의하여 제공된 비디오 데이터 스트림을 핸들링할 수 있다. 예를 들어, 멀티-레이어드 비디오 데이터 스트림(14)을 핸들링하기 위한 장치는, 다음의 믹서(100)와 같은 믹서, 도 1, 도2, 및 도5의 추출기(10)와 같은 추출기, 디코더(50)와 같은 디코더, 또는 그것들의 조합일 수 있다. 데이터 스트림을 핸들링하기 위한 장치는, 그러므로, 장치(10, 100)으로 지칭된다. 예를 들어, 디코더(50) 및 추출기(10)는 결합될 수 있고, 그것들 중 하나는 다른 하나를 포함할 수 있다. 이 실시예들에 따른 멀티-레이어드 비디오 데이터 스트림을 핸들링하기 위한 장치는, 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 전술한 바와 같이, 적어도 하나의 제1 레이어 및 하나의 제2 레이어를 포함하는 레이어들의 레이어 세트의 지시를 디코드하기 위하여 구성된다. 장치는, 여러 레퍼런스 디코더 능력 요구사항들 중 각각에 대하여, 적어도 하나의 제1 레이어에 기인한 개별적인 레퍼런스 디코더 능력 요구사항의 제1 프랙션 및 적어도 하나의 제2 레이어에 기인한 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션에 대한 정보를, 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하기 위하여 구성된다.
도 9는, 개별적으로, 제1 레이어들의 픽처들(261) 및 제2 레이어들의 픽처들(260) 및 기인한 제1 프랙션들(134) 및 제2 프랙션들(132)의 예시들을 도시하고, 그것들은 제4 측면의 방금 기재된 대안적인 실시예들에 따라 비디오 데이터 스트림(14)으로 시그널될 수 있다. 도 9의 예시에서, 제1 레이어의 픽처(261)는 두 서브픽처들(28)로 세분된다. 도 9a는 도 9에서 지시된 바에 따라 제1 레퍼런스 레벨과 연관될 수 있는 제1 레퍼런스 디코더 능력 요구사항에 대한 제1 프랙션(1341) 및 제2 프랙션(1321)의 결정을 도시한다. 도 9의 도시된 예시에서, 제1 레퍼런스 레벨은, 1000의 예시 값을 가지는 (도 9에서 디코더 능력 요구사항의 도시된 예시를 표현할 수 있는) 제1 CPB(1301)과 연관된다. 도 9에서, 서브픽처들 또는 픽처들 중 각각에 대하여, 개별적으로, 개별적인 레퍼런스 디코더 능력 요구사항과 연관된 비디오 스트림의 총 픽처 사이즈에서 그것의 상대적인 쉐어(relative share)는 지시된다. 예를 들어, 도9a에 따르면, 픽처(260)의 픽처 사이즈는 비디오 스트림의 총 픽처 사이즈의 20%의 공유(share)를 가질 수 있다. 다른 말로, 도 9a는 픽처들에(therein) 포함된 두 서브픽처들을 모두 가지는 픽처들(260 및261)을 포함하는 비디오 데이터 스트림에 대한 레퍼런스 디코더 능력 요구사항의 결정을 도시한다. 제2 프랙션(1321)은, 개별적인 디코더 능력 요구사항에 대하여 지시된 총 CPB에 관한 제2 레이어의 픽처(260)의 공유로 결정된다. 도 9a에서 도시된 비디오 데이터 스트림의 디코더 능력 요구사항과 연관된 제1 프랙션(1341)은, 제1 레이어의 픽처(261)의 서브픽처들에 분배된, CPB의 나머지 일부(remaining part), 즉, 제2 레이어의 픽처(260)에 의하여 사용되지 않은 공유일 수 있다.
도 9b는 도 9a에서 나타난 것(one)과 유사하지만, 제1 레이어의 픽처(261)의 서브픽처들(28) 중 오직 하나를 포함하는 비디오 데이터 스트림에 대한 예시를 도시한다. 이에 따라, 대응하는 CPB 레벨은, 도 9a의 서브픽처들(28) 중 하나의 프랙션의 사이즈보다 작을 수 있다. 도 9b의 예시에서, 비디오 데이터 스트림이 오직 제1 레이어의 서브픽처들 중 하나를 포함함에 따라, 비디오 데이터 스트림으로 시그널된 총 픽처 영역에 비해 상대적인 픽처의 공유는, 20% 대신 보다 더 높은, 즉, 33%이다. 도 9b의 예시에 대한 레퍼런스 디코더 능력 요구사항과 연관된 제2 프랙션(1322) 및 제1 프랙션(1342)은, 도 9b의 경우 픽처(261)가 오직 두 서브픽처들(28) 중 하나를 포함하는 것을 고려하여 도 9a에 관하여 설명된 바에 따라, 결정된다.
실시예들에 따르면, 인코더(40)는, 한편으로(on the one hand) 멀티-레이어드 비디오 데이터 스트림에 제1 프랙션 및 다른 한편으로(on the other hand) 1에서 제1 프랙션을 뺀 것에 의하여 나뉜 제2 프랙션을 작성함으로써, 제1 및 제2 프랙션들에 대한 정보를 인코드할 수 있다. 장치(10, 100)는, 이에 따라, 데이터 스트림으로부터 제1 프랙션을 판독하고 제2 프랙션을 더 판독함으로써, 제1 프랙션 및 제2 프랙션에 대한 정보를 디코드할 수 있다. 대안적으로, 장치(10, 100)는, 데이터 스트림으로부터 제1 프랙션 및 추가 프랙션을 판독하고, 1에서 제1 프랙션을 뺀 것의 차이와 추가 프랙션을 곱셈함으로써 제2 프랙션을 도출함으로써, 제1 및 제2 프랙션에 대한 정보를 디코드할 수 있다.
일부 예시들에 따르면, 인코더(40)는, 멀티-레이어드 비디오 데이터 스트림으로, 여러 레퍼런스 디코더 능력 요구사항들, 예를 들어, 도 1에서 도시된 디코더 능력 요구사항들(60), 중 하나 이상에 대한 정보를 인코드할 수 있다. 다른 말로, 인코더(40)는, 멀티-레이어드 비디오 데이터 스트림으로 여러 레퍼런스 디코더 능력 요구사항들의 전부는 필요 없이, 여러 레퍼런스 디코더 능력 요구사항들 중 하나 이상에 대한 정보를 인코드할 수 있다. 예를 들어, 여러 레퍼런스 디코더 능력 요구사항들 중 다른 것들에 대한 정보는, 기본 규칙들(default rules)에 의하여 도출가능할 수 있다. 예를 들어, 도 9의 예시에서, 제1 레이어의 픽처(261)가 세분되는 서브픽처들의 상대적인 사이즈들에 대한 정보에 기초하여, 도 9a 및 도 9b의 디코더 능력 요구사항 중 하나에 대한 정보는 다른 하나로부터 도출될 수 있다.
예를 들어, 인코더(40)는 여러 레퍼런스 디코더 능력 요구사항들 중 적어도 하나에 대하여, 예를 들어, 도 9b의 제1 프랙션(1342) 및 제2 프랙션(1322)과 같이, 제1 프랙션(134) 및 제2 프랙션(132)이 멀티-레이어드 비디오 데이터 스트림의 축소된 버전에 관련되도록, 정보를 인코드하기 위하여 구성될 수 있다. 인코더는, 축소된 버전에 존재하는 하나 이상의 독립적으로 코드된 서브픽처들 중 각각에 대하여, 제1 프랙션은 멀티-레이어드 비디오 데이터 스트림으로부터 도출가능하도록, 정보를 인코드할 수 있다. 예를 들어, 도 9a를 참조하면, 예를 들어, 샘플들 또는 타일들로 측정된, 서브픽처들의 폭(width) 및 또는 높이와 같은, 인코더(40)에 의하여 데이터 스트림(14)으로 인코드된 비디오의 파라미터들로부터 도출 가능할 수 있는, 예를 들어, 도 9a에서 50%인 픽처(261)의 두 서브픽처들 사이의 양(ration)을 알고, 장치(10, 100)는 왼쪽 서브픽처에 대한 제1 프랙션으로부터 픽처(261)의 오른쪽 서브픽처에 대한 제1 프랙션을 도출할 수 있다.
추가적으로 또는 대안적으로, 인코더(14)는, 여러 레퍼런스 디코더 능력 요구사항들 중 적어도 하나의 추가된 것(at least a further one)에 대하여, 예를 들어, 도 9a의 제1 프랙션(1341) 및 제2 프랙션(1321)과 같이, 제1 프랙션 및 제2 프랙션이 멀티-레이어드 비디오 데이터 스트림의 비-축소된 버전에 관련되고, 제1 프랙션(134)이 적어도 하나의 제1 레이어의 독립적으로 코드된 서브픽처들 중 각각에 대하여 멀티-레이어드 비디오 데이터 스트림(14)로부터 도출되도록, 정보를 인코드하기 위하여 구성될 수 있다.
도 9에서 도시된 바와 같이, 장치(10, 100)는, 개별적인 레이어 세트에 대하여, CPB와 같은 실제의(actual) 디코더 능력 요구사항을 획득(obtain)하기 위하여 제1 프랙션(134) 및 제2 프랙션(132)을 합산(sum up)할 수 있다. 도시된 바와 같이, 실제의 디코더 능력 요구사항은, 서브픽처-특화 비디오 데이터 스트림에 특화될 수 있다.
언급된 바와 같이, 장치(10, 100)는, 믹서일 수 있고, 즉, 장치(10, 100)는 추가 비디오 데이터 스트림과 멀티-레이어드 비디오 데이터 스트림을 믹싱할 수 있다. 이것을 위해, 장치(10, 100)는, 예를 들어, 도 10에 관하여 설명된 바와 같이, 데이터 스트림(14) 및 추가 입력 비디오 데이터 스트림에 기초하여 추가 데이터 스트림을 형성하기 위한 제1 및 제2 프랙션에 대한 정보를 사용할 수 있다.
5. 제5 측면에 따른 인코더(40) 및 추출기(10)
이 섹션은 도 1에 대하여 참조하여 제5 측면에 따른 실시예들을 설명하고, 섹션 0에서 설명된 세부사항들은 제5 측면에 따른 실시예들에 선택적으로(optionally) 적용될 수 있다. 또한, 도 2 및 도5에서 나타난 바에 따른 데이터 스트림들(12, 14)의 세부사항들은, 제3 측면의 실시예들에 선택적으로(optionally) 포함될 수 있고, 이 경우 섹션들 1 및 2의 대응하는 설명은 이에 따라 적용된다. 선택적으로(optionally), 제1, 제2, 제3, 및 특히(in particular), 제4 측면에 관하여 설명된 특징들은 또한, 제5 측면과 결합될 수 있다. 특히(in particular), 섹션 5에서 설명된 실시예들의 예시들은, 섹션 4에서 설명된 실시예들에, 특히(in particular), 디코더 능력 요구사항 및 제1 및 제2 프랙션들에 관하여, 관련될 수 있다.
제5 측면의 실시예들은 OLS의 레이어들에 대한 제약들의 선택적인 적용에 관련될 수 있다.
전술한 바와 같이, 위의 신택스 요소 ref_level_fraction_minus1[ i ][ j ], 명시적으로(explicitly) 시그널되는지 또는 추론되는지 여부는, 최신 기술의 타일들의 수와 같은 특정(certain) 레이어-특화 제약들을 부과(impose)하는 데 사용된다. 그러나, 서브픽처들을 가지지 않는 (레퍼런스) 레이어들에 대하여, 추출 프로세스가 개별적인 레이어를 찬스(chance)하지 않지만 레이어가 충족(fulfil)해야 하는 제약들을 더 엄격하게 하기(tighten) 때문에, 이 제약들은, 불필요하게 가혹하거나 심지어 인코더 펄스펙티브(perspective)으로부터 충족되기 어려울 수 있다.
그러므로, 이는, 또 다른 실시예에서, 오직 서브픽처들을 포함(contain)하는 OLS의 레이어들에 대한, 즉, 추출 프로세스로부터 픽처 사이즈의 축소를 겪을(undergo) 레이어들에 대한 제약들 하에 선택적으로(selectively) 부과(impose)될 본 측면의 일부이다. 인코더는, 그러므로, 비-서브픽처-세분된 레이어들의 더 적은 제한들(restrictions)의 이점을 취할 수 있다.
제5 측면의 실시예에 따르면, 인코더(10)는, 예를 들어, 도 1 및 도 2에서 도시된 바와 같이, 독립적으로 코드된 서브픽처들(28)로 세분되는 방식으로 픽처들(261)을, 하나 이상의 제1 레이어로, 예를 들어, 제1 레이어(L1)로, 및 세분되지 않은 방식으로 픽처들(260)을, 하나 이상의 제2 레이어들로, 예를 들어, 레이어(L0)로 인코드할 수 있다.
인코더는, 레이어 세트에 대하여, 예를 들어, OLS에 대하여, 또는 OLS 지시(18)의 지시된 하나 이상의 OLS들 중 각각의 개별적인 레이어 세트들에 대하여, 서브-픽처 세분된 방식으로, 즉, 적어도 두 서브픽처들로 세분된 픽처들을 레이어들(thereinto)에 인코드하여, 레이어 세트의, 즉, 서브-픽처 세분된 방식으로 픽처들을 레이어들(thereinto) 인코드한, 즉, 적어도 두 서브픽처들로 세분된 픽처들을 거기로(thereinto) 인코드한 레이어들의, 제1 레이어들에 대하여 선택적으로(selectively) 레이어-특화 제약들을 체크(check)할 수 있다. 다른 말로, 체크하는 것은, 서브-픽처 세분된 방식으로 픽처들을 레이어들(thereinto) 인코드했던 레이어들에 대하여 수행될 수 있지만, 세분되지 않는 방식으로 픽처들을 레이어들(thereinto) 인코드된 레이어들에 대하여 생략(omit)될 수 있다. 다른 말로, 체크하는 것은, 오직 서브-픽처 세분된 방식으로 픽처들을 레이어들(thereinto) 인코드했던 레이어들에 대하여 수행될 수 있다.
제1 레이어들에 대하여 선택적으로 체크된 제약들은, 개별적인 제1 레이어의 서브픽처에 대한 파라미터들의 미리 결정된 세트에 관련된다. 다른 말로, 인코더는 개별적인 제1 레이어의 서브픽처들 중 각각에 대하여, 제약들이 특화된 하나 이상의 디코더 능력 요구사항들 중 각각에 대한 제약들을 체크할 수 있다 예를 들어, 제약들이 개별적인 서브픽처에 대하여 체크된 하나 이상의 레퍼런스 디코더 능력 요구사항들은, 개별적인 제1 레이어로부터 개별적인 서브픽처를 추출하는 것으로부터 초래된 서브픽처 시퀀스를 지칭(refer)할 수 있거나, 또는 개별적인 제1 레이어로부터 개별적인 서브픽처를 추출하는 것으로부터 초래된 비디오 시퀀스 또는 비디오 데이터 스트림에 대한 이 서브픽처 시퀀스의 기여도(contribution)를 지칭할 수 있다. 섹션 0에서 언급된 바와 같이, OLS에 의하여 설명된 비트스트림은, 추출기(10)에 의한 추출 이후에 또한, 여전히 OLS의 하나 이상의 레이어들 및/또는 하나 이상의 시간 서브레이어들(temporal sublayers)의 선택(selection)/추출에 의하여 스케일 가능할 수 있다. 같은 것이 추출기(10)가 서브-픽처 특화 비디오 데이터 스트림을 추출하는 경우 적용되므로, 인코더에 의하여 시그널된 하나 이상의 레퍼런스 디코더 능력 요구사항들은, 예를 들어, 섹션 4에서 설명된 제1 프랙션과 같이, 프랙션이 서브픽처에 특화된 개별적인 레퍼런스 디코더 능력 요구사항들의 프랙션에 의하여, 레퍼런스 디코더 능력 요구사항들 중 각각에 대하여, 정의된 정도(extent)로 비디오 데이터 스트림의 각 서브픽처에 적용될 수 있다. 달리 말해, 하나 이상의 레퍼런스 디코더 능력 요구사항들은, 개별적인 서브픽처에 특화된 서브-픽처 특화 비디오 데이터 스트림으로부터 추출 가능한(extractable) 가능 서브-비트스트림(possible sub-bitstream)에 대하여 적용된 리퍼런스 디코더 능력 요구사항들 중 각각 및 레퍼런스 디코더 능력 요구사항에 특정(specific)된 제약들을 제안(pose)하는 레퍼런스 디코더 능력 요구사항들 중 각각을, 개별적인 서브픽처와 연관시킬 수 있다.
예를 들어, 제약들이 부과(impose)된 파라미터들은 다음 중 하나 이상 또는 전부를 포함할 수 있다:
- 샘플들의 수, 예를 들어, LUMA 샘플들의 수, 예를 들어, MaxLumaPs
- 픽처 사이즈, 예를 들어, 샘플들의 수의 측면에서, 예를 들어, 픽처 폭 및/또는 픽처 높이
- 행(row)에서의 타일들의 수 및/또는 열(column)에서의 타일들의 수, 예를 들어, MaxTileRows 및/또는 MaxTileCols
- 타일들의 총 수
예를 들어, 인코더(10)는, 개별적인 서브픽처에 기인한 개별적인 레퍼런스 디코더 능력 요구사항의 프랙션을, 예를 들어, 섹션 4에서 설명된 바와 같은 제1 프랙션(134)을, 예를 들어, 아래 예시에서 RefLevelFraction[ i ][ j ]을, 사용하여 개별(individual) 서브픽처들에 대한 파라미터들 또는 속성들(properties)을 결정할 수 있고, i는 개별적인 레퍼런스 능력 요구사항을 지시하고 j는 개별적인 서브픽처를 지시한다.
다음은 현재 VCC 기술시방서 안에 관한 강조된 변경들을 갖는 예시 사양이다:
sps_num_subpics_minus1가 0보다 크고, 0 내지 sps_num_subpics_minus1의, 포괄적인(inclusive), 범위의 j에 대하여 j번째 서브픽처(j-th subpicture)를 추출하는 것으로부터 초래되고 0과 동일한 general_tier_flag 및 0 내지 num_ref_level_minus1의, 포괄적인(inclusive), 범위의 i에 대한 ref_level_idc[ i ]와 동일한 레벨을 갖는 프로파일(profile)을 따르는(conform) 비트스트림의 각 레이어가, VCC 사양의 Annex C에서 지정된 바에 따라 각 비트스트림 적합성 테스트에 대한 다음의 제약들을 준수(obey)하여야 하는 것이 비트스트림 적합성(bitstream conformance)의 요구사항이다.
- 올림(Ceil)( 256 * SubpicSizeY[ j ] ÷ RefLevelFraction[ i ][ j ] )는, MaxLumaPs보다 작거나 동일해야 하고, 여기서 MaxLumaPs 레벨 ref_level_idc[ i ]에 대한 (VCC의) 표 A.1에서 지정된다.
-올림(Ceil)( 256 * ( sps_subpic_width_minus1[ j ] + 1 ) * CtbSizeY ÷ RefLevelFraction[ i ][ j ] )의 값은, Sqrt( MaxLumaPs * 8 )보다 작거나 동일해야 한다.
-올림(Ceil)( 256 * ( sps_subpic_height_minus1[ j ] + 1 ) * CtbSizeY ÷ RefLevelFraction[ i ][ j ] )의 값은, Sqrt( MaxLumaPs * 8 )보다 작거나 동일해야 한다.
- SubpicWidthInTiles[ j ]의 값은 MaxTileCols보다 작거나 동일해야 하고, SubpicHeightInTiles[ j ]의 값은 MaxTileRows보다 작거나 동일해야 하며, 여기서, MaxTileCols 및 MaxTileRows는 레벨 ref_level_idc[ i ]에 대하여 (VCC의) 표 A.1에서 지정된다.
- SubpicWidthInTiles[ j ] * SubpicHeightInTiles[ j ]의 값은, MaxTileCols * MaxTileRows * RefLevelFraction[ i ][ j ]보다 작거나 동일해야 하고, 여기서, MaxTileCols 및 MaxTileRows는, 레벨 ref_level_idc[ i ]에 대한 (VCC의) 표 A.1에서 지정된다.
또 다른 실시예에서, RefLevelFraction[ i ][ j ]는 0과 동일한 sps_num_subpics_minus1을 갖는 OLS의 레이어들에 대하여 (예: 100%의 프랙션을 가지는) 255와 동일하도록 도출될 수 있다.
또 다른 실시예에서, (예를 들어, 위의 섹션 4에서 도출된 바와 같이) 아래와 같은 CPB 크기, Bitrate, 및 MinCR에 관련된 레이어-특화 제한들은 OLS_fraction[ k ]과 동일한 OLS-특화 OLSRefLevelFraction에 기초하여 강제(enforce)될 것인 반면, MaxLumaPs, 최대 및 최소 측면 비율, 또는 타일 행들 또는 열들, 슬라이스들 또는 서브픽처들의 수 관련된 제한들(limits)은 레이어 특정(specific)되고, 레이어-특화 ref_level_fraction(즉, 서브픽처들을 가지지 않는 레이어들의 경우 255)을 사용한다.
변수 SubpicCpbSizeVcl[ i ][ j ] 및 SubpicCpbSizeNal[ i ][ j ]는 다음에 따라 도출된다:
SubpicCpbSizeVcl[ i ][ j ] = Floor( CpbVclFactor * MaxCPB * OLSRefLevelFraction[ i ][ j ] ÷ 256) (D.5)
SubpicCpbSizeNal[ i ][ j ] = Floor( CpbNalFactor * MaxCPB * OLSRefLevelFraction[ i ][ j ] ÷ 256) (D.6)
MaxCPB는 절 A.4.2에서 지정된 바와 같이, ref_level_idc[ i ]로부터 도출된다.
변수 SubpicBitRateVcl[ i ][ j ] 및 SubpicBitRateNal[ i ][ j ]는 다음에 따라 도출된다:
SubpicBitRateVcl[ i ][ j ] = Floor( CpbVclFactor * ValBR * OLSRefLevelFraction[ i ][ j ] ÷ 256) (D.7)
SubpicBitRateNal[ i ][ j ] = Floor( CpbNalFactor * ValBR * OLSRefLevelFraction[ i ][ j ] ÷ 256) (D.8)
참고 1 - 서브픽처가 추출될 때, 결과 비트스트림(resulting bitstream)은, SubpicCpbSizeVcl[ i ][ j ] 및 SubpicCpbSizeNal[ i ][ j ]보다 크거나 동일한 (추론되거나 SPS에서 지시되는) CpbSize 및 SubpicBitRateVcl[ i ][ j ] 및 SubpicBitRateNal[ i ][ j ]보다 크거나 동일한 (추론되거나 SPS에서 지시되는) BitRate를 가진다.
j번째 서브픽처(j-th subpicture)에 대응하는 AU(0)에 대한 NumBytesInNalUnit 변수들의 합계(sum)는, AU(0)의 SubpicSizeInSamplesY의 값에 대하여 FormatCapabilityFactor * ( Max(SubpicSizeY[ j ], fR * MaxLumaSr * OLSRefLevelFraction[ i ][ j ] ÷ 256 ) + MaxLumaSr * ( AuCpbRemovalTime[ 0 ] AuNominalRemovalTime[ 0 ] ) * OLSRefLevelFraction[ i ][ j ] ) ÷ ( 256 * MinCr )보다 작거나 동일해야 하고, 여기서, MaxLumaSr 및 FormatCapabilityFactor는 개별적으로, 레벨 ref_level_idc[ i ]에서, AU(0)에 적용되는, 표 A.2 및 표 A.3에서 지정된 값들이며, MinCr는 (VCC 드래프트의) A.4.2에서 지시된 바와 같이 도출된다.
j번째 서브픽처(j-th subpicture)에 대응하는 AU(n)(n은 0을 초과함)에 대한 NumBytesInNalUnit 변수들의 합계는, FormatCapabilityFactor * MaxLumaSr * ( AuCpbRemovalTime[ n ] AuCpbRemovalTime[ n 1 ] ) * OLSRefLevelFraction[ i ][ j ] ÷ ( 256 * MinCr )보다 작거나 동일해야 하고, 여기서, MaxLumaSr 및 FormatCapabilityFactor는, 개별적으로, 레벨 ref_level_idc[ i ]에서 AU(n)에 적용되는, 표 A.2 및 표 A.3에서 지정된 값들이며, MinCr는 (VCC 드래프트의) A.4.2에서 지시된 바와 같이 도출된다.
제5 측면에 따른 인코더(40), 추출기(10), 및 멀티-레이어드 비디오 데이터 스트림(14)의 실시예들은, 다음에서 설명된다.
제5 측면에 따르면, 멀티-레이어드 비디오 데이터 스트림은 복수의 레이어들을 포함할 수 있다. 멀티-레이어드 비디오 데이터 스트림(14)은, 하나 이상의 제1 레이어들에 관하여, 예를 들어, 레이어(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분된 방식으로, 및 하나 이상의 제2 레이어들에 관하여, 예를 들어, 레이어(L1)에 관하여 세분되지 않은 방식으로 비디오 픽처들(26)을, 예를 들어, 인코더(40)를 수단으로, 멀티-레이어드 비디오 데이터 스트림의 레이어들로 인코드하였다. 더욱이, 멀티-레이어드 비디오 데이터 스트림(14)은, 이전 섹션들에서 설명된 바에 따른 OLS와 같은, 레이어들의 레이어 세트의 지시를 포함하고, 제5 측면에 따르면, 레이어 세트는 적어도 하나의 제1 레이어를, 즉, 픽처들이 독립적으로 코드된 서브픽처들로 세분된 방식으로 인코드된 레이어를, 포함한다. 제5 측면에 따르면, 멀티-레이어드 비디오 데이터 스트림은 멀티-레이어드 비디오 데이터 스트림에(thereinto), 예를 들어, 섹션 4에서 설명된 바에 따른 레퍼런스 디코더 능력 요구사항 정보를 인코드하였고, 레퍼런스 디코더 능력 요구사항 정보는, 레이어 세트의 비-축소된 버전을 디코드하는 것과 관련되며 레이어 세트의 각 레이어에 대한 제1 디코더 능력 요구사항 파라미터 및 레이어 세트에 대한 제2 디코더 능력 요구사항 파라미터를 포함한다. 섹션 4에서 설명된 바와 같이, 비-축소된 버전은, 레이어 세트로 인코드된 비디오 데이터 전부를, 즉, 레이어 세트의 적어도 하나의 제1 레이어의 모든 서브픽처들을, 포함하는 레이어 세트로 인코드된 비디오 데이터 스트림의 버전을 지칭할 수 있다. 예를 들어, 제1 디코더 능력 요구사항 파라미터는 레이어의 픽처들이 세분된 타일들의 수일 수 있다. 예를 들어, 타일들은, 픽처의 서로 독립적으로(mutually independently) 코드된 섹션들일 수 있다. 예를 들어, 제2 디코더 능력 요구사항 파라미터는, ACPB 및/또는 디코드된 픽처 버퍼(decoded picture buffer; DPB) 사이즈와 같은 요구되거나 필요한 픽처 버퍼 사이즈 및/또는 최소 압축 비율(minimum compression ratio)(minCR)을 지칭할 수 있다.
제5 측면에 따르면, 인코더(40)는, 적어도 하나의 제1 레이어의 서브픽처 관련된 부분이 제거된 레이어 셋트의 하나 이상의 축소된 버전들의 각각에 대해, 레이어 세트의 축소된 버전 또는 개별적인 비-축소된 버전을 디코딩하는 것에 관련된 추가 레퍼런스 디코더 능력 요구사항 정보를 결정하기 위해 구성된다. 레이어 세트의 축소된 버전은, 레이어 세트의 모든 비디오 데이터를 포함하지 않은 비디오 데이터 스트림, 예를 들어, 서브픽처 관련된 비디오 데이터 스트림(12), 예를 들어, 서브픽처 관련된 부분, 예를 들어, 도 1, 도 2, 도 5에 관해 기술된 바와 같은 서브픽처들의 미리 결정된 세트에 관련되지 않는 부분이 레이어 세트의 개별적인 축소된 버전을 추출할 때 생략(omit)된 비디오 데이터 스트림을 지칭할 수 있다. 인코더(40)는 레이어 세트의 각 레이어에 대한 제3 디코더 능력 요구사항 파라미터를 획득하기 위해 제1 프랙션을 이용하여 제1 디코더 능력 요구사항 파라미터를 스케일링함으로써 추가 레퍼런스 디코더 능력 요구사항 정보를 결정하기 위해 구성된다. 예를 들어, 제1 프랙션은 레이어 세트의 축소된 버전 내 및 레이어 세트들 내 각 레이어의 픽처들 간의 픽처 크기들(picture sizes)의 비율에 기초하여 결정될 수 있다. 인코더(40)는 제1 프랙션을 멀티-레이어드 비디오 데이터 스트림(14)으로 선택적으로 인코딩할 수 있다. 따라서, 추출기(10)는 멀티-레이어드 비디오 데이터 스트림(14)으로부터 제1 프랙션을 선택적으로 도출할 수 있거나, 대안적으로 인코더(40)에 의해 수행된 바와 같이 제1 프랙션을 결정할 수 있다.
인코더(40)는 레이어 세트의 개별적인 축소된 버전을 위한 제4 디코더 능력 요구사항 파라미터를 획득하기 위해 제2 프랙션을 이용하여 제2 디코더 능력 요구사항 파라미터를 스케일링(scaling)함으로써 추가 레퍼런스 디코더 능력 요구사항 정보를 결정하기 위해 추가로 구성된다. 제2 프랙션은, 예를 들어, 제1 프랙션(first one)과 다를 수 있다.
제2 프랙션은 프랙션(132)의 프랙션(134)과 같은, 섹션 4에 대한 비율 코딩(ratio coding)에 기초하여 결정될 수 있다. 인코더(40)는 선택적으로 제2 프랙션을 멀티-레이어드 비디오 데이터 스트림(14)으로 인코딩할 수 있다. 따라서, 추출기(10)는 선택적으로 멀티-레이어드 비디오 데이터 스트림(14)으로부터 제2 프랙션을 도출하거나, 또는 인코더(40)에 의해 수행되는 것과 유사하게 제2 프랙션을 결정할 수 있다.
인코더(10)는, 멀티-레이어드 비디오 데이터 스트림(14) 중 적어도 하나의 제1 레이어의 서브픽처 관련된 부분을 제거함으로써 및 제3 및 제4 디코더 능력 요구사항 파라미터(decoder capability requirement parameter)를 갖는 서브픽처 특화 비디오 데이터 스트림(12)을 제공함으로써, 멀티-레이어드 비디오 데이터 스트림(14)에 기초한 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12)을 형성한다. 대안적으로, 인코더(10)는, 적어도 하나의 제1 레이어의 서브픽처 관련된 부분을 제거함으로써 및 디코더에 의한 레이어의 레이어 셋트의 미리 결정된 비-축소된 버전(non-reduced version)을 디코딩하는 것에 관련된 추가 레퍼런스 디코더 능력 요구사항 정보(further reference decoder capability requirement information)의 결정을 위한 제1 및 제2 프랙션을 갖는 서브픽처 특화 비디오 데이터 스트림(12)을 제공함으로써, 멀티-레이어드 비디오 데이터 스트림에 기초한 서브픽처 특화 비디오 데이터 스트림(12)을 형성할 수 있다.
6. 도 10에 따른 인코더(40) 및 디코더(110)
도 10은, 각각 도 1 및 섹션들 1 내지 5에 관해 기술된 바와 같은 인코더(40)에 선택적으로 대응할 수 있는, 제1 인코더(401) 및 제2 인코더(402)를 도시한다. 인코더(401)는 비디오 데이터 스트림(121)을 인코딩하기 위해 구성되고, 인코더(402)는 비디오 데이터 스트림(122)을 인코딩하기 위해 구성된다. 비디오 데이터 스트림들(121, 122)은 필수적이진 않으나 선택적으로 복수의 레이어들을 포함할 수 있다. 달리 말해, 도 10에 따른 비디오 데이터 스트림들(121, 122)은 선택적으로 비디오 데이터 스트림(14)과 같은 멀티-레이어드 비디오 데이터 스트림일 수 있으나, 예시들에서 오직 하나의 단일 레이어만 포함할 수도 있다. 이와는 별개로(Apart from that), 도 10에 따른 비디오 데이터 스트림들(121, 122)은 이전 섹션들에서 기술된 바와 같은 비디오 데이터 스트림(140)에 선택적으로 대응할 수 있다.
인코더(401)는 픽처들(261)을 비디오 데이터 스트림(121)으로 인코딩하기 위해 구성된다. 인코더(402)는 픽처들(262)을 비디오 데이터 스트림(122)으로 인코딩하기 위해 구성된다. 픽처들(261) 및 픽처들(262)은 하나 이상의 독립적으로 코딩된 서브픽처들(28)을 거쳐(by way of) 개별적인 비디오 스트림들(121, 122)로 선택적으로(optionally) 인코딩될 수 있다. 인코더들(401, 402)은 개별적인 비디오 데이터 스트림(121, 122)으로, 하나 이상의 독립적으로 코딩된 서브픽처들을 거쳐 픽처들(261, 262)이 개별적인 비디오 데이터 스트림으로 인코딩되는지 여부를 지시하는 지시(80)를 인코딩하기 위해 구성된다. 지시(80)는 하나 이상의 독립적으로 코딩된 서브픽처들의 주위(surrounding) 및 하나 이상의 독립적으로 코딩된 서브픽처들(28) 간의 코딩 독립성의 차이 타입들(difference types) 간을 구별한다. 예를 들어, 하나 이상의 독립적으로 코딩된 서브픽처들의 주위는 개별적인 서브픽처들 주변(around)의 픽처 영역(picture area)을 지칭할 수 있다.
예를 들어, 지시(80)는 m > 1을 갖는 m-배열 신택스 요소(m-array syntax element)일 수 있거나 임의의 이러한 독립적으로 코딩된 서브픽처들이 존재하는지를 나타내기(indicative of) 위해 1보다 많은 신택스 요소를 포함할 수 있고, 그리고 존재하는 경우 디코딩 독립성의 타입을 드러내는 추가 신택스 요소를 포함할 수 있다.
도 10은 비디오 데이터 스트림(121) 및 비디오 데이터 스트림(122)과 같은 하나 이상의 입력 비디오 데이터 스트림들(12)에 기반하여 비디오 데이터 스트림(20)을 제공하기 위한 장치(100)를 추가로 도시한다. 예를 들어, 장치(100)는 비디오 데이터 스트림(20)을 결정하기 위해 비디오 데이터 스트림들(121, 122)을 혼합할 수 있다. 그러므로, 장치(100)는 혼합기(100)으로 지칭될 수 있다. 선택적으로, 장치(100)는 비디오 데이터 스트림(121) 및/또는 비디오 데이터 스트림(122)과 같은, 하나 이상의 입력 비디오 데이터 스트림들로부터 비디오 데이터 스트림(20)을 추출하기 위해 추가로 구성될 수 있다. 예를 들어, 혼합기(100)는 그것의(its) 입력 비디오 스트림들 중 하나 이상의 각각으로부터, 비디오 데이터의 부분(portion) 또는 전부(all)를 추출할 수 있고, 비디오 데이터(20)에서 비디오 데이터를 제공하며, 그 입력 비디오 데이터 스트림들 중 상이한 것들(different ones)로부터 비디오 데이터가 추출된다. 예를 들어, 도 10에 도시된 바와 같이, 장치(100)는, 비디오 데이터 스트림(20)을 획득하기 위해, 비디오 데이터 스트림들(121, 122)의 각각으로부터, 서브픽처들 중 하나 이상을 추출할 수 있고, 그 후(then) 같은 프레젠테이션 시간(presentation time)에 연관된 서브픽처들 중 하나 이상을 결합할 수 있다.
도 10은, 이전 섹션들에 대해 기술된 바와 같이 디코더(50)에 선택적으로(optionally) 대응할 수 있는, 디코더(110)를 추가로 도시한다. 디코더(110)는 지시(80)에서 비디오 데이터 스트림(20)으로부터 디코딩을 위해 구성된다.
예시들에서, 인코더(401, 402) 및 디코더(110)는, 코딩 독립성의 상이한 타입들 중 지시(80)가 지시하는 것과 독립적인, 비디오 데이터 스트림으로 인코딩된 픽처들이 하나 이상의 독립적으로 코딩된 서브픽처들을 거쳐(by way of) 인코딩되는 것을 지시하는 지시(80)에 응답하여(예를 들어, ...인 경우에만(only if), 또는 그렇지 않은 경우 수행하지 않는(perform not if not)) 아래의 행동들(actions) 중 하나 이상을 수행할 수 있다:
- 비디오 데이터 스트림의 각 비트스트림 패킷으로부터, 하나 이상의 독립적으로 코딩된 서브픽처들 중 개별 비트스트림 패킷으로 인코딩된 것에 관해(as to) 지시하는, 서브픽처 식별자를 판독하는 것, 및/또는
- 인-루프 필터링(in-loop filtering)이 서브픽처 경계들을 가로지르는 것을 방지하는 것, 및/또는
- 하나 이상의 독립적으로 코딩된 서브픽처들 중 어느 것이 미리 결정된 비트스트림 패킷으로 인코딩되는 지에 따라(dependent on) 픽처의 블락(block)의, 비디오 데이터 스트림의 미리 결정된 비트스트림 부분으로 코딩되는, 블락 어드레스로부터 픽처 포지션(picture position)을 도출하는 것, (그리고, 예를 들어, 그렇지 않으면 그(thereof) 좌측 상단 모서리(upper left corner)와 같이 미리 결정된 픽처 포지션을 불가피하게(inevitable) 참조함으로써 블락 어드레스로부터 이러한 픽처 포지션을 도출) 및/또는
- 비디오 데이터 스트림의 한 액세스 유닛에서 발생하는 상이한 NAL 유닛 타입들을 허용하는 것. 예를 들어, 도 10의 혼합기(100)는 혼합된 데이터 스트림(90)에서 한 서브픽처(28)가 한 NAL 유닛 타입을 가지고 같은 픽처 내 다른 서브픽처(28)가 다른 NAL 유닛 타입을 이용하여 코딩되는 방식으로 비트스트림들(121,2)을 혼합하는 것이 허용된다; NAL 유닛 타입들은 비트스트림 패킷들(16)로 코딩되고 NAL 유닛 타입들(they)이 스트림(90)의 패킷들(16')이 되는 경우 수정 없이(unamended) 유지된다; 디코더(110)는 디코딩된 (혼합된) 픽처들(26')에서 서브픽처들(28)을 위해 사용된 타입이 무엇이든 코딩 독립성을 이용하여 픽처들이 완전히 코딩되기 때문에 컨플릭트(conflict)를 보지 않는다 및/또는
- 인코더 측(encoder side)에서, 하나 이상의 독립적으로 코딩된 서브픽처들의 각각에 대해, 디코더 능력 요구사항 정보(decoder capability requirement information)를 도출하는 것.
예를 들어, 픽처의 서브픽처들 간의 코딩 독립성(coding independency)의 상이한 타입들은 다음을 포함한다.
- 인코더-제약된 인코딩 타입, 만약 인코더-제약된 인코딩 타입이 독립적으로 코드된 서브픽처들에 관한(with respect to) 지시에 의해 지시된다면, 디코더는 독립적으로 코드된 서브픽처들의 경계들에서 독립성 핸들링을 수행하지 않도록 구성되고, 및
- 디코더-인식 인코딩 타입, 만약 디코더-인식 인코딩 타입이 독립적으로 코딩된 서브픽처들에 관한 지시에 의해 지시된다면, 디코더는 독립적으로 코딩된 서브픽처들의 경계들에서 경계 패딩(boundary padding) 및/또는 벡터-기반 예측(vector-based prediction)을 위해 벡터 클립핑(vector clipping)에 의해 독립적으로 코딩된 서브픽처들의 경계들에서 독립성 핸들링을 수행하도록 구성된다.
달리 말해, 제6 측면에 따른 실시예들은 MCTS 또는 서브픽처들의 혼합을 허용할 수 있다.
현재 VVC 기술시방서 안(draft specification)은 기능성 병합 및 추출을 인에이블(enable)하기 위해, 서브픽처들로 분할(partitioning)을 가능케(enabling)하기 위한 많은 조치들(measures)을 포함한다, 예를 들어,
· 슬라이스 헤더들에서 서브픽처 식별자의 캐리지(carriage), 또는
· 서브픽처들 식별자들에 의존하는 블락 어드레싱 스킴(block addressing scheme), 또는
· 개별(individual) 서브픽처들을 위한 적합성 정보(conformance information), 또는
· 픽처에서 NAL 유닛 타입들(예: IRAP 및 TRAIL)의 혼합.
다만, 이 모든 조치들(measures)은, 예를 들어, 샘플 값들이 픽처의 경계들에 대한 것과 같은 방식(fashion), 예를 들어, 디코더 사이드의 특수 경계 패딩 처리(special boundary padding treatment)로 서브픽처들의 경계들 바깥의 신택스 예측 및 샘플에 대해 외삽되는, 서브픽처의 경계처리 속성(property)에 의존한다. 이는 서브픽처들의 독립적인 코딩과 그 뒤에(subsequently) 추출(extraction) 및 병합(merging)을 허용한다. 이 속성은 또한 기능성 병합 및 추출을 위한 위의 모든 조치들을 인에이블(enable)하는데 사용된다. 도 11은 비트스트림의 처음 두 액세스 유닛들(the first two access units)에서 이러한 디코더-사이드 처리된(treated) 서브픽처들만을 이용하는 비트스트림을 도시한다. 달리 말해, 도 6은 비트스트림의(its) 독립적으로 코딩된 서브픽처들에서 디코더-사이드 경계 처리 및 인코더-사이드 경계 처리를 혼합하는 비트스트림의 예시를 도시한다.
다만, 이러한 사각 영역들(rectangular regions)의 독립적인 코딩을 위한 추가적인 방법들, 예를 들어(i.e.), 인코딩 동안 따르는(obeyed) 모션 제약들(motion constraints) 또는 다른 말로: 인코더-사이드 경계 처리가 있다. 인코더는 각 서브픽처의 둘레(circumference)의 바깥(outside)을 가리키지 않음으로써 추출 또는 병합(merge) 후에 복원 오류들(reconstruction errors)로 이어지는 참조들(references)을 간단히 회피할 수 있다. 최첨단(state-of-the-art) 시그널링에 기초하여, 디코더-사이드 경계 처리가 발생하지 않기 때문에, 인코더는 도 11에서 두번째 IRAP부터 계속(onwards) L1의 우측 서브픽처가 독립적으로 코딩되지 않는다는 것을 지시하여야 하고, 그러므로, 추출 및 병합 기능성을 위한 위 조치들(measures) 중 일부는 효율적으로 사용될 수 있다. 가장 중요하게는, 적합성 정보(conformance information)가 디코더-사이드 경계 처리와 묶인다(tied). 다만, 독립적인 코딩을 위한 다른 수단의 단순한 지시(mere indication)는 인코더를 인에이블(enable) 하고 네트워크 장치 또는 디코더가 상기 수단을 용이하게(facilitate) 하는 것을 허용하여야 한다.
이러한 이웃하는(neighbouring) 서브픽처들 간의 독립적인 코딩에서 상이한 종류들(kinds)을 혼합하는 이러한 비트스트림이 도 12에서 도시된 것처럼 단일 레이어보다 많이 반드시 포함(contain)하여야 하는 것은 아닌 점에 유의하는 것이 중요하다. 도 12는 서브픽처 독립(subpicture independence)의 타입들의 단일 레이어 혼합(single layer mixing)의 예시를 도시한다.
그러므로 본 측면의 부분(part)은, 영역들이 특정 서브픽처들(certain subpictures)의 제약된 인코딩(constrained encoding)의 수단을 통해 독립적으로 코딩되는 것을 비트스트림에서 지시함으로써, 독립적인 영역 코딩(region coding)(어드레싱 스킴(addressing scheme), 적합성 정보(conformance info))을 위한 모든 이전에 언급된 조치들(measures)이 경계 패딩(boundary padding)의 부재에도 불구하고 사용될 수 있다는 것을 디코더가 인식하게 한다. 본 측면의 일 실시예에서, 디코더-사이드 패딩 절차(padding procedure)의 지시를 위해 사용되는 플래그(1과 동일한 sps_subpic_treated_as_pic_flag[ i ])는 sps_subpic_treated_as_pic_mode[ i ]로 변경되며, (2와 동일한(equal to 2)) 새로운 상태(new state)는 i번째 서브픽처가 인코더-사이드 경계 처리 제약들의 수단으로 독립적으로 코딩되는 것을 지시한다.
예시가 아래와 같이 나타난다:
Figure pct00002
12와 동일한(equal to 12) sps_subpic_treated_as_pic_mode[ i ]은 인-루프 필터링 동작들(in-loop filtering operations)을 배제하는 디코딩 프로세스에서 CLVS에서 각 코딩된 픽처의 i번째 서브픽처가 픽처로서 처리되는 것을 특정(specify)한다. 0 또는 1과 동일한 sps_subpic_treated_as_pic_mode[ i ]는 인-루프 필터링 동작들을 배제하는 디코딩 프로세스에서 CLVS에서 각 코딩된 픽처의 i번째 서브픽처가 픽처로서 처리되지 않는 것을 특정한다. 존재하지 않는 경우, sps_subpic_treated_as_pic_mode[ i ]의 값은 12와 동일한 것으로 추론(infer)된다. sps_subpic_treated_as_pic_mode[ i ]의 값 3은 ITU-T | ISO/IEC에 의한 추후 사용(future use)을 위해 예약된다.
그리고, 서브픽처들이 인코더-사이드 제약이지 않거나 또는 디코더-사이드 경계처리가 수행(carry out)되지 않는 한, 상이한 타입들의 NAL 유닛이 혼합될 수 없다는 제약.
픽처에서 임의의 두 서브픽처들이 상이한 NAL 유닛 타입들을 가지는 경우, sps_subpic_treated_as_pic_mode[ ]의 값은 적어도 하나의 P 또는 B 슬라이스를 포함(contain)하는 픽처에서 모든 서브픽처들에 대해 0과 같지 않을 것이다.
도 13은 인코더-사이드 제약들 또는 디코더-사이드 경계 처리 중 어느 하나(either)에 독립적인 서브픽처에 의존하는 NAL 유닛들의 허용된 및 금지된 혼합의 예시를 도시한다.
7. 추가 실시예들
이전 섹션들 0 내지 6에서, 장치의 맥락(context)에서 특징들로서 일부 측면들이 기술되어 왔음에도 불구하고, 이러한 기술(description)은 방법의 대응하는 특징들의 기술로서도 또한 고려될 수 있음이 명확하다. 일부 측면들이 방법의 맥락에서 특징들로서 기술되어 왔음에도 불구하고, 이러한 기술은 장치의 기능성에 관한 대응하는 특징들의 설명으로서 또한 고려될 수 있음이 명확하다.
방법 단계들의 일부 또는 전부는 하드웨어 장치, 예를 들어 마이크로프로세서, 프로그래밍가능 컴퓨터 또는 전자 회로에 의해(또는 사용하여) 실행될 수 있다. 일부 실시예들에서 가장 중요한 방법 단계들 중 하나 이상은 이러한 장치에 의해 실행될 수 있다.
발명의 인코드된 이미지 신호(image signal)는 인터넷과 같은 유선 전송 매체 또는 무선 전송 매체와 같은 전송 매체를 통해 전송되거나 디지털 저장 매체에 저장될 수 있다.
특정 구현 요구사항들(implementation requirements)에 따르면, 발명의 실시예들은 하드웨어로 또는 소프트웨어로 또는 적어도 부분적으로 하드웨어로 또는 적어도 부분적으로 소프트웨어로 구현될 수 있다. 구현은 개별 방법이 수행되도록 프로그래밍가능한 컴퓨터 시스템과 협력(또는 협력가능한) 디지털 저장매체에 저장된 전자적으로 판독가능한 제어 신호들을 가지는 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 이용하여, 수행될 수 있다. 그러므로 디지털 저장 매체는 컴퓨터 판독가능일 수 있다.
발명에 따른 일부 실시예들은, 여기에 기술된 방법들 중 하나가 수행되도록 프로그래밍가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 가지는 데이터 캐리어를 포함한다.
일반적으로 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법들 중 하나를 수행하기 위해 동작한다. 프로그램 코드는 기계 판독가능 캐리어에 예를 들어 저장될 수 있다.
다른 실시예들은 기계 판독가능 캐리어(machine readable carrier)에 저장된, 여기에 기술된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
달리 말해, 발명 방법(inventive method)의 실시예는, 그러므로, 컴퓨터 프로그램이 컴퓨터에서 실행될 때, 여기서 기술된 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
발명 방법의 추가 실시예는, 그러므로, 여기에 기술된 방법들 중 하나를 수행하기 위한, 데이터 캐리어에(thereon) 기록된, 컴퓨터 프로그램을 포함하는 데이터 캐리어(data carrier)(또는 디지털 저장 매체, 또는 컴퓨터-판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체, 또는 기록된 매체는 전형적으로 유형적(tangible) 및/또는 비-일시적(non-transitory)이다.
발명 방법의 추가 실시예는, 그러므로, 여기에 기술된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 신호들의 시퀀스 또는 데이터 스트림이다. 신호들의 시퀀스 또는 데이터 스트림은 예를 들어 데이터 통신 연결을 통해, 예를 들어, 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 처리 수단(processing means), 예를 들어, 여기에 기술된 방법들 중 하나를 수행하도록 구성(configured)되거나 적응(adapted)된 프로그래밍가능 논리 디바이스 또는 컴퓨터를 포함한다.
추가 실시예는 여기에 기술된 방법들 중 하나를 수행하기 위한, 컴퓨터에(thereon) 설치된, 컴퓨터 프로그램을 가지는 컴퓨터를 포함한다.
발명에 따른 추가 실시예는 여기에 기술된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에게 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 시스템 또는 장치(apparatus)를 포함한다. 수신기는, 예를 들어, 컴퓨터, 모바일 디바이스(mobile device), 메모리 디바이스(memory device) 등일 수 있다. 장치 또는 시스템은, 예를 들어, 컴퓨터 프로그램을 수신기에게 전송하기 위한 파일 서버를 포함한다.
일부 실시예들에서 프로그래밍가능한 논리 디바이스(예를 들어, 필드 프로그래밍가능 게이트 어레이(field programmable gate array))는 여기에 기술된 방법들의 기능성들의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍가능 게이트 어레이는 여기 기술된 방법들 중 하나를 수행하기 위하여 마이크로프로세서와 협력할 수 있다. 일반적으로 방법들은 바람직하게는 임의의 하드웨어 장치(hardware apparatus)에 의해 수행된다.
여기 기술된 장치는 하드웨어 장치를 이용하여, 또는 컴퓨터를 이용하여, 또는 하드웨어 장치와 컴퓨터의 조합을 이용하여 구현될 수 있다.
여기 기술된 방법들은 하드웨어 장치를 이용하여, 또는 컴퓨터를 이용하여, 또는 하드웨어 장치와 컴퓨터의 조합을 이용하여 수행될 수 있다.
전술된 상세한 설명에서, 개시를 간소화(streamline)할 목적을 위한 예시에서 다양한 특징들이 그룹핑되는 것이 보여질 수 있다. 이 개시 방법은 각 청구 범위에서 명시적으로 인용된 것보다 청구된 예시가 더 많은 특징을 요구하는 의도를 반영하는 것처럼 해석되어서는 안된다. 오히려, 다음의 청구 범위들이 반영하는 바와 같이, 주제(subject matter)는 단일 개시된 예시의 모든 특징보다 적을(lie in less) 수 있다. 그러므로 다음 청구범위는 이로서(hereby) 상세한 설명에 포함되며, 여기서 각 청구 범위는 별도 예로서 자체에 근거(stand on its own)할 수 있다. 각 청구항이 별도 예로서 자체에 근거할 수 있으나, 종속항이 청구항들에서 하나 이상의 다른 청구항들과 특정 조합을 참조할 수 있음에도 불구하고, 다른 예시들은 종속항과 각 다른 종속항의 주제와의 조합 또는 다른 종속항 또는 독립항들과 각 특징의 조합을 또한 포함할 수 있다는 것이 주목되어야 한다. 특정 조합이 의도되지 않는다고 언급(state)되지 않는 한 이러한 조합들은 여기서 제안된다. 더 나아가, 이 청구항이 독립항에 직접적으로 종속되지 않더라도, 임의의 다른 독립항에 대한 청구항의 특징들을 포함하는 것이 또한 의도된다.
위에서 설명된 실시예들은 단지 본 개시의 원리를 설명하기 위한 것이다. 여기에 기술된 세부사항 및 배열들의 수정 및 변경이 통상의 기술자에게 명백할 것이라고 이해된다. 그러므로, 여기서 실시예들의 설명(explanation) 및 기술(description)을 통해 제시된 구체적인 세부사항에 의한 것이 아닌, 계류 중인 특허 청구 범위에 의해서만 제한되는 것으로 의도된다.

Claims (68)

  1. 멀티-레이어드 비디오 데이터 스트림(multi-layered video data stream)의 레어어들(L0, L1) 중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12)을 추출하는 장치(10)에 있어서,
    상기 장치(10)는,
    상기 멀티-레이어드 비디오 데이터 스트림(14)의 레이어 세트(layer set)(OLS)에서 각 레이어에 대해,
    상기 개별적인 레이어가 비-서브픽처-세분된(non-subpicture-subdivided) 방식으로 상기 개별적인 레이어에(thereinto) 비디오(24)를 인코드했는지 또는, 상기 개별적인 레이어가, 상기 비디오의 픽처들(261, 262)이, 상기 비디오(24)의 각 픽처(261, 262)에 대해, 상기 개별적인 픽처의 서브픽처들(28)이 상기 개별적인 레이어의 서로 상이한(mutually different) 비트스트림 부분들(bitstream portions)(16)로 인코드되도록 서로 독립적인(mutually independent) 방식으로 상기 개별적인 레이어로 인코드된 둘 이상의 상기 서브픽처들(28)로 세분(subdivide)되는 방식으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드 했는지 체크(check)하고,
    만약 상기 개별적인 레이어가 비-서브픽처-세분된 방식으로 상기 개별적인 레이어에(thereinto) 상기 비디오를 인코드했다면,
    상기 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12)이 상기 개별적인 레이어에(thereinto) 완전히(completely) 인코드된 상기 개별적인 레이어의 상기 비디오(24)를 갖도록, 상기 개별적인 레이어에 속하는 상기 비트스트림 부분들(bitstream portions)(16)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)하며, 및
    만약 상기 개별적인 레이어가 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)로 세분되는 방식으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했다면,
    상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해,
    둘 이상의 서브픽처들 중 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 상기 비트스트림 부분(16)으로부터 판독(read)하고,
    만약 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처를 인코드했다면, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로, 상기 개별적인 레이어의 상기 개별적인 비트스트림 부분을 인수(take over),
    하도록 구성된,
    장치.
  2. 제1항에 있어서,
    만약 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 개별적인 레이어가 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했다면,
    상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해,
    상기 개별적인 레이어에 속하지만, 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 속하지 않는 서브픽처를 상기 개별적인 레이어에(thereinto) 인코드한, 각 비트스트림 부분을 드롭(drop)
    하도록 구성된,
    장치
  3. 제1항 또는 제2항에 있어서,
    상기 레이어 세트는 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들의 서브세트(subset)이고, 및 상기 레이어 세트는 상기 멀티-레이어드 데이터 스트림에서 출력 레이어 세트(output layer set; OLS) 지시(indication)(18)에서 지시되는,
    장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)은 복수의 레이어 세트들을 위한 OLS 지시들(OLS indications)을 포함하고, 및
    상기 장치는, API를 통해 수신된(received) 지시에 기초한 상기 복수의 레이어 세트들로부터 상기 레이어 세트를 결정(determining)하기 위해 구성되는,
    장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 개별적인 레이어로 코딩된(coded) 서브포션들(subportions)의 수를 드러내는(reveal) 신택스 요소(syntax element)에 기초하여, 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 개별적인 레이어가 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했는지 체크하는 것을 수행(performing)
    하기 위해 구성된,
    장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 둘 이상의 서브픽처들 중 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는 상기 정보가, 서브픽처(subpicture) 식별자(identifier)의 수단(means)에 의해 상기 개별적인 비트스트림 부분의 디스크립티브 데이터(descriptive data), 예를 들어, 슬라이스 헤더(slice header)에서 지시되는.
    장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    API를 통해 하나 이상의 서브픽처들의 상기 미리 결정된 세트의 지시를 수신(receive)
    하도록 구성된,
    장치.
  8. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들(L0, L1) 중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)의 레이어 세트(OLS)를 나타내는(indicative of) OLS 지시(OLS indication),
    만약 상기 개별적인 레이어가 비-서브픽처-세분된 방식으로 상기 개별적인 레이어에(thereinto) 비디오를 인코드했다면,
    서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어의 상기 비디오(24)를 갖도록 상기 개별적인 레이어에 속하는 상기 비트스트림 부분들(16)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    만약 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)로 세분된 방식으로, 상기 개별적인 레이어가 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했다면,
    상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해,
    둘 이상의 서브픽처들 중 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 상기 비트스트림 부분(16)으로부터 판독(read)하고, 및
    만약 상기 개별적인 비트스트림 부분이, 상기 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트(predetermined set)에 속하는 서브픽처를 인코드했다면, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 상기 개별적인 레이어의 상기 개별적인 비트스트림 부분을 인수하고(take over),
    상기 비디오(24)의 각 픽처(26)에 대해, 상기 개별적인 레이어의 서로 상이한 비트스트림 부분들(16)로 상기 개별적인 픽처의 상기 서브픽처들(28)이 인코드되도록, 서로 독립된 방식으로 상기 개별적인 레이어로 인코드된, 둘 이상의 서브픽처들(28)로 상기 비디오의 픽처들(26)이 세분되는 방식으로, 상기 개별적인 레이어는 상기 개별적인 레이어에(thereinto) 비디오(24)를 인코드했는지, 또는 상기 개별적인 레이어가 비-서브픽처-세분된 방식(non-subpicture-subdivided manner)으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했는지 체크함으로써
    상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추출가능한(extractible) 상기 서브픽처 특화 비디오 데이터 스트림(12)상에 디코더 능력 요구사항 정보(decoder capability requirement information)(60)를
    포함하는,
    멀티-레이어드 비디오 데이터 스트림(14).
  9. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들(L0, L1) 중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)을 형성(forming)하기 위한 인코더(40)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)의 레이어 세트(OLS)를 나타내는 OLS 지시(OLS indication)(18)를 상기 멀티-레이어드 비디오 데이터 스트림(14)에 제공(provide)하고,
    만약 상기 개별적인 레이어가 비-서브픽처-세분된 방식으로 상기 개별적인 레이어에(thereinto) 비디오를 인코드했다면,
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어의 상기 비디오(24)를 갖도록, 상기 개별적인 레이어에 속하는 상기 비트스트림 부분들(16)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고,
    만약 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)으로 세분된 방식으로, 상기 개별적인 레이어가 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했다면,
    상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해,
    둘 이상의 서브픽처들 중 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 상기 비트스트림 부분(16)으로부터 판독(read)하고, 및
    만약 상기 개별적인 비트스트림 부분이, 상기 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트(predetermined set)에 속하는 서브픽처를 인코드했다면, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특화 비디오 데이터 스트림(12)으로 상기 개별적인 레이어의 상기 개별적인 비트스트림 부분을 인수하고(take over),
    상기 비디오(24)의 각 픽처(26)에 대해, 상기 개별적인 레이어의 서로 상이한 비트스트림 부분들(16)로 상기 개별적인 픽처의 상기 서브픽처들(28)이 인코드되도록, 서로 독립된 방식으로 상기 개별적인 레이어로 인코드된, 둘 이상의 서브픽처들(28)로 상기 비디오의 픽처들(26)이 세분되는 방식으로, 상기 개별적인 레이어는 상기 개별적인 레이어에(thereinto) 비디오(24)를 인코드했는지, 또는 상기 개별적인 레이어가 비-서브픽처-세분된 방식(non-subpicture-subdivided manner)으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했는지 체크함으로써
    상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추출가능한(extractible) 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12) 상에(on) 디코더 능력 요구사항 정보(decoder capability requirement information)(60)를 상기 멀티-레이어드 비디오 데이터 스트림(14)에 제공(provide),
    하도록 구성된,
    인코더(40).
  10. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들 중 하나에 각각 속하는 비트스트림 부분들(16)(예, NAL unit)로 구성된 멀티-레이어드 비디오 데이터 스트림(14)에서 서브픽처 특화 비디오 데이터 스트림(12)을 추출하기 위한 장치(10)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)은,
    제1 비디오(first video)의 각 픽처에 대해, 상기 제1 비디오의 상기 개별적인 픽처의 상기 서브픽처들이 제1 레이어의 서로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 상기 제1 비디오의 픽처들(261)이 상기 제1 레이어의 상기 비트스트림 부분들(16)로 인코드된 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오(241)를 갖는 상기 제1 레이어(L1), 및
    비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 제2 비디오(240)를 갖는 제2 레이어(L0),
    를 포함하고,
    상기 제1 레이어의 비트스트림 부분들은,
    상기 레퍼런스 픽처들로(as) 상기 제2 비디오(240)의 픽처들(260)을 포함하는 방식으로, 및
    상기 레퍼런스 픽처들 및 상기 제1 비디오의 상기 픽처들을 위한, 개별적으로(respectively), 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 시그널된(signaled) 스케일링 윈도우들(scaling windows)(72)의 포지션들(positions) 및 사이즈들(sizes)에 따라(according to), 상기 제1 레이어들의 비트스트림 부분들에 의해 구성되고 상기 제1 레이어들의 비트스트림 부분들이 인코드된 것을 사용하는 벡터들(70)을, 벡터 기초 예측(vector based prediction)에서 사용하기 위해, 옵셋(offset) 및 스케일(scale)되는 방식으로
    레퍼런스 픽처들(reference pictures)(260)로부터 상기 벡터 기초 예측을 사용하여,
    상기 제1 레이어의 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 가지고,
    상기 장치는,
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어(L0)의 상기 비디오를 갖도록, 상기 제2 레이어(L0)에 속하는 상기 비트스트림 부분들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처들을, 비트스트림 부분에(thereinto) 인코드하였고 상기 제1 레이어(L1)에 속하는 각 비트스트림 부분을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    상기 제2 비디오의 상기 픽처들에 대한 상기 스케일링 윈도우(scaling window)(720')의 공간적 영역(spatial area)이, 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 대한 상기 스케일링 윈도우(721')의 공간적 영역(spatial area)에 공간적으로(spatially) 일치하도록(corresponds to), 상기 서브픽처 특화 비디오 데이터 스트림(12)에서 상기 제1 및/또는 제2 레이어들에 대한 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정(adapt),
    하도록 구성되는,
    장치(10).
  11. 제10항에 있어서,
    상기 제1 레이어의 상기 스케일링 윈도우(721')가 상기 제2 레이어의 상기 스케일링 윈도우(720')에 포지션(position) 및 사이즈(size)에 일치하도록(corresponds in) 상기 제1 레이어에 대한 상기 스케일링 윈도우 신호화(scaling window signalization)를 조정(adapt)
    하도록 구성된,
    장치.
  12. 제10항 내지 제11항 중 어느 한 항에 있어서,
    상기 비트스트림 부분이(which) 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 속하지 않는 서브픽처를 상기 제1 레이어에(thereinto) 인코드했으나(but), 상기 제1 레이어에 속하는 각 비트스트림 부분을 드롭(drop)
    하도록 구성된,
    장치.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    API를 통해 하나 이상의 서브픽처들의 상기 미리 결정된 세트의 지시(indication)를 수신(receive)
    하도록 구성된,
    장치.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    상기 벡터 기초 예측(vector based prediction)이 모션(motion) 벡터 기초 예측 프레임워크(framework)로 포함되는,
    장치.
  15. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)은,
    제1 비디오(first video)의 각 픽처에 대해, 상기 제1 비디오의 상기 개별적인 픽처의 상기 서브픽처들이 제1 레이어의 서로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 상기 제1 비디오의 픽처들이 상기 제1 레이어의 상기 비트스트림 부분들(16)로 인코드된 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오(241)를 갖는 상기 제1 레이어(L1), 및
    비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 제2 비디오(240)를 갖는 제2 레이어(L0),
    를 포함하고,
    상기 제1 레이어의 비트스트림 부분들은,
    상기 제1 레이어의 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오(241)를 가지고
    상기 레퍼런스 픽처들로(as) 상기 제2 비디오의 픽처들(260)을 포함하는 방식으로, 및
    상기 레퍼런스 픽처들 및 상기 제1 비디오의 상기 픽처들을 위한, 개별적으로(respectively), 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 시그널된(signaled) 스케일링 윈도우들(scaling windows)(72)의 포지션들(positions) 및 사이즈들(sizes)에 따라(according to), 상기 제1 레이어들의 비트스트림 부분들에 의해 구성되고 상기 제1 레이어들의 비트스트림 부분들이 인코드된 것을 사용하는 벡터들(70)을, 벡터 기초 예측(vector based prediction)에서 사용하기 위해, 옵셋(offset) 및 스케일(scale)되는 방식으로
    레퍼런스 픽처들(reference pictures)(260)로부터 벡터 기초 예측을 사용하여,
    상기 제1 레이어의 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 가지고,
    상기 서브픽처 특화 비디오 데이터 스트림(12)은,
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어의 상기 비디오를 갖도록, 상기 제2 레이어에 속하는 상기 비트스트림 부분들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처들을, 비트스트림 부분에(thereinto) 인코드하였고 상기 제1 레이어(L1)에 속하는 각 비트스트림 부분을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    상기 제2 비디오의 상기 픽처들에 대한 상기 스케일링 윈도우(scaling window)(720')의 공간적 영역(spatial area)이, 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 대한 상기 스케일링 윈도우(721')의 공간적 영역(spatial area)에 공간적으로(spatially) 일치하도록(corresponds to), 상기 서브픽처 특화 비디오 데이터 스트림(12)에서 상기 제1 및/또는 제2 레이어들에 대한 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정(adapt)하는 것에 의해
    상기 멀티-레이어드 비디오 데이터 스트림(14)에서 추출 가능한,
    멀티-레이어드 비디오 데이터 스트림(14).
  16. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)을 형성(forming)하기 위한 인코더(40)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)은,
    제1 비디오(first video)의 각 픽처에 대해, 상기 제1 비디오의 상기 개별적인 픽처의 상기 서브픽처들이 제1 레이어의 서로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 상기 제1 비디오의 픽처들이 상기 제1 레이어의 상기 비트스트림 부분들(16)로 인코드된 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 갖는 상기 제1 레이어, 및
    비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 제2 비디오를 갖는 제2 레이어,
    를 포함하고,
    상기 제1 레이어의 비트스트림 부분들은,
    레퍼런스 픽처들(reference pictures)로부터 벡터 기초 예측(vector based prediction)을 사용하여,
    상기 레퍼런스 픽처들로(as) 상기 제2 비디오의 픽처들을 포함하는 방식으로, 및
    상기 레퍼런스 픽처들 및 상기 제1 비디오의 상기 픽처들을 위한, 개별적으로(respectively), 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 시그널된(signaled) 스케일링 윈도우들(scaling windows)(72)의 포지션들(positions) 및 사이즈들(sizes)에 따라(according to), 상기 제1 레이어들의 비트스트림 부분들에 의해 구성되고 상기 제1 레이어들의 비트스트림 부분들이 인코드된 것을 사용하는 벡터들(70)을, 상기 벡터 기초 예측에서 사용하기 위해, 옵셋(offset) 및 스케일(scale)되는 방식으로
    상기 제1 레이어의 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 가지고,
    상기 서브픽처 특화 비디오 데이터 스트림(12)은,
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어의 상기 비디오를 갖도록, 상기 제2 레이어에 속하는 상기 비트스트림 부분들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처들을, 비트스트림 부분에(thereinto) 인코드하였고 상기 제1 레이어에 속하는 각 비트스트림 부분을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고(take over), 및
    상기 제2 비디오의 상기 픽처들에 대한 상기 스케일링 윈도우(scaling window)(720')의 공간적 영역(spatial area)이, 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 대한 상기 스케일링 윈도우(721')의 공간적 영역(spatial area)에 공간적으로(spatially) 일치하도록(corresponds to), 상기 서브픽처 특화 비디오 데이터 스트림(12)에서 상기 제1 및/또는 제2 레이어들에 대한 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정(adapt)하는 것에 의해,
    상기 멀티-레이어드 비디오 데이터 스트림(14)에서 추출 가능하도록, 상기 인코더는 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 구성되는,
    인코더(40).
  17. 멀티-레이어드 비디오 데이터 스트림(14)으로 비디오(24)를 인코딩하기 위한 인코더(40)에 있어서,
    상기 인코더는,
    서브픽처-별(subpicture-wise independent coding) 독립적인 코딩을 서포트(support)하고, 및
    상기 서브픽처-별 독립적인 코딩을 위한 제1 구성 설정(first configuration setting)을 사용하고, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 제2 레이어(L0)로부터 예측을 위한 인터-레이어 예측 도구들(inter-layer prediction tools)의 세트를 사용하는, 상기 비디오의 제1 버전(241)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 제1 레이어(L1)로 인코드하고, 및
    상기 서브픽처-별 독립적인 코딩을 위한 제2 구성 설정(second configuration setting)을 사용하는 상기 비디오의 제2 버전(240)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 제2 레이어(L0)으로 인코드하고,
    상기 제1 및 제2 구성 설정이 미리 결정된 관계를 가지는지 체크하고,
    만약 상기 제1 및 제2 구성 설정(first and second configuration setting)이 상기 미리 결정된 관계를 갖지 않는다면, 상기 인터-레이어 예측 도구들의 하나 이상의 미리 결정된 서브세트(subset)의 이용(making use of)을 삼가하거나 또는 비활성화,
    하도록 구성된,
    인코더(40).
  18. 제17항에 있어서,
    상기 미리 결정된 관계는,
    만약
    상기 제1 및 제2 비디오는, 하나 이상의 서브픽처로 개별적으로 세분된 방식으로, 상기 제1 및 제2 레이어들로 인코드되고, 및/또는
    상기 제1 및 제2 비디오는, 상기 제1 및 제2 비디오들 중에(among) 동일한, 개별적으로, 다수의(a number of) 서브픽처들로 세분된 방식으로, 상기 제1 및 제2 레이어들로 인코드되고, 및/또는
    상기 제1 및 제2 비디오는, 상기 제1 및 제2 비디오들 중에(among) 동일한, 개별적으로, 다수의(a number of) 서브픽처들로 세분된 방식으로, 상기 제1 및 제2 레이어들로 인코드되고, 상기 서브픽처들의 경계들(subpictures' boundaries)은 공간적으로(spatially) 일치(coincide)하고, 및/또는
    상기 제1 및 제2 비디오는, 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 상기 서브픽처들을 위한 시그널된(signaled) 서브픽처 ID들에서 일치하는, 개별적으로, 다수의 서브픽처들로 세분된 방식으로 상기 제1 및 제2 레이어들로 인코드되고, 및/또는
    상기 제1 및 제2 비디오는, 상기 서브픽처들에 대한 경계 처리(boundary treatment)에서 일치하는, 개별적으로, 다수의 서브픽처들로 세분된 방식으로 상기 제1 및 제2 레이어들로 인코드된다면
    상기 제1 및 제2 구성 설정이 상기 미리 결정된 관계를 갖도록 하는,
    인코더.
  19. 제17항 내지 제18항 중 어느 한 항에 있어서,
    하나 이상의 인터-레이어 예측 도구들의 상기 미리 결정된 서브세트(subset)가,
    인터-레이어 모션 벡터(motion vector) 예측,
    벡터-기반 인터-레이어 예측의 광학 플로우(optical flow) 정제(refinement), 및/또는
    벡터-기반 인터-레이어 예측에서 모션 벡터(motion vector) 랩 어라운드(wrap around),
    를 포함하는,
    인코더.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)에서 상기 제1 및 제2 구성 설정을 시그널(signal)
    하도록 구성된,
    인코더.
  21. 제17항 내지 제20항 중 어느 한 항에 있어서,
    만약 상기 제1 및 제2 구성 설정이 상기 미리 결정된 관계를 가진다면,
    하나 이상의 인터-레이어 예측 도구들의 상기 미리 결정된 서브세트(subset)의 이용하거나 또는 활성화,
    하도록 구성된,
    인코더.
  22. 멀티-레이어드 비디오 데이터 스트림(12, 14)을 디코드하기 위한 디코더(50)에 있어서,
    상기 디코더는
    서브픽처-별 독립적인 코딩(subpicture-wise independent coding)을 위한 제1 구성 설정(first configuration setting)을 사용하고, 및 상기 멀티-레이어드 비디오 데이터 스트림의 제2 레이어로부터 예측을 위한 인터-레이어 예측 도구들(inter-layer prediction tools)의 세트를 사용하여 상기 멀티-레이어드 비디오 데이터 스트림의 제1 레이어(L1)로부터 비디오(24)의 제1 버전(first version)(241)을 디코드하고, 및
    서브픽처-별 독립적인 코딩을 위한 제2 구성 설정(second configuration setting)을 사용하여 상기 멀티-레이어드 비디오 데이터 스트림의 상기 제2 레이어(L0)로부터 상기 비디오(24)의 제2 버전(second version)(240)을 디코드하고,
    상기 제1 및 제2 구성 설정들이 미리 결정된 관계를 가지는지 체크하고,
    만약 제1 및 제2 구성 설정들이 상기 미리 결정된 관계를 가진다면, 하나 이상의 인터-레이어 예측 도구들의 미리 결정된 서브세트(subset)를 비활성화(deactivate),
    하도록 구성된,
    디코더(50).
  23. 제22항에 있어서,
    서브픽처 경계들(subpicture boundaries)에서 벡터 클립핑(vector clipping) 및/또는 서브픽처 경계들에서 경계 패딩(boundary padding)을 포함하는 서브픽처-별 독립적인 디코딩(subpicture-wise independent decoding)
    을 위해 구성된,
    디코더.
  24. 제22항 또는 제23항에 있어서,
    상기 미리 결정된 관계는,
    만약
    상기 제1 및 제2 비디오는, 개별적으로, 하나보다 많은(more than one) 서브픽처로 세분되는 방식으로 상기 제1 및 제2 레이어들로 인코드되고, 및/또는
    상기 제1 및 제2 비디오는, 상기 제1 및 제2 비디오 중에(among) 동일한, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 상기 제1 및 제2 레이어들로 인코드되고, 및/또는
    상기 제1 및 제2 비디오는, 상기 멀티-레이어드 비디오 데이터 스트림에서 상기 서브픽처들을 위해 시그널된(signaled) 서브픽처 ID들에 일치하는, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 상기 제1 및 제2 레이어들로 인코드되고, 및/또는
    상기 제1 및 제2 비디오는, 상기 서브픽처들을 위한 경계 처리(boundary treatment)에서 일치하는, 개별적으로, 다수의 서브픽처들로 세분되는 방식으로 상기 제1 및 제2 레이어들로 인코드된다면,
    상기 제1 및 제2 구성 설정이 상기 미리 결정된 관계를 갖도록 하는,
    디코더.
  25. 제22항 내지 제24항 중 어느 한 항에 있어서,
    하나 이상의 인터-레이어 예측 도구들의 상기 미리 결정된 서브세트(subset)가,
    인터-레이어 모션 벡터(motion vector) 예측,
    벡터-기반 인터-레이어 예측의 광학 플로우(optical flow) 정제(refinement), 및/또는
    벡터-기반 인터-레이어 예측에서 모션 벡터(motion vector) 랩 어라운드(wrap around)를 포함하는,
    디코더.
  26. 레이어들의 세트를 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩 하기 위한 인코더(40)에 있어서,
    레이어들의 상기 세트의 비-축소된(non-reduced) 버전을 상기 멀티-레이어드 비디오 데이터 스트림(14)으로 인코드하고, 비디오 버전들은, 레이어 당(per) 하나 이상의 독립적으로 코드된 서브픽처들의 유닛들(units)에서 레이어들의 상기 세트의 비-축소된 버전으로 인코드하고,
    레이어들의 상기 세트의 상기 비-축소된 버전 디코딩하는 것과 관련된 레퍼런스 디코더 능력 요구사항(reference decoder capability requirement)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로 인코드하고;
    서브픽처 사이즈(subpicture size), 상기 개별적인 레이어의 상기 하나 이상의 독립적으로 코드된 서브픽처들의 각각에 대해, 및 레이어들의 상기 세트의 상기 비-축소된 버전의 상기 개별적인 레이어로 코드된 픽처들의 픽처 사이즈(picture size) 상에(on) 정보(22)를, 레이어들의 상기 세트의 각 레이어에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로 인코드하고;
    픽처 사이즈들(picture sizes)에 대한 합계에 의해 나뉜(divided) 레이어들의 상기 세트의 상기 개별적인 축소된 버전에 포함된 독립적으로 코드된 서브픽처들의 서브픽처 사이즈들에 대한 합계의 몫(quotient)을 사용하여 결정된(determined) 팩터(factor)에 의해 상기 레퍼런스 디코더 능력 요구사항을 스케일링 함으로써 레이어들의 상기 세트의 상기 개별적인 축소된 버전을 디코딩하는 것과 관련된 디코더 능력 요구사항(decoder capability requirement)(60)을, 적어도 하나의 레이어의 부분(portion)이 관련된 서브픽처가 제거된 레이어들의 상기 세트의 하나 이상의 축소된 버전들의 각각에 대해, 결정(determine)
    하도록 구성된,
    인코더(40).
  27. 비디오 버전들(video versions)은 레이어 당(per) 하나 이상 독립적으로 코드된 서브픽처들의 유닛들(units)에서 레이어들의 상기 세트의 비-축소된 버전으로 인코드되고, 상기 멀티-레이어드 비디오 데이터 스트림(14)은 레이어들에(thereinto) 인코드된 레이어들의 상기 세트의 상기 비-축소된 버전을 가지고, 레이어들의 세트를 포함하는 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특징 비디오 데이터 스트림(12)을 추출하기 위한 장치(40)에 있어서,
    상기 장치는,
    레이어들의 상기 세트의 상기 비-축소된 버전을 디코딩 하는 것과 관련된 레퍼런스 디코더 능력 요구사항을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 도출(derive)하고,
    상기 개별적인 레이어의 상기 하나 이상의 독립적으로 코드된 서브픽처들의 각각에 대해, 및 레이어들의 상기 세트의 상기 비-축소된 버전의 상기 개별적인 레이어로 코드된 픽처들의 픽처 사이즈(picture size) 상에(on) 정보(22), 레이어들의 상기 세트의 각 레이어에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 서브픽처 사이즈(subpicture size)를 도출하고,
    픽처 사이즈들(picture sizes)에 대한 합계에 의해 나뉜(divided) 레이어들의 상기 세트의 상기 미리 결정된 축소된 버전에서 포함된 독립적으로 코드된 서브픽처들의 서브픽처 사이즈들에 대한 합계의 몫(quotient)을 사용하여 결정된 팩터(factor)에 의해 상기 레퍼런스 디코더 능력 요구사항을 스케일링 함으로써 레이어들의 상기 세트의 상기 미리 결정된 축소된 버전을 디코딩하는 것과 관련된 디코더 능력 요구사항(decoder capability requirement)(60)을, 적어도 하나의 레이어의 부분과 관련된 서브픽처가 제거된(removed), 레이어들의 상기 세트의 미리 결정된 축소된 버전을 위해, 결정(determine),
    하도록 구성된,
    장치.
  28. 복수의 레이어들(L0, L1)을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩하기 위한 인코더(40)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는(unsubdivded) 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로, 비디오 픽처들(26)을, 상기 멀티-레이어들 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드하고,
    적어도 하나의 제2 레이어가 레이어 세트에 포함되고, 및 적어도 하나의 제1 레이어가 상기 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    적어도 하나의 제1 레이어에 기인한 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제1 프랙션(134) 및 적어도 하나의 제2 레이어에 기인한(attributed to) 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션(fraction)(132)에 관한(on) 정보(information)를, 레이어들의 상기 레이어 세트를 디코딩하기에 충분한(sufficient) 여러(several) 레퍼런스 디코더 능력 요구사항들(130)의 각각에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드
    하도록 구성된,
    인코더(40).
  29. 제28항에 있어서,
    한편으로(on the one hand) 상기 멀티-레이어드 비디오 데이터 스트림(14)에 상기 제1 프랙션을 작성(writing)하고, 다른 한편으로(on the other hand)(136)으로 일에서 상기 제1 프랙션을 뺀 것(one minus the first fraction)으로 나뉜(divided) 상기 제2 프랙션을 작성함으로써 상기 제1 및 제2 프랙션에 관한(on) 상기 정보를 인코드
    하도록 구성된,
    인코더.
  30. 제28항 내지 제29항 중 어느 한 항에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)으로 하나 이상의 상기 여러(several) 레퍼런스 디코더 능력 요구사항들에 관한(on) 정보(information)를 인코드
    하도록 구성된,
    인코더.
  31. 제28항 내지 제30항 중 어느 한 항에 있어서,
    상기 제1 프랙션(first fraction)이 상기 축소된 버전에서 하나 이상의 독립적으로 코드된 서브픽처 프리젠트(subpicture present)의 각각에 대해 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추론할 수(derivable) 있도록 및 상기 제1 프랙션 및 제2 프랙션이 상기 멀티-레이어드 비디오 데이터 스트림(14)의 축소된 버전(reduced version)과 관련되도록, 상기 여러(several) 레퍼런스 디코더 능력 요구사항들의 적어도 하나를 위해, 상기 정보를 인코드
    하도록 구성된,
    인코더.
  32. 제28항 내지 제31항 중 어느 한 항에 있어서,
    상기 제1 프랙션은 상기 적어도 하나의 제1 레이어의 상기 독립적으로 코드된 서브픽처들의 각각에 대해 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추론할 수 있도록, 및 상기 제1 프랙션 및 제2 프랙션은 상기 멀티-레이어드 비디오 데이터 스트림(14)의 비-축소된 버전과 관련되도록, 상기 여러(several) 레퍼런스 디코더 능력 요구사항들의 적어도 추가의(further) 하나를 위해, 상기 정보를 인코드
    하도록 구성된,
    인코더.
  33. 하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들은 레이어들에(thereinto) 인코드된 비디오 픽처들(video pictures)을 가지고, 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 핸들링(handling)하기 위한 장치(10, 100)에 있어서,
    적어도 하나의 제2 레이어는 레이어 세트에 포함되고, 및 적어도 제1 레이어는 상기 레이어 세트에 포함되는, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하고,
    적어도 하나의 제1 레이어에 기인한 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제1 프랙션(fraction) 및 적어도 하나의 제2 레이어에 기인한(attributed to) 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션(fraction)에 관한(on) 정보(information)를, 레이어들의 상기 레이어 세트를 디코딩하기에 충분한(sufficient) 여러(several) 레퍼런스 디코더 능력 요구사항들의 각각에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 디코딩(decoding)
    하도록 구성된,
    장치(10, 100).
  34. 제33항에 있어서,
    한편으로(on the one hand) 상기 멀티-레이어드 비디오 데이터 스트림(14)에 상기 제1 프랙션을 판독(reading)하고, 다른 한편으로(on the other hand)으로 일에서 상기 제1 프랙션을 뺀 것(one minus the first fraction)으로 나뉜(divided) 상기 제2 프랙션을 판독함으로써 상기 제1 및 제2 프랙션에 관한(on) 상기 정보를 디코드
    하도록 구성된,
    장치.
  35. 제33항 내지 제34항 중 어느 한 항에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추가의(further) 프랙션 및 상기 제1 프랙션을 판독함으로써(reading) 상기 제1 및 제2 프랙션에 관한(on) 상기 정보를 디코드(decode)하고, 및 일에서 상기 제1 프랙션을 뺀 것(one minus the first fraction)의 상기 상이함(difference)에 의해 상기 추가의(further) 프랙션을 곱함으로써(multiplying) 상기 제2 프랙션을 도출(derive)
    하도록 구성된,
    장치.
  36. 제33항 내지 제35항 중 어느 한 항에 있어서,
    상기 레이어 세트를 위한 실제의(actual) 디코더 능력 요구사항을 획득(obtain)하기 위해 상기 제1 및 제2 프랙션들을 합산(summing-up)
    하도록 구성된,
    장치.
  37. 제33항 내지 제36항 중 어느 한 항에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)로부터 하나 이상의 상기 여러(several) 레퍼런스 디코더 능력 요구사항들에 관한(on) 정보를 디코드
    하도록 구성된,
    장치.
  38. 제33항 내지 제37항 중 어느 한 항에 있어서,
    상기 제1 프랙션은 상기 축소된 버전에서 하나 이상의 독립적으로 코드된 서브픽처 프리젠트(present)의 각각에 대해 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추론할 수 있고, 및 상기 제1 프랙션 및 제2 프랙션은 상기 멀티-레이어드 비디오 데이터 스트림(14)의 축소된 버전에 관련되도록, 상기 정보를, 상기 여러(several) 레퍼런스 디코더 능력 요구사항들의 적어도 하나를 위해, 디코드
    하도록 구성된,
    장치.
  39. 제33항 내지 제38항 중 어느 한 항에 있어서,
    상기 제1 프랙션은 상기 적어도 하나의 제1 레이어의 상기 독립적으로 코드된 서브픽처들의 각각에 대해 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추론할 수 있고, 상기 제1 프랙션 및 제2 프랙션은 상기 멀티-레이어드 비디오 데이터 스트림(14)의 비-축소된 버전에 관련되도록, 상기 정보를, 상기 여러(several) 레퍼런스 디코더 능력 요구사항들의 적어도 추가의(further) 하나를 위해, 디코드
    하도록 구성된,
    장치.
  40. 제33항 내지 제39항 중 어느 한 항에 있어서,
    또 다른(another) 비디오 데이터 스트림과 함께 상기 멀티-레이어드 비디오 데이터 스트림(14)의(thereof) 축소된 버전 또는 상기 멀티-레이어드 비디오 데이터 스트림을 믹싱(mixing)하는 것에 기초하여 추가의(further) 데이터 스트림을 형성(forming)하는 것을 결정을 내리기(decide) 위해 상기 정보를 사용(use)
    하도록 구성된,
    장치.
  41. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩하기 위한 인코더(40)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로 비디오 픽처들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드하고
    적어도 하나의 제1 레이어가 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    상기 레이어 세트를 위한 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter) 및, 상기 레이어 세트의 각 레이어에 대해 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 포함하는, 레이어들의 상기 레이어 세트의 비-축소된 버전을 디코드하는 것과 관련된 레퍼런스 디코더 능력 요구사항을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    상기 레이어 세트의 각 레이어에 대해 제3 디코더 능력 요구사항 파라미터(third decoder capability requirement parameter)를 획득하기위해 제1 프랙션(first fraction)을 사용하여 상기 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 스케일링, 및
    상기 레이어 세트의 상기 개별적인 축소된 버전을 위해 제4 디코더 능력 요구사항 파라미터(fourth decoder capability requirement parameter)를 획득하기 위해 제2 프랙션(second fraction)을 사용하여 상기 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter)를 스케일링 함으로써,
    레이어들의 상기 레이어 세트의 상기 개별적인 비-축소된 버전을 디코딩하는 것과 관련된 추가의(further) 레퍼런스 디코더 능력 요구사항 정보(reference decoder capability requirement information)를, 적어도 하나의 제1 레이어의 부분(portion)과 관련된(related) 서브픽처가 제거된(removed) 레이어들의 상기 레이어 세트의 하나 이상의 축소된 버전들 각각에 대해, 결정(determine)
    하도록 구성된,
    인코더(40).
  42. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특화 비디오 데이터 스트림(12)을 추출하기 위한 장치(10)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는(unsubdivided) 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로, 비디오 픽처들이 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로 인코드되고,
    적어도 하나의 제1 레이어가 상기 레이어 세트에 포함되도록, 레이어들의 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하고,
    상기 레이어 세트를 위한 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter) 및, 상기 레이어 세트의 각 레이어에 대해 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 포함하는, 레이어들의 상기 레이어 세트의 비-축소된 버전을 디코드하는 것과 관련된 레퍼런스 디코더 능력 요구사항을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하고,
    상기 레이어 세트의 각 레이어에 대해 제3 디코더 능력 요구사항 파라미터(third decoder capability requirement parameter)를 획득하기위해 제1 프랙션(first fraction)을 사용하여 상기 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 스케일링, 및
    상기 레이어 세트의 상기 미리 결정된 축소된 버전을 위해 제4 디코더 능력 요구사항 파라미터(fourth decoder capability requirement parameter)를 획득하기 위해 제2 프랙션(second fraction)을 사용하여 상기 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter)를 스케일링 함으로써,
    레이어들의 상기 레이어 세트의 상기 미리 결정된 비-축소된 버전을 디코딩하는 것과 관련된 추가의(further) 레퍼런스 디코더 능력 요구사항 정보(reference decoder capability requirement information)를, 적어도 하나의 제1 레이어의 부분(portion)과 관련된(related) 서브픽처가 제거된(removed) 레이어들의 상기 레이어 세트의 미리 결정된 축소된 버전을 위해, 결정(determine)하고
    제3 및 제4 디코더 능력 요구사항 파라미터들을 상기 서브픽처 특화 비디오 데이터 스트림(12)에 제공(provide) 및 적어도 하나의 제1 레이어의 부분과 관련된 상기 서브픽처를 제거(remove)함으로써 상기 멀티-레이어드 비디오 데이터 스트림(14)에 기초하여 상기 서브픽처 특화 비디오 데이터 스트림(12)을 형성(forming)하고,
    디코더에 의해 레이어들의 상기 레이어 세트의 상기 미리 결정된 비-축소된 버전을 디코딩하는 것과 관련된 상기 추가의(further) 레퍼런스 디코더 능력 요구사항 정보의 결정(determination)을 위해 상기 제1 및 제2 프랙션을 상기 서브픽처 특화 비디오 데이터 스트림(12)에 제공(provide), 및 적어도 하나의 제1 레이어의 부분과 관련된 상기 서브픽처를 제거(remove)함으로써, 상기 멀티-레이어드 비디오 데이터 스트림(14)에 기초하여 상기 서브픽처 특화 비디오 데이터 스트림(12)을 형성(forming)
    하도록 구성된,
    장치(10).
  43. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩 하기 위한 인코더(40)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들(28)로 세분되는 방식으로 비디오 픽처들(260, 261)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드하고
    적어도 하나의 제1 레이어가 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    레이어들의 상기 레이어 세트를 디코딩하기에 충분한 하나 이상의 레퍼런스 디코더 능력 요구사항들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 지시(indicate)하고,
    파라미터들의 미리 결정된 세트를 위해, 상기 개별적인 레퍼런스 디코더 능력 요구사항에 특정(specific)한, 제약들(constraints)이 충족(fulfill)되는지 여부, 상기 개별적인 제1 레이어로 코드된 상기 서브픽처들의 각각에 대해, 상기 레퍼런스 디코더 능력 요구사항들의 각각에 대해, 상기 레이어 세트의 상기 제1 레이어들의 각각에 대해, 선택적으로(selectively), 체크(check)
    하도록 구성된,
    인코더(40).
  44. 제43항에 있어서,
    상기 인코더는, 상기 개별적인 서브픽처에 기인한(attributed to) 상기 개별적인 레퍼런스 디코더 능력 요구사항의 프랙션에 관한(on) 정보를 사용하여 파라미터들의 상기 세트의 상기 파라미터들을 결정(determine)
    하기 위해 구성된,
    인코더.
  45. 제43항 또는 제44항에 있어서,
    파라미터들의 상기 세트가 타일들(tiles)의 총(total) 수, 열(column)에서 다수의(a number of) 타일들, 행(row)에서 다수의 타이들, 픽처 높이(picture height), 픽처 폭(picture width), 다수의(a number of) 샘플들의 하나 이상 또는 전체를, 상기 개별적인 서브픽처들을 위해, 포함하는,
    인코더.
  46. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림은,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들(28)로 세분되는 방식으로 비디오 픽처들(260, 261)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드했고
    적어도 하나의 제1 레이어가 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드했고
    레이어들의 상기 레이어 세트를 디코딩하기에 충분한 하나 이상의 레퍼런스 디코더 능력 요구사항들(130)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)에서, 지시(indicate)했고
    파라미터들의 미리 결정된 세트를 위해, 상기 개별적인 레퍼런스 디코더 능력 요구사항에 특정(specific)한, 제약들(constraints)이, 상기 개별적인 제1 레이어로 코드된 상기 서브픽처들의 각각에 대해, 상기 레퍼런스 디코더 능력 요구사항들의 각각에 대해, 상기 레이어 세트의 상기 제1 레이어들의 각각에 대해 선택적으로, 충족(fulfill)되도록, 상기 멀티-레이어드 비디오 데이터 스트림은 상기 멀티-레이어드 비디오 데이터 스트림에(thereinto) 상기 비디오 픽처들을 인코드하였던,
    멀티-레이어드 비디오 데이터 스트림(14).
  47. 비디오 데이터 스트림(20)을 디코딩하기 위한 디코더(110)에 있어서,
    상기 하나 이상의 독립적으로 코드된 서브픽처들의 서라운딩(surrounding) 및 상기 하나 이상의 독립적으로 코드된 서브픽처들 사이에 코딩 독립성(coding independency)의 상이한(different) 타입들을 구별(discriminate)하는 상기 지시(indication)(80)를, 상기 비디오 데이터 스트림으로 인코드된 픽처들이 하나 이상의 독립적으로 코드된 서브픽처들(28)을 거쳐(by way of) 인코드 되는지를 지시하는(indicating) 지시(indication)(80)를, 상기 비디오 데이터 스트림으로부터, 디코드
    하도록 구성된,
    디코더(110).
  48. 제47항에 있어서,
    코딩 독립성(coding independency)의 상기 상이한 타입들 중 상기 지시(80)가 지시하는 것과 독립적인(independent), 상기 비디오 데이터 스트림으로 인코드된 픽처들이 하나 이상의 독립적으로 코딩된 서브픽처들을 거쳐(by way of) 인코드된 것을 지시하는 상기 지시(indication)에 응답하여(responsive to),
    상기 비디오 데이터 스트림의 각 비트스트림 패킷으로부터, 상기 하나 이상의 독립적으로 코딩된 서브픽처들 중 상기 개별적인 비트스트림 패킷으로 인코드된 것에 관해(as to) 지시하는, 서브픽처 식별자(subpicture identifier)를 판독(read)하는 것, 및/또는
    인-루프(in-loop) 필터링(filtering)이 서브픽처 경계들을 가로지르는 것(crossing)을 방지(prevent)하는 것, 및/또는
    상기 하나 이상의 독립적으로 코딩된 서브픽처들 중 어느 것이 상기 미리 결정된 비트스트림 패킷으로 인코드되는지에 따라(dependent on) 상기 픽처의 블락(block)의, 상기 비디오 데이터 스트림의 상기 미리 결정된 비트스트림 부분으로 코딩되는, 블락 어드레스(block address)로부터 픽처 포지션(picture position)을 도출하는 것, 및/또는
    상기 비디오 데이터 스트림의 하나의 엑세스 유닛(access unit)에서 발생하는 상이한 NAL 유닛 타입들을 허용(allow)하는 것,
    을 수행하도록 구성된,
    디코더.
  49. 제47항 내지 제48항 중 어느 한 항에 있어서,
    상기 픽처의 상기 서브픽처들 사이에(between) 코딩 독립성(coding independency)의 상기 상이한 타입들(different types)은,
    인코더-제약된 인코딩 타입(encoder-constrained encoding type), 상기 디코더는, 만약 상기 인코더-제약된 인코딩 타입이 상기 독립적으로 코드된 서브픽처들에 관하여 상기 지시(indication)에 의해 지시된다면, 상기 독립적으로 코드된 서브픽처들의 경계들(boundaries)에서, 독립성 핸들링(independency handling)을 수행(perform)하지 않도록 구성되고, 및
    디코더-인식 인코딩 타입(decoder-aware encoding type)을 포함하고,
    상기 디코더는, 만약 상기 디코더-인식 인코딩 타입이 상기 독립적으로 코드된 서브픽처들에 관하여 상기 지시에 의해 지시된다면, 상기 독립적으로 코드된 서브픽처들의 상기 경계들에서 경계 패딩(boundary padding) 및/또는 벡터-기반 예측(vector-based prediction)을 위해 벡터 클립핑(vector clipping)에 의해 상기 독립적으로 코드된 서브픽처들의 경계들에서 독립성 핸들링(independency handling)을 수행하도록 구성된,
    디코더.
  50. 비디오 데이터 스트림(121; 122)을 인코딩하기 위한 인코더(40, 401, 402)에 있어서,
    상기 하나 이상의 독립적으로 코드된 서브픽처들의 서라운딩(surrounding) 및 상기 하나 이상의 독립적으로 코드된 서브픽처들(28) 사이에 코딩 독립성(coding independency)의 상이한(different) 타입들을 구별(discriminate)하는 상기 지시(indication)(80)를, 상기 비디오 데이터 스트림(121; 122)으로 인코드된 픽처들(261; 262)이 하나 이상의 독립적으로 코드된 서브픽처들(28)의 방법에 의해 인코드 되는지를 지시하는 지시(80)를, 상기 비디오 데이터 스트림(121; 122)으로, 인코드
    하도록 구성된,
    인코더(40, 401, 402).
  51. 제50항에 있어서,
    코딩 독립성(coding independency)의 상기 상이한 타입들 중 상기 지시가 지시하는 것과 독립적인(independent), 만약 상기 지시가 상기 비디오 데이터 스트림으로 인코드된 상기 픽처들이 하나 이상의 독립적으로 코드된 서브픽처들을 거쳐(by way of) 인코드된 것을 지시하는 경우,
    상기 하나 이상의 독립적으로 코드된 서브픽처들의 어느 것이(as to which) 상기 개별적인 비트스트림 패킷으로 인코드됐는지 지시하는, 상기 비디오 데이터 스트림의 각 비트스트림 패킷으로부터 서브픽처 식별자(subpicture identifier)(80)를 작성(writing)하는 것, 및/또는
    인-루프(in-loop) 필터링(filtering)이 서브픽처 경계들을 넘지 않도록 방지(prevent)하는 것, 및/또는
    상기 하나 이상의 독립적으로 코드된 서브픽처들 중 어느 것이 상기 미리 결정된 비트스트림 패킷으로 인코드되는지에 따라(dependent on), 블락 어드레스(block address)가 상기 비디오 데이터 스트림의 미리 결정된 비트스트림 패킷으로 코드되는, 상기 픽처의 블락(block)의 블락 어드레스로(block address)부터 픽처 포지션(picture position)을 도출하는 것, 및/또는
    상기 비디오 데이터 스트림의 하나의 엑세스 유닛(access unit)에서 발생하는 상이한 NAL 유닛 타입들을 허용(allow)하는 것, 및/또는
    디코더 능력 요구사항 정보, 상기 하나 이상의 독립적으로 코드된 서브픽처들의 각각에 대해 도출(derive)이하는 것,
    을 수행(perform)하도록 구성된,
    인코더.
  52. 제50항 내지 제51항 중 어느 한 항에 있어서,
    상기 픽처의 상기 서브픽처들 사이에 코딩 독립성의 상기 상이한 타입들은,
    인코더-제약된 인코딩 타입, 상기 인코더는, 만약 상기 인코더-제약된 인코딩 타입이 상기 독립적으로 코드된 서브픽처들에 관하여 상기 지시(indication)에 의해 지시(indicate)된다면, 서브픽처 경계들을 넘어(across) 코딩 종속성들(coding dependencies)이 발생(incur)하지 않도록 코딩 옵션들(coding options)을 제한(restrict)하도록 구성되고,
    디코더-인식 인코딩 타입, 만약 상기 디코더-인식 인코딩 타입이 상기 독립적으로 코드된 서브픽처들에 관하여 상기 지시에 의해 지시된다면, 디코더-사이드(decoder-side)에서 모방(imitate)되도록 해야 하는(ought to) 상기 독립적으로 코드된 서브픽처들의 상기 경계들에서 경계 패딩(boundary padding) 및/또는 벡터-기반 예측을 위해 벡터 클립핑에 의해 상기 독립적으로 코드된 서브픽처들의 경계들에서 독립성 핸들링(independency handling)을 수행하도록 구성된 상기 디코더,
    을 포함하는,
    인코더.
  53. 멀티-레이어드 비디오 데이터 스트림(multi-layered video data stream)의 레어어들(L0, L1) 중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12)을 추출하는 방법(10)에 있어서,
    상기 방법은,
    상기 멀티-레이어드 비디오 데이터 스트림(14)의 레이어 세트(layer set)(OLS)에서 각 레이어에 대해,
    상기 개별적인 레이어가 비-서브픽처-세분된(non-subpicture-subdivided) 방식으로 상기 개별적인 레이어에(thereinto) 비디오(24)를 인코드했는지 또는, 상기 개별적인 레이어가, 상기 비디오의 픽처들(261, 262)이, 상기 비디오(24)의 각 픽처(261, 262)에 대해, 상기 개별적인 픽처의 서브픽처들(28)이 상기 개별적인 레이어의 서로 상이한(mutually different) 비트스트림 부분들(bitstream portions)(16)로 인코드되도록 서로 독립적인(mutually independent) 방식으로 상기 개별적인 레이어로 인코드된 둘 이상의 상기 서브픽처들(28)로 세분(subdivide)되는 방식으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드 했는지 체크(check)하고,
    만약 상기 개별적인 레이어가 비-서브픽처-세분된 방식으로 상기 개별적인 레이어에(thereinto) 상기 비디오를 인코드했다면,
    상기 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12)이 상기 개별적인 레이어에(thereinto) 완전히(completely) 인코드된 상기 개별적인 레이어의 상기 비디오(24)를 갖도록, 상기 개별적인 레이어에 속하는 상기 비트스트림 부분들(bitstream portions)(16)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)하고, 및
    만약 상기 개별적인 레이어가 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)로 세분되는 방식으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했다면,
    상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해,
    둘 이상의 서브픽처들 중 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 상기 비트스트림 부분(16)으로부터 판독(read)하고,
    만약 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처를 인코드했다면, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로, 상기 개별적인 레이어의 상기 개별적인 비트스트림 부분을 인수(take over)하는 것,
    을 포함하는,
    방법.
  54. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들(L0, L1) 중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)을 형성(forming)하기 위한 방법(40)에 있어서,
    상기 방법은:
    상기 멀티-레이어드 비디오 데이터 스트림(14)의 레이어 세트(OLS)를 나타내는 OLS 지시(OLS indication)(18)를 상기 멀티-레이어드 비디오 데이터 스트림(14)에 제공(provide)하고,
    만약 상기 개별적인 레이어가 비-서브픽처-세분된 방식으로 상기 개별적인 레이어에(thereinto) 비디오를 인코드했다면,
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어의 상기 비디오(24)를 갖도록, 상기 개별적인 레이어에 속하는 상기 비트스트림 부분들(16)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수하고,
    만약 상기 비디오의 픽처들(26)이 둘 이상의 서브픽처들(28)으로 세분된 방식으로, 상기 개별적인 레이어가 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했다면,
    상기 개별적인 레이어에 속하는 각 비트스트림 부분에 대해,
    둘 이상의 서브픽처들 중 상기 개별적인 비트스트림 부분이 상기 개별적인 비트스트림 부분에(thereinto) 인코드한 서브픽처를 드러내는(reveal) 정보를, 상기 비트스트림 부분(16)으로부터 판독(read)하고, 및
    만약 상기 개별적인 비트스트림 부분이, 상기 개별적인 비트스트림 부분에(thereinto) 하나 이상의 서브픽처들의 미리 결정된 세트(predetermined set)에 속하는 서브픽처를 인코드했다면, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특화 비디오 데이터 스트림(12)으로 상기 개별적인 레이어의 상기 개별적인 비트스트림 부분을 인수(take over)하고,
    상기 비디오(24)의 각 픽처(26)에 대해, 상기 개별적인 레이어의 서로 상이한 비트스트림 부분들(16)로 상기 개별적인 픽처의 상기 서브픽처들(28)이 인코드되도록, 서로 독립된 방식으로 상기 개별적인 레이어로 인코드된, 둘 이상의 서브픽처들(28)로 상기 비디오의 픽처들(26)이 세분되는 방식으로, 상기 개별적인 레이어는 상기 개별적인 레이어에(thereinto) 비디오(24)를 인코드했는지, 또는 상기 개별적인 레이어가 비-서브픽처-세분된 방식(non-subpicture-subdivided manner)으로 상기 개별적인 레이어에(thereinto) 상기 비디오(24)를 인코드했는지 체크함으로써
    상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 추출가능한(extractible) 서브픽처 특화 비디오 데이터 스트림(subpicture specific video data stream)(12) 상에(on) 디코더 능력 요구사항 정보(decoder capability requirement information)(60)를 상기 멀티-레이어드 비디오 데이터 스트림(14)에 제공(provide)하는 것,
    을 포함하는,
    방법.
  55. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들 중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 멀티-레이어드 비디오 데이터 스트림(14)에서 서브픽처 특화 비디오 데이터 스트림(12)을 추출하기 위한 방법(10)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)은,
    제1 비디오(first video)의 각 픽처에 대해, 상기 제1 비디오의 상기 개별적인 픽처의 상기 서브픽처들이 제1 레이어의 서로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 상기 제1 비디오의 픽처들(261)이 상기 제1 레이어의 상기 비트스트림 부분들(16)로 인코드된 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오(241)를 갖는 상기 제1 레이어(L1), 및
    비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 제2 비디오(240)를 갖는 제2 레이어(L0),
    를 포함하고
    상기 제1 레이어의 비트스트림 부분들은,
    상기 레퍼런스 픽처들로(as) 상기 제2 비디오(240)의 픽처들(260)을 포함하는 방식으로, 및
    상기 레퍼런스 픽처들 및 상기 제1 비디오의 상기 픽처들을 위한, 개별적으로(respectively), 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 시그널된(signaled) 스케일링 윈도우들(scaling windows)(72)의 포지션들(positions) 및 사이즈들(sizes)에 따라(according to), 상기 제1 레이어들의 비트스트림 부분들에 의해 구성되고 상기 제1 레이어들의 비트스트림 부분들이 인코드된 것을 사용하는 벡터들(70)을, 벡터 기초 예측(vector based prediction)에서 사용하기 위해, 옵셋(offset) 및 스케일(scale)되는 방식으로
    레퍼런스 픽처들(reference pictures)(260)로부터 상기 벡터 기초 예측을 사용하여,
    상기 제1 레이어의 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 가지고,
    상기 방법은:
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어(L0)의 상기 비디오를 갖도록, 상기 제2 레이어(L0)에 속하는 상기 비트스트림 부분들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)하고, 및
    하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처들을, 비트스트림 부분에(thereinto) 인코드하였고 상기 제1 레이어(L1)에 속하는 각 비트스트림 부분을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)하고, 및
    상기 제2 비디오의 상기 픽처들에 대한 상기 스케일링 윈도우(scaling window)(720')의 공간적 영역(spatial area)이, 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 대한 상기 스케일링 윈도우(721')의 공간적 영역(spatial area)에 공간적으로(spatially) 일치하도록(corresponds to), 상기 서브픽처 특화 비디오 데이터 스트림(12)에서 상기 제1 및/또는 제2 레이어들에 대한 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정(adapt)하는 것,
    을 포함하는,
    방법.
  56. 멀티-레이어드 비디오 데이터 스트림(14)의 레이어들중 하나에 각각 속하는 비트스트림 부분들(16)로 구성된 상기 멀티-레이어드 비디오 데이터 스트림(14)을 형성(forming)하기 위한 방법(40)에 있어서,
    상기 멀티-레이어드 비디오 데이터 스트림(14)은,
    제1 비디오(first video)의 각 픽처에 대해, 상기 제1 비디오의 상기 개별적인 픽처의 상기 서브픽처들이 제1 레이어의 서로 상이한(mutually different) 비트스트림 부분들로 인코드되도록 서로 독립적인(mutually independent) 방식으로, 상기 제1 비디오의 픽처들이 상기 제1 레이어의 상기 비트스트림 부분들(16)로 인코드된 둘 이상의 서브픽처들(28)로 세분되는 방식으로, 상기 비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 갖는 상기 제1 레이어, 및
    비트스트림 부분들은 상기 비트스트림 부분들에(thereinto) 인코드된 제2 비디오를 갖는 제2 레이어,
    를 포함하고,
    상기 제1 레이어의 비트스트림 부분들은,
    레퍼런스 픽처들(reference pictures)로부터 벡터 기초 예측(vector based prediction)을 사용하여,
    상기 레퍼런스 픽처들로(as) 상기 제2 비디오의 픽처들을 포함하는 방식으로, 및
    상기 레퍼런스 픽처들 및 상기 제1 비디오의 상기 픽처들을 위한, 개별적으로(respectively), 상기 멀티-레이어드 비디오 데이터 스트림(14)에서 시그널된(signaled) 스케일링 윈도우들(scaling windows)(72)의 포지션들(positions) 및 사이즈들(sizes)에 따라(according to), 상기 제1 레이어들의 비트스트림 부분들에 의해 구성되고 상기 제1 레이어들의 비트스트림 부분들이 인코드된 것을 사용하는 벡터들(70)을, 상기 벡터 기초 예측에서 사용하기 위해, 옵셋(offset) 및 스케일(scale)되는 방식으로
    상기 제1 레이어의 비트스트림 부분들에(thereinto) 인코드된 상기 제1 비디오를 가지고,
    상기 서브픽처 특화 비디오 데이터 스트림(12)은,
    상기 서브픽처 특화 비디오 데이터 스트림(12)이 상기 개별적인 레이어에(thereinto) 완전히 인코드된 상기 개별적인 레이어의 상기 비디오를 갖도록, 상기 제2 레이어에 속하는 상기 비트스트림 부분들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)하고, 및
    하나 이상의 서브픽처들의 미리 결정된 세트에 속하는 서브픽처들을, 비트스트림 부분에(thereinto) 인코드하였고 상기 제1 레이어에 속하는 각 비트스트림 부분을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 상기 서브픽처 특화 비디오 데이터 스트림(12)으로 인수(take over)하고, 및
    상기 제2 비디오의 상기 픽처들에 대한 상기 스케일링 윈도우(scaling window)(720')의 공간적 영역(spatial area)이, 하나 이상의 서브픽처들의 상기 미리 결정된 세트에 대한 상기 스케일링 윈도우(721')의 공간적 영역(spatial area)에 공간적으로(spatially) 일치하도록(corresponds to), 상기 서브픽처 특화 비디오 데이터 스트림(12)에서 상기 제1 및/또는 제2 레이어들에 대한 스케일링 윈도우 신호화(scaling window signalization)(74)를 조정(adapt)하는 것에 의해,
    상기 멀티-레이어드 비디오 데이터 스트림(14)에서 추출 가능하도록, 상기 방법은 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터 포함하는,
    방법.
  57. 서브픽처-별(subpicture-wise independent coding) 독립적인 코딩을 사용하는 멀티-레이어드 비디오 데이터 스트림(14)으로 비디오(24)를 인코딩하기 위한 방법(40)에 있어서,
    상기 방법은:
    상기 서브픽처-별 독립적인 코딩을 위한 제1 구성 설정(first configuration setting)을 사용하고, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 제2 레이어(L0)로부터 예측을 위한 인터-레이어 예측 도구들(inter-layer prediction tools)의 세트를 사용하는, 상기 비디오의 제1 버전(241)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 제1 레이어(L1)로 인코드하고, 및
    상기 서브픽처-별 독립적인 코딩을 위한 제2 구성 설정(second configuration setting)을 사용하는 상기 비디오의 제2 버전(240)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 제2 레이어(L0)으로 인코드하고,
    상기 제1 및 제2 구성 설정이 미리 결정된 관계를 가지는지 체크하는 단계,
    만약 상기 제1 및 제2 구성 설정(first and second configuration setting)이 상기 미리 결정된 관계를 갖지 않는다면, 상기 인터-레이어 예측 도구들의 하나 이상의 미리 결정된 서브세트(subset)의 이용(making use of)을 삼가하거나 또는 비활성화하는 것
    을 포함하는,
    방법.
  58. 멀티-레이어드 비디오 데이터 스트림(12, 14)을 디코딩하기 위한 방법(50)에 있어서,
    상기 방법은:
    서브픽처-별 독립적인 코딩(subpicture-wise independent coding)을 위한 제1 구성 설정(first configuration setting)을 사용하고, 및 상기 멀티-레이어드 비디오 데이터 스트림의 제2 레이어로부터 예측을 위한 인터-레이어 예측 도구들(inter-layer prediction tools)의 세트를 사용하여 상기 멀티-레이어드 비디오 데이터 스트림의 제1 레이어(L1)로부터 비디오(24)의 제1 버전(first version)(241)을 디코드하고, 및
    서브픽처-별 독립적인 코딩을 위한 제2 구성 설정(second configuration setting)을 사용하여 상기 멀티-레이어드 비디오 데이터 스트림의 상기 제2 레이어(L0)로부터 상기 비디오(24)의 제2 버전(second version)(240)을 디코드하고,
    상기 제1 및 제2 구성 설정들이 미리 결정된 관계를 가지는지 체크하고,
    만약 제1 및 제2 구성 설정들이 상기 미리 결정된 관계를 가진다면, 하나 이상의 인터-레이어 예측 도구들의 미리 결정된 서브세트(subset)를 비활성화(deactivate)하는 것을
    를 포함하는,
    방법.
  59. 레이어들의 세트를 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩 하기 위한 방법(40)에 있어서,
    상기 방법은:
    레이어들의 상기 세트의 비-축소된(non-reduced) 버전을 상기 멀티-레이어드 비디오 데이터 스트림(14)으로 인코드하고, 비디오 버전들은, 레이어 당(per) 하나 이상의 독립적으로 코드된 서브픽처들의 유닛들(units)에서 레이어들의 상기 세트의 비-축소된 버전으로 인코드하고,
    레이어들의 상기 세트의 상기 비-축소된 버전 디코딩하는 것과 관련된 레퍼런스 디코더 능력 요구사항(reference decoder capability requirement)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로 인코드하고;
    서브픽처 사이즈(subpicture size), 상기 개별적인 레이어의 상기 하나 이상의 독립적으로 코드된 서브픽처들의 각각에 대해, 및 레이어들의 상기 세트의 상기 비-축소된 버전의 상기 개별적인 레이어로 코드된 픽처들의 픽처 사이즈(picture size) 상에(on) 정보(22)를, 레이어들의 상기 세트의 각 레이어에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로 인코드하고;
    픽처 사이즈들(picture sizes)에 대한 합계에 의해 나뉜(divided) 레이어들의 상기 세트의 상기 개별적인 축소된 버전에 포함된 독립적으로 코드된 서브픽처들의 서브픽처 사이즈들에 대한 합계의 몫(quotient)을 사용하여 결정된(determined) 팩터(factor)에 의해 상기 레퍼런스 디코더 능력 요구사항을 스케일링 함으로써 레이어들의 상기 세트의 상기 개별적인 축소된 버전을 디코딩하는 것과 관련된 디코더 능력 요구사항(decoder capability requirement)(60)을, 적어도 하나의 레이어의 부분(portion)이 관련된 서브픽처가 제거된 레이어들의 상기 세트의 하나 이상의 축소된 버전들의 각각에 대해, 결정(determine)하는 것
    을 포함하는,
    방법.
  60. 비디오 버전들(video versions)은 레이어 당(per) 하나 이상 독립적으로 코드된 서브픽처들의 유닛들(units)에서 레이어들의 상기 세트의 비-축소된 버전으로 인코드되고, 상기 멀티-레이어드 비디오 데이터 스트림(14)은 레이어들에(thereinto) 인코드된 레이어들의 상기 세트의 상기 비-축소된 버전을 가지고, 레이어들의 세트를 포함하는 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특징 비디오 데이터 스트림(12)을 추출하기 위한 방법(40)에 있어서,
    상기 방법은:
    레이어들의 상기 세트의 상기 비-축소된 버전을 디코딩 하는 것과 관련된 레퍼런스 디코더 능력 요구사항을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 도출(derive)하고;
    상기 개별적인 레이어의 상기 하나 이상의 독립적으로 코드된 서브픽처들의 각각에 대해, 및 레이어들의 상기 세트의 상기 비-축소된 버전의 상기 개별적인 레이어로 코드된 픽처들의 픽처 사이즈(picture size) 상에(on) 정보(22), 레이어들의 상기 세트의 각 레이어에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 서브픽처 사이즈(subpicture size)를 도출하고;
    픽처 사이즈들(picture sizes)에 대한 합계에 의해 나뉜(divided) 레이어들의 상기 세트의 상기 미리 결정된 축소된 버전에서 포함된 독립적으로 코드된 서브픽처들의 서브픽처 사이즈들에 대한 합계의 몫(quotient)을 사용하여 결정된 팩터(factor)에 의해 상기 레퍼런스 디코더 능력 요구사항을 스케일링 함으로써 레이어들의 상기 세트의 상기 미리 결정된 축소된 버전을 디코딩하는 것과 관련된 디코더 능력 요구사항(decoder capability requirement)(60)을, 적어도 하나의 레이어의 부분과 관련된 서브픽처가 제거된(removed), 레이어들의 상기 세트의 미리 결정된 축소된 버전을 위해, 결정(determine)하는 것
    을 포함하는,
    방법.
  61. 복수의 레이어들(L0, L1)을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩하기 위한 방법(40)에 있어서,
    상기 방법은:
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는(unsubdivded) 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로, 비디오 픽처들(26)을, 상기 멀티-레이어들 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드하고,
    적어도 하나의 제2 레이어가 레이어 세트에 포함되고, 및 적어도 하나의 제1 레이어가 상기 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    적어도 하나의 제1 레이어에 기인한 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제1 프랙션(134) 및 적어도 하나의 제2 레이어에 기인한(attributed to) 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션(fraction)(132)에 관한(on) 정보(information)를, 레이어들의 상기 레이어 세트를 디코딩하기에 충분한(sufficient) 여러(several) 레퍼런스 디코더 능력 요구사항들(130)의 각각에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하는 것
    을 포함하는,
    방법.
  62. 하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들은 레이어들에(thereinto) 인코드된 비디오 픽처들(video pictures)을 가지고, 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 핸들링(handling)하기 위한 방법(10, 100)에 있어서,
    상기 방법은:
    적어도 하나의 제2 레이어는 레이어 세트에 포함되고, 및 적어도 제1 레이어는 상기 레이어 세트에 포함되는, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하고,
    적어도 하나의 제1 레이어에 기인한 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제1 프랙션(fraction) 및 적어도 하나의 제2 레이어에 기인한(attributed to) 상기 개별적인 레퍼런스 디코더 능력 요구사항의 제2 프랙션(fraction)에 관한(on) 정보(information)를, 레이어들의 상기 레이어 세트를 디코딩하기에 충분한(sufficient) 여러(several) 레퍼런스 디코더 능력 요구사항들의 각각에 대해, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 디코딩(decoding)하는 것
    을 포함하는,
    방법.
  63. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩하기 위한 방법(40)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로 비디오 픽처들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드하고,
    적어도 하나의 제1 레이어가 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    상기 레이어 세트를 위한 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter) 및, 상기 레이어 세트의 각 레이어에 대해 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 포함하는, 레이어들의 상기 레이어 세트의 비-축소된 버전을 디코드하는 것과 관련된 레퍼런스 디코더 능력 요구사항을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    상기 레이어 세트의 각 레이어에 대해 제3 디코더 능력 요구사항 파라미터(third decoder capability requirement parameter)를 획득하기위해 제1 프랙션(first fraction)을 사용하여 상기 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 스케일링, 및
    상기 레이어 세트의 상기 개별적인 축소된 버전을 위해 제4 디코더 능력 요구사항 파라미터(fourth decoder capability requirement parameter)를 획득하기 위해 제2 프랙션(second fraction)을 사용하여 상기 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter)를 스케일링 함으로써,
    레이어들의 상기 레이어 세트의 상기 개별적인 비-축소된 버전을 디코딩하는 것과 관련된 추가의(further) 레퍼런스 디코더 능력 요구사항 정보(reference decoder capability requirement information)를, 적어도 하나의 제1 레이어의 부분(portion)과 관련된(related) 서브픽처가 제거된(removed) 레이어들의 상기 레이어 세트의 하나 이상의 축소된 버전들 각각에 대해, 결정(determine)하는 것
    을 포함하는,
    방법.
  64. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)으로부터 서브픽처 특화 비디오 데이터 스트림(12)을 추출하기 위한 방법(10)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는(unsubdivided) 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들로 세분되는 방식으로, 비디오 픽처들이 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로 인코드되고,
    적어도 하나의 제1 레이어가 상기 레이어 세트에 포함되도록, 레이어들의 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하고,
    상기 레이어 세트를 위한 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter) 및, 상기 레이어 세트의 각 레이어에 대해 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 포함하는, 레이어들의 상기 레이어 세트의 비-축소된 버전을 디코드하는 것과 관련된 레퍼런스 디코더 능력 요구사항을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로부터, 디코드하고,
    상기 레이어 세트의 각 레이어에 대해 제3 디코더 능력 요구사항 파라미터(third decoder capability requirement parameter)를 획득하기위해 제1 프랙션(first fraction)을 사용하여 상기 제1 디코더 능력 요구사항 파라미터(first decoder capability requirement parameter)를 스케일링, 및
    상기 레이어 세트의 상기 미리 결정된 축소된 버전을 위해 제4 디코더 능력 요구사항 파라미터(fourth decoder capability requirement parameter)를 획득하기 위해 제2 프랙션(second fraction)을 사용하여 상기 제2 디코더 능력 요구사항 파라미터(second decoder capability requirement parameter)를 스케일링 함으로써,
    레이어들의 상기 레이어 세트의 상기 미리 결정된 비-축소된 버전을 디코딩하는 것과 관련된 추가의(further) 레퍼런스 디코더 능력 요구사항 정보(reference decoder capability requirement information)를, 적어도 하나의 제1 레이어의 부분(portion)과 관련된(related) 서브픽처가 제거된(removed) 레이어들의 상기 레이어 세트의 미리 결정된 축소된 버전을 위해, 결정(determine)하고
    제3 및 제4 디코더 능력 요구사항 파라미터들을 상기 서브픽처 특화 비디오 데이터 스트림(12)에 제공(provide) 및 적어도 하나의 제1 레이어의 부분과 관련된 상기 서브픽처를 제거(remove)함으로써 상기 멀티-레이어드 비디오 데이터 스트림(14)에 기초하여 상기 서브픽처 특화 비디오 데이터 스트림(12)을 형성(forming)하고,
    디코더에 의해 레이어들의 상기 레이어 세트의 상기 미리 결정된 비-축소된 버전을 디코딩하는 것과 관련된 상기 추가의(further) 레퍼런스 디코더 능력 요구사항 정보의 결정(determination)을 위해 상기 제1 및 제2 프랙션을 상기 서브픽처 특화 비디오 데이터 스트림(12)에 제공(provide), 및 적어도 하나의 제1 레이어의 부분과 관련된 상기 서브픽처를 제거(remove)함으로써, 상기 멀티-레이어드 비디오 데이터 스트림(14)에 기초하여 상기 서브픽처 특화 비디오 데이터 스트림(12)을 형성(forming)하는 것
    을 포함하는,
    방법.
  65. 복수의 레이어들을 포함하는 멀티-레이어드 비디오 데이터 스트림(14)을 인코딩 하기 위한 방법(40)에 있어서,
    하나 이상의 제2 레이어들(L0)에 관하여 세분되지 않는 방식으로, 및 하나 이상의 제1 레이어들(L1)에 관하여 독립적으로 코드된 서브픽처들(28)로 세분되는 방식으로 비디오 픽처들(260, 261)을, 상기 멀티-레이어드 비디오 데이터 스트림(14)의 상기 레이어들로, 인코드하고
    적어도 하나의 제1 레이어가 레이어 세트에 포함되도록, 레이어들의 상기 레이어 세트의 지시(indication)를, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 인코드하고,
    레이어들의 상기 레이어 세트를 디코딩하기에 충분한 하나 이상의 레퍼런스 디코더 능력 요구사항들을, 상기 멀티-레이어드 비디오 데이터 스트림(14)으로, 지시(indicate)하고,
    파라미터들의 미리 결정된 세트를 위해, 상기 개별적인 레퍼런스 디코더 능력 요구사항에 특정(specific)한, 제약들(constraints)이 충족(fulfill)되는지 여부, 상기 하나 이상의 레퍼런스 디코더 능력 요구사항들에 대해, 상기 개별적인 제1 레이어로 코드된 상기 서브픽처들의 각각에 대해, 상기 레이어 세트의 상기 제1 레이어들의 각각에 대해, 선택적으로(selectively), 체크(check)하는 것
    을 포함하는,
    방법.
  66. 비디오 데이터 스트림(20)을 디코딩하기 위한 방법(110)에 있어서,
    상기 하나 이상의 독립적으로 코드된 서브픽처들의 서라운딩(surrounding) 및 상기 하나 이상의 독립적으로 코드된 서브픽처들 사이에 코딩 독립성(coding independency)의 상이한(different) 타입들을 구별(discriminate)하는 상기 지시(indication)(80)를, 상기 비디오 데이터 스트림으로 인코드된 픽처들이 하나 이상의 독립적으로 코드된 서브픽처들(28)을 거쳐(by way of) 인코드 되는지를 지시하는(indicating) 지시(indication)(80)를, 상기 비디오 데이터 스트림으로부터, 디코드하는 것
    을 포함하는,
    방법.
  67. 비디오 데이터 스트림(121; 122)을 인코딩하기 위한 방법(40, 401, 402)에 있어서,
    상기 하나 이상의 독립적으로 코드된 서브픽처들의 서라운딩(surrounding) 및 상기 하나 이상의 독립적으로 코드된 서브픽처들(28) 사이에 코딩 독립성(coding independency)의 상이한(different) 타입들을 구별(discriminate)하는 상기 지시(indication)(80)를, 상기 비디오 데이터 스트림(121; 122)으로 인코드된 픽처들(261; 262)이 하나 이상의 독립적으로 코드된 서브픽처들(28)의 방법에 의해 인코드 되는지를 지시하는 지시(80)를, 상기 비디오 데이터 스트림(121; 122)으로, 인코드하는 것
    을 포함하는,
    방법.
  68. 신호 프로세서(signal processor) 또는 컴퓨터(computer)에서 실행(execute)될 때, 제53항 내지 제67항의 방법 중 어느 한 항을 구현(implement)하기 위한 컴퓨터 프로그램(computer program).
KR1020227045258A 2020-05-22 2021-05-20 서브픽처-관련 비디오 코딩 개념들 KR20230015447A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20176208 2020-05-22
EP20176208.5 2020-05-22
PCT/EP2021/063553 WO2021234125A1 (en) 2020-05-22 2021-05-20 Subpicture-related video coding concepts

Publications (1)

Publication Number Publication Date
KR20230015447A true KR20230015447A (ko) 2023-01-31

Family

ID=70977328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227045258A KR20230015447A (ko) 2020-05-22 2021-05-20 서브픽처-관련 비디오 코딩 개념들

Country Status (9)

Country Link
US (1) US20230199202A1 (ko)
EP (1) EP4154535A1 (ko)
JP (1) JP2023526460A (ko)
KR (1) KR20230015447A (ko)
CN (1) CN115868166A (ko)
AU (1) AU2021275492A1 (ko)
CA (1) CA3184462A1 (ko)
TW (1) TWI801882B (ko)
WO (1) WO2021234125A1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006108917A1 (en) * 2005-04-13 2006-10-19 Nokia Corporation Coding, storage and signalling of scalability information

Also Published As

Publication number Publication date
US20230199202A1 (en) 2023-06-22
TWI801882B (zh) 2023-05-11
JP2023526460A (ja) 2023-06-21
AU2021275492A1 (en) 2022-12-15
WO2021234125A1 (en) 2021-11-25
EP4154535A1 (en) 2023-03-29
CN115868166A (zh) 2023-03-28
TW202147848A (zh) 2021-12-16
CA3184462A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
US20210306646A1 (en) Efficient scalable coding concept
JP7485639B2 (ja) 効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプト
AU2020328402B2 (en) Image encoding/decoding method and apparatus for determining prediction mode of chroma block by referring to luma sample position, and method for transmitting bitstream
US20220174274A1 (en) Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream
AU2020407738B2 (en) Video signal processing method and device therefor
CN110651480B (zh) 生成视频数据流的装置以及生成视频数据流的方法
KR20230015447A (ko) 서브픽처-관련 비디오 코딩 개념들
TWI798714B (zh) 時間移動向量預測、層間參考及時間子層指示的視訊寫碼技術
CA3184357A1 (en) Processing of output layer sets of coded video

Legal Events

Date Code Title Description
A201 Request for examination