KR20220143023A - 비트스트림에서의 비디오 성분들에 대한 가중치 값들의 추론 - Google Patents

비트스트림에서의 비디오 성분들에 대한 가중치 값들의 추론 Download PDF

Info

Publication number
KR20220143023A
KR20220143023A KR1020227027522A KR20227027522A KR20220143023A KR 20220143023 A KR20220143023 A KR 20220143023A KR 1020227027522 A KR1020227027522 A KR 1020227027522A KR 20227027522 A KR20227027522 A KR 20227027522A KR 20220143023 A KR20220143023 A KR 20220143023A
Authority
KR
South Korea
Prior art keywords
slice
flag
equal
video
value
Prior art date
Application number
KR1020227027522A
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 KR20220143023A publication Critical patent/KR20220143023A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

비디오 블록들에 대한 가중 예측을 포함하는, 비디오 프로세싱을 위한 시스템들, 방법들 및 장치들이 설명된다. 하나의 예시적인 방법은 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 예측 가중치들이 현재 슬라이스의 슬라이스 헤더에 포함되는지 여부를 나타내는 복수의 신택스 요소들의 값들이 현재 슬라이스의 슬라이스 유형 및 현재 픽처에 의해 참조되는 픽처 파라미터 세트(PPS)에 포함된 제1 플래그의 값에 기초하여 추론된다는 것을 지정한다.

Description

