섹션 제목은 이해의 편의를 위해 본 문서에서 사용되며 각 섹션에 개시된 기술 및 실시예의 적용 가능성을 해당 섹션에만 제한하지 않는다. 또한, H.266 용어는 일부 설명에서 이해의 편의를 위해서만 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 설명된 기술은 다른 비디오 코덱 프로토콜 및 설계에도 적용할 수 있다. 이 문서에서, 특정 실시예는 볼드체 기울임꼴 을 표시하는 새 텍스트가 추가되고 이중 괄호로 표시되는 삭제된 텍스트가 있는 현재 VVC 사양에 대한 변경으로 표시된다(예를 들어, [[a]]는 문자 'a'의 삭제를 나타냄).
1.
소개
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 특히, 양방향 예측 슬라이스에만 적용할 수 있는 허용된 슬라이스 유형 및 관련 코딩 툴의 시그널링 및 코딩되지 않은 서브픽처의 지원의 개선에 관한 것이다. 아이디어는 다층 비디오 코딩(multi-layer video coding), 예를 들어 개발 중인 범용 비디오 코딩(Versatile Video Coding)(VVC)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
2.
약어
ALF
적응형 루프 필터(Adaptive Loop Filter)
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)
CVSS
코딩된 비디오 시퀀스 시작(Coded Video Sequence Start)
DCI
디코딩 기능 정보(Decoding Capability Information)
DPB
디코딩된 픽처 버퍼(Decoded Picture Buffer)
DU
디코딩 유닛(Decoding Unit)
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)
LMCS
크로마 스케일링을 사용한 루마 매핑(Luma Mapping with Chroma Scaling)
MCTS
모션 제약 타일 세트(Motion-Constrained Tile Set)
NAL
네트워크 추상화 계층(Network Abstraction Layer)
OLS
출력 계층 세트(Output Layer Set)
PH
픽처 헤더(Picture Header)
PPS
픽처 파라미터 세트(Picture Parameter Set)
PTL
프로필, 티어 및 레벨(Profile, Tier and Level)
PU
픽처 유닛(Picture Unit)
RADL
랜덤 액세스 디코딩가능 리딩(Random Access Decodable Leading)(픽처)
RAP
랜덤 액세스 포인트(Random Access Point)
RASL
랜덤 액세스 시킵된 리딩(Random Access Skipped Leading)(픽처)
RBSP
원시 바이트 시퀀스 페이로드(Raw Byte Sequence Payload)
RPL
레퍼런스 픽처 목록(Reference Picture List)
SAO
샘플 적응형 오프셋(Sample Adaptive Offset)
SEI
추가 개선 정보(Supplemental Enhancement Information)
SPS
시퀀스 파라미터 세트(Sequence Parameter Set)
STSA
단계적 시간적 서브계층 액세스(Step-wise Temporal Sublayer Access)
SVC
스케일러블 비디오 코딩(Scalable Video Coding)
VCL
비디오 코딩 계층(Video Coding Layer)
VPS
비디오 파라미터 세트(Video Parameter Set)
VTM
VVC 테스트 모델(VVC Test Model)
VUI
비디오 사용성 정보(Video Usability Information)
VVC
다목적 비디오 코딩(Versatile Video Coding)
3.
초기 논의
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다. ITU-T는 H.261및 H.263을 제작했으며, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼을 제작했으며, 두 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 고급 비디오 코딩(AVC) 및 H.265/HEVC 표준을 공동 제작했다. H.262 이후, 비디오 코딩 표준은 시간적 예측(temporal prediction)과 트랜스폼 코딩(transform coding)이 사용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 2015년에 VCEG와 MPEG의 공동으로 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고, 공동 연구 모델(JEM: Joint Exploration Model)이라고 명명된 레퍼런스 픽처소프트웨어(reference software)에 적용되었다. JVET 회의는 분기마다 한번 동시 개최되며, 새로운 코딩 표준은 HEVC 대비 비트레이트 50% 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(Versatile Video Coding; VVC)로 명명되었으며, 당시 VVC 테스트 모델(VTM)의 제1 버전이 출시되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다. VVC 작업 드래프트와 테스트 모델 VTM은 모든 회의 후에 업데이트된다. 최신 VVC 작업 초안 JVET-Q2001_vE는 다음에서 다운로드할 수 있다:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v15.zip
VVC 프로젝트는 현재 2020년 7월 회의에서 기술 완료(FDIS)를 목표로 하고 있다.
3.1.
파라미터 세트(Parameter sets)
AVC, HEVC 및 VVC는 파라미터 세트을 지정한다. 파라미터 세트의 유형은 SPS, PPS, APS 및 VPS를 포함한다. SPS 및 PPS는 모든 AVC, HEVC 및 VVC에서 지원된다. VPS는 HEVC 이후 도입되었으며 HEVC와 VVC에 모두 포함되어 있다. APS는 AVC 또는 HEVC에 포함되지 않았지만 최신 VVC 초안 텍스트에 포함되었다.
SPS는 시퀀스 레벨 헤더 정보를 전달하도록 설계되었으며 PPS는 자주 변경되지 않는 픽처 레벨 헤더 정보를 전달하도록 설계되었다. SPS 및 PPS를 사용하면, 각 시퀀스 또는 픽처에 대해 드물게 변경되는 정보를 반복할 필요가 없으므로 이 정보의 중복 시그널링을 피할 수 있다. 또한 SPS 및 PPS를 사용하면, 중요한 헤더 정보의 대역 외 전송이 가능하므로 중복 전송의 필요성을 피할 뿐만 아니라 오류 복원력(error resilience)도 개선된다.
VPS는 다층 비트스트림의 모든 계층에 공통적인 시퀀스 레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는 코딩하는 데 상당한 비트가 필요하고 여러 픽처에서 공유 할 수 있으며 순서대로 매우 다양한 변형이 있을 수 있는 픽처 레벨 또는 슬라이스 레벨 정보를 전달하기 위해 도입되었다.
3.1.1.
비디오 파라미터 세트(Video Parameter Set)
최신 VVC 초안 텍스트(JVET-Q2001-vE/v15)에서 여러 신택스 요소의 신택스 테이블 및 시맨틱은 다음과 같이 정의된다:
7.3.2.2
비디오 파라미터 세트 RBSP 신택스(Video parameter set RBSP syntax)
3.1.2. 시퀀스 파라미터 세트(Sequence Parameter Set)
최신 VVC 초안 텍스트(JVET-Q2001-vE/v15)에서 여러 신택스 요소의 신택스 테이블 및 시맨틱은 다음과 같이 정의된다:
7.3.2.3
시퀀스 파라미터 세트 RBSP 신텍스
3.1.3. 일반 제약 플래그(General Constraint Flag)
7.3.3.2
일반 제약 정보 신택스
1과 동일한 no_bdof_constraint_flag는 sps_bdof_enabled_flag가 0과 동일해야 함을 지정한다. 0과 동일한 no_bdof_constraint_flag는 이러한 제약을 부과하지 않는다.
1과 동일한 no_dmvr_constraint_flag는 sps_dmvr_enabled_flag가 0과 동일해야 하는 것을 지정한다. 0과 동일한 no_dmvr_constraint_flag는 이러한 제약을 부과하지 않는다.
1과 동일한 no_bcw_constraint_flag는 sps_bcw_enabled_flag가 0과 동일해야 하는 것을 지정한다. 0과 동일한 no_bcw_constraint_flag는 이러한 제약을 부과하지 않는다.
1과 동일한 no_ciip_constraint_flag는 sps_ciip_enabled_flag가 0과 동일해야 하는 것을 지정한다. 0과 동일한 no_ciip_constraint_flag는 이러한 제약을 부과하지 않는다.
1과 동일한 no_gpm_constraint_flag는 sps_gpm_enabled_flag가 0과 동일해야 하는 것을 지정한다. 0과 동일한 no_gpm_constraint_flag는 이러한 제약을 부과하지 않는다.
3.1.4.
픽처 파라미터 세트(Picture Parameter Set)
최신 VVC 초안 텍스트(JVET-Q2001-vE/v15)에서 여러 신택스 요소의 신택스 테이블 및 시맨틱은 다음과 같이 정의된다:
7.3.2.4
픽처 파라미터 세트 RBSP 신텍스.
num_ref_idx_default_active_minus1 [i] + 1, i가 0일 때, num_ref_idx_active_override_flag가 0인 P 또는 B 슬라이스에 대한 변수 NumRefIdxActive [0]의 유추된 값을 지정하고, 및 i가 1과 동일할 때, num_ref_idx_active_override_flag가 0인 B 슬라이스에 대해 NumRefIdxActive [1]의 유추된 값을 지정한다. num_ref_idx_default_active_minus1 [i]의 값은 0에서 14까지를 포함하는 범위에 있어야 한다.
0과 동일한 pps_weighted_bipred_flag는 명시적 가중 예측이 PPS를 참조하는 B 슬라이스에 적용되지 않음을 지정한다. 1과 동일한 pps_weighted_bipred_flag는 명시적 가중 예측이 PPS를 참조하는 B 슬라이스에 적용됨을 지정한다. sps_weighted_bipred_flag가 0과 동일할 때, pps_weighted_bipred_flag의 값은 0과 동일해야 한다.
3.1.5. DPB 파라미터 신택스(DPB parameters syntax)
최신 VVC 초안 텍스트(JVET-Q2001-vE/v15)에서 여러 신택스 요소의 신택스 테이블 및 시맨틱은 다음과 같이 정의된다:
7.3.4
DPB 파라미터 신택스(DPB parameters syntax)
7.4.5
DPB 파라미터 시맨틱(DPB parameters semantics)
dpb_parameters() 신택스 구조는 하나 이상의 OLS에 대한 DPB 크기, 최대 픽처 재정렬 수 및 최대 지연(maximum latency)에 대한 정보를 제공한다.
dpb_parameters() 신택스 구조가 VPS에 포함될 때, dpb_parameters() 신택스 구조가 적용되는 OLS는 VPS에 의해 지정된다. dpb_parameters() 신택스 구조가 SPS에 포함될 경우, SPS를 참조하는 계층 중 최하위 계층만을 포함하는 OLS에 적용되며, 이 최하위 계층이 독립 계층(independent layer)이다.
max_dec_pic_buffering_minus1[ i ] 더하기 1은 Htid가 i와 동일할 때 픽처 저장 버퍼 유닛에서 DPB의 최대 요구 크기를 지정한다. max_dec_pic_buffering_minus1[ i ]의 값은 0에서 MaxDpbSize - 1까지의 범위에 있어야 하고, MaxDpbSize는 A.4.2절에 지정된 대로이다. i가 0보다 클 때, max_dec_pic_buffering_minus1[ i ]는 max_dec_pic_buffering_minus1[ i - 1 ]보다 크거나 동일해야 한다. max_dec_pic_buffering_minus1[ i ]이 0에서 maxSubLayersMinus1 - 1까지를 포함하는의 범위에서 i에 대해 존재하지 않는 경우, subLayerInfoFlag가 0과 동일하기 때문에, max_dec_pic_buffering_minus1[ maxSubLayersMinus1 ]과 동일한 것으로 유추된다.
max_num_reorder_pics[ i ]는 Htid가 i와 동일할 때 디코딩 순서에서 OLS의 임의의 픽처에 선행하고 출력 순서에서 해당 픽처를 따를 수 있는 OLS의 최대 허용 픽처 수를 지정한다. max_num_reorder_pics[ i ]의 값은 0에서 max_dec_pic_buffering_minus1[ i ]까지의 범위에 있어야 한다. i가 0보다 클 때, max_num_reorder_pics[ i ]는 max_num_reorder_pics[ i - 1 ]보다 크거나 동일해야 한다. max_num_reorder_pics[ i ]가 0에서 maxSubLayersMinus1 - 1까지를 포함하는 범위에서 i에 대해 존재하지 않는 경우, subLayerInfoFlag가 0과 동일하기 때문에, max_num_reorder_pics[ maxSubLayersMinus1 ]와 동일한 것으로 유추된다.
max_latency_increase_plus1[ i ] 0이 아닌 것은 MaxLatencyPictures[ i ]의 값을 계산하는 데 사용되며, 이는 Htid가 i와 동일할 때 출력 순서에서 OLS의 어떤 픽처보다 앞서고 디코딩 순서에서 해당 픽처를 뒤따를 수 있는 OLS의 최대 픽처 수를 지정한다.
max_latency_increase_plus1[ i ]이 0이 아닌 경우, MaxLatencyPictures[ i ]의 값은 다음과 같이 지정된다:
MaxLatencyPictures[ i ] = max_num_reorder_pics[ i ] + max_latency_increase_plus1[ i ] - 1
(7-110)
max_latency_increase_plus1[ i ]이 0과 동일하면, 대응하는 제한이 표시되지 않는다.
max_latency_increase_plus1[ i ]의 값은 0에서 232- 2까지의 범위에 있어야 한다. max_latency_increase_plus1[ i ]이 0에서 maxSubLayersMinus1 - 1까지를 포함하는 범위의 i에 대해 존재하지 않는 경우, subLayerInfoFlag가 0과 동일하기 때문에, max_latency_increase_plus1[ maxSubLayersMinus1 ]과 동일한 것으로 유추된다.
3.2.
VVC의 픽처 헤더(PH) 및 슬라이스 헤더(SH)
HEVC에서와 유사하게, VVC의 슬라이스 헤더는 특정 슬라이스에 대한 정보를 전달한다. 이는 슬라이스 어드레스, 슬라이스 유형, 슬라이스 QP, 픽처 순서 카운트(picture order count)(POC) 최하위 비트(least significant bits)(LSB), RPS 및 RPL 정보, 가중 예측 파라미터, 루프 필터링 파라미터, 타일 및 WPP의 진입 오프셋 등을 포함한다.
VVC는 특정 픽처에 대한 헤더 파라미터를 포함하는 픽처 헤더(PH)를 도입했다. 각 픽처에는 하나 또는 하나의 PH가 있어야 한다. PH는 기본적으로 PH가 도입되지 않은 경우, 슬라이스 헤더에 있었을 파라미터를 전달하지만 각각은 픽처의 모든 슬라이스에 대해 동일한 값을 갖는다. 이는 IRAP/GDR 픽처 표시, 인터/인트라 슬라이스 허용 플래그, POC LSB 및 선택적으로 POC MSB, RPL에 대한 정보, 디블로킹, SAO, ALF, QP 델타 및 가중 예측, 코딩 블록 분할 정보, 가상 경계, 공존 픽처 정보 등을 포함한다. 전체 픽처 시퀀스의 각 픽처에 하나의 슬라이스만 포함되는 경우가 종종 있다. 그러한 경우에 각각의 픽처에 대해 적어도 2개의 NAL 유닛을 갖지 않도록 하기 위해, PH 신택스 구조는 PH NAL 유닛 또는 슬라이스 헤더에 포함될 수 있다.
VVC에서, 시간적 모션 벡터 예측에 사용되는 콜 픽처에 대한 정보는 픽처 헤더 또는 슬라이스 헤더에서 시그널링된다.
3.2.1. 픽처 헤더(Picture Header)(PH)
최신 VVC 작업 초안(working draft)에서 여러 신택스 요소의 신택스 테이블 및 시맨틱은 다음과 같이 정의된다:
7.3.2.7
픽처 헤더 구조 신택스(Picture header structure syntax)
3.2.2.
슬라이스 헤더(SH)
최신 VVC 작업 초안(working draft)에서 여러 신택스 요소의 신택스 테이블 및 시맨틱은 다음과 같이 정의된다:
7.3.7.1
일반 슬라이스 헤더 신택스
slice_type은 표 9에 따라 슬라이스의 코딩 유형을 지정한다.
표 9 - slice_type에 대한 이름 연관성
|
slice_type
|
slice_type의 이름
|
| 0 |
B(B 슬라이스) |
| 1 |
P(P 슬라이스) |
| 2 |
I (I 슬라이스) |
존재하지 않는 경우, 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와 동일해야 한다.
3.3. JVET-R0052의 최근 진행 상황
JVET-R0052 방법 #2에서, 하나의 허용된 유형 인덱스(즉, ph_allowed_slice_types_idc)를 추가하는 것이 제안되고, 새로 추가된 신택스 요소에서 B 슬라이스가 픽처에서 사용되는지 여부가 유도될 수 있다.
또한, 하나 이상의 슬라이스 유형이 현재 픽처에 존재할 수 있는지 여부를 지정하기 위해 다른 새로운 신택스 요소 ph_multiple_slice_types_in_pic_flag가 PH 구조에 추가된다. 1과 동일한 ph_multiple_slice_types_in_pic_flag는 픽처의 코딩된 슬라이스가 slice_type의 다른 값을 가질 수 있음을 지정한다. 0과 동일한 ph_multiple_slice_types_in_pic_flag는 픽처의 모든 코딩된 슬라이스가 동일한 slice_type 값을 갖는 것을 지정한다. ph_multiple_slice_types_in_pic_flag가 0과 동일할 때, ph_slice_type은 픽처의 모든 슬라이스에 대한 slice_type의 값을 지정하도록 추가로 시그널링되고 슬라이스 헤더의 slice_type은 코딩되지 않고 ph_slice_type의 값과 동일한 것으로 유추된다.
7.3.2.7 픽처 헤더 구조 신택스
7.3.7.1 일반 슬라이스 헤더 신택스
7.4.3.7 픽처 헤더 구조 시맨틱
1과 동일한 ph_multiple_slice_types_in_pic_flag는 픽처의 코딩된 슬라이스가 slice_type의 다른 값을 가질 수 있음을 지정한다. 0과 동일한 ph_multiple_slice_types_in_pic_flag는 픽처의 모든 코딩된 슬라이스가 동일한 slice_type 값을 갖는 것을 지정한다. ph_multiple_slice_types_in_pic_flag가 존재하지 않으면, 0과 동일한 것으로 유추된다.
ph_allowed_slice_types_idc는 ph_multiple_slice_types_in_pic_flag가 1과 동일할 때, 표 X에 따라 픽처의 코딩된 슬라이스에 대해 slice_type의 허용된 값을 지정한다.
표 X - ph_allowed_slice_types_idc에 의해 지정된 slice_type의 허용된 값
ph_slice_type은 ph_muriple_slice_types_in_pic_flag가 0일 때 픽처의 모든 슬라이스 헤더에 대한 slice_type의 값을 지정한다.
변수 BSliceAllowed, PSliceAllowed 및 ISliceAllowed는 다음과 같이 유도된다:
-
ph_multiple_slice_types_in_pic_flag가 0이면, BSliceAllowed는 ( ph_slice_type = = B ), PSliceAllowed는 ( ph_slice_type = = P ), ISliceAllowed는 ( ph_slice_type = = I )와 동일하게 설정된다.
-
그렇지 않으면, BSliceAllowed는 ( ph_allowed_slice_types_idc != 0 ), PSliceAllowed는 ( ph_allowed_slice_types_idc != 1 ), ISliceAllowed는 ( ph_allowed_slice_types_idc !=2)와 동일하게 설정된다.
0과 동일한 ph_inter_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 2와 동일한 slice_type을 갖는다는 것을 지정한다. 1과 동일한 ph_inter_slice_allowed_flag는 0 또는 1과 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 지정한다.[Ed.(YK): 0과 동일한 이 플래그에 의해 조건화된 신택스 요소에 대한 유추 규칙의 필요성/정확성을 다시 확인하라.]
0과 동일한 ph_intra_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 0 또는 1과 동일한 slice_type을 갖는다는 것을 지정한다. 1과 동일한 ph_intra_slice_allowed_flag는 2와 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 지정한다. 존재하지 않는 경우, ph_intra_slice_allowed_flag의 값은 1과 동일한 것으로 유추된다. [Ed.(YK): 1과 동일한 이 플래그에 의해 조건화된 신택스 요소에 대한 유추 규칙의 필요성/정확성을 다시 확인하라.]]
참고 2 - PH NAL 유닛을 변경할 필요 없이 서브픽처 기반 비트스트림 병합을 작동하는 것으로 가정되는 비트스트림의 경우, 인코더는 1과 동일한 [[ph_inter_slice_allowed_flag 및 ph_intra_slice_allowed_flag 둘 다]], BSliceAllowed, PSliceAllowed, and ISliceAllowed 의 값을 설정할 것으로 기대된다.
7.4.8.1 일반 슬라이스 헤더 시맨틱
slice_type은 표 9에 따라 슬라이스의 코딩 유형을 지정한다.
표 9 - slice_type에 대한 이름 연관성
존재하지 않는 경우, slice_types의 값은 다음과 같이 유도된다:
-
ph_multiple_slice_types_in_pic_flag가 1과 동일하면, slice_type의 값은 (slice_type_modified >= ph_allowed_slice_types_idc ? slice_type_modified + 1: slice_type_modified )와 동일하게 설정된다.
-
그렇지 않으면, slice_type의 값은 ph_slice_type의 값과 동일하게 설정된다.
slice_type_modified는 ph_multiple_slice_types_in_pic_flag가 1이고 ph_allowed_slice_types_idc의 값이 3이 아닐 때 slice_type의 값을 유도하는 데 사용된다.
[[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와 동일해야 한다.
7.4.8.2 가중 예측 파라미터 시맨틱
num_l1_weights는 pps_weighted_bipred_flag 및 wp_info_in_ph_flag가 모두 1일 때 레퍼런스 픽처 목록 1의 항목에 대해 시그널링되는 가중치의 수를 지정한다. num_l1_weights의 값은 0에서 Min( 15, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] )까지를 포함하는 범위에 있어야 한다.
변수 NumWeightsL1은 다음과 같이 유도된다:
if( !pps_weighted_bipred_flag )
NumWeightsL1 = 0
else if( wp_info_in_ph_flag )
(148)
NumWeightsL1 = BSliceAllowed ? num_l1_weights : 0
else
NumWeightsL1 = NumRefIdxActive[ 1 ]
새로운 신택스 요소 pps_multiple_slice_types_in_pic_flag 는 PPS에서 더 시그널링될 수 있다. pps_multiple_slice_types_in_pic_flag가 0과 동일할 때, ph_multiple_slice_types_in_pic_flag는 PPS를 참조하는 모든 PH에 대해 0과 동일한 것으로 유추된다.
VVC Draft 8에 대한 관련 수정 사항은 빨간색으로 작성되고 노란색으로 강조 표시되며 아래에 제공된다:
7.3.2.4 픽처 파라미터 세트 RBSP 신택스(Picture parameter set RBSP syntax)
방법 1의 PH
7.3.2.7 픽처 헤더 구조 신택스
방법 2의 PH
7.4.3.4 픽처 파라미터 세트 RBSP 시맨틱
1과 동일한 pps_multiple_slice_types_in_pic_flag는 픽처의 코딩된 슬라이스가 PPS를 참조하는 모든 픽처에 대해 slice_type의 다른 값을 가질 수 있음을 지정한다. 0과 동일한 pps_multiple_slice_types_in_pic_flag는 픽처의 모든 코딩된 슬라이스가 PPS를 참조하는 모든 픽처에 대해 동일한 slice_type 값을 갖는 것을 지정한다. pps_multiple_slice_types_in_pic_flag가 존재하지 않을 때, pps_multiple_slice_types_in_pic_flag의 값은 0과 동일한 것으로 유추된다.
3.4.
JVET-R0151의 코딩되지 않은 서브픽처 및 잠재적 응용 프로그램
이 문서에서는 VVC가 코딩되지 않은 서브픽처를 가능하게 하는 메커니즘으로 확장될 수 있는 방법을 보여준다. 코딩되지 않은 서브픽처는 완전히 사용되지 않는 영역을 제공함으로써 서브픽처가 픽처를 완전히 채우지 않을 때 효율적인 코딩에 사용될 수 있다. OMAF 사용 사례와 4x3 큐브맵(cubemap)의 360° 비디오 코딩에 대한 예가 보여진다. 또한, 코딩되지 않은 서브픽처는 코딩된 데이터가 아니라 이미 코딩된 콘텐츠로부터 생성된 콘텐츠로 채워진 공간을 예약하는 데 사용될 수 있다. 여기에, 360° 비디오에 대한 높은 레벨의 효율적인 지오메트리 패딩의 예가 표시된다.
3.5.
APS
7.3.2.5
적응형 파라미터 세트 RBSP 신택스
ALF APS 데이터에 대한 신택스 테이블:
7.3.2.19
적응형 루프 필터 데이터 신택스
명시적 확장 목록 APS 데이터에 대한 신택스 테이블:
7.3.2.21
스케일링 목록 데이터 신택스
7.3.2.20
크로마 스케일링 데이터 신택스을 사용한 루마 매핑
ALF APS(필요한 경우, 켜짐/꺼짐 제어 및 하나 또는 여러 APS 인덱스)의 사용은 PH 또는 SH에서 시그널링 되나, 둘 다에서는 시그널링 되지 않는다. 픽처/슬라이스의 경우, 여러 ALF APS가 시그널링될 수 있다. 명시적 스케일링 목록 및 LMCS의 경우, PH에서 명시적 스케일링 목록을 나타내기 위해 플래그가 시그널링되고 LMCS는 적어도 하나의 슬라이스에 대해 활성화된다. 그리고 활성화되면, 하나의 APS 인덱스가 추가로 시그널링된다.
7.3.2.7
픽처 헤더 구조 신택스(Picture header structure syntax)
4.
개시된 기술 솔루션으로 해결된 기술적 문제의 예
현재 VVC 텍스트와 JVET의 최근 진행 상황에는 다음과 같은 문제가 있다:
1.
최신 VVC 초안 텍스트(JVET-Q2001-vE/v15)에는 허용된 슬라이스 유형과 관련된 두 개의 PH 신택스 요소, 즉 ph_inter_slice_allowed_flag 및 ph_intra_slice_allowed_flag가 픽처 헤더 구조 신택스에 표로 표시되어 있다. 이 두 플래그로, I 슬라이스 코딩과 관련된 신택스 요소는 ph_intra_slice_allowed_flag가 참일 때만 시그널링되고, 인터 슬라이스 코딩과 관련된 신택스 요소는 ph_inter_slice_allowed_flag가 참일 때만 시그널링된다. 그러나, ph_inter_slice_allowed_flag가 1과 동일할 때, 디코더는 픽처가 B 슬라이스를 포함하는지 여부를 알지 못한다. 온라인 게임, 픽처 회의, 비디오 감시와 같은 일부 응용 프로그램은 종종 P 및 I 슬라이스만 사용한다. 따라서, B 슬라이스가 허용되는지 여부에 대한 표시가 있는 경우, 그러한 애플리케이션의 디코더는 B 슬라이스가 포함되지 않은 비트스트림만 요청/사용하도록 선택할 수 있으며, 또한 표시는 불필요한 여러 파라미터의 전송을 피하는데 사용될 수 있다.
2.
JVET-R0052에서, 제안된 변경 사항은 PH 및 SH에만 적용된다. 픽처 내에서 동일한 슬라이스 유형만 가질 수 있는지 여부 및/또는 허용된 슬라이스 유형의 종류가 픽처에서 활성화되는지 여부를 더 높은 레벨으로 제어할 수 없다. 또한, 양방향 예측과 관련된 특정 신택스 요소가 존재하지 않는 경우, 값을 유추하는 방법에 대해서는 설명하지 않는다.
3.
JVET-R0191의 항목 1에서, sps_ptl_dpb_hrd_params_present_flag의 값이 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]와 동일해야 한다는 제약 조건을 다음으로 대체할 것을 제안한다:
sps_ptl_dpb_hrd_params_present_flag의 값은 하나의 계층만 포함하는 OLS가 있고 계층 ID가 SPS의 nuh_layer_id와 동일할 때 1과 동일해야 한다.
그러나, 변경 사항은 "하나의 계층만 포함하는 OLS가 있는 경우" 조건을 통해 VPS 종속성을 도입한다. 또 다른 문제는 단일 계층 비트스트림의 경우, sps_ptl_dpb_hrd_params_present_flag의 값이 1과 동일해야 하고 변경된 제약 조건에 의해 캡처되지 않는다는 것이다.
4.
JVET-R0267에서, 다음과 같은 제약 조건이 제안되었다: 현재 픽처가 IDR 픽처고 sps_idr_rpl_present_flag가 1인 경우, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 임의의 선행 IRAP 픽처(존재하는 경우)를 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
그러나, 제약 조건은 단일 계층 비트스트림에만 적용된다.
5.
JVET-R0042에서, 다음과 같이 요약된 변경 사항이 VVC에 제안되었다:
1)
각 픽처 유형에 대해 대응하는 서브픽처 유형이 정의된다.
2)
"연관된 GDR 서브픽처" 및 "연관된 IRAP 서브픽처"라는 용어도 정의된다.
3)
CRA_NUT과 동일한 nal_unit_type을 갖는 NAL 유닛의 콘텐츠는 "CRA 픽처의 코딩된 슬라이스" 대신에 "CRA 픽처 또는 서브픽처의 코딩된 슬라이스"라고 불린다. 다른 VCL NAL 유닛 유형에서도 유사하다.
4)
픽처 내에서 다른 NAL 유닛 유형을 갖는 2개의 인접 서브픽처는 모두 1과 동일한 subpic_treated_as_pic_flag[ ]를 가져야 한다.
5)
상대적인 디코딩 순서, 출력 순서 및 예측 관계의 관점에서 선행 및 후속 AU의 서로 다른 유형의 픽처 및 동일 계층 픽처에 대한 유사한 제약은 선행 및 후행 AU에서 동일한 서브픽처 인덱스를 갖는 다른 유형의 서브픽처 및 동일 계층 서브픽처에 대한 서브픽처 도메인에서 지정된다.
그러나, IDR 서브픽처에 대한 RPL 항목에 대한 제약이 없다.
6.
JVET-R0065는 VVC에 다음 변경 사항을 제안했다:
1)
각 GDR AU는 완료되어야 한다(즉,CVS에 있는 각 계층에대한 픽처를 갖기 위해). 즉, GDR 픽처로 구성된 불완전한 AU는, IRAP 픽처로 구성된 불완전한 AU가 IRAP AU가 아니라는 현재 VVC 텍스트에서와 유사하게, GDR AU가 아님을 의미한다.
2)
AU가 IRAP인지 GDR AU인지 지정하기 위해 irap_or_gdr_au_flag라는 플래그를 AUD에 추가하고, vps_max_layers_minus1이 0보다 큰 경우, 각 IRAP 또는 GDR AU에 AUD NAL 유닛이 있어야 한다.
그러나, IRAP 또는 GDR AU가 완료될 필요는 없지만 AU의 각 픽처가 IRAP 또는 GDR 픽처여야 하는 경우, 디코더가 제1 픽처의 제1 VCL NAL 유닛을 수신한 후 AU가 IRAP 또는 GDR AU라는 것을 알아낼 수 있도록 하기 위하여, AU가 IRAP 또는 GDR AU인지 여부에 대한 표시가 여전히 있어야 한다. 이러한 표시가 없으면, AU의 마지막 픽처를 수신할 때까지(마지막으로 수신된 픽처가 OLS의 최상위 계층에 있을 때) 또는 다음 AU의 제1 NAL 유닛을 수신한 후까지(마지막으로 수신된 픽처가 OLS의 최상위 계층에 없을 때) 디코더는 이것을 알 수 없다
7.
JVET-R0063은: 비활성화됨(모드 0), 모든 슬라이스에 사용됨(모드 1) 및 활성화됨(모드 2)의 3가지 모드가 지정되는, PH 플래그 ph_lmcs_enabled_flag를 2비트 ph_lmcs_mode_idc로 대체할 것을 제안했다. 모드 1에서 LMCS는 픽처의 모든 슬라이스에 사용되고, SH에서는 LMCS 제어 플래그의 시그널링이 필요하지 않는다. 이에 따라 slice_lmcs_enabled_flag의 시맨틱이 수정된다. 또한, ph_chroma_residual_scale_flag의 시맨틱 수정은 픽처 또는 슬라이스에 대한 크로마 잔차 스케일링을 활성화/비활성화하려는 의도를 반영하기 위해 제안되었다. 그러나, JVET-R0063에서 제안된 ph_lmcs_mode_idc도 ue(v) 코딩될 수 있다.
8.
JVET-R0064는: 비활성화(모드 0), 모든 슬라이스에 사용(모드 1) 및 활성화(모드 2)의 3가지 모드로, PH 플래그 ph_explicit_scaling_list_enabled_flag를 2비트 ph_explicit_scaling_list_mode_idc로 대체할 것을 제안했다. 모드 1에서 명시적 스케일링 목록은 픽처의 모든 슬라이스에 사용되며, SH에서는 스케일링 목록 시그널링이 필요하지 않는다. 그러나, JVET-R0064에서 제안된 ph_explicit_scaling_list_mode_idc도 ue(v) 코딩될 수 있다.
5.
예시 솔루션 및 구현 목록
상기와 같은 문제점을 해결하기 위해, 아래와 같이 정리한 방법을 개시한다. 아이템은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하고 좁은 의미로 해석되어서는 안된다. 또한, 이들 아이템은 개별적으로 또는 임의의 방식으로 조합하여 적용될 수 있다.
하나 이상의 신택스 요소가, X(예를 들어, I, B 또는 P) 슬라이스만이 픽처 내에서 허용되는지 여부를 표시하기 위해; 및/또는 픽처에서 슬라이스 유형의 허용된 세트를 나타내기 위해, 파라미터 세트(예를 들어, SPS, VPS, PPS, APS, DCI) 및/또는 일반 제약 정보 신택스에 추가될 수 있다.
파라미터 세트 및 일반 제약 정보 신택스에서
1.
SPS 또는 PPS와 같은 비디오 유닛에서, 허용된 슬라이스 유형이 CLVS의 픽처에 있는지 여부를 지정하기 위해 하나 이상의 신택스 요소(예를 들어, sps_allowed_slice_idc)를 추가한다.
1)
하나의 예에서, 제1 신택스 요소(예를 들어, sps_allowed_slice_idc)가 추가되고 그 시맨틱은 다음과 같이 정의될 수 있다: X와 동일한 sps_allowed_slice_idc는 픽처가 다음 허용되는 슬라이스 유형 또는 이들의 임의의 조합만 허용하도록 지정한다:
i.
{all I}, {all P}, {all B}, {I, P}, {I, B}, {P, B}, {I, B, P}
ii.
하나의 예에서, 제1 신택스 요소는 고정 길이(예를 들어, u(1), u(2) 또는 U(3)), 단항 코딩, 절단 단항 코딩, EG 코딩으로 코딩될 수 있다.
iii.
대안적으로, 또한, SPS 또는 PPS에서 시그널링된 하나 이상의 신택스 요소의 시그널링 및/또는 시맨틱 및/또는 유추는 제1 신택스 요소가 특정 조건을 만족하는 경우에만 시그널링되도록 수정될 수 있다.
a.
하나의 예에서, 하나 이상의 신택스 요소는 이중 예측 또는 혼합 인트라 및 인터 코딩, 또는 다중 예측 블록으로부터 선형/비선형 가중을 사용한 예측과 같은 하나 이상의 예측 신호를 필요로 하는 코딩 툴을 가능하게 하기 위한 것들이다. .
b.
하나의 예에서, 하나 이상의 신택스 요소는 다음을 포함할 수 있지만, 이에 제한되지는 않는다:
a)
sps_weighted_bipred_flag
b)
sps_bdof_enabled_flag
c)
sps_smvd_enabled_flag
d)
sps_dmvr_enabled_flag
e)
sps_bcw_enabled_flag
f)
sps_ciip_enabled_flag
g)
sps_gpm_enabled_flag
c.
하나의 예에서, 제1 신택스 요소가 비디오 유닛과 연관된 CLVS가 하나 이상의 B 슬라이스를 포함할 수 있음을 명시하는 경우에만, 하나 이상의 신택스 요소가 시그널링될 수 있다. 그렇지 않으면, 시그널링은 스킵되고, 신택스 요소의 값이 유추된다.
d.
하나의 예에서, sps_b_slice_allowed_flag가 0과 동일할 때, 신택스 요소 sps_weighted_bipred_flag, sps_bdof_enabled_flag, sps_smvd_enabled_flag, sps_dmvr_enabled_flag, sps_bcw_enabled_flag, sps_bcw_enabled_flag 및 sps_ciip_enabled는 시그널링 되지 않고 이들 값은 유추된다.
a)
하나의 예에서, 그것들은 존재하지 않을 때 모두 0으로 유추된다.
iv.
대안적으로, 또한, 제2 신택스 요소는 제1 신택스 요소가 0과 동일해야 하는지 여부를 나타내기 위해 no_b_slice_contraint_flag와 같은 일반 제약 정보 신택스에서 시그널링될 수 있다.
a.
하나의 예에서, no_b_slice_contraint_flag의 시맨틱는 다음과 같이 정의된다:
1과 동일한 no_b_slice_contraint_flag는 sps_allowed_slice_idc가 X와 동일해야함을 지정한다(예를 들어, 허용된 슬라이스 유형이 {I, B, P} 또는 {B, P}, {all B}임을 나타냄). 0과 동일한 no_b_slice_constraint_flag는 그러한 제약을 부과하지 않는다.
v.
대안적으로, 또한, 제1 신택스 요소가 CLVS가 B 슬라이스를 포함하지 않는다고 지정하는 경우, 일반 제약 정보 신택스에서 시그널링된 하나 이상의 신택스 요소는 1과 동일해야 한다(예를 들어, 단지 sps_allowed_slice_idc만이 {I, P}, {all I}, {all P}를 나타내는 X와 동일함).
a.
하나의 예에서, 하나 이상의 신택스 요소는 다음을 포함할 수 있지만 이에 제한되지는 않는다:
a)
no_bcw_constraint_flag
b)
no_ciip_constraint_flag
c)
no_gpm_constraint_flag
d)
no_bdof_constraint_flag
e)
no_dmvr_constraint_flag
vi.
대안적으로, 또한, dpb_parameters()에서 시그널링되는 하나 이상의 신택스 요소의 시그널링 및 시맨틱은 제1 신택스 요소가 특정 조건을 만족하는 경우에만 시그널링되도록 수정될 수 있다.
a.
하나의 예에서, 하나 이상의 신택스 요소는 다음을 포함할 수 있지만, 이에 제한되지는 않는다:
a)
max_num_reorder_pics
b.
하나의 예에서, 제1 신택스 요소가 B 슬라이스가 허용되지 않는다고 말할 때, max_num_reorder_pics는 시그널링되지 않고 0으로 유추된다.
PH/SH에서
2.
PH/SH에서 변수X 는 B 슬라이스가 픽처/슬라이스에서 허용/사용되는지 여부를 나타내는 데 사용되고, 변수는 허용되는 슬라이스 유형 및/또는 기타 신택스 요소(예를 들어, JVET-R0052에서 사용되는 BSliceAllowed)를 지정하기 위해 SPS 신택스 요소, 및/또는 새로운 PH 신택스 요소(예를 들어, ph_allowed_slice_idc)에서 유도될 수 있다.
1)
하나의 예에서, 새로운 PH 신택스 요소가 추가되고 이 신택스 요소를 시그널링하는 방법은 SPS에서 허용되는 슬라이스 유형에 따라 달라질 수 있다.
2)
대안적으로, 또한, PH에서 시그널링된 하나 이상의 신택스 요소의 시그널링 및/또는 시맨틱 및/또는 유추는 변수에 따라 수정될 수 있다.
i.
하나의 예에서, 하나 이상의 신택스 요소는 이중 예측 또는 혼합 인트라 및 인터 코딩, 또는 다중 예측 블록으로부터 선형/비선형 가중을 사용한 예측과 같은 하나 이상의 예측 신호를 필요로 하는 코딩 툴을 가능하게 하기 위한 것들이다. .
ii.
하나의 예에서, 하나 이상의 신택스 요소는 다음을 포함할 수 있지만, 이에 제한되지는 않는다:
a)
ph_collocated_from_l0_flag
b)
mvd_l1_zero_flag
c)
ph_disable_bdof_flag
d)
ph_disable_dmvr_flag
e)
num_l1_weights
iii.
하나의 예에서, 제1 신택스 요소가 픽처가 하나 이상의 B 슬라이스를 포함할 수 있음을 명시하는 경우에만, 하나 이상의 신택스 요소가 시그널링될 수 있다. 그렇지 않으면, 시그널링은 스킵되고, 신택스 요소의 값이 유추된다.
a)
대안적으로, 또한, 하나 이상의 신택스 요소에 시그널링할지 여부는, 예를 들어 (X는 참 또는 1)과 같은, 글머리 기호 1.1) 및 2.1)의 제1 신택스 요소에 따라 달라질 수 있다.
b)
ph_disable_bdof_flag는 (sps_bdof_pic_present_flag && X)가 참인 경우에만 시그널링될 수 있다.
c)
ph_disable_dmvr_flag는 (sps_dmvr_pic_present_flag && X)가 참인 경우에만 시그널링될 수 있다.
iv.
하나의 예에서, X가 0(또는 거짓)일 때, mvd_l1_zero_flag는 시그널링되지 않고 그 값은 1로 유추된다.
v.
하나의 예에서, 하나 이상의 신택스 요소의 유추는 제1 신택스 요소의 값에 의존한다.
a)
하나의 예에서, ph_disable_bdof_flag의 경우, 다음이 적용된다:
sps_bdof_enabled_flag가 1 이고 X가 1(또는 참(true))과 동일하면, ph_disable_bdof_flag의 값은 0과 같은 것으로 유추된다.
그렇지 않으면(sps_bdof_enabled_flag가 0과 동일하거나 X가 0(또는 거짓(false))과 동일) , ph_disable_bdof_flag의 값이 1과 동일한 것으로 유추된다.
b)
하나의 예에서, ph_disable_dmvr_flag의 경우, 다음이 적용된다:
sps_dmvr_enabled_flag가 1과 동일하고 X가 1(또는 참(true))과 동일하면, ph_disable_dmvr_flag의 값은 0과 같은 것으로 유추된다.
그렇지 않으면(sps_dmvr_enabled_flag가 0과 동일하거나 X가 0(또는 거짓(false))과 같으면), ph_disable_dmvr_flag의 값은 1과 동일한 것으로 유추된다.
c)
하나의 예에서, ph_temporal_mvp_enabled_flag 및 rpl_info_in_ph_flag가 둘 다 1과 동일하고 X가 0(또는 거짓(false))과 동일할 때, ph_collocated_from_l0_flag의 값은 1과 동일한 것으로 유추된다.
d)
하나의 예에서, X가 0(또는 거짓)일 때, num_l1_weights는 시그널링되지 않고 그 값은 0으로 유추되며, 결과적으로 레퍼런스 픽처 목록 1에 대한 가중 예측 파라미터는 픽처의 PH 또는 SH에서 시그널링되지 않는다.
신택스 요소의 유추
3.
코딩 툴 X 및/또는 A(예를 들어, PH) 또는 B(예를 들어, SH)에 존재할 수 있지만 둘 다에는 존재할 수 없는 신택스 요소의 그룹과 관련된 신택스 요소의 경우, A가 B에 포함된 경우, 그런 다음, 그러한 신택스 요소의 존재 표시 중 적어도 하나는 시그널링되지 않을 수 있고, 0인 것으로, 즉, B에 존재하는 것으로, 유추될 수 있다.
1)
하나의 예에서, 코딩 툴 X는 다음 중 하나를 포함할 수 있다:
i.
인루프 필터링 기술(n-loop filtering technology), 예를 들어, 디블로킹 필터, ALF, SAO
ii.
가중 예측(Weighted Prediction)
iii.
QP 델타 정보(QP delta information)
iv.
RPL 정보(RPL information)
2)
하나의 예에서, 'A는 B에 포함된다'라는 조건은 'PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함한다' 또는 '현재 픽처는 하나의 슬라이스로 구성된다'로 정의될 수 있다.
3)
하나의 예에서, '해당 신택스 요소의 존재 표시'는 다음 신택스 요소 중 하나 또는 다수로 정의될 수 있다:
i.
qp_delta_info_in_ph_flag, rpl_info_in_ph_flag, dbf_info_in_ph_flag, sao_info_in_ph_flag, wp_info_in_ph_flag, alf_info_in_ph_flag
4)
하나의 예에서, 다음 변경 사항 중 하나 또는 여러 개를 제안한다.
1과 동일한 rpl_info_in_ph_flag는 레퍼런스 픽처 목록 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않는다는 것을 지정한다.
0과 동일한 rpl_info_in_ph_flag는 레퍼런스 픽처 목록 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 지정한다. PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함할 때 rpl_info_in_ph_flag가 0과 동일해야 하는 비트스트림 적합성(bitstream conformance)의 요구 사항이다.
1과 동일한 dbf_info_in_ph_flag는 디블로킹 필터 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재하지 않음을 지정한다.
0과 동일한 dbf_info_in_ph_flag는 디블로킹 필터 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 지정한다. 존재하지 않는 경우, dbf_info_in_ph_flag의 값은 0과 동일한 것으로 유추된다. PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함할 때, dbf_info_in_ph_flag가 0과 동일해야 하는 비트스트림 적합성의 요구 사항이다.
1과 동일한 sao_info_in_ph_flag는 SAO 필터 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 지정한다.
0과 동일한 sao_info_in_ph_flag는 SAO 필터 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 지정한다. PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함할 때, sao_info_in_ph_flag가 0과 동일해야 하는 비트스트림 적합성의 요구 사항이다.
1과 동일한 alf_info_in_ph_flag는 ALF 정보가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 지정한다.
0과 동일한 alf_info_in_ph_flag는 ALF 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 지정한다. PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함할 때, alf_info_in_ph_flag가 0과 동일해야 하는 것은 비트스트림 적합성의 요구 사항이다.
1과 동일한 wp_info_in_ph_flag는 가중 예측 정보가 PH 신택스 구조에 존재할 수 있고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않을 수 있음을 지정한다.
0과 동일한 wp_info_in_ph_flag는 가중 예측 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 지정한다. 존재하지 않을 때, wp_info_in_ph_flag의 값은 0과 동일한 것으로 유추된다. PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함할 때, wp_info_in_ph_flag가 0과 동일해야 하는 것이 비트스트림 적합성의 요구사항이다.
1과 동일한 qp_delta_info_in_ph_flag는 QP 델타 정보(delta information)가 PH 신택스 구조에 존재하고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에는 존재하지 않음을 지정한다.
0과 동일한 qp_delta_info_in_ph_flag는 QP 델타 정보가 PH 신택스 구조에 존재하지 않고 PH 신택스 구조를 포함하지 않는 PPS를 참조하는 슬라이스 헤더에 존재할 수 있음을 지정한다. PPS를 참조하는 슬라이스 헤더가 PH 신택스 구조를 포함할 때, qp_delta_info_in_ph_flag가 0과 동일해야 하는 비트스트림 적합성의 요구 사항이다.
4.
적합성 비트스트림(conformance bitstream)은 POC 값이 이전 픽처의 POC 값보다 클 때 접합된 비트스트림의 CLVS AU인 접합 부분 픽처에 대해 NoOutputOfPriorPicsFlag의 설정이 1과 동일해야 한다는 규칙을 따라야 한다.
1)
현재 AU가 CVSS(coded video sequence start) AU이고 현재 AU의 PicOrderCntVal이 디코딩 순서에서 이전 픽처의 PicOrderCntVal보다 큰 경우, NoOutputOfPriorPicsFlag의 값은 다른 조건에 관계없이(예를 들어, 현재 AU에 있는 픽처의 no_output_of_prior_pics_flag 값에 관계없이) 1과 동일하게 설정된다.
5.
인터 슬라이스/B 슬라이스/P 슬라이스를 나타내는 신택스 요소를 픽처 및/또는 RPL/WP 정보에서 시그널링할지 여부, 및/또는 RPL/WP 정보의 존재의 표시는 픽처 유형 및 계층 독립성이 활성화되는지 여부에 따라 달라질 수 있다.
1)
인터 슬라이스/B 슬라이스/P 슬라이스를 나타내는 신택스 요소를 픽처 및/또는 RPL/WP 정보에서 시그널링할지 여부, 및/또는 RPL/WP 정보의 존재 표시는 픽처 유형 및 계층이 독립 계층인지 여부 및 CLVS가 하나의 계층에만 포함하는지 여부에 따라 달라질 수 있다.
2)
하나의 예에서, 신택스 요소는 픽처 헤더(PH) 또는 PPS에서 시그널링될 수 있다.
3)
하나의 예에서, 신택스 요소를 시그널링할지 여부는 상위 레벨 비디오 유닛(예를 들어, SPS)에서 시그널링되는 하나 또는 다수의 신택스 요소에 따라 달라질 수 있다.
4)
하나의 예에서, 신택스 요소는 IRAP 픽처에 대해 시그널링되지 않고 계층 독립성이 활성화된다.
i.
대안적으로, 신택스 요소는 독립 계층의 IRAP 픽처 또는 슬라이스에 대해 시그널링되지 않는다.
ii.
하나의 예에서, VVC의 ph_inter_slice_allowed_flag는 IRAP 픽처에 대해 시그널링되지 않고 계층 독립성이 활성화된다.
iii.
하나의 예에서, VVC의 slice_type은 IRAP 픽처에 대해 시그널링되지 않고 계층 독립성이 활성화된다.
iv.
하나의 예에서, JVET-R0052의 ph_slice_type은 IRAP 픽처에 대해 시그널링되지 않고 계층 독립성이 활성화된다.
v.
하나의 예에서, VVC의 ph_inter_slice_allowed_flag는 독립 계층에서 IRAP 픽처(즉, 모든 코딩된 슬라이스 NAL 유닛이 IDR_W_RADL, IDR_N_LP 또는 CRA_NUT와 동일한 nal_unit_type을 갖는 픽처)에 대해 시그널링되지 않고(즉, vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일한 계층), 그리고 0과 동일한 것으로 유추된다.
vi.
하나의 예에서, VVC의 slice_type은 독립 계층에서 IRAP 슬라이스(즉, IDR_W_RADL, IDR_N_LP, 또는 CRA_NUT와 동일한 nal_unit_type을 갖는 코딩된 슬라이스 NAL 유닛)에 대해 시그널링되지 않고, 2와 동일한 것으로 유추된다.
vii.
하나의 예에서, JVET-R0052의 ph_slice_type은 독립 계층에서 IRAP 픽처에 대해 시그널링되지 않고 2와 동일한 것으로 유추된다.
5)
하나의 예에서, 신택스 요소는 단일 계층 CLVS의 IRAP 픽처 또는 슬라이스에 대해 시그널링되지 않는다.
i.
하나의 예에서, CLVS에 계층이 하나만 포함된 경우(즉, sps_video_parameter_set_id가 0인 경우), VVC의 ph_inter_slice_allowed_flag는 IRAP 픽처(즉, 모든 코딩된 슬라이스 NAL 유닛이 IDR_W_RADL, IDR_N_LP 또는 CRA_NUT과 동일한 nal_unit_type을 갖는 픽처)에 대해 시그널링되지 않고, 0과 동일한 것으로 유추된다.
ii.
하나의 예에서, VVC의 slice_type은 CLVS가 단 하나의 계층을 포함할 때 IRAP 슬라이스(즉, IDR_W_RADL, IDR_N_LP 또는 CRA_NUT와 동일한 nal_unit_type을 갖는 코딩된 슬라이스 NAL 유닛)에 대해 시그널링되지 않는다.
iii.
하나의 예에서, JVET-R0052의 ph_slice_type은 CLVS가 하나의 계층만 포함할 때 IRAP 픽처에 대해 시그널링되지 않는다.
6)
하나의 예에서, 신택스 요소는 IRAP 픽처에 대해 시그널링되지 않고 계층 독립성이 활성화되며, 그러한 정보가 존재하더라도 PH에 있음을 알려준다.
i.
하나의 예에서, 신택스 요소는 독립 계층의 IRAP 픽처에 대해 시그널링되지 않으며, 그러한 정보의 존재가 PH에 있음을 나타내는 경우에도 마찬가지이다.
ii.
gdr_or_irap_pic_flag가 1과 같고 gdr_pic_flag가 0과 동일할 때, 픽처 헤더와 연관된 픽처가 IDR 픽처인지 여부를 지정하기 위해 idr_pic_flag라는 새로운 플래그가 제안된다. 그리고 다음이 적용될 수 있다:
a.
sps_idr_rpl_present_flag가 0이면, 계층 독립성이 활성화되고, idr_pic_flag가 1이면, rpl_info_in_ph_flag의 값이 1인 경우에도, PH에 RPL 시그널링이 존재하지 않는다.
b.
sps_idr_rpl_present_flag가 0과 동일할 때, 계층 독립성이 활성화되고, idr_pic_flag가 1과 동일할 때, wp_info_in_ph_flag의 값이 1과 같더라도 WP 시그널링은 PH에 존재하지 않는다.
c.
sps_idr_rpl_present_flag가 0일 때, 현재 계층은 독립 계층(즉, vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]는 1과 동일함)이고, idr_pic_flag가 1과 동일하고, rpl_info_in_ph_flag의 값이 1과 동일하더라도 RPL 시그널링이 PH에 존재하지 않는다.
d.
sps_idr_rpl_present_flag가 0이면, 현재 계층이 독립 계층이고 idr_pic_flag가 1이면, wp_info_in_ph_flag의 값이 1인 경우에도 PH에 WP 시그널링이 존재하지 않는다.
7)
하나의 예에서, 신택스 요소는 단일 계층 CLVS의 IRAP 픽처에 대해 시그널링되지 않으며, 그러한 정보의 존재가 PH에 있음을 나타내는 경우에도 마찬가지이다.
i.
gdr_or_irap_pic_flag가 1과 같고 gdr_pic_flag가 0과 동일할 때, 픽처 헤더와 연관된 픽처가 IDR 픽처인지 여부를 지정하기 위해 idr_pic_flag라는 새로운 플래그가 제안된다. 그리고 다음이 적용될 수 있다:
a.
sps_idr_rpl_present_flag가 0과 동일할 때, CLVS는 오직 하나의 계층만을 포함하고(즉, sps_video_parameter_set_id는 0과 동일함), idr_pic_flag는 1과 동일할 때, rpl_info_in_ph_flag의 값이 1과 동일할 때에도 PH에 RPL 시그널링이 존재하지 않는다.
b.
sps_idr_rpl_present_flag가 0과 동일할 때, CLVS는 단 하나의 계층을 포함하고, idr_pic_flag가 1과 동일할 때, wp_info_in_ph_flag의 값이 1과 동일할 때에도 WP 시그널링은 PH에 존재하지 않는다.
6.
sps_video_parameter_set_id가 0보다 크고 SPS의 nuh_layer_id와 동일한 nuh_layer_id를 가진 하나의 계층만 포함하는 OLS가 있거나 sps_video_parameter_set_id가 0인 경우, sps_ptl_dpb_hrd_params_present_flag의 값은 1과 동일해야 한다.
관련 레퍼런스 목록
7.
레퍼런스 픽처 목록의 시그널링 및/또는 생성은 CLVS의 픽처에서 허용된 슬라이스 유형에 의존할 수 있다.
1)
예를 들어, B-슬라이스가 CLVS에서 허용되지 않는 경우, 레퍼런스 목록 1을 작성하기 위한 하나 이상의 신택스 요소가 표시되지 않을 수 있다.
2)
예를 들어, B-슬라이스가 CLVS에서 허용되지 않는 경우, 레퍼런스 목록 1을 작성하기 위한 하나 이상의 절차가 수행되지 않을 수 있다.
APS 관련
8.
두 APS는 시퀀스, CLVS 또는 비트스트림에서 동일한 APS_id를 갖지 않아야 한다.
1)
대안적으로, 동일한 APS 유형을 갖는 두 APS(ALF APS 또는 LMCS APS와 같은)는 시퀀스, CLVS 또는 비트스트림에서 동일한 APS_id를 갖지 않아야 한다.
2)
대안적으로, 동일한 APS 유형(예를 들어, ALF APS 또는 LMCS APS)을 가진 두 APS가 동일한 APS_id를 가질 수 있지만, 시퀀스, CLVS 또는 비트스트림에서 동일한 내용을 가져야 한다.
3)
대안적으로, 동일한 APS 유형(예를 들어, ALF APS 또는 LMCS APS)을 갖는 두 APS가 동일한 APS_id를 갖는 것이 허용된다. 그리고 이전에 시그널링된 APS는 이후 시그널링된 APS로 대체된다.
4)
대안적으로, 동일한 APS 유형(예를 들어, ALF APS 또는 LMCS APS)을 갖는 두 APS가 동일한 APS_id를 갖는 것이 허용된다. 그리고 후자의 APS 신호는 무시된다.
9.
두 개의 상이한 파라미터 세트(예를 들어, APS 및 SPS)는 서로 의존할 수 있고, 제1 파라미터 세트의 신택스 요소에 따라 유도된 신택스 요소 또는 변수는 제2 파라미터 세트의 다른 신택스 요소를 조건부로 시그널링하기 위해 사용될 수 있다.
1)
대안적으로, 제1 파라미터 세트의 신택스 요소에 따라 유도된 신택스 요소 또는 변수는 제2 파라미터 세트의 다른 신택스 요소의 값을 유도하는 데 사용될 수 있다.
코딩되지 않은 서브픽처 관련
10.
코딩되지 않은 서브픽처의 경계는 픽처 경계로 취급되어야 한다고 제안된다.
11.
루프 필터링(ALF/디블코킹/SAO와 같은)은 코딩되지 않은 서브픽처의 경계를 넘을 수 없다는 것이 제안된다.
12.
하나의 서브픽처만 있는 경우에는 코딩되지 않은 서브픽처가 될 수 없다.
13.
코딩되지 않은 서브픽처는 추출될 수 없음이 요구된다.
14.
코딩되지 않은 서브픽처(들)과 관련된 정보가 SEI 메시지에서 시그널링될 수 있다는 것이 제안된다.
15.
코딩되지 않은 서브픽처는 하나의 슬라이스만 가질 수 있어야 한다.
16.
왼쪽 상단 서브픽처는 코딩되지 않은 서브픽처가 될 수 없다.
17.
서브픽처 중 적어도 하나는 코딩되지 않은 서브픽처가 아님이 요구된다.
18.
부가 정보 관련 서브픽처를 코딩하는지 여부 및/또는 방법은 서브픽처가 코딩되지 않은 서브픽처인지 여부에 따라 달라질 수 있다.
1)
하나의 예에서, 코딩되지 않은 서브픽처인 경우, 부가 정보를 시그널링할 필요가 없다.
19.
대안적으로, 또한, 위의 요구 사항에 대해, 위의 경우에 따라 조건부 시그널링으로 수정될 수 있다.
IDR 픽처 및 IDR 서브픽처 관련(IDR picture and IDR subpicture related)
20.
다음 제약 조건이 제안된다:
nuh_layer_id가 특정 값 layerId와 동일한 현재 픽처가 IDR 픽처고 sps_idr_rpl_present_flag가 1일 때, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 layerld와 동일한 nuh_layer_id를 갖는 임의의 선행 IRAP 픽처(존재하는 경우)를 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
21.
다음 제약 조건이 제안된다:
layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 IDR 서브픽처고 sps_idr_rpl_present_flag가 1과 동일할 때, 디코딩 순서에서 (존재하는 경우) layerld와 동일한 nuh_layer_id 및 sbpicIsx와 동일한 서브픽처 인덱스를 갖는 선행 IRAP서브픽처를 포함하는 임의의 픽처를, 출력 순서 및 디코딩 순서에서, 선행하는, RefpicList [0] 또는 RefpicList [1]의 항목으로 참조되는 픽처가 없어야 한다고 지정된다.
IDR 또는 GDR AU 관련
22.
IRAP AU가 완료될 필요는 없고, GDR AU가 완료될 필요가 없으며, AU가 IRAP인지 GDR AU인지에 대한 표시는 IRAP 또는 GDR AU마다, AUD, VPS에 의해 지정된 최하위 계층의 픽처의 PH 또는 SEI 메시지에서 시그널링될 수 있다.
1)
하나의 예에서, 표시의 시그널링은 선택이다.
2)
하나의 예에서, 다음 변경 사항이 VVC에 제안되었다(추가 또는 수정된 부분은 기울임꼴 및 굵게 강조 표시되고 삭제된 부분은 이중 괄호로 표시된다(예를 들어, [[a]]는 문자 'a'의 삭제를 나타냄)):
코딩된 비디오 시퀀스 시작(CVSS) AU: [[CVS의 각 계층에 대한 PU가 있고]] 각 PU의 코딩된 픽처 가 CLVSS 픽처 인 AU.
인트라 랜덤 액세스 포인트(Intra Random Access Point)(IRAP) AU: [[CVS의 각 계층에 대한 PU가 있고]] 각 PU의 코딩된 픽처 가 IRAP 픽처 인 AU.
AUD 신택스 및 시맨틱는 다음과 같이 변경된다:
AU 구분 기호는 AU의 시작, AU가 IRAP 또는 GDR AU인지 여부, 및 AU 구분 기호 NAL 유닛을 포함하는 AU의 코딩된 픽처에 있는 슬라이스의 유형을 나타내는 데 사용된다. AU 구분 기호와 연관된 표준 디코딩 프로세스는 없다.
1과 동일한 irap_or_gdr_au_flag는 AU 구분 기호를 포함하는 AU가 IRAP 또는 GDR AU임을 지정한다.
0과 동일한 irap_or_gdr_au_flag는 AU 구분 기호를 포함하는 AU가 IRAP 또는 GDR AU가 아님을 지정한다.
. . .
AU의 순서와 CVS에 대한 연관이 다음과 같이 변경된다:
비트스트림은 하나 이상의 CVS로 구성된다.
CVS는 하나 이상의 AU로 구성된다. PU의 순서와 Aus와의 연관성은 7.4.2.4.3 절에 설명되어 있다.
CVS의 제1 AU는 CVSS AU이며, 여기서 존재하는 각 PU는 CLVSS PU이며, 이는 1과 동일한 IRAP PU이거나 NoOutputBeforeRecoveryFlag를 갖는 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR PU이다
각 CVSS AU는 CVS에 있는 각 계층에 대해 PU가 존재해야 한다.
허용되는 슬라이스 유형
23.
픽처 내에서 허용된 X(예를 들어, X가 인트라/인터/B/P임) 슬라이스 유형의 표시를 시그널링할지 여부는 픽처 내의 슬라이스 레이아웃 및/또는 현재 픽처가 IRAP이고 계층 간 종속성이 활성화 또는 비활성화되는지 여부에 따라 달라질 수 있다.
1)
하나의 예에서, 픽처 내에서 허용된 슬라이스 유형(예를 들어,ph_intra_slice_allowed_flag)의 표시를 시그널링할지 여부는 PPS가 픽처당 슬라이스만 적용되는지 및/또는 픽처 파티션이 사용되지 않거나 및/또는 직사각형 슬라이스 및 단 하나의 슬라이스가 사용되는지 및/또는 픽처가 직사각형 조각으로 분할될지 여부에 따라 달라질 수 있다.
i.
하나의 예에서, 표시를 시그널링할지 여부는 " (!no_pic_partition_flag && !( rect_slice_flag && num_slices_in_pic_minus1 = = 0 ) "의 조건 체크에 따라 달라질 수 있다.
ii.
대안적으로, 또한, 표시가 시그널링되지 않은 경우, 표시의 유추는 PPS가 픽처당 슬라이스만 적용되는지 및/또는 픽처 파티션이 사용되지 않았는지 및/또는 직사각형 슬라이스 및 픽처당 하나의 슬라이스만 사용되는지 여부에 더 의존할 수 있다.
a.
하나의 예에서, 0과 동일한 ph_intra_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 0 또는 1과 동일한 slice_type을 갖는다는 것을 지정한다.
1과 동일한 ph_intra_slice_allowed_flag는 2와 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 지정한다. 존재하지 않는 경우, ph_intra_slice_allowed_flag의 값은
(!no_pic_partition_flag &&
!( rect_slice_flag && num_slices_in_pic_minus1 = = 0 ))? 1: 0와 동일한 것으로 유추된다.
b.
대안적으로, 존재하지 않는 경우, ph_intra_slice_allowed_flag의 값은 [[1]] (no_pic_partition_flag | | ( rect_slice_flag && num_slices_in_pic_minus1 = = 0 ))? 0: 1 .과 동일한 것으로 유추된다.
2)
하나의 예에서, 픽처 내에서 허용된 슬라이스 유형(예를 들어,ph_intra_slice_allowed_flag)의 표시를 시그널링할지 여부는 상위 레벨 비디오 유닛(예를 들어, SPS)에서 시그널링되는 하나 또는 다수의 신택스 요소에 의존할 수 있다.
i.
대안적으로, 더욱이, 허용된 슬라이스 유형의 표시의 유추된 값은 허용된 슬라이스 유형의 표시가 존재하지 않는 경우, 상위 레벨 비디오 유닛에서 시그널링된 신택스 요소에 의존한다.
3)
하나의 예에서, 픽처 내에서 허용된 슬라이스 유형(예를 들어,ph_inter_slice_allowed_flag)의 표시를 시그널링할지 여부는 현재 픽처가 IRAP 픽처고 계층간 종속성이 픽처 내의 모든 슬라이스에 대해 비활성화되는지 여부에 따라 달라질 수 있다.
i.
대안적으로, 또한, 현재 픽처가 IRAP 픽처고 계층간 의존성이 픽처 내의 모든 슬라이스에 대해 비활성화되는 경우, ph_inter_slice_allowed_flag의 유추된 값은 0/거짓(false)으로 설정된다.
24.
허용된 X(예를 들어, X는 inter/B/P임) 슬라이스 유형의 표시를 픽처 내에서 시그널링할지 여부 및/또는 표시의 유추된 값은 레퍼런스 픽처의 수(예를 들어, num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] 및/또는 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ])에 의존할 수 있다.
1)
하나의 예에서, num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] 및/또는 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 모두 0이면, 허용된 X의 표시(예를 들어, X가 inter/B/P임) 슬라이스 유형은 시그널링되지 않고/또는 거짓으로 추가로 유추된다.
2)
하나의 예에서, num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] 및/또는 num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 모두 0이면, 허용된 X의 시그널링된 표시(예를 들어, X가 inter/B/P) 슬라이스 유형은 0과 동일해야 하는 것이 제약에 추가된다.
3)
하나의 예에서, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, 허용된 X(예를 들어, X는 B임) 슬라이스 유형의 표시는 시그널링되지 않고 및/또는 거짓인 것으로 추가로 유추된다.
4)
하나의 예에서, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, 허용된 X(예를 들어, X는 B임) 슬라이스 유형의 시그널링된 표시가 0과 동일해야 하는 것이 제약에 추가된다.
5)
하나의 예에서, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]가 0과 동일하면, mvd_l1_zero_flag 및/또는 ph_collocated_from_l0_flag 및/또는 ph_disable_bdof_flag 및/또는 ph_disable_bdof_flag가 1과 동일해야 하는 것이 제약에 추가된다.
ALF APS에서
25.
4개의 신택스 요소(VVC의 alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, alf_cc_cr_filter_signal_flag) 중 적어도 하나가 1과 동일해야 한다는 제약이 ALF APS에 추가될 수 있다.
1)
대안적으로, 두 신택스 요소(alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag) 중 적어도 하나가 1과 동일해야 한다는 제약 조건이 ALF APS에 추가될 수 있다.
26.
필터 존재 플래그 및/또는 필터 계수의 표시를 시그널링할지 여부는 적응형 파라미터 세트(APS) RBSP 신택스의 alf_data() 구조 및/또는 신택스 요소로 미리 코딩된 정보에 따라 달라질 수 있다.
1)
대안적으로, 또한, 표시 및/또는 필터 계수가 존재하지 않는 경우, 유추 값은 또한 alf_data() 구조로 미리 코딩된 정보에 의존할 수 있다.
2)
하나의 예에서, alf_cc_cr_filter_signal_flag를 시그널링할지 여부는 3개의 신택스 요소(VVC에서 alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag) 모두가 0과 동일한지 여부에 따라 달라질 수 있다.
i.
또한, 3개 모두가 0이면, alf_cc_cr_filter_signal_flag의 시그널링은 스킵되고 및/또는 추가로 참(true)으로 유추된다.
3)
하나의 예에서, alf_chroma_filter_signal_flag를 시그널링할지 여부는 VVC의 alf_luma_filter_signal_flag가 0과 동일한지 여부에 의존할 수 있다.
i.
또한, alf_luma_filter_signal_flag가 0과 동일하면, alf_chroma_filter_signal_flag의 시그널링을 건너뛰고/하거나 추가로 참인 것으로 유추된다.
스케일링 목록/LMCS APS에서
27.
픽처보다 작은 픽처/슬라이스/타일/서브픽처/브릭/기타 비디오 유닛 내에서 하나 이상의 X(예를 들어, X는 명시적 스케일링 목록 및/또는 LMCS 및/또는 APS에서 시그널링되는 부가 정보가 있는 다른 코딩 툴임) APS를 사용하는 것을 허용하도록 제안된다.
1)
대안적으로, 또한, 이용될 X APS의 수가 비트스트림에서(예를 들어, PH/SH에서) 시그널링될 수 있다.
2)
대안적으로, 또한, 이용될 X APS의 인덱스는 비트스트림에서(예를 들어, PH/SH에서) 시그널링될 수 있다.
28.
사용될 X(예를 들어, X는 명시적 스케일링 목록 및/또는 LMCS 및/또는 APS에서 시그널링되는 부가 정보를 갖는 다른 코딩 툴임) APS는 컬러 컴포넌트에 의존할 수 있음이 제안된다.
1)
하나의 예에서, 루마 및 크로마 컬러 컴포넌트는 다른 X APS를 선택할 수 있다.
2)
하나의 예에서, 루마 및 크로마 컴포넌트에 이용될 X APS의 수는 비트스트림에서(예를 들어, PH/SH에서) 분리되어 시그널링될 수 있다.
i.
또한, 대안적으로 크로마 컴포넌트에 대한 수를 시그널링할지 여부는 루마 컴포넌트에 대한 APS로부터의 예측/상속이 활성화되는지 여부에 따라 달라질 수 있다.
ii.
또한, 크로마 컴포넌트에 대한 수를 시그널링할지 여부는 루마 컴포넌트에 대한 APS 수가 0과 동일하지 않거나 0보다 큰지 여부에 따라 달라질 수 있다.
3)
하나의 예에서, 루마 및 크로마 컴포넌트에 대해 이용될 X APS의 인덱스는 비트스트림에서 (예를 들어, PH/SH에서) 분리되어 시그널링될 수 있다.
29.
사용될 X(예를 들어, X는 ALF/CC-ALF/명시적 스케일링 목록 및/또는 LMCS 및/또는 APS에서 시그널링되는 부가 정보를 갖는 다른 코딩 툴임) APS에 신호를 보내는 방법은 APS에 의존할 수 있다.
1)
하나의 예에서, 각 서브픽처에 대해, 사용할 켜짐/꺼짐 제어 및 대응하는 X APS를 선택할 수 있다.
i.
또한, 대안적으로, 각각의 서브픽처에 대해, 사용될 켜짐/꺼짐 제어 및/또는 X APS가 시그널링될 수 있다.
서브픽처:
30.
(VVC에서)subpic_treated_as_pic_flag[ i ]의 값을 유추하는 방법은 서브픽처 정보가 존재하는지 여부에 따라 달라질 수 있다고 제안된다.
1)
하나의 예에서, subpic_treated_as_pic_flag[ i ]의 시맨틱은 다음과 같이 수정된다: 1과 동일한 subpic_treated_as_pic_flag [i]는 CLVS의 각 코딩된 픽처의 i번째 서브픽처가 인루프 필터링 동작을 제외한 디코딩 프로세스에서 픽처로 처리되는 것을 지정한다. 0과 동일한 subpic_treated_as_pic_flag [i]는 CLVS의 각 코딩된 픽처의 i번째 서브픽처가 인루프 필터링 동작을 제외한 디코딩 프로세스에서 픽처로 처리되지 않음을 지정한다. 존재하지 않을 때, subpic_treated_as_pic_flag[ i ]의 값은 [[sps_independent_subpics_flag]] subpic_info_present_flag 와 동일한 것으로 유추된다.
디블로킹 필터에 대해
31.
다음 경우에 대해, 1과 동일한 pps_deblocking_filter_disabled_flag 는 슬라이스에 대해 디블로킹 필터의 작동이 비활성화됨을 지정하거나 0과 동일한 pps_deblocking_filter_disabled_flag 는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 작동이 비활성화됨을 지정하도록 제안된다.
1)
slice_deblocking_filter_disabled_flag 및 ph_deblockig_filter_disabled_flag가 존재하지 않는다;
2)
deblocking_filter_override_enabled_flag는 0과 동일하다;
3)
deblocking_filter_override_enabled_flag는 1, dbf_info_in_ph_flag는 1, ph_deblocking_filter_disabled_flag는 1과 동일하다
4)
deblocking_filter_override_enabled_flag는 1, dbf_info_in_ph_flag는 0, slice_deblocking_filter_disabled_flag는 1과 동일하다
32.
다음 경우에 대해, 0과 동일한 pps_deblocking_filter_disabled_flag는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 적용되는 것을 지정하거나 0과 동일한 pps_deblocking_filter_disabled_flag는 PPS를 참조하는 슬라이스에 대해 디블로킹 필터의 동작이 활성화되는 것을 지정하도록 제안된다.
1)
slice_deblocking_filter_disabled_flag 및 ph_deblockig_filter_disabled_flag가 존재하지 않는다;
2)
deblocking_filter_override_enabled_flag는 0과 동일하다;
3)
deblocking_filter_override_enabled_flag는 1, dbf_info_in_ph_flag는 1, ph_deblocking_filter_disabled_flag는 0과 동일하다
4)
deblocking_filter_override_enabled_flag는 1, dbf_info_in_ph_flag는 0, slice_deblocking_filter_disabled_flag는 1과 동일하다
JCCR에서
33.
JCCR(공동 크로마 잔차 코딩(joint chroma residual coding))에 사용되는 QP 오프셋의 경우, 슬라이스 레벨(즉, VVC의 slice_joint_cbcr_qp_offset) 대신 비디오 유닛(슬라이스보다 큰)으로 시그널링될 수 있다고 제안된다.
1)
하나의 예에서, SPS/VPS/DCI/PPS/PH에서와 같이 시퀀스/픽처 레벨로 시그널링될 수 있다.
2)
하나의 예에서, 그것은 다중 레벨(예를 들어, 픽처 및 슬라이스 레벨에서)로 시그널링될 수 있다.
i.
대안적으로, 또한, 그것을 제2 레벨로 시그널링할지 여부는 그것이 제1 레벨에서 시그널링되는지 여부에 의존할 수 있다.
a.
하나의 예에서, 다중 레벨에 대해 하나만 시그널링될 수 있다.
b.
하나의 예에서, QP 오프셋을 시그널링할 레벨의 표시는 비트스트림에서 시그널링될 수 있다.
ii.
대안적으로, 또한, 재정의 메커니즘이 적용되는데, 즉, 그것은 제1(높은)에서 시그널링되고 오버라이드 플래그(override flag)는 제1 레벨(예를 들어, 픽처에서)에서 시그널링된 값을 오버라이드하기 위해 제2(낮은, 예를 들어, 슬라이스) 레벨에서 시그널링할지 여부를 나타내기 위해 나중에 시그널링될 수 있다.
a.
하나의 예에서, 오버라이드 플래그는 제1 레벨 및/또는 제2 레벨에서 시그널링될 수 있다.
LMCS 및 스케일링 목록 시그널링 제어
34.
JVET-R0063의 ph_lmcs_mode_idc는 ue(v) 코딩될 수 있고 ph_lmcs_mode_idc의 값은 0에서 2까지의 범위에 있도록 지정될 수 있다고 제안된다. ph_lmcs_mode_idc가 0, 1 또는 2인 경우의 시맨틱는 JVET-R0063에서와 동일하다.
1)
대안적으로, 픽처가 슬라이스가 하나만 포함되어 있고 0에서 2까지를 포함하는 범위로 지정되어 있는 경우, 그렇지 않은 경우, JVET-R0063의 ph_lmcs_mode_idc는 ue(v) 코딩될 수 있고 ph_lmcs_mode_idc의 값은 0에서 1까지의 범위에 있도록 지정될 수 있다. ph_lmcs_mode_idc가 0, 1 또는 2인 경우의 시맨틱는 JVET-R0063에서와 동일하다.
2)
대안으로, 픽처가 단 하나의 슬라이스만을 포함하는 것으로 알려진 경우, JVET-R0063의 ph_lmcs_mode_idc는 u(1)를 사용하여 코딩될 수 있고; 즉, 플래그에 대해 단 하나의 비트를 사용하여 값이 0 또는 1과 동일하고; 그렇지 않으면, JVET-R0063의 ph_lmcs_mode_idc가 ue(v) 코딩될 수 있고 ph_lmcs_mode_idc의 값이 0에서 2까지의 범위에 있도록 지정될 수 있다. ph_lmcs_mode_idc가 0, 1 또는 2인 경우의 시맨틱는 JVET-R0063에서와 동일하다.
35.
JVET-R0064의 ph_explicit_scaling_list_mode_idc는 ue(v) 코딩될 수 있고 ph_explicit_scaling_list_mode_idc의 값은 0에서 2까지의 범위에 있도록 지정될 수 있다고 제안된다. ph_explicit_scaling_list_mode_idc가 0, 1 또는 2인 경우의 시맨틱는 JVET-R0064에서와 동일하다.
1)
대안적으로, JVET-R0064의 ph_explicit_scaling_list_mode_idc는 ue(v) 코딩될 수 있고, ph_explicit_scaling_list_mode_idc의 값은 픽처가 단 하나의 슬라이스를 포함하는 것으로 알려져 있는 경우, 0에서 1까지를 포함하는 범위에 있도록 지정될 수 있고, 그렇지 않으면, 0에서 2까지를 포함하는 범위에 있어야 한다. ph_explicit_scaling_list_mode_idc가 0, 1 또는 2인 경우의 시맨틱는 JVET-R0064에서와 동일하다.
2)
대안적으로, 픽처가 단 하나의 슬라이스만을 포함하는 것으로 알려진 경우, JVET-R0064의 ph_explicit_scaling_list_mode_idc는 u(1)을 사용하여 코딩될 수 있고, 즉, 플래그에 대해 단 하나의 비트를 사용하여 값이 0 또는 1과 동일하게 되고; 그렇지 않으면, JVET-R0064의 ph_explicit_scaling_list_mode_idc는 ue(v) 코딩될 수 있고, ph_explicit_scaling_list_mode_idc의 값은 0에서 2까지의 범위에 있도록 지정될 수 있다. ph_explicit_scaling_list_mode_idc가 0, 1 또는 2인 경우의 시맨틱는 JVET-R0064에서와 동일하다.
6.
실시예
6.1.
실시 예 # 1.
7.3.2.3
시퀀스 파라미터 세트 RBSP 신텍스
. . .
0과 동일한 sps_b_slice_allowed_flag는 CLVS의 코딩된 슬라이스 중 어느 것도 0과 동일한 slice_type을 갖지 않는다는 것을 지정한다.
1과 동일한 sps_b_slice_allowed_flag는 0과 동일한 slice_type을 갖는 CLVS의 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 지정한다.
1과 동일한 sps_weighted_bipred_flag는 명시적 가중 예측이 SPS를 참조하는 B 슬라이스에 적용될 수 있음을 지정한다. 0과 동일한 sps_weighted_bipred_flag는 명시적 가중 예측이 SPS를 참조하는 B 슬라이스에 적용되지 않음을 지정한다. 존재하지 않는 경우, sps_weighted_bipred_flag 의 값은 0과 동일한 것으로 유추된다.
0과 동일한 sps_bdof_enabled_flag는 양방향 광학 흐름 인터 예측이 비활성화됨을 지정한다. 1과 동일한 sps_bdof_enabled_flag는 양방향 광학 흐름 인터 예측이 활성화됨을 지정한다. 존재하지 않는 경우, sps_bdof_enabled_flag의 값은 0과 동일한 것으로 유추된다.
1과 동일한 sps_smvd_enabled_flag는 대칭 모션 벡터 차이가 모션 벡터 디코딩에 사용될 수 있음을 지정한다. 0과 동일한 sps_smvd_enabled_flag는 대칭 모션 벡터 차이가 모션 벡터 코딩에서 사용되지 않음을 지정한다. 존재하지 않는 경우, sps_smvd_enabled_flag의 값은 0과 동일한 것으로 유추된다.
1과 동일한 sps_dmvr_enabled_flag는 양방향 예측 기반 디코더 모션 벡터 정제가 활성화됨을 지정한다. 0과 동일한 sps_dmvr_enabled_flag는 인터 쌍 예측에 기반한 디코더 모션 벡터 정제가 비활성화됨을 지정한다. 존재하지 않는 경우, sps_dmvr_enabled_flag의 값은 0과 동일한 것으로 유추된다.
sps_bcw_enabled_flag는 CU 가중치를 사용한 이중 예측을 인터 예측에 사용할 수 있는지 여부를 지정한다. sps_bcw_enabled_flag가 0과 동일하면, CLVS에서 CU 가중치를 사용한 양방향 예측이 사용되지 않고 bcw_idx가 CLVS의 코딩 유닛 신택스에 존재하지 않도록 신택스가 제한된다. 그렇지 않으면(sps_bcw_enabled_flag가 1과 동일함) CLVS에서 CU 가중치를 사용한 이중 예측을 사용할 수 있다. 존재하지 않는 경우, sps_bcw_enabled_flag의 값은 0과 동일한 것으로 유추된다.
. . .
7.3.2.7
픽처 헤더 구조 신택스(Picture header structure syntax)
. . .
0과 동일한 ph_intra_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 0 또는 1과 동일한 slice_type을 갖는다는 것을 지정한다.
1과 동일한 ph_intra_slice_allowed_flag는 2와 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 지정한다. 존재하지 않는 경우, ph_intra_slice_allowed_flag의 값은
(!no_pic_partition_flag &&
!( rect_slice_flag && num_slices_in_pic_minus1 = = 0 ))? 1: 0와 동일한 것으로 유추된다.
대안적으로, 존재하지 않는 경우, ph_intra_slice_allowed_flag의 값은 [[1]] (no_pic_partition_flag | | ( rect_slice_flag && num_slices_in_pic_minus1 = = 0 ))? 0: 1 .과 동일한 것으로 유추된다.
0과 동일한 ph_b_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 1 또는 2와 동일한 slice_type을 갖는다는 것을 지정한다.
1과 동일한 ph_b_slice_allowed_flag는 0과 동일한 slice_type을 갖는 픽처에 하나 이상의 코딩된 슬라이스가 있을 수 있거나 없을 수 있음을 지정한다. 존재하지 않는 경우 ph_b_slice_allowed_flag의 값은 0과 같은 것으로 유추된다.
참고 -0과 동일한 ph_b_slice_allowed_flag 및 0과 동일한 ph_intra_slice_allowed_flag는 픽처의 모든 코딩된 슬라이스가 1과 동일한 slice_type을 갖는다는 것을 나타낸다.
. . .
1과 동일한 ph_collocated_from_l0_flag는 시간적 모션 벡터 예측에 사용되는 병치 픽처(collocated picture)가 레퍼런스 픽처 목록 0에서 유도됨을 지정한다.
0과 동일한 ph_collocated_from_l0_flag는 시간적 모션 벡터 예측에 사용되는 병치된 픽처가 레퍼런스 픽처 목록 1에서 유도됨을 지정한다. ph_temporal_mvp_enabled_flag 및 rpl_info_in_ph_flag가 둘 다 1이고 ph_b_slice_allowed_flag가 0일 때, ph_collocated_from_l0_flag의 값은 1과 동일한 것으로 유추된다.
ph_collocated_ref_idx는 시간적 모션 벡터 예측에 사용되는 병치 픽처의 레퍼런스 인덱스를 지정한다.
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_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) 신택스 구조가 파싱되지 않고
MvdL1 [x0] [y0] [compIdx] 및 MvdCpL1 [x0] [y0] [cpIdx] [compIdx]는 compIdx=0..1 및 cpIdx=0..2에 대해 0과 동일하게 설정된다. 0과 동일한 mvd_l1_zero_flag는 mvd_coding(x0, y0, 1) 신택스 구조가 파싱을 나타낸다. ph_inter_slice_allowed_flag가 1과 같고 ph_b_slice_allowed_flag가 0일 때, mvd_l1_zero_flag의 값은 1과 동일한 것으로 유추된다.
. . .
일부 실시예에서 선호하는 예의 목록이 다음에 제공된다.
절의 첫 번째 세트는 이전 섹션에서 논의된 기술의 예시적인 실시예를 보여준다. 다음 절들은 이전 섹션(예를 들어, 항목 1)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 처리 방법(예를 들어, 도 3에 도시된 방법(3000))에서, 포맷 규칙(format rule)에 따라 하나 이상의 비디오 영역을 포함하는 하나 이상의 계층을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계(3002)를 포함하고, 및 여기서 포맷 규칙은 대응하는 비디오 영역에 대해 허용된 슬라이스 유형에 대응하는 하나 이상의 비디오 영역 레벨에서 하나 이상의 신택스 요소가 코딩된 표현에 포함된다는 것을 지정한다.
2. 1절의 방법에서, 포맷 규칙은 하나 이상의 신택스 요소가 대응하는 비디오 영역에서 허용되는 슬라이스 유형 조합을 나타내는 값을 갖는 제1 신택스 요소를 포함하도록 지정한다.
다음 절들은 이전 섹션(예를 들어, 항목 5)에서 논의된 기술의 예시적인 실시예를 보여준다.
3. 1절 내지 2절 중 어느 하나의 방법에서, 포맷 규칙은 신택스 요소가 대응하는 픽처 또는 슬라이스에 대해 양방향으로 예측된 (B) 슬라이스가 허용되거나 사용되는지 여부를 나타내기 위해 픽처 헤더 또는 슬라이스 헤더에 포함됨을 지정한다.
4. 3절의 방법에서, 시퀀스 파라미터 세트(sequence parameter set)의 신택스 요소는 픽처 헤더 또는 슬라이스 헤더에 포함된 신택스 요소의 존재를 제어한다.
다음 절들은 이전 섹션(예를 들어, 항목 5)에서 논의된 기술의 예시적인 실시예를 보여준다.
5. 비디오 처리 방법에서, 포맷 규칙에 따라 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 하나 이상의 계층을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 및 여기서 포맷 규칙은 인에이블먼트(enablement)와 관련된 신택스 요소가 또는 슬라이스 레벨에서의 코딩 모드의 사용은 제2 규칙에 따라 픽처 헤더 또는 슬라이스 헤더 사이에 최대 한 번 포함된다.
6. 5절의 방법에서, 코딩 모드는 인루프 필터(in-loop filter) 또는 가중 예측 모드(weighted prediction mode) 또는 양자화 파라미터 델타 모드(quantization parameter delta mode)를 포함한다.
다음 절들은 이전 섹션(예를 들어, 항목 5)에서 논의된 기술의 예시적인 실시예를 보여준다.
7. 비디오 처리 방법에서, 포맷 규칙에 따라 하나 이상의 비디오 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 및 여기서 포맷 규칙은 비디오 픽처에서 허용된 슬라이스 유형이 레퍼런스 픽처 목록이 코딩된 표현에서 시그널링되거나 생성될 수 있는지 여부를 제어하는 것을 지정한다.
8. 7절의 방법에서, 포맷 규칙은 양방향 슬라이스(B-슬라이스)를 제외한 허용된 슬라이스 유형으로 인해, 레퍼런스 픽처 목록 1에 대응하는 신택스 요소가 코딩된 표현으로부터 생략된다는 것을 지정한다.
9. 7절의 방법에서, 포맷 규칙은 양방향 슬라이스(B-슬라이스)를 제외한 허용된 슬라이스 유형으로 인해 비디오 픽처에 대해 레퍼런스 픽처 목록 1의 생성 절차가 비활성화됨을 지정한다.
다음 절은 이전 섹션(예를 들어, 항목 10-15)에서 논의된 기술의 예시적인 실시예를 보여준다.
10. 비디오 프로세싱 방법으로서, 하나 이상의 서브픽처를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오 사이에서 변환을 수행하는 단계를 포함하고, 코딩된 표현은 포맷 규칙을 따르고, 포맷 규칙은 비디오 픽처의 코딩되지 않은 서브픽처의 프로세싱을 지정한다.
11. 10절의 방법에서, 포맷 규칙은 코딩되지 않은 서브픽처의 경계가 변환 동안 픽처 경계로서 처리되는 것을 지정한다.
12. 10절의 방법에서, 포맷 규칙은 코딩되지 않은 픽처의 경계에 걸친 루프 필터링을 비활성화하도록 지정한다.
13. 10절의 방법에서, 포맷 규칙은 코딩되지 않은 서브픽처가 단 하나의 비디오 픽처의 서브픽처인 것을 허용하지 않는다.
14. 10절 내지 13절 중 어느 하나의 방법에서, 포맷 규칙은 코딩되지 않은 서브픽처의 디코딩 지원을 위한 정보가 코딩된 표현의 보충 개선 정보 신택스 요소(supplementary enhancement information syntax element)에 포함된다는 것을 지정한다.
15. 10절의 방법에서, 포맷 규칙은 코딩되지 않은 서브픽처가 최대 하나의 슬라이스를 갖도록 허용되는 것을 지정한다.
다음 절은 이전 섹션(예를 들어, 항목 20-22)에서 논의된 기술의 예시적인 실시예를 보여준다.
16. 비디오 처리 방법에서, 하나 이상의 서브픽처를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고; 하나 이상의 비디오 픽처 및/또는 하나 이상의 서브픽처가 순서 규칙에 따라 코딩된 표현에 삽입되고, 순서 규칙은 현재의 인스턴트 디코더 리프레시 픽처(IDR)의 위치 또는 코딩된 표현의 현재 IDR 서브픽처 사이의 관계를 지정한다.
17. 16절의 방법에서, 순서 규칙은 코딩된 표현이 순서에서 선행 인트라 랜덤 액세스 포인트 픽처에 선행하는 현재 IDR 픽처의 레퍼런스 픽처 목록의 항목에 의해 참조되는 임의의 픽처를 포함하지 않는다는 것을 지정한다.
18. 16절 내지 17절의 방법에서, 순서 규칙은, 순서 규칙은 코딩된 표현이 순서에서 선행 인트라 랜덤 액세스 포인트 픽처에 선행하고 현재 IDR 서브픽처로서 동일한 계층 id 및 동일한 서브픽처 인텍스를 갖는 서브픽처를 갖는 현재 IDR 픽처의 레퍼런스 픽처 목록의 항목에 의해 참조되는 임의의 픽처를 포함하지 않는다는 것을 지정한다.
다음 절은 이전 섹션(예를 들어, 항목 23-24)에서 논의된 기술의 예시적인 실시예를 보여준다.
19. 비디오 처리 방법에서, 하나 이상의 서브픽처 및/또는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고; 코딩된 표현은 포냇 규칙을 따르고, 여기서 포맷 규칙은 픽처의 픽처 조건에 기초하여 픽처에서 슬라이스 유형이 허용되는지 여부의 표시가 코딩된 표현에 선택적으로 포함되는 것을 지정한다.
20. 19절의 방법에서, 픽처 조건은 픽처의 슬라이스들의 레이아웃을 포함한다.
21. 19절 내지 20절의 방법에서, 픽처 조건은 픽처가 인트라 랜덤 액세스 포인트 픽처인지 및 계층간 의존성이 변환에 대해 허용되는지 여부를 포함한다.
22. 19절 내지 21절 중 어느 하나의 방법에서, 픽처 조건은 픽처를 코딩하는 데 사용되는 다수의 레퍼런스 픽처를 포함한다.
23. 19절 내지 22절 중 어느 하나의 방법에서, 슬라이스 유형은 인트라 코딩된 슬라이스, 인터코딩된 슬라이스, B 슬라이스 또는 P 슬라이스를 포함한다.
다음 절은 이전 섹션(예를 들어, 항목 25)에서 논의된 기술의 예시적인 실시예를 보여준다.
24.
비디오 처리 방법에서, 하나 이상의 서브픽처 및/또는 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고; 코딩된 표현은 포냇 규칙을 따르고, 여기서 포맷 규칙은 적응형 루프 필터가 코딩된 표현의 적응형 파라미터 세트에서 시그널링되는 경우에 적어도 4개의 신택스 요소 중 하나가 1로 설정되는 것을 지정한다.
25. 24절의 방법에서, 상기 적어도 4개의 신택스 요소는 루마 필터 신호 플래그, 크로마 필터 신호 플래그, cc 및 cb 필터 신호 플래그 및 cc 및 cr 신호 플래그를 포함한다.
다음 절은 이전 섹션(예를 들어, 항목 33)에서 논의된 기술의 예시적인 실시예를 보여준다.
26.
비디오 처리 방법에서, 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 유닛을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고; 코딩된 표현은 포냇 규칙을 따르고, 포맷 규칙은 양자화 파라미터 오프셋 값이 코딩된 표현의 비디오 유닛 레벨에서 하나 이상의 슬라이스에 사용되는 공동 크로마 잔차 코딩에 대해 지정된다는 것을 지정한다.
27. 26절의 방법에서, 비디오 유닛은 비디오 픽처, 비디오 시퀀스, 시퀀스 파라미터 세트, 비디오 파라미터 세트, 픽처 헤더, 픽처 파라미터 세트 또는 디코딩 능력 정보 신택스 구조에 대응한다.
28. 이상의 절들의 방법에서, 비디오 영역은 비디오 픽처 또는 비디오 슬라이스를 포함한다.
29. 1절 내지 28절 중 어느 한 방법에서, 변환은 비디오를 코딩된 표현으로 인코딩하는 단계를 포함한다.
30. 1절 내지 28절의 방법 중 어느 하나에서, 변환은 비디오의 픽셀 값을 생성하기 위해 코딩된 표현을 디코딩하는 단계를 포함한다.
31. 1절 내지 30절 중 하나 이상에 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
32. 1절 내지 30절 중 하나 이상에 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
33. 컴퓨터 코드가 저장되어 있는 컴퓨터 프로그램에 있어서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제30항 중 어느 한 항에서 인용된 방법을 구현하게 하는 컴퓨터프로그램.
34. 본 문서에 기술된 방법, 장치 및 시스템.
절의 두 번째 세트는 이전 섹션(예를 들어, 항목 20-35)에서 논의된 기술의 예시적인 실시예를 보여준다.
1.
비디오 처리 방법(예를 들어, 도 7a에 도시된 바와 같은 방법(700))에서, 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(702)를 포함하고, 및 여기서 하나 이상의 픽처 및/또는 하나 이상의 서브픽처는 순서 규칙에 따라 비트스트림에 포함되고,
여기서 순서 규칙은 현재 IDR 픽처 또는 현재 IDR 서브픽처의 현재 슬라이스에 대한 레퍼런스 픽처 목록의 항목에 의해 참조되는 다른 픽처에 대한 비트스트림 내의 현재 인스턴트 디코더 리프레시(Instantaneous Decoder Refresh)(IDR) 픽처 또는 현재 IDR 서브픽처의 위치 사이의 관계를 지정한다.
2.
1절의 방법에서, 순서 규칙은 충족된 조건에 응답하여, 비트스트림은, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 현재 IDR 픽처에 선행하는 인트라 랜덤 액세스 포인트(IRAP) 픽처에 선행하는 현재 슬라이스에 대한 레퍼런스 픽처 목록의 항목에 의해 참조되는 픽처를 포함하지 않음을 지정한다.
3.
2절의 방법에서, 조건은 존재 플래그가 RPL(레퍼런스 픽처 목록(reference picture list)) 신택스 요소가 IDR_N_LP 또는 IDR_W_RADL과 동일한 NAL(네트워크 추상화 계층(network abstraction layer)) 유닛 유형을 갖는 슬라이스의 슬라이스 헤더에 존재하도록 허용된다는 것을 나타내는 것을 포함한다.
4.
2절의 방법에서, 조건은 존재 플래그가 RPL(레퍼런스 픽처 목록) 신택스 요소가 IDR_N_LP 또는 IDR_W_RADL과 동일한 NAL(네트워크 추상화 계층) 유닛 유형을 갖는 슬라이스의 슬라이스 헤더에 존재하지 않는다는 것을 나타내는 것을 포함한다.
5.
2절 내지 4절 중 어느 하나의 방법에서, 현재 IDR 픽처 및 IRAP 픽처는 특정 값과 동일한 NAL(네트워크 추상화 계층) 유닛 헤더 계층 식별자를 갖는다.
6.
1절의 방법에서, 순서 규칙은 비트스트림이 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 클린 랜덤 액세스 픽처를 선행하는 제2 인트라 랜덤 액세스 포인트(IRAP) 픽처에 선행하는 클린 랜덤 액세스 픽처의 제2 슬라이스에 대해 제2 레퍼런스 픽처 목록의 제2 항목에 의해 참조되는 임의의 픽처를 포함하지 않는 다는 것을 지정한다.
7.
1절의 방법에서, 순서 규칙은 충족된 조건에 응답하여, 비트스트림은, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 인트라 랜덤 액세스 포인트(IRAP) 서브픽처를 포함하고 현재 IDR 서브픽처를 포함하는 픽처에 선행하는 임의의 픽처에 선행하는 현재 슬라이스에 대해 레퍼런스 픽처 목록의 항목에 의해 참조되는 픽처를 포함하지 않는 다는 것을 지정한다.
8.
7절의 방법에서, 조건은 존재 플래그가 RPL(레퍼런스 픽처 목록(reference picture list)) 신택스 요소가 IDR_N_LP 또는 IDR_W_RADL과 동일한 NAL(네트워크 추상화 계층(network abstraction layer)) 유닛 유형을 갖는 슬라이스의 슬라이스 헤더에 존재하도록 허용된다는 것을 나타내는 것을 포함한다.
9.
7절의 방법에서, 조건은 존재 플래그가 RPL(레퍼런스 픽처 목록) 신택스 요소가 IDR_N_LP 또는 IDR_W_RADL과 동일한 NAL(네트워크 추상화 계층) 유닛 유형을 갖는 슬라이스의 슬라이스 헤더에 존재하지 않는다는 것을 나타내는 것을 포함한다.
10.
7절 내지 9절 어느 하나의 방법에서, IRAP 서브픽처 및 현재 IDR 서브픽처는 특정 식별 값과 동일한 NAL(네트워크 추상화 계층) 유닛 헤더 계층 식별자 및 특정 인덱스 값과 동일한 서브픽처 인덱스를 갖는다.
11. 1절의 방법에서, 순서 규칙은 비트스트림은, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 제3 인트라 랜덤 액세스 포인트(IRAP) 서브픽처를 포함하고 클린 랜덤 액세스 픽처 서브픽처를 포함하는 픽처를 선행하는 임의의 픽처에 선행하는 랜덤 액세스 픽처 서브픽처의 제3 슬라이스에 대해 레퍼런스 픽처 목록의 항목에 의해 참조되는 픽처를 포함하지 않는 다는 것을 지정한다.
12.
비디오 프로세싱 방법(예를 들어, 도 7b에 도시된 바와 같은 방법(710))에서, 포맷 규칙에 따라 하나 이상의 서브픽처 및/또는 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(712)를 포함하고, 및 여기서 포맷 규칙은 액세스 유닛이 비디오의 각 액세스 유닛에 대한 인트라 랜덤 액세스 포인트(Intra Random Access Point)(IRAP) 액세스 유닛인지 또는 점진적 디코딩 리프레시(Gradual Decoding Refresh)(GDR) 액세스 유닛인지를 나타내는 액세스 유닛의 표시의 포함함을 허용한다.
13.
12절의 방법에서, IRAP 액세스 유닛은 완전할 필요가 없고 적어도 하나의 IRAP 픽처를 포함한다.
14.
12절의 방법에서, GDR 액세스 유닛은 완전할 필요가 없고 적어도 하나의 GDR 픽처를 포함한다.
15.
12절의 방법에서, 포맷 규칙은 비디오 파라미터 세트에 의해 지정된 최하위 계층에 있는 픽처의 픽처 헤더인 액세스 유닛 구분 기호(delimiter)에 표시를 포함하도록 지정한다.
16.
비디오 프로세싱 방법(예를 들어, 도 7c에 도시된 바와 같은 방법(720))에서, 포맷 규칙에 따라 하나 이상의 서브픽처 및/또는 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(722)를 포함하고, 및 여기서 포맷 규칙은 픽처의 픽처 조건에 기초하여 픽처에서 슬라이스 유형이 허용되는지 여부의 표시가 비트스트림에 선택적으로 포함되는 것을 지정한다.
17.
16절의 방법에서, 슬라이스 유형은 인트라 코딩된 슬라이스, 인터코딩된 슬라이스, B 슬라이스 또는 P 슬라이스를 포함한다.
18.
16절 내지 17절의 방법에서, 픽처 조건은 픽처의 슬라이스들의 레이아웃을 포함한다.
19.
16절 내지 18절 중 어느 하나의 방법에서, 픽처 조건은 픽처가 인트라 랜덤 액세스 포인트(IRAP) 픽처인지 및 계층간 의존성이 변환을 위해 허용되는지 여부를 포함한다.
20.
16절 내지 19절 중 어느 하나의 방법에서, 픽처 조건은 i) 픽처 파라미터 세트가 픽처당 슬라이스만이 적용됨을 나타내는지 및/또는 ii) 픽처 파티션이 사용되지 않고 및/또는 iii) 직사각형 슬라이스 및 픽처당 하나의 슬라이스가 사용되고 및/또는 iv) 픽처가 직사각형 슬라이스로 파티셔닝 되는지를 포함한다.
21.
16절 내지 19절 중 어느 한 항의 방법에서, 픽처 조건은 상위 레벨 비디오 유닛에서 시그널링되는 하나 이상의 신택스 요소를 포함한다.
22.
16절 또는 17의 방법에서, 픽처 조건은 픽처를 코딩하는데 사용되는 다수의 레퍼런스 픽처를 포함한다.
23.
22절의 방법에서, 레퍼런스 픽처들의 수는 제1 레퍼런스 픽처 목록 신택스 구조의 항목들의 수를 나타내는 제1 필드 및/또는 제2 레퍼런스 픽처 목록 신택스 구조의 항목들의 수를 나타내는 제2 필드에 기초한다.
24.
비디오 프로세싱 방법(예를 들어, 도 7d에 도시된 바와 같은 방법(730))에서, 하나 이상의 서브픽처 및/또는 하나 이상의 슬라이스를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(732)를 포함하고, 및 여기서 포맷 규칙은 적어도 2개 또는 4개의 신택스 요소 중 하나가 ALF(적응형 루프 필터(adaptive loop filter)) 적응형 파라미터 세트(adaptation parameter set)에 대한 특정 값으로 설정되도록 지정한다.
25.
24절의 방법에서, 적어도 4개의 신택스 요소는 루마 필터 세트가 시그널링되는지 여부를 지정하는 루마 필터 신호 플래그, 크로마 필터가 시그널링되는지 여부를 지정하는 크로마 필터 신호 플래그, Cb 컬러 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는지 여부를 지정하는 cc 및 cb 필터 신호 플래그, 및 Cr 컬러 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는지 여부를 지정하는 cc 및 cr 신호 플래그를 포함한다.
26.
비디오 프로세싱 방법(예를 들어, 도 7e에 도시된 바와 같은 방법(740))으로서, 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(742)를 포함하고, 상기 포맷 규칙은 필터 존재 플래그 및/또는 필터 계수의 표시를 시그널링할지 여부 및/또는 방법은 적응형 파라미터 세트 RBSP(원시 바이트 시퀀스 페이로드) 신택스에서 적응형 루프 필터링 데이터 구조 및/또는 신택스 요소의 이전에 코딩된 정보에 의존하는 것을 지정한다.
27.
26절의 방법에서, 포맷 규칙은, 표시가 존재하지 않는 경우에, 적응형 루프 필터링 데이터 구조로 이전에 코딩된 정보에 기초하여 표시의 값을 유추하도록 추가로 지정한다.
28.
26절의 방법에서, 포맷 규칙은 3개의 신택스 요소 모두가 특정 값과 동일한지 여부에 따라 Cr 컬러 컴포넌트에 대한 크로스 컴포넌트 필터가 시그널링되는지 여부를 지정하는 cc 및 cr 필터 신호 플래그를 시그널링할지 여부를 추가로 지정하고, 3개의 신택스 요소는 루마 필터 세트가 시그널링되는지 여부를 지정하는 루마 필터 신호 플래그, 크로마 필터가 시그널링되는지 여부를 지정하는 크로마 필터 신호 플래그, Cb 컬러 컴포넌트에 대한 크로스 컴포넌트 필터가 있는지 여부를 지정하는 cc 및 cb 필터 신호 플래그를 포함한다.
29.
26절의 방법에서, 포맷 규칙은 크로마 필터가 시그널링되는지 여부를 지정하는 크로마 필터 신호 플래그를 시그널링할지 여부는 루마 필터 세트가 시그널링되는지 여부를 지정하는 루마 필터 신호 플래그의 값에 의존하는 것을 추가로 지정한다.
30.
비디오 처리 방법(예를 들어, 도 7f에 도시된 바와 같은 방법(750))에서, 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(752)를 포함하고, 및 여기서 포맷 규칙은, 픽처보다 작은 비디오 영역에 대해, 부가 정보(side information)가 APS에 포함된 코딩 툴에 대응하는 다중 적응형 파라미터 세트(APS)를 참조하도록 허용한다.
31.
30절의 방법에서, 다중 APS는 스케일링 APS, LMCS(크로마 스케일링을 갖는 루마 매핑) APS, 및/또는 다른 코딩 툴에 대응하는 APS를 포함한다.
32.
30절의 방법에서, 포맷 규칙은 비트스트림이 참조될 상기 다중 APS를 포함하는 것을 지정한다.
33.
30절의 방법에서, 포맷 규칙은 비트스트림이 참조될 상기 다중 APS의 인덱스를 포함함을 지정한다.
34.
30절의 방법에서, 포맷 규칙은 변환을 위해 사용될 상기 다중 APS가 비디오의 컬러 컴포넌트에 의존함을 추가로 지정한다.
35.
34절의 방법에서, 포맷 규칙은 비디오의 루마 컴포넌트 및 크로마 컴포넌트에 대해 상이한 APS를 사용하도록 추가로 지정한다.
36.
34절의 방법에서, 포맷 규칙은 루마 컴포넌트 및 크로마 컴포넌트에 대해 이용될 상기 다중 APS의 수 및/또는 인덱스가 비트스트림에서 별도로 시그널링되는 것을 추가로 지정한다.
37. 30절의 방법에서, 포맷 규칙은 사용될 다중 APS를 시그널링하는 방법이 픽처의 서브픽처에 의존함을 추가로 지정한다.
38. 30절의 방법에서, 포맷 규칙은 켜짐/꺼짐 제어 및/또는 사용될 상기 다중 APS가 각각의 서브픽처에 대해 선택되거나 시그널링되는 것을 추가로 지정한다.
39.
비디오 프로세싱 방법(예를 들어, 도 7g에 도시된 바와 같은 방법(760))에서, 포맷 규칙에 따라 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(762)를 포함하고, 및 여기서 포맷 규칙은 인루프 필터링 동작을 제외한 디코딩 과정에서 코딩된 픽처의 서브픽처가 픽처로 취급되는지 여부를 나타내는 제1 변수의 값을 어떻게 유추할 것인가는 비트스트림 내 서브픽처 정보의 존재를 나타내는 제2 변수에 의존하는 것을 지정한다.
40.
39절의 방법에서, 포맷 규칙은, 제1 변수가 존재하지 않는 경우에, 제1 변수의 값이 제2 변수의 값과 동일한 것으로 유추되는 것을 지정한다.
41.
비디오 프로세싱 방법(예를 들어, 도 7h에 도시된 바와 같은 방법(770))으로서, 포맷 규칙에 따라 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(772), 및
여기서 포맷 규칙은, 하나 이상의 조건이 충족되는 것에 응답하여, 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 필터의 적용 가능성을 나타내는 변수는 디블로킹 필터가 픽처 파라미터 세트를 참조하는 슬라이스에 적용됨을 나타내는 제1 값 또는 디블로킹 필터가 픽처 파라미터 세트를 참조하는 슬라이스에 대해 비활성화됨을 나타내는 제2 값 갖는 것을 지정한다.
42.
41절의 방법에서, 제1 값은 1이고 제2 값은 0이다.
43.
42절의 방법에서, 하나 이상의 조건은 1) 슬라이스 레벨의 디블로킹 필터 비활성화 플래그 및 디블로킹 필터의 비활성화를 나타내는 픽처 헤더 레벨이 존재하지 않고, 2) 디블로킹 필터 오버라이드 활성화 플래그는 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 동작이 오버라이드되지 않음을 나타내고, 3) 디블로킹 필터 오버라이드 활성화 플래그는 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 동작이 무시되도록 허용되고, 디블로킹 필터 존재 플래그는 디블로킹 필터 정보가 픽처 헤더 신택스 구조에 존재함을 나타내고, 디블로킹 필터 비활성화 플래그는 픽처 헤더 레벨에서 픽처에 대해 디블로킹 필터가 비활성화되어 있음을 나타내고, 또는 4) 디블로킹 필터 오버라이드 활성화 플래그는 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 동작이 무시되도록 허용되고, 디블로킹 필터 존재 플래그는 디블로킹 필터 정보가 픽처 헤더 신택스 구조에 존재함을 나타내고, 디블로킹 필터 비활성화 플래그는 슬라이스 레벨에서 픽처에 대해 디블로킹 필터가 비활성화되어 있음을 나타내는 것을 포함한다.
44.
41절의 방법에서, 제1 값은 0이고 제2 값은 0이다.
45.
44절의 방법에서, 하나 이상의 조건은 1) 슬라이스 레벨의 디블로킹 필터 비활성화 플래그 및 디블로킹 필터의 비활성화를 나타내는 픽처 헤더 레벨이 존재하지 않고, 2) 디블로킹 필터 오버라이드 활성화 플래그는 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 동작이 오버라이드되지 않음을 나타내고, 3) 디블로킹 필터 오버라이드 활성화 플래그는 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 동작이 무시되도록 허용되고, 디블로킹 필터 존재 플래그는 디블로킹 필터 정보가 픽처 헤더 신택스 구조에 존재함을 나타내고, 디블로킹 필터 비활성화 플래그는 픽처 헤더 레벨에서 현재 픽처에 대해 디블로킹 필터가 활성화되어 있음을 나타내고, 또는 4) 디블로킹 필터 오버라이드 활성화 플래그는 픽처 파라미터 세트를 참조하는 픽처에 대한 디블로킹 동작이 무시되도록 허용되고, 디블로킹 필터 존재 플래그는 디블로킹 필터 정보가 픽처 헤더 신택스 구조에 존재하지 않음을 나타내고, 디블로킹 필터 비활성화 플래그는 슬라이스 레벨에서 픽처에 대해 디블로킹 필터가 활성화되어 있음을 나타내는 것을 포함한다.
46. 비디오 처리 방법(예를 들어, 도 7i에 도시된 바와 같은 방법(780))으로서, 포맷 규칙에 따라 하나 이상의 슬라이스를 포함하는 하나 이상의 비디오 유닛을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(782)를 포함하고, 및 여기서 포맷 규칙은 조인트 크로마 잔차 코딩에 사용되는 양자화 파라미터 오프셋 값이 슬라이스 레벨보다 큰 하나 이상의 비디오 유닛 레벨에 포함된다는 것을 지정한다.
47. 46절의 방법에서, 하나 이상의 비디오 유닛은 비디오 픽처, 비디오 시퀀스, 시퀀스 파라미터 세트, 비디오 파라미터 세트, 픽처 헤더, 픽처 파라미터 세트 또는 디코딩 능력 정보 신택스 구조에 대응한다.
48.
46절의 방법에서, 하나 이상의 비디오 유닛 레벨은 제1 레벨 및 제2 레벨을 포함하고, 및 여기서 포맷 규칙은 양자화 파라미터 오프셋 값이 제1 레벨에서 시그널링되는지 여부에 따라 제2 레벨에서 양자화 파라미터 오프셋 값을 시그널링할지 여부를 추가로 지정한다.
49.
46절의 방법에서, 하나 이상의 비디오 유닛 레벨은 제1 레벨 및 제1 레벨보다 낮은 제2 레벨을 포함하고, 및 여기서 포맷 규칙은 양자화 파라미터 오프셋 값이 제1 레벨에서 시그널링되고 오버라이드 플래그가 제1 레벨에서 시그널링된 값을 오버라이드하기 위해 제2 레벨의 양자화 파라미터 오프셋 값을 시그널링할지 여부를 나타내도록 시그널링됨을 추가로 지정한다.
50.
비디오 처리 방법(예를 들어, 도 7j에 도시된 바와 같은 방법(790))에서, 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(792)를 포함하고, 및 여기서 포맷 규칙은 (i) 픽처 헤더 레벨에서 LMCS(루마 매핑과 크로마 스케일링(luma mapping with chroma scaling)) 모드 식별을 나타내는 변수를 코딩하는 데 사용되는 하나 이상의 비트의 고정 또는 가변 길이, 및 (ii) 변수의 값의 범위를 지정한다.
51.
50절의 방법에서, 포맷 규칙은 변수가 ue(v)를 사용하여 코딩되고 변수 값의 범위가 0에서 2까지를 포함하는 사이임을 지정한다.
52.
50절의 방법에서, 포맷 규칙은 ue(v)를 사용하여 변수가 코딩되고 변수의 값의 범위가 0에서 1까지를 포함하는 사이이고, 픽처가 단 하나의 슬라이스를 포함하는 경우 및 그렇지 않은 경우, 범위는 0에서 2까지를 포함하는 사이임을 지정한다.
53.
50절의 방법에서, 포맷 규칙은 픽처가 단 하나의 슬라이스를 포함하는 경우에, 변수의 값이 0 또는 1이 되도록 변수가 u(1)를 사용하여 코딩되고 그렇지 않으면, 변수가 ue(v)를 사용하여, 변수 값의 범위가 0에서 2까지를 포함하는 사이가 되도록 코딩되는 것을 지정한다.
54.
비디오 프로세싱 방법(예를 들어, 도 7k에 도시된 바와 같은 방법(800))으로서, 포맷 규칙에 따라 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계(802)를 포함하고, 및 여기서 포맷 규칙은 (i) 픽처 헤더 레벨에서 스케일링 목록 모드 식별을 나타내는 변수를 코딩하는 데 사용되는 하나 이상의 비트의 고정 또는 가변 길이, 및 (ii) 변수의 값의 범위를 지정한다.
55. 54절의 방법에서, 포맷 규칙은 변수가 ue(v)를 사용하여 코딩되고 변수 값의 범위가 0에서 2까지를 포함하는 사이임을 지정한다.
56. 54절의 방법에서, 포맷 규칙은 ue(v)를 사용하여 변수가 코딩되고 변수의 값의 범위가 0에서 1까지를 포함하는 사이이고, 픽처가 단 하나의 슬라이스를 포함하는 경우 및 그렇지 않은 경우, 범위는 0에서 2까지를 포함하는 사이임을 지정한다.
57. 54절의 방법에서, 포맷 규칙은 픽처가 단 하나의 슬라이스를 포함하는 경우에, 변수의 값이 0 또는 1이 되도록 변수가 u(1)를 사용하여 코딩되고 그렇지 않으면, 변수가 ue(v)를 사용하여, 변수 값의 범위가 0에서 2까지를 포함하는 사이가 되도록 코딩되는 것을 지정한다.
58. 1절 내지 57절 중 어느 하나의 방법에서, 변환은 현재 비디오 블록을 비트스트림으로 인코딩하는 단계를 포함한다.
59. 1절 내지 57절 중 어느 하나의 방법에서, 변환은 비트스트림으로부터 비디오를 디코딩하는 단계를 포함한다.
60. 1절 내지 57절의 방법에서, 변환은 비디오로부터 비트스트림을 생성하는 단계를 포함하고, 방법은: 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함한다.
61. 1절 내지 60절 중 어느 하나에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
62. 1절 내지 60절 중 어느 하나에 기재된 방법을 포함하고, 비트스트림을 컴퓨터 판독 가능 비일시적 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트스트림 저장 방법.
63. 실행될 때 프로세서로 하여금 1절 내지 60절 중 어느 하나 이상에 언급된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독 가능 매체.
64. 전술한 방법 중 어느 하나에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
65. 비트스트림을 저장하기 위한 비디오 처리 장치에 있어서, 비디오 처리 장치는 1항 내지 60항 중 어느 한 항에 기재된 방법을 구현하도록 구성된다.
본 문서에서 "비디오 처리(video processing)"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제(decompression)를 의미할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치들에 함께 배치(병치)(co-located)되거나 확산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록(macroblock)은 변환 및 코딩된 오류 잔차 값의 관점에서, 그리고 또한 비트스트림의 헤더 및 기타 필드에 비트를 사용하여 인코딩 될 수 있다. 또한, 변환 동안, 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드들이 존재하거나 없을 수 있다는 지식으로 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정 신택스 필드가 포함되는지 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로부터 신택스 필드를 포함하거나 또는 제외함으로써 코딩된 표현을 생성할 수 있다.
본 문서에 기재된 개시 및 기타 솔루션, 예, 실시예, 모듈 및 기능적 동작(operation)은 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있으며, 여기에는 이 문서 및 그 구조적 등가물 또는 그 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 기타 실시예는 하나 이상의 컴퓨터 프로그램 제품으로 구현될 수 있고, 즉, 컴퓨터 프로그램 지침의 하나 이상의 모듈을 컴퓨터 판독 가능한 매체에 인코딩 하여 실행하거나, 데이터 처리 장치의 작동을 제어할 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 조성 또는 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 예를 들어, 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 장치, 장치 및 컴퓨터를 포함한다. 장치는 하드웨어에 추가하여 대응 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인위적으로 생성된 신호, 예를 들어, 기계에서 생성된 전기, 광학 또는 전자기 신호이고, 이는 적합한 수신기 장치로 전송하기 위한 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일 된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있으며 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴 또는 기타 유닛으로 모든 형태로 배포할 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 대응하는 프로그램에 전용되는 단일 파일 또는 여러 조정된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장할 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행하도록 배포할 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은 하나 이상의 프로그래밍 가능한 프로세서가 하나 이상의 프로그래밍 가능한 프로세서에서 수행하여 입력 데이터에서 작동하고 출력을 생성하여 기능을 수행할 수 있다. 프로세스 및 로직 흐름도 수행될 수 있으며, 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래밍 가능한 게이트 어레이) 또는 ASIC(애플리케이션 별 집적 회로)로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 지침과 데이터를 받게 된다. 컴퓨터의 필수 요소는 지침과 데이터를 저장하기 위한 하나 이상의 메모리 장치를 수행하기 위한 프로세서이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 전체를 포함하거나 작동 가능하게 연결된다. 그러나, 컴퓨터에 이러한 장치가 필요하지 않는다. 컴퓨터 프로그램 지침 및 데이터를 저장하는 데 적합한 컴퓨터 판독 가능한 미디어에는 반도체 메모리 장치, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치, 자기 디스크, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 마그네토 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 미디어 및 메모리 장치가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보충되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 어떤 주제의 범위 나 청구 될 수 있는 것에 대한 제한으로 해석되어서는 안되고, 오히려 특정 기술의 특정 구현예에 특정할 수 있는 특징에 대한 설명으로 해석되어서는 안 된다. 이 특허 문서에 기재된 특정 특징은 별도의 실시예의 맥락에서 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 서브 조합으로 다중 실시예들에서도 구현될 수 있다. 더욱이, 앞서와 같이 특징들은 특정 조합으로 작용하는 것으로 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징은 어떤 경우에는 조합으로부터 제외될 수 있고, 주장된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작은 특정 순서로 도면에 묘사되어 있지만, 바람직한 결과를 달성하기 위하여, 이러한 동작이 표시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예들에서, 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현 및 예제만 설명되며, 이 특허 문서에서 기술되고 예시되는 내용에 기초하여 다른 구현들, 개선 및 변형들을 만들 수 있다.