KR20220157950A - 어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트 - Google Patents

어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트 Download PDF

Info

Publication number
KR20220157950A
KR20220157950A KR1020227031494A KR20227031494A KR20220157950A KR 20220157950 A KR20220157950 A KR 20220157950A KR 1020227031494 A KR1020227031494 A KR 1020227031494A KR 20227031494 A KR20227031494 A KR 20227031494A KR 20220157950 A KR20220157950 A KR 20220157950A
Authority
KR
South Korea
Prior art keywords
slice
flag
video
equal
picture
Prior art date
Application number
KR1020227031494A
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 KR20220157950A publication Critical patent/KR20220157950A/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/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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

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

Abstract

비디오 프로세싱 방법 및 장치가 개시된다. 프로세싱은 비디오 인코딩, 비디오 디코딩 또는 비디오 트랜스코딩을 포함할 수 있다. 하나의 예시적인 방법은, 비디오의 비디오 블록 및 상기 비디오의 비트스트림 간의 변환을 위해, 규칙에 따라 상기 비디오 블록에 대응하는 예측 블록의 크기를 결정하는 단계, 및 상기 결정에 기초하여 상기 변환을 수행하는 단계를 포함하고, 상기 규칙은, 광 흐름 기술을 이용한 예측 리파인먼트(prediction refinement)가 상기 비디오 블록을 코딩하는데 사용되는지에 응답하여 상기 예측 블록의 제1 크기가 결정됨을 나타내고, 상기 비디오 블록은 제2 크기를 갖고 어파인 머지 모드 또는 어파인 어드밴스드 모션 벡터 예측 모드를 이용하여 코딩된다.

Description