비트스트림에서의 비디오 성분들에 대한 가중치 값들의 추론
관련 출원의 상호 참조
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙들에 따라, 본 출원은 2020년 2월 19일에 제출된 미국 가특허 출원 제US 62/978,740호에 대한 우선권 및 그 이익을 적시에 주장하기 위해 이루어졌다. 법에 따른 모든 목적들을 위해, 앞서 언급된 출원의 전체 개시내용은 본 출원의 개시내용의 일부로서 참고로 포함된다.
기술 분야
이 특허 문서는 이미지 및 비디오 코딩 및 디코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 많은 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
본 문서는 비디오 인코딩 및 디코딩을 수행하기 위해 비디오의 비트스트림을 프로세싱하는 데 비디오 인코더들 및 디코더들에 의해 사용될 수 있는 가중 예측을 포함하는 기술들을 개시한다.
하나의 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은, 규칙에 따라, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 픽처 파라미터 세트(PPS)의 제1 신택스 요소의 값 및 PPS의 제2 신택스 요소의 값이 제3 신택스 요소가 비트스트림에 포함되는지 여부를 제어한다는 것을 지정하고, 여기서 제1 신택스 요소는 PPS를 참조하는 비트스트림에서의 코딩된 픽처들의 양방향 슬라이스들(B 슬라이스들)에 대해 가중 예측이 인에이블되는지 여부를 나타내고, 제2 신택스 요소는 가중 예측에 관련된 정보가 PPS를 참조하는 코딩된 픽처들의 픽처 헤더들 또는 슬라이스 헤더들에 존재하는지 여부를 나타내며, 제3 신택스 요소는 현재 슬라이스의 참조 픽처 리스트 1과 연관된 가중치 수를 나타낸다.
다른 예시적인 양태에서, 다른 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 예측 가중치들이 현재 슬라이스의 슬라이스 헤더에 포함되는지 여부를 나타내는 복수의 신택스 요소들의 값들이 현재 슬라이스의 슬라이스 유형 및 현재 픽처에 의해 참조되는 픽처 파라미터 세트(PPS)에 포함된 제1 플래그의 값에 기초하여 추론된다는 것을 지정한다.
또 다른 예시적인 양태에서, 다른 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 한 세트의 픽처들의 슬라이스들에 대해 인에이블되는 명시적 가중 예측에 대한 제약들을 나타내는 하나 이상의 제약 플래그를 포함하는 일반 제약 정보 신택스 구조가 존재한다는 것을 지정한다.
또 다른 예시적인 양태에서, 다른 비디오 프로세싱 방법이 개시된다. 이 방법은, 규칙에 따라, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 한 세트의 픽처들의 슬라이스들에 대해 인에이블되는 명시적 가중 예측에 대한 제약들을 나타내는 하나 이상의 제약 플래그가 현재 슬라이스와 연관된 파라미터 세트 또는 헤더에 포함된다는 것을 지정한다.
또 다른 예시적인 양태에서, 다른 비디오 프로세싱 방법이 개시된다. 이 방법은 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 비트스트림은 포맷 규칙을 준수하고, 여기서 포맷 규칙은 현재 픽처가 양방향 슬라이스(B 슬라이스)를 제외하는지 여부의 표시가 현재 픽처와 연관된 픽처 헤더 신택스 구조에 포함된다는 것을 지정한다.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장된 컴퓨터 판독 가능 매체가 개시된다. 코드는 본 명세서에서 설명된 방법들 중 하나를 프로세서 실행 가능 코드 형태로 구체화한다.
이들 및 다른 특징들이 본 문서 전체에 걸쳐 설명된다.
도 1은 본 명세서에서 개시되는 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템을 도시하는 블록 다이어그램이다.
도 2는 비디오 프로세싱에 사용되는 예시적인 하드웨어 플랫폼의 블록 다이어그램이다.
도 3은 본 개시내용의 일부 실시예들을 구현할 수 있는 예시적인 비디오 코딩 시스템을 예시하는 블록 다이어그램이다.
도 4는 본 개시내용의 일부 실시예들을 구현할 수 있는 인코더의 예를 예시하는 블록 다이어그램이다.
도 5는 본 개시내용의 일부 실시예들을 구현할 수 있는 디코더의 예를 예시하는 블록 다이어그램이다.
도 6 내지 도 10은 예시적인 비디오 프로세싱 방법들에 대한 플로차트들을 도시한다.
섹션 표제들은 본 문서에서 이해의 편의를 위해 사용되며 각각의 섹션에 개시된 기술들 및 실시예들의 적용 가능성을 해당 섹션으로만 제한하지 않는다. 게다가, H.266 전문용어는 일부 설명에서 이해의 편의를 위해서만 사용되며 개시된 기술들의 범위를 제한하기 위해 사용되지 않는다. 이에 따라, 본 명세서에서 설명되는 기술들은 다른 비디오 코덱 프로토콜들 및 설계들에도 적용 가능하다.
1. 요약
이 문서는 비디오 코딩 기술들에 관한 것이다. 구체적으로는, 이는 비디오 코딩에서의 PH 및 SH 신택스의 설계에 관한 것이다. 이 아이디어들은 다중 계층 비디오 코딩, 예를 들면, 개발 중인 다목적 비디오 코딩(VVC)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
2. 약어
APS Adaptation Parameter Set(적응 파라미터 세트)
AU Access Unit(액세스 유닛)
AUD Access Unit Delimiter(액세스 유닛 구분자)
AVC Advanced Video Coding(고급 비디오 코딩)
CLVS Coded Layer Video Sequence(코딩된 계층 비디오 시퀀스)
CPB Coded Picture Buffer(코딩된 픽처 버퍼)
CRA Clean Random Access(클린 랜덤 액세스)
CTU Coding Tree Unit(코딩 트리 유닛)
CVS Coded Video Sequence(코딩된 비디오 시퀀스)
DPB Decoded Picture Buffer(디코딩된 픽처 버퍼)
DPS Decoding Parameter Set(디코딩 파라미터 세트)
EOB End Of Bitstream(비트스트림 끝)
EOS End Of Sequence(시퀀스 끝)
GDR Gradual Decoding Refresh(점진적 디코딩 리프레시)
HEVC High Efficiency Video Coding(고효율 비디오 코딩)
HRD Hypothetical Reference Decoder(가상 참조 디코더)
IDR Instantaneous Decoding Refresh(순간 디코딩 리프레시)
JEM Joint Exploration Model(결합 탐색 모델)
MCTS Motion-Constrained Tile Sets(모션 제약 타일 세트)
NAL Network Abstraction Layer(네트워크 추상화 계층)
OLS Output Layer Set(출력 계층 세트)
PH Picture Header(픽처 헤더)
PPS Picture Parameter Set(픽처 파라미터 세트)
PTL Profile, Tier and Level(프로필, 티어 및 레벨)
PU Picture Unit(픽처 유닛)
RBSP Raw Byte Sequence Payload(원시 바이트 시퀀스 페이로드)
SEI Supplemental Enhancement Information(추가 개선 정보)
SH Slice Header(슬라이스 헤더)
SPS Sequence Parameter Set(시퀀스 파라미터 세트)
SVC Scalable Video Coding(확장 가능한 비디오 코딩)
VCL Video Coding Layer(비디오 코딩 계층)
VPS Video Parameter Set(비디오 파라미터 세트)
VTM VVC Test Model(VVC 테스트 모델)
VUI Video Usability Information(비디오 사용성 정보)
VVC Versatile Video Coding(다목적 비디오 코딩)
3. 초기 논의
비디오 코딩 표준들은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 발전해 왔다. ITU-T는 H.261 및 H.263 표준들을 만들었고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual 표준들을 만들었으며, 두 조직은 공동으로 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준들을 만들었다. H.262 이후로, 비디오 코딩 표준들은 시간적 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이후의 미래 비디오 코딩 기술을 탐구하기 위해, 2015년에 VCEG와 MPEG에 의해 공동으로 JVET(Joint Video Exploration Team)가 설립되었다. 그 이후로, 많은 새로운 방법들이 JVET에 의해 채택되었고 JEM(Joint Exploration Model)이라는 참조 소프트웨어에 추가되었다. JVET 회의는 분기마다 1회 동시에 개최되며, 새로운 코딩 표준은 HEVC에 비해 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(VVC)이라고 명명되었으며, 당시에 VVC 테스트 모델(VTM)의 첫 번째 버전이 발표되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에, 매번의 JVET 회의에서 새로운 코딩 기술들이 VVC 표준에 채택되고 있다. VVC 작업 초안과 테스트 모델 VTM은 이어서 매번의 회의 이후에 업데이트된다. VVC 프로젝트는 이제 2020년 7월 회의에서 기술적 완성(FDIS)을 목표로 하고 있다.
3.1. PH 신택스 및 시맨틱스
최신 VVC 초안 텍스트에서, PH 신택스 및 시맨틱스는 다음과 같다:
Figure pct00001
PH RBSP는 PH 신택스 구조, 즉 picture_header_structure( )를 포함한다.
Figure pct00002
Figure pct00003
Figure pct00004
Figure pct00005
Figure pct00006
Figure pct00007
PH 신택스 구조는 PH 신택스 구조와 연관된 코딩된 픽처의 모든 슬라이스들에 공통적인 정보를 포함한다.
gdr_or_irap_pic_flag가 1과 동일한 것은 현재 픽처가 GDR 또는 IRAP 픽처라는 것을 지정한다. gdr_or_irap_pic_flag가 0과 동일한 것은 현재 픽처가 GDR 또는 IRAP 픽처일 수 있거나 그렇지 않을 수 있다는 것을 지정한다.
gdr_pic_flag가 1과 동일한 것은 PH와 연관된 픽처가 GDR 픽처라는 것을 지정한다. gdr_pic_flag가 0과 동일한 것은 PH와 연관된 픽처가 GDR 픽처가 아니라는 것을 지정한다. 존재하지 않을 때, gdr_pic_flag의 값은 0과 동일한 것으로 추론된다. gdr_enabled_flag가 0과 동일할 때, gdr_pic_flag의 값은 0과 동일해야 한다.
ph_inter_slice_allowed_flag가 0과 동일한 것은 픽처의 모든 코딩된 슬라이스들이 2와 동일한 slice_type을 갖는다는 것을 지정한다. ph_inter_slice_allowed_flag가 1과 동일한 것은 픽처에 0 또는 1과 동일한 slice_type을 갖는 하나 이상의 코딩된 슬라이스가 있을 수 있거나 그렇지 않을 수 있다는 것을 지정한다.
ph_intra_slice_allowed_flag가 0과 동일한 것은 픽처의 모든 코딩된 슬라이스들이 0 또는 1과 동일한 slice_type을 갖는다는 것을 지정한다. ph_intra_slice_allowed_flag가 1과 동일한 것은 픽처에 2와 동일한 slice_type을 갖는 하나 이상의 코딩된 슬라이스가 있을 수 있거나 그렇지 않을 수 있다는 것을 지정한다. 존재하지 않을 때, ph_intra_slice_allowed_flag의 값은 1과 동일한 것으로 추론된다.
비고 1 - PH NAL 유닛들을 변경할 필요 없이 서브픽처 기반 비트스트림 병합을 이루도록 되어 있는 비트스트림의 경우, 인코더는 ph_inter_slice_allowed_flag 및 ph_intra_slice_allowed_flag 양쪽 모두의 값들을 1과 동일하게 설정할 것으로 예상된다.
non_reference_picture_flag가 1과 동일한 것은 PH와 연관된 픽처가 참조 픽처로서 결코 사용되지 않는다는 것을 지정한다. non_reference_picture_flag가 0과 동일한 것은 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을 갖는 디코딩 순서상 현재 GDR 픽처를 뒤따르는 픽처 picA가 CLVS에 있는 경우, 픽처 picA는 복구 지점 픽처라고 지칭된다. 그렇지 않은 경우, 현재 픽처의 PicOrderCntVal에 recovery_poc_cnt의 값을 더한 것보다 큰 PicOrderCntVal을 갖는 출력 순서상 첫 번째 픽처가 복구 지점 픽처라고 지칭된다. 복구 지점 픽처는 디코딩 순서상 현재 GDR 픽처보다 선행하지 않아야 한다. recovery_poc_cnt의 값은 0 내지 MaxPicOrderCntLsb - 1(경계 포함)의 범위에 있어야 한다.
현재 픽처가 GDR 픽처일 때, 변수 RpPicOrderCntVal은 다음과 같이 도출된다:
Figure pct00008
비고 2 - gdr_enabled_flag가 1과 동일하고 현재 픽처의 PicOrderCntVal이 연관된 GDR 픽처의 RpPicOrderCntVal보다 크거나 같을 때, 출력 순서상 현재 및 후속 디코딩된 픽처들은, 존재할 때, 디코딩 순서상 연관된 GDR 픽처에 선행하는, 이전 IRAP 픽처로부터 디코딩 프로세스를 시작하는 것에 의해 생성되는 대응하는 픽처들과 완전 일치한다.
ph_extra_bit[ i ]는 1 또는 0과 동일할 수 있다. 이 사양의 이 버전을 준수하는 디코더들은 ph_extra_bit[ i ]의 값을 무시해야 한다. 그의 값은 이 버전의 사양에 지정된 프로필들에 대한 디코더 적합성에 영향을 미치지 않는다.
ph_poc_msb_present_flag가 1과 동일한 것은 신택스 요소 poc_msb_val이 PH에 존재한다는 것을 지정한다. ph_poc_msb_present_flag가 0과 동일한 것은 신택스 요소 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 비트이다.
ph_alf_enabled_flag가 1과 동일한 것은 적응적 루프 필터가 PH와 연관된 모든 슬라이스들에 대해 인에이블되고 슬라이스들에서의 Y, Cb, 또는 Cr 색상 성분에 적용될 수 있다는 것을 지정한다. ph_alf_enabled_flag가 0과 동일한 것은 적응적 루프 필터가 PH와 연관된 하나, 또는 그 이상, 또는 모든 슬라이스들에 대해 디스에이블될 수 있다는 것을 지정한다. 존재하지 않을 때, ph_alf_enabled_flag는 0과 동일한 것으로 추론된다.
ph_num_alf_aps_ids_luma는 PH와 연관된 슬라이스들이 참조하는 ALF APS 수를 지정한다.
ph_alf_aps_id_luma[ i ]는 PH와 연관된 슬라이스들의 루마 성분이 참조하는 i 번째 ALF APS의 adaptation_parameter_set_id를 지정한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_luma_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_luma[ i ]와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ph_alf_chroma_idc가 0과 동일한 것은 적응적 루프 필터가 Cb 및 Cr 색상 성분들에 적용되지 않는다는 것을 지정한다. ph_alf_chroma_idc가 1과 동일한 것은 적응적 루프 필터가 Cb 색상 성분에 적용된다는 것을 나타낸다. ph_alf_chroma_idc가 2와 동일한 것은 적응적 루프 필터가 Cr 색상 성분에 적용된다는 것을 나타낸다. ph_alf_chroma_idc가 3과 동일한 것은 적응적 루프 필터가 Cb 및 Cr 색상 성분들에 적용된다는 것을 나타낸다. ph_alf_chroma_idc가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
ph_alf_aps_id_chroma는 PH와 연관된 슬라이스들의 크로마 성분이 참조하는 ALF APS의 adaptation_parameter_set_id를 지정한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ph_cc_alf_cb_enabled_flag가 1과 동일한 것은 Cb 색상 성분에 대한 교차 성분 필터가 PH와 연관된 모든 슬라이스들에 대해 인에이블되고 슬라이스들에서의 Cb 색상 성분에 적용될 수 있다는 것을 지정한다. ph_cc_alf_cb_enabled_flag가 0과 동일한 것은 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보다 작거나 같아야 한다.
ph_cc_alf_cr_enabled_flag가 1과 동일한 것은 Cr 색상 성분에 대한 교차 성분 필터가 PH와 연관된 모든 슬라이스들에 대해 인에이블되고 슬라이스들에서의 Cr 색상 성분에 적용될 수 있다는 것을 지정한다. ph_cc_alf_cr_enabled_flag가 0과 동일한 것은 Cr 색상 성분에 대한 교차 성분 필터가 PH와 연관된 하나, 또는 그 이상, 또는 모든 슬라이스들에 대해 디스에이블될 수 있다는 것을 지정한다. 존재하지 않을 때, ph_cc_alf_cr_enabled_flag는 0과 동일한 것으로 추론된다.
ph_cc_alf_cr_aps_id는 PH와 연관된 슬라이스들의 Cr 색상 성분이 참조하는 ALF APS의 adaptation_parameter_set_id를 지정한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_cc_cr_filter_signal_flag의 값은 1과 동일해야 한다.
ALF_APS와 동일한 aps_params_type 및 ph_cc_alf_cr_aps_id와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 PH와 연관된 픽처의 TemporalId보다 작거나 같아야 한다.
ph_lmcs_enabled_flag가 1과 동일한 것은 크로마 스케일링을 사용한 루마 매핑(luma mapping with chroma scaling)이 PH와 연관된 모든 슬라이스들에 대해 인에이블된다는 것을 지정한다. ph_lmcs_enabled_flag가 0과 동일한 것은 크로마 스케일링을 사용한 루마 매핑이 PH와 연관된 하나, 또는 그 이상, 또는 모든 슬라이스들에 대해 디스에이블될 수 있다는 것을 지정한다. 존재하지 않을 때, 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보다 작거나 같아야 한다.
ph_chroma_residual_scale_flag가 1과 동일한 것은 크로마 잔차 스케일링이 PH와 연관된 모든 슬라이스들에 대해 인에이블된다는 것을 지정한다. ph_chroma_residual_scale_flag가 0과 동일한 것은 크로마 잔차 스케일링이 PH와 연관된 하나, 또는 그 이상, 또는 모든 슬라이스들에 대해 디스에이블될 수 있다는 것을 지정한다. ph_chroma_residual_scale_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
ph_scaling_list_present_flag가 1과 동일한 것은 PH와 연관된 슬라이스들에 사용되는 스케일링 리스트 데이터가 참조된 스케일링 리스트 APS에 포함된 스케일링 리스트 데이터에 기초하여 도출된다는 것을 지정한다. ph_scaling_list_present_flag가 0과 동일한 것은 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보다 작거나 같아야 한다.
ph_virtual_boundaries_present_flag가 1과 동일한 것은 가상 경계들의 정보가 PH에서 시그널링된다는 것을 지정한다. ph_virtual_boundaries_present_flag가 0과 동일한 것은 가상 경계들의 정보가 PH에서 시그널링되지 않는다는 것을 지정한다. PH에서 시그널링되는 하나 또는 하나 초과의 가상 경계가 있을 때, 인루프 필터링 동작들이 픽처에서의 가상 경계들에 걸쳐 디스에이블된다. 인루프 필터링 동작들은 디블로킹 필터, 샘플 적응적 오프셋 필터, 및 적응적 루프 필터 동작들을 포함한다. 존재하지 않을 때, ph_virtual_boundaries_present_flag의 값은 0과 동일한 것으로 추론된다.
subpic_info_present_flag가 1과 동일할 때, ph_virtual_boundaries_present_flag의 값이 0과 동일해야 하는 것은 비트스트림 적합성의 요구 사항이다.
변수 VirtualBoundariesPresentFlag는 다음과 같이 도출된다:
Figure pct00009
ph_num_ver_virtual_boundaries는 PH에 존재하는 ph_virtual_boundaries_pos_x[ i ] 신택스 요소 수를 지정한다. ph_num_ver_virtual_boundaries가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
변수 NumVerVirtualBoundaries는 다음과 같이 도출된다:
Figure pct00010
ph_virtual_boundaries_pos_x[ i ]는 루마 샘플 단위의 i 번째 수직 가상 경계의 위치를 8로 나눈 값을 지정한다. ph_virtual_boundaries_pos_x[ i ]의 값은 1 내지 Ceil( pic_width_in_luma_samples ÷ 8 ) - 1(경계 포함)의 범위에 있어야 한다.
수직 가상 경계들의 위치들을 지정하는 루마 샘플 단위의 0 내지 NumVerVirtualBoundaries - 1(경계 포함)의 범위의 i에 대한 리스트 VirtualBoundariesPosX[ i ]는 다음과 같이 도출된다:
Figure pct00011
임의의 2 개의 수직 가상 경계 사이의 거리는 CtbSizeY 루마 샘플보다 크거나 같아야 한다.
ph_num_hor_virtual_boundaries는 PH에 존재하는 ph_virtual_boundaries_pos_y[ i ] 신택스 요소 수를 지정한다. ph_num_hor_virtual_boundaries가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
파라미터 NumHorVirtualBoundaries는 다음과 같이 도출된다:
Figure pct00012
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 ]는 루마 샘플 단위의 i 번째 수평 가상 경계의 위치를 8로 나눈 값을 지정한다. ph_virtual_boundaries_pos_y[ i ]의 값은 1 내지 Ceil( pic_height_in_luma_samples ÷ 8 ) - 1(경계 포함)의 범위에 있어야 한다.
수평 가상 경계들의 위치들을 지정하는 루마 샘플 단위의 0 내지 NumHorVirtualBoundaries - 1(경계 포함)의 범위의 i에 대한 리스트 VirtualBoundariesPosY[ i ]는 다음과 같이 도출된다:
Figure pct00013
임의의 2 개의 수평 가상 경계 사이의 거리는 CtbSizeY 루마 샘플보다 크거나 같아야 한다.
pic_output_flag는 부록 C에서 지정된 바와 같이 디코딩된 픽처 출력 및 제거 프로세스들에 영향을 미친다. pic_output_flag가 존재하지 않을 때, 이는 1과 동일한 것으로 추론된다.
partition_constraints_override_flag가 1과 동일한 것은 분할 제약 파라미터들이 PH에 존재한다는 것을 지정한다. partition_constraints_override_flag가 0과 동일한 것은 분할 제약 파라미터들이 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의 값은 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의 쿼드트리 분할로부터 결과되는 루마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. 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는 삼진 분할을 사용하여 분할될 수 있는 루마 코딩 블록의 루마 샘플 단위의 최대 크기(폭 또는 높이)의 밑이 2인 로그와 PH와 연관된 2(I)와 동일한 slice_type을 갖는 슬라이스들에서의 CTU의 쿼드트리 분할로부터 결과되는 루마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. 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와 동일한 treeType을 갖는 크로마 CTU의 쿼드트리 분할로부터 결과되는 크로마 리프 블록의 루마 샘플 단위의 최소 크기의 밑이 2인 로그와 PH와 연관된 2(I)와 동일한 slice_type을 갖는 슬라이스들에서의 DUAL_TREE_CHROMA와 동일한 treeType을 갖는 크로마 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와 동일한 treeType을 갖는 크로마 쿼드트리 리프의 다중 유형 트리 분할로부터 결과되는 크로마 코딩 유닛들에 대한 최대 계층구조 깊이를 지정한다. 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와 동일한 treeType을 갖는 크로마 CTU의 쿼드트리 분할로부터 결과되는 크로마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. 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와 동일한 treeType을 갖는 크로마 CTU의 쿼드트리 분할로부터 결과되는 크로마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. 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 내지 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의 쿼드트리 분할로부터 결과되는 루마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. ph_log2_diff_max_bt_min_qt_inter_slice의 값은 0 내지 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의 쿼드트리 분할로부터 결과되는 루마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. 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는 인터 슬라이스(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과 동일해야 한다.
최대 서브블록 기반 병합 MVP 후보 수 MaxNumSubblockMergeCand는 다음과 같이 도출된다:
Figure pct00014
MaxNumSubblockMergeCand의 값은 0 내지 5(경계 포함)의 범위에 있어야 한다.
ph_collocated_from_l0_flag가 1과 동일한 것은 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처(collocated picture)가 참조 픽처 리스트 0으로부터 도출된다는 것을 지정한다. ph_collocated_from_l0_flag가 0과 동일한 것은 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 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과 동일한 것으로 추론된다.
mvd_l1_zero_flag가 1과 동일한 것은 mvd_coding( x0, y0, 1 ) 신택스 구조가 파싱되지 않고 compIdx = 0..1 및 cpIdx = 0..2에 대해 MvdL1[ x0 ][ y0 ][ compIdx ] 및 MvdCpL1[ x0 ][ y0 ][ cpIdx ][ compIdx ]가 0과 동일하게 설정된다는 것을 나타낸다. mvd_l1_zero_flag가 0과 동일한 것은 mvd_coding(x0, y0, 1) 신택스 구조가 파싱된다는 것을 나타낸다.
ph_fpel_mmvd_enabled_flag가 1과 동일한 것은 모션 벡터 차이를 사용한 병합 모드(merge mode with motion vector difference)가 PH와 연관된 슬라이스들에서 정수 샘플 정밀도(integer sample precision)를 사용한다는 것을 지정한다. ph_fpel_mmvd_enabled_flag가 0과 동일한 것은 모션 벡터 차이를 사용한 병합 모드가 PH와 연관된 슬라이스들에서 분수 샘플 정밀도(fractional sample precision)를 사용할 수 있다는 것을 지정한다. 존재하지 않을 때, ph_fpel_mmvd_enabled_flag의 값은 0인 것으로 추론된다.
ph_disable_bdof_flag가 1과 동일한 것은 양방향 광학 흐름 인터 예측 기반 인터 양방향 예측이 PH와 연관된 슬라이스들에서 디스에이블된다는 것을 지정한다. ph_disable_bdof_flag가 0과 동일한 것은 양방향 광학 흐름 인터 예측 기반 인터 양방향 예측이 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과 동일한 것으로 추론된다.
ph_disable_dmvr_flag가 1과 동일한 것은 디코더 모션 벡터 개선 기반 인터 양방향 예측이 PH와 연관된 슬라이스들에서 디스에이블된다는 것을 지정한다. ph_disable_dmvr_flag가 0과 동일한 것은 디코더 모션 벡터 개선 기반 인터 양방향 예측이 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과 동일한 것으로 추론된다.
ph_disable_prof_flag가 1과 동일한 것은 광학 흐름을 사용한 예측 개선(prediction refinement with optical flow)이 PH와 연관된 슬라이스들에서 디스에이블된다는 것을 지정한다. ph_disable_prof_flag가 0과 동일한 것은 광학 흐름을 사용한 예측 개선이 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 pct00015
SliceQpY의 값은 -QpBdOffset 내지 +63(경계 포함)의 범위에 있어야 한다.
ph_joint_cbcr_sign_flag는, tu_joint_cbcr_residual_flag[ x0 ][ y0 ]가 1과 동일한 변환 유닛들에서, 양쪽 크로마 성분들의 동일 위치 잔차 샘플들이 반전된 부호들을 갖는지 여부를 지정한다. 변환 유닛에 대해 tu_joint_cbcr_residual_flag[ x0 ][ y0 ]이 1과 동일할 때, ph_joint_cbcr_sign_flag가 0과 동일한 것은 Cr(또는 Cb) 성분의 각각의 잔차 샘플의 부호가 동일 위치 Cb(또는 Cr) 잔차 샘플의 부호와 동일하다는 것을 지정하고, ph_joint_cbcr_sign_flag가 1과 동일한 것은 Cr(또는 Cb) 성분의 각각의 잔차 샘플의 부호가 동일 위치 Cb(또는 Cr) 잔차 샘플의 반전된 부호에 의해 주어진다는 것을 지정한다.
ph_sao_luma_enabled_flag가 1과 동일한 것은 SAO가 PH와 연관된 모든 슬라이스들에서의 루마 성분에 대해 인에이블된다는 것을 지정하고; ph_sao_luma_enabled_flag가 0과 동일한 것은 루마 성분에 대한 SAO가 PH와 연관된 하나, 또는 그 이상, 또는 모든 슬라이스들에 대해 디스에이블될 수 있다는 것을 지정한다. ph_sao_luma_enabled_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
ph_sao_chroma_enabled_flag가 1과 동일한 것은 SAO가 PH와 연관된 모든 슬라이스들에서의 크로마 성분에 대해 인에이블된다는 것을 지정하고; ph_sao_chroma_enabled_flag가 0과 동일한 것은 크로마 성분에 대한 SAO가 PH와 연관된 하나, 또는 그 이상, 또는 모든 슬라이스들에 대해 디스에이블될 수 있다는 것을 지정한다. ph_sao_chroma_enabled_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
ph_dep_quant_enabled_flag가 0과 동일한 것은 종속적 양자화가 현재 픽처에 대해 디스에이블된다는 것을 지정한다. ph_dep_quant_enabled_flag가 1과 동일한 것은 종속적 양자화가 현재 픽처에 대해 인에이블된다는 것을 지정한다. ph_dep_quant_enabled_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
pic_sign_data_hiding_enabled_flag가 0과 동일한 것은 부호 비트 은닉(sign bit hiding)이 현재 픽처에 대해 디스에이블된다는 것을 지정한다. pic_sign_data_hiding_enabled_flag가 1과 동일한 것은 부호 비트 은닉이 현재 픽처에 대해 인에이블된다는 것을 지정한다. pic_sign_data_hiding_enabled_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
ph_deblocking_filter_override_flag가 1과 동일한 것은 디블로킹 파라미터들이 PH에 존재한다는 것을 지정한다. ph_deblocking_filter_override_flag가 0과 동일한 것은 디블로킹 파라미터들이 PH에 존재하지 않는다는 것을 지정한다. 존재하지 않을 때, ph_deblocking_filter_override_flag의 값은 0과 동일한 것으로 추론된다.
ph_deblocking_filter_disabled_flag가 1과 동일한 것은 디블로킹 필터의 동작이 PH와 연관된 슬라이스들에 적용되지 않는다는 것을 지정한다. ph_deblocking_filter_disabled_flag가 0과 동일한 것은 디블로킹 필터의 동작이 PH와 연관된 슬라이스들에 적용된다는 것을 지정한다. ph_deblocking_filter_disabled_flag가 존재하지 않을 때, 이는 pps_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
ph_beta_offset_div2ph_tc_offset_div2는 PH와 연관된 슬라이스들에 대한 루마 성분에 적용되는 β 및 tC에 대한 디블로킹 파라미터 오프셋들(2로 나눈 값)을 지정한다. ph_beta_offset_div2 및 ph_tc_offset_div2의 값들은 양쪽 모두 -12 내지 12(경계 포함)의 범위에 있어야 한다. 존재하지 않을 때, ph_beta_offset_div2 및 ph_tc_offset_div2의 값들은, 제각기, pps_beta_offset_div2 및 pps_tc_offset_div2와 동일한 것으로 추론된다.
ph_cb_beta_offset_div2ph_cb_tc_offset_div2는 PH와 연관된 슬라이스들에 대한 Cb 성분에 적용되는 β 및 tC에 대한 디블로킹 파라미터 오프셋들(2로 나눈 값)을 지정한다. 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 성분에 적용되는 β 및 tC에 대한 디블로킹 파라미터 오프셋들(2로 나눈 값)을 지정한다. 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.2. SH 신택스 및 시맨틱스
최신 VVC 초안 텍스트에서, SH 신택스 및 시맨틱스는 다음과 같다:
Figure pct00016
Figure pct00017
Figure pct00018
Figure pct00019
Figure pct00020
cu_qp_delta_abs를 포함하는 코딩 유닛에 대한 루마 양자화 파라미터와 그의 예측 간의 차이를 지정하는 변수 CuQpDeltaVal은 0과 동일하게 설정된다. cu_chroma_qp_offset_flag를 포함하는 코딩 유닛에 대한 Qp′Cb, Qp′Cr, 및 Qp′CbCr 양자화 파라미터들의 각자의 값들을 결정할 때 사용될 값들을 지정하는 변수들 CuQpOffsetCb, CuQpOffsetCr, 및 CuQpOffsetCbCr 모두는 0과 동일하게 설정된다.
picture_header_in_slice_header_flag가 1과 동일한 것은 PH 신택스 구조가 슬라이스 헤더에 존재한다는 것을 지정한다. picture_header_in_slice_header_flag가 0과 동일한 것은 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과 동일할 때, 현재 픽처에서의 모든 코딩된 슬라이스들은 picture_header_in_slice_header_flag가 0과 동일해야 하고, 현재 PU는 PH NAL 유닛을 가져야 한다.
slice_subpic_id는 슬라이스를 포함하는 서브픽처의 서브픽처 ID를 지정한다. slice_subpic_id가 존재하는 경우, SubpicIdVal[ CurrSubpicIdx ]가 slice_subpic_id와 동일하도록 변수 CurrSubpicIdx의 값이 도출된다. 그렇지 않은 경우(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 내지 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 번째 CTB의 픽처 래스터 스캔 주소를 지정하는, 0 내지 NumCtusInCurrSlice - 1(경계 포함)의 범위에 있는 i에 대한, 리스트 CtbAddrInCurrSlice[ i ]는 다음과 같이 도출된다:
Figure pct00021
Figure pct00022
변수들 SubpicLeftBoundaryPos, SubpicTopBoundaryPos, SubpicRightBoundaryPos, 및 SubpicBotBoundaryPos는 다음과 같이 도출된다:
Figure pct00023
slice_type은 표 9에 따라 슬라이스의 코딩 유형을 지정한다.
표 9 - slice_type에 대한 이름 연관
Figure pct00024
존재하지 않을 때, 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 pct00025
- 그렇지 않은 경우(slice_type이 0(B) 또는 1(P)와 동일한 경우), 다음이 적용된다:
Figure pct00026
Figure pct00027
- 다음이 적용된다:
Figure pct00028
slice_alf_enabled_flag가 1과 동일한 것은 적응적 루프 필터가 인에이블되고 슬라이스에서의 Y, Cb, 또는 Cr 색상 성분에 적용될 수 있다는 것을 지정한다. slice_alf_enabled_flag가 0과 동일한 것은 적응적 루프 필터가 슬라이스에서의 모든 색상 성분들에 대해 디스에이블된다는 것을 지정한다. 존재하지 않을 때, slice_alf_enabled_flag의 값은 ph_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과 동일해야 한다.
slice_alf_chroma_idc가 0과 동일한 것은 적응적 루프 필터가 Cb 및 Cr 색상 성분들에 적용되지 않는다는 것을 지정한다. slice_alf_chroma_idc가 1과 동일한 것은 적응적 루프 필터가 Cb 색상 성분에 적용된다는 것을 나타낸다. slice_alf_chroma_idc가 2와 동일한 것은 적응적 루프 필터가 Cr 색상 성분에 적용된다는 것을 나타낸다. slice_alf_chroma_idc가 3과 동일한 것은 적응적 루프 필터가 Cb 및 Cr 색상 성분들에 적용된다는 것을 나타낸다. slice_alf_chroma_idc가 존재하지 않을 때, 이는 ph_alf_chroma_idc와 동일한 것으로 추론된다.
slice_alf_aps_id_chroma는 슬라이스의 크로마 성분이 참조하는 ALF APS의 adaptation_parameter_set_id를 지정한다. ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_alf_enabled_flag가 1과 동일하고 slice_alf_aps_id_chroma가 존재하지 않을 때, slice_alf_aps_id_chroma의 값은 ph_alf_aps_id_chroma의 값과 동일한 것으로 추론된다.
ALF_APS와 동일한 aps_params_type 및 slice_alf_aps_id_chroma와 동일한 adaptation_parameter_set_id를 갖는 APS NAL 유닛의 alf_chroma_filter_signal_flag의 값은 1과 동일해야 한다.
slice_cc_alf_cb_enabled_flag가 0과 동일한 것은 교차 성분 필터가 Cb 색상 성분에 적용되지 않는다는 것을 지정한다. slice_cc_alf_cb_enabled_flag가 1과 동일한 것은 교차 성분 필터가 인에이블되고 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과 동일해야 한다.
slice_cc_alf_cr_enabled_flag가 0과 동일한 것은 교차 성분 필터가 Cr 색상 성분에 적용되지 않는다는 것을 지정한다. slice_cc_alf_cb_enabled_flag가 1과 동일한 것은 교차 성분 적응적 루프 필터가 인에이블되고 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는 separate_colour_plane_flag가 1과 동일할 때 현재 슬라이스와 연관된 색상 평면을 식별해 준다. colour_plane_id의 값은 0 내지 2(경계 포함)의 범위에 있어야 한다. colour_plane_id의 값들 0, 1, 및 2는, 제각기, Y 평면, Cb 평면, 및 Cr 평면에 대응한다. colour_plane_id의 값 3은 ITU-T | ISO/IEC에 의해 향후 사용을 위해 예약되어 있다.
비고 1 - 하나의 픽처의 상이한 색상 평면들의 디코딩 프로세스들 사이에 종속성이 없다.
num_ref_idx_active_override_flag가 1과 동일한 것은 신택스 요소 num_ref_idx_active_minus1[ 0 ]이 P 및 B 슬라이스들에 대해 존재하고 신택스 요소 num_ref_idx_active_minus1[ 1 ]이 B 슬라이스들에 대해 존재한다는 것을 지정한다. num_ref_idx_active_override_flag가 0과 동일한 것은 신택스 요소들 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(경계 포함)의 범위에 있어야 한다.
0 또는 1과 동일한 i에 대해, 현재 슬라이스가 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 pct00029
Figure pct00030
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과 동일한 것으로 추론된다.
slice_collocated_from_l0_flag가 1과 동일한 것은 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 0으로부터 도출된다는 것을 지정한다. slice_collocated_from_l0_flag가 0과 동일한 것은 시간적 모션 벡터 예측에 사용되는 동일 위치 픽처가 참조 픽처 리스트 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 pct00031
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의 값보다 작거나 같아야 한다.
- 0 내지 NumRefIdxActive[ 0 ] - 1(경계 포함)의 범위에 있는 i에 대한 각각의 참조 픽처 인덱스 RefPicList[ 0 ][ i ]에 대해, 참조 픽처 인덱스에 적용되는 루마 가중치, 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의 값보다 작거나 같아야 한다.
- 0 내지 NumRefIdxActive[ 1 ] - 1(경계 포함)의 범위에 있는 i에 대한 각각의 참조 픽처 인덱스 RefPicList[ 1 ][ i ]에 대해, 참조 픽처 인덱스에 적용되는 루마 가중치, Cb 가중치, 및 Cr 가중치는, 제각기, LumaWeightL1[ i ], ChromaWeightL1[ 0 ][ i ], 및 ChromaWeightL1[ 1 ][ i ]이다.
slice_cb_qp_offset은 Qp′Cb 양자화 파라미터의 값을 결정할 때 pps_cb_qp_offset의 값에 가산될 차이를 지정한다. slice_cb_qp_offset의 값은 -12 내지 +12(경계 포함)의 범위에 있어야 한다. slice_cb_qp_offset이 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다. pps_cb_qp_offset + slice_cb_qp_offset의 값은 -12 내지 +12(경계 포함)의 범위에 있어야 한다.
slice_cr_qp_offset은 Qp′Cr 양자화 파라미터의 값을 결정할 때 pps_cr_qp_offset의 값에 가산될 차이를 지정한다. slice_cr_qp_offset의 값은 -12 내지 +12(경계 포함)의 범위에 있어야 한다. slice_cr_qp_offset이 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다. pps_cr_qp_offset + slice_cr_qp_offset의 값은 -12 내지 +12(경계 포함)의 범위에 있어야 한다.
slice_joint_cbcr_qp_offset은 Qp′CbCr의 값을 결정할 때 pps_joint_cbcr_qp_offset_value의 값에 가산될 차이를 지정한다. slice_joint_cbcr_qp_offset의 값은 -12 내지 +12(경계 포함)의 범위에 있어야 한다. slice_joint_cbcr_qp_offset이 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다. pps_joint_cbcr_qp_offset_value + slice_joint_cbcr_qp_offset의 값은 -12 내지 +12(경계 포함)의 범위에 있어야 한다.
cu_chroma_qp_offset_enabled_flag가 1과 동일한 것은 cu_chroma_qp_offset_flag가 변환 유닛 및 팔레트 코딩 신택스에 존재할 수 있다는 것을 지정한다. cu_chroma_qp_offset_enabled_flag가 0과 동일한 것은 cu_chroma_qp_offset_flag가 변환 유닛 또는 팔레트 코딩 신택스에 존재하지 않는다는 것을 지정한다. 존재하지 않을 때, cu_chroma_qp_offset_enabled_flag의 값은 0과 동일한 것으로 추론된다.
slice_sao_luma_flag가 1과 동일한 것은 SAO가 현재 슬라이스에서의 루마 성분에 대해 인에이블된다는 것을 지정한다. slice_sao_luma_flag가 0과 동일한 것은 SAO가 현재 슬라이스에서의 루마 성분에 대해 디스에이블된다는 것을 지정한다. slice_sao_luma_flag가 존재하지 않을 때, 이는 ph_sao_luma_enabled_flag와 동일한 것으로 추론된다.
slice_sao_chroma_flag가 1과 동일한 것은 SAO가 현재 슬라이스에서의 크로마 성분에 대해 인에이블된다는 것을 지정한다. slice_sao_chroma_flag가 0과 동일한 것은 SAO가 현재 슬라이스에서의 크로마 성분에 대해 디스에이블된다는 것을 지정한다. slice_sao_chroma_flag가 존재하지 않을 때, 이는 ph_sao_chroma_enabled_flag와 동일한 것으로 추론된다.
slice_deblocking_filter_override_flag가 1과 동일한 것은 디블로킹 파라미터들이 슬라이스 헤더에 존재한다는 것을 지정한다. slice_deblocking_filter_override_flag가 0과 동일한 것은 디블로킹 파라미터들이 슬라이스 헤더에 존재하지 않는다는 것을 지정한다. 존재하지 않을 때, slice_deblocking_filter_override_flag의 값은 ph_deblocking_filter_override_flag와 동일한 것으로 추론된다.
slice_deblocking_filter_disabled_flag가 1과 동일한 것은 디블로킹 필터의 동작이 현재 슬라이스에 적용되지 않는다는 것을 지정한다. slice_deblocking_filter_disabled_flag가 0과 동일한 것은 디블로킹 필터의 동작이 현재 슬라이스에 적용된다는 것을 지정한다. slice_deblocking_filter_disabled_flag가 존재하지 않을 때, 이는 ph_deblocking_filter_disabled_flag와 동일한 것으로 추론된다.
slice_beta_offset_div2slice_tc_offset_div2는 현재 슬라이스에 대한 루마 성분에 적용되는 β 및 tC에 대한 디블로킹 파라미터 오프셋들(2로 나눈 값)을 지정한다. 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 성분에 적용되는 β 및 tC에 대한 디블로킹 파라미터 오프셋들(2로 나눈 값)을 지정한다. 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_cr_beta_offset_div2slice_cr_tc_offset_div2는 현재 슬라이스에 대한 Cr 성분에 적용되는 β 및 tC에 대한 디블로킹 파라미터 오프셋들(2로 나눈 값)을 지정한다. 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 및 ph_cr_tc_offset_div2와 동일한 것으로 추론된다.
slice_ts_residual_coding_disabled_flag가 1과 동일한 것은 residual_coding( ) 신택스 구조가 현재 슬라이스에 대한 변환 스킵 블록의 잔차 샘플들을 파싱하는 데 사용된다는 것을 지정한다. slice_ts_residual_coding_disabled_flag가 0과 동일한 것은 residual_ts_coding( ) 신택스 구조가 현재 슬라이스에 대한 변환 스킵 블록의 잔차 샘플들을 파싱하는 데 사용된다는 것을 지정한다. slice_ts_residual_coding_disabled_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
slice_lmcs_enabled_flag가 1과 동일한 것은 크로마 스케일링을 사용한 루마 매핑이 현재 슬라이스에 대해 인에이블된다는 것을 지정한다. slice_lmcs_enabled_flag가 0과 동일한 것은 크로마 스케일링을 사용한 루마 매핑이 현재 슬라이스에 대해 인에이블되지 않는다는 것을 지정한다. slice_lmcs_enabled_flag가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
slice_scaling_list_present_flag가 1과 동일한 것은 현재 슬라이스에 사용되는 스케일링 리스트 데이터가 SCALING_APS와 동일한 aps_params_type 및 ph_scaling_list_aps_id와 동일한 adaptation_parameter_set_id를 갖는 참조된 스케일링 리스트 APS에 포함된 스케일링 리스트 데이터에 기초하여 도출된다는 것을 지정한다. slice_scaling_list_present_flag가 0과 동일한 것은 현재 픽처에 사용되는 스케일링 리스트 데이터가 7.4.3.21 절에서 지정되는 도출된 기본 스케일링 리스트 데이터라는 것을 지정한다. 존재하지 않을 때, slice_scaling_list_present_flag의 값은 0과 동일한 것으로 추론된다.
현재 슬라이스에서의 진입점 수를 지정하는 변수 NumEntryPoints는 다음과 같이 도출된다:
Figure pct00032
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 pct00033
마지막 서브세트(서브세트 인덱스가 NumEntryPoints와 동일함)는 코딩된 슬라이스 데이터의 나머지 바이트들로 구성된다.
sps_entropy_coding_sync_enabled_flag가 0과 동일하고 슬라이스가 하나 이상의 완전 타일을 포함할 때, 각각의 서브세트는 동일한 타일 내에 있는 슬라이스에서의 모든 CTU들의 모든 코딩된 비트들로 구성되어야 하고, 서브세트 수(즉, NumEntryPoints + 1의 값)는 슬라이스에서의 타일 수와 동일해야 한다.
sps_entropy_coding_sync_enabled_flag가 0과 동일하고 슬라이스가 단일 타일로부터의 CTU 행 서브세트를 포함할 때, NumEntryPoints는 0이어야 하고, 서브세트 수는 1이어야 한다. 서브세트는 슬라이스에서의 모든 CTU들의 모든 코딩된 비트들로 구성된다.
sps_entropy_coding_sync_enabled_flag가 1과 동일할 때, 0 내지 NumEntryPoints(경계 포함)의 범위에 있는 k에 대한 각각의 서브세트 k는 타일 내의 한 CTU 행에 있는 모든 CTU들의 모든 코딩된 비트들로 구성되어야 하고, 서브세트 수(즉, NumEntryPoints + 1의 값)는 슬라이스에서의 타일별(tile-specific) 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.3. 가중 예측 신택스 및 시맨틱스
최신 VVC 초안 텍스트에서, 가중 예측 신택스 및 시맨틱스는 다음과 같다:
Figure pct00034
Figure pct00035
luma_log2_weight_denom는 모든 루마 가중 인자들에 대한 분모의 밑이 2인 로그이다. luma_log2_weight_denom의 값은 0 내지 7(경계 포함)의 범위에 있어야 한다.
delta_chroma_log2_weight_denom는 모든 크로마 가중 인자들에 대한 분모의 밑이 2인 로그의 차이이다. delta_chroma_log2_weight_denom이 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
변수 ChromaLog2WeightDenom은 luma_log2_weight_denom + delta_chroma_log2_weight_denom과 동일한 것으로 도출되며, 그 값은 0 내지 7(경계 포함)의 범위에 있어야 한다.
num_l0_weights는 wp_info_in_ph_flag가 1과 동일할 때 참조 픽처 리스트 0에서의 엔트리들에 대해 시그널링되는 가중치 수를 지정한다. num_l0_weights의 값은 0 내지 num_ref_entries[ 0 ][ RplsIdx[ 0 ] ](경계 포함)의 범위에 있어야 한다.
wp_info_in_ph_flag가 1과 동일한 경우, 변수 NumWeightsL0은 num_l0_weights와 동일하게 설정된다. 그렇지 않은 경우(wp_info_in_ph_flag가 0과 동일한 경우), NumWeightsL0은 NumRefIdxActive[ 0 ]과 동일하게 설정된다.
luma_weight_l0_flag[ i ]가 1과 동일한 것은 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측의 루마 성분에 대한 가중 인자들이 존재한다는 것을 지정한다. luma_weight_l0_flag[ i ]가 0과 동일한 것은 이러한 가중 인자들이 존재하지 않는다는 것을 지정한다.
chroma_weight_l0_flag[ i ]가 1과 동일한 것은 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측의 크로마 예측 값들에 대한 가중 인자들이 존재한다는 것을 지정한다. chroma_weight_l0_flag[ i ]가 0과 동일한 것은 이러한 가중 인자들이 존재하지 않는다는 것을 지정한다. chroma_weight_l0_flag[ i ]가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
delta_luma_weight_l0[ i ]는 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측에 대해 루마 예측 값에 적용되는 가중 인자의 차이이다.
변수 LumaWeightL0[ i ]는 ( 1  <<  luma_log2_weight_denom ) + delta_luma_weight_l0[ i ]와 동일한 것으로 도출된다. luma_weight_l0_flag[ i ]가 1과 동일할 때, delta_luma_weight_l0[ i ]의 값은 -128 내지 127(경계 포함)의 범위에 있어야 한다. luma_weight_l0_flag[ i ]가 0과 동일할 때, LumaWeightL0[ i ]는 2luma_log2_weight_denom과 동일한 것으로 추론된다.
luma_offset_l0[ i ]는 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측에 대해 루마 예측 값에 적용되는 가법 오프셋(additive offset)이다. luma_offset_l0[ i ]의 값은 -128 내지 127(경계 포함)의 범위에 있어야 한다. luma_weight_l0_flag[ i ]가 0과 동일할 때, luma_offset_l0[ i ]는 0과 동일한 것으로 추론된다.
delta_chroma_weight_l0[ i ][ j ]는 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측에 대해 크로마 예측 값들에 적용되는 가중 인자의 차이이며, Cb의 경우 j는 0과 동일하고 Cr의 경우 j는 1과 동일하다.
변수 ChromaWeightL0[ i ][ j ]는 ( 1  <<  ChromaLog2WeightDenom ) + delta_chroma_weight_l0[ i ][ j ]와 동일한 것으로 도출된다. chroma_weight_l0_flag[ i ]가 1과 동일할 때, delta_chroma_weight_l0[ i ][ j ]의 값은 -128 내지 127(경계 포함)의 범위에 있어야 한다. chroma_weight_l0_flag[ i ]가 0과 동일할 때, ChromaWeightL0[ i ][ j ]는 2ChromaLog2WeightDenom과 동일한 것으로 추론된다.
delta_chroma_offset_l0[ i ][ j ]는 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측에 대해 크로마 예측 값들에 적용되는 가법 오프셋의 차이이며, Cb의 경우 j는 0과 동일하고 Cr의 경우 j는 1과 동일하다.
변수 ChromaOffsetL0[ i ][ j ]는 다음과 같이 도출된다:
Figure pct00036
delta_chroma_offset_l0[ i ][ j ]의 값은 -4 * 128 내지 4 * 127(경계 포함)의 범위에 있어야 한다. chroma_weight_l0_flag[ i ]가 0과 동일할 때, ChromaOffsetL0[ i ][ j ]는 0과 동일한 것으로 추론된다.
num_l1_weights는 wp_info_in_ph_flag가 1과 동일할 때 참조 픽처 리스트 1에서의 엔트리들에 대해 시그널링되는 가중치 수를 지정한다. num_l1_weights의 값은 0 내지 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ](경계 포함)의 범위에 있어야 한다.
wp_info_in_ph_flag가 1과 동일한 경우, 변수 NumWeightsL1은 num_l1_weights와 동일하게 설정된다. 그렇지 않은 경우(wp_info_in_ph_flag가 0과 동일한 경우), NumWeightsL1은 NumRefIdxActive[ 1 ]과 동일하게 설정된다.
luma_weight_l1_flag[ i ], chroma_weight_l1_flag[ i ], delta_luma_weight_l1[ i ], luma_offset_l1[ i ], delta_chroma_weight_l1[ i ][ j ], 및 delta_chroma_offset_l1[ i ][ j ]는, 제각기, luma_weight_l0_flag[ i ], chroma_weight_l0_flag[ i ], delta_luma_weight_l0[ i ], luma_offset_l0[ i ], delta_chroma_weight_l0[ i ][ j ] 및 delta_chroma_offset_l0[ i ][ j ]와 동일한 시맨틱스를 가지며, l0, L0, 리스트 0 및 List0은, 제각기, l1, L1, 리스트 1 및 List1로 대체된다.
변수 sumWeightL0Flags는, i = 0..NumRefIdxActive[ 0 ] - 1에 대해, luma_weight_l0_flag[ i ] + 2 * chroma_weight_l0_flag[ i ]의 합과 동일한 것으로 도출된다.
slice_type이 B와 동일할 때, 변수 sumWeightL1Flags는, i = 0..NumRefIdxActive[ 1 ] - 1에 대해, luma_weight_l1_flag[ i ] + 2 * chroma_weight_l1_flag[ i ]의 합과 동일한 것으로 도출된다.
slice_type이 P와 동일할 때, sumWeightL0Flags가 24보다 작거나 같아야 하고, slice_type이 B와 동일할 때, sumWeightL0Flags와 sumWeightL1Flags의 합이 24보다 작거나 같아야 한다는 것이 비트스트림 적합성의 요구 사항이다.
4. 개시된 기술적 해결책들에 의해 해결되는 기술적 문제들의 예들
PPS, PH, 및 SH 신택스에 대한 기존의 설계들은 다음과 같은 문제들이 있다:
1) 최신 VVC 초안 텍스트에서의 pred_weight_table( ) 신택스에서, wp_info_in_ph_flag가 1과 동일할 때, 심지어 pps_weighted_pred_flag가 1과 동일하지만 pps_weighted_bipred_flag가 0과 동일할 때에도 신택스 요소 num_l1_weights가 시그널링된다. 결과적으로, 동일한 조건 하에서, 신택스 요소 리스트 uma_weight_l1_flag[ i ]가 또한 시그널링되고, 신택스 요소 리스트들 luma_weight_l1_flag[ i ], chroma_weight_l1_flag[ i ], delta_luma_weight_l1[ i ], luma_offset_l1[ i ], delta_chroma_weight_l1[ i ][ j ], 및 delta_chroma_offset_l1[ i ][ j ]가 또한 시그널링될 수 있다. 그렇지만, pps_weighted_bipred_flag가 0과 동일할 때, 가중 예측이 B 슬라이스들에 적용되지 않으며, 따라서 모든 이러한 시그널링된 신택스 요소들은 쓸모가 없다.
2) wp_info_in_ph_flag가 1과 동일할 때(이 경우에 pps_weighted_pred_flag 및 pps_weighted_bipred_flag 중 적어도 하나가 1과 동일함), pred_weight_table( ) 신택스 구조는 PPS를 참조하는 픽처들의 PH 신택스 구조에 존재한다. 이 경우에, pps_weighted_pred_flag가 0과 동일할 때(이 경우에 pps_weighted_bipred_flag가 1과 동일함), 비록 신택스 요소 리스트 luma_weight_l0_flag[ i ]가 PH 신택스 구조에서 시그널링되지만, P 슬라이스들의 경우 가중 예측이 적용되지 않으며, 따라서 P 슬라이스들에 대한 신택스 요소 리스트 luma_weight_l0_flag[ i ]의 값들은 0과 동일한 것으로 추론되어야 한다. 유사하게, pps_weighted_bipred_flag가 0과 동일할 때(이 경우에 pps_weighted_pred_flag가 1과 동일함), 가중 예측이 B 슬라이스들에 적용되지 않기 때문에, B 슬라이스들에 대한 신택스 요소 리스트 luma_weight_l0_flag[ i ] 및 신택스 요소 리스트 luma_weight_l1_flag[ i ] 양쪽 모두는 0과 동일한 것으로 추론되어야 한다.
3) wp_info_in_ph_flag가 1과 동일할 때(이 경우에 pps_weighted_pred_flag 및 pps_weighted_bipred_flag 중 적어도 하나가 1과 동일함), pred_weight_table( ) 신택스 구조는 PPS를 참조하는 픽처들의 PH 신택스 구조에 존재한다. 이 경우에, 픽처가 B 슬라이스들을 갖지 않는 반면 동시에 pps_weighted_bipred_flag가 1과 동일한 경우, 참조 픽처 리스트 1에 대한 pred_weight_table( ) 신택스 구조에서의 모든 신택스 요소들은 쓸모가 없다.
5. 기술들 및 실시예들의 예들
위의 문제들을 해결하기 위해, 아래에 요약된 바와 같은 방법들이 개시된다. 본 발명들은 일반적인 개념을 설명하기 위한 예들로서 간주되어야 하며 좁은 의미로 해석되어서는 안된다. 게다가, 이러한 발명들은 개별적으로 적용될 수 있거나 임의의 방식으로 조합될 수 있다. 이하의 기술들 및 실시예들에서, 추가되거나 수정된 가장 관련성 있는 부분들은 밑줄이 그어진 굵은 기울임꼴 텍스트 로 나와 있으며, 가장 관련성 있는 제거된 부분들은 굵은 이중 대괄호로 묶여 강조 표시된다, 예를 들면, [[a]]는 "a"가 제거되었음을 나타낸다.
1. 가중 예측 관련 신택스 요소들의 시그널링에 관하여:
1) 제1 문제를 해결하기 위해, 참조 픽처 리스트 1에서의 엔트리들에 대한 가중치 수 및/또는 참조 픽처 리스트 1에서의 엔트리들에 대한 루마/크로마 가중치 수를 시그널링할지 여부는 B 슬라이스들에 대한 명시적 가중 예측의 인에이블에 의존할 수 있다.
a. 일 예에서, pred_weight_table( ) 신택스에서, 이하의 신택스:
Figure pct00037
는 다음과 같이 변경된다:
Figure pct00038
그리고 이하의 시맨틱스:
num_l1_weights는 wp_info_in_ph_flag가 1과 동일할 때 참조 픽처 리스트 1에서의 엔트리들에 대해 시그널링되는 가중치 수를 지정한다. num_l1_weights의 값은 0 내지 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ](경계 포함)의 범위에 있어야 한다.
wp_info_in_ph_flag가 1과 동일한 경우, 변수 NumWeightsL1은 num_l1_weights와 동일하게 설정된다. 그렇지 않은 경우(wp_info_in_ph_flag가 0과 동일한 경우), NumWeightsL1은 NumRefIdxActive[ 1 ]과 동일하게 설정된다.
는 다음과 같이 변경된다:
num_l1_weights pps_weighted_bipred_flag 및 wp_info_in_ph_flag 양쪽 모두가 1과 동일할 때 참조 픽처 리스트 1에서의 엔트리들에 대해 시그널링되는 가중치 수를 지정한다. num_l1_weights의 값은 0 내지 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ](경계 포함)의 범위에 있어야 한다.
변수 NumWeightsL1은 다음과 같이 도출된다:
Figure pct00039
2) 제2 문제를 해결하기 위해, 슬라이스 헤더 시맨틱스에서, luma_weight_l0_flag[ i ], chroma_weight_l0_flag[ i ], luma_weight_l1_flag[ i ], 및 chroma_weight_l1_flag[ i ]에 대한 이하의 추론들을 추가한다:
a. pps_weighted_pred_flag가 0과 동일하고 slice_type이 P와 동일할 때, 0 내지 NumRefIdxActive[ 0 ] - 1(경계 포함)의 범위에 있는 i의 각각의 값에 대해, luma_weight_l0_flag[ i ]의 값은 0과 동일한 것으로 추론되고, chroma_weight_l0_flag[ i ]의 값은 0과 동일한 것으로 추론된다.
b. pps_weighted_bipred_flag가 0과 동일하고 slice_type이 B와 동일할 때, 0 내지 NumRefIdxActive[ 0 ] - 1(경계 포함)의 범위에 있는 i의 각각의 값에 대해, luma_weight_l0_flag[ i ]의 값은 0과 동일한 것으로 추론되고, chroma_weight_l0_flag[ i ]의 값은 0과 동일한 것으로 추론된다.
c. 대안적으로, 게다가, pps_weighted_bipred_flag가 0과 동일하고 slice_type이 B와 동일할 때, 0 내지 NumRefIdxActive[ 1 ] - 1(경계 포함)의 범위에 있는 i의 각각의 값에 대해, luma_weight_l1_flag[ i ]의 값은 0과 동일한 것으로 추론되고, chroma_weight_10_flag[ i ]의 값은 0과 동일한 것으로 추론된다.
3) 제3 문제를 해결하기 위해, 이하의 대안적인 접근 방식들이 적용될 수 있다:
a. 위의 글머리 기호 항목 2.1이 적용되고, B 슬라이스들을 갖지 않는 픽처들의 경우, 인코더는 픽처들이 0과 동일한 pps_weighted_bipred_flag를 갖는 PPS들을 참조하도록 강제한다. 후반부는 이하의 제약을 추가하는 것에 의해 실현될 수 있다: B 슬라이스들을 포함하지 않는 픽처는 0과 동일한 pps_weighted_bipred_flag를 갖는 PPS만을 참조해야 한다.
b. B 슬라이스들을 갖지 않는 픽처들의 경우, 인코더는 픽처들이 0과 동일한 wp_info_in_ph_flag를 갖는 PPS들을 참조하도록 강제한다. 이것은 이하의 제약을 추가하는 것에 의해 실현될 수 있다: B 슬라이스들을 포함하지 않는 픽처는 0과 동일한 wp_info_in_ph_flag를 갖는 PPS만을 참조해야 한다.
c. B 슬라이스들을 갖지 않는 픽처들의 경우, 인코더는 pred_weight_table( ) 신택스 구조에서의 신택스 요소 num_l1_weights의 값이 0과 동일하도록 강제한다. 이것은 num_l1_weights의 시맨틱스의 일부로서 이하의 제약을 추가하는 것에 의해 실현될 수 있다: wp_info_in_ph_flag가 1과 동일하고 현재 픽처가 B 슬라이스들을 포함하지 않을 때, num_l1_weights의 값은 0과 동일해야 한다.
4) 명시적 가중 예측이 인에이블되어 있다는 표시는 하나의 플래그(one flag)를 사용하여 SPS에서 시그널링될 수 있다.
a. 대안적으로, 게다가, 이러한 1-플래그(one-flag) SPS 표시는 SPS에서의 P 및 B 슬라이스들에 대한 명시적 가중 예측의 표시들(즉, sps_weighted_pred_flag 및 sps_weighted_bipred_flag)의 시그널링에 조건을 부여하는 데 사용될 수 있다.
b. 대안적으로, 명시적 가중 예측에 대한 제약들을 나타내기 위해 하나 또는 다수의 제약 플래그가 일반 제약 정보 신택스에 추가될 수 있다.
i. 일 예에서, 예를 들면, no_explicit_weighted_prediction_constraint_flag라고 명명된 하나의 제약 플래그가 추가되고, 제약 플래그가 P 슬라이스들과 B 슬라이스들 양쪽 모두에 대한(또는 단지 P 슬라이스에 대한 또는 단지 B 슬라이스들에 대한) 명시적 가중 예측이 적용되지 않는다는 것을 나타낼 때, 대응하는 SPS 플래그(들)는 0과 동일해야 한다.
5) 명시적 가중 예측이 인에이블되어 있다는 표시는 하나의 플래그를 사용하여 PPS에서 시그널링될 수 있다.
a. 대안적으로, 게다가, 이러한 1-플래그 PPS 표시는 PPS에서의 P 및 B 슬라이스들에 대한 명시적 가중 예측의 표시들(즉, pps_weighted_pred_flag 및 pps_weighted_bipred_flag)의 시그널링에 조건을 부여하는 데 사용될 수 있다.
b. 대안적으로, 명시적 가중 예측에 대한 제약들을 나타내기 위해 하나 또는 다수의 제약 플래그가 일반 제약 정보 신택스에 추가될 수 있다.
i. 일 예에서, 예를 들면, no_explicit_weighted_prediction_constraint_flag라고 명명된 하나의 제약 플래그가 추가되고, 제약 플래그가 P 슬라이스들과 B 슬라이스들 양쪽 모두에 대한(또는 단지 P 슬라이스에 대한 또는 단지 B 슬라이스들에 대한) 명시적 가중 예측이 적용되지 않는다는 것을 나타낼 때, 대응하는 PPS 플래그(들)는 0과 동일해야 한다.
6) 명시적 가중 예측이 P 또는 B 슬라이스들에 적용된다는 표시들은 SPS 및 PPS에서 시그널링되는 대신에 픽처 헤더 또는 슬라이스 헤더에서 시그널링될 수 있다.
a. 일 예에서, 그러한 표시들을 픽처 헤더들에서 시그널링할지 슬라이스 헤더들에서 시그널링할지는 RPL이 어디에 존재하는지에 따를 수 있다, 즉 RPL 정보가 PH 신택스 구조에 존재하는지 SH 신택스 구조에 존재하는지에 의존할 수 있다(예를 들면, rpl_info_in_ph_flag의 값에 따를 수 있다).
b. 대안적으로, 게다가, 그러한 표시들을 시그널링할지 여부는 슬라이스 유형에 의존할 수 있다.
c. 대안적으로, 게다가, 그러한 표시들을 시그널링할지 여부는 현재 픽처가 인터 슬라이스들 또는 P 슬라이스들 또는 B 슬라이스들을 포함할 수 있는지에 의존할 수 있다.
2. 픽처가 B 슬라이스들을 포함하지 않는지 여부의 표시 및 일부 신택스 요소들의 시그널링을 스킵하기 위해 이 표시를 사용하는 것에 관하여:
1) 현재 픽처가 B 슬라이스들을 포함하지 않는지 여부에 대한 표시가 PH 신택스 구조에 추가될 수 있다.
a. 일 예에서, 이 표시는, 예를 들면, ph_b_slices_allowed_flag라고 명명된 플래그이고, ph_b_slices_allowed_flag가 1과 동일한 것은 픽처가 하나 이상의 B 슬라이스를 포함할 수 있다는 것을 지정하며, ph_b_slices_allowed_flag가 0과 동일한 것은 픽처가 B 슬라이스들을 포함하지 않는다는 것을 지정한다.
i. 대안적으로, 게다가, ph_inter_slice_allowed_flag가 1과 동일할 때에만 ph_b_slices_allowed_flag가 PH 신택스 구조에서 시그널링될 수 있다.
ii. 대안적으로, 게다가, ph_inter_slice_allowed_flag가 0과 동일할 때, ph_b_slices_allowed_flag의 값은 0과 동일한 것으로 추론될 수 있다.
b. 일 예에서, ph_b_slices_allowed_flag가 0과 동일할 때, ref_pic_lists( ) 신택스 및 ref_pic_list_struct( ) 신택스에서의 참조 픽처 리스트 1에 대한 신택스 요소들은 스킵될 수 있다.
c. 일 예에서, ph_b_slices_allowed_flag가 0과 동일할 때, PH 신택스 구조에서의 신택스 요소 mvd_l1_zero_flag는 스킵될 수 있다.
i. 대안적으로, 게다가, ph_b_slices_allowed_flag가 0과 동일할 때, mvd_l1_zero_flag의 값은 1과 동일한 것으로 추론될 수 있다.
d. 일 예에서, ph_b_slices_allowed_flag가 0과 동일할 때, 참조 픽처 리스트 1에 대한 pred_weight_table( ) 신택스에서의 신택스 요소 num_l1_weights는 물론 다른 파라미터들이 스킵될 수 있다.
i. 대안적으로, 게다가, ph_b_slices_allowed_flag가 0과 동일할 때, num_l1_weights의 값은 0과 동일한 것으로 추론될 수 있다.
e. 일 예에서, ph_b_slices_allowed_flag가 0과 동일할 때, SH 신택스에서의 신택스 요소 num_ref_idx_active_minus1[ 1 ]은 스킵될 수 있다.
i. 대안적으로, 게다가, ph_b_slices_allowed_flag가 0과 동일할 때, NumRefIdxActive[ 1 ]의 값은 0과 동일한 것으로 추론될 수 있다.
f. 일 예에서, ph_b_slices_allowed_flag가 0과 동일할 때, SH 신택스에서의 신택스 요소 slice_collocated_from_l0_flag는 스킵될 수 있다.
i. 대안적으로, 게다가, ph_b_slices_allowed_flag가 0과 동일할 때, slice_collocated_from_l0_flag의 값은 1과 동일한 것으로 추론될 수 있다.
6. 실시예들
아래는 VVC 사양에 적용될 수 있는 섹션 5에서 위에 요약된 본 발명의 양태들 중 일부에 대한 일부 예시적인 실시예들이다. 변경된 텍스트들은 JVET-Q2001-vC에서의 최신 VVC 텍스트를 기반으로 한다. 추가되거나 수정된 가장 관련성 있는 부분들은 밑줄이 그어진 굵은 기울임꼴 텍스트 로 나와 있으며, 가장 관련성 있는 제거된 부분들은 굵은 이중 대괄호로 묶여 강조 표시된다, 예를 들면, [[ a ]] 는 "a"가 제거되었음을 나타낸다. 본질적으로 편집에 관련된 것이고 따라서 강조 표시되지 않은 일부 다른 변경들이 있다.
6.1. 제1 실시예
이것은 섹션 5에서 위에 요약된 항목 1.1, 항목 1.1.a, 항목 1.2.a, 및 항목 1.2.b의 실시예이다.
7.3.7.2 가중 예측 파라미터들 신택스
Figure pct00040
Figure pct00041
7.4.8.2 가중 예측 파라미터들 시맨틱스
luma_log2_weight_denom는 모든 루마 가중 인자들에 대한 분모의 밑이 2인 로그이다. luma_log2_weight_denom의 값은 0 내지 7(경계 포함)의 범위에 있어야 한다.
delta_chroma_log2_weight_denom는 모든 크로마 가중 인자들에 대한 분모의 밑이 2인 로그의 차이이다. delta_chroma_log2_weight_denom이 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
변수 ChromaLog2WeightDenom은 luma_log2_weight_denom + delta_chroma_log2_weight_denom과 동일한 것으로 도출되며, 그 값은 0 내지 7(경계 포함)의 범위에 있어야 한다.
num_l0_weights는 wp_info_in_ph_flag가 1과 동일할 때 참조 픽처 리스트 0에서의 엔트리들에 대해 시그널링되는 가중치 수를 지정한다. num_l0_weights의 값은 0 내지 num_ref_entries[ 0 ][ RplsIdx[ 0 ] ](경계 포함)의 범위에 있어야 한다.
wp_info_in_ph_flag가 1과 동일한 경우, 변수 NumWeightsL0은 num_l0_weights와 동일하게 설정된다. 그렇지 않은 경우(wp_info_in_ph_flag가 0과 동일한 경우), NumWeightsL0은 NumRefIdxActive[ 0 ]과 동일하게 설정된다.
luma_weight_l0_flag[ i ]가 1과 동일한 것은 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측의 루마 성분에 대한 가중 인자들이 존재한다는 것을 지정한다. luma_weight_l0_flag[ i ]가 0과 동일한 것은 이러한 가중 인자들이 존재하지 않는다는 것을 지정한다.
chroma_weight_l0_flag[ i ]가 1과 동일한 것은 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측의 크로마 예측 값들에 대한 가중 인자들이 존재한다는 것을 지정한다. chroma_weight_l0_flag[ i ]가 0과 동일한 것은 이러한 가중 인자들이 존재하지 않는다는 것을 지정한다. chroma_weight_l0_flag[ i ]가 존재하지 않을 때, 이는 0과 동일한 것으로 추론된다.
delta_luma_weight_l0[ i ]는 RefPicList[ 0 ][ i ]를 사용하는 리스트 0 예측에 대해 루마 예측 값에 적용되는 가중 인자의 차이이다.
...
num_l1_weights pps_weighted_bipred_flag 및 wp_info_in_ph_flag 양쪽 모두가 [[]] 1과 동일할 때 참조 픽처 리스트 1에서의 엔트리들에 대해 시그널링되는 가중치 수를 지정한다. num_l1_weights의 값은 0 내지 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ](경계 포함)의 범위에 있어야 한다.
[[wp_info_in_ph_flag가 1과 동일한 경우, 변수 NumWeightsL1은 num_l1_weights와 동일하게 설정된다. 그렇지 않은 경우(wp_info_in_ph_flag가 0과 동일한 경우), NumWeightsL1은 NumRefIdxActive[ 1 ]과 동일하게 설정된다.]]
변수 NumWeightsL1은 다음과 같이 도출된다:
Figure pct00042
...
7.4.8.1 일반 슬라이스 헤더 시맨틱스
...
slice_qp_delta는 코딩 유닛 계층에서 CuQpDeltaVal의 값에 의해 수정될 때까지 슬라이스에서의 코딩 블록들에 사용될 QpY의 초기 값을 지정한다.
qp_delta_info_in_ph_flag가 0과 동일할 때, 슬라이스에 대한 QpY 양자화 파라미터(SliceQpY)의 초기 값은 다음과 같이 도출된다:
Figure pct00043
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의 값보다 작거나 같아야 한다.
- 0 내지 NumRefIdxActive[ 0 ] - 1(경계 포함)의 범위에 있는 i에 대한 각각의 참조 픽처 인덱스 RefPicList[ 0 ][ i ]에 대해, 참조 픽처 인덱스에 적용되는 루마 가중치, 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의 값보다 작거나 같아야 한다.
- 0 내지 NumRefIdxActive[ 1 ] - 1(경계 포함)의 범위에 있는 i에 대한 각각의 참조 픽처 인덱스 RefPicList[ 1 ][ i ]에 대해, 참조 픽처 인덱스에 적용되는 루마 가중치, Cb 가중치, 및 Cr 가중치는, 제각기, LumaWeightL1[ i ], ChromaWeightL1[ 0 ][ i ], 및 ChromaWeightL1[ 1 ][ i ]이다.
이하의 조건들 중 어느 하나가 참일 때, 0 내지 NumRefIdxActive[ 0 ] - 1(경계 포함)의 범위에 있는 i의 각각의 값에 대해, luma_weight_l0_flag[ i ] 및 chroma_weight_l0_flag[ i ]의 값들은 양쪽 모두 0과 동일한 것으로 추론된다:
- wp_info_in_ph_flag의 값이 1과 동일하고, pps_weighted_pred_flag가 0과 동일하며, slice_type이 P와 동일하다.
- wp_info_in_ph_flag의 값이 1과 동일하고, pps_weighted_bipred_flag가 0과 동일하며, slice_type이 B와 동일하다.
...[ 표준들 문서로부터의 나머지 텍스트를 유지함 ]
도 1은 본 명세서에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(1000)을 도시하는 블록 다이어그램이다. 다양한 구현들은 시스템(1000)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(1000)은 비디오 콘텐츠를 수신하기 위한 입력(1002)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들면, 8 또는 10 비트 다중 성분 픽셀 값들로 수신될 수 있거나, 또는 압축된 또는 인코딩된 포맷으로 되어 있을 수 있다. 입력(1002)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(1000)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(1004)를 포함할 수 있다. 코딩 컴포넌트(1004)는 비디오의 코딩된 표현을 생성하기 위해 입력(1002)으로부터 코딩 컴포넌트(1004)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기술들이라고 불린다. 코딩 컴포넌트(1004)의 출력은 저장되거나, 컴포넌트(1006)에 의해 표현된 바와 같은, 연결된 통신을 통해 전송될 수 있다. 입력(1002)에 수신되는 비디오의 저장되거나 통신되는 비트스트림 표현(또는 코딩된 표현)은 디스플레이 인터페이스(1010)로 송신되는 픽셀 값들 또는 디스플레이 가능 비디오를 생성하기 위해 컴포넌트(1008)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 게다가, 특정 비디오 프로세싱 동작들이 "코딩" 동작들 또는 툴들로 지칭되지만, 코딩 툴들 또는 동작들이 인코더에서 사용되고 코딩의 결과들을 반대로 하는 대응하는 디코딩 툴들 또는 동작들은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 스토리지 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명되는 기술들은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 폰들, 랩톱들, 스마트폰들 또는 다른 디바이스들과 같은 다양한 전자 디바이스들에서 구체화될 수 있다.
도 2는 비디오 프로세싱 장치(2000)의 블록 다이어그램이다. 장치(2000)는 본 명세서에서 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(2000)는 스마트폰, 태블릿, 컴퓨터, IoT(Internet of Things) 수신기 등에 구체화될 수 있다. 장치(2000)는 하나 이상의 프로세서(2002), 하나 이상의 메모리(2004) 및 비디오 프로세싱 하드웨어(2006)를 포함할 수 있다. 프로세서(들)(2002)는 본 문서에서(예를 들면, 도 6 내지 도 10에서) 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(2004)는 본 명세서에서 설명된 방법들 및 기술들을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(2006)는, 하드웨어 회로로, 본 문서에서 설명된 일부 기술들을 구현하는 데 사용될 수 있다. 일부 실시예들에서, 하드웨어(2006)는 부분적으로 또는 전체적으로 프로세서들(2002), 예를 들면, 그래픽 프로세서 내에 있을 수 있다.
도 3은 본 개시내용의 기술들을 활용할 수 있는 예시적인 비디오 코딩 시스템(100)을 예시하는 블록 다이어그램이다. 도 3에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 비디오 인코딩 디바이스라고 지칭될 수 있는 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성한다. 비디오 디코딩 디바이스라고 지칭될 수 있는 목적지 디바이스(120)는 소스 디바이스(110)에 의해 생성되는 인코딩된 비디오 데이터를 디코딩할 수 있다. 소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114), 및 입출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 디바이스와 같은 소스, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 그러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처들 및 연관된 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 연관된 데이터는 시퀀스 파라미터 세트들, 픽처 파라미터 세트들, 및 다른 신택스 구조들을 포함할 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 I/O 인터페이스(116)를 통해 네트워크(130a)를 거쳐 목적지 디바이스(120)로 곧바로 전송될 수 있다. 인코딩된 비디오 데이터는 또한 목적지 디바이스(120)에 의한 액세스를 위해 저장 매체/서버(130b)에 저장될 수 있다.
목적지 디바이스(120)는 I/O 인터페이스(126), 비디오 디코더(124), 및 디스플레이 디바이스(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 디바이스(110) 또는 저장 매체/서버(130b)로부터 인코딩된 비디오 데이터를 취득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 디바이스(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(122)는 목적지 디바이스(120)와 통합될 수 있거나, 또는 외부 디스플레이 디바이스와 인터페이싱하도록 구성된 목적지 디바이스(120)의 외부에 있을 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는, HEVC(High Efficiency Video Coding) 표준, VVM(Versatile Video Coding) 표준 및 다른 현재 및/또는 추가 표준들과 같은, 비디오 압축 표준에 따라 작동할 수 있다.
도 4는 도 3에 예시된 시스템(100) 내의 비디오 인코더(114)일 수 있는, 비디오 인코더(200)의 예를 예시하는 블록 다이어그램이다.
비디오 인코더(200)는 본 개시내용의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 4의 예에서, 비디오 인코더(200)는 복수의 기능 컴포넌트들을 포함한다. 본 개시내용에서 설명된 기술들은 비디오 인코더(200)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시내용에서 설명된 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다.
비디오 인코더(200)의 기능 컴포넌트들은 분할 유닛(201), 모드 선택 유닛(203), 모션 추정 유닛(204), 모션 보상 유닛(205) 및 인트라 예측 유닛(206)을 포함할 수 있는 예측 유닛(202), 잔차 생성 유닛(207), 변환 유닛(208), 양자화 유닛(209), 역양자화 유닛(210), 역변환 유닛(211), 재구성 유닛(212), 버퍼(213), 및 엔트로피 인코딩 유닛(214)을 포함할 수 있다.
다른 예들에서, 비디오 인코더(200)는 더 많은, 더 적은 또는 상이한 기능 컴포넌트들을 포함할 수 있다. 예에서, 예측 유닛(202)은 인트라 블록 복사(intra block copy, IBC) 유닛을 포함할 수 있다. IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드에서 예측을 수행할 수 있다.
게다가, 모션 추정 유닛(204) 및 모션 보상 유닛(205)과 같은 일부 컴포넌트들은 고도로 통합될 수 있지만, 설명 목적으로 도 4의 예에서 개별적으로 표현되어 있다.
분할 유닛(201)은 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택 유닛(203)은, 예를 들어, 오차 결과들에 기초하여, 코딩 모드들, 즉 인트라(intra) 또는 인터(inter) 중 하나를 선택할 수 있고, 결과적인 인트라 코딩된 또는 인터 코딩된 블록을 잔차 생성 유닛(207)에 제공하여 잔차 블록 데이터를 생성하도록 하고 재구성 유닛(212)에 제공하여 참조 픽처로서 사용하기 위한 인코딩된 블록을 재구성하도록 할 수 있다. 일부 예들에서, 모드 선택 유닛(203)은 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(combination of intra and inter predication) 모드를 선택할 수 있다. 모드 선택 유닛(203)은 또한 인터 예측의 경우에 블록에 대한 모션 벡터의 해상도(예를 들면, 서브픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 대한 인터 예측을 수행하기 위해, 모션 추정 유닛(204)은 버퍼(213)로부터의 하나 이상의 참조 프레임을 현재 비디오 블록과 비교하는 것에 의해 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 픽처들의 디코딩된 샘플들 및 모션 정보에 기초하여 현재 비디오 블록에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)은, 예를 들어, 현재 비디오 블록이 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지에 따라, 현재 비디오 블록에 대해 상이한 동작들을 수행할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 단방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1의 참조 픽처들을 탐색할 수 있다. 모션 추정 유닛(204)은 이어서 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1 내의 참조 픽처를 나타내는 참조 인덱스 및 현재 비디오 블록과 참조 비디오 블록 사이의 공간적 변위를 나타내는 모션 벡터를 생성할 수 있다. 모션 추정 유닛(204)은 참조 인덱스, 예측 방향 지시자, 및 모션 벡터를 현재 비디오 블록의 모션 정보로서 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보가 나타내는 참조 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대해 양방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 내의 참조 픽처들을 탐색할 수 있으며, 또한 현재 비디오 블록에 대한 다른 참조 비디오 블록에 대해 리스트 1 내의 참조 픽처들을 탐색할 수 있다. 모션 추정 유닛(204)은 이어서 참조 비디오 블록들을 포함하는 리스트 0 및 리스트 1 내의 참조 픽처들을 나타내는 참조 인덱스들 및 참조 비디오 블록들과 현재 비디오 블록 사이의 공간적 변위들을 나타내는 모션 벡터들을 생성할 수 있다. 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보로서 참조 인덱스들 및 현재 비디오 블록의 모션 벡터들을 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보가 나타내는 참조 비디오 블록들에 기초하여 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 디코더의 디코딩 프로세싱을 위한 모션 정보의 전체 세트를 출력할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오에 대한 모션 정보의 전체 세트를 출력하지 않을 수 있다. 오히려, 모션 추정 유닛(204)은 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보가 이웃 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
일 예에서, 모션 추정 유닛(204)은, 현재 비디오 블록과 연관된 신택스 구조에, 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(300)에 알려주는 값을 표시할 수 있다.
다른 예에서, 모션 추정 유닛(204)은, 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는 현재 비디오 블록의 모션 벡터와 표시된 비디오 블록의 모션 벡터 간의 차이를 나타낸다. 비디오 디코더(300)는 표시된 비디오 블록의 모션 벡터 및 모션 벡터 차이를 이용하여 현재 비디오 블록의 모션 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측적 시그널링 기술의 두 가지 예는 AMVP(advanced motion vector predication) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대해 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 대해 인트라 예측을 수행할 때, 인트라 예측 유닛(206)은 동일한 픽처 내의 다른 비디오 블록들의 디코딩된 샘플들에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소들을 포함할 수 있다.
잔차 생성 유닛(207)은 현재 비디오 블록으로부터 현재 비디오 블록의 예측된 비디오 블록(들)을 차감(예를 들면, 마이너스 부호로 표시됨)하는 것에 의해 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록 내의 샘플들의 상이한 샘플 성분들에 대응하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 예를 들어, 스킵 모드에서 현재 비디오 블록에 대한 현재 비디오 블록의 잔차 데이터가 없을 수 있고, 잔차 생성 유닛(207)은 차감 동작을 수행하지 않을 수 있다.
변환 프로세싱 유닛(208)은 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환을 적용하는 것에 의해 현재 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록을 생성할 수 있다.
변환 프로세싱 유닛(208)이 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후에, 양자화 유닛(209)은 현재 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(210) 및 역변환 유닛(211)은, 제각기, 변환 계수 비디오 블록에 역양자화 및 역변환을 적용하여 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 재구성할 수 있다. 재구성 유닛(212)은 버퍼(213)에 저장할 현재 블록과 연관된 재구성된 비디오 블록을 생성하기 위해 예측 유닛(202)에 의해 생성되는 하나 이상의 예측된 비디오 블록으로부터의 대응하는 샘플들에 재구성된 잔차 비디오 블록을 가산할 수 있다.
재구성 유닛(212)이 비디오 블록을 재구성한 후에, 비디오 블록에서의 비디오 블로킹 아티팩트를 감소시키기 위해 루프 필터링 동작이 수행될 수 있다.
엔트로피 인코딩 유닛(214)은 비디오 인코더(200)의 다른 기능 컴포넌트들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)이 데이터를 수신할 때, 엔트로피 인코딩 유닛(214)은 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하기 위해 하나 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
도 5는 도 3에 예시된 시스템(100) 내의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 예시하는 블록 다이어그램이다.
비디오 디코더(300)는 본 개시의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 디코더(300)는 복수의 기능 컴포넌트들을 포함한다. 본 개시내용에서 설명된 기술들은 비디오 디코더(300)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시내용에서 설명된 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다.
도 5의 예에서, 비디오 디코더(300)는 엔트로피 디코딩 유닛(301), 모션 보상 유닛(302), 인트라 예측 유닛(303), 역양자화 유닛(304), 역변환 유닛(305), 및 재구성 유닛(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)(도 4)와 관련하여 설명된 인코딩 패스(encoding pass)와 일반적으로 반대인 디코딩 패스(decoding pass)를 수행할 수 있다.
엔트로피 디코딩 유닛(301)은 인코딩된 비트스트림을 검색할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들면, 비디오 데이터의 인코딩된 블록들)를 포함할 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상 유닛(302)은 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상 유닛(302)은, 예를 들어, AMVP 및 병합 모드를 수행하는 것에 의해 그러한 정보를 결정할 수 있다.
모션 보상 유닛(302)은 모션 보상된 블록들을 생성할 수 있으며, 어쩌면 보간 필터들에 기초하여 보간을 수행할 수 있다. 사용될 보간 필터들에 대한 식별자들이 서브픽셀 정밀도와 함께 신택스 요소들에 포함될 수 있다.
모션 보상 유닛(302)은 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더(20)에 의해 사용되는 바와 같이 보간 필터들을 사용할 수 있다. 모션 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터들을 결정할 수 있고 예측 블록들을 생성하기 위해 보간 필터들을 사용할 수 있다.
모션 보상 유닛(302)은 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록들의 크기들, 인코딩된 비디오 시퀀스의 픽처의 각각의 매크로블록이 어떻게 분할되는지를 기술하는 분할 정보, 각각의 분할이 어떻게 인코딩되는지를 나타내는 모드들, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임(및 참조 프레임 리스트), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 결정하기 위해 신택스 정보의 일부를 사용할 수 있다.
인트라 예측 유닛(303)은 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해, 예를 들어, 비트스트림에서 수신되는 인트라 예측 모드들을 사용할 수 있다. 역양자화 유닛(303)은 비트스트림에서 제공되고 엔트로피 디코딩 유닛(301)에 의해 디코딩되는 양자화된 비디오 블록 계수들을 역양자화(inverse quantize), 즉 양자화 해제(de-quantize)한다. 역변환 유닛(303)은 역변환을 적용한다.
재구성 유닛(306)은 디코딩된 블록들을 형성하기 위해 모션 보상 유닛(202) 또는 인트라 예측 유닛(303)에 의해 생성되는 대응하는 예측 블록들과 잔차 블록들을 합산할 수 있다. 원하는 경우, 디코딩된 블록들을 필터링하여 블록성 아티팩트(blockiness artifact)를 제거하기 위해 디블로킹 필터가 또한 적용될 수 있다. 디코딩된 비디오 블록들은 이어서 버퍼(307)에 저장되고, 버퍼(307)는 후속하는 모션 보상/인트라 예측을 위한 참조 블록들을 제공하고 또한 디스플레이 디바이스 상에 제시할 디코딩된 비디오를 생성한다.
도 6 내지 도 10은, 예를 들어, 도 1 내지 도 5에 도시된 실시예들에서 위에서 설명된 기술적 해결책을 구현할 수 있는 예시적인 방법들을 도시한다.
도 6은 예시적인 비디오 프로세싱 방법(600)의 플로차트를 도시한다. 방법(600)은, 동작(610)에서, 규칙에 따라, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 픽처 파라미터 세트(PPS)의 제1 신택스 요소의 값 및 PPS의 제2 신택스 요소의 값이 제3 신택스 요소가 비트스트림에 포함되는지 여부를 제어한다는 것을 지정하고, 제1 신택스 요소는 PPS를 참조하는 비트스트림에서의 코딩된 픽처들의 양방향 슬라이스들(B 슬라이스들)에 대해 가중 예측이 인에이블되는지 여부를 나타내고, 제2 신택스 요소는 가중 예측에 관련된 정보가 PPS를 참조하는 코딩된 픽처들의 픽처 헤더들 또는 슬라이스 헤더들에 존재하는지 여부를 나타내며, 제3 신택스 요소는 현재 슬라이스의 참조 픽처 리스트 1과 연관된 가중치 수를 나타낸다.
도 7은 예시적인 비디오 프로세싱 방법(700)의 플로차트를 도시한다. 방법(700)은, 동작(710)에서, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 예측 가중치들이 현재 슬라이스의 슬라이스 헤더에 포함되는지 여부를 나타내는 복수의 신택스 요소들의 값들이 현재 슬라이스의 슬라이스 유형 및 현재 픽처에 의해 참조되는 PPS에 포함된 제1 플래그의 값에 기초하여 추론된다는 것을 지정하는 포맷 규칙을 준수한다.
도 8은 예시적인 비디오 프로세싱 방법(800)의 플로차트를 도시한다. 방법(800)은, 동작(810)에서, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 한 세트의 픽처들의 슬라이스들에 대해 인에이블되는 명시적 가중 예측에 대한 제약들을 나타내는 하나 이상의 제약 플래그를 포함하는 일반 제약 정보 신택스 구조가 존재한다는 것을 지정하는 포맷 규칙을 준수한다.
도 9는 예시적인 비디오 프로세싱 방법(900)의 플로차트를 도시한다. 방법(900)은, 동작(910)에서, 규칙에 따라, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 한 세트의 픽처들의 슬라이스들에 대해 인에이블되는 명시적 가중 예측에 대한 제약들을 나타내는 하나 이상의 제약 플래그가 현재 슬라이스와 연관된 파라미터 세트 또는 헤더에 포함된다는 것을 지정한다.
도 10은 예시적인 비디오 프로세싱 방법(1000)의 플로차트를 도시한다. 방법(1000)은, 동작(1010)에서, 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 현재 픽처가 양방향 슬라이스(B 슬라이스)를 제외하는지 여부의 표시가 현재 픽처와 연관된 픽처 헤더 신택스 구조에 포함된다는 것을 지정하는 포맷 규칙을 준수한다.
일부 실시예들에 의해 선호되는 해결책들의 목록이 다음에 제공된다.
A1. 비디오 프로세싱 방법으로서, 규칙에 따라, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 픽처 파라미터 세트(PPS)의 제1 신택스 요소의 값 및 PPS의 제2 신택스 요소의 값이 제3 신택스 요소가 비트스트림에 포함되는지 여부를 제어한다는 것을 지정하고, 제1 신택스 요소는 PPS를 참조하는 비트스트림에서의 코딩된 픽처들의 양방향 슬라이스들(B 슬라이스들)에 대해 가중 예측이 인에이블되는지 여부를 나타내고, 제2 신택스 요소는 가중 예측에 관련된 정보가 PPS를 참조하는 코딩된 픽처들의 픽처 헤더들 또는 슬라이스 헤더들에 존재하는지 여부를 나타내며, 제3 신택스 요소는 현재 슬라이스의 참조 픽처 리스트 1과 연관된 가중치 수를 나타내는, 방법.
A2. 해결책 A1에 있어서, 제1 신택스 요소는 pps_weighted_bipred_flag이고, 제2 신택스 요소는 wp_info_in_ph_flag이며, 제3 신택스 요소는 num_l1_weights인, 방법.
A3. 해결책 A1 또는 해결책 A2에 있어서, 제1 신택스 요소가 0과 동일한 것은 PPS를 참조하는 코딩된 픽처들의 B 슬라이스들에 대해 가중 예측이 디스에이블된다는 것을 나타내는, 방법.
A4. 해결책 A1 또는 해결책 A2에 있어서, 제1 신택스 요소가 1과 동일한 것은 PPS를 참조하는 코딩된 픽처들의 B 슬라이스들에 대해 가중 예측이 인에이블된다는 것을 나타내는, 방법.
A5. 해결책 A1 또는 해결책 A2에 있어서, 시퀀스 파라미터 세트(SPS)에 포함되는 제4 신택스 요소가 0과 동일할 때 제1 신택스 요소는 0과 동일한, 방법.
A6. 해결책 A5에 있어서, 제4 신택스 요소는 sps_weighted_bipred_flag인, 방법.
A7. 해결책 A1 또는 해결책 A2에 있어서, 제1 신택스 요소가 0과 동일한 것은 참조 픽처 리스트 1과 연관된 가중치 수가 현재 슬라이스의 슬라이스 헤더에 포함되지 않는다는 것을 나타내는, 방법.
A8. 해결책 A1 또는 해결책 A2에 있어서, 제1 신택스 요소가 1과 동일하고 제2 신택스 요소가 1과 동일한 것은 참조 픽처 리스트 1과 연관된 가중치 수가 현재 슬라이스의 슬라이스 헤더에 포함된다는 것을 나타내는, 방법.
A9. 해결책 A1 내지 해결책 A8 중 어느 한 해결책에 있어서, 변환은 비트스트림으로부터 비디오를 디코딩하는 것을 포함하는, 방법.
A10. 해결책 A1 내지 해결책 A8 중 어느 한 해결책에 있어서, 변환은 비디오를 비트스트림으로 인코딩하는 것을 포함하는, 방법.
A11. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로서, 해결책 A1 내지 해결책 A8 중 어느 하나 이상의 해결책에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하는, 방법.
A12. 비디오 프로세싱 장치로서, 해결책 A1 내지 해결책 A11 중 어느 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 프로세싱 장치.
A13. 명령어들이 저장된 컴퓨터 판독 가능 매체로서, 명령어들은, 실행될 때, 프로세서로 하여금 해결책 A1 내지 해결책 A11 중 하나 이상의 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 판독 가능 매체.
A14. 컴퓨터 판독 가능 매체로서, 해결책 A1 내지 해결책 A11 중 어느 하나 이상의 해결책에 따라 생성되는 비트스트림을 저장하는, 컴퓨터 판독 가능 매체.
A15. 비트스트림을 저장하기 위한 비디오 프로세싱 장치로서, 비디오 프로세싱 장치는 해결책 A1 내지 해결책 A11 중 어느 하나 이상의 해결책에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치.
일부 실시예들에 의해 선호되는 해결책들의 다른 목록이 다음에 제공된다.
B1. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 예측 가중치들이 현재 슬라이스의 슬라이스 헤더에 포함되는지 여부를 나타내는 복수의 신택스 요소들의 값들이 현재 슬라이스의 슬라이스 유형 및 현재 픽처에 의해 참조되는 픽처 파라미터 세트(PPS)에 포함된 제1 플래그의 값에 기초하여 추론된다는 것을 지정하는, 방법.
B2. 해결책 B1에 있어서, 복수의 신택스 요소들은 현재 슬라이스의 참조 픽처 리스트 0과 연관된 루마 가중치 수를 나타내는 제1 신택스 요소, 현재 슬라이스의 참조 픽처 리스트 0과 연관된 크로마 가중치 수를 나타내는 제2 신택스 요소, 현재 슬라이스의 참조 픽처 리스트 1과 연관된 루마 가중치 수를 나타내는 제3 신택스 요소, 및 현재 슬라이스의 참조 픽처 리스트 1과 연관된 크로마 가중치 수를 나타내는 제4 신택스 요소를 포함하는, 방법
B3. 해결책 B2에 있어서, 제1 신택스 요소는 luma_weight_l0_flag[ i ]이고, 제2 신택스 요소는 chroma_weight_l0_flag[ i ]이며, 제3 신택스 요소는 luma_weight_l1_flag[ i ]이고, 제4 신택스 요소는 chroma_weight_l0_flag[ i ]이며, i는 음이 아닌 정수인, 방법.
B4. 해결책 B2 또는 해결책 B3에 있어서, 제1 플래그는 PPS를 참조하는 픽처들에 대해 가중 예측이 인에이블되는지 여부를 나타내고, 제1 플래그가 0과 동일하고 슬라이스 유형이 단방향 예측 슬라이스(P 슬라이스)인 것으로 인해 제1 신택스 요소 및 제2 신택스 요소는 0으로 추론되는, 방법.
B5. 해결책 B4에 있어서, 제1 플래그는 pps_weighted_pred_flag인, 방법.
B6. 해결책 B2 또는 해결책 B3에 있어서, 제1 플래그는 PPS를 참조하는 픽처들에 대해 가중 양방향 예측이 인에이블되는지 여부를 나타내고, 제1 플래그가 0과 동일하고 슬라이스 유형이 양방향 슬라이스(B 슬라이스)인 것으로 인해 제1 신택스 요소 및 제2 신택스 요소는 0으로 추론되는, 방법.
B7. 해결책 B2 또는 해결책 B3에 있어서, 제1 플래그는 PPS를 참조하는 픽처들에 대해 가중 양방향 예측이 인에이블되는지 여부를 나타내고, 제1 플래그가 0과 동일하고 슬라이스 유형이 양방향 슬라이스(B 슬라이스)인 것으로 인해 제3 신택스 요소 및 제2 신택스 요소는 0으로 추론되는, 방법.
B8. 해결책 B6 또는 해결책 B7에 있어서, 제1 플래그는 pps_weighted_bipred_flag인, 방법.
B9. 해결책 B6 내지 해결책 B8 중 어느 한 해결책에 있어서, 현재 픽처가 B 슬라이스들을 제외하는 것으로 인해 현재 픽처는 제1 플래그가 0과 동일한 PPS를 참조하는, 방법.
B10. 해결책 B6 내지 해결책 B8 중 어느 한 해결책에 있어서, 현재 픽처가 B 슬라이스들을 제외하는 것으로 인해 현재 픽처는 제2 플래그가 0과 동일한 PPS를 참조하는, 방법.
B11. 해결책 B6 내지 해결책 B8 중 어느 한 해결책에 있어서, 제2 플래그가 0과 동일하고 현재 픽처가 B 슬라이스들을 제외하는 것으로 인해 현재 슬라이스의 참조 픽처 리스트 1과 연관된 가중치 수를 나타내는 신택스 요소의 값은 0인, 방법.
B12. 해결책 B10 또는 해결책 B11에 있어서, 제2 플래그는 가중 예측에 관련된 정보가 PPS를 참조하는 픽처들의 픽처 헤더들 또는 슬라이스 헤더들에 존재하는지 여부를 나타내는, 방법.
B13. 해결책 B10 내지 해결책 B12 중 어느 한 해결책에 있어서, 제2 플래그는 wp_info_in_ph_flag인, 방법.
B14. 해결책 B1 내지 해결책 B13 중 어느 한 해결책에 있어서, 변환은 비트스트림으로부터 비디오를 디코딩하는 것을 포함하는, 방법.
B15. 해결책 B1 내지 해결책 B13 중 어느 한 해결책에 있어서, 변환은 비디오를 비트스트림으로 인코딩하는 것을 포함하는, 방법.
B16. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로서, 해결책 B1 내지 해결책 B13 중 어느 하나 이상의 해결책에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하는, 방법.
B17. 비디오 프로세싱 장치로서, 해결책 B1 내지 해결책 B16 중 어느 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 프로세싱 장치.
B18. 명령어들이 저장된 컴퓨터 판독 가능 매체로서, 명령어들은, 실행될 때, 프로세서로 하여금 해결책 B1 내지 해결책 B16 중 하나 이상의 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 판독 가능 매체.
B19. 컴퓨터 판독 가능 매체로서, 해결책 B1 내지 해결책 B16 중 어느 하나 이상의 해결책에 따라 생성되는 비트스트림을 저장하는, 컴퓨터 판독 가능 매체.
B20. 비트스트림을 저장하기 위한 비디오 프로세싱 장치로서, 비디오 프로세싱 장치는 해결책 B1 내지 해결책 B16 중 어느 하나 이상의 해결책에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
C1. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 한 세트의 픽처들의 슬라이스들에 대해 인에이블되는 명시적 가중 예측에 대한 제약들을 나타내는 하나 이상의 제약 플래그를 포함하는 일반 제약 정보 신택스 구조가 존재한다는 것을 지정하는, 방법.
C2. 해결책 C1에 있어서, 하나 이상의 제약 플래그는 비트스트림에 포함되는, 방법.
C3. 해결책 C1에 있어서, 하나 이상의 제약 플래그는 현재 슬라이스와 연관된 파라미터 세트에 포함되는, 방법.
C4. 해결책 C1에 있어서, 하나 이상의 제약 플래그는 디코더 능력 정보 네트워크 추상화 계층(NAL) 유닛에 포함되는, 방법.
C5. 해결책 C1에 있어서, 하나 이상의 제약 플래그는 명시적 가중 예측이 한 세트의 픽처들의 단방향 예측 슬라이스들(P 슬라이스들) 및 양방향 예측 슬라이스들(B 슬라이스들) 중 하나 또는 양쪽 모두에 적용되는지 여부를 나타내는 제1 제약 플래그를 포함하고, 제1 제약 플래그의 값은 현재 슬라이스와 연관된 시퀀스 파라미터 세트(SPS)에 포함된 제2 플래그의 값과 일치하는, 방법.
C6. 해결책 C5에 있어서, 제1 제약 플래그는 gci_no_explicit_weighted_prediction_constraint_flag인, 방법.
C7. 해결책 C5에 있어서, 제2 플래그가 1과 동일한 것으로 인해 제1 제약 플래그는 0과 동일한, 방법.
C8. 해결책 C7에 있어서, 제2 플래그는 sps_weighted_pred_flag 또는 sps_weighted_bipred_flag인, 방법.
C9. 비디오 프로세싱 방법으로서, 규칙에 따라, 비디오의 현재 픽처의 현재 슬라이스와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 규칙은 한 세트의 픽처들의 슬라이스들에 대해 인에이블되는 명시적 가중 예측에 대한 제약들을 나타내는 하나 이상의 제약 플래그가 현재 슬라이스와 연관된 파라미터 세트 또는 헤더에 포함된다는 것을 지정하는, 방법.
C10. 해결책 C9에 있어서, 하나 이상의 제약 플래그는 단방향 예측 슬라이스들(P 슬라이스들) 또는 양방향 예측 슬라이스들(B 슬라이스들)에 대한 명시적 가중 예측의 표시가 현재 슬라이스와 연관된 시퀀스 파라미터 세트(SPS)에 포함되는지 여부를 나타내는 제1 플래그로 구성되는, 방법.
C11. 해결책 C10에 있어서, 제1 플래그는 sps_weighted_pred_flag 또는 sps_weighted_bipred_flag인, 방법.
C12. 해결책 C9에 있어서, 하나 이상의 제약 플래그는 단방향 예측 슬라이스들(P 슬라이스들) 또는 양방향 예측 슬라이스들(B 슬라이스들)에 대한 명시적 가중 예측의 표시가 현재 슬라이스와 연관된 픽처 파라미터 세트(PPS)에 포함되는지 여부를 나타내는 제1 플래그로 구성되는, 방법.
C13. 해결책 C12에 있어서, 제1 플래그는 pps_weighted_pred_flag 또는 pps_weighted_bipred_flag인, 방법.
C14. 해결책 C9에 있어서, 하나 이상의 제약 플래그는 명시적 가중 예측이 단방향 예측 슬라이스들(P 슬라이스들) 및 양방향 예측 슬라이스들(B 슬라이스들) 중 하나 또는 양쪽 모두에 적용되는지 여부를 나타내는 제1 제약 플래그를 포함하고, 제1 제약 플래그의 값은 현재 슬라이스와 연관된 픽처 파라미터 세트(PPS)에 포함된 제2 제약 플래그의 값과 일치하는, 방법.
C15. 해결책 C9에 있어서, 하나 이상의 제약 플래그는 단방향 예측 슬라이스들(P 슬라이스들) 또는 양방향 예측 슬라이스들(B 슬라이스들)에 대한 명시적 가중 예측의 표시가 현재 슬라이스와 연관된 픽처 헤더 또는 슬라이스 헤더에 포함되는지 여부를 나타내는 제1 플래그로 구성되는, 방법.
C16. 해결책 C15에 있어서, 참조 픽처 리스트에 관련된 정보가 픽처 헤더 신택스 구조 또는 슬라이스 헤더 신택스 구조에 포함되는 것으로 인해 상기 표시가, 제각기, 픽처 헤더 또는 슬라이스 헤더에 포함되는, 방법.
C17. 해결책 C15에 있어서, 상기 표시를 포함시키는 것은 현재 비디오 블록과 연관된 슬라이스의 슬라이스 유형에 기초하는, 방법.
C18. 해결책 C15에 있어서, 상기 표시를 포함시키는 것은 인터 슬라이스들, P 슬라이스들, 또는 B 슬라이스들을 포함하는 현재 픽처에 기초하는, 방법.
C19. 비디오 프로세싱 방법으로서, 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 포맷 규칙을 준수하고, 포맷 규칙은 현재 픽처가 양방향 슬라이스(B 슬라이스)를 제외하는지 여부의 표시가 현재 픽처와 연관된 픽처 헤더 신택스 구조에 포함된다는 것을 지정하는, 방법.
C20. 해결책 C19에 있어서, 상기 표시가 1과 동일한 것은 현재 픽처가 하나 이상의 B 슬라이스를 포함한다는 것을 지정하는, 방법.
C21. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은 현재 픽처가 B 슬라이스를 제외한다는 것을 지정하는, 방법.
C22. 해결책 C20 또는 해결책 C21의 방법으로서, 상기 표시는 ph_b_slices_allowed_flag인, 방법.
C23. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은 참조 픽처 리스트 1에 관련된 신택스 구조에서의 신택스 요소들이 비트스트림으로부터 제외된다는 것을 지정하는, 방법.
C24. 해결책 C23에 있어서, 상기 표시는 ph_b_slices_allowed_flag이고, 신택스 구조는 ref_pic_lists() 또는 ref_pic_list_struct()인, 방법.
C25. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은 모션 벡터 차이 코딩 툴에 대한 신택스 구조를 파싱하는 것에 관련된 신택스 요소가 픽처 헤더 신택스 구조로부터 제외된다는 것을 지정하는, 방법.
C26. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은 모션 벡터 차이 코딩 툴에 대한 신택스 구조를 파싱하는 것에 관련된 신택스 요소의 값이 1과 동일한 것으로 추론된다는 것을 지정하는, 방법.
C27. 해결책 C25 또는 해결책 C26에 있어서, 상기 표시는 ph_b_slices_allowed_flag이고, 신택스 요소는 mvd_l1_zero_flag인, 방법.
C28. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은 현재 픽처에서의 현재 비디오 블록의 가중 예측에 관련된 신택스 요소가 비트스트림으로부터 제외된다는 것을 지정하는, 방법.
C29. 해결책 C28에 있어서, 상기 표시는 ph_b_slices_allowed_flag이고, 신택스 요소는 num_l1_weights인, 방법.
C30. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은 현재 픽처와 연관된 참조 픽처 리스트에 대한 최대 참조 인덱스에 관련된 신택스 요소가 슬라이스 헤더 신택스 구조로부터 제외된다는 것을 지정하는, 방법.
C31. 해결책 C30에 있어서, 상기 표시는 ph_b_slices_allowed_flag이고, 신택스 요소는 num_ref_idx_active_minus1인, 방법.
C32. 해결책 C19에 있어서, 상기 표시가 0과 동일한 것은, 현재 픽처와 연관된 참조 픽처 리스트 0으로부터 도출되는 현재 픽처에서의 현재 비디오 블록의 시간적 모션 벡터 예측에 사용되는 동일 위치 슬라이스에 관련된, 신택스 요소가 슬라이스 헤더 신택스 구조로부터 제외된다는 것을 지정하는, 방법.
C33. 해결책 C32에 있어서, 상기 표시는 ph_b_slices_allowed_flag이고, 신택스 요소는 slice_collocated_from_l0_flag인, 방법.
C34. 해결책 C1 내지 해결책 C33 중 어느 한 해결책에 있어서, 변환은 비트스트림으로부터 비디오를 디코딩하는 것을 포함하는, 방법.
C35. 해결책 C1 내지 해결책 C33 중 어느 한 해결책에 있어서, 변환은 비디오를 비트스트림으로 인코딩하는 것을 포함하는, 방법.
C36. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로서, 해결책 C1 내지 해결책 C33 중 어느 하나 이상의 해결책에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하는, 방법.
C37. 비디오 프로세싱 장치로서, 해결책 C1 내지 해결책 C36 중 어느 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 프로세싱 장치.
C38. 명령어들이 저장된 컴퓨터 판독 가능 매체로서, 명령어들은, 실행될 때, 프로세서로 하여금 해결책 C1 내지 해결책 C36 중 하나 이상의 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 판독 가능 매체.
C39. 컴퓨터 판독 가능 매체로서, 해결책 C1 내지 해결책 C36 중 어느 하나 이상의 해결책에 따라 생성되는 비트스트림을 저장하는, 컴퓨터 판독 가능 매체.
C40. 비트스트림을 저장하기 위한 비디오 프로세싱 장치로서, 비디오 프로세싱 장치는 해결책 C1 내지 해결책 C36 중 어느 하나 이상의 해결책에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치.
일부 실시예들에 의해 선호되는 해결책들의 또 다른 목록이 다음에 제공된다.
P1. 비디오 프로세싱 방법으로서, 비디오의 비디오 영역과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 비디오 영역에 대한 가중 예측의 인에이블을 나타내는 제1 필드의 값이 비디오 영역의 변환과 연관된 참조 픽처 리스트와 연관된 가중치 수를 나타내는 제2 필드를 제어한다는 것을 지정하는, 방법.
P2. 해결책 P1에 있어서, 포맷 규칙은 제1 필드가 가중 예측이 디스에이블된다는 것을 나타내는 경우에 제2 필드가 코딩된 표현으로부터 제외된다는 것을 지정하는, 방법.
P3. 해결책 P1 또는 해결책 P2에 있어서, 참조 픽처 리스트와 연관된 가중치 수를 나타내는 제2 필드는 루마 가중치들을 나타내는, 방법.
P4. 해결책 P1 내지 해결책 P3 중 어느 한 해결책에 있어서, 참조 픽처 리스트와 연관된 가중치 수를 나타내는 제2 필드는 크로마 가중치들을 나타내는, 방법.
P5. 해결책 P1 내지 해결책 P4 중 어느 한 해결책에 있어서, 참조 픽처 리스트는 참조 픽처 리스트 1에 대응하는, 방법.
P6. 해결책 P1 내지 해결책 P5 중 어느 한 해결책에 있어서, 비디오 영역은 양방향 슬라이스(B 슬라이스)에 대응하는, 방법.
P7. 해결책 P1 내지 해결책 P5 중 어느 한 해결책에 있어서, 비디오 영역은 단방향 예측 슬라이스(P 슬라이스)에 대응하는, 방법.
P8. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 코딩된 표현은 포맷 규칙을 준수하고, 포맷 규칙은 비디오 픽처의 픽처 헤더에서의 신택스 요소가 양방향으로 예측된 또는 양방향 예측 슬라이스(B 슬라이스)인 슬라이스를 포함하는지 여부를 나타낸다는 것을 지정하는, 방법.
P9. 해결책 P8에 있어서, 신택스 요소가 단일 비트 플래그인, 방법.
P10. 해결책 P8 또는 해결책 P9에 있어서, 포맷 규칙은 제1 필드가 비디오 픽처가 0 개의 B 슬라이스를 포함한다는 것을 나타내는 경우에 제2 참조 픽처 리스트(참조 픽처 리스트 1)에 관련된 신택스 요소들을 추가로 제외하는, 방법.
P11. 해결책 P10에 있어서, 제2 참조 픽처 리스트에 관련된 신택스 요소들은 픽처 헤더로부터의 것인, 방법.
P12. 해결책 P10에 있어서, 신택스 요소들은 제2 참조 픽처 리스트를 사용하는 것에 대한 가중치 파라미터들에 관련된 신택스 요소들을 포함하는, 방법.
P13. 이상의 해결책들 중 어느 한 해결책에 있어서, 비디오 영역은 비디오 코딩 유닛을 포함하는, 방법.
P14. 이상의 해결책들 중 어느 한 해결책에 있어서, 비디오 영역은 비디오 픽처를 포함하는, 방법.
P15. 해결책 P1 내지 해결책 P14 중 어느 한 해결책에 있어서, 변환은 비디오를 코딩된 표현으로 인코딩하는 것을 포함하는, 방법.
P16. 해결책 P1 내지 해결책 P14 중 어느 한 해결책에 있어서, 변환은 코딩된 표현을 디코딩하여 비디오의 픽셀 값들을 생성하는 것을 포함하는, 방법.
P17. 비디오 디코딩 장치로서, 해결책 P1 내지 해결책 P16 중 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 디코딩 장치.
P18. 비디오 인코딩 장치로서, 해결책 P1 내지 해결책 P16 중 하나 이상의 해결책에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 인코딩 장치.
P19. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 코드는, 프로세서에 의해 실행될 때, 프로세서로 하여금 해결책 P1 내지 해결책 P16 중 어느 한 해결책에 기재된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
P20. 본 문서에 설명된 방법, 장치 또는 시스템.
본 문서에서, "비디오 프로세싱"이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 지칭할 수 있다. 예를 들어, 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 비디오 압축 알고리즘들이 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현(또는 간단히, 비트스트림)은, 예를 들어, 신택스에 의해 정의된 바와 같이, 비트스트림 내에서 동일 위치에 있거나 상이한 위치들에 분산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오차 잔차 값들로 및 또한 비트스트림 내의 헤더들 및 다른 필드들 내의 비트들을 사용하여 인코딩될 수 있다.
본 문서에서 설명되는 개시된 및 다른 해결책들, 예들, 실시예들, 모듈들 및 기능 동작들은 디지털 전자 회로로, 또는 본 문서에서 개시되는 구조들 및 이들의 구조적 등가물들을 포함한, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 개시된 및 다른 실시예들은 하나 이상의 컴퓨터 프로그램 제품으로서, 즉 데이터 프로세싱 장치에 의해 실행하기 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 메모리 디바이스, 머신 판독 가능 전파 신호를 실현하는 조성물(composition of matter), 또는 이들 중 하나 이상의 조합일 수 있다. “데이터 프로세싱 장치"라는 용어는, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한, 데이터를 프로세싱하기 위한 모든 장치들, 디바이스들, 및 머신들을 포괄한다. 장치들은, 하드웨어 외에도, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 인공적으로 생성된 신호, 예를 들면, 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 머신 생성(machine-generated) 전기, 광학, 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은, 컴파일되는(compiled) 또는 인터프리트되는(interpreted) 언어들을 포함하여, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립형 프로그램(stand-alone program)으로서 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서를 포함하여, 임의의 형태로 배포(deploy)될 수 있다. 컴퓨터 프로그램이 파일 시스템에서의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터(예를 들면, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 통합 파일들(coordinated files)(예를 들면, 하나 이상의 모듈, 서브 프로그램(sub program), 또는 코드 부분(portion of code)을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치하거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호 연결되는 다수의 컴퓨터들 상에서 실행되도록 배포될 수 있다.
본 문서에서 설명되는 프로세스들 및 논리 흐름들은 입력 데이터에 대해 작동하여 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들이 또한 특수 목적 논리 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치들이 또한 특수 목적 논리 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들 양쪽 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양쪽 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들면, 자기, 자기 광학 디스크들, 또는 광학 디스크들을 포함할 것이거나, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하도록 작동 가능하게 결합될 것이거나, 또는 양쪽 모두일 것이다. 그렇지만, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예로서, 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들면, 내부 하드 디스크들 또는 이동식 디스크들; 자기 광학 디스크들; 및 CD ROM과 DVD-ROM 디스크들을 포함한, 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
본 특허 문서가 많은 구체적 사항들을 포함하지만, 이들은 임의의 주제의 범위 또는 청구될 수 있는 것의 범위에 대한 제한들로서 해석되어서는 안 되며, 오히려 특정 기술들의 특정의 실시예들에 특정적일 수 있는 특징들에 대한 설명들로서 해석되어야 한다. 개별 실시예들의 맥락에서 본 특허 문서에 설명되는 특정 특징들이 또한 단일 실시예에서 조합하여 구현될 수 있다. 이와 달리, 단일 실시예의 맥락에서 설명되는 다양한 특징들이 또한 다수의 실시예들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 작용하는 것으로 위에서 설명되고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에 그 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에서 특정의 순서로 묘사되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정의 순서로 또는 순차적 순서로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에서 설명되는 실시예들에서 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예들이 설명되고 다른 구현들, 향상들 및 변형들이 이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (20)

  1. 비디오 프로세싱 방법으로서,
    비디오의 현재 픽처의 현재 슬라이스와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 비트스트림은 포맷 규칙을 준수하고,
    상기 포맷 규칙은 예측 가중치들이 상기 현재 슬라이스의 슬라이스 헤더에 포함되는지 여부를 나타내는 복수의 신택스 요소들의 값들이 상기 현재 슬라이스의 슬라이스 유형 및 상기 현재 픽처에 의해 참조되는 픽처 파라미터 세트(PPS)에 포함된 제1 플래그의 값에 기초하여 추론된다는 것을 지정하는, 방법.
  2. 제1항에 있어서, 상기 복수의 신택스 요소들은 상기 현재 슬라이스의 참조 픽처 리스트 0과 연관된 루마 가중치 수를 나타내는 제1 신택스 요소, 상기 현재 슬라이스의 참조 픽처 리스트 0과 연관된 크로마 가중치 수를 나타내는 제2 신택스 요소, 상기 현재 슬라이스의 참조 픽처 리스트 1과 연관된 루마 가중치 수를 나타내는 제3 신택스 요소, 및 상기 현재 슬라이스의 참조 픽처 리스트 1과 연관된 크로마 가중치 수를 나타내는 제4 신택스 요소를 포함하는, 방법
  3. 제2항에 있어서, 상기 제1 신택스 요소는 luma_weight_l0_flag[ i ]이고, 상기 제2 신택스 요소는 chroma_weight_l0_flag[ i ]이며, 상기 제3 신택스 요소는 luma_weight_l1_flag[ i ]이고, 상기 제4 신택스 요소는 chroma_weight_l0_flag[ i ]이며, i는 음이 아닌 정수인, 방법.
  4. 제2항 또는 제3항에 있어서, 상기 제1 플래그는 상기 PPS를 참조하는 픽처들에 대해 가중 예측이 인에이블되는지 여부를 나타내고, 상기 제1 플래그가 0과 동일하고 상기 슬라이스 유형이 단방향 예측 슬라이스(P 슬라이스)인 것으로 인해 상기 제1 신택스 요소 및 상기 제2 신택스 요소는 0으로 추론되는, 방법.
  5. 제4항에 있어서, 상기 제1 플래그는 pps_weighted_pred_flag인, 방법.
  6. 제2항 또는 제3항에 있어서, 상기 제1 플래그는 상기 PPS를 참조하는 픽처들에 대해 가중 양방향 예측이 인에이블되는지 여부를 나타내고, 상기 제1 플래그가 0과 동일하고 상기 슬라이스 유형이 양방향 예측 슬라이스(B 슬라이스)인 것으로 인해 상기 제1 신택스 요소 및 상기 제2 신택스 요소는 0으로 추론되는, 방법.
  7. 제2항 또는 제3항에 있어서, 상기 제1 플래그는 상기 PPS를 참조하는 픽처들에 대해 가중 양방향 예측이 인에이블되는지 여부를 나타내고, 상기 제1 플래그가 0과 동일하고 상기 슬라이스 유형이 양방향 예측 슬라이스(B 슬라이스)인 것으로 인해 상기 제3 신택스 요소 및 상기 제2 신택스 요소는 0으로 추론되는, 방법.
  8. 제6항 또는 제7항에 있어서, 상기 제1 플래그는 pps_weighted_bipred_flag인, 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 현재 픽처가 B 슬라이스들을 제외하는 것으로 인해 상기 현재 픽처는 상기 제1 플래그가 0과 동일한 상기 PPS를 참조하는, 방법.
  10. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 현재 픽처가 B 슬라이스들을 제외하는 것으로 인해 상기 현재 픽처는 제2 플래그가 0과 동일한 상기 PPS를 참조하는, 방법.
  11. 제6항 내지 제8항 중 어느 한 항에 있어서, 제2 플래그가 0과 동일하고 상기 현재 픽처가 B 슬라이스들을 제외하는 것으로 인해 상기 현재 슬라이스의 참조 픽처 리스트 1과 연관된 가중치 수를 나타내는 신택스 요소의 값은 0인, 방법.
  12. 제10항 또는 제11항에 있어서, 상기 제2 플래그는 가중 예측에 관련된 정보가 상기 PPS를 참조하는 픽처들의 픽처 헤더들 또는 슬라이스 헤더들에 존재하는지 여부를 나타내는, 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 제2 플래그는 wp_info_in_ph_flag인, 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 것을 포함하는, 방법.
  15. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 것을 포함하는, 방법.
  16. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로서,
    제1항 내지 제13항 중 어느 하나 이상의 항에 기재된 방법에 따라 상기 비디오로부터 상기 비트스트림을 생성하는 단계; 및
    상기 비트스트림을 상기 컴퓨터 판독 가능 기록 매체에 저장하는 단계
    를 포함하는, 방법.
  17. 비디오 프로세싱 장치로서, 제1항 내지 제16항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 프로세싱 장치.
  18. 명령어들이 저장된 컴퓨터 판독 가능 매체로서, 상기 명령어들은, 실행될 때, 프로세서로 하여금 제1항 내지 제16항 중 하나 이상의 항에 기재된 방법을 구현하게 하는, 컴퓨터 판독 가능 매체.
  19. 컴퓨터 판독 가능 매체로서, 제1항 내지 제16항 중 어느 하나 이상의 항에 따라 생성되는 비트스트림을 저장하는, 컴퓨터 판독 가능 매체.
  20. 비트스트림을 저장하기 위한 비디오 프로세싱 장치로서, 상기 비디오 프로세싱 장치는 제1항 내지 제16항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성되는, 비디오 프로세싱 장치.

