KR20220124702A - 비디오 비트스트림들에서의 값 범위들에 대한 제약들 - Google Patents

비디오 비트스트림들에서의 값 범위들에 대한 제약들 Download PDF

Info

Publication number
KR20220124702A
KR20220124702A KR1020227022629A KR20227022629A KR20220124702A KR 20220124702 A KR20220124702 A KR 20220124702A KR 1020227022629 A KR1020227022629 A KR 1020227022629A KR 20227022629 A KR20227022629 A KR 20227022629A KR 20220124702 A KR20220124702 A KR 20220124702A
Authority
KR
South Korea
Prior art keywords
video
bitstream
picture
slice
syntax element
Prior art date
Application number
KR1020227022629A
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 KR20220124702A publication Critical patent/KR20220124702A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

서브픽처들, 슬라이스들, 및 타일들에 대한 제약들, 제한들 및 시그널링을 포함하는 비디오 코딩 및 인코딩을 위한 방법들, 디바이스들 및 시스템들이 설명된다. 하나의 예시적인 비디오 프로세싱 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 출력 계층 세트(OLS) 가상 참조 디코더(HRD)에 대한 파라미터 수를 나타내는 제1 신택스 요소가 제1 미리 결정된 임계치보다 작다는 것을 지정한다.

Description

