KR20230002447A - 비디오 코딩 신택스 요소의 조건적 시그널링 - Google Patents

비디오 코딩 신택스 요소의 조건적 시그널링 Download PDF

Info

Publication number
KR20230002447A
KR20230002447A KR1020227036389A KR20227036389A KR20230002447A KR 20230002447 A KR20230002447 A KR 20230002447A KR 1020227036389 A KR1020227036389 A KR 1020227036389A KR 20227036389 A KR20227036389 A KR 20227036389A KR 20230002447 A KR20230002447 A KR 20230002447A
Authority
KR
South Korea
Prior art keywords
flag
equal
slice
aps
alf
Prior art date
Application number
KR1020227036389A
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 KR20230002447A publication Critical patent/KR20230002447A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/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/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/124Quantisation
    • 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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

비디오 프로세싱 시스템, 방법 및 장치가 개시된다. 비디오 프로세싱은 비디오 인코딩, 비디오 디코딩 또는 비디오 트랜스코딩을 포함할 수 있다. 비디오 프로세싱 방법의 일 예는 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) RPL 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 픽처 헤더에 존재하는 경우 특정 RPL 내의 참조 픽처의 수에 기초하여, 특정 참조 픽처 리스트(RPL)에 대한 움직임 벡터 차가 표시되는지를 나타내는 제1 신택스 요소가 비스트스림에 조건적으로 포함되는 것을 명시한다.

Description

비디오 코딩 신택스 요소의 조건적 시그널링
관련 출원의 상호 참조
파리 협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2020년 4월 26일에 제출된 미국 가출원 번호 63/015,623에 대한 우선권과 혜택을 적시에 청구하기 위하여 만들어졌다. 법 하의 모든 목적을 위해, 상술한 출원의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 문서는 이미지 및 비디오 코딩 및 디코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크 상에서 가장 큰 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 요구가 계속 증가할 것으로 기대된다
본 문서는 코딩된 표현의 디코딩에 유용한 제어 정보를 이용하여 비디오의 코딩된 표현을 프로세싱하기 위한 비디오 인코더 및 디코더에 의해 사용될 수 있는 기술을 개시한다
일 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 크로마 컴포넌트를 갖는 비디오 간의 변환을 수행하는 단계를 포함하고, 상기 비디오는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처 및 비디오의 코딩된 표현을 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 크로마 어레이 타입 필드가 변환 동안 사용되는 크로마의 변환 특성에 대한 제한을 제어함을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 영역을 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 비디오 간의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 변환 동안 비디오 영역으로의 디블로킹 필터의 적용가능성을 나타내는 비디오 영역에 대한 디블로킹 모드 지시자를 포함하는 것을 명시하는 포맷 규칙을 따른다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 슬라이스 및/또는 하나 이상의 비디오 서브픽처를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 비디오 픽처에 대하여 픽처 분할이 디스에이블되는 경우 비디오 픽처에 대하여 서브픽처 모드당 단일 슬라이스가 인에이블되는 것으로 간주되는지의 여부를 나타내는 플래그를 명시하는 포맷 규칙을 따른다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 픽처 또는 슬라이스 레벨 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에서 시그널링됨을 명시하는 규칙 포맷을 따른다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 상기 비디오의 비디오 블록의 변환을 위해 적용가능한 크로마 양자화 파라미터(QP) 테이블이 (delta_qp_in_val_minus1[ i ][ j ] + 1) 및 delta_qp_diff_val[ i ][ j ] 간의 XOR 동작으로서 도출됨을 명시하는 포맷 규칙을 따르고, delta_qp_in_val_minus1[i][j]는 i번째 크로마 매핑 테이블의 j번째 피벗 포인트의 입력 좌표를 도출하는데 사용되는 델타 값을 명시하고, delta_qp_diff_val[ i ][ j ]는 i번째 크로마 QP 매핑 테이블의 j번째 피벗 포인트의 출력 좌표를 도출하는데 사용되는 델타 값을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트 정보가 픽처 헤더에서 시그널링되는지를 나타내는 제2 SE의 여부 및 RPL 정보가 픽처 헤더에 존재할 때 RPL 내의 참조 픽처의 수에 기초하여 참조 픽처 리스트(RPL)에 대한 움직임 벡터 차(MVD)를 시그널링할지를 나타내는 제1 신택스 요소(SE)가 상기 코딩된 표현에 조건적으로 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE의 여부 및 RPL 정보가 PH에 존재할 때 이전의 RPL 내의 참조 픽처의 수 및/또는 상기 코딩된 표현에서 시퀀스 파라미터 세트 레벨에 포함되는 DMVR 툴의 적용가능성을 나타내는 플래그가 1과 동일한지에 기초하여 디코더 움직임 벡터 리파인먼트(DMVR) 툴을 디스에이블하는지를 나타내는 제1 신택스 요소(SE)가 코딩된 표현에 조건적으로 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE의 여부 및 RPL 정보가 PH에 존재할 때 RPL-1 내의 참조 픽처의 수 및/또는 시퀀스 파라미터 세트 레벨에서 BDOF 툴의 적용가능성을 나타내는 플래그에 기초하여 양방향 광 흐름 (BDOF) 툴을 디스에이블하는지를 나타내는 제1 신택스 요소(SE)가 코딩된 표현에 조건적으로 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL-1 내의 참조 픽처의 수 및/또는 현재 픽처를 코딩하기 위하여 시간적 움직임 벡터 예측(TMVP) 툴이 인에이블되는지에 기초하여 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0로부터 도출되는지를 나타내는 제1 신택스 요소(SE)가 코딩된 표현에 조건적으로 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 가중 픽처(WP) 정보가 픽처 헤더(PH)에서 시그널링되는지 및 참조 픽처 리스트(RPL) 정보가 PH에서 시그널링되는지를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL-1 내의 참조 픽처의 수 및/또는 가중 예측 및/또는 가중 양 예측의 적용가능성을 나타내는 플래그들이 픽처 파라미터 세트에 포함되는지에 기초하여 예측 가중치의 테이블이 코딩된 표현에 포함되는지를 나타내는 제1 신택스 요소(SE)가 조건적으로 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 인트라 슬라이스의 사용이 상기 코딩된 표현 내의 비디오 픽처를 나타내기 위해 허용되는지가 인터 슬라이스가 픽처에 대하여 허용되는지 및 1보다 많은 파티션이 존재하는지에 의존함을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) RPL 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 픽처 헤더에 존재하는 경우 특정 RPL 내의 참조 픽처의 수에 기초하여, 특정 참조 픽처 리스트(RPL)에 대한 움직임 벡터 차가 표시되는지를 나타내는 제1 신택스 요소가 비스트스림에 조건적으로 포함되는 것을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 규칙은 상기 변환에 적용가능한 하나 이상의 제한을 나타내는 일반 제한 정보 신택스 구조 내의 어떤 신택스 요소가 함께 그룹화되는지를 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) 인터 슬라이스가 픽처에서 허용되는지 및/또는 (ii) 픽처가 1보다 많은 파티션으로 분할되는지에 기초하여 픽처에 대하여 픽처 내의 인트라 슬라이스의 사용이 인에이블된다는 표시가 선택적으로 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더가 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 비트스트림에서 시퀀스 파라미터 세트 레벨에 포함된 DMVR 툴의 적용가능성을 나타내는 플래그가 소정의 값과 동일한지에 기초하여, DMVR 툴이 디스에이블되는지를 나타내는 제1 신택스 요소가 조건적으로 비트스트림에 포함됨을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 시퀀스 파라미터 세트 레벨에서 BDOF 툴의 적용가능성을 나타내는 플래그에 기초하여, BDOF(bi-directional optical flow) 툴을 디스에이블할지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 신택스 요소 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 현재 픽처를 코딩하기 위한 TMVP(temporal motion vector prediction) 툴의 적용가능성을 나타내는 플래그 에 기초하여, 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0로부터 도출되는지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) 가중 예측(WP) 정보가 픽처 헤더(PH)에 포함되는지를 나타내는 제2 신택스 요소 및/또는 (ii) 참조 픽처 리스트(RPL) 정보가 PH에 포함되는지를 나타내는 제3 신택스 요소, (iii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iv) 가중 예측의 적용가능성을 나타내는 제4 신택스 요소 및/또는 픽처 파라미터 세트에 포함되는 가중 양예측의 적용가능성을 나타내는 제5 신택스 요소에 기초하여, 예측 가중치의 테이블을 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 지를 명시한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (i) 가중 예측(WP) 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소 및/또는 (ii) 참조 픽처 리스트(RPL) 정보가 픽처 헤더에 포함되는지를 나타내는 제3 신택스 요소, (iii) 특정 RPL 내의 참조 픽처의 수 및/또는 (iv) 픽처 파라미터 세트에 포함되고 픽처 파라미터 세트를 참조하는 B 슬라이스로의 명시적 가중 예측의 적용가능성을 나타내는 제4 신택스 요소에 기초하여, 특정 참조 픽처 리스트 내의 엔트리에 대하여 시그널링된 가중치의 수를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시한다.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장된 컴퓨터 판독가능 매체가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로 여기에 설명된 방법 중 하나를 구현한다,
이들 및 기타 특징은 본 문서 전체에 걸쳐 설명되어 있다.
도 1는 예시적인 비디오 프로세싱 시스템의 블록도.
도 2은 비디오 프로세싱 장치의 블록도.
도 3은 예시적인 비디오 프로세싱 방법의 플로우챠트.
도 4는 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 나타내는 블록도.
도 5는 본 개시의 일부 실시예에 따른 인코더를 나타내는 블록도.
도 6은 본 개시의 일부 실시예에 따른 디코더를 나타내는 블록도.
도 7은 비디오 프로세싱 방법에 대한 플로우챠트.
도 8a 내지 8g는 예시적인 비디오 프로세싱 방법에 대한 플로우챠트.
도 9는 예시적인 비디오 프로세싱 방법에 대한 플로우챠트.
섹션 표제는 이해의 편의를 위해 본 문서에서 사용되며, 각 섹션에 개시된 기술 및 실시예의 적용가능성은 그 섹션에만 제한되지 않는다. 또한, H.266 용어는 단지 이해의 편의를 위해 일부 설명에서 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 기재된 기술은 다른 비디오 코덱 프로토콜 및 설계에 적용가능하다.
1. 도입
이 문서는 비디오 코딩 기술에 관한 것이다. 구체적으로, 비디오 코딩에서 APS, 디블로킹, 서브픽처 및 QP 델타의 신택스 설계에 관한 것이다. 아이디어는, 멀티레이어 비디오 코딩, 예를 들어 개발중인 VVC(Versatile Video Coding)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
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)
SH 슬라이스 헤더(Slice header)
SPS 시퀀스 파라미터 세트(Sequence Parameter Set)
SVC 확장가능한 비디오 코딩(Scalable Video Coding)
VCL 비디오 코딩 계층(Video Coding Layer)
VPS 비디오 파라미터 세트(Video Parameter Set)
VTM VVS 테스트 모델(VVC Test Model)
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 Advanced Video Coding (AVC) 및 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(Versatile Video Coding)로 명명되었으며, 그 때 VVC 테스트 모델(VTM)의 첫 번째 버전이 출시되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다. 그런 다음 VVC 작업 초안 및 테스트 모델 VTM이 모든 회의 후에 업데이트된다. VVC 프로젝트는 현재 2020년 7월 회의에서의 기술 완료(FDIS)를 목표로 하고 있다.
3.1 PPS 신택스 및 시맨틱
최신 VVC 초안 텍스트에서, PPS 신택스 및 시맨틱은 다음과 같다.
Figure pct00001
Figure pct00002
Figure pct00003
Figure pct00004
PPS RBSP는 참조되기 전에 디코딩 프로세스에서 이용될 수 있어야 하며, TemporalId가 PPS NAL 유닛의 TemporalId보다 작거나 같은 하나 이상의 AU에 포함되거나 외부 수단을 통해 제공된다.
PU 내에서 pps_pic_parameter_set_id의 특정 값을 갖는 모든 PPS NAL 유닛은 동일한 내용을 가져야 한다.
pps_pic_parameter_set_id는 다른 신택스 요소에 의해 참조되도록 PPS를 식별한다. pps_pic_parameter_set_id의 값은 0에서 63(포함)의 범위에 있어야 한다.
PPS NAL 유닛은, nuh_layer_id 값에 관계없이, pps_pic_parameter_set_id의 동일한 값 공간을 공유한다.
ppsLayerId는 특정 PPS NAL 유닛의 nuh_layer_id의 값이고, vclLayerId는 특정 VCL NAL 유닛의 nuh_layer_id의 값이라 하자. 특정 VCL NAL 유닛은, ppsLayerId가 vclLayerId보다 작거나 같고 ppsLayerId와 동일한 nuh_layer_id을 갖는 레이어가 vclLayerId와 동일한 nuh_layer_id를 갖는 레이어를 포함하는 적어도 하나의 OLS에 포함되지 않는 한, 특정 PPS NAL 유닛을 참조하지 않아야 한다.
pps_seq_parameter_set_id는 SPS에 대한 sps_seq_parameter_set_id의 값을 나타낸다. pps_seq_parameter_set_id의 값은 0에서 15(포함)의 범위에 있어야 한다. pps_seq_parameter_set_id의 값은 CLVS의 코딩된 픽처에 의해 참조되는 모든 PPS에서 동일해야 한다.
1과 동일한 mixed_nalu_types_in_pic_flag 는 PPS를 참조하는 각각의 픽처가 1보다 많은 VCL NAL 유닛을 갖고, VCL NAL 유닛이 nal_unit_type의 동일한 값을 갖지 않고, 픽처는 IRAP 픽처가 아님을 나타낸다. 0과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처는 하나 이상의 VCL NAL 유닛을 갖고, PPS를 참조하는 각각의 픽처의 VCL NAL 유닛은 NAL units of each picture refering to the PPS have the same value of nal의 동일한 값을 갖는다.
no_mixed_nalu_types_in_pic_constraint_flag가 1과 동일하면, mixed_nalu_types_in_pic_flag의 값은 0과 동일해야 한다.
IDR_W_RADL에서 CRA_NUT(포함)의 범위에 있는 nal_unit_type 값 nalUnitTypeA를 갖는 각 슬라이스에 대해, nal_unit_type의 다른 값을 갖는 하나 이상의 슬라이스를 또한 포함하는 픽처 picA에서(즉, 픽처 picA에 대한 mixed_nalu_types_in_pic_flag의 값은 1과 동일함), 다음이 적용된다:
- 슬라이스는 대응하는 subpic_treated_as_pic_flag[ i ]의 값이 1과 동일한 서브픽처 subpicA에 속해야 한다.
- 슬라이스는 nal_unit_type이 nalUnitTypeA와 같지 않은 VCL NAL 유닛을 포함하는 picA의 서브픽처에 속하지 않아야 한다.
- nalUnitTypeA가 CRA와 같으면, 디코딩 순서 및 출력 순서에서 CLVS의 현재 픽처를 뒤따르는 모든 다음 PU에 대해, 해당 PU의 subpicA에 있는 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ] 어느 쪽도 액티브 엔트리의 디코딩 순서에서 picA를 선행하는 임의의 픽처를 포함하지 않아야 한다.
- 그렇지 않으면(즉, nalUnitTypeA가 IDR_W_RADL 또는 IDR_N_LP와 동일하면), 디코딩 순서에서 현재 픽처를 따르는 CLVS의 모든 PU에 대해, 해당 PU의 subpicA에 있는 슬라이스의 RefPicList[0] 또는 RefPicList[1] 어느 쪽도 액티브 엔트리의 디코딩 순서에서 picA를 선행하는 임의의 픽처를 포함하지 않아야 한다.
주 1 - 1과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 픽처가 다른 NAL 유닛 타입을 갖는 슬라이스, 예를 들어, 인코더가 매칭 비트스트림 구조 및 원래의 비트스트림의 파라미터의 추가 정렬을 확보해야 하는 서브픽처 비트스트림 머지 동작으로부터 발생하는 코딩된 픽처를 포함함을 나타낸다. 그러한 정렬의 한 예는 다음과 같다: sps_idr_rpl_flag의 값이 0과 같고 mixed_nalu_types_in_pic_flag가 1과 같으면, PPS를 참조하는 픽처는 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type을 갖는 슬라이스를 가질 수 없다.
pic_width_in_luma_samples는 PPS를 참조하는 각 디코딩된 픽처의 폭을 루마 샘플 단위로 나타낸다. pic_width_in_luma_samples는 0이 아니어야 하고 Max(8, MinCbSizeY)의 정수배여야 하며 pic_width_max_in_luma_samples보다 작거나 같아야 한다.
res_change_in_clvs_allowed_flag가 0과 같으면, pic_width_in_luma_samples의 값은 pic_width_max_in_luma_samples와 같아야 한다.
pic_height_in_luma_samples는 PPS를 참조하는 각 디코딩된 픽처의 높이를 루마 샘플 단위로 나타낸다. pic_height_in_luma_samples는 0이 아니어야 하고 Max(8, MinCbSizeY)의 정수배여야 하며 pic_height_max_in_luma_samples보다 작거나 같아야 한다.
res_change_in_clvs_allowed_flag가 0과 같으면, pic_height_in_luma_samples의 값은 pic_height_max_in_luma_samples와 같아야 한다.
변수 PicWidthInCtbsY, PicHeightInCtbsY, PicSizeInCtbsY, PicWidthInMinCbsY, PicHeightInMinCbsY, PicSizeInMinCbsY, PicSizeInSamplesY, PicWidthInSamplesC 및 PicHeightInSamplesC은 다음과 같이 도출된다:
PicWidthInCtbsY = Ceil( pic_width_in_luma_samples 
Figure pct00005
 CtbSizeY ) (69)
PicHeightInCtbsY = Ceil( pic_height_in_luma_samples 
Figure pct00006
CtbSizeY ) (70)
PicSizeInCtbsY = PicWidthInCtbsY * PicHeightInCtbsY (71)
PicWidthInMinCbsY = pic_width_in_luma_samples / MinCbSizeY (72)
PicHeightInMinCbsY = pic_height_in_luma_samples / MinCbSizeY (73)
PicSizeInMinCbsY = PicWidthInMinCbsY * PicHeightInMinCbsY (74)
PicSizeInSamplesY = pic_width_in_luma_samples * pic_height_in_luma_samples (75)
PicWidthInSamplesC = pic_width_in_luma_samples / SubWidthC (76)
PicHeightInSamplesC = pic_height_in_luma_samples / SubHeightC (77)
1과 동일한 pps_conformance_window_flag는 PPS에서 적합성 크로핑(cropping) 윈도우 오프셋 파라미터가 다음을 따른다는 것을 나타낸다. 0과 동일한 pps_conformance_window_flag는 적합성 크로핑 윈도우 오프셋 파라미터가 PPS에 존재하지 않음을 나타낸다.
pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset 및 pps_conf_win_bottom_offset은 디코딩 프로세스에서 출력되는 CLVS의 픽처 샘플을 출력용 픽처 좌표에 명시된 직사각형 영역의 관점에서 나타낸다. pps_conformance_window_flag가 0과 같으면, pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset, 및 pps_conf_win_bottom_offset의 값은 0과 같은 것으로 추론된다.
적합성 크로핑 윈도우는 SubWidthC * pps_conf_win_left_offset에서 pic_width_in_luma_samples - ( SubWidthC * pps_conf_win_right_offset + 1 )까지의 수평 픽처 좌표 및 SubHeightC * pps_conf_win_top_offset에서 pic_height_in_luma_samples - ( SubHeightC * pps_conf_win_bottom_offset + 1 )까지의 수직 픽처 좌표를 갖는 루마 샘플을 포함한다.
SubWidthC * ( pps_conf_win_left_offset + pps_conf_win_right_offset )의 값은 pic_width_in_luma_samples보다 작아야 하고, SubHeightC * ( pps_conf_win_top_offset + pps_conf_win_bottom_offset )의 값은 pic_height_in_luma_samples보다 작아야 한다.
ChromaArrayType이 0이 아닌 경우, 두 개의 크로마 어레이의 해당하는 명시된 샘플은 픽처 좌표( x / SubWidthC, y / SubHeightC )를 갖는 샘플이고, 여기서 ( x, y )는 명시된 루마 샘플의 픽처 좌표이다.
주 2 - 적합성 크로핑 윈도우 오프셋 파라미터는 출력에만 적용된다. 모든 내부 디코딩 프로세스는 크롭되지 않은 픽처 크기에 적용된다.
ppsA와 ppsB를 동일한 SPS를 참조하는 임의의 두 PPS라고 한다. ppsA 및 ppsB가 pic_width_in_luma_samples 및 pic_height_in_luma_samples의 동일한 값을 가지면, ppsA 및 ppsB는 각각 pps_conf_win_left_offset, pps_conf_win_right_offset_, pps_conf_win_right_offset_의 동일한 값을 가져야 하는 것이 비트스트림 적합성의 요구사항이다.
pic_width_in_luma_samples가 pic_width_max_in_luma_samples와 동일하고 pic_height_in_luma_samples가 pic_height_max_in_luma_samples 동일하면, pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset, 및 pps_conf_win_bottom_offset이 sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset, 및 sps_conf_win_bottom_offset와 각각 동일한 것이 비트스트림 적합성의 요구사항이다.
1과 동일한 scaling_window_explicit_signalling_flag는 스케일링 윈도우 오프셋 파라미터가 PPS에 존재함을 나타낸다. 0과 동일한 scaling_window_explicit_signalling_flag는 스케일링 윈도우 오프셋 파라미터가 PPS에 존재하지 않음을 나타낸다. res_change_in_clvs_allowed_flag가 0과 같으면, scaling_window_explicit_signalling_flag의 값은 0과 같아야 한다.
scaling_win_left_offset, scaling_win_right_offset, scaling_win_top_offset, scaling_win_bottom_offset은 스케일 비율 계산을 위한 픽처 크기에 적용되는 오프셋을 나타낸다. 존재하지 않는 경우 scaling_win_left_offset, scaling_win_right_offset, scaling_win_top_offset 및 scaling_win_bottom_offset의 값은 각각 pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset, and pps_conf_win_bottom_offset 과 동일한 것으로 추론된다.
SubWidthC * ( scaling_win_left_offset + scaling_win_right_offset )의 값은 pic_width_in_luma_samples보다 작아야 하고 SubHeightC * ( scaling_win_top_offset + scaling_win_bottom_offset )의 값은 pic_height_in_luma_samples 보다 작아야 한다.
변수 PicOutputWidthL 및 PicOutputHeightL는 다음과 같이 도출된다.
PicOutputWidthL = pic_width_in_luma_samples - SubWidthC * ( scaling_win_right_offset + scaling_win_left_offset ) (78)
PicOutputHeightL = pic_height_in_luma_samples - SubWidthC * ( scaling_win_bottom_offset + scaling_win_top_offset ) (79)
refPicOutputWidthL 및 refPicOutputHeightL을 각각 이 PPS를 참조하는 현재 픽처의 참조 픽처의 PicOutputWidthL 및 PicOutputHeightL이라고 하자. 다음 조건이 모두 충족되는 것이 비트스트림 적합성의 요구 사항이다.
- PicOutputWidthL * 2는 refPicWidthInLumaSamples보다 크거나 같아야 한다.
- PicOutputHeightL * 2 는 refPicHeightInLumaSamples 보다 크거나 같아야 한다.
- PicOutputWidthL는 refPicWidthInLumaSamples * 8보다 작거나 같아야 한다.
- PicOutputHeightL 는 refPicHeightInLumaSamples * 8보다 작거나 같아야 한다.
- PicOutputWidthL * pic_width_max_in_luma_samples는 refPicOutputWidthL * (pic_width_in_luma_samples - Max( 8, MinCbSizeY ))보다 크거나 같아야 한다.
- PicOutputHeightL * pic_height_max_in_luma_samples는 refPicOutputHeightL * (pic_height_in_luma_samples - Max( 8, MinCbSizeY )) 보다 크거나 같아야 한다.
1과 동일한 output_flag_present_flag는 pic_output_flag 신택스 요소가 PPS를 참조하는 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 output_flag_present_flag는 pic_output_flag 신택스 요소가 PPS를 참조하는 슬라이스 헤더에 존재하지 않음을 나타낸다.
1과 동일한 subpic_id_mapping_in_pps_flag는 서브픽처 ID 매핑이 PPS에서 시그널링되는 것을 나타낸다. 0과 동일한 subpic_id_mapping_in_pps_flag는 서브픽처 ID 매핑이 PPS에서 시그널링되지 않음을 나타낸다. subpic_id_mapping_explicitly_signalled_flag가 0이거나 subpic_id_mapping_in_sps_flag가 1과 동일하면, subpic_id_mapping_in_pps_flag의 값은 0과 동일해야 한다. 그렇지 않으면(subpic_id_mapping_explicitly_signalled_flag가 1과 같고 subpic_id_mapping_in_sps_flag가 0과 같으면), subpic_id_mapping_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 비트이다.
변수 SubpicIdVal[ i ]는 다음과 같이 도출되며, 여기서, i의 각각의 값은 0에서 sps_num_subpics_minus1(포함)의 범위 내에 있다:
Figure pct00007
다음의 제약이 모두 적용되는 것이 비트스트림 적합성의 요구사항이다:
- 0에서 sps_num_subpics_minus1(포함)의 범위에 있는 i 및 j의 두 가지 다른 값에 대해, SubpicIdVal[ i ]은 SubpicIdVal[ j ]와 동일하지 않아야 한다.
- 현재 픽처가 CLVS의 첫 번째 픽처가 아니면, 0부터 sps_num_subpics_minus1(포함)의 범위 내 i의 각 값에 대해, SubpicIdVal[ i ]의 값이 동일한 레이어에서 디코딩 순서에서 이전 픽처의 SubpicIdVal[ i ]의 값과 같지 않으면, 서브픽처 인덱스 i를 갖는 현재 픽처에서 서브픽처의 모든 코딩된 슬라이스 NAL 유닛에 대한 nal_unit_type은 IDR_W_RADL에서 CRA_NUT(포함)의 범위에 있는 특정 값과 동일해야 한다.
1과 동일한 no_pic_partition_flag는 PPS를 참조하는 각 픽처에 픽처 분할이 적용되지 않음을 나타낸다. 0과 동일한 no_pic_partition_flag는 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[ i ]의 값은 0에서 PicWidthInCtbsY - 1(포함)의 범위에 있어야 한다. 존재하지 않으면, 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[ i ]의 값은 0에서 PicHeightInCtbsY - 1(포함)의 범위에 있어야 한다. 존재하지 않으면, tile_row_height_minus1[ 0 ]의 값은 PicHeightInCtbsY - 1과 동일한 것으로 추론된다.
0과 동일한 rect_slice_flag는 각 슬라이스 내의 타일이 래스터 스캔 순서로 있고 슬라이스 정보가 PPS에서 시그널링되지 않음을 나타낸다. 1과 동일한 rect_slice_flag는 각 슬라이스 내의 타일이 픽처의 직사각형 영역을 커버하고 슬라이스 정보가 PPS에서 시그널링되는 것을 나타낸다. 존재하지 않으면, rect_slice_flag는 1과 같은 것으로 추론된다. subpic_info_present_flag가 1과 같으면, rect_slice_flag의 값은 1과 같아야 한다.
1과 동일한 single_slice_per_subpic_flag는 각 서브픽처가 단 하나의 직사각형 슬라이스로 구성된다는 것을 나타낸다. 0과 동일한 single_slice_per_subpic_flag는 각 서브픽처가 하나 이상의 직사각형 슬라이스로 구성될 수 있음을 나타낸다. single_slice_per_subpic_flag가 1과 같으면, num_slices_in_pic_minus1은 sps_num_subpics_minus1과 동일한 것으로 추론된다. 존재하지 않으면, single_slice_per_subpic_flag의 값은 0과 같은 것으로 추론된다.
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과 동일한 것으로 추론된다.
0과 동일한 tile_idx_delta_present_flag는 tile_idx_delta 값이 PPS에 존재하지 않고 PPS를 참조하는 픽처의 모든 직사각형 슬라이스가 6.5.1절에 정의된 프로세스에 따라 래스터 순서로 명시됨을 나타낸다. 1과 동일한 tile_idx_delta_present_flag는 tile_idx_delta 값이 PPS에 존재할 수 있고 PPS를 참조하는 픽처의 모든 직사각형 슬라이스가 tile_idx_delta의 값에 의해 표시된 순서로 명시된다는 것을 나타낸다. 존재하지 않으면, tile_idx_delta_present_flag의 값은 0과 같은 것으로 추론된다.
slice_width_in_tiles_minus1[ i ] + 1은 타일 열 단위로 i번째 직사각형 슬라이스의 폭을 나타낸다. slice_width_in_tiles_minus1[ i ]의 값은 0에서 NumTileColumns - 1(포함)의 범위에 있어야 한다.
slice_width_in_tiles_minus1[ i ]가 존재하지 않으면, 다음이 적용된다:
- NumTileColumns이 1과 동일하면, slice_width_in_tiles_minus1[ i ]의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면, 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 ]가 존재하지 않으면, 다음이 적용된다:
- NumTileRows가 1과 동일하거나 tile_idx_delta_present_flag가 0과 동일하고 tileIdx % NumTileColumns이 0보다 크면), slice_height_in_tiles_minus1[ i ]의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면(NumTileRows가 1과 동일하지 않고 tile_idx_delta_present_flag가 1과 동일하거나 tileIdx % NumTileColumns이 1과 동일하면), tile_idx_delta_present_flag가 1과 동일하거나 tileIdx % NumTileColumns가 0과 동일할 때, slice_height_in_tiles_minus1[ i ]의 값이 slice_height_in_tiles_minus1[ i - 1 ]과 동일한 것으로 추론된다.
num_exp_slices_in_tile[ i ]은 1보다 많은 직사각형 슬라이스를 포함하는 현재 타일에서 명시적으로 제공된 슬라이스 높이의 수를 나타낸다. num_exp_slices_in_tile[ i ]의 값은 0에서 RowHeight[ tileY ] - 1(포함)의 범위에 있어야 한다. 여기서, tileY는 i번째 슬라이스를 포함하는 타일 행 인덱스이다. 존재하지 않으면, num_exp_slices_in_tile[ i ]의 값은 0과 동일한 것으로 추론된다. num_exp_slices_in_tile[ i ]가 0과 동일하면, 변수 NumSlicesInTile[ i ]의 값은 1과 동일한 것으로 도출된다.
exp_slice_height_in_ctus_minus1[ j ] + 1은 현재 타일의 j번째 직사각형 슬라이스의 높이를 CTU 행 단위로 나타낸다. exp_slice_height_in_ctus_minus1[ j ]의 값은 0에서 RowHeight[ tileY ] - 1(포함)의 범위에 있어야 한다. 여기서 tileY는 현재 타일의 타일 행 인덱스이다.
num_exp_slices_in_tile[ i ]가 0보다 크면, 변수 NumSlicesInTile[ i ] 및 SliceHeightInCtusMinus1[ i + k ]은 다음과 같이 도출되고, 여기서 k는 0에서 NumSlicesInTile[ i ] - 1 (포함)의 범위 내에 있다:
Figure pct00008
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과 동일하지 않아야 한다.
1과 동일한 loop_filter_across_tiles_enabled_flag는 인루프 필터링 동작이 PPS를 참조하는 픽처의 타일 경계에 걸쳐 수행될 수 있음을 나타낸다. 0과 동일한 loop_filter_across_tiles_enabled_flag는 인루프 필터링 동작이 PPS를 참조하는 픽처의 타일 경계를 가로질러 수행되지 않음을 나타낸다. 인루프 필터링 동작은 디블로킹 필터, 샘플 적응적 오프셋 필터 및 적응적 루프 필터 동작을 포함한다. 존재하지 않으면, loop_filter_across_tiles_enabled_flag의 값은 1과 동일한 것으로 추론된다.
1과 동일한 loop_filter_across_slices_enabled_flag는 인루프 필터링 동작이 PPS를 참조하는 픽처의 슬라이스 경계를 가로질러 수행될 수 있음을 나타낸다. 0과 동일한 loop_filter_across_slice_enabled_flag는 인루프 필터링 동작이 PPS를 참조하는 픽처의 슬라이스 경계를 가로질러 수행되지 않음을 나타낸다. 인루프 필터링 동작은 디블로킹 필터, 샘플 적응적 오프셋 필터 및 적응적 루프 필터 동작을 포함한다. 존재하지 않으면, the value of loop_filter_across_slices_enabled_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 cabac_init_present_flag는 cabac_init_flag가 PPS를 참조하는 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 cabac_init_present_flag는 cabac_init_flag가 PPS를 참조하는 슬라이스 헤더에 존재하지 않음을 나타낸다.
num_ref_idx_default_active_minus1[ i ] + 1은, i가 0일 때, num_ref_idx_active_override_flag가 0인 P 또는 B 슬라이스에 대한 변수 NumRefIdxActive[ 0 ]의 추론된 값을 나타내고, i가 1일 때, num_ref_idx_active_override_flag가 0인 B 슬라이스에 대한 NumRefIdxActive[ 1 ] 의 추론된 값을 나타낸다. num_ref_idx_default_active_minus1[ i ]의 값은 0에서 14(포함)의 범위에 있어야 한다.
0과 동일한 rpl1_idx_present_flag는 ref_pic_list_sps_flag[1] 및 ref_pic_list_idx[1]가 PPS를 참조하는 픽처에 대한 PH 신택스 구조 또는 슬라이스 헤더에 존재하지 않음을 나타낸다. 1과 동일한 rpl1_idx_present_flag는 ref_pic_list_sps_flag[1] 및 ref_pic_list_idx[1]가 PPS를 참조하는 픽처에 대한 PH 신택스 구조 또는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
init_qp_minus26 + 26은 PPS를 참조하는 각 슬라이스에 대한 SliceQpY의 초기 값을 나타낸다. SliceQpY의 초기값은 ph_qp_delta의 0이 아닌 값이 복호화될 때 픽처 레벨에서 수정되거나 slice_qp_delta의 0이 아닌 값이 복호화될 때 슬라이스 레벨에서 수정된다. init_qp_minus26의 값은 -( 26 + QpBdOffset )에서 +37(포함)의 범위에 있어야 한다.
1과 동일한 cu_qp_delta_enabled_flag는 ph_cu_qp_delta_subdiv_intra_slice 및 ph_cu_qp_delta_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하고 cu_qp_delta_abs가 변환 유닛 신택스에 존재할 수 있음을 나타낸다. 0과 동일한 cu_qp_delta_enabled_flag는 ph_cu_qp_delta_subdiv_intra_slice 및 ph_cu_qp_delta_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하지 않고 cu_qp_delta_abs가 변환 유닛 신택스에 존재하지 않음을 나타낸다.
1과 동일한 pps_chroma_tool_offsets_present_flag는 크로마 툴 오프셋 관련 신택스 요소가 PPS RBSP 신택스 구조에 존재함을 나타낸다. 0과 동일한 pps_chroma_tool_offsets_present_flag는 크로마 툴 오프셋 관련 신택스 요소가 PPS RBSP 신택스 구조에 존재하지 않음을 나타낸다. ChromaArrayType이 0과 동일하면, pps_chroma_tool_offsets_present_flag의 값은 0과 동일해야 한다.
pps_cb_qp_offsetpps_cr_qp_offset은 각각 Qp'Cb 및 Qp'Cr 을 도출하는 데 사용되는 루마 양자화 파라미터 Qp'Y 에 대한 오프셋을 나타낸다. pps_cb_qp_offset 및 pps_cr_qp_offset의 값은 -12에서 +12(포함)의 범위에 있어야 한다. ChromaArrayType이 0이면, pps_cb_qp_offset 및 pps_cr_qp_offset은 디코딩 프로세스에서 사용되지 않으며 디코더는 그들의 값을 무시해야 한다. 존재하지 않으면, pps_cb_qp_offset 및 pps_cr_qp_offset의 값들은 0과 동일한 것으로 추론된다.
1과 동일한 pps_joint_cbcr_qp_offset_present_flag는 pps_joint_cbcr_qp_offset_value 및 joint_cbcr_qp_offset_list[ i ]가 PPS RBSP 신택스 구조에 존재함을 나타낸다. 0과 동일한 pps_joint_cbcr_qp_offset_present_flag는 pps_joint_cbcr_qp_offset_value 및 joint_cbcr_qp_offset_list[ i ]가 PPS RBSP 신택스 구조에 존재하지 않음을 나타낸다. ChromaArrayType가 0과 동일하거나 sps_joint_cbcr_enabled_flag가 0과 동일하면, pps_joint_cbcr_qp_offset_present_flag의 값은 0과 동일해야 한다. 존재하지 않으면, pps_joint_cbcr_qp_offset_present_flag의 값은 0과 동일한 것으로 추론된다.
pps_joint_cbcr_qp_offset_value는 Qp'CbCr를 도출하는데 사용되는 루마 양자화 파라미터 Qp'Y 에 대한 오프셋을 나타낸다. pps_joint_cbcr_qp_offset_value의 값은 -12에서 +12(포함)의 범위에 있어야 한다. ChromaArrayType이 0과 동일하거나 sps_joint_cbcr_enabled_flag가 0과 동일하면, pps_joint_cbcr_qp_offset_value는 디코딩 프로세스에서 사용되지 않고 디코더는 이들 값을 무시해야 한다. pps_joint_cbcr_qp_offset_present_flag가 0과 동일하면, pps_joint_cbcr_qp_offset_value가 존재하지 않고 0과 동일한 것으로 추론된다.
1과 동일한 pps_slice_chroma_qp_offsets_present_flag는 slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소가 연관된 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 pps_slice_chroma_qp_offsets_present_flag는 slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소가 연관된 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, the value of pps_slice_chroma_qp_offsets_present_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 pps_cu_chroma_qp_offset_list_enabled_flag는 ph_cu_chroma_qp_offset_subdiv_intra_slice 및 ph_cu_chroma_qp_offset_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하고 cu_chroma_qp_offset_flag가 변환 유닛 신택스 및 팔레트 코딩 신택스에 존재할 수 있음을 나타낸다. 0과 동일한 pps_cu_chroma_qp_offset_list_enabled_flag는 ph_cu_chroma_qp_offset_subdiv_intra_slice 및 ph_cu_chroma_qp_offset_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하지 않고 cu_chroma_qp_offset_flag가 변환 유닛 신택스 및 팔레트 코딩 신택스에 존재하지 않음을 나타낸다. 단위가 존재하지 않고 신택스가 존재하지 않음을 나타낸다. 존재하지 않으면, pps_cu_chroma_qp_offset_list_enabled_flag의 값은 0과 동일한 것으로 추론된다.
chroma_qp_offset_list_len_minus1 + 1은 PPS RBSP 신택스 구조에 존재하는 신택스 요소인 cb_qp_offset_list[ i ], cr_qp_offset_list[ i ] 및 joint_cbcr_qp_offset_list[ i ]의 수를 나타낸다. chroma_qp_offset_list_len_minus1의 값은 0에서 5(포함)의 범위에 있어야 한다.
cb_qp_offset_list[ i ], cr_qp_offset_list[ i ], 및 joint_cbcr_qp_offset_list[ i ]는 각각 Qp'Cb, Qp'Cr, 및 Qp'CbCr 의 도출에 사용되는 오프셋을 나타낸다. cb_qp_offset_list[ i ], cr_qp_offset_list[ i ], 및 joint_cbcr_qp_offset_list[ i ]의 값은 -12에서 +12(포함)의 범위에 있어야 한다. pps_joint_cbcr_qp_offset_present_flag가 0과 동일하면, joint_cbcr_qp_offset_list[ i ]가 존재하지 않고 0과 동일한 것으로 추론된다.
0과 동일한 pps_weighted_pred_flag는 가중 예측이 PPS를 참조하는 P 슬라이스에 적용되지 않음을 나타낸다. 1과 동일한 pps_weighted_pred_flag는 가중 예측이 PPS를 참조하는 P 슬라이스에 적용됨을 나타낸다. sps_weighted_pred_flag가 0과 동일하면, pps_weighted_pred_flag의 값은 0과 동일해야 한다.
0과 동일한 pps_weighted_bipred_flag는 명시적 가중 예측이 PPS를 참조하는 B 슬라이스에 적용되지 않음을 나타낸다. 1과 동일한 pps_weighted_bipred_flag는 명시적 가중 예측이 PPS를 참조하는 B 슬라이스에 적용됨을 나타낸다. sps_weighted_bipred_flag가 0과 동일하면, pps_weighted_bipred_flag의 값은 0과 동일해야 한다.
1과 동일한 deblocking_filter_control_present_flag는 PPS에서 디블로킹 필터 제어 신택스 요소의 존재를 나타낸다. 0과 동일한 deblocking_filter_control_present_flag는 PPS에서 디블로킹 필터 제어 신택스 요소의 부재를 나타낸다.
1과 동일한 deblocking_filter_override_enabled_flag는 PPS를 참조하는 PH에서 ph_deblocking_filter_override_flag 또는 PPS를 참조하는 슬라이스 헤더의 slice_deblocking_filter_override_flag의 존재를 나타낸다. 0과 동일한 deblocking_filter_override_enabled_flag는 PPS를 참조하는 PH에서 ph_deblocking_filter_override_flag의 부재 또는 PPS를 참조하는 슬라이스 헤더에서 slice_deblocking_filter_override_flag의 부재를 나타낸다. 존재하지 않으면, deblocking_filter_override_enabled_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 pps_deblocking_filter_disabled_flag는 slice_deblocking_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되지 않음을 나타낸다. 0과 동일한 pps_deblocking_filter_disabled_flag는 slice_deblocking_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되는 것을 나타낸다. 존재하지 않으면, pps_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
pps_beta_offset_div2pps_tc_offset_div2는, 디폴트 디블로킹 파라미터 오프셋이 PPS를 참조하는 슬라이스의 픽처 헤더 또는 슬라이스 헤더에 존재하는 디블로킹 파라미터 오프셋에 의해 무시되지 않는 한, PPS를 참조하는 슬라이스에 대한 루마 컴포넌트에 적용되는 (2로 나눈)
Figure pct00009
및 tC에 대한 디폴트 디블로킹 파라미터 오프셋을 나타낸다. pps_beta_offset_div2 및 pps_tc_offset_div2의 값은 -12에서 12(포함)의 범위에 있어야 한다. 존재하지 않으면, pps_beta_offset_div2 및 pps_tc_offset_div2의 값은 0과 동일한 것으로 추론된다.
pps_cb_beta_offset_div2pps_cb_tc_offset_div2는, 디폴트 디블로킹 파라미터 오프셋이 PPS를 참조하는 슬라이스의 픽처 헤더 또는 슬라이스 헤더에 존재하는 디블로킹 파라미터 오프셋에 의해 무시되지 않는 한, PPS를 참조하는 슬라이스에 대한 Cb 컴포넌트에 적용되는 (2로 나눈)
Figure pct00010
및 tC에 대한 디폴트 디블로킹 파라미터 오프셋을 나타낸다. pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2의 값은 -12에서 12(포함)의 범위에 있어야 한다. 존재하지 않으면, pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2의 값은 0과 동일한 것으로 추론된다.
pps_cr_beta_offset_div2pps_cr_tc_offset_div2는, 디폴트 디블로킹 파라미터 오프셋이 PPS를 참조하는 슬라이스의 픽처 헤더 또는 슬라이스 헤더에 존재하는 디블로킹 파라미터 오프셋에 의해 무시되지 않는 한, PPS를 참조하는 슬라이스에 대한 Cr 컴포넌트에 적용되는 (2로 나눈)
Figure pct00011
및 tC에 대한 디폴트 디블로킹 파라미터 오프셋을 나타낸다. pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2의 값은 -12에서 12(포함)의 범위에 있어야 한다. 존재하지 않으면, pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2의 값은 0과 동일한 것으로 추론된다.
1과 동일한 rpl_info_in_ph_flag는 참조 픽처 리스트 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않는다는 것을 나타낸다. 0과 동일한 rpl_info_in_ph_flag는 참조 픽처 리스트 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
1과 동일한 dbf_info_in_ph_flag는 디블로킹 필터 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 나타낸다. 0과 동일한 dbf_info_in_ph_flag는 디블로킹 필터 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다. 존재하지 않으면, dbf_info_in_ph_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 sao_info_in_ph_flag는 SAO 필터 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 나타낸다. 0과 동일한 sao_info_in_ph_flag는 SAO 필터 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
1과 동일한 alf_info_in_ph_flag는 ALF 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 나타낸다. 0과 동일한 alf_info_in_ph_flag는 ALF 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
1과 동일한 wp_info_in_ph_flag는 가중 예측 정보가 PH 신택스 구조에 존재할 수 있고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않을 수 있음을 나타낸다. 0과 동일한 wp_info_in_ph_flag는 가중 예측 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다. 존재하지 않으면, wp_info_in_ph_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 qp_delta_info_in_ph_flag는 QP 델타 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 나타낸다. 0과 동일한 qp_delta_info_in_ph_flag는 QP 델타 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
1과 동일한 pps_ref_wraparound_enabled_flag는 수평 랩-어라운드(wraparound) 모션 보상이 인터 예측에서 적용됨을 나타낸다. 0과 동일한 pps_ref_wraparound_enabled_flag는 수평 랩-어라운드 모션 보상이 적용되지 않음을 나타낸다. CtbSizeY / MinCbSizeY + 1의 값이 pic_width_in_luma_samples / MinCbSizeY - 1보다 크면, pps_ref_wraparound_enabled_flag의 값은 0과 같아야 한다. sps_ref_wraparound_enabled_flag가 0과 동일하면, pps_ref_wraparound_enabled_flag의 값은 0과 동일해야 한다.
pps_ref_wraparound_offset + ( CtbSizeY / MinCbSizeY ) + 2는 MinCbSizeY 루마 샘플의 단위로 수평 랩-어라운드 위치를 계산하는데 사용되는 오프셋을 나타낸다. pps_ref_wraparound_offset의 값은 0에서 ( pic_width_in_luma_samples / MinCbSizeY ) - ( CtbSizeY / MinCbSizeY ) - 2(포함)의 범위에 있어야 한다. 변수 PpsRefWraparoundOffset는 pps_ref_wraparound_offset+( CtbSizeY / MinCbSizeY ) + 2와 동일하게 설정된다.
0과 동일한 picture_header_extension_present_flag는 PPS를 참조하는 PH에 PH 확장 신택스 요소가 존재하지 않음을 나타낸다. 1과 동일한 picture_header_extension_present_flag는 PH 확장 신택스 요소가 PPS를 참조하는 PH에 존재함을 나타낸다. picture_header_extension_present_flag는 본 사양의 이 버전에 순응하는 비트스트림에서 0과 동일해야 한다.
0과 동일한 slice_header_extension_present_flag는 PPS를 참조하는 코딩된 픽처에 대한 슬라이스 헤더에 슬라이스 헤더 확장 신택스 요소가 존재하지 않음을 나타낸다. 1과 동일한 slice_header_extension_present_flag는 슬라이스 헤더 확장 신택스 요소가 PPS를 참조하는 코딩된 픽처에 대한 슬라이스 헤더에 존재한다는 것을 나타낸다. slice_header_extension_present_flag는 본 사양의 이 버전에 순응하는 비트스트림에서 0과 동일해야 한다.
0과 동일한 pps_extension_flag는 pps_extension_data_flag 신택스 요소가 PPS RBSP 신택스 구조에 존재하지 않음을 나타낸다. 1과 동일한 pps_extension_flag는 PPS RBSP 신택스 구조에 존재하는 pps_extension_data_flag 신택스 요소가 있음을 나타낸다.
pps_extension_data_flag는 임의의 값을 가질 수 있다. 그것의 존재와 값은 이 사양의 이 버전에 지정된 프로파일에 대한 디코더 적합성에 영향을 미치지 않는다. 이 사양의 이 버전을 따르는 디코더는 모든 pps_extension_data_flag 신택스 요소를 무시해야 한다.
3.2. APS 신택스 및 시맨틱
최신 VVC 초안 텍스트에서, APS 신택스 및 시맨틱은 다음과 같다.
Figure pct00012
APS RBSP는 ALF 신택스 구조, 즉, alf_data( )를 포함한다.
Figure pct00013
Figure pct00014
APS RBSP는 LMCS 신택스 구조, 즉, lmcs_data( )를 포함한다.
Figure pct00015
APS RBSP는 스케일링 리스트 데이터 신택스 구조, 즉, scaling_list_data( )를 포함한다.
Figure pct00016
각 APS RBSP는 참조되기 전에 디코딩 프로세스에서 사용할 수 있어야 하며, 이를 참조하거나 외부 수단을 통해 제공되는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같은 TemporalId를 갖는 적어도 하나의 AU에 포함된다.
프리픽스 또는 서픽스 APS NAL 유닛인지 여부에 관계없이, PU 내의 adaptation_parameter_set_id의 특정 값 및 aps_params_type의 특정 값을 갖는 모든 APS NAL 유닛은 동일한 내용을 가져야 한다.
adaptation_parameter_set_id는 다른 신택스 요소가 참조할 수 있도록 APS에 대한 식별자를 제공한다.
aps_params_type이 ALF_APS 또는 SCALING_APS와 동일하면, adaptation_parameter_set_id의 값은 0에서 7(포함)의 범위에 있어야 한다.
aps_params_type이 LMCS_APS와 동일하면, adaptation_parameter_set_id의 값은 0에서 3(포함)의 범위에 있어야 한다.
apsLayerId를 특정 APS NAL 유닛의 nuh_layer_id의 값이라고 하고, vclLayerId를 특정 VCL NAL 유닛의 nuh_layer_id의 값이라고 하자. 특정 VCL NAL 유닛은 apsLayerId가 vclLayerId보다 작거나 같고 apsLayerId와 동일한 nuh_layer_id를 갖는 레이어가 vclLayerId와 동일한 nuh_layer_id를 갖는 레이어를 포함하는 적어도 하나의 OLS에 포함되지 않는 한 특정 APS NAL 유닛을 참조하지 않아야 한다.
aps_params_type 은 표 6에 명시된 바와 같이 APS에서 전달되는 APS 파라미터의 타입을 명시한다.
표 6 - APS 파라미터 타입 코드 및 APS 파라미터의 타입
Figure pct00017
nuh_layer_id 값에 관계없이 aps_params_type의 특정 값을 갖는 모든 APS NAL 유닛은 adaptation_parameter_set_id에 대해 동일한 값 공간을 공유한다. aps_params_type의 다른 값을 갖는 APS NAL 유닛은 adaptation_parameter_set_id에 대해 별도의 값 공간을 사용한다.
주 1 - APS NAL 유닛(adaptation_parameter_set_id의 특정 값과 aps_params_type의 특정 값을 가짐)는 픽처 간에 공유될 수 있으며, 픽처 내의 서로 다른 슬라이스는 서로 다른 ALF APS를 참조할 수 있다.
주 2 - 특정 VCL NAL 유닛과 관련된 서픽스 APS NAL 유닛(이 VCL NAL 유닛은 디코딩 순서에서 서픽스 APS NAL 유닛보다 우선함)는 특정 VCL NAL 유닛에서 사용하기 위한 것이 아니라 디코딩 순서에서 서픽스 APS NAL 다음에 오는 VCL NAL 유닛에서 사용하기 위한 것이다.
0과 동일한 aps_extension_flag는 APS RBSP 신택스 구조에 aps_extension_data_flag 신택스 요소가 존재하지 않음을 명시한다. 1과 동일한 aps_extension_flag는 APS RBSP 신택스 구조에 존재하는 aps_extension_data_flag 신택스 요소가 있음을 명시한다.
aps_extension_data_flag는 임의의 값을 가질 수 있다. 그것의 존재와 값은 이 사양의 이 버전에 명시된 프로파일에 대한 디코더 적합성에 영향을 미치지 않는다. 이 사양의 이 버전을 따르는 디코더는 모든 aps_extension_data_flag 구문 요소를 무시해야 한다.
1과 동일한 alf_luma_filter_signal_flag는 루마 필터 세트가 시그널링되는 것을 명시한다. 0과 동일한 alf_luma_filter_signal_flag는 루마 필터 세트가 시그널링되지 않음을 명시한다.
1과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. ChromaArrayType이 0과 같으면, alf_chroma_filter_signal_flag는 0과 같아야 한다.
alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag 및 alf_cc_cr_filter_signal_flag의 값들 중의 적어도 하나는 1과 같아야 한다.
다른 적응 루프 필터의 수를 명시하는 변수 NumAlfFilters 는 25와 동일하게 설정된다.
0과 동일한 alf_luma_clip_flag는 선형 적응 루프 필터링이 루마 컴포넌트에 적용됨을 명시한다. 1과 동일한 alf_luma_clip_flag는 비선형 적응 루프 필터링이 루마 성분에 적용될 수 있음을 명시한다.
alf_luma_num_filters_signalled_minus1 + 1은 루마 계수가 시그널링될 수 있는 적응 루프 필터 클래스의 수를 명시한다. alf_luma_num_filters_signalled_minus1의 값은 0에서 NumAlfFilters - 1(포함)의 범위에 있어야 한다.
alf_luma_coeff_delta_idx[ filtIdx ]는 0에서 NumAlfFilters - 1 사이의 범위의 filtIdx가 나타내는 필터 클래스에 대한 시그널링된 적응 루프 필터 휘도 계수 델타의 인덱스를 명시한다. alf_luma_coeff_delta_idx[ filtIdx ]가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. alf_luma_coeff_delta_idx[ filtIdx ]의 길이는 Ceil( Log2( alf_luma_num_filters_signalled_minus1 + 1 ) ) 비트이다. alf_luma_coeff_delta_idx[ filtIdx ]의 값은 0에서 alf_luma_num_filters_signalled_minus1(포함)의 범위에 있어야 한다.
alf_luma_coeff_abs[ sfIdx ][ j ]는 sfIdx가 나타내는 시그널링된 루마 필터의 j번째 계수의 절대값을 명시한다. alf_luma_coeff_abs[ sfIdx ][ j ]가 존재하지 않으면, 이는 0과 같은 것으로 추론된다. alf_luma_coeff_abs[ sfIdx ][ j ]의 값은 0에서 128(포함)의 범위에 있어야 한다.
alf_luma_coeff_sign[ sfIdx ][ j ] 는 다음과 같이 sfIdx가 나타내는 필터의 j번째 루마 계수의 부호를 명시한다.
alf_luma_coeff_sign[ sfIdx ][ j ]가 0과 동일하면, 해당 루마 필터 계수는 양의 값을 갖는다.
그렇지 않으면 (alf_luma_coeff_sign[ sfIdx ][ j ]가 1과 동일하면), 해당 루마 필터 계수는 음의 값을 갖는다.
alf_luma_coeff_sign[ sfIdx ][ j ]가 존재하지 않으면, 이는 0과 같은 것으로 추론된다.
변수 filtCoeff[ sfIdx ][ j ] (sfIdx = 0..alf_luma_num_filters_signalled_minus1, j = 0..11)는 다음과 같이 초기화된다:
Figure pct00018
요소 AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ] ] (filtIdx = 0..NumAlfFilters - 1 및 j = 0..11)를 갖는 루마 필터 계수 AlfCoeffL[ adaptation_parameter_set_id 는 다음과 같이 도출된다:
Figure pct00019
고정된 필터 계수 AlfFixFiltCoeff[ i ][ j ](i = 0..64, j = 0..11) 및 클래스 대 필터 매핑 AlfClassToFiltMap[ m ][ n ](m = 0..15 및 n = 0..24)은 다음과 같이 도출된다:
Figure pct00020
Figure pct00021
Figure pct00022
AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ](filtIdx = 0..NumAlfFilters - 1, j = 0..11)의 값이 -27 to 27 - 1(포함)의 범위에 있어야 하는 비트스트림 적합성의 요구사항이다.
alf_luma_clip_idx[ sfIdx ][ j ]는 sfIdx가 나타내는 시그널링된 루마 필터의 j번째 계수를 곱하기 전에 사용될 클리핑(clipping) 값의 클리핑 인덱스를 명시한다.
alf_luma_clip_idx[ sfIdx ][ j ](sfIdx = 0..alf_luma_num_filters_signalled_minus1 및 j = 0..11)의 값이 0에서 3(포함)의 범위에 있어야 하는 것이 비트스트림 적합성의 요구사항이다.
요소 AlfClipL[ adaptation_parameter_set_id ][ filtIdx ][ j ](filtIdx = 0..NumAlfFilters - 1 및 j = 0..11)를 갖는 루마 필터 클리핑 값 AlfClipL[ adaptation_parameter_set_id ] 는 alf_luma_clip_idx[ alf_luma_coeff_delta_idx[ filtIdx ] ][ j ]와 동일하게 설정된 ClipIdx 및 BitDepth 에 따라 표 8에 명시된 대로 도출된다.
0과 동일한 alf_chroma_clip_flag는 선형 적응 루프 필터링이 크로마 성분에 적용되는 것을 명시하고; 1과 동일한 alf_chroma_clip_flag는 비선형 적응 루프 필터링이 크로마 성분에 적용됨을 명시한다. 존재하지 않으면, alf_chroma_clip_flag는 0과 같은 것으로 추론된다.
alf_chroma_num_alt_filters_minus1 + 1 은 크로마 성분에 대한 대체 필터의 수를 명시한다 alf_chroma_num_alt_filters_minus1의 값은 0에서 7(포함)의 범위에 있어야 한다.
alf_chroma_coeff_abs[ altIdx ][ j ] 는 인덱스 altIdx를 갖는 대체 크로마 필터에 대한 j번째 크로마 필터 계수의 절대값을 명시한다. alf_chroma_coeff_abs[ altIdx ][ j ]가 존재하지 않으면, 0과 동일한 것으로 추론된다. alf_chroma_coeff_abs[ sfIdx ][ j ]의 값은 0에서 128(포함)의 범위에 있어야 한다.
alf_chroma_coeff_sign[ altIdx ][ j ] 는 다음과 같이 인덱스 altIdx를 갖는 대체 크로마 필터에 대한 j번째 크로마 필터 계수의 부호를 명시한다:
- alf_chroma_coeff_sign[ altIdx ][ j ]가 0과 동일하면, 해당 크로마 필터 계수는 양의 값을 갖는다.
- 그렇지 않으면 (alf_chroma_coeff_sign[ altIdx ][ j ]가 1과 동일하면), 해당 크로마 필터 계수는 음의 값을 갖는다.
alf_chroma_coeff_sign[ altIdx ][ j ]가 존재하지 않으면, 0과 동일한 것으로 추론된다.
요소 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ](altIdx = 0..alf_chroma_num_alt_filters_minus:1, j = 0..5)를 갖는 크로마 필터 계수 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ] 는 다음과 같이 도출된다:
Figure pct00023
AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ](altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5)의 값은 -27에서 27 - 1(포함)의 범위에 있어야 하는 것이 비트스트림 적합성의 요구 사항이다.
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. ChromaArrayType이 0과 같으면, alf_cc_cb_filter_signal_flag는 0과 같아야 한다.
alf_cc_cb_filters_signalled_minus1 + 1 은 현재 ALF APS에서 시그널링되는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터의 수를 명시한다. alf_cc_cb_filters_signalled_minus1의 값은 0에서 3(포함)의 범위에 있어야 한다.
alf_cc_cb_mapped_coeff_abs[ k ][ j ] 는 Cb 색상 컴포넌트에 대한 시그널링된 k번째 크로스 컴포넌트 필터의 j번째 매핑된 계수의 절대값을 명시한다. alf_cc_cb_mapped_coeff_abs[ k ][ j ]가 존재하지 않으면, 0과 같은 것으로 추론된다.
alf_cc_cb_coeff_sign[ k ][ j ] 는 다음과 같이 Cb 색상 컴포넌트에 대한 시그널링된 k번째 크로스 컴포넌트 필터의 j번째 계수의 부호를 명시한다:
- alf_cc_cb_coeff_sign[ k ][ j ]가 0과 동일하면, 해당 크로스 컴포넌트 필터 계수가 양의 값을 갖는다.
- 그렇지 않으면 (alf_cc_cb_sign[ k ][ j ]가 1과 동일하면), 해당 크로스 컴포넌트 필터 계수가 음의 값을 갖는다.
- alf_cc_cb_coeff_sign[ k ][ j ]가 존재하지 않으면, 0과 동일한 것으로 추론된다.
Cb 색상 컴포넌트 CcAlfApsCoeffCb[adaptation_parameter_set_id][ k ][ j ](j = 0..6)에 대한 시그널링된 k번째 크로스 컴포넌트 필터 계수는 다음과 같이 도출된다:
- alf_cc_cb_mapped_coeff_abs[ k ][ j ]가 0과 동일하면, CcAlfApsCoeffCb[ adaptation_parameter_set_id ][ k ][ j ]가 0과 동일하게 설정된다.
- 그렇지 않으면, CcAlfApsCoeffCb[ adaptation_parameter_set_id ][ k ][ j ]가 ( 1 - 2 * alf_cc_cb_coeff_sign[ k ][ j ] ) * 2alf_cc_cb_mapped_coeff_abs[ k ][ j ] - 1과 동일하게 설정된다.
1과 동일한 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. ChromaArrayType이 0과 같으면, alf_cc_cr_filter_signal_flag는 0과 같아야 한다.
alf_cc_cr_filters_signalled_minus1 + 1 은 현재 ALF APS에서 시그널링되는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터의 수를 명시한다. alf_cc_cr_filters_signalled_minus1의 값은 0에서 3(포함)의 범위에 있어야 한다.
alf_cc_cr_mapped coeff_abs[ k ][ j ] 는 Cr 색상 컴포넌트에 대한 시그널링된 k번째 크로스 컴포넌트 필터의 j번째 매핑된 계수의 절대값을 명시한다. alf_cc_cr_mapped coeff_abs[ k ][ j ]가 존재하지 않으면, 0과 동일한 것으로 추론된다.
alf_cc_cr_coeff_sign[ k ][ j ] 는 다음과 같이 Cr 색상 컴포넌트에 대한 시그널링된 k번째 크로스 컴포넌트 필터의 j번째 계수의 부호를 명시한다:
- alf_cc_cr_coeff_sign[ k ][ j ]가 0과 동일하면, 해당 크로스 컴포넌트 필터 계수는 양의 값을 갖는다.
- 그렇지 않으면(alf_cc_cr_sign[ k ][ j ]가 1과 동일하면), 해당 크로스 컴포넌트 필터 계수는 음의 값을 갖는다.
alf_cc_cr_coeff_sign[ k ][ j ]가 존재하지 않으면, 0과 동일한 것으로 추론된다.
Cr 색상 컴포넌트 CcAlfApsCoeffCr[ adaptation_parameter_set_id ][ k ][ j ](j = 0..6)에 대한 시그널링된 k 번째 크로스 컴포넌트 필터 계수는 다음과 같이 도출된다:
- alf_cc_cr_mapped_coeff_abs[ k ][ j ]가 0과 동일하면, CcAlfApsCoeffCr[ adaptation_parameter_set_id ][ k ][ j ]가 0과 동일하게 설정된다.
- 그렇지 않으면, CcAlfApsCoeffCr[ adaptation_parameter_set_id ][ k ][ j ]가 ( 1 - 2 * alf_cc_cr_coeff_sign[ k ][ j ] ) * 2alf_cc_cr_mapped_coeff_abs[ k ][ j ] - 1과 동일하게 설정된다.
alf_chroma_clip_idx[ altIdx ][ j ] 는 인덱스 altIdx를 갖는 대체 크로마 필터의 j번째 계수를 곱하기 전에 사용할 클리핑 값의 클리핑 인덱스를 명시한다. altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5를 갖는 alf_chroma_clip_idx[ altIdx ][ j ]의 값이 0에서 3(포함)의 범위에 있어야 하는 것은 비트스트림 적합성의 요구사항이다.
요소 AlfClipC[ adaptation_parameter_set_id ][ altIdx ][ j ] (altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5)를 갖는 크로마 필터 클리핑 값 AlfClipC[ adaptation_parameter_set_id ][ altIdx ]은 alf_chroma_clip_idx[ altIdx ][ j ]와 동일한 clipIdx 및 BitDepth에 따라 표 8에 명시된 바와 같이 도출된다.
표 8 -BitDepth 및 clipIdx에 따른 사양 AlfClip
Figure pct00024
lmcs_min_bin_idx 는 LMCS(luma mapping with chroma scaling) 구성 프로세스에서 사용되는 최소 빈 인덱스를 명시한다. lmcs_min_bin_idx의 값은 0에서 15(포함)의 범위에 있어야 한다.
lmcs_delta_max_bin_idx 는 15와 LMCS 구성 프로세스에 사용되는 최대 빈 인덱스 LmcsMaxBinIdx 사이의 델타 값을 명시한다. lmcs_delta_max_bin_idx의 값은 0에서 15(포함)의 범위에 있어야 한다. LmcsMaxBinIdx의 값은 15 - lmcs_delta_max_bin_idx와 동일하게 설정된다. LmcsMaxBinIdx의 값은 lmcs_min_bin_idx보다 크거나 같아야 한다.
lmcs_delta_cw_prec_minus1 + 1은 신택스 lmcs_delta_abs_cw[ i ]의 표현에 사용되는 비트 수를 명시한다. lmcs_delta_cw_prec_minus1의 값은 0에서 BitDepth - 2(포함)의 범위에 있어야 한다.
lmcs_delta_abs_cw[ i ]는 i번째 빈에 대한 절대 델타 코드워드 값을 명시한다.
lmcs_delta_sign_cw_flag[ i ]는 다음과 같이 변수 lmcsDeltaCW[ i ]의 부호를 명시한다:
- lmcs_delta_sign_cw_flag[ i ]가 0과 동일하면, lmcsDeltaCW[ i ]는 양의 값이다.
- 그렇지 않으면 ( lmcs_delta_sign_cw_flag[ i ]가 0과 동일하지 않으면), lmcsDeltaCW[ i ]는 음의 값이다.
lmcs_delta_sign_cw_flag[ i ]가 존재하지 않으면, 0과 동일한 것으로 추론된다.
변수 OrgCW 는 다음과 같이 도출된다:
OrgCW = ( 1  <<  BitDepth ) / 16 (98)
변수 lmcsDeltaCW[ i ](i = lmcs_min_bin_idx..LmcsMaxBinIdx)는 다음과 같이 도출된다:
Figure pct00025
변수 lmcsCW[ i ]는 다음과 같이 도출된다:
- i = 0.. lmcs_min_bin_idx - 1에 대하여, lmcsCW[ i ]가 0과 동일하게 설정된다.
- i = lmcs_min_bin_idx..LmcsMaxBinIdx에 대하여, 다음이 적용된다:
lmcsCW[ i ] = OrgCW + lmcsDeltaCW[ i ] (100)
lmcsCW[ i ]의 값은 ( OrgCW  >>  3 )에서 ( OrgCW  <<  3 - 1 )(포함)의 범위에 있어야 한다.
- i = LmcsMaxBinIdx + 1..15에 대하여, lmcsCW[ i ]가 0과 동일하게 설정된다.
다음의 조건이 참인 것이 비트스트림 적합성의 요구사항이다:
Figure pct00026
<= ( 1  <<  BitDepth ) - 1 (101)
변수 InputPivot[ i ](i = 0..16)는 다음과 같이 도출된다:
InputPivot[ i ] = i * OrgCW (102)
변수 LmcsPivot[ i ](i = 0..16), ScaleCoeff[ i ] 및 InvScaleCoeff[ i ](i = 0..15) 은 다음과 같이 도출된다:
Figure pct00027
i = lmcs_min_bin_idx..LmcsMaxBinIdx에 대하여 LmcsPivot[ i ]의 값이 1 << ( BitDepth - 5 )의 배수가 아니면, ( LmcsPivot[ i ] >> ( BitDepth - 5 ) ) 는 ( LmcsPivot[ i + 1 ] >> ( BitDepth - 5 ) ) 값과 같지 않아야 한다는 것이 비트스트림 적합성의 요구사항이다.
lmcs_delta_abs_crs 는 변수 lmcsDeltaCrs의 절대 코드워드 값을 명시한다. lmcs_delta_abs_crs의 값은 0과 7(포함)의 범위에 있어야 한다. 존재하지 않는 경우 lmcs_delta_abs_crs는 0과 동일한 것으로 추론된다.
lmcs_delta_sign_crs_flag 는 변수 lmcsDeltaCrs의 부호를 명시한다. 존재하지 않는 경우 lmcs_delta_sign_crs_flag는 0과 동일한 것으로 추론된다.
변수 lmcsDeltaCrs 는 다음과 같이 도출된다:
Figure pct00028
lmcsCW[ i ]가 0과 동일하지 않으면, ( lmcsCW[ i ] + lmcsDeltaCrs )가 ( OrgCW >> 3 )에서 ( ( OrgCW << 3 ) - 1 )(포함)의 범위에 있어야 하는 것이 비트스트림 적합성의 요구사항이다.
변수 ChromaScaleCoeff[ i ] (i = 0...15)는 다음과 같이 도출된다:
Figure pct00029
1과 동일한 scaling_matrix_for_lfnst_disabled_flag는 스케일링 매트릭스가 LFNST로 코딩된 블록에 적용되지 않음을 명시한다. 0과 동일한 scaling_matrix_for_lfnst_disabled_flag는 스케일링 매트릭스가 LFNST로 코딩된 블록에 적용될 수 있음을 명시한다.
1과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data()에 존재함을 명시한다. 0과 동일한 scaling_list_chroma_present_flag는 크로마 스케일링 리스트가 scaling_list_data()에 존재하지 않음을 명시한다. scaling_list_chroma_present_flag는, ChromaArrayType이 0과 같을 때 0과 같아야 하고 ChromaArrayType이 0과 같지 않을 때 1과 같아야 하는 것이 비트스트림 적합성의 요구 사항이다.
1과 동일한 scaling_list_copy_mode_flag[ id ]는 스케일링 리스트의 값이 참조 스케일링 리스트의 값과 동일함을 명시한다. 참조 스케일링 리스트는 scaling_list_pred_id_delta[ id ]로 명시된다. 0과 동일한 scaling_list_copy_mode_flag[ id ]는 scaling_list_pred_mode_flag가 존재함을 명시한다.
1과 동일한 scaling_list_pred_mode_flag[ id ]는 스케일링 리스트의 값이 참조 스케일링 리스트로부터 예측될 수 있음을 명시한다. 참조 스케일링 리스트는 scaling_list_pred_id_delta[ id ]로 명시된다. 0과 동일한 scaling_list_pred_mode_flag[ id ]는 스케일링 리스트의 값이 명시적으로 시그널링되는 것을 명시한다. 존재하지 않는 경우 scaling_list_pred_mode_flag[id]의 값은 0과 같은 것으로 추론된다.
scaling_list_pred_id_delta[ id ]는 예측 스케일링 매트릭스 ScalingMatrixPred[ id ]를 도출하는 데 사용되는 참조 스케일링 리스트를 명시한다. 존재하지 않으면, scaling_list_pred_id_delta[ id ]의 값은 0과 같은 것으로 추론된다. scaling_list_pred_id_delta[ id ]의 값은 0에서 maxIdDelta의 범위에 있어야 하며 maxIdDelta는 다음과 같이 id에 따라 도출된다:
maxIdDelta = ( id < 2 ) ? id : ( ( id < 8 ) ? ( id - 2 ) : ( id - 8 ) ) (106)
변수 refId 및 matrixSize는 다음과 같이 도출된다:
refId = id - scaling_list_pred_id_delta[ id ] (107)
matrixSize = ( id < 2 ) ? 2 : ( ( id < 8 ) ? 4 : 8 ) (108)
(matrixSize)x(matrixSize) 어레이 ScalingMatrixPred[ x ][ y ] (x = 0..matrixSize - 1, y = 0..matrixSize - 1) 및 변수 ScalingMatrixDCPred는 다음과 같이 도출된다:
-- scaling_list_copy_mode_flag[ id ] 및 scaling_list_pred_mode_flag[ id ] 모두 0과 동일하면, ScalingMatrixPred의 모든 요소가 8과 동일하게 설정되고 are set equal to 8, ScalingMatrixDCPred의 값이 8과 동일하게 설정된다.
-- 그렇지 않으면, scaling_list_pred_id_delta[ id ]가 0과 동일하면, ScalingMatrixPred의 모든 요소가 16과 동일하게 설정되고 ScalingMatrixDCPred가 16과 동일하게 설정된다.
-- 그렇지 않으면 (scaling_list_copy_mode_flag[ id ] 또는scaling_list_pred_mode_flag[ id ]가 1과 동일하고 scaling_list_pred_id_delta[ id ]가 0보다 크면), ScalingMatrixPred는 ScalingMatrixRec[ refId ]와 동일하게 설정되고, 다음이 ScalingMatrixDCPred에 대하여 적용된다:
- refId가 13보다 크면, ScalingMatrixDCPred는 ScalingMatrixDCRec[ refId - 14 ]와 동일하게 설정된다.
-- 그렇지 않으면 (refId가 13보다 작거나 같으면), ScalingMatrixDCPred는 ScalingMatrixPred[ 0 ][ 0 ]와 동일하게 설정된다.
scaling_list_dc_coef[ id - 14 ]는, 다음과 같이 id가 13보다 클 때 변수 ScalingMatrixDC[ id - 14 ] 의 값을 도출하는데 사용된다:
Figure pct00030
존재하지 않으면, scaling_list_dc_coef[ id - 14 ]의 값은 0과 같은 것으로 추론된다. scaling_list_dc_coef[ id - 14 ]의 값은 -128에서 127(포함)의 범위에 있어야 한다. ScalingMatrixDCRec[ id - 14 ]의 값은 0보다 커야 한다.
scaling_list_delta_coef[ id ][ i ]는 scaling_list_copy_mode_flag[ id ]가 0과 동일하면 현재 매트릭스 계수 ScalingList[ id ][ i ]와 이전 행렬 계수 ScalingList[ id ][ i - 1 ] 간의 차이를 명시한다. scaling_list_delta_coef[ id ][ i ]는 -128에서 127(포함)의 범위에 있어야 한다. scaling_list_copy_mode_flag[ id ]가 1과 동일하면, ScalingList[ id ]의 모든 요소는 0과 동일하게 설정된다.
Figure pct00031
ScalingMatrixRec[ id ][ x ][ y ]의 값은 0보다 커야 한다.
3.3. PH 신택스 및 시맨틱
최신 VVC 초안 텍스트에서, PH 신택스 및 시맨틱은 다음과 같다.
Figure pct00032
PH RBSP는 PH 신택스 구조, 즉, picture_header_structure( )를 포함한다.
Figure pct00033
Figure pct00034
Figure pct00035
Figure pct00036
Figure pct00037
PH 신택스 구조는 PH 신택스 구조와 관련된 코딩된 픽처의 모든 슬라이스에 공통적인 정보를 포함한다.
1과 동일한 gdr_or_irap_pic_flag는 현재 픽처가 GDR 또는 IRAP 픽처임을 나타낸다. 0과 동일한 gdr_or_irap_pic_flag는 현재 픽처가 GDR 또는 IRAP 픽처일 수도 있고 아닐 수도 있음을 나타낸다.
1과 동일한 gdr_pic_flag는 PH와 연관된 픽처가 GDR 픽처임을 나타낸다. 0과 동일한 gdr_pic_flag는 PH와 연관된 픽처가 GDR 픽처가 아님을 나타낸다. 존재하지 않으면, gdr_pic_flag의 값은 0과 동일한 것으로 추론된다. gdr_enabled_flag가 0과 동일하면, gdr_pic_flag의 값은 0과 동일해야 한다.
0과 동일한 ph_inter_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 2와 동일한 slice_type을 갖는다는 것을 나타낸다. 1과 동일한 ph_inter_slice_allowed_flag는 0 또는 1과 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 나타낸다.
0과 동일한 ph_intra_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 0 또는 1과 동일한 slice_type을 갖는다는 것을 나타낸다. 1과 동일한 ph_intra_slice_allowed_flag는 2와 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 나타낸다. 존재하지 않으면, ph_intra_slice_allowed_flag의 값은 1과 동일한 것으로 추론된다.
주 1 - PH NAL 유닛을 변경할 필요 없이 서브픽처 기반 비트스트림 머지를 작동하는 것으로 가정되는 비트스트림의 경우 인코더는 ph_inter_slice_allowed_flag 및 ph_intra_slice_allowed_flag 둘 다의 값을 1과 동일하게 설정해야 한다.
1과 동일한 non_reference_picture_flag는 PH와 연관된 픽처가 참조 픽처로 사용되지 않음을 나타낸다. 0과 동일한 non_reference_picture_flag는 PH와 연관된 픽처가 참조 픽처로서 사용될 수도 있고 사용되지 않을 수도 있음을 나타낸다.
ph_pic_parameter_set_id는 사용 중인 PPS에 대한 pps_pic_parameter_set_id 값을 나타낸다. ph_pic_parameter_set_id의 값은 0에서 63(포함)의 범위에 있어야 한다.
PH의 TemporalId 값이 ph_pic_parameter_set_id와 동일한 pps_pic_parameter_set_id를 갖는 PPS의 TemporalId 값보다 크거나 같아야 하는 것이 비트스트림 적합성의 요구사항이다.
ph_pic_order_cnt_lsb는 현재 픽처에 대한 픽처 순서 카운트 모듈로 MaxPicOrderCntLsb를 나타낸다. ph_pic_order_cnt_lsb 신택스 요소의 길이는 log2_max_pic_order_cnt_lsb_minus4 + 4 비트이다. ph_pic_order_cnt_lsb의 값은 0에서 MaxPicOrderCntLsb - 1(포함)의 범위에 있어야 한다.
no_output_of_prior_pics_flag는 부록 C에 명시된 비트스트림의 첫 번째 픽처가 아닌 CLVSS 픽처의 디코딩 후 DPB에서 이전에 디코딩된 픽처의 출력에 영향을 준다.
recovery_poc_cnt는 출력 순서에서 디코딩된 픽처의 복구 포인트를 나타낸다. 현재 픽처가 PH와 연관된 GDR 픽처이고 현재 GDR 픽처의 PicOrderCntVal + recovery_poc_cnt의 값과 동일한 PicOrderCntVal을 갖는 CLVS에서 디코딩 순서에서 현재 GDR 픽처를 따르는 픽처 picA 이 존재하면, 픽처 picA는 복구 포인트 픽처라 한다. 그렇지 않으면, 현재 픽처의 PicOrderCntVal + recovery_poc_cnt의 값보다 더 큰 PicOrderCntVal을 갖는 출력 순서에서 첫 번째 픽처를 복구 포인트 픽처라고 한다. 복구 포인트 픽처는 디코딩 순서에서 현재 GDR 픽처보다 선행하지 않아야 한다. Recovery_poc_cnt의 값은 0에서 MaxPicOrderCntLsb - 1(포함)의 범위에 있어야 한다.
현재 픽처가 GDR이면, 변수 RpPicOrderCntVal는 다음과 같이 도출된다:
RpPicOrderCntVal = PicOrderCntVal + recovery_poc_cnt (82)
주 2 - gdr_enabled_flag가 1과 같고 현재 픽처의 PicOrderCntVal이 연관된 GDR 픽처의 RpPicOrderCntVal보다 크거나 같으면, 출력 순서에서 현재 및 후속의 디코딩된 픽처는, 존재한다면, 디코딩 순서에서 연관된 GDR 픽처를 선행하는 이전의 IRAP 픽처로부터 디코딩 프로세스를 시작함으로써 생성된 해당 픽처에 정확히 매칭한다.
ph_extra_bit[ i ]는 1 또는 0과 같을 수 있다. 이 사양의 이 버전을 따르는 디코더는 ph_extra_bit[ i ]의 값을 무시해야 한다. 이 값은 이 사양의 이 버전에 명시된 프로파일에 대한 디코더 적합성에 영향을 미치지 않는다.
1과 동일한 ph_poc_msb_present_flag는 신택스 요소 poc_msb_val이 PH에 존재함을 나타낸다 0과 동일한 ph_poc_msb_present_flag는 신택스 요소 poc_msb_val이 PH에 존재하지 않음을 나타낸다.
vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 0과 동일하고 현재 레이어의 참조 레이어에 현재 AU의 픽처가 존재하면, ph_poc_msb_present_flag의 값은 0과 동일해야 한다.
poc_msb_val은 현재 픽처의 POC MSB 값을 나타낸다. 신택스 요소 poc_msb_val의 길이는 poc_msb_len_minus1 + 1비트이다.
1과 동일한 ph_alf_enabled_flag는 적응적 루프 필터가 PH와 연관된 모든 슬라이스에 대해 인에이블되고 슬라이스의 Y, Cb 또는 Cr 색상 컴포넌트에 적용될 수 있음을 나타낸다. 0과 동일한 ph_alf_enabled_flag는 적응적 루프 필터가 PH와 연관된 하나 이상 또는 모든 슬라이스에 대해 디스에이블될 수 있음을 나타낸다. 존재하지 않으면, ph_alf_enabled_flag 는 0과 동일한 것으로 추론된다.
ph_num_alf_aps_ids_luma는 PH와 연관된 슬라이스가 참조하는 ALF APS의 수를 나타낸다.
ph_alf_aps_id_luma[ i ]는 PH와 관련된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 나타낸다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
0과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용되지 않음을 나타낸다. 1과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 색상 컴포넌트에 적용됨을 나타낸다. 2와 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cr 색상 컴포넌트에 적용됨을 나타낸다. 3과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용됨을 나타낸다. ph_alf_chroma_idc가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
ph_alf_aps_id_chroma는 PH와 연관된 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 나타낸다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
1과 동일한 ph_cc_alf_cb_enabled_flag는 Cb 색상 컴포넌트에 대한 크로스-컴포넌트 필터가 PH와 연관된 모든 슬라이스에 대해 인에이블되고 슬라이스의 Cb 색상 컴포넌트에 적용될 수 있음을 나타낸다. 0과 동일한 ph_cc_alf_cb_enabled_flag는 Cb 색상 컴포넌트에 대한 크로스-컴포넌트 필터가 PH와 연관된 하나 이상 또는 모든 슬라이스에 대해 디스에이블될 수 있음을 나타낸다. 존재하지 않으면, ph_cc_alf_cb_enabled_flag 는 0과 동일한 것으로 추론된다.
ph_cc_alf_cb_aps_id 는 PH와 연관된 슬라이스의 Cb 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 나타낸다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
1과 같은 ph_cc_alf_cr_enabled_flag는 Cr 색상 컴포넌트에 대한 크로스-컴포넌트 필터가 PH와 연관된 모든 슬라이스에 대하여 인에이블되고 슬라이스의 Cr 색상 컴포넌트에 적용될 수 있음을 나타낸다. 0과 동일한 ph_cc_alf_cr_enabled_flag는 Cr 색상 컴포넌트에 대한 크로스-컴포넌트 필터가 PH와 연관된 하나 이상 또는 모든 슬라이스에 대하여 디스에이블될 수 있음을 나타낸다. 존재하지 않으면, ph_cc_alf_cr_enabled_flag는 0과 동일한 것으로 추론된다.
ph_cc_alf_cr_aps_id 는 PH와 연관된 슬라이스의 Cr 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id를 나타낸다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
1과 같은 ph_lmcs_enabled_flag는 PH와 연관된 모든 슬라이스에 대해 LMCS(luma mapping with chroma scaling)이 인에이블됨을 나타낸다. 0과 동일한 ph_lmcs_enabled_flag는 PH와 연관된 하나 이상 또는 모든 슬라이스에 대해 LMCS이 디스에이블될 수 있음을 나타낸다. 존재하지 않으면, ph_lmcs_enabled_flag의 값은 0과 동일한 것으로 추론된다.
ph_lmcs_aps_id는 PH와 연관된 슬라이스가 참조하는 LMCS APS의 adaptation_parameter_set_id 를 나타낸다. LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
1과 동일한 ph_chroma_residual_scale_flag는 PH와 연관된 모든 슬라이스에 대해 크로마 레지듀얼 스케일링이 인에이블됨을 나타낸다. 0과 동일한 ph_chroma_residual_scale_flag는 PH와 연관된 하나 이상 또는 모든 슬라이스에 대해 크로마 레지듀얼 스케일링이 디스에이블될 수 있음을 나타낸다. ph_chroma_residual_scale_flag이 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
1과 동일한 ph_scaling_list_present_flag는 PH와 연관된 슬라이스에 사용되는 스케일링 리스트 데이터가 참조된 스케일링 리스트 APS에 포함된 스케일링 리스트 데이터에 기초하여 도출됨을 나타낸다. 0과 동일한 ph_scaling_list_present_flag는 PH와 연관된 슬라이스에 사용되는 스케일링 리스트 데이터가 16과 동일하게 설정되는 것을 나타낸다. 존재하지 않으면, ph_scaling_list_present_flag의 값은 0과 동일한 것으로 추론된다.
ph_scaling_list_aps_id는 스케일링 리스트 APS의 adaptation_parameter_set_id를 나타낸다. SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
1과 동일한 ph_virtual_boundaries_present_flag는 가상 경계의 정보가 PH에서 시그널링되는 것을 나타낸다. 0과 동일한 ph_virtual_boundaries_present_flag는 가상 경계의 정보가 PH에서 시그널링되지 않음을 나타낸다. PH에서 시그널링된 하나 이상의 가상 경계가 있으면, 인루프 필터링 동작은 픽처의 가상 경계를 가로질러 디스에이블된다. 인루프 필터링 동작은 디블로킹 필터, 샘플 적응적 오프셋 필터 및 적응적 루프 필터 동작을 포함한다. 존재하지 않으면, ph_virtual_boundaries_present_flag의 값은 0과 동일한 것으로 추론된다.
subpic_info_present_flag가 1과 동일하면, ph_virtual_boundaries_present_flag의 값이 0과 동일해야 하는 것이 비트스트림 적합성의 요구사항이다.
변수 VirtualBoundariesPresentFlag는 다음과 같이 도출된다:
Figure pct00038
ph_num_ver_virtual_boundaries 는 PH에 존재하는 ph_virtual_boundaries_pos_x[ i ] 신택스 요소의 수를 나타낸다. ph_num_ver_virtual_boundaries가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
변수 NumVerVirtualBoundaries는 다음과 같이 도출된다:
Figure pct00039
ph_virtual_boundaries_pos_x[ i ]는 8로 나눈 루마 샘플의 단위로 i번째 수직 가상 경계의 위치를 나타낸다. ph_virtual_boundaries_pos_x[ i ]의 값은 1에서 Ceil( pic_width_in_luma_samples χ 8 ) - 1(포함)의 범위에 있어야 한다.
루마 샘플 단위로 수직 가상 경계의 위치를 나타내는 리스트VirtualBoundariesPosX[ i ]는 다음과 같이 도출되고, 여기서, i는 0에서 NumVerVirtualBoundaries - 1(포함)의 범위다:
Figure pct00040
두 수직 가상 경계 사이의 거리는 CtbSizeY 루마 샘플보다 크거나 같아야 한다.
ph_num_hor_virtual_boundaries는 PH에 존재하는 ph_virtual_boundaries_pos_y[ i ] 신택스의 수를 나타낸다. ph_num_hor_virtual_boundaries가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
파라미터 NumHorVirtualBoundaries 는 다음과 같이 도출된다:
Figure pct00041
sps_virtual_boundaries_enabled_flag가 1이고 ph_virtual_boundaries_present_flag가 1이면 ph_num_ver_virtual_boundaries와 ph_num_hor_virtual_boundaries의 합은 0보다 커야 한다.
ph_virtual_boundaries_pos_y[ i ]는 8로 나눈 루마 샘플 단위로 i 번째 수평 가상 경계의 위치를 나타낸다. ph_virtual_boundaries_pos_y[ i ]의 값은 1에서 Ceil( pic_height_in_luma_samples
Figure pct00042
8) - 1(포함)의 범위에 있어야 한다.
루마 샘플 단위로 수평 가상 경계의 위치를 나타내는 리스트 VirtualBoundariesPosY[ i ]는 다음과 같이 도출되고, 여기서, i는 0에서 NumHorVirtualBoundaries - 1(포함)의 범위다:
Figure pct00043
두 개의 수평 가상 경계 사이의 거리는 CtbSizeY 루마 샘플보다 크거나 같아야 한다.
pic_output_flag는 부록 C에 명시된 바와 같이 디코딩된 픽처 출력 및 제거 프로세스에 영향을 준다. pic_output_flag가 존재하지 않으면, 이는 1과 동일한 것으로 추론된다.
1과 동일한 partition_constraints_override_flag는 파티션 제약 파라미터가 PH에 존재함을 나타낸다. 0과 동일한 partition_constraints_override_flag는 파티션 제약 파라미터가 PH에 존재하지 않음을 나타낸다. 존재하지 않으면, partition_constraints_override_flag의 값은 0과 동일한 것으로 추론된다.
ph_log2_diff_min_qt_min_cb_intra_slice_luma는 CTU의 쿼드트리 분할로 인한 루마 리프 블록의 루마 샘플에서 최소 크기의 밑이 2인 로그와 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 루마 CU에 대한 루마 샘플의 최소 코딩 블록 크기의 밑이 2인 로그 간의 차를 나타낸다. ph_log2_diff_min_qt_min_cb_intra_slice_luma의 값은 0에서 CtbLog2SizeY - MinCbLog2SizeY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_min_qt_min_cb_luma의 값은 sps_log2_diff_min_qt_min_cb_intra_slice_luma와 동일한 것으로 추론된다.
ph_max_mtt_hierarchy_depth_intra_slice_luma는 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 쿼드트리 리프의 멀티타입 트리 분할로 인한 코딩 유닛에 대한 최대 계층 구조 깊이를 나타낸다. ph_max_mtt_hierarchy_depth_intra_slice_luma의 값은 0에서 2*( CtbLog2SizeY - MinCbLog2SizeY )(포함)의 범위에 있어야 한다.
ph_max_mtt_hierarchy_depth_intra_slice_luma는 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 쿼드트리 리프의 멀티차입 트리 분할로 인한 코딩 유닛에 대한 최대 계층 구조 깊이를 나타낸다. ph_max_mtt_hierarchy_depth_intra_slice_luma의 값은 0에서 2*( CtbLog2SizeY - MinCbLog2SizeY)(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_max_mtt_hierarchy_depth_intra_slice_luma의 값은 sps_max_mtt_hierarchy_depth_intra_slice_luma와 동일한 것으로 추론된다.
ph_log2_diff_max_bt_min_qt_intra_slice_luma는 이진 분할을 사용하여 분할할 수 있는 루마 코딩 블록의 루마 샘플에서 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 CTU의 쿼드트리 분할로 인한 루마 리프 블록의 루마 샘플에서 최소 크기(폭 또는 높이) 간의 차이를 나타낸다. ph_log2_diff_max_bt_min_qt_intra_slice_luma의 값은 0에서 CtbLog2SizeY - MinQtLog2SizeIntraY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_max_bt_min_qt_intra_slice_luma의 값은 sps_log2_diff_max_bt_min_qt_intra_slice_luma와 동일한 것으로 추론된다.
ph_log2_diff_max_tt_min_qt_intra_slice_luma는 터너리(ternary) 분할을 사용하여 분할할 수 있는 루마 코딩 블록의 루마 샘플에서 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 CTU의 쿼드트리 분할로 인한 루마 리프 블록의 루마 샘플에서 최소 크기(폭 또는 높이) 간의 차이를 나타낸다. ph_log2_diff_max_tt_min_qt_intra_slice_luma의 값은 0에서 CtbLog2SizeY - MinQtLog2SizeIntraY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_max_tt_min_qt_intra_slice_luma의 값은 sps_log2_diff_max_tt_min_qt_intra_slice_luma와 동일한 것으로 추론된다.
ph_log2_diff_min_qt_min_cb_intra_slice_chroma는 DUAL_TREE_CHROMA와 동일한 트리타입을 갖는 크로마 CTU의 쿼드트리 분할에 의한 크로마 리프 블록의 루마 샘플에서 최소 크기의 밑이 2인 로그와 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 DUAL_TREE_CHROMA와 동일한 트리타입을 갖는 크로마 CU에 대한 루마 샘플에서 최소 코딩 블록 크기의 밑이 2인 로그 간의 차이를 나타낸다. ph_log2_diff_min_qt_min_cb_intra_slice_chroma의 값은 0에서 CtbLog2SizeY - MinCbLog2SizeY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_min_qt_min_cb_intra_slice_chroma의 값은 sps_log2_diff_min_qt_min_cb_intra_slice_chroma와 동일한 것으로 추론된다.
ph_max_mtt_hierarchy_depth_intra_slice_chroma는 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 DUAL_TREE_CHROMA와 동일한 트리타입을 갖는 크로마 쿼드트리 리프의 멀티타입 트리 분할로 인한 크로마 코딩 유닛에 대한 최대 계측 깊이를 나타낸다. ph_max_mtt_hierarchy_depth_intra_slice_chroma의 값은 0에서 2*( CtbLog2SizeY - MinCbLog2SizeY )(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_max_mtt_hierarchy_depth_intra_slice_chroma의 값은 sps_max_mtt_hierarchy_depth_intra_slice_chroma와 동일한 것으로 추론된다
ph_log2_diff_max_bt_min_qt_intra_slice_chroma는 바이너리 분할을 사용하여 분할할 수 있는 크로마 코딩 블록의 루마 샘플에서 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 DUAL_TREE_CHROMA와 동일한 트리타입을 갖는 크로마 CTU의 쿼드트리 분할로 인한 크로마 리프 블록의 루마 샘플에서 최소 크기(폭 또는 높이) 간의 차이를 나타낸다. ph_log2_diff_max_bt_min_qt_intra_slice_chroma의 값은 0에서 CtbLog2SizeY - MinQtLog2SizeIntraC(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_max_bt_min_qt_intra_slice_chroma의 값은 sps_log2_diff_max_bt_min_qt_intra_slice_chroma와 동일한 것으로 추론된다.
ph_log2_diff_max_tt_min_qt_intra_slice_chroma는 터너리 분할을 사용하여 분할할 수 있는 크로마 코딩 블록의 루마 샘플에서 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 2 (I)와 동일한 slice_type을 갖는 슬라이스에서 DUAL_TREE_CHROMA와 동일한 트리타입을 갖는 크로마 CTU의 쿼드트리 분할로 인한 크로마 리프 블록의 루마 샘플에서 최소 크기(폭 또는 높이) 간의 차이를 나타낸다. ph_log2_diff_max_tt_min_qt_intra_slice_chroma의 값은 0에서 CtbLog2SizeY - MinQtLog2SizeIntraC(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_max_tt_min_qt_intra_slice_chroma의 값은 sps_log2_diff_max_tt_min_qt_intra_slice_chroma와 동일한 것으로 추론된다.
ph_cu_qp_delta_subdiv_intra_slice는 cu_qp_delta_abs 및 cu_qp_delta_sign_flag를 전달하는 인트라 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값을 나타낸다. ph_cu_qp_delta_subdiv_intra_slice의 값은 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY + ph_max_mtt_hierarchy_depth_intra_slice_luma )(포함)의 범위에 있어야 한다.
존재하지 않으면, ph_cu_qp_delta_subdiv_intra_slice의 값은 0과 동일한 것으로 추론된다.
ph_cu_chroma_qp_offset_subdiv_intra_slice는 cu_chroma_qp_offset_flag를 전달하는 인트라 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값을 나타낸다. ph_cu_chroma_qp_offset_subdiv_intra_slice의 값은 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY + ph_max_mtt_hierarchy_depth_intra_slice_luma )(포함)의 범위에 있어야 한다.
존재하지 않으면, ph_cu_chroma_qp_offset_subdiv_intra_slice의 값은 0과 동일한 것으로 추론된다.
ph_log2_diff_min_qt_min_cb_inter_slice 는 CTU의 쿼드트리 분할로 인한 루마 리프 블록의 루파 샘플에서 최소 크기의 밑이 2인 로그와 PH와 연관된 0 (B) 또는 1 (P)와 동일한 slice_type을 갖는 슬라이스에서 루마 CU에 대한 루마 샘플에서 최소 루마 코딩 블록의 밑이 2인 로그 간의 차이를 나타낸다. ph_log2_diff_min_qt_min_cb_inter_slice의 값은 0에서 0 to CtbLog2SizeY - MinCbLog2SizeY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_min_qt_min_cb_luma의 값은 sps_log2_diff_min_qt_min_cb_inter_slice와 동일한 것으로 추론된다.
ph_max_mtt_hierarchy_depth_inter_slice 는 PH와 연관된 0 (B) 또는 1 (P)과 동일한 slice_type을 갖는 슬라이스에서 쿼드트리 리프의 멀티타입 트리 분할로 인한 코딩 유닛에 대한 최대 계층 깊이를 나타낸다. ph_max_mtt_hierarchy_depth_inter_slice의 값은 0에서 2*( CtbLog2SizeY - MinCbLog2SizeY )(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_max_mtt_hierarchy_depth_inter_slice의 값은 sps_max_mtt_hierarchy_depth_inter_slice와 동일하도록 추론된다.
ph_log2_diff_max_bt_min_qt_inter_slice 는 바이너리 분할을 이용하여 분할할 수 있는 루마 코딩 블록의 루마 샘플에서 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 0 (B) 또는 1 (P)과 동일한 slice_type을 갖는 슬라이스에서 CTU의 쿼드트리 분할로 인한 루마 리프 블록의 루마 샘플에서 최소 크기(폭 또는 높이)간의 차이를 나타낸다. ph_log2_diff_max_bt_min_qt_inter_slice의 값은 0에서 0 to CtbLog2SizeY - MinQtLog2SizeInterY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_max_bt_min_qt_inter_slice의 값은 sps_log2_diff_max_bt_min_qt_inter_slice와 동일한 것으로 추론된다.
ph_log2_diff_max_tt_min_qt_inter_slice 는 터너리 분할을 이용하여 분할할 수 있는 루마 코딩 블록의 루마 샘플에서 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 0 (B) 또는 1 (P)과 동일한 slice_type을 갖는 슬라이스에서 CTU의 쿼드트리 분할로 인한 루마 리프 블록의 루마 샘플에서 최소 크기(폭 또는 높이)간의 차이를 나타낸다. ph_log2_diff_max_tt_min_qt_inter_slice의 값은 0에서 CtbLog2SizeY - MinQtLog2SizeInterY(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_log2_diff_max_tt_min_qt_inter_slice의 값은 sps_log2_diff_max_tt_min_qt_inter_slice와 동일한 것으로 추론된다.
ph_cu_qp_delta_subdiv_inter_slice는 cu_qp_delta_abs 및 cu_qp_delta_sign_flag를 전달하는 인터 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값으ㄹ 나타낸다. ph_cu_qp_delta_subdiv_inter_slice의 값은 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY + ph_max_mtt_hierarchy_depth_inter_slice )(포함)의 범위에 있어야 한다.
존재하지 않으면, ph_cu_qp_delta_subdiv_inter_slice의 값은 0과 동일한 것으로 추론된다.
ph_cu_chroma_qp_offset_subdiv_inter_slice는 cu_chroma_qp_offset_flag를 전달하는 인터 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값을 나타낸다. ph_cu_chroma_qp_offset_subdiv_inter_slice의 값은 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY + ph_max_mtt_hierarchy_depth_inter_slice )(포함)의 범위에 있어야 한다.
존재하지 않으면, ph_cu_chroma_qp_offset_subdiv_inter_slice의 값은 0과 동일한 것으로 추론된다.
ph_temporal_mvp_enabled_flag는 시간적 모션 벡터 예측자가 PH와 연관된 슬라이스에 대한 인터 예측에 사용될 수 있는지 여부를 나타낸다. ph_temporal_mvp_enabled_flag가 0과 같으면 PH와 연관된 슬라이스의 신택스 요소는 슬라이스의 디코딩에 시간적 모션 벡터 예측자가 사용되지 않도록 제한되어야 한다. 그렇지 않으면(ph_temporal_mvp_enabled_flag가 1과 동일하면), 시간적 모션 벡터 예측자가 PH와 연관된 슬라이스의 디코딩에 사용될 수 있다. 존재하지 않으면, ph_temporal_mvp_enabled_flag의 값은 0과 동일한 것으로 추론된다. DPB의 참조 픽처가 현재 픽처와 동일한 공간 해상도를 갖지 않으면, ph_temporal_mvp_enabled_flag의 값은 0과 동일해야 한다.
서브블록 기반 머지(merge) MVP 후보의 최대 수 MaxNumSubblockMergeCand는 다음과 같이 도출된다:
Figure pct00044
MaxNumSubblockMergeCanddml 값은 0에서 5(포함)의 범위에 있어야 한다.
1과 동일한 ph_collocated_from_l0_flag는 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 0에서 도출됨을 나타낸다. 0과 동일한 ph_collocated_from_l0_flag는 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 1에서 도출됨을 나타낸다.
ph_collocated_ref_idx 는 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처의 참조 인덱스를 나타낸다.
ph_collocated_from_l0_flag가 1과 동일하면, ph_collocated_ref_idx는 참조 픽처 리스트 0의 엔트리를 참조하고, ph_collocated_ref_idx의 값은 0에서 num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] - 1(포함)의 범위에 있어야 한다.
ph_collocated_from_l0_flag가 0과 동일하면, ph_collocated_ref_idx는 참조 픽처 리스트 1의 엔트리를 참조하고, ph_collocated_ref_idx의 값은 0에서 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] - 1(포함)의 범위에 있어야 한다.
존재하지 않으면, ph_collocated_ref_idx의 값은 0과 동일한 것으로 추론된다.
1과 동일한 mvd_l1_zero_flag 는 mvd_coding( x0, y0, 1 ) 신택스 구조가 파싱되지 않고 MvdL1[ x0 ][ y0 ][ compIdx ] 및 MvdCpL1[ x0 ][ y0 ][ cpIdx ][ compIdx ]가 0과 동일하게 설정되는 것을 나타내고, 여기서, compIdx = 0..1 및 cpIdx = 0..2이다. 0과 동일한 mvd_l1_zero_flag는 mvd_coding( x0, y0, 1 ) 신택스 구조가 파싱됨을 나타낸다.
1과 동일한 ph_fpel_mmvd_enabled_flag 는 모션 벡터 차를 갖는 머지 모드가 PH와 연관된 슬라이스에서 정수 샘플 정밀도를 사용하는 것을 나타낸다. 0과 동일한 ph_fpel_mmvd_enabled_flag는 모션 벡터 차를 갖는 머지 모드가 PH와 연관된 슬라이스에서 분수 샘플 정밀도를 사용할 수 있음을 나타낸다. 존재하지 않으면, ph_fpel_mmvd_enabled_flag의 값은 0으로 추론된다.
1과 동일한 ph_disable_bdof_flag는 양방향 광 흐름 인터 예측 기반 인터 양방향 예측이 PH와 연관된 슬라이스에서 디스에이블됨을 나타낸다. 0과 동일한 ph_disable_bdof_flag는 양방향 광 흐름 인터 예측 기반 인터 양방향 예측이 PH와 연관된 슬라이스에서 인에이블되거나 인에이블되지 않을 수 있음을 나타낸다.
ph_disable_bdof_flag가 존재하지 않으면, 다음이 적용된다:
- sps_bdof_enabled_flag가 1과 동일하면, ph_disable_bdof_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_bdof_enabled_flag가 0과 동일하면), ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
1과 동일한 ph_disable_dmvr_flag는 디코더 모션 벡터 리파인먼트(refinement) 기반 인터 양예측(bi-prediction)이 PH와 연관된 슬라이스에서 디스에이블되는 것을 나타낸다. 0과 동일한 ph_disable_dmvr_flag는 디코더 모션 벡터 리파인먼트(refinement) 기반 인터 양예측(bi-prediction)이 PH와 연관된 슬라이스에서 인에이블될 수 있거나 인에이블될 수 없다는 것을 나타낸다.
ph_disable_dmvr_flag가 존재하지 않으면, 다음이 적용된다:
- sps_dmvr_enabled_flag가 1과 동일하면, ph_disable_dmvr_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_dmvr_enabled_flag가 0과 동일하면), ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
1과 동일한 ph_disable_prof_flag는 광 흐름을 통한 예측 리파인먼트(prediction refinement with optical flow)이 PH와 연관된 슬라이스에서 디스에이블됨을 나타낸다. 0과 동일한 ph_disable_prof_flag는 광 흐름을 통한 예측 리파인먼트(prediction refinement with optical flow)이 PH와 연관된 슬라이스에서 인에이블될 수 있거나 인에이블될 수 없음을 나타낸다.
ph_disable_prof_flag가 존재하지 않으면, 다음이 적용된다:
- sps_affine_prof_enabled_flag가 1과 동일하면, ph_disable_prof_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_affine_prof_enabled_flag가 0과 동일하면), ph_disable_prof_flag의 값은 1과 동일한 것으로 추론된다.
ph_qp_delta 는 코딩 유닛 레이어에서 CuQpDeltaVal의 값에 의해 수정될 때까지 픽처의 코딩 블록에 사용될 QpY의 초기 값을 나타낸다.
qp_delta_info_in_ph_flag가 1과 동일히면, 픽처의 모든 슬라이스에 대한 QpY 양자화 파라미터의 초기 값 SliceQpY 은 다음과 같이 도출된다:
SliceQpY = 26 + init_qp_minus26 + ph_qp_delta (89)
SliceQpY 의 값은 -QpBdOffset에서 +63(포함)의 범위에 있어야 한다.
ph_joint_cbcr_sign_flag는 tu_joint_cbcr_residual_flag[ x0 ][ y0 ]가 1인 변환 유닛에서 두 크로마 컴포넌트의 동일 위치 잔차 샘플이 반전된 부호를 갖는지 여부를 나타낸다. tu_joint_cbcr_residual_flag[ x0 ][ y0 ]가 변환 유닛에 대해 1과 같으면, 0과 동일한 ph_joint_cbcr_sign_flag는 Cr(또는 Cb) 컴포넌트의 각 잔차 샘플의 부호가 동일 위치 Cb(또는 Cr) 잔차의 부호와 동일함을 나타내고, 1과 동일한 ph_joint_cbcr_sign_flag는 Cr(또는 Cb) 성분의 각 잔차 샘플의 부호가 동일 위치 Cb(또는 Cr) 잔차 샘플의 반전된 부호에 의해 주어짐을 나타낸다.
1과 동일한 ph_sao_luma_enabled_flag는 SAO가 PH와 연관된 모든 슬라이스에서 루마 컴포넌트에 대해 인에이블되는 것을 나타내고, 0과 동일한 ph_sao_luma_enabled_flag은 루마 컴포넌트에 대한 SAO가 PH와 연관된 하나 이상 또는 모든 슬라이에 대하여 디스에이블될 수 있음을 나타낸다. ph_sao_luma_enabled_flag가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
1과 동일한 ph_sao_chroma_enabled_flag는 SAO가 PH와 연관된 모든 슬라이스에서 크로마 컴포넌트에 대해 인에이블되는 것을 나타내고, 0과 동일한 ph_sao_chroma_enabled_flag는 크로마 컴포넌트에 대한 SAO가 PH와 연관된 하나 이상 또는 모든 슬라이에 대하여 디스에이블될 수 있음을 나타낸다. ph_sao_chroma_enabled_flag가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
0과 동일한 ph_dep_quant_enabled_flag는 종속 양자화가 현재 픽처에 대해 디스에이블됨을 나타낸다. 1과 동일한 ph_dep_quant_enabled_flag는 종속 양자화가 현재 픽처에 대해 인에이블됨을 나타낸다. ph_dep_quant_enabled_flag가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
0과 동일한 pic_sign_data_hiding_enabled_flag 는 부호 비트 은닉이 현재 픽처에 대하여 디스에이블됨을 나타낸다. 1과 동일한 pic_sign_data_hiding_enabled_flag는 부호 비트 은닉이 현재 픽처에 대하여 인에이블됨을 나타낸다. pic_sign_data_hiding_enabled_flag가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
1과 동일한 ph_deblocking_filter_override_flag 는 디블로킹 파라미터가 PH에 존재함을 나타낸다. 0과 동일한 ph_deblocking_filter_override_flag 는 디블로킹 파라미터가 PH에 존재하지 않음을 나타낸다. 존재하지 않으면, ph_deblocking_filter_override_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 ph_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 PH와 연관된 슬라이스에 대하여 적용되지 않음을 나타낸다. 0과 동일한 ph_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 PH와 연관된 슬라이스에 대하여 적용됨을 나타낸다. ph_deblocking_filter_disabled_flag가 존재하지 않으면, 이는 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
ph_beta_offset_div2ph_tc_offset_div2 는 PH와 연관된 슬라이스에 대한 루마 컴포넌트에 적용된 (2로 나눈)
Figure pct00045
및 tC에 대한 디블로킹 파라미터 오프셋을 나타낸다. ph_beta_offset_div2 및 ph_tc_offset_div2의 값은 -12에서 12(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_beta_offset_div2 및 ph_tc_offset_div2의 값은 각각 pps_beta_offset_div2 and pps_tc_offset_div2과 동일한 것으로 추론된다.
ph_cb_beta_offset_div2ph_cb_tc_offset_div2는 PH와 연관된 슬라이스에 대한 Cb 컴포넌트에 적용되는 (2로 나눈)
Figure pct00046
및 tC에 대한 디블로킹 파라미터 오프셋을 나타낸다. ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값은 -12에서 12(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값은 각각 pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2과 동일한 것으로 추론된다.
ph_cr_beta_offset_div2ph_cr_tc_offset_div2 는 PH와 연관된 슬라이스에 대한 Cr 컴포넌트에 적용되는 (2로 나눈)
Figure pct00047
및 tC에 대한 디블로킹 파라미터 오프셋을 나타낸다. ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2 의 값은 -12에서 12(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2의 값은 각각 pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2과 동일한 것으로 추론된다.
ph_extension_length는 ph_extension_length 자체를 시그널링하는 데 사용되는 비트를 포함하지 않고 바이트 단위의 PH 확장 데이터 길이를 나타낸다. ph_extension_length의 값은 0에서 256(포함)의 범위에 있어야 한다. 존재하지 않으면, ph_extension_length의 값은 0과 동일한 것으로 추론된다.
ph_extension_data_byte는 임의의 값을 가질 수 있다. 이 사양의 이 버전을 따르는 디코더는 ph_extension_data_byte의 값을 무시해야 한다. 이 값은 이 사양의 이 버전에 명시된 프로파일에 대한 디코더 적합성에 영향을 미치지 않는다.
3.4. SH 신택스 및 시맨틱
최신 VVC 초안 텍스트에서, SH 신택스 및 시맨틱은 다음과 같다.
Figure pct00048
Figure pct00049
Figure pct00050
Figure pct00051
cu_qp_delta_abs를 포함하는 코딩 유닛에 대한 루마 양자화 파라미터와 그 예측 간의 차이를 나타내는 변수 CuQpDeltaVal는 0과 동일하게 설정된다. cu_chroma_qp_offset_flag를 포함하는 코딩 유닛에 대한 Qp'Cb, Qp'Cr 및 Qp'CbCr 양자화 파라미터의 각각의 값을 결정할 때 사용될 값을 나타내는 변수(CuQpOffsetCb, CuQpOffsetCr, and CuQpOffsetCbCr)는 모두 0과 동일하게 설정된다.
1과 동일한 picture_header_in_slice_header_flag는 PH 신택스 구조가 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 picture_header_in_slice_header_flag는 PH 신택스 구조가 슬라이스 헤더에 존재하지 않음을 나타낸다.
picture_header_in_slice_header_flag의 값이 CLVS의 모든 코딩된 슬라이스에서 동일해야 하는 것이 비트스트림 적합성의 요구사항이다.
picture_header_in_slice_header_flag가 코딩된 슬라이스에 대해 1과 같으면, PH_NUT와 동일한 nal_unit_type을 갖는 VCL NAL 유닛이 CLVS에 존재하지 않아야 한다는 것이 비트스트림 적합성의 요구사항이다.
picture_header_in_slice_header_flag가 0과 같으면, 현재 픽처의 모든 코딩된 슬라이스는 0과 동일한 picture_header_in_slice_header_flag를 가져야 하고 현재 PU는 PH NAL 유닛을 가져야 한다.
slice_subpic_id는 슬라이스를 포함하는 서브픽처의 서브픽처 ID를 나타낸다. slice_subpic_id가 존재한다면, 변수 CurrSubpicIdx의 값은 SubpicIdVal[ CurrSubpicIdx]이 slice_subpic_id와 같도록 도출된다. 그렇지 않으면(slice_subpic_id가 존재하지 않으면), CurrSubpicIdx는 0과 같도록 도출된다. slice_subpic_id의 길이는 sps_subpic_id_len_minus1 + 1 비트이다.
slice_address 는 슬라이스의 슬라이스 어드레스를 나타낸다. 존재하지 않으면, slice_address의 값은 0과 동일한 것으로 추론된다. rect_slice_flag가 1과 동일하고 NumSlicesInSubpic[ CurrSubpicIdx ]이 1과 동일하면, slice_address의 값은 0과 동일한 것으로 추론된다.
rect_slice_flag가 0과 동일하면, 다음이 적용된다.:
- 슬라이스 어드레스는 래스터 스캔 타일 인덱스이다.
- slice_address의 길이는 Ceil( Log2 ( NumTilesInPic ) ) 비트이다.
- slice_address의 값은 0에서 NumTilesInPic - 1(포함)의 범위에 있어야 한다.
그렇지 않으면 (rect_slice_flag가 1과 동일하면), 다음이 적용된다:
- 슬라이스 어드레스는 슬라이스의 서브픽처-레벨 슬라이스 인덱스이다.
- slice_address의 길이는 Ceil( Log2( NumSlicesInSubpic[ CurrSubpicIdx ] ) ) 비트이다.
- slice_address의 값은 0에서 0 to NumSlicesInSubpic[ CurrSubpicIdx ] - 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 값의 쌍과 동일하지 않아야 한다.
- 픽처의 슬라이스의 형상은, 각 CTU가 디코딩될 때 픽처 경계로 구성되거나 이전에 디코딩된 CTU(들)의 경계로 구성된 전체 왼쪽 경계와 전체 상단 경계를 갖도록 해야 한다.
sh_extra_bit[ i ]는 1 또는 0과 같을 수 있다. 이 사양의 이 버전을 따르는 디코더는 sh_extra_bit[ i ]의 값을 무시해야 한다. 그 값은 이 사양의 이 버전에 명시된 프로파일에 대한 디코더 적합성에 영향을 미치지 않는다.
num_tiles_in_slice_minus1 + 1는, 존재한다면, 슬라이스 내의 타일의 수를 나타낸다. num_tiles_in_slice_minus1의 값은 0에서 NumTilesInPic - 1(포함)의 범위에 있어야 한다.
슬라이스 내의 CTU의 수를 나타내는 변수 NumCtusInCurrSlice 및 i번째 CTBdml 픽처 스캔 어드레스를 나타내는 리스트 CtbAddrInCurrSlice[ i ](i는 0에서 NumCtusInCurrSlice - 1(포함)의 범위내에 있다)는 다음과 같이 도출된다:
Figure pct00052
변수 SubpicLeftBoundaryPos, SubpicTopBoundaryPos, SubpicRightBoundaryPos, 및 SubpicBotBoundaryPos는 다음과 같이 도출된다:
Figure pct00053
slice_type 는 표 9에 따라 슬라이스의 코딩 타입을 나타낸다.
표 9 -slice_type에 대한 이름 연관성
Figure pct00054
존재하지 않으면, slice_type의 값은 2와 동일한 것으로 추론된다.
ph_intra_slice_allowed_flag가 0과 동일하면, slice_type의 값은 0 또는 1과 동일해야 한다. nal_unit_type이 IDR_W_RADL에서 CRA_NUT(포함)의 범위에 있고 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일하면, slice_type이 2와 동일해야 한다.
변수 MinQtLog2SizeY, MinQtLog2SizeC, MinQtSizeY, MinQtSizeC, MaxBtSizeY, MaxBtSizeC, MinBtSizeY, MaxTtSizeY, MaxTtSizeC, MinTtSizeY, MaxMttDepthY 및 MaxMttDepthC는 다음과 같이 도출된다:
- slice_type가 2 (I)와 동일하면, 다음이 적용된다:
Figure pct00055
- 그렇지 않으면(slice_type가 0 (B) 또는 1 (P)와 동일하면), 다음이 적용된다:
Figure pct00056
- 다음이 적용된다:
Figure pct00057
1과 동일한 slice_alf_enabled_flag 는 적응적 루프 필터가 인에이블되고 슬라이스 내의 Y, Cb, 또는 Cr 색상 컴포넌트에 적용될 수 있다는 것을 나타낸다. 0과 동일한 slice_alf_enabled_flag 는 슬라이스 내의 모든 색상 컴포넌트에 대하여 적응적 루프 필터가 디스에이블되는 것을 나타낸다. 존재하지 않으면, slice_num_alf_aps_ids_luma는 슬라이스가 참조하는 ALF APS의 수를 나타낸다. slice_alf_enabled_flag가 1과 동일하고 slice_num_alf_aps_ids_luma가 존재하지 않으면, slice_num_alf_aps_ids_luma의 값은 ph_num_alf_aps_ids_luma의 값과 동일한 것으로 추론된다.
slice_alf_aps_id_luma[ i ]는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 나타낸다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
0과 동일한 slice_alf_chroma_idc는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용되지 않음을 나타낸다. 1과 동일한 slice_alf_chroma_idc는 적응적 루프 필터가 Cb 색상 컴포넌트에 적용됨을 나타낸다. 2와 동일한 slice_alf_chroma_idc는 적응적 루프 필터가 Cr 색상 컴포넌트에 적용됨을 나타낸다. 3과 동일한 slice_alf_chroma_idc는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용됨을 나타낸다. slice_alf_chroma_idc가 존재하지 않으면, 이는 ph_alf_chroma_idc와 동일한 것으로 추론된다.
slice_alf_aps_id_chroma는 슬라이스의 크로마 성분이 참조하는 ALF APS의 adaptation_parameter_set_id를 나타낸다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_chroma가 존재하지 않는 경우, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag의 값은 1과 동일해야 한다.
0과 동일한 slice_cc_alf_cb_enabled_flag는 크로스-컴포넌트 필터가 Cb 컴포넌트에 적용되지 않음을 나타낸다. 1과 동일한 slice_cc_alf_cb_enabled_flag는 크로스-컴포넌트 필터가 인에이블되고 Cb 색상 컴포넌트에 적용될 수 있음을 나타낸다. slice_cc_alf_cb_enabled_flag가 존재하지 않으면 이는 ph_cc_alf_cb_enabled_flag와 동일한 것으로 추론된다.
slice_cc_alf_cb_aps_id 는 슬라이스의 Cb 색상 컴포넌트가 참조하는 adaptation_parameter_set_id를 나타낸다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cb_enabled_flag가 1과 동일하고 slice_cc_alf_cb_aps_id가 존재하지 않으면, slice_cc_alf_cb_aps_id의 값은 ph_cc_alf_cb_aps_id의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag의 값은 1과 동일해야 한다.
0과 동일한 slice_cc_alf_cr_enabled_flag는 크로스-컴포넌트 필터가 Cr 컴포넌트에 적용되지 않음을 나타낸다. 1과 동일한 slice_cc_alf_cb_enabled_flag는 크로스-컴포넌트 적응적 루프 필터가 인에이블되고 Cr 색상 컴포넌트에 적용될 수 있음을 나타낸다. slice_cc_alf_cr_enabled_flag가 존재하지 않으면 ph_cc_alf_cr_enabled_flag와 동일한 것으로 추론된다.
slice_cc_alf_cr_aps_id는 슬라이스의 Cr 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cr_enabled_flag가 1과 동일하고 slice_cc_alf_cr_aps_id가 존재하지 않으면, slice_cc_alf_cr_aps_id의 값은 ph_cc_alf_cr_aps_id의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag 값은 1과 동일해야 한다.
colour_plane_id는 separator_colour_plane_flag가 1과 같을 때 현재 슬라이스와 연관된 색상 평면을 식별한다. color_plane_id의 값은 0에서 2(포함)의 범위에 있어야 한다. color_plane_id 값 0, 1 및 2는 각각 Y, Cb 및 Cr 평면에 해당한다. color_plane_id의 값 3은 ITU-T | ISO/IEC에 의해 향후 사용을 위해 유보된다.
주 1 - 하나의 픽처의 상이한 색상 평면의 디코딩 프로세스 간에 종속성이 없다.
1과 동일한 num_ref_idx_active_override_flag 는 신택스 요소 num_ref_idx_active_minus1[ 0 ]가 P 및 B 슬라이스에 대하여 존재하고 신택스 요소 num_ref_idx_active_minus1[ 1 ]가 B 슬라이스에 대하여 존재함을 나타낸다. 0과 동일한 num_ref_idx_active_override_flag는 신택스 요소 num_ref_idx_active_minus1[ 0 ] 및 num_ref_idx_active_minus1[ 1 ]가 존재하지 않음을 나타낸다. 존재하지 않으면, num_ref_idx_active_override_flag의 값은 1과 동일한 것으로 추론된다.
num_ref_idx_active_minus1[ i ]은 수학식 143에 의해 명시된 대로 변수 NumRefIdxActive[ i ]의 도출에 사용된다. num_ref_idx_active_minus1[ i ]의 값은 0에서 14(포함)의 범위에 있어야 한다.
i가 0 또는 1인 경우, 현재 슬라이스가 B 슬라이스일 때 num_ref_idx_active_override_flag는 1과 동일하고 num_ref_idx_active_minus1[ i ]이 존재하지 않으면, num_ref_idx_active_minus1[ i ]는 0과 동일한 것으로 추론된다.
현재 슬라이스가 P 슬라이스이고, num_ref_idx_active_override_flag가 1과 동일하고 num_ref_idx_active_minus1[ 0 ]가 존재하지 않으면, num_ref_idx_active_minus1[ 0 ]는 0과 동일한 것으로 추론된다.
변수 NumRefIdxActive[ i ]는 다음과 같이 도출된다:
Figure pct00058
NumRefIdxActive[ i ] - 1 의 값은 슬라이스를 디코딩하는 데 사용될 수 있는 참조 픽처 리스트 i에 대한 최대 참조 인덱스를 나타낸다. NumRefIdxActive[ i ]의 값이 0과 같으면, 참조 픽처 리스트 i에 대한 참조 인덱스는 슬라이스를 디코딩하는데 사용될 수 없다.
현재 슬라이스가 P 슬라이스이면, NumRefIdxActive[ 0 ]의 값은 0보다 커야 한다.
현재 슬라이스가 B 슬라이스이면, NumRefIdxActive[ 0 ] 및 NumRefIdxActive[ 1 ]은 0보다 커야 한다.
cabac_init_flag 는 컨텍스트 변수에 대한 초기화 프로세스에서 사용되는 초기화 표를 결정하는데 사용되는 방법을 나타낸다. cabac_init_flag가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
1과 동일한 slice_collocated_from_l0_flag는 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 0에서 도출됨을 나타낸다. 0과 동일한 slice_collocated_from_l0_flag는 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 1에서 도출됨을 나타낸다.
slice_type이 B 또는 P과 동일하면, ph_temporal_mvp_enabled_flag는 1과 동일하고, slice_collocated_from_l0_flag가 존재하지 않으며, 다음이 적용된다.:
- rpl_info_in_ph_flag이 1과 동일하면, slice_collocated_from_l0_flag는 ph_collocated_from_l0_flag와 동일한 것으로 추론된다.
- 그렇지 않으면 (rpl_info_in_ph_flag가 0과 동일하고 slice_type이 P와 동일하면), slice_collocated_from_l0_flag 의 값은 1과 같은 것으로 추론된다.
slice_collocated_ref_idx는 시간 모션 벡터 예측에 사용되는 동일 위치 픽처의 참조 인덱스를 나타낸다.
slice_type이 P와 동일하거나 slice_type이 B와 동일하고 slice_collocated_from_l0_flag가 1과 동일하면, slice_collocated_ref_idx는 참조 픽처 리스트 0의 엔트리를 참조하고, slice_collocated_ref_idx의 값은 0에서 NumRefIdxActive[ 0 ]  1(포함)의 범위에 있어야 한다.
slice_type이 B와 동일하고 slice_collocated_from_l0_flag이 0과 동일하면, slice_collocated_ref_idx는 참조 픽처 리스트 1의 엔트리를 참조하고, slice_collocated_ref_idx의 값은 0에서 NumRefIdxActive[ 1 ]  1(포함)의 범위에 있어야 한다.
slice_collocated_ref_idx이 존재하지 않으면, 다음이 적용된다:
- rpl_info_in_ph_flag가 1과 동일하면, slice_collocated_ref_idx의 값은 ph_collocated_ref_idx와 동일한 것으로 추론된다.
- 그렇지 않으면 (rpl_info_in_ph_flag가 0과 동일하면), slice_collocated_ref_idx의 값은 0과 동일한 것으로 추론된다.
slice_collocated_ref_idx에 의해 참조되는 픽처가 코딩된 픽처의 모든 슬라이스에 대하여 동일해야 하는 것이 비트스트림 적합성의 요구사항이다.
slice_collocated_ref_idx에 의해 참조되는 참조 픽처의 pic_width_in_luma_samples과 pic_height_in_luma_samples의 값은 현재 픽처의 각각의 pic_width_in_luma_samples 및 pic_height_in_luma_samples와 동일해야 하고 RprConstraintsActive[ slice_collocated_from_l0_flag ? 0 : 1 ][ slice_collocated_ref_idx ]가 0과 동일해야 하는 것이 비트스트림 적합성의 요구사항이다.
slice_qp_delta는 코딩 유닛 레이어에서 CuQpDeltaVal의 값에 의해 수정될 때까지 슬라이스의 코딩 블록에 사용될 QpY 의 초기 값을 나타낸다.
qp_delta_info_in_ph_flag가 0과 동일하면, 슬라이스에 대한 QpY 양자화 파라미터의 초기 값 SliceQpY 은 다음과 같이 도출된다:
SliceQpY = 26 + init_qp_minus26 + slice_qp_delta (144)
SliceQpY 의 값은 -QpBdOffset에서 +63(포함)의 범위에 있어야 한다.
다음 조건 중의 하나에 해당하는 경우:
- wp_info_in_ph_flag의 값이 1과 동일하고, pps_weighted_pred_flag가 1과 동일하고 slice_type이 P와 동일하다.
- wp_info_in_ph_flag 의 값이 1과 동일하고, pps_weighted_bipred_flag가 1과 동일하고, slice_type이 B와 동일하다.
다음이 적용된다:
- NumRefIdxActive[ 0 ]의 값은 NumWeightsL0의 값보다 작거나 같아야 한다.
- 각 참조 픽처 인덱스 RefPicList[ 0 ][ i ]에 대하여 (i는 0에서 NumRefIdxActive[ 0 ] - 1(포함)의 범위다), 참조 픽처 인덱스에 적용되는 루마 가중치, Cb 가중치, 및 Cr 가중치는 각각 LumaWeightL0[ i ], ChromaWeightL0[ 0 ][ i ], 및 ChromaWeightL0[ 1 ][ i ]이다.
wp_info_in_ph_flag가 1과 동일하고, pps_weighted_bipred_flag가 1과 동일하고, slice_type이 B와 동일하면, 다음이 적용된다:
- NumRefIdxActive[ 1 ]의 값은 NumWeightsL1의 값보다 작거나 동일해야 한다.
- 각 참조 픽처 인덱스 RefPicList[ 1 ][ i ]에 대하여 (i는 0에서 NumRefIdxActive[ 1 ]  1(포함)의 범위다), 참조 픽처 인덱스에 적용되는 루마 가중치, Cb 가중치, 및 Cr 가중치는 각각 LumaWeightL1[ i ], ChromaWeightL1[ 0 ][ i ], 및 ChromaWeightL1[ 1 ][ i ]이다.
slice_cb_qp_offset는 Qp'Cb 양자화 파라미터의 값을 결정할 때 pps_cb_qp_offset의 값에 더해질 차를 나타낸다. slice_cb_qp_offset의 값은 -12에서 +12(포함)의 범위에 있어야 한다. slice_cb_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_cb_qp_offset + slice_cb_qp_offset의 값은 -12에서 +12(포함)의 범위에 있어야 한다.
slice_cr_qp_offset는 Qp'Cr 양자화 파라미터의 값을 결정할 때 pps_cr_qp_offset의 값에 더해질 차를 나타낸다. slice_cr_qp_offset의 값은 -12에서 +12(포함)의 범위에 있어야 한다. slice_cr_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_cr_qp_offset + slice_cr_qp_offset 의 값은 -12에서 +12(포함)의 범위에 있어야 한다.
slice_joint_cbcr_qp_offset는 Qp'CbCr의 값을 결정할 때 pps_joint_cbcr_qp_offset_value의 값에 더해질 차를 나타낸다. slice_joint_cbcr_qp_offset의 값은 -12에서 +12(포함)의 범위에 있어야 한다. slice_joint_cbcr_qp_offset이 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_joint_cbcr_qp_offset_value + slice_joint_cbcr_qp_offset의 값은 -12에서 +12(포함)의 범위에 있어야 한다.
1과 동일한 cu_chroma_qp_offset_enabled_flag는 cu_chroma_qp_offset_flag가 변환 유닛 및 팔레트 코딩 신택스에 존재할 수 있음을 나타낸다. 0과 동일한 cu_chroma_qp_offset_enabled_flag는 cu_chroma_qp_offset_flag가 변환 유닛 또는 팔레트 코딩 신택스에 존재하지 않음을 나타낸다. 존재하지 않으면, cu_chroma_qp_offset_enabled_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 slice_sao_luma_flag SAO가 현재 슬라이스의 루마 컴포넌트에 대하여 인에이블됨을 나타내고; 0과 동일한 slice_sao_luma_flag는 SAO가 현재 슬라이스의 루마 컴포넌트에 대하여 디스에이블됨을 나타낸다. slice_sao_luma_flag가 존재하지 않으면, 이는 ph_sao_luma_enabled_flag와 동일한 것으로 추론된다.
1과 동일한 slice_sao_chroma_flag SAO가 현재 슬라이스의 크로마 컴포넌트에 대하여 인에이블됨을 나타내고; 0과 동일한 slice_sao_chroma_flag는 SAO가 현재 슬라이스의 크로마 컴포넌트에 대하여 디스에이블됨을 나타낸다. slice_sao_chroma_flag가 존재하지 않으면, 이는 ph_sao_chroma_enabled_flag와 동일한 것으로 추론된다.
1과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 slice_deblocking_filter_override_flag는 블로킹 파라미터가 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 ph_deblocking_filter_override_flag와 동일한 것으로 추론된다.
1과 동일한 slice_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 현재 슬라이스에 대해 적용되지 않음을 나타낸다. 0과 동일한 slice_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 현재 슬라이스에대하여 적용됨을 나타낸다. slice_deblocking_filter_disabled_flag가 존재하지 않으면, 이는 ph_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
slice_beta_offset_div2slice_tc_offset_div2 는 현재 슬라이스에 대한 루마 컴포넌트에 적용되는 (2로 나누어진)
Figure pct00059
및 tC에 대한 디블로킹 파라미터를 나타낸다. slice_beta_offset_div2 및 slice_tc_offset_div2의 값은 -12에서 +12(포함)의 범위에 있어야 한다. 존재하지 않으면, slice_beta_offset_div2 및 slice_tc_offset_div2의 값은 각각 ph_beta_offset_div2 및 ph_tc_offset_div2와 동일한 것으로 추론된다.
slice_cb_beta_offset_div2slice_cb_tc_offset_div2는 현재 슬라이스에 대한 Cb 컴포넌트에 적용되는 (2로 나누어진)
Figure pct00060
및 tC에 대한 디블로킹 파라미터를 나타낸다. slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값은 -12에서 +12(포함)의 범위에 있어야 한다. 존재하지 않으면, slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값은 각각 ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2와 동일한 것으로 추론된다.
slice_cb_beta_offset_div2slice_cb_tc_offset_div2는 현재 슬라이스에 대한 Cㄱ 컴포넌트에 적용되는 (2로 나누어진)
Figure pct00061
및 tC에 대한 디블로킹 파라미터를 나타낸다. slice_cr_beta_offset_div2 및 slice_cr_tc_offset_div2의 값은 -12에서 +12(포함)의 범위에 있어야 한다. 존재하지 않으면, slice_cr_beta_offset_div2 및 slice_cr_tc_offset_div2의 값은 각각 ph_cr_beta_offset_div2 and ph_cr_tc_offset_div2와 동일한 것으로 추론된다.
1과 동일한 slice_ts_residual_coding_disabled_flag는 residual_coding( ) 신택스 구조가 현재 슬라이스에 대한 변환 스킵 블록의 잔차 샘플을 파싱하는데 사용됨을 나타낸다. 0과 동일한 slice_ts_residual_coding_disabled_flag는 residual_ts_coding( ) 신택스 구조가 현재 슬라이스에 대한 변환 스킵 블록의 잔차 샘플을 파싱하는데 사용된다. slice_ts_residual_coding_disabled_flag가 존재하면,이는 0과 동일한 것으로 추론된다.
1과 동일한 slice_lmcs_enabled_flag는 LMCS(luma mapping with chroma scaling)가 현재 슬라이스에 대하여 인에이블됨을 나타낸다. 0과 동일한 slice_lmcs_enabled_flag는 LMCS(luma mapping with chroma scaling)가 현재 슬라이스에 대하여 인에이블되지 않음을 나타낸다 slice_lmcs_enabled_flag가 존재하면, 이는 0과 동일한 것으로 추론된다.
1과 동일한 slice_scaling_list_present_flag는 현재 슬라이스에 사용되는 스케일링 리스트 데이터가 SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id를 갖는 참조된 스케일링 리스트 APS에 포함된 스케일링 리스트 데이터에 기초하여 도출됨을 나타낸다. 0과 동일한 slice_scaling_list_present_flag 는 현재 픽처에 사용되는 스케일링 리스트 데이터가 7.4.3.21 절에 명시된 도출된 디폴트 스케일링 리스트 데이터임을 나타낸다. 존재하지 않으면, slice_scaling_list_present_flag의 값은 0과 동일한 것으로 추론된다.
현재 슬라이스 내의 엔트리 포인트의 수를 나타내는 변수 NumEntryPoints는 다음과 같이 도출된다:
Figure pct00062
offset_len_minus1 + 1은 entry_point_offset_minus1[ i ] 신택스 요소의 비트 길이를 나타낸다. offset_len_minus1의 값은 0에서 31(포함)의 범위에 있어야 한다.
entry_point_offset_minus1[ i ] + 1 는 i번째 엔트리 포인트 오프셋을 바이트로 나타내고 offset_len_minus1 + 1 비트로 표현된다. 슬라이스 헤더 뒤에 오는 슬라이스 데이터는 NumEntryPoints + 1 서브세트로 구성되며 서브세트 인덱스 값 범위는 0에서 NumEntryPoints(포함)까지이다. 슬라이스 데이터의 첫 번째 바이트는 바이트 0으로 간주된다. 존재하는 경우, 코딩된 슬라이스 NAL 유닛의 슬라이스 데이터 부분에 나타나는 에뮬레이션 방지 바이트는 서브세트 식별을 위해 슬라이스 데이터의 일부로 계산된다. 서브세트 0은 코딩된 슬라이스 데이터의 0에서 entry_point_offset_minus1[ 0 ]까지의 바이트로 구성되며, 서브세트 k(k는 1에서 NumEntryPoints - 1(포함)의 범위)는 디코딩된 슬라이스 데이터의 바이트 firstByte[ k ]에서 lastByte[ k ]로 구성되고, 여기서 firstByte[ k ] 및 lastByte[ k ]는 다음과 같이 정의된다:
Figure pct00063
(146)
lastByte[ k ] = firstByte[ k ] + entry_point_offset_minus1[ k ] (147)
마지막 서브세트 (NumEntryPoints와 동일한 서브세트 인덱스를 갖는)는 코딩된 슬라이스 데이터의 나머지 바이트로 구성된다.
sps_entropy_coding_sync_enabled_flag가 0과 동일하고 슬라이스가 1 이상의 완전한 타일을 포함하면, 각각의 서브세트는 동일한 타일 내에 있는 슬라이스 내의 모든 CTU의 모든 코딩된 비트로 구성되고, 서브세트의 수(즉, NumEntryPoints + 1의 값)는 슬라이스 내의 타일의 수와 동일해야 한다.
sps_entropy_coding_sync_enabled_flag가 0과 동일하고 슬라이스가 단일 타일로부터 CTU 행의 서브세트를 포함하면, NumEntryPoints는 0이어야 하고 서브세트의 수는 1이어야 한다. 서브세트는 슬라이스 내의 모든 CTU의 모든 코딩된 비트로 구성된다.
sps_entropy_coding_sync_enabled_flag가 1과 동일하면, 각각의 서브세트 k(k는 0에서 NumEntryPoints(포함)의 범위)는 타일 내의 CTU 행의 모든 CTU의 모든 코딩된 비트로 구성되고, 서브세트의 수(즉, NumEntryPoints + 1의 수)는 슬라이스 내의 타일-특정 CTU의 총수와 동일해야 한다.
slice_header_extension_length 는 slice_header_extension_length 자체를 시그널링하는데 사용되는 비트를 포함하지 않고 슬라이스 헤더 확장 데이터의 길이를 바이트로 나타낸다. slice_header_extension_length의 값은 0에서 256(포함)의 범위에 있어야 한다. 존재하지 않으면, slice_header_extension_length의 값은 0과 동일한 것으로 추론된다.
slice_header_extension_data_byte[ i ]는 임의의 값을 가질 수 있다. 이 사양의 이 버전을 따르는 디코더는 모든 slice_header_extension_data_byte[ i ] 신택스 요소의 값을 무시해야 한다. 이 값은 이 사양의 버전에 명시된 프로파일에 대한 디코더 적합성에 영향을 준다.
3.5. 크로마 QP 매핑 테이블
JVET-Q2001-vC의 7.3.2.3절에서, SPS는 다음과 같이 크로마 QP 테이블이라는 구조를 포함한다:
Figure pct00064
이들은 다음의 시맨틱 및 QP 표 도출과 함께 한다:
0과 동일한 sps_joint_cbcr_enabled_flag 는 크로마 잔차의 조인트 코딩이 디스에이블됨을 명시한다. 1과 동일한 sps_joint_cbcr_enabled_flag는 크로마 잔차의 조인트 코딩이 인에이블됨을 명시한다. 존재하지 않는 경우 sps_joint_cbcr_enabled_flag의 값은 0과 같은 것으로 추론된다.
1과 동일한 same_qp_table_for_chroma 는 하나의 크로마 QP 매핑 테이블만 시그널링되고 이 테이블은 sps_joint_cbcr_enabled_flag가 1과 동일한 경우 Cb 및 Cr 잔차 및 조인트 Cb-Cr 잔차에 적용됨을 명시한다. 0과 동일한 same_qp_table_for_chroma는 크로마 QP 매핑 테이블들, sps_joint_cbcr_enabled_flag가 1과 같을 때 Cb 및 Cr에 대해 2개 그리고 조인트 Cb-Cr에 대해 추가의 하나가 SPS에서 시그널링된다. same_qp_table_for_chroma가 비트스트림에 존재하지 않는 경우, same_qp_table_for_chroma의 값은 1과 동일한 것으로 추론된다.
qp_table_start_minus26[ i ] + 26 은 i번째 크로마 QP 매핑 테이블을 설명하는 데 사용되는 시작 루마 및 크로마 QP를 명시한다. qp_table_start_minus26[ i ]의 값은 -26 - QpBdOffset에서 36(포함)의 범위에 있어야 한다. qp_table_start_minus26[ i ]이 비트스트림에 존재하지 않으면, qp_table_start_minus26[ i ]의 값은 0과 동일한 것으로 추론된다.
num_points_in_qp_table_minus1[ i ] + 1 은 i번째 크로마 QP 매핑 테이블을 설명하는 데 사용되는 포인트의 수를 명시한다. num_points_in_qp_table_minus1[ i ]의 값은 0에서 63 + QpBdOffset(포함)의 범위에 있어야 한다. num_points_in_qp_table_minus1[ 0 ]이 비트스트림에 존재하지 않으면, num_points_in_qp_table_minus1[ 0 ]의 값은 0과 같은 것으로 추론된다.
delta_qp_in_val_minus1[ i ][ j ]는 i 번째 크로마 QP 매핑 테이블의 j 번째 피벗(pivot) 포인트의 입력 좌표를 도출하는 데 사용되는 델타 값을 명시한다. delta_qp_in_val_minus1[ 0 ][ j ]이 비트스트림에 존재하지 않으면, delta_qp_in_val_minus1[ 0 ][ j ]의 값은 0과 같은 것으로 추론된다.
delta_qp_diff_val[ i ][ j ] 은 i번째 크로마 QP 매핑 테이블의 j번째 피벗 포인트의 출력 좌표를 도출하는데 사용되는 델타 값을 명시한다.
i번째 크로마 QP 매핑 테이블 ChromaQpTable[ i ](i = 0..numQpTables - 1)은 다음과 같이 도출된다:
Figure pct00065
same_qp_table_for_chroma가 1과 동일하면, ChromaQpTable[ 1 ][ k ] 및 ChromaQpTable[ 2 ][ k ]는 ChromaQpTable[ 0 ][ k ]와 동일하게 설정되고, 여기서, k는 QpBdOffset에서 63(포함)의 범위에 있다.
qpInVal[ i ][ j ] 및 qpOutVal[ i ][ j ]의 값이 QpBdOffset에서 63(포함)의 범위의 범위에 있어야 하는 것이 비트스트림 적합성의 요구사항이고, 여기서, i는 0에서 numQpTables - 1(포함)에 있고 j는 0에서 num_points_in_qp_table_minus1[ i ] + 1(포함)의 범위에 있다.
상기 설명에서, QpBdOffset는 다음과 같이 도출된다:
bit_depth_minus8 은 다음과 같이 루마 및 크로마 어레이의 샘플의 비트 깊이 BitDepth와 루마 및 크로마 양자화 파라미터 범위 오프셋 QpBdOffset의 값을 명시한다:
BitDepth = 8 + bit_depth_minus8
QpBdOffset = 6 * bit_depth_minus8
bit_depth_minus8는 0에서 8(포함)의 범위에 있어야 한다.
4. 개시된 기술적 솔루션에 의해 구현되는 기술적 문제점
APS, 디블로킹, 서브픽처, QP 델타에 대한 최신 VVC 드래프트 사양의 기존 설계에는 다음과 같은 문제가 있다:
1) 현재, APS 신택스 요소 scaling_list_chroma_present_flag의 값은 다음과 같이 표현된 SPS 신택스 요소 chroma_format_idc 및 separate_colour_plane_flag로부터 도출된 ChromaArrayType에 기초하여 제한된다: scaling_list_chroma_present_flag는, ChromaArrayType가 0과 동일하면 0과 동일해야 하고 ChromaArrayType가 0과 동일하지 않으면 1과 동일해야 한다.
APS 신택스 요소의 시맨틱에서의 이러한 제약은 SPS에 대한 APS의 시맨틱 종속성을 도입하는데, 이는 APS 신택스에 PPS ID 또는 SPS ID가 없기 때문에 발생해서는 안되며, AP는 상이한 SPS를 참조하는 픽처(또는 픽처 슬라이스)에 적용될 수 있고, 이는 ChromaArrayType의 다른 값과 연관될 수 있다.
a. 추가적으로, 유사한 APS-SPS 시맨틱 종속성은 다음과 같이 표현되는 일부 ALF/CC-ALF APS 신택스 요소의 시맨틱에도 존재한다: alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag는, ChromaArrayType이 0과 동일하면 0과 동일해야 한다.
b. 현재, LMCS APS가 시그널링되면, ChromaArrayType이 0인지 여부(즉, CLVS에 크로마 성분이 없음)에 관계없이 크로마 잔차 스케일링 관련 신택스 요소는 항상 LMCS APS 신택스 구조에서 시그널링된다. 이것은 크로마 관련 신택스 요소의 불필요한 시그널링을 초래한다.
2) 최신 VVC 텍스트의 디블로킹 제어 메커니즘은 매우 복잡하고 간단하지 않고 이해하기 쉽지 않아 오류가 발생하기 쉽다고 주장된다. 다음은 우리가 관찰한 몇 가지 예시적인 문제이다:
a. 현재의 텍스트에 따르면, 디블로킹 필터가 PPS에서 디스에이블되어 있더라도 PH 또는 SH에서는 인에이블될 수 있다. 예를 들어, pps_deblocking_filter_disabled_flag가 처음에 1과 같도록 시그널링되고 deblocking_filter_override_enabled_flag도 1과 같도록 시그널링되면, 이는 디블로킹 필터가 PPS에서 디스에이블되고 또한 디블로킹 필터 인에이블/디스에이블 제어가 PH 또는 SH에서 오버라이드(override)되는 것이 허용된다. 그런 다음 dbf_info_in_ph_flag는 후속적으로 시그널링되고 PH 신택스 요소 ph_deblocking_filter_disabled_flag는 0과 같도록 시그널링될 수 있으며, 이는 궁극적으로 PH와 관련된 슬라이스에 대한 디블로킹 필터를 인에이블한다. 이러한 경우 디블로킹은 상위 레벨(예: PPS)에서 디스에이블되었더라도 결국 PH에서 인에이블된다. 이러한 설계 로직은 VVC 텍스트에서 고유하며, 코딩 툴이 상위 계층(예를 들어, SPS, PPS)에서 디스에이블된 후 하위 계층(예를 들어, PH, SH)에서 완전히 디스에이블될 때 일반적인 다른 코딩 툴(예: ALF, SAO, LMCS, TMVP, WP 등)의 설계 로직과 상당히 다르다.
b. 또한, pps_deblocking_filter_disabled_flag의 현재 정의는, "1과 동일한 pps_deblocking_filter_disabled_flag는 slice_deblocking_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 명시하는 것"과 같다. 그러나, 현재 신택스 테이블에 따르면, pps_deblocking_filter_disabled_flag가 1과 동일하고 slice_deblocking_filter_disabled_flag가 존재하지 않더라도, ph_deblocking_filter_disabled_flag가 존재하고 0과 같도록 시그널링되는 경우에, 디블로킹 필터의 동작이 여전히 적용될 것이다. 따라서 현재 정의 pps_deblocking_filter_disabled_flag가 올바르지 않다.
c. 또한, 현재의 텍스트에 따르면, PPS 신택스 요소 deblocking_filter_override_enabled_flag 및 pps_deblocking_filter_disabled_flag가 모두 1인 경우, 이는 PPS에서 디블로킹이 디스에이블되고 디블로킹 필터의 제어가 PH 또는 SH에서 오버라이드되도록 의도됨을 명시한다. 그러나, 후속 PH 신택스 요소 ph_deblocking_filter_override_flag 및 ph_deblocking_filter_disabled_flag는 여전히 1과 같도록 시그널링될 수 있으며, 결과적인 오버라이드 프로세스는 아무 것도 변경하지 않고(예: PH/SH에서 디블로킹이 디스에이블된 상태로 유지됨) 무의미한 시그널링을 위해 불필요한 비트만 사용하는 것으로 밝혀진다.
d. 또한, 현재의 텍스트에 따르면, SH 신택스 요소 slice_deblocking_filter_override_flag가 존재하지 않으면, 이는 ph_deblocking_filter_override_flag와 동일한 것으로 추론된다. 그러나, PPS의 암시적 또는 명시적 시그널링 외에 디블로킹 파라미터는 dbf_info_in_ph_flag에 따라 PH 또는 SH에서만 시그널링될 수 있으며 둘 다에서 시그널링될 수는 없다. 따라서, dbf_info_in_ph_flag가 참인 경우, 의도는 PH에서 오버라이딩 디블로킹 필터 파라미터를 시그널링하는 것을 허용하는 것이다. 이 경우에, PH 오버라이드 플래그가 참이고 SH 오버라이드 플래그가 시그널링되지 않았지만 PH 오버라이드 플래그와 동일한 것으로 추론된다면, 의도와 충돌하는 SH에서 추가 디블로킹 필터 파라미터가 여전히 시그널링될 것이다.
e. 또한, 추가될 수 있는 SPS-레벨 디블로킹 온/오프 제어가 없으며 PPS/PH/SH의 관련 신택스 요소가 그에 따라 업데이트될 수 있다.
3) 현재, PPS 신택스 요소 single_slice_per_subpic_flag가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. single_slice_per_subpic_flag는 i) no_pic_partition_flag가 1과 동일하고 ii) no_pic_partition_flag가 0과 동일하고 rect_slice_flag가 0과 동일한 두 가지 경우에 존재하지 않는다.
i)의 경우, 1과 동일한 no_pic_partition_flag는 PPS를 참조하는 각 픽처에 픽처 분할이 적용되지 않음을 명시하고, 따라서, 각 픽처에는 단 하나의 슬라이스만 있고 결과적으로 각 픽처에는 하나의 서브픽처만 있고 결과적으로 각 픽처에 단 하나의 서브픽처가 있고 각 서브픽처에 단 하나의 슬라이스가 존재한다. 따라서, 이 경우 single_slice_per_subpic_flag는 1과 동일한 것으로 추론되어야 한다.
ii)의 경우 rect_slice_flag가 0이므로 single_slice_per_subpic_flag의 추론된 값이 필요하지 않다.
4) 현재, 픽처 또는 슬라이스 레벨의 루마 qp 델타는 항상 PH 또는 SH에서 강제적으로 시그널링되고 둘 다에서는 시그널링되지 않는다. 반면에 슬라이스 레벨 크로마 QP 오프셋은 SH에서 선택적으로 시그널링된다. 이러한 설계는 다소 일관성이 없다.
a. 추가적으로, PPS 신택스 요소cu_qp_delta_enabled_flag의 현재 시맨틱은 다음과 같이 표현된다: 1과 동일한 cu_qp_delta_enabled_flag는 ph_cu_qp_delta_subdiv_intra_slice 및 ph_cu_qp_delta_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하고 cu_qp_delta_abs가 변환 유닛 신택스에 존재할 수 있음을 명시한다... 그러나, cu_qp_delta_abs는 팔레트 코딩 신택스에도 존재할 수 있으며, 이는 또한 cu_qp_delta_enabled_flag 에 의해 명시되어야 한다. 즉, cu_qp_delta_enabled_flag의 현재 시맨틱이 충분히 명확하지 않고 약간 혼란스럽다.
5) 크로마 Qp 매핑 테이블의 현재 설계는 크로마 Qp가 루마 Qp와 같은 경우를 표현하기에는 간단하지 않다.
6) 현재, the subpic_treated_as_pic_flag[ i ] \는 sps_independent_subpics_flag의 값과 동일한 것으로 추론된다. 그러나 현재 사양은 subpic_treated_as_pic_flag[ i ]가 0과 같을 때만 수평 랩어라운드(wrap-around)가 인에이블되도록 허용하며, 랩어라운드 모션 보상은 360도 비디오 콘텐츠에 대해 설계되었다. 따라서, 픽처가 단 하나의 서브픽처만 포함한 경우(특히 완전한 360비디오 시퀀스가 하나의 서브픽처만을 포함하는 경우), subpic_treated_as_pic_flag[ i ]에 대한 추론된 값은 0 또는 랩어라운드 모션 보상을 허용하는 특정 값과 같도록 추론될 수 있다.
7) 현재, pps_deblocking_filter_disabled_flag의 시맨틱은 정확하지 않고 불완전하다. 예를 들어, pps_deblocking_filter_disabled_flag가 1과 동일하면, 이 PPS를 참조하는 슬라이스에 대해 디블로킹을 인에이블 또는 디스에이블될 수 있지만, 이러한 조건은 시맨틱에서 언급되지 않는다. 유사하게 pps_deblocking_filter_disabled_flag에 대한 시맨틱의 부분은 0과 같다.
a. 또한, PPS 신택스 요소 pps_deblocking_filter_disabled_flag가 1과 같으면, 그리고, 한편 PH/SH 신택스 요소 ph/slice_deblocking_filter_override_flag가 1과 같도록 시그널링되면, ph/slice_deblocking_filter_disabled_flag는 여전히 1과 동일하도록 명시적으로 시그널링되도록 허용된다. 플래그의 값들의 이 조합이 하는 것은, 디블로킹이 디스에이블된다고 PPS 레벨에서 말하고 픽처 또는 슬라이스에서 오버라이딩되도록 허용된 후, 오버라이드될 것이 PH/SH 레벨에서 지시된 후, 비트가 동일한 헤더(PH/SH)에서 시그널링되어 실제로 오버라이드되지 않고 디블로킹이 픽처/슬라이스 레벨에서 디스에이블된 상태로 유지되는 것으로 최종적으로 결정하는 것이다. 이것은 이중의 바람직하지 않은 효과가 있다고 주장된다. 비트가 불필요하게 소비될 뿐만 아니라 단지 약간의 혼란을 야기하기 위해 소비된다. 따라서 우리는 디블로킹 제어 신택스 요소의 시맨틱을 더 향상하고 오버라이딩을 표시할 수 있는 기능을 제거한 다음 마음의 변화를 나타내기 위해 동일한 PH 또는 SH의 다음 비트를 즉시 보낼 것을 제안한다.
8) 디코딩 순서에서 IRAP 또는 GDR 픽처의 첫 번째 코딩된 슬라이스는 랜덤 액세스 반응을 지연시킬 수 있는 서픽스 APS NAL 유닛을 참조할 수 있다.
9) VVC에서, 일부 애플리케이션을 제한할 수 있는 PU 내의 APS NAL 유닛의 콘텐츠를 업데이트하는 것은 허용되지 않는다.
10) 수정되어야 하는 (예: APS 신택스와 관련된) 현재 VVC 초안 텍스트에 몇 가지 문제/버그가 있는 것으로 관찰되었다.
a. ALF 필터 계수(즉, VVC 텍스트에서 alf_luma_coeff_absalf_chroma_coeff_abs[ altIdx ][ j ])의 절대값은 [0, 128] 범위에 있다. 따라서, 128 및 -128 값을 저장하기 위한 계수를 저장하려면 9비트가 필요하다.
11) 현재 텍스트에서, 허용되는 ALF APS의 총 개수는 8개로 제한되며 각 ALF APS는 약 512바이트를 차지하므로 그 중 8개는 4k 바이트를 차지한다. 상당한 메모리 영향을 감안할 때 APS의 수보다는 사용된 총 메모리(또는 APS의 필터 수 - 하나의 APS에 최대 25개의 루마 및 8개의 크로마 필터가 있음)에 대한 제약을 고려하는 것이 제안되며, 이는 APS에서 사용하는 메모리 양은 그의 내용에 의존하기 때문이다.
12) 현재, APS ID(즉, 신택스 요소 adaptation_parameter_set_id)는 u(5)로 코딩되는 반면, aps_params_type이 ALF_APS 또는 SCALING_APS와 같으면 adaptation_parameter_set_id 의 값은 0에서 7(포함)의 범위에 있어야 하고, aps_params_type이 LMCS_APS와 같으면, adaptation_parameter_set_id 의 값은 0에서 3(포함)의 범위에 있어야 한다. 즉, APS ID에 대해 5비트 대신 3비트를 사용하면 충분하다.
13) 현재, general_constraint_info() 신택스 구조의 일반 제약 플래그는 다른 순서로 파싱된다. 인터 관련 및 인트라 관련 신택스 요소로 그룹화하면 더 구조화된다.
14) 픽처에 대해 인터 슬라이스가 허용되면 픽처 내에서 허용되는 슬라이스 타입(예를 들어, ph_intra_slice_allowed_flag)의 표시는 항상 시그널링된다. 그러나 픽쳐가 하나의 슬라이스만을 포함하는 경우, 인터 슬라이스가 허용된다면 허용된 인트라 슬라이스 플래그를 추가로 시그널링할 필요가 없다.
5. 예시적인 실시예 및 솔루션
상기와 같은 문제점과 언급되지 않은 다른 문제점을 해결하기 위해 아래와 같은 방법을 개시된다. 발명은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하며 좁은 의미로 해석되어서는 안된다. 또한, 이들 발명은 개별적으로 또는 임의의 방식으로 조합하여 적용될 수 있다.
다음 논의에서, SH는 PH와 연관될 수 있다. 즉, SH는 PH와 연관된 픽처에 있는 슬라이스와 연관된다. SH는 PPS와 연관될 수 있으며, 즉 SH는 PPS와 연관된 픽처에 있는 슬라이스와 연관된다. PH는 PPS와 연관될 수 있으며, 즉, PH는 PPS와 연관된 픽처와 연관된다.
다음 논의에서, SPS는 PPS와 연관될 수 있다. 즉, PPS는 SPS를 참조할 수 있다.
다음 논의에서, 변경된 텍스트는 JVET-Q2001-vE의 최신 VVC 텍스트를 기반으로 한다. 추가 또는 수정된 대부분의 관련 부분은 굵은 기울임꼴 로 표시되며 일부 삭제된 부분은 이중 괄호로 표시된다(예: [[a]]는 문자 "a"의 삭제를 나타낸다).
1. 첫 번째 문제를 해결하기 위한 APS 신택스 요소에 대한 제약 조건과 관련하여, 다음 접근 방식 중 하나 이상이 개시된다:
a. 일 예에서, PH 신택스 요소에 의해 도출된 ChromaArrayType에 따라 scaling_list_chroma_present_flag의 값을 제한한다.
i. 예를 들어, scaling_list_chroma_present_flag의 값이 제한되는지의 여부는 실시예의 제1 세트에서처럼 ph_scaling_list_aps_id가 존재하는지의 여부에 의존할 수 있다.
1) 일 예에서, ph_scaling_list_aps_id가 존재하면, SCALING_APS과 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 scaling_list_chroma_present_flag가 ChromaArrayType = = 0 ? 0 : 1과 동일해야 하는 것이 요구된다.
ii. 대안적으로, scaling_list_chroma_present_flag는 PH 신택스 요소에 의해 도출된 ChromaArrayType에 기초하여 제한되지만, 예를 들어 실시예의 제1 세트에서와 같이 ph_scaling_list_aps_id의 존재와 무관하다.
1) 일 예에서, SCALING_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 scaling_list_chroma_present_flag 값은 ChromaArrayType = = 0 ? 0 : 1과 동일해야 한다.
b. 일 예에서, PH 신택스 요소에 의해 도출된 ChromaArrayType에 따라 lmcs_delta_abs_crs의 값을 제한한다.
i. 예를 들어, lmcs_delta_abs_crs의 값이 제한되는지 여부는 예를 들어 제1 실시예 세트에서와 같이 ph_lmcs_aps_id가 존재하는지 여부에 의존할 수 있다.
1) 예를 들어, ph_lmcs_aps_id가 존재하면, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 lmcs_delta_abs_crs의 값은 ChromaArrayType이 0보다 크면 0과 같아야 하고 그렇지 않으면 0보다 커야 한다.
2) 대안적으로, ph_lmcs_aps_id가 존재하면, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 lmcs_delta_abs_crs의 값은 ChromaArrayType이 0이면 0과 같아야 한다.
ii. 대안적으로, lmcs_delta_abs_crs는 PH 신택스 요소에 의해 도출된 ChromaArrayType에 기초하여 제한되지만, 예를 들어 실시예의 제1 세트에서와 같이 ph_lmcs_aps_id의 존재와 무관하다.
1) 예를 들어, ph_lmcs_aps_id와 동일한 APS NAL 유닛의 lmcs_delta_abs_crs 의 값은 ChromaArrayType이 0과 같으면 0과 같고 그렇지 않으면 0보다 커야 한다.
2) 예를 들어, ph_lmcs_aps_id와 동일한 APS NAL 유닛의 lmcs_delta_abs_crs의 값은 ChromaArrayType이 0인 경우 0과 동일해야 한다.
c. 일 예에서, PH 신택스 요소 및/또는 SH 신택스 요소에 의해 도출된 ChromaArrayType에 따라 ALF APS 신택스 요소(예: alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, alf_cc_cr_filter_signal_flag 등)의 값을 제한한다.
i. 예를 들어, 실시예의 제1 세트에서처럼, alf_chroma_filter_signal_flag 및/또는 alf_cc_cb_filter_signal_flag 및/또는 alf_cc_cr_filter_signal_flag의 값이 제한되는지의 여부는 ph_alf_aps_id_luma[ i ] 또는 slice_alf_aps_id_luma[ i ]이 존재하는지 여부 및/또는 ChromaArrayType이 0과 동일한지의 여부에 의존할 수 있다.
1) 예를 들어, ph_alf_aps_id_luma[ i ]가 존재하고 ChromaArrayType이 0과 같을 때, ALF_APS와 같은 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 같은 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag가 모두 0과 같아야 하는 것이 요구된다.
2) 추가적으로, slice_alf_aps_id_luma[ i ]가 존재하고 ChromaArrayType이 1과 동일하면, ALF_APS 와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag의 값이 모두 0과 동일해야 하는 것이 요구된다.
ii. 대안적으로, alf_chroma_filter_signal_flag 및/또는 alf_cc_cb_filter_signal_flag 및/또는 alf_cc_cr_filter_signal_flag는 PH 신택스 요소 or SH 신택스 요소에 의해 도출된 ChromaArrayType에 기초하여 제한되지만, 예를 들어, 실시예의 제1 세트에서처럼, ph_alf_aps_id_luma[ i ] 및/또는 slice_alf_aps_id_luma[ i ]의 존재와 무관하다.
1) 예를 들어, ChromaArrayType이 0과 동일하면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag의 값이 모두 0과 동일해야 하는 것이 요구된다.
2) 추가적으로, ChromaArrayType이 0과 동일하면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag의 값이 모두 0과 동일해야 하는 것이 요구된다.
iii. 대안적으로, 실시예의 제1 세트에서처럼, alf_chroma_filter_signal_flag 및/또는 alf_cc_cb_filter_signal_flag 및/또는 alf_cc_cr_filter_signal_flag는 크로마 APS ID 관련 PH 또는 SH 신택스 요소에 의해 도출된 ChromaArrayType에 기초하여 제한된다.
1) 예를 들어, alf_chroma_filter_signal_flag는 PH 신택스 요소 ph_alf_aps_id_chroma 및/또는 SH 신택스 요소 slice_alf_aps_id_chroma에 의해 도출된 ChromaArrayType에 따라 제한된다.
2) 예를 들어, alf_cc_cb_filter_signal_flag는 PH 신택스 요소 ph_cc_alf_cb_aps_id 및/또는 SH 신택스 요소 slice_cc_alf_cb_aps_id에 의해 도출된 ChromaArrayType에 따라 제한된다.
3) 예를 들어, alf_cc_cr_filter_signal_flag는 PH 신택스 요소 ph_cr_alf_cb_aps_id 및/또는 SH 신택스 요소 slice_cr_alf_cb_aps_id에 의해 도출된 ChromaArrayType에 따라 제한된다.
d. 일 예에서, ALF 및/또는 SCALING LIST 및/또는 LMCS 데이터 신택스 구조의 APS 신택스 요소의 신택스는 4:0:0 비디오 코딩 및/또는 별도의 컬러 평면 코딩인지 여부에 종속되지 않을 수 있다.
i. 예를 들어, ALF 데이터 신택스 구조의 APS 신택스 요소(예를 들어, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, alf_cc_cr_filter_signal_flag, 등)의 시맨틱은, 예를 들어, 실시예의 제1 세트에서처럼, SPS/PH/SH 신택스 요소 (예를 들어, ChromaArrayType)에 의해 도출된 변수/신택스에 의존하지 않을 수 있다.
ii. 추가적으로, 대안적으로, SCALING LIST 데이터 신택스 구조의 APS 신택스 요소(예를 들어,scaling_list_chroma_present_flag, 등)의 시맨틱은, 예를 들어, 실시예의 제1 세트에서처럼, SPS/PH/SH 신택스 요소 (e.g., ChromaArrayType)에 의해 도출된 변수/신택스에 의존하지 않을 수 있다.
e. 추가적으로, ALF/SCALING/LMCS APS NAL 유닛의 temporalId가 제한되는지의 여부는, 실시예의 제1 세트에서처럼, 해당 APS ID가 존재하는지의 여부에 의존할 수 있다.
i. 예를 들어, ALF APS NAL 유닛의 temporalId가 제한되는지의 여부는 ph_alf_aps_id_luma[ i ] 및/또는 ph_alf_aps_id_chroma 및/또는 ph_cc_alf_cb_aps_id 및/또는 ph_cc_alf_cr_aps_id가 존재하는지의 여부에 의존할 수 있다.
ii. 예를 들어, LMCS APS NAL 유닛의 temporalId가 제한되는지의 여부는 ph_lmcs_aps_id가 존재하는지의 여부에 의존할 수 있다.
iii. 예를 들어, SCALING APS NAL 유닛의 temporalId가 제한되는지의 여부는 ph_scaling_list_aps_id가 존재하는지의 여부에 의존할 수 있다.
f. 추가적으로, 예를 들어, 실시예의 제1 세트에서처럼, alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag 및/또는 alf_cc_cb_filter_signal_flag 및/또는 alf_cc_cr_filter_signal_flag의 값이 1과 동일해야 하는지는 해당 APS ID가 존재하는지에 의존할 수 있다.
i. 예를 들어, alf_luma_filter_signal_flag가 1과 동일해야 하는지의 여부는 ph_alf_aps_id_luma[ i ] 및/또는 slice_alf_aps_id_luma[ i ]가 존재하는지의 여부에 의존할 수 있다.
ii. 예를 들어, alf_chroma_filter_signal_flag가 1과 동일해야 하는지의 여부는 ph_alf_aps_id_chroma 및/또는 slice_alf_aps_id_chroma가 존재하는지의 여부에 의존할 수 있다.
iii. 예를 들어, alf_cc_cb_filter_signal_flag가 1과 동일해야 하는지의 여부는 ph_cc_alf_cb_aps_id 및/또는 slice_cc_alf_cb_aps_id가 존재하는지의 여부에 의존할 수 있다.
iv. 예를 들어, alf_cc_cr_filter_signal_flag가 1과 동일해야 하는지의 여부는 ph_cc_alf_cr_aps_id 및/또는 slice_cc_alf_cr_aps_id가 존재하는지의 여부에 의존할 수 있다.
g. 추가적으로, 대안적으로, SH의 크로마 ALF APS ID 신택스 요소 (예를 들어, slice_alf_aps_id_chroma, slice_cc_alf_cb_aps_id, slice_cr_alf_cb_aps_id, 등)가 추론되는지의 여부는, 실시예의 제1 세트에서처럼, ChromaArrayType의 값에 의존할 수 있다.
i. 예를 들어, ChromaArrayType이 0과 동일하면, SH의 크로마 ALF APS ID 신택스 요소 (예를 들어, slice_alf_aps_id_chroma, slice_cc_alf_cb_aps_id, slice_cr_alf_cb_aps_id, 등)의 값이 추론될 수 있다.
h. 일 예에서, ChromaArrayType에 기초한 APS 신택스 요소의 제한은 PH or SH 신택스 요소에 의해 도출될 수 있다.
i. 대안적으로, 크로마 정보 존재의 표시(예를 들어, 크로마 필터가 시그널링되는지, 크로마 스케일링 리스트가 시그널링되는지, LMCS 잔차 스케일링 인자가 0과 동일한지) 등의 APS의 하나 또는 다수의 신택스 요소의 제한은 PH 및/또는 SH 신택스 요소의 신택스에서 정의될 수 있다.
a) 대안적으로, 또한, PH 및/또는 SH 신택스 요소는 APS를 참조할 수 있다.
b) 대안적으로, 또한, 상이한 APS 타입의 동일한 신택스 요소의 제한은 다를 수 있고, 즉, 단방향(예를 들어, 특정 조건이 참이면 제한이 적용됨) 또는 양방향 제한 (예를 들어, 특정 조건이 참이면, 제1 제한이 적용되고, 그렇지 않으면, 제2 제한이 적용됨)이 이용된다.
ii. 일 예에서, the APS in which 신택스 요소가 제한되는 APS는 PH 또는 SH에서 시그널링된 인덱스(ph_num_alf_aps_ids_luma, ph_alf_aps_id_chroma, ph_lmcs_aps_idph_scaling_list_aps_id 등)에 의해 결정된다.
iii. 일 예에서, ChromaArrayType은 SPS에서 시그널링된 정보(예를 들어 chroma_format_idc 및 separate_colour_plane_flag)에 의해 도출될 수 있고, 이는 PPS에서 시그널링된 인덱스(예를 들어 pps_seq_parameter_set_id)에 의해 결정되고, 이는 또한 PH 또는 SH에서 시그널링된 인덱스(예를 들어 ph_pic_parameter_set_id)에 의해 추가로 결정된다.
iv. 일 예에서, 제한은 APS 및 PH 또는 SH를 파싱한 후에 체크되어야 한다.
v. 일 예에서, 신택스 요소 (예를 들어, aps_chroma_present_flag로 명명됨)는 크로마 관련 APS 신택스 요소가 시그널링되는지 여부를 명시하는 APS 신택스 구조(예를 들어, adaptation_parameter_set_rbsp( ))에서 시그널링될 수 있다.
a) 일 예에서, 신택스 요소는 제6 실시예에서와 같이 정의될 수 있다.
b) 대안적으로, 신택스 요소(예를 들어, aps_chroma_present_flag로 명명됨)는 APS에서 다른 신택스 요소의 존재 및/또는 다른 신택스 요소를 시그널링하는 방법 및/또는 다른 신택스 요소의 추론된 값을 도출하는 방법을 제어하는 데 사용될 수 있다.
c) 예를 들어, 특정 값(예: 1)과 동일한 aps_chroma_present_flag는 크로마 관련 APS 신택스 요소가 LMCS/SCALING/ALF APS 데이터에 존재할 수 있음을 명시한다.
d) 예를 들어, 특정 값(예를 들어 0)과 동일한 aps_chroma_present_flag는 크로마 관련 APS 신택스 요소가 LMCS/SCALING/ALF APS 데이터에 존재하지 않음을 명시한다.
e) 예를 들어, 1과 동일한 aps_chroma_params_present_flag는 APS NAL 유닛이 크로마 정보를 포함할 수 있음을 명시한다. 0과 동일한 aps_chroma_params_present_flag는 APS NAL 유닛이 크로마 정보를 포함하지 않는다는 것을 명시한다.
f) 예를 들어, aps_chroma_present_flag가 특정 값(예를 들어 0 또는 1)과 같으면, ALF APS 신택스 구조 내의 크로마 관련 APS 신택스 요소 (예를 들어, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag in the alf_data())는 시그널링되지 않을 수 있다.
g) 예를 들어, aps_chroma_present_flag가 특정 값(예: 0 또는 1)과 같으면, LMCS APS 신택스 구조의 크로마 관련 APS 신택스 요소(예: lmcs_data()의 lmcs_delta_abs_crs 및/또는 lmcs_delta_sign_crs_flag)는 시그널링되지 않을 수 있다.
h) 예를 들어, aps_chroma_present_flag가 특정 값(예: 0 또는 1)과 같으면, SCALING APS 신택스 구조의 크로마 관련 APS 신택스 요소(예: scaling_data()의 scaling_list_copy_mode_flag[ id ], scaling_list_pred_id_delta[ id ], scaling_list_dc_coef[ id - 14 ], scaling_list_delta_coef[ id ][ i ])는 시그널링되지 않을 수 있으며, 여기서 id는 숫자이다.
a. 예를 들어, id는 0에서 X(포함)의 범위의 일부 값과 동일하다 (예를 들어 X=27).
b. 예를 들어, id는 X와 동일하지 않다 (예를 들어 X=27).
c. 예를 들어, id % M가  N과 동일하지 않다 (예를 들어, M=3, N=2). 
i) 예를 들어, 크로마 관련 APS 신택스 요소가 존재하지 않는 경우, 특정 값(예: 0 또는 1)과 동일한 것으로 추론된다.
vi. 일 예에서, 크로마 관련 APS 신택스 요소가 존재하도록 허용되는 경우(예: aps_chroma_present_flag가 1과 동일), alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag 및 alf_cc_cr_filter_signal_flag 중 적어도 하나는 1과 동일해야 한다.
vii. 대안적으로, 크로마 관련 APS 신택스 요소가 존재하도록 허용되는 경우(예를 들어, aps_chroma_present_flag는 1과 동일), 신택스 요소 X의 시그널링은 Y 세트의 신택스 요소의 값에 의존할 수 있다.
a) 예를 들어, X는 alf_chroma_filter_signal_flag이고, Y는 alf_cc_cb_filter_signal_flag 및 alf_cc_cr_filter_signal_flag를 포함한다.
b) 예를 들어, X는 alf_cc_cb_filter_signal_flag이고, Y는 alf_chroma_filter_signal_flag 및 alf_cc_cr_filter_signal_flag를 포함한다.
c) 예를 들어, X는 alf_cc_cr_filter_signal_flag이고, Y는 alf_chroma_filter_signal_flag 및 alf_cc_cb_filter_signal_flag를 포함한다.
d) 예를 들어, Y의 요소 값이 0이면, A의 시그널링은 스킵된다.
e) 예를 들어, X 값은, 존재하지 않으면, 특정 값(예: 0 또는 1)과 동일한 것으로 추론된다.
f) 예를 들어, X의 값은 크로마 관련 APS 신택스 요소가 존재하도록 허용되는지 여부와 동일한 것으로 추론된다 (예를 들어, aps_chroma_present_flag의 값으로 설정됨).
viii. 추가적으로, 신택스 요소 aps_chroma_present_flag 는 ChromaArrayType에 의해 제한될 수 있다.
a) 예를 들어, aps_chroma_present_flag는 ChromaArrayType이 0과 같으면 0과 같아야 한다.
b) 예를 들어, aps_chroma_present_flag는 ChromaArrayType이 0보다 크면 1과 같아야 한다.
ix. 추가적으로, ChromaArrayType에 기초한 제한은 PH or SH 신택스 요소에 의해 도출될 수 있다.
a) 일 예에서, ChromaArrayType에 기초한 제한은 제6 실시예에서처럼 정의될 수 있다.
b) 예를 들어, 신택스 요소 aps_chroma_present_flag ChromaArrayType 및 APS의 타입 (예를 들어 ALF APS, SCALING APS 또는 LMCS APS)에 따라 제한될 수 있다.
c) 대안적으로, the value of ChromaArrayType의 값은 신택스 요소 aps_chroma_present_flag 및/또는 APS의 타입에 따라 제한될 수 있다.
d) 일 예에서, ALF_APS와 동일한 aps_params_type 및 ph/slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 aps_chroma_present_flag의 값은 chromaArrayType이 0이면 0과 동일해야 하는 것이 요구된다.
a. 추가적으로, 대안적으로, ALF_APS와 동일한 aps_params_type 및 ph/slice_alf_aps_id_chroma (및/또는 ph_cc_alf_cb_aps_id 및/또는 ph_cc_alf_cr_aps_id )와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 aps_chroma_present_flag 의 값은 chromaArrayType이 0보다 클 때 1과 동일해야 하는 것이 요구된다.
e) 일 예에서, SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_present_flag 값은 chromaArrayType이 0일 때 0과 동일해야 하는 것이 요구된다.
a. 추가적으로, 대안적으로, SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_present_flag 의 값은 chromaArrayType이 0보다 클 때 1과 동일해야 하는 것이 요구된다.
f) 일 예에서, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 을 갖는 APS NAL 유닛의 aps_chroma_present_flag 의 값은 hromaArrayType이 0과 동일할 때 0과 동일해야 하는 것이 요구된다 .
x. 추가적으로, 대안적으로, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_present_flag 의 값은 chromaArrayType이 0 보다 클 때 1과 동일해야 하는 것이 요구된다. 추가적으로, ChromaArrayType에 기초한 제한은 PH 신택스 요소 또는 SH 신택스 요소에 의해 도출될 수 있지만, PH/SH의 APS ID의 존재와는 무관하다. 
a) 일 예에서, SCALING_APS 및/또는 ALF_APS 및/또는 LMCS APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 aps_chroma_present_flag 의 값은 chromaArrayType이 0과 동일할 때 0과 동일해야 하는 것이 요구된다.
b) 추가적으로, 대안적으로, SCALING_APS APS 및/또는 ALF_APS 및/또는 LMCS APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 aps_chroma_present_flag 의 값은 chromaArrayType이 0보다 클 때 1과 동일해야 하는 것이 요구된다.
2. 제2 문제를 해결하기 위한 디블로킹 제어의 시그널링과 관련하여, 예를 들어, 제2 실시예 세트에서와 같이 다음 접근법 중 하나 이상이 개시된다:
a. 일 예에서, N-비트(예: N=2) 디블로킹 모드 지시자(예: deblocking_filter_mode_idc로 명명됨)가 시그널링된다.
i. 일 예에서, 신택스 요소 deblocking_filter_mode_idc는 u(2) 코딩된다.
a) 대안적으로, the parsing process of deblocking_filter_mode_idc의 파싱 프로세스는 N (예를 들어, N=2) 비트를 갖는 무부호 정수이다.
ii. 일 예에서, 신택스 요소 deblocking_filter_mode_idc는 PPS에서 시그널링된다.
iii. 일 예에서, 신택스 요소 deblocking_filter_mode_idc는 다음 4개의 모드, 즉, a) 완전히 디스에이블되고 모든 슬라이스에 대하여 사용되지 않는 디블로킹, b) 0값
Figure pct00066
및 tC 오프셋을 이용한 모든 슬라이스에 사용되는 디블로킹, c) PPS에서 명시적으로 시그널링되는
Figure pct00067
및 tC 오프셋에 사용되는 디블로킹 및 d) 픽처 또는 슬라이스 레벨에서 더 제어되는 디블로킹을 특정하는데 사용된다.
b. 신택스 플래그 ph/slice_deblocking_filter_used_flag는 PH 또는 SH에서 시그널링되어 현재 픽처/슬라이스에 대해 디블록킹이 사용되는지 여부를 명시한다.
c. 신택스 플래그 ph/slice_deblocking_parameters_override_flag는 PH 또는 SH에서 시그널링되어
Figure pct00068
및 tC 오프셋이 PH/SH에서 시그널링된 값에 의해 오버라이드되는지의 여부를 명시한다.
i. 추가적으로, 존재하지 않으면, slice_deblocking_parameters_override_flag의 값은 0과 동일하게 추론된다.
d. 일 예에서, 디블로킹 제어(예를 들어, 인에이블 플래그, 디스에이블 플래그, 제어 플래그, 디블로킹 모드 지시자, 디블로킹 필터 베타/tc 파라미터 등)를 명시하는 신택스 요소는 SPS에서 시그널링될 수 있다.
i. 일 예에서, 비디오 유닛(예를 들어, CLVS)에서 디블로킹이 인에이블되는지 여부를 명시하는 하나 이상의 신택스 요소가 SPS에서 시그널링될 수 있다.
ii. 추가적으로, SPS에서 디블로킹이 디스에이블되면, PPS/PH/SH 레벨에서 디블록킹 온/오프 제어에 관한 PPS/PH/SH의 신택스 요소는 디블로킹이 완전히 디스에이블되고 모든 슬라이스에 대하여 사용되지 않음을 명시하는 특정 값과 동일해야 하는 것이 요구된다.
iii. 일 예에서, 디블로킹 필터 제어 존재 플래그는 SPS에서 시그널링될 수 있다.
iv. 예를 들어, N-비트(예: N=2) 디블로킹 모드 지시자(예를 들어, deblocking_filter_mode_idc로 명명됨)가 SPS에서 시그널링될 수 있다.
v. 예를 들어, 베타/tc 디블로킹 파라미터가 SPS에서 시그널링될 수 있다.
vi. 예를 들어, 0-값 베타/tc 디블로킹 파라미터로 디블로킹이 인에이블되었는지는 SPS 신택스 요소에 의존할 수 있다.
vii. 예를 들어, 디블로킹은 SPS/PPS/PH/SH 레벨에서 적용될 수 있고 SPS에서 시그널링된 베타/tc 디블로킹 파라미터를 사용할 수 있다.
viii. 예를 들어, 디블로킹은 SPS/PPS/PH/SH 레벨에서 적용될 수 있고 SPS에서 시그널링되는 0값 디블로킹 파라미터를 사용할 수 있다.
3. 제3 문제를 해결하기 위한 PPS 신택스 구성 single_slice_per_subpic_flag의 추론과 관련하여 다음 접근법 중의 하나 이상이 개시된다:
a. 일 예에서, no_pic_partition_flag가 1과 같을 때 single_slice_per_subpic_flag가 1과 같도록 추론된다. 예를 들어 single_slice_per_subpic_flag의 시맨틱은 다음과 같이 변경된다:
1과 동일한 single_slice_per_subpic_flag 는 각 서브픽처가 하나 및 하나뿐인 직사각형 슬라이스로 구성되는 것을 명시한다. 0과 동일한 single_slice_per_subpic_flag는 각각의 서브픽처가 하나 이상의 직사각형 슬라이스로 구성되는 것을 명시한다. no_pic_partition_flag가 1과 동일하면 [[존재하지 않으면]], single_slice_per_subpic_flag의 값은 [[0]] 1 과 동일한 것으로 추론된다.
4. 제4 문제를 해결하기 위한 픽처 또는 슬라이스 QP 델타 시그널링과 관련하여 다음 접근법 중 하나 이상이 개시된다:
a. 일 예에서, 픽처 또는 슬라이스 레벨 크로마 QP 오프셋은 항상 PH 또는 SH에서 시그널링된다.
i. 예를 들어, 비디오 콘텐츠에 크로마 성분이 있는 경우(예: ChromaArrayType이 0과 같지 않음), PPS(예: pps_slice_chroma_qp_offsets_present_flag)에서 시그널링된 존재 플래그에 대한 조건 없이 픽처 또는 슬라이스 레벨 크로마 QP 오프셋이 항상 시그널링될 수 있다.
ii. 대안적으로, 비디오 콘텐츠에 크로마 성분이 있는 경우(예: ChromaArrayType이 0이 아닌 경우), slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소는 PPS 존재 플래그(예: pps_slice_chroma_qp_offsets_present_flag)에 관계없이 연관된 슬라이스 헤더에 항상 존재할 수 있다.
iii. 추가적으로, slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소의 존재를 명시하는 존재 플래그(예: pps_slice_chroma_qp_offsets_present_flag)는 시그널링되지 않을 수 있다.
b. 일 예에서, pps_cu_qp_delta_enabled_flag는 변환 유닛 신택스와 팔레트 코딩 신택스 모두에서 cu_qp_delta_abs 및 cu_qp_delta_sign_flag의 존재를 명시하는 데 사용될 수 있으며 pps_cu_qp_delta_enabled_flag의 시맨틱은 다음과 같이 변경된다:
1과 동일한 pps_cu_qp_delta_enabled_flag는 ph_cu_qp_delta_subdiv_intra_slice 및 ph_cu_qp_delta_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하고, cu_qp_delta_abs 및 cu_qp_delta_sign_flag 신택스 요소 는 변환 유닛 신택스 및 팔레트 코딩 신택스에 존재할 수 있음을 명시한다. 0과 동일한 pps_cu_qp_delta_enabled_flag는 ph_cu_qp_delta_subdiv_intra_slice 및 ph_cu_qp_delta_subdiv_inter_slice 신택스 요소가 PPS를 참조하는 PH에 존재하지 않고, cu_qp_delta_abs 및 cu_qp_delta_abs 및 cu_qp_delta_sign_flag syntax elements 가 변환 유닛 신택스 또는 팔레트 코딩 신택스에 존재하지 않음을 명시한다.
c. 일 예에서, 루마 QP 델타는 PH 및 SH 모두에서 시그널링될 수 있다.
i. 예를 들어, 루마 QP 델타 존재 플래그는 PPS 및/또는 PH, 및/또는 SH에서 시그널링될 수 있다.
ii. 예를 들어, 루마 QP 델타가 PH/SH에서 시그널링되는지 여부는 PPS 및/또는 PH/SH의 존재 플래그에 의존한다.
iii. 예를 들어, PH 루마 QP 델타 및 SH 루마 QP 델타의 값은 가산될 수 있고 SliceQpY. 등의 루마 양자화 파라미터를 산출하는데 사용될 수 있다.
d. 일 예에서, 크로마 QP 오프셋은 PH 및 SH 모두에서 시그널링될 수 있다
i. 예를 들어, 크로마 QP 오프셋 존재 플래그는 PPS 및/또는 PH, 및/또는 SH에서 시그널링될 수 있다.
ii. 예를 들어, 크로마 QP 오프셋이 PH/SH에서 시그널링되는지 여부는 PPS 및/또는 PH/SH의 존재 플래그에 의존한다.
iii. 예를 들어, PH 크로마 QP 오프셋 및 SH 크로마 QP 오프셋의 값은 가산되고 Cb 및 Cr 성분에 대한 크로마 양자화 파라미터를 도출하는데 사용될 수 있다.
5. 크로마 Qp 매핑 테이블에 관하여, 다음의 접근법 중의 하나 이상이 개시된다:
a. 일 예에서, 크로마 QP 테이블의 도출 과정에서, XOR 연산자는, 예를 들어, 실시예의 제3 세트에서처럼 (delta_qp_in_val_minus1[ i ][ j ] + 1)와 delta_qp_diff_val[ i ][ j ] 사이에서 수행되어야 한다.
b. sps_ multiple_sets_of_chroma_qp_table_present_flag의 플래그를 갖는 것이 제안된다.
i. sps_multiple_sets_of_chroma_qp_table_present_flag가 0과 동일하면, 크로마 Qp 매핑 테이블의 한 세트만 시그널링될 수 있다.
ii. sps_multiple_sets_of_chroma_qp_table_present_flag가 1과 동일하면, 하나 이상의 크로마 Qp 매핑 테이블 세트가 시그널링되는 것이 허용된다.
c. B/P 슬라이스가 없는 시퀀스에 대해 둘 이상의 크로마 Qp 매핑 테이블 세트가 시그널링되는 것이 허용되지 않을 수 있다.
6. 제6 문제를 해결하기 위한 sps_independent_subpics_flag 및 subpic_treated_as_pic_flag[ i ]에 관하여, 다음의 접근법 중의 하나 이상이 개시된다:
a. 일 예에서, sps_independent_subpics_flag의 존재는 서브픽처의 수가 1보다 큰지 여부에 의존한다.
i. 예를 들어, 서브픽처의 수가 1보다 큰 경우에만(예를 들어, (sps_num_subpics_minus1 > 0)인 경우), sps_independent_subpics_flag가 시그널링된다.
ii. 예를 들어, 서브픽쳐의 수가 1인 경우(예를 들어, (sps_num_subpics_minus1 == 0)인 경우), sps_independent_subpics_flag의 시그널링은 스킵된다.
b. 추가적으로, sps_independent_subpics_flag가 존재하지 않으면, 특정 값(예: 0 또는 1)과 동일한 것으로 추론된다.
c. 일 예에서, subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, 특정 값(예: 0 또는 1)과 동일한 것으로 추론된다.
d. 일 예에서, subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, 랩어라운드 모션 보상이 인에이블되는(또는 사용될 수 있는) 특정 값과 동일한 것으로 추론된다.
i. 추가적으로, subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, 수평 랩-어라운드 모션 보상이 인에이블되는 (또는 사용될 수 있는) 특정 값과 동일한 것으로 추론된다.
e. 일 예에서, subpic_treated_as_pic_flag[ i ]의 추론된 값은 픽처가 하나의 서브픽처로만 구성되는지 및/또는 서브픽처가 픽처와 동일한 폭을 갖는지 여부에 의존할 수 있다.
i. 일 예에서, 서브픽쳐가 픽쳐와 동일한 폭을 갖는다면, subpic_treated_as_pic_flag[ i ]는 X로 추론될 수 있다(예를 들어, X=0).
f. 일 예에서, sps_independent_subpics_flag가 없으면, sps_independent_subpics_flag가 유추되는 값은 다른 신택스 요소(들)이나 변수(들)에 의존할 수 있다.
i. 예를 들어, 추론된 값은 서브픽처 정보가 존재하는지 여부에 의존할 수 있다(예를 들어, subpic_info_present_flag가 0 또는 1과 동일함).
ii. 예를 들어, subpic_info_present_flag가 0과 동일하고 sps_independent_subpics_flag가 존재하지 않으면, 그것은 특정 값(0 또는 1과 같은)과 동일한 것으로 추론된다.
iii. 예를 들어, subpic_info_present_flag가 1과 동일하고 sps_independent_subpics_flag가 존재하지 않으면, 특정 값(예: 0 또는 1)과 동일한 것으로 추론된다.
g. 일 예에서, subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, subpic_treated_as_pic_flag[ i ]가 추론되는 값은 서브픽처 정보의 존재(예를 들어, subpic_info_present_flag) 및/또는 CLVS의 서브픽처의 수(예를 들어, sps_minus_subpics) 및/또는 sps_independent_subpics_flag에 의존할 수 있다.
i. 일 예에서, subpic_info_present_flag가 0과 동일하고 subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, subpic_treated_as_pic_flag[ i ]의 값은 특정 값(예를 들어, 0)과 동일한 것으로 추론된다.
ii. 일 예에서, subpic_info_present_flag가 1과 동일하고 subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, subpic_treated_as_pic_flag[ i ]의 값은 특정 값(예를 들어 1)과 동일한 것으로 추론된다.
iii. 일 예에서, subpic_info_present_flag가 1과 동일하고 sps_num_subpics_minus1이 0과 동일하고 subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, subpic_treated_as_pic_flag[ i ]의 값은 특정 값(예를 들어 0 또는 1)과 동일한 것으로 추론된다.
iv. 일 예에서, subpic_info_present_flag가 1과 동일하고, sps_num_subpics_minus1이 0보다 크고, sps_independent_subpics_flag가 1과 같으며, subpic_treated_as_pic_flag[ i ]가 존재하지 않으면, subpic_treated_as_pic_flag[ i ]의 값은 특정 값(예를 들어 0 또는 1)과 동일한 것으로 추론된다.
7. 인터 예측 프로세스 동안 경계에 대하여 패딩 또는 클리핑을 수행하는 방법은 경계 타입, 랩 어라운드 패딩 또는 클리핑 표시(예: pps_ref_wraparound_enabled_flag, sps_ref_wraparound_enabled_flag 등) 및 서브픽처 경계를 픽처 경계로 취급하는 것의 표시 (예: subpic_treated_as_pic_flag[ i ])의 결합된 체킹에 의존할 수 있다.
a. 예를 들어, 경계가 픽처 경계인 경우, 랩 어라운드 패딩의 표시가 참이고, 서브 픽처 경계를 픽처 경계로 취급하는 지시를 고려하지 않고 랩 어라운드 패딩(또는 랩 어라운드 클리핑)이 적용될 수 있다.
i. 일 예에서, 경계는 수직 경계이어야 한다.
b. 예를 들어, 두 개의 수직 경계가 모두 픽처 경계인 경우, 랩 어라운드 패딩의 표시가 참이고, 서브픽쳐 경계를 픽처 경계로 처리하는 표시를 고려하지 않고 랩 어라운드 패딩(또는 랩 어라운드 클리핑)이 적용될 수 있다.
c. 일 예에서, 위의 랩 어라운드 패딩(또는 랩 어라운드 클리핑)은 수평 랩 어라운드 패딩/클리핑을 나타낼 수 있다.
8. 일 예에서, 랩 어라운드 패딩 또는 클리핑에 대한 다른 표시는 다른 서브픽처에 대해 시그널링될 수 있다.
9. 일 예에서, 랩 어라운드 패딩 또는 클리핑에 대한 다른 오프셋은 다른 서브픽처에 대해 시그널링될 수 있다.
10. PH/SH에서, 변수 X는 B 슬라이스가 픽처/슬라이스에서 허용/사용되는지 여부를 나타내는 데 사용되며, 변수는 다음 방법 중 하나를 사용하여 도출될 수 있다: a) ( rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 0 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 ); b) ( rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 ); c) ( rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 ); d) ( rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 ); e) NumRefIdxActive (예를 들어, VVC 텍스트에서 K(예를 들어, K=0)보다 큰 리스트 1에 대한 NumRefIdxActive)에 기초하여; f) 리스트 1에 대한 허용되는 참조 픽처의 수에 기초하여.
1) 대안적으로, 또한, 시그널링 및/또는 시맨틱 및/또는 PH에서 시그널링된 하나 또는 다수의 신택스 요소의 추론은 변수에 따라 수정될 수 있다.
i. 일 예에서, 하나 또는 다수의 신택스 요소는 양 예측 또는 혼합된 인트라 및 인터 코딩, 또는 다수 예측 블록으로부터 선형/비선형 가중을 사용한 예측과 같은 하나 이상의 예측 신호를 필요로 하는 코딩 툴을 가능하게 하기 위한 것들이다.
ii. 일 예에서, 하나 또는 다수의 신택스 요소는, 제한되지 않지만, 다음을 포함할 수 있다:
a) ph_collocated_from_l0_flag
b) mvd_l1_zero_flag
c) ph_disable_bdof_flag
d) ph_disable_dmvr_flag
e) num_l1_weights
iii. 일 예에서, 픽처가 하나 이상의 B 슬라이스를 포함할 수 있음을 변수가 나타내는 경우에만, 하나 또는 다수의 신택스 요소가 시그널링될 수 있다. 그렇지 않으면 시그널링은 스킵되고 신택스 요소의 값이 추론된다.
a) 대안적으로, 또한, 하나 이상의 신택스 요소에 신호를 보낼지 여부는 (X는 참 또는 1)과 같이 글머리 기호 1.1) 및 2.1)의 제1 신택스 요소에 의존할 수 있다.
b) ph_disable_bdof_flag는 (sps_bdof_pic_present_flag && X)가 참인 경우에만 시그널링될 수 있다
c) ph_disable_dmvr_flag는 (sps_dmvr_pic_present_flag && X )가 참인 경우에만 시그널링될 수 있다.
iv. 일 예에서, X가 0(또는 거짓)일 때 mvd_l1_zero_flag는 시그널링되지 않고 그 값은 1로 추론된다.
v. 일 예에서, 하나 또는 다수의 신택스 요소의 추론은 제1 신택스 요소의 값에 의존한다.
a) 일 예에서, ph_disable_bdof_flag에 대하여, 다음이 적용된다:
- sps_bdof_enabled_flag가 1과 동일하고 X가 1(또는 참)과 동일하면, ph_disable_bdof_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_bdof_enabled_flag가 0과 동일하거나 X가 0(또는 거짓)과 동일하면, ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
b) 일 예에서, ph_disable_dmvr_flag에 대하여, 다음이 적용된다:
- sps_dmvr_enabled_flag가 1과 동일하고 X가 1(또는 참)과 동일하면, ph_disable_dmvr_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_dmvr_enabled_flag가 is 0 과 동일하거나 X가 0과 동일하면 (또는 거짓) ), ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
c) 일 예에서, ph_temporal_mvp_enabled_flag 및 rpl_info_in_ph_flag가 모두 1과 동일하고 X가 0(또는 거짓)과 동일하면, ph_collocated_from_l0_flag의 값은 1과 동일한 것으로 추론된다.
d) 일 예에서, X가 0(또는 거짓)과 동일하면, num_l1_weights는 시그널링되지 않고 그 값은 0으로 추론되고, 결과적으로, 참조 픽처 리스트 1에 대한 가중 예측 파라미터는 픽처의 PH 또는 SH에서 시그널링되지 않는다.
11. 픽처를 타일/슬라이스/서브픽처(PPS의 no_pic_partition_flag와 같은)로 분할할지 여부에 대한 표시의 시그널링은 픽처의 CTB 수에 따라 조절될 수 있다고 제안된다.
2) 일 예에서, no_pic_partition_flag 는 픽처의 CTU 수가 1과 같으면(또는 2보다 작은 경우) 시그널링되지 않는다.
3) 대안적으로, 픽처의 CTU 수가 1과 같으면(또는 2보다 작으면) no_pic_partition_flag 가 0과 동일해야 하는 것으로 제한된다.
12. 제7 문제를 해결하기 위한 디블로킹의 신택스 및 시맨틱의 개선에 대하여, 제4 실시예에서처럼, 다음의 접근법 중의 하나 이상이 개시된다:
a. PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 디스에이블(또는 인에이블)되는지 여부는 PPS에서 시그널링된 디블로킹 신택스(예: pps_deblocking_filter_disabled_flag)과 픽처 또는 슬라이스 레벨에서 시그널링된 디블로킹 신택스 요소 모두에 의존한다.
i. 일 예에서, 1과 동일한 pps_deblocking_filter_disabled_flag는 픽처 또는 슬라이스 레벨에서 달리 표시되지 않는 한 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 디스에이블됨을 명시한다.
ii. 일 예에서, 0과 동일한 pps_deblocking_filter_disabled_flag는 픽처 또는 슬라이스 레벨에서 달리 표시되지 않는 한 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 인에이블됨을 명시한다.
b. 존재하지 않으면, slice_deblocking_filter_override_flag가 0과 같도록 추론된다.
c. PPS에서 디블로킹 필터가 디스에이블되고 PH/SH에서 오버라이드될 경우 PH/SH에서 디블록킹 온/오프 제어 플래그의 시그널링을 스킵한다.
i. 일 예에서, PH(예: ph_deblocking_filter_disabled_flag)에서 디블로킹 온/오프 제어 플래그를 시그널링할지 여부는 디블로킹이 PPS에서 디스에이블되었는지 여부(예: pps_deblocking_filter_disabled_flag의 값이 1인지 여부) 및/또는 PH의 오버라이드 플래그(예를 들어, ph_deblocking_filter_override_flag가 1과 같거나 같지 않음)에 의존할 수 있다.
a) 예를 들어, pps_deblocking_filter_disabled_flag 및 ph_deblocking_filter_override_flag가 1이면, ph_deblocking_filter_disabled_flag의 시그널링은 스킵될 수 있다.
b) 대안적으로, deblocking_filter_override_enabled_flag 및 pps_deblocking_filter_disabled_flag 및 ph_deblocking_filter_override_flag가 1이면, ph_deblocking_filter_disabled_flag의 시그널링은 스킵될 수 있다.
ii. 추가적으로, ph_deblocking_filter_disabled_flag가 존재하지 않으면, 다음과 같이 추론될 수 있다:
a) deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabled_flag 및 ph_deblocking_filter_override_flag가 모두 1과 동일하면, ph_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
b) 그렇지 않으면, ph_deblocking_filter_disabled_flag의 값은 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
iii. 추가적으로, 대안적으로, ph_deblocking_filter_disabled_flag가 존재하지 않으면, 다음과 같이 추론된다:
a) pps_deblocking_filter_disabled_flag 및 ph_deblocking_filter_override_flag가 모두 1과 동일하면, ph_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
b) 그렇지 않으면, ph_deblocking_filter_disabled_flag의 값은 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
iv. 일 예에서, SH(예를 들어, slice_deblocking_filter_disabled_flag)에서 디블로킹 온/오프 제어 플래그를 시그널링할지 여부는 디블로킹이 PPS에서 디스에이블되었는지 여부(예를 들어, pps_deblocking_filter_disabled_flag의 값이 1과 같은지 여부) 및/또는 SH의 오버라이드 플래그(예를 들어, slice_deblocking_filter_override_flag가 1과 같거나 같지 않음)에 의존할 수 있다.
a) 일 예에서, deblocking_filter_override_enabled_flag 및 pps_deblocking_filter_disabled_flag 및 slice_deblocking_filter_override_flag가 1과 동일하면, slice_deblocking_filter_disabled_flag의 시그널링은 스킵될 수 있다.
b) 대안적으로, pps_deblocking_filter_disabled_flag 및 slice_deblocking_filter_override_flag가 1과 동일하면, slice_deblocking_filter_disabled_flag의 시그널링은 스킵될 수 있다.
v. 추가적으로, slice_deblocking_filter_disabled_flag가 존재하지 않으면, 다음과 같이 추론될 수 있다:
a) deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabled_flag 및 slice_deblocking_filter_override_flag가 모두 1과 동일하면, slice_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
b) 그렇지 않으면, slice_deblocking_filter_disabled_flag의 값은 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
vi. 추가적으로, 대안적으로, slice_deblocking_filter_disabled_flag가 존재하지 않으면, 다음과 같이 추론될 수 있다:
a) pps_deblocking_filter_disabled_flag and slice_deblocking_filter_override_flag가 모두 1과 동일하면, slice_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
b) 그렇지 않으면, slice_deblocking_filter_disabled_flag의 값은 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
13. sps_ibc_enabled_flag가 1과 동일하고 블록 크기가 64x64보다 작지 않으면, cu_skip_flag를 스킵될 수 있다고 제안한다.
a. 일 예는 제5 실시예에 도시된다.
14. 크로마 필터링 정보(예를 들어, 크로마 ALF, CC-ALF)가 존재하는지 여부를 나타내기 위해 ALF APS에 제1 신택스 요소(SE)가 추가될 수 있고, 다른 신택스 요소의 시그널링은 제1 SE의 값에 기초할 수 있다.
a. 일 예에서, 제1 SE(예를 들어, 실시예 #6의 aps_chroma_present_flag)가 크로마 필터링 정보가 존재하지 않음을 나타내면, 루마 필터 정보의 표시(예를 들어, alf_luma_filter_signal_flag)의 시그널링은 스킵된다.
i. 대안적으로, 또한, 루마 필터 정보(예를 들어, alf_luma_filter_signal_flag)의 표시는 참으로 추론된다.
b. 일 예에서, 제1 SE(예: 실시예 #6의 aps_chroma_present_flag)가 크로마 필터링 정보가 존재함을 나타내면, 크로마 필터 정보(예: alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, alf_signal_flag)의 표시 중 적어도 하나가 참인 제약이 충족되어야 한다.
15. 위의 예에서, CC-ALF 필터링 존재 정보의 표시는 두 개의 신택스 요소(예: alf_cc_cb_filter_signal_flag, alf_cc_cr_filter_signal_flag)에서 신택스(이는 넌-바이너리 값, 예를 들어 alf_cc_filter_idc일 수 있음)로 대체될 수 있다.
16. 디코딩 순서에서 IRAP 또는 GDR 픽처의 제1 코딩된 슬라이스는 서픽스 APS NAL 유닛을 참조하지 않아야 하는 것이 적합성 비트스트림에서 요구된다.
a. 예를 들어, 디코딩 순서에서 코딩된 픽처의 제1 코딩된 슬라이스 firstSlice가 IDR_W_RADL, IDR_N_LP, CRA_NUT 또는 GDR_NUT와 동일한 nal_unit_type을 가지면, firstSlice는 서픽스 APS NAL 유닛을 참조하지 않아야 한다.
17. PU 내의 APS NAL 유닛의 콘텐츠 업데이트를 허용하지 않는 제약은 특정 APS NAL 유닛을 제외할 수 있다.
a. 예를 들어, 프리픽스 또는 서픽스 APS NAL 유닛인지와 관계없이, 디코딩 순서에서 PU의 마지막 VCL NAL 유닛과 연관된 서픽스 APS NAL 유닛을 제외한, PU 내의 adaptation_parameter_set_id의 특정값과 aps_params_type의 특정값을 갖는 모든 APS NAL 유닛은 동일한 컨텐츠를 가져야 한다는 것이 적합성 비트스트림에서 요구된다.
b. 대안적으로, 디코딩 순서에서 PU의 마지막 VCL NAL 유닛과 연관된 서픽스 APS NAL 유닛을 제외한, PU 내의 nal_unit_type, adaptation_parameter_set_id의 특정 값과 and a particular value of aps_params_type의 특정값을 갖는 모든 APS NAL 유닛이 동일한 컨텐츠를 가져야 하는 것이 적합성 비트스트림에서 요구된다.
18. 일 예에서, "APS NAL 유닛의 컨텐츠"는 adaptation_parameter_set_id 및 aps_params_type을 제외한 APS RBSP의 비트를 의미한다.
a. 일 예에서, SUFFIX APS NAL 유닛이 PU에 존재하면, PU의 마지막 VCL NAL 유닛을 진행하지 않는다.
19. SUFFIX APS NAL 유닛이 PU에 존재하면, PU의 마지막 VCL NAL 유닛을 진행하지 않아야 하는 것이 적합성 비트스트림에서 요구된다.
20. 두 APS NAL 유닛 사이에 VCL NAL 유닛이 없으면, adaptation_parameter_set_id의 특정값 및 aps_params_type의 특정값을 갖는 두 개의 APS NAL 유닛은 프리픽스 또는 서픽스 APS NAL 유닛인지 여부에 관계없이 동일한 컨텐츠를 가져야 하는 것이 적합성 비트스트림에서 요구된다.
21. 제10 문제를 해결하기 위한 현재 초안 텍스트의 문제의 수정과 관련하여, 다음의 접근법 중의 하나 이상이 개시된다 (변경 사항은 최신 VVC 사양 JVET-Q2001-vE 위에 제공되며, 추가 또는 수정된 사항이 있는 경우 굵은 기울임꼴 로 강조 표시되고 삭제된 부분은 이중 괄호로 표시된다(예: [[a]]는 문자 "a"의 삭제를 나타낸다).
a. APS ID(예: adaptation_parameter_set_id)를 시그널링하는 방법은 APS 타입에 의존한다.
i. 일 예에서, ALF APS에 대하여, APS ID는 ue(v) 또는 K번째 EG 코딩으로 코딩될 수 있다.
ii. 일 예에서, LMCS 및 스케일링 리스트 APS에 대하여, APS ID는 각각 u(a) 및 u(b)로 코딩될 수 있고 a는 b와 동일하지 않다.
iii. 일 예에서, LMCS 및 스케일링 리스트 APS에 대하여, APS ID는 ue(v) 또는 K번째 EG 코딩으로 코딩될 수 있다.
b. 일 예에서, APS ID (예를 들어, adaptation_parameter_set_id)는 u(X) 코딩될 수 있고, X = 3이다.
i. 예를 들어, adaptation_parameter_set_id 의 신택스는 다음과 같이 변경된다:
Figure pct00069
i. 일 예에서, X는 모든 타입의 APS 중에서 APS의 최대 허용 수에 의존할 수 있다.
a. 일 예에서, X는 (X - (1 << log2 (X) ) == 0 ? log2 (X) : (log2 (X) + 1)로 설정된다.
c. ALF 필터 계수의 최대 허용 시그널링 절대값을 (1<<K) - M와 동일하게 설정하는 것이 제안된다 (M은 0과 동일하지 않는다. 예를 들어, K = 7 M = 1).
i. 일 예에서, ALF 필터 관련 신택스 요소 (예를 들어, alf_data() 신택스 구조의 alf_luma_coeff_abs[ sfIdx ][ j ], alf_chroma_coeff_abs[ altIdx ][ j ])의 범위는 0에서 Y(포함)의 범위에 있어야 하고, Y는 127과 동일하다.
ii. 예를 들어, alf_luma_coeff_abs[ sfIdx ][ j ]의 시맨틱은 다음과 같이 변경된다:
alf_luma_coeff_abs[ sfIdx ][ j ]는 sfIdx가 나타내는 시그널링된 루마 필터의 j번째 계수의 절대값을 명시한다. alf_luma_coeff_abs[ sfIdx ][ j ]가 존재하지 않으면, 0과 같은 것으로 추론된다. alf_luma_coeff_abs[ sfIdx ][ j ]의 값은 0에서 [[128]] 127 (포함)의 범위에 있어야 한다.
iii. 예를 들어, alf_chroma_coeff_abs[ altIdx ][ j 의 시맨틱은 다음과 같이 변경된다:
alf_chroma_coeff_abs[ altIdx ][ j ]는 인덱스 altIdx를 갖는 대체 크로마 필터에 대한 j번째 크로마 필터 계수의 절대값을 명시한다. alf_chroma_coeff_abs[ altIdx ][ j ]가 존재하지 않으면, 0과 동일한 것으로 추론된다. alf_chroma_coeff_abs[ sfIdx ][ j ]의 값은 0에서 [[128]] 127 (포함)의 범위에 있어야 한다.
d. 일 예에서, 값 범위는 CCALF 관련 신택스 요소의 신택스 (예를 들어, alf_data() 신택스 구조의 alf_cc_cb_mapped_coeff_abs[ k ][ j ], alf_cc_cr_mapped coeff_abs[ k ][ j ])로 특정되어 해당 신택스 요소의 값을 유효 범위 내로 제한한다.
i. 예를 들어, CCALF 관련 신택스 요소 (예를 들어, alf_cc_cb_mapped_coeff_abs[ k ][ j ], alf_cc_cr_mapped coeff_abs[ k ][ j ])의 값은 X에서 Y(포함)의 범위에 있어야 하고, X= 1 및 Y =8이다.
ii. 예를 들어, alf_cc_cb_mapped_coeff_abs[ k ][ j ]의 시맨틱은 다음과 같이 변경된다:
alf_cc_cb_mapped_coeff_abs[ k ][ j ]는 Cb 색상 컴포넌트에 대한 시그널링된 k번째 크로스 컴포넌트 필터의 j번째 매핑된 계수의 절대값을 명시한다. alf_cc_cb_mapped_coeff_abs[ k ][ j ]가 존재하지 않으면, 0과 같은 것으로 추론된다. alf_cc_cb_mapped_coeff_abs[ k ][ j ]의 값은 1에서 8(포함)의 범위에 있어야 한다 .
iii. 예를 들어, alf_cc_cr_mapped coeff_abs[ k ][ j ] 의 시맨틱은 다음과 같이 변경된다:
alf_cc_cr_mapped coeff_abs[ k ][ j ] 는 Cr 색상 컴포넌트에 대한 시그널링된 k번째 크로스 컴포넌트 필터의 j번째 매핑된 계수의 절대값을 명시한다. alf_cc_cr_mapped coeff_abs[ k ][ j ]가 없으면, 0과 동일한 것으로 추론된다. alf_cc_cb_mapped_coeff_abs[ k ][ j ]의 값은 1에서 8(포함)의 범위에 있어야 한다.
e. 일 예에서, alf_data() 신택스 구조의 alf_cc_cb_mapped_coeff_abs[ k ][ j ]를 코딩하는 대신에, (alf_cc_cb_mapped_coeff_abs_minus1[ k ][ j ] 로 표기된) 절대값 - 1가 코딩될 수 있고, CC-ALF 필터 계수의 절대값은 다음으로 도출된다:
Figure pct00070
i. 대안적으로, 또한, 시그널링된 alf_cc_cb_mapped_coeff_abs_minus1[ k ][ j ]는 [0, (1<<K)-1]의 범위에 있어야 하며, 여기서, K는 양의 정수이다(예를 들어, K=3).
f. 일 예에서, alf_data() 신택스 구조의 alf_cc_cr_mapped_coeff_abs[ k ][ j ]를 코딩하는 대신, (alf_cc_cr_mapped_coeff_abs_minus1[ k ][ j ]로 표기된) 절대값 - 1이 코딩될 수 있고, CC-ALF 필터 계수의 절대값은 다음으로 도출된다:
Figure pct00071
i. 대안적으로, 또한, 시그널링된 alf_cc_cr_mapped_coeff_abs_minus1[ k ][ j ]는 [0, (1<<K)-1]의 범위에 있어야 하며, K는 양의 정수이다 (예를 들어, K=3).
g. 루마 컴포넌트에 대한 ALF APS의 수는 PH/SH에서 시그널링될 수 있다.
i. 예를 들어, ph_num_alf_aps_ids_luma 의 시맨틱은 다음과 같이 변경될 수 있다.
ph_num_alf_aps_ids_luma 는 PH와 연관된 슬라이스가 참조하는 루마 컴포넌트에 대한 ALF APS의 수를 명시한다.
ii. 예를 들어, slice_num_alf_aps_ids_luma 의 시맨틱은 다음과 같이 변경될 수 있다.
slice_num_alf_aps_ids_luma 는 슬라이스가 참조하는 루마 컴포넌트에 대한 ALF APS의 수를 명시한다 slice_alf_enabled_flag가 1과 동일하고 slice_num_alf_aps_ids_luma가 존재하지 않으면, slice_num_alf_aps_ids_luma의 값은 ph_num_alf_aps_ids_luma의 값과 동일한 것으로 추론된다.
22. 제11 문제를 해결하기 위한 APS의 수보다는 사용된 총 메모리 또는 APS의 필터의 수에 대한 제약과 관련하여, 다음의 접근법 중의 하나 이상이 개시된다 (변경 사항은 최신 VVC 사양 JVET-Q2001-vE 위에 제공되며, 추가 또는 수정된 사항이 있는 경우 굵은 기울임꼴로 강조 표시되고 삭제된 부분은 이중 괄호로 표시된다(예: [[a]]는 문자 "a"의 삭제를 나타낸다).
a. 일 예에서, 제약은 ALF APS의 총수를 제한하도록 특정된다.
i. 예를 들어, ALF APS의 총수는 SCALING APS의 총수와 동일하지 않다.
ii. 예를 들어, ALF APS의 총 수는 ALF 필터(예를 들어, ALF 루마 필터, ALF 크로마 필터, CCALF Cb 필터, CCALF Cr 필터)의 수에 의존할 수 있다.
iii. 예를 들어, ALF APS의 총 수가 X(예를 들어 X = 328)와 같아야 하는 것을 제한하는 제약이 사양에 명시된다.
iv. 예를 들어, adaptation_parameter_set_id의 시맨틱은 다음과 같이 변경된다:
- adaptation_parameter_set_id 는 다른 신택스 요소가 참조할 APS에 대한 식별자를 제공한다.
aps_params_type이 ALF_APS[[또는 SCALING_APS]]와 같으면, adaptation_parameter_set_id의 값은 0에서 [[7]] X (포함)의 범위에 있어야 한다. (주: 여기에서 X는 246 또는 327이거나 (1<<K)와 같을 수 있으며, 여기서 K는 양의 값임)
aps_params_type이 SCALING_APS와 같으면, adaptation_parameter_set_id 의 값은 0에서 7(포함)의 범위에 있어야 한다.
aps_params_type이 LMCS_APS와 같으면, adaptation_parameter_set_id의 값은 0에서 3(포함)의 범위에 있어야 한다.
b. 일 예에서, 제약은 ALF 루마 필터 및/또는 ALF 크로마 필터 및/또는 CCALF 필터의 총 수를 제한하도록 명시된다.
i. 예를 들어, 제약은 모든 ALF APS의 ALF 루마 필터의 총 수가 X1(예: X = 200)과 같아야 하는 것을 제한하기 위해 명시된다.
ii. 예를 들어, 제약은 모든 ALF APS의 ALF 크로마 필터의 총 수가 X2(예: X = 64)과 같아야 하는 것을 제한하기 위해 명시된다.
iii. 예를 들어, 제약은 모든 ALF APS의 CCALF 필터의 총 수가 X3(예: X = 64)과 같아야 하는 것을 제한하기 위해 명시된다.
a) 대안적으로, 제약은 모든 ALF APS의 CCALF Cb 필터의 총 수가 Y1(예: Y1 = 32)과 같아야 하는 것을 제한하기 위해 명시된다.
b) 추가적으로, 제약은 모든 ALF APS의 CCALF Cr 필터의 총 수가 Y2(예: Y2 = 32)과 같아야 하는 것을 제한하기 위해 명시된다.
iv. 예를 들어, 일부 제약이 다음과 같이 추가될 수 있다:
ALF_APS와 동일한 aps_params_type을 갖는 모든 APS NAL 유닛에서 적응적 루프 필터 클래스의 수, 크로마 컴포넌트에 대한 대체 필터 수 및 크로스 컴포넌트 필터 수는 각각 200, 64 및 64보다 크지 않다.
v. 대안적으로, 일부 제약이 다음과 같이 추가될 수 있다:
0과 동일한 aps_params_type을 갖는 모든 APS NAL 유닛에서 적응적 루프 필터 클래스의 수, 크로마 컴포넌트에 대한 대체 필터 수, Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터 수, Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터 수는 각각 200, 64, 32 및 32보다 크지 않다.
vi. 예를 들어, 값 범위는 ph/slice_num_alf_aps_ids_luma의 값이 K1에서 K2(포함)의 범위에 있도록 제한하도록 명시된다.
a) 예를 들어, PH 신택스 요소 ph_num_alf_aps_ids_luma의 시맨틱은 다음과 같이 변경될 수 있다:
ph_num_alf_aps_ids_luma는 PH와 관련된 슬라이스가 참조하는 ALF APS의 수를 명시한다. ph_num_alf_aps_ids_luma의 값은 0에서 200(포함)의 범위에 있어야 한다.
b) 추가적으로, PH 신택스 요소 slice_num_alf_aps_ids_luma의 시맨틱은 다음과 같이 변경될 수 있다:
slice_num_alf_aps_ids_luma는 슬라이스가 참조하는 ALF APS의 수를 명시한다. slice_alf_enabled_flag가 1과 같고 slice_num_alf_aps_ids_luma가 존재하지 않으면, slice_num_alf_aps_ids_luma의 값은 ph_num_alf_aps_ids_luma의 값과 동일한 것으로 추론된다. slice_num_alf_aps_ids_luma의 값은 0에서 200(포함)의 범위에 있어야 한다 .
c. 일 예에서, 값 범위는 ALF APS ID의 값이 K1에서 K2(포함)의 범위에 있도록 제한하도록 명시된다.
i. 예를 들어, PH/SH에서 시그널링되는 ALF APS ID의 범위(예를 들어, ph_alf_aps_id_luma[ i ], ph_alf_aps_id_chroma, ph_cc_alf_cb_aps_id, ph_cr_alf_cb_aps_id)는 K1 내지 K2 범위(포함)에 있도록 제한될 수 있다.
ii. 예를 들어, PH 신택스 요소의 시맨틱은 다음과 같이 변경될 수 있다:
ph_alf_aps_id_luma[ i ]는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_luma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다 .
ph_alf_aps_id_chroma는 PH와 연관된 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_chroma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다 .
ph_cc_alf_cb_aps_id는 PH와 연관된 슬라이스의 Cb 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_chroma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다.
ph_cc_alf_cr_aps_id는 PH와 연관된 슬라이스의 Cr 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_chroma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다 .
iii. 예를 들어, SH 신택스 요소의 시맨틱은 다음과 같이 변경될 수 있다:
slice_alf_aps_id_luma[ i ]는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_luma[ i ]가 존재하지 않으면, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다. slice_alf_aps_id_luma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다 .
slice_alf_aps_id_chroma는 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_chroma가 존재하지 않으면, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다. slice_alf_aps_id_chroma의 값은 0에서 327(범위)의 범위에 있어야 한다 .
slice_cc_alf_cb_aps_id는 슬라이스의 Cb 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cb_enabled_flag가 1과 같고 slice_cc_alf_cb_aps_id가 존재하지 않으면, slice_cc_alf_cb_aps_id의 값은 ph_cc_alf_cb_aps_id의 값과 동일한 것으로 추론된다. slice_cc_alf_cb_aps_id의 값은 0에서 327(포함)의 범위에 있어야 한다 .
slice_cc_alf_cr_aps_id는 슬라이스의 Cr 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cr_enabled_flag가 1과 같고 slice_cc_alf_cr_aps_id가 존재하지 않으면, slice_cc_alf_cr_aps_id의 값은 ph_cc_alf_cr_aps_id의 값과 동일한 것으로 추론된다. slice_cc_alf_cr_aps_id의 값은 0에서 327(포함)의 범위에 있어야 한다 .
d. 일 예에서, ALF APS ID (예를 들어, PH/SH 신택스 구조의 ph(slice)_alf_aps_id_luma[ i ], ph(slice)_alf_aps_id_chroma, ph(slice)_cc_alf_cb_aps_id, ph(slice)_cc_alf_cr_aps_id)의 이진화는, 예를 들어, 제8 실시예에서처럼, ue(v) 코딩될 수 있다.
e. 일 예에서, ALF APS의 수 (예를 들어, PH/SH 신택스의 ph(slice)_num_alf_aps_ids_luma)의 이진화는, 예를 들어, 제8 실시예에서처럼, ue(v) 코딩될 수 있다.
f. 일 예에서, APS ID (예를 들어, APS 신택스 구조의 adaptation_parameter_set_id)의 이진화는, 예를 들어, 제8 실시예에서처럼, APS 타입에 의존할 수 있다.
i. 예를 들어, aps_params_type이 ALF_APS와 동일하면, adaptation_parameter_set_id는 u(X1) 코딩되고, 여기서, X1=9이다.
ii. 예를 들어, aps_params_type이 LMCS_APS와 동일하면, adaptation_parameter_set_id는 u(X2) 코딩되고, 여기서, X2=2이다.
iii. 예를 들어, aps_params_type이 SCALING_APS와 동일하면, adaptation_parameter_set_id가 u(X3) 코딩되고, 여기서, X3=3이다.
g. 일 예에서, APS ID (예를 들어, APS 신택스 구조의 adaptation_parameter_set_id)의 이진화가 ue(v) 코딩되는지 여부는 예를 들어 제9 실시예에서와 같이 APS 타입에 의존할 수 있다.
i. 예를 들어, aps_params_type이 ALF_APS와 동일하면, adaptation_parameter_set_id가 ue(v) 코딩된다.
h. 일 예에서, APS ID (예를 들어, APS 신택스 구조의 adaptation_parameter_set_id)의 이진화는 예를 들어 제10 실시예에서와 같이 ue(v) 코딩된다.
23. PU의 타입 유형(ALF APS, LMCS APS, SCALING APS 등)의 모든 APS NAL은 PU의 마지막 VCL NAL보다 먼저 시그널링되어야 한다.
24. PU의 특정 타입(ALF APS, LMCS APS, SCALING APS 등)의 모든 APS NAL은 PU의 첫 번째 VCL NAL보다 먼저 시그널링되어야 한다.
25. PU의 임의의 VCL NAL(픽처 헤더 또는 슬라이스 헤더의 APS 인덱스에 의해 참조되는 것과 같은)에 의해 사용되거나 참조되는 특정 타입(ALF APS, LMCS APS, SCALING APS 등)의 제1 세트의 APS NAL의 수 - 제1 세트의 APS NAL은 PU에 있을 수도 있고 그렇지 않을 수도 있다 - 는 X보다 크지 않아야 하는 것이 요구되며, 여기서 X는 8과 같은 정수이다.
a. 일 예에서, X는 인코더에서 디코더로 시그널링된다.
26. PU의 임의의 VCL NAL(픽처 헤더 또는 슬라이스 헤더의 APS 인덱스에 의해 참조되는 것과 같은)에 의해 사용되거나 참조되는 특정 타입(ALF APS 또는 LMCS APS 또는 SCALING APS와 같은)의 제1 세트의 APS NAL의 수 - 여기서 제1 세트의 APS NAL은 PU에 있을 수도 있고 아닐 수도 있다 - + PU의 임의의 VCL NAL(픽처 헤더 또는 슬라이스 헤더의 APS 인덱스에 의해 참조되는 것과 같은)에 의해 사용되거나 참조되지 않는 특정 타입(ALF APS, LMCS APS, SCALING APS 등)의 제2 세트의 APS NAL의 수 여기서 제2 세트의 APS NAL이 PU에 있다 - 는 X보다 크지 않아야 하는 것이 요구되며, 여기서 X는 8과 같은 정수이다.
a. 일 예에서, X는 인코더에서 디코더로 시그널링된다.
27. 참조 리스트 0에서 인덱스 = 0인 참조 픽처가 장기(long-term) 참조 픽처인 경우 TMVP에 사용되는 콜로케이티드(collocated) 픽처 중 적어도 하나의 참조 픽처는 장기 참조 픽처여야 한다.
28. 참조 리스트 0에서 인덱스 = 0인 참조 픽처가 단기(short-term) 참조 픽처인 경우 TMVP에 사용되는 콜로케이티드 픽처 중 적어도 하나의 참조 픽처는 단기 참조 픽처여야 한다.
29. ACT(Adaptive Color Transform)가 블록에서 사용되는 경우 코딩 툴(X)이 블록에서 사용되는 것이 허용되지 않을 수 있다.
a. 대안적으로, 코딩 툴(X)이 블록에서 사용되면, ACT는 블록에서 사용되는 것이 허용되지 않을 수 있다.
b. 코딩 툴(X)은 다음일 수 있다 (약어는 JVET-Q2001에 정의되어 있다)
i. LFNST
ii. MTS
iii. 변환 스킵(Transform Skip)
iv. 듀얼 트리 코딩(Dual tree coding)
v. 로컬 듀얼 트리 코딩(Local dual tree coding)
vi. 부호 데이터 하이딩(Sign Data Hiding)
vii. 종속 양자화(Dependent quantization)
viii. LMCS
30. 일 예에서, 참조 픽처 리스트(RPL)-1에 대한 모션 벡터 차이(MVD)를 시그널링할지 여부를 나타내는 제1 SE(신택스 요소)를 시그널링할지 여부는 참조 픽처 리스트 정보가 PH(픽처 헤더)에서 시그널링되는지 여부를 나타내는 두 번째 SE 및 및 RPL 정보가 PH에 존재할 때 RPL-1의 참조 픽처의 수(예를 들어, 참조 픽처의 수가 0보다 큼)에 의존할 수 있다.
a. 일 예에서, 제1 SE는 JVET-Q2001에 명시된 바와 같이 mvd_l1_zero_flag일 수 있다.
b. 일 예에서, 제2 SE는 JVET-Q2001에 명시된 바와 같이 rpl_info_in_ph_flag일 수 있다.
c. 일 예에서, RPL-1의 참조 픽처 수는 JVET-Q2001에 명시된 바와 같이 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]와 동일하게 설정될 수 있다.
d. 제1 SE의 시그널링은 다음 조건에 의존할 수 있다:
Figure pct00072
i. 대안적으로, 또한, 조건이 참이면, SE가 시그널링될 수 있다.
ii. 대안적으로, 또한, 조건이 거짓이면(예를 들어, rpl_info_in_ph_flag가 참이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면), SE는 시그널링 및 추론되지 않는다.
e. 제1 SE가 시그널링되지 않으면, 값(X)으로 추론된다.
i. 예를 들어, X는 0과 동일하다.
ii. 예를 들어, X는 1과 동일하다.
iii. 예를 들어, X는 SE/변수와 동일하다.
iv. 예를 들어, X의 도출은 하나 또는 다수의 SE/변수를 기반으로 하거나 이에 의해 좌우된다.
f. 예는 제11 실시예에 도시된다.
g. 예는 제12 실시예에 도시된다.
31. 일 예에서, 디코더 모션 벡터 리파인먼트(DMVR)를 디스에이블할지 여부를 나타내는 제1 SE를 시그널링할지 여부는 참조 픽처 리스트(RPL) 정보가 PH(Picture Header)에서 시그널링되는지 여부를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL-1)의 참조 픽처의 수, 및/또는 sps_dmvr_pic_present_flag가 1과 같은지 여부에 의존할 수 있다.
a. 일 예에서, 제1 SE는 JVET-Q2001에 명시된 바와 같이 ph_disable_dmvr_flag일 수 있다.
b. 일 예에서, 제2 SE는 JVET-Q2001에 명시된 바와 같이 rpl_info_in_ph_flag일 수 있다.
c. 일 예에서, RPL-1의 참조 픽처의 수는 JVET-Q2001에 명시된 바와 같이 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]와 동일하게 설정될 수 있다.
d. 제1 SE의 시그널링은 다음 조건에 의존할 수 있다:
Figure pct00073
i. 대안적으로, 또한, 조건이 참이면, SE가 시그널링될 수 있다.
ii. 대안적으로, 또한, 조건이 거짓이면(예를 들어, rpl_info_in_ph_flag가 참이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하거나 sps_dmvr_pic_present_flag가 거짓이면), SE는 시그널링 및 추론되지 않는다.
e. 제1 SE가 시그널링되지 않으면, 값(X)으로 추론된다.
i. 예를 들어, X는 0과 동일하다.
ii. 예를 들어, X는 1과 동일하다.
iii. 예를 들어, X는 SE/변수와 동일하다.
iv. 예를 들어, X의 도출은 하나 또는 다수의 SE/변수를 기반으로 하거나 이에 의해 좌우된다.
a) 일 예에서, ph_disable_dmvr_flag가 존재하지 않으면, 다음이 적용된다:
- rpl_info_in_ph_flag가 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, ph_disable_dmvr_flag는 1로 추론된다.
- 그렇지 않으면 (rpl_info_in_ph_flag가 0과 동일하거나 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0보다 크면 ph_disable_dmvr_flag는 (1 - sps_dmvr_enabled_flag))로 추론된다.
b) 예를 들어: ph_disable_dmvr_flag 가 존재하지 않으면, 다음이 적용된다:
- sps_dmvr_enabled_flag가 0과 동일하면, ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
- 그렇지 않으면, 다음이 적용된다:
- rpl_info_in_ph_flag가 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, ph_disable_dmvr_flag는 1로 추론된다.
- 그렇지 않으면, ph_disable_dmvr_flag는 0으로 추론된다.
c) 예를 들어: ph_disable_dmvr_flag가 존재하지 않으면, 다음이 적용된다:
- sps_dmvr_enabled_flag가 0과 동일하면, ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
- 그렇지 않으면, ph_disable_dmvr_flag는 ( rpl_info_in_ph_flag = = 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) ? 1 : 0로 추론된다.
d) 예를 들어: ph_disable_dmvr_flag가 존재하지 않으면, sps_dmvr_enabled_flag ? ( ( rpl_info_in_ph_flag = = 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) ? 1 : 0 ) : 1와 동일한 것으로 추론된다.
e) 예를 들어: ph_disable_dmvr_flag가 존재하지 않으면, (sps_dmvr_enabled_flag= =0 | | ( ( rpl_info_in_ph_flag = = 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) ? 1 : 0와 동일한 것으로 추론된다.
f. 예는 제11 실시예에 도시된다.
g. 예는 제12 실시예에 도시된다.
32. 일 예에서, 양방향 광 흐름(BDOF)을 디스에이블할지 여부를 나타내는 제1 SE를 시그널링할지 여부는 참조 픽처 리스트(RPL) 정보가 PH(Picture Header)에서 시그널링되는지 여부를 나타내는 제2 SE 및 PH에 RPL 정보가 존재할 때 RPL-1의 참조 픽처의 수(예를 들어, 참조 픽처의 수가 0보다 큼) 및/또는 sps_bdof_pic_present_flag에 의존할 수 있다.
a. 일 예에서, 제1 SE는 JVET-Q2001에 명시된 바와 같이 ph_disable_bdof_flag일 수 있다.
b. 일 예에서, 제2 SE는 JVET-Q2001에 명시된 바와 같이 rpl_info_in_ph_flag일 수 있다.
c. 일 예에서, RPL-1의 참조 픽처의 수는 JVET-Q2001에 명시된 바와 같이 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]와 동일하게 설정될 수 있다.
d. 제1 SE의 시그널링은 다음의 조건에 의존할 수 있다:
Figure pct00074
i. 대안적으로, 또한, 조건이 참이면, SE가 시그널링될 수 있다.
ii. 대안적으로, 또한, 조건이 거짓이면 (예를 들어, rpl_info_in_ph_flag가 참이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하거나 sps_bdof_pic_present_flag가 거짓이면), SE는 시그널링 및 추론되지 않는다.
e. 제1 SE가 시그널링되지 않으면, 값(X)로 추론된다.
i. 예를 들어, X는 0과 동일하다.
ii. 예를 들어, X는 1과 동일하다.
iii. 예를 들어, X는 SE/변수와 동일하다.
iv. 예를 들어, X의 도출은 하나 또는 다수의 SE/변수를 기반으로 하거나 이에 의해 좌우된다.
a) 예를 들어: ph_disable_bdof_flag가 존재하지 않으면, 다음이 적용된다:
- sps_bdof_enabled_flag가 0과 동일하면, ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
- 그렇지 않으면, 다음이 적용된다:
* rpl_info_in_ph_flag가 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, ph_disable_bdof_flag는 1로 추론된다.
* 그렇지 않으면, ph_disable_bdof_flag는 0으로 추론된다.
b) 예를 들어: ph_disable_bdof_flag가 존재하지 않으면, 다음이 적용된다:
- sps_bdof_enabled_flag가 0과 동일하면, ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
- 그렇지 않으면, ph_disable_bdof_flag는 ( rpl_info_in_ph_flag = = 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) ? 1 : 0로 추론된다.
c) 예를 들어: ph_disable_bdof_flag가 존재하지 않으면, sps_bdof_enabled_flag ? ( ( rpl_info_in_ph_flag = = 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) ? 1 : 0 ) : 1와 동일한 것으로 추론된다.
d) 예를 들어: ph_disable_bdof_flag가 존재하지 않으면, (sps_bdof_enabled_flag= =0 || ( ( rpl_info_in_ph_flag = = 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) ? 1 : 0와 동일한 것으로 추론된다.
e) 일 예에서, ph_disable_bdof_flag가 존재하지 않으면, 다음이 적용된다:
- rpl_info_in_ph_flag가 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, ph_disable_bdof_flag는 1로 추론된다.
- 그렇지 않으면 (rpl_info_in_ph_flag가 0과 동일하거나 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0보다 크면) ph_disable_bdof_flag는 (1 - sps_bdof_enabled_flag))로 추론된다.
f. 예는 제11 실시예에 도시된다.
g. 예는 제12 실시예에 도시된다.
33. 일 예에서, 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0에서 도출되었는지 여부를 나타내는 제1 SE(신택스 요소)를 시그널링할지 여부는 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL-1의 참조 픽처의 수(예를 들어, 참조 픽처의 수가 0보다 큼) 및 TMVP가 픽처에 대해 인에이블되었는지 여부(예를 들어, ph_temporal_mvp_enabled_flag)에 의존할 수 있다.
a. 일 예에서, 제1 SE는 m JVET-Q2001에 명시된 바와 같이 ph_collocated_from_l0_flag일 수 있다.
b. 일 예에서, 제2 SE는 JVET-Q2001에 명시된 바와 같이 rpl_info_in_ph_flag일 수 있다.
c. 일 예에서, RPL-1의 참조 픽처의 수는 JVET-Q2001에 명시되는 바와 같이 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]와 동일하게 설정될 수 있다.
d. 일 예에서, 제1 SE는 다음의 조건이 참일 때 시그널링될 수 있다:
Figure pct00075
i. 대안적으로, 또한, 조건이 참이면, 제1 SE가 시그널링될 수 있다.
ii. 대안적으로, 또한, 조건이 거짓이면 (예를 들어, rpl_info_in_ph_flag가 참이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하거나 ph_temporal_mvp_enabled_flag가 거짓이면), SE는 시그널링 및 추론되지 않는다.
e. 일 예에서, 제1 SE는 다음 조건이 참일 때 시그널링될 수 있다:
if( ph_temporal_mvp_enabled_flag  && rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )
i. 대안적으로, 또한, 조건이 참이면, 제1 SE가 시그널링될 수 있다.
ii. 대안적으로, 또한, 조건이 거짓이면 (예를 들어, rpl_info_in_ph_flag가 참이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 같거나 ph_temporal_mvp_enabled_flag가 거짓이면), SE는 시그널링 및 추론되지 않는다.
f. 제1 SE가 시그널링되지 않으면, 값(X)으로 추론된다.
i. 예를 들어, X가 0과 동일하다.
ii. 예를 들어, X가 1과 동일하다.
iii. 예를 들어, X가 SE/변수와 동일하다.
iv. 예를 들어, X의 도출은 하나 또는 다수의 SE/변수를 기반으로 하거나 이에 의해 좌우된다.
g. 예는 제11 실시예에 도시된다.
h. 예는 제12 실시예에 도시된다.
34. pred_weight_table()을 시그널링할지 여부는 WP(weighted prediction) 정보가 PH에서 시그널링되는지 여부를 나타내는 제2 SE, PH(Picture Header)에서 참조 픽처 리스트(RPL) 정보가 시그널링되는지 여부, RPL 정보가 PH에 존재할 때 RPL-1의 참조 픽처의 수(예를 들어, 참조 픽처의 수가 0보다 큼) 및 pps_weighted_pred_flag 및/또는 pps_weighted_bipred_flag 여부에 의존할 수 있다.
a. 일 예에서, the pred_weight_table()은 다음 조건이 참일 때 시그널링될 수 있다:
Figure pct00076
i. 대안적으로, 또한, 조건이 참이면, pred_weight_table()이 PH에서 시그널링될 수 있다.
ii. 대안적으로, 또한, 조건이 거짓이면 (예를 들어, pps_weighted_bipred_flag, wp_info_in_ph_flag 및 rpl_info_in_ph_flag가 참이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하거나 ph_temporal_mvp_enabled_flag가 거짓이면), pred_weight_table()이 시그널링되지 않는다.
35. pred_weight_table()에서 num_l1_weights를 시그널링할지 여부는 WP(weighted prediction) 정보가 PH에서 시그널링되는지 여부와 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지 여부를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL1의 참조 픽처의 수(예를 들어, 0보다 큼), 및 pps_weighted_bipred_flag에 의존할 수 있다.
a. 일 예에서, pred_weight_table()의 num_l1_weights는 다음 조건이 참이면 시그널링될 수 있다:
Figure pct00077
i. 대안적으로, 상기 조건은 다음으로 대체될 수 있다:
Figure pct00078
ii. 대안적으로, 또한, 조건이 참이면, num_l1_weights 는 PH에서 시그널링될 수 있다.
iii. 대안적으로, 또한, 조건이 거짓이면 (예를 들어, pps_weighted_bipred_flag, wp_info_in_ph_flag 및 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] 중의 어느 하나가 0과 동일하면), num_l1_weights 는 시그널링 및 (예를 들어, 0으로) 추론되지 않는다.
a) 대안적으로, 조건이 거짓이면 , num_l1_weights 가 시그널링되지 않고, 값은 추론되지 않고, 변수 NumWeightsL1는 다음과 같이 도출된다:
Figure pct00079
b) 대안적으로, 조건이 거짓이면 , num_l1_weights 는 시그널링되지 않고, 값은 추론되지 않고, 변수 NumWeightsL1 의 도출은, 예를 들어, 다음과 같이, WP 정보가 PH에서 시그널링되는지 (예를 들어, wp_info_in_ph_flag), RPL가 PH에서 시그널링되는지 (예를 들어, rpl_info_in_ph_flag), 및 RPL-1 내의 참조 엔트리의 수가 0과 동일한지 중의 하나에 의존한다:
변수 NumWeightsL1 는 다음과 같이 도출된다:
Figure pct00080
b. 예는 제11 실시예에 도시된다.
c. 예는 제12 실시예에 도시된다.
36. 일 예에서, APS ID (즉, 신택스 요소 adaptation_parameter_set_id)는 u(5) 대신 u(3)로서 코딩된다.
a. 일 예에서, 추가적으로, 현재의 5비트 Adaptation_parameter_set_id는 2개의 신택스 요소, 즉, u(2)로 코딩된 aps_reserved_zero_2bits 및 그 뒤의 u(3)으로 코딩된 adaptation_parameter_set_id 로 분할된다. 이런 식으로, 미래에, 더 많은 타입의 APS을 더 지정해야 하고 APS ID에 대해 3비트 이상이 필요한 경우, 두 개의 예약된 비트는 이전 버전의 VVC와 역호환되는 방식으로 사용될 수 있다.
i. 일 예에서, 추가적으로, 이 두 신택스 요소의 시맨틱은 다음과 같다. aps_reserved_zero_2bits는 이 사양의 이 버전을 따르는 비트스트림에서 0과 동일해야 한다. aps_reserved_zero_2bits에 대해 0보다 큰 값은 ITU-T | ISO/IEC 에서 향후 사용을 위해 유보된다. adaptation_parameter_set_id는 다른 신택스 요소가 참조할 수 있도록 APS에 대한 식별자를 제공한다.
b. 일 예에서, 추가적으로, 현재 5비트 adaptation_parameter_set_id는 2개의 신택스 요소, 즉, u(1)로 코딩된 aps_reserved_zero_bit 및 그 뒤의 u(3)으로 코딩된 adaptation_parameter_set_id로 분할되고, 다른 비트는 다른 것, 예를 들어, APS 내의 크로마 관련 신택스 요소의 존재를 명시하는 플래그에 사용된다. 이런 식으로, 미래에, 더 많은 타입의 APS을 더 지정해야 하고 APS ID에 대해 3비트 이상이 필요한 경우, 하나의 예약된 비트는 이전 버전의 VVC와 역호환되는 방식으로 사용될 수 있다.
i. 일 예에서, 이들 2개의 신택스 요소의 시맨틱은 다음과 같다: aps_reserved_zero_bit는 이 사양의 이 버전을 따르는 비트스트림에서 0과 같아야 한다. aps_reserved_zero_bit의 값 1은 ITU-T| ISO/IEC 에서 향후 사용을 위해 유보된다. adaptation_parameter_set_id는 다른 신택스 요소에서 참조할 수 있도록 APS에 대한 식별자를 제공한다.
37. 제13 문제를 해결하기 위한 일반 제약 플래그의 파싱 순서와 관련하여,
a. 일 예에서, 일반 제약 정보 general_constraint_info() 신택스 구조에서 신택스 요소는 규칙에 따라 함께 그룹화된다. 일반 제약 정보 신택스 구조는 예를 들어 비디오 비트스트림 내의 기능 도는 코딩 툴을 디스에이블하기 위해 SPS/PPS/PH/SH 신택스 요소의 값을 제한하는 측면에서 하나 이상의 특정 제약이 비디오 비트스트림에 부과되는지 여부를 나타내는 신택스 요소 세트를 포함한다.
i. 예를 들어, 규칙은 인터 관련 신택스 요소와 인트라 관련 신택스 요소로 정의된다.
ii. 예를 들어, 규칙은 코딩 툴 관련 신택스 요소 및 기능 관련 신택스 요소로 정의된다.
38. 픽처 내에서 인트라 슬라이스(예: ph_intra_slice_allowed_flag)를 허용하는 표시를 시그널링할지 여부는 인터 슬라이스가 허용되는지(예: ph_inter_slice_allowed_flag) 및 하나 이상의 파티션(예: 하나 이상의 슬라이스/타일)이 있는지 여부에 의존할 수 있다.
a. 일 예에서, 다음 조건이 참이면, 인트라 슬라이스를 허용하는 표시가 시그널링될 수 있다.
Figure pct00081
i. 대안적으로, 또한, 상기 조건이 거짓이면, ph_intra_slice_allowed_flag의 시그널링은 스킵되고 추론된다.
ii. 대안적으로, furthermroe, ph_intra_slice_allowed_flag가 존재하지 않으면, ph_intra_slice_allowed_flag의 값은 (!ph_inter_slice_allowed_flag) 또는 (1 - ph_inter_slice_allowed_flag)와 동일한 것으로 추론된다.
6. 실시예들
아래는 VVC 사양에 적용될 수 있는 섹션 5에 요약된 본 발명의 측면들 중 일부에 대한 몇 가지 예시적인 실시예이다. 변경된 텍스트는 JVET-Q2001-vE의 최신 VVC 텍스트를 기반으로 한다. 추가 또는 수정된 대부분의 관련 부분은 볼드체 및 기울임꼴이며 삭제된 부분 중 일부는 이중 괄호로 표시된다(예: [[a]]는 문자 "a"의 삭제를 나타냄).
6.1. 실시예의 제1 세트
이것은 섹션 5에 요약된 항목 1에 대한 실시예 세트이다
6.1.1. 1.a.i 에 대한 실시예
ph_scaling_list_aps_id 는 스케일링 리스트 APS의 adaptation_parameter_set_id 를 명시한다.
SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ph_scaling_list_aps_id가 존재하면, SCALING_APS와 같은 aps_params_type 및 ph_scaling_list_aps_id와 같은 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 scaling_list_chroma_present_flag 값은 ChromaArrayType = = 0 ? 0 : 1과 동일해야 한다. (대안적으로, 이는 다음과 같이 표현될 수 있다: ChromaArrayType이 0과 동일하면, SCALING_APS와 같은 aps_params_type 및 ph_scaling_list_aps_id와 같은 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 scaling_list_chroma_present_flag 값은 0과 동일해야 하고, 그렇지 않으면, 1과 동일해야 한다.
...
1과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data()에 존재함을 명시한다. 0과 동일한 scaling_list_chroma_present_flag는 크로마 스케일링 리스트가 scaling_list_data()에 존재하지 않음을 명시한다. [[ scaling_list_chroma_present_flag가 ChromaArrayType이 0과 같을 때 0과 같아야 하고, ChromaArrayType이 0과 같지 않을 때 1과 같아야 하는 것이 비트스트림 적합성의 요구사항이다. ]]
6.1.2. 1.a.ii에 대한 실시예
ph_scaling_list_aps_id 는 스케일링 리스트 APS의 adaptation_parameter_set_id를 명시한다.
SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
SCALING_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 scaling_list_chroma_present_flag 값은 ChromaArrayType = = 0 ? 0 : 1 과 같아야 한다. (대안적으로, 이는 다음과 같이 표현될 수 있다: SCALING_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 scaling_list_chroma_present_flag 값은 ChromaArrayType이 0이면 0이고 그렇지 않으면 1이다).
...
1과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data()에 존재함을 명시한다. 0과 동일한 scaling_list_chroma_present_flag는 크로마 스케일링 리스트가 scaling_list_data()에 존재하지 않음을 명시한다. [[ scaling_list_chroma_present_flag가 ChromaArrayType이 0과 같을 때 0과 같아야 하고, ChromaArrayType이 0과 같지 않을 때 1과 같아야 하는 것이 비트스트림 적합성의 요구사항이다. ]]
6.1.3. 1.b.i에 대한 실시예
ph_lmcs_aps_id 는 PH와 연관된 슬라이스가 참조하는 LMCS APS의 adaptation_parameter_set_id 를 명시한다.
LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ph_lmcs_aps_id가 존재하면, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 lmcs_delta_abs_crs 값은 ChromaArrayType이 0과 같으면 0과 같고 그렇지 않으면 0보다 커야 한다.
6.1.4. 1.b.ii에 대한 실시예
ph_lmcs_aps_id 는 PH와 연관된 슬라이스가 참조하는 LMCS APS의 adaptation_parameter_set_id를 명시한다.
LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
LMCS_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 lmcs_delta_abs_crs 값은 ChromaArrayType이 0이면 0이고 그렇지 않으면 0보다 커야 한다.
6.1.5. 1.c.i에 대한 실시예
PH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
ph_alf_aps_id_luma[ i ] 는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ph_alf_aps_id_luma[ i ]가 존재하고 ChromaArrayType이 0과 같으면, ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag의 값은 1과 같아야 한다.
...
SH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
slice_alf_aps_id_luma[ i ] 는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
slice_alf_aps_id_luma[ i ]가 존재하고 ChromaArrayType 이 0과 같으면, ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag은 0과 같아야 한다.
...
ALF 데이터 신택스 구조의 APS 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 alf_chroma_filter_signal_flag 는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_chroma_filter_signal_flag는 0과 같아야 한다.]]
...
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cb_filter_signal_flag는 0과 같아야 한다.]]
1과 동일한 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cr_filter_signal_flag는 0과 같아야 한다.]]
6.1.6. 1.c.ii에 대한 실시예
PH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
ph_alf_aps_id_luma[ i ] 는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ChromaArrayType이 0과 같으면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag 의 값은 모두 0과 동일해야 한다.
0과 동일한 ph_alf_chroma_idc 는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용되지 않음을 명시한다. 1과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 색상 컴포넌트에 적용됨을 나타낸다. 2와 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cr 색상 컴포넌트에 적용됨을 나타낸다. 3과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용됨을 나타낸다. ph_alf_chroma_idc가 존재하지 않으면, 0과 동일한 것으로 추론된다.
...
SH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
slice_alf_aps_id_luma[ i ] 는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0인 경우, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, 및 alf_cc_cr_filter_signal_flag 의 값은 모두 0과 동일해야 한다.
...
ALF 데이터 신택스 구조의 APS 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 alf_chroma_filter_signal_flag 는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0아이면, alf_chroma_filter_signal_flag는 0과 같아야 한다.]]
...
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cb_filter_signal_flag는 0과 같아야 한다.]]
1과 동일한 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cr_filter_signal_flag는 0과 같아야 한다.]]
6.1.7. 1.c.iii에 대한 실시예
PH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
ph_alf_aps_id_chroma 는 PH와 연관된 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0이면, ALF_APS와 같은 aps_params_type을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag는 0과 같아야 한다.
...
ph_cc_alf_cb_aps_id 는 PH와 연관된 슬라이스의 Cb 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0이면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag는 0과 같아야 한다.
...
ph_cc_alf_cr_aps_id 는 PH와 연관된 슬라이스의 Cr 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0이면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag는 0과 같아야 한다.
...
SH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
slice_alf_aps_id_chroma 는 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_chroma가 존재하지 않는 경우, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag의 값은 1과 동일해야 한다.
ChromaArrayType이 0이면, ALF_APS와 같은 aps_params_type을 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag는 0과 같아야 한다.
...
slice_cc_alf_cb_aps_id 는 슬라이스의 Cb 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cb_enabled_flag가 1과 같고 slice_cc_alf_cb_aps_id가 존재하지 않으면, slice_cc_alf_cb_aps_id의 값은 ph_cc_alf_cb_aps_id의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag의 값은 1과 동일해야 한다.
ChromaArrayType이 0이면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag는 0과 같아야 한다.
...
slice_cc_alf_cr_aps_id 는 슬라이스의 Cr 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cr_enabled_flag가 1과 같고 slice_cc_alf_cr_aps_id가 존재하지 않으면, slice_cc_alf_cr_aps_id의 값은 ph_cc_alf_cr_aps_id의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0이면, ALF_APS와 동일한 aps_params_type을 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag는 0과 같아야 한다.
...
APS 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 alf_chroma_filter_signal_flag 는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_chroma_filter_signal_flag는 0과 같아야 한다.]]
...
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cb_filter_signal_flag는 0과 같아야 한다.]]
1과 동일한 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cr_filter_signal_flag는 0과 같아야 한다.]]
...
6.1.8. 1.d.i에 대한 실시예
ALF 데이터 신택스 구조의 APS 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 alf_chroma_filter_signal_flag 는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_chroma_filter_signal_flag는 0과 같아야 한다.]]
...
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cb_filter_signal_flag는 0과 같아야 한다.]]
1과 같은 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. [[ChromaArrayType이 0이면, alf_cc_cr_filter_signal_flag는 0과 같아야 한다.]]
...
6.1.9. 1.d.ii에 대한 실시예
SCALING LIST 데이터 신택스 구조의 APS 신택스 요소의 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data()에 존재함을 명시한다. 0과 동일한 scaling_list_chroma_present_flag는 크로마 스케일링 리스트가 scaling_list_data()에 존재하지 않음을 명시한다. [[ scaling_list_chroma_present_flag는 ChromaArrayType이 0과 같을 때 0과 같아야 하고, ChromaArrayType이 0과 같지 않을 때 1과 같아야 하는 것이 비트스트림 적합성의 요구 사항이다.
... ]]
6.1.10. 1.e 및 1.f에 대한 실시예
ph_scaling_list_aps_id 는 스케일링 리스트 APS의 adaptation_parameter_set_id를 명시한다.
ph_scaling_list_aps_id가 존재하지 않으면, 다음이 적용된다:
- SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
...
ph_lmcs_aps_id 는 PH와 연관된 슬라이스가 참조하는 LMCS APS의 adaptation_parameter_set_id 를 명시한다.
ph_lmcs_aps_id가 존재하면, 다음이 적용된다:
- LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
...
ph_alf_aps_id_luma[ i ] 는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ph_alf_aps_id_luma[ i ]가 존재하면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
- ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
0과 동일한 ph_alf_chroma_idc 는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용되지 않음을 명시한다. 1과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 색상 컴포넌트에 적용됨을 나타낸다. 2와 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cr 색상 컴포넌트에 적용되었음을 나타낸다. 3과 동일한 ph_alf_chroma_idc는 적응적 루프 필터가 Cb 및 Cr 색상 컴포넌트에 적용되었음을 나타낸다. ph_alf_chroma_idc가 존재하지 않으면, 0과 동일한 것으로 추론된다.
ph_alf_aps_id_chroma 는 PH와 연관된 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ph_alf_aps_id_chroma가 존재하지 않으면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag 값은 1과 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
...
ph_cc_alf_cb_aps_id 는 PH와 연관된 슬라이스의 Cb 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ph_cc_alf_cb_aps_id가 존재하면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag 값은 1과 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
...
ph_cc_alf_cr_aps_id 는 PH와 연관된 슬라이스의 Cr 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ph_cc_alf_cr_aps_id가 존재하지 않으면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag 값은 1과 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
...
slice_alf_aps_id_luma[ i ] 는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다.
slice_alf_aps_id_luma[ i ]가 존재하면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
...
slice_alf_aps_id_chroma 는 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 지정합니다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_chroma가 존재하지 않는 경우, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다.
slice_alf_aps_id_chroma가 존재하면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag 값은 1과 동일해야 한다.
...
slice_cc_alf_cb_aps_id 는 슬라이스의 Cb 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다.
slice_cc_alf_cb_enabled_flag가 1과 같고 slice_cc_alf_cb_aps_id가 존재하지 않으면, slice_cc_alf_cb_aps_id의 값은 ph_cc_alf_cb_aps_id의 값과 동일한 것으로 추론된다.
slice_cc_alf_cb_aps_id가 존재하면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag 값은 1과 같아야 한다.
...
slice_cc_alf_cr_aps_id 는 슬라이스의 Cr 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다. slice_cc_alf_cr_enabled_flag가 1과 같고 slice_cc_alf_cr_aps_id가 존재하지 않으면, slice_cc_alf_cr_aps_id의 값은 ph_cc_alf_cr_aps_id의 값과 동일한 것으로 추론된다.
slice_cc_alf_cr_aps_id가 존재하지 않으면, 다음이 적용된다:
- ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다.
- ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag 값은 1과 같아야 한다.
6.1.11. 1.g에 대한 실시예
SH 신택스 요소의 시맨틱은 다음과 같이 변경된다:
slice_alf_aps_id_chroma 는 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_chroma가 존재하지 않고 ChromaArrayType이 0이 아니면, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다.
...
slice_cc_alf_cb_aps_id 는 슬라이스의 Cb 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cb_enabled_flag가 1과 같고 slice_cc_alf_cb_aps_id가 존재하지 않고 ChromaArrayType이 0이 아니면 , slice_cc_alf_cb_aps_id의 값은 ph_cc_alf_cb_aps_id의 값과 동일한 것으로 추론된다.
...
slice_cc_alf_cr_aps_id 는 슬라이스의 Cr 색상 컴포넌트가 참조하는 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cr_enabled_flag가 1과 같고 slice_cc_alf_cr_aps_id가 존재하지 않고 ChromaArrayType이 0이 아니면 , slice_cc_alf_cr_aps_id의 값은 ph_cc_alf_cr_aps_id의 값과 동일한 것으로 추론된다.
...
6.2. 실시예의 제2 세트
이것은 섹션 5에 요약된 항목 2 (2.a에서 2.c까지)에 대한 일련의 실시예이다. 신택스 구조 pic_parameter_set_rbsp( )는 다음과 같이 변경된다:
Figure pct00082
...
0과 동일한 deblocking_filter_mode_idc는 PPS를 참조하는 임의의 슬라이스에 대해 디블로킹 필터가 적용되지 않음을 명시한다. 1과 동일한 deblocking_filter_mode_idc는
Figure pct00083
및 tC에 대한 0값 디블로킹 파라미터 오프셋을 사용하여 디블로킹 필터가 PPS를 참조하는 모든 슬라이스에 적용됨을 명시한다. 2와 동일한 deblocking_filter_mode_idc는 PPS에서 명시적으로 시그널링된
Figure pct00084
및 tC에 대한 디블로킹 파라미터 오프셋을 사용하여 디블로킹 필터가 PPS를 참조하는 모든 슬라이스에 적용됨을 명시한다. 3과 동일한 deblocking_filter_mode_idc는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터가 적용되는지 여부가 슬라이스의 슬라이스 헤더 또는 PH에 존재하는 파라미터에 의해 제어됨을 명시한다.
[[ 1과 동일한 deblocking_filter_control_present_flag는 PPS에서의 디블로킹 필터 제어 신택스 요소의 존재를 명시한다. 0과 동일한 deblocking_filter_control_present_flag는 PPS에서의 디블로킹 필터 제어 신택스 요소의 부재를 명시한다.
1과 동일한 deblocking_filter_override_enabled_flag는 PPS를 참조하는 PH에서의 ph_deblocking_filter_override_flag 또는 PPS를 참조하는 슬라이스 헤더에서의 slice_deblocking_filter_override_flag의 존재를 명시한다. 0과 동일한 deblocking_filter_override_enabled_flag는 PPS를 참조하는 PH에서의 ph_deblocking_filter_override_flag 또는 PPS를 참조하는 슬라이스 헤더에서의 slice_deblocking_filter_override_flag의 부재를 명시한다. 존재하지 않으면, deblocking_filter_override_enabled_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 pps_deblocking_filter_disabled_flag 는 slice_deblocking_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되지 않음을 명시한다. 0과 동일한 pps_deblocking_filter_disabled_flag는 slice_deblocking_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용됨을 명시한다. 존재하지 않으면, pps_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다. ]]
1과 동일한 dbf_info_in_ph_flag 는 디블로킹 필터 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 명시. 0과 동일한 dbf_info_in_ph_flag는 디블로킹 필터 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 명시한다. [[존재하지 않으면, dbf_info_in_ph_flag의 값은 0과 동일한 것으로 추론된다.]]
...
그리고, 신택스 구조 picture_header_structure( )는 다음과 같이 변경된다:
Figure pct00085
...
1과 동일한 ph_deblocking_filter_used_flag 는 디블로킹 필터가 현재 픽처의 슬라이스에 적용되는 것을 명시한다. 0과 동일한 ph_deblocking_filter_used_flag는 디블로킹 필터가 현재 픽처의 슬라이스에 적용되지 않음을 명시한다. 존재하지 않으면, ph_deblocking_filter_used_flag의 값은 ( deblocking_filter_mode_idc > 0 )와 동일한 것으로 추론된다.
1과 동일한 ph_deblocking_[[filter]] parameters _override_flag 는 디블로킹 파라미터가 PH에 존재함을 명시한다. 0과 동일한 ph_deblocking_[[filter]] parameters _override_flag는 디블로킹 필터가 PH에 존재하지 않음을 명시한다. 존재하지 않으면, ph_deblocking_filter_override_flag의 값은 0과 동일한 것으로 추론된다.
[[ 1과 동일한 ph_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 PH와 연관된 슬라이스에 대하여 적용되지 않음을 명시한다. 0과 동일한 ph_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 PH와 연관된 슬라이스에 대하여 적용되는 것을 명시한다. ph_deblocking_filter_disabled_flag가 존재하지 않는 경우, pps_deblocking_filter_disabled_flag와 동일한 것으로 유추된다. ]]
...
그리고, 신택스 구조 slice_header ( )는 다음과 같이 변경된다:
Figure pct00086
...
1과 동일한 slice_deblocking_filter_used_flag 는 디블로킹 필터가 현재 슬라이스에 대하여 적용되는 것을 명시한다. 0과 동일한 slice_deblocking_filter_used_flag는 디블로킹 필터가 현재 슬라이스에 대하여 적용되지 않음을 명시한다. 존재하지 않으면, slice_deblocking_filter_used_flag의 값은 ph_deblocking_filter_used_flag와 동일한 것으로 추론된다.
1과 동일한 slice_deblocking_[[filter]] parameters _override_flag 는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 명시한다. 0과 동일한 slice_deblocking_[[filter]] parameters _override_flag 는 디블로킹 파라미터가 슬라이스 헤더에 존재하지 않음을 명시한다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 [[ph_deblocking_filter_override_flag]] 0 과 동일한 것으로 추론된다.
[[ 1과 동일한 slice_deblocking_filter_disabled_flag 는 디블로킹 필터의 동작이 현재 슬라이스에 대하여 적용되지 않음을 명시한다. 0과 동일한 slice_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 현재 슬라이스에 적용되는 것을 명시한다. slice_deblocking_filter_disabled_flag가 존재하지 않는 경우, ph_deblocking_filter_disabled_flag와 동일한 것으로 추론된다. ]]
...
디블로킹 필터 프로세스의 디코딩 프로세스는 다음과 같이 변경된다:
8.8.3 디블로킹 필터 프로세스
8.8.3.1 일반
디블로킹 필터 프로세스는 다음 유형의 에지를 제외하고 픽처의 모든 코딩 서브블록 에지 및 변환 블록 에지에 적용된다:
- 픽처의 경계에 있는 에지,
- 서브픽처 인덱스 subpicIdx를 갖는 서브픽처의 경계와 일치하고 loop_filter_across_subpic_enabled_flag[ subpicIdx ]가 0과 동일한 에지,
- VirtualBoundariesPresentFlag가 1과 동일할 때 픽처의 가상 경계와 일치하는 에지,
- loop_filter_across_tiles_enabled_flag가 0과 동일할 때 타일 경계와 일치하는 에지,
- loop_filter_across_slices_enabled_flag가 0과 동일할 때 스라이스 경계와 일치하는 에지,
- [[1]] 0 와 동일한 slice_deblocking_filter_ used [[disabled]]_flag를 갖는 슬라이스의 상측 또는 좌측 경계와 일치하는 에지,
- [[1]] 0 와 동일한 slice_deblocking_filter_ used [[disabled]]_flag를 갖는 슬라이스 내의 에지들,
- 루마 컴포넌트의 4Х4 샘플 그리드 경계에 대응하지 않는 에지,
- 크로마 컴포넌트의 8Х8 샘플 그리드 경계에 대응하지 않는 에지,
- 에지의 양쪽이 1과 동일한 intra_bdpcm_luma_flag를 갖는 루마 컴포넌트 내의 에지들,
- 에지의 양쪽이 1과 동일한 intra_bdpcm_chroma_flag를 갖는 크로마 컴포넌트 내의 에지들,
- 연관된 변환 유닛의 에지들이 아닌 크로마 서브블록의 에지들.
에지 타입, 수직 또는 수평은 표 42에 명시된 바와 같이 변수 edgeType로 표시된다.
표 42 -edgeType에 대한 연관성의 이름
Figure pct00087
현재 슬라이스의 slice_deblocking_filter_ used [[disabled]]_flag가 [[0]] 1 과 동일하면, 다음이 적용된다:
- 변수 treeType은 DUAL_TREE_LUMA와 동일하게 설정된다.
- 수직 에지는, 변수 treeType, 디블로킹 전의 복원된 픽처, 즉, 어레이 recPictureL 및 EDGE_VER와 동일하게 설정된 변수 edgeType를 입력으로 하고 디블로킹 후의 수정된 복원된 픽처, 즉, 어레이 recPictureL 를 출력으로 하여, 절 8.8.3.2에 명시된 바와 같이 일 방향에 대한 디블로킹 필터 프로세스를 인보킹함으로써 필터링된다.
- 수평 에지는, 변수 treeType, 디블로킹 후의 수정된 복원된 픽처, 즉, 어레이 recPictureL 및 EDGE_HOR 와 동일하게 설정된 변수 edgeType를 입력으로 하고 디블로킹 후의 수정된 복원된 픽처, 즉, 어레이 recPictureL 를 출력으로 하여, 절 8.8.3.2에 명시된 바와 같이 일 방향에 대한 디블로킹 필터 프로세스를 인보킹함으로써 필터링된다.
- ChromaArrayType이 0과 동일하지 않으면, 다음이 적용된다:
- 변수 treeType은 DUAL_TREE_CHROMA와 동일하게 설정된다.
- 수직 에지는, 변수 treeType, 디블로킹 전의 복원된 픽처, 즉, 어레이 recPictureCb 및 recPictureCr 및 EDGE_VER와 동일하게 설정된 변수 edgeType를 입력으로 하고 디블로킹 후의 수정된 복원된 픽처, 즉, 어레이 recPictureCb 및 recPictureCr 를 출력으로 하여, 절 8.8.3.2에 명시된 바와 같이 일 방향에 대한 디블로킹 필터 프로세스를 인보킹함으로써 필터링된다.
- 수평 에지는, 변수 treeType, 디블로킹 후의 수정된 복원된 픽처, 즉, 어레이 recPictureCb 및 recPictureCr 및 EDGE_HOR 와 동일하게 설정된 변수 edgeType를 입력으로 하고 디블로킹 후의 수정된 복원된 픽처, 즉, 어레이 recPictureCb 및 recPictureCr 를 출력으로 하여, 절 8.8.3.2에 명시된 바와 같이 일 방향에 대한 디블로킹 필터 프로세스를 인보킹함으로써 필터링된다.
6.3. 실시예의 제3 세트
굵은 기울임꼴로 표시된 변경 사항은 JVET-Q2001-vE를 기반으로 한다.
i = 0..numQpTables - 1에 대한 i번째 크로마 QP 매핑 테이블 ChromaQpTable[ i ]은 다음과 같이 도출된다:
Figure pct00088
same_qp_table_for_chroma가 1과 같으면, ChromaQpTable[ 1 ][ k ] 및 ChromaQpTable[ 2 ][ k ]는 ChromaQpTable[ 0 ][ k ]와 동일하게 설정되며, 여기서 k는 -QpBdOffset에서 63(포함)의 범위에 있다.
qpInVal[ i ][ j ] 및 qpOutVal[ i ][ j ]의 값들은 -QpBdOffset 에서 63(포함)의 범위에 있어야 하는 것이 비트스트림 적합성의 요구사항이며, 여기서, i 는 0 에서 numQpTables - 1(포함)의 범위에 있고, j는 0에서 num_points_in_qp_table_minus1[ i ] + 1(포함)의 범위에 있다.
6.4. 제4 실시예
(SPS 플래그를 제외한 JVET-R0159-v2의 텍스트에 기반한) PPS 시맨틱:
...
1과 동일한 deblocking_filter_control_present_flag 는 PPS에서의 디블로킹 필터 제어 신택스 요소의 존재를 명시한다. 0과 동일한 deblocking_filter_control_present_flag는 PPS에서의 디블록킹 필터 제어 신택스 요소의 부재를 명시하고, 디블로킹 필터가
Figure pct00089
및 tC에 대한 0값 디블록킹 파라미터 오프셋을 사용하여 PPS를 참조하는 모든 슬라이스에 대하여 적용 됨을 명시한다.
1과 동일한 deblocking_filter_override_enabled_flag 는 PPS를 참조하는 PH에서의 ph_deblocking_filter_override_flag 또는 PPS를 참조하는 슬라이스 헤더에서의 slice_deblocking_filter_override_flag의 존재를 명시한다. 0과 동일한 deblocking_filter_override_enabled_flag는 PPS를 참조하는 PH에서의 ph_deblocking_filter_override_flag 또는 PPS를 참조하는 슬라이스 헤더에서의 slice_deblocking_filter_override_flag의 부재를 명시한다. 존재하지 않으면, deblocking_filter_override_enabled의 값은 0과 동일한 것으로 추론된다.
[[ 1과 동일한 pps_deblocking_filter_disabled_flag 는 slice_deblocking_filter_disabled_flag 및 ph_deblockig_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되지 않음을 명시한다. 0과 동일한 pps_deblocking_filter_disabled_flag는 slice_deblocking_filter_disabled_flag 및 ph_deblocking_filter_disabled_flag가 존재하지 않는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용됨을 명시한다. 존재하지 않으면, pps_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
또는
1과 동일한 pps_deblocking_filter_disabled_flag 는 deblocking_filter_override_enabled_flag가 0과 동일할 때 PPS를 참조하는 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 명시한다. 0과 동일한 pps_deblocking_filter_disabled_flag는 deblocking_filter_override_enabled_flag가 0과 동일할 때 PPS를 참조하는 슬라이스에 대하여 디블로킹 필터의 동작이 적용됨을 명시한다. 존재하지 않으면, pps_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다. ]]
1과 동일한 pps_deblocking_filter_disabled_flag 는 픽처 또는 슬라이스 레벨에서 달리 표시되지 않는 한 디블로킹 필터의 동작이 PPS를 참조하는 슬라이스에 대해 디스에이블됨을 명시한다. 0과 동일한 pps_deblocking_filter_disabled_flag는 픽처 또는 슬라이스 레벨에서 달리 표시되지 않는 한 디블로킹 필터의 동작이 PPS를 참조하는 슬라이스에 대해 인에이블됨을 명시한다.
...
신택스 구조 picture_header_structure( )는 다음과 같이 변경된다:
Figure pct00090
...
1과 동일한 ph_deblocking_filter_override_flag 는 디블로킹 파라미터가 PH에 존재함을 명시한다. 0과 동일한 ph_deblocking_filter_override_flag는 디블로킹 파라미터가 PH에 존재하지 않음을 명시한다. 존재하지 않으면, ph_deblocking_filter_override_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 ph_deblocking_filter_disabled_flag 는 [[slice_deblocking_filter_disabled_flag가 존재하지 않는 [주: ph_deblocking_filter_disabled_flag가 존재하면, slice_deblocking_filter_disabled_flag가 픽처의 임의의 슬라이스의 SH에 존재하지 않아 제거될 것이다] ]] PH와 연관된 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 명시한다. 0과 동일한 ph_deblocking_filter_disabled_flag는 [[slice_deblocking_filter_disabled_flag가 존재하지 않는 [주: ph_deblocking_filter_disabled_flag가 존재하면, slice_deblocking_filter_disabled_flag가 픽처의 임의의 슬라이스의 SH에 존재하지 않아 제거될 것이다] ]] PH와 연관된 슬라이스에 대하여 디블로킹 필터의 동작이 적용됨을 명시한다.
ph_deblocking_filter_disabled_flag가 존재하지 않으면, 이는 다음과 같이 추론된다 :
- deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabled_flag 및 ph_deblocking_filter_override_flag 가 모두 1과 동일하면, ph_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다. [대안적으로, 이 문장은 또한 다음과 같이 표현될 수 있다: pps_deblocking_filter_disabled_flag 및 ph_deblocking_filter_override_flag 가 모두 1과 동일하면, ph_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.]
- 그렇지 않으면, ph_deblocking_filter_disabled_flag의 값은 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다 .
...
그리고, 신택스 구조 slice_header ( )는 다음과 같이 변경된다:
Figure pct00091
...
1과 동일한 slice_deblocking_filter_override_flag 는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 명시한다. 0과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재하지 않음을 명시한다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 [[ph_deblocking_filter_override_flag]] 0 과 동일한 것으로 추론된다.
1과 동일한 slice_deblocking_filter_disabled_flag 는 디블로킹 필터의 동작이 현재 슬라이스에 대하여 적용되지 않음을 명시한다. 0과 동일한 slice_deblocking_filter_disabled_flag는 디블로킹 필터의 동작이 현재 슬라이스에 대하여 적용되는 것을 명시한다.
slice_deblocking_filter_disabled_flag가 존재하지 않으면, 이는 다음과 같이 추론된다:
- deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabled_flag 및 slice_deblocking_filter_override_flag 가 모두 1과 동일하면, slice_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다. [대안적으로, 이 문장은 또한 다음과 같이 표현된다: pps_deblocking_filter_disabled_flag 및 slice_deblocking_filter_override_flag 가 모두 1과 동일하면, slice_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.]
- 그렇지 않으면, slice_deblocking_filter_disabled_flag의 값은 ph_deblocking_filter_disabled_flag와 동일한 것으로 추론된다 .
6.5. 제5 실시예
굵게 및 기울임꼴로 표시된 변경 사항은 JVET-P2001-vE를 기반으로 한다.
Figure pct00092
6.6. 제6 실시예
7.3.2.5. 적응 파라미터 세트 RBSP 신택스
Figure pct00093
1과 동일한 aps_chroma_params_present_flag 는 APS NAL 유닛이 크로마 정보를 포함할 수 있음을 명시한다. 0과 동일한 aps_chroma_params_present_flag는 APS NAL 유닛이 크로마 정보를 포함하지 않는다는 것을 명시한다.
7.3.2.19 적응적 루프 필터 데이터 신택스
Figure pct00094
7.3.2.20 LMCS(Luma mapping with chroma scaling) 데이터 신택스
Figure pct00095
7.3.2.21 스케일링 리스트 데이터 신택스
Figure pct00096
Figure pct00097
그리고, PH 시맨틱은 다음과 같이 변경된다:
...
ph_alf_aps_id_luma[ i ] 는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ChromaArrayType이 0과 동일하면, ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag 값은 0과 동일해야 한다.
...
ph_lmcs_aps_id 는 PH와 연관된 슬라이스가 참조하는 LMCS APS의 adaptation_parameter_set_id 를 명시한다. LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ChromaArrayType이 0과 동일하면, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag 값은 0과 동일해야 한다.
...
ph_scaling_list_aps_id 는 스케일링 리스트 APS의 adaptation_parameter_set_id 를 명시한다. SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag의 값은 ChromaArrayType  = =  0 ? 0 : 1과 같아야 한다.
그리고, PH 시맨틱은 다음과 같이 변경된다:
slice_alf_aps_id_luma[ i ] 는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0과 동일하면, ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag 값은 0과 동일해야 한다.
...
그리고, ALF 데이터 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 alf_luma_filter_signal_flag 는 루마 필터 세트가 시그널링되는 것을 명시한다. 0과 동일한 alf_luma_filter_signal_flag는 루마 필터 세트가 시그널링되지 않음을 명시한다.
1과 동일한 alf_chroma_filter_signal_flag 는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. 존재하지 않으면, alf_chroma_filter_signal_flag의 값은 0과 동일한 것으로 추론된다. [[ChromaArrayType이 0과 동일하면, alf_chroma_filter_signal_flag는 0과 동일해야 한다.]]
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. 존재하지 않으면, alf_cc_cb_filter_signal_flag 의 값은 0과 동일한 것으로 추론된다. [[ChromaArrayType이 0과 동일하면, alf_cc_cb_filter_signal_flag는 0과 동일해야 한다.]]
1과 동일한 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. 존재하지 않으면, alf_cc_cr_filter_signal_flag의 값은 0과 동일한 것으로 추론된다. [[ChromaArrayType이 0과 동일하면, alf_cc_cr_filter_signal_flag 는 0과 동일해야 한다.]]
...
그리고, SCALING 데이터 시맨틱은 다음과 같이 변경된다:
...
[[ 1과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data( )에 존재함을 명시한다. 0과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data( )에 존재하지 않음을 명시한다. scaling_list_chroma_present_flag 는 ChromaArrayType이 0과 동일하면 0과 동일해야 하고 ChromaArrayType이 0과 동일하지 않으면 1과 동일해야 하는 것이 비트스트림 적합성의 요구사항이다. ]]
6.7. 제7 실시예
7.3.2.6 Adaptation parameter set RBSP syntax
Figure pct00098
1과 동일한 aps_chroma_params_present_flag 는 APS NAL 유닛이 크로마 정보를 포함할 수 있음을 명시한다. 0과 동일한 aps_chroma_params_present_flag는 APS NAL 유닛이 크로마 정보를 포함하지 않는다는 것을 명시한다.
7.3.2.19 적응적 루프 필터 데이터 신택스
Figure pct00099
7.3.2.20 LMCS 데이터 신택스
Figure pct00100
7.3.2.21 스케일링 리스트 데이터 신택스
Figure pct00101
Figure pct00102
시맨틱은 변경된다:
lmcs_delta_abs_crs_minus1 plus 1 는 변수 lmcsDeltaCrs의 절대 코드워드 값을 명시한다. lmcs_delta_abs_crs_minus1 의 값은 0 및 7(포함)의 범위에 있어야 한다. 존재하지 않으면, lmcsDeltaCrs 은 0과 동일한 것으로 추론된다 .
그리고, PH 시맨틱은 다음과 같이 변경된다:
...
ph_alf_aps_id_luma[ i ] 는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ChromaArrayType이 0과 동일하면, ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag 값은 0과 동일해야 한다.
...
ph_lmcs_aps_id 는 PH와 연관된 슬라이스가 참조하는 LMCS APS의 adaptation_parameter_set_id 를 명시한다. LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ChromaArrayType이 0과 동일하면, LMCS_APS와 동일한 aps_params_type 및 ph_lmcs_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag 값은 0과 동일해야 한다.
...
ph_scaling_list_aps_id 는 스케일링 리스트 APS의 adaptation_parameter_set_id 를 명시한다. SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag의 값은 ChromaArrayType  = =  0 ? 0 : 1와 동일해야 한다.
그리고, PH 시맨틱은 다음과 같이 변경된다:
slice_alf_aps_id_luma[ i ] 는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 같고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag 값은 1과 동일해야 한다.
ChromaArrayType이 0과 동일하면, ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 aps_chroma_params_present_flag 값은 0과 동일해야 한다.
...
그리고, ALF 데이터 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 alf_luma_filter_signal_flag 는 루마 필터 세트가 시그널링되는 것을 명시한다. 0과 동일한 alf_luma_filter_signal_flag는 루마 필터 세트가 시그널링되지 않음을 명시한다.
1과 동일한 alf_chroma_filter_signal_flag 는 크로마 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_chroma_filter_signal_flag는 크로마 필터가 시그널링되지 않음을 명시한다. 존재하지 않으면, alf_chroma_filter_signal_flag의 값은 0과 동일한 것으로 추론된다. [[ChromaArrayType이 0과 동일하면, alf_chroma_filter_signal_flag는 0과 동일해야 한다.]]
1과 동일한 alf_cc_cb_filter_signal_flag 는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cb_filter_signal_flag는 Cb 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. 존재하지 않으면, alf_cc_cb_filter_signal_flag의 값은 0과 동일한 것으로 추론된다. [[ChromaArrayType이 0과 동일하면, alf_cc_cb_filter_signal_flag는 0과 동일해야 한다.]]
1과 동일한 alf_cc_cr_filter_signal_flag 는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는 것을 명시한다. 0과 동일한 alf_cc_cr_filter_signal_flag는 Cr 색상 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되지 않음을 명시한다. 존재하지 않으면, alf_cc_cr_filter_signal_flag의 값은 aps_chroma_params_present_flag와 동일한 것으로 추론된다. [[ChromaArrayType이 0과 동일하면, alf_cc_cr_filter_signal_flag는 0과 같아야 한다.]]
...
그리고, SCALING 데이터 시맨틱은 다음과 같이 변경된다:
...
[[ 1과 동일한 scaling_list_chroma_present_flag 는 크로마 스케일링 리스트가 scaling_list_data()에 존재함을 명시한다. 0과 동일한 scaling_list_chroma_present_flag는 크로마 스케일링 리스트가 scaling_list_data()에 존재하지 않음을 명시한다. scaling_list_chroma_present_flag는 ChromaArrayType이 0과 동일하면 0과 동일해야 하고 ChromaArrayType이 0과 동일하지 않으면 1과 동일해야 하는 것이 비트스트림 적합성의 요구사항이다.]]
...
6.8. 제8 실시예
7.3.2.5 적응 파라미터 세트 RBSP 신택스
Figure pct00103
7.3.2.7 픽처 헤더 구조 신택스
Figure pct00104
7.3.7.1 일반 슬라이스 헤더 신택스
Figure pct00105
Figure pct00106
7.4.3.5 적응적 파라미터 세트 시맨틱
각 APS RBSP는 참조되기 전에 디코딩 프로세스에서 사용할 수 있어야 하며, 이를 참조하거나 외부 수단을 통해 제공되는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같은 TemporalId를 갖는 적어도 하나의 AU에 포함된다.
프리픽스 또는 서피스 APS NAL 유닛인지 여부에 관계없이 PU 내의 특정 값의 adaptation_parameter_set_id 및 특정 값의 aps_params_type을 갖는 모든 APS NAL 유닛은 동일한 내용을 가져야 한다.
adaptation_parameter_set_id 는 다른 신택스 요소에 의해 참조될 수 있도록 APS에 대한 식별자를 제공한다.
aps_params_type이 ALF_APS [[or SCALING_APS]]와 동일하면, adaptation_parameter_set_id의 값은 0에서 [[7]] 246 (포함)의 범위에 있어야 한다.
aps_params_type 이 SCALING_APS,와 동일하면 adaptation_parameter_set_id 값은 0 에서 7 (포함) 의 범위에 있어야 한다.
aps_params_type이 LMCS_APS와 동일하면, adaptation_parameter_set_id의 값은 0에서 3(포함)의 범위에 있어야 한다.
apsLayerId를 특정 APS NAL 유닛의 nuh_layer_id의 값이라고 하고, vclLayerId를 특정 VCL NAL 유닛의 nuh_layer_id의 값이라고 하자. 특정 VCL NAL 유닛은, apsLayerId가 vclLayerId보다 작거나 같고 apsLayerId와 동일한 nuh_layer_id를 갖는 레이어가 vclLayerId와 동일한 nuh_layer_id를 갖는 레이어를 포함하는 적어도 하나의 OLS에 포함되지 않는 한 특정 APS NAL 유닛을 참조하지 않아야 한다.
aps_params_type 는 표 6에 명시된 바와 같이 APS에서 전달되는 APS 파라미터의 타입을 명시한다.
...
적응적 루프 필터 클래스의 총 수, 크로마 컴포넌트에 대한 대체 필터의 총 수 및 크로스 컴포넌트 필터의 수, 0과 동일한 aps_params_type를 갖는 모든 APS NAL 유닛의 크로스 컴포넌트 필터의 총 수는 각각 200, 64, 64 보다 크지 않다.
nuh_layer_id 값에 관계없이 aps_params_type의 특정 값을 갖는 모든 APS NAL 유닛은 adaptation_parameter_set_id 에 대해 동일한 값 공간을 공유한다. aps_params_type의 다른 값을 갖는 APS NAL 유닛은 adaptation_parameter_set_id 에 대해 별도의 값 공간을 사용한다.
7.4.3.7 픽처 헤더 구조 시맨틱
ph_num_alf_aps_ids_luma 는 PH와 연관된 슬라이스가 참조하는 ALF APS의 수를 명시한다. ph_num_alf_aps_ids_luma의 값은 0에서 200(포함)의 범위에 있어야 한다.
ph_alf_aps_id_luma[ i ] 는 PH와 연관된 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_luma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다.
ph_alf_aps_id_chroma 는 PH와 연관된 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_chroma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다.
ph_cc_alf_cb_aps_id 는 PH와 연관된 슬라이스의 Cb 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_chroma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다.
ph_cc_alf_cr_aps_id 는 PH와 연관된 슬라이스의 Cr 색상 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ph_alf_aps_id_chroma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다.
...
7.4.8.1 일반 슬라이스 헤더 시맨틱
slice_num_alf_aps_ids_luma 는 슬라이스가 참조하는 ALF APS의 수를 명시한다. slice_alf_enabled_flag가 1과 동일하고 slice_num_alf_aps_ids_luma가 존재하지 않으면, slice_num_alf_aps_ids_luma의 값은 ph_num_alf_aps_ids_luma의 값과 동일한 것으로 추론된다. slice_num_alf_aps_ids_luma의 값은 0에서 200(포함)의 범위에 있어야 한다.
slice_alf_aps_id_luma[ i ] 는 슬라이스의 루마 컴포넌트가 참조하는 i번째 ALF APS의 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_luma[ i ]가 존재하지 않는 경우, slice_alf_aps_id_luma[ i ]의 값은 ph_alf_aps_id_luma[ i ]의 값과 동일한 것으로 추론된다. slice_alf_aps_id_luma[ i ]의 값은 0에서 327(포함)의 범위에 있어야 한다.
slice_alf_aps_id_chroma 는 슬라이스의 크로마 컴포넌트가 참조하는 ALF APS의 adaptation_parameter_set_id 를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_chroma가 존재하지 않는 경우, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다. slice_alf_aps_id_chroma의 값은 0에서 327(포함)의 범위에 있어야 한다.
slice_cc_alf_cb_aps_id 는 슬라이스의 Cb 색상 컴포넌트가 참조하는 adaptation_parameter_set_id를 명시한다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cb_enabled_flag가 1과 동일하고 slice_cc_alf_cb_aps_id가 존재하지 않으면, slice_cc_alf_cb_aps_id의 값은 ph_cc_alf_cb_aps_id의 값과 동일한 것으로 추론된다. slice_cc_alf_cb_aps_id의 값은 0에서 327(포함)의 범위에 있어야 한다 .
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cb_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cb_filter_signal_flag의 값은 1과 동일해야 한다.
slice_cc_alf_cr_aps_id 는 슬라이스의 Cr 색상 컴포넌트가 참조하는 adaptation_parameter_set_i를 명시한다. ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cc_alf_cr_enabled_flag가 1과 동일하고 slice_cc_alf_cr_aps_id가 존재하지 않으면, slice_cc_alf_cr_aps_id의 값은 ph_cc_alf_cr_aps_id의 값과 동일한 것으로 추론된다. slice_cc_alf_cr_aps_id의 값은 0에서 327(포함)의 범위에 있어야 한다.
ALF_APS와 동일한 aps_params_type 및 slice_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id 를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag 값은 1과 동일해야 한다.
6.9. 제9 실시예
7.3.2.5 적응 파라미터 세트 RBSP 신택스
Figure pct00107
6.10. 제10 실시예
Figure pct00108
6.11. 제11 실시예
일 예에서, PH 신택스 테이블은 다음과 같이 변경된다:
Figure pct00109
그리고, 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 ph_collocated_from_l0_flag 는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0로부터 유두됨을 명시한다. 0과 동일한 ph_collocated_from_l0_flag는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드된 화상이 참조 픽처 리스트 1로부터 도출됨을 명시한다. ph_collocated_from_l0_flag의 값은 1과 동일한 것으로 추론된다 존재하지 않으면.
...
1과 동일한 mvd_l1_zero_flag 는 mvd_coding( x0, y0, 1) 신택스 구조가 파싱되지 않고 MvdL1[ x0 ][ y0 ][ compIdx ] 및 MvdCpL1[ x0 ][ y0 ][ cpIdx ][ compIdx ] 가 0과 같게 설정됨을 나타내고, 여기서, compIdx = 0..1 및 cpIdx = 0..2이다. 0과 동일한 mvd_l1_zero_flag는 mvd_coding(x0, y0, 1) 신택스 구조가 파심됨을 나타낸다. 존재하지 않으면 mvd_l1_zero_flag의 값은 1과 동일한 것으로 추론된다.
...
1과 동일한 ph_disable_bdof_flag 는 양방향 광 흐름 인터 예측 기반 인터 양 예측(bi-prediction)이 PH와 연관된 슬라이스에서 디스에이블됨을 명시한다. 0과 동일한 ph_disable_bdof_flag는 양방향 광 흐름 인터 예측 기반 인터 양방향 예측이 PH와 연관된 슬라이스에서 인에이블되거나 인에이블되지 않을 수 있음을 명시한다.
ph_disable_bdof_flag가 존재하지 않으면, 다음이 적용된다:
- rpl_info_in_ph_flag가 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ]가 0과 동일하면,   ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
- 그렇지 않으면, i [[I]]f sps_bdof_enabled_flag가 1과 동일하고, ph_disable_bdof_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_bdof_enabled_flag가 0과 동일하면), ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
1과 동일한 ph_disable_dmvr_flag 는 디코더 움직임 벡터 리파인먼트 기반 인터 양예측이 PH와 연관된 슬라이스에서 디스에이블됨을 명시한다. 0과 동일한 ph_disable_dmvr_flag는 디코더 움직임 벡터 리파인먼트 기반 인터 양예측이 PH와 연관된 슬라이스에서 인에이블되거나 인에이블되지 않을 수도 있음을 명시한다.
ph_disable_dmvr_flag가 존재하지 않으면, 다음이 적용된다:
- rpl_info_in_ph_flag가 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ]가 0과 동일하면,   ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
- 그렇지 않으면, i [[I]]f sps_dmvr_enabled_flag는 1과 동일하고, ph_disable_dmvr_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 (sps_dmvr_enabled_flag가 0과 동일), ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
...
그리고, 신택스 테이블 pred_weight_table( )음 다음과 같이 변경된다:
Figure pct00110
그리고, num_l1_weights의 시맨틱은 다음과 같이 변경된다:
num_l1_weights 는 pps_weighted_bipred_flag 및 wp_info_in_ph_flag가 둘 다 1과 동일할 때 참조 픽처 리스트 1의 엔트리에 대해 시그널링된 가중치의 수를 명시한다. num_l1_weights의 값은 0에서 Min( 15, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] )(포함)의 범위에 있어야 한다.
변수 NumWeightsL1는 다음과 같이 도출된다:
Figure pct00111
6.12. 제12 실시예
일 예에서, PH 신택스 테이블은 다음과 같이 변경된다:
Figure pct00112
그리고, 시맨틱은 다음과 같이 변경된다:
...
1과 동일한 ph_collocated_from_l0_flag 는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0로부터 도출됨을 명시한다. 0과 동일한 ph_collocated_from_l0_flag는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 1로부터 도출됨을 명시한다. ph_temporal_mvp_enabled_flag 및 rpl_info_in_ph_flag가 모두 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, ph_collocated_from_l0_flag의 값은 1과 동일한 것으로 추론된다.
...
1과 동일한 mvd_l1_zero_flag 는 mvd_coding( x0, y0, 1) 신택스 구조가 파싱되지 않고 MvdL1[ x0 ][ y0 ][ compIdx ] 및 MvdCpL1[ x0 ][ y0 ][ cpIdx ][ compIdx ] 0과 같게 설정됨을 명시하고, 여기서, compIdx = 0..1 및 cpIdx = 0..2이다. 0과 동일한 mvd_l1_zero_flag는 mvd_coding( x0, y0, 1 ) 신택스 구조가 파싱됨을 명시한다. 존재하지 않으면, mvd_l1_zero_flag의 값은 1로 추론된다.
...
1과 동일한 ph_disable_bdof_flag 는 양방향 광 흐름 인터 예측 기반 인터 양 예측이 PH와 연관된 슬라이스에서 디스에이블됨을 명시한다. 0과 동일한 ph_disable_bdof_flag는 양방향 광 흐름 인터 예측 기반 인터 양 예측이 PH와 연관된 슬라이스에서 인에이블되거나 인에이블되지 않을 수 있음을 명시한다.
ph_disable_bdof_flag가 존재하지 않으면, 다음이 적용된다:
- sps_bdof_enabled_flag 및 rpl_info_in_ph_flag가 모두 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ]가 0보다 크면  , ph_disable_bdof_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 [[(sps_bdof_enabled_flag가 0과 동일하면)]], ph_disable_bdof_flag의 값은 1과 동일한 것으로 추론된다.
1과 동일한 ph_disable_dmvr_flag 는 디코더 움직임 벡터 리파인먼트 기반 인터 양 예측이 PH와 연관된 슬라이스에서 디스에이블됨을 명시한다. 0과 동일한 ph_disable_dmvr_flag는 디코더 움직임 벡터 리파인먼트 기반 인터 양 예측이 PH와 연관된 슬라이스에서 인에이블되거나 인에이블되지 않을 수도 있음을 명시한다.
ph_disable_dmvr_flag가 존재하지 않으면, 다음이 적용된다:
- sps_dmvr_enabled_flag 및 rpl_info_in_ph_flag가 둘다 are 1과 동일하고 num_ref_entries[ 1 ][ RplsIdx[ 1 ]가 0보다 크면 , ph_disable_dmvr_flag의 값은 0과 동일한 것으로 추론된다.
- 그렇지 않으면 [[(sps_dmvr_enabled_flag가 0과 동일하면)]], ph_disable_dmvr_flag의 값은 1과 동일한 것으로 추론된다.
...
그리고, 신택스 테이블 pred_weight_table( )은 다음과 같이 변경된다:
Figure pct00113
그리고, num_l1_weights의 시맨틱은 다음과 같이 변경된다:
num_l1_weights 는 pps_weighted_bipred_flag 및 wp_info_in_ph_flag가 둘 다 1일 때 참조 픽처 리스트 1의 엔트리에 대해 시그널링된 가중치의 수를 명시한다. num_l1_weights의 값은 0에서 Min( 15, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] )(포함)의 범위 내에 있어야 한다.
변수 NumWeightsL1는 다음과 같이 도출된다:
Figure pct00114
6.13. 제13 실시예
위의 문제를 해결하기 위해 다음 변경 사항이 제안되며 추가된 부분은 굵게 및 기울임꼴로 강조 표시된다.
Figure pct00115
...
0과 동일한 ph_intra_slice_allowed_flag 는 픽처의 모든 코딩된 슬라이스가 0 또는 1과 동일한 slice_type을 갖는다는 것을 명시한다. 1과 동일한 ph_intra_slice_allowed_flag는 2와 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 명시한다. 존재하지 않으면, ph_intra_slice_allowed_flag의 값은 ( 1   - ph_inter_slice_allowed_flag) 와 동일한 것으로 추론된다.
대안적으로, 다음이 적용된다:
...
0과 동일한 ph_intra_slice_allowed_flag 는 픽처의 모든 코딩된 슬라이스가 0 또는 1과 동일한 slice_type을 갖는다는 것을 명시한다. 1과 동일한 ph_intra_slice_allowed_flag는 2와 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 명시한다. 존재하지 않으면, ph_intra_slice_allowed_flag의 값은 [[1]] (!no_pic_partition_flag && !( rect_slice_flag && num_slices_in_pic_minus1 = = 0 ))? (1 - ph_inter_slice_allowed_flag) : 0 와 동일한 것으로 추론된다.
도 1은 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(1900)을 도시하는 블록도이다. 다양한 구현예는 시스템(1900)의 컴포넌트의 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(1902)을 포함할 수 있다. 비디오 콘텐츠는 원(raw) 또는 압축되지 않은 포맷, 예를 들어 8 또는 10비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다. 입력(1902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(1900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(704)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 코딩 컴포넌트(1904)의 입력(1902)으로부터 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다. 코딩 컴포넌트(1904)의 출력은 컴포넌트(1906)에 의해 표현된 바와 같이 저장되거나 연결된 통신을 통해 전송될 수 있다. 입력(1902)에서 수신된 비디오의 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1910)로 전송되는 디스플레이가능한 비디오 또는 픽셀 값을 생성하기 위한 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 또한, 특정 비디오 처리 동작은 "코딩" 동작 또는 툴로 지칭되지만, 코딩 툴 또는 동작은 인코더에서 사용되며, 코딩의 결과를 역전시키는 해당 디코딩 툴 또는 동작은 디코더에 의해 수행될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예는 USB(Universal Serial Bus) 또는 HDMI(High Definition Multimedia Interface) 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스의 예로는 SATA(Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에서 설명된 기술은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 휴대폰, 랩탑, 스마트폰 또는 기타 장치와 같은 다양한 전자 장치에서 구현될 수 있다.
도 2는 비디오 프로세싱 장치(3600)의 블록도이다. 장치(3600)는 여기에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(3600)는 하나 이상의 프로세서(3602), 하나 이상의 메모리(3604) 및 비디오 프로세싱 하드웨어(3606)를 포함할 수 있다. 프로세서(들)(3602)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리)(3604)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(3806)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다.
도 4는 본 개시의 기법들을 이용할 수 있는 예시적인 비디오 코딩 시스템(100)을 예시하는 블록도이다.
도 4에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성하고, 비디오 인코딩 디바이스로 지칭될 수 있다. 목적지 디바이스 (120)는 소스 디바이스 (110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있고, 비디오 디코딩 디바이스로 지칭될 수도 있다.
소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114), 및 입력/출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 디바이스와 같은 소스, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처 및 연관된 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 연관된 데이터는 시퀀스 파라미터 세트, 픽처 파라미터 세트, 및 기타 신택스 구조를 포함할 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(130a)를 통해 I/O 인터페이스(116)를 통해 목적지 디바이스(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) 표준, VVC(Versatile Video Coding) 표준 및 다른 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 5는 도 4에 예시된 시스템(100)의 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 예를 예시하는 블록도이다.
비디오 인코더(200)는 본 개시의 기법들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다. 도 5의 예에서. 비디오 인코더(200)는 복수의 기능적 컴포넌트를 포함한다. 본 개시에서 설명된 기법들은 비디오 인코더 (200)의 다양한 컴포넌트들 사이에서 공유될 수도 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기법들 중 임의의 것 또는 모든 기법을 수행하도록 구성될 수도 있다.
비디오 인코더(200)의 기능적 컴포넌트는 분할부(201), 모드 선택부(203), 모션 추정부(204), 모션 보상부(205) 및 인트라 예측부(206)을 포함할 수 있는 예측부(202), 잔차 생성부(207), 변환부(208), 양자화부(209), 역양자화부(210), 역변환부(211), 복원부(212), 버퍼(213), 엔트로피 인코딩부(214)를 포함한다.
다른 예들에서, 비디오 인코더 (200)는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수 있다. 일 예에서, 예측부(202)는 인트라 블록 카피(IBC) 유닛을 포함할 수 있다. IBC 유닛은, 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치한 픽처인 IBC 모드에서 예측을 수행할 수 있다.
또한, 모션 추정부(204) 및 모션 보상부(205)와 같은 일부 컴포넌트는 고도로 통합될 수 있지만, 도 5의 예에서는 설명을 목적으로 개별적으로 표현된다.
분할부(201)는 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택부(203)는 예를 들어, 에러 결과들에 기초하여 인트라 또는 인터 코딩 모드들 중 하나를 선택할 수 있고, 결과적인 인트라- 또는 인터-코딩된 블록을 잔차 생성부(207)에 제공하여 잔차 블록 데이터를 생성하고 복원부(212)에 제공하여 참조 픽처로서 사용될 인코딩된 블록을 복원할 수 있다. 일부 예에서, 모드 선택부(203)는 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(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)가 비디오 블록을 복원한 후, 루프 필터링 동작이 수행되어 비디오 블록에서 비디오 블록킹 아티팩트(video blocking artifacts)를 감소시킬 수 있다.
엔트로피 인코딩부(214)는 비디오 인코더(200)의 다른 기능적 컴포넌트들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩부(214)가 데이터를 수신하면, 엔트로피 인코딩부(214)는 하나 이상의 엔트로피 인코딩 동작을 수행하여 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력한다.
도 6은 도 4에 예시된 시스템(100)의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 나타내는 블록도이다.
비디오 디코더(300)는 본 개시의 기법들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다. 도 6의 예에서, 비디오 디코더(300)는 복수의 기능적 컴포넌트를 포함한다. 본 개시에서 설명된 기법들은 비디오 디코더(300)의 다양한 컴포넌트들 사이에서 공유될 수도 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기법들 중 임의의 것 또는 모두를 수행하도록 구성될 수 있다.
도 6의 예에서, 비디오 디코더(300)는 엔트로피 디코딩부(301), 모션 보상부(302), 인트라 예측부(303), 역양자화부(304), 역변환부(305), 변환부(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)(도 5)에 대해 설명된 인코딩 패스(encoding pass)에 일반적으로 역인 디코딩 패스를 수행한다.
엔트로피 디코딩부(301)는 인코딩된 비트스트림을 검색(retrieve)할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)를 포함할 수 있다. 엔트로피 디코딩부(301)는 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상부(302)는 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상부(302)는 예를 들어 AMVP 및 머지 모드를 수행함으로써 그러한 정보를 결정할 수 있다.
모션 보상부(302)는 모션 보상된 블록을 생성할 수 있고, 가능하게는 보간 필터에 기초하여 보간을 수행할 수 있다. 서브픽셀 정밀도와 함께 사용될 보간 필터에 대한 식별자가 신택스 요소에 포함될 수 있다.
모션 보상부(302)는 비디오 블록의 인코딩 동안 비디오 인코더(200)에 의해 사용되는 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 모션 보상부(302)는 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터들을 결정할 수 있고 보간 필터를 사용하여 예측 블록들을 생성할 수 있다.
모션 보상부(302)는 신택스 정보의 일부를 사용하여 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 픽처의 각 매크로 블록이 어떻게 분할되는지를 설명하는 분할 정보, 각각의 분할이 인코딩되는 방법을 나타내는 모드, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임 (및 참조 프레임 리스트) 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 결정할 수 있다.
인트라 예측부(303)는 예를 들어 비트스트림에서 수신된 인트라 예측 모드들을 사용하여 공간적으로 인접한 블록들로부터 예측 블록을 형성할 수 있다. 역양자화부(303)는, 비트스트림에 제공되고 엔트로피 디코딩부(301)에 의해 디코딩된 양자화된 비디오 블록 계수를 역양자화(inverse quantize), 즉 역양자화(de-quantize)한다. 역변환부(303)는 역변환을 적용한다.
복원부(306)는 모션 보상부(202) 또는 인트라 예측부(303)에 의해 생성된 해당 예측 블록들과 잔차 블록들을 합산하여 디코딩된 블록들을 형성할 수 있다. 원하는 경우, 블록화(blockiness) 아티팩트를 제거하기 위해 디블로킹 필터를 적용하여 디코딩된 블록을 필터링할 수 있다. 그 다음 디코딩된 비디오 블록은 버퍼(307)에 저장되고, 버퍼는 후속 모션 보상/인트라 예측을 위한 참조 블록을 제공하고 또한 디스플레이 디바이스 상의 프리젠테이션을 위해 디코딩된 비디오를 생성한다.
일부 실시예에 의해 선호되는 예들의 리스트가 다음에 제공된다.
제1 세트의 조항은 이전 섹션에서 논의된 기술의 예시적인 실시예를 보여준다. 다음 조항은 이전 섹션(예를 들어, 항목 1)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 하나 이상의 크로마 컴포넌트를 갖는 비디오 간의 변환을 수행하는 단계(3002)를 포함하고, 상기 비디오는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처 및 상기 비디오의 코딩된 표현을 포함함, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은, 크로마 어레이 타입 필드가 상기 변환 동안 사용되는 크로마의 변환 특성에 대한 제한을 제어함을 명시하는 비디오 프로세싱 방법(예를 들어, 도 3에 도시된 방법(300)).
2. 조항 1에 있어서, 상기 변환 특성은 상기 하나 이상의 크로마 컴포넌트에 대한 하나 이상의 스케일링 리스트의 존재를 나타내는 필드에 대한 제한을 포함하는 방법.
3. 조항 1에 있어서, 상기 변환 특성은 LMCS(luma mapping with chroma scaling)를 시그널링하는데 사용되는 코드워드를 나타내는 필드의 값에 대한 제한을 포함하는 방법.
4. 조항 1에 있어서, 상기 변환 특성은 상기 변환 동안 사용되는 적응적 루프 필터에 대한 적응 파라미터 세트를 기술하는 신택스 요소의 값에 대한 제한을 포함하는 방법.
5. 조항 1에 있어서, 상기 포맷 규칙은 4:0:0 포맷 또는 별도의 색상 코딩 포맷을 시그널링하는 크로마 어레이 타입 필드에 대한 적응 파라미터 세트의 하나 이상의 엔트리의 동일한 시맨틱을 사용하도록 명시하는 방법.
6. 조항 5에 있어서, 상기 하나 이상의 엔트리는 적응적 루프 필터 파라미터, 스케일링 리스트 파라미터 또는 LMCS 파라미터를 포함하는 방법.
7. 조항 5-6에 있어서, 상기 포맷 규칙은, 상기 적응 파라미터 세트의 하나 이상의 엔트리에 대한 제한이 비트스트림에 적응 파라미터 세트의 식별자가 포함되는지에 의존함을 추가로 명시하는 방법.
다음의 조항은 이전 섹션(예를 들어, 항목 2)에서 논의된 기술의 예시적인 실시예를 보여준다.
8. 하나 이상의 비디오 영역을 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 상기 변환 동안 상기 비디오 영역으로의 디블로킹 필터의 적용가능성을 표시하는 비디오 영역에 대한 디블로킹 모드 지시자를 포함하는 것을 명시하는 포맷 규칙을 따르는 비디오 프로세싱 방법.
9. 조항 8에 있어서, 상기 디블로킹 모드 지시자는 N비트 필드이고, N은 1보다 큰 정수인 방법.
10. 조항 8-9 중 어느 하나에 있어서, 상기 비디오 영역에 대한 디블로킹 모드 지시자는 픽처 파라미터 세트에 포함되는 방법.
11. 조항 8에 있어서, 상기 디블로킹 모드 지시자는 상기 비디오 영역으로의 디블로킹 필터의 적용가능성을 나타내는 비디오 영역의 헤더에 포함되는 플래그에 대응하는 방법.
12. 조항 8-11 중 어느 하나에 있어서, 상기 포맷 규칙은 상기 디블로킹 모드 지시자에서 시그널링된 디블로킹 필터 파라미터가 디폴트 파라미터를 오버라이드하는지를 시그널링하는 플래그를 명시하는 방법.
13. 조항 8-12 중 어느 하나에 있어서, 상기 비디오 영역은 비디오 픽처 또는 비디오 슬라이스에 대응하는 방법.
다음의 조항은 이전 섹션(예를 들어, 항목 3)에서 논의된 기술의 예시적인 실시예를 보여준다
14. 하나 이상의 비디오 슬라이스 및/또는 하나 이상의 비디오 서브픽처를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 비디오 픽처에 대하여 픽처 분할이 디스에이블되는 경우 비디오 픽처에 대하여 서브픽처 모드당 단일 슬라이스가 인에이블되는 것으로 간주되는지의 여부를 나타내는 플래그를 명시하는 포맷 규칙을 따르는 비디오 프로세싱 방법.
다음의 조항은 이전 섹션(예를 들어, 항목 4)에서 논의된 기술의 예시적인 실시예를 보여준다
15. 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 픽처 또는 슬라이스 레벨 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에서 시그널링됨을 명시하는 규칙 포맷을 따르는 비디오 프로세싱 비디오 프로세싱 방법.
16. 조항 15에 있어서, 상기 포맷 규칙은 상기 슬라이스 헤더에 슬라이스 레벨 크로마 양자화 파라미터 오프셋을 포함함을 명시하는 방법.
다음의 조항은 이전 섹션(예를 들어, 항목 5)에서 논의된 기술의 예시적인 실시예를 보여준다
17. 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 상기 비디오의 비디오 블록의 변환을 위해 적용가능한 크로마 양자화 파라미터(QP) 테이블이 (delta_qp_in_val_minus1[ i ][ j ] + 1) 및 delta_qp_diff_val[ i ][ j ] 간의 XOR 동작으로서 도출됨을 명시하는 포맷 규칙을 따르고, delta_qp_in_val_minus1[i][j]는 i번째 크로마 매핑 테이블의 j번째 피벗 포인트의 입력 좌표를 도출하는데 사용되는 델타 값을 명시하고, delta_qp_diff_val[ i ][ j ]는 i번째 크로마 QP 매핑 테이블의 j번째 피벗 포인트의 출력 좌표를 도출하는데 사용되는 델타 값을 명시하는 비디오 프로세싱 방법.
18. 조항 1 내지 17 중 어느 하나에 있어서, 변환은 비디오를 코딩 표현으로 인코딩하는 것을 포함하는 방법.
19. 조항 1 내지 17 중 어느 하나에 있어서, 변환은 코딩 표현을 디코딩하여 비디오의 픽셀 값을 생성하는 것을 포함하는 방법.
20. 조항 1 내지 19 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
21. 조항 1 내지 19 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
22. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서가 조항 1 내지 19 중 어느 하나에 기재된 방법을 구현하도록 하는 컴퓨터 프로그램 제품.
23. 본 문서에 기재된 방법, 장치 또는 시스템.
제2 세트의 조항은 이전 섹션에서 논의된 기술의 예시적인 실시예를 보여준다. 다음 조항은 이전 섹션(예를 들어, 항목 31)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계(702)를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트 정보가 픽처 헤더에서 시그널링되는지를 나타내는 제2 SE의 여부 및 RPL 정보가 픽처 헤더에 존재할 때 RPL 내의 참조 픽처의 수에 기초하여 참조 픽처 리스트(RPL)에 대한 움직임 벡터 차(MVD)를 시그널링할지를 나타내는 제1 신택스 요소(SE)가 상기 코딩된 표현에 조건적으로 포함됨을 명시하는 비디오 프로세싱 방법.
2. 조항 1에 있어서, 상기 제1 SE는 움직임 벡터 차가 상기 코딩된 표현에서 디스에이블되는지를 나타내는 플래그인 방법.
3. 조항 1-2 중 어느 하나에 있어서, 상기 제2 SE는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
다음 조항은 이전 섹션(예를 들어, 항목 32)에서 논의된 기술의 예시적인 실시예를 보여준다.
4. 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE의 여부 및 RPL 정보가 PH에 존재할 때 이전의 RPL 내의 참조 픽처의 수 및/또는 상기 코딩된 표현에서 시퀀스 파라미터 세트 레벨에 포함되는 DMVR 툴의 적용가능성을 나타내는 플래그가 1과 동일한지에 기초하여 디코더 움직임 벡터 리파인먼트(DMVR) 툴을 디스에이블하는지를 나타내는 제1 신택스 요소(SE)가 코딩된 표현에 조건적으로 포함됨을 명시하는 비디오 프로세싱 방법.
5. 조항 4에 있어서, 상기 제1 SE는 DMVR 툴이 픽처 헤더 레벨에서 디스에이블되는지를 나타내는 플래그에 대응하는 방법.
6. 조항 4-5 중의 어느 하나에 있어서, 상기 제2 SE는 RPL 정보가 픽처 헤더 레벨에서 포함되는지를 나타내는 플래그에 대응하는 방법.
다음 조항은 이전 섹션(예를 들어, 항목 33)에서 논의된 기술의 예시적인 실시예를 보여준다.
7. 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE의 여부 및 RPL 정보가 PH에 존재할 때 RPL-1 내의 참조 픽처의 수 및/또는 시퀀스 파라미터 세트 레벨에서 BDOF 툴의 적용가능성을 나타내는 플래그에 기초하여 양방향 광 흐름 (BDOF) 툴을 디스에이블하는지를 나타내는 제1 신택스 요소(SE)가 코딩된 표현에 조건적으로 포함됨을 명시하는 비디오 프로세싱 방법.
8. 조항 7에 있어서, 상기 제1 SE는 픽처 헤더 레벨에서 BDOF 툴의 적용가능성을 나타내는 플래그에 대응하는 방법.
9. 조항 7-8 중 어느 하나에 있어서, 상기 제2 SE는 상기 RPL 정보가 픽처 헤더 레벨에 포함되는지를 나타내는 플래그에 대응하는 방법.
다음 조항은 이전 섹션(예를 들어, 항목 34)에서 논의된 기술의 예시적인 실시예를 보여준다.
10. 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL-1 내의 참조 픽처의 수 및/또는 현재 픽처를 코딩하기 위하여 시간적 움직임 벡터 예측(TMVP) 툴이 인에이블되는지에 기초하여 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0로부터 도출되는지를 나타내는 제1 신택스 요소(SE)가 코딩된 표현에 조건적으로 포함됨을 명시하는 비디오 프로세싱 방법.
11. 조항 10에 있어서, 상기 제1 SE는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 제1 참조 픽처 리스트로부터 도출되는지를 나타내는 플래그에 대응하는 방법.
12. 조항 10-11 중 어느 하나 에 있어서, 상기 제2 SE는 RPL 정보가 픽처 헤더 레벨에 포함되는지를 나타내는 플래그에 대응하는 방법.
다음 조항은 이전 섹션(예를 들어, 항목 35-38)에서 논의된 기술의 예시적인 실시예를 보여준다.
13. 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 가중 픽처(WP) 정보가 픽처 헤더(PH)에서 시그널링되는지 및 참조 픽처 리스트(RPL) 정보가 PH에서 시그널링되는지를 나타내는 제2 SE 및 RPL 정보가 PH에 존재할 때 RPL-1 내의 참조 픽처의 수 및/또는 가중 예측 및/또는 가중 양 예측의 적용가능성을 나타내는 플래그들이 픽처 파라미터 세트에 포함되는지에 기초하여 예측 가중치의 테이블이 코딩된 표현에 포함되는지를 나타내는 제1 신택스 요소(SE)가 조건적으로 포함됨을 명시하는 비디오 프로세싱 방법.
14. 조항 13에 있어서, 상기 포맷 규칙은, 조건이 참이기 때문에 제1 SE가 시그널링됨을 추가로 명시하는 방법.
15. 하나 이상의 비디오 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 인트라 슬라이스의 사용이 상기 코딩된 표현 내의 비디오 픽처를 나타내기 위해 허용되는지가 인터 슬라이스가 픽처에 대하여 허용되는지 및 1보다 많은 파티션이 존재하는지에 의존함을 명시하는 방법.
16. 조항 1-15 중 어느 하나에 있어서, 상기 포맷 규칙은, 적응 파라미터 세트가 5비트 폭보다 작은 신택스 요소를 이용하여 코딩됨을 추가로 명시하는 방법.
17. 조항 1-16 중 어느 하나에 있어서, 상기 포맷 규칙은 ,일반 제한 플래그 신택스 구조 내의 플래그가 그룹별로 포함되도록 상기 코딩된 표현에 포함된 일반 제한 플래그 신택스 구조에 대한 코딩 또는 디코딩 순서를 명시하는 방법.
18. 조항 1-17 중 어느 하나에 있어서, 상기 변환은 상기 비디오를 상기 코딩된 변환으로 인코딩하는 단계를 포함하는 방법.
19. 조항 1-17 중 어느 하나에 있어서, 상기 변환은 상기 코딩된 표현을 디코딩하여 상기 비디오의 픽셀 값을 생성하는 단계를 포함하는 방법.
20. 조항 1-19 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
21. 조항 1-19 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
22. 프로세서에 의해 실행될 때, 상기 프로세서가 조항 1-19 중의 어느 하나에 기재된 방법을 구현하도록 하는 코드가 저장된 컴퓨터 프로그램 제품.
23. 본 문서에 기재된 방법, 장치 또는 시스템.
제3 세트의 조항은 이전 섹션(예를 들어, 항목 30-34, 37 및 38)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(802)를 포함하고, 상기 포맷 규칙은, (i) RPL 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 픽처 헤더에 존재하는 경우 특정 RPL 내의 참조 픽처의 수에 기초하여, 특정 참조 픽처 리스트(RPL)에 대한 움직임 벡터 차가 표시되는지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시하는 비디오 프로세싱 방법(예를 들어 도 8a에 도시된 방법).
2. 조항 1에 있어서, 상기 제1 신택스 요소는 참조 픽처 리스트 1에 대응하는 특정 RPL의 움직임 벡터 코딩 신택스 구조가 파싱되는지 아닌지를 나타내는 플래그인 방법.
3. 조항 1 또는 2에 있어서, 상기 제2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
4. 조항 1 내지 3 중 어느 하나에 있어서, 상기 특정 RPL 내의 참조 픽처의 수는 참조 픽처 리스트 1에 대응하는 특정 RPL에 대한 RPL 신택스 구조 내의 엔트리의 수를 나타내는 변수의 값과 동일하게 설정되는 방법.
5. 조항 1 내지 4 중 어느 하나에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지는 조건 if( !pps_rpl_info_in_ph_flag | | num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )이 충족되는지에 의존함을 명시하고, pps_rpl_info_in_ph_flag는 상기 제2 신택스 요소이고 num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 참조 리스트 1에 대한 특정 RPL 내의 참조 픽처의 수인 방법.
6. 조항 5에 있어서, 상기 제1 신택스 요소는 ph_mvd_l1_zero_flag인 방법.
7. 조항 5에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 상기 제1 신택스 요소를 포함하는 것을 명시하는 방법.
8. 조항 5에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 제1 신택스 요소를 생략하는 것을 명시하는 방법.
9. 조항 1 내지 4 중 어느 하나에 있어서, 상기 포맷 규칙은, 상기 제1 신택스 구조가 비트스트림에 포함되지 않는 경우 제1 SE의 값을 추론하는 것을 추가로 명시하는 방법.
10. 조항 9에 있어서, 상기 포맷 규칙은 상기 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 추가로 명시하고, 여기서, X는 정수인 방법.
11. 조항 10에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
12. 조항 10에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하거나 그에 의해 좌우되는 방법.
13. 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(812)를 포함하고, 상기 규칙은 상기 변환에 적용가능한 하나 이상의 제한을 나타내는 일반 제한 정보 신택스 구조 내의 어떤 신택스 요소가 함께 그룹화되는지를 명시하는 비디오 프로세싱 방법.
14. 조항 13에 있어서, 상기 일반 제한 정보 신택스 구조는 general_constraints_info( )인 방법.
15. 조항 13에 있어서, 상기 규칙은, 다른 그룹 내의 다른 일반 제한 신택스 요소와의 인터레이싱없이 특정 그룹 내의 일반 제한 신택스 요소가 함께 시그널링됨을 추가로 명시하는 방법.
16. 조항 13에 있어서, 상기 규칙은 인터 관련(inter-related) 신택스 요소가 함께 그룹화됨을 명시하고, 상기 인터 관련 신택스 요소는, 참조 픽처 리샘플링, 코딩된 레이어 비디오 시퀀스 내의 해상도 변화, 가중 예측, 참조 랩어라운드, 시간적 움직임 벡터 예측, 서브블록 기반 시간적 움직임 벡터 예측, 적응적 움직임 벡터 예측, 양방향 광 흐름, 대칭 움직임 벡터 차, 디코더측 움직임 벡터 도출, 머지 기반 움직임 벡터 차, 어파인 모션 예측, PROF(prediction refinement with optical flow), BCW(bi-prediction with CU (coding unit) weights), CIIP(combined inter-intra prediction) 또는 지오메트릭 예측 모드 중의 적어도 하나를 포함하는 특성에 관한 일반 제한 신택스 구조를 포함하는 방법.
17. 조항 13에 있어서, 상기 규칙은 인트라 관련(intra-related) 신택스 요소는 함께 그룹화되고, 상기 인트라 관련 신택스 요소는 팔레트 코딩 모드, 인트라 블록 카피 모드, 인트라 서브파티션(ISP), 멀티 참조 라인 인트라 예측, 매트릭스 기반 인트라 예측 또는 크로스 컴포넌트 선형 모델 중의 적어도 하나를 포함하는 특성에 관한 일반 제한 신택스 요소를 포함하는 방법.
18. 조항 13에 있어서, 상기 규칙은 코딩 툴에 관련된 신택스 요소들이 함께 그룹화됨을 명시하는 방법.
19. 조항 13에 있어서, 상기 규칙은 기능과 관련된 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 기능 관련 신택스 요소는 인트라 전용(intra only), 모든 독립 레이어(all layers independent) 또는 하나의 액세스 유닛 전용(one access unit only) 중의 적어도 하나를 포함하는 방법.
20. 조항 13에 있어서, 상기 규칙은 NAL(network abstraction layer) 유닛 타입 관련 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 NAL 유닛 타입 관련 신택스 요소들은 TRAIL, STSA, RASL, RADL, IDR, CRA, GDR, APS 또는 다른 타입과 동일한 NAL 유닛 타입에 관한 일반 제한 신택스 요소들 중의 적어도 하나를 포함하는 방법.
21. 조항 13에 있어서, 상기 규칙은 파티셔닝 관련 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 파티셔닝 관련 신택스 요소들이 타일, 슬라이스 또는 서브픽처의 파티셔닝에 관한 것인 방법.
22. 조항 13에 있어서, 상기 규칙은 파티셔닝 관련 신택스 요소들이 함께 그룹화되고, 상기 파티셔닝 관련 신택스 요소들은 코딩 트리 유닛 또는 블록의 파티셔닝에 관한 것인 방법.
23. 조항 13에 있어서, 상기 규칙은 변환, 양자화, 잔차 코딩 관련 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 변환, 양자화, 잔차 코딩 관련 신택스 요소는 변환 스킵, 서브블록 변환, 다수 변환 선택, 저주파수 비분리 2차 변환, 명시적 스케일링 리스트, 독립 양자화, 코딩 유닛(CU) 양자화 파라미터(QP) 델타, 크로마 QP 오프셋, 조인트 CbCr, 적응적 색상 변환 또는 부호 데이터 하이딩(hiding) 중의 적어도 하나를 포함하는 특성에 관한 일반 제한 신택스 요소들을 포함하는 방법.
24. 조항 13에 있어서, 상기 규칙은 루프 필터 관련 신택스 요소가 함께 그룹화됨을 명시하고, 상기 루프 필터 관련 신택스 요소가 적응적 루프 필터링, 크로스 컴포넌트 적응적 루프 필터링, 샘플 적응적 오프셋, LMCS(luma mapping with chroma scaling) 또는 큰 블록 적응적 디블로킹 필터 중의 적어도 하나를 포함하는 특성을 갖는 일반 제한 신택스 요소들을 포함하는 방법.
25. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(822)를 포함하고, 상기 포맷 규칙은, (i) 인터 슬라이스가 픽처에서 허용되는지 및/또는 (ii) 픽처가 1보다 많은 파티션으로 분할되는지에 기초하여 픽처에 대하여 픽처 내의 인트라 슬라이스의 사용이 인에이블된다는 표시가 선택적으로 포함됨을 명시하는 비디오 프로세싱 방법(도 8c에 도시된 방법(820)).
26. 조항 25에 있어서, 상기 포맷 규칙은 조건 ph_inter_slice_allowed_flag이 충족되는 경우 상기 표시를 포함하도록 명시하고, ph_inter_slice_allowed_flag는 인터 슬라이스가 허용되는지를 나타내는 방법.
27. 조항 25에 있어서, 상기 포맷 규칙은, B 또는 P 슬라이스와 동일한 슬라이스 타입을 갖는 픽처 내의 하나 이상의 코딩된 슬라이스의 존재를 명시하는 제1 신택스 요소의 값에 응답하여, 인터 슬라이스가 허용되는지를 나타내는 제2 신택스 요소가 비트스트림에 포함됨을 나타내는 방법.
28. 조항 25에 있어서, 상기 포맷은, 조건 ph_inter_slice_allowed_flag && (!no_pic_partition_flag && !( rect_slice_flag && num_slices_in_pic_minus1 = = 0이 충족되는 경우 표시를 포함하는 것을 명시하고, ph_inter_slice_allowed_flag는 인터 슬라이스가 허용되는지를 나타내고, no_pic_partition_flag는 픽처가 1보다 많은 타일 또는 슬라이스로 분할되는지를 나타내고, rect_slice_flag는 직사각형 슬라이스 모드가 픽처에 사용중인지를 나타내고, num_slices_in_pic_minus1는 픽처 내의 직사각형 슬라이스의 수를 나타내는 방법.
29. 조항 28에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 표시를 생략하는 것을 명시하는 방법.
30. 조항 29에 있어서, 상기 포맷 규칙은 상기 표시가 존재하지 않는 경우 상기 표시의 값을 추론하는 것을 명시하는 방법.
31. 조항 30에 있어서, 상기 포맷 규칙은 상기 표시의 값이 (!ph_inter_slice_allowed_flag) or (1 - ph_inter_slice_allowed_flag)와 동일한 것으로 추론됨을 명시하는 방법.
32. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(832)를 포함하고, 상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더가 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 비트스트림에서 시퀀스 파라미터 세트 레벨에 포함된 DMVR 툴의 적용가능성을 나타내는 플래그가 소정의 값과 동일한지에 기초하여, DMVR 툴이 디스에이블되는지를 나타내는 제1 신택스 요소가 조건적으로 비트스트림에 포함됨을 명시하는 비디오 프로세싱 방법(도 8d에 도시된 방법(830)).
33. 조항 32에 있어서, 상기 제1 신택스 요소는 DMVR 툴이 디스에이블되는지를 나타내는 PH 플래그에 대응하는 방법.
34. 조항 32 또는 33에 있어서, 상기 제 2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
35. 조항 32 내지 34 중 어느 하나에 있어서, RPL 내의 참조 픽처의 수는 RPL 신택스 구조 내의 엔트리의 수를 나타내는 신택스 요소의 값과 동일하게 설정되는 방법.
36. 조항 32 내지 35 중 어느 하나에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지는 조건 if(sps_dmvr_pic_present_flag && (!rpl_info_in_ph_flag | | ( num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )))이 충족되는지에 의존함을 명시하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, sps_dmvr_pic_present_flag는 DMVR 툴의 적용가능성을 나타내는 플래그인 방법.
37. 조항 36에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 제1 신택스 요소를 포함하는 것을 명시하는 방법.
38. 조항 36에 있어서, 상기 포맷 규칙은 상기 조건이 만족되지 않는 경우 제1 신택스 요소를 생략하는 것을 명시하는 방법.
39. 조항 32 내지 35 중 어느 하나에 있어서, 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 추가로 명시하는 방법.
40. 조항 39에 있어서, 상기 포맷 규칙은 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 명시하고, 여기서 X는 정수인 방법.
41. 조항 40에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
42. 조항 40에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
43. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(842)를 포함하고, 상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 시퀀스 파라미터 세트 레벨에서 BDOF 툴의 적용가능성을 나타내는 플래그에 기초하여, BDOF(bi-directional optical flow) 툴을 디스에이블할지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시하는 비디오 프로세싱 방법(도 8e에 도시된 방법(840)).
44. 조항 43에 있어서, 상기 제1 신택스 요소는 BDOF 툴의 적용가능성을 나타내는 PH 플래그에 대응하는 방법.
45. 조항 43 또는 44에 있어서, 상기 제2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
46. 조항 43 내지 45 중 어느 하나에 있어서, RPL 내의 참조 픽처의 수는 RPL 신택스 구조 내의 엔트리의 수를 나타내는 신택스 구조의 값과 동일하게 설정되는 방법.
47. 조항 43 내지 46 중 어느 하나에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는지는 조건 if(sps_bdof_pic_present_flag && (!rpl_info_in_ph_flag | | ( num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )))이 충족되는지에 의존함을 명시하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, sps_bdof_pic_present_flag는 BDOF 툴의 적용가능성을 나타내는 플래그인 방법.
48. 조항 47에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 상기 제 1 신택스 요소를 포함하는 것을 명시하는 방법.
49. 조항 47에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 제 1 신택스 요소를 생략하는 것을 명시하는 방법.
50. 조항 43 내지 46 중 어느 하나에 있어서, 상기 포맷 규칙은 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 추가로 명시하는 방법.
51. 조항 50에 있어서, 상기 포맷 규칙은 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 명시하고, 여기서 X는 정수인 방법.
52. 조항 51에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
53. 조항 51에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
54. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(852)를 포함하고, 상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 신택스 요소 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 현재 픽처를 코딩하기 위한 TMVP(temporal motion vector prediction) 툴의 적용가능성을 나타내는 플래그 에 기초하여, 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0로부터 도출되는지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시하는 비디오 프로세싱 방법(도 8f에 도시된 방법(850)).
55. 조항 54에 있어서, 상기 제1 신택스 요소는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0 또는 참조 픽처 리스트 1로부터 도출되는지를 나타내는 플래그에 대응하는 방법.
56. 조항 53 또는 54에 있어서, 제2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
57. 조항 54 내지 56 중 어느 하나에 있어서, RPL 내의 참조 픽처의 수는 RPL 신택스 구조 내의 엔트리의 수를 나타내는 신택스 요소의 값과 동일하게 설정되는 방법.
58. 조항 54 내지 57 중 어느 하나에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지가 조건 if(ph_temporal_mvp_enabled_flag&&(!rpl_info_in_ph_flag| |num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )이 충족되는지에 의존하는 것을 명시하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, ph_temporal_mvp_enabled_flag는 시간적 움직임 벡터 예측 (TMVP) 툴의 적용가능성을 나타내는 플래그인 방법.
59. 조항 54 내지 57 중 어느 하나에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는지가 상기 조건 if(ph_temporal_mvp_enabled_flag&&rpl_info_in_ph_flag&&num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )이 충족되는지에 의존하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, ph_temporal_mvp_enabled_flag는 시간적 움직임 벡터 예측 (TMVP) 툴의 적용가능성을 나타내는 플래그인 방법.
60. 조항 58 또는 59에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 상기 제 1 신택스 요소를 포함하는 것을 명시하는 방법.
61. 조항 58 또는 59에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 제 1 신택스 요소를 생략하는 것을 명시하는 방법.
62. 조항 54 내지 57 중 어느 하나에 있어서, 상기 포맷 규칙은, 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 추가로 명시하는 방법.
63. 조항 62에 있어서, 상기 포맷 규칙은 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 명시하고, 여기서 X는 정수인 방법.
64. 조항 63에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
65. 조항 63에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
66. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(862)를 포함하고, 상기 포맷 규칙은, (i) 가중 예측(WP) 정보가 픽처 헤더(PH)에 포함되는지를 나타내는 제2 신택스 요소 및/또는 (ii) 참조 픽처 리스트(RPL) 정보가 PH에 포함되는지를 나타내는 제3 신택스 요소, (iii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iv) 가중 예측의 적용가능성을 나타내는 제4 신택스 요소 및/또는 픽처 파라미터 세트에 포함되는 가중 양예측의 적용가능성을 나타내는 제5 신택스 요소에 기초하여, 예측 가중치의 테이블을 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 지를 명시하는 비디오 프로세싱 방법(도 8g에 도시된 방법(860)).
67. 조항 66에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는 지가 조건 if( ( pps_weighted_pred_flag | | (pps_weighted_bipred_flag && (!rpl_info_in_ph_flag | | num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0) ) ) && wp_info_in_ph_flag )이 충족되는지에 의존하는 것을 명시하고, wp_info_in_ph_flag는 제2 신택스 요소이고, rpl_info_in_ph_flag는 제3 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, pps_weighted_pred_flag는 제4 신택스 요소이고, pps_weighted_bipred_flag는 제5 신택스 요시인 방법.
68. 조항 67에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 픽처 헤더에 제1 신택스 요소를 포함하는 것을 명시하는 방법.
69. 조항 67에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 제1 신택스 요소를 생략하는 것을 명시하는 방법.
70. 조항 1 내지 69 중 어느 하나에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는 방법.
71. 조항 1 내지 69 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함하는 방법.
72. 조항 1 내지 69 중 어느 하나에 있어서, 상기 변환은 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함하는 방법.
73. 조항 1 내지 72 중 하나 이상에 기재된 방법을 구현하도록 구성되는 프로세스를 포함하는 비디오 프로세싱 장치.
74. 비디오의 비트스트림을 저장하는 방법으로서, 조항 1 내지 72 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 저장 매체에 저장하는 단계를 더 포함하는 방법.
75. 실행될 때, 프로세서가 조항 1 내지 72 중의 하나 이상에 기재된 방법을 구현하도록 하는 프로그램 코드가 저장된 컴퓨터 판독가능 매체.
76. 상술한 방법 중의 어느 것에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 매체.
77. 비트스트림을 저장하는 비디오 프로세싱 장치로서, 조항 1 내지 72 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 비디오 프로세싱 장치.
제4 세트의 조항은 이전 섹션(예를 들어, 항목 35)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계(902)를 포함하고, 상기 포맷 규칙은, (i) 가중 예측(WP) 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소 및/또는 (ii) 참조 픽처 리스트(RPL) 정보가 픽처 헤더에 포함되는지를 나타내는 제3 신택스 요소, (iii) 특정 RPL 내의 참조 픽처의 수 및/또는 (iv) 픽처 파라미터 세트에 포함되고 픽처 파라미터 세트를 참조하는 B 슬라이스로의 명시적 가중 예측의 적용가능성을 나타내는 제4 신택스 요소에 기초하여, 특정 참조 픽처 리스트 내의 엔트리에 대하여 시그널링된 가중치의 수를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시하는 비디오 프로세싱 방법(도 9에 도시된 방법(900)).
2. 조항 1에 있어서, 상기 특정 참조 픽처 리스트가 참조 픽처 리스트 1인 방법.
3. 조항 1 또는 2에 있어서, 상기 포맷 규칙은, 예측 가중치 파라미터의 테이블을 나타내는 신택스 구조에 제1 신택스 요소가 포함되는지가 제2 신택스 요소의 값, 제4 신택스 요소의 값 및 특정 RPL 내의 참조 픽처의 수에 기초하는 것을 명시하는 방법.
4. 조항 1 또는 2에 있어서, 상기 포맷 규칙은, (1) 제1 값을 갖는 제2 신택스 요소, (2) 제2 값을 갖는 제4 신택스 요소 및 (3) 0보다 큰 특정 RPL 내의 참조 픽처의 수를 만족하면 상기 제1 신택스 요소가 신택스 구조에 포함되는 것을 명시하는 방법.
5. 조항 4에 있어서, 상기 제2 신택스 요소의 제1 값은 픽처 헤더를 포함하지 않는 픽처 파라미터 세트를 참조하는 슬라이스 헤더 내의 WP 정보의 비존재 및 픽처 헤더 내의 WP 정보의 가능한 존재를 명시하는 방법.
6. 조항 4에 있어서, 상기 제2 신택스 요소의 제2 값은 명시적 가장 예측이 픽처 파라미터 세트를 참조하는 B 슬라이스에 적용되는 것을 명시하는 방법.
7. 조항 1 또는 2에 있어서, 상기 포맷 규칙은, (1) 0과 동일한 제2 신택스 요소의 값, (2) 0과 동일한 제4 신택스 요소의 값 또는 0과 동일한 특정 RPL 내의 참조 픽처의 수를 만족하면 상기 신택스 구조로부터 제1 신택스 요소를 배제하도록 명시하는 방법.
8. 조항 1에 있어서, 상기 제1 신택스 요소는 참조 픽처 리스트 1에 대응하는 특정 RPL 내의 엔트리에 대하여 시그널링되는 가중치의 수를 나타내는 플래그에 대응하는 방법.
9. 조항 1 또는 2에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지는 조건 if( (pps_weighted_bipred_flag && (!rpl_info_in_ph_flag | | num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0) ) && wp_info_in_ph_flag )이 충족되는지에 의존하는 것을 명시하고, pps_weighted_bipred_flag는 제4 플래그이고, rpl_info_in_ph_flag는 제3 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수, wp_info_in_ph_flag는 제2 신택스 요소인 방법.
10. 조항 1 또는 2에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지가 조건 if( pps_weighted_bipred_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 && wp_info_in_ph_flag )이 충족되는지에 의존한다는 것을 명시하고, pps_weighted_bipred_flag는 제4 플래그이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 특정 RPL 내의 참조 픽처의 수이고, wp_info_in_ph_flag는 제2 신택스 요소인 방법.
11. 조항 9 또는 10에 있어서, 상기 포맷 규칙은, 상기 조건이 충족되는 경우 신택스 구조에 제1 신택스 요소를 포함하는 것을 명시하는 방법.
12. 조항 9 또는 10에 있어서, 상기 포맷 규칙은, 상기 조건이 충족되는 경우 픽처 헤더에 제1 신택스 요소를 포함하는 것을 명시하는 방법.
13. 조항 9 또는 10에 있어서, 상기 포맷 규칙은, 상기 조건이 충족되지 않는 경우 예측 가중치 파라미터의 테이블을 나타내는 신택스 구조로부터 제1 신택스 요소를 배제하는 것을 명시하는 방법.
14. 조항13에 있어서, 상기 포맷 규칙은, 상기 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 명시하는 방법.
15. 조항 9 또는 10에 있어서, 상기 포맷 규칙은, 상기 조건이 충족되는 경우, 상기 제1 신택스 요소가 신택스 구조로부터 배제되고 상기 제1 신택스 요소의 값이 추론되지 않음을 추가로 명시하는 방법.
16. 조항 15에 있어서, 상기 조건이 충족되지 않은 것에 응답하여, 특정 RPL에 대한 가중치에 대응하는 변수의 값이 도출되는 방법.
17. 조항 16에 있어서, 상기 포맷 규칙은, 제1 조건 if( !pps_weighted_bipred_flag | | ( wp_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) )을 충족하면 상기 변수의 값이 0과 동일한 것으로 도출하는 것을 추가로 명시하고, pps_weighted_bipred_flag는 제4 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 특정 RPL 내의 참조 픽처의 수이고, wp_info_in_ph_flag는 제2 신택스 요소인 방법.
18. 조항 17에 있어서, 상기 포맷 규칙은, 상기 제1 조건을 충족하지 않고 제2 조건이 충족되면 상기 변수의 값이 제1 신택스 요소의 값과 동일한 것으로 도출하는 것을 명시하고, 상기 제2 신택스 요소의 값은 WP 정보가 픽처 헤더에 포함되는 것을 나타내는 방법.
19. 조항 18에 있어서, 상기 포맷 규칙은, 상기 제1 조건 및 제2 조건을 충족하지 않으면 상기 변수의 값이 현재 슬라이스에 사용될 액티브 참조 인덱스의 수와 동일한 것으로 도출하는 것을 추가로 명시하는 방법.
20. 조항 9 또는 10에 있어서, 상기 포맷 규칙은, 상기 조건이 충족되지 않는 경우, 상기 제1 신택스 요소가 생략되고, 상기 제1 신택스 요소의 값이 추론되지 않고, 특정 RPL에 대한 가중치에 대응하는 변수의 값이 제2 신택스 요소 및/또는 제3 신택스 요소 및/또는 특정 RPL 내의 참조 픽처의 수에 기초하여 도출되는 방법.
21. 조항 20에 있어서, 상기 포맷 규칙은, 제1 조건 if( !pps_weighted_bipred_flag )을 충족하면 상기 변수의 값이 0과 동일한 것으로 도출하는 것을 명시하는 방법.
22. 조항 21에 있어서, 상기 포맷 규칙은, 상기 제1 조건을 충족하지 않고 제2 조건 if (wp_info_in_ph_flag && rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] == 0 )을 충족하면 상기 변수의 값이 0과 동일한 것으로 도출하는 것을 명시하는 방법.
23. 조항 22에 있어서, 상기 포맷 규칙은, 상기 제1 조건 및 제2 조건을 충족하지 않고 제3 조건 if( wp_info_in_ph_flag)을 충족하면 상기 변수의 값이 특정 RPL 내의 엔트리에 대하여 시그널링되는 가중치의 수와 동일한 것으로 도출하는 것을 명시하는 방법.
24. 조항 23에 있어서, 상기 포맷 규칙은 상기 제1 조건, 제2 조건 및 제3 조건을 충족하지 않으면 상기 변수의 값이 현재 슬라이스에 사용될 액티브 참조 인덱스의 수와 동일한 것으로 도출하는 것을 명시하는 방법.
25. 조항 1 내지 24 중 어느 하나에 있어서, 상기 변환은 상기 비디오를 비트스트림으로 인코딩하는 단계를 포함하는 방법.
26. 조항 1 내지 24 중 어느 하나에 있어서, 상기 변환은 상기 비디오를 비트스트림으로부터 디코딩하는 단계를 포함하는 방법.
27. 조항 1 내지 24 중 어느 하나에 있어서, 상기 변환은 상기 비디오로부터 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 비일시적 컴퓨터 판독가능 매체에 비트스트림 저장하는 단계를 더 포함하는 방법.
28. 조항 1 내지 17 중 하나 이상에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 프로세싱 장치.
29. 비디오의 비트스트림을 저장하는 방법으로서, 조항 1 내지 27 중 어느 하나에 기재된 방법을 포함하고 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함하는 방법.
30. 실행될 때, 프로세서가 조항 1 내지 27 중 하나 이상에 기재된 방법을 구현하도록 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 매체.
31. 상기 방법 중의 어느 것에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 매체.
32. 비트스트림 표현을 저장하는 비디오 프로세싱 장치로서, 조항 1 내지 27 중 하나 이상에 기재된 방법을 구현하도록 구성되는 비디오 프로세싱 장치.
본 문서에서 "비디오 프로세싱"이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치에 함께 배치되거나 확산되는 비트에 대응할 수 있다. 예를 들어, 매크로블록은, 변환되고 코딩된 에러 잔차 값의 관점에서 그리고 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다. 또한, 변환 동안 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드가 존재하거나 없을 수 있다는 지식으로 비트스트림을 구문분석할 수 있다. 유사하게, 인코더는 소정의 신택스 필드가 포함되는지의 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로부터 신택스 필드를 포함하거나 제외함으로써 코딩된 표현을 생성할 수 있다.
이 문서에 설명된 개시된 및 다른 솔루션, 예, 실시예, 모듈 및 기능적 동작은 디지털 전자 회로, 본 문서에 개시된 구조, 그들의 구조적 동등물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어 또는 이들 중의 하나 이상의 조합으로 구현될 수 있다. 개시된 실시예 및 다른 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의한 실행 또는 그의 동작의 제어를 위해 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신-판독가능 저장 장치, 머신-판독가능 저장 기판, 메모리 장치, 머신-판독가능 전파 신호에 영향을 주는 물질의 구성 또는 그들 중의 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는 데이터 처리를 위한 모든 장치, 디바이스 및 머신을 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 더하여 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나의 조합을 구성하는 코드를 포함할 수 있다. 전파되는 신호는 인공적으로 생성된 신호, 예를 들어, 머신 생성 전기, 광, 또는 전자기 신호이며, 이는 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성된다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 언어 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치(deploy)될 수 있다. 컴퓨터 시스템은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램의 전용인 단일 파일 또는 다중 편성(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA (필드 프로그래밍 가능 게이트 어레이) 또는 ASIC (애플리케이션 특정 집적 회로)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 수행하도록 동작 가능하게 결합된다. 그러나 컴퓨터가 이러한 장치를 가질 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 제거가능 디스크 등의 자기 디스크; 광자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 변형일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다.
더욱이, 이 특허 문헌에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현예 및 예가 설명되고, 다른 구현예, 향상 및 변형이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (77)

  1. 비디오 프로세싱 방법으로서,
    포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 포맷 규칙은, (i) RPL 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) 상기 RPL 정보가 픽처 헤더에 포함되는 경우 특정 RPL 내의 참조 픽처의 수에 기초하여 특정 참조 픽처 리스트(RPL)에 대한 움직임 벡터 차가 표시되는지를 나타내는 제1 신택스 요소가 상기 비트스트림에 조건적으로 포함되는 것을 명시하는 방법.
  2. 제1항에 있어서,
    상기 제1 신택스 요소는 참조 픽처 리스트 1에 대응하는 특정 RPL의 움직임 벡터 코딩 신택스 구조가 파싱되거나 파싱되지 않는지를 나타내는 플래그인 방법.
  3. 제1항 또는 제2항에 있어서, 상기 제2 신택스 요소는 상기 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 특정 RPL 내의 참조 픽처의 수는 참조 픽처 리스트 1에 대응하는 특정 RPL에 대한 RPL 신택스 구조 내의 엔트리의 수를 나타내는 변수의 값과 동일하게 설정되는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는지는 조건 if( !pps_rpl_info_in_ph_flag | | num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )이 충족되는지에 의존함을 명시하고, pps_rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 참조 리스트 1에 대한 특정 RPL 내의 참조 픽처의 수인 방법.
  6. 제5항에 있어서, 상기 제1 신택스 요소는 ph_mvd_l1_zero_flag인 방법.
  7. 제5항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 상기 제1 신택스 요소를 포함하는 것을 명시하는 방법.
  8. 제5항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 제1 신택스 요소를 생략하는 것을 명시하는 방법.
  9. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 포맷 규칙은 상기 제1 신택스 요소가 상기 비트스트림에 포함되지 않는 경우 제1 SE의 값을 추론하는 것을 추가로 명시하는 방법.
  10. 제9항에 있어서, 상기 포맷 규칙은 상기 제1 신택스 요소가 X와 동일한 것으로 추론하는 것을 추가로 명시하고, X는 정수인 방법.
  11. 제10항에 있어서, X는 0, 1 또는 또다른 신택스 요소인 방법.
  12. 제10항에 있어서, X는 하나 이상의 다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
  13. 비디오 프로세싱 방법으로서,
    규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 규칙은, 상기 변환에 적용가능한 하나 이상의 제한(constraint)을 나타내는 일반 제한 정보 신택스 구조 내의 어떤 신택스 요소가 함께 그룹화되는지를 명시하는 방법.
  14. 제13항에 있어서, 상기 일반 제한 정보 신택스 구조는 general_constraints_info( )인 방법.
  15. 제13항에 있어서, 상기 규칙은 다른 그룹 내의 다른 일반 제한 신택스 요소와의 인터레이싱(interlacing)없이 특정 그룹 내의 일반 제한 신택스 요소가 함께 시그널링되는 것을 추가로 명시하는 방법.
  16. 제13항에 있어서, 상기 규칙은 인터 관련(inter-related) 신택스 요소가 함께 그룹화되고, 상기 인터 관련 신택스 요소는 참조 픽처 리샘플링, 코딩된 레이어 비디오 시퀀스 내의 해상도 변화, 가중 예측, 참조 랩어라운드(wraparound), 시간적 움직임 벡터 예측, 서브블록 기반 시간적 움직임 벡터 예측, 적응적 움직임 벡터 예측, 양방향 광 흐름, 대칭 움직임 벡터 차, 디코더측 움직임 벡터 도출, 머지 기반 움직임 벡터 차, 어파인 움직임 예측, PROF( prediction refinement with optical flow), BCW(bi-prediction with CU (coding unit) weights), CIIP(combined inter-intra prediction) 또는 지오메트릭 예측 모드 중의 적어도 하나를 포함하는 특성에 관한 일반 제한 신택스 요소를 포함하는 방법.
  17. 제13항에 있어서, 상기 규칙은 상기 인트라 관련(intra-related) 신택스 요소는 함께 그릅화되고, 상기 인트라 관련 신택스 요소는 팔레트 코딩 모드, 인트라 블록 카피 모드, 인트라 서브파티션(ISP), 멀티 참조 라인 인트라 예측, 매트릭스 기반 인트라 예측 또는 크로스 컴포넌트 선형 모델 중의 적어도 하나를 포함하는 특성에 관한 일반 제한 신택스 요소를 포함하는 방법.
  18. 제13항에 있어서, 상기 규칙은 코딩 툴에 관련된 신택스 요소들이 함께 그룹화됨을 명시하는 방법.
  19. 제13항에 있어서, 상기 규칙은 기능과 관련된 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 기능 관련 신택스 요소는 인트라 전용(intra only), 모든 독립 레이어(all layers independent) 또는 하나의 액세스 유닛 전용(one access unit only) 중의 적어도 하나를 포함하는 방법
  20. 제13항에 있어서, 상기 규칙은 NAL(network abstraction layer) 유닛 타입 관련 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 NAL 유닛 타입 관련 신택스 요소들은 TRAIL, STSA, RASL, RADL, IDR, CRA, GDR, APS 또는 다른 타입과 동일한 NAL 유닛 타입에 관한 일반 제한 신택스 요소들 중의 적어도 하나를 포함하는 방법.
  21. 제13항에 있어서, 상기 규칙은 파티셔닝 관련 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 파티셔닝 관련 신택스 요소들이 타일, 슬라이스 또는 서브픽처의 파티셔닝에 관한 것인 방법.
  22. 제13항에 있어서, 상기 규칙은 파티셔닝 관련 신택스 요소들이 함께 그룹화되고, 상기 파티셔닝 관련 신택스 요소들은 코딩 트리 유닛 또는 블록의 파티셔닝에 관한 것인 방법.
  23. 제13항에 있어서, 상기 규칙은 변환, 양자화, 잔차 코딩 관련 신택스 요소들이 함께 그룹화됨을 명시하고, 상기 변환, 양자화, 잔차 코딩 관련 신택스 요소는 변환 스킵, 서브블록 변환, 다수 변환 선택, 저주파수 비분리 2차 변환, 명시적 스케일링 리스트, 독립 양자화, 코딩 유닛(CU) 양자화 파라미터(QP) 델타, 크로마 QP 오프셋, 조인트 CbCr, 적응적 색상 변환 또는 부호 데이터 하이딩(hiding) 중의 적어도 하나를 포함하는 특성에 관한 일반 제한 신택스 요소들을 포함하는 방법.
  24. 제13항에 있어서, 상기 규칙은 루프 필터 관련 신택스 요소가 함께 그룹화됨을 명시하고, 상기 루프 필터 관련 신택스 요소가 적응적 루프 필터링, 크로스 컴포넌트 적응적 루프 필터링, 샘플 적응적 오프셋, LMCS(luma mapping with chroma scaling) 또는 큰 블록 적응적 디블로킹 필터 중의 적어도 하나를 포함하는 특성을 갖는 일반 제한 신택스 요소들을 포함하는 방법.
  25. 비디오 프로세싱 방법으로서,
    포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 포맷 규칙은, (i) 인터 슬라이스가 픽처에서 허용되는지 및/또는 (ii) 픽처가 1보다 많은 파티션으로 분할되는지에 기초하여 픽처에 대하여 픽처 내의 인트라 슬라이스의 사용이 인에이블된다는 표시가 선택적으로 포함됨을 명시하는 방법.
  26. 제25항에 있어서, 상기 포맷 규칙은 조건 ph_inter_slice_allowed_flag이 충족되는 경우 상기 표시를 포함하도록 명시하고, ph_inter_slice_allowed_flag는 인터 슬라이스가 허용되는지를 나타내는 방법.
  27. 제25항에 있어서, 상기 포맷 규칙은, B 또는 P 슬라이스와 동일한 슬라이스 타입을 갖는 픽처 내의 하나 이상의 코딩된 슬라이스의 존재를 명시하는 제1 신택스 요소의 값에 응답하여, 인터 슬라이스가 허용되는지를 나타내는 제2 신택스 요소가 비트스트림에 포함됨을 명시하는 방법.
  28. 제25항에 있어서, 상기 포맷은, 조건 ph_inter_slice_allowed_flag && (!no_pic_partition_flag && !( rect_slice_flag && num_slices_in_pic_minus1 = = 0이 충족되는 경우 표시를 포함하는 것을 명시하고, ph_inter_slice_allowed_flag는 인터 슬라이스가 허용되는지를 나타내고, no_pic_partition_flag는 픽처가 1보다 많은 타일 또는 슬라이스로 분할되는지를 나타내고, rect_slice_flag는 직사각형 슬라이스 모드가 픽처에 사용중인지를 나타내고, num_slices_in_pic_minus1는 픽처 내의 직사각형 슬라이스의 수를 나타내는 방법.
  29. 제28항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 표시를 생략하는 것을 명시하는 방법.
  30. 제29항에 있어서, 상기 포맷 규칙은 상기 표시가 존재하지 않는 경우 상기 표시의 값을 추론하는 것을 명시하는 방법.
  31. 제29항에 있어서, 상기 포맷 규칙은 상기 표시의 값이 (!ph_inter_slice_allowed_flag) or (1 - ph_inter_slice_allowed_flag)와 동일한 것으로 추론됨을 명시하는 방법.
  32. 비디오 프로세싱 방법으로서,
    포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더가 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 비트스트림에서 시퀀스 파라미터 세트 레벨에 포함된 DMVR(decoder motion vector refinement) 툴의 적용가능성을 나타내는 플래그가 소정의 값과 동일한지에 기초하여, DMVR 툴이 디스에이블되는지를 나타내는 제1 신택스 요소가 조건적으로 비트스트림에 포함됨을 명시하는 방법.
  33. 제32항에 있어서, 상기 제1 신택스 요소는 DMVR 툴이 디스에이블되는지를 나타내는 PH 플래그에 대응하는 방법.
  34. 제32항 또는 제33항에 있어서, 상기 제 2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
  35. 제32항 또는 제34항 중 어느 한 항에 있어서, RPL 내의 참조 픽처의 수는 RPL 신택스 구조 내의 엔트리의 수를 나타내는 신택스 요소의 값과 동일하게 설정되는 방법.
  36. 제32항 내지 제35항 중 어느 한 항에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지는 조건 if(sps_dmvr_pic_present_flag && (!rpl_info_in_ph_flag | | ( num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )))이 충족되는지에 의존함을 명시하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, sps_dmvr_pic_present_flag는 DMVR 툴의 적용가능성을 나타내는 플래그인 방법.
  37. 제36항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 제1 신택스 요소를 포함하는 것을 명시하는 방법
  38. 제36항에 있어서, 상기 포맷 규칙은 상기 조건이 만족되지 않는 경우 제1 신택스 요소를 생략하는 것을 명시하는 방법.
  39. 제32항 내지 제35항 중 어느 한 항에 있어서, 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 추가로 명시하는 방법.
  40. 제39항에 있어서, 상기 포맷 규칙은 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 명시하고, 여기서 X는 정수인 방법.
  41. 제40항에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
  42. 제40항에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
  43. 비디오 프로세싱 방법으로서,
    포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더에 포함되는지를 나타내는 제2 신택스 요소의 여부 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 시퀀스 파라미터 세트 레벨에서 BDOF 툴의 적용가능성을 나타내는 플래그에 기초하여, BDOF(bi-directional optical flow) 툴을 디스에이블할지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시하는 방법.
  44. 제43항에 있어서, 상기 제1 신택스 요소는 BDOF 툴의 적용가능성을 나타내는 PH 플래그에 대응하는 방법.
  45. 제43항 또는 제44항에 있어서, 상기 제2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
  46. 제43항 내지 제45항 중 어느 한 항에 있어서, RPL 내의 참조 픽처의 수는 RPL 신택스 구조 내의 엔트리의 수를 나타내는 신택스 구조의 값과 동일하게 설정되는 방법.
  47. 제43항 내지 제46항 중 어느 한 항에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는지는 조건 if(sps_bdof_pic_present_flag && (!rpl_info_in_ph_flag | | ( num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )))이 충족되는지에 의존함을 명시하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, sps_bdof_pic_present_flag는 BDOF 툴의 적용가능성을 나타내는 플래그인 방법.
  48. 제47항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 상기 제 1 신택스 요소를 포함하는 것을 명시하는 방법.
  49. 제47항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 제 1 신택스 요소를 생략하는 것을 명시하는 방법.
  50. 제43항 내지 제46항 중 어느 한 항에 있어서, 상기 포맷 규칙은 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 추가로 명시하는 방법.
  51. 제50항에 있어서, 상기 포맷 규칙은 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 명시하고, 여기서 X는 정수인 방법.
  52. 제51항에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
  53. 제51항에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
  54. 비디오 프로세싱 방법으로서,
    포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 포맷 규칙은, (i) 참조 픽처 리스트(RPL) 정보가 픽처 헤더(PH)에서 시그널링되는지를 나타내는 제2 신택스 요소 및/또는 (ii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iii) 현재 픽처를 코딩하기 위한 TMVP(temporal motion vector prediction) 툴의 적용가능성을 나타내는 플래그에 기초하여, 시간적 움직임 벡터 예측에 사용되는 콜로케이티드(collocated) 픽처가 참조 픽처 리스트 0로부터 도출되는지를 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 것을 명시하는 방법.
  55. 제54항에 있어서, 상기 제1 신택스 요소는 시간적 움직임 벡터 예측에 사용되는 콜로케이티드 픽처가 참조 픽처 리스트 0 또는 참조 픽처 리스트 1로부터 도출되는지를 나타내는 플래그에 대응하는 방법.
  56. 제53항 또는 제54항에 있어서, 제2 신택스 요소는 RPL 정보가 픽처 헤더에 포함되는지를 나타내는 플래그에 대응하는 방법.
  57. 제54항 내지 제56항 중 어느 한 항에 있어서, RPL 내의 참조 픽처의 수는 RPL 신택스 구조 내의 엔트리의 수를 나타내는 신택스 요소의 값과 동일하게 설정되는 방법.
  58. 제54항 내지 제57항 중 어느 한 항에 있어서, 상기 포맷 규칙은, 제1 신택스 요소를 포함하는지가 조건 if(ph_temporal_mvp_enabled_flag&&(!rpl_info_in_ph_flag| |num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )이 충족되는지에 의존하는 것을 명시하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, ph_temporal_mvp_enabled_flag는 시간적 움직임 벡터 예측 (TMVP) 툴의 적용가능성을 나타내는 플래그인 방법.
  59. 제54항 내지 제57항 중 어느 한 항에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는지가 상기 조건 if(ph_temporal_mvp_enabled_flag&&rpl_info_in_ph_flag&&num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )이 충족되는지에 의존하고, rpl_info_in_ph_flag는 제2 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, ph_temporal_mvp_enabled_flag는 시간적 움직임 벡터 예측 (TMVP) 툴의 적용가능성을 나타내는 플래그인 방법.
  60. 제58항 또는 제59항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 상기 제 1 신택스 요소를 포함하는 것을 명시하는 방법.
  61. 제58항 또는 제59항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 상기 제 1 신택스 요소를 생략하는 것을 명시하는 방법.
  62. 제54항 내지 제57항 중 어느 한 항에 있어서, 상기 포맷 규칙은, 제1 신택스 요소가 비트스트림에 포함되지 않는 경우 제1 신택스 요소의 값을 추론하는 것을 추가로 명시하는 방법.
  63. 제62항에 있어서, 상기 포맷 규칙은 제1 신택스 요소의 값이 X와 동일한 것으로 추론하는 것을 명시하고, 여기서 X는 정수인 방법.
  64. 제63항에 있어서, X는 0, 1, 또는 또다른 신택스 요소인 방법.
  65. 제63항에 있어서, X는 하나 이상의 또다른 신택스 요소에 기초하여 도출되거나 그에 의해 좌우되는 방법.
  66. 비디오 프로세싱 방법으로서,
    포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 포맷 규칙은, (i) 가중 예측(WP) 정보가 픽처 헤더(PH)에 포함되는지를 나타내는 제2 신택스 요소 및/또는 (ii) 참조 픽처 리스트(RPL) 정보가 PH에 포함되는지를 나타내는 제3 신택스 요소, (iii) RPL 정보가 PH에 존재하는 경우 RPL 내의 참조 픽처의 수 및/또는 (iv) 가중 예측의 적용가능성을 나타내는 제4 신택스 요소 및/또는 픽처 파라미터 세트에 포함되는 가중 양 예측(weighted bi-prediction)의 적용가능성을 나타내는 제5 신택스 요소에 기초하여, 예측 가중치의 테이블을 나타내는 제1 신택스 요소가 비트스트림에 조건적으로 포함되는 지를 명시하는 방법.
  67. 제66항에 있어서, 상기 포맷 규칙은 제1 신택스 요소를 포함하는지가 조건 if( ( pps_weighted_pred_flag | | (pps_weighted_bipred_flag && (!rpl_info_in_ph_flag | | num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0) ) ) && wp_info_in_ph_flag )이 충족되는지에 의존하는 것을 명시하고, wp_info_in_ph_flag는 제2 신택스 요소이고, rpl_info_in_ph_flag는 제3 신택스 요소이고, num_ref_entries[ 1 ][ RplsIdx[ 1 ]는 RPL 내의 참조 픽처의 수이고, pps_weighted_pred_flag는 제4 신택스 요소이고, pps_weighted_bipred_flag는 제5 신택스 요시인 방법.
  68. 제67항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되는 경우 픽처 헤더에 제1 신택스 요소를 포함하는 것을 명시하는 방법.
  69. 제67항에 있어서, 상기 포맷 규칙은 상기 조건이 충족되지 않는 경우 제1 신택스 요소를 생략하는 것을 명시하는 방법.
  70. 제1항 내지 제69항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는 방법.
  71. 제1항 내지 제69항 중 어느 한 항에 있어서, 상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함하는 방법.
  72. 제1항 내지 제69항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함하는 방법.
  73. 제1항 내지 제72항 중 하나 이상의 항에 기재된 방법을 구현하도록 구성되는 프로세스를 포함하는 비디오 프로세싱 장치.
  74. 비디오의 비트스트림을 저장하는 방법으로서, 제1항 내지 제72항 중 어느 한 항에 기재된 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 저장 매체에 저장하는 단계를 더 포함하는 방법.
  75. 실행될 때, 프로세서가 제1항 내지 제72항 중의 하나 이상의 항에 기재된 방법을 구현하도록 하는 프로그램 코드가 저장된 컴퓨터 판독가능 매체.
  76. 상술한 방법 중의 어느 것에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 매체.
  77. 비트스트림을 저장하는 비디오 프로세싱 장치로서, 제1항 내지 제72항 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 비디오 프로세싱 장치.

KR1020227036389A 2020-04-26 2021-04-23 비디오 코딩 신택스 요소의 조건적 시그널링 KR20230002447A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063015623P 2020-04-26 2020-04-26
US63/015,623 2020-04-26
PCT/US2021/028974 WO2021222036A1 (en) 2020-04-26 2021-04-23 Conditional signaling of video coding syntax elements

Publications (1)

Publication Number Publication Date
KR20230002447A true KR20230002447A (ko) 2023-01-05

Family

ID=78373891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227036389A KR20230002447A (ko) 2020-04-26 2021-04-23 비디오 코딩 신택스 요소의 조건적 시그널링

Country Status (7)

Country Link
US (2) US11924474B2 (ko)
EP (1) EP4128775A4 (ko)
JP (1) JP2023523409A (ko)
KR (1) KR20230002447A (ko)
CN (2) CN115552802A (ko)
BR (1) BR112022021594A2 (ko)
WO (2) WO2021222036A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220337823A1 (en) * 2019-08-29 2022-10-20 Lg Electronics Inc. Cross-component adaptive loop filtering-based image coding apparatus and method

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373009B2 (en) 2005-02-09 2008-05-13 Lsi Corporation Method and apparatus for efficient transmission and decoding of quantization matrices
US20070086521A1 (en) * 2005-10-11 2007-04-19 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
CN101288311B (zh) * 2005-10-12 2011-05-11 汤姆森特许公司 用于可分级视频编码和解码中的加权预测的方法和装置
US9066102B2 (en) * 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
CA2823902C (en) * 2011-04-21 2018-03-27 Mediatek Inc. Method and apparatus for improved in-loop filtering
US9338465B2 (en) 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US9277228B2 (en) 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US20130107973A1 (en) 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
WO2013067687A1 (en) 2011-11-08 2013-05-16 Mediatek Singapore Pte. Ltd. Residue quad tree depth for chroma components
ES2898887T3 (es) * 2011-11-08 2022-03-09 Nokia Technologies Oy Manejo de imágenes de referencia
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
CN103918269B (zh) 2012-01-04 2017-08-01 联发科技(新加坡)私人有限公司 色度帧内预测方法及装置
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US9538200B2 (en) 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US9756327B2 (en) 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding
WO2013155028A1 (en) * 2012-04-09 2013-10-17 Vid Scale, Inc. Weighted prediction parameter signaling for video coding
JPWO2013154028A1 (ja) 2012-04-13 2015-12-17 ソニー株式会社 画像処理装置および方法
CN104604236B (zh) 2012-07-02 2017-12-15 诺基亚技术有限公司 用于视频编码的方法和装置
US9167248B2 (en) * 2012-07-13 2015-10-20 Qualcomm Incorporated Reference picture list modification for video coding
CN108156463B (zh) 2012-08-29 2022-07-01 Vid拓展公司 用于可分级视频编码的运动矢量预测的方法和装置
US9313500B2 (en) * 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
US10021414B2 (en) * 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
WO2015006281A2 (en) 2013-07-09 2015-01-15 Sony Corporation High level syntax improvement on inter-layer prediction for shvc/mv-hevc
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
US9648330B2 (en) 2013-07-15 2017-05-09 Qualcomm Incorporated Inter-color component residual prediction
TW201517597A (zh) * 2013-07-31 2015-05-01 Nokia Corp 用於視訊編碼及解碼之方法及裝置
KR102073930B1 (ko) 2014-03-14 2020-02-06 브이아이디 스케일, 인크. Rgb 비디오 코딩 향상을 위한 시스템 및 방법
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
US10353912B2 (en) * 2014-10-10 2019-07-16 Salesforce.Com, Inc. Navigation of a data extraction graph of data and metadata from a data repository
US20160112724A1 (en) * 2014-10-15 2016-04-21 Qualcomm Incorporated Hrd descriptor and buffer model of data streams for carriage of hevc extensions
KR20180028468A (ko) 2015-08-06 2018-03-16 엘지전자 주식회사 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치
US10306253B2 (en) 2015-10-14 2019-05-28 Qualcomm Incorporated Signaling of parameter sets in files of multi-layer bitstreams
US10382766B2 (en) 2016-05-09 2019-08-13 Qualcomm Incorporated Signalling of filtering information
US10419755B2 (en) 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US10582201B2 (en) 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
CN109691110B (zh) 2016-09-08 2023-07-25 佳稳集团有限公司 利用空间布局信息的同步多视点影像的编码/解码方法以及其装置
EP3556096B1 (en) 2016-12-22 2024-05-22 HFI Innovation Inc. Method and apparatus of motion refinement for video coding
KR102424829B1 (ko) 2017-02-22 2022-07-25 에스케이텔레콤 주식회사 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
AU2018295861C1 (en) 2017-07-04 2023-03-16 Samsung Electronics Co., Ltd. Video decoding method and apparatus using multi-core transform, and video encoding method and apparatus using multi-core transform
CN110710215A (zh) 2017-09-08 2020-01-17 株式会社Kt 视频信号处理方法及装置
WO2019089382A1 (en) 2017-10-31 2019-05-09 Vid Scale, Inc. 360-degree video coding using face-based geometry padding
US10778979B2 (en) 2018-01-11 2020-09-15 Qualcomm Incorporated Signaling mechanisms for equal ranges and other DRA parameters for video coding
TWI752341B (zh) 2018-08-04 2022-01-11 大陸商北京字節跳動網絡技術有限公司 不同解碼器側運動矢量推導模式之間的交互
TWI730380B (zh) 2018-08-17 2021-06-11 聯發科技股份有限公司 在視訊編解碼系統中利用雙向預測處理視訊的方法、設備和可讀介質
WO2020039363A1 (en) 2018-08-21 2020-02-27 Beijing Bytedance Network Technology Co., Ltd. Unequal weighted sample averages for bilateral filter
ES2960283T3 (es) 2018-09-07 2024-03-04 Huawei Tech Co Ltd Método y aparato para el filtrado de la interpolación para la intra e interpredicción en la codificación de vídeo
AU2019342803B2 (en) 2018-09-21 2023-07-13 Huawei Technologies Co., Ltd. Apparatus and method for inverse quantization
US11218694B2 (en) 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
TW202029755A (zh) 2018-09-26 2020-08-01 美商Vid衡器股份有限公司 視訊編碼雙預測
TWI822863B (zh) 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
WO2020093999A1 (en) 2018-11-05 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
KR102572140B1 (ko) 2018-11-30 2023-08-30 샤프 가부시키가이샤 코딩된 비디오의 픽처들에 대한 타일 구조들을 시그널링하기 위한 시스템들 및 방법들
US10972755B2 (en) 2018-12-03 2021-04-06 Mediatek Singapore Pte. Ltd. Method and system of NAL unit header structure for signaling new elements
US11683487B2 (en) 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
KR102414543B1 (ko) 2019-05-16 2022-06-28 엘지전자 주식회사 크로마 포멧에 기반하여 필터 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
MX2022000834A (es) 2019-08-08 2022-02-10 Fg innovation co ltd Dispositivo y metodo para la codificacion de datos de video.
US11375219B2 (en) 2019-09-24 2022-06-28 Tencent America LLC Coding method and system with improved dynamic internal bit depth
WO2021079948A1 (en) * 2019-10-25 2021-04-29 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding
US20210168406A1 (en) 2019-11-29 2021-06-03 Tencent America LLC Signaling of video coding tools supporting various chroma formats
US11432016B2 (en) 2019-12-05 2022-08-30 Hfi Innovation Inc. Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system
US11303914B2 (en) 2020-01-08 2022-04-12 Tencent America LLC Method and apparatus for video coding
WO2021191114A1 (en) 2020-03-26 2021-09-30 Interdigital Vc Holdings France Signaling coding parameters in video coding
JP7488358B2 (ja) 2020-03-31 2024-05-21 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド ビデオ符号化における構文要素のシグナリングのための方法および装置
US11601657B2 (en) 2020-04-02 2023-03-07 Qualcomm Incorporated LUMA mapping with chroma scaling (LMCS) in video coding
US11470358B2 (en) 2020-04-02 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling scaling window information in video coding
KR20240027893A (ko) * 2020-04-08 2024-03-04 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치

Also Published As

Publication number Publication date
US20240048771A1 (en) 2024-02-08
US11924474B2 (en) 2024-03-05
US20230114860A1 (en) 2023-04-13
CN115486081A (zh) 2022-12-16
EP4128775A1 (en) 2023-02-08
BR112022021594A2 (pt) 2022-12-06
JP2023523409A (ja) 2023-06-05
EP4128775A4 (en) 2024-03-27
WO2021222037A1 (en) 2021-11-04
CN115552802A (zh) 2022-12-30
WO2021222036A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
KR20220138051A (ko) 비디오 비트스트림내에서 일반적인 제약 플래그 (general constraint flags )의 사용
WO2021197445A1 (en) Constraints on adaptation parameter set syntax elements
WO2021169969A1 (en) Conditional signaling of syntax elements in a picture header
CN115299065A (zh) 基于变换跳过的残差编解码
KR102629799B1 (ko) 상위 레벨 신택스에서의 인터 예측에 대한 시그널링
KR20230002447A (ko) 비디오 코딩 신택스 요소의 조건적 시그널링
WO2021204251A1 (en) Use of header syntax elements and adaptation parameter set
KR20220157950A (ko) 어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트
KR20220165276A (ko) 비디오 코딩에서의 일반 제약 정보
US11743506B1 (en) Deblocking signaling in video coding
WO2021213357A1 (en) Adaptive color transform in video coding
WO2021209061A1 (en) Presence of adaptation parameter set units
KR20220159987A (ko) 비디오 코딩에서의 적합성 윈도우 파라미터
KR20220162713A (ko) 변환 스킵 모드에서 계수 코딩

Legal Events

Date Code Title Description
A201 Request for examination