KR1020227027522A 2020-02-19 2021-01-26 비트스트림에서의 비디오 성분들에 대한 가중치 값들의 추론 KR20220143023A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062978740P 2020-02-19 2020-02-19
US62/978,740 2020-02-19
PCT/US2021/015011 WO2021167757A1 (en) 2020-02-19 2021-01-26 Inferencing weight values for video components in a bitstream

Publications (1)

Publication Number Publication Date
KR20220143023A true KR20220143023A (ko) 2022-10-24

Family

ID=77392034

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227027988A KR20220143030A (ko) 2020-02-19 2021-01-26 비트스트림의 일반 제약 정보에서 예측 가중치들의 시그널링
KR1020227027450A KR20220138053A (ko) 2020-02-19 2021-01-26 참조 픽처 리스트의 가중치들의 시그널링
KR1020227027522A KR20220143023A (ko) 2020-02-19 2021-01-26 비트스트림에서의 비디오 성분들에 대한 가중치 값들의 추론

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020227027988A KR20220143030A (ko) 2020-02-19 2021-01-26 비트스트림의 일반 제약 정보에서 예측 가중치들의 시그널링
KR1020227027450A KR20220138053A (ko) 2020-02-19 2021-01-26 참조 픽처 리스트의 가중치들의 시그널링

