KR20220114558A - 비디오 코딩에서의 프로필, 티어 및 계층 표시 - Google Patents

비디오 코딩에서의 프로필, 티어 및 계층 표시 Download PDF

Info

Publication number
KR20220114558A
KR20220114558A KR1020227020497A KR20227020497A KR20220114558A KR 20220114558 A KR20220114558 A KR 20220114558A KR 1020227020497 A KR1020227020497 A KR 1020227020497A KR 20227020497 A KR20227020497 A KR 20227020497A KR 20220114558 A KR20220114558 A KR 20220114558A
Authority
KR
South Korea
Prior art keywords
video
bitstream
layer
vps
ols
Prior art date
Application number
KR1020227020497A
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 KR20220114558A publication Critical patent/KR20220114558A/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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

Abstract

비디오 프로세싱 방법은 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 여기서 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, OLS에 대한 프로필, 티어 및 레벨을 나타내는 프로필 티어 레벨(PTL) 신택스 구조가 비트스트림에 대한 비디오 파라미터 세트에 포함되고, OLS에 대한 PTL 신택스 구조가 또한 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 지정한다.

Description

비디오 코딩에서의 프로필, 티어 및 계층 표시
관련 출원들의 상호 참조
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙들에 따라, 본 출원은 2019년 12월 26일에 출원된 미국 가출원 제62/953,854호 및 2019년 12월 30일에 출원된 미국 가출원 제62/954,907호에 대한 우선권 및 그 이익을 적시에 주장하기 위해 이루어졌다. 법에 따른 모든 목적들을 위해, 앞서 언급된 출원들의 전체 개시는 본 출원의 개시의 일부로서 참고로 포함된다.
기술 분야
이 특허 문서는 이미지 및 비디오 코딩 및 디코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 많은 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
본 문서는 비디오 인코딩 또는 디코딩을 수행하기 위해 비디오 인코더들 및 디코더들에 의해 사용될 수 있는 기술들을 개시한다.
하나의 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 확장 가능한 비디오 계층을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다. 비디오는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함한다. 비트스트림은 포맷 규칙을 준수한다. 포맷 규칙은, 대응하는 네트워크 추상화 계층 유닛 유형이 미리 결정된 범위에 있고 대응하는 비디오 계층 플래그가 슬라이스에 대응하는 비디오 계층이 인터 계층 예측(inter-layer prediction)을 사용하지 않는다는 것을 나타내는 경우에, 슬라이스의 슬라이스 유형을 나타내는 필드의 값이 한 유형의 인트라 슬라이스를 나타내도록 설정된다는 것을 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 복수의 확장 가능한 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 여기서 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, OLS에 대한 프로필, 티어 및 레벨을 나타내는 프로필 티어 레벨(PTL) 신택스 구조가 비트스트림에 대한 비디오 파라미터 세트에 포함되고, OLS에 대한 PTL 신택스 구조가 또한 비트스트림에 코딩된 시퀀스 파라미터 세트에 포함된다는 것을 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 복수의 출력 계층 세트들(OLS들) - 이들 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 여기서 포맷 규칙은 비트스트림에 대한 비디오 파라미터 세트에서의 다수의 프로필 티어 레벨(PTL) 신택스 구조들의 출현과 비디오 파라미터 세트 내의 바이트 정렬 신택스 필드 사이의 관계를 지정하고; 여기서 각각의 PTL 신택스 구조는 복수의 OLS들 중 하나 이상의 OLS의 프로필, 티어 및 레벨을 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 복수의 확장 가능한 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 복수의 확장 가능한 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 인코딩 동안, 복수의 OLS들 중 하나 이상의 OLS의 프로필, 티어 및 레벨을 기술하는 신택스 구조에 대한 인덱스를 나타내는 신택스 요소가, 해당 인덱스의 값이 0인 경우에, 비트스트림에 대한 비디오 파라미터 세트로부터 배제되거나, 디코딩 동안, 비트스트림에 신택스 요소가 존재하지 않는 경우에 해당 값이 0인 것으로 추론된다는 것을 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 복수의 출력 계층 세트들(OLS들) - 이들 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 여기서 포맷 규칙은, 계층 i(단, i는 정수임)에 대해, 비트스트림이 계층 i가 복수의 OLS들 중 적어도 하나에 포함되는지 여부를 나타내는 제1 변수를 나타내는 제1 신택스 요소 세트를 포함한다는 것을 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트를 포함하고; 여기서 비트스트림은 포맷 규칙을 준수하며, 여기서 포맷 규칙은, 각각의 출력 계층 세트가 단일 비디오 계층을 포함하는 경우에, 비트스트림에 대한 비디오 파라미터 세트에 포함된 디코딩된 픽처 버퍼 파라미터 신택스 구조들의 수가 0과 동일하거나; 각각의 출력 계층 세트가 단일 계층을 포함한다는 것이 참이 아닌 경우에, 신택스 요소의 값에 1을 더한 값과 동일하다는 것을 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 하나 이상의 비디오 계층의 하나 이상의 코딩된 비디오 픽처를 포함하는 코딩된 비디오 시퀀스(CVS)를 포함하고; 여기서 비트스트림은 CVS의 하나 이상의 코딩된 픽처에 의해 참조되는 변환 파라미터들을 나타내는 하나 이상의 시퀀스 파라미터 세트(SPS)가 참조된 VPS를 나타내는 동일한 참조 비디오 파라미터 세트(VPS) 식별자를 갖는다는 것을 지정하는 포맷 규칙을 준수한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트(OLS)를 포함하고, 여기서 비트스트림은 포맷 규칙을 준수하며; 여기서 포맷 규칙은 가상 참조 디코더(HRD)의 파라미터들을 기술하는 제1 신택스 구조가 변환에 사용되는지 여부를 나타내는 제1 신택스 요소가 비트스트림의 비디오 파라미터 세트(VPS)에 포함되는지 여부 또는 어떻게 포함되는지를 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트(OLS)를 포함하고, 여기서 비트스트림은 포맷 규칙을 준수하며; 포맷 규칙은 일반 가상 참조 디코더(HRD) 파라미터들을 기술하는 제1 신택스 구조 및 OLS 특정 HRD 파라미터들을 기술하는 다수의 제2 신택스 구조들이 비트스트림에 대한 비디오 파라미터 세트(VPS)에 포함되는지 여부 또는 어떻게 포함되는지를 지정하는, 방법.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장되어 있는 컴퓨터 판독 가능 매체가 개시된다. 코드는 본 명세서에 설명된 방법들 중 하나를 프로세서 실행 가능 코드의 형태로 구체화한다.
또 다른 예시적인 양태에서, 위의 방법들 중 하나에 따라 생성되는 비트스트림을 컴퓨터 판독 가능 매체에 기입하기 위한 방법이 개시된다.
다른 예시적인 양태에서, 위에서 설명된 방법에 따라 생성되는 비디오의 비트스트림을 저장하는 컴퓨터 판독 가능 매체가 개시된다.
이들 및 다른 특징들이 본 문서 전체에 걸쳐 설명된다.
도 1은 본 개시의 일부 실시예들에 따른 비디오 코딩 시스템을 예시하는 블록 다이어그램이다.
도 2는 비디오 프로세싱에 사용되는 예시적인 하드웨어 플랫폼의 블록 다이어그램이다.
도 3은 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 4는 예시적인 비디오 코딩 시스템을 예시하는 블록 다이어그램이다.
도 5는 본 개시의 일부 실시예들에 따른 인코더를 예시하는 블록 다이어그램이다.
도 6은 본 개시의 일부 실시예들에 따른 디코더를 예시하는 블록 다이어그램이다.
도 7a 내지 도 7i는 다양한 비디오 프로세싱 방법 예들에 대한 플로차트이다.
섹션 표제들은 본 문서에서 이해의 편의를 위해 사용되며 각각의 섹션에 개시된 기술들 및 실시예들의 적용 가능성을 해당 섹션으로만 제한하지 않는다. 게다가, H.266 전문용어는 일부 설명에서 이해의 편의를 위해서만 사용되며 개시된 기술들의 범위를 제한하기 위해 사용되지 않는다. 이에 따라, 본 명세서에 설명된 기술들은 다른 비디오 코덱 프로토콜들 및 설계들에도 적용 가능하다.
1. 요약
이 문서는 비디오 코딩 기술들에 관한 것이다. 구체적으로, 이는 비디오 비트스트림이 둘 이상의 계층을 포함할 수 있는 확장 가능한 비디오 코딩에서의 다양한 개선들에 관한 것이다. 이 아이디어들은 다중 계층 비디오 코딩, 예를 들면, 개발 중인 다목적 비디오 코딩(VVC)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
2. 약어
APS Adaptation Parameter Set(적응 파라미터 세트)
AU Access Unit(액세스 유닛)
AUD Access Unit Delimiter(액세스 유닛 구분자)
AVC Advanced Video Coding(고급 비디오 코딩)
CLVS Coded Layer Video Sequence(코딩된 계층 비디오 시퀀스)
CPB Coded Picture Buffer(코딩된 픽처 버퍼)
CRA Clean Random Access(클린 랜덤 액세스)
CTU Coding Tree Unit(코딩 트리 유닛)
CVS Coded Video Sequence(코딩된 비디오 시퀀스)
DPB Decoded Picture Buffer(디코딩된 픽처 버퍼)
DPS Decoding Parameter Set(디코딩 파라미터 세트)
EOB End Of Bitstream(비트스트림 끝)
EOS End Of Sequence(시퀀스 끝)
GDR Gradual Decoding Refresh(점진적 디코딩 리프레시)
HEVC High Efficiency Video Coding(고효율 비디오 코딩)
HRD Hypothetical Reference Decoder(가상 참조 디코더)
IDR Instantaneous Decoding Refresh(순간 디코딩 리프레시)
JEM Joint Exploration Model(결합 탐색 모델)
MCTS Motion-Constrained Tile Sets(모션 제약 타일 세트)
NAL Network Abstraction Layer(네트워크 추상화 계층)
OLS Output Layer Set(출력 계층 세트)
PH Picture Header(픽처 헤더)
PPS Picture Parameter Set(픽처 파라미터 세트)
PTL Profile, Tier and Level(프로필, 티어 및 레벨)
PU Picture Unit(픽처 유닛)
RBSP Raw Byte Sequence Payload(원시 바이트 시퀀스 페이로드)
SEI Supplemental Enhancement Information(추가 개선 정보)
SPS Sequence Parameter Set(시퀀스 파라미터 세트)
SVC Scalable Video Coding(확장 가능한 비디오 코딩)
VCL Video Coding Layer(비디오 코딩 계층)
VPS Video Parameter Set(비디오 파라미터 세트)
VTM VVC Test Model(VVC 테스트 모델)
VUI Video Usability Information(비디오 사용성 정보)
VVC Versatile Video Coding(다목적 비디오 코딩)
3. 초기 논의
비디오 코딩 표준들은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 발전해 왔다. ITU-T는 H.261 및 H.263 표준들을 만들었고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual 표준들을 만들었으며, 두 조직은 공동으로 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC[1] 표준들을 만들었다. H.262 이후로, 비디오 코딩 표준들은 시간적 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이후의 미래 비디오 코딩 기술을 탐구하기 위해, 2015년에 VCEG와 MPEG에 의해 공동으로 JVET(Joint Video Exploration Team)가 설립되었다. 그 이후로, 많은 새로운 방법들이 JVET에 의해 채택되었고 JEM(Joint Exploration Model)[2]이라는 참조 소프트웨어에 추가되었다. JVET 회의는 분기마다 1회 동시에 개최되며, 새로운 코딩 표준은 HEVC에 비해 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(VVC)이라고 명명되었으며, 당시에 VVC 테스트 모델(VTM)의 첫 번째 버전이 발표되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에, 매번의 JVET 회의에서 새로운 코딩 기술들이 VVC 표준에 채택되고 있다. VVC 작업 초안과 테스트 모델 VTM은 이어서 매번의 회의 이후에 업데이트된다. VVC 프로젝트는 이제 2020년 7월 회의에서 기술적 완성(FDIS)을 목표로 하고 있다.
3.1. 확장 가능한 비디오 코딩(SVC) 일반
확장 가능한 비디오 코딩(SVC)은 때때로 참조 계층(RL)으로 지칭되는 베이스 계층(BL) 및 하나 이상의 확장 가능한 향상 계층(EL)이 사용되는 비디오 코딩을 지칭한다. SVC에서, 베이스 계층은 기본 품질 레벨로 비디오 데이터를 전달할 수 있다. 하나 이상의 향상 계층은, 예를 들어, 더 높은 공간적, 시간적, 및/또는 신호 대 잡음(SNR) 레벨들을 지원하기 위해 추가적인 비디오 데이터를 전달할 수 있다. 향상 계층들은 이전에 인코딩된 계층을 기준으로 정의될 수 있다. 예를 들어, 하부 계층은 BL로서 역할할 수 있는 반면, 상부 계층은 EL로서 역할할 수 있다. 중간 계층들은 EL들 또는 RL들 또는 양쪽 모두로서 역할할 수 있다. 예를 들어, 중간 계층(예를 들면, 최하위 계층도 아니고 최상위 계층도 아닌 계층)은, 베이스 계층 또는 임의의 개재하는 향상 계층들과 같은, 중간 계층 아래의 계층들에 대한 EL일 수 있으며, 동시에 중간 계층 위의 하나 이상의 향상 계층에 대한 RL로서 역할할 수 있다. 유사하게, HEVC 표준의 멀티뷰 또는 3D 확장에서는, 다수의 뷰들이 있을 수 있고, 하나의 뷰에 대한 정보가 다른 뷰에 대한 정보(예를 들면, 모션 추정, 모션 벡터 예측 및/또는 다른 중복성들)를 코딩(예를 들면, 인코딩 또는 디코딩)하는 데 활용될 수 있다.
SVC에서, 인코더 또는 디코더에 의해 사용되는 파라미터들은 이들이 활용될 수 있는 코딩 레벨(예를 들면, 비디오 레벨, 시퀀스 레벨, 픽처 레벨, 슬라이스 레벨 등)에 기초하여 파라미터 세트들로 그룹화된다. 예를 들어, 비트스트림에서 상이한 계층들의 하나 이상의 코딩된 비디오 시퀀스에 의해 활용될 수 있는 파라미터들은 비디오 파라미터 세트(VPS)에 포함될 수 있고, 코딩된 비디오 시퀀스에서의 하나 이상의 픽처들에 의해 활용되는 파라미터들은 시퀀스 파라미터 세트(SPS)에 포함될 수 있다. 유사하게, 픽처 내의 하나 이상의 슬라이스에 의해 활용되는 파라미터들은 픽처 파라미터 세트(PPS)에 포함될 수 있고, 단일 슬라이스에 특정적인 다른 파라미터들은 슬라이스 헤더에 포함될 수 있다. 유사하게, 임의의 주어진 시간에 특정 계층이 어떤 파라미터 세트(들)를 사용하고 있는지의 표시가 다양한 코딩 레벨들에서 제공될 수 있다.
3.2. 파라미터 세트들
AVC, HEVC, 및 VVC는 파라미터 세트들을 지정한다. 파라미터 세트들의 유형들은 SPS, PPS, APS, VPS, 및 DPS를 포함한다. SPS 및 PPS는 AVC, HEVC 및 VVC 모두에서 지원된다. VPS는 HEVC 이후 도입되었으며 HEVC와 VVC 양쪽 모두에 포함된다. APS 및 DPS가 AVC 또는 HEVC에는 포함되지 않았지만, 최신 VVC 초안 텍스트에는 포함된다.
SPS는 시퀀스 레벨 헤더 정보를 전달하도록 설계되었으며, PPS는 가끔 변하는 픽처 레벨 헤더 정보를 전달하도록 설계되었다. SPS 및 PPS를 사용하면, 가끔 변하는 정보가 각각의 시퀀스 또는 픽처마다 반복될 필요가 없으며, 따라서 이러한 정보의 중복 시그널링이 회피될 수 있다. 게다가, SPS 및 PPS를 사용하는 것은 중요한 헤더 정보의 대역 외 전송을 가능하게 하며, 따라서 중복 전송의 필요성을 회피할 뿐만 아니라 오류 복원력(error resilience)도 개선시킨다.
VPS는 다중 계층 비트스트림들에서의 모든 계층들에 공통인 시퀀스 레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는 코딩하는 데 꽤 많은 비트들을 필요로 하고, 다수의 픽처들에 의해 공유될 수 있으며, 차례로 상당히 많은 상이한 변형들이 있을 수 있는 픽처 레벨 또는 슬라이스 레벨 정보를 전달하기 위해 도입되었다.
DPS는 전체 비트스트림을 디코딩하는 데 필요한 최고 능력을 나타내는 비트스트림 레벨 정보를 전달하기 위해 도입되었다.
3.3. VVC에서의 VPS 신택스 및 시맨틱스
VVC는 다수의 계층들이 하나의 코딩된 비디오 비트스트림으로 인코딩될 수 있는, 확장 가능한 비디오 코딩이라고도 알려진, 확장성(scalability)을 지원한다.
최신 VVC 텍스트에서, 확장성 정보는 VPS에서 시그널링되며, 신택스 및 시맨틱스는 다음과 같다.
7.3.2.2 비디오 파라미터 세트 신택스
Figure pct00001
Figure pct00002
Figure pct00003
7.4.3.2 비디오 파라미터 세트 RBSP 시맨틱스
VPS RBSP는 참조되기 전에 디코딩 프로세스에서 이용 가능하거나, TemporalId가 0과 동일한 적어도 하나의 AU에 포함되거나 외부 수단을 통해 제공되어야 한다.
CVS에서의 vps_video_parameter_set_id의 특정 값을 갖는 모든 VPS NAL 유닛들은 동일한 내용을 가져야 한다.
vps_video_parameter_set_id는 다른 신택스 요소들에 의한 참조를 위해 VPS에 대한 식별자를 제공한다. vps_video_parameter_set_id의 값은 0보다 커야 한다.
vps_max_layers_minus1 + 1은 VPS를 참조하는 각각의 CVS에서의 최대 허용 계층 수를 지정한다.
vps_max_sublayers_minus1 + 1은 VPS를 참조하는 각각의 CVS에 존재할 수 있는 시간적 서브계층들의 최대 수를 지정한다. vps_max_sublayers_minus1의 값은 0 내지 6(경계 포함)의 범위에 있어야 한다.
vps_all_layers_same_num_sublayers_flag가 1과 동일한 것은 시간적 서브계층들의 수가 VPS를 참조하는 각각의 CVS에서의 모든 계층들에 대해 동일하다는 것을 지정한다. vps_all_layers_same_num_sublayers_flag가 0과 동일한 것은 VPS를 참조하는 각각의 CVS에서의 계층들이 동일한 수의 시간적 서브계층들을 가질 수 있거나 갖지 않을 수 있다는 것을 지정한다. 존재하지 않을 때, vps_all_layers_same_num_sublayers_flag의 값은 1과 동일한 것으로 추론된다.
vps_all_independent_layers_flag가 1과 동일한 것은 CVS에서의 모든 계층들이 인터 계층 예측을 사용하지 않고 독립적으로 코딩된다는 것을 지정한다. vps_all_independent_layers_flag가 0과 동일한 것은 CVS에서의 계층들 중 하나 이상이 인터 계층 예측을 사용할 수 있다는 것을 지정한다. 존재하지 않을 때, vps_all_independent_layers_flag의 값은 1과 동일한 것으로 추론된다. vps_all_independent_layers_flag가 1과 동일할 때, vps_independent_layer_flag[ i ]의 값은 1과 동일한 것으로 추론된다. vps_all_independent_layers_flag가 0과 동일할 때, vps_independent_layer_flag[ 0 ]의 값은 1과 동일한 것으로 추론된다.
vps_layer_id[ i ]는 i 번째 계층의 nuh_layer_id 값을 지정한다. 임의의 2 개의 음이 아닌 정수 값 m 및 n에 대해, m이 n보다 작을 때, vps_layer_id[ m ]의 값은 vps_layer_id[ n ]보다 작아야 한다.
vps_independent_layer_flag[ i ]가 1과 동일한 것은 인덱스 i를 갖는 계층이 인터 계층 예측을 사용하지 않다는 것을 지정한다. vps_independent_layer_flag[ i ]가 0과 동일한 것은 인덱스 i를 갖는 계층이 인터 계층 예측을 사용할 수 있고, 0 내지 i - 1(경계 포함)의 범위에 있는 j에 대한 신택스 요소들 vps_direct_ref_layer_flag[ i ][ j ]가 VPS에 존재한다는 것을 지정한다. 존재하지 않을 때, vps_independent_layer_flag[ i ]의 값은 1과 동일한 것으로 추론된다.
vps_direct_ref_layer_flag[ i ][ j ]가 0과 동일한 것은 인덱스 j를 갖는 계층이 인덱스 i를 갖는 계층에 대한 직접 참조 계층이 아니라는 것을 지정한다. vps_direct_ref_layer_flag[ i ][ j ]가 1과 동일한 것은 인덱스 j를 갖는 계층이 인덱스 i를 갖는 계층에 대한 직접 참조 계층이라는 것을 지정한다. 0 내지 vps_max_layers_minus1(경계 포함)의 범위에 있는 i 및 j에 대해 vps_direct_ref_layer_flag[ i ][ j ]가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다. vps_independent_layer_flag[ i ]가 0과 동일할 때, vps_direct_ref_layer_flag[ i ][ j ]의 값이 1과 동일하도록, j의 적어도 하나의 값이 0 내지 i - 1(경계 포함)의 범위에 있어야 한다.
변수들 NumDirectRefLayers[ i ], DirectRefLayerIdx[ i ][ d ], NumRefLayers[ i ], RefLayerIdx[ i ][ r ], 및 LayerUsedAsRefLayerFlag[ j ]는 다음과 같이 도출된다:
Figure pct00004
Figure pct00005
nuh_layer_id가 vps_layer_id[ i ]와 동일한 계층의 계층 인덱스를 지정하는 변수 GeneralLayerIdx[ i ]는 다음과 같이 도출된다:
Figure pct00006
each_layer_is_an_ols_flag가 1과 동일한 것은 각각의 출력 계층 세트가 하나의 계층만을 포함하고 비트스트림에서의 각각의 계층 자체가 출력 계층 세트이며 단일의 포함된 계층이 유일한 출력 계층이라는 것을 지정한다. each_layer_is_an_ols_flag가 0과 동일한 것은 출력 계층 세트가 둘 이상의 계층을 포함할 수 있다는 것을 지정한다. vps_max_layers_minus1이 0과 동일한 경우, each_layer_is_an_ols_flag 값은 1과 동일한 것으로 추론된다. 그렇지 않고, vps_all_independent_layers_flag가 0과 동일할 때, each_layer_is_an_ols_flag의 값은 0과 동일한 것으로 추론된다.
ols_mode_idc가 0과 동일한 것은 VPS에 의해 지정되는 OLS들의 총수가 vps_max_layers_minus1 + 1과 동일하고, i 번째 OLS가 0 내지 i(경계 포함)의 계층 인덱스들을 갖는 계층들을 포함하며, 각각의 OLS에 대해 OLS에서의 최상위 계층만이 출력된다는 것을 지정한다.
ols_mode_idc가 1과 동일한 것은 VPS에 의해 지정되는 OLS들의 총수가 vps_max_layers_minus1 + 1과 동일하고, i 번째 OLS가 0 내지 i(경계 포함)의 계층 인덱스들을 갖는 계층들을 포함하며, 각각의 OLS에 대해 OLS에서의 모든 계층들이 출력된다는 것을 지정한다.
ols_mode_idc가 2와 동일한 것은 VPS에 의해 지정되는 OLS들의 총수가 명시적으로 시그널링되고 각각의 OLS에 대해 출력 계층들이 명시적으로 시그널링되며 다른 계층들이 OLS의 출력 계층들의 직접 또는 간접 참조 계층들인 계층들이라는 것을 지정한다.
ols_mode_idc의 값은 0 내지 2(경계 포함)의 범위에 있어야 한다. ols_mode_idc의 값 3은 ITU-T | ISO/IEC에 의해 향후 사용을 위해 예약되어 있다.
vps_all_independent_layers_flag가 1과 동일하고 each_layer_is_an_ols_flag가 0과 동일할 때, ols_mode_idc의 값은 2와 동일한 것으로 추론된다.
num_output_layer_sets_minus1 + 1은 ols_mode_idc가 2와 동일할 때 VPS에 의해 지정되는 OLS들의 총수를 지정한다.
VPS에 의해 지정되는 OLS들의 총수를 지정하는 변수 TotalNumOlss는 다음과 같이 도출된다:
Figure pct00007
ols_output_layer_flag[ i ][ j ]가 1과 동일한 것은 ols_mode_idc가 2와 동일할 때 nuh_layer_id가 vps_layer_id[ j ]와 동일한 계층이 i 번째 OLS의 출력 계층이라는 것을 지정한다. ols_output_layer_flag[ i ][ j ]가 0과 동일한 것은 ols_mode_idc가 2와 동일할 때 nuh_layer_id가 vps_layer_id[ j ]와 동일한 계층이 i 번째 OLS의 출력 계층이 아니라는 것을 지정한다.
i 번째 OLS에서의 출력 계층들의 수를 지정하는 변수 NumOutputLayersInOls[ i ] 및 i 번째 OLS에서의 j 번째 출력 계층의 nuh_layer_id 값을 지정하는 변수 OutputLayerIdInOls[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00008
Figure pct00009
각각의 OLS에 대해, 출력 계층인 계층이 적어도 하나 있어야 한다. 환언하면, 0 내지 TotalNumOlss - 1(경계 포함)의 범위에 있는 i의 임의의 값에 대해, NumOutputLayersInOls[ i ]의 값은 1보다 크거나 같아야 한다.
i 번째 OLS에서의 계층들의 수를 지정하는 변수 NumLayersInOls[ i ], 및 i 번째 OLS에서의 j 번째 계층의 nuh_layer_id 값을 지정하는 변수 LayerIdInOls[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00010
Figure pct00011
비고 1 - 0 번째 OLS는 최하위 계층(즉, nuh_layer_id가 vps_layer_id[ 0 ]과 동일한 계층)만을 포함하고, 0 번째 OLS에 대해, 유일한 포함된 계층이 출력된다.
nuh_layer_id가 LayerIdInOls[ i ][ j ]와 동일한 계층의 OLS 계층 인덱스를 지정하는 변수 OlsLayeIdx[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00012
각각의 OLS에서의 최하위 계층은 독립적 계층이어야 한다. 환언하면, 0 내지 TotalNumOlss - 1(경계 포함)의 범위에 있는 각각의 i에 대해, vps_independent_layer_flag[ GeneralLayerIdx[ LayerIdInOls[ i ][ 0 ] ] ]의 값은 1과 동일해야 한다.
각각의 계층은 VPS에 의해 지정되는 적어도 하나의 OLS에 포함되어야 한다. 환언하면, 0 내지 vps_max_layers_minus1(경계 포함)의 범위에 있는 k에 대해 vps_layer_id[ k ] 중 하나와 동일한 nuh_layer_id의 특정 값 nuhLayerId를 갖는 각각의 계층에 대해, 적어도 한 쌍의 i 및 j 값이 있어야 하며, 여기서, LayerIdInOls[ i ][ j ]의 값이 nuhLayerId와 동일하도록, i는 0 내지 TotalNumOlss - 1(경계 포함)의 범위에 있고 j는 NumLayersInOls[ i ] - 1(경계 포함)의 범위에 있다.
vps_num_ptls는 VPS에서의 profile_tier_level( ) 신택스 구조들의 수를 지정한다.
pt_present_flag[ i ]가 1과 동일한 것은 프로필, 티어, 및 일반 제약들 정보가 VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 존재한다는 것을 지정한다. pt_present_flag[ i ]가 0과 동일한 것은 프로필, 티어, 및 일반 제약들 정보가 VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 존재하지 않는다는 것을 지정한다. pt_present_flag[ 0 ]의 값은 0과 동일한 것으로 추론된다. pt_present_flag[ i ]가 0과 동일할 때, VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 대한 프로필, 티어, 및 일반 제약들 정보는 VPS에서의 ( i - 1 )번째 profile_tier_level( ) 신택스 구조에 대한 것과 동일한 것으로 추론된다.
ptl_max_temporal_id[ i ]는 레벨 정보가 VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 존재하는 최상위 서브계층 표현의 TemporalId를 지정한다. ptl_max_temporal_id[ i ]의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다. vps_max_sublayers_minus1이 0과 동일할 때, ptl_max_temporal_id[ i ]의 값은 0과 동일한 것으로 추론된다. vps_max_sublayers_minus1이 0보다 크고 vps_all_layers_same_num_sublayers_flag가 1과 동일할 때, ptl_max_temporal_id[ i ]의 값은 vps_max_sublayers_minus1과 동일한 것으로 추론된다.
vps_ptl_byte_alignment_zero_bit는 0과 동일해야 한다.
ols_ptl_idx[ i ]는 i 번째 OLS에 적용되는 profile_tier_level( ) 신택스 구조의, VPS에서의 profile_tier_level( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, ols_ptl_idx[ i ]의 값은 0 내지 vps_num_ptls - 1(경계 포함)의 범위에 있어야 한다.
NumLayersInOls[ i ]가 1과 동일할 때, i 번째 OLS에 적용되는 profile_tier_level( ) 신택스 구조는 i 번째 OLS에서의 계층에 의해 참조되는 SPS에 존재한다.
vps_num_dpb_params는 VPS에서의 dpb_parameters( ) 신택스 구조들의 수를 지정한다. vps_num_dpb_params의 값은 0 내지 16(경계 포함)의 범위에 있어야 한다. 존재하지 않을 때, vps_num_dpb_params의 값은 0과 동일한 것으로 추론된다.
same_dpb_size_output_or_nonoutput_flag가 1과 동일한 것은 VPS에 layer_nonoutput_dpb_params_idx[ i ] 신택스 요소가 존재하지 않는다는 것을 지정한다. same_dpb_size_output_or_nonoutput_flag가 0과 동일한 것은 VPS에 layer_nonoutput_dpb_params_idx[ i ] 신택스 요소가 존재할 수 있거나 존재하지 않을 수 있다는 것을 지정한다.
vps_sublayer_dpb_params_present_flag는 VPS에서의 dpb_parameters( ) 신택스 구조 내의 max_dec_pic_buffering_minus1[ ], max_num_reorder_pics[ ], 및 max_latency_increase_plus1[ ] 신택스 요소들의 존재를 제어하는 데 사용된다. 존재하지 않을 때, vps_sub_dpb_params_info_present_flag는 0과 동일한 것으로 추론된다.
dpb_size_only_flag[ i ]가 1과 동일한 것은 max_num_reorder_pics[ ] 및 max_latency_increase_plus1[ ] 신택스 요소들이 VPS에서의 i 번째 dpb_parameters( ) 신택스 구조들에 존재하지 않는다는 것을 지정한다. dpb_size_only_flag[ i ]가 1과 동일한 것은 max_num_reorder_pics[ ] 및 max_latency_increase_plus1[ ] 신택스 요소들이 VPS에서의 i 번째 dpb_parameters( ) 신택스 구조들에 존재할 수 있다는 것을 지정한다.
dpb_max_temporal_id[ i ]는 DPB 파라미터들이 VPS에서의 i 번째 dpb_parameters( ) 신택스 구조에 존재할 수 있는 최상위 서브계층 표현의 TemporalId를 지정한다. dpb_max_temporal_id[ i ]의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다. vps_max_sublayers_minus1이 0과 동일할 때, dpb_max_temporal_id[ i ]의 값은 0과 동일한 것으로 추론된다. vps_max_sublayers_minus1이 0보다 크고 vps_all_layers_same_num_sublayers_flag가 1과 동일할 때, dpb_max_temporal_id[ i ]의 값은 vps_max_sublayers_minus1과 동일한 것으로 추론된다.
layer_output_dpb_params_idx[ i ]는 i 번째 계층이 OLS에서의 출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조의, VPS에서의 dpb_parameters( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, layer_output_dpb_params_idx[ i ]의 값은 0 내지 vps_num_dpb_params - 1(경계 포함)의 범위에 있어야 한다.
vps_independent_layer_flag[ i ]가 1과 동일한 경우, i 번째 계층이 출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조는 해당 계층에 의해 참조되는 SPS에 존재하는 dpb_parameters( ) 신택스 구조이다.
그렇지 않은 경우(vps_independent_layer_flag[ i ]가 0과 동일한 경우), 다음이 적용된다:
- vps_num_dpb_params가 1과 동일할 때, layer_output_dpb_params_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
- layer_output_dpb_params_idx[ i ]의 값이 dpb_size_only_flag[ layer_output_dpb_params_idx[ i ] ]가 0과 동일하도록 해야 한다는 것이 비트스트림 적합성의 요구사항이다.
layer_nonoutput_dpb_params_idx[ i ]는 i 번째 계층이 OLS에서의 비출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조의, VPS에서의 dpb_parameters( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, layer_nonoutput_dpb_params_idx[ i ]의 값은 0 내지 vps_num_dpb_params - 1(경계 포함)의 범위에 있어야 한다.
same_dpb_size_output_or_nonoutput_flag가 1과 동일한 경우, 다음이 적용된다:
- vps_independent_layer_flag[ i ]가 1과 동일한 경우, i 번째 계층이 비출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조는 해당 계층에 의해 참조되는 SPS에 존재하는 dpb_parameters( ) 신택스 구조이다.
- 그렇지 않은 경우(vps_independent_layer_flag[ i ]가 0과 동일한 경우), layer_nonoutput_dpb_params_idx[ i ]의 값은 layer_output_dpb_params_idx[ i ]와 동일한 것으로 추론된다.
그렇지 않은 경우(same_dpb_size_output_or_nonoutput_flag가 0과 동일한 경우), vps_num_dpb_params가 1과 동일할 때, layer_output_dpb_params_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
vps_general_hrd_params_present_flag가 1과 동일한 것은 신택스 구조 general_hrd_parameters( ) 및 다른 HRD 파라미터들이 VPS RBSP 신택스 구조에 존재한다는 것을 지정한다. vps_general_hrd_params_present_flag가 0과 동일한 것은 신택스 구조 general_hrd_parameters( ) 및 다른 HRD 파라미터들이 VPS RBSP 신택스 구조에 존재하지 않는다는 것을 지정한다.
vps_sublayer_cpb_params_present_flag가 1과 동일한 것은 VPS에서의 i 번째 ols_hrd_parameters( ) 신택스 구조가 0 내지 hrd_max_tid[ i ](경계 포함)의 범위에 있는 TemporalId를 갖는 서브계층 표현들에 대한 HRD 파라미터들을 포함한다는 것을 지정한다. vps_sublayer_cpb_params_present_flag가 0과 동일한 것은 VPS에서의 i 번째 ols_hrd_parameters( ) 신택스 구조가 hrd_max_tid[ i ]와만 동일한 TemporalId를 갖는 서브계층 표현에 대한 HRD 파라미터들을 포함한다는 것을 지정한다. vps_max_sublayers_minus1이 0과 동일할 때, vps_sublayer_cpb_params_present_flag의 값은 0과 동일한 것으로 추론된다.
vps_sublayer_cpb_params_present_flag가 0과 동일할 때, 0 내지 hrd_max_tid[ i ] - 1(경계 포함)의 범위에 있는 TemporalId를 갖는 서브계층 표현들에 대한 HRD 파라미터들은 hrd_max_tid[ i ]와 동일한 TemporalId를 갖는 서브계층 표현에 대한 것과 동일한 것으로 추론된다. 이들은 fixed_pic_rate_general_flag[ i ] 신택스 요소로부터 시작하여 ols_hrd_parameters 신택스 구조에서의 "if( general_vcl_hrd_params_present_flag )" 조건 바로 아래의 sublayer_hrd_parameters( i ) 신택스 구조까지의 HRD 파라미터들을 포함한다.
num_ols_hrd_params_minus1 + 1은 general_hrd_parameters( ) 신택스 구조에 존재하는 ols_hrd_parameters( ) 신택스 구조들의 수를 지정한다. num_ols_hrd_params_minus1의 값은 0 내지 63(경계 포함)의 범위에 있어야 한다. TotalNumOlss가 1보다 클 때, num_ols_hrd_params_minus1의 값은 0과 동일한 것으로 추론된다.
hrd_max_tid[ i ]는 HRD 파라미터들이 i 번째 ols_hrd_parameters( ) 신택스 구조에 포함되는 최상위 서브계층 표현의 TemporalId를 지정한다. hrd_max_tid[ i ]의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다. vps_max_sublayers_minus1이 0과 동일할 때, hrd_max_tid[ i ]의 값은 0과 동일한 것으로 추론된다.
ols_hrd_idx[ i ]는 i 번째 OLS에 적용되는 ols_hrd_parameters( ) 신택스 구조의 인덱스를 지정한다. ols_hrd_idx[[ i ]의 값은 0 내지 num_ols_hrd_params_minus1(경계 포함)의 범위에 있어야 한다. 존재하지 않을 때, ols_hrd_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
vps_extension_flag가 0과 동일한 것은 vps_extension_data_flag 신택스 요소들이 VPS RBSP 신택스 구조에 존재하지 않는다는 것을 지정한다. vps_extension_flag가 1과 동일한 것은 vps_extension_data_flag 신택스 요소들이 VPS RBSP 신택스 구조에 존재한다는 것을 지정한다.
vps_extension_data_flag는 임의의 값을 가질 수 있다. 그것의 존재와 값은 본 명세서의 이 버전에서 지정되는 프로필들에 대한 디코더 적합성에 영향을 미치지 않는다. 본 명세서의 이 버전에 부합하는 디코더들은 모든 vps_extension_data_flag 신택스 요소들을 무시해야 한다.
3.4. VVC에서의 SPS 신택스 및 시맨틱스
JVET-P2001-v14에서의 최신 VVC 초안 텍스트에서, 본 발명과 가장 관련성 있는 SPS 신택스 및 시맨틱스는 다음과 같다.
7.3.2.3 시퀀스 파라미터 세트 RBSP 신택스
Figure pct00013
7.4.3.3 시퀀스 파라미터 세트 RBSP 시맨틱스
SPS RBSP는 참조되기 전에 디코딩 프로세스에서 이용 가능하거나, TemporalId가 0과 동일한 적어도 하나의 AU에 포함되거나 외부 수단을 통해 제공되어야 한다.
CVS에서의 sps_seq_parameter_set_id의 특정 값을 갖는 모든 SPS NAL 유닛들은 동일한 내용을 가져야 한다.
sps_decoding_parameter_set_id는, 0보다 클 때, SPS에 의해 참조되는 DPS에 대한 dps_decoding_parameter_set_id의 값을 지정한다. sps_decoding_parameter_set_id가 0과 동일할 때, SPS는 DPS를 참조하지 않고 SPS를 참조하는 각각의 CLVS를 디코딩할 때 DPS가 참조되지 않는다. sps_decoding_parameter_set_id의 값은 비트스트림에서의 코딩된 픽처들에 의해 참조되는 모든 SPS들에서 동일해야 한다.
sps_video_parameter_set_id는, 0보다 클 때, SPS에 의해 참조되는 VPS에 대한 vps_video_parameter_set_id의 값을 지정한다.
sps_video_parameter_set_id가 0과 동일할 때, 다음이 적용된다:
- SPS는 VPS를 참조하지 않는다.
- SPS를 참조하는 각각의 CLVS를 디코딩할 때 VPS가 참조되지 않는다.
- vps_max_layers_minus1의 값은 0과 동일한 것으로 추론된다.
- CVS는 하나의 계층만을 포함해야 한다(즉, CVS에서의 모든 VCL NAL 유닛은 동일한 nuh_layer_id 값을 가져야 한다).
- GeneralLayerIdx[ nuh_layer_id ]의 값은 0과 동일한 것으로 추론된다.
- vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]의 값은 1과 동일한 것으로 추론된다.
vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일할 때, 특정 nuh_layer_id 값 nuhLayerId를 갖는 CLVS에 의해 참조되는 SPS는 nuhLayerId와 동일한 nuh_layer_id를 가져야 한다.
sps_max_sublayers_minus1 + 1은 SPS를 참조하는 각각의 CLVS에 존재할 수 있는 시간적 서브계층들의 최대 수를 지정한다. sps_max_sublayers_minus1의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다.
sps_reserved_zero_4bits는 본 명세서의 이 버전에 부합하는 비트스트림들에서 0과 동일해야 한다. sps_reserved_zero_4bits에 대한 다른 값들은 ITU-T | ISO/IEC에 의해 향후 사용을 위해 예약되어 있다.
sps_ptl_dpb_hrd_params_present_flag가 1과 동일한 것은 profile_tier_level( ) 신택스 구조 및 dpb_parameters( ) 신택스 구조들이 SPS에 존재하고, general_hrd_parameters( ) 신택스 구조 및 ols_hrd_parameters( ) 신택스 구조가 또한 SPS에 존재할 수 있다는 것을 지정한다. sps_ptl_dpb_hrd_params_present_flag가 0과 동일한 것은 이러한 신택스 구조들 중 어느 것도 SPS에 존재하지 않는다는 것을 지정한다. sps_ptl_dpb_hrd_params_present_flag의 값은 vps_independent_layer_flag[ nuh_layer_id ]와 동일해야 한다.
vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일한 경우, 변수 MaxDecPicBuffMinus1은 SPS에서의 dpb_parameters( ) 신택스 구조 내의 max_dec_pic_buffering_minus1[ sps_max_sublayers_minus1 ]과 동일하게 설정된다. 그렇지 않은 경우, MaxDecPicBuffMinus1은 VPS에서의 layer_nonoutput_dpb_params_idx[ GeneralLayerIdx[ nuh_layer_id ] ]-th dpb_parameters( ) 신택스 구조 내의 max_dec_pic_buffering_minus1[ sps_max_sublayers_minus1 ]과 동일하게 설정된다.
3.5. VVC에서의 슬라이스 헤더 신택스 및 시맨틱스
JVET-P2001-v14에서의 최신 VVC 초안 텍스트에서, 본 발명과 가장 관련성 있는 슬라이스 헤더 신택스 및 시맨틱스는 다음과 같다.
7.3.7.1 일반 슬라이스 헤더 신택스
Figure pct00014
7.4.8.1 일반 슬라이스 헤더 시맨틱스
slice_type은 표 9에 따라 슬라이스의 코딩 유형을 지정한다.
Figure pct00015
nal_unit_type이 IDR_W_RADL 내지 CRA_NUT(경계 포함)의 범위에 있는 nal_unit_type의 값이고 현재 픽처가 액세스 유닛에서의 첫 번째 픽처일 때, slice_type은 2와 동일해야 한다.
4. 설명된 기술적 해결책들에 의해 해결되는 기술적 문제들
VVC에서의 기존의 확장성 설계는 다음과 같은 문제들이 있다:
1) 최신 VVC 초안 텍스트는 slice_type에 대한 다음과 같은 제약을 포함한다:
nal_unit_type이 IDR_W_RADL 내지 CRA_NUT(경계 포함)의 범위에 있는 nal_unit_type의 값이고 현재 픽처가 AU에서의 첫 번째 픽처일 때, slice_type은 2와 동일해야 한다.
슬라이스에 대해 slice_type의 값이 2와 동일한 것은 슬라이스가 참조 픽처로부터의 인터 예측을 사용하지 않고 인트라 코딩된다는 것을 의미한다.
그렇지만, AU에서, IRAP 픽처인 AU에서의 첫 번째 픽처는 인트라 코딩된 슬라이스들만을 포함할 필요가 있을 뿐만 아니라, 모든 독립적 계층들에서의 모든 IRAP 픽처들이 인트라 코딩된 슬라이스들만을 포함할 필요가 있다. 따라서, 위의 제약은 업데이트될 필요가 있다.
2) 신택스 요소 ols_ptl_idx[ i ]가 존재하지 않을 때, 해당 값이 여전히 사용될 필요가 있다. 그렇지만, ols_ptl_idx[ i ]가 존재하지 않을 때 그의 값에 대한 추론이 없다.
3) OLS들 중 어느 것에서도 i 번째 계층이 출력 계층으로서 사용되지 않을 때 신택스 요소 layer_output_dpb_params_idx[ i ]의 시그널링이 필요하지 않다.
4) 신택스 요소 vps_num_dpb_params의 값은 0과 동일할 수 있다. 그렇지만, vps_all_independent_layers_flag가 0과 동일할 때 VPS에 적어도 하나의 dpb_parameters( ) 신택스 구조가 있을 필요가 있다.
5) 최신 VVC 초안 텍스트에서, 하나의 계층만을 포함하는 OLS들에 대한 PTL 정보 - 그러한 계층은 임의의 다른 계층을 참조하지 않고 독립적으로 코딩된 계층임 - 는 SPS에서만 시그널링된다. 그렇지만, 세션 협상 목적을 위해 비트스트림에서의 모든 OLS들에 대한 PTL 정보를 VPS에서 시그널링하는 것이 바람직할 것이다.
6) VPS에서 시그널링되는 PTL 신택스 구조들의 수가 0일 때 vps_ptl_byte_alignment_zero_bit 신택스 요소가 시그널링되는 것이 불필요하다.
7) sps_video_parameter_set_id의 시맨틱스에는, 다음과 같은 제약이 있다:
sps_video_parameter_set_id가 0과 동일할 때, CVS는 하나의 계층만을 포함해야 한다(즉, CVS에서의 모든 VCL NAL 유닛은 동일한 nuh_layer_id 값을 가져야 한다).
그렇지만, 이 제약은 VPS를 참조하지 않는 독립적 계층이 다중 계층 비트스트림에 포함되도록 허용하지 않는다. sps_video_parameter_set_id가 0과 동일한 것은 SPS(및 계층)가 VPS를 참조하지 않는다는 것을 의미한다.
8) each_layer_is_an_ols_flag가 1과 동일할 때 vps_general_hrd_params_present_flag의 값은 1과 동일할 수 있다. 그렇지만, each_layer_is_an_ols_flag가 1과 동일할 때, HRD 파라미터들은 SPS들에서만 시그널링되며, 따라서 vps_general_hrd_params_present_flag의 값은 1과 동일하지 않아야 한다. 일부 경우에, VPS에서 0 개의 old_hrd_parameters( ) 신택스 구조를 시그널링하면서 general_hrd_parameter( ) 신택스 구조를 시그널링하는 것은 타당하지 않을 수 있다.
9) 하나의 계층만을 포함하는 OLS들에 대한 HRD 파라미터들은 VPS와 SPS들 양쪽 모두에서 시그널링된다. 그렇지만, 하나의 계층만을 포함하는 OLS들에 대해 VPS에서 HRD 파라미터들을 반복하는 것은 유용하지 않다.
5. 예시적인 실시예들 및 기술들
위의 문제들 및 다른 문제들을 해결하기 위해, 아래에 요약된 바와 같은 방법들이 개시된다. 본 발명들은 일반적인 개념을 설명하기 위한 예로서 간주되어야 하며 좁은 의미로 해석되어서는 안된다. 게다가, 이러한 발명들은 개별적으로 적용될 수 있거나 임의의 방식으로 조합될 수 있다.
1) 첫 번째 문제를 해결하기 위해, 이하의 제약이 지정된다:
nal_unit_type이 IDR_W_RADL 내지 CRA_NUT(경계 포함)의 범위에 있고 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일할 때, slice_type은 2와 동일해야 한다.
2) 두 번째 문제를 해결하기 위해, i의 가능한 값의 각각의 값에 대해, 신택스 요소가 존재하지 않을 때 ols_ptl_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
3) 세 번째 문제를 해결하기 위해, 변수 LayerUsedAsOutputLayerFlag[ i ]가 어떤 OLS에서든 i 번째 계층이 출력 계층으로서 사용되는지 여부를 나타내도록 지정되고, 이 변수가 0과 동일할 때, 변수 layer_output_dpb_params_idx[ i ]의 시그널링이 회피된다.
a. 게다가, 이하의 제약이 추가적으로 지정될 수 있다: 0 내지 vps_max_layers_minus1(경계 포함)의 범위에 있는 i의 각각의 값에 대해, LayerUsedAsRefLayerFlag[ i ] 및 LayerUsedAsOutputLayerFlag[ i ]의 값들은 양쪽 모두 0과 동일하지 않아야 한다. 환언하면, 임의의 다른 계층의 직접 참조 계층도 아니고 적어도 하나의 OLS의 출력 계층도 아닌 계층이 없어야 한다.
4) 네 번째 문제를 해결하기 위해, vps_num_dpb_params를 vps_num_dpb_params_minus1로 변경하고, VpsNumDpbParams를 다음과 같이 지정한다:
Figure pct00016
그리고 신택스 조건들 및 시맨틱스에서의 vps_num_dpb_params의 사용을 VpsNumDpbParams로 대체한다.
a. 게다가, 이하의 제약이 추가적으로 지정된다: 존재하지 않을 때, same_dpb_size_output_or_nonoutput_flag의 값은 1과 동일한 것으로 추론된다.
5) 다섯 번째 문제를 해결하기 위해, 세션 협상 목적을 위해 하나의 계층만을 포함하는 OLS들에 대한 PTL 정보를 VPS에서 반복하는 것을 허용한다. 이것은 vps_num_ptls를 vps_num_ptls_minus1로 변경하는 것에 의해 실현될 수 있다.
a. 대안적으로, vps_num_ptls를 유지하지만(이를 vps_num_ptls_minus1이 되도록 하지 않음), ols_ptl_idx[ i ]에 대한 신택스 조건으로부터 "NumLayersInOls[ i ] > 1 && "를 제거한다.
a. 대안적으로, vps_num_ptls를 유지하지만(이를 vps_num_ptls_minus1이 되도록 하지 않고), vps_num_ptls가 "if( !each_layer_is_an_ols_flag )", 또는 "if( vps_max_layers_minus1 > 0 && !vps_all_independent_layers_flag"을 조건으로 하도록 한다.
b. 대안적으로, 또한 하나의 계층만을 포함하는 OLS들에 대해 DPB 파라미터들 정보(DPB 크기만 또는 모든 DPB 파라미터들)를 VPS에서 반복하는 것을 허용한다.
6) 여섯 번째 문제를 해결하기 위해, VPS에서 시그널링되는 PTL 신택스 구조들의 수가 0인 한, vps_ptl_byte_alignment_zero_bit 신택스 요소는 시그널링되지 않는다. 이것은 vps_ptl_byte_alignment_zero_bit가 추가적으로 "if( vps_num_ptls > 0 )"을 조건으로 하도록 하는 것에 의해 또는 vps_num_ptls를 vps_num_ptls_minus1로 변경하는 것에 의해 실현될 수 있으며, 이는 VPS에서 시그널링되는 PTL 신택스 구조들의 수가 0과 동일하도록 사실상 허용하지 않는다.
7) 일곱 번째 문제를 해결하기 위해, 이하의 제약을 제거한다:
sps_video_parameter_set_id가 0과 동일할 때, CVS는 하나의 계층만을 포함해야 한다(즉, CVS에서의 모든 VCL NAL 유닛은 동일한 nuh_layer_id 값을 가져야 한다).
그리고 이하의 제약을 추가한다:
sps_video_parameter_set_id의 값은 CVS에서의 코딩된 픽처들에 의해 참조되고 0보다 큰 sps_video_parameter_set_id를 갖는 모든 SPS들에서 동일해야 한다.
a. 대안적으로, 이하의 제약을 유지한다:
sps_video_parameter_set_id가 0과 동일할 때, CVS는 하나의 계층만을 포함해야 한다(즉, CVS에서의 모든 VCL NAL 유닛은 동일한 nuh_layer_id 값을 가져야 한다).
그리고 이하의 제약을 지정한다:
sps_video_parameter_set_id의 값은 CVS에서의 코딩된 픽처들에 의해 참조되는 모든 SPS들에서 동일해야 한다.
8) 여덟 번째 문제를 해결하기 위해, vps_general_hrd_params_present_flag가 1과 동일할 때 신택스 요소 vps_general_hrd_params_present_flag가 시그널링되지 않으며, 존재하지 않을 때, vps_general_hrd_params_present_flag의 값은 0과 동일한 것으로 추론된다.
a. 대안적으로, each_layer_is_an_ols_flag가 1과 동일할 때 vps_general_hrd_params_present_flag의 값은 0과 동일하도록 제약된다.
b. 게다가, 신택스 요소 num_ols_hrd_params_minus1에 대한 신택스 조건, 즉 "if( TotalNumOlss > 1 )"은 필요하지 않으므로 제거된다. 이러한 이유는, TotalNumOlss가 1과 동일할 때, each_layer_is_an_ols_flag의 값이 1과 동일할 것이고 그러면 vps_general_hrd_params_present_flag의 값이 0과 동일할 것이며 그러면 VPS에서 HRD 파라미터들이 시그널링되지 않을 것이기 때문이다.
일부 경우에, VPS에 ols_hrd_parameters( ) 신택스 구조가 존재하지 않을 때, general_hrd_parameters( ) 신택스 구조가 VPS에서 시그널링되지 않는다.
9) 아홉 번째 문제를 해결하기 위해, 하나의 계층만을 포함하는 OLS들에 대한 HRD 파라미터들은 SPS들에서만 시그널링되고 VPS에서는 시그널링되지 않는다.
6. 실시예들
아래는 VVC 사양에 적용될 수 있는 섹션 5에서 위에 요약된 양태들에 대한 일부 예시적인 실시예들이다. 변경된 텍스트들은 JVET-P2001-v14에서의 최신 VVC 텍스트를 기반으로 한다. 추가되거나 수정된 가장 관련성 있는 부분들은 굵게 밑줄 로 강조 표시되고, 삭제된 부분들 중 일부는 굵게 기울임꼴 로 강조 표시된다. 본질적으로 편집에 관련된 것이고 따라서 강조 표시되지 않은 일부 다른 변경들이 있다.
6.1. 제1 실시예
6.1. 1. VPS 신택스 시맨틱스
7.3.2.2 비디오 파라미터 세트 신택스
Figure pct00017
Figure pct00018
Figure pct00019
7.4.3.2 비디오 파라미터 세트 RBSP 시맨틱스
ols_output_layer_flag[ i ][ j ]가 1과 동일한 것은 ols_mode_idc가 2와 동일할 때 nuh_layer_id가 vps_layer_id[ j ]와 동일한 계층이 i 번째 OLS의 출력 계층이라는 것을 지정한다. ols_output_layer_flag[ i ][ j ]가 0과 동일한 것은 ols_mode_idc가 2와 동일할 때 nuh_layer_id가 vps_layer_id[ j ]와 동일한 계층이 i 번째 OLS의 출력 계층이 아니라는 것을 지정한다.
i 번째 OLS에서의 출력 계층들의 수를 지정하는 변수 NumOutputLayersInOls[ i ] 및 i 번째 OLS에서의 j 번째 출력 계층의 nuh_layer_id 값을 지정하는 변수 OutputLayerIdInOls[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00020
Figure pct00021
0 내지 vps_max_layers_minus1(경계 포함)의 범위에 있는 i의 각각의 값에 대해, LayerUsedAsRefLayerFlag[ i ] 및 LayerUsedAsOutputLayerFlag[ i ]의 값들은 양쪽 모두 0과 동일하지 않아야 한다. 환언하면, 임의의 다른 계층의 직접 참조 계층도 아니고 적어도 하나의 OLS의 출력 계층도 아닌 계층이 없어야 한다.
각각의 OLS에 대해, 출력 계층인 계층이 적어도 하나 있어야 한다. 환언하면, 0 내지 TotalNumOlss - 1(경계 포함)의 범위에 있는 i의 임의의 값에 대해, NumOutputLayersInOls[ i ]의 값은 1보다 크거나 같아야 한다.
i 번째 OLS에서의 계층들의 수를 지정하는 변수 NumLayersInOls[ i ], 및 i 번째 OLS에서의 j 번째 계층의 nuh_layer_id 값을 지정하는 변수 LayerIdInOls[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00022
비고 - 0 번째 OLS는 최하위 계층(즉, nuh_layer_id가 vps_layer_id[ 0 ]과 동일한 계층)만을 포함하고, 0 번째 OLS에 대해, 유일한 포함된 계층이 출력된다.
nuh_layer_id가 LayerIdInOls[ i ][ j ]와 동일한 계층의 OLS 계층 인덱스를 지정하는 변수 OlsLayeIdx[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00023
각각의 OLS에서의 최하위 계층은 독립적 계층이어야 한다. 환언하면, 0 내지 TotalNumOlss - 1(경계 포함)의 범위에 있는 각각의 i에 대해, vps_independent_layer_flag[ GeneralLayerIdx[ LayerIdInOls[ i ][ 0 ] ] ]의 값은 1과 동일해야 한다.
각각의 계층은 VPS에 의해 지정되는 적어도 하나의 OLS에 포함되어야 한다. 환언하면, 0 내지 vps_max_layers_minus1(경계 포함)의 범위에 있는 k에 대해 vps_layer_id[ k ] 중 하나와 동일한 nuh_layer_id의 특정 값 nuhLayerId를 갖는 각각의 계층에 대해, 적어도 한 쌍의 i 및 j 값이 있어야 하며, 여기서, LayerIdInOls[ i ][ j ]의 값이 nuhLayerId와 동일하도록, i는 0 내지 TotalNumOlss - 1(경계 포함)의 범위에 있고 j는 NumLayersInOls[ i ] - 1(경계 포함)의 범위에 있다.
vps_num_ptls _minus1 + 1 은 VPS에서의 profile_tier_level( ) 신택스 구조들의 수를 지정한다.
pt_present_flag[ i ]가 1과 동일한 것은 프로필, 티어, 및 일반 제약들 정보가 VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 존재한다는 것을 지정한다. pt_present_flag[ i ]가 0과 동일한 것은 프로필, 티어, 및 일반 제약들 정보가 VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 존재하지 않는다는 것을 지정한다. pt_present_flag[ 0 ]의 값은 1과 동일한 것으로 추론된다. pt_present_flag[ i ]가 0과 동일할 때, VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 대한 프로필, 티어, 및 일반 제약들 정보는 VPS에서의 ( i - 1 )번째 profile_tier_level( ) 신택스 구조에 대한 것과 동일한 것으로 추론된다.
ptl_max_temporal_id[ i ]는 레벨 정보가 VPS에서의 i 번째 profile_tier_level( ) 신택스 구조에 존재하는 최상위 서브계층 표현의 TemporalId를 지정한다. ptl_max_temporal_id[ i ]의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다. vps_max_sublayers_minus1이 0과 동일할 때, ptl_max_temporal_id[ i ]의 값은 0과 동일한 것으로 추론된다. vps_max_sublayers_minus1이 0보다 크고 vps_all_layers_same_num_sublayers_flag가 1과 동일할 때, ptl_max_temporal_id[ i ]의 값은 vps_max_sublayers_minus1과 동일한 것으로 추론된다.
vps_ptl_byte_alignment_zero_bit는 0과 동일해야 한다.
ols_ptl_idx[ i ]는 i 번째 OLS에 적용되는 profile_tier_level( ) 신택스 구조의, VPS에서의 profile_tier_level( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, ols_ptl_idx[ i ]의 값은 0 내지 vps_num_ptls_minus1 (경계 포함)의 범위에 있어야 한다. vps_num_ptls_minus1이 0과 동일할 때, ols_ptl_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
NumLayersInOls[ i ]가 1과 동일할 때, i 번째 OLS에 적용되는 profile_tier_level( ) 신택스 구조가 또한 i 번째 OLS에서의 계층에 의해 참조되는 SPS에 존재한다.
vps_num_dpb_params _minus1 + 1은 VPS에서의 dpb_parameters( ) 신택스 구조들의 수를 지정한다. 존재할 때, vps_num_dpb_params_minus1 의 값은 0 내지 15(경계 포함)의 범위에 있어야 한다. 변수 VpsNumDpbParams는 다음과 같이 도출된다:
Figure pct00024
same_dpb_size_output_or_nonoutput_flag가 1과 동일한 것은 VPS에 layer_nonoutput_dpb_params_idx[ i ] 신택스 요소가 존재하지 않는다는 것을 지정한다. same_dpb_size_output_or_nonoutput_flag가 0과 동일한 것은 VPS에 layer_nonoutput_dpb_params_idx[ i ] 신택스 요소가 존재할 수 있거나 존재하지 않을 수 있다는 것을 지정한다. 존재하지 않을 때, same_dpb_size_output_or_nonoutput_flag의 값은 1과 동일한 것으로 추론된다.
vps_sublayer_dpb_params_present_flag는 VPS에서의 dpb_parameters( ) 신택스 구조 내의 max_dec_pic_buffering_minus1[ ], max_num_reorder_pics[ ], 및 max_latency_increase_plus1[ ] 신택스 요소들의 존재를 제어하는 데 사용된다. 존재하지 않을 때, vps_sub_dpb_params_info_present_flag는 0과 동일한 것으로 추론된다.
dpb_size_only_flag[ i ]가 1과 동일한 것은 max_num_reorder_pics[ ] 및 max_latency_increase_plus1[ ] 신택스 요소들이 VPS에서의 i 번째 dpb_parameters( ) 신택스 구조들에 존재하지 않는다는 것을 지정한다. dpb_size_only_flag[ i ]가 0과 동일한 것은 max_num_reorder_pics[ ] 및 max_latency_increase_plus1[ ] 신택스 요소들이 VPS에서의 i 번째 dpb_parameters( ) 신택스 구조들에 존재할 수 있다는 것을 지정한다.
dpb_max_temporal_id[ i ]는 DPB 파라미터들이 VPS에서의 i 번째 dpb_parameters( ) 신택스 구조에 존재할 수 있는 최상위 서브계층 표현의 TemporalId를 지정한다. dpb_max_temporal_id[ i ]의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다. vps_max_sublayers_minus1이 0과 동일할 때, dpb_max_temporal_id[ i ]의 값은 0과 동일한 것으로 추론된다. vps_max_sublayers_minus1이 0보다 크고 vps_all_layers_same_num_sublayers_flag가 1과 동일할 때, dpb_max_temporal_id[ i ]의 값은 vps_max_sublayers_minus1과 동일한 것으로 추론된다.
layer_output_dpb_params_idx[ i ]는 i 번째 계층이 OLS에서의 출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조의, VPS에서의 dpb_parameters( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, layer_output_dpb_params_idx[ i ]의 값은 0 내지 VpsNumDpbParams   1(경계 포함)의 범위에 있어야 한다.
vps_independent_layer_flag[ i ]가 1과 동일한 경우, i 번째 계층이 출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조는 해당 계층에 의해 참조되는 SPS에 존재하는 dpb_parameters( ) 신택스 구조이다.
그렇지 않은 경우(vps_independent_layer_flag[ i ]가 0과 동일한 경우), 다음이 적용된다:
- VpsNumDpbParams 가 1과 동일할 때, layer_output_dpb_params_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
- layer_output_dpb_params_idx[ i ]의 값이 dpb_size_only_flag[ layer_output_dpb_params_idx[ i ] ]가 0과 동일하도록 해야 한다는 것이 비트스트림 적합성의 요구사항이다.
layer_nonoutput_dpb_params_idx[ i ]는 i 번째 계층이 OLS에서의 비출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조의, VPS에서의 dpb_parameters( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, layer_nonoutput_dpb_params_idx[ i ]의 값은 0 내지 VpsNumDpbParams   1(경계 포함)의 범위에 있어야 한다.
same_dpb_size_output_or_nonoutput_flag가 1과 동일한 경우, 다음이 적용된다:
- vps_independent_layer_flag[ i ]가 1과 동일한 경우, i 번째 계층이 비출력 계층일 때 i 번째 계층에 적용되는 dpb_parameters( ) 신택스 구조는 해당 계층에 의해 참조되는 SPS에 존재하는 dpb_parameters( ) 신택스 구조이다.
- 그렇지 않은 경우(vps_independent_layer_flag[ i ]가 0과 동일한 경우), layer_nonoutput_dpb_params_idx[ i ]의 값은 layer_output_dpb_params_idx[ i ]와 동일한 것으로 추론된다.
그렇지 않은 경우(same_dpb_size_output_or_nonoutput_flag가 0과 동일한 경우), VpsNumDpbParams 가 1과 동일할 때, layer_output_dpb_params_idx[ i ]의 값은 0과 동일한 것으로 추론된다.
vps_general_hrd_params_present_flag가 1과 동일한 것은 신택스 구조 general_hrd_parameters( ) 및 다른 HRD 파라미터들이 VPS RBSP 신택스 구조에 존재한다는 것을 지정한다. vps_general_hrd_params_present_flag가 0과 동일한 것은 신택스 구조 general_hrd_parameters( ) 및 다른 HRD 파라미터들이 VPS RBSP 신택스 구조에 존재하지 않는다는 것을 지정한다. 존재하지 않을 때, vps_general_hrd_params_present_flag의 값은 0과 동일한 것으로 추론된다.
vps_sublayer_cpb_params_present_flag가 1과 동일한 것은 VPS에서의 i 번째 ols_hrd_parameters( ) 신택스 구조가 0 내지 hrd_max_tid[ i ](경계 포함)의 범위에 있는 TemporalId를 갖는 서브계층 표현들에 대한 HRD 파라미터들을 포함한다는 것을 지정한다. vps_sublayer_cpb_params_present_flag가 0과 동일한 것은 VPS에서의 i 번째 ols_hrd_parameters( ) 신택스 구조가 hrd_max_tid[ i ]와만 동일한 TemporalId를 갖는 서브계층 표현에 대한 HRD 파라미터들을 포함한다는 것을 지정한다. vps_max_sublayers_minus1이 0과 동일할 때, vps_sublayer_cpb_params_present_flag의 값은 0과 동일한 것으로 추론된다.
vps_sublayer_cpb_params_present_flag가 0과 동일할 때, 0 내지 hrd_max_tid[ i ] - 1(경계 포함)의 범위에 있는 TemporalId를 갖는 서브계층 표현들에 대한 HRD 파라미터들은 hrd_max_tid[ i ]와 동일한 TemporalId를 갖는 서브계층 표현에 대한 것과 동일한 것으로 추론된다. 이들은 fixed_pic_rate_general_flag[ i ] 신택스 요소로부터 시작하여 ols_hrd_parameters 신택스 구조에서의 "if( general_vcl_hrd_params_present_flag )" 조건 바로 아래의 sublayer_hrd_parameters( i ) 신택스 구조까지의 HRD 파라미터들을 포함한다.
vps_general_hrd_params_present_flag가 1과 동일할 때 num_ols_hrd_params_minus1 + 1은 general_hrd_parameters( ) 신택스 구조에 존재하는 ols_hrd_parameters( ) 신택스 구조들의 수를 지정한다. num_ols_hrd_params_minus1의 값은 0 내지 63(경계 포함)의 범위에 있어야 한다. TotalNumOlss가 1과 동일할 때, num_ols_hrd_params_minus1의 값은 0과 동일한 것으로 추론된다.
hrd_max_tid[ i ]는 HRD 파라미터들이 i 번째 ols_hrd_parameters( ) 신택스 구조에 포함되는 최상위 서브계층 표현의 TemporalId를 지정한다. hrd_max_tid[ i ]의 값은 0 내지 vps_max_sublayers_minus1(경계 포함)의 범위에 있어야 한다. vps_max_sublayers_minus1이 0과 동일할 때, hrd_max_tid[ i ]의 값은 0과 동일한 것으로 추론된다. vps_max_sublayers_minus1이 0보다 크고 vps_all_layers_same_num_sublayers_flag가 1과 동일할 때, hrd_max_tid[ i ]의 값은 vps_max_sublayers_minus1과 동일한 것으로 추론된다.
ols _ hrd _ idx[ i ]는 NumLayersInOls[ i ]가 1보다 클 때 i 번째 OLS에 적용되는 ols_hrd_parameters( ) 신택스 구조의 , VPS에서의 ols _ hrd _parameters( ) 신택스 구조들의 리스트에 대한, 인덱스를 지정한다. 존재할 때, ols_hrd_idx[[ i ]의 값은 0 내지 num_ols_hrd_params_minus1(경계 포함)의 범위에 있어야 한다. NumLayersInOls[ i ]가 1보다 크고 num_ols_hrd_params_minus1이 0과 동일할 때, ols_hrd_idx[[ i ]의 값은 0과 동일한 것으로 추론된다.
vps_extension_flag가 0과 동일한 것은 vps_extension_data_flag 신택스 요소들이 VPS RBSP 신택스 구조에 존재하지 않는다는 것을 지정한다. vps_extension_flag가 1과 동일한 것은 vps_extension_data_flag 신택스 요소들이 VPS RBSP 신택스 구조에 존재한다는 것을 지정한다.
vps_extension_data_flag는 임의의 값을 가질 수 있다. 그것의 존재와 값은 본 명세서의 이 버전에서 지정되는 프로필들에 대한 디코더 적합성에 영향을 미치지 않는다. 본 명세서의 이 버전에 부합하는 디코더들은 모든 vps_extension_data_flag 신택스 요소들을 무시해야 한다.
6.1.2. SPS 시맨틱스
7.4.3.3 시퀀스 파라미터 세트 RBSP 시맨틱스
SPS RBSP는 참조되기 전에 디코딩 프로세스에서 이용 가능하거나, TemporalId가 0과 동일한 적어도 하나의 AU에 포함되거나 외부 수단을 통해 제공되어야 한다.
CVS에서의 sps_seq_parameter_set_id의 특정 값을 갖는 모든 SPS NAL 유닛들은 동일한 내용을 가져야 한다.
sps_decoding_parameter_set_id는, 0보다 클 때, SPS에 의해 참조되는 DPS에 대한 dps_decoding_parameter_set_id의 값을 지정한다. sps_decoding_parameter_set_id가 0과 동일할 때, SPS는 DPS를 참조하지 않고 SPS를 참조하는 각각의 CLVS를 디코딩할 때 DPS가 참조되지 않는다. sps_decoding_parameter_set_id의 값은 비트스트림에서의 코딩된 픽처들에 의해 참조되는 모든 SPS들에서 동일해야 한다.
sps_video_parameter_set_id는, 0보다 클 때, SPS에 의해 참조되는 VPS에 대한 vps_video_parameter_set_id의 값을 지정한다. sps_video_parameter_set_id의 값은 CVS에서의 코딩된 픽처들에 의해 참조되고 0보다 큰 sps_video_parameter_set_id를 갖는 모든 SPS들에서 동일해야 한다.
sps_video_parameter_set_id가 0과 동일할 때, 다음이 적용된다:
- SPS는 VPS를 참조하지 않는다.
- SPS를 참조하는 각각의 CLVS를 디코딩할 때 VPS가 참조되지 않는다.
- vps_max_layers_minus1의 값은 0과 동일한 것으로 추론된다.
- CVS는 하나의 계층만을 포함해야 한다(즉, CVS에서의 모든 VCL NAL 유닛은 동일한 nuh_layer_id 값을 가져야 한다).
- GeneralLayerIdx[ nuh_layer_id ]의 값은 0과 동일한 것으로 추론된다.
- vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]의 값은 1과 동일한 것으로 추론된다.
vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일할 때, 특정 nuh_layer_id 값 nuhLayerId를 갖는 CLVS에 의해 참조되는 SPS는 nuhLayerId와 동일한 nuh_layer_id를 가져야 한다.
6.1.3. 슬라이스 헤더 시맨틱스
7.4.8.1 일반 슬라이스 헤더 시맨틱스
...
slice_type은 표 9에 따라 슬라이스의 코딩 유형을 지정한다.
Figure pct00025
nal_unit_type이 IDR_W_RADL 내지 CRA_NUT(경계 포함)의 범위에 있고 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일할 때 , slice_type은 2와 동일해야 한다.
도 1은 본 명세서에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(1900)을 도시하는 블록 다이어그램이다. 다양한 구현들은 시스템(1900)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(1902)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들면, 8 또는 10 비트 다중 성분 픽셀 값들로 수신될 수 있거나, 또는 압축된 또는 인코딩된 포맷으로 되어 있을 수 있다. 입력(1902)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(1900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(1904)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 입력(1902)으로부터 코딩 컴포넌트(1904)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기술들이라고 불린다. 코딩 컴포넌트(1904)의 출력은 저장되거나, 컴포넌트(1906)에 의해 표현된 바와 같은, 연결된 통신을 통해 전송될 수 있다. 입력(1902)에 수신되는 비디오의 저장되거나 통신되는 비트스트림 표현(또는 코딩된 표현)은 디스플레이 인터페이스(1910)로 송신되는 픽셀 값들 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 게다가, 특정 비디오 프로세싱 동작들이 "코딩" 동작들 또는 툴들로 지칭되지만, 코딩 툴들 또는 동작들이 인코더에서 사용되고 코딩의 결과들을 반대로 하는 대응하는 디코딩 툴들 또는 동작들은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 스토리지 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명되는 기술들은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 폰들, 랩톱들, 스마트폰들 또는 다른 디바이스들과 같은 다양한 전자 디바이스들에서 구체화될 수 있다.
도 2는 비디오 프로세싱 장치(3600)의 블록 다이어그램이다. 장치(3600)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, IoT(Internet of Things) 수신기 등에 구체화될 수 있다. 장치(3600)는 하나 이상의 프로세서(3602), 하나 이상의 메모리(3604) 및 비디오 프로세싱 하드웨어(3606)를 포함할 수 있다. 프로세서(들)(3602)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(3604)는 본 명세서에 설명된 방법들 및 기술들을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(3606)는, 하드웨어 회로로, 본 문서에 설명된 일부 기술들을 구현하는 데 사용될 수 있다. 일부 실시예들에서, 하드웨어(3606)는 부분적으로 또는 전체적으로 프로세서(들)(3602), 예를 들면, 그래픽 프로세서 내에 있을 수 있다.
도 4는 본 개시의 기술들을 활용할 수 있는 예시적인 비디오 코딩 시스템(100)을 예시하는 블록 다이어그램이다.
도 4에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 비디오 인코딩 디바이스라고 지칭될 수 있는 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성한다. 비디오 디코딩 디바이스라고 지칭될 수 있는 목적지 디바이스(120)는 소스 디바이스(110)에 의해 생성되는 인코딩된 비디오 데이터를 디코딩할 수 있다. 소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114), 및 입출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 디바이스와 같은 소스, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 그러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처들 및 관련 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 관련 데이터는 시퀀스 파라미터 세트들, 픽처 파라미터 세트들, 및 다른 신택스 구조들을 포함할 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 I/O 인터페이스(116)를 통해 네트워크(130a)를 거쳐 목적지 디바이스(120)로 직접 전송될 수 있다. 인코딩된 비디오 데이터는 또한 목적지 디바이스(120)에 의한 액세스를 위해 저장 매체/서버(130b)에 저장될 수 있다.
목적지 디바이스(120)는 I/O 인터페이스(126), 비디오 디코더(124), 및 디스플레이 디바이스(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 디바이스(110) 또는 저장 매체/서버(130b)로부터 인코딩된 비디오 데이터를 취득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 디바이스(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(122)는 목적지 디바이스(120)와 통합될 수 있거나, 또는 외부 디스플레이 디바이스와 인터페이싱하도록 구성된 목적지 디바이스(120)의 외부에 있을 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는, HEVC(High Efficiency Video Coding) 표준, VVM(Versatile Video Coding) 표준 및 다른 현재 및/또는 추가의 표준들과 같은, 비디오 압축 표준에 따라 작동할 수 있다.
도 5는 도 4에 예시된 시스템(100) 내의 비디오 인코더(114)일 수 있는, 비디오 인코더(200)의 예를 예시하는 블록 다이어그램이다.
비디오 인코더(200)는 본 개시의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 인코더(200)는 복수의 기능 컴포넌트들을 포함한다. 본 개시에 설명된 기술들은 비디오 인코더(200)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에 설명된 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다.
비디오 인코더(200)의 기능 컴포넌트들은 분할 유닛(201), 모드 선택 유닛(203), 모션 추정 유닛(204), 모션 보상 유닛(205) 및 인트라 예측 유닛(206)을 포함할 수 있는 예측 유닛(202), 잔차 생성 유닛(207), 변환 유닛(208), 양자화 유닛(209), 역양자화 유닛(210), 역변환 유닛(211), 재구성 유닛(212), 버퍼(213), 및 엔트로피 인코딩 유닛(214)을 포함할 수 있다.
다른 예들에서, 비디오 인코더(200)는 더 많은, 더 적은, 또는 상이한 기능 컴포넌트들을 포함할 수 있다. 예에서, 예측 유닛(202)은 인트라 블록 복사(intra block copy, IBC) 유닛을 포함할 수 있다. IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드에서 예측을 수행할 수 있다.
게다가, 모션 추정 유닛(204) 및 모션 보상 유닛(205)과 같은 일부 컴포넌트들은 고도로 통합될 수 있지만, 설명의 목적을 위해 도 5의 예에서 개별적으로 표현되어 있다.
분할 유닛(201)은 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택 유닛(203)은, 예를 들어, 오차 결과들에 기초하여, 코딩 모드들, 즉 인트라(intra) 또는 인터(inter) 중 하나를 선택할 수 있고, 결과적인 인트라 코딩된 또는 인터 코딩된 블록을 잔차 생성 유닛(207)에 제공하여 잔차 블록 데이터를 생성하도록 하고 재구성 유닛(212)에 제공하여 참조 픽처로서 사용하기 위한 인코딩된 블록을 재구성하도록 할 수 있다. 일부 예에서, 모드 선택 유닛(203)은 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(combination of intra and inter predication) 모드를 선택할 수 있다. 모드 선택 유닛(203)은 또한 인터 예측의 경우에 블록에 대한 모션 벡터의 해상도(예를 들면, 서브픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 대한 인터 예측을 수행하기 위해, 모션 추정 유닛(204)은 버퍼(213)로부터의 하나 이상의 참조 프레임을 현재 비디오 블록과 비교하는 것에 의해 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 픽처들의 디코딩된 샘플들 및 모션 정보에 기초하여 현재 비디오 블록에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)은, 예를 들어, 현재 비디오 블록이 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지에 따라, 현재 비디오 블록에 대해 상이한 동작들을 수행할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 단방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1의 참조 픽처들을 탐색할 수 있다. 모션 추정 유닛(204)은 이어서 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1 내의 참조 픽처를 나타내는 참조 인덱스 및 현재 비디오 블록과 참조 비디오 블록 사이의 공간적 변위를 나타내는 모션 벡터를 생성할 수 있다. 모션 추정 유닛(204)은 참조 인덱스, 예측 방향 지시자, 및 모션 벡터를 현재 비디오 블록의 모션 정보로서 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보가 나타내는 참조 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대해 양방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 내의 참조 픽처들을 탐색할 수 있으며, 또한 현재 비디오 블록에 대한 다른 참조 비디오 블록에 대해 리스트 1 내의 참조 픽처들을 탐색할 수 있다. 모션 추정 유닛(204)은 이어서 참조 비디오 블록들을 포함하는 리스트 0 및 리스트 1 내의 참조 픽처들을 나타내는 참조 인덱스들 및 참조 비디오 블록들과 현재 비디오 블록 사이의 공간적 변위들을 나타내는 모션 벡터들을 생성할 수 있다. 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보로서 참조 인덱스들 및 현재 비디오 블록의 모션 벡터들을 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보가 나타내는 참조 비디오 블록들에 기초하여 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 디코더의 디코딩 프로세싱을 위한 모션 정보의 전체 세트를 출력할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오에 대한 모션 정보의 전체 세트를 출력하지 않을 수 있다. 오히려, 모션 추정 유닛(204)은 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보가 이웃 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
일 예에서, 모션 추정 유닛(204)은, 현재 비디오 블록과 연관된 신택스 구조에서, 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(300)에 알려주는 값을 표시할 수 있다.
다른 예에서, 모션 추정 유닛(204)은, 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는 현재 비디오 블록의 모션 벡터와 표시된 비디오 블록의 모션 벡터 간의 차이를 나타낸다. 비디오 디코더(300)는 표시된 비디오 블록의 모션 벡터 및 모션 벡터 차이를 이용하여 현재 비디오 블록의 모션 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측적 시그널링 기술의 두 가지 예는 AMVP(advanced motion vector predication) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대해 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 대해 인트라 예측을 수행할 때, 인트라 예측 유닛(206)은 동일한 픽처 내의 다른 비디오 블록들의 디코딩된 샘플들에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소들을 포함할 수 있다.
잔차 생성 유닛(207)은 현재 비디오 블록으로부터 현재 비디오 블록의 예측된 비디오 블록(들)을 차감(예를 들면, 마이너스 부호로 표시됨)하는 것에 의해 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록 내의 샘플들의 상이한 샘플 성분들에 대응하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 예를 들어, 스킵 모드에서 현재 비디오 블록에 대한 현재 비디오 블록의 잔차 데이터가 없을 수 있고, 잔차 생성 유닛(207)은 차감 동작을 수행하지 않을 수 있다.
변환 프로세싱 유닛(208)은 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환을 적용하는 것에 의해 현재 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록을 생성할 수 있다.
변환 프로세싱 유닛(208)이 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후에, 양자화 유닛(209)은 현재 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(210) 및 역변환 유닛(211)은, 제각기, 변환 계수 비디오 블록에 역양자화 및 역변환을 적용하여 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 재구성할 수 있다. 재구성 유닛(212)은 버퍼(213)에 저장할 현재 블록과 연관된 재구성된 비디오 블록을 생성하기 위해 예측 유닛(202)에 의해 생성되는 하나 이상의 예측된 비디오 블록으로부터의 대응하는 샘플들에 재구성된 잔차 비디오 블록을 가산할 수 있다.
재구성 유닛(212)이 비디오 블록을 재구성한 후에, 비디오 블록에서의 비디오 블로킹 아티팩트를 감소시키기 위해 루프 필터링 동작이 수행될 수 있다.
엔트로피 인코딩 유닛(214)은 비디오 인코더(200)의 다른 기능 컴포넌트들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)이 데이터를 수신할 때, 엔트로피 인코딩 유닛(214)은 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하기 위해 하나 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
도 6은 도 4에 예시된 시스템(100) 내의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 예시하는 블록 다이어그램이다.
비디오 디코더(300)는 본 개시의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 디코더(300)는 복수의 기능 컴포넌트들을 포함한다. 본 개시에 설명된 기술들은 비디오 디코더(300)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에 설명된 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다.
도 6의 예에서, 비디오 디코더(300)는 엔트로피 디코딩 유닛(301), 모션 보상 유닛(302), 인트라 예측 유닛(303), 역양자화 유닛(304), 역변환 유닛(305), 및 재구성 유닛(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)(예를 들면, 도 5)와 관련하여 설명된 인코딩 패스(encoding pass)와 일반적으로 반대인 디코딩 패스(decoding pass)를 수행할 수 있다.
엔트로피 디코딩 유닛(301)은 인코딩된 비트스트림을 검색할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들면, 비디오 데이터의 인코딩된 블록들)를 포함할 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상 유닛(302)은 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상 유닛(302)은, 예를 들어, AMVP 및 병합 모드를 수행하는 것에 의해 그러한 정보를 결정할 수 있다.
모션 보상 유닛(302)은 모션 보상된 블록들을 생성할 수 있으며, 어쩌면 보간 필터들에 기초하여 보간을 수행할 수 있다. 사용될 보간 필터들에 대한 식별자들이 서브픽셀 정밀도와 함께 신택스 요소들에 포함될 수 있다.
모션 보상 유닛(302)은 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더(20)에 의해 사용되는 바와 같이 보간 필터들을 사용할 수 있다. 모션 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터들을 결정할 수 있고 예측 블록들을 생성하기 위해 보간 필터들을 사용할 수 있다.
모션 보상 유닛(302)은 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록들의 크기들, 인코딩된 비디오 시퀀스의 픽처의 각각의 매크로블록이 어떻게 분할되는지를 기술하는 분할 정보, 각각의 분할이 어떻게 인코딩되는지를 나타내는 모드들, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임(및 참조 프레임 리스트), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 결정하기 위해 신택스 정보의 일부를 사용할 수 있다.
인트라 예측 유닛(303)은 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해, 예를 들어, 비트스트림에서 수신되는 인트라 예측 모드들을 사용할 수 있다. 역양자화 유닛(303)은 비트스트림에서 제공되고 엔트로피 디코딩 유닛(301)에 의해 디코딩되는 양자화된 비디오 블록 계수들을 역양자화(inverse quantize), 즉 양자화 해제(de-quantize)한다. 역변환 유닛(303)은 역변환을 적용한다.
재구성 유닛(306)은 디코딩된 블록들을 형성하기 위해 모션 보상 유닛(202) 또는 인트라 예측 유닛(303)에 의해 생성되는 대응하는 예측 블록들과 잔차 블록들을 합산할 수 있다. 원하는 경우, 디코딩된 블록들을 필터링하여 블록성 아티팩트(blockiness artifact)를 제거하기 위해 디블로킹 필터가 또한 적용될 수 있다. 디코딩된 비디오 블록들은 이어서 버퍼(307)에 저장되고, 버퍼(307)는 후속하는 모션 보상/인트라 예측을 위한 참조 블록들을 제공하고 또한 디스플레이 디바이스 상에 제시할 디코딩된 비디오를 생성한다.
일부 실시예들에 의해 선호되는 해결책들의 목록이 다음에 제공된다.
이하의 해결책들은 이전 섹션(예를 들면, 항목 1)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
1. 비디오 프로세싱 방법(예를 들면, 도 3에서의 방법(600))으로서, 하나 이상의 확장 가능한 비디오 계층을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은, 대응하는 네트워크 추상화 계층 유닛 유형이 미리 결정된 범위에 있고 대응하는 비디오 계층 플래그가 슬라이스에 대응하는 비디오 계층이 인터 계층 예측을 사용하지 않는다는 것을 나타내는 경우에, 슬라이스의 슬라이스 유형을 나타내는 필드의 값이 한 유형의 인트라 슬라이스를 나타내도록 설정된다는 것을 지정하는, 방법.
2. 해결책 1에 있어서, 슬라이스의 슬라이스 유형은 2로 설정되는, 방법.
3. 해결책 1에 있어서, 미리 결정된 범위는 IDR_W_RADL 내지 CRA_NUT(양쪽 모두 포함)인, 방법.
4. 비디오 프로세싱 방법으로서, 하나 이상의 확장 가능한 비디오 계층을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 하나 이상의 확장 가능한 비디오 계층의 프로필, 티어 및 레벨을 기술하는 신택스 구조에 대한 인덱스의 표시가, 해당 인덱스가 코딩된 표현으로부터 배제되는 경우에, 0과 동일한 것으로 추론되는 것을 지정하는, 방법.
5. 해결책 4에 있어서, 표시가 ols_ptl_idx[ i ] 신택스 요소를 포함하고, i는 정수인, 방법.
6. 비디오 프로세싱 방법으로서, 하나 이상의 확장 가능한 비디오 계층을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 복수의 출력 계층 세트들(OLS들)을 포함하고, 각각의 OLS는 계층 세트가 출력되도록 지정되어 있는 코딩된 표현에서의 계층 세트이며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 OLS가 단일 계층을 포함하는 경우에 코딩된 표현의 비디오 파라미터 세트가 OLS의 프로필, 티어 및 레벨에 관한 반복적인 정보를 갖도록 허용된다는 것을 지정하는, 방법.
7. 해결책 6에 있어서, 포맷 규칙은 복수의 OLS들에 대한 프로필, 티어 및 레벨에 관한 정보 세트의 총수를 나타내는 숫자 필드를 시그널링하도록 지정하며, 총수는 적어도 하나인, 방법.
8. 해결책 1 내지 해결책 7 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비디오를 인코딩하여 코딩된 표현을 생성하는 단계를 포함하는, 방법.
9. 해결책 1 내지 해결책 7 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 코딩된 표현을 파싱 및 디코딩하여 비디오를 생성하는 단계를 포함하는, 방법.
10. 비디오 디코딩 장치로서, 해결책 1 내지 해결책 9 중 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 디코딩 장치.
11. 비디오 인코딩 장치로서, 해결책 1 내지 해결책 9 중 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 인코딩 장치.
12. 컴퓨터 코드가 저장되어 있는 컴퓨터 프로그램 제품으로서, 코드는, 프로세서에 의해 실행될 때, 프로세서로 하여금 해결책 1 내지 해결책 9 중 어느 한 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
13. 본 문서에 설명된 방법, 장치 또는 시스템.
도 7a 내지 도 7i와 관련하여, 이하의 열거된 해결책들이 일부 실시예들에서 바람직하게 구현될 수 있다.
예를 들어, 이전 섹션에서의 항목 1에 따라 이하의 해결책들이 구현될 수 있다.
1. 비디오 프로세싱 방법(예를 들면, 도 7a에 묘사된 방법(710))으로서, 하나 이상의 확장 가능한 비디오 계층을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(712)를 포함하며, 비디오는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하고; 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 대응하는 네트워크 추상화 계층 유닛 유형이 미리 결정된 범위에 있고 대응하는 비디오 계층 플래그가 슬라이스에 대응하는 비디오 계층이 인터 계층 예측을 사용하지 않는다는 것을 나타내는 경우에, 슬라이스의 슬라이스 유형을 나타내는 필드의 값이 한 유형의 인트라 슬라이스를 나타내도록 설정된다는 것을 지정하는, 방법.
2. 해결책 1에 있어서, 슬라이스의 슬라이스 유형은 2로 설정되는, 방법.
3. 해결책 1에 있어서, 미리 결정된 범위는 IDR_W_RADL 내지 CRA_NUT(양쪽 모두 포함)이고, IDR_W_RADL은 순간 디코딩 리프레시 유형을 갖는 슬라이스를 나타내며, CRA_NUT는 클린 랜덤 액세스 유형을 갖는 슬라이스를 나타내는, 방법.
4. 해결책 1 내지 해결책 3 중 어느 한 해결책에 있어서, 대응하는 비디오 계층 플래그는 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ]]에 대응하고, nuh_layer_id는 비디오 계층의 식별자에 대응하며, GeneralLayerIdx[]는 비디오 계층의 인덱스이고, vps_independent_layer_flag는 비디오 계층 플래그에 대응하는, 방법.
5. 해결책 1 내지 해결책 4 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
6. 해결책 1 내지 해결책 4 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비트스트림으로부터 비디오를 파싱 및 디코딩하는 단계를 포함하는, 방법.
7. 비디오의 비트스트림을 저장하기 위한 방법으로서, 하나 이상의 확장 가능한 비디오 계층을 포함하는 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하며; 비디오는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하고; 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 대응하는 네트워크 추상화 계층 유닛 유형이 미리 결정된 범위에 있고 대응하는 비디오 계층 플래그가 슬라이스에 대응하는 비디오 계층이 인터 계층 예측을 사용하지 않는다는 것을 나타내는 경우에, 슬라이스의 슬라이스 유형을 나타내는 필드의 값이 한 유형의 I 슬라이스를 나타내도록 설정된다는 것을 지정하는, 방법.
예를 들어, 이전 섹션에서의 항목 5에 따라 이하의 해결책들이 구현될 수 있다.
1. 비디오 프로세싱 방법(예를 들면, 도 7b에 묘사된 방법(720))으로서, 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(722)를 포함하며, 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 복수의 확장 가능한 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, OLS에 대한 프로필, 티어 및 레벨을 나타내는 프로필 티어 레벨(PTL) 신택스 구조가 비트스트림에 대한 비디오 파라미터 세트에 포함되고, OLS에 대한 PTL 신택스 구조가 또한 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 지정하는, 방법.
2. 해결책 1에 있어서, 포맷 규칙은 비디오 파라미터 세트에 코딩되는 PTL 신택스 구조들의 수를 나타내는 신택스 요소가 비디오 파라미터 세트에 포함된다는 것을 지정하는, 방법.
3. 해결책 2에 있어서, 비디오 파라미터 세트에 코딩되는 PTL 신택스 구조들의 수는 신택스 요소의 값에 1을 더한 값과 동일한, 방법.
4. 해결책 2에 있어서, 비디오 파라미터 세트에 코딩되는 PTL 신택스 구조들의 수는 신택스 요소의 값과 동일한, 방법.
5. 해결책 4에 있어서, 포맷 규칙은, 복수의 OLS들 중 하나 이상이 둘 이상의 비디오 계층을 포함한다고 결정될 때, 신택스 요소가, 인코딩 동안, 비디오 파라미터 세트에 코딩되거나, 디코딩 동안, 비디오 파라미터 세트로부터 파싱된다는 것을 지정하는, 방법.
6. 해결책 4에 있어서, 포맷 규칙은, 비디오 계층들의 수가 0보다 크고 비디오 계층들 중 하나 이상이 인터 계층 예측을 사용한다고 결정될 때, 신택스 요소가, 인코딩 동안, 비디오 파라미터 세트에 코딩되거나, 디코딩 동안, 비디오 파라미터 세트로부터 파싱된다는 것을 지정하는, 방법.
7. 해결책 1 내지 해결책 6 중 어느 한 해결책에 있어서, 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, OLS에 대한 디코딩된 픽처 버퍼 크기 파라미터가 비트스트림에 대한 비디오 파라미터 세트에 포함되고, OLS에 대한 디코딩된 픽처 버퍼 크기 파라미터가 또한 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 추가로 지정하는, 방법.
8. 해결책 1 내지 해결책 6 중 어느 한 해결책에 있어서, 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, OLS에 대한 디코딩된 픽처 버퍼의 파라미터 정보가 비트스트림에 대한 비디오 파라미터 세트에 포함되고, OLS에 대한 디코딩된 픽처 버퍼의 파라미터 정보가 또한 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 추가로 지정하는, 방법.
예를 들어, 이전 섹션에서의 항목 6에 따라 이하의 해결책들이 구현될 수 있다.
9. 비디오 프로세싱 방법(예를 들면, 도 7c에 묘사된 방법(730))으로서, 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(732)를 포함하며, 비트스트림은 복수의 출력 계층 세트들(OLS들) - 이들 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은 비트스트림에 대한 비디오 파라미터 세트에서의 다수의 프로필 티어 레벨(PTL) 신택스 구조들의 출현과 비디오 파라미터 세트 내의 바이트 정렬 신택스 필드 사이의 관계를 지정하고; 각각의 PTL 신택스 구조는 복수의 OLS들 중 하나 이상의 OLS의 프로필, 티어 및 레벨을 나타내는, 방법.
10. 해결책 9에 있어서, 포맷 규칙은, 적어도 하나의 PTL 신택스 구조가 비디오 파라미터 세트에 포함되고, 적어도 하나의 PTL 신택스 구조가 포함되는 것으로 인해, 바이트 정렬 신택스 필드의 하나 이상의 인스턴스가 비디오 파라미터 세트에 포함되는 것을 지정하는, 방법.
11. 해결책 10에 있어서, 바이트 정렬 신택스 필드는 1 비트인, 방법.
12. 해결책 11에 있어서, 바이트 정렬 신택스 필드의 하나 이상의 인스턴스 각각의 값은 값 0을 갖는, 방법.
예를 들어, 이전 섹션에서의 항목 2에 따라 이하의 해결책들이 구현될 수 있다.
13. 비디오 프로세싱 방법(예를 들면, 도 7d에 묘사된 방법(740))으로서, 복수의 확장 가능한 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(742)를 포함하며, 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 복수의 확장 가능한 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 인코딩 동안, 복수의 OLS들 중 하나 이상의 OLS의 프로필, 티어 및 레벨을 기술하는 신택스 구조에 대한 인덱스를 나타내는 신택스 요소가, 해당 인덱스의 값이 0인 경우에, 비트스트림에 대한 비디오 파라미터 세트로부터 배제되거나, 디코딩 동안, 비트스트림에 신택스 요소가 존재하지 않는 경우에 해당 값이 0인 것으로 추론된다는 것을 지정하는, 방법.
14. 해결책 13에 있어서, 인덱스는 OLS들 중 적어도 하나의 OLS의 프로필, 티어 및 레벨을 나타내는 신택스 구조에 대한 것인, 방법.
15. 비디오의 비트스트림을 저장하기 위한 방법으로서, 복수의 비디오 계층들을 포함하는 비디오로부터 비트스트림을 생성하는 단계, 및 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하며; 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, OLS에 대한 프로필, 티어 및 레벨을 나타내는 프로필 티어 레벨(PTL) 신택스 구조가 비트스트림에 대한 비디오 파라미터 세트에 포함되고, OLS에 대한 PTL 신택스 구조가 또한 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 지정하는, 방법.
16. 해결책 1 내지 해결책 14 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함하고; 이 방법은 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
예를 들어, 이전 섹션에서의 항목 3에 따라 이하의 해결책들이 구현될 수 있다.
1. 비디오 프로세싱 방법(예를 들면, 도 7e에 묘사된 방법(750))으로서, 복수의 비디오 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(752)를 포함하며, 비트스트림은 복수의 출력 계층 세트들(OLS들) - 이들 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 계층 i(단, i는 정수임)에 대해, 비트스트림이 계층 i가 복수의 OLS들 중 적어도 하나에 포함되는지 여부를 나타내는 제1 변수를 나타내는 제1 신택스 요소 세트를 포함한다는 것을 지정하는, 방법.
2. 해결책 1에 있어서, 포맷 규칙은, 계층 i에 대한 제1 변수가 0과 동일한 - 계층 i가 복수의 OLS들 중 어느 것에도 포함되지 않는다는 것을 의미함 - 경우에, 비트스트림이 계층 i에 대한 디코딩된 픽처 버퍼 파라미터들을 나타내는 제2 신택스 요소 세트를 배제한다는 것을 지정하는, 방법.
3. 해결책 1 또는 해결책 2에 있어서, 포맷 규칙은 비트스트림이 계층 i가 복수의 비디오 계층들 중 적어도 하나에 대한 참조 계층으로서 사용되는지 여부를 나타내는 제2 변수를 나타내는 제3 신택스 요소 세트를 포함한다는 것을 추가로 지정하고, 포맷 규칙은 제1 변수와 제2 변수가 0 값을 갖도록 허용하지 않는, 방법.
4. 해결책 3에 있어서, 포맷 규칙은 제1 변수의 값과 제2 변수의 값 양쪽 모두가 0과 동일한 것 - 이는 임의의 다른 계층의 직접 참조 계층도 아니고 적어도 하나의 OLS의 출력 계층도 아닌 계층이 없다는 것을 나타냄 - 을 허용하지 않는, 방법.
5. 해결책 1 내지 해결책 4 중 어느 한 해결책에 있어서, 제1 변수는, LayerUsedAsOutputLayerFlag로서 표기되는, 1 비트 플래그인, 방법.
6. 해결책 5에 있어서, 제1 변수는, 복수의 비디오 계층들 각각에 대해, 복수의 OLS들에 포함된 계층들의 수 사이의 관계를 나타내는 제3 변수의 값을 반복적으로 검사하는 것에 기초하여 결정되는, 방법.
7. 해결책 6에 있어서, 복수의 OLS들에 포함된 계층들의 수 사이의 관계를 나타내는 제3 변수는 0, 1, 또는 2의 값을 갖도록 허용되는, 방법.
8. 해결책 1 내지 해결책 7 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함하고; 이 방법은 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
9. 비디오의 비트스트림을 저장하기 위한 방법으로서, 복수의 비디오 계층들을 포함하는 비디오로부터 비트스트림을 생성하는 단계, 및 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하며; 비트스트림은 복수의 출력 계층 세트들(OLS들) - 이들 각각은 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 계층 i(단, i는 정수임)에 대해, 비트스트림이 계층 i가 복수의 OLS들 중 적어도 하나에 포함되는지 여부를 나타내는 제1 변수를 나타내는 제1 신택스 요소 세트를 포함한다는 것을 지정하는, 방법.
예를 들어, 이전 섹션에서의 항목 4에 따라 이하의 해결책들이 구현될 수 있다.
1. 비디오 프로세싱 방법(예를 들면, 도 7f에 묘사된 방법(760))으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(762)를 포함하며, 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트를 포함하고; 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 각각의 출력 계층 세트가 단일 비디오 계층을 포함하는 경우에, 비트스트림에 대한 비디오 파라미터 세트에 포함된 디코딩된 픽처 버퍼 파라미터 신택스 구조들의 수가 0과 동일하거나; 각각의 출력 계층 세트가 단일 계층을 포함한다는 것이 참이 아닌 경우에, 신택스 요소의 값에 1을 더한 값과 동일하다는 것을 지정하는, 방법.
2. 해결책 1에 있어서, 신택스 요소는 vps_num_dpb_params_minus1 신택스 요소에 대응하는, 방법.
3. 해결책 1 또는 해결책 2에 있어서, 포맷 규칙은, 하나 이상의 출력 계층 세트에 포함되는 비디오 계층들 및 포함되지 않는 비디오 계층들에 대한 디코딩된 픽처 버퍼 신택스 구조들을 나타내는 데 동일한 크기가 사용되는지 여부를 나타내는 다른 신택스 요소가 비디오 파라미터 세트에 존재하지 않는 경우에, 다른 신택스 요소의 값이 1과 동일한 것으로 추론된다는 것을 지정하는, 방법.
4. 해결책 1 내지 해결책 3 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함하고; 이 방법은 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
5. 비디오의 비트스트림을 저장하기 위한 방법으로서, 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하며; 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트를 포함하고; 비트스트림은 포맷 규칙을 준수하며, 포맷 규칙은, 각각의 출력 계층 세트가 단일 비디오 계층을 포함하는 경우에, 비트스트림에 대한 비디오 파라미터 세트에 포함된 디코딩된 픽처 버퍼 파라미터 신택스 구조들의 수가 0과 동일하거나; 각각의 출력 계층 세트가 단일 계층을 포함한다는 것이 참이 아닌 경우에, 신택스 요소의 값에 1을 더한 값과 동일하다는 것을 지정하는, 방법.
예를 들어, 이전 섹션에서의 항목 7에 따라 이하의 해결책들이 구현될 수 있다.
1. 비디오 프로세싱 방법(예를 들면, 도 7g에 묘사된 방법(770))으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(772)를 포함하며, 비트스트림은 하나 이상의 비디오 계층의 하나 이상의 코딩된 비디오 픽처를 포함하는 코딩된 비디오 시퀀스(CVS)를 포함하고; 비트스트림은 CVS의 하나 이상의 코딩된 픽처에 의해 참조되는 변환 파라미터들을 나타내는 하나 이상의 시퀀스 파라미터 세트(SPS)가 참조된 VPS를 나타내는 동일한 참조 비디오 파라미터 세트(VPS) 식별자를 갖는다는 것을 지정하는 포맷 규칙을 준수하는, 방법.
2. 해결책 1에 있어서, 포맷 규칙은 동일한 참조 VPS 식별자가 0보다 큰 값을 갖는다는 것을 추가로 지정하는, 방법.
3. 해결책 1 또는 해결책 2에 있어서, 포맷 규칙은 CVS가 단일 비디오 계층을 포함할 때에만 그에 응답하여 SPS 식별자에 대한 값 0이 사용된다는 것을 추가로 지정하는, 방법.
4. 해결책 1 내지 해결책 3 중 어느 한 해결책에 있어서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함하고; 이 방법은 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
5. 비디오의 비트스트림을 저장하기 위한 방법으로서, 비디오로부터 비트스트림을 생성하는 단계, 및 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하며; 비디오는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하고; 비트스트림은 하나 이상의 비디오 계층의 하나 이상의 코딩된 비디오 픽처를 포함하는 코딩된 비디오 시퀀스(CVS)를 포함하며; 비트스트림은 CVS의 하나 이상의 코딩된 픽처에 의해 참조되는 변환 파라미터들을 나타내는 하나 이상의 시퀀스 파라미터 세트(SPS)가 참조된 VPS를 나타내는 동일한 참조 비디오 파라미터 세트(VPS) 식별자를 갖는다는 것을 지정하는 포맷 규칙을 준수하는, 방법.
예를 들어, 이전 섹션에서의 항목 8에 따라 이하의 해결책들이 구현될 수 있다.
1. 비디오 프로세싱 방법(예를 들면, 도 7h에 묘사된 방법(780))으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(782)를 포함하며, 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트(OLS)를 포함하고, 비트스트림은 포맷 규칙을 준수하며; 포맷 규칙은 가상 참조 디코더(HRD)의 파라미터들을 기술하는 제1 신택스 구조가 변환에 사용되는지 여부를 나타내는 제1 신택스 요소가 비트스트림의 비디오 파라미터 세트(VPS)에 포함되는지 여부 또는 어떻게 포함되는지를 지정하는, 방법.
2. 해결책 1에 있어서, 제1 신택스 구조는 한 세트의 일반 HRD 파라미터들을 포함하는, 방법.
3. 해결책 1 또는 해결책 2에 있어서, 포맷 규칙은 하나 이상의 비디오 계층 각각이 하나 이상의 OLS 중 한 OLS에 포함되는 것으로 인해 제1 신택스 요소가 VPS로부터 생략되고 VPS에 존재하지 않을 때 0 값을 갖는 것으로 추론된다는 것을 지정하고, 하나 이상의 OLS의 각각은 단일 비디오 계층을 포함하는, 방법.
4. 해결책 1 또는 해결책 2에 있어서, 포맷 규칙은 하나 이상의 비디오 계층 각각이 하나 이상의 OLS 중 한 OLS에 포함되는 것으로 인해 제1 신택스 요소가 VPS에 존재할 때 VPS에서 0 값을 갖는다는 것을 지정하고, 하나 이상의 OLS의 각각은 단일 비디오 계층을 포함하는, 방법.
5. 해결책 1 내지 해결책 4 중 어느 한 해결책에 있어서, 포맷 규칙은 OLS 특정 HRD 파라미터들을 기술하는 신택스 구조들의 수를 나타내는 제2 신택스 요소가 VPS에 포함되는지 여부 또는 어떻게 포함되는지를 추가로 지정하는, 방법.
6. 해결책 5에 있어서, 포맷 규칙은, 하나 이상의 OLS에서의 OLS들의 총수가 1보다 큰지 여부에 관계없이, 제1 신택스 요소가 값 1을 가질 때 제2 신택스 요소가 VPS에 포함된다는 것을 추가로 지정하는, 방법.
예를 들어, 이전 섹션에서의 항목 9, 항목 10에 따라 이하의 해결책들이 구현될 수 있다.
7. 비디오 프로세싱 방법(예를 들면, 도 7i에 묘사된 방법(790))으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(792)를 포함하며, 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트(OLS)를 포함하고, 비트스트림은 포맷 규칙을 준수하며; 포맷 규칙은 일반 가상 참조 디코더(HRD) 파라미터들을 기술하는 제1 신택스 구조 및 OLS 특정 HRD 파라미터들을 기술하는 다수의 제2 신택스 구조들이 비트스트림에 대한 비디오 파라미터 세트(VPS)에 포함되는지 여부 또는 어떻게 포함되는지를 지정하는, 방법.
8. 해결책 7에 있어서, 포맷 규칙은 VPS에 제2 신택스 구조가 포함되지 않은 경우에 VPS로부터 제1 신택스 구조를 생략하도록 지정하는, 방법.
9. 해결책 7에 있어서, 포맷 규칙은 하나의 비디오 계층만을 포함하는 OLS에 대해 VPS에 제1 신택스 구조 및 제2 신택스 구조들을 포함시키는 것을 배제하고, 포맷 규칙은 하나의 비디오 계층만을 포함하는 OLS에 대해 제1 신택스 구조 및 제2 신택스 구조들을 포함시키는 것을 허용하는, 방법.
10. 비디오의 비트스트림을 저장하기 위한 방법으로서, 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하며; 비트스트림은 하나 이상의 비디오 계층을 각각 포함하는 하나 이상의 출력 계층 세트(OLS)를 포함하고, 비트스트림은 포맷 규칙을 준수하며; 포맷 규칙은 가상 참조 디코더(HRD)의 파라미터들을 기술하는 제1 신택스 구조가 변환에 사용되는지 여부를 나타내는 제1 신택스 요소가 비트스트림의 비디오 파라미터 세트(VPS)에 포함되는지 여부 또는 어떻게 포함되는지를 지정하는, 방법.
위에 열거된 해결책들은 이하를 더 포함할 수 있다:
일부 실시예들에서, 위에 열거된 해결책들에서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함한다.
일부 실시예들에서, 위에 열거된 해결책들에서, 변환을 수행하는 단계는 비트스트림으로부터 비디오를 파싱 및 디코딩하는 단계를 포함한다.
일부 실시예들에서, 위에 열거된 해결책들에서, 변환을 수행하는 단계는 비디오를 비트스트림으로 인코딩하는 단계를 포함하고; 이 방법은 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함한다.
일부 실시예들에서, 비디오 디코딩 장치는 위에 열거된 해결책들 중 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함한다.
일부 실시예들에서, 비디오 인코딩 장치는 위에 열거된 해결책들 중 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함한다.
일부 실시예들에서, 비일시적 컴퓨터 판독 가능 저장 매체는 프로세서로 하여금 위에 열거된 해결책들 중 하나 이상에 기재된 방법을 구현하게 하는 명령어들을 저장할 수 있다.
일부 실시예들에서, 비일시적 컴퓨터 판독 가능 기록 매체는 위에 열거된 해결책 중 하나 이상에 기재된 방법에 의해 생성되는 비디오의 비트스트림을 저장한다.
일부 실시예들에서, 위에서 설명된 인코딩 방법들은 장치에 의해 구현될 수 있고, 장치는 또한 방법을 구현하는 것에 의해 생성되는 비트스트림을 컴퓨터 판독 가능 매체에 기입할 수 있다.
본 문서에 설명된 개시된 및 다른 해결책들, 예들, 실시예들, 모듈들 및 기능 동작들은 디지털 전자 회로로, 또는 본 문서에 개시된 구조 및 그의 구조적 등가물을 포함한, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 다른 실시예들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의해 실행하기 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 메모리 디바이스, 머신 판독 가능 전파 신호를 실현하는 조성물(composition of matter), 또는 이들 중 하나 이상의 조합일 수 있다. “데이터 프로세싱 장치"라는 용어는, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한, 데이터를 프로세싱하기 위한 모든 장치들, 디바이스들, 및 머신들을 포괄한다. 장치들은, 하드웨어 외에도, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 인공적으로 생성된 신호, 예를 들면, 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 머신 생성(machine-generated) 전기, 광학, 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려짐)은, 컴파일되는(compiled) 또는 인터프리트되는(interpreted) 언어들을 포함하여, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립형 프로그램(stand-alone program)으로서 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서를 포함하여, 임의의 형태로 배포(deploy)될 수 있다. 컴퓨터 프로그램이 파일 시스템에서의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터(예를 들면, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 통합 파일들(coordinated files)(예를 들면, 하나 이상의 모듈, 서브 프로그램(sub program), 또는 코드 부분(portion of code)을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치하거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되도록 배포될 수 있다.
본 문서에 설명된 프로세스들 및 논리 흐름들은 입력 데이터에 대해 작동하여 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들이 또한 특수 목적 로직 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치들이 또한 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들 양쪽 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양쪽 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들면, 자기, 자기 광학 디스크들, 또는 광학 디스크들을 포함할 것이거나, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하도록 작동 가능하게 결합될 것이거나, 또는 양쪽 모두일 것이다. 그렇지만, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들과 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예로서, 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들면, 내장형 하드 디스크들 또는 이동식 디스크들; 자기 광학 디스크들; 및 CD ROM과 DVD-ROM 디스크들을 포함한, 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
본 특허 문서가 많은 구체적 사항들을 포함하지만, 이들은 임의의 주제의 범위 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안 되며, 오히려 특정 기술들의 특정의 실시예들에 특정적일 수 있는 특징들에 대한 설명으로서 해석되어야 한다. 개별 실시예들의 맥락에서 본 특허 문서에 설명되는 특정 특징들이 또한 단일 실시예에서 조합하여 구현될 수 있다. 이와 달리, 단일 실시예의 맥락에서 설명되는 다양한 특징들이 또한 다수의 실시예들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 기능하는 것으로 위에서 설명되고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에 그 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에서 특정의 순서로 묘사되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정의 순서로 또는 순차적 순서로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예들이 설명되고 다른 구현들, 향상들 및 변형들이 이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (25)

  1. 비디오 프로세싱 방법으로서,
    복수의 비디오 계층들을 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 상기 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 상기 비트스트림은 포맷 규칙을 준수하며,
    상기 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, 상기 OLS에 대한 프로필, 티어 및 레벨을 나타내는 프로필 티어 레벨(PTL) 신택스 구조가 상기 비트스트림에 대한 비디오 파라미터 세트에 포함되고, 상기 OLS에 대한 상기 PTL 신택스 구조가 또한 상기 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 지정하는, 방법.
  2. 제1항에 있어서, 상기 포맷 규칙은 상기 비디오 파라미터 세트에 코딩되는 PTL 신택스 구조들의 수를 나타내는 신택스 요소가 상기 비디오 파라미터 세트에 포함된다는 것을 지정하는, 방법.
  3. 제2항에 있어서, 상기 PTL 신택스 구조들의 수는 상기 신택스 요소의 값에 1을 더한 값과 동일한, 방법.
  4. 제2항에 있어서, 상기 PTL 신택스 구조들의 수는 상기 신택스 요소의 값과 동일한, 방법.
  5. 제4항에 있어서, 상기 포맷 규칙은, 상기 복수의 OLS들 중 하나 이상이 둘 이상의 비디오 계층을 포함한다고 결정될 때, 상기 신택스 요소가, 인코딩 동안, 상기 비디오 파라미터 세트에 코딩되거나, 디코딩 동안, 상기 비디오 파라미터 세트로부터 파싱된다는 것을 지정하는, 방법.
  6. 제4항에 있어서, 상기 포맷 규칙은, 비디오 계층들의 수가 0보다 크고 상기 비디오 계층들 중 하나 이상이 인터 계층 예측을 사용한다고 결정될 때, 상기 신택스 요소가, 인코딩 동안, 상기 비디오 파라미터 세트에 코딩되거나, 디코딩 동안, 상기 비디오 파라미터 세트로부터 파싱된다는 것을 지정하는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, 상기 OLS에 대한 디코딩된 픽처 버퍼 크기 파라미터가 상기 비트스트림에 대한 비디오 파라미터 세트에 포함되고, 상기 OLS에 대한 상기 디코딩된 픽처 버퍼 크기 파라미터가 또한 상기 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 추가로 지정하는, 방법.
  8. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, 상기 OLS에 대한 상기 디코딩된 픽처 버퍼의 파라미터 정보가 상기 비트스트림에 대한 비디오 파라미터 세트에 포함되고, 상기 OLS에 대한 상기 디코딩된 픽처 버퍼의 상기 파라미터 정보가 또한 상기 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 추가로 지정하는, 방법.
  9. 비디오 프로세싱 방법으로서,
    복수의 비디오 계층들을 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 비트스트림은 복수의 출력 계층 세트들(OLS들) - 이들 각각은 상기 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 상기 비트스트림은 포맷 규칙을 준수하며,
    상기 포맷 규칙은 상기 비트스트림에 대한 비디오 파라미터 세트에서의 다수의 프로필 티어 레벨(PTL) 신택스 구조들의 출현과 상기 비디오 파라미터 세트 내의 바이트 정렬 신택스 필드 사이의 관계를 지정하고;
    각각의 PTL 신택스 구조는 상기 복수의 OLS들 중 하나 이상의 OLS의 프로필, 티어 및 레벨을 나타내는, 방법.
  10. 제9항에 있어서, 상기 포맷 규칙은, 적어도 하나의 PTL 신택스 구조가 상기 비디오 파라미터 세트에 포함되고, 상기 적어도 하나의 PTL 신택스 구조가 포함되는 것으로 인해, 상기 바이트 정렬 신택스 필드의 하나 이상의 인스턴스가 상기 비디오 파라미터 세트에 포함되는 것을 지정하는, 방법.
  11. 제10항에 있어서, 상기 바이트 정렬 신택스 필드는 1 비트인, 방법.
  12. 제11항에 있어서, 상기 바이트 정렬 신택스 필드의 상기 하나 이상의 인스턴스 각각의 값은 값 0을 갖는, 방법.
  13. 비디오 프로세싱 방법으로서,
    복수의 확장 가능한 비디오 계층들을 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 상기 복수의 확장 가능한 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 상기 비트스트림은 포맷 규칙을 준수하며,
    상기 포맷 규칙은,
    인코딩 동안, 상기 복수의 OLS들 중 하나 이상의 OLS의 프로필, 티어 및 레벨을 기술하는 신택스 구조에 대한 인덱스를 나타내는 신택스 요소가, 상기 인덱스의 값이 0인 경우에, 상기 비트스트림에 대한 비디오 파라미터 세트로부터 배제되거나,
    디코딩 동안, 상기 비트스트림에 상기 신택스 요소가 존재하지 않는 경우에 상기 값이 0인 것으로 추론된다는 것을 지정하는, 방법.
  14. 제13항에 있어서, 상기 인덱스는 상기 OLS들 중 적어도 하나의 OLS의 프로필, 티어 및 레벨을 나타내는 상기 신택스 구조에 대한 것인, 방법.
  15. 비디오의 비트스트림을 저장하기 위한 방법으로서,
    복수의 비디오 계층들을 포함하는 비디오로부터 비트스트림을 생성하는 단계, 및
    상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계
    를 포함하며;
    상기 비트스트림은 복수의 출력 계층 세트들(OLS들) - 각각은 상기 복수의 비디오 계층들 중 하나 이상을 포함함 - 을 포함하고, 상기 비트스트림은 포맷 규칙을 준수하며,
    상기 포맷 규칙은, 단일 계층을 갖는 OLS에 대해, 상기 OLS에 대한 프로필, 티어 및 레벨을 나타내는 프로필 티어 레벨(PTL) 신택스 구조가 상기 비트스트림에 대한 비디오 파라미터 세트에 포함되고, 상기 OLS에 대한 상기 PTL 신택스 구조가 또한 상기 비트스트림에 코딩되는 시퀀스 파라미터 세트에 포함된다는 것을 지정하는, 방법.
  16. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하고; 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함하는, 방법.
  19. 비디오 디코딩 장치로서, 제1항 내지 제18항 중 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 디코딩 장치.
  20. 비디오 인코딩 장치로서, 제1항 내지 제18항 중 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 인코딩 장치.
  21. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제18항 중 어느 한 항에 기재된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
  22. 비디오의 비트스트림이 저장된 컴퓨터 저장 매체로서, 상기 비트스트림은 제1항 내지 제18항 중 어느 하나 이상의 항에 기재된 방법에 의해 생성되는, 컴퓨터 저장 매체.
  23. 컴퓨터 판독 가능 매체로서, 제1항 내지 제18항 중 어느 한 항에 기재된 방법에 따라 생성되는 비트스트림을 저장하는, 컴퓨터 판독 가능 매체.
  24. 비트스트림을 저장하기 위한 비디오 프로세싱 장치로서, 상기 비디오 프로세싱 장치는 제1항 내지 제18항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치.
  25. 본 문서에 설명된 방법, 장치 또는 시스템.
KR1020227020497A 2019-12-26 2020-12-24 비디오 코딩에서의 프로필, 티어 및 계층 표시 KR20220114558A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962953854P 2019-12-26 2019-12-26
US62/953,854 2019-12-26
US201962954907P 2019-12-30 2019-12-30
US62/954,907 2019-12-30
PCT/US2020/067015 WO2021134015A1 (en) 2019-12-26 2020-12-24 Profile, tier and layer indication in video coding

Publications (1)

Publication Number Publication Date
KR20220114558A true KR20220114558A (ko) 2022-08-17

Family

ID=76573158

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227020497A KR20220114558A (ko) 2019-12-26 2020-12-24 비디오 코딩에서의 프로필, 티어 및 계층 표시
KR1020227020526A KR20220115958A (ko) 2019-12-26 2020-12-24 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227020526A KR20220115958A (ko) 2019-12-26 2020-12-24 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들

Country Status (6)

Country Link
US (4) US11876995B2 (ko)
EP (3) EP4310796A3 (ko)
JP (3) JP7431330B2 (ko)
KR (2) KR20220114558A (ko)
CN (4) CN114902674A (ko)
WO (3) WO2021134011A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220353535A1 (en) * 2019-06-19 2022-11-03 Sharp Kabushiki Kaisha Systems and methods for signaling decoded picture buffer information in video coding
EP4062319A4 (en) 2019-12-26 2023-01-11 ByteDance Inc. REPORTING DECODED FRAME BUFFER PARAMETERS IN LAYERED VIDEO
EP4310796A3 (en) 2019-12-26 2024-04-10 ByteDance Inc. Profile, tier and layer indication in video coding
JP2023508680A (ja) 2019-12-27 2023-03-03 バイトダンス インコーポレイテッド ビデオコーディングにおけるサブピクチャシグナリング
KR20220124702A (ko) 2020-01-09 2022-09-14 바이트댄스 아이엔씨 비디오 비트스트림들에서의 값 범위들에 대한 제약들
US11509920B2 (en) * 2020-03-27 2022-11-22 Tencent America LLC Indication of max sublayer numbers in multilayered video stream
US20230102088A1 (en) * 2021-09-29 2023-03-30 Tencent America LLC Techniques for constraint flag signaling for range extension

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087785A (ja) 2001-06-29 2003-03-20 Toshiba Corp 動画像符号化データの形式変換方法及び装置
EP1978747B1 (en) 2001-11-29 2014-05-21 Panasonic Corporation Coding distortion removal method
FI113123B (fi) 2002-06-03 2004-02-27 Nokia Corp Menetelmä ja laite hajautettujen verkkojen muodostamiseksi tilapäisissä verkoissa
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
MX2009007696A (es) 2007-01-18 2009-09-04 Nokia Corp Carro de mensajes de informacion de mejoramiento suplementario en formato de carga util de protocolo de transporte en tiempo real.
KR101391601B1 (ko) 2007-10-15 2014-05-07 삼성전자주식회사 최적의 임계치를 이용한 지수 골롬 이진화에 의한 영상부호화 방법 및 그 장치, 및 영상 복호화 방법 및 그 장치
WO2010069427A1 (en) 2008-12-19 2010-06-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and encoder for providing a tune- in stream for an encoded video stream and method and decoder for tuning into an encoded video stream
WO2010086501A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
EP2425626A2 (en) 2009-05-01 2012-03-07 Thomson Licensing Inter-layer dependency information for 3dv
KR101631774B1 (ko) 2011-06-30 2016-06-24 텔레폰악티에볼라겟엘엠에릭슨(펍) 절대 또는 명확한 레퍼러스 픽처 시그널링
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US9838684B2 (en) 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
KR102096566B1 (ko) 2012-04-13 2020-04-02 지이 비디오 컴프레션, 엘엘씨 저지연 화상 코딩
US9736476B2 (en) 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US9621905B2 (en) 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
EP2868092A4 (en) * 2012-07-02 2016-05-04 Nokia Technologies Oy METHOD AND DEVICE FOR VIDEO CODING
US9602827B2 (en) 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
TWI631850B (zh) 2012-08-06 2018-08-01 Vid衡器股份有限公司 在多層視訊編碼中空間層取樣格網資訊
KR102238567B1 (ko) 2012-09-19 2021-04-08 퀄컴 인코포레이티드 디스패리티 벡터 유도를 위한 화상들의 선택
US9161039B2 (en) 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
AU2013322041B2 (en) 2012-09-26 2017-03-09 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP2901689A1 (en) 2012-09-27 2015-08-05 Dolby Laboratories Licensing Corporation Inter-layer reference picture processing for coding standard scalability
US9479782B2 (en) 2012-09-28 2016-10-25 Qualcomm Incorporated Supplemental enhancement information message coding
US9432664B2 (en) 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US20140092976A1 (en) 2012-09-30 2014-04-03 Sharp Laboratories Of America, Inc. System for signaling idr and bla pictures
US20140098851A1 (en) 2012-10-04 2014-04-10 Qualcomm Incorporated Indication of video properties
US9319703B2 (en) 2012-10-08 2016-04-19 Qualcomm Incorporated Hypothetical reference decoder parameter syntax structure
WO2014059051A1 (en) 2012-10-09 2014-04-17 Rodriguez Arturo A Providing a common set of parameters for sub-layers of coded video
MX358606B (es) 2012-10-09 2018-08-24 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
US9374585B2 (en) 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
US10219006B2 (en) 2013-01-04 2019-02-26 Sony Corporation JCTVC-L0226: VPS and VPS_extension updates
US10419778B2 (en) * 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
US9402076B2 (en) 2013-01-07 2016-07-26 Qualcomm Incorporated Video buffering operations for random access in video coding
ES2885424T3 (es) 2013-03-15 2021-12-13 Knopp Biosciences Llc Imidazo(4,5-B)piridin-2-il amidas como activadores del canal Kv7
US9992493B2 (en) 2013-04-01 2018-06-05 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
EP2982124A4 (en) 2013-04-05 2016-09-07 Sharp Kk PICTURES WITH DIRECT ACCESS POINTS
US9270651B2 (en) 2013-04-05 2016-02-23 Futurewei Technologies, Inc. Authentication and initial key exchange in ethernet passive optical network over coaxial network
US9591321B2 (en) 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US9473771B2 (en) 2013-04-08 2016-10-18 Qualcomm Incorporated Coding video data for an output layer set
US9571809B2 (en) 2013-04-12 2017-02-14 Intel Corporation Simplified depth coding with modified intra-coding for 3D video coding
US9497485B2 (en) 2013-04-12 2016-11-15 Intel Corporation Coding unit size dependent simplified depth coding for 3D video coding
US9648326B2 (en) 2013-07-02 2017-05-09 Qualcomm Incorporated Optimizations on inter-layer prediction signalling for multi-layer video coding
US10595031B2 (en) 2013-07-12 2020-03-17 Qualcomm Incorporated Selection of target output layers in high efficiency video coding extensions
US20150016547A1 (en) 2013-07-15 2015-01-15 Sony Corporation Layer based hrd buffer management for scalable hevc
US9451254B2 (en) 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
GB2516824A (en) 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
TW201517597A (zh) 2013-07-31 2015-05-01 Nokia Corp 用於視訊編碼及解碼之方法及裝置
KR101869882B1 (ko) 2013-10-11 2018-06-25 브이아이디 스케일, 인크. Hevc 확장을 위한 하이 레벨 구문
US20150103887A1 (en) 2013-10-14 2015-04-16 Qualcomm Incorporated Device and method for scalable coding of video information
US9900605B2 (en) 2013-10-14 2018-02-20 Qualcomm Incorporated Device and method for scalable coding of video information
WO2015056182A2 (en) 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding
US10284858B2 (en) 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
WO2015082763A1 (en) 2013-12-02 2015-06-11 Nokia Technologies Oy Video encoding and decoding
US9854270B2 (en) 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
KR20160104678A (ko) 2014-01-02 2016-09-05 브이아이디 스케일, 인크. Hevc 확장 규격을 위한 서브 비트스트림 추출 프로세스
US10257519B2 (en) * 2014-01-02 2019-04-09 Sharp Kabushiki Kaisha Signaling and derivation of decoded picture buffer parameters
WO2015102439A1 (ko) 2014-01-03 2015-07-09 삼성전자 주식회사 멀티 레이어 비디오의 복호화 및 부호화를 위한 버퍼 관리 방법 및 장치
EP3092806A4 (en) 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
US10057590B2 (en) 2014-01-13 2018-08-21 Mediatek Inc. Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding
WO2015137237A1 (ja) 2014-03-14 2015-09-17 シャープ株式会社 画像復号装置
JP6465863B2 (ja) 2014-03-14 2019-02-06 シャープ株式会社 画像復号装置、画像復号方法及び記録媒体
US9848199B2 (en) 2014-03-17 2017-12-19 Qualcomm Incorporated Device and method for scalable coding of video information
US10178397B2 (en) 2014-03-24 2019-01-08 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US10136152B2 (en) 2014-03-24 2018-11-20 Qualcomm Incorporated Use of specific HEVC SEI messages for multi-layer video codecs
US9712871B2 (en) * 2014-05-01 2017-07-18 Qualcomm Incorporated Determination bitstream decoding capability in video coding
US9769492B2 (en) * 2014-06-06 2017-09-19 Qualcomm Incorporated Conformance parameters for bitstream partitions
US10063867B2 (en) 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US20170324981A1 (en) * 2014-06-19 2017-11-09 Sharp Kabushiki Kaisha Method for decoding a video bitstream
US10356415B2 (en) 2014-06-20 2019-07-16 Qualcomm Incorporated Systems and methods for constraining representation format parameters for a parameter set
US9930342B2 (en) 2014-06-20 2018-03-27 Qualcomm Incorporated Systems and methods for signaling hypothetical reference decoder parameters in a parameter set
US9756355B2 (en) * 2014-06-20 2017-09-05 Qualcomm Incorporated Value ranges for syntax elements in video coding
US10091532B2 (en) 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
US10306269B2 (en) 2014-10-10 2019-05-28 Qualcomm Incorporated Operation point for carriage of layered HEVC bitstream
US20160112724A1 (en) 2014-10-15 2016-04-21 Qualcomm Incorporated Hrd descriptor and buffer model of data streams for carriage of hevc extensions
US10148969B2 (en) 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
US10455242B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
US10382791B2 (en) 2015-03-06 2019-08-13 Qualcomm Incorporated Data structure for video coding unit
US20160323600A1 (en) 2015-04-30 2016-11-03 Zhan Ma Methods and Apparatus for Use of Adaptive Prediction Resolution in Video Coding
US20160373771A1 (en) 2015-06-18 2016-12-22 Qualcomm Incorporated Design of tracks and operation point signaling in layered hevc file format
CN116016941A (zh) * 2015-09-08 2023-04-25 寰发股份有限公司 管理已解码图像缓存器的方法及视频编码器或视频解码器
US10200690B2 (en) 2015-09-22 2019-02-05 Qualcomm Incorporated Video decoder conformance for high dynamic range (HDR) video coding using a core video standard
US20170105014A1 (en) 2015-10-08 2017-04-13 Qualcomm Incorporated Luma-driven chroma scaling for high dynamic range and wide color gamut contents
FI20165256A (fi) 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
US11722677B2 (en) * 2016-05-06 2023-08-08 Interdigital Madison Patent Holdings, Sas Method and system for decoder-side intra mode derivation for block-based video coding
EP3466079B1 (en) * 2016-05-24 2023-07-12 Nokia Technologies Oy Method and an apparatus and a computer program for encoding media content
KR102410032B1 (ko) 2016-06-24 2022-06-16 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP4216550A1 (en) 2018-03-28 2023-07-26 FG Innovation Company Limited Device and method for coding video data in multiple reference line prediction
EP3759922A1 (en) 2018-04-03 2021-01-06 Huawei Technologies Co. Ltd. Error mitigation in sub-picture bitstream based viewport dependent video coding
US10972755B2 (en) 2018-12-03 2021-04-06 Mediatek Singapore Pte. Ltd. Method and system of NAL unit header structure for signaling new elements
WO2020140243A1 (zh) 2019-01-03 2020-07-09 北京大学 视频图像处理方法与装置
MX2021008347A (es) 2019-01-09 2021-10-13 Huawei Tech Co Ltd Un codificador de video, un decodificador de video y metodos correspondientes.
KR20220003084A (ko) 2019-05-06 2022-01-07 후아웨이 테크놀러지 컴퍼니 리미티드 점진적 디코딩 리프레시를 위한 가상 참조 디코더
US20220272378A1 (en) 2019-06-23 2022-08-25 Sharp Kabushiki Kaisha Systems and methods for performing an adaptive resolution change in video coding
EP3981162A4 (en) 2019-06-27 2022-07-06 Huawei Technologies Co., Ltd. HYPOTHETIC REFERENCE DECODER FOR V-PCC
WO2021033774A1 (en) 2019-08-21 2021-02-25 Sharp Kabushiki Kaisha Systems and methods for signaling buffering period information in video coding
WO2021045128A1 (en) * 2019-09-06 2021-03-11 Sharp Kabushiki Kaisha Systems and methods for signaling temporal sub-layer information in video coding
CA3152464A1 (en) 2019-09-24 2021-04-01 Xiang Ma Methods and systems to signal inter-layer enabled syntax element in video coding
CN114424557B (zh) 2019-09-24 2023-11-10 华为技术有限公司 不允许未使用的层包括在多层视频码流中
JP7472425B2 (ja) 2019-09-24 2024-04-23 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デコーダによって実装される方法、エンコーダによって実装される方法、ビデオコーディングデバイス、コンピュータプログラム、デコーダ、エンコーダ、及びビットストリームを生成する方法
WO2021061571A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Picture timing and decoding unit information for temporal scalability
WO2021061530A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Ols for spatial and snr scalability
MX2022003557A (es) 2019-09-24 2022-06-14 Huawei Tech Co Ltd Ols para escalabilidad multivista.
BR122022009680A2 (pt) 2019-09-24 2022-07-12 Huawei Technologies Co., Ltd. Método implementado em um codificador, dispositivo de codificação de vídeo, meio legível por computador não transitório e codificador
WO2021061496A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
CN114450959A (zh) 2019-09-28 2022-05-06 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
BR112022006429A2 (pt) 2019-10-07 2022-06-28 Huawei Tech Co Ltd Restrições de entrada de imagem de referência com base em tamanho de dpb
WO2021096057A1 (ko) 2019-11-14 2021-05-20 엘지전자 주식회사 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
WO2021117813A1 (ja) 2019-12-13 2021-06-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
US11375182B2 (en) 2019-12-17 2022-06-28 Hfi Innovation Inc. Method and apparatus of constrained layer-wise video coding
US11356705B2 (en) 2019-12-23 2022-06-07 Qualcomm Incorporated Picture header intra random access picture and gradual decoder refresh signaling in video coding
EP4062319A4 (en) 2019-12-26 2023-01-11 ByteDance Inc. REPORTING DECODED FRAME BUFFER PARAMETERS IN LAYERED VIDEO
EP4310796A3 (en) 2019-12-26 2024-04-10 ByteDance Inc. Profile, tier and layer indication in video coding
JP2023508680A (ja) 2019-12-27 2023-03-03 バイトダンス インコーポレイテッド ビデオコーディングにおけるサブピクチャシグナリング
WO2021137597A1 (ko) 2019-12-30 2021-07-08 엘지전자 주식회사 Ols에 대한 dpb 파라미터를 사용하는 영상 디코딩 방법 및 그 장치
WO2021137295A1 (en) 2019-12-30 2021-07-08 Sharp Kabushiki Kaisha Systems and methods for signaling subpicture information in video coding
CN115567717B (zh) 2019-12-31 2023-11-28 华为技术有限公司 编码器、解码器及对应方法和装置
US11671627B2 (en) 2020-09-17 2023-06-06 Lemon Inc. Operating point entity group signaling in coded video
US20220086497A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity group signaling in coded video

Also Published As

Publication number Publication date
JP7431331B2 (ja) 2024-02-14
CN114902656A (zh) 2022-08-12
CN114868399A (zh) 2022-08-05
JP2024023415A (ja) 2024-02-21
WO2021134011A1 (en) 2021-07-01
JP2023508425A (ja) 2023-03-02
US11700390B2 (en) 2023-07-11
US11876995B2 (en) 2024-01-16
US20220321901A1 (en) 2022-10-06
US11831894B2 (en) 2023-11-28
WO2021134015A1 (en) 2021-07-01
CN114902674A (zh) 2022-08-12
US20220337880A1 (en) 2022-10-20
EP4062635A4 (en) 2022-12-28
US20240080468A1 (en) 2024-03-07
EP4310796A2 (en) 2024-01-24
EP4062640A4 (en) 2023-01-11
JP2023508424A (ja) 2023-03-02
CN117560496A (zh) 2024-02-13
EP4062640A1 (en) 2022-09-28
EP4062635A1 (en) 2022-09-28
US20220329868A1 (en) 2022-10-13
KR20220115958A (ko) 2022-08-19
WO2021134016A1 (en) 2021-07-01
JP7431330B2 (ja) 2024-02-14
EP4310796A3 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
JP7425878B2 (ja) レイヤ化されたビデオにおける復号ピクチャバッファパラメータのシグナリング
JP7431331B2 (ja) コーディングビットストリームにおけるビデオレイヤのシグナリングに対する制約
KR20220155277A (ko) 스케일러블 비디오 코딩의 랜덤 액세스 포인트 액세스 유닛
KR20230019852A (ko) 비-스케일러블 네스팅된 가상 참조 비디오 디코더 정보의 시그널링
WO2021244563A1 (en) Reference picture resampling

Legal Events

Date Code Title Description
E902 Notification of reason for refusal