어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트
관련 출원의 상호 참조
파리 협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2020년 3월 23일에 제출된 국제 특허 출원 번호 PCT/CN2020/080602에 대한 우선권과 혜택을 적시에 청구하기 위하여 만들어졌다. 법 하의 모든 목적을 위해, 상술한 출원의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 문서는 이미지 및 비디오 코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크 상에서 가장 큰 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 요구가 계속 증가할 것으로 기대된다.
본 문서는 코딩된 표현의 디코딩에 유용한 제어 정보를 이용하여 비디오의 코딩된 표현을 프로세싱하기 위한 비디오 인코더 및 디코더에 의해 사용될 수 있는 기술을 개시한다.
일 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은, 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 적용되는지가 적어도 픽처 파라미터 세트에 포함되는 제1 신택스 요소 (syntax element)에 기초함을 나타내는 규칙을 따르고, 제1 신택스 요소는 디블로킹 필터가 픽처에 대하여 디스에이블되는지를 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은, 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 적용되는지가 디블로킹 필터가 디스에이블되는지를 나타내는 픽처 파라미터 세트에 포함되는 신택스 요소에만 기초함을 나타내는 규칙을 따른다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 비트스트림은 규칙을 따르고, 규칙은 슬라이스 레벨 또는 픽처 레벨에서 슬라이스 또는 픽처에 대한 디블로킹 동작이 오버라이드될지는 슬라이스 레벨의 제1 신택스 요소의 제1 값 또는 픽처 레벨의 제2 신택스 요소의 제2 값에 기초하여 결정됨을 나타내고, 상기 규칙은, 슬라이스 헤더의 제1 신택스 요소의 부재에 응답하여, 제1 신택스 요소의 제1 값이 픽처 레벨의 제2 신택스 요소의 제2 값과 독립적으로 결정됨을 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 비트스트림은 규칙을 따르고, 상기 규칙은, 디블로킹 파라미터가 슬라이스 헤더 또는 픽처 헤더에 포함되는지는 슬라이스 레벨의 제1 신택스 요소의 제1 값 또는 픽처 레벨의 제2 신택스 요소의 제2 값에 기초하여 결정됨을 나타내고, 상기 규칙은, 슬라이스 헤더의 제1 신택스 요소의 부재에 응답하여, 제1 신택스 요소의 제1 값이 픽처 레벨의 제2 신택스 요소의 제2 값과 독립적으로 결정됨을 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 스트림 간의 변환을 수행하는 단계를 포함하고, 비트스트림은, 제1 신택스 요소 및 제2 신택스 요소가 각각 픽처 헤더 및 슬라이스 헤더에 포함되거나 픽처 파라미터 세트의 제3 신택스 요소의 값에 기초하여 추론되는지를 나타내는 포맷 규칙을 따르고, 제1 신택스 요소는 비디오의 픽처 레벨에서 디블로킹 필터가 디스에이블되는지를 나타내고, 제2 신택스 요소는 디블로킹 필터가 비디오의 슬라이스 레벨에서 디스에이블되는지를 나타내고, 제3 신택스 요소는 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 픽처에 대하여 인에이블되는지를 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 디블로킹 필터가 슬라이스에 적용되는지는 슬라이스 헤더 및/또는 픽처 헤더 및/또는 슬라이스에 의해 참조된 픽처 파라미터 세트에 포함되는 신택스 요소들에 기초함을 나타내는 규칙을 따르고, 신택스 요소들은 픽처 파라미터 세트 레벨 및/또는 슬라이스 레벨 및/또는 픽처 레벨에서 인에이블되는지를 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은 디블로킹 필터가 슬라이스에 적용되는지가 슬라이스에 의해 참조된 시퀀스 파라미터 세트에 포함되는 신택스 요소들에 기초함을 나타내는 규칙을 따르고, 신택스 요소는 디블로킹 필터가 인에이블되는지를 나타내는 제1 신택스 요소 및/또는 디블로킹 필터의 제1 세트의 파라미터를 표시하는 신택스 요소의 세트를 포함한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은 디블로킹 필터가 슬라이스에 적용되는지가 비디오 유닛 레벨에 포함되는 비이진(non-binary) 신택스 요소에 기초함을 나타내는 규칙을 따르고, 비이진 신택스 요소는 하나 이상의 슬라이스에 디블로킹 필터가 적용되는지 및/또는 어떻게 적용되는지를 표시한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은, (1) 디블로킹 필터가 비디오의 픽처 레벨 또는 비디오의 슬라이스 레벨에서 인에이블되고 (2) 베타 및 tC에 대한 0-값 디블로킹 파라미터 오프셋이 디블로킹 필터의 파라미터에 사용되는 것을 나타내는 규칙을 따른다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 블록과 비디오의 비트스트림 간의 변환을 위해 규칙에 따라 비디오 블록에 대응하는 예측 블록의 크기를 결정하는 단계, 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 상기 규칙은, 광 흐름 (optical flow) 기술을 이용한 예측 리파인먼트가 비디오 블록을 코딩하는데 사용되는지에 응답하여 예측 블록의 제1 크기가 결정됨을 나타내고, 비디오 블록은 제2 크기를 갖고 어파인 머지 모드 또는 어파인 어드밴스드 모션 벡터 예측 모드를 이용하여 코딩된다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 규칙은 픽처 레벨 또는 슬라이스 레벨보다 큰 비디오 레벨에서 제1 신택스 요소가 표시되는 것을 나타내고, 상기 제1 신택스 요소는 상기 픽처 레벨 또는 슬라이스 레벨이 양자화 파라미터 델타를 포함하는지를 나타낸다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 제1 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 제1 비디오 레벨에 포함되는지를 제1 비디오 레벨의 제1 플래그가 표시함을 나타내고, 상기 제1 비디오 레벨은 슬라이스 레벨보다 높고, 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 제2 비디오 레벨의 제2 플래그가 표시함을 나타내고, 상기 제2 비디오 레벨은 픽처 레벨보다 높다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 비트스트림은 코딩 블록 세분(subdivision) 값을 나타내는 제1 신택스 요소를 포함하고, 상기 코딩 블록 세분 값은 규칙에 따른 범위를 갖는다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 비디오 픽처 파라미터 세트를 참조하는 하나 이상의 비디오 슬라이스로의 디블로킹 필터의 적용가능성에 관한 디시전(decision)이 해당 비디오 픽처의 픽처 헤더에 포함되는 디블로킹 신택스 필드에 기초하여 수행됨을 나타내는 제1 규칙을 따른다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 슬라이스 헤더 레벨 및/또는 픽처 헤더 레벨 및/또는 비디오 슬라이스에 대한 픽처 파라미터 세트 레벨에 포함된 필드들에 기초하여 비디오 슬라이스로의 디블로킹 필터의 적용가능성에 대한 제약을 나타내는 규칙을 따른다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 제1 규칙에 기초한 어파인 어드밴스드 모션 벡터 예측자 코딩 또는 제2 규칙에 기초한 어파인 머지 모드를 갖는 예측 리파인먼트 기반 광 흐름 (PROF; prediction refinement based optical flow)의 적용가능성에 대하여, 결정하는 단계; 및 상기 결정에 따라 비디오의 비디오 블록 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 픽처 레벨 또는 슬라이스 레벨의 제1 신택스 요소 및/또는 양자화 파라미터 델타 또는 오프셋 시그널링을 나타내는 또다른 레벨의 제2 신택스 요소는 규칙에 따라 코딩된 표현에 조건적으로 포함된다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 그 범위가 규칙에 따른 코딩 블록 세분 값(cbSubDiv)을 나타내는 신택스 요소를 포함한다.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장된 컴퓨터 판독가능 매체가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로 여기에 설명된 방법 중 하나를 구현한다.
이들 및 기타 특징은 본 문서 전체에 걸쳐 설명되어 있다.
도 1는 예시적인 비디오 프로세싱 시스템의 블록도.
도 2은 비디오 프로세싱 장치의 블록도.
도 3은 예시적인 비디오 프로세싱 방법의 플로우챠트.
도 4는 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 나타내는 블록도.
도 5는 본 개시의 일부 실시예에 따른 인코더를 나타내는 블록도.
도 6은 본 개시의 일부 실시예에 따른 디코더를 나타내는 블록도.
도 7 내지 19는 예시적인 비디오 프로세싱 방법의 플로우챠트.
섹션 표제는 이해의 편의를 위해 본 문서에서 사용되며, 각 섹션에 개시된 기술 및 실시예의 적용가능성은 그 섹션에만 제한되지 않는다. 또한, H.266 용어는 단지 이해의 편의를 위해 일부 설명에서 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 기재된 기술은 다른 비디오 코덱 프로토콜 및 설계에 적용가능하다.
1. 도입
이 문서는 비디오 코딩 기술에 관한 것이다. 구체적으로, 비디오 코딩에서 디블로킹 시그널링, QP 델타/오프셋 시그널링, 양자화 그룹에 대한 cbSubdiv 값 정의 및 PROF 핸들링의 지원에 관한 것이다. 아이디어는, 멀티레이어 비디오 코딩, 예를 들어 개발중인 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 신택스(syntax) 및 시맨틱스(semantics)는 다음과 같다.
Figure pct00001
Figure pct00002
Figure pct00003
Figure pct00004
Figure pct00005
Figure pct00006
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은 다음과 같이 도출된다:
Figure pct00007
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는 다음과 같이 도출된다.
Figure pct00008
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 pct00009
다음의 제약이 모두 적용되는 것이 비트스트림 적합성의 요구사항이다:
- 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 pct00010
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은 각각
Figure pct00011
Figure pct00012
을 유도하는 데 사용되는 루마 양자화 파라미터
Figure pct00013
에 대한 오프셋을 나타낸다. 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
Figure pct00014
를 도출하는데 사용되는 루마 양자화 파라미터
Figure pct00015
에 대한 오프셋을 나타낸다. 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 ]는 각각
Figure pct00016
Figure pct00017
의 도출에 사용되는 오프셋을 나타낸다. 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 pct00018
및 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 pct00019
및 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 pct00020
및 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. PH 신택스 및 시맨틱스
최신 VVC 초안 텍스트에서, PH 신택스 및 시맨틱스는 다음과 같다.
Figure pct00021
PH RBSP는 PH 신택스 구조, 즉, picture_header_structure( )를 포함한다.
Figure pct00022
Figure pct00023
Figure pct00024
Figure pct00025
Figure pct00026
Figure pct00027
Figure pct00028
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는 다음과 같이 도출된다:
Figure pct00029
주 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 ]와 동일한 adapt_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와 동일한 adapt_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와 동일한 adaption_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaption_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 pct00030
ph_num_ver_virtual_boundaries 는 PH에 존재하는 ph_virtual_boundaries_pos_x[ i ] 신택스 요소의 수를 나타낸다. ph_num_ver_virtual_boundaries가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
변수 NumVerVirtualBoundaries는 다음과 같이 도출된다:
Figure pct00031
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 pct00032
두 수직 가상 경계 사이의 거리는 CtbSizeY 루마 샘플보다 크거나 같아야 한다.
ph_num_hor_virtual_boundaries는 PH에 존재하는 ph_virtual_boundaries_pos_y[ i ] 신택스의 수를 나타낸다. ph_num_hor_virtual_boundaries가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다.
파라미터 NumHorVirtualBoundaries 는 다음과 같이 도출된다:
Figure pct00033
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 / 8) - 1까지의 범위에 있어야 한다.
루마 샘플 단위로 수평 가상 경계의 위치를 나타내는 리스트 VirtualBoundariesPosY[ i ]는 다음과 같이 도출되고, 여기서, i는 0에서 NumHorVirtualBoundaries - 1까지의 범위이다:
Figure pct00034
두 개의 수평 가상 경계 사이의 거리는 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 pct00035
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 은 다음과 같이 도출된다:
Figure pct00036
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 pct00037
및 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 pct00038
및 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 pct00039
및 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.3. SH 신택스 및 시맨틱스
최신 VVC 초안 텍스트에서, SH 신택스 및 시맨틱스는 다음과 같다.
Figure pct00040
Figure pct00041
Figure pct00042
Figure pct00043
Figure pct00044
cu_qp_delta_abs를 포함하는 코딩 유닛에 대한 루마 양자화 파라미터와 그 예측 간의 차이를 나타내는 변수 CuQpDeltaVal는 0과 동일하게 설정된다. cu_chroma_qp_offset_flag를 포함하는 코딩 유닛에 대한
Figure pct00045
Figure pct00046
양자화 파라미터의 각각의 값을 결정할 때 사용될 값을 나타내는 변수 (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 pct00047
변수 SubpicLeftBoundaryPos, SubpicTopBoundaryPos, SubpicRightBoundaryPos, 및 SubpicBotBoundaryPos는 다음과 같이 도출된다:
Figure pct00048
slice_type 는 표 9에 따라 슬라이스의 코딩 타입을 나타낸다.
표 9 -slice_type에 대한 이름 연관성 (Name association to slice_type)
Figure pct00049
존재하지 않으면, 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 pct00050
- 그렇지 않으면(slice_type가 0 (B) 또는 1 (P)와 동일하면), 다음이 적용된다:
Figure pct00051
- 다음이 적용된다:
Figure pct00052
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의 adaption_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 pct00053
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 은 다음과 같이 도출된다:
Figure pct00054
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
Figure pct00055
양자화 파라미터의 값을 결정할 때 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
Figure pct00056
양자화 파라미터의 값을 결정할 때 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
Figure pct00057
의 값을 결정할 때 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 pct00058
및 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 pct00059
및 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는 현재 슬라이스에 대한 Cr 컴포넌트에 적용되는 (2로 나누어진)
Figure pct00060
및 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 pct00061
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 pct00062
마지막 서브세트 (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.4 인터 블록에 대한 디코딩 프로세스 - 분수 샘플 보간 프로세스
최신 VVC 초안 텍스트에서 분수 샘플 보간 프로세스의 디코딩 프로세스(fractional sample interpolation process)는 다음과 같다:
이 프로세스로의 입력은:
현재 픽처의 좌측 상단 루마 샘플에 대하여 현재 코딩 서브블록의 좌측 상단 샘플을 나타내는 루마 위치 ( xSb, ySb ),
현재 코딩 서브블록의 폭을 나타내는 변수(sbWidth),
현재 코딩 서브블록의 높이를 나타내는 변수 (sbHeight),
모션 벡터 오프셋(mvOffset),
리파인드(refined) 모션 벡터 (refMvLX),
선택된 참조 픽처 샘플 어레이 (refPicLX),
하프 샘플 보간 필터 인덱스 (hpelIfIdx),
디코더측 모션 벡터 리파인먼트 플래그 (dmvrFlag),
양방향 광 흐름 플래그(bdofFlag),
선택된 참조 픽처가 스케일링을 필요로 하는지를 나타내는 변수(refPicIsScaled),
현재 블록의 색상 컴포넌트 인덱스를 나타내는 변수(cIdx),
2개의 스케일링 비(수평 및 수직)(scalingRatio).
이 프로세스의 출력은:
예측 샘플 값의 (sbWidth + brdExtSize)x(sbHeight + brdExtSize) 어레이(predSamplesLX).
예측 블록 경계 확장 크기(brdExtSize)는 다음과 같이 도출된다:
Figure pct00063
변수(refWraparoundEnabledFlag)는 ( pps_ref_wraparound_enabled_flag && !refPicIsScaled )와 동일하게 설정된다.
변수(fRefLeftOffset)는 ( ( SubWidthC * scaling_win_left_offset )  <<  10 )와 동일하게 설정되고, 여기서, scaling_win_left_offset는 참조 픽처에 대한 scaling_win_left_offset이다.
변수(fRefTopOffset)는 ( ( SubWidthC * scaling_win_top_offset )  <<  10 )와 동일하게 설정되고, 여기서, scaling_win_top_offset는 참조 픽처에 대한 scaling_win_top_offset이다.
예측 샘플 값의 (sbWidth + brdExtSize)x(sbHeight + brdExtSize) 어레이(predSamplesLXㅗ)는 다음과 같이 도출된다:
모션 벡터(mvLX)는 ( refMvLX - mvOffset )와 동일하게 설정된다.
cIdx가 0과 동일하면, 다음이 적용된다:
( xIntL, yIntL )을 전체 샘플 유닛으로 주어진 루마 위치라고 하고 ( xFracL, yFracL )을 1/16 샘플 유닛으로 주어진 오프셋이라고 한다. 이 변수는 참조 샘플 어레이(refPicLX) 내부의 분수 샘플 위치를 나타내기 위해 이 절에서만 사용된다.
참조 샘플 패딩( xSbIntL, ySbIntL )에 대한 바운딩 블록의 좌측 상단 좌표는 ( xSb + ( mvLX[ 0 ] >> 4 ), ySb + ( mvLX[ 1 ] >> 4 ) )와 동일하게 설정된다.
예측 루마 샘플 어레이(predSamplesLX) 내부의 각 루마 샘플 위치( xL = 0..sbWidth - 1 + brdExtSize, yL = 0..sbHeight - 1 + brdExtSize )에 대해 해당 예측 루마 샘플 값 (predSamplesLX[ xL ][ yL ])은 다음과 같이 유도된다:
( refxSbL, refySbL ) 및 ( refxL, refyL )을 1/16 샘플 유닛으로 주어진 모션 벡터( refMvLX[0], refMvLX[1] )가 가리키는 루마 위치라고 한다. 변수(refxSbL, refxL, refySbL 및 refyL)는 다음과 같이 도출된다:
Figure pct00064
- 변수(xIntL, yIntL, xFracL and yFracL)는 다음과 같이 도출된다:
Figure pct00065
- 예측 루마 샘플 값(predSamplesLX[ xL ][ yL ])은 다음과 같이 도출된다:
- bdofFlag가 TRUE와 같거나 (ph_disable_prof_flag가 FALSE와 같고 inter_affine_flag[ xSb ][ ySb ]가 TRUE와 같고) 다음 조건 중 하나 이상이 참이면, 예측 루마 샘플 값(predSamplesLX[ xL ][ yL ])은 ( xIntL + ( xFracL >> 3) - 1), yIntL + ( yFracL >> 3 ) - 1 ), refPicLX 및 refWraparoundEnabledFlag를 입력으로 사용하여 8.5.6.3.3절에 명시된 바와 같이 루마 정수 샘플 페칭 프로세스를 인보크함으로써 도출된다.
xL 는 0과 동일하다.
xL 는 sbWidth + 1와 동일하다.
yL 는 0과 동일하다.
yL 는 sbHeight + 1와 동일하다.
그렇지 않으면, 예측 루마 샘플 값(predSamplesLX[ xL ][ yL ])은 8.5.6.3.2절에 명시된 바와 같이 루마 샘플 8-탭 보간 필터링 프로세스를 ( xIntL - ( brdExtSize > 0 ? 1 : 0 ), yIntL - ( brdExtSize > 0 ? 1 : 0 ) ), ( xFracL, yFracL ), ( xSbIntL, ySbIntL ), refPicLX, hpelIfIdx, sbWidth, sbHeight, dmvrFlag, refWraparoundEnabledFlag, scalingRatio[ 0 ], scalingRatio[ 1 ], 및 ( xSb, ySb )를 입력으로 하여 인보크함으로써 도출된다.
그렇지 않으면(cIdx가 0과 같지 않으면), 다음이 적용된다:
( xIntC, yIntC )는 전체 샘플 유닛으로 주어진 크로마 위치이고 ( xFracC, yFracC )는 1/32 샘플 유닛으로 주어진 오프셋이라 한다. 이 변수는 참조 샘플 어레이(refPicLX) 내부의 일반 분수 샘플 위치를 명시하기 위해 이 절에서만 사용된다.
참조 샘플 패딩( xSbIntC, ySbIntC )에 대한 바운딩 블록의 좌측 상단 좌표는 ( (xSb / SubWidthC ) + ( mvLX[ 0 ]  >>  5), ( ySb / SubHeightC ) + ( mvLX[ 1 ]  >>  5 ) )와 동일하게 설정된다.
예측 크로마 샘플 어레이(predSamplesLX) 내부의 각 크로마 샘플 위치( xC = 0..sbWidth - 1, yC = 0.. sbHeight - 1 )에 대해 해당 예측 크로마 샘플 값 (predSamplesLX[ xC ][ yC ])는 다음과 같이 유도된다:
(refxSbC, refySbC) 및 ( refxC, refyC )를 1/32 샘플 유닛으로 주어진 모션 벡터(refMvLX[ 0 ], refMvLX[ 1 ])가 가리키는 크로마 위치라고 한다. 변수(refxSbC, refySbC, refxC 및 refyC)는 다음과 같이 도출된다:
Figure pct00066
- 변수(xIntC, yIntC, xFracC and yFracC)는 다음과 같이 도출된다:
Figure pct00067
예측 샘플 값(predSamplesLX[ xC ][ yC ])은 ( xIntC, yIntC ), ( xFracC, yFracC ), ( xSbIntC, ySbIntC ), sbWidth, sbHeight, refPicLX, dmvrFlag, refWraparoundEnabledFlag, scalingRatio[ 0 ], 및 scalingRatio[ 1 ]를 입력으로 사용하여 8.5.3.4에서 명시된 프로세스를 인보크(invoke)함으로써 도출된다.
주 - 8.4.5.2.13절에 명시된 프로세스와 달리, 이 프로세스는 sps_chroma_vertical_collocated_flag 및 sps_chroma_horizontal_collocated_flag를 모두 사용한다.
4. 기술적 솔루션 및 실시예로 구현되는 기술적 문제점
디블로킹, 스케일링 및 PROF를 위한 기존 설계는 다음과 같은 문제가 있다:
1) 현재, PPS, PH, SH 신택스 요소에서 제어하는 디블로킹(DB)의 설계 로직에는 몇 가지 문제점이 있다.
a. 첫째로, PPS를 참조하는 슬라이스에 대해 디블로킹 필터가 적용되는지 여부를 나타내는 데 사용되는 PPS 신택스 요소 pps_deblocking_filter_disabled_flag의 현재 시맨틱스에 따라 SH 신택스 요소 slice_deblocking_filter_disabled_flag를 확인한다. 그러나, slice_deblocking_filter_disabled_flag 외에도 PH 신택스 요소 (ph_deblocking_filter_disabled_flag)도 pps_deblocking_filter_disabled_flag와 함께 확인해야 한다. 따라서 pps_deblocking_filter_disabled_flag의 현재 시맨틱스는 올바르지 않다.
b. 둘째로, 현재 초안 텍스트에 따르면, 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에서 시그널링될 것이다.
c. 세번째로, 현재 초안 텍스트에 따르면, PPS 신택스 요소(deblocking_filter_override_enabled_flag)가 1과 동일하고 pps_deblocking_filter_disabled_flag가 1과 동일하면, ph_deblocking_filter_disabled_flag 또는 slice_deblocking_filter_disabled_flag는 여전히 1과 동일하도록 명시적으로 시그널링될 수 있다. 그러나, 이러한 경우는 PPS에서 디블로킹이 디스에이블되어 오버라이딩될 것이지만 오버라이드 프로세스는 아무 것도 변경하지 않고(예: PH/SH에서 디블로킹이 디스에이블된 상태로 유지됨) 시그널링을 위해 비트를 낭비한다는 것을 의미한다.
d. 넷째로, 현재의 디블로킹 설계 로직은 PPS에서 디블로킹이 디스에이블된 경우에도 PH/SH에서 디블로킹을 인에이블될 수 있는 가능성을 허용한다. 이러한 설계 로직은 ALF, SAO, LMCS, TMVP, WP 등과 같은 대부분의 다른 코딩 툴의 설계 로직과 상당히 다르다.
e. PPS DB 디스에이블링 플래그(즉, pps_deblocking_filter_disabled_flag)는 deblocking_filter_control_present_flag가 1과 동일한 경우에만, 시그널링되고, 플래그가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. 즉, 의도는 기본적으로 DB를 인에이블하는 것이다. 두 개의 신택스 요소(즉, PPS DB 디스에이블링 플래그 및 deblocking_filter_control_present_flag)는 다소 중복된다(redundant). 더 나은 디자인이 필요하다.
2) 최신 VVC 초안 텍스트에 따르면, PROF에 대해 생성된 예측 블록의 크기는 그것이 어파인 AMVP인지 어파인 MERGE 모드인지에 따라 다르다. sbWidth 및 sbHeight가 어파인 코딩된 블록에 대한 서브블록의 폭과 높이라고 가정하면, 현재 텍스트에서, "inter_affine_flag[ xSb ][ ySb ] && !ph_disable_prof_flag" 조건에 따라, PROF가 어파인 AMVP 블록에 적용될 때 (sbWidth + 2) x (sbHeight +2) 등의 확장 샘플이 있는 예측 블록은 PROF에 사용되지만, PROF가 어파인 MERGE 블록에 적용될 때 sbWidth x sbHeight의 예측 블록은 PROF에 사용된다. 이러한 설계로 인해 어파인 AMVP를 갖는 PROF와 어파인 MERGE를 갖는 PROF 간에 서로 다른 핸들링 메커니즘이 발생한다.
a. 또한, 8-탭 보간 필터는 PROF용 서브블록 내부의 내부 예측 샘플을 생성하는 데 사용되며, 8-탭 필터 이외의 정수 샘플은 PROF용 서브블록 외부의 확장 예측 샘플을 생성하는 데 사용된다. 그러나 현재 텍스트에 따르면, 어파인 MERGE를 갖는 PROF에 대한 확장된 샘플이 없기 때문에 어파인 AMVP를 갖는 PROF와 어파인 MERGE를 갖는 PROF 간에 불일치가 발생한다.
3) 현재, 픽처 레벨 또는 슬라이스 레벨 루마 qp 델타는 항상 PH 또는 SH에서 시그널링되며, 둘 다 절대 시그널링되지 않는다. 반면에, 슬라이스 레벨 크로마 qp 오프셋은 SH에서 선택적으로 시그널링되고 픽처 레벨 크로마 qp 오프셋에 대한 PH 시그널링은 없다. 이러한 설계는 일관성/효율성/유연성이 없을 수 있다.
4) 최신 VVC 초안 텍스트에서, (ph_cu_qp_delta_subdiv_intra_slice, ph_cu_qp_delta_subdiv_inter_slice, ph_cu_chroma_qp_offset_subdiv_intra_slice, and ph_cu_chroma_qp_offset_subdiv_inter_slice 등의) 델타 QP 시그널링 관련 PH 신택스 요소에 대한 허용된 값 범위의 정의는 정밀하지 않을 수 있다.
5. 솔루션 및 실시예의 예 리스트
상술한 문제점 및 언급되지 않은 다른 문제점을 해결하기 위해, 하기에 요약된 방법이 개시된다. 항목은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하며 좁은 의미로 해석되어서는 안 됩니다. 또한 이러한 항목은 개별적으로 적용하거나 어떤 방식으로든 결합될 수 있다.
다음 논의에서, DBF 파라미터는 DBF 온/오프 제어 파라미터 및 DBF 필터 파라미터(예를 들어, pps_beta_offset_div2와 같은 베타/Tc 오프셋의 표시)를 포함할 수 있다.
다음 논의에서, SH는 PH와 연관될 수 있으며, 즉 SH는 PH와 연관된 픽처에 있는 슬라이스와 연관된다. SH는 PPS와 연관될 수 있고, 즉 SH는 PPS와 연관된 픽처에 있는 슬라이스와 연관된다. PH는 PPS와 연관될 수 있으며, 즉, PH는 PPS와 연관된 픽처와 연관된다.
다음 논의에서, SPS는 PPS와 연관될 수 있으며, 즉, PPS는 SPS를 참조할 수 있다.
1. 첫 번째 문제를 해결하기 위한 PPS, PH 및 SH의 디블로킹 제어 설계와 관련하여, 예를 들어, 실시예의 첫 번째 세트에서와 같이 다음 접근법 중 하나 이상이 개시된다:
a. 일 예에서, 디블로킹 필터의 동작이 PPS를 참조하는 슬라이스에 대하여 적용되는지 여부는 연관된 PH의 디블로킹 온/오프 플래그(예를 들어, ph_deblocking_filter_disabled_flag)에 의존할 수 있다.
i. 예를 들어, PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되는지 여부는 PPS에서 디블로킹이 디스에이블되는지 여부(예: pps_deblocking_filter_disabled_flag가 1과 동일) 및 디블로킹이 픽처 레벨에서 디스에이블되는지 여부 (예를 들어, ph_deblocking_filter_disabled_flag가 1과 같음) 및 디블로킹이 슬라이스 레벨에서 디스에이블되는지 여부(예를 들어, slice_deblocking_filter_disabled_flag가 1과 같음) 에 종속될 수 있다.
ii. 대안적으로, 디블로킹 필터의 동작이 PPS를 참조하는 슬라이스에 대해 적용되는지 여부는 PPS에서 디블로킹이 디스에이블되는지 여부(예를 들어, pps_deblocking_filter_disabled_flag가 1과 같음)와 디블로킹 오버라이드가 픽처 레벨 및 슬라이스 레벨에서 비활성화되는지(예: deblocking_filter_override_enabled_flag은 0과 동일)에 종속될 수 있다.
iii. 대안적으로, PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되는지 여부는 PPS에서 디블로킹이 디스에이블되는지 여부(예를 들어, pps_deblocking_filter_disabled_flag가 1과 같음)에만 의존할 수 있다.
b. 추가적으로, slice_deblocking_filter_override_flag가 존재하지 않는 경우, slice_deblocking_filter_override_flag의 값은 ph_deblocking_filter_override_flag와 무관할 수 있다(0과 같은 특정 값으로 유추될 수 있음).
c. 추가적으로, 대안적으로, PH 신택스 요소 ph_deblocking_filter_disabled_flag 및/또는 SH 신택스 요소 slice_deblocking_filter_disabled_flag가 명시적으로 시그널링되는지 또는 암시적으로 추론되는지 여부는 pps_deblocking_filter_disabled_flag와 같은 PPS 디블로킹 온/오프 플래그의 값에 의존할 수 있다.
d. DBF가 제1 레벨(예: PPS)에서 디스에이블된 경우 더 낮은 레벨(예: PH/SH)에서 인에이블될 수 없도록 제안된다.
i. 예를 들어, PH/SH에서 픽처/슬라이스 레벨 DBF 온/오프 제어 파라미터의 존재는 PH/SH에서 시그널링되는 DBF 오버라이드 플래그의 값 이외의 PPS에서 시그널링되는 DBF 온/오프 플래그 (예를 들어, pps_deblocking_filter_disabled_flag)의 값에 직접적으로 의존할 수 있다.
1) 예를 들어, PPS DBF 온/오프 제어 파라미터가 PPS를 참조하는 슬라이스에 대해 디블로킹이 비활성화되도록 지정하는 경우(pps_deblocking_filter_disabled_flag는 1과 동일), PH/SH DBF 온/오프 제어 파라미터는 시그널링되지 않을 수 있다.
ii. 추가적으로, PPS/PH/SH에서의 DBF 온/오프 제어 파라미터의 존재는 PPS, PH, 및 SH에서의 DBF 온/오프 제어 파라미터 및 DBF 필터 파라미터의 존재를 나타내는 DBF 글로벌 제어 플래그(예를 들어, PPS에서의 deblocking_filter_control_present_flag)에 기초하여 직접 조절될 수 있다.
1) 예를 들어, DBF 글로벌 제어 플래그가 DBF 온/오프 제어 파라미터와 DBF 필터 파라미터가 모두 시그널링되지 않는 것을 나타내면(deblocking_filter_control_present_flag는 0과 동일), PPS/PH/SH DBF 온/오프제어 파라미터는 시그널링되지 않을 수 있다.
iii. 추가적으로, PPS 디블로킹 온/오프 플래그가 존재하지 않으면, 이는 0 또는 1 등의 소정의 값과 동일한 것으로 추론될 수 있다.
iv. 추가적으로, PH 디블로킹 온/오프 플래그가 존재하지 않으면, 이는 PPS 디블로킹 온/오프 플래그의 값과 동일한 것으로 추론될 수 있다.
v. 추가적으로, SH 디블로킹 온/오프 플래그가 존재하지 않으면, 이는 PPS/PH 디블로킹 온/오프 플래그의 값과 동일한 것으로 추론될 수 있다.
e. 싱기 DBF가 제1 레벨에서(예를 들어, PH에서) 인에이블되면, 더 낮은 레벨(예를 들어, SH)에서 디스에이블될 수 있는 것이 제안된다 .
i. 예를 들어, 픽처의 다수의 슬라이스에 대해, 일부 슬라이스는 디블로킹 필터를 사용하고 일부 슬라이스는 디블로킹 필터를 사용하지 않는 것이 허용된다.
ii. 예를 들어, SH에서의 DBF 온/오프 제어 플래그의 시그널링은 PH DBF 온/오프 제어 플래그에 의존할 수 있다.
1) 예를 들어, DBF가 현재 픽처에 대해 인에이블되면, 현재 슬라이스가 디블로킹 필터를 사용하는지 여부를 나타내기 위해 슬라이스 레벨에서의 DBF 온/오프 제어 플래그가 추가로 시그널링될 수 있다.
f. DBF 온/오프 제어 파라미터 및/또는 DBF 필터 파라미터가 PH 또는 SH에 존재하는지 여부를 나타내는 PPS 신택스 요소 "dbf_info_in_ph_flag"의 시그널링은 deblocking_filter_override_enabled_flag와 같은 다른 신택스 요소와 독립적일 수 있다.
i. 추가적으로, 대안적으로, PH/SH에서의 픽처/슬라이스 레벨 DBF 온/오프 플래그의 시그널링은 PH/SH DBF 오버라이드 플래그가 아닌 dbf_info_in_ph_flag 및/또는 pps_deblocking_filter_enabled_flag에 기초하여 직접 조절될 수 있다.
g. PPS/PH/SH에서의 DBF 오버라이드 플래그는 DBF 온/오프 제어 파라미터 이외의 DBF 필터 파라미터를 오버라이드하는 데에만 사용하는 것이 제안된다.
i. 예를 들어, DBF 온/오프 제어 플래그가 먼저 시그널링된 다음 DBF 오버라이드 플래그가 동일한 레벨(예: PPS/PH/SH)에서 DBF 온/오프 제어 플래그를 기반으로 하는 컨디셔닝과 함께 이후에 시그널링된다.
1) 예를 들어, 픽처/슬라이스-레벨 DBF 온/오프 제어 파라미터는 PH/SH DBF 오버라이드 플래그가 참인지 여부에 관계없이 PH/SH에서 시그널링될 수 있다.
2) 예를 들어, 픽처/슬라이스 레벨 DBF 온/오프 제어 파라미터는 PPS DBF 오버라이드 플래그가 참인지 여부에 관계없이 PH/SH에서 시그널링될 수 있다.
3) 예를 들어, DBF 오버라이드 플래그는 동일한 레벨(예: PPS/PH/SH)에서 DBF 온/오프 제어 플래그를 기반으로 조건부로 시그널링된다.
a. 예를 들어, PPS 디블로킹 오버라이드 인에이블 플래그(예를 들어, deblocking_filter_override_enabled_flag)의 시그널링은 디블로킹이 PPS에서 인에이블되는지 여부(예를 들어, PPS에서의 pps_deblocking_filter_disabled_flag가 0과 동일함)에 의존할 수 있다.
i. 예를 들어, PPS에서 디블로킹이 디스에이블되면 PPS 신택스 요소 deblocking_filter_override_enabled_flag는 시그널링되지 않는다.
b. 예를 들어, PH 디블로킹 오버라이드 플래그(예: ph_deblocking_filter_override_flag)의 시그널링은 디블로킹이 PH에서 인에이블되는지 여부(예: ph_deblocking_filter_disabled_flag가 0과 동일)에 의존할 수 있다.
i. 예를 들어, PH에서 디블로킹이 디스에이블되면 PH 신택스 요소 ph_deblocking_filter_override_flag가 시그널링되지 않는다.
c. 예를 들어, SH 디블로킹 오버라이드 플래그(예를 들어, slice_deblocking_filter_override_flag)의 시그널링은 디블로킹이 SH에서 인에이블되는지 여부(예를 들어, slice_deblocking_filter_disabled_flag가 0과 동일함)에 의존할 수 있다.
i. 예를 들어, SH에서 디블로킹이 디스에이블되면 SH 신택스 요소 Slice_DEBLOCKING_FILTER_OVERRIDE_FLAG가 시그널링되지 않는다.
d. 추가적으로, PPS/PH/SH 디블로킹 오버라이드 플래그가 존재하지 않는 경우, 이는 소정의 값(예: 0)과 동일한 것으로 추론될 수 있다.
4) 예를 들어, DBF 필터 파라미터의 시그널링은 DBF 온/오프 제어 플래그가 아닌 DBF 오버라이드 플래그에 기초하여 직접적으로 조절될 수 있다.
a. 예를 들어, PH에서의 DBF 필터 파라미터 (예를 들어, ph_beta_offset_div2, ph_tc_offset_div2, ph_cb_beta_offset_div2, ph_cb_tc_offset_div2, ph_cr_beta_offset_div2, ph_cr_tc_offset_div2)의 존재는 PH에서의 DBF 온/오프 플래그 (예를 들어, ph_deblocking_filter_disabled_flag)가 아닌 PH에서의 DBF 오버라이드 플래그(예를 들어, ph_deblocking_filter_override_flag)에 기초하여 직접 조절될 수 있다.
b. 예를 들어, SH에서의 DBF 필터 파라미터 (예를 들어, slice_beta_offset_div2, slice_tc_offset_div2, slice_cb_beta_offset_div2, slice_cb_tc_offset_div2, slice_cr_beta_offset_div2, slice_cr_tc_offset_div2)의 존재는 SH에서의 DBF 온/오프 플래그(예를 들어, slice_deblocking_filter_disabled_flag)가 아닌 SH에서의 DBF 오버라이드 플래그(예를 들어, slice_deblocking_filter_override_flag)에 기초하여 직접 조절될 수 있다.
h. PPS/PH/SH에서의 DBF 온/오프 제어는 DBF "disable" 플래그가 아닌 DBF "enable" 플래그에 의존할 수 있다고 제안된다.
i. 예를 들어, DBF 인에이블 플래그(예: pps_deblocking_filter_enabled_flag로 명명됨)는 PPS를 참조하는 슬라이스에 대해 디블로킹이 인에이블되는지 여부를 나타내기 위해 PPS에서 시그널링될 수 있다.
ii. 예를 들어, PPS DBF 인에이블 플래그는 DBF 글로벌 제어 플래그(예를 들어, PPS의 deblocking_filter_control_present_flag)와 같은 다른 신택스 요소와 독립적으로 시그널링될 수 있다.
iii. 예를 들어, DBF가 더 높은 레벨(예를 들어, PPS or PH)에서 디스에이블되면, 더 낮은 레벨(예를 들어, PH 및/또는 SH)에서의 DBF 인에이블링 플래그의 시그널링은 없고 더 높은 레벨(예를 들어, PPS/PH)에서의 온/오프 제어의 값과 동일한 것으로 추론된다.
iv. 예를 들어, DBF 글로벌 제어 플래그(예를 들어, PPS에서의 deblocking_filter_control_present_flag)는 PPS/PH/SH에서의 DBF 오버라이드 플래그와 PPS/PH/SH에서의 DBF 필터 파라미터의 존재를 제어하는 데만 사용될 수 있다.
1) 예를 들어, DBF 글로벌 제어 플래그(예를 들어, PPS에서의 deblocking_filter_control_present_flag)는 PPS/PH/SH에서의 DBF 온/오프 제어 파라미터의 존재를 제어하는 데 사용되지 않는다.
2) 예를 들어, DBF가 PPS에서 인에이블된 경우(예를 들어, pps_deblocking_filter_enabled_flag가 1인 경우)에만 DBF 글로벌 제어 플래그가 시그널링된다.
a. 예를 들어, DBF가 PPS에서 비활성화되면(예를 들어, pps_deblocking_filter_enabled_flag가 0임), DBF 글로벌 제어 플래그가 시그널링되지 않는다.
b. 추가적으로, 디블로킹이 PPS에서 디스에이블되면, deblocking_filter_control_present_flag는 0과 동일한 것으로 추론된다.
3) 예를 들어, PPS에서의 DBF 오버라이드 인에이블/디스에이블 플래그(예를 들어, PPS에서 deblocking_filter_override_enabled_falg)의 시그널링은 PPS에서의 DBF 온/오프 플래그가 아닌 DBF 글로벌 제어 플래그를 기반으로 직접 조절될 수 있다.
4) 예를 들어, 베타 및 tc 값과 같은 PPS DBF 파라미터의 시그널링은 PPS에서의 DBF 온/오프 플래그가 아닌 DBF 글로벌 제어 플래그를 기반으로 직접 조정될 수 있다.
i. DBF 온/오프 제어 파라미터 또는 DBF 필터 파라미터 중 하나의 오버라이드를 허용하거나 둘다 오버라이드하지 않도록 제안된다.
i. 일 예에서, 오버라이딩 메커니즘이 PPS/PH/SH에서 허용될 수 있다.
ii. 일 예에서, DBF 온/오프 제어 파라미터만 다른 레벨(예를 들어, PPS/PH/SH)에서 오버라이드될 수 있는 경우, 다음이 추가로 적용될 수 있다:
1) DBF가 더 작은 비디오 유닛에 대하여 인에이블되면, DBF 필터 파라미터는 제1 레벨(예를 들어, PPS)에서만 시그널링될 수 있고, 모든 더 작은 비디오 유닛(예를 들어, 픽처/슬라이스)은 제1 레벨과 연관된 파라미터로부터 상속된다.
iii. 일 예에서, DBF 필터 파라미터만이 다른 레벨(예를 들어, PPS/PH/SH)에서 오버라이드될 수 있는 경우, 다음이 추가로 적용될 수 있다:
1) DBF가 더 작은 비디오 유닛에 대하여 인에이블되면, DBF 온/오프 제어 파라미터는 제1 레벨(예를 들어, PPS)에서만 시그널링될 수 있고, 모든 더 작은 비디오 유닛(예를 들어, 픽처/슬라이스)은 제1 레벨과 연관된 파라미터로부터 상속된다.
j. DBF가 더 높은 레벨(예를 들어, PPS)에서 디스에이블되면, 더 작은 비디오 유닛(예를 들어, PH/SH)에서 DBF 온/오프 제어 파라미터를 오버라이드하는 것을 허용하지 않는 것이 제안된다.
i. 대안적으로, 또한, 더 작은 비디오 유닛 레벨(예를 들어, PH/SH)에서 DBF 온/오프 제어 파라미터의 시그널링은 더 높은 레벨(예를 들어, PPS)에서 실행중인 DBF 온/오프 제어 파라미터의 조건 체크 하에 있을 수 있다.
1) 대안적으로, 더 작은 비디오 유닛 레벨에 존재하지 않을 때, DBF는 디스에이블되거나 인에이블된 것으로 추론되거나 더 높은 비디오 유닛 레벨에서의 온/오프 상태와 동일하다.
k. PPS에서 'deblocking_filter_control_present_flag'가 제거되고 인에이블링/디스에이블링 DBF 를 나타내는 첫 번째 신택스 요소가 'deblocking_filter_control_present_flag'에 의해 제어되지 않고 직접 시그널링될 수 있다.
i. 대안적으로, 더 나아가, DBF 필터 파라미터들의 오버라이드가 허용되는지 여부를 알려주는 제2 신택스 요소는 인에이블링 DBF에 대응하는 제1 신택스 요소에 따라 더 시그널링될 수 있다.
1) 대안적으로, DBF 필터 파라미터는 오버라이드가 허용됨을 알리는 제2 신택스 요소에 따라 시그널링될 수 있다.
l. PPS에서 'deblocking_filter_control_present_flag'를 제거하고 DBF 파라미터의 오버라이드의 허용 여부를 알려주는 첫 번째 신택스 요소가 'deblocking_filter_control_present_flag'에 의해 제어되는 대신 직접 시그널링될 수 있다.
i. 대안적으로, 또한, 인에이블링/디스에이블링 DBF를 알려주는 제2 신택스 요소는 허용 오버라이드에 대응하는 제1 신택스 요소에 따라 더 시그널링될 수 있다.
1) 대안적으로, DBF 필터 파라미터는 DBF가 인에이블됨을 알리는 제2 신택스 요소에 따라 시그널링될 수 있다.
m. DBF 온/오프 제어 플래그 및/또는 DBF 파라미터가 PH 또는 SH에서 시그널링되는지 여부를 나타내는 신택스 요소(예를 들어, dbf_info_in_ph_flag)는 PPS 대신 PH로 시그널링될 수 있다.
n. 일 예에서, DBF 온/오프 제어 플래그 및/또는 DBF 파라미터는 PH 및 SH에서 시그널링될 수 있다.
i. 예를 들어, SH에서 시그널링된 DBF 온/오프 제어 플래그 및/또는 DBF 파라미터는 PH에서 시그널링된 것을 오버라이드할 수 있다.
o. DBF 온/오프 제어 플래그 및/또는 DBF 파라미터가 SPS에서 시그널링될 수 있음이 제안된다.
i. SPS에서 시그널링된 DBF 온/오프 제어 플래그는 PPS, PH 또는 SH 등의 낮은 레벨 비디오 유닛에서 시그널링된 DBF 온/오프 제어 플래그에 의해 오버라이드될 수 있다.
ii. SPS에서 시그널링된 DBF 파라미터는 PPS, PH 또는 SH 등의 낮은 레벨 비디오 유닛에서 시그널링된 DBF 파라미터에 의해 오버라이드될 수 있다.
p. 비-이진 값(예를 들어, 플래그 이외의 표시자)을 갖는 신택스는 예를 들어, 이 문서의 하위 섹션 6.1.4의 실시예 등의 실시예의 제1 세트에서처럼, 디블로킹 모드를 나타내기 위하여 비디오 유닛 레벨(예를 들어, PPS/SPS)에서 시그널링될 수 있다 . 일 예에서, N비트 모드 지시자는 디블로킹 필터 모드를 나타내기 위해 PPS에서 시그널링될 수 있다.
i. 예를 들어, N = 2.
ii. 예를 들어, a 2-비트 모드 표시자(예를 들어, deblocking_filter_mode_idc로 명명됨)가 PPS에 추가되고, 다음의 시맨틱스를 갖는다:
0과 동일한 deblocking_filter_mode_idc는 PPS를 참조하는 모든 슬라이스에 대해 디블로킹 필터가 적용되지 않음을 나타낸다. 1과 동일한 deblocking_filter_mode_idc는
Figure pct00068
및 tC에 대한 0값 디블로킹 파라미터 오프셋을 사용하여 디블로킹 필터가 PPS를 참조하는 모든 슬라이스에 대하여 적용됨을 나타낸다. 2와 동일한 deblocking_filter_mode_idc는 PPS에서 명시적으로 시그널링된
Figure pct00069
및 tC에 대한 디블로킹 파라미터 오프셋을 사용하여 디블로킹 필터가 PPS를 참조하는 모든 슬라이스에 대하여 적용됨을 나타낸다. 3과 동일한 deblocking_filter_mode_idc는 디블로킹 필터가 PPS를 참조하는 슬라이스에 대하여 적용되는지 여부가 슬라이스의 슬라이스 헤더 또는 PH에 존재하는 파라미터에 의해 제어되는 것을 나타낸다.
iii. 추가적으로, PPS에서의 DBF 필터 파라미터의 시그널링은 모드 표시기의 값에 의존한다.
a. 예를 들어, 모드 표시기가 소정의 조건(예: X = 1과 같은 소정의 값 X보다 큼)을 충족하는 경우 DBF 필터 파라미터는 PPS에서 시그널링된다. 그렇지 않으면, PPS DBF 필터 파라미터는 0으로 추론된다.
iv. 추가적으로, DBF 온/오프 제어 파라미터 및/또는 DBF 필터 파라미터가 PH 또는 SH에 존재하는지를 나타내는 PPS 신택스 요소 "dbf_info_in_ph_flag"의 시그널링은 모드 표시자의 값에 의존할 수 있다.
a. 예를 들어, 모드 표시자가 소정의 조건(예를 들어, Y = 3과 같은 소정의 값 Y와 같음)을 충족하면 PPS 신택스 요소 "dbf_info_in_ph_flag"가 시그널링된다.
i. 추가적으로, PPS 신택스 요소 "dbf_info_in_ph_flag"가 시그널링되지 않으면, 이는 (0 또는 1 등의) 소정의 값과 동일한 것으로 추론된다.
v. 추가적으로, PH 또는 SH에서의 DBF 온/오프 제어 파라미터 및/또는 DBF 필터 파라미터의 시그널링은 모드 표시자의 값에 의존할 수 있다.
a. 예를 들어, 모드 표시자가 소정의 조건 (예를 들어, Y = 3과 같은 소정의 값 Y와 동일)을 충족하면, 픽처 레벨 DBF 온/오프 제어 플래그가 PH에서 시그널링될 수 있다.
b. 예를 들어, 모드 표시자가 소정의 조건(예를 들어 Y = 3과 같은 특정 값 Y와 동일)을 충족하면, SH에서의 슬라이스 레벨 DBF 온/오프 제어 플래그가 SH에서 시그널링될 수 있다.
q. DBF는 픽처/슬라이스 레벨에서 인에이블될 수 있고 DBF 파라미터에 대해 0 값 베타/tc 오프셋을 사용할 수 있다.
i. 일 예에서, 하나 이상의 신택스 요소(예를 들어, explicit_default_deblocking_params_flag로 명명)는 디폴트 DBF 파라미터가 0-값 베타/tc 오프셋 또는 명시적으로 시그널링된 베타/tc 오프셋을 갖는지 여부를 나타내기 위해 PPS에서 시그널링될 수 있으며, 후자의 경우에만 베타/tc 오프셋은 명시적으로 시그널링된다. PPS에 의해 결정된 DBF 파라미터와 디폴트 DBF 파라미터는 픽처 또는 슬라이스 레벨에서 오버라이드되거나 오버라이드되지 않을 수 있다.
ii. 일 예에서, 하나 이상의 신택스 요소(예를 들어, explicit_default_deblocking_params_flag 로 명명됨)는 0-값 베타/tc 오프셋 또는 명시적으로 시그널링된 베타/tc 오프셋이 사용되는지 여부를 나타내기 위해 비디오 유닛 레벨(예를 들어, SPS/PPS/PH/SH)에서 시그널링될 수 있으며, 후자의 경우 베타/tc 오프셋이 명시적으로 시그널링된다.
2. 두 번째 문제를 해결하기 위한 어파인 AMVP를 갖는 PROF 및 어파인 MERGE를 갖는 PROF에 대한 핸들링 메커니즘과 관련하여, 예를 들어, 두 번째 세트의 실시예에서와 같이 다음 접근법 중 하나 이상이 개시된다:
a. 어파인 MERGE 코딩된 블록의 경우, PROF가 여전히 적용될 수 있고 M*N 서브블록(또는 블록)에 대응하는 예측 블록 크기는 M*N, 즉 (M+M0)*(N+N0)보다 클 수 있습니다. 여기서, M0 및 N0는 둘 다 0이 아니다.
i. 일 예에서, M0 및 N0는 2로 설정된다.
b. PROF 예측 블록(서브블록)을 생성하기 위해 확장 샘플을 사용할지 여부 및/또는 PROF 예측 블록(서브블록)에 대해 얼마나 많은 확장 샘플이 생성되는지는 예측 리파인먼트 유틸리티 플래그, 예를 들어 cbProfFlagLX에 의존할 수 있고, 여기서, X는 0 또는 1이다.
i. 소정의 값의 예측 블록 경계 확장 크기(예: 확장된 폭 및/또는 확장된 높이 및/또는 확장된 샘플의 수)가 어파인 AMVP를 갖는 PROF 서브블록 또는 어파인 MERGE를 갖는 PROF 서브블록에 관계없이 사용될 수 있다.
a) 예를 들어, PROF를 적용하는 MХN 서브블록의 경우 (여기서, M은 서브블록 폭이고 N은 서브블록 높이이다), 폭에서의 X(예: X=2)개의 확장된 샘플 및 높이에서의 Y(예: Y=2)개의 확장 샘플은, 어파인 AMVP를 갖는 PROF 서브블록이든 어파인 MERGE를 갖는 PROF 서브블록이든 상관없이, PROF 서브블록에 대한 (M+X) x (N+Y) 예측 샘플을 구성하는 데 사용될 수 있다.
ii. 정수 샘플은, 어파인 AMVP를 갖는 PROF 서브블록이든 어파인 MERGE를 갖는 PROF 서브블록이든 상관없이, PROF 예측을 위한 확장 샘플을 생성하는 데 사용된다.
3. 세 번째 문제를 해결하기 위한 PH 및 SH qp 델타/오프셋 시그널링과 관련하여, 다음 접근법 중 하나 이상이 개시된다:
a. 일 예에서, 제1 신택스 요소는 루마/크로마 델타 QP 시그널링이 인에이블되는지 여부를 나타내기 위해 PH/SH(예를 들어, SPS/PPS)에 비해 더 높은 레벨에서 시그널링될 수 있다.
i. 일 예에서, PH 및/또는 SH에서 루마 qp 델타의 존재는 예를 들어, 제3 실시예에서와 같이 SPS/PPS 루마 qp 델타 존재 플래그(예를 들어, pps_pic_slice_luma_qp_delta_present_flag)에 의존할 수 있다.
a) 예를 들어, SPS/PPS 루마 qp 델타 존재 플래그가 PH 루마 qp 델타 또는 SH 루마 qp 델타 모두 시그널링되지 않음을 나타내는 경우, 루마 qp 델타는 PH에서 시그널링되지 않고 SH에서 시그널링되지 않도록 요구된다.
a. 대안적으로, SPS/PPS 루마 qp 델타 존재 플래그가 PH/SH 루마 qp 델타가 존재하지 않음을 나타내는 경우, 루마 qp 델타는 PH/SH에서 시그널링되지 않도록 요구된다.
b. 추가적으로, PH 루마 qp 델타가 존재하지 않으면, 이는 (0 등의) 소정의 값으로 추론될 수 있다.
c. 추가적으로, SH 루마 qp 델타가 존재하지 않는 경우, 이는 소정의 값(예: 0 또는 PH 루마 qp 델타와 동일)인 것으로 추론될 수 있다.
b) 추가적으로, 루마 qp 델타가 PH 또는 SH에서 시그널링되는지 여부를 나타내는 PPS 스위치 플래그(예를 들어, qp_delta_info_in_ph_flag)의 존재는 위에서 언급한 SPS/PPS 루마 qp 델타 존재 플래그에 의존할 수 있다.
a. 예를 들어, SPS/PPS 루마 qp 델타 존재 플래그가 PH 루마 qp 델타도 SH 루마 qp 델타도 시그널링되지 않음을 나타내면, PPS 스위치 플래그는 시그널링되지 않도록 요구된다.
i. 추가적으로, PPS 스위치 플래그가 존재하지 않으면, 이는 소정의 값(예: 0)과 동일한 것으로 추론된다.
b. 일 예에서, 크로마(Cb, Cr, 조인트 CbCr와 같은) qp 오프셋은 SH에 비해 더 높은 레벨에서 시그널링될 수 있다(예를 들어, PH에서, 예를 들어, 제3 실시예에서와 같이).
i. 예를 들어, PH 또는 SH에서 크로마 qp 오프셋을 시그널링할지 여부는 PPS 스위치 플래그(예: qp_offset_info_in_ph_flag)에 의존할 수 있다.
a) 예를 들어, PPS 스위치 플래그가 크로마 qp 오프셋이 PH에서 시그널링되는 것을 나타내면, 크로마 qp 오프셋은 SH에서 시그널링되지 않는다.
a. 대안적으로, PPS 스위치 플래그가 크로마 qp 오프셋이 PH에서 시그널링되지 않음을 나타내면, 크로마 qp 오프셋은 SH에서 시그널링될 수 있다.
b. 또한, PH 크로마 qp 오프셋이 존재하지 않으면, 이는 소정의 값(예: 0)으로 추론될 수 있다.
c. 또한, SH 크로마 qp 오프셋이 존재하지 않는 경우, 이는 소정의 값(예: 0 또는 PH 크로마 qp 오프셋과 동일)으로 추론될 수 있다.
b) 일 예에서, 플래그는 루마 델타 qp가 PH 또는 SH에서 시그널링되는지 여부를 제어하는 플래그와 동일하다.
ii. 추가적으로, 대안적으로, PH 및/또는 SH에서의 크로마 qp 오프셋의 존재는 SPS/PPS 크로마 qp 오프셋 존재 플래그(예를 들어, pps_pic_slice_chroma_qp_offset_present_flag)에 의존할 수 있다.
a) 예를 들어, SPS/PPS 크로마 qp 오프셋 존재 플래그가 PH 또는 SH 크로마 qp 오프셋이 시그널링되지 않음을 나타내면, 크로마 qp 오프셋은 PH에서 시그널링되지 않고 SH에서 시그널링되지 않도록 요구된다.
b) 추가적으로, 크로마 qp 오프셋이 PH 또는 SH에서 시그널링되는지 여부를 나타내는 PPS 스위치 플래그(예를 들어, qp_offset_info_in_ph_flag)의 존재는 전술한 SPS/PPS 크로마 qp 오프셋 존재 플래그에 의존할 수 있다.
a. SPS/PPS 크로마 qp 오프셋 존재 플래그가 PH 또는 SH 크로마 qp 오프셋이 시그널링되지 않음을 나타내면, PPS 스위치 플래그는 시그널링되지 않도록 요구된다.
i. 추가적으로, PPS 스위치 플래그가 존재하지 않는 경우, 이는 소정의 값(예: 0)과 동일한 것으로 추론될 수 있다.
iii. qp_delta 및 크로마 qp 오프셋의 시그널링은 항상 동일한 헤더에 있을 수 있다.
a) 예를 들어, qp_delta가 PH에서 시그널링되면, 크로마 qp 오프셋은 SH에서 시그널링되어서는 안 된다.
b) 예를 들어, qp_delta가 SH에서 시그널링될 때, 크로마 qp 오프셋은 PH에서 시그널링되어서는 안 된다.
4. 두 번째 문제를 해결하기 위한 PH 신택스 요소 ph_cu_qp_delta_subdiv_intra_slice, ph_cu_qp_delta_subdiv_inter_slice, ph_cu_chroma_qp_offset_subdiv_intra_slice, 및 ph_cu_chroma_qp_offset_subdiv_inter_slice의 범위와 관련하여, 예를 들어, 제4 실시예에 있어서, 다음 중 하나 이상의 접근 방식이 개시된다:
a. cu_qp_delta_abs 및 cu_qp_delta_sign_flag (예를 들어, ph_cu_qp_delta_subdiv_intra_slice)를 전달하는 인트라 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값의 범위가 ph_max_mtt_hierarchy_depth_intra_slice_luma에 종속하지 않을 수 있고, 예를 들어, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
i. 대안적으로, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_intra_slice_luma, CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
b. cu_chroma_qp_offset_flag (예를 들어, ph_cu_chroma_qp_offset_subdiv_intra_slice)를 전달하는 인트라 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값의 범위는 ph_max_mtt_hierarchy_depth_intra_slice_luma에 의존하지 않을 수 있고, 예를 들어, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
i. 대안적으로, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_intra_slice_luma, CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
c. cu_qp_delta_abs 및 cu_qp_delta_sign_flag (예를 들어, ph_cu_qp_delta_subdiv_inter_slice)를 전달하는 인터 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값의 범위는 ph_max_mtt_hierarchy_depth_inter_slice에 의존하지 않을 수 있고, 예를 들어, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY ) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
i. 대안적으로, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_inter_slice, CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
d. cu_chroma_qp_offset_flag (예를 들어, ph_cu_chroma_qp_offset_subdiv_inter_slice)를 전달하는 인터 슬라이스에서 코딩 유닛의 최대 cbSubdiv 값의 범위는 ph_max_mtt_hierarchy_depth_inter_slice에 의존하지 않을 수 있고, 예를 들어, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY ) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
i. 대안적으로, 이는 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_inter_slice, CtbLog2SizeY - MinCbLog2SizeY )까지의 범위에 있을 수 있다.
6. 실시예
아래는 VVC 사양에 적용될 수 있는 섹션 5에 요약된 본 발명의 측면들 중 일부에 대한 몇 가지 예시적인 실시예이다. 변경된 텍스트는 JVET-Q2001-vD의 최신 VVC 텍스트를 기반으로 한다. 추가 또는 수정된 대부분의 관련 부분은 굵은 기울임꼴로 강조 표시되며, 삭제된 부분 중 일부는 이중 괄호 사이에 삭제된 텍스트가 있는 열고 닫는 이중 괄호(예: [[ ]])로 강조 표시된다.
6.1. 제1 세트의 실시예
이것은 섹션 5에 요약된 항목 1(1.a에서 1.o까지)에 대한 일련의 실시예이다.
6.1.1. 항목 1.a의 실시예
일 예에서, pps_deblocking_filter_disabled_flag의 시맨틱스는 다음과 같이 변경된다.
1과 동일한 pps_deblocking_filter_disabled_flagph_deblocking_filter_disabled_flag 및 slice_deblocking_filter_disabled_flag[[존재하지 않음]]가 1과 동일한 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 작동이 적용되지 않음을 나타낸다. 0과 동일한 pps_deblocking_filter_disabled_flag는 ph_deblocking_filter_disabled_flag 및 slice_deblocking_filter_disabled_flag [[is]] 가 1과 동일한 [[존재하지 않음]] PPS를 참조하는 슬라이스에 대하여 디블로킹 필터의 동작이 적용되는 것을 나타낸다. 존재하지 않으면, pps_deblocking_filter_disabled_flag의 값은 0과 동일한 것으로 추론된다.
6.1.2. 항목 1.b의 실시예
일 예에서, slice_deblocking_filter_override_flag의 시맨틱스는 다음과 같이 변경된다:
1과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 is inferred to be equal to [[ph_deblocking_filter_override_flag]] 0 과 동일한 것으로 추론된다.
6.1.3. 항목 1.c의 실시예
일 예에서, 신택스 구조picture_header_structure( )는 다음과 같이 변경된다:
Figure pct00070
1과 동일한 ph_deblocking_filter_disabled_flag는 PH와 연관된 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 나타낸다. 0과 동일한 ph_deblocking_filter_disabled_flag는 PH와 연관된 슬라이스에 대하여 디블로킹 필터의 동작이 적용됨을 나타낸다. ph_deblocking_filter_disabled_flag가 존재하지 않고 ph_deblocking_filter_override_flag가 1과 동일하면 (이 경우, pps_deblocking_filter_disabled_flag가 1과 동일), 이는 는 0과 동일한 것으로 추론된다. 그렇지 않으면, ph_deblocking_filter_disabled_flag가 존재하지 않고 ph_deblocking_filter_override_flag가 0과 동일하면 , 이는 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
그리고, 신택스 구조 slice_header ( )는 다음과 같이 변경된다:
Figure pct00071
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 는 디블로킹 필터의 동작이 현재 슬라이스에 대하여 적용됨을 나타낸다. ph_deblocking_filter_disabled_flag가 존재하지 않고 slice_deblocking_filter_override_flag가 1과 동일하면 (이 경우, pps_deblocking_filter_disabled_flag가 1과 동일), 이는 0과 동일한 것으로 추론된다. 그렇지 않으면, slice_deblocking_filter_disabled_flag가 존재하지 않고 slice_deblocking_filter_override_flag가 0과 동일하면 , 이는 ph_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
6.1.4. 항목 1.p의 실시예
일 예에서, 신택스 구조 pic_parameter_set_rbsp( )는 다음과 같이 변경된다:
Figure pct00072
...
0과 동일한 deblocking_filter_mode_idc는 디블로킹 필터가 PPS를 참조하는 임의의 슬라이스에 대하여 적용되지 않음을 나타낸다. 1과 동일한 deblocking_filter_mode_idc는
Figure pct00073
및 tC에 대한 0-값 디블로킹 파라미터 오프셋을 이용하여 디블로킹 필터가 PPS를 참조하는 모든 슬라이스에 대하여 적용됨을 나타낸다. 2와 동일한 deblocking_filter_mode_idc는 PPS에서 명시적으로 시그널링된
Figure pct00074
및 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 pct00075
...
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 pct00076
...
1과 동일한 slice_deblocking_filter_used_flag는 디블로킹 필터가 현재 슬라이스에 대하여 적용됨을 나타낸다. 0과 동일한 slice_deblocking_filter_used_flag equal to 0 는 디블로킹 필터가 현재 슬라이스에 대하여 적용되지 않음을 나타낸다. 존재하지 않으면, 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와 동일한 것으로 추론된다.]]
[[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 일반
디블로킹 필터 프로세스는 다음 타입의 에지를 제외하고 픽처의 모든 코딩 서브블록 에지 및 변환 블록 에지에 적용된다:
- 픽처의 경계에 있는 에지,
- loop_filter_across_subpic_enabled_flag[ subpicIdx ]가 0과 동일하고 서브픽처 인덱스 subpicIdx를 갖는 서브픽처의 경계와 일치하는 에지,
- VirtualBoundariesPresentFlag가 1과 동일할 때 픽처의 가상 경계와 일치하는 에지,
- loop_filter_across_tiles_enabled_flag가 0과 동일할 때 타일 경계와 일치하는 에지,
- loop_filter_across_slices_enabled_flag가 0과 동일할 때 슬라이스 경계와 일치하는 에지,
- slice_deblocking_filter_ used [[disabled]]_flag가 [[1]] 0 과 동일한 슬라이스의 상부 또는 좌측 경계와 일치하는 에지
- slice_deblocking_filter_ used [[disabled]]_flag가 [[1]] 0 ,과 동일한 슬라이스 내의 에지
- 루마 컴포넌트의 4Х4 샘플 그리드 경계에 대응하지 않는 에지,
- 크로마 컴포넌트의 8Х8 샘플 그리드 경계에 대응하지 않는 에지,
- 에지의 양쪽이 1과 동일한 intra_bdpcm_luma_flag를 갖는 루마 컴포넌트 내의 에지,
- 에지의 양쪽이 1과 동일한 intra_bdpcm_chroma_flag를 갖는 크로마 컴포넌트 내의 에지,
- 연관된 변환 유닛의 에지가 아닌 크로마 서브블록의 에지.
에지 타입인 수직 또는 수평은 표 42에 명시된 바와 같이 변수로 표현된다.
표 42 - edgeType에 대한 연관성의 이름 (Name of association to edgeType)
Figure pct00077
현재 슬라이스의 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.3.3.2 절에 명시된 바와 같이 일 방향에 대한 디블로킹 필터 프로세스를 인보크함으로써 필터링된다.
- 수평 에지는, 변수 treeType, 디블로킹 후의 수정된 재구성된 픽처, 즉, 어레이 recPictureCb 및 recPictureCr 및 EDGE_HOR와 동일하게 설정된 변수 edgeType를 입력으로서 갖고 디블로킹 후의 수정된 재구성된 픽처, 즉, 어레이 recPictureCb 및 recPictureCr 를 출력으로서 갖는 8.3.3.2 절에 명시된 바와 같이 일 방향에 대한 디블로킹 필터 프로세스를 인보크함으로써 필터링된다.
6.1.5. 항목 1.d, 1.g, 1.j, 및 1.f의 실시예
일 예에서, 신택스 구조 pic_parameter_set_rbsp( )는 다음과 같이 변경된다:
Figure pct00078
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과 동일한 것으로 추론된다.
그리고, 신택스 구조 picture_header_structure( )는 다음과 같이 변경된다:
Figure pct00079
그리고, 신택스 구조 slice_header ( )는 다음과 같이 변경된다:
Figure pct00080
1과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 slice_deblocking_filter_override_flag는 디블로킹 필터가 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 [[ph_deblocking_filter_override_flag]] 0 와 동일한 것으로 추론된다
6.1.6. 항목 1.d, 1.g, 1.j, 1.e, 및 1.n의 다른 실시예
일 예에서, 신택스 구조 pic_parameter_set_rbsp( ) 는 다음과 같이 변경된다:
Figure pct00081
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과 동일한 것으로 추론된다.
그리고, 신택스 구조 picture_header_structure( ) 는 다음과 같이 변경된다:
Figure pct00082
그리고, 신택스 구조 slice_header ( ) 는 다음과 같이 변경된다:
Figure pct00083
1과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 [[ph_deblocking_filter_override_flag]] 0 와 동일한 것으로 추론된다.
6.1.7. Another embodiment of 항목 1.d, 1.g, 1.j, 1.f, 1.h, 및 1.k의 다른 실시예
일 예에서, 신택스 구조 pic_parameter_set_rbsp( ) 는 다음과 같이 변경된다:
Figure pct00084
0과 동일한 pps_deblocking_filter_enabled_flag는 PPS를 참조하는 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 나타낸다. 1과 동일한 pps_deblocking_filter_enabled_flag 는 PPS를 참조하는 슬라이스에 대하여 디블로킹 필터의 동작이 적용됨을 나타낸다.
1과 동일한 deblocking_filter_control_present_flag는 PPS 내의 디블로킹 필터 제어 신택스 요소의 존재를 나타낸다. 0과 동일한 deblocking_filter_control_present_flag는 PPS 내의 디블로킹 필터 제어 신택스 요소의 부재를 나타낸다. sps_dbf_enabled_flag가 0과 동일하면, deblocking_filter_control_present_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과 동일한 것으로 추론된다.]]
그리고, 신택스 구조 picture_header_structure( ) 는 다음과 같이 변경된다:
Figure pct00085
[[1]] 0 과 동일한 ph_deblocking_filter_[[disabled]] enabled _flag는 PH와 연관된 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 나타낸다. [[0]] 1 와 동일한 ph_deblocking_filter_[[disabled]] enabled _flag는 PH와 연관된 슬라이스에 대하여 디블로킹 필터의 동작이 적용됨을 나타낸다. ph_deblocking_filter_[[disabled]] enabled _flag가 존재하지 않으면, 이는 pps_deblocking_filter_[[disabled]] enabled _flag와 동일한 것으로 추론된다.
그리고, 신택스 구조 slice_header ( )는 다음과 같이 변경된다:
Figure pct00086
1과 동일한 slice_deblocking_filter_override_flag 는 디블로킹 파라미터가 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 slice_deblocking_filter_override_flag는 디블로킹 파라미터가 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, slice_deblocking_filter_override_flag의 값은 [[ph_deblocking_filter_override_flag]] 0 과 동일한 것으로 추론된다.
[[1]] 0 과 동일한 slice_deblocking_filter_[[disabled]] enabled _flag 는 현재 슬라이스에 대하여 디블로킹 필터의 동작이 적용되지 않음을 나타낸다. [[0]] 1 과 동일한 slice_deblocking_filter_[[disabled]] enabled _flag 는 현재 슬라이스에 대하여 디블로킹 필터의 동작이 적용됨을 나타낸다. slice_deblocking_filter_[[disabled]] enabled _flag가 존재하지 않으면, 이는 [[pps]] ph _deblocking_filter_[[disabled]] enabled _flag와 동일한 것으로 추론된다.
6.2. 제2 세트의 실시예
이것은 섹션 5에 요약된 항목 2, 2.a 및 2.b에 대한 일련의 실시예이다
8.5.6.3 분수 샘플 보간 프로세스
8.5.6.3.1 일반
이 프로세스로의 입력은:
- 현재 픽처의 좌측 상단 루마 셈플에 대하여 현재 코딩 서브블록의 좌측 상단 샘플을 나타내는 루마 위치 ( xSb, ySb ),
- 현재 코딩 서브블록의 폭을 나타내는 변수 (sbWidth),
- 현재 코딩 서브블록의 높이를 나타내는 변수 (sbHeight),
- 모션 벡터 오프셋(mvOffset),
- 리파인드 모션 벡터(refMvLX),
- 선택된 참조 픽처 샘플 어레이(refPicLX),
- 하프 샘플 보간 필터 인덱스(hpelIfIdx),
- 예측 리파인먼트 이용 플래그(cbProfFlagLX),
- 디코더측 모션 벡터 리파인 플래그(dmvrFlag),
- 양방향 광 흐름 플래그(bdofFlag),
- 선택된 참조 픽처가 스케일링을 필요로 하는지를 나타내는 변수(refPicIsScaled),
- 현재 블록의 색상 컴포넌트 인덱스를 나타내는 변수(cIdx),
- 2개의 스케일링비(수평 및 수직)의 리스트(scalingRatio).
이 프로세스의 출력은:
- 예측 샘플 값의 (sbWidth + brdExtSize)x(sbHeight + brdExtSize) 어레이(predSamplesLX).
예측 블록 경계 확장 크기(brdExtSize)는 다음과 같이 도출된다:
Figure pct00087
변수(refWraparoundEnabledFlag)는 ( pps_ref_wraparound_enabled_flag && !refPicIsScaled )와 동일하게 설정된다.
변수(fRefLeftOffset)는 ( ( SubWidthC * scaling_win_left_offset )  <<  10 )와 동일하게 설정되고, 여기서, scaling_win_left_offset는 참조 픽처에 대한 scaling_win_left_offset이다.
변수(fRefTopOffset)는 ( ( SubWidthC * scaling_win_top_offset )  <<  10 )와 동일하게 설정되고, 여기서, scaling_win_top_offset은 참조 픽처에 대한 scaling_win_top_offset이다.
픽처 샘플 값의 (sbWidth + brdExtSize)x(sbHeight + brdExtSize) 어레이(predSamplesLX)는 다음과 같이 도출된다:
- 모션 벡터(mvLX)는 ( refMvLX - mvOffset )와 동일하게 설정된다.
- cIdx가 0과 동일하면, 다음이 적용된다:
- ( xIntL, yIntL )는 전체 샘플 유닛으로 주어진 루마 위치라 하고 ( xFracL, yFracL )는 1/16-샘플 유닛으로 주어진 오프셋이라 한다. 이 변수는 참조 샘플 어레이(refPicLX) 내의 분수 샘플 위치를 나타내기 위하여 이 절에서만 사용된다.
- The top-left coordinate of the bounding block for 참조 샘플 패딩 ( xSbIntL, ySbIntL )에 대한 바운딩 블록의 좌측 상단 좌표는 ( xSb + ( mvLX[ 0 ]  >>  4 ), ySb + ( mvLX[ 1 ]  >>  4 ) )와 동일하게 설정된다.
- 예측 루마 샘플 어레이(predSamplesLX) 내부의 각 루마 샘플 위치 ( xL = 0..sbWidth - 1 + brdExtSize, yL = 0..sbHeight - 1 + brdExtSize )에 대해, 해당 예측 루마 샘플 값 (predSamplesLX[ xL ][ yL ])은 다음과 같이 유도된다:
- ( refxSbL, refySbL ) 및 ( refxL, refyL ) 을 1/16 샘플 유닛으로 주어진 모션 벡터( refMvLX[0], refMvLX[1] ) 가 가리키는 루마 위치라고 한다. 변수(refxSbL, refxL, refySbL, 및 refyL)는 다음과 같이 도출된다:
Figure pct00088
- 변수(xIntL, yIntL, xFracL and yFracL )는 다음과 같이 도출된다:
Figure pct00089
- 예측 루마 샘플 값 (predSamplesLX[ xL ][ yL ])은 다음과 같이 도출된다:
- bdofFlag가 TRUE와 같거나 [[( ph_disable_prof_flag is equal to FALSE and inter_affine_flag[ xSb ][ ySb ]]] cbProfFlagLX 가 TRUE [[)]]와 같고) 다음 조건 중 하나 이상이 참이면, 예측 루마 샘플 값(predSamplesLX[ xL ][ yL ])은 ( xIntL + ( xFracL >> 3) - 1), yIntL + ( yFracL >> 3 ) - 1 ), refPicLX, 및 refWraparoundEnabledFlag 를 입력으로 사용하여 8.5.6.3.3절에 명시된 바와 같이 루마 정수 샘플 페칭 프로세스를 인보크함으로써 도출된다.
- xL 는 0과 동일하다.
- xL 는 sbWidth + 1과 동일하다.
- yL 는 0과 동일하다.
- yL 는sbHeight + 1과 동일하다.
- 그렇지 않으면, 예측 루마 샘플 값(predSamplesLX[ xL ][ yL ])은 ( xIntL - ( brdExtSize > 0 ? 1 : 0 ), yIntL - ( brdExtSize > 0 ? 1 : 0 ) ), ( xFracL, yFracL ), ( xSbIntL, ySbIntL ), refPicLX, hpelIfIdx, sbWidth, sbHeight, dmvrFlag, refWraparoundEnabledFlag, scalingRatio[ 0 ], scalingRatio[ 1 ], 및 ( xSb, ySb )를 입력으로 사용하여 8.5.6.3.2 절에 명시된 바와 같이 루마 샘플 8-탭 보간 필터링 프로세스를 인보크함으로써 도출된다.
- 그렇지 않으면 (cIdx가 0과 동일하지 않으면), 다음이 적용된다:
...
6.3. 제3 세트의 실시예
이것은 섹션 5에 요약된 항목 3, 3.a, 3.b 및 3.c에 대한 일련의 실시예이다.
6.3.1. Embodiment of 항목 3.a의 실시예
일 예에서, 신택스 구조 pic_parameter_set_rbsp() 는 다음과 같이 변경된다:
Figure pct00090
1과 동일한 pps_pic_slice_luma_qp_delta_present_flag는 PPS를 참조하는 PH 내의 ph_qp_delta의 존재 또는 PPS를 참조하는 슬라이스 헤더 내의 slice_qp_delta 신택스 요소의 존재를 나타낸다. 0과 동일한 pps_pic_slice_luma_qp_delta_present_flag는 PPS를 참조하는 PH 내의 ph_qp_delta의 부재 또는 PPS를 참조하는 슬라이스 헤더 내의 slice_qp_delta 신택스 요소의 부재를 나타낸다.
그리고, 신택스 구조 picture_header_structure( ) 는 다음과 같이 변경된다:
Figure pct00091
그리고, 신택스 구조 slice_header ( ) 는 다음과 같이 변경된다:
Figure pct00092
6.3.2. 항목 3.b의 실시예
일 예에서, 신택스 구조 pic_parameter_set_rbsp() 는 다음과 같이 변경된다:
Figure pct00093
1과 동일한 pps _pic _slice_chroma_qp_offsets_present_flag ph_cb_qp_offset 및 ph_cr_qp_offset 신택스 요소가 연관된 픽처 헤더에 존재하거나 slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소가 연관된 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 pps_slice_chroma_qp_offsets_present_flag는 ph_cb_qp_offset 및 ph_cr_qp_offset 신택스 요소가 연관된 픽처 헤더에 존재하지 않고 slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소가 연관된 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, pps_slice_chroma_qp_offsets_present_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 qp_offset_info_in_ph_flag는 QP 오프셋 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재하지 않음을 나타낸다. 0과 동일한 qp_offset_info_in_ph_flag는 QP 오프셋 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
그리고, 신택스 구조 picture_header_structure( ) 는 다음과 같이 변경된다:
Figure pct00094
ph_cb_qp_offset는
Figure pct00095
양자화 파라미터의 값을 결정할 때 pps_cb_qp_offset 의 값에 더해질 차이를 나타낸다. ph_cb_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다. ph_cb_qp_offset가 존재하지 않으면, 이는 ph_cb_qp_offset와 동일한 것으로 추론된다. pps_cb_qp_offset + ph_cb_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
ph_cr_qp_offset는
Figure pct00096
양자화 파라미터의 값을 결정할 때 pps_cr_qp_offset의 값에 더해질 차이를 나타낸다. ph_cr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다. ph_cr_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_cr_qp_offset + ph_cr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
ph_joint_cbcr_qp_offset는
Figure pct00097
의 값을 결정할 때 pps_joint_cbcr_qp_offset_value의 값에 더해질 차이를 나타낸다. ph_joint_cbcr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다. ph_joint_cbcr_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_joint_cbcr_qp_offset_value + ph_joint_cbcr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
그리고, 신택스 구조 slice_header ( ) 는 다음과 같이 변경된다:
Figure pct00098
slice_cb_qp_offset 는
Figure pct00099
양자화 파라미터의 값을 결정할 때 pps_cb_qp_offset의 값에 더해질 차이를 나타낸다. slice_cb_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_cb_qp_offset가 존재하지 않으면, 이는 [[0]] ph_cb_qp_offset .와 동일한 것으로 추론된다. pps_cb_qp_offset + slice_cb_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
slice_cr_qp_offset 는
Figure pct00100
양자화 파라미터의 값을 결정할 때 pps_cr_qp_offset의 값에 더해질 차이를 나타낸다. slice_cr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_cr_qp_offset이 존재하지 않으면, 이는 [[0]] ph_cr_qp_offset 과 동일한 것으로 추론된다. pps_cr_qp_offset + slice_cr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
slice_joint_cbcr_qp_offset
Figure pct00101
의 값을 결정할 때 pps_joint_cbcr_qp_offset_value의 값에 더해질 차이를 나타낸다. slice_joint_cbcr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_joint_cbcr_qp_offset가 존재하지 않으면, 이는 [[0]] ph_joint_cbcr_qp_offset . 와 동일한 것으로 추론된다. pps_joint_cbcr_qp_offset_value + slice_joint_cbcr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
6.3.3. 항목 3.c의 실시예
굵은 기울임꼴 텍스트로 표시된 변경 사항은 JVET-Q2001-vE를 기반으로 한다.
Figure pct00102
Figure pct00103
1과 동일한 pps _pic _slice_chroma_qp_offsets_present_flag ph_cb_qp_offset 및 ph_cr_qp_offset 신택스 요소가 연관된 픽처 헤더에 존재하거나 slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소가 연관된 슬라이스 헤더에 존재함을 나타낸다. 0과 동일한 pps_slice_chroma_qp_offsets_present_flag는 ph_cb_qp_offset 및 ph_cr_qp_offset 신택스 요소가 연관된 픽처 헤더 에 존재하지 않고 slice_cb_qp_offset 및 slice_cr_qp_offset 신택스 요소가 연관된 슬라이스 헤더에 존재하지 않음을 나타낸다. 존재하지 않으면, pps_slice_chroma_qp_offsets_present_flag의 값은 0과 동일한 것으로 추론된다.
1과 동일한 qp_delta_info_in_ph_flag pps_slice_chroma_qp_offsets_present_flag가 1과 동일할 때의 QP 델타 정보 및 크로마 QP 오프셋 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재하지 않음을 나타낸다. 0과 동일한 qp_delta_info_in_ph_flag는 QP 델타 및 크로마 QP 오프셋 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 나타낸다.
ph_cb_qp_offset는
Figure pct00104
양자화 파라미터의 값을 결정할 때 pps_cb_qp_offset의 값에 더해질 차이를 나타낸다. ph_cb_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다 . ph_cb_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_cb_qp_offset + ph_cb_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다.
ph_cr_qp_offset는
Figure pct00105
양자화 파라미터의 값을 결정할 때 pps_cr_qp_offset의 값에 더해질 차이를 나타낸다. ph_cr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다. ph_cr_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_cr_qp_offset + ph_cr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다.
ph_joint_cbcr_qp_offset는
Figure pct00106
의 값을 결정할 때 pps_joint_cbcr_qp_offset_value의 값에 더해질 차이를 나타낸다. ph_joint_cbcr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_joint_cbcr_qp_offset가 존재하지 않으면, 이는 0과 동일한 것으로 추론된다. pps_joint_cbcr_qp_offset_value + ph_joint_cbcr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다.
slice_cb_qp_offset 는
Figure pct00107
양자화 파라미터의 값을 결정할 때 pps_cb_qp_offset의 값에 더해질 차이를 나타낸다. slice_cb_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_cb_qp_offset가 존재하지 않으면, 이는 [[0]] ph_cb_qp_offset . 와 동일한 것으로 추론된다. pps_cb_qp_offset + slice_cb_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다.
slice_cr_qp_offset
Figure pct00108
양자화 파라미터의 값을 결정할 때 pps_cr_qp_offset의 값에 더해질 차이를 나타낸다. slice_cr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_cr_qp_offset가 존재하지 않으면, 이는 [[0]] ph_cr_qp_offset 와 동일한 것으로 추론된다. pps_cr_qp_offset + slice_cr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다.
slice_joint_cbcr_qp_offset
Figure pct00109
의 값을 결정할 때 pps_joint_cbcr_qp_offset_value의 값에 더해질 차이를 나타낸다. slice_joint_cbcr_qp_offset 의 값은 -12에서 +12까지의 범위에 있어야 한다. slice_joint_cbcr_qp_offset가 존재하지 않으면, 이는 [[0]] ph_joint_cbcr_qp_offset 와 동일한 것으로 추론된다. pps_joint_cbcr_qp_offset_value + slice_joint_cbcr_qp_offset의 값은 -12에서 +12까지의 범위에 있어야 한다.
6.4 제4 세트의 실시예
이것은 섹션 5에 요약된 항목 4, 4.a, 4.b, 4.c 및 4.d에 대한 일련의 실시예이다.
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]] ) + 2*( CtbLog2SizeY - MinCbLog2SizeY ) 까지의 범위에 있어야 한다.
존재하지 않으면, 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]] ) + 2*( CtbLog2SizeY - MinCbLog2SizeY ) 까지의 범위에 있어야 한다.
존재하지 않으면, ph_cu_chroma_qp_offset_subdiv_intra_slice의 값은 0과 동일한 것으로 추론된다.
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]] ) + 2*( CtbLog2SizeY - MinCbLog2SizeY ) 까지의 범위에 있어야 한다.
존재하지 않으면, 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]] ) + 2*( CtbLog2SizeY - MinCbLog2SizeY ) 까지의 범위에 있어야 한다.
존재하지 않으면, ph_cu_chroma_qp_offset_subdiv_inter_slice의 값은 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)는 하나 이상의 엔트로피 인코딩 동작을 수행하여 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력한다.
개시된 기술의 일부 실시예는 비디오 프로세싱 툴 또는 모드를 인에이블하기 위해 디시전(decision) 또는 결정을 내리는 것을 포함한다. 일 예에서, 비디오 프로세싱 도구 또는 모드가 인에이블되면, 인코더는 비디오 블록의 프로세싱에서 툴 또는 모드를 사용하거나 구현하지만 툴 또는 모드의 사용에 기초하여 결과적인 비트스트림을 반드시 수정할 필요는 없다. 즉, 비디오 블록에서 비디오의 비트스트림(또는 비트스트림 표현)으로의 변환은 디시전 또는 결정에 따라 인에이블될 때 비디오 프로세싱 툴 또는 모드를 사용할 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 디코더는 비디오 프로세싱 툴 또는 모드에 기초하여 비트스트림이 수정되었다는 지식으로 비트스트림을 프로세싱할 것이다. 즉, 비디오의 비트스트림에서 비디오 블록으로의 변환은 디시전 또는 결정에 따라 인에이블링된 비디오 프로세싱 도구 또는 모드를 사용하여 수행될 것이다.
도 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)에 저장되고, 버퍼는 후속 모션 보상/인트라 예측을 위한 참조 블록을 제공하고 또한 디스플레이 디바이스 상의 프리젠테이션을 위해 디코딩된 비디오를 생성한다.
다음 섹션은 예시적인 PROF 기술, 예시적인 어파인 머지 기법 및 예시적인 어파인 AMVP 기법을 설명한다:
PROF: PROF(Prediction Refinement with Optical Flow)는 서브블록 기반 어파인 모션 보상 예측을 리파인(refine)하는 데 사용된다. 서브블록 기반 어파인 모션 보상이 수행된 후, 광 흐름 방정식에 의해 도출된 차를 추가함으로써 루마 예측 샘플이 리파인된다. 따라서, 예를 들어, PROF 기술은 비디오 블록의 서브-블록 기반 아파인 모션 보상 예측을 리파인한 후 광학 흐름 방정식에 의해 도출된 차를 추가함으로써 비디오 블록의 루마 예측 샘플을 리파인하는 것을 포함한다.
어파인 머지: 이 모드에서, 현재 CU의 CPMV(제어 포인트 모션 벡터)는 공간적 이웃 CU의 모션 정보를 기반으로 생성된다. 공간적 이웃 CU의 모션 정보로부터 여러 CPMVP(control point motion vector predictor) 후보가 구성된다. 현재 CU에 사용될 인덱스를 나타내기 위해 인덱스가 시그널링된다. 따라서, 예를 들어, 어파인 머지 모드에서, 비디오 블록의 현재 코딩 유닛의 제어 포인트 모션 벡터는 현재 코딩 유닛의 공간적 이웃 코딩 유닛의 모션 정보에 기초하여 생성되고, 현재 코딩 유닛에 사용될 서브블록 머지 후보 리스트로부터의 어파인 머지 후보를 나타내는 인덱스가 비트스트림에 포함된다.
어파인 AMVP: CU 레벨의 어파인 플래그는 비트스트림에서 시그널링되어 어파인 AMVP 모드가 사용되는지 여부를 표시한 다음 다른 플래그가 시그널링되어 4-파라미터 어파인 또는 6-파라미터 어파인 여부를 나타낸다. 이 모드에서, 현재 CU의 CPMV와 그들의 예측자 CPMVP의 차는 비트스트림에서 시그널링된다. 따라서, 예를 들어, 어파인 AMVP 모드는, 비트스트림에 (1) 어파인 어드밴스드 모션 벡터 예측 모드가 사용되는지 여부를 나타내는 비디오 블록의 코딩 유닛 레벨에서의 어파인 플래그, (2) 4-파라미터 어파인 또는 6-파라미터 어파인이 사용되는지를 나타내는 제2 플래그, (3) 코딩 유닛 레벨에서의 제어 포인트 모션 벡터 예측자 인덱스, 및 (4) 비디오 블록의 현재 코딩 유닛의 제어 포인트 모션 벡터 및 제어 포인트 모션 벡터에 대응하는 예측자 제어 포인트 모션 벡터의 차를 포함시키는 것을 포함한다.
일부 실시예에 의해 선호되는 솔루션의 리스트가 다음에 제공된다.
다음의 솔루션은 이전 섹션(예를 들어, 항목 1 내지 1c)에서 논의된 기술의 예시적인 실시예를 나타낸다.
1. 비디오 프로세싱 방법(예를 들어, 도 4에도시된 방법(3000))으로서, 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 간의 변환을 수행하는 단계(3002)를 포함하고, 상기 변환은 비디오 픽처 파라미터 세트를 참조하는 하나 이상의 비디오 슬라이스로의 디블로킹 필터의 적용가능성에 관한 디시전(decision)이 해당 비디오 픽처의 픽처 헤더에 포함되는 디블로킹 신택스 필드에 기초하여 수행됨을 나타내는 제1 규칙을 따르는 방법.
2. 솔루션 1에 있어서, 상기 디시전은 상기 비디오 픽처 파라미터 세트와 상기 픽처 헤더에서 적용가능성이 디스에이블되는지 및 추가로 상기 디블로킹 필터의 디스에이블링의 슬라이스 레벨 표시에 기초하는 방법.
3. 솔루션 1-2 중의 하나에 있어서, 상기 변환은 코딩된 표현의 더 높은 레벨보다 더 미세한 레벨에서 시그널링되거나 도출된 플래그에 기초하여 코딩된 표현의 더 높은 레벨에서 디블로킹 필터의 시그널링된 적용가능성의 오버라이드를 허용하는 제2 규칙을 또한 따르는 방법.
4. 솔루션 1에 있어서, 상기 플래그가 시그널링되는지 또는 상기 플래그가 도출되는지는 코딩된 표현에 포함되는 또다른 필드에 의존하는 방법.
다음의 솔루션은 이전 섹션(예를 들어, 항목 1.d 내지 1.q)에서 논의된 기술의 예시적인 실시예를 나타낸다.
5. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 슬라이스 헤더 레벨 및/또는 픽처 헤더 레벨 및/또는 비디오 슬라이스에 대한 픽처 파라미터 세트 레벨에 포함된 필드들에 기초하여 비디오 슬라이스로의 디블로킹 필터의 적용가능성에 대한 제약을 나타내는 규칙을 따르는 방법.
6. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터가 픽처 파라미터 세트 레벨의 신호에 따라 디스에이블되는 경우에, 상기 디블로킹 필터는 슬라이스 헤더 레벨 또는 픽처 헤더 레벨의 신호에 의해 인에이블될 수 없는 제약을 나타내는 방법.
7. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터가 픽처 파라미터 세트 레벨의 신호에 따라 인에이블되는 경우에, 슬라이스 헤더 레벨 또는 픽처 헤더 레벨의 신호가 비디오 슬라이스에 대한 디블로킹 필터를 디스에이블하도록 허용된다는 제약을 나타내는 방법.
8. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터의 인에이블링을 제어하는 픽처 파라미터 세트 레벨의 제1 필드의 값이 상기 디블로킹 필터가 오버라이드되는지를 나타내는 제2 필드의 값과 독립적임을 나타내는 방법.
9. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터 온/오프 제어 파라미터 및/또는 디블로킹 필터 파라미터가 픽처 파라미터 세트에 포함된 픽처 헤더 또는 시퀀스 헤더에 있는지를 나타내는 신택스 요소 "dbf_info_in_ph_flag"의 시그널링이 deblocking_filter_override_enabled_flag를 포함하는 다른 신택스 요소와 독립적임을 나타내는 방법.
10. 솔루션 5에 있어서, 상기 규칙은, 상기 픽처 파라미터 세트 레벨 또는 픽처 레벨 또는 슬라이스 레벨의 오버라이드 플래그가 디블로킹 온/오프 제어 파라미터의 오버라이드를 제어하지 않음을 나타내는 방법.
11. 솔루션 5에 있어서, 상기 규칙은, 상기 픽처 파라미터 세트 레벨 또는 픽처 레벨 또는 슬라이스 레벨의 오버라이드 플래그가 온/오프 제어 파라미터 또는 디블로킹 필터에 대한 필터 파라미터를 오버라이딩하기 위한 것이지만, 둘다를 오버라이딩하는 것은 아님을 나타내는 방법.
12. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터가 픽처 파라마터 세트 레벨에서 디스에이블되는 경우에도 상기 디블로킹 필터가 픽처 레벨 또는 슬라이스 레벨에서 인에이블되도록 허용되는 방법.
13. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터의 온/오프를 제어하는 필드 또는 디블로킹 필터의 파라미터를 나타내는 필터가 픽처 레벨 및 슬라이스 레벨 모두에 포함됨을 나타내는 방법.
14. 솔루션 5에 있어서, 상기 규칙은, 상기 디블로킹 필터의 온/오프를 제어하는 필드 및 디블로킹 필터의 파라미터를 나타내는 필드가 시퀀스 파라미터 세트에 포함됨을 나타내는 방법.
15. 솔루션 5에 있어서, 상기 비디오 슬라이스로의 디블로킹 필터의 적용가능성은 비디오 유닛 레벨에서 시그널링되는 신택스 필드에서 시그널링되고, 상기 신택스 필드는 바이너리 플래그가 아니고, 상기 비디오 유닛 레벨은 픽처 파라미터 세트 또는 시퀀스 파라미터 세트를 포함하는 방법.
16. 솔루션 15에 있어서, 상기 신택스 필드는 N 비트를 포함하고, 여기서, N은 1보다 큰 정수인 방법.
17. 솔루션 16에 있어서, N=2이고, 상기 신택스 필드는, (a) 픽처 파라미터 세트를 참조하는 모든 슬라이스에 대하여 상기 디블로킹 필터가 적용되지 않음, (b) PPS에서 시그널링되는 제1 오프셋 파라미터를 이용하여 PPS를 참조하는 모든 슬라이스에 대하여 상기 디블로킹 필터가 적용됨, (c) PPS에서 시그널링되는 제2 오프셋 파라미터를 이용하여 PPS를 참조하는 모든 슬라이스에 대하여 상기 디블로킹 필터가 적용됨 또는 (d) PPS 이외에서 시그널링된 파라미터에 의해 PPS를 참조하는 슬라이스에 대하여 상기 디블로킹 필터가 적용됨 중의 하나 이상을 포함하는 4개의 옵션을 나타내는 방법.
18. 솔루션 5에 있어서, 상기 규칙은, 디블로킹 필터 파라미터의 제로 값을 이용하여 상기 디블로킹 필터가 비디오 슬라이스에 대하여 인에이블되는 방법.
다음의 솔루션은 이전 섹션(예를 들어, 항목 2)에서 논의된 기술의 예시적인 실시예를 나타낸다.
19. 비디오 프로세싱 방법으로서, 제1 규칙에 기초한 어파인 어드밴스드 모션 벡터 예측자 코딩 또는 제2 규칙에 기초한 어파인 머지 모드를 갖는 예측 리파인먼트 기반 광 흐름 (PROF; prediction refinement based optical flow)의 적용가능성에 대하여, 결정하는 단계; 및 상기 결정에 따라 비디오의 비디오 블록 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하는 방법.
20. 솔루션 1에 있어서, 상기 규칙은, M*N 부분에 대응하는 픽처 블록이 M*N보다 크도록 상기 비디오 블록에 대하여 PROF 코딩을 적용함을 나타내고, 여기서, M 및 N는 양의 정수인 방법.
21. 솔루션 19-20 중 어느 하나에 있어서, 상기 코딩된 표현의 플래그는 PROF 코딩에 의해 생성된 예측 블록에 의해 생성된 확장된 샘플의 수를 나타내기 위하여 포함되는 방법.
22. 솔루션 21에 있어서, 상기 확장된 샘플의 수는 제1 규칙 및 제2 규칙에 대하여 동일한 방법.
다음의 솔루션은 이전 섹션(예를 들어, 항목 3)에서 논의된 기술의 예시적인 실시예를 나타낸다.
23. 비디오 프로세싱 방법으로서, 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 픽처 레벨 또는 슬라이스 레벨의 제1 신택스 요소 및/또는 양자화 파라미터 델타 또는 오프셋 시그널링을 나타내는 또다른 레벨의 제2 신택스 요소는 규칙에 따라 코딩된 표현에 조건적으로 포함되는 방법.
24. 솔루션 23에 있어서, 상기 규칙은, 상기 또다른 레벨이 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨임을 나타내고, 상기 제2 신택스 요소는 크로마 또는 루마 델타 QP 시그널링이 인에이블되는지를 나타내는 방법.
25. 솔루션 23에 있어서, 상기 규칙은, 상기 또다른 레벨이 시퀀스 레벨이 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨임을 나타내고, 상기 제2 신택스 요소는 크로마 QP 오프셋 시그널링이 인에이블되는지를 나타내는 방법.
다음의 솔루션은 이전 섹션(예를 들어, 항목 4)에서 논의된 기술의 예시적인 실시예를 나타낸다.
26. 비디오 프로세싱 방법으로서, 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 그 범위가 규칙에 따른 코딩 블록 세분 값(cbSubDiv)을 나타내는 신택스 요소를 포함하는 방법.
27. 솔루션 26에 있어서, 상기 규칙은, 상기 범위가 상기 코딩된 표현에 포함되는 신택스 요소 ph_max_mtt_hierarchy_depth_intra_slice_luma와 독립적임을 나타내는 방법.
28. 솔루션 26-27 중의 하나에 있어서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타내는 방법.
29. 솔루션 26에 있어서, 상기 규칙은, 상기 범위가 ph_max_mtt_hierarchy_depth_intra_slice_luma 필드와 독립적임을 나타내는 방법.
30. 솔루션 26에 있어서, 상기 규칙은, 상기 범위가 ph_max_mtt_hierarchy_depth_inter_slice 필드와 독립적임을 나타내는 방법.
31. 솔루션 1 내지 30 중 어느 하나에 있어서, 변환은 비디오를 코딩 표현으로 인코딩하는 것을 포함하는 방법.
32. 솔루션 1 내지 30 중 어느 하나에 있어서, 변환은 코딩 표현을 디코딩하여 비디오의 픽셀 값을 생성하는 것을 포함하는 방법.
33. 솔루션 1 내지 32 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
34. 솔루션 1 내지 32 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
35. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서가 솔루션 1 내지 32 중 어느 하나에 기재된 방법을 구현하도록 하는 컴퓨터 프로그램 제품.
36. 본 문서에 기재된 방법, 장치 또는 시스템.
도 7은 예시적인 비디오 프로세싱 방법(700)의 플로우챠트이다. 동작(702)은 하나 이상의 슬라이스를 포함하는 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 변환은, 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 적용되는지는 적어도 픽처 파라미터 세트에 포함되는 제1 신택스 요소에 기초함을 나타내는 규칙을 따르고, 제1 신택스 요소는 디블로킹 필터가 픽처에 대하여 디스에이블되는지를 나타낸다.
방법(700)의 일부의 실시예에서, 규칙은, 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 디블로킹 필터가 적용되는지가 추가로 (1) 디블로킹 필터가 픽처 헤더의 제2 신택스 요소에 의해 피처에 대하여 디스에이블되는지, (2) 디블로킹 필터가 슬라이스 레벨의 제3 신택스 요소에 의해 디스에이블되는 것으로 표시되는지 또는 (3) 픽처 파라미터 세트의 제4 신택스 요소가 디블로킹 필터의 적용가능성의 오버라이드가 픽처 레벨 및 슬라이스 레벨에서 디스에이블되는지를 나타내는지 중의 적어도 하나에 기초함을 나타낸다. 방법(700)의 일부의 실시예에서, 규칙은, 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 디블로킹 필터가 적용되는지가 추가로 (1) 디블로킹 필터가 픽처 헤더의 제2 신택스 요소에 의해 픽처에 대하여 디스에이블되는지 및 (2) 디블로킹 필터가 슬라이스 레벨의 제3 신택스 요소에 의해 디스에이블되는 것으로 표시되는지에 기초함을 나타낸다. 방법(700)의 일부의 실시예에서, 1과 동일한 제1 신택스 요소, 제2 신택스 요소 및 제3 신택스 요소의 값은 디블로킹 필터가 디스에이블됨을 나타낸다.
방법(700)의 일부의 실시예에서, 규칙은, 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 디블로킹 필터가 적용되는지가 추가로 픽처 파라미터 세트의 제4 신택스 요소가 디블로킹 필터의 적용가능성의 오버라이드가 픽처 레벨 및 슬라이스 레벨에서 디스에이블되는지를 나타내는지에 기초함을 나타낸다. 방법(700)의 일부의 실시예에서, 1과 동일한 제1 신택스 요소의 제1 값은 디블로킹 필터가 픽처 파라미터 세트를 참조하는 픽처에 대하여 디스에이블됨을 나타내고, 0과 동일한 제4 신택스 요소의 제2 값은 디블로킹 필터의 적용가능서의 오버라이드가 픽처 레벨 및 슬라이스 레벨에서 디스에이블됨을 나타낸다. 방법(700)의 일부의 실시예에서, 1과 동일한 제1 신택스 요소 및 0과 동일한 제4 신택스 요소의 값은 디블로킹 필터가 디스에이블됨을 나타낸다.
도 8은 예시적인 비디오 프로세싱 방법(800)의 플로우챠트이다. 동작(802)은 하나 이상의 슬라이스를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 변환은 디블로킹 필터가 픽처를 참조하는 하나 이상의 슬라이스에 적용되는지의 여부가 디블로킹 필터가 디스에이블되는지를 나타내는 픽처 파라미터 세트 내에 포함된 신택스 요소에만 기초함을 나타내는 규칙을 따른다.
방법(800)의 일부 실시예에서, 1과 동일한 신택스 요소의 값은 디블로킹 필터가 픽처에 대하여 디스에이블됨을 나타낸다.
도 9는 예시적인 비디오 프로세싱 방법(900)의 플로우챠트이다. 동작(902)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 비트스트림은 규칙을 따르고, 상기 규칙은, 슬라이스 레벨 또는 픽처 레벨에서 슬라이스 또는 픽처에 대한 디블로킹 동작이 오버라이드될지는 슬라이스 레벨의 제1 신택스 요소의 제1 값 또는 픽처 레벨의 제2 신택스 요소의 제2 값에 기초하여 결정됨을 나타내고, 상기 규칙은, 슬라이스 헤더의 제1 신택스 요소의 부재에 응답하여, 제1 신택스 요소의 제1 값이 픽처 레벨의 제2 신택스 요소의 제2 값과 독립적으로 결정됨을 나타낸다.
방법(900)의 일부 실시예에서, 제1 신택스 요소의 제1 값은 디블로킹 동작이 슬라이스 레벨에서 오버라이드되지 않음을 나타내는 0으로 결정된다. 방법(800)의 일부 실시예에서, 제2 신택스 요소의 제2 값은 디블로킹 동작이 픽처 레벨에서 오버라이드되지 않음을 나타내는 0으로 결정된다.
도 10은 예시적인 비디오 프로세싱 방법(1000)의 플로우챠트이다. 동작(1002)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 비트스트림은 규칙을 따르고, 상기 규칙은, 디블로킹 파라미터가 슬라이스 헤더 또는 픽처 헤더에 포함되는지는 슬라이스 레벨의 제1 신택스 요소의 제1 값 또는 픽처 레벨의 제2 신택스 요소의 제2 값에 기초하여 결정됨을 나타내고, 상기 규칙은, 슬라이스 헤더의 제1 신택스 요소의 부재에 응답하여, 제1 신택스 요소의 제1 값이 픽처 레벨의 제2 신택스 요소의 제2 값과 독립적으로 결정됨을 나타낸다.
방법(1000)의 일부 실시예에서, 제1 신택스 요소의 제1 값은 디블로킹 파라미터가 슬라이스 레벨에 포함되지 않음을 나타내는 0으로 결정된다. 방법(1000)의 일부 실시예에서, 제2 신택스 요소의 제2 값은 디블로킹 파라미터가 픽처 레벨에 포함되지 않음을 나타내는 0으로 결정된다.
도 11은 예시적인 비디오 프로세싱 방법(1100)의 플로우챠트이다. 동작(1102)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 스트림 간의 변환을 수행하는 단계를 포함하고, 비트스트림은, 제1 신택스 요소 및 제2 신택스 요소가 각각 픽처 헤더 및 슬라이스 헤더에 포함되거나 픽처 파라미터 세트의 제3 신택스 요소의 값에 기초하여 추론되는지를 나타내는 포맷 규칙을 따르고, 제1 신택스 요소는 비디오의 픽처 레벨에서 디블로킹 필터가 디스에이블되는지를 나타내고, 제2 신택스 요소는 디블로킹 필터가 비디오의 슬라이스 레벨에서 디스에이블되는지를 나타내고, 제3 신택스 요소는 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 픽처에 대하여 인에이블되는지를 나타낸다.
도 12는 예시적인 비디오 프로세싱 방법(1200)의 플로우챠트이다. 동작(1202)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 디블로킹 필터가 슬라이스에 적용되는지는 슬라이스 헤더 및/또는 픽처 헤더 및/또는 슬라이스에 의해 참조된 픽처 파라미터 세트에 포함되는 신택스 요소들에 기초함을 나타내는 규칙을 따르고, 신택스 요소들은 픽처 파라미터 세트 레벨 및/또는 슬라이스 레벨 및/또는 픽처 레벨에서 인에이블되는지를 나타낸다.
방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 픽처 파라미터 세트의 제1 신택스 요소에 따라 디스에이블되는 경우, 디블로킹 필터가 슬라이스 헤더의 제2 신택스 요소 또는 픽처 헤더의 제3 신택스 요소에 의해 인에이블되는 것이 허용되지 않음을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 슬라이스 헤더의 제2 신택스 요소 및/또는 픽처 헤더의 제3 신택스 요소의 존재가 제1 신택스 요소의 제1 값에 기초하고 디블로킹 필터의 적용가능서의 오버라이드가 픽처 레벨 또는 슬라이스 레벨에서 인에이블되는지를 나타내는 플래그의 제2 값과 독립적임을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은 디블로킹 필터가 픽처 파라미터 세트를 참조하는 슬라이스에 대하여 디스에이블됨을 나타내는 제1 신택스 요소에 응답하여, 제2 신택스 요소 및/또는 제3 신택스 요소가 각각 슬라이스 헤더 및/또는 픽처 헤더로부터 배제됨을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 픽처 파라미터 세트의 플래그가 (1) 제1 신택스 요소가 픽처 파라미터 세트에 표시되는지, 제2 신택스 요소가 슬라이스 헤더에 표시되는지 및/또는 제3 신택스 요소가 픽처에 표시되는지, 및 (2) 디블로킹 필터에 대한 파라미터가 픽처 파라미터 세트, 픽처 헤더 및 슬라이스 헤더에 표시되는지를 표시함을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 플래그는, (1) 제1 신택스 요소가 픽처 파라미터 세트로부터 배제되고, 제2 신택스 요소가 슬라이스 헤더로부터 배제되고 및/또는 제3 신택스 요소가 픽처로부터 배제되고, (2) 디블로킹 필터의 파라미터가 픽처 파라미터 세트, 픽처 헤더 및 슬라이스 헤더로부터 배제됨을 표시한다.
방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 픽처 파라미터 세트에 없는 제1 신택스 요소에 따라 디스에이블되는 경우, 디블로킹 필터는 슬라이스 헤더의 제2 신택스 요소 또는 픽처 헤더의 제3 신택스 요소에 의해 인에이블되는 것이 허용되지 않고 제1 신택스 요소가 소정의 값과 동일한 것으로 추론되는 것을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 픽처 파라미터 세트의 제1 신택스 요소에 따라 디스에이블되는 경우, 디블로킹 필터가 슬라이스 헤더의 제2 신택스 요소 또는 픽처 헤더에 존재하지 않는 제3 신택스 요소에 의해 인에이블되는 것이 허용되지 않고, 제3 신택스 요소가 제1 신택스 요소와 동일한 값을 갖는 것으로 추론됨을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 픽처 파라미터 세트의 제1 신택스 요소에 따라 디스에이블되는 경우, 디블로킹 필터가 슬라이스 헤더에 존재하지 않는 제2 신택스 요소 또는 픽처 헤더의 제3 신택스 요소에 의해 인에이블되는 것이 허용되지 않고, 제2 신택스 요소가 제1 신택스 요소 또는 제3 신택스 요소와 동일한 값을 갖는 것으로 추론됨을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 비디오의 제1 비디오 유닛 레벨에서 인에이블되는 경우, 디블로킹 필터가 비디오의 제2 비디오 유닛 레벨에서 디스에이블되도록 허용됨을 나타내고, 제2 비디오 유닛 레벨은 제1 비디오 유닛 레벨보다 낮다.
방법(1200)의 일부 실시예에서, 제1 비디오 유닛 레벨은 픽처 헤더를 포함하고, 제2 비디오 유닛 레벨은 슬라이스 헤더를 포함한다. 방법(1200)의 일부 실시예에서, 하나 이상의 픽처는 제1 세트의 하나 이상의 슬라이스 및 제2 세트의 하나 이상의 슬라이스를 포함하는 복수의 슬라이스를 포함하고, 상기 규칙은, 블로킹 필터가 제1 세트의 하나 이상의 슬라이스에 대하여 인에이블됨을 나타내고, 상기 규칙은 디블로킹 필터가 제2 세트의 하나 이상의 슬라이스에 대하여 디스에이블되는 것을 나타낸다. 방법(1200)의 일부 실시예에서, 슬라이스 헤더에 포함되는 제1 신택스 요소는 디블로킹 필터가 제2 비디오 유닛 레벨에 대하여 인에이블되는지를 나타내고, 픽처 헤더의 제2 신택스 요소는 디블로킹 필터가 제1 비디오 유닛 레벨에 대하여 인에이블되는지를 나타내고, 상기 규칙은, 제1 신택스 요소가 제2 신택스 요소에 기초함을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 상기 디블로킹 필터가 현재 픽처에 대하여 인에이블됨을 제1 신택스 픽처가 나타내는 경우, 제2 신택스 요소는 디블로킹 필터가 현재 픽처의 현재 슬라이스에 대하여 인에이블되는지를 표시함을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 신택스 요소 및/또는 디블로킹 필터에 대한 파라미터가 슬라이스 헤더 또는 픽처 헤더에 포함되는지를 나타내는 제1 플래그를 픽처 파라미터 세트가 포함하는지는 하나 이상의 다른 신택스 요소와 독립적임을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 하나 이상의 다른 신택스 요소는 디블로킹 필터의 적용가능성의 오버라이드가 픽처 레벨 및 슬라이스 레벨에서 인에이블되는지를 나타내는 제2 플래그를 포함한다.
방법(1200)의 일부 실시예에서, 상기 규칙은, 제2 신택스 요소가 슬라이스 헤더에 포함되는지 또는 제3 신택스 요소가 픽처 헤더에 포함되는지는 제1 플래그 및/또는 픽처 파라미터 세트의 제1 신택스 요소에 기초하고 제2 플래그와 독립적이며, 제1 신택스 요소는 디블로킹 필터가 픽처 파라미터 세트를 참조하는 슬라이스에 대하여 인에이블되는지를 표시하고, 제2 신택스 요소는 디블로킹 필터가 슬라이스 레벨에 대하여 인에이블되는지를 표시하고, 제3 신택스 요소는 디블로킹 필터가 픽처 레벨에 대하여 인에이블되는지를 표시함을 나타낸다. 방법(1200)의 일부 실시예에서, 픽처 파라미터 세트의 제1 플래그 또는 슬라이스 헤더의 제2 플래그 또는 픽처 헤더의 제3 플래그는 디블로킹 필터의 적용가능성의 오버라이드가 픽처 파라미터 세트 레벨 또는 픽처 레벨 또는 슬라이스 레벨에서 각각 인에이블되는지를 표시하고, 상기 규칙은, 제1 플래그 또는 제2 플래그 또는 제3 플래그는 (1) 디블로킹 필터가 픽처 파라미터 세트 레벨에서 인에이블되는지를 나타내는 픽처 파라미터 세트의 제1 신택스 요소 또는 (2) 디블로킹 필터가 슬라이스 레벨에서 인에이블되는지를 나타내는 슬라이스 헤더의 제2 신택스 요소 또는 (3) 디블로킹 필터가 픽처 레벨에서 인에이블되는지를 나타내는 픽처 헤더의 제3 신택스 요소를 제외하고 디블로킹 필터의 파라미터를 오버라이드하도록 구성됨을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 제1 신택스 요소는 규칙에 따라 제1 플래그 전에 픽처 파라미터 세트에 선택적으로 포함되거나 제2 신택스 요소는 규칙에 따라 제2 플래그 전에 슬라이스 헤더에 선택적으로 포함되거나 제3 신택스 요소는 규칙에 따라 제3 플래그 전에 픽처 헤더에 선택으로 포함되고, 규칙은, 제1 플래그, 제2 플래그 또는 제3 플래그가 각각 픽처 파라미터 세트, 슬라이스 헤더 또는 픽처 헤더에 포함되는지는 제1 신택스 요소, 제2 신택스 요소 또는 제3 신택스 요소에 각각 기초함을 나타낸다.
방법(1200)의 일부 실시예에서, 신택스 요소는 제1 신택스 요소를 포함하고, 상기 규칙은, 픽처 파라미터 세트가 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 대하여 인에이블되는지를 나타내는 제1 신택스 요소를 포함함을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 픽처 파라미터 세트를 참조하는 하나 이상의 슬라이스에 대하여 인에이블되는지를 나타내는 제1 신택스 요소를 픽처 파라미터 세트가 포함하는지는 픽처 파라미터 세트의 하나 이상의 다른 신택스 요소와 독립적임을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 비디오의 제1 비디오 유닛 레벨에서 디스에이블되는 경우, 비디오의 제2 비디오 유닛 레벨의 하나 이상의 신택스 요소가 존재하지 않고 디블로킹 필터가 디스에이블됨을 표시하는 제1 비디오 유닛 레벨에서 제1 신택스 요소의 값과 동일한 것으로 추론되고, 1 비디오 유닛 레벨이 제2 비디오 유닛 레벨보다 높음을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터에 대한 글로벌 제어가 존재하는지를 나타내는 픽처 파라미터 세트의 신택스 요소, (1) 디블로킹 필터의 적용가능성의 오버라이드(override of an applicability)가 픽처 파라미터 세트 레벨 또는 픽처 레벨 또는 슬라이스 레벨에서 인에이블되는지를 나타내는 픽처 파라미터 세트 또는 픽처 헤더 또는 슬라이스 헤더의 하나 이상의 플래그 및 (2) 픽처 파라미터 세트, 픽처 헤더 또는 슬라이스 헤더의 디블로킹 필터의 파라미터의 존재를 제어하도록 구성되는 신택스 요소를 추가로 나타낸다.
방법(1200)의 일부 실시예에서, 규칙은, 디블로킹 필터의 적용가능성 또는 디블로킹 필터의 제1 세트의 파라미터에 대하여 오버라이드가 인에이블되는지를 플래그가 표시함을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 플래그는 픽처 파라미터 세트 또는 픽처 헤더 또는 슬라이스 헤더에 포함된다. 방법(1200)의 일부 실시예에서, 규칙은, 플래그가 디블로킹 필터의 적용가능성에 대하여 오버라이드가 인에이블되는지를 나타내는 경우, (1) 디블로킹 필터의 제1 세트의 파라미터가 비디오의 제1 비디오 유닛 레벨에서만 포함되고 (2) 비디오의 제2 비디오 유닛 레벨에 대한 디블로킹 필터의 제2 세트의 파라미터는 제2 비디오 유닛 레벨에 대하여 인에이블되는 디블로킹 필터에 응답하여 제1 비디오 유닛 레벨의 디블로킹 필터의 제1 세트의 파라미터로부터 추론됨을 추가로 나타내고, 제1 비디오 유닛 레벨은 제2 비디오 유닛 레벨보다 높다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 오버라이드가 비디오의 제1 비디오 유닛 레벨에 디블로킹 필터의 제1 세트의 파라미터에 대하여 인에이블되는지를 플래그가 표시하는 경우, (1) 디블로킹 필터의 적용가능성이 제1 비디오 유닛 레벨에서만 포함되고 (2) 제2 비디오 유닛 레벨에 대하여 인에이블되는 디블로킹 필터에 응답하여 비디오의 제2 비디오 유닛 레벨에 대한 디블로킹 필터의 제2 세트의 파라미터가 제1 비디오 유닛 레벨의 디블로킹 필터의 제1 세트의 파라미터로부터 추론됨을 추가로 나타내고, 제1 비디오 유닛 레벨은 제2 비디오 유닛 레벨보다 높다.
방법(1200)의 일부 실시예에서, 제1 비디오 유닛 레벨은 픽처 파라미터 세트를 포함하고, 제2 비디오 유닛 레벨은 픽처 헤더 또는 슬라이스 헤더를 포함한다. 방법(1200)의 일부 실시예에서, 신택스 요소는 비디오의 제1 비디오 유닛 레벨에 대한 제1 신택스 요소 및 비디오의 제2 비디오 유닛 레벨에 대한 제2 신택스 요소를 포함하고, 제1 신택스 요소 및 제2 신택스 요소는 디블로킹 필터가 제1 비디오 유닛 레벨 및 제2 비디오 유닛 레벨 각각에서 인에이블되는지를 나타내고, 제1 비디오 유닛 레벨은 제2 비디오 유닛 레벨보다 높고, 상기 규칙은, 디블로킹 필터가 제1 비디오 유닛 레벨에서 디스에이블되는 것을 나타내는 제1 신택스 요소에 응답하여 제2 신택스 요소의 오버라이드가 허용되지 않음을 추가로 나타낸다. 방법(1200)의 일부 실시예에서, 제1 비디오 유닛 레벨은 픽처 파라미터 세트를 포함하고, 제2 비디오 유닛 레벨은 픽처 헤더 또는 슬라이스 헤더를 포함한다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 제2 신택스가 제2 비디오 유닛 레벨에 포함되는지가 디블로킹 필터가 제1 비디오 유닛 레벨에서 제어되도록 허용됨을 제1 신택스 요소가 나타내는지에 기초함을 나타낸다.
방법(1200)의 일부 실시예에서, 신택스 요소는 비디오의 제1 비디오 유닛 레벨에 대한 제1 신택스 요소 및 비디오의 제2 비디오 유닛 레벨에 대한 제2 신택스 요소를 포함하고, 제1 신택스 요소 및 제2 신택스 요소는 디블로킹 필터이 제1 비디오 유닛 레벨 및 제2 비디오 유닛에서 각각 인에이블되는지를 나타내고, 레벨, 상기 규칙은, 제2 비디오 유닛 레벨에서 존재하지 않는 제2 신택스 요소에 응답하여 디블로킹 필터가 제2 비디오 유닛 레벨에 대한 소정의 상태를 갖는 것으로 추론됨을 나타낸다. 방법(1200)의 일부 실시예에서, 소정의 상태는 디스에이블, 인에이블 또는 제1 신택스 요소로 표시되는 디블로킹 필터의 상태와 동일한 것을 포함한다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터에 대한 글로벌 제어가 존재하는지를 나타내는 신택스 요소를 픽처 파라미터 세트가 배제함을 나타내고, 상기 규칙은, 디블로킹 필터가 인에이블되는지를 나타내는 제1 신택스 요소를 픽처 파라미터 세트가 포함하고, 제1 신택스 요소는 신택스 요소와 독립적임을 나타낸다. 방법(1200)의 일부 실시예에서, 제2 신택스 요소는 디블로킹 필터의 적용가능성의 오버라이드가 허용되는지를 나타내고, 상기 규칙은, 픽처 파라미터 세트가 제2 신택스 요소를 포함하는지는 디블로킹 필터가 인에이블되는 것을 나타내는 제1 신택스 요소에 기초함을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터에 대한 파라미터가 픽처 파라미터 세트에 포함되는지가 디블로킹 필터의 적용가능성의 오버라이드가 허용되는 것을 표시하는 제2 신택스 요소에 기초함을 나타낸다.
방법(1200)의 일부 실시예에서, 상기 규칙은, 픽처 파라미터 세트가 디블로킹 필터에 대한 글로벌 제어가 존재하는지를 표시하는 신택스 요소를 배제함을 나타내고, 상기 규칙은, 디블로킹 필터의 적용가능성의 오버라이드가 허용되는지를 나타내는 제1 신택스 요소를 픽처 파라미터 세트가 포함하고 제1 신택스 요소가 신택스 요소와 독립적임을 나타낸다. 방법(1200)의 일부 실시예에서, 제2 신택스 요소가 디블로킹 필터가 인에이블되는지를 나타내고, 상기 규칙은, 픽처 파라미터 세트가 제2 신택스 요소를 포함하는지가 디블로킹 필터의 적용가능성의 오버라이드가 허용됨을 표시하는 제1 신택스 요소에 기초함을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터에 대한 파라미터가 픽처 파라미터 세트에 포함되는지가 디블로킹 필터가 인에이블됨을 표시하는 제2 신택스 요소에 기초함을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 인에이블되는지를 나타내는 하나 이상의 신택스 요소 및/또는 디블로킹 필터에 대한 파라미터를 픽처 헤더 또는 슬라이스 헤더가 포함하는지를 나타내는 신택스 요소를 픽처 헤더가 포함함을 나타낸다.
방법(1200)의 일부 실시예에서, 상기 규칙은, 신택스 요소가 픽처 파라미터 세트로부터 배제됨을 나타낸다. 방법(1200)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 인에이블되는지를 나타내는 하나 이상의 신택스 및/또는 디블로킹 필터의 파라미터를 픽처 헤더 및 슬라이스 헤더의 각각이 포함함을 나타낸다.
도 13은 예시적인 비디오 프로세싱 방법(1300)의 플로우챠트이다. 동작(1302)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은 디블로킹 필터가 슬라이스에 적용되는지가 슬라이스에 의해 참조된 시퀀스 파라미터 세트에 포함되는 신택스 요소들에 기초함을 나타내는 규칙을 따르고, 신택스 요소는 디블로킹 필터가 인에이블되는지를 나타내는 제1 신택스 요소 및/또는 디블로킹 필터의 제1 세트의 파라미터를 표시하는 신택스 요소의 세트를 포함한다.
방법(1300)의 일부 실시예에서, 상기 규칙은, 비디오의 제1 비디오 유닛 레벨의 시퀀스 파라미터 세트의 제1 신택스 요소가 디블로킹 필터가 비디오의 제2 비디오 유닛 레벨에서 인에이블되는지를 나타내는 제2 신택스 요소에 의해 오버라이드됨을 추가로 나타내고, 제1 비디오 유닛 레벨은 제2 비디오 유닛 레벨보다 높다.
방법(1300)의 일부 실시예에서, 상기 규칙은, 비디오의 제1 비디오 유닛 레벨의 시퀀스 파라미터에 표시된 디블로킹 필터의 제1 세트의 파라미터가 비디오의 제2 비디오 유닛 레벨에서 표시된 디블로킹 필터의 제2 세트의 파라미터에 의해 오버라이드됨을 추가로 나타내고, 제1 비디오 유닛 레벨은 제2 비디오 유닛 레벨보다 높다. 방법(1300)의 일부 실시예에서, 제2 비디오 유닛 레벨은 픽처 파라미터 세트, 픽처 헤더 또는 슬라이스 헤더를 포함한다.
도 14는 예시적인 비디오 프로세싱 방법(1400)의 플로우차트이다. 동작(1402)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은 디블로킹 필터가 슬라이스에 적용되는지가 비디오 유닛 레벨에 포함되는 비이진(non-binary) 신택스 요소에 기초함을 나타내는 규칙을 따르고, 비이진 신택스 요소는 하나 이상의 슬라이스에 디블로킹 필터가 적용되는지 및/또는 어떻게 적용되는지를 표시한다.
방법(1400)의 일부 실시예에서, 비디오 유닛 레벨은 픽처 파라미터 세트 또는 시퀀스 파라미터 세트를 포함한다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 비이진 신택스 요소가 디블로킹 모드를 표시함을 나타내고, 비이진 신택스 요소는 N비트를 포함한다. 방법(1400)의 일부 실시예에서, N=2이다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터가 픽처 파라미터 세트를 참조하는 모든 슬라이스에 대하여 적용되지 않음을 비이진 신택스 요소의 제1 값이 표시함을 나타내고, 상기 규칙은, 베타 및 tC에 대한 0-값 디블로킹 파라미터 오프셋을 이용하여 픽처 파라미터 세트를 참조하는 모든 슬라이스에 대하여 디블로킹 필터가 적용됨을 비이진 신택스 요소의 제2 값이 표시함을 나타내고, 상기 규칙은, 픽처 파라미터 세트에 명시적으로 포함된 베타 및 tC에 대한 디블로킹 파라미터 오프셋을 이용하여 픽처 파라미터 세트를 참조하는 모든 슬라이스에 대하여 디블로킹 필터가 적용됨을 비이진 신택스 요소의 제3 값이 표시함을 나타내고, 상기 규칙은, 픽처 파라미터 세트를 참조하는 슬라이스에 디블로킹 필터가 적용되는지가 픽처 헤더 또는 슬라이스의 슬라이스 헤더에 존재하는 파라미터에 의해 제어됨을 비이진 신택스 요소의 제4 값이 표시함을 나타낸다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 디블로킹 필터에 대한 파라미터가 픽처 파라미터 세트에 포함되는지가 비이진 신택스 요소의 값에 기초함을 나타낸다.
방법(1400)의 일부 실시예에서, 상기 규칙은, 소정의 조건을 충족하는 값에 응답하여 디블로킹 필터에 대한 파라미터가 픽처 파라미터 세트에 포함되고 소정의 조건을 충족하지 않는 값에 응답하여 디블로킹 필터에 대한 파라미터가 -으로 추론됨을 나타낸다. 방법(1400)의 일부 실시예에서, 소정의 조건은 값이 정수보다 큰지를 포함한다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 신택스 요소가 픽처 파라미터 세트에 포함되는지를 비이진 신택스 요소의 값이 제어함을 나타내고, 신택스 요소는 디블로킹 필터가 인에이블되는지 및/또는 디블로킹 필터의 파라미터를 나타내는 신택스 요소를 픽처 헤더 또는 슬라이스 헤더가 포함하는지를 나타낸다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 소정의 조건을 충족하는 비이진 신택스 요소의 값에 응답하여 신택스 요소가 픽처 파라미터 세트에 포함됨을 나타낸다. 방법(1400)의 일부 실시예에서, 소정의 조건은 값이 정수와 동일한지를 포함한다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 픽처 파라미터 세트로부터 신택스 요소가 배제되는 것에 기초하여 신택스 요소가 소정의 값을 갖는 것으로 추론됨을 나타낸다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 신택스 요소가 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 비이진 신택스 요소의 값이 제어함을 나타내고, 신택스 요소는 디블로킹 필터가 인에이블되는지 및/또는 디블로킹 필터의 파라미터를 나타낸다.
방법(1400)의 일부 실시예에서, 상기 규칙은, 소정의 조건을 충족하는 비이진 신택스 요소의 값에 응답하여 비디오의 픽처 레벨에서 디블로킹 필터가 인에이블되는지를 나타내는 신택스 요소가 픽처 헤더에 표시됨을 나타낸다. 방법(1400)의 일부 실시예에서, 상기 규칙은, 소정의 조건을 충족하는 비이진 신택스 요소의 값에 응답하여 디블로킹 필터가 비디오의 슬라이스 레벨에서 인에이블되는지를 나타내는 신택스 요소가 슬라이스 헤더에 표시됨을 나타낸다. 방법(1400)의 일부 실시예에서, 소정의 조건은 값이 정수와 동일한지를 포함한다.
도 15는 예시적인 비디오 프로세싱 방법(1500)의 플로우챠트이다. 동작(1502)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 변환은, (1) 디블로킹 필터가 비디오의 픽처 레벨 또는 비디오의 슬라이스 레벨에서 인에이블되고 (2) 베타 및 tC에 대한 0-값 디블로킹 파라미터 오프셋이 디블로킹 필터의 파라미터에 사용되는 것을 나타내는 규칙을 따른다.
방법(1500)의 일부 실시예에서, 상기 규칙은, 픽처 파라미터 세트가 디블로킹 필터에 대한 디폴트 파라미터가 베타 및 tC에 대한 0-값 디블로킹 파라미터 오프셋 또는 사용자 정의 베타 및 tC 오프셋과 연관되는지를 나타내는 하나 이상의 신택스 요소를 포함함을 나타낸다. 방법(1500)의 일부 실시예에서, 픽처 파라미터 세트는, 디블로킹 필터에 대한 디폴트 파라미터가 사용자 정의 베타 및 tC 오프셋과 연관됨을 나타내는 하나 이상의 신택스 요소에 응답하여 사용자 정의 베타 및 tC 오프셋을 포함한다. 방법(1500)의 일부 실시예에서, 디블로킹 필터의 파라미터 및 디블로킹 필터의 디폴트 파라미터는 비디오의 픽처 레벨 또는 비디오의 슬라이스 레벨에서 선택적으로 오버라이드된다. 방법(1500)의 일부 실시예에서, 상기 규칙은, 베타 및 tC에 대한 0-값 디블로킹 파라미터 오프셋이 사용되는지 또는 사용자 정의 베타 및 tC 오프셋이 사용되는지를 나타내는 하나 이상의 신택스 요소를 비디오의 비디오 유닛 레벨이 포함함을 나타낸다. 방법(1500)의 일부 실시예에서, 비디오 유닛 레벨은 사용자 정의 베타 및 tC 오프셋이 사용됨을 나타내는 하나 이상의 신택스 요소에 응답하여 사용자 정의 베타 및 tC 오프셋을 포함한다. 방법(1500)의 일부 실시예에서, 비디오 유닛 레벨은 시퀀스 파라미터 세트, 픽처 파라미터 세트, 픽처 헤더 또는 슬라이스 헤더를 포함한다.
도 16은 예시적인 비디오 프로세싱 방법의 플로우챠트이다. 동작(1602)은 비디오의 비디오 블록과 비디오의 비트스트림 간의 변환을 위해 규칙에 따라 비디오 블록에 대응하는 예측 블록의 크기를 결정하는 단계를 포함한다. 동작(1604)은 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 상기 규칙은, 광 흐름 기술을 이용한 예측 리파인먼트가 비디오 블록을 코딩하는데 사용되는지에 응답하여 예측 블록의 제1 크기가 결정됨을 나타내고, 비디오 블록은 제2 크기를 갖고 어파인 머지 모드 또는 어파인 어드밴스드 모션 벡터 예측 모드를 이용하여 코딩된다.
방법(1600)의 일부 실시예에서, 상기 예측 블록의 제1 크기의 제1 폭 및 제1 높이는 각각 (M+M0) 및 (N+N0)로 표시되고, 상기 비디오 블록의 제2 크기의 제2 폭 및 제2 높이는 각각 M 및 N으로 표시되고, M0는 0보다 크거나 같고 N0는 0보다 크거나 같다. 방법(1600)의 일부 실시예에서, M0 및 N0는 0과 동일하지 않다. 방법(1600)의 일부 실시예에서, M0 및 N0는 2와 동일하다. 방법(1600)의 일부 실시예에서, 상기 광 흐름 기술을 이용한 예측 리파인먼트가 이용되는지를 나타내는 플래그는 상기 예측 블록의 제1 크기에 확장된 샘플이 포함되는지 및/또는 얼마나 많은 확장된 샘플이 포함되는지를 제어한다. 방법(1600)의 일부 실시예에서, 상기 예측 블록의 제1 크기는 상기 확장된 샘플의 수에 기초하고, 상기 확장된 샘플의 수는 상기 제1 비디오 블록이 상기 어파인 머지 모드를 이용하여 코딩되는지 또는 상기 어파인 어드밴스드 모션 벡터 예측 모드로부터 코딩되는지와 독립적이다. 방법(1600)의 일부 실시예에서, 상기 예측 블록의 제1 크기의 제1 폭 및 제1 높이는 각각 (M+X) 및 (N+Y)로 표시되고, 상기 비디오 블록의 제2 크기의 제2 폭 및 제2 높이는 각각 M 및 N으로 표시되고, X는 폭에 대한 확장된 샘플의 수이고, Y는 높이에 대한 확장된 샘플의 수이다. 방법(1600)의 일부 실시예에서, X 및 Y는 0과 동일하다. 방법(1600)의 일부 실시예에서, X 및 Y는 2과 동일하다.
방법(1600)의 일부 실시예에서, 상기 광 흐름 기술을 이용한 예측 리파인먼트가 이용됨을 나타내는 플래그의 값에 응답하여, X 및 Y는 2과 동일하다. 방법(1600)의 일부 실시예에서, 상기 플래그의 값은 1과 동일하다. 방법(1600)의 일부 실시예에서, 상기 예측 블록의 제1 크기는 상기 광 흐름 기술을 이용한 예측 리파인먼트가 이용되는지를 나타내는 플래그의 값에 기초한 경계 확장 크기에 기초하고, 상기 경계 확장 크기는 상기 예측 블록의 제1 크기를 얻기 위하여 상기 비디오 블록의 제2 크기가 증가하는 확장된 샘플의 수를 나타낸다. 방법(1600)의 일부 실시예에서, 상기 확장된 샘플의 수는 0이다. 방법(1600)의 일부 실시예에서, 상기 확장된 샘플의 수는 2이다. 방법(1600)의 일부 실시예에서, 상기 광 흐름 기술을 이용한 예측 리파인먼트는, 상기 비디오 블록의 서브블록 기반 어파인 모션 보상 예측을 리파인한 후 광 흐름 식에 의해 도출된 차를 더함으로써 상기 비디오 블록의 루마 예측 샘플을 리파인하는 것을 포함한다. 방법(1600)의 일부 실시예에서, 상기 어파인 머지 모드는 현재 코딩 유닛의 공간 이웃 코딩 유닛의 모션 정보에 기초하여 상기 비디오 블록의 현재 코딩 유닛의 제어 포인트 모션 벡터를 생성하고 상기 현재 코딩 유닛에 사용될 서브블록 머지 후보 리스트로부터 어파인 머지 후보를 나타내는 인덱스를 비트스트림에 포함시키는 것을 포함한다. 방법(1600)의 일부 실시예에서, 상기 어파인 어드밴스드 모션 벡터 예측 모드는, 비트스트림에, (1) 상기 어파인 어드밴스드 모션 벡터 예측 모드가 사용되는지를 나타내는 상기 비디오 블록의 코딩 유닛 레벨에서의 어파인 플래그, (2) 4-파라미터 어파인 또는 6-파라미터 어파인이 사용되는지를 나타내는 제2 플래그, (3) 코딩 유닛 레벨에서의 제어 포인트 모션 벡터 예측자 인덱스 및 (4) 상기 비디오 블록의 현재 코딩 유닛의 제어 포인트 모션 벡터 및 상기 제어 포인트 모션 벡터에 대응하는 예측자 제어 포인트 모션 벡터의 차를 포함시키는 것을 포함한다.
도 17은 예시적인 비디오 프로세싱 방법(1700)의 플로우챠트이다. 동작(1702)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 규칙은 픽처 레벨 또는 슬라이스 레벨보다 큰 비디오 레벨에서 제1 신택스 요소가 표시되는 것을 나타내고, 상기 제1 신택스 요소는 상기 픽처 레벨 또는 슬라이스 레벨이 양자화 파라미터 델타를 포함하는지를 나타낸다.
방법(1700)의 일부 실시예에서, 상기 비디오 레벨은 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨이고, 상기 제1 신택스 요소는 상기 픽처 레벨 또는 슬라이스 레벨이 루마 양자화 파라미터 델타 또는 크로마 양자화 파라미터 델타를 포함하도록 하는지를 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 헤더에 포함되는지 및/또는 슬라이스 헤더가 상기 루마 양자화 파라미터 델타가 존재하는지를 나타내는 제1 신택스 요소에 기초하는지를 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 레벨 또는 슬라이스 레벨에 존재하지 않음을 나타내는 상지 제1 신택스 요소에 기초하여 상기 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 레벨 또는 슬라이스 레벨에 존재하지 않음을 나타내는 제1 신택스 요소에 기초하여 상기 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 상기 픽처 헤더에 존재하지 않음에 응답하여 상기 루마 양자화 파라미터 델타가 소정의 값을 갖는 것으로 추론됨을 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 상기 슬라이스 헤더에 존재하지 않음에 응답하여 상기 루마 양자화 파라미터 델타가 소정의 값을 갖는 것으로 추론됨을 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 나타내는 플래그를 상기 픽처 파라미터 세트가 포함하는지를 상기 제1 신택스 요소가 제어함을 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 레벨 또는 슬라이스 레벨에 존재하지 않음을 나타내는 제1 신택스 요소에 응답하여 상기 플래그가 상기 픽처 파라미터 세트로부터 배제됨을 나타낸다. 방법(1700)의 일부 실시예에서, 상기 규칙은, 상기 플래그가 상기 픽처 파라미터 세트에 존재하지 않음에 응답하여 상기 플래그가 소정의 값을 갖는 것으로 추론됨을 나타낸다.
도 18은 예시적인 비디오 프로세싱 방법(1800)의 플로우챠트이다. 동작(1802)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 제1 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 제1 비디오 레벨에 포함되는지를 제1 비디오 레벨의 제1 플래그가 표시함을 나타내고, 상기 제1 비디오 레벨은 슬라이스 레벨보다 높고, 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 제2 비디오 레벨의 제2 플래그가 표시함을 나타내고, 상기 제2 비디오 레벨은 픽처 레벨보다 높다.
방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 픽처 파라미터 세트의 제2 플래그가 표시함을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더에 포함되는지를 나타내는 제2 플래그에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 슬라이스 헤더로부터 배제됨을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더로부터 배제됨을 나타내는 제2 플래그에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 선택적으로 상기 슬라이스 헤더에 포함됨을 나타낸다. 방법(1800)의 일부 실시예에서, 하나 이상의 크로마 양자화 파라미터 세트가 상기 픽처 헤더로부터 배제됨에 응답하여, 상기 픽처 헤더에 대한 하나 이상의 크로마 양자화 파라미터 오프셋이 소정의 값으로 추론된다. 방법(1800)의 일부 실시예에서, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 슬라이스 헤더로부터 배제됨에 응답하여, 상기 슬라이스 헤더에 대한 하나 이상의 크로마 양자화 파라미터 오프셋이 소정의 값으로 추론된다. 방법(1800)의 일부 실시예에서, 제2 규칙은, 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 제2 플래그가 더 표시함을 나타낸다.
방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 및/또는 슬라이스 헤더에 포함되는지를 시퀀스 파라미터 세트 및/또는 픽처 파라미터 세트의 제2 플래그가 표시함을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 및/또는 슬라이스 헤더에 존재하지 않음을 표시하는 제2 플래그에 응답하여, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 및 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 또다른 플래그가 상기 픽처 파라미터 세트에 포함되는지를 상기 제2 플래그가 제어함을 나타내고, 상기 또다른 플래그는 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 레벨 또는 슬라이스 레벨에 포함되는지를 표시한다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 픽처 헤더 또는 슬라이스 헤더로부터 배제됨을 표시하는 제2 플래그에 응답하여, 상기 픽처 파라미터 세트가 상기 또다른 플래그를 배제함을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 상기 또다른 플래그가 상기 픽처 파라미터 세트에 존재하지 않음에 응답하여 상기 또다른 플래그가 소정의 값을 갖는 것으로 추론됨을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 양자화 파라미터 델타 및 상기 크로마 양자화 파라미터 오프셋이 동일한 헤더에 포함됨을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 상기 양자화 파라미터 델타가 상기 픽처 헤더에 포함됨에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타낸다. 방법(1800)의 일부 실시예에서, 상기 제2 규칙은, 상기 양자화 파라미터 델타가 상기 슬라이스 헤더에 포함됨에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 픽처 헤더에 포함되는 것이 허용되지 않음을 나타낸다.
도 19는 예시적인 비디오 프로세싱 방법(1900A)의 플로우챠트이다. 동작(1902A)은 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 상기 비트스트림은 코딩 블록 세분(subdivision) 값을 나타내는 제1 신택스 요소를 포함하고, 상기 코딩 블록 세분 값은 규칙에 따른 범위를 갖는다.
방법(1900A)의 일부 실시예에서, 상기 규칙은, cu_qp_delta_abs 및 cu_qp_delta_sign_flag를 전달하는 인트라 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_intra_slice_luma, CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내고, ph_max_mtt_hierarchy_depth_intra_slice_luma는 상기 제2 신택스 요소이다.
방법(1900A)의 일부 실시예에서, 상기 규칙은, cu_chroma_qp_offset_flag를 전달하는 인트라 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_intra_slice_luma, CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내고, ph_max_mtt_hierarchy_depth_intra_slice_luma는 제2 신택스 요소이다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, cu_qp_delta_abs 및 cu_qp_delta_sign_flag를 전달하는 인트라 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY ) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_inter_slice, CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타내고, ph_max_mtt_hierarchy_depth_inter_slice는 상기 제2 신택스 요소이다.
방법(1900A)의 일부 실시예에서, 상기 규칙은, cu_chroma_qp_offset_flag를 전달하는 인터 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY ) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타낸다. 방법(1900A)의 일부 실시예에서, 상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_inter_slice, CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타내고, ph_max_mtt_hierarchy_depth_inter_slice는 상기 제2 신택스 요소이다.
방법(700-1900A)의 일부 실시예에서, 상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함한다. 방법(700-1900A)의 일부 실시예에서, 상기 변환을 수행하는 단계는 상기 비디오로부터 상기 비트스트림으로 생성하는 단계를 포함하고, 상기 방법은 비일시적 컴퓨터 판독가능 기록 매체에 상기 비트스트림을 저장하는 단계를 더 포함한다. 방법(700-1900A)의 일부 실시예에서, 상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로부터 디코딩하는 단계를 포함한다. 일부 실시예에서, 비디오 디코딩 장치는 방법(700-1900A)에 대한 동작을 구현하도록 구성되는 프로세서를 포함한다. 일부 실시예에서, 비디오 인코딩 장치는 방법(700-1900A)에 대한 동작을 구현하도록 구성되는 프로세서를 포함한다 일부 실시예에서, 컴퓨터 프로그램 제품에는, 프로세서에 의해 실행될 때, 상기 프로세서가 방법(700-1900A)에 대한 동작을 구현하도록 하는 컴퓨터 명령이 저장된다. 일부 실시예에서, 비일시적 컴퓨터 판독가능 저장 매체는 방법(700-1900A)에 대한 동작에 따라 생성된 비트스트림을 저장한다. 일부 실시예에서, 비일시적 컴퓨터 판독가능 저장 매체는 프로세서가 방법(700-1900A)에 대한 동작을 구현하도록 하는 명령을 저장한다. 일부 실시예에서, 비트스트림 생성 방법은 방법(700-1900A)에 대한 동작에 따라 비디오의 비트스트림을 생성하는 단계 및 상기 비트스트림을 컴퓨터 판독가능 프로그램 매체에 저장하는 단계를 포함한다. 일부 실시예에서, 본 문서에 기재된 개시된 방법 또는 시스템에 따라 생성된 방법, 장치 및 비트스트림.
본 문서에서 "비디오 프로세싱"이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치에 함께 배치되거나 확산되는 비트에 대응할 수 있다. 예를 들어, 매크로블록은, 변환되고 코딩된 에러 잔차 값의 관점에서 그리고 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다. 또한, 변환 동안 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드가 존재하거나 없을 수 있다는 지식으로 비트스트림을 구문분석할 수 있다. 유사하게, 인코더는 소정의 신택스 필드가 포함되는지의 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로부터 신택스 필드를 포함하거나 제외함으로써 코딩된 표현을 생성할 수 있다.
이 문서에 설명된 개시된 및 다른 솔루션, 예, 실시예, 모듈 및 기능적 동작은 디지털 전자 회로, 본 문서에 개시된 구조, 그들의 구조적 동등물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어 또는 이들 중의 하나 이상의 조합으로 구현될 수 있다. 개시된 실시예 및 다른 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의한 실행 또는 그의 동작의 제어를 위해 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신-판독가능 저장 장치, 머신-판독가능 저장 기판, 메모리 장치, 머신-판독가능 전파 신호에 영향을 주는 물질의 구성 또는 그들 중의 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는 데이터 처리를 위한 모든 장치, 디바이스 및 머신을 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 더하여 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나의 조합을 구성하는 코드를 포함할 수 있다. 전파되는 신호는 인공적으로 생성된 신호, 예를 들어, 머신 생성 전기, 광, 또는 전자기 신호이며, 이는 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성된다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 언어 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치(deploy)될 수 있다. 컴퓨터 시스템은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램의 전용인 단일 파일 또는 다중 편성(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA (필드 프로그래밍 가능 게이트 어레이) 또는 ASIC (애플리케이션 특정 집적 회로)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 수행하도록 동작 가능하게 결합된다. 그러나 컴퓨터가 이러한 장치를 가질 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 제거가능 디스크 등의 자기 디스크; 광자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 변형일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 더욱이, 이 특허 문헌에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현예 및 예가 설명되고, 다른 구현예, 향상 및 변형이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (65)

  1. 비디오 프로세싱 방법으로서,
    비디오의 비디오 블록 및 상기 비디오의 비트스트림 간의 변환을 위해, 규칙에 따라 상기 비디오 블록에 대응하는 예측 블록의 크기를 결정하는 단계; 및
    상기 결정에 기초하여 상기 변환을 수행하는 단계를 포함하고,
    상기 규칙은 광 흐름 기술을 이용한 예측 리파인먼트(prediction refinement)가 상기 비디오 블록을 코딩하는데 사용되는지에 응답하여 상기 예측 블록의 제1 크기가 결정됨을 나타내고,
    상기 비디오 블록은 제2 크기를 갖고 어파인 머지 모드 또는 어파인 어드밴스드 모션 벡터 예측 모드를 이용하여 코딩되는, 비디오 프로세싱 방법.
  2. 제1항에 있어서,
    상기 예측 블록의 제1 크기의 제1 폭 및 제1 높이는 각각 (M+M0) 및 (N+N0)로 표시되고,
    상기 비디오 블록의 제2 크기의 제2 폭 및 제2 높이는 각각 M 및 N으로 표시되고,
    M0는 0보다 크거나 같고 N0는 0보다 크거나 같은, 비디오 프로세싱 방법.
  3. 제2항에 있어서,
    M0 및 N0는 0과 동일하지 않은, 비디오 프로세싱 방법.
  4. 제2항에 있어서,
    M0 및 N0는 2와 동일한, 비디오 프로세싱 방법.
  5. 제1항에 있어서,
    상기 광 흐름 기술을 이용한 예측 리파인먼트가 이용되는지를 나타내는 플래그는 상기 예측 블록의 제1 크기에 확장된 샘플이 포함되는지 및/또는 얼마나 많은 확장된 샘플이 포함되는지를 제어하는, 비디오 프로세싱 방법.
  6. 제5항에 있어서,
    상기 예측 블록의 제1 크기는 상기 확장된 샘플의 수에 기초하고,
    상기 확장된 샘플의 수는 상기 제1 비디오 블록이 상기 어파인 머지 모드를 이용하여 코딩되는지 또는 상기 어파인 어드밴스드 모션 벡터 예측 모드로부터 코딩되는지와 독립적인, 비디오 프로세싱 방법.
  7. 제6항에 있어서,
    상기 예측 블록의 제1 크기의 제1 폭 및 제1 높이는 각각 (M+X) 및 (N+Y)로 표시되고,
    상기 비디오 블록의 제2 크기의 제2 폭 및 제2 높이는 각각 M 및 N으로 표시되고,
    X는 폭에 대한 확장된 샘플의 수이고,
    Y는 높이에 대한 확장된 샘플의 수인, 비디오 프로세싱 방법.
  8. 제7항에 있어서,
    X 및 Y는 0과 동일한, 비디오 프로세싱 방법.
  9. 제7항에 있어서,
    X 및 Y는 2과 동일한, 비디오 프로세싱 방법.
  10. 제6항에 있어서,
    상기 광 흐름 기술을 이용한 예측 리파인먼트가 이용됨을 나타내는 플래그의 값에 응답하여, X 및 Y는 2과 동일한, 비디오 프로세싱 방법.
  11. 제10항에 있어서,
    상기 플래그의 값은 1과 동일한, 비디오 프로세싱 방법.
  12. 제1항에 있어서,
    상기 예측 블록의 제1 크기는 상기 광 흐름 기술을 이용한 예측 리파인먼트가 이용되는지를 나타내는 플래그의 값에 기초한 경계 확장 크기에 기초하고,
    상기 경계 확장 크기는 상기 예측 블록의 제1 크기를 얻기 위하여 상기 비디오 블록의 제2 크기가 증가하는 확장된 샘플의 수를 나타내는, 비디오 프로세싱 방법.
  13. 제12항에 있어서,
    상기 확장된 샘플의 수는 0인, 비디오 프로세싱 방법.
  14. 제12항에 있어서, 상기 확장된 샘플의 수는 2인, 비디오 프로세싱 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 광 흐름 기술을 이용한 예측 리파인먼트는, 상기 비디오 블록의 서브블록 기반 어파인 모션 보상 예측을 리파인한 후 광 흐름 식에 의해 도출된 차를 더함으로써 상기 비디오 블록의 루마 예측 샘플을 리파인하는 것을 포함하는, 비디오 프로세싱 방법.
  16. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 어파인 머지 모드는 현재 코딩 유닛의 공간 이웃 코딩 유닛의 모션 정보에 기초하여 상기 비디오 블록의 현재 코딩 유닛의 제어 포인트 모션 벡터를 생성하고 상기 현재 코딩 유닛에 사용될 서브블록 머지 후보 리스트로부터 어파인 머지 후보를 나타내는 인덱스를 비트스트림에 포함시키는 것을 포함하는, 비디오 프로세싱 방법.
  17. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 어파인 어드밴스드 모션 벡터 예측 모드는, 비트스트림에, (1) 상기 어파인 어드밴스드 모션 벡터 예측 모드가 사용되는지를 나타내는 상기 비디오 블록의 코딩 유닛 레벨에서의 어파인 플래그, (2) 4-파라미터 어파인 또는 6-파라미터 어파인이 사용되는지를 나타내는 제2 플래그, (3) 코딩 유닛 레벨에서의 제어 포인트 모션 벡터 예측자 인덱스 및 (4) 상기 비디오 블록의 현재 코딩 유닛의 제어 포인트 모션 벡터 및 상기 제어 포인트 모션 벡터에 대응하는 예측자 제어 포인트 모션 벡터의 차를 포함시키는 것을 포함하는, 비디오 프로세싱 방법.
  18. 비디오 프로세싱 방법으로서,
    하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    규칙은 픽처 레벨 또는 슬라이스 레벨보다 큰 비디오 레벨에서 제1 신택스 요소가 표시되는 것을 나타내고,
    상기 제1 신택스 요소는 상기 픽처 레벨 또는 슬라이스 레벨이 양자화 파라미터 델타를 포함하는지를 나타내는, 비디오 프로세싱 방법.
  19. 제18항에 있어서,
    상기 비디오 레벨은 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨이고,
    상기 제1 신택스 요소는 상기 픽처 레벨 또는 슬라이스 레벨이 루마 양자화 파라미터 델타 또는 크로마 양자화 파라미터 델타를 포함하도록 하는지를 나타내는, 비디오 프로세싱 방법.
  20. 제19항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 헤더에 포함되는지 및/또는 슬라이스 헤더가 상기 루마 양자화 파라미터 델타가 존재하는지를 나타내는 제1 신택스 요소에 기초하는지를 나타내는, 비디오 프로세싱 방법.
  21. 제20항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 레벨 또는 슬라이스 레벨에 존재하지 않음을 나타내는 상지 제1 신택스 요소에 기초하여 상기 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타내는, 비디오 프로세싱 방법.
  22. 제20항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 레벨 또는 슬라이스 레벨에 존재하지 않음을 나타내는 제1 신택스 요소에 기초하여 상기 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타내는, 비디오 프로세싱 방법.
  23. 제21항 내지 제22항 중 어느 한 항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 상기 픽처 헤더에 존재하지 않음에 응답하여 상기 루마 양자화 파라미터 델타가 소정의 값을 갖는 것으로 추론됨을 나타내는, 비디오 프로세싱 방법.
  24. 제21항 내지 제22항 중 어느 한 항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 상기 슬라이스 헤더에 존재하지 않음에 응답하여 상기 루마 양자화 파라미터 델타가 소정의 값을 갖는 것으로 추론됨을 나타내는, 비디오 프로세싱 방법.
  25. 제20항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 나타내는 플래그를 상기 픽처 파라미터 세트가 포함하는지를 상기 제1 신택스 요소가 제어함을 나타내는, 비디오 프로세싱 방법.
  26. 제25항에 있어서,
    상기 규칙은, 상기 루마 양자화 파라미터 델타가 픽처 레벨 또는 슬라이스 레벨에 존재하지 않음을 나타내는 제1 신택스 요소에 응답하여 상기 플래그가 상기 픽처 파라미터 세트로부터 배제됨을 나타내는, 비디오 프로세싱 방법.
  27. 제26항에 있어서, 상기 규칙은, 상기 플래그가 상기 픽처 파라미터 세트에 존재하지 않음에 응답하여 상기 플래그가 소정의 값을 갖는 것으로 추론됨을 나타내는, 비디오 프로세싱 방법.
  28. 비디오 프로세싱 방법으로서,
    하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    제1 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 제1 비디오 레벨에 포함되는지를 제1 비디오 레벨의 제1 플래그가 표시함을 나타내고,
    상기 제1 비디오 레벨은 슬라이스 레벨보다 높고,
    제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 제2 비디오 레벨의 제2 플래그가 표시함을 나타내고,
    상기 제2 비디오 레벨은 픽처 레벨보다 높은, 비디오 프로세싱 방법.
  29. 제28항에 있어서,
    상기 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 픽처 파라미터 세트의 제2 플래그가 표시함을 나타내는, 비디오 프로세싱 방법.
  30. 제29항에 있어서,
    상기 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더에 포함되는지를 나타내는 제2 플래그에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 슬라이스 헤더로부터 배제됨을 나타내는, 비디오 프로세싱 방법.
  31. 제29항에 있어서,
    상기 제2 규칙은, 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더로부터 배제됨을 나타내는 제2 플래그에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 선택적으로 상기 슬라이스 헤더에 포함됨을 나타내는, 비디오 프로세싱 방법.
  32. 제29항 또는 제31항에 있어서,
    하나 이상의 크로마 양자화 파라미터 세트가 상기 픽처 헤더로부터 배제됨에 응답하여, 상기 픽처 헤더에 대한 하나 이상의 크로마 양자화 파라미터 오프셋이 소정의 값으로 추론되는, 비디오 프로세싱 방법.
  33. 제29항 또는 제30항에 있어서,
    상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 슬라이스 헤더로부터 배제됨에 응답하여, 상기 슬라이스 헤더에 대한 하나 이상의 크로마 양자화 파라미터 오프셋이 소정의 값으로 추론되는, 비디오 프로세싱 방법.
  34. 제29항에 있어서,
    제2 규칙은, 루마 양자화 파라미터 델타가 픽처 헤더 또는 슬라이스 헤더에 포함되는지를 제2 플래그가 더 표시함을 나타내는, 비디오 프로세싱 방법.
  35. 제28항에 있어서,
    상기 제2 규칙은, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 및/또는 슬라이스 헤더에 포함되는지를 시퀀스 파라미터 세트 및/또는 픽처 파라미터 세트의 제2 플래그가 표시함을 나타내는, 비디오 프로세싱 방법.
  36. 제35항에 있어서,
    상기 제2 규칙은, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 및/또는 슬라이스 헤더에 존재하지 않음을 표시하는 제2 플래그에 응답하여, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 헤더 및 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타내는, 비디오 프로세싱 방법.
  37. 제35항에 있어서,
    상기 제2 규칙은, 또다른 플래그가 상기 픽처 파라미터 세트에 포함되는지를 상기 제2 플래그가 제어함을 나타내고, 상기 또다른 플래그는 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 픽처 레벨 또는 슬라이스 레벨에 포함되는지를 표시하는, 비디오 프로세싱 방법.
  38. 제37항에 있어서,
    상기 제2 규칙은, 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 픽처 헤더 또는 슬라이스 헤더로부터 배제됨을 표시하는 제2 플래그에 응답하여, 상기 픽처 파라미터 세트가 상기 또다른 플래그를 배제함을 나타내는, 비디오 프로세싱 방법.
  39. 제38항에 있어서,
    상기 제2 규칙은, 상기 또다른 플래그가 상기 픽처 파라미터 세트에 존재하지 않음에 응답하여 상기 또다른 플래그가 소정의 값을 갖는 것으로 추론됨을 나타내는, 비디오 프로세싱 방법.
  40. 제28항에 있어서,
    상기 제2 규칙은, 양자화 파라미터 델타 및 상기 크로마 양자화 파라미터 오프셋이 동일한 헤더에 포함됨을 나타내는, 비디오 프로세싱 방법.
  41. 제40항에 있어서,
    상기 제2 규칙은, 상기 양자화 파라미터 델타가 상기 픽처 헤더에 포함됨에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 슬라이스 헤더에 포함되는 것이 허용되지 않음을 나타내는, 비디오 프로세싱 방법.
  42. 제40항에 있어서,
    상기 제2 규칙은, 상기 양자화 파라미터 델타가 상기 슬라이스 헤더에 포함됨에 응답하여 상기 하나 이상의 크로마 양자화 파라미터 오프셋이 상기 픽처 헤더에 포함되는 것이 허용되지 않음을 나타내는, 비디오 프로세싱 방법.
  43. 비디오 프로세싱 방법으로서,
    하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
    상기 비트스트림은 코딩 블록 세분(subdivision) 값을 나타내는 제1 신택스 요소를 포함하고,
    상기 코딩 블록 세분 값은 규칙에 따른 범위를 갖는, 비디오 프로세싱 방법.
  44. 제43항에 있어서,
    상기 규칙은, cu_qp_delta_abs 및 cu_qp_delta_sign_flag를 전달하는 인트라 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타내는, 비디오 프로세싱 방법.
  45. 제43항 내지 제44항 중 어느 한 항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타내는, 비디오 프로세싱 방법.
  46. 제44항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_intra_slice_luma, CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내고,
    ph_max_mtt_hierarchy_depth_intra_slice_luma는 상기 제2 신택스 요소인, 비디오 프로세싱 방법.
  47. 제43항에 있어서,
    상기 규칙은, cu_chroma_qp_offset_flag를 전달하는 인트라 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타내는, 비디오 프로세싱 방법.
  48. 제43항 또는 제47항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지 임을 나타내는, 비디오 프로세싱 방법.
  49. 제47항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_intra_slice_luma, CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내고,
    ph_max_mtt_hierarchy_depth_intra_slice_luma는 제2 신택스 요소인, 비디오 프로세싱 방법.
  50. 제43항에 있어서,
    상기 규칙은, cu_qp_delta_abs 및 cu_qp_delta_sign_flag를 전달하는 인트라 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타내는, 비디오 프로세싱 방법.
  51. 제43항 또는 제50항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY ) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내는, 비디오 프로세싱 방법.
  52. 제50항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_inter_slice, CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내고,
    ph_max_mtt_hierarchy_depth_inter_slice는 상기 제2 신택스 요소인, 비디오 프로세싱 방법.
  53. 제43항에 있어서,
    상기 규칙은, cu_chroma_qp_offset_flag를 전달하는 인터 슬라이스의 코딩 유닛의 코딩 블록 세분 값의 범위가 슬라이스의 쿼드트리 리프의 멀티타입 트리 분할에 의한 코딩 유닛에 대한 최대 계층 깊이를 나타내는 비트스트림의 제2 신택스 요소와 독립적임을 나타내는, 비디오 프로세싱 방법.
  54. 제43항 또는 제53항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeInterY ) + 2*( CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내는, 비디오 프로세싱 방법.
  55. 제53항에 있어서,
    상기 규칙은, 상기 범위가 0에서 2 * ( CtbLog2SizeY - MinQtLog2SizeIntraY) + 2 * min( ph_max_mtt_hierarchy_depth_inter_slice, CtbLog2SizeY - MinCbLog2SizeY )까지임을 나타내고,
    ph_max_mtt_hierarchy_depth_inter_slice는 상기 제2 신택스 요소인, 비디오 프로세싱 방법.
  56. 제51항 내지 제55항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  57. 제1항 내지 제56항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는 상기 비디오로부터 상기 비트스트림으로 생성하는 단계를 포함하고, 상기 방법은 비일시적 컴퓨터 판독가능 기록 매체에 상기 비트스트림을 저장하는 단계를 더 포함하는, 비디오 프로세싱 방법.
  58. 제1항 내지 제56항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로부터 디코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  59. 제1항 내지 제58항 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
  60. 제1항 내지 제58항 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
  61. 프로세서에 의해 실행될 때, 상기 프로세서가 제1항 내지 제58항 중 어느 한 항에 기재된 방법을 구현하도록 하는 컴퓨터 명령이 저장된 컴퓨터 프로그램 제품.
  62. 제1항 내지 제58항 중 어느 한 항에 기재된 방법에 따라 생성된 비트스트림을 저장하는 비일시적 컴퓨터 판독가능 저장 매체.
  63. 프로세서가 제1항 내지 제58항 중 어느 한 항에 기재된 방법을 구현하도록 하는 명령을 저장한 비일시적 컴퓨터 판독가능 저장 매체.
  64. 비트스트림 생성 방법으로서,
    제1항 내지 제58항 중 어느 한 항에 기재된 방법에 따라 비디오의 비트스트림을 생성하는 단계; 및
    상기 비트스트림을 컴퓨터 판독가능 프로그램 매체에 저장하는 단계를 포함하는 방법.
  65. 본 문서에 기재된 개시된 방법 또는 시스템에 따라 생성된 방법, 장치 및 비트스트림.
KR1020227031494A 2020-03-23 2021-03-23 어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트 KR20220157950A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020080602 2020-03-23
CNPCT/CN2020/080602 2020-03-23
PCT/CN2021/082243 WO2021190465A1 (en) 2020-03-23 2021-03-23 Prediction refinement for affine merge and affine motion vector prediction mode

Publications (1)

Publication Number Publication Date
KR20220157950A true KR20220157950A (ko) 2022-11-29

Family

ID=77890952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227031494A KR20220157950A (ko) 2020-03-23 2021-03-23 어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트

Country Status (6)

Country Link
US (3) US20230042746A1 (ko)
EP (1) EP4107941A4 (ko)
JP (1) JP2023518494A (ko)
KR (1) KR20220157950A (ko)
CN (2) CN115349254A (ko)
WO (2) WO2021190464A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023158766A1 (en) * 2022-02-16 2023-08-24 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for candidate derivation for affine merge mode in video coding

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10327008B2 (en) * 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN107404651B (zh) * 2011-09-09 2020-03-06 株式会社Kt 用于解码视频信号的方法
US9699457B2 (en) * 2011-10-11 2017-07-04 Qualcomm Incorporated Most probable transform for intra prediction coding
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US20130294524A1 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
US9800869B2 (en) * 2012-06-15 2017-10-24 Google Technology Holdings LLC Method and apparatus for efficient slice header processing
US9445130B2 (en) * 2013-01-09 2016-09-13 Qualcomm Incorporated Blockiness metric for large HEVC block artifacts
CN107079149B (zh) * 2014-10-06 2020-03-03 索尼公司 图像处理装置和方法
EP4138392A1 (en) * 2016-02-05 2023-02-22 HFI Innovation Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
US11095898B2 (en) * 2016-03-28 2021-08-17 Lg Electronics Inc. Inter-prediction mode based image processing method, and apparatus therefor
WO2017188566A1 (ko) * 2016-04-25 2017-11-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement
KR102659481B1 (ko) * 2019-03-17 2024-04-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 광학 흐름에 기초한 예측 정제의 계산
EP3942823A4 (en) 2019-03-18 2023-04-05 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
US11523109B2 (en) * 2019-05-02 2022-12-06 Tencent America LLC Method and apparatus for improvements of affine prof
WO2020233660A1 (en) * 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Syntax-based motion candidate derivation in sub-block merge mode
EP3997868A4 (en) * 2019-08-10 2023-02-22 Beijing Bytedance Network Technology Co., Ltd. BUFFER MANAGEMENT DURING SUBPICTURE DECODING
CN114600462A (zh) * 2019-10-25 2022-06-07 夏普株式会社 用于在视频编码中发送信号通知图片信息的系统和方法
US11212523B2 (en) * 2020-01-12 2021-12-28 Mediatek Inc. Video processing methods and apparatuses of merge number signaling in video coding systems

Also Published As

Publication number Publication date
CN115349254A (zh) 2022-11-15
CN115398892A (zh) 2022-11-25
WO2021190465A1 (en) 2021-09-30
US20240107013A1 (en) 2024-03-28
JP2023518494A (ja) 2023-05-01
US20230044750A1 (en) 2023-02-09
EP4107941A1 (en) 2022-12-28
EP4107941A4 (en) 2023-04-19
US20230042746A1 (en) 2023-02-09
WO2021190464A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
WO2021197445A1 (en) Constraints on adaptation parameter set syntax elements
WO2021169969A1 (en) Conditional signaling of syntax elements in a picture header
WO2021180164A1 (en) Transform skip based residual coding
KR102629799B1 (ko) 상위 레벨 신택스에서의 인터 예측에 대한 시그널링
KR20220157950A (ko) 어파인 머지 및 어파인 모션 벡터 예측 모드에 대한 예측 리파인먼트
WO2021204251A1 (en) Use of header syntax elements and adaptation parameter set
KR20230002447A (ko) 비디오 코딩 신택스 요소의 조건적 시그널링
US11743506B1 (en) Deblocking signaling in video coding
KR20220159987A (ko) 비디오 코딩에서의 적합성 윈도우 파라미터