Country Status (9)

Country Link
US (4) US20220400290A1 (ko)
EP (3) EP4091328A4 (ko)
JP (4) JP7410316B2 (ko)
KR (3) KR20220143030A (ko)
CN (3) CN115136598A (ko)
AR (3) AR121198A1 (ko)
BR (1) BR112022016529A2 (ko)
MX (1) MX2022009920A (ko)
WO (3) WO2021167758A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115088263A (zh) * 2019-12-20 2022-09-20 Lg电子株式会社 基于预测加权表的图像/视频编译方法和设备
JP2023515175A (ja) * 2020-02-28 2023-04-12 ホアウェイ・テクノロジーズ・カンパニー・リミテッド シグナリングスライスヘッダシンタックス要素を簡略化するためのエンコーダ、デコーダおよび対応する方法
JP7475908B2 (ja) 2020-03-17 2024-04-30 シャープ株式会社 予測画像生成装置、動画像復号装置及び動画像符号化装置
WO2023171912A1 (ko) * 2022-03-07 2023-09-14 현대자동차주식회사 비디오 프레임 경계에서의 예측블록 생성
WO2023219288A1 (ko) * 2022-05-12 2023-11-16 현대자동차주식회사 양방향 예측을 이용하는 크로마 성분의 인터 예측을 위한 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002349735B2 (en) * 2001-11-29 2009-01-15 Godo Kaisha Ip Bridge 1 Coding distortion removal method, moving picture coding method, moving picture decoding method, and apparatus for realizing the same, program
JP5054092B2 (ja) * 2006-03-30 2012-10-24 エルジー エレクトロニクス インコーポレイティド ビデオ信号のデコーディング/エンコーディング方法及び装置
US9736476B2 (en) * 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US9800869B2 (en) * 2012-06-15 2017-10-24 Google Technology Holdings LLC Method and apparatus for efficient slice header processing
TWI574554B (zh) * 2012-06-29 2017-03-11 Sony Corp 資訊處理設備及資訊處理方法
US9313500B2 (en) * 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
US20140198846A1 (en) * 2013-01-16 2014-07-17 Qualcomm Incorporated Device and method for scalable coding of video information
US9497473B2 (en) * 2013-10-03 2016-11-15 Qualcomm Incorporated High precision explicit weighted prediction for video coding
WO2015101716A1 (en) * 2014-01-03 2015-07-09 Nokia Technologies Oy Parameter set coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
US10171828B2 (en) * 2015-02-27 2019-01-01 Arris Enterprises Llc Modification of unification of intra block copy and inter signaling related syntax and semantics
US10834419B2 (en) * 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
CN117528077A (zh) * 2018-10-27 2024-02-06 华为技术有限公司 图像预测方法及装置
WO2021034123A1 (ko) 2019-08-22 2021-02-25 엘지전자 주식회사 가중 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
EP4022920A4 (en) 2019-09-06 2022-11-16 Huawei Technologies Co., Ltd. HIGH LEVEL SIGNALING METHOD AND APPARATUS FOR WEIGHTED PREDICTION
WO2020251422A2 (en) 2019-10-07 2020-12-17 Huawei Technologies Co., Ltd. Method and apparatus of adaptive adjustment of weighting prediction parameter precision for harmonizing non-rectangular merge mode and weighted prediction
US11758193B2 (en) * 2019-11-04 2023-09-12 Hfi Innovation Inc. Signaling high-level information in video and image coding
JP7448349B2 (ja) 2019-12-17 2024-03-12 シャープ株式会社 動画像復号装置
WO2021125701A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 인터 예측 기반 영상/비디오 코딩 방법 및 장치
CN114930836B (zh) 2020-01-12 2023-12-15 华为技术有限公司 使用非矩形融合模式协调加权预测的方法和装置
CN115280783A (zh) 2020-01-13 2022-11-01 Lg电子株式会社 用于图像/视频编码的加权预测的方法和装置
US11405649B2 (en) 2020-02-18 2022-08-02 Mediatek Inc. Specifying slice chunks of a slice within a tile
US20210392337A1 (en) 2020-06-10 2021-12-16 Kt Corporation Method and apparatus for encoding/decoding a video signal based on weighted prediction, and a recording medium storing a bitstream