비디오 비트스트림들에서의 값 범위들에 대한 제약들
관련 출원의 상호 참조
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙들에 따라, 본 출원은 2020년 1월 9일에 출원된 미국 가특허 출원 제US 62/959,108호에 대한 우선권 및 그 이익을 적시에 주장하기 위해 이루어졌다. 법에 따른 모든 목적들을 위해, 앞서 언급된 출원의 전체 개시는 본 출원의 개시의 일부로서 참고로 포함된다.
기술 분야
이 특허 문서는 이미지 및 비디오 코딩 및 디코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 많은 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
본 문서는 비디오 인코딩 또는 디코딩을 위해 비디오 인코더들 및 디코더들에 의해 사용될 수 있는 기술들을 개시하고, 서브픽처들, 슬라이스들, 및 타일들에 대한 제약들, 제한들 및 시그널링을 포함한다.
하나의 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙에 따라 하나 이상의 액세스 유닛을 포함하고, 여기서 포맷 규칙은 디코딩 순서에서 제1 메시지가 제2 메시지보다 앞서도록 동작 포인트(operation point, OP)에 적용되는 제1 메시지 및 제2 메시지가 액세스 유닛(AU) 내에서 존재하는 순서를 지정한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙에 따라 하나 이상의 액세스 유닛을 포함하고, 여기서 포맷 규칙은 디코딩 순서에서 복수의 메시지들 중 제1 메시지가 복수의 메시지들 중 제2 메시지보다 앞서도록 동작 포인트(OP)에 적용되는 복수의 메시지들이 액세스 유닛 내에서 존재하는 순서를 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 제1 플래그가 픽처와 연관된 픽처 헤더의 시작 부분에서 시그널링되는지 여부의 표시를 지정하고, 여기서 제1 플래그는 픽처가 인트라 랜덤 액세스 포인트(intra random access point, IRAP) 픽처인지 점진적 디코딩 리프레시(gradual decoding refresh, GDR) 픽처인지를 나타낸다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 하나 이상의 픽처 중 한 픽처를, 점진적 디코딩 리프레시 유형을 갖는 코딩된 슬라이스 네트워크 추상화 계층(NAL) 유닛을 포함하도록 그리고 픽처가 혼합된 유형들의 NAL 유닛들을 포함한다는 것을 나타내는 플래그와 연관되도록, 코딩하는 것을 허용하지 않는다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 하나 이상의 픽처 중 한 픽처를, 점진적 디코딩 리프레시 유형을 갖는 코딩된 슬라이스 네트워크 액세스 계층(NAL) 유닛을 포함하도록 그리고 픽처가 혼합된 유형들의 NAL 유닛들을 포함하지 않는다는 것을 나타내는 플래그와 연관되도록, 코딩하는 것을 허용한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 제1 신택스 요소가 픽처와 연관된 픽처 파라미터 세트(PPS)에서 시그널링되는지 여부를 지정하는 포맷 규칙을 준수하고, 여기서 픽처는 슬라이스 유형을 갖는 하나 이상의 슬라이스를 포함하며, 여기서 제1 신택스 요소는 제1 신택스 요소가 0과 동일한 것으로 인해 슬라이스 유형이 픽처 헤더에서 시그널링된다는 것을 나타내고, 그렇지 않으면 슬라이스 유형이 슬라이스 헤더에서 시그널링된다는 것을 나타낸다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 변환은 인루프 필터링 프로세스를 포함하고, 여기서 규칙은 인루프 필터링 프로세스에 관련된 수직 가상 경계들의 총수 및 수평 가상 경계들의 총수가 픽처 레벨 또는 시퀀스 레벨에서 시그널링된다는 것을 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 다른 계층들로부터의 참조 픽처들이 비트스트림에 존재하는지 여부를 나타내는 제1 신택스 요소에 기초하여 다른 계층들로부터의 참조 픽처들을 사용하여 하나의 계층에서의 픽처의 코딩을 조건부로 허용하며, 여기서 제1 신택스 요소는 픽처와 연관된 파라미터 세트의 식별자가 0과 동일하지 않은지 여부를 나타내는 제2 신택스 요소에 기초하여 비트스트림에서 조건부로 시그널링된다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 (a) 픽처 내의 코딩 트리 유닛(CTU)을 디코딩하기 전에 콘텍스트 변수들에 대한 동기화 프로세스를 인에이블시키고 (b) CTU를 디코딩한 후에 콘텍스트 변수들에 대한 저장 프로세스를 인에이블시키기 위한 제1 신택스 요소를 정의하며, 여기서 제1 신택스 요소는 픽처와 연관된 시퀀스 파라미터 세트(SPS)에서 시그널링된다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 타일들 또는 타일 특정 CTU 행들에 대한 진입점 오프셋들의 시그널링이 픽처의 슬라이스 헤더에 존재하는지 여부를 나타내기 위한 신택스 요소를 정의하며, 여기서 신택스 요소는 픽처와 연관된 시퀀스 파라미터 세트(SPS)에서 시그널링된다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 출력 계층 세트(OLS) 가상 참조 디코더(HRD)에 대한 파라미터 수를 나타내는 제1 신택스 요소가 제1 미리 결정된 임계치보다 작다는 것을 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 프로필/티어/레벨(PTL) 신택스 구조들의 수를 나타내는 신택스 요소가 미리 결정된 임계치보다 작다는 것을 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 비디오 파라미터 세트(VPS) 내의 디코딩된 픽처 버퍼 파라미터들 신택스 구조들의 수를 나타내는 제1 신택스 요소가 VPS에 의해 지정되는 계층 수를 나타내는 제2 신택스 요소보다 작거나 같아야 한다는 것을 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 종료(terminating) 네트워크 추상화 계층(NAL) 유닛이 비트스트림에서 시그널링하는 것 또는 외부 수단을 통해 제공하는 것에 의해 디코더에 이용 가능하게 되는 것을 허용한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 신택스 요소가 0과 동일한 것 - 이는 비트스트림 내의 각각의 계층이 계층 간 예측을 사용하도록 구성된다는 것을 나타냄 - 으로 인해 각각의 계층을 하나의 서브픽처만을 포함하도록 제한한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 서브비트스트림 추출 프로세스가 디코딩을 위한 서브비트스트림을 생성하도록 구현된다는 것을 지정하고, 여기서 서브비트스트림 추출 프로세스는 목표 최고 시간 식별자를 갖는 서브비트스트림을, 비트스트림으로부터, 추출하도록 구성되며, 여기서 규칙은, 추출 동안, 비디오 코딩 계층(VCL) 네트워크 추상화 계층(NAL) 유닛을 제거할 때, VCL NAL 유닛과 연관된 추가 향상 정보(SEI) NAL 유닛들 내의 필러 SEI 메시지들 및 필러 데이터 유닛들도 제거된다는 것을 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오의 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 비트스트림이 비디오 유닛이 무손실 모드로 코딩되는지 손실 모드로 코딩되는지를 나타내는 제1 신택스 요소를 포함한다는 것을 지정하며, 여기서 비디오 유닛에 적용되는 팔레트 모드에서의 이스케이프 샘플을 나타내는 제2 신택스 요소를 시그널링하는 것은 제1 신택스 요소의 값에 기초하여 선택적으로 포함된다.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장되어 있는 컴퓨터 판독 가능 매체가 개시된다. 코드는 본 명세서에 설명된 방법들 중 하나를 프로세서 실행 가능 코드 형태로 구체화한다.
이들 및 다른 특징들이 본 문서 전체에 걸쳐 설명된다.
도 1은 루마 코딩 트리 유닛들(CTU)로 픽처를 분할하는 예를 도시한다.
도 2는 루마 CTU들로 픽처를 분할하는 다른 예를 도시한다.
도 3은 픽처의 예시적인 분할을 도시한다.
도 4는 픽처의 다른 예시적인 분할을 도시한다.
도 5는 개시된 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템의 블록 다이어그램이다.
도 6은 비디오 프로세싱에 사용되는 예시적인 하드웨어 플랫폼의 블록 다이어그램이다.
도 7은 본 개시의 일부 실시예들에 따른 비디오 코딩 시스템을 예시하는 블록 다이어그램이다.
도 8은 본 개시의 일부 실시예들에 따른 인코더를 예시하는 블록 다이어그램이다.
도 9는 본 개시의 일부 실시예들에 따른 디코더를 예시하는 블록 다이어그램이다.
도 10 내지 도 26은 예시적인 비디오 프로세싱 방법들에 대한 플로차트들을 도시한다.
섹션 표제들은 본 문서에서 이해의 편의를 위해 사용되며 각각의 섹션에 개시된 기술들 및 실시예들의 적용 가능성을 해당 섹션으로만 제한하지 않는다. 게다가, 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 표준들을 만들었다. H.262 이후로, 비디오 코딩 표준들은 시간적 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이후의 미래 비디오 코딩 기술을 탐구하기 위해, 2015년에 VCEG와 MPEG에 의해 공동으로 JVET(Joint Video Exploration Team)가 설립되었다. 그 이후로, 많은 새로운 방법들이 JVET에 의해 채택되었고 JEM(Joint Exploration Model)이라는 참조 소프트웨어에 추가되었다. JVET 회의는 분기마다 1회 동시에 개최되며, 새로운 코딩 표준은 HEVC에 비해 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(VVC)이라고 명명되었으며, 당시에 VVC 테스트 모델(VTM)의 첫 번째 버전이 발표되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에, 매번의 JVET 회의에서 새로운 코딩 기술들이 VVC 표준에 채택되고 있다. VVC 작업 초안과 테스트 모델 VTM은 이어서 매번의 회의 이후에 업데이트된다. VVC 프로젝트는 이제 2020년 7월 회의에서 기술적 완성(FDIS)을 목표로 하고 있다.
3.1. HEVC에서의 픽처 분할 방식들
HEVC는, 최대 전송 유닛(Maximum Transfer Unit, MTU) 크기 매칭, 병렬 프로세싱, 및 감소된 종단 간 지연을 위해 적용될 수 있는, 4 가지 상이한 픽처 분할 방식, 즉 일반 슬라이스들, 종속적 슬라이스들, 타일들, 및 웨이브프런트 병렬 프로세싱(Wavefront Parallel Processing, WPP)을 포함한다.
일반 슬라이스들은 H.264/AVC에서와 유사하다. 각각의 일반 슬라이스는 자체 NAL 유닛에 캡슐화되고, 픽처 내 예측(in-picture prediction)(인트라 샘플 예측, 모션 정보 예측, 코딩 모드 예측) 및 슬라이스 경계들에 걸친 엔트로피 코딩 종속성이 디스에이블된다. 따라서 일반 슬라이스는 동일한 픽처 내의 다른 일반 슬라이스들과 독립적으로 재구성될 수 있다(루프 필터링 동작들로 인해 여전히 상호 종속성들이 있을 수 있다).
일반 슬라이스는, H.264/AVC에서도 거의 동일한 형태로 이용 가능한, 병렬화에 사용될 수 있는 유일한 툴이다. 일반 슬라이스들 기반 병렬화는 (예측 코딩된 픽처를 디코딩할 때 모션 보상을 위한 프로세서 간 또는 코어 간 데이터 공유 - 이는 전형적으로 픽처 내 예측으로 인한 프로세서 간 또는 코어 간 데이터 공유보다 훨씬 더 과중함 - 를 제외하고는) 많은 프로세서 간 또는 코어 간 통신을 필요로 하지 않는다. 그렇지만, 동일한 이유로, 일반 슬라이스들의 사용은 슬라이스 헤더의 비트 비용으로 인해 및 슬라이스 경계들에 걸친 예측 결여로 인해 상당한 코딩 오버헤드를 초래할 수 있다. 게다가, (아래에 언급된 다른 툴들과 대조적으로) 일반 슬라이스들은 또한, 일반 슬라이스들의 픽처 내 독립성 및 각각의 일반 슬라이스가 자체 NAL 유닛에 캡슐화되는 것으로 인해, MTU 크기 요구사항들과 매칭하도록 비트스트림 분할을 위한 핵심 메커니즘으로서 역할한다. 많은 경우에, 병렬화의 목표와 MTU 크기 매칭의 목표는 픽처에서의 슬라이스 레이아웃에 대한 상충된 요구들을 한다. 이러한 상황의 인식은 아래에 언급된 병렬화 툴들의 개발로 이어졌다.
종속적 슬라이스들은 짧은 슬라이스 헤더들을 가지며, 임의의 픽처 내 예측을 깨뜨리지 않고 트리블록 경계들에서 비트스트림의 분할을 가능하게 한다. 기본적으로, 일반 슬라이스 전체의 인코딩이 완료되기 전에 일반 슬라이스의 일부가 송출될 수 있게 하는 것에 의해 감소된 종단 간 지연을 제공하기 위해, 종속적 슬라이스들은 일반 슬라이스들을 다수의 NAL 유닛들로 단편화하는 것을 제공한다.
WPP에서는, 픽처가 단일 코딩 트리 블록(CTB) 행들로 분할된다. 엔트로피 디코딩 및 예측은 다른 파티션들에 있는 CTB들로부터의 데이터를 사용할 수 있다. 병렬 프로세싱은 CTB 행들의 병렬 디코딩을 통해 가능하며, 여기서 대상 CTB가 디코딩되기 전에 대상 CTB의 우측 위쪽에 있는 CTB에 관련된 데이터가 이용 가능하도록 하기 위해, CTB 행의 디코딩의 시작이 2 개의 CTB만큼 지연된다. 이러한 시차를 둔(staggered) 시작(이는 그래픽으로 표현될 때 파면처럼 보임)을 사용하면, 픽처가 CTB 행들을 포함한 수만큼의 프로세서들/코어들로 병렬화가 가능하다. 픽처 내의 이웃하는 트리블록 행들 사이의 픽처 내 예측이 가능하게 되기 때문에, 픽처 내 예측을 가능하게 하기 위해 필요한 프로세서 간/코어 간 통신이 상당할 수 있다. WPP 분할은 이것이 적용되지 않을 때와 비교하여 추가적인 NAL 유닛들의 생성을 결과하지 않으며, 따라서 WPP는 MTU 크기 매칭을 위한 툴이 아니다. 그렇지만, MTU 크기 매칭이 필요한 경우, 특정 코딩 오버헤드를 가지면서, 일반 슬라이스들이 WPP와 함께 사용될 수 있다.
타일들은 픽처를 타일 열들과 행들로 분할하는 수평 경계들 및 수직 경계들을 정의한다. 타일 열은 픽처의 상단으로부터 픽처의 하단으로 이어진다. 마찬가지로, 타일 행은 픽처의 왼쪽으로부터 픽처의 오른쪽으로 이어진다. 픽처 내의 타일 수는 타일 열 수와 타일 행 수를 곱하는 것으로서 간단하게 도출될 수 있다.
픽처의 타일 래스터 스캔 순서에서 다음 타일의 좌측 상단 CTB를 디코딩하기 전에, CTB들의 스캔 순서가 (타일의 CTB 래스터 스캔 순서에서) 타일 내에 로컬이도록 변경된다. 일반 슬라이스들과 유사하게, 타일들은 픽처 내 예측 종속성들은 물론 엔트로피 디코딩 종속성들을 깨뜨린다. 그렇지만, 타일들이 개개의 NAL 유닛들에 포함될 필요가 없으며(이 점에서 WPP와 동일함); 따라서 타일들이 MTU 크기 매칭에 사용될 수 없다. 각각의 타일은 하나의 프로세서/코어에 의해 프로세싱될 수 있으며, 이웃하는 타일들을 디코딩하는 프로세싱 유닛들 간의 픽처 내 예측에 필요한 프로세서 간/코어 간 통신은 슬라이스가 하나 초과의 타일에 걸쳐 있는 경우에 공유 슬라이스 헤더를 전달하는 것, 및 재구성된 샘플들 및 메타데이터의 루프 필터링 관련 공유로 제한된다. 하나 초과의 타일 또는 WPP 세그먼트가 슬라이스에 포함될 때, 슬라이스에서의 첫 번째 타일 또는 WPP 세그먼트가 아닌 각각의 타일 또는 WPP 세그먼트에 대한 진입점 바이트 오프셋은 슬라이스 헤더에서 시그널링된다.
단순함을 위해, 4 가지 상이한 픽처 분할 방식의 적용에 대한 제한들이 HEVC에서 지정되었다. 주어진 코딩된 비디오 시퀀스는 HEVC에서 지정된 프로필들의 대부분에 대해 타일들과 웨이브프런트들 양쪽 모두를 포함할 수는 없다. 각각의 슬라이스 및 타일에 대해, 다음 조건들 중 하나 또는 양쪽 모두가 충족되어야 한다: 1) 슬라이스 내의 모든 코딩된 트리블록들이 동일한 타일에 속한다; 2) 타일 내의 모든 코딩된 트리블록들이 동일한 슬라이스에 속한다. 마지막으로, 웨이브프런트 세그먼트는 정확히 하나의 CTB 행을 포함하며, WPP가 사용 중일 때, 슬라이스가 CTB 행 내에서 시작되는 경우, 이는 동일한 CTB 행에서 끝나야 한다.
HEVC에 대한 최근의 수정안은 http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip에서 공개적으로 이용 가능한, JCT-VC 출력 문서 JCTVC-AC1005, J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (editors), "HEVC Additional Supplemental Enhancement Information (Draft 4)," Oct. 24, 2017에 지정되어 있다. 이 수정안이 포함되면, HEVC는 3 개의 MCTS 관련 SEI 메시지, 즉 시간적 MCTS들 SEI 메시지, MCTS들 추출 정보 세트 SEI 메시지, 및 MCTS들 추출 정보 내포(nesting) SEI 메시지를 지정한다.
시간적 MCTS들 SEI 메시지는 비트스트림에 MCTS들이 존재함을 나타내고 MCTS들을 시그널링한다. 각각의 MCTS에 대해, 모션 벡터들은 MCTS 내부의 완전 샘플 위치들을 가리키고 보간을 위해 MCTS 내부의 완전 샘플 위치들만을 필요로 하는 분수 샘플 위치들을 가리키도록 제한되며, MCTS 외부의 블록들로부터 도출되는 시간적 모션 벡터 예측을 위해 모션 벡터 후보들을 사용하는 것이 허용되지 않는다. 이러한 방식으로, MCTS에 포함되지 않은 타일들이 존재하지 않으면 각각의 MCTS가 독립적으로 디코딩될 수 있다.
MCTS들 추출 정보 세트들 SEI 메시지는 MCTS 세트에 대한 부합하는 비트스트림을 생성하기 위해 (SEI 메시지의 시맨틱스의 일부로서 지정된) MCTS 서브비트스트림 추출에서 사용될 수 있는 추가 정보를 제공한다. 이 정보는 다수의 추출 정보 세트들로 구성되며, 각각의 추출 정보 세트는 다수의 MCTS 세트들을 정의하고 MCTS 서브비트스트림 추출 프로세스 동안 사용될 대체 VPS들, SPS들, 및 PPS들의 RBSP 바이트들을 포함한다. MCTS 서브비트스트림 추출 프로세스에 따라 서브비트스트림을 추출할 때, 파라미터 세트들(VPS들, SPS들, 및 PPS들)이 고쳐쓰기되거나 대체될 필요가 있고, 슬라이스 헤더들이 약간 업데이트될 필요가 있는데 그 이유는 슬라이스 어드레스 관련 신택스 요소들(first_slice_segment_in_pic_flag 및 slice_segment_address를 포함함) 중 하나 또는 전부가 전형적으로 상이한 값들을 가질 필요가 있을 것이기 때문이다.
3.2. VVC에서의 픽처들의 분할
VVC에서, 픽처는 하나 이상의 타일 행과 하나 이상의 타일 열로 나누어진다. 타일은 픽처의 직사각형 영역을 커버하는 CTU들의 시퀀스이다. 타일 내의 CTU들은 해당 타일 내에서 래스터 스캔 순서로 스캔된다.
슬라이스는 정수 개의 완전한 타일들 또는 픽처의 타일 내의 정수 개의 연속적인 완전한 CTU 행들로 구성된다.
두 가지 슬라이스 모드, 즉 래스터 스캔 슬라이스 모드와 직사각형 슬라이스 모드가 지원된다. 래스터 스캔 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 완전한 타일들의 시퀀스를 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 집합적으로 형성하는 다수의 완전한 타일들 또는 픽처의 직사각형 영역을 집합적으로 형성하는 하나의 타일의 다수의 연속적인 완전한 CTU 행들 중 어느 하나를 포함한다. 직사각형 슬라이스 내의 타일들은 해당 슬라이스에 대응하는 직사각형 영역 내에서 타일 래스터 스캔 순서로 스캔된다.
서브픽처는 픽처의 직사각형 영역을 집합적으로 커버하는 하나 이상의 슬라이스를 포함한다.
도 1은 픽처의 래스터 스캔 슬라이스 분할의 예를 도시하며, 여기서 픽처는 12 개의 타일과 3 개의 래스터 스캔 슬라이스로 나누어진다.
도 2는 픽처의 직사각형 슬라이스 분할의 예를 도시하며, 여기서 픽처는 24 개의 타일(6 개의 타일 열과 4 개의 타일 행)과 9 개의 직사각형 슬라이스로 나누어진다.
도 3은 타일들 및 직사각형 슬라이스들로 분할된 픽처의 예를 도시하며, 여기서 픽처는 4 개의 타일(2 개의 타일 열과 2 개의 타일 행)과 4 개의 직사각형 슬라이스로 나누어진다.
도 4는 픽처의 서브픽처 분할의 예를 도시하며, 여기서 픽처는 18 개의 타일로 분할되고, 왼쪽에 있는 12 개의 타일 각각은 4 x 4 CTU들의 하나의 슬라이스를 커버하고 오른쪽에 있는 6 개의 타일 각각은 2 x 2 CTU들의 2 개의 수직으로 적층된 슬라이스를 커버하며, 함께 다양한 치수들의 24 개의 슬라이스 및 24 개의 서브픽처(각각의 슬라이스는 서브픽처임)를 결과한다.
3.3. VVC에서의 서브픽처들, 타일들, 및 슬라이스들의 시그널링
최신 VVC 초안 텍스트에서, 서브픽처 레이아웃(즉, 각각의 픽처에 대한 서브픽처 수 및 각각의 픽처의 위치 및 크기)을 포함하는 서브픽처들에 대한 정보 및 다른 시퀀스 레벨 서브픽처 정보는 SPS에서 시그널링된다. SPS에서 시그널링되는 서브픽처들의 순서는 서브픽처 인덱스를 정의한다. 각각의 서브픽처에 대해 하나씩인 서브픽처 ID들의 리스트는, 예를 들면, SPS에서 또는 PPS에서 명시적으로 시그널링될 수 있다.
VVC에서의 타일들은 HEVC에서와 개념적으로 동일하다, 즉, 각각의 픽처가 타일 열들과 타일 행들로 분할되지만, 타일들의 시그널링을 위한 PPS에서의 신택스는 상이하다.
VVC에서는, 슬라이스 모드가 또한 PPS에서 시그널링된다. 슬라이스 모드가 직사각형 슬라이스 모드일 때, 각각의 픽처에 대한 슬라이스 레이아웃(즉, 각각의 픽처에 대한 슬라이스 수, 각각의 슬라이스의 위치 및 크기)이 PPS에서 시그널링된다. PPS에서 시그널링되는 픽처 내에서의 직사각형 슬라이스들의 순서는 픽처 레벨 슬라이스 인덱스를 정의한다. 서브픽처 레벨 슬라이스 인덱스는 서브픽처 내의 슬라이스들의 픽처 레벨 슬라이스 인덱스들의 증가 순으로 서브픽처 내의 슬라이스들의 순서로서 정의된다. 직사각형 슬라이스들의 위치들 및 크기들은 SPS에서 시그널링되는 서브픽처 위치들 및 크기들에 기초하여(각각의 서브픽처가 하나의 슬라이스만을 포함할 때) 또는 PPS에서 시그널링되는 타일 위치들 및 크기들에 기초하여(서브픽처가 하나 초과의 슬라이스를 포함할 수 있을 때) 시그널링/도출된다. HEVC에서와 유사하게, 슬라이스 모드가 래스터 스캔 슬라이스 모드일 때, 픽처 내에서의 슬라이스들의 레이아웃은, 상이한 세부 사항들로, 슬라이스들 자체에서 시그널링된다.
본 발명들과 가장 관련성 있는 최신 VVC 초안 텍스트에서의 SPS, PPS, 및 슬라이스 헤더 신택스 및 시맨틱스는 다음과 같다.
7.3.2.3 시퀀스 파라미터 세트 RBSP 신택스
Figure pct00001
7.4.3.3 시퀀스 파라미터 세트 RBSP 시맨틱스
...
subpics_present_flag가 1과 동일한 것은 서브픽처 파라미터들이 SPS RBSP 신택스에 존재한다는 것을 지정한다. subpics_present_flag가 0과 동일한 것은 서브픽처 파라미터들이 SPS RBSP 신택스에 존재하지 않는다는 것을 지정한다.
비고 2 - 비트스트림이 서브비트스트림 추출 프로세스의 결과이고 서브비트스트림 추출 프로세스에 대한 입력 비트스트림의 서브픽처들의 서브세트만을 포함할 때, SPS들의 RBSP에서 subpics_present_flag의 값을 1과 동일하게 설정하는 것이 요구될 수 있다.
sps_num_subpics_minus1 + 1은 서브픽처 수를 지정한다. sps_num_subpics_minus1은 0 내지 254의 범위에 있어야 한다. 존재하지 않을 때, sps_num_subpics_minus1의 값은 0과 동일한 것으로 추론된다.
subpic_ctu_top_left_x[ i ]는 CtbSizeY의 단위로 i 번째 서브픽처의 좌측 상단 CTU의 수평 위치를 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_width_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_ctu_top_left_x[ i ]의 값은 0과 동일한 것으로 추론된다.
subpic_ctu_top_left_y[ i ]는 CtbSizeY의 단위로 i 번째 서브픽처의 좌측 상단 CTU의 수직 위치를 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_height_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_ctu_top_left_y[ i ]의 값은 0과 동일한 것으로 추론된다.
subpic_width_minus1[ i ] + 1은 CtbSizeY의 단위로 i 번째 서브픽처의 폭을 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_width_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_width_minus1[ i ]의 값은 Ceil( pic_width_max_in_luma_samples / CtbSizeY ) - 1과 동일한 것으로 추론된다.
subpic_height_minus1[ i ] + 1은 CtbSizeY의 단위로 i 번째 서브픽처의 높이를 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_height_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_height_minus1[ i ]의 값은 Ceil( pic_height_max_in_luma_samples / CtbSizeY ) - 1과 동일한 것으로 추론된다.
subpic_treated_as_pic_flag[ i ]가 1과 동일한 것은 CLVS에서의 각각의 코딩된 픽처의 i 번째 서브픽처가 인루프 필터링 동작들을 제외한 디코딩 프로세스에서 픽처로서 취급된다는 것을 지정한다. subpic_treated_as_pic_flag[ i ]가 0과 동일한 것은 CLVS에서의 각각의 코딩된 픽처의 i 번째 서브픽처가 인루프 필터링 동작들을 제외한 디코딩 프로세스에서 픽처로서 취급되지 않는다는 것을 지정한다. 존재하지 않을 때, subpic_treated_as_pic_flag[ i ]의 값은 0과 동일한 것으로 추론된다.
loop_filter_across_subpic_enabled_flag[ i ]가 1과 동일한 것은 인루프 필터링 동작들이 CLVS에서의 각각의 코딩된 픽처 내의 i 번째 서브픽처의 경계들에 걸쳐 수행될 수 있다는 것을 지정한다. loop_filter_across_subpic_enabled_flag[ i ]가 0과 동일한 것은 인루프 필터링 동작들이 CLVS에서의 각각의 코딩된 픽처 내의 i 번째 서브픽처의 경계들에 걸쳐 수행되지 않는다는 것을 지정한다. 존재하지 않을 때, loop_filter_across_subpic_enabled_pic_flag[ i ]의 값은 1과 동일한 것으로 추론된다.
다음 제약들이 적용되는 것은 비트스트림 적합성의 요구사항이다:
- 임의의 2 개의 서브픽처 subpicA 및 subpicB에 대해, subpicA의 서브픽처 인덱스가 subpicB의 서브픽처 인덱스보다 작을 때, subPicA의 임의의 코딩된 슬라이스 NAL 유닛은 디코딩 순서에서 subPicB의 임의의 코딩된 슬라이스 NAL 유닛에 선행해야 한다.
- 서브픽처들의 형상들은 각각의 서브픽처가, 디코딩될 때, 그의 전체 좌측 경계와 전체 상단 경계가 픽처 경계들로 구성되거나 이전에 디코딩된 서브픽처들의 경계들로 구성되도록 되어야 한다.
sps_subpic_id_present_flag가 1과 동일한 것은 서브픽처 ID 매핑이 SPS에 존재한다는 것을 지정한다. sps_subpic_id_present_flag가 0과 동일한 것은 서브픽처 ID 매핑이 SPS에 존재하지 않는다는 것을 지정한다.
sps_subpic_id_signalling_present_flag가 1과 동일한 것은 서브픽처 ID 매핑이 SPS에서 시그널링된다는 것을 지정한다. sps_subpic_id_signalling_present_flag가 0과 동일한 것은 서브픽처 ID 매핑이 SPS에서 시그널링되지 않는다는 것을 지정한다. 존재하지 않을 때, sps_subpic_id_signalling_present_flag의 값은 0과 동일한 것으로 추론된다.
sps_subpic_id_len_minus1 + 1은 신택스 요소 sps_subpic_id[ i ]를 표현하는 데 사용되는 비트 수를 지정한다. sps_ subpic_id_len_minus1의 값은 0 내지 15(경계 포함)의 범위에 있어야 한다.
sps_subpic_id[ i ]는 i 번째 서브픽처의 서브픽처 ID를 지정한다. 신택스 요소 sps_subpic_id[ i ]의 길이는 sps_subpic_id_len_minus1 + 1 비트이다. 존재하지 않을 때 그리고 sps_subpic_id_present_flag가 0과 동일할 때, sps_subpic_id[ i ]의 값은, 0 내지 sps_num_subpics_minus1(경계 포함)의 범위에 있는 각각의 i에 대해, i와 동일한 것으로 추론된다.
...
7.3.2.4 픽처 파라미터 세트 RBSP 신택스
Figure pct00002
Figure pct00003
7.4.3.4 픽처 파라미터 세트 RBSP 시맨틱스
...
pps_subpic_id_signalling_present_flag가 1과 동일한 것은 서브픽처 ID 매핑이 PPS에서 시그널링된다는 것을 지정한다. pps_subpic_id_signalling_present_flag가 0과 동일한 것은 서브픽처 ID 매핑이 PPS에서 시그널링되지 않는다는 것을 지정한다. sps_subpic_id_present_flag가 0이거나 sps_subpic_id_signalling_present_flag가 1과 동일할 때, pps_subpic_id_signalling_present_flag는 0과 동일해야 한다.
pps_num_subpics_minus1 + 1은 PPS를 참조하는 코딩된 픽처 내의 서브픽처 수를 지정한다.
pps_num_subpic_minus1의 값이 sps_num_subpics_minus1과 동일해야 한다는 것은 비트스트림 적합성의 요구사항이다.
pps_subpic_id_len_minus1 + 1은 신택스 요소 pps_subpic_id[ i ]를 나타내는 데 사용되는 비트 수를 지정한다. pps_ subpic_id_len_minus1의 값은 0 내지 15(경계 포함)의 범위에 있어야 한다.
pps_subpic_id_len_minus1의 값이 CLVS에서의 코딩된 픽처들에 의해 참조되는 모든 PPS들에 대해 동일해야 한다는 것은 비트스트림 적합성의 요구사항이다.
pps_subpic_id[ i ]는 i 번째 서브픽처의 서브픽처 ID를 지정한다. pps_subpic_id[ i ] 신택스 요소의 길이는 pps_subpic_id_len_minus1 + 1 비트이다.
no_pic_partition_flag가 1과 동일한 것은 PPS를 참조하는 각각의 픽처에 픽처 분할이 적용되지 않는다는 것을 지정한다. no_pic_partition_flag가 0과 동일한 것은 PPS를 참조하는 각각의 픽처가 하나 초과의 타일 또는 슬라이스로 분할될 수 있다는 것을 지정한다.
no_pic_partition_flag의 값이 CLVS 내의 코딩된 픽처들에 의해 참조되는 모든 PPS들에 대해 동일해야 한다는 것은 비트스트림 적합성의 요구사항이다.
sps_num_subpics_minus1 + 1의 값이 1보다 클 때 no_pic_partition_flag의 값이 1과 동일하지 않아야 한다는 것은 비트스트림 적합성의 요구사항이다.
pps_log2_ctu_size_minus5 + 5는 각각의 CTU의 루마 코딩 트리 블록 크기를 지정한다. pps_log2_ctu_size_minus5는 sps_log2_ctu_size_minus5와 동일해야 한다.
num_exp_tile_columns_minus1 + 1은 명시적으로 제공된 타일 열 폭들의 수를 지정한다. num_exp_tile_columns_minus1의 값은 0 내지 PicWidthInCtbsY - 1(경계 포함)의 범위에 있어야 한다. no_pic_partition_flag가 1과 동일할 때, num_exp_tile_columns_minus1의 값은 0과 동일한 것으로 추론된다.
num_exp_tile_rows_minus1 + 1은 명시적으로 제공된 타일 행 높이들의 수를 지정한다. num_exp_tile_rows_minus1의 값은 0 내지 PicHeightInCtbsY - 1(경계 포함)의 범위에 있어야 한다. no_pic_partition_flag가 1과 동일할 때, num_tile_rows_minus1의 값은 0과 동일한 것으로 추론된다.
tile_column_width_minus1[ i ] + 1은 0 내지 num_exp_tile_columns_minus1 - 1(경계 포함)의 범위에 있는 i에 대해 CTB 단위로 i 번째 타일 열의 폭을 지정한다. tile_column_width_minus1[ num_exp_tile_columns_minus1 ]은 6.5.1 절에 지정된 바와 같이 인덱스가 num_exp_tile_columns_minus1 이상인 타일 열들의 폭을 도출하는 데 사용된다. 존재하지 않을 때, tile_column_width_minus1[ 0 ]의 값은 PicWidthInCtbsY - 1과 동일한 것으로 추론된다.
tile_row_height_minus1[ i ] + 1은 0 내지 num_exp_tile_rows_minus1 - 1(경계 포함)의 범위에 있는 i에 대해 CTB 단위로 i 번째 타일 행의 높이를 지정한다. tile_row_height_minus1[ num_exp_tile_rows_minus1 ]은 6.5.1 절에 지정된 바와 같이 인덱스가 num_exp_tile_rows_minus1 이상인 타일 행들의 높이를 도출하는 데 사용된다. 존재하지 않을 때, tile_row_height_minus1[ 0 ]의 값은 PicHeightInCtbsY - 1과 동일한 것으로 추론된다.
rect_slice_flag가 0과 동일한 것은 각각의 슬라이스 내의 타일들이 래스터 스캔 순서로 있고 슬라이스 정보가 PPS에서 시그널링되지 않는다는 것을 지정한다. rect_slice_flag가 1과 동일한 것은 각각의 슬라이스 내의 타일들이 픽처의 직사각형 영역을 커버하고 슬라이스 정보가 PPS에서 시그널링된다는 것을 지정한다. 존재하지 않을 때, rect_slice_flag는 1과 동일한 것으로 추론된다. subpics_present_flag가 1과 동일할 때, rect_slice_flag의 값은 1과 동일해야 한다.
single_slice_per_subpic_flag가 1과 동일한 것은 각각의 서브픽처가 단 하나의 직사각형 슬라이스로 구성된다는 것을 지정한다. single_slice_per_subpic_flag가 0과 동일한 것은 각각의 서브픽처가 하나 이상의 직사각형 슬라이스로 구성될 수 있다는 것을 지정한다. subpics_present_flag가 0과 동일할 때, single_slice_per_subpic_flag는 0과 동일해야 한다. single_slice_per_subpic_flag가 1과 동일할 때, num_slices_in_pic_minus1은 sps_num_subpics_minus1과 동일한 것으로 추론된다.
num_slices_in_pic_minus1 + 1은 PPS를 참조하는 각각의 픽처 내의 직사각형 슬라이스 수를 지정한다. num_slices_in_pic_minus1의 값은 0 내지 MaxSlicesPerPicture - 1(경계 포함)의 범위에 있어야 하며, 여기서 MaxSlicesPerPicture는 부록 A에 지정되어 있다. no_pic_partition_flag가 1과 동일할 때, num_slices_in_pic_minus1의 값은 0과 동일한 것으로 추론된다.
tile_idx_delta_present_flag가 0과 동일한 것은 tile_idx_delta 값들이 PPS에 존재하지 않고 PPS를 참조하는 픽처 내의 모든 직사각형 슬라이스들이 6.5.1 절에 정의된 프로세스에 따라 래스터 순서로 지정된다는 것을 지정한다. tile_idx_delta_present_flag가 1과 동일한 것은 tile_idx_delta 값들이 PPS에 존재할 수 있고 PPS를 참조하는 픽처들 내의 모든 직사각형 슬라이스들이 tile_idx_delta의 값들에 의해 표시되는 순서로 지정된다는 것을 지정한다.
slice_width_in_tiles_minus1[ i ] + 1은 타일 열 단위로 i 번째 직사각형 슬라이스의 폭을 지정한다. slice_width_in_tiles_minus1[ i ]의 값은 0 내지 NumTileColumns - 1(경계 포함)의 범위에 있어야 한다. 존재하지 않을 때, slice_width_in_tiles_minus1[ i ]의 값은 6.5.1 절에 지정된 바와 같이 추론된다.
slice_height_in_tiles_minus1[ i ] + 1은 타일 행 단위로 i 번째 직사각형 슬라이스의 높이를 지정한다. slice_height_in_tiles_minus1[ i ]의 값은 0 내지 NumTileRows - 1(경계 포함)의 범위에 있어야 한다. 존재하지 않을 때, slice_height_in_tiles_minus1[ i ]의 값은 6.5.1 절에 지정된 바와 같이 추론된다.
num_slices_in_tile_minus1[ i ] + 1은 i 번째 슬라이스가 단일 타일로부터의 CTU 행들의 서브세트를 포함하는 경우에 대해 현재 타일 내의 슬라이스 수를 지정한다. num_slices_in_tile_minus1[ i ]의 값은 0 내지 RowHeight[ tileY ] - 1(경계 포함)의 범위에 있어야 하며, 여기서 tileY는 i 번째 슬라이스를 포함하는 타일 행 인덱스이다. 존재하지 않을 때, num_slices_in_tile_minus1[ i ]의 값은 0과 동일한 것으로 추론된다.
slice_height_in_ctu_minus1[ i ] + 1은 i 번째 슬라이스가 단일 타일로부터의 CTU 행들의 서브세트를 포함하는 경우에 대해 CTU 행 단위로 i 번째 직사각형 슬라이스의 높이를 지정한다. slice_height_in_ctu_minus1[ i ]의 값은 0 내지 RowHeight[ tileY ] - 1(경계 포함)의 범위에 있어야 하며, 여기서 tileY는 i 번째 슬라이스를 포함하는 타일 행 인덱스이다.
tile_idx_delta[ i ]는 i 번째 직사각형 슬라이스와 ( i + 1 ) 번째 직사각형 슬라이스 사이의 타일 인덱스의 차이를 지정한다. tile_idx_delta[ i ]의 값은 -NumTilesInPic + 1 내지 NumTilesInPic - 1(경계 포함)의 범위에 있어야 한다. 존재하지 않을 때, tile_idx_delta[ i ]의 값은 0과 동일한 것으로 추론된다. 다른 모든 경우에, tile_idx_delta[ i ]의 값은 0과 동일하지 않아야 한다.
loop_filter_across_tiles_enabled_flag가 1과 동일한 것은 인루프 필터링 동작들이 PPS를 참조하는 픽처들에서의 타일 경계들에 걸쳐 수행될 수 있다는 것을 지정한다. loop_filter_across_tiles_enabled_flag가 0과 동일한 것은 인루프 필터링 동작들이 PPS를 참조하는 픽처들에서의 타일 경계들에 걸쳐 수행되지 않는다는 것을 지정한다. 인루프 필터링 동작들은 디블로킹 필터, 샘플 적응적 오프셋 필터, 및 적응적 루프 필터 동작들을 포함한다. 존재하지 않을 때, loop_filter_across_tiles_enabled_flag의 값은 1과 동일한 것으로 추론된다.
loop_filter_across_slices_enabled_flag가 1과 동일한 것은 인루프 필터링 동작들이 PPS를 참조하는 픽처들에서 슬라이스 경계들에 걸쳐 수행될 수 있다는 것을 지정한다. loop_filter_across_slice_enabled_flag가 0과 동일한 것은 인루프 필터링 동작들이 PPS를 참조하는 픽처들에서 슬라이스 경계들에 걸쳐 수행되지 않는다는 것을 지정한다. 인루프 필터링 동작들은 디블로킹 필터, 샘플 적응적 오프셋 필터, 및 적응적 루프 필터 동작들을 포함한다. 존재하지 않을 때, loop_filter_across_slices_enabled_flag의 값은 0과 동일한 것으로 추론된다.
...
7.3.7.1 일반 슬라이스 헤더 신택스
Figure pct00004
7.4.8.1 일반 슬라이스 헤더 시맨틱스
...
slice_subpic_id는 슬라이스를 포함하는 서브픽처의 서브픽처 식별자를 지정한다. slice_subpic_id가 존재하는 경우, 변수 SubPicIdx의 값은 SubpicIdList[ SubPicIdx ]가 slice_subpic_id와 동일하게 되도록 도출된다. 그렇지 않은 경우(slice_subpic_id가 존재하지 않는 경우), 변수 SubPicIdx는 0과 동일하도록 도출된다. 비트 단위인 slice_subpic_id의 길이는 다음과 같이 도출된다:
- sps_subpic_id_signalling_present_flag가 1과 동일한 경우, slice_subpic_id의 길이는 sps_subpic_id_len_minus1 + 1과 동일하다.
- 그렇지 않고, ph_subpic_id_signalling_present_flag가 1과 동일한 경우, slice_subpic_id의 길이는 ph_subpic_id_len_minus1 + 1과 동일하다.
- 그렇지 않고, pps_subpic_id_signalling_present_flag가 1과 동일한 경우, slice_subpic_id의 길이는 pps_subpic_id_len_minus1 + 1과 동일하다.
- 그렇지 않은 경우, slice_subpic_id의 길이는 Ceil( Log2 ( sps_num_subpics_minus1 + 1 ) )과 동일하다.
slice_address는 슬라이스의 슬라이스 어드레스를 지정한다. 존재하지 않을 때, slice_address의 값은 0과 동일한 것으로 추론된다.
rect_slice_flag가 0과 동일한 경우, 다음이 적용된다:
- 슬라이스 어드레스는 래스터 스캔 타일 인덱스이다.
- slice_address의 길이는 Ceil( Log2 ( NumTilesInPic ) ) 비트이다.
- slice_address의 값은 0 내지 NumTilesInPic - 1(경계 포함)의 범위에 있어야 한다.
그렇지 않은 경우(rect_slice_flag가 1과 동일한 경우), 다음이 적용된다:
- 슬라이스 어드레스는 SubPicIdx 번째 서브픽처 내의 슬라이스의 슬라이스 인덱스이다.
- slice_address의 길이는 Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ) 비트이다.
- slice_address의 값은 0 내지 NumSlicesInSubpic[ SubPicIdx ] - 1(경계 포함)의 범위에 있어야 한다.
다음 제약들이 적용되는 것은 비트스트림 적합성의 요구사항이다:
- rect_slice_flag가 0과 동일하거나 subpics_present_flag가 0과 동일한 경우, slice_address의 값은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_address의 값과 동일하지 않아야 한다.
- 그렇지 않은 경우, slice_subpic_id 값과 slice_address 값의 쌍은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_subpic_id 값과 slice_address 값의 쌍과 동일하지 않아야 한다.
- rect_slice_flag가 0과 동일할 때, 픽처의 슬라이스들은 그들의 slice_address 값들의 증가 순으로 있어야 한다.
- 픽처의 슬라이스들의 형상들은 각각의 CTU가, 디코딩될 때, 그의 전체 좌측 경계와 전체 상단 경계가 픽처 경계로 구성되거나 이전에 디코딩된 CTU(들)의 경계들로 구성되도록 해야 한다.
num_tiles_in_slice_minus1 + 1은, 존재할 때, 슬라이스 내의 타일 수를 지정한다. num_tiles_in_slice_minus1의 값은 0 내지 NumTilesInPic - 1(경계 포함)의 범위에 있어야 한다.
현재 슬라이스 내의 CTU 수를 지정하는 변수 NumCtuInCurrSlice, 및 슬라이스 내의 i 번째 CTB의 픽처 래스터 스캔 어드레스를 지정하는, 0 내지 NumCtuInCurrSlice - 1(경계 포함)의 범위에 있는 i에 대한, 리스트 CtbAddrInCurrSlice[ i ]는 다음과 같이 도출된다:
Figure pct00005
변수들 SubPicLeftBoundaryPos, SubPicTopBoundaryPos, SubPicRightBoundaryPos, 및 SubPicBotBoundaryPos는 다음과 같이 도출된다:
Figure pct00006
Figure pct00007
...
3.4. JVET-Q0075로부터의 실시예들
팔레트 모드에서 이상치 사례를 처리하기 위해 이스케이프 샘플들이 이용된다.
이스케이프 샘플의 이진화는 현재 VTM에서 EG3이다. 그렇지만, 균일 분포 신호의 경우, 왜곡 및 비트 레이트 측정들 양쪽 모두에서 고정 길이 이진화가 EG3보다 나을 수 있다.
JVET-Q0075는 이스케이프 샘플들에 고정 길이 이진화를 사용할 것을 제안하며 그에 따라 양자화 및 역양자화 프로세스도 수정된다.
제안된 방법에서 이스케이프 샘플의 최대 비트 깊이는 양자화 파라미터에 의존하며 다음과 같이 도출된다.
max (1, bitDepth - (max (QpPrimeTsMin, Qp) - 4)/6)
본 명세서에서, bitDepth는 내부 비트 깊이이고, Qp는 현재 양자화 파라미터(QP)이며, QpPrimeTsMin은 변환 스킵 블록들에 대한 최소 QP이고, max는 2 개의 입력 중에서 큰 쪽 값을 얻기 위한 연산이다.
또한, 이스케이프 샘플에 대한 역양자화 프로세스에서는 시프트 연산만이 필요하다. escapeVal을 디코딩된 이스케이프 값이라고 하고 recon을 이스케이프 샘플의 재구성된 값이라고 하자. 값은 다음과 같이 도출된다.
shift = min (bitDepth - 1, (max (QpPrimeTsMin, Qp) - 4)/6)
recon = (escapeVal << shift)
이는 재구성된 값의 왜곡이 현재 설계의 왜곡보다 항상 작거나 같도록, 즉, ((escapeVal*levelScale [qP%6]) <<(qP/6) +32)>>6이도록 보장한다.
인코더에서, 양자화는 다음과 같이 구현된다:
escapeVal = (p + (1 << (shift - 1))) >> shift
escapeVal = clip3(0, (1 << bd) - 1, escapeVal)
EG3와 역양자화 테이블을 사용한 양자화, 한 번의 덧셈, 한 번의 곱셈 및 두 번의 시프트 연산을 사용하는 현재 설계와 비교하여, 한 번의 시프트 연산만을 필요로 하는 제안된 방법이 훨씬 더 간단하다.
3.5. JVET-Q0294로부터의 실시예들
손실 및 무손실 혼합 코딩(mixed lossy and lossless coding)에서 효율적인 압축을 달성하기 위해, JVET-Q0294는 CTU가 무손실 모드로 코딩되어 있는지 손실 모드로 코딩되어 있는지를 나타내기 위해 각각의 코딩 트리 유닛(CTU)에서 플래그를 시그널링할 것을 제안한다. CTU가 무손실 코딩되어 있는 경우, 해당 CTU에 사용되는 잔차 코딩 방법, 즉 일반 잔차 코딩(regular residual coding) 또는 변환 스킵 잔차 코딩(transform skip residual coding) 중 어느 하나를 지정하기 위해 추가적인 CTU 레벨 플래그가 시그널링된다.
4. 본 명세서에서의 해결책들에 의해 해결되는 기술적 문제들의 예들
VVC에서 서브픽처들, 타일들, 및 슬라이스들의 시그널링을 위한 기존의 설계들은 다음과 같은 문제들이 있다:
1) sps_num_subpics_minus1의 코딩은, 픽처당 256 개 초과의 서브픽처를 허용하지 않는, u(8)이다. 그렇지만, 특정 응용 분야들에서, 픽처당 최대 서브픽처 수가 256보다 커야 할 필요가 있을 수 있다.
2) subpics_present_flag가 0과 동일하고, sps_subpic_id_present_flag가 1과 동일한 것이 허용된다. 그렇지만, 이것이 타당하지 않은데 그 이유는 subpics_present_flag가 0과 동일한 것이 CLVS가 서브픽처들에 대한 정보를 전혀 갖지 않는다는 것을 의미하기 때문이다.
3) 서브픽처 ID들의 리스트는, 서브픽처들 각각에 대해 하나씩, 픽처 헤더들(PH들)에서 시그널링될 수 있다. 그렇지만, 서브픽처 ID들의 리스트가 PH들에서 시그널링될 때 그리고 서브픽처들의 서브세트가 비트스트림으로부터 추출될 때, 모든 PH들이 모두 변경될 필요가 있을 것이다. 이것은 바람직하지 않다.
4) 현재, sps_subpic_id_present_flag(또는 신택스 요소의 이름이 subpic_ids_explicitly_signalled_flag으로 변경됨)가 1과 동일한 것에 의해, 서브픽처 ID들이 명시적으로 시그널링되는 것으로 표시될 때, 서브픽처 ID들이 어디에서도 시그널링되지 않을 수 있다. 이것은 문제가 되는데, 그 이유는 서브픽처 ID들이 명시적으로 시그널링되는 것으로 표시될 때 서브픽처 ID들이 SPS 또는 PPS 중 어느 하나에서 명시적으로 시그널링될 필요가 있기 때문이다.
5) 서브픽처 ID들이 명시적으로 시그널링되지 않을 때, sps_num_subpics_minus1이 0과 동일한 경우를 포함하여, subpics_present_flag가 1과 동일한 한, 슬라이스 헤더 신택스 요소 slice_subpic_id는 여전히 시그널링될 필요가 있다. 그렇지만, slice_subpic_id의 길이는 현재 Ceil( Log2 ( sps_num_subpics_minus1 + 1 ) ) 비트로 지정되는데, sps_num_subpics_minus1이 0과 동일할 때 0 비트일 것이다. 이것은 문제가 되는데, 그 이유는 임의의 존재하는 신택스 요소들의 길이가 0 비트일 수 없기 때문이다.
6) 서브픽처 수 및 서브픽처들의 크기와 위치를 포함한, 서브픽처 레이아웃이 전체 CLVS에 대해 변하지 않는 채로 있다. 서브픽처 ID들이 SPS 또는 PPS에서 명시적으로 시그널링되지 않은 경우에도, 슬라이스 헤더들 내의 서브픽처 ID 신택스 요소에 대해, 서브픽처 ID 길이가 여전히 시그널링될 필요가 있다.
7) rect_slice_flag가 1과 동일할 때마다, 신택스 요소 slice_address는 슬라이스 헤더에서 시그널링되고, 서브픽처 내의 슬라이스 수(즉, NumSlicesInSubpic[ SubPicIdx ])가 1과 동일한 경우를 포함하여, 슬라이스를 포함하는 서브픽처 내의 슬라이스 인덱스를 지정한다. 그렇지만, 현재, rect_slice_flag가 1과 동일할 때, slice_address의 길이는 Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ) 비트로 지정되는데, NumSlicesInSubpic[ SubPicIdx ]이 1과 동일할 때 0 비트일 것이다. 이것은 문제가 되는데, 그 이유는 임의의 존재하는 신택스 요소들의 길이가 0 비트일 수 없기 때문이다.
8) 신택스 요소들 no_pic_partition_flag와 pps_num_subpics_minus1 사이에 중복성이 있지만, 최신 VVC 텍스트는 다음과 같은 제약을 갖는다: sps_num_subpics_minus1이 0보다 클 때, no_pic_partition_flag의 값은 1과 동일해야 한다.
9) CLVS 내에서, 특정 서브픽처 위치 또는 인덱스에 대한 서브픽처 ID 값은 픽처마다 변경될 수 있다. 이러한 일이 일어날 때, 원칙적으로, 서브픽처는 동일한 계층에 있는 참조 픽처를 참조하는 것에 의해 인터 예측을 사용할 수 없다. 그렇지만, 현재, 현재 VVC 사양에서는 이를 금지하는 제약이 없다.
10) 현재 VVC 설계에서, 참조 픽처는 다수의 응용 분야들, 예를 들면, 확장 가능한 비디오 코딩 및 다시점 비디오 코딩을 지원하기 위해 상이한 계층에 있는 픽처일 수 있다. 서브픽처가 상이한 계층들에 존재하는 경우, 계층 간 예측을 허용할지 허용하지 않을지가 연구될 필요가 있다.
5. 예시적인 기술들 및 실시예들
위의 문제들 및 다른 문제들을 해결하기 위해, 아래에 요약된 바와 같은 방법들이 개시된다. 본 발명들은 일반적인 개념을 설명하기 위한 예들로서 간주되어야 하며 좁은 의미로 해석되어서는 안된다. 게다가, 이러한 발명들은 개별적으로 적용될 수 있거나 임의의 방식으로 조합될 수 있다.
이하의 약어들은 JVET-P1001-vE에서와 동일한 의미를 갖는다.
BP(buffering period, 버퍼링 주기), BP SEI(supplemental enhancement information, 추가 향상 정보),
PT(picture timing, 픽처 타이밍), PT SEI,
AU(access unit, 액세스 유닛),
OP(operation point, 동작 포인트),
DUI(decoding unit information, 디코딩 유닛 정보), DUI SEI,
NAL(network abstraction layer, 네트워크 추상화 계층),
NUT(NAL unit type, NAL 유닛 유형),
GDR(gradual decoding refresh, 점진적 디코딩 리프레시),
SLI(subpicture level information, 서브픽처 레벨 정보), SLI SEI
첫 번째 문제를 해결하기 위해, sps_num_subpics_minus1의 코딩을 u(8)로부터 ue(v)로 변경하여 픽처당 256 개 초과의 서브픽처를 가능하게 한다.
a. 게다가, sps_num_subpics_minus1의 값은 0 내지 Ceil( pic_width_max_in_luma_samples ÷ CtbSizeY ) * Ceil( pic_height_max_in_luma_samples ÷ CtbSizeY ) - 1(경계 포함)의 범위에 있도록 제한된다.
b. 게다가, 픽처당 서브픽처 수는 레벨들의 정의에서 더 제한된다.
2) 두 번째 문제를 해결하기 위해, 신택스 요소 sps_subpic_id_present_flag의 시그널링이 "if( subpics_present_flag)"을 조건으로 하게 한다, 즉, subpics_present_flag가 0과 동일할 때 신택스 요소 sps_subpic_id_present_flag가 시그널링되지 않고, sps_subpic_id_present_flag가 존재하지 않을 때 그의 값을 0과 동일한 것으로 추론한다.
a. 대안적으로, subpics_present_flag가 0과 동일할 때 신택스 요소 sps_subpic_id_present_flag가 여전히 시그널링되지만, subpics_present_flag가 0과 동일할 때 그 값은 0과 동일해야 한다.
b. 게다가, 신택스 요소들 subpics_present_flag 및 sps_subpic_id_present_flag의 이름들은, 제각기, subpic_info_present_flag 및 subpic_ids_explicitly_signalled_flag로 변경된다.
3) 세 번째 문제를 해결하기 위해, PH 신택스에서의 서브픽처 ID들의 시그널링이 제거된다. 결과적으로, 0 내지 sps_num_subpics_minus1(경계 포함)의 범위에 있는 i에 대한 리스트 SubpicIdList[ i ]는 다음과 같이 도출된다:
Figure pct00008
4) 네 번째 문제를 해결하기 위해, 서브픽처들이 명시적으로 시그널링되도록 표시될 때 서브픽처 ID들은 SPS 또는 PPS 중 어느 하나에서 시그널링된다.
a. 이것은 이하의 제약을 추가하는 것에 의해 실현된다: subpic_ids_explicitly_signalled_flag가 0이거나 subpic_ids_in_sps_flag가 1과 동일한 경우, subpic_ids_in_pps_flag는 0과 동일해야 한다. 그렇지 않은 경우(subpic_ids_explicitly_signalled_flag가 1이고 subpic_ids_in_sps_flag가 0과 동일한 경우), subpic_ids_in_pps_flag는 1과 동일해야 한다.
5) 다섯 번째 문제 및 여섯 번째 문제를 해결하기 위해, SPS 플래그 sps_subpic_id_present_flag(또는 subpic_ids_explicitly_signalled_flag로 이름 변경됨)의 값에 관계없이, 서브픽처 ID들의 길이가 SPS에서 시그널링되지만, 서브픽처 ID들이 SPS에 대한 PPS의 파싱 종속성을 피하기 위해 PPS에서 명시적으로 시그널링될 때 길이가 또한 PPS에서 시그널링될 수 있다. 이 경우에, 서브픽처 ID들이 SPS 또는 PPS에서 명시적으로 시그널링되지 않더라도, 길이는 또한 슬라이스 헤더 내의 서브픽처 ID들의 길이를 지정한다. 결과적으로, slice_subpic_id의 길이는, 존재할 때, 또한 SPS에서 시그널링되는 서브픽처 ID 길이에 의해 지정된다.
6) 대안적으로, 다섯 번째 문제 및 여섯 번째 문제를 해결하기 위해, 한 플래그가 SPS 신택스에 추가되고, 그 플래그에 대한 1의 값은 서브픽처 ID 길이가 SPS 신택스에 존재하는 것을 지정한다. 이 플래그가 존재하는 것은 서브픽처 ID들이 SPS에서 명시적으로 시그널링되는지 PPS에서 명시적으로 시그널링되는지를 나타내는 플래그의 값과 독립적이다. subpic_ids_explicitly_signalled_flag가 0과 동일할 때 이 플래그의 값은 1 또는 0 중 어느 하나와 동일할 수 있지만, subpic_ids_explicitly_signalled_flag가 1과 동일할 때 이 플래그의 값은 1과 동일해야만 한다. 이 플래그가 0과 동일할 때, 즉 서브픽처 길이가 존재하지 않을 때, slice_subpic_id의 길이는 (최신 VVC 초안 텍스트에서의 Ceil( Log2 ( sps_num_subpics_minus1 + 1 ) ) 비트가 아니라) Max( Ceil( Log2 ( sps_num_subpics_minus1 + 1 ) ), 1 ) 비트이도록 지정된다.
a. 대안적으로, 이 플래그는 subpic_ids_explicitly_signalled_flag가 0과 동일할 때만 존재하고, subpic_ids_explicitly_signalled_flag가 1과 동일할 때, 이 플래그의 값은 1과 동일한 것으로 추론된다.
7) 일곱 번째 문제를 해결하기 위해, rect_slice_flag가 1과 동일할 때, slice_address의 길이는 Max( Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ), 1 ) 비트이도록 지정된다.
a. 대안적으로, 게다가, rect_slice_flag가 0과 동일할 때, slice_address의 길이는, Ceil( Log2 ( NumTilesInPic ) ) 비트가 아니라, Max( Ceil( Log2 ( NumTilesInPic ) ), 1 ) 비트이도록 지정된다.
8) 여덟 번째 문제를 해결하기 위해, no_pic_partition_flag의 시그널링이 "if( subpic_ids_in_pps_flag && pps_num_subpics_minus1 > 0 )"을 조건으로 하게 하고, 이하의 추론을 추가한다: 존재하지 않을 때, no_pic_partition_flag의 값은 1과 동일한 것으로 추론된다.
a. 대안적으로, PPS에서 서브픽처 ID 신택스(4 개의 신택스 요소 모두)를 타일 및 슬라이스 신택스 이후로, 예를 들면, 신택스 요소 entropy_coding_sync_enabled_flag 바로 이전으로 이동시키고, 이어서 pps_num_subpics_minus1의 시그널링이 "if( no_pic_partition_flag )"을 조건으로 하게 한다.
9) 아홉 번째 문제를 해결하기 위해, 이하의 제약이 지정된다: 각각의 특정 서브픽처 인덱스(또는 동등하게, 서브픽처 위치)에 대해, picA와 동일한 계층에 있는 디코딩 순서상 이전 픽처와 비교하여 픽처 picA에서 서브픽처 ID 값이 변할 때, picA가 CLVS의 첫 번째 픽처가 아닌 한, picA에서의 서브픽처는 IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT와 동일한 nal_unit_type을 갖는 코딩된 슬라이스 NAL 유닛들만을 포함해야 한다.
a. 대안적으로, 위의 제약은 subpic_treated_as_pic_flag[ i ]의 값이 1과 동일한 서브픽처 인덱스들에 대해서만 적용된다.
b. 대안적으로, 항목 9 및 항목 9a 양쪽 모두에 대해, "IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT"를 "IDR_W_RADL, IDR_N_LP, CRA_NUT, RSV_IRAP_11, 또는 RSV_IRAP_12"로 변경한다.
c. 대안적으로, picA에서의 서브픽처는 다른 유형들의 코딩된 슬라이스 NAL 유닛들을 포함할 수 있지만, 이러한 코딩된 슬라이스 NAL 유닛은 인트라 예측, 인트라 블록 복사(IBC) 예측, 및 팔레트 모드 예측 중 하나 이상만을 사용한다.
d. 대안적으로, picA의 서브픽처 내의 제1 비디오 유닛(예컨대, 슬라이스, 타일, 블록 등)은 이전 픽처 내의 제2 비디오 유닛을 참조할 수 있다. 제2 비디오 유닛과 제1 비디오 유닛이 동일한 서브픽처 인덱스를 갖는 서브픽처들에 있을 수 있지만, 이 둘의 서브픽처 ID들이 상이할 수 있다는 제약이 있다. 서브픽처 인덱스는 서브픽처에 할당되는 고유 번호로서, CLVS에서 변경될 수 없다.
10) 특정 서브픽처 인덱스(또는 동등하게 서브픽처 위치)에 대해, 서브픽처 인덱스들 또는 서브픽처 ID 값들과 함께 계층 ID 값들에 의해 식별되는 서브픽처들 중 어느 것이 참조 픽처들로서 사용되도록 허용되는지의 표시들이 비트스트림에서 시그널링될 수 있다.
11) 다중 계층의 경우, 특정 조건들(예를 들면, 서브픽처들의 수, 서브픽처들의 위치에 의존할 수 있음)이 충족될 때, 상이한 계층에 있는 서브픽처로부터의 계층 간 예측(ILR)이 허용되는 반면, 특정 조건들이 충족되지 않을 때, ILR이 디스에이블된다.
a. 일 예에서, 2 개의 계층에 있는 2 개의 서브픽처가 동일한 서브픽처 인덱스 값을 갖지만 상이한 서브픽처 ID 값들을 갖는 경우에도, 특정 조건들이 충족될 때 계층 간 예측이 여전히 허용될 수 있다.
i. 일 예에서, 특정 조건들은 "2 개의 계층이 상이한 보기 순서 인덱스/보기 순서 ID 값들과 연관되어 있는 경우"이다.
b. 제1 계층에 있는 제1 서브픽처와 제2 계층에 있는 제2 서브픽처는, 이 2 개의 서브픽처가 동일한 서브픽처 인덱스를 갖는 경우, 동일(collocated) 위치들에 있고/있거나 유리수 폭/높이여야 한다는 제약이 있을 수 있다.
c. 제1 계층에 있는 제1 서브픽처와 제2 계층에 있는 제2 서브픽처는, 제1 서브픽처가 제2 참조 서브픽처를 참조할 수 있는 경우, 동일 위치들에 있고/있거나 유리수 폭/높이여야 한다는 제약이 있을 수 있다.
12) 현재 서브픽처가 참조 계층들의 영역들 또는 서브픽처들과 연관된 샘플 값들 및/또는 다른 값들, 예를 들면, 모션 정보 및/또는 코딩 모드들 정보로부터 계층 간 예측(ILP)을 사용할 수 있는지 여부의 표시는 비트스트림에서, 예컨대, VPS/DPS/SPS/PPS/APS/시퀀스 헤더/픽처 헤더에서 시그널링된다.
a. 일 예에서, 참조 계층들의 참조 영역들 또는 서브픽처들은 현재 서브픽처 내의 샘플의 적어도 하나의 동일 위치 샘플을 포함하는 것들이다.
b. 일 예에서, 참조 계층들의 참조 영역들 또는 서브픽처들은 현재 서브픽처의 동일 위치 영역 외부에 있다.
c. 일 예에서, 그러한 표시는 하나 이상의 SEI 메시지에서 시그널링된다.
d. 일 예에서, 참조 계층들이 다수의 서브픽처들을 갖는지 여부에 관계없이, 그리고, 다수의 서브픽처들이 참조 계층들 중 하나 이상에 존재할 때, 현재 픽처 내의 각각의 서브픽처가 동일 위치 영역을 커버하는 참조 픽처 내의 대응하는 서브픽처이도록 픽처들을 현재 픽처와 정렬된 서브픽처들로 분할하는지 여부에 관계없이, 그리고 게다가 대응하는/동일 위치 서브픽처가 현재 서브픽처와 동일한 서브픽처 ID 값을 갖는지 여부에 관계없이 그러한 표시는 시그널링된다.
13) 특정 OP에 적용되는 BP SEI 메시지와 PT SEI 메시지가 AU 내에 존재할 때, BP SEI 메시지는 디코딩 순서에서 PT SEI 메시지보다 앞서야 한다.
14) 특정 OP에 적용되는 BP SEI 메시지와 DUI SEI 메시지가 AU 내에 존재할 때, BP SEI 메시지는 디코딩 순서에서 DUI SEI 메시지보다 앞서야 한다.
15) 특정 OP에 적용되는 PT SEI 메시지와 DUI SEI 메시지가 AU 내에 존재할 때, PT SEI 메시지는 디코딩 순서에서 DUI SEI 메시지보다 앞서야 한다.
16) 픽처가 IRAP/GDR 픽처 플래그인지 여부의 지시자는 픽처 헤더의 시작 부분에서 시그널링되고, no_output_of_prior_pics_flag는 지시자를 조건으로 하여 시그널링될 수 있다.
예시적인 신택스 설계는 아래와 같다:
Figure pct00009
irap_or_gdr_pic_flag가 1과 동일한 것은 PH와 연관된 픽처가 IRAP 픽처 또는 GDR 픽처라는 것을 지정한다. irap_or_gdr_pic_flag가 0과 동일한 것은 PH와 연관된 픽처가 IRAP 픽처도 아니고 GDR 픽처도 아니라는 것을 지정한다.
17) mixed_nalu_types_in_pic_flag의 값이 0과 동일한 픽처가 GDR_NUT와 동일한 nal_unit_type을 갖는 코딩된 슬라이스 NAL 유닛을 포함하지 않아야 한다는 것이 허용되지 않는다.
18) 신택스 요소(즉, mixed_slice_types_in_pic_flag)는 PPS에서 시그널링된다. mixed_slice_types_in_pic_flag가 0과 동일한 경우, 슬라이스 유형(B, P 또는 I)은 PH에 코딩된다. 그렇지 않은 경우, 슬라이스 유형은 SH들에 코딩된다. 사용되지 않은 슬라이스 유형들에 관련된 신택스 값들은 픽처 헤더에서 추가로 스킵된다. 신택스 요소 mixed_slice_types_in_pic_flag는 다음과 같이 조건부로 시그널링된다:
Figure pct00010
19) SPS 또는 PPS에서, 최대 N1(예를 들면, 3) 개의 수직 가상 경계 및 최대 N2(예를 들면, 3) 개의 수평 가상 경계를 시그널링한다. PH에서, 최대 N3(예를 들면, 1) 개의 추가 수직 경계 및 최대 N4(예를 들면, 1) 개의 추가 수평 가상 경계를 시그널링하며, 수직 가상 경계들의 총수는 N1보다 작거나 같아야 하고, 수평 가상 경계들의 총수는 N2보다 작거나 같아야 한다는 제약이 있다.
20) SPS에서의 신택스 요소 inter_layer_ref_pics_present_flag는 조건부로 시그널링될 수 있다. 예를 들어, 다음과 같다:
Figure pct00011
21) PPS 대신에 SPS에서 신택스 요소들 entropy_coding_sync_enabled_flag 및 entry_point_offsets_present_flag를 시그널링한다.
22) vps_num_ptls_minus1 및 num_ols_hrd_params_minus1의 값들이 값 T보다 작아야 한다는 것이 요구된다. 예를 들어, T는 JVET-2001-vE에서 지정된 TotalNumOlss와 동일할 수 있다.
a. T와 vps_num_ptls_minus1 또는 (vps_num_ptls_minus1+1) 사이의 차이가 시그널링될 수 있다.
b. T와 hrd_params_minus1 또는 (hrd_params_minus1+1) 사이의 차이가 시그널링될 수 있다.
c. 위의 차이들은 단항 코드 또는 지수 골롬 코드에 의해 시그널링될 수 있다.
23) vps_num_dpb_params_minus1의 값이 vps_max_layers_minus1보다 작거나 같아야 한다는 것이 요구된다.
a. T와 vps_num_ptls_minus1 또는 (vps_num_ptls_minus1+1) 사이의 차이가 시그널링될 수 있다.
b. 차이는 단항 코드 또는 지수 골롬 코드에 의해 시그널링될 수 있다.
24) EOB NAL 유닛이 비트스트림에 포함되거나 외부 수단을 통해 제공되는 것에 의해 디코더에 이용 가능하게 되는 것이 허용된다.
25) EOS NAL 유닛이 비트스트림에 포함되거나 외부 수단을 통해 제공되는 것에 의해 디코더에 이용 가능하게 될 수 있는 것이 허용된다.
26) 계층 인덱스 i를 갖는 각각의 계층에 대해, vps_independent_layer_flag[ i ]가 0과 동일할 때, 계층에서의 각각의 픽처는 하나의 서브픽처만을 포함해야 한다.
27) 서브비트스트림 추출 프로세스에서, VCL NAL 유닛이 제거될 때마다, VCL NAL 유닛들과 연관된 필러 데이터 유닛들도 제거하고 VCL NAL 유닛과 연관된 SEI NAL 유닛들에서의 모든 필러 SEI 메시지들도 제거하도록 지정한다.
28) SEI NAL 유닛이 필러 SEI 메시지를 포함할 때, SEI NAL 유닛은 필러 SEI 메시지가 아닌 임의의 다른 SEI 메시지를 포함해서는 안 된다는 제약이 있다.
a. 대안적으로, SEI NAL 유닛이 필러 SEI 메시지를 포함할 때, SEI NAL 유닛은 임의의 다른 SEI 메시지를 포함해야 한다는 제약이 있다.
29) VCL NAL 유닛은 최대 하나의 연관된 필러 NAL 유닛을 가져야 한다는 제약이 있다.
30) VCL NAL 유닛은 최대 하나의 연관된 필러 NAL 유닛을 가져야 한다는 제약이 있다.
31) 비디오 유닛이 무손실 모드로 코딩되는지 손실 모드로 코딩되는지를 나타내기 위해 플래그가 시그널링되는 것이 제안되며, 여기서 비디오 유닛은 CU 또는 CTU일 수 있고, 팔레트 모드에서 이스케이프 샘플의 시그널링은 플래그에 의존할 수 있다.
a. 일 예에서, 팔레트 모드에서 이스케이프 샘플의 이진화 방법은 플래그에 의존할 수 있다.
b. 일 예에서, 팔레트 모드에서 이스케이프 샘플에 대한 산술 코딩에서의 코딩 콘텍스트의 결정은 플래그에 의존할 수 있다.
6. 실시예들
아래는 VVC 사양에 적용될 수 있는 위에서 섹션 5에 요약된 항목 8을 제외한 모든 본 발명 양태들에 대한 일부 예시적인 실시예들이다. 변경된 텍스트들은 JVET-P2001-v14에서의 최신 VVC 텍스트를 기반으로 한다. 추가되거나 수정된 가장 관련성 있는 부분들은 밑줄이 그어진 굵은 기울임꼴 텍스트 로 나와 있으며, 가장 관련성 있는 제거된 부분들은 굵은 이중 대괄호로 묶여 강조 표시된다, 예를 들면, [[ a ]] 는 "a"가 제거되었음을 나타낸다. 본질적으로 편집에 관련된 것이고 따라서 강조 표시되지 않은 일부 다른 변경들이 있다.
6.1. 제1 실시예
7.3.2.3 시퀀스 파라미터 세트 RBSP 신택스
Figure pct00012
7.4.3.3 시퀀스 파라미터 세트 RBSP 시맨틱스
...
subpic_info_present_flag가 1과 동일한 것은 서브픽처 정보가 존재한다는 것을 지정한다. subpic_info_present_flag가 0과 동일한 것은 서브픽처 정보가 존재하지 않는다는 것을 지정한다. sps_ref_pic_resampling_enabled_flag의 값과 subpic_info_present_flag의 값 양쪽 모두가 1과 동일해야 하는 것은 아니다.
비고 2 - 비트스트림이 서브비트스트림 추출 프로세스의 결과이고 서브비트스트림 추출 프로세스에 대한 입력 비트스트림의 서브픽처들의 서브세트만을 포함할 때, SPS들에서 subpic_info_present_flag 의 값을 1과 동일하게 설정하는 것이 요구될 수 있다.
sps_num_subpics_minus1 + 1은 서브픽처 수를 지정한다. sps_num_subpics_minus1의 값은 0 내지 Ceil( pic_width_max_in_luma_samples ÷ CtbSizeY ) * Ceil( pic_height_max_in_luma_samples ÷ CtbSizeY ) - 1(경계 포함)의 범위에 있어야 한다. 최대 서브픽처 수가 레벨 정의들에서 더 제한될 수 있다는 점에 유의한다. 존재하지 않을 때, sps_num_subpics_minus1의 값은 0과 동일한 것으로 추론된다.
subpic_ctu_top_left_x[ i ]는 CtbSizeY의 단위로 i 번째 서브픽처의 좌측 상단 CTU의 수평 위치를 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_width_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_ctu_top_left_x[ i ]의 값은 0과 동일한 것으로 추론된다.
subpic_ctu_top_left_y[ i ]는 CtbSizeY의 단위로 i 번째 서브픽처의 좌측 상단 CTU의 수직 위치를 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_height_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_ctu_top_left_y[ i ]의 값은 0과 동일한 것으로 추론된다.
subpic_width_minus1[ i ] + 1은 CtbSizeY의 단위로 i 번째 서브픽처의 폭을 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_width_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_width_minus1[ i ]의 값은 Ceil( pic_width_max_in_luma_samples / CtbSizeY ) - 1과 동일한 것으로 추론된다.
subpic_height_minus1[ i ] + 1은 CtbSizeY의 단위로 i 번째 서브픽처의 높이를 지정한다. 이 신택스 요소의 길이는 Ceil( Log2( pic_height_max_in_luma_samples / CtbSizeY ) ) 비트이다. 존재하지 않을 때, subpic_height_minus1[ i ]의 값은 Ceil( pic_height_max_in_luma_samples / CtbSizeY ) - 1과 동일한 것으로 추론된다.
subpic_treated_as_pic_flag[ i ]가 1과 동일한 것은 CLVS에서의 각각의 코딩된 픽처의 i 번째 서브픽처가 인루프 필터링 동작들을 제외한 디코딩 프로세스에서 픽처로서 취급된다는 것을 지정한다. subpic_treated_as_pic_flag[ i ]가 0과 동일한 것은 CLVS에서의 각각의 코딩된 픽처의 i 번째 서브픽처가 인루프 필터링 동작들을 제외한 디코딩 프로세스에서 픽처로서 취급되지 않는다는 것을 지정한다. 존재하지 않을 때, subpic_treated_as_pic_flag[ i ]의 값은 0과 동일한 것으로 추론된다.
loop_filter_across_subpic_enabled_flag[ i ]가 1과 동일한 것은 인루프 필터링 동작들이 CLVS에서의 각각의 코딩된 픽처 내의 i 번째 서브픽처의 경계들에 걸쳐 수행될 수 있다는 것을 지정한다. loop_filter_across_subpic_enabled_flag[ i ]가 0과 동일한 것은 인루프 필터링 동작들이 CLVS에서의 각각의 코딩된 픽처 내의 i 번째 서브픽처의 경계들에 걸쳐 수행되지 않는다는 것을 지정한다. 존재하지 않을 때, loop_filter_across_subpic_enabled_pic_flag[ i ]의 값은 1과 동일한 것으로 추론된다.
다음 제약들이 적용되는 것은 비트스트림 적합성의 요구사항이다:
- 임의의 2 개의 서브픽처 subpicA 및 subpicB에 대해, subpicA의 서브픽처 인덱스가 subpicB의 서브픽처 인덱스보다 작을 때, subPicA의 임의의 코딩된 슬라이스 NAL 유닛은 디코딩 순서에서 subPicB의 임의의 코딩된 슬라이스 NAL 유닛에 선행해야 한다.
- 서브픽처들의 형상들은 각각의 서브픽처가, 디코딩될 때, 그의 전체 좌측 경계와 전체 상단 경계가 픽처 경계들로 구성되거나 이전에 디코딩된 서브픽처들의 경계들로 구성되도록 되어야 한다.
sps_subpic_id_len_minus1 + 1은 명시적으로 시그널링된 서브픽처 ID들은 물론 슬라이스 헤더 내의 slice_subpic_id 신택스 요소를 나타내는 데 사용되는 비트 수를 지정한다. sps_subpic_id_len_minus1의 값은 0 내지 15(경계 포함)의 범위에 있어야 한다.
subpic_ids_explicitly_signalled_flag가 1과 동일한 것은 각각의 서브픽처에 대해 하나씩인 서브픽처 ID 세트가 SPS 또는 PPS 중 어느 하나에서 각각의 서브픽처에 대해 명시적으로 시그널링된다는 것을 지정한다. subpic_ids_explicitly_signalled_flag가 0과 동일한 것은 서브픽처 ID들이 SPS 또는 PPS에서 명시적으로 시그널링되지 않는다는 것을 지정한다. 존재하지 않을 때, subpic_ids_explicitly_signalled_flag의 값은 0과 동일한 것으로 추론된다.
subpic_ids_in_sps_flag가 1과 동일한 것은 각각의 서브픽처에 대한 서브픽처 ID가 SPS에서 명시적으로 시그널링된다는 것을 지정한다. subpic_ids_in_sps_flag가 0과 동일한 것은 서브픽처 ID들이 SPS에서 시그널링되지 않는다는 것을 지정한다. 존재하지 않을 때, subpic_ids_in_sps_flag의 값은 0과 동일한 것으로 추론된다.
sps_subpic_id[ i ]는 i 번째 서브픽처의 서브픽처 ID를 지정한다. 신택스 요소 sps_subpic_id[ i ]의 길이는 sps_subpic_id_len_minus1 + 1 비트이다.
...
7.3.2.4 픽처 파라미터 세트 RBSP 신택스
Figure pct00013
Figure pct00014
7.4.3.4 픽처 파라미터 세트 RBSP 시맨틱스
...
subpic_ids_in_pps_flag가 1과 동일한 것은 각각의 서브픽처에 대한 서브픽처 ID가 PPS에서 명시적으로 시그널링된다는 것을 지정한다. subpic_ids_in_pps_flag가 0과 동일한 것은 서브픽처 ID들이 PPS에서 시그널링되지 않는다는 것을 지정한다. subpic_ids_explicitly_signalled_flag가 0이거나 subpic_ids_in_sps_flag가 1과 동일한 경우, subpic_ids_in_pps_flag는 0과 동일해야 한다. 그렇지 않은 경우(subpic_ids_explicitly_signalled_flag가 1이고 subpic_ids_in_sps_flag가 0과 동일한 경우), subpic_ids_in_pps_flag는 1과 동일해야 한다.
pps_num_subpics_minus1은 sps_num_subpics_minus1과 동일해야 한다.
pps_subpic_id_len_minus1은 sps_subpic_id_len_minus1과 동일해야 한다.
pps_subpic_id[ i ]는 i 번째 서브픽처의 서브픽처 ID를 지정한다. pps_subpic_id[ i ] 신택스 요소의 길이는 pps_subpic_id_len_minus1 + 1 비트이다.
0 내지 sps_num_subpics_minus1(경계 포함)의 범위에 있는 i에 대한 리스트 SubpicIdList[ i ]는 다음과 같이 도출된다:
Figure pct00015
0 내지 sps_num_subpics_minus1(경계 포함)의 범위에 있는 임의의 i와 j에 대해, i가 j보다 작을 때, SubpicIdList[ i ]는 SubpicIdList[ j ]보다 작아야 한다는 것이 비트스트림 적합성의 요구사항이다.
...
rect_slice_flag가 0과 동일한 것은 각각의 슬라이스 내의 타일들이 래스터 스캔 순서로 있고 슬라이스 정보가 PPS에서 시그널링되지 않는다는 것을 지정한다. rect_slice_flag가 1과 동일한 것은 각각의 슬라이스 내의 타일들이 픽처의 직사각형 영역을 커버하고 슬라이스 정보가 PPS에서 시그널링된다는 것을 지정한다. 존재하지 않을 때, rect_slice_flag는 1과 동일한 것으로 추론된다. subpic_info_present_flag 가 1과 동일할 때, rect_slice_flag의 값은 1과 동일해야 한다.
single_slice_per_subpic_flag가 1과 동일한 것은 각각의 서브픽처가 단 하나의 직사각형 슬라이스로 구성된다는 것을 지정한다. single_slice_per_subpic_flag가 0과 동일한 것은 각각의 서브픽처가 하나 이상의 직사각형 슬라이스로 구성될 수 있다는 것을 지정한다. subpic_info_present_flag 가 0과 동일할 때, single_slice_per_subpic_flag는 0과 동일해야 한다. single_slice_per_subpic_flag가 1과 동일할 때, num_slices_in_pic_minus1은 sps_num_subpics_minus1과 동일한 것으로 추론된다.
...
7.3.7.1 일반 슬라이스 헤더 신택스
Figure pct00016
7.4.8.1 일반 슬라이스 헤더 시맨틱스
...
slice_subpic_id는 슬라이스를 포함하는 서브픽처의 서브픽처 ID를 지정한다. slice_subpic_id의 길이는 sps_subpic_id_len_minus1 + 1 비트이다.
존재하지 않을 때, slice_subpic_id의 값은 0과 동일한 것으로 추론된다.
변수 SubPicIdx는 SubpicIdList[ SubPicIdx ]가 slice_subpic_id와 동일하게 하는 값이도록 도출된다.
slice_address는 슬라이스의 슬라이스 어드레스를 지정한다. 존재하지 않을 때, slice_address의 값은 0과 동일한 것으로 추론된다.
rect_slice_flag가 0과 동일한 경우, 다음이 적용된다:
- 슬라이스 어드레스는 래스터 스캔 타일 인덱스이다.
- slice_address의 길이는 Ceil( Log2 ( NumTilesInPic ) ) 비트이다.
- slice_address의 값은 0 내지 NumTilesInPic - 1(경계 포함)의 범위에 있어야 한다.
그렇지 않은 경우(rect_slice_flag가 1과 동일한 경우), 다음이 적용된다:
- 슬라이스 어드레스는 슬라이스의 서브픽처 레벨 슬라이스 인덱스이다.
- slice_address의 길이는 Max( Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ), 1 ) 비트이다.
- slice_address의 값은 0 내지 NumSlicesInSubpic[ SubPicIdx ] - 1(경계 포함)의 범위에 있어야 한다.
다음 제약들이 적용되는 것은 비트스트림 적합성의 요구사항이다:
- rect_slice_flag가 0과 동일하거나 subpic_info_present_flag 가 0과 동일한 경우, slice_address의 값은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_address의 값과 동일하지 않아야 한다.
- 그렇지 않은 경우, slice_subpic_id 값과 slice_address 값의 쌍은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_subpic_id 값과 slice_address 값의 쌍과 동일하지 않아야 한다.
- rect_slice_flag가 0과 동일할 때, 픽처의 슬라이스들은 그들의 slice_address 값들의 증가 순으로 있어야 한다.
- 픽처의 슬라이스들의 형상들은 각각의 CTU가, 디코딩될 때, 그의 전체 좌측 경계와 전체 상단 경계가 픽처 경계로 구성되거나 이전에 디코딩된 CTU(들)의 경계들로 구성되도록 해야 한다.
...
도 5는 본 명세서에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(500)을 도시하는 블록 다이어그램이다. 다양한 구현들은 시스템(500)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(500)은 비디오 콘텐츠를 수신하기 위한 입력(502)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들면, 8 또는 10 비트 다중 성분 픽셀 값들로 수신될 수 있거나, 또는 압축된 또는 인코딩된 포맷으로 되어 있을 수 있다. 입력(502)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(500)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(504)를 포함할 수 있다. 코딩 컴포넌트(504)는 비디오의 코딩된 표현을 생성하기 위해 입력(502)으로부터 코딩 컴포넌트(504)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기술들이라고 불린다. 코딩 컴포넌트(504)의 출력은 저장되거나, 컴포넌트(506)에 의해 표현된 바와 같은, 연결된 통신을 통해 전송될 수 있다. 입력(502)에 수신되는 비디오의 저장되거나 통신되는 비트스트림 표현(또는 코딩된 표현)은 디스플레이 인터페이스(510)로 송신되는 픽셀 값들 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(508)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 게다가, 특정 비디오 프로세싱 동작들이 "코딩" 동작들 또는 툴들로 지칭되지만, 코딩 툴들 또는 동작들이 인코더에서 사용되고 코딩의 결과들을 반대로 하는 대응하는 디코딩 툴들 또는 동작들은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 스토리지 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명되는 기술들은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 폰들, 랩톱들, 스마트폰들 또는 다른 디바이스들과 같은 다양한 전자 디바이스들에서 구체화될 수 있다.
도 6은 비디오 프로세싱 장치(600)의 블록 다이어그램이다. 장치(600)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(600)는 스마트폰, 태블릿, 컴퓨터, IoT(Internet of Things) 수신기 등에 구체화될 수 있다. 장치(600)는 하나 이상의 프로세서(602), 하나 이상의 메모리(604) 및 비디오 프로세싱 하드웨어(606)를 포함할 수 있다. 프로세서(들)(602)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(604)는 본 명세서에 설명된 방법들 및 기술들을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(606)는, 하드웨어 회로로, 본 문서에 설명된 일부 기술들을 구현하는 데 사용될 수 있다. 일부 실시예들에서, 하드웨어(606)는 부분적으로 또는 전체적으로 프로세서들(602), 예를 들면, 그래픽 프로세서 내에 있을 수 있다.
도 7은 본 개시의 기술들을 활용할 수 있는 예시적인 비디오 코딩 시스템(100)을 예시하는 블록 다이어그램이다.
도 7에 도시된 바와 같이, 비디오 코딩 시스템(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) 표준 및 다른 현재 및/또는 추가의 표준들과 같은, 비디오 압축 표준에 따라 작동할 수 있다.
도 8은 도 7에 예시된 시스템(100) 내의 비디오 인코더(114)일 수 있는, 비디오 인코더(200)의 예를 예시하는 블록 다이어그램이다.
비디오 인코더(200)는 본 개시의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 8의 예에서, 비디오 인코더(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)과 같은 일부 컴포넌트들은 고도로 통합될 수 있지만, 설명의 목적을 위해 도 8의 예에서 개별적으로 표현되어 있다.
분할 유닛(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)은 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하기 위해 하나 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
도 9는 도 7에 예시된 시스템(100) 내의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 예시하는 블록 다이어그램이다.
비디오 디코더(300)는 본 개시의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 8의 예에서, 비디오 디코더(300)는 복수의 기능 컴포넌트들을 포함한다. 본 개시에 설명된 기술들은 비디오 디코더(300)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에 설명된 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다.
도 9의 예에서, 비디오 디코더(300)는 엔트로피 디코딩 유닛(301), 모션 보상 유닛(302), 인트라 예측 유닛(303), 역양자화 유닛(304), 역변환 유닛(305), 및 재구성 유닛(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)(예를 들면, 도 8)와 관련하여 설명된 인코딩 패스(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)는 후속하는 모션 보상/인트라 예측을 위한 참조 블록들을 제공하고 또한 디스플레이 디바이스 상에 제시할 디코딩된 비디오를 생성한다.
도 10 내지 도 26은, 예를 들어, 도 5 내지 도 9에 도시된 실시예들에서 위에서 설명된 기술적 해결책을 구현할 수 있는 예시적인 방법들을 도시한다.
도 10은 예시적인 비디오 프로세싱 방법(1000)의 플로차트를 도시한다. 방법(1000)은, 동작(1010)에서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙에 따라 하나 이상의 액세스 유닛을 포함하고, 포맷 규칙은 디코딩 순서에서 제1 메시지가 제2 메시지보다 앞서도록 동작 포인트(OP)에 적용되는 제1 메시지 및 제2 메시지가 액세스 유닛(AU) 내에서 존재하는 순서를 지정한다.
도 11은 예시적인 비디오 프로세싱 방법(1100)의 플로차트를 도시한다. 방법(1100)은, 동작(1110)에서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙에 따라 하나 이상의 액세스 유닛을 포함하고, 포맷 규칙은 디코딩 순서에서 복수의 메시지들 중 제1 메시지가 복수의 메시지들 중 제2 메시지보다 앞서도록 동작 포인트(OP)에 적용되는 복수의 메시지들이 액세스 유닛 내에서 존재하는 순서를 지정한다.
도 12는 예시적인 비디오 프로세싱 방법(1200)의 플로차트를 도시한다. 방법(1200)은, 동작(1210)에서, 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 제1 플래그가 픽처와 연관된 픽처 헤더의 시작 부분에서 시그널링되는지 여부의 표시를 지정하는 포맷 규칙을 준수하고, 제1 플래그는 픽처가 인트라 랜덤 액세스 포인트(IRAP) 픽처인지 점진적 디코딩 리프레시(GDR) 픽처인지를 나타낸다.
도 13은 예시적인 비디오 프로세싱 방법(1300)의 플로차트를 도시한다. 방법(1300)은, 동작(1310)에서, 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 하나 이상의 픽처 중 한 픽처를, 점진적 디코딩 리프레시 유형을 갖는 코딩된 슬라이스 네트워크 추상화 계층(NAL) 유닛을 포함하도록 그리고 픽처가 혼합된 유형들의 NAL 유닛들을 포함한다는 것을 나타내는 플래그와 연관되도록, 코딩하는 것을 허용하지 않는 포맷 규칙을 준수한다.
도 14는 예시적인 비디오 프로세싱 방법(1400)의 플로차트를 도시한다. 방법(1400)은, 동작(1410)에서, 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 하나 이상의 픽처 중 한 픽처를, 점진적 디코딩 리프레시 유형을 갖는 코딩된 슬라이스 네트워크 액세스 계층(NAL) 유닛을 포함하도록 그리고 픽처가 혼합된 유형들의 NAL 유닛들을 포함하지 않는다는 것을 나타내는 플래그와 연관되도록, 코딩하는 것을 허용하는 포맷 규칙을 준수한다.
도 15는 예시적인 비디오 프로세싱 방법(1500)의 플로차트를 도시한다. 방법(1500)은, 동작(1510)에서, 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 제1 신택스 요소가 픽처와 연관된 픽처 파라미터 세트(PPS)에서 시그널링되는지 여부를 지정하는 포맷 규칙을 준수하고, 픽처는 슬라이스 유형을 갖는 하나 이상의 슬라이스를 포함하며, 제1 신택스 요소는 제1 신택스 요소가 0과 동일한 것으로 인해 슬라이스 유형이 픽처 헤더에서 시그널링된다는 것을 나타내고, 그렇지 않으면 슬라이스 유형이 슬라이스 헤더에서 시그널링된다는 것을 나타낸다.
도 16은 예시적인 비디오 프로세싱 방법(1600)의 플로차트를 도시한다. 방법(1600)은, 동작(1610)에서, 규칙에 따라 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 변환은 인루프 필터링 프로세스를 포함하고, 규칙은 인루프 필터링 프로세스에 관련된 수직 가상 경계들의 총수 및 수평 가상 경계들의 총수가 픽처 레벨 또는 시퀀스 레벨에서 시그널링된다는 것을 지정한다.
도 17은 예시적인 비디오 프로세싱 방법(1700)의 플로차트를 도시한다. 방법(1700)은, 동작(1710)에서, 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 다른 계층들로부터의 참조 픽처들이 비트스트림에 존재하는지 여부를 나타내는 제1 신택스 요소에 기초하여 다른 계층들로부터의 참조 픽처들을 사용하여 하나의 계층에서의 픽처의 코딩을 조건부로 허용하는 포맷 규칙을 준수하고, 제1 신택스 요소는 픽처와 연관된 파라미터 세트의 식별자가 0과 동일하지 않은지 여부를 나타내는 제2 신택스 요소에 기초하여 비트스트림에서 조건부로 시그널링된다.
도 18은 예시적인 비디오 프로세싱 방법(1800)의 플로차트를 도시한다. 방법(1800)은, 동작(1810)에서, 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 (a) 픽처 내의 코딩 트리 유닛(CTU)을 디코딩하기 전에 콘텍스트 변수들에 대한 동기화 프로세스를 인에이블시키고 (b) CTU를 디코딩한 후에 콘텍스트 변수들에 대한 저장 프로세스를 인에이블시키기 위한 제1 신택스 요소를 정의하는 포맷 규칙을 준수하고, 제1 신택스 요소는 픽처와 연관된 시퀀스 파라미터 세트(SPS)에서 시그널링된다.
도 19는 예시적인 비디오 프로세싱 방법(1900)의 플로차트를 도시한다. 방법(1900)은, 동작(1910)에서, 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 타일들 또는 타일 특정 CTU 행들에 대한 진입점 오프셋들의 시그널링이 픽처의 슬라이스 헤더에 존재하는지 여부를 나타내기 위한 신택스 요소를 정의하는 포맷 규칙을 준수하고, 신택스 요소는 픽처와 연관된 시퀀스 파라미터 세트(SPS)에서 시그널링된다.
도 20은 예시적인 비디오 프로세싱 방법(2000)의 플로차트를 도시한다. 방법(2000)은, 동작(2010)에서, 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 출력 계층 세트(OLS) 가상 참조 디코더(HRD)에 대한 파라미터 수를 나타내는 제1 신택스 요소가 제1 미리 결정된 임계치보다 작다는 것을 지정하는 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다.
도 21은 예시적인 비디오 프로세싱 방법(2100)의 플로차트를 도시한다. 방법(2100)은, 동작(2110)에서, 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 프로필/티어/레벨(PTL) 신택스 구조들의 수를 나타내는 신택스 요소가 미리 결정된 임계치보다 작다는 것을 지정하는 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다.
도 22는 예시적인 비디오 프로세싱 방법(2200)의 플로차트를 도시한다. 방법(2200)은, 동작(2210)에서, 비디오 파라미터 세트(VPS) 내의 디코딩된 픽처 버퍼 파라미터들 신택스 구조들의 수를 나타내는 제1 신택스 요소가 VPS에 의해 지정되는 계층 수를 나타내는 제2 신택스 요소보다 작거나 같아야 한다는 것을 지정하는 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다.
도 23은 예시적인 비디오 프로세싱 방법(2300)의 플로차트를 도시한다. 방법(2300)은, 동작(2310)에서, 종료 네트워크 추상화 계층(NAL) 유닛이 비트스트림에서 시그널링하는 것 또는 외부 수단을 통해 제공하는 것에 의해 디코더에 이용 가능하게 되는 것을 허용하는 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다.
도 24는 예시적인 비디오 프로세싱 방법(2400)의 플로차트를 도시한다. 방법(2400)은, 동작(2410)에서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 신택스 요소가 0과 동일한 것 - 이는 비트스트림 내의 각각의 계층이 계층 간 예측을 사용하도록 구성된다는 것을 나타냄 - 으로 인해 각각의 계층을 하나의 서브픽처만을 포함하도록 제한하는 포맷 규칙을 준수한다.
도 25는 예시적인 비디오 프로세싱 방법(2500)의 플로차트를 도시한다. 방법(2500)은, 동작(2510)에서, 서브비트스트림 추출 프로세스가 디코딩을 위한 서브비트스트림을 생성하도록 구현된다는 것을 지정하는 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 서브비트스트림 추출 프로세스는 목표 최고 시간 식별자를 갖는 서브비트스트림을, 비트스트림으로부터, 추출하도록 구성되며, 규칙은, 추출 동안, 비디오 코딩 계층(VCL) 네트워크 추상화 계층(NAL) 유닛을 제거할 때, VCL NAL 유닛과 연관된 추가 향상 정보(SEI) NAL 유닛들 내의 필러 SEI 메시지들 및 필러 데이터 유닛들도 제거된다는 것을 더 지정한다.
도 26은 예시적인 비디오 프로세싱 방법(2600)의 플로차트를 도시한다. 방법(2600)은, 동작(2610)에서, 비디오의 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 비트스트림이 비디오 유닛이 무손실 모드로 코딩되는지 손실 모드로 코딩되는지를 나타내는 제1 신택스 요소를 포함한다는 것을 지정하는 포맷 규칙을 준수하고, 비디오 유닛에 적용되는 팔레트 모드에서의 이스케이프 샘플을 나타내는 제2 신택스 요소를 시그널링하는 것은 제1 신택스 요소의 값에 기초하여 선택적으로 포함된다.
일부 실시예들에 의해 선호되는 해결책들의 목록이 다음에 제공된다.
A1. 비디오 프로세싱 방법으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙에 따라 하나 이상의 액세스 유닛을 포함하고, 포맷 규칙은 디코딩 순서에서 제1 메시지가 제2 메시지보다 앞서도록 동작 포인트(OP)에 적용되는 제1 메시지 및 제2 메시지가 액세스 유닛(AU) 내에서 존재하는 순서를 지정하는, 방법.
A2. 해결책 A1의 방법으로서, 제1 메시지는 버퍼링 주기(BP) 추가 향상 정보(SEI) 메시지를 포함하고, 제2 메시지는 픽처 타이밍(PT) SEI 메시지를 포함하는, 방법.
A3. 해결책 A1의 방법으로서, 제1 메시지는 버퍼링 주기(BP) 추가 향상 정보(SEI) 메시지를 포함하고, 제2 메시지는 디코딩 유닛 정보(DUI) SEI 메시지를 포함하는, 방법.
A4. 해결책 A1의 방법으로서, 제1 메시지는 픽처 타이밍(PT) 추가 향상 정보(SEI) 메시지를 포함하고, 제2 메시지는 디코딩 유닛 정보(DUI) SEI 메시지를 포함하는, 방법.
A5. 비디오 프로세싱 방법으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙에 따라 하나 이상의 액세스 유닛을 포함하고, 포맷 규칙은 디코딩 순서에서 복수의 메시지들 중 제1 메시지가 복수의 메시지들 중 제2 메시지보다 앞서도록 동작 포인트(OP)에 적용되는 복수의 메시지들이 액세스 유닛 내에서 존재하는 순서를 지정하는, 방법.
A6. 해결책 A5에 있어서, 복수의 메시지들은 버퍼링 주기(BP) SEI 메시지, 디코딩 유닛 정보(DUI) SEI 메시지, 픽처 타이밍(PT) SEI 메시지, 및 서브픽처 레벨 정보(SLI) SEI 메시지를 포함하는, 방법.
A7. 해결책 A6에 있어서, 디코딩 순서는 SLI SEI 메시지, BP SEI 메시지, PT SEI 메시지, 및 DUI 메시지인, 방법.
일부 실시예들에 의해 선호되는 해결책들의 다른 목록이 다음에 제공된다.
B1. 비디오 프로세싱 방법으로서, 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 제1 플래그가 픽처와 연관된 픽처 헤더의 시작 부분에서 시그널링되는지 여부의 표시를 지정하며, 제1 플래그는 픽처가 인트라 랜덤 액세스 포인트(IRAP) 픽처인지 점진적 디코딩 리프레시(GDR) 픽처인지를 나타내는, 방법.
B2. 해결책 B1에 있어서, IRAP 픽처는, 비트스트림의 디코딩이 픽처에서 시작될 때, 픽처와 출력 순서에서의 모든 후속 픽처들이 올바르게 디코딩될 수 있도록 하는 픽처인, 방법.
B3. 해결책 B1에 있어서, IRAP 픽처는 I 슬라이스들만을 포함하는, 방법.
B4. 해결책 B1에 있어서, GDR 픽처는, 비트스트림의 디코딩이 픽처에서 시작될 때, 대응하는 복구 포인트 픽처와 디코딩 순서 및 출력 순서 양쪽 모두에서의 모든 후속 픽처들이 올바르게 디코딩될 수 있도록 하는 픽처인, 방법.
B5. 해결책 B1에 있어서, 포맷 규칙은 제2 플래그가 비트스트림에서 시그널링되는지 여부가 표시에 기초한다는 것을 더 지정하는, 방법.
B6. 해결책 B5에 있어서, 제1 플래그는 irap_or_gdr_pic_flag인, 방법.
B7. 해결책 B6에 있어서, 제2 플래그는 no_output_of_prior_pics_flag인, 방법.
B8. 해결책 B1 내지 해결책 B7 중 어느 한 해결책에 있어서, 제1 플래그가 1과 동일한 것은 픽처가 IRAP 픽처 또는 GDR 픽처라는 것을 나타내는, 방법.
B9. 해결책 B1 내지 해결책 B7 중 어느 한 해결책에 있어서, 제1 플래그가 0과 동일한 것은 픽처가 IRAP 픽처도 아니고 GDR 픽처도 아니라는 것을 나타내는, 방법.
B10. 해결책 B1 내지 해결책 B9 중 어느 한 해결책에 있어서, GDR 픽처 내의 각각의 네트워크 액세스 계층(NAL) 유닛은 GDR_NUT와 동일한 nal_unit_type 신택스 요소를 갖는, 방법.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
C1. 비디오 프로세싱 방법으로서, 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 하나 이상의 픽처 중 한 픽처를, 점진적 디코딩 리프레시 유형을 갖는 코딩된 슬라이스 네트워크 추상화 계층(NAL) 유닛을 포함하도록 그리고 픽처가 혼합된 유형들의 NAL 유닛들을 포함한다는 것을 나타내는 플래그와 연관되도록, 코딩하는 것을 허용하지 않는, 방법.
C2. 비디오 프로세싱 방법으로서, 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 하나 이상의 픽처 중 한 픽처를, 점진적 디코딩 리프레시 유형을 갖는 코딩된 슬라이스 네트워크 액세스 계층(NAL) 유닛을 포함하도록 그리고 픽처가 혼합된 유형들의 NAL 유닛들을 포함하지 않는다는 것을 나타내는 플래그와 연관되도록, 코딩하는 것을 허용하는, 방법.
C3. 해결책 C1 또는 해결책 C2에 있어서, 플래그는 mixed_nalu_types_in_pic_flag인, 방법.
C4. 해결책 C3에 있어서, 플래그는 픽처 파라미터 세트(PPS)에 있는, 방법.
C5. 해결책 C1 내지 해결책 C4 중 어느 한 해결책에 있어서, 픽처는 점진적 디코딩 리프레시(GDR) 픽처이고, 픽처 내의 각각의 슬라이스 또는 NAL 유닛은 GDR_NUT와 동일한 nal_unit_type을 갖는, 방법.
C6. 비디오 프로세싱 방법으로서, 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 제1 신택스 요소가 픽처와 연관된 픽처 파라미터 세트(PPS)에서 시그널링되는지 여부를 지정하는 포맷 규칙을 준수하고, 픽처는 슬라이스 유형을 갖는 하나 이상의 슬라이스를 포함하며, 제1 신택스 요소는 제1 신택스 요소가 0과 동일한 것으로 인해 슬라이스 유형이 픽처 헤더에서 시그널링된다는 것을 나타내고, 그렇지 않으면 슬라이스 유형이 슬라이스 헤더에서 시그널링된다는 것을 나타내는, 방법.
C7. 해결책 C6에 있어서, 제1 신택스 요소는 mixed_slice_types_in_pic_flag인, 방법.
C8. 해결책 C6 또는 해결책 C7에 있어서, 제2 신택스 요소가 0과 동일한 것 및/또는 제3 신택스 요소가 0보다 큰 것으로 인해 제1 신택스 요소가 시그널링되는, 방법.
C9. 해결책 C8에 있어서, 제2 신택스 요소는 하나 이상의 슬라이스 각각 내의 하나 이상의 타일의 적어도 하나의 특성을 지정하는, 방법.
C10. 해결책 C9에 있어서, 제2 신택스 요소가 0과 동일한 것은 하나 이상의 타일이 래스터 스캔 순서로 있고 슬라이스 정보가 PPS로부터 배제된다는 것을 지정하는, 방법.
C11. 해결책 C9에 있어서, 제2 신택스 요소가 1과 동일한 것은 하나 이상의 타일이 픽처의 직사각형 영역을 커버하고 슬라이스 정보가 PPS에서 시그널링된다는 것을 지정하는, 방법.
C12. 해결책 C9 내지 해결책 C11 중 어느 한 해결책에 있어서, 제2 신택스 요소는 rect_slice_flag인, 방법.
C13. 해결책 C8에 있어서, 제3 신택스 요소는 PPS를 참조하는 픽처 내의 직사각형 슬라이스들의 수를 지정하는, 방법.
C14. 해결책 C13에 있어서, 제3 신택스 요소는 num_slices_in_pic_minus1인, 방법.
C15. 비디오 프로세싱 방법으로서, 규칙에 따라 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 변환은 인루프 필터링 프로세스를 포함하고, 규칙은 인루프 필터링 프로세스에 관련된 수직 가상 경계들의 총수 및 수평 가상 경계들의 총수가 픽처 레벨 또는 시퀀스 레벨에서 시그널링된다는 것을 지정하는, 방법.
C16. 해결책 C15에 있어서, 수직 가상 경계들의 총수는 픽처 파라미터 세트(PPS) 또는 시퀀스 파라미터 세트(SPS)에서 시그널링되는 수직 가상 경계들의 최대 제1 개수(N1)와 픽처 헤더(PH)에서 시그널링되는 추가 수직 가상 경계들의 최대 제2 개수(N3)를 포함하고, 수평 가상 경계들의 총수는 PPS 또는 SPS에서 시그널링되는 수평 가상 경계들의 최대 제3 개수(N2)와 PH에서 시그널링되는 추가 수평 가상 경계들의 최대 제4 개수(N4)를 포함하는, 방법.
C17. 해결책 C16에 있어서, N1 + N3 ≤ N1이고 N2 + N4 ≤ N2인, 방법.
C18. 해결책 C16 또는 해결책 C17에 있어서, N1 = 3이고, N2 = 3이며, N3 = 1이고, N4 = 1인, 방법.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
D1. 비디오 프로세싱 방법으로서, 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 다른 계층들로부터의 참조 픽처들이 비트스트림에 존재하는지 여부를 나타내는 제1 신택스 요소에 기초하여 다른 계층들로부터의 참조 픽처들을 사용하여 하나의 계층에서의 픽처의 코딩을 조건부로 허용하며, 제1 신택스 요소는 픽처와 연관된 파라미터 세트의 식별자가 0과 동일하지 않은지 여부를 나타내는 제2 신택스 요소에 기초하여 비트스트림에서 조건부로 시그널링되는, 방법.
D2. 해결책 D1에 있어서, 제1 신택스 요소는 inter_layer_ref_pics_present_flag인, 방법.
D3. 해결책 D1 또는 해결책 D2에 있어서, 제1 신택스 요소는 계층 간 예측이 인에이블되고 계층 간 참조 픽처가 사용될 수 있는지 여부를 지정하는, 방법.
D4. 해결책 D1에 있어서, 제1 신택스 요소는 sps_inter_layer_prediction_enabled_flag인, 방법.
D5. 해결책 D1 내지 해결책 D4 중 어느 한 해결책에 있어서, 제1 신택스 요소는 시퀀스 파라미터 세트(SPS)에 있는, 방법.
D6. 해결책 D1 내지 해결책 D4 중 어느 한 해결책에 있어서, 파라미터 세트는 비디오 파라미터 세트(VPS)인, 방법.
D7. 해결책 D6에 있어서, 제2 신택스 요소는 sps_video_parameter_set_id인, 방법.
D8. 해결책 D6 또는 해결책 D7에 있어서, 파라미터 세트는 다른 신택스 요소들에 의한 참조를 위해 VPS에 대한 식별자를 제공하는, 방법.
D9. 해결책 D7에 있어서, 제2 신택스 요소는 시퀀스 파라미터 세트(SPS)에 있는, 방법.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
E1. 비디오 프로세싱 방법으로서, 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 (a) 픽처 내의 코딩 트리 유닛(CTU)을 디코딩하기 전에 콘텍스트 변수들에 대한 동기화 프로세스를 인에이블시키고 (b) CTU를 디코딩한 후에 콘텍스트 변수들에 대한 저장 프로세스를 인에이블시키기 위한 제1 신택스 요소를 정의하며, 제1 신택스 요소는 픽처와 연관된 시퀀스 파라미터 세트(SPS)에서 시그널링되는, 방법.
E2. 해결책 E1에 있어서, 제1 신택스 요소는 픽처와 연관된 픽처 파라미터 세트(PPS)로부터 배제되는, 방법.
E3. 해결책 E1 또는 해결책 E2에 있어서, CTU는 픽처 내의 각각의 타일에 있는 한 행의 코딩 트리 블록들(CTB들) 중 제1 CTB를 포함하는, 방법.
E4. 해결책 E1 내지 해결책 E3 중 어느 한 해결책에 있어서, 제1 신택스 요소는 entropy_coding_sync_enabled_flag인, 방법.
E5. 해결책 E1 내지 해결책 E3 중 어느 한 해결책에 있어서, 제1 신택스 요소는 sps_entropy_coding_sync_enabled_flag인, 방법.
E6. 해결책 E1 내지 해결책 E5 중 어느 한 해결책에 있어서, 포맷 규칙은 타일들 또는 타일 특정 CTU 행들에 대한 진입점 오프셋들의 시그널링이 픽처의 슬라이스 헤더에 존재하는지 여부를 나타내기 위한 제2 신택스 요소를 정의하며, 제2 신택스 요소는 픽처와 연관된 SPS에서 시그널링되는, 방법.
E7. 비디오 프로세싱 방법으로서, 비디오의 픽처와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 타일들 또는 타일 특정 코딩 트리 유닛(CTU) 행들에 대한 진입점 오프셋들의 시그널링이 픽처의 슬라이스 헤더에 존재하는지 여부를 나타내기 위한 신택스 요소를 정의하며, 신택스 요소는 픽처와 연관된 시퀀스 파라미터 세트(SPS)에서 시그널링되는, 방법.
E8. 해결책 E7에 있어서, 포맷 규칙은 신택스 요소의 값이 1과 동일한 것에 기초하여 진입점 오프셋들의 시그널링을 허용하는, 방법.
E9. 해결책 E7 또는 해결책 E8에 있어서, 신택스 요소는 픽처와 연관된 픽처 파라미터 세트(PPS)로부터 배제되는, 방법.
E10. 해결책 E7 내지 해결책 E9 중 어느 한 해결책에 있어서, 신택스 요소는 entry_point_offsets_present_flag인, 방법.
E11. 해결책 E7 내지 해결책 E9 중 어느 한 해결책에 있어서, 신택스 요소는 sps_entry_point_offsets_present_flag인, 방법.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
F1. 비디오 프로세싱 방법으로서, 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 출력 계층 세트(OLS) 가상 참조 디코더(HRD)에 대한 파라미터 수를 나타내는 제1 신택스 요소가 제1 미리 결정된 임계치보다 작다는 것을 지정하는, 방법.
F2. 해결책 F1에 있어서, 제1 신택스 요소는 vps_num_ols_timing_hrd_params_minus1인, 방법.
F3. 해결책 F1 또는 해결책 F2에 있어서, 제1 미리 결정된 임계치는 다중 계층 출력 계층 세트들의 수(NumMultiLayerOlss로 표기됨)에서 1을 뺀 값인, 방법.
F4. 해결책 F1 내지 해결책 F3 중 어느 한 해결책에 있어서, 제1 신택스 요소가 비트스트림에서 시그널링되지 않을 때 제1 신택스 요소는 0인 것으로 추론되는, 방법.
F5. 해결책 F1 내지 해결책 F4 중 어느 한 해결책에 있어서, 규칙은 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 프로필/티어/레벨(PTL) 신택스 구조들의 수를 나타내는 제2 신택스 요소가 제2 미리 결정된 임계치보다 작다는 것을 지정하는, 방법.
F6. 비디오 프로세싱 방법으로서, 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 프로필/티어/레벨(PTL) 신택스 구조들의 수를 나타내는 신택스 요소가 미리 결정된 임계치보다 작다는 것을 지정하는, 방법.
F7. 해결책 F6에 있어서, 신택스 요소는 vps_num_ptls_minus1인, 방법.
F8. 해결책 F6 또는 해결책 F7에 있어서, 미리 결정된 임계치는 출력 계층 세트들의 총수(TotalNumOlss로 표기됨)인, 방법.
F9. 해결책 F1 내지 해결책 F8 중 어느 한 해결책에 있어서, 미리 결정된 임계치와 신택스 요소 사이의 차이는 비트스트림에서 시그널링되는, 방법.
F10. 해결책 F9에 있어서, 차이는 단항 코드를 사용하여 시그널링되는, 방법.
F11. 해결책 F9에 있어서, 차이는 지수 골롬(EG) 코드를 사용하여 시그널링되는, 방법.
F12. 비디오 프로세싱 방법으로서, 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 비디오 파라미터 세트(VPS) 내의 디코딩된 픽처 버퍼 파라미터들 신택스 구조들의 수를 나타내는 제1 신택스 요소가 VPS에 의해 지정되는 계층 수를 나타내는 제2 신택스 요소보다 작거나 같아야 한다는 것을 지정하는, 방법.
F13. 해결책 F12에 있어서, 제1 신택스 요소와 미리 결정된 임계치 사이의 차이는 비트스트림에서 시그널링되는, 방법.
F14. 해결책 F12에 있어서, 제2 신택스 요소와 미리 결정된 임계치 사이의 차이는 비트스트림에서 시그널링되는, 방법.
F15. 해결책 F13 또는 해결책 F14에 있어서, 차이는 단항 코드를 사용하여 시그널링되는, 방법.
F16. 해결책 F13 또는 해결책 F14에 있어서, 차이는 지수 골롬(EG) 코드를 사용하여 시그널링되는, 방법.
F17. 비디오 프로세싱 방법으로서, 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 종료 네트워크 추상화 계층(NAL) 유닛이 비트스트림에서 시그널링하는 것 또는 외부 수단을 통해 제공하는 것에 의해 디코더에 이용 가능하게 되는 것을 허용하는, 방법.
F18. 해결책 F17에 있어서, 종료 NAL 유닛은 비트스트림 끝(end of bitstream, EOB) NAL 유닛인, 방법.
F19. 해결책 F17에 있어서, 종료 NAL 유닛은 시퀀스 끝(end of sequence, EOS) NAL 유닛인, 방법.
F20. 해결책 F17 내지 해결책 F19 중 어느 한 해결책에 있어서, 외부 수단은 파라미터 세트를 포함하는, 방법.
F21. 비디오 프로세싱 방법으로서, 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 신택스 요소가 0과 동일한 것 - 이는 비트스트림 내의 각각의 계층이 계층 간 예측을 사용하도록 구성된다는 것을 나타냄 - 으로 인해 각각의 계층을 하나의 서브픽처만을 포함하도록 제한하는, 방법.
F22. 해결책 F21에 있어서, 신택스 요소는 vps_independent_layer_flag인, 방법.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
G1. 비디오 프로세싱 방법으로서, 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 서브비트스트림 추출 프로세스가 디코딩을 위한 서브비트스트림을 생성하도록 구현된다는 것을 지정하고, 서브비트스트림 추출 프로세스는 목표 최고 시간 식별자를 갖는 서브비트스트림을, 비트스트림으로부터, 추출하도록 구성되며, 규칙은, 추출 동안, 비디오 코딩 계층(VCL) 네트워크 추상화 계층(NAL) 유닛을 제거할 때, VCL NAL 유닛과 연관된 추가 향상 정보(SEI) NAL 유닛들 내의 필러 SEI 메시지들 및 필러 데이터 유닛들도 제거된다는 것을 지정하는, 방법.
G2. 해결책 G1에 있어서, VCL NAL 유닛이 속하는 계층의 식별자에 기초하여 VCL NAL 유닛이 제거되는, 방법.
G3. 해결책 G2에 있어서, 식별자는 nuh_layer_id인, 방법.
G4. 해결책 G1에 있어서, 비트스트림은 필러 페이로드를 갖는 SEI 메시지를 포함하는 SEI NAL 유닛이 필러 페이로드와 상이한 페이로드를 갖는 SEI 메시지들을 포함하지 않는다는 것을 지정하는 포맷 규칙을 준수하는, 방법.
G5. 해결책 G1에 있어서, 비트스트림은 필러 페이로드를 갖는 SEI 메시지를 포함하는 SEI NAL 유닛이 임의의 다른 페이로드를 갖는 다른 SEI 메시지를 배제하도록 구성된다는 것을 지정하는 포맷 규칙을 준수하는, 방법.
G6. 해결책 G1에 있어서, VCL NAL 유닛은 최대 하나의 연관된 필러 NAL 유닛을 갖는, 방법.
G7. 비디오 프로세싱 방법으로서, 비디오의 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 비트스트림이 비디오 유닛이 무손실 모드로 코딩되는지 손실 모드로 코딩되는지를 나타내는 제1 신택스 요소를 포함한다는 것을 지정하며, 비디오 유닛에 적용되는 팔레트 모드에서의 이스케이프 샘플을 나타내는 제2 신택스 요소를 시그널링하는 것은 제1 신택스 요소의 값에 기초하여 선택적으로 포함되는, 방법.
G8. 해결책 G7에 있어서, 이스케이프 샘플의 이진화 방법은 제1 신택스 요소에 기초하는, 방법.
G9. 해결책 G7에 있어서, 이스케이프 샘플에 대한 산술 코딩에서의 콘텍스트 코딩의 결정은 플래그에 기초하는, 방법.
G10. 해결책 G7 내지 해결책 G9 중 어느 한 해결책에 있어서, 비디오 유닛은 코딩 유닛(CU) 또는 코딩 트리 유닛(CTU)인, 방법.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
P1. 비디오 프로세싱 방법으로서, 비디오의 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 픽처 내의 서브픽처 수는 서브픽처 수의 값에 의존하는 비트폭을 갖는 필드로서 코딩된 표현에 포함되는, 방법.
P2. 해결책 P1에 있어서, 필드는 코드워드를 사용하여 서브픽처 수를 표현하는, 방법.
P3. 해결책 P2에 있어서, 코드워드는 골롬 코드워드를 포함하는, 방법.
P4. 해결책 P1 내지 해결책 P3 중 어느 한 해결책에 있어서, 서브픽처 수의 값은 픽처 내에 들어맞는 코딩 트리 블록들의 정수 개수보다 작거나 같도록 제한되는, 방법.
P5. 해결책 P1 내지 해결책 P4 중 어느 한 해결책에 있어서, 필드는 코딩된 표현과 연관된 코딩 레벨에 의존하는, 방법.
P6. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 비디오 영역이 어떠한 서브픽처들도 포함하지 않는 것으로 인해 서브픽처 식별자들을 나타내는 신택스 요소를 생략하도록 지정하는, 방법.
P7. 해결책 P6에 있어서, 코딩된 표현은 비디오 영역이 어떠한 서브픽처들도 포함하지 않는다는 것을 나타내는 0 값을 갖는 필드를 포함하는, 방법.
P8. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 코딩된 표현에서의 비디오 영역 헤더 레벨에서 비디오 영역 내의 서브픽처들의 식별자들을 생략하도록 지정하는, 방법.
P9. 해결책 P8에 있어서, 코딩된 표현은 서브픽처들이 비디오 영역 헤더에 열거되는 순서에 따라 수치적으로 서브픽처들을 식별해 주는, 방법.
P10. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨에서 비디오 영역 내의 서브픽처들의 식별자들 및/또는 서브픽처들의 식별자들의 길이를 포함하도록 지정하는 방법.
P11. 해결책 P10에 있어서, 길이는 픽처 파라미터 세트 레벨에 포함되는, 방법.
P12. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 서브픽처 식별자 길이 필드가 비디오 시퀀스 레벨에서 코딩된 표현에 포함되는지 여부를 나타내는 필드를 비디오 시퀀스 레벨에서 코딩된 표현에 포함시키도록 지정하는, 방법.
P13. 해결책 P12에 있어서, 포맷 규칙은, 코딩된 표현에서의 다른 필드가 비디오 영역에 대한 길이 식별자가 코딩된 표현에 포함된다는 것을 나타내는 경우에, 이 필드를 "1"로 설정하도록 지정하는, 방법.
P14. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 비디오 영역이 참조 픽처로서 사용할 수 있는지 여부를 나타내는 표시를 코딩된 표현에 포함시키도록 지정하는, 방법.
P15. 해결책 P14에 있어서, 표시는 비디오 영역과 연관된 인덱스 또는 ID 값 및 계층 ID를 포함하는, 방법.
P16. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 비디오 영역이 참조 계층들의 비디오 영역들과 연관된 복수의 샘플 값들로부터의 계층 간 예측(ILP)을 사용할 수 있는지 여부를 나타내는 표시를 코딩된 표현에 포함시키도록 지정하는, 방법.
P17. 해결책 P16에 있어서, 표시는 시퀀스 레벨, 픽처 레벨 또는 비디오 레벨에 포함되는, 방법.
P18. 해결책 P16에 있어서, 참조 계층들의 비디오 영역들이 비디오 영역 내의 샘플의 적어도 하나의 동일 위치 샘플을 포함하는, 방법.
P19. 해결책 P16에 있어서, 표시는 하나 이상의 추가 향상 정보(SEI) 메시지에 포함되는, 방법.
P20. 비디오 프로세싱 방법으로서, 비디오의 액세스 유닛에 있는 동작 포인트에 적용되는 제1 메시지 및 제2 메시지가 비디오의 코딩된 표현에 존재한다는 결정 시에, 디코딩 순서에서 제1 메시지가 제2 메시지보다 앞서도록 코딩된 표현을 구성하는 단계; 및 구성에 기초하여, 비디오의 비디오 영역과 코딩된 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
P21. 해결책 P20에 있어서, 제1 메시지는 버퍼링 주기(BP) 추가 향상 정보(SEI) 메시지를 포함하고, 제2 메시지는 픽처 타이밍(PT) SEI 메시지를 포함하는, 방법.
P22. 해결책 P20에 있어서, 제1 메시지는 버퍼링 주기(BP) 추가 향상 정보(SEI) 메시지를 포함하고, 제2 메시지는 디코딩 유닛 정보(DUI) SEI 메시지를 포함하는, 방법.
P23. 해결책 P20에 있어서, 제1 메시지는 픽처 타이밍(PT) 추가 향상 정보(SEI) 메시지를 포함하고, 제2 메시지는 디코딩 유닛 정보(DUI) SEI 메시지를 포함하는, 방법.
P24. 이상의 해결책들 중 어느 한 해결책에 있어서, 비디오 영역은 비디오의 서브픽처를 포함하는, 방법.
P25. 이상의 해결책들 중 어느 한 해결책에 있어서, 변환은 코딩된 표현을 파싱 및 디코딩하여 비디오를 생성하는 것을 포함하는, 방법.
P26. 이상의 해결책들 중 어느 한 해결책에 있어서, 변환은 비디오를 인코딩하여 코딩된 표현을 생성하는 것을 포함하는, 방법.
P27. 비디오 디코딩 장치로서, 해결책 P1 내지 해결책 P26 중 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 디코딩 장치.
P28. 비디오 인코딩 장치로서, 해결책 P1 내지 해결책 P26 중 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 인코딩 장치.
P29. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 코드는, 프로세서에 의해 실행될 때, 프로세서로 하여금 해결책 P1 내지 해결책 P26 중 어느 한 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
이하의 해결책들은 위에 열거된 기술적 해결책들에 적용된다.
O1. 선행 해결책들 중 어느 한 해결책에 있어서, 변환은 비트스트림 표현으로부터 비디오를 디코딩하는 것을 포함하는, 방법.
O2. 선행 해결책들 중 어느 한 해결책에 있어서, 변환은 비디오를 비트스트림 표현으로 인코딩하는 것을 포함하는, 방법.
O3. 선행 해결책들 중 어느 한 해결책에 있어서, 변환은 비디오로부터 비트스트림을 생성하는 것을 포함하고, 이 방법은 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
O4. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로서, 선행 해결책들 중 어느 한 해결책에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 컴퓨터 판독 가능 기록 매체에 기입하는 단계를 포함하는, 방법.
O5. 비디오 프로세싱 장치로서, 선행 해결책들 중 어느 한 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 프로세싱 장치.
O6. 명령어들이 저장된 컴퓨터 판독 가능 매체로서, 명령어들은, 실행될 때, 프로세서로 하여금 선행 해결책들 중 어느 한 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 판독 가능 매체.
O7. 컴퓨터 판독 가능 매체로서, 선행 해결책들 중 어느 한 해결책에 따라 생성되는 비트스트림 표현을 저장하는, 컴퓨터 판독 가능 매체.
O8. 비트스트림 표현을 저장하기 위한 비디오 프로세싱 장치로서, 비디오 프로세싱 장치는 선행 해결책들 중 어느 한 해결책에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치
O9. 선행 해결책들 중 어느 한 해결책에 기재된 방법을 사용하여 생성되는 비트스트림으로서, 비트스트림은 컴퓨터 판독 가능 매체에 저장되는, 비트스트림.
본 문서에 설명된 개시된 및 다른 해결책들, 예들, 실시예들, 모듈들 및 기능 동작들은 디지털 전자 회로로, 또는 본 문서에 개시된 구조 및 그의 구조적 등가물을 포함한, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 다른 실시예들은 하나 이상의 컴퓨터 프로그램 제품으로서, 즉, 데이터 프로세싱 장치에 의해 실행하기 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 메모리 디바이스, 머신 판독 가능 전파 신호를 실현하는 조성물(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 (30)

  1. 비디오 프로세싱 방법으로서,
    규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 규칙은 상기 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 출력 계층 세트(OLS) 가상 참조 디코더(HRD)에 대한 파라미터 수를 나타내는 제1 신택스 요소가 제1 미리 결정된 임계치보다 작다는 것을 지정하는, 방법.
  2. 제1항에 있어서, 상기 제1 신택스 요소는 vps_num_ols_timing_hrd_params_minus1인, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 제1 미리 결정된 임계치는 다중 계층 출력 계층 세트들의 수(NumMultiLayerOlss로 표기됨)에서 1을 뺀 값인, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 신택스 요소가 상기 비트스트림에서 시그널링되지 않을 때 상기 제1 신택스 요소는 0인 것으로 추론되는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 규칙은 상기 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 프로필/티어/레벨(PTL) 신택스 구조들의 수를 나타내는 제2 신택스 요소가 제2 미리 결정된 임계치보다 작다는 것을 지정하는, 방법.
  6. 비디오 프로세싱 방법으로서,
    규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 규칙은 상기 비디오와 연관된 비디오 파라미터 세트(VPS) 내의 프로필/티어/레벨(PTL) 신택스 구조들의 수를 나타내는 신택스 요소가 미리 결정된 임계치보다 작다는 것을 지정하는, 방법.
  7. 제6항에 있어서, 상기 신택스 요소는 vps_num_ptls_minus1인, 방법.
  8. 제6항 또는 제7항에 있어서, 상기 미리 결정된 임계치는 출력 계층 세트들의 총수(TotalNumOlss로 표기됨)인, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 미리 결정된 임계치와 상기 신택스 요소 사이의 차이는 상기 비트스트림에서 시그널링되는, 방법.
  10. 제9항에 있어서, 상기 차이는 단항 코드를 사용하여 시그널링되는, 방법.
  11. 제9항에 있어서, 상기 차이는 지수 골롬(EG) 코드를 사용하여 시그널링되는, 방법.
  12. 비디오 프로세싱 방법으로서,
    규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 규칙은 비디오 파라미터 세트(VPS) 내의 디코딩된 픽처 버퍼 파라미터들 신택스 구조들의 수를 나타내는 제1 신택스 요소가 상기 VPS에 의해 지정되는 계층 수를 나타내는 제2 신택스 요소보다 작거나 같아야 한다는 것을 지정하는, 방법.
  13. 제12항에 있어서, 상기 제1 신택스 요소와 미리 결정된 임계치 사이의 차이는 상기 비트스트림에서 시그널링되는, 방법.
  14. 제12항에 있어서, 상기 제2 신택스 요소와 미리 결정된 임계치 사이의 차이는 상기 비트스트림에서 시그널링되는, 방법.
  15. 제13항 또는 제14항에 있어서, 상기 차이는 단항 코드를 사용하여 시그널링되는, 방법.
  16. 제13항 또는 제14항에 있어서, 상기 차이는 지수 골롬(EG) 코드를 사용하여 시그널링되는, 방법.
  17. 비디오 프로세싱 방법으로서,
    규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 규칙은 종료 네트워크 추상화 계층(NAL) 유닛이 상기 비트스트림에서 시그널링하는 것 또는 외부 수단을 통해 제공하는 것에 의해 디코더에 이용 가능하게 되는 것을 허용하는, 방법.
  18. 제17항에 있어서, 상기 종료 NAL 유닛은 비트스트림 끝(EOB) NAL 유닛인, 방법.
  19. 제17항에 있어서, 상기 종료 NAL 유닛은 시퀀스 끝(EOS) NAL 유닛인, 방법.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 외부 수단은 파라미터 세트를 포함하는, 방법.
  21. 비디오 프로세싱 방법으로서,
    비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 비트스트림은 포맷 규칙을 준수하고,
    상기 포맷 규칙은 신택스 요소가 0과 동일한 것 - 이는 상기 비트스트림 내의 각각의 계층이 계층 간 예측을 사용하도록 구성된다는 것을 나타냄 - 으로 인해 상기 각각의 계층을 하나의 서브픽처만을 포함하도록 제한하는, 방법.
  22. 제21항에 있어서, 상기 신택스 요소는 vps_independent_layer_flag인, 방법.
  23. 제1항 내지 제22항 중 어느 한 항에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 비디오를 디코딩하는 것을 포함하는, 방법.
  24. 제1항 내지 제22항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림 표현으로 인코딩하는 것을 포함하는, 방법.
  25. 제1항 내지 제22항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오로부터 상기 비트스트림을 생성하는 것을 포함하고, 상기 방법은:
    상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계
    를 더 포함하는, 방법.
  26. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로서,
    제1항 내지 제22항 중 어느 하나 이상의 항에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및
    상기 비트스트림을 상기 컴퓨터 판독 가능 기록 매체에 기입하는 단계
    를 포함하는, 방법.
  27. 비디오 프로세싱 장치로서, 제1항 내지 제26항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서
    를 포함하는, 비디오 프로세싱 장치.
  28. 명령어들이 저장된 컴퓨터 판독 가능 매체로서, 상기 명령어들은, 실행될 때, 프로세서로 하여금 제1항 내지 제26항 중 하나 이상의 항에 기재된 방법을 구현하게 하는, 컴퓨터 판독 가능 매체.
  29. 컴퓨터 판독 가능 매체로서, 제1항 내지 제26항 중 어느 하나 이상의 항에 따라 생성되는 비트스트림 표현을 저장하는, 컴퓨터 판독 가능 매체.
  30. 비트스트림 표현을 저장하기 위한 비디오 프로세싱 장치로서, 상기 비디오 프로세싱 장치는 제1항 내지 제26항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치.
KR1020227022629A 2020-01-09 2021-01-08 비디오 비트스트림들에서의 값 범위들에 대한 제약들 KR20220124702A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062959108P 2020-01-09 2020-01-09
US62/959,108 2020-01-09
PCT/US2021/012838 WO2021142370A1 (en) 2020-01-09 2021-01-08 Constraints on value ranges in video bitstreams

Publications (1)

Publication Number Publication Date
KR20220124702A true KR20220124702A (ko) 2022-09-14

Family

ID=76787551

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020227022629A KR20220124702A (ko) 2020-01-09 2021-01-08 비디오 비트스트림들에서의 값 범위들에 대한 제약들
KR1020227022235A KR20220123650A (ko) 2020-01-09 2021-01-08 비디오 스트림들 내의 필러 데이터 유닛들의 프로세싱
KR1020227022268A KR20220125236A (ko) 2020-01-09 2021-01-08 상위 레벨 신택스 표시의 시그널링
KR1020227022236A KR20220125235A (ko) 2020-01-09 2021-01-08 상이한 sei 메시지들의 디코딩 순서
KR1020227022227A KR20220123649A (ko) 2020-01-09 2021-01-08 계층 간 참조 픽처들의 존재의 시그널링

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020227022235A KR20220123650A (ko) 2020-01-09 2021-01-08 비디오 스트림들 내의 필러 데이터 유닛들의 프로세싱
KR1020227022268A KR20220125236A (ko) 2020-01-09 2021-01-08 상위 레벨 신택스 표시의 시그널링
KR1020227022236A KR20220125235A (ko) 2020-01-09 2021-01-08 상이한 sei 메시지들의 디코딩 순서
KR1020227022227A KR20220123649A (ko) 2020-01-09 2021-01-08 계층 간 참조 픽처들의 존재의 시그널링

Country Status (7)

Country Link
US (6) US11765394B2 (ko)
EP (5) EP4074024A4 (ko)
JP (5) JP7428808B2 (ko)
KR (5) KR20220124702A (ko)
CN (8) CN114930830A (ko)
BR (1) BR112022013594A2 (ko)
WO (7) WO2021142367A1 (ko)

Families Citing this family (4)

* 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
WO2021187376A1 (en) * 2020-03-19 2021-09-23 Sharp Kabushiki Kaisha Systems and methods for signaling decoded picture buffer information in video coding
CN115699729A (zh) * 2020-05-22 2023-02-03 抖音视界有限公司 子图片子比特流提取处理中的缩放窗口
WO2021252545A1 (en) * 2020-06-09 2021-12-16 Bytedance Inc. Signaling constraints in non-scalable nested video syntax elements

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0771652B2 (ja) 1988-06-25 1995-08-02 化研興業株式会社 湿式塗装ブース循環水の処理剤
JP2003087785A (ja) * 2001-06-29 2003-03-20 Toshiba Corp 動画像符号化データの形式変換方法及び装置
EP1978747B1 (en) 2001-11-29 2014-05-21 Panasonic Corporation Coding distortion removal method
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 삼성전자주식회사 최적의 임계치를 이용한 지수 골롬 이진화에 의한 영상부호화 방법 및 그 장치, 및 영상 복호화 방법 및 그 장치
US20110116722A1 (en) 2008-07-04 2011-05-19 Yukinaga Seki Coded stream reproduction device and coded stream reproduction method
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 퀄컴 인코포레이티드 디스패리티 벡터 유도를 위한 화상들의 선택
US9648352B2 (en) * 2012-09-24 2017-05-09 Qualcomm Incorporated Expanded decoding unit definition
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
US9432664B2 (en) 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US9479782B2 (en) 2012-09-28 2016-10-25 Qualcomm Incorporated Supplemental enhancement information message 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
MX358606B (es) * 2012-10-09 2018-08-24 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
WO2014059051A1 (en) 2012-10-09 2014-04-17 Rodriguez Arturo A Providing a common set of parameters for sub-layers of coded video
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
US9349616B2 (en) * 2013-03-13 2016-05-24 Stats Chippac, Ltd. Semiconductor device and method of forming WLCSP with semiconductor die embedded within interconnect structure
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
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
US9648326B2 (en) * 2013-07-02 2017-05-09 Qualcomm Incorporated Optimizations on inter-layer prediction signalling for multi-layer video coding
GB2516224A (en) 2013-07-11 2015-01-21 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
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
US9930342B2 (en) 2014-06-20 2018-03-27 Qualcomm Incorporated Systems and methods for signaling hypothetical reference decoder parameters in a parameter set
US10356415B2 (en) 2014-06-20 2019-07-16 Qualcomm Incorporated Systems and methods for constraining representation format parameters for a parameter set
US9756355B2 (en) 2014-06-20 2017-09-05 Qualcomm Incorporated Value ranges for syntax elements in video coding
US10432951B2 (en) 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer 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 주식회사 케이티 비디오 신호 처리 방법 및 장치
JP6399189B2 (ja) 2017-10-11 2018-10-03 富士通株式会社 動画像符号化方法
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
KR20220003084A (ko) 2019-05-06 2022-01-07 후아웨이 테크놀러지 컴퍼니 리미티드 점진적 디코딩 리프레시를 위한 가상 참조 디코더
GB2584295A (en) 2019-05-28 2020-12-02 Canon Kk Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
KR20220024721A (ko) 2019-06-20 2022-03-03 노키아 테크놀로지스 오와이 비디오 인코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
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
US11159827B2 (en) 2019-09-23 2021-10-26 Tencent America LLC Method for signaling output layer set with sub picture
WO2021061496A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
WO2021061571A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Picture timing and decoding unit information for temporal scalability
CN114424557B (zh) 2019-09-24 2023-11-10 华为技术有限公司 不允许未使用的层包括在多层视频码流中
WO2021061530A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Ols for spatial and snr scalability
CA3152464A1 (en) 2019-09-24 2021-04-01 Xiang Ma Methods and systems to signal inter-layer enabled syntax element in video coding
MX2022003557A (es) 2019-09-24 2022-06-14 Huawei Tech Co Ltd Ols para escalabilidad multivista.
JP7472425B2 (ja) 2019-09-24 2024-04-23 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デコーダによって実装される方法、エンコーダによって実装される方法、ビデオコーディングデバイス、コンピュータプログラム、デコーダ、エンコーダ、及びビットストリームを生成する方法
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
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
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
WO2021096057A1 (ko) 2019-11-14 2021-05-20 엘지전자 주식회사 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
US11477487B2 (en) 2019-12-10 2022-10-18 Zte (Uk) Limited Subpicture signaling in video coding
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
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 华为技术有限公司 编码器、解码器及对应方法和装置
US20220086497A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity group signaling in coded video
US11671627B2 (en) 2020-09-17 2023-06-06 Lemon Inc. Operating point entity group signaling in coded video

Also Published As

Publication number Publication date
WO2021142365A2 (en) 2021-07-15
US20220377381A1 (en) 2022-11-24
CN114930843A (zh) 2022-08-19
EP4088431A4 (en) 2023-09-27
EP4074052A4 (en) 2023-05-31
US11968405B2 (en) 2024-04-23
JP2023509778A (ja) 2023-03-09
EP4074052A1 (en) 2022-10-19
CN114946125A (zh) 2022-08-26
WO2021142369A1 (en) 2021-07-15
US11956476B2 (en) 2024-04-09
JP2023509779A (ja) 2023-03-09
KR20220125236A (ko) 2022-09-14
CN114930830A (zh) 2022-08-19
JP2023510768A (ja) 2023-03-15
JP2023510779A (ja) 2023-03-15
CN114982243A (zh) 2022-08-30
JP2023509777A (ja) 2023-03-09
JP7457130B2 (ja) 2024-03-27
WO2021142365A3 (en) 2021-09-02
KR20220123649A (ko) 2022-09-08
US20220377382A1 (en) 2022-11-24
EP4074043A1 (en) 2022-10-19
US20220377383A1 (en) 2022-11-24
CN115004669A (zh) 2022-09-02
EP4070466A4 (en) 2023-05-10
US11765394B2 (en) 2023-09-19
KR20220125235A (ko) 2022-09-14
US11936917B2 (en) 2024-03-19
BR112022013594A2 (pt) 2022-09-13
JP7451723B2 (ja) 2024-03-18
EP4074043A4 (en) 2023-01-25
EP4074024A4 (en) 2023-04-05
WO2021142372A1 (en) 2021-07-15
CN117395441A (zh) 2024-01-12
WO2021142364A1 (en) 2021-07-15
KR20220123650A (ko) 2022-09-08
WO2021142367A1 (en) 2021-07-15
CN114946174A (zh) 2022-08-26
EP4088431A1 (en) 2022-11-16
EP4070466A1 (en) 2022-10-12
US20220377361A1 (en) 2022-11-24
WO2021142370A1 (en) 2021-07-15
US20220377384A1 (en) 2022-11-24
JP7428808B2 (ja) 2024-02-06
JP7460774B2 (ja) 2024-04-02
EP4074024A1 (en) 2022-10-19
WO2021142363A1 (en) 2021-07-15
US20240129545A1 (en) 2024-04-18
CN114946188A (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
US11936917B2 (en) Processing of filler data units in video streams
US11812062B2 (en) Syntax for signaling video subpictures
KR20220143822A (ko) 슬라이스 및 타일 픽처 파티션의 시그널링
WO2021138652A1 (en) Restrictions on inter prediction for subpicture