Also Published As

Publication number Publication date
CN115136606A (zh) 2022-09-30
EP4091328A1 (en) 2022-11-23
CN115136598A (zh) 2022-09-30
US20240107047A1 (en) 2024-03-28
WO2021167758A1 (en) 2021-08-26
EP4091327A4 (en) 2023-05-03
EP4091328A4 (en) 2023-05-03
JP2023514773A (ja) 2023-04-10
JP2023514774A (ja) 2023-04-10
EP4091322A1 (en) 2022-11-23
KR20220138053A (ko) 2022-10-12
CN115152207A (zh) 2022-10-04
EP4091322A4 (en) 2023-04-26
US11863781B2 (en) 2024-01-02
JP7410316B2 (ja) 2024-01-09
KR20220143030A (ko) 2022-10-24
US20220400279A1 (en) 2022-12-15
AR121198A1 (es) 2022-04-27
BR112022016529A2 (pt) 2022-10-11
WO2021167755A1 (en) 2021-08-26
US20220400290A1 (en) 2022-12-15
EP4091327A1 (en) 2022-11-23
WO2021167757A1 (en) 2021-08-26
JP7410315B2 (ja) 2024-01-09
MX2022009920A (es) 2022-09-09
AR121197A1 (es) 2022-04-27
JP7410317B2 (ja) 2024-01-09
JP2023514772A (ja) 2023-04-10
JP2024026463A (ja) 2024-02-28
US20220400278A1 (en) 2022-12-15
AR121196A1 (es) 2022-04-27

Similar Documents

Publication Publication Date Title
US11863781B2 (en) Signaling of prediction weights in general constraint information of a bitstream
WO2021169969A1 (en) Conditional signaling of syntax elements in a picture header
WO2021197447A1 (en) Controlling quantization parameter delta signaling
WO2021180163A1 (en) Adaptation parameter set signaling based on color format
WO2021204135A1 (en) Signaling and inference of subpicture related syntax element
WO2021233450A1 (en) Signalling for color component
WO2021204251A1 (en) Use of header syntax elements and adaptation parameter set
WO2021222036A1 (en) Conditional signaling of video coding syntax elements
WO2021204233A1 (en) Constraints on adaptation parameter set based on color format

Legal Events

Date Code Title Description
A201 Request for examination