CN115918084A - 通用级别索引的信令 - Google Patents

通用级别索引的信令 Download PDF

Info

Publication number
CN115918084A
CN115918084A CN202180037141.9A CN202180037141A CN115918084A CN 115918084 A CN115918084 A CN 115918084A CN 202180037141 A CN202180037141 A CN 202180037141A CN 115918084 A CN115918084 A CN 115918084A
Authority
CN
China
Prior art keywords
equal
flag
specifies
slice
sps
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202180037141.9A
Other languages
English (en)
Inventor
邓智玭
王业奎
张莉
张凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN115918084A publication Critical patent/CN115918084A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

描述了用于视频处理的方法、系统和装置。该处理可以包括编码、解码或转码。一种示例视频处理方法包括根据规则来执行视频和视频的比特流之间的转换,其中语法结构包括被包括在比特流中并对应于一个或多个输出层集的一个或多个视频编解码层的信息;并且其中该规则指定语法结构中指定一个或多个输出层集符合的级别信息的语法元素的起始位置被约束为与字节边界对齐。

Description

通用级别索引的信令
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请适时要求于2020年5月22日提交的国际专利申请号PCT/CN2020/091740的优先权和权益。出于根据法律的所有目的,前述申请的全部公开通过引用而并入作为本申请的公开的一部分。
技术领域
本专利文档涉及图像和视频编码和解码。
背景技术
数字视频占了互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可以由视频编码器和解码器用于使用对视频的编解码表示的解码有用的控制信息来处理编解码表示的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,并且其中该规则指定语法元素被包括在档次、层、级别信息语法结构中以指示一个或多个通用约束信息语法元素是否被包括在通用约束信息语法结构中和/或通用约束信息语法结构是否被包括在档次、层、级别信息语法结构中。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,其中语法结构包括被包括在比特流中并对应于一个或多个输出层集的一个或多个视频编解码层的信息;并且其中该规则指定语法结构中指定一个或多个输出层集符合的级别信息的语法元素的起始位置被约束为与字节边界对齐。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,其中该规则指定语法结构指示关于比特流的约束信息;其中该规则指定语法结构被允许包括不与字节边界对齐的语法元素。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,其中该规则指定保留比特在何处以及如何被包括在指示适用于转换的一个或多个编解码约束的语法结构中。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于包括包含一个或多个条带的一个或多个图片的视频和视频的比特流之间的转换,根据规则来确定仅I条带被启用以用于转换;以及根据该确定来执行转换,其中该规则指定,响应于仅I条带被启用,比特流符合一个或多个附加约束。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,其中该规则指定序列参数集、图片参数集、图片标头或序列标头中的一个或多个语法元素根据指示适用于转换的约束的通用约束信息语法元素来约束。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,其中该规则指定指示适用于转换的一个或多个约束的语法结构中的第一语法元素是否或如何被指示依赖于第二语法元素是否或如何在语法结构中被指示。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,其中该规则指定指示对转换的通用约束的语法元素是否或如何被包括在比特流中依赖于用于转换的档次和/或级别。
在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现本文描述的方法之一。
这些以及其他特征将在本文档中描述。
附图说明
图1是示例视频处理系统的框图。
图2是视频处理装置的框图。
图3是视频处理的示例方法的流程图。
图4是示出根据所公开的技术的一些实施例的视频编解码系统的框图。
图5是示出根据所公开的技术的一些实施例的编码器的框图。
图6是示出根据所公开的技术的一些实施例的解码器的框图。
图7是基于所公开的技术的一些实施方式的视频处理的示例方法的流程图。
图8A和图8B是基于所公开的技术的一些实施方式的视频处理的示例方法的流程图。
图9A至图9E是基于所公开的技术的一些实施方式的视频处理的示例方法的流程图。
具体实施方式
在本文档中使用章节标题以易于理解,并且不将每个章节中公开的技术和实施例的应用性仅限制于该章节。此外,在一些描述中使用H.266技术术语仅仅是为了易于理解,而不是为了限制所公开的技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
1.引言
本文档涉及视频编解码技术。具体地,关于视频编解码中的约束标志相关语法的设计。该思想可以单独或以各种组合应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(VVC)。
2.缩写
APS 自适应参数集
AU 访问单元
AUD 访问单元分隔符
AVC 高级视频编解码
CLVS 编解码层视频序列
CPB 编解码图片缓冲区
CRA 完全随机访问
CTU 编解码树单元
CVS 编解码视频序列
DPB 解码图片缓冲区
DPS 解码参数集
EOB 比特流结尾
EOS 序列结尾
GDR 逐渐解码刷新
HEVC 高效视频编解码
HRD 假设参考解码器
IDR 即时解码刷新
JEM 联合探索模型
MCTS 运动约束片集
NAL 网络抽象层
OLS 输出层集
PH 图片标头
PPS 图片参数集
PTL 档次、层和级别
PU 图片单元
RBSP 原始字节序列有效载荷
SEI 辅助增强信息
SH 条带标头
SPS 序列参数集
SVC 可缩放视频编解码
VCL 视频编解码层
VPS 视频参数集
VTM VVC测试模型
VUI 视频可用性信息
VVC 多功能视频编解码
3.背景
视频编解码标准主要是通过开发公知的ITU-T和ISO/IEC标准而演变的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPEG-1和MPEG-4Visual,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(Joint Video Exploration Team,JVET)。从那时起,JVET已经采用了许多新的方法,并将其放入了名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。JVET会议每季度同时举行一次,新编解码标准的目标是与HEVC相比降低50%的比特率。新视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编解码(VVC),第一版VVC测试模型(VTM)也在当时发布。由于对VVC标准化的持续努力,新的编解码技术在每次JVET会议上都被采用到VVC标准中。VVC的工作草案和测试模型VTM在每次会议后都会更新。VVC项目现在的目标是在2020年7月的会议上技术上完成(FDIS)。
3.1.通用档次、层、级别语法和语义
在最新的VVC草案文本中,通用档次、层、级别语法和语义如下:
Figure BDA0003956096920000051
Figure BDA0003956096920000061
profile_tier_level()语法结构提供级别信息,并且可选地,提供档次、层、子档次和通用约束信息。
当在VPS中包括profile_tier_level()语法结构时,OlsInScope是由VPS指定的一个或多个OLS。当在SPS中包括profile_tier_level()语法结构时,OlsInScope是仅包括作为参考SPS的层当中的最低层的层的OLS,并且该最低层是独立层。
general_profile_idc指示OlsInScope符合的档次,如附录A所指定的。除了附录A中指定的值之外,比特流不应当包含general_profile_idc的值。general_profile_idc的其他值被保留以供ITU-T|ISO/IEC将来使用。
general_tier_flag指定用于解释general_level_idc的层上下文,如附录A所指定的。
general_level_idc指示OlsInScope符合的级别,如附录A所指定的。除了附录A中指定的值之外,比特流不应当包含general_level_idc的值。general_level_idc的其他值被保留以供ITU-T|ISO/IEC将来使用。
注1–general_level_idc的更大值指示更高级别。OlsInScope的DCI NAL单元中信令通知的最大级别可以高于但不能低于OlsInScope内包含的CLVS的SPS中信令通知的级别。
注2–当OlsInScope符合多个档次时,general_profile_idc应该指示提供优选的解码结果或优选的比特流标识的档次,如编码器所确定的(以本规范中未指定的方式)。
注3–当OlsInScope的CVS符合不同的档次时,多个profile_tier_level()语法结构可以被包括在DCI NAL单元中,使得对于OlsInScope的每个CVS,有能够解码CVS的解码器的所指示的档次、层和级别的至少一个集合。
num_sub_profiles指定general_sub_profile_idc[i]语法元素的数量。
general_sub_profile_idc[i]指示如Rec.ITU-T T.35所指定而注册的第i个互操作性元数据,其内容在本规范中未指定。
sublayer_level_present_flag[i]等于1指定级别信息存在于TemporalId等于i的子层表示的profile_tier_level()语法结构中。sublayer_level_present_flag[i]等于0指定级别信息不存在于TemporalId等于i的子层表示的profile_tier_level()语法结构中。
ptl_alignment_zero_bits应当等于0。
语法元素sublayer_level_idc[i]的语义,除了不存在值的推断的规范之外,与语法元素general_level_idc相同,但适用于TemporalId等于i的子层表示。
当不存在时,sublayer_level_idc[i]的值被推断如下:
-sublayer_level_idc[maxNumSubLayersMinus1]被推断为等于相同profile_tier_level()结构的general_level_idc,
-对于从maxNumSubLayersMinus1-1到0(按i值的降序)(包括maxNumSubLayersMinus1-1和0)的i,sublayer_level_idc[i]被推断为等于sublayer_level_idc[i+1]。
3.2.通用约束信息语法和语义
在最新的VVC草案文本中,通用约束信息语法和语义如下:
Figure BDA0003956096920000071
Figure BDA0003956096920000081
general_progressive_source_flag和general_interlaced_source_flag被解释如下:
-如果general_progressive_source_flag等于1,并且general_interlaced_source_flag等于0,则OlsInScope中的图片的源扫描类型应该被解释为仅逐行扫描。
-否则,如果general_progressive_source_flag等于0,并且general_interlaced_source_flag等于1,则OlsInScope中的图片的源扫描类型应该被解释为仅隔行扫描。
-否则,如果general_progressive_source_flag等于0,并且general_interlaced_source_flag等于0,则OlsInScope中的图片的源扫描类型应该被解释为未知或未指定。
-否则(general_progressive_source_flag等于1,并且general_interlaced_source_flag等于1),在帧字段信息SEI消息中使用语法元素source_scan_type在图片级别指示OlsInScope中的每个图片的源扫描类型。比特流一致性的要求是,当general_progressive_source_flag等于1并且general_interlaced_source_flag等于1时,帧字段信息SEI消息应当存在于每个AU中。
注1–解码器可以忽略general_progressive_source_flag和general_interlaced_source_flag的值。此外,图片的实际源扫描类型在本规范的范围之外,并且编码器选择general_progressive_source_flag和general_interlaced_source_flag的值的方法未指定。
general_non_packed_constraint_flag等于1指定在OlsInScope的比特流中不应当存在任何帧封装排列SEI消息。general_non_packed_constraint_flag等于0不施加这样的约束。
注2–解码器可以忽略general_non_packed_constraint_flag的值,因为没有与帧封装排列SEI消息的存在或解释相关联的解码过程要求。
general_frame_only_constraint_flag等于1指定OlsInScope传送表示帧的图片。general_frame_only_constraint_flag等于0指定OlsInScope传送可以表示或者可以不表示帧的图片。
注3–解码器可以忽略general_frame_only_constraint_flag的值,因为没有与其相关联的解码过程要求。
general_non_projected_constraint_flag等于1指定在OlsInScope的比特流中不应当存在任何等矩形投影SEI消息或广义立方图投影SEI消息。general_non_projected_constraint_flag等于0不施加这样的约束。
注4–解码器可以忽略general_non_projected_constraint_flag的值,因为没有与等矩形投影SEI消息和广义立方图投影SEI消息的存在或解释相关联的解码过程要求。
intra_only_constraint_flag等于1指定slice_type应当等于I。intra_only_constraint_flag等于0不施加这样的约束。
max_bitdepth_constraint_idc指定bit_depth_minus8应当在0到max_bitdepth_constraint_idc的范围(包括0和max_bitdepth_constraint_idc)内。
max_chroma_format_constraint_idc指定chroma_format_idc应当在0到max_chroma_format_constraint_idc的范围(包括0和max_chroma_format_constraint_idc)内。
no_res_change_in_clvs_constraint_flag等于1指定res_change_in_clvs_allowed_flag应当等于0。no_res_change_in_clvs_constraint_flag等于0不施加这样的约束。
one_tile_per_pic_constraint_flag等于1指定每个图片应当仅包含一个片。one_tile_per_pic_constraint_flag等于0不施加这样的约束。
one_slice_per_pic_constraint_flag等于1指定每个图片应当仅包含一个条带。one_slice_per_pic_constraint_flag等于0不施加这样的约束。
one_subpic_per_pic_constraint_flag等于1指定每个图片应当仅包含一个子图片。one_subpic_per_pic_constraint_flag等于0不施加这样的约束。当one_slice_per_pic_constraint_flag等于1时,one_subpic_per_pic_constraint_flag的值应当等于1。
no_qtbtt_dual_tree_intra_constraint_flag等于1指定qtbtt_dual_tree_intra_flag应当等于0。no_qtbtt_dual_tree_intra_constraint_flag等于0不施加这样的约束。
no_partition_constraints_override_constraint_flag等于1指定partition_constraints_override_enabled_flag应当等于0。no_partition_constraints_override_constraint_flag等于0不施加这样的约束。
no_sao_constraint_flag等于1指定sps_sao_enabled_flag应当等于0。no_sao_constraint_flag等于0不施加这样的约束。
no_alf_constraint_flag等于1指定sps_alf_enabled_flag应当等于0。no_alf_constraint_flag等于0不施加这样的约束。
no_ccalf_constraint_flag等于1指定sps_ccalf_enabled_flag应当等于0。no_ccalf_constraint_flag等于0不施加这样的约束。
no_joint_cbcr_constraint_flag等于1指定sps_joint_cbcr_enabled_flag应当等于0,no_joint_cbcr_constraint_flag等于0不施加这样的约束。
no_ref_wraparound_constraint_flag等于1指定sps_ref_wraparound_enabled_flag应当等于0。no_ref_wraparound_constraint_flag等于0不施加这样的约束。
no_temporal_mvp_constraint_flag等于1指定sps_temporal_mvp_enabled_flag应当等于0。no_temporal_mvp_constraint_flag等于0不施加这样的约束。
no_sbtmvp_constraint_flag等于1指定sps_sbtmvp_enabled_flag应当等于0。no_sbtmvp_constraint_flag等于0不施加这样的约束。
no_amvr_constraint_flag等于1指定sps_amvr_enabled_flag应当等于0。no_amvr_constraint_flag等于0不施加这样的约束。
no_bdof_constraint_flag等于1指定sps_bdof_enabled_flag应当等于0。no_bdof_constraint_flag等于0不施加这样的约束。
no_dmvr_constraint_flag等于1指定sps_dmvr_enabled_flag应当等于0。no_dmvr_constraint_flag等于0不施加这样的约束。
no_cclm_constraint_flag等于1指定sps_cclm_enabled_flag应当等于0。no_cclm_constraint_flag等于0不施加这样的约束。
no_mts_constraint_flag等于1指定sps_mts_enabled_flag应当等于0。no_mts_constraint_flag等于0不施加这样的约束。
no_sbt_constraint_flag等于1指定sps_sbt_enabled_flag应当等于0。no_sbt_constraint_flag等于0不施加这样的约束。
no_affine_motion_constraint_flag等于1指定sps_affine_enabled_flag应当等于0。no_affine_motion_constraint_flag等于0不施加这样的约束。
no_bcw_constraint_flag等于1指定sps_bcw_enabled_flag应当等于0。no_bcw_constraint_flag等于0不施加这样的约束。
no_ibc_constraint_flag等于1指定sps_ibc_enabled_flag应当等于0。no_ibc_constraint_flag等于0不施加这样的约束。
no_ciip_constraint_flag等于1指定sps_ciip_enabled_flag应当等于0。no_cipp_constraint_flag等于0不施加这样的约束。
no_fpel_mmvd_constraint_flag等于1指定sps_fpel_mmvd_enabled_flag应当等于0。no_fpel_mmvd_constraint_flag等于0不施加这样的约束。
no_gpm_constraint_flag等于1指定sps_gpm_enabled_flag应当等于0。no_gpm_constraint_flag等于0不施加这样的约束。
no_ladf_constraint_flag等于1指定sps_ladf_enabled_flag应当等于0。no_ladf_constraint_flag等于0不施加这样的约束。
no_transform_skip_constraint_flag等于1指定sps_transfrom_skip_enabled_flag应当等于0。no_transform_skip_constraint_flag等于0不施加这样的约束。
no_bdpcm_constraint_flag等于1指定sps_bdpcm_enabled_flag应当等于0。no_bdpcm_constraint_flag等于0不施加这样的约束。
no_qp_delta_constraint_flag等于1指定比特流一致性的要求是cu_qp_delta_enabled_flag应当等于0。no_qp_delta_constraint_flag等于0不施加这样的约束。
no_dep_quant_constraint_flag等于1指定比特流一致性的要求是sps_dep_quant_enabled_flag应当等于0。no_dep_quant_constraint_flag等于0不施加这样的约束。
no_sign_data_hiding_constraint_flag等于1指定比特流一致性的要求是sps_sign_data_hiding_enabled_flag应当等于0。no_sign_data_hiding_constraint_flag等于0不施加这样的约束。
no_mixed_nalu_types_in_pic_constraint_flag等于1指定比特流一致性的要求是mixed_nalu_types_in_pic_flag应当等于0。no_mixed_nalu_types_in_pic_constraint_flag等于0不施加这样的约束。
no_trail_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于TRAIL_NUT的NAL单元。no_trail_constraint_flag等于0不施加这样的约束。
no_stsa_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于STSA_NUT的NAL单元。no_stsa_constraint_flag等于0不施加这样的约束。
no_rasl_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于RASL_NUT的NAL单元。no_rasl_constraint_flag等于0不施加这样的约束。
no_radl_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于RADL_NUT的NAL单元。no_radl_constraint_flag等于0不施加这样的约束。
no_idr_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于IDR_W_RADL或IDR_N_LP的NAL单元。no_idr_constraint_flag等于0不施加这样的约束。
no_cra_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于CRA_NUT的NAL单元。no_cra_constraint_flag等于0不施加这样的约束。
no_gdr_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于GDR_NUT的NAL单元。no_gdr_constraint_flag等于0不施加这样的约束。
no_aps_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元。no_aps_constraint_flag等于0不施加这样的约束。
gci_alignment_zero_bits应当等于0。
num_reserved_constraint_bytes指定保留约束字节的数量。num_reserved_constraint_bytes的值应当为0。num_reserved_constraint_bytes的其他值被保留以供ITU-T|ISO/IEC将来使用,并且不应当存在于符合本规范的该版本的比特流中。
gci_reserved_constraint_byte[i]可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有gci_reserved_constraint_byte[i]语法元素的值。
3.3.DCI语法和语义
在最新的VVC草案文本中,DCI语法和语义如下:
Figure BDA0003956096920000131
Figure BDA0003956096920000141
通过存在于比特流中、包括在比特流的至少第一AU中、或者通过外部手段提供,可以使得DCI RBSP可用于解码器。
注1–DCI RBSP中包含的信息对于本规范的条款2至9中指定的解码过程的操作不是必需的。
当存在时,比特流中的所有DCI NAL单元应当具有相同的内容。
dci_max_sublayers_minus1加1指定可以存在于比特流的每个CVS中的层中的时域子层的最大数量。dci_max_sublayers_minus1的值应当在0到6的范围(包括0和6)内。
dci_reserved_zero_bit在符合本规范的该版本的比特流中应当等于0。dci_reserved_zero_bit的值1被保留以供ITU-T|ISO/IEC将来使用。
dci_num_ptls_minus1加1指定DCI NAL单元中的profile_tier_level()语法结构的数量。
比特流一致性的要求是比特流中的CVS中的每个OLS应当符合DCI NAL单元中的至少一个profile_tier_level()语法结构。
注2–DCI NAL单元可以包括可能在多个profile_tier_level()语法结构中携带的、共同适用于多个OLS的PTL信息,并且不需要单独包括每个OLS的PTL信息。
dci_extension_flag等于0指定没有dci_extension_data_flag语法元素存在于DCI RBSP语法结构中。dci_extension_flag等于1指定DCI RBSP语法结构中存在dci_extension_data_flag语法元素。
dci_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合附录A中指定的档次。符合本规范的该版本的解码器应当忽略所有dci_extension_data_flag语法元素。
3.4.VPS语法和语义
在最新的VVC草案文本中,VPS语法和语义如下:
Figure BDA0003956096920000151
Figure BDA0003956096920000161
Figure BDA0003956096920000171
VPS RBSP在被参考之前应当可用于解码过程,包括在TemporalId等于0的至少一个AU中或者通过外部手段提供。
CVS中具有vps_video_parameter_set_id的特定值的所有VPS NAL单元应当具有相同的内容。
vps_video_parameter_set_id提供VPS的标识符,以供其他语法元素参考。vps_video_parameter_set_id的值应当大于0。
vps_max_layers_minus1加1指定参考VPS的每个CVS中的层的最大允许数量。
vps_max_sublayers_minus1加1指定可以存在于参考VPS的每个CVS中的层中的时域子层的最大数量。vps_max_sublayers_minus1的值应当在0到6的范围(包括0和6)内。
vps_all_layers_same_num_sublayers_flag等于1指定时域子层的数量对于参考VPS的每个CV中的所有层是相同的。vps_all_layers_same_num_sublayers_flag等于0指定参考VPS的每个CV中的层可以具有或者可以不具有相同数量的时域子层。当不存在时,vps_all_layers_same_num_sublayers_flag的值被推断为等于1。
vps_all_independent_layers_flag等于1指定在不使用帧间层预测的情况下独立编解码CVS中的所有层。vps_all_independent_layers_flag等于0指定CVS中的一个或多个层可以使用帧间层预测。当不存在时,vps_all_independent_layers_flag的值被推断为等于1。
vps_layer_id[i]指定第i个层的nuh_layer_id值。对于任何两个非负整数值m和n,当m小于n时,vps_layer_id[m]的值应当小于vps_layer_id[n]。
vps_independent_layer_flag[i]等于1指定具有索引i的层不使用帧间层预测。vps_independent_layer_flag[i]等于0指定具有索引i的层可以使用帧间层预测,并且语法元素vps_direct_ref_layer_flag[i][j](j在0到i-1的范围(包括0和i-1)内)存在于VPS中。当不存在时,vps_independent_layer_flag[i]的值被推断为等于1。
vps_direct_ref_layer_flag[i][j]等于0指定具有索引j的层不是具有索引i的层的直接参考层。vps_direct_ref_layer_flag[i][j]等于1指定具有索引j的层是具有索引i的层的直接参考层。当对于在0到vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)内的i和j,vps_direct_ref_layer_flag[i][j]不存在时,其被推断为等于0。当vps_independent_layer_flag[i]等于0时,应当有在0到i-1的范围(包括0和i-1)内的j的至少一个值,使得vps_direct_ref_layer_flag[i][j]的值等于1。
变量NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]和LayerUsedAsRefLayerFlag[j]被推导如下:
Figure BDA0003956096920000181
Figure BDA0003956096920000191
指定nuh_layer_id等于vps_layer_id[i]的层的层索引的变量GeneralLayerIdx[i]被推导如下:
for(i=0;i<=vps_max_layers_minus1;i++) (38)
GeneralLayerIdx[vps_layer_id[i]]=i
对于都在0到vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)内的任何两个不同的值i和j,当dependencyFlag[i][j]等于1时,比特流一致性的要求是适用于第i个层的chroma_format_idc和bit_depth_minus8的值应当分别等于适用于第j个层的chroma_format_idc和bit_depth_minus8的值。
max_tid_ref_present_flag[i]等于1指定语法元素max_tid_il_ref_pics_plus1[i]存在。max_tid_ref_present_flag[i]等于0指定语法元素max_tid_il_ref_pics_plus1[i]不存在。
max_tid_il_ref_pics_plus1[i]等于0指定第i个层的非IRAP图片不使用帧间层预测。max_tid_il_ref_pics_plus1[i]大于0指定,对于解码第i个层的图片,没有TemporalId大于max_tid_il_ref_pics_plus1[i]-1的图片用作ILRP。当不存在时,max_tid_il_ref_pics_plus1[i]的值被推断为等于7。
each_layer_is_an_ols_flag等于1指定每个OLS仅包含一个层,并且参考VPS的CVS中的每个层自身是OLS,其中单个包括的层是唯一的输出层。each_layer_is_an_ols_flag等于0指定OLS可以包含多于一个层。如果vps_max_layers_minus1等于0,则each_layer_is_an_ols_flag的值被推断为等于1。否则,当vps_all_independent_layers_flag等于0时,each_layer_is_an_ols_flag的值被推断为等于0。
ols_mode_idc等于0指定由VPS指定的OLS的总数等于vps_max_layers_minus1+1,第i个OLS包括层索引从0到i(包括0和i)的层,并且对于每个OLS,仅输出OLS中的最高层。
ols_mode_idc等于1指定由VPS指定的OLS的总数等于vps_max_layers_minus1+1,第i个OLS包括层索引从0到i(包括0和i)的层,并且对于每个OLS,输出OLS中的所有层。
ols_mode_idc等于2指定由VPS指定的OLS的总数被显式地信令通知,并且对于每个OLS,输出层被显式地信令通知,并且其他层是作为OLS的输出层的直接或间接参考层的层。
ols_mode_idc的值应当在0到2的范围(包括0和2)内。ols_mode_idc的值3被保留以供ITU-T|ISO/IEC将来使用。
当vps_all_independent_layers_flag等于1并且each_layer_is_an_ols_flag等于0时,ols_mode_idc的值被推断为等于2。
num_output_layer_sets_minus1加1指定在ols_mode_idc等于2时由VPS指定的OLS的总数。
指定由VPS指定的OLS的总数的变量TotalNumOlss被推导如下:
Figure BDA0003956096920000201
ols_output_layer_flag[i][j]等于1指定当ols_mode_idc等于2时,nuh_layer_id等于vps_layer_id[j]的层是第i个OLS的输出层。ols_output_layer_flag[i][j]等于0指定当ols_mode_idc等于2时,nuh_layer_id等于vps_layer_id[j]的层不是第i个OLS的输出层。
指定第i个OLS中的输出层的数量的变量NumOutputLayersInOls[i]、指定第i个OLS中的第j个层中的子层的数量的变量NumSubLayersInLayerInOLS[i][j]、指定第i个OLS中的第j个输出层的nuh_layer_id值的变量OutputLayerIdInOls[i][j]、以及指定第k个层是否用作至少一个OLS中的输出层的变量LayerUsedAsOutputLayerFlag[k]被推导如下:
Figure BDA0003956096920000211
Figure BDA0003956096920000221
对于在0到vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)内的i的每个值,LayerUsedAsRefLayerFlag[i]和LayerUsedAsOutputLayerFlag[i]的值不应当都等于0。换句话说,不应当有既不是至少一个OLS的输出层也不是任何其他层的直接参考层的层。
对于每个OLS,应当有作为输出层的至少一个层。换句话说,对于在0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)内的i的任何值,NumOutputLayersInOls[i]的值应当大于或等于1。
指定第i个OLS中的层的数量的变量NumLayersInOls[i]和指定第i个OLS中的第j个层的nuh_layer_id值的变量LayerIdInOls[i][j]被推导如下:
Figure BDA0003956096920000231
注1–第0个OLS仅包含最低层(即,nuh_layer_id等于vps_layer_id[0]的层),并且对于第0个OLS,输出唯一包括的层。
指定nuh_layer_id等于LayerIdInOls[i][j]的层的OLS层索引的变量OlsLayerIdx[i][j]被推导如下:
Figure BDA0003956096920000232
每个OLS的最低层应当是独立层。换句话说,对于在0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)内的每个i,vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]]]的值应当等于1。
每个层应当被包括在由VPS指定的至少一个OLS中。换句话说,对于nuh_layer_id的特定值nuhLayerId等于vps_layer_id[k](k在0到vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)内)中的一个的每个层,应当有至少一对i和j的值(其中i在0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)内,并且j在NumLayersInOls[i]-1的范围(包括NumLayersInOls[i]-1)内),使得LayerIdInOls[i][j]的值等于nuhLayerId。
vps_num_ptls_minus1加1指定VPS中的profile_tier_level()语法结构的数量。vps_num_ptls_minus1的值应当小于TotalNumOlss。
pt_present_flag[i]等于1指定档次、层和通用约束信息存在于VPS中的第i个profile_tier_level()语法结构中。pt_present_flag[i]等于0指定档次、层和通用约束信息不存在于VPS中的第i个profile_tier_level()语法结构中。pt_present_flag[0]的值被推断为等于1。当pt_present_flag[i]等于0时,VPS中的第i个profile_tier_level()语法结构的档次、层和通用约束信息被推断为与VPS中的第(i-1)个profile_tier_level()语法结构的相同。
ptl_max_temporal_id[i]指定级别信息存在于VPS中的第i个profile_tier_level()语法结构中的最高子层表示的TemporalId。ptl_max_temporal_id[i]的值应当在0到vps_max_sublayers_minus1的范围(包括0和vps_max_sublayers_minus1)内。当vps_max_sublayers_minus1等于0时,ptl_max_temporal_id[i]的值被推断为等于0。当vps_max_sublayers_minus1大于0并且vps_all_layers_same_num_sublayers_flag等于1时,ptl_max_temporal_id[i]的值被推断为等于vps_max_sublayers_minus1。
vps_ptl_alignment_zero_bit应当等于0。
ols_ptl_idx[i]指定适用于第i个OLS的profile_tier_level()语法结构对VPS中的profile_tier_level()语法结构的列表的索引。当存在时,ols_ptl_idx[i]的值应当在0到vps_num_ptls_minus1的范围(包括0和vps_num_ptls_minus1)内。当vps_num_ptls_minus1等于0时,ols_ptl_idx[i]的值被推断为等于0。
当NumLayersInOls[i]等于1时,适用于第i个OLS的profile_tier_level()语法结构也存在于第i个OLS中的层所参考的SPS中。比特流一致性的要求是,当NumLayersInOls[i]等于1时,第i个OLS的在VPS和SPS中信令通知的profile_tier_level()语法结构应该相同。
vps_num_dpb_params指定VPS中的dpb_parameters()语法结构的数量。vps_num_dpb_params的值应当在0到16的范围(包括0和16)内。当不存在时,vps_num_dpb_params的值被推断为等于0。
vps_sublayer_dpb_params_present_flag用于控制VPS中的dpb_parameters()语法结构中的max_dec_pic_buffering_minus1[]、max_num_reorder_pics[]和max_latency_increase_plus1[]语法元素的存在。当不存在时,vps_sub_dpb_params_info_present_flag被推断为等于0。
dpb_max_temporal_id[i]指定DPB参数可以存在于VPS中的第i个dpb_parameters()语法结构中的最高子层表示的TemporalId。dpb_max_temporal_id[i]的值应当在0到vps_max_sublayers_minus1的范围(包括0和vps_max_sublayers_minus1)内。当vps_max_sublayers_minus1等于0时,dpb_max_temporal_id[i]的值被推断为等于0。当vps_max_sublayers_minus1大于0并且vps_all_layers_same_num_sublayers_flag等于1时,dpb_max_temporal_id[i]的值被推断为等于vps_max_sublayers_minus1。
ols_dpb_pic_width[i]指定第i个OLS的每个图片存储缓冲区的宽度,以亮度样点为单位。
ols_dpb_pic_height[i]指定第i个OLS的每个图片存储缓冲区的高度,以亮度样点为单位。
ols_dpb_params_idx[i]指定当NumLayersInOls[i]大于1时,适用于第i个OLS的dpb_parameters()语法结构对VPS中的dpb_parameters()语法结构的列表的索引。当存在时,ols_dpb_params_idx[i]的值应当在0到vps_num_dpb_params-1的范围(包括0和vps_num_dpb_params-1)内。当ols_dpb_params_idx[i]不存在时,ols_dpb_params_idx[i]的值被推断为等于0。
当NumLayersInOls[i]等于1时,适用于第i个OLS的dpb_parameters()语法结构存在于第i个OLS中的层所参考的SPS中。
vps_general_hrd_params_present_flag等于1指定语法结构general_hrd_parameters()和其他HRD参数存在于VPS RBSP语法结构中。vps_general_hrd_params_present_flag等于0指定语法结构general_hrd_parameters()和其他HRD参数不存在于VPS RBSP语法结构中。当不存在时,vps_general_hrd_params_present_flag的值被推断为等于0。
当NumLayersInOls[i]等于1时,适用于第i个OLS的general_hrd_parameters()语法结构存在于第i个OLS中的层所参考的SPS中。
vps_sublayer_cpb_params_present_flag等于1指定VPS中的第i个ols_hrd_parameters()语法结构包含TemporalId在0到hrd_max_tid[i]的范围(包括0和hrd_max_tid[i])内的子层表示的HRD参数。vps_sublayer_cpb_params_present_flag等于0指定VPS中的第i个ols_hrd_parameters()语法结构包含TemporalId仅等于hrd_max_tid[i]的子层表示的HRD参数。当vps_max_sublayers_minus1等于0时,vps_sublayer_cpb_params_present_flag的值被推断为等于0。
当vps_sublayer_cpb_params_present_flag等于0时,TemporalId在0到hrd_max_tid[i]-1的范围(包括0和hrd_max_tid[i]-1)内的子层表示的HRD参数被推断为与TemporalId等于hrd_max_tid[i]的子层表示的相同。这些包括从fixed_pic_rate_general_flag[i]语法元素开始直到立即在ols_hrd_parameters语法结构中的条件“if(general_vcl_hrd_params_present_flag)”下的sublayer_hrd_parameters(i)语法结构的HRD参数。
num_ols_hrd_params_minus1加1指定当vps_general_hrd_params_present_flag等于1时,存在于general_hrd_parameters()语法结构中的ols_hrd_parameters()语法结构的数量。num_ols_hrd_params_minus1的值应当在0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)内。
hrd_max_tid[i]指定HRD参数被包含在第i个ols_hrd_parameters()语法结构中的最高子层表示的TemporalId。hrd_max_tid[i]的值应当在0到vps_max_sublayers_minus1的范围(包括0和vps_max_sublayers_minus1)内。当vps_max_sublayers_minus1等于0时,hrd_max_tid[i]的值被推断为等于0。当vps_max_sublayers_minus1大于0并且vps_all_layers_same_num_sublayers_flag等于1时,hrd_max_tid[i]的值被推断为等于vps_max_sublayers_minus1。
ols_hrd_idx[i]指定当NumLayersInOls[i]大于1时,适用于第i个OLS的ols_hrd_parameters()语法结构对VPS中的ols_hrd_parameters()语法结构的列表的索引。ols_hrd_idx[[i]的值应当在0到num_ols_hrd_params_minus1的范围(包括0和num_ols_hrd_params_minus1)内。
当NumLayersInOls[i]等于1时,适用于第i个OLS的ols_hrd_parameters()语法结构存在于第i个OLS中的层所参考的SPS中。
如果num_ols_hrd_param_minus1+1的值等于TotalNumOlss,则ols_hrd_idx[i]的值被推断为等于i。否则,当NumLayersInOls[i]大于1并且num_ols_hrd_params_minus1等于0时,ols_hrd_idx[[i]的值被推断为等于0。
vps_extension_flag等于0指定没有vps_extension_data_flag语法元素存在于VPS RBSP语法结构中。vps_extension_flag等于1指定VPS RBSP语法结构中存在vps_extension_data_flag语法元素。
vps_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有vps_extension_data_flag语法元素。
3.5.SPS语法和语义
在最新的VVC草案文本中,SPS语法和语义如下:
Figure BDA0003956096920000271
Figure BDA0003956096920000281
Figure BDA0003956096920000291
Figure BDA0003956096920000301
Figure BDA0003956096920000311
Figure BDA0003956096920000321
Figure BDA0003956096920000331
SPS RBSP在被参考之前应当可用于解码过程,包括在TemporalId等于0的至少一个AU中或者通过外部手段提供。
CVS中具有sps_seq_parameter_set_id的特定值的所有SPS NAL单元应当具有相同的内容。
sps_seq_parameter_set_id提供SPS的标识符,以供其他语法元素参考。
无论nuh_layer_id值如何,SPS NAL单元都共享sps_seq_parameter_set_id的相同值空间。
设spsLayerId为特定SPS NAL单元的nuh_layer_id的值,并且vclLayerId为特定VCL NAL单元的nuh_layer_id的值。特定VCL NAL单元不应当参考特定SPS NAL单元,除非spsLayerId小于或等于vclLayerId,并且nuh_layer_id等于spsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中。
sps_video_parameter_set_id在大于0时指定SPS所参考的VPS的vps_video_parameter_set_id的值。
当sps_video_parameter_set_id等于0时,以下适用:
-SPS不参考VPS。
-当解码参考SPS的每个CLVS时,不参考VPS。
-vps_max_layers_minus1的值被推断为等于0。
-CVS应当仅包含一个层(即,CVS中的所有VCL NAL单元应当具有nuh_layer_id的相同值)。
-GeneralLayerIdx[nuh_layer_id]的值被推断为等于0。
-vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]的值被推断为等于1。
当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,具有特定nuh_layer_id值nuhLayerId的CLVS所参考的SPS应当具有等于nuhLayerId的nuh_layer_id。
sps_video_parameter_set_id的值在CVS中的CLVS所参考的所有SPS中应当相同。
sps_max_sublayers_minus1加1指定可以存在于参考SPS的每个CLVS中的时态子层的最大数量。sps_max_sublayers_minus1的值应当在0到vps_max_sublayers_minus1的范围(包括0和vps_max_sublayers_minus1)内。
sps_reserved_zero_4bits在符合本规范的该版本的比特流中应当等于0。sps_reserved_zero_4bits的其他值被保留以供ITU-T|ISO/IEC将来使用。
sps_ptl_dpb_hrd_params_present_flag等于1指定profile_tier_level()语法结构和dpb_parameters()语法结构存在于SPS中,并且general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构也可以存在于SPS中。sps_ptl_dpb_hrd_params_present_flag等于0指定这四个语法结构都不存在于SPS中。sps_ptl_dpb_hrd_params_present_flag的值应当等于vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]。
gdr_enabled_flag等于1指定GDR图片可以存在于参考SPS的CLVS中。gdr_enabled_flag等于0指定GDR图片不存在于参考SPS的CLVS中。
chroma_format_idc指定相对于亮度采样的色度采样,如条款6.2所指定的。
separate_colour_plane_flag等于1指定4:4:4色度格式的三个色彩分量被单独编解码。separate_colour_plane_flag等于0指定色彩分量不被单独编解码。当separate_colour_plane_flag不存在时,其被推断为等于0。当separate_colour_plane_flag等于1时,编解码图片由三个单独的分量组成,其中的每一个由一个色彩平面(Y、Cb或Cr)的编解码样点组成,并且使用单色编解码语法。在这种情况下,每个色彩平面与特定的colour_plane_id值相关联。
注1–具有不同colour_plane_id值的色彩平面之间的解码过程没有依赖性。例如,具有colour_plane_id的一个值的单色图片的解码过程不使用来自具有colour_plane_id的不同值的单色图片的任何数据进行帧间预测。
根据separate_colour_plane_flag的值,变量ChromaArrayType的值被赋值如下:
-如果separate_colour_plane_flag等于0,则ChromaArrayType被设置为等于chroma_format_idc。
-否则(separate_colour_plane_flag等于1),ChromaArrayType被设置为等于0。
res_change_in_clvs_allowed_flag等于1指定图片空域分辨率可以在参考SPS的CLVS内改变。res_change_in_clvs_allowed_flag等于0指定图片空域分辨率不在参考SPS的任何CLVS内改变。
pic_width_max_in_luma_samples指定参考SPS的每个解码图片的最大宽度,以亮度样点为单位。pic_width_max_in_luma_samples不应当等于0,并且应当为Max(8,MinCbSizeY)的整数倍。
比特流一致性的要求是,对于包含参考SPS的一个或多个层的具有OLS索引i的任何OLS,pic_width_max_in_luma_samples的值应当小于或等于ols_dpb_pic_width[i]的值。
pic_height_max_in_luma_samples指定参考SPS的每个解码图片的最大高度,以亮度样点为单位。pic_height_max_in_luma_samples不应当等于0,并且应当为Max(8,MinCbSizeY)的整数倍。
比特流一致性的要求是,对于包含参考SPS的一个或多个层的具有OLS索引i的任何OLS,pic_height_max_in_luma_samples的值应当小于或等于ols_dpb_pic_height[i]的值。
sps_conformance_window_flag等于1指示一致性裁剪窗口偏移参数在SPS中跟随下一个。sps_conformance_window_flag等于0指示一致性裁剪窗口偏移参数不存在于SPS中。
sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset指定被应用于pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_max_in_luma_samples的图片的裁剪窗口。当sps_conformance_window_flag等于0时,sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含水平图片坐标从SubWidthC*sps_conf_win_left_offset到pic_width_max_in_luma_samples-(SubWidthC*sps_conf_win_right_offset+1)(包括SubWidthC*sps_conf_win_left_offset和pic_width_max_in_luma_samples-(SubWidthC*sps_conf_win_right_offset+1))并且垂直图片坐标从SubHeightC*sps_conf_win_top_offset到pic_height_max_in_luma_samples-(SubHeightC*sps_conf_win_bottom_offset+1)(包括SubHeightC*sps_conf_win_top_offset和pic_height_max_in_luma_samples-(SubHeightC*sps_conf_win_bottom_offset+1))的亮度样点。
SubWidthC*(sps_conf_win_left_offset+sps_conf_win_right_offset)的值应当小于pic_width_max_in_luma_samples,并且SubHeightC*(sps_conf_win_top_offset+sps_conf_win_bottom_offset)的值应当小于pic_height_max_in_luma_samples。
当ChromaArrayType不等于0时,两个色度阵列的对应指定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是指定亮度样点的图片坐标。
注2–一致性裁剪窗口偏移参数仅被应用于输出。所有内部解码过程都被应用于未裁剪的图片尺寸。
sps_log2_ctu_size_minus5加5指定每个CTU的亮度编解码树块尺寸。sps_log2_ctu_size_minus5的值应当在0到2的范围(包括0和2)内。sps_log2_ctu_size_minus5的值3被保留以供ITU-T|ISO/IEC将来使用。
变量CtbLog2SizeY和CtbSizeY被推导如下:
CtbLog2SizeY=sps_log2_ctu_size_minus5+5 (43)
CtbSizeY=1<<CtbLog2SizeY (44)
subpic_info_present_flag等于1指定子图片信息对于CLVS而存在,并且在CLVS的每个图片中可以有一个或多于一个子图片。subpic_info_present_flag等于0指定子图片信息对于CLVS而不存在,并且在CLVS的每个图片中仅有一个子图片。
当res_change_in_clvs_allowed_flag等于1时,subpic_info_present_flag的值应当等于0。
注3–当比特流是子比特流提取过程的结果,并且仅包含子比特流提取过程的输入比特流的子图片的子集时,可能需要在SPS的RBSP中将subpic_info_present_flag的值设置为等于1。
sps_num_subpics_minus1加1指定CLVS中的每个图片的子图片的数量。sps_num_subpics_minus1的值应当在0到Ceil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1的范围(包括0和Ceil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1)内。当不存在时,sps_num_subpics_minus1的值被推断为等于0。
sps_independent_subpics_flag等于1指定不可以跨CLVS中的任何子图片边界执行帧内预测、帧间预测和环路滤波操作。sps_independent_subpics_flag等于0指定可以允许跨CLVS中的子图片边界的帧间预测或环路滤波操作。当不存在时,sps_independent_subpics_flag的值被推断为等于0。
subpic_ctu_top_left_x[i]指定第i个子图片的左上角CTU的水平位置,以CtbSizeY为单位。语法元素的长度为Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。当不存在时,subpic_ctu_top_left_x[i]的值被推断为等于0。
subpic_ctu_top_left_y[i]指定第i个子图片的左上角CTU的垂直位置,以CtbSizeY为单位。语法元素的长度为Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。当不存在时,subpic_ctu_top_left_y[i]的值被推断为等于0。
subpic_width_minus1[i]加1指定第i个子图片的宽度,以CtbSizeY为单位。语法元素的长度为Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。当不存在时,subpic_width_minus1[i]的值被推断为等于((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_x[i]-1。
subpic_height_minus1[i]加1指定第i个子图片的高度,以CtbSizeY为单位。语法元素的长度为Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。当不存在时,subpic_height_minus1[i]的值被推断为等于((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_y[i]-1。
subpic_treated_as_pic_flag[i]等于1指定CLVS中的每个编解码图片的第i个子图片被视为排除环路滤波操作的解码过程中的图片。subpic_treated_as_pic_flag[i]等于0指定CLVS中的每个编解码图片的第i个子图片不被视为排除环路滤波操作的解码过程中的图片。当不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于sps_independent_subpics_flag。
当subpic_treated_as_pic_flag[i]等于1时,比特流一致性的要求是,对于包括包含第i个子图片的层作为输出层的OLS中的每个输出层及其参考层,所有以下条件都为真:
-输出层及其参考层中的所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,输出层及其参考层所参考的所有SPS应当具有sps_num_subpics_minus1的相同值,并且应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和loop_filter_across_subpic_enabled_flag[j]的相同值。
-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,输出层及其参考层中的每个访问单元中的所有图片应当具有SubpicIdVal[j]的相同值。
loop_filter_across_subpic_enabled_flag[i]等于1指定可以跨CLVS中的每个编解码图片中的第i个子图片的边界执行环路滤波操作。loop_filter_across_subpic_enabled_flag[i]等于0指定跨CLVS中的每个编解码图片的第i个子图片的边界不执行环路滤波操作。当不存在时,loop_filter_across_subpic_enabled_flag[i]的值被推断为等于1-sps_independent_subpics_flag。
比特流一致性的要求是,子图片的形状应当为使得每个子图片在解码时应当使其整个左边界和整个上边界由图片边界组成或者由先前解码的子图片的边界组成。
sps_subpic_id_len_minus1加1指定用于表示语法元素sps_subpic_id[i]、语法元素pps_subpic_id[i](当存在时)和语法元素slice_subpic_id(当存在时)的比特的数量。sps_subpic_id_len_minus1的值应当在0到15的范围(包括0和15)内。1<<(sps_subpic_id_len_minus1+1)的值应当大于或等于sps_num_subpics_minus1+1。
subpic_id_mapping_explicitly_signalled_flag等于1指定子图片ID映射在SPS中或者在CLVS的编解码图片所参考的PPS中被显式地信令通知。subpic_id_mapping_explicitly_signalled_flag等于0指定不针对CLVS显式地信令通知子图片ID映射。当不存在时,subpic_id_mapping_explicitly_signalled_flag的值被推断为等于0。
subpic_id_mapping_in_sps_flag等于1指定当subpic_id_mapping_explicitly_signalled_flag等于1时,子图片ID映射在SPS中被信令通知。subpic_id_mapping_in_sps_flag等于0指定当subpic_id_mapping_explicitly_signalled_flag等于1时,子图片ID映射在CLVS的编解码图片所参考的PPS中被信令通知。
sps_subpic_id[i]指定第i个子图片的子图片id。sps_subpic_id[i]语法元素的长度为sps_subpic_id_len_minus1+1比特。
bit_depth_minus8指定亮度和色度阵列的样点的比特深度BitDepth、以及亮度和色度量化参数范围偏移QpBdOffset的值如下:
BitDepth=8+bit_depth_minus8 (45)
QpBdOffset=6*bit_depth_minus8 (46)
bit_depth_minus8应当在0到8的范围(包括0和8)内。
sps_entropy_coding_sync_enabled_flag等于1指定在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之前调用上下文变量的特定同步过程,并且在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之后调用上下文变量的特定存储过程。sps_entropy_coding_sync_enabled_flag等于0指定在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之前,不需要调用上下文变量的特定同步过程,并且在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之后,不需要调用上下文变量的特定存储过程。
sps_wpp_entry_point_offsets_present_flag等于1指定当sps_entropy_coding_sync_enabled_flag等于1时,用于CTU行的入口点偏移的信令可以存在于参考SPS的图片的条带标头中。sps_wpp_entry_point_offsets_present_flag等于0指定用于CTU行的入口点偏移的信令不存在于参考SPS的图片的条带标头中。当不存在时,sps_wpp_entry_point_offsets_present_flag的值被推断为等于0。
sps_weighted_pred_flag等于1指定加权预测可以被应用于参考SPS的P条带。sps_weighted_pred_flag等于0指定加权预测不应用于参考SPS的P条带。
sps_weighted_bipred_flag等于1指定显式加权预测可以被应用于参考SPS的B条带。sps_weighted_bipred_flag等于0指定显式加权预测不应用于参考SPS的B条带。
log2_max_pic_order_cnt_lsb_minus4指定用于图片顺序计数的解码过程中的变量MaxPicOrderCntLsb的值如下:
MaxPicOrderCntLsb=2(log2_max_pic_order_cnt_lsb_minus4+4) (47)
log2_max_pic_order_cnt_lsb_minus4的值应当在0到12的范围(包括0和12)内。
sps_poc_msb_flag等于1指定ph_poc_msb_present_flag语法元素存在于参考SPS的PH中。sps_poc_msb_flag等于0指定ph_poc_msb_present_flag语法元素不存在于参考SPS的PH中。
poc_msb_len_minus1加1指定poc_msb_val语法元素的长度(以比特为单位),当存在于参考SPS的PH中时。poc_msb_len_minus1的值应当在0到32-log2_max_pic_order_cnt_lsb_minus4-5的范围(包括0和32-log2_max_pic_order_cnt_lsb_minus4-5)内。
num_extra_ph_bits_bytes指定参考SPS的编解码图片的PH语法结构中的额外比特的字节数。num_extra_ph_bits_bytes的值在符合本规范的该版本的比特流中应当等于0。尽管在本规范的该版本中要求num_extra_ph_bits_bytes的值等于0,但是符合本规范的该版本的解码器应当允许num_extra_ph_bits_bytes的值等于1或2出现在语法中。
num_extra_sh_bits_bytes指定参考SPS的编解码图片的条带标头中的额外比特的字节数。num_extra_sh_bits_bytes的值在符合本规范的该版本的比特流中应当等于0。尽管在本规范的该版本中要求num_extra_sh_bits_bytes的值等于0,但是符合本规范的该版本的解码器应该允许num_extra_sh_bits_bytes的值等于1或2出现在语法中。
sps_sublayer_dpb_params_flag用于控制SPS中的dpb_parameters()语法结构中的max_dec_pic_buffering_minus1[i]、max_num_reorder_pics[i]和max_latency_increase_plus1[i]语法元素的存在。当不存在时,sps_sub_dpb_params_info_present_flag的值被推断为等于0。
long_term_ref_pics_flag等于0指定没有LTRP用于CLVS中的任何编解码图片的帧间预测。long_term_ref_pics_flag等于1指定LTRP可以用于CLVS中的一个或多个编解码图片的帧间预测。
inter_layer_ref_pics_present_flag等于0指定没有ILRP用于CLVS中的任何编解码图片的帧间预测。inter_layer_ref_pic_flag等于1指定ILRP可以用于CLVS中的一个或多个编解码图片的帧间预测。当sps_video_parameter_set_id等于0时,inter_layer_ref_pics_present_flag的值被推断为等于0。当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,inter_layer_ref_pics_present_flag的值应当等于0。[Ed.(YK):检查该语法元素是否有更好的名称。]
sps_idr_rpl_present_flag等于1指定参考图片列表语法元素存在于IDR图片的条带标头中。sps_idr_rpl_present_flag等于0指定参考图片列表语法元素不存在于IDR图片的条带标头中。
rpl1_same_as_rpl0_flag等于1指定不存在语法元素num_ref_pic_lists_in_sps[1]和语法结构ref_pic_list_struct(1,rplsIdx),并且以下适用:
-num_ref_pic_lists_in_sps[1]的值被推断为等于num_ref_pic_lists_in_sps[0]的值。
-ref_pic_list_struct(1,rplsIdx)中的每个语法元素的值被推断为等于ref_pic_list_struct(0,rplsIdx)中的对应语法元素的值,rplsIdx的范围为0到num_ref_pic_lists_in_sps[0]-1。
num_ref_pic_lists_in_sps[i]指定SPS中包括的listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构的数量。num_ref_pic_lists_in_sps[i]的值应当在0到64的范围(包括0和64)内。
注4–对于listIdx(等于0或1)的每个值,解码器应该为总数num_ref_pic_lists_in_sps[i]+1个ref_pic_list_struct(listIdx,rplsIdx)语法结构分配存储器,因为可以有一个ref_pic_list_struct(listIdx,rplsIdx)语法结构直接在当前图片的条带标头中被信令通知。
qtbtt_dual_tree_intra_flag等于1指定,对于I条带,使用隐式四叉树划分将每个CTU划分为具有64×64个亮度样点的编解码单元,并且这些编解码单元是用于亮度和色度的两个单独的coding_tree语法结构的根。qtbtt_dual_tree_intra_flag等于0指定单独的coding_tree语法结构不用于I条带。当qtbtt_dual_tree_intra_flag不存在时,其被推断为等于0。
log2_min_luma_coding_block_size_minus2加2指定最小亮度编解码块尺寸。log2_min_luma_coding_block_size_minus2的值范围应当在0到Min(4,sps_log2_ctu_size_minus5+3)的范围(包括0和Min(4,sps_log2_ctu_size_minus5+3))内。
变量MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC和Vsize被推导如下:
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (48)
MinCbSizeY=1<<MinCbLog2SizeY (49)
IbcBufWidthY=256*128/CtbSizeY (50)
IbcBufWidthC=IbcBufWidthY/SubWidthC (51)
VSize=Min(64,CtbSizeY) (52)
MinCbSizeY的值应当小于或等于VSize。
分别指定每个色度CTB的阵列的宽度和高度的变量CtbWidthC和CtbHeightC被推导如下:
-如果chroma_format_idc等于0(单色)或者separate_colour_plane_flag等于1,则CtbWidthC和CtbHeightC都等于0。
-否则,CtbWidthC和CtbHeightC被推导如下:
CtbWidthC=CtbSizeY/SubWidthC (53)
CtbHeightC=CtbSizeY/SubHeightC (54)
对于范围从0到4的log2BlockWidth和范围从0到4(包括0和4)的log2BlockHeight,如条款6.5.2所指定的右上对角线扫描顺序阵列初始化过程被调度,其中以1<<log2BlockWidth和1<<log2BlockHeight作为输入,并且输出被赋给DiagScanOrder[log2BlockWidth][log2BlockHeight]。
对于范围从0到6的log2BlockWidth和范围从0到6(包括0和6)的log2BlockHeight,如条款6.5.3所指定的水平和垂直遍历扫描顺序阵列初始化过程被调用,其中以1<<log2BlockWidth和1<<log2BlockHeight作为输入,并且输出被赋给HorTravScanOrder[log2BlockWidth][log2BlockHeight]和VerTravScanOrder[log2BlockWidth][log2BlockHeight]。
partition_constraints_override_enabled_flag等于1指定参考SPS的PH中的partition_constraints_override_flag的存在。partition_constraints_override_enabled_flag等于0指定参考SPS的PH中的partition_constraints_override_flag的缺失。
sps_log2_diff_min_qt_min_cb_intra_slice_luma指定从CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸的以2为底的对数和参考SPS的slice_type等于2(I)的条带中的亮度CU的亮度样点中的最小编解码块尺寸的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_min_qt_min_cb_luma覆盖。sps_log2_diff_min_qt_min_cb_intra_slice_luma的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括0和CtbLog2SizeY-MinCbLog2SizeY)内。从CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸的以2为底的对数被推导如下:
MinQtLog2SizeIntraY=sps_log2_diff_min_qt_min_cb_intra_slice_luma+MinCbLog2SizeY (55)
sps_max_mtt_hierarchy_depth_intra_slice_luma指定从参考SPS的slice_type等于2(I)的条带中的四叉树叶的多类型树划分产生的编解码单元的默认最大层次深度。当partition_constraints_override_enabled_flag等于1时,默认最大层次深度可以被存在于参考SPS的PH中的ph_max_mtt_hierarchy_depth_intra_slice_luma覆盖。sps_max_mtt_hierarchy_depth_intra_slice_luma的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括0和2*(CtbLog2SizeY-MinCbLog2SizeY))内。
sps_log2_diff_max_bt_min_qt_intra_slice_luma指定可以使用二进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从参考SPS的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_intra_slice_luma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraY)内。当sps_log2_diff_max_bt_min_qt_intra_slice_luma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_luma的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_luma指定可以使用三进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从参考SPS的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的by ph_log2_diff_max_tt_min_qt_luma覆盖。sps_log2_diff_max_tt_min_qt_intra_slice_luma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraY)内。当sps_log2_diff_max_tt_min_qt_intra_slice_luma不存在时,sps_log2_diff_max_tt_min_qt_intra_slice_luma的值被推断为等于0。
sps_log2_diff_min_qt_min_cb_inter_slice指定从CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸的以2为底的对数和参考SPS的slice_type等于0(B)或1(P)的条带中的亮度CU的亮度样点中的最小亮度编解码块尺寸的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_min_qt_min_cb_luma覆盖。sps_log2_diff_min_qt_min_cb_inter_slice的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括0和CtbLog2SizeY-MinCbLog2SizeY)内。从CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸的以2为底的对数被推导如下:
MinQtLog2SizeInterY=sps_log2_diff_min_qt_min_cb_inter_slice+
MinCbLog2SizeY(56)
sps_max_mtt_hierarchy_depth_inter_slice指定从参考SPS的slice_type等于0(B)或1(P)的条带中的四叉树叶的多类型树划分产生的编解码单元的默认最大层次深度。当partition_constraints_override_enabled_flag等于1时,默认最大层次深度可以被存在于参考SPS的PH中的ph_max_mtt_hierarchy_depth_inter_slice覆盖。sps_max_mtt_hierarchy_depth_inter_slice的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括0和2*(CtbLog2SizeY-MinCbLog2SizeY))内。
sps_log2_diff_max_bt_min_qt_inter_slice指定可以使用二进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从参考SPS的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_inter_slice的值应当在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeInterY)内。当sps_log2_diff_max_bt_min_qt_inter_slice不存在时,sps_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_inter_slice指定可以使用三进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从参考SPS的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_max_tt_min_qt_luma覆盖。sps_log2_diff_max_tt_min_qt_inter_slice的值应当在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeInterY)内。当sps_log2_diff_max_tt_min_qt_inter_slice不存在时,sps_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于0。
sps_log2_diff_min_qt_min_cb_intra_slice_chroma指定从treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸的以2为底的对数和参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CU的亮度样点中的最小编解码块尺寸的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_min_qt_min_cb_chroma覆盖。sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括0和CtbLog2SizeY-MinCbLog2SizeY)内。当不存在时,sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值被推断为等于0。从treeType等于DUAL_TREE_CHROMA的CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸的以2为底的对数被推导如下:
MinQtLog2SizeIntraC=sps_log2_diff_min_qt_min_cb_intra_slice_chroma+MinCbLog2SizeY (57)
sps_max_mtt_hierarchy_depth_intra_slice_chroma指定从参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度四叉树叶的多类型树划分产生的色度编解码单元的默认最大层次深度。当partition_constraints_override_enabled_flag等于1时,默认最大层次深度可以被存在于参考SPS的PH中的ph_max_mtt_hierarchy_depth_chroma覆盖。sps_max_mtt_hierarchy_depth_intra_slice_chroma的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括0和2*(CtbLog2SizeY-MinCbLog2SizeY))内。当不存在时,sps_max_mtt_hierarchy_depth_intra_slice_chroma的值被推断为等于0。
sps_log2_diff_max_bt_min_qt_intra_slice_chroma指定可以使用二进制划分来划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_max_bt_min_qt_chroma覆盖。sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraC)内。当sps_log2_diff_max_bt_min_qt_intra_slice_chroma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_chroma指定可以使用三元划分来划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被存在于参考SPS的PH中的ph_log2_diff_max_tt_min_qt_chroma覆盖。sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraC)内。当sps_log2_diff_max_tt_min_qt_intra_slice_chroma不存在时,sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值被推断为等于0。
sps_max_luma_transform_size_64_flag等于1指定亮度样点中的最大变换尺寸等于64。sps_max_luma_transform_size_64_flag等于0指定亮度样点中的最大变换尺寸等于32。
当CtbSizeY小于64时,sps_max_luma_transform_size_64_flag的值应当等于0。
变量MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY和MaxTbSizeY被推导如下:
MinTbLog2SizeY=2 (58)
MaxTbLog2SizeY=sps_max_luma_transform_size_64_flag?6:5 (59)
MinTbSizeY=1<<MinTbLog2SizeY (60)
MaxTbSizeY=1<<MaxTbLog2SizeY (61)
sps_joint_cbcr_enabled_flag等于0指定色度残差的联合编解码被禁用。sps_joint_cbcr_enabled_flag等于1指定色度残差的联合编解码被启用。当不存在时,sps_joint_cbcr_enabled_flag的值被推断为等于0。
same_qp_table_for_chroma等于1指定仅信令通知一个色度QP映射表,并且当sps_joint_cbcr_enabled_flag等于1时,该表适用于Cb和Cr残差并且附加地适用于联合Cb-Cr残差。same_qp_table_for_chroma等于0指定在SPS中信令通知色度QP映射表,当sps_joint_cbcr_enabled_flag等于1时,两个表用于Cb和Cr,并且一个附加表用于联合Cb-Cr。当same_qp_table_for_chroma不存在于比特流中时,same_qp_table_for_chroma的值被推断为等于1。
qp_table_start_minus26[i]加26指定用于描述第i个色度qp映射表的起始亮度和色度QP。qp_table_start_minus26[i]的值应当在-26-QpBdOffset到36的范围(包括-26-QpBdOffset和36)内。当qp_table_start_minus26[i]不存在于比特流中时,qp_table_start_minus26[i]的值被推断为等于0。
num_points_in_qp_table_minus1[i]加1指定用于描述第i个色度QP映射表的点数。num_points_in_qp_table_minus1[i]的值应当在0到63+QpBdOffset的范围(包括0和63+QpBdOffset)内。当num_points_in_qp_table_minus1[0]不存在于比特流中时,num_points_in_qp_table_minus1[0]的值被推断为等于0。
delta_qp_in_val_minus1[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输入坐标的增量(delta)值。当delta_qp_in_val_minus1[0][j]不存在于比特流中时,delta_qp_in_val_minus1[0][j]的值被推断为等于0。
delta_qp_diff_val[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输出坐标的增量值。
第i个色度QP映射表ChromaQpTable[i](其中i=0..numQpTables-1)被推导如下:
Figure BDA0003956096920000491
当same_qp_table_for_chroma等于1时,ChromaQpTable[1][k]和ChromaQpTable[2][k]被设置为等于ChromaQpTable[0][k],其中k在-QpBdOffset到63的范围(包括-QpBdOffset和63)内。
比特流一致性的要求是,qpInVal[i][j]和qpOutVal[i][j]的值应当在-QpBdOffset到63的范围(包括-QpBdOffset和63)内,其中i在0到numQpTables-1的范围(包括0和numQpTables-1)内,并且j在0到num_points_in_qp_table_minus1[i]+1的范围(包括0和num_points_in_qp_table_minus1[i]+1)内。
sps_sao_enabled_flag等于1指定样点自适应偏移过程在去方块滤波过程之后被应用于重构图片。sps_sao_enabled_flag等于0指定样点自适应偏移过程在去方块滤波过程之后不应用于重构图片。
sps_alf_enabled_flag等于0指定自适应环路滤波器被禁用。sps_alf_enabled_flag等于1指定自适应环路滤波器被启用。
sps_ccalf_enabled_flag等于0指定跨分量自适应环路滤波器被禁用。sps_ccalf_enabled_flag等于1指定跨分量自适应环路滤波器可以被启用。
sps_transform_skip_enabled_flag等于1指定transform_skip_flag可以存在于变换单元语法中。sps_transform_skip_enabled_flag等于0指定transform_skip_flag不存在于变换单元语法中。
log2_transform_skip_max_size_minus2指定用于变换跳过的最大块尺寸,并且应当在0到3的范围(包括0和3)内。
变量MaxTsSize被设置为等于1<<(log2_transform_skip_max_size_minus2+2)。
sps_bdpcm_enabled_flag等于1指定intra_bdpcm_luma_flag和intra_bdpcm_chroma_flag可以存在于帧内编解码单元的编解码单元语法中。sps_bdpcm_enabled_flag等于0指定intra_bdpcm_luma_flag和intra_bdpcm_chroma_flag不存在于帧内编解码单元的编解码单元语法中。当不存在时,sps_bdpcm_enabled_flag的值被推断为等于0。
sps_ref_wraparound_enabled_flag等于1指定在帧间预测中应用水平环绕运动补偿。sps_ref_wraparound_enabled_flag等于0指定不应用水平环绕运动补偿。当(CtbSizeY/MinCbSizeY+1)的值大于(pic_width_in_luma_samples/MinCbSizeY-1)时,其中pic_width_in_luma_samples是参考SPS的任何PPS中的pic_width_in_luma_samples的值,sps_ref_wraparound_enabled_flag的值应当等于0。[Ed.(YK):这里的语义仍然依赖于PPS语法元素。]
sps_temporal_mvp_enabled_flag等于1指定时域运动矢量预测值可以用于CLVS中。sps_temporal_mvp_enabled_flag等于0指定时域运动矢量预测值不用于CLVS中。
sps_sbtmvp_enabled_flag等于1指定基于子块的时域运动矢量预测值可以用于解码CLVS中所有条带具有不等于i的slice_type的图片。sps_sbtmvp_enabled_flag等于0指定基于子块的时域运动矢量预测值不用于CLVS中。当sps_sbtmvp_enabled_flag不存在时,其被推断为等于0。
sps_amvr_enabled_flag等于1指定自适应运动矢量差分辨率用于运动矢量编解码。amvr_enabled_flag等于0指定自适应运动矢量差分辨率不用于运动矢量编解码。
sps_bdof_enabled_flag等于0指定双向光流帧间预测被禁用。sps_bdof_enabled_flag等于1指定双向光流帧间预测被启用。
sps_bdof_pic_present_flag等于1指定ph_disable_bdof_flag存在于参考SPS的PH中。sps_bdof_pic_present_flag等于0指定ph_disable_bdof_flag不存在于参考SPS的PH中。当sps_bdof_pic_present_flag不存在时,sps_bdof_pic_present_flag的值被推断为等于0。
sps_smvd_enabled_flag等于1指定对称运动矢量差可以用于运动矢量解码。sps_smvd_enabled_flag等于0指定对称运动矢量差不用于运动矢量编解码。
sps_dmvr_enabled_flag等于1指定基于解码器运动矢量细化的帧间双向预测被启用。sps_dmvr_enabled_flag等于0指定基于解码器运动矢量细化的帧间双向预测被禁用。
sps_dmvr_pic_present_flag等于1指定ph_disable_dmvr_flag存在于参考SPS的PH中。sps_dmvr_pic_present_flag等于0指定ph_disable_dmvr_flag不存在于参考SPS的PH中。当sps_dmvr_pic_present_flag不存在时,sps_dmvr_pic_present_flag的值被推断为等于0。
sps_mmvd_enabled_flag等于1指定利用运动矢量差的Merge模式被启用。sps_mmvd_enabled_flag等于0指定利用运动矢量差的Merge模式被禁用。
sps_isp_enabled_flag等于1指定利用子分割的帧内预测被启用。sps_isp_enabled_flag等于0指定利用子分割的帧内预测被禁用。
sps_mrl_enabled_flag等于1指定利用多个参考线的帧内预测被启用。sps_mrl_enabled_flag等于0指定利用多个参考线的帧内预测被禁用。
sps_mip_enabled_flag等于1指定基于矩阵的帧内预测被启用。sps_mip_enabled_flag等于0指定基于矩阵的帧内预测被禁用。
sps_cclm_enabled_flag等于0指定从亮度分量到色度分量的跨分量线性模型帧内预测被禁用。sps_cclm_enabled_flag等于1指定从亮度分量到色度分量的跨分量线性模型帧内预测被启用。当sps_cclm_enabled_flag不存在时,其被推断为等于0。
sps_chroma_horizontal_collocated_flag等于1指定预测过程以针对不相对于对应的亮度样点位置水平移位的色度样点位置而设计的方式操作。sps_chroma_horizontal_collocated_flag等于0指定预测过程以针对相对于对应的亮度样点位置以亮度样点为单位向右移位0.5的色度样点位置而设计的方式操作。当sps_chroma_horizontal_collocated_flag不存在时,其被推断为等于1。
sps_chroma_vertical_collocated_flag等于1指定预测过程以针对不相对于对应的亮度样点位置垂直移位的色度样点位置而设计的方式操作。sps_chroma_vertical_collocated_flag等于0指定预测过程以针对相对于对应的亮度样点位置以亮度样点为单位向下移位0.5的色度样点位置而设计的方式操作。当sps_chroma_vertical_collocated_flag不存在时,其被推断为等于1。
sps_mts_enabled_flag等于1指定sps_explicit_mts_intra_enabled_flag存在于序列参数集RBSP语法中,并且sps_explicit_mts_inter_enabled_flag存在于序列参数集RBSP语法中。sps_mts_enabled_flag等于0指定sps_explicit_mts_intra_enabled_flag不存在于序列参数集RBSP语法中,并且sps_explicit_mts_inter_enabled_flag不存在于序列参数集RBSP语法中。
sps_explicit_mts_intra_enabled_flag等于1指定mts_idx可以存在于帧内编解码单元语法中。sps_explicit_mts_intra_enabled_flag等于0指定mts_idx不存在于帧内编解码单元语法中。当不存在时,sps_explicit_mts_intra_enabled_flag的值被推断为等于0。
sps_explicit_mts_inter_enabled_flag等于1指定mts_idx可以存在于帧间编解码单元语法中。sps_explicit_mts_inter_enabled_flag等于0指定mts_idx不存在于帧间编解码单元语法中。当不存在时,sps_explicit_mts_inter_enabled_flag的值被推断为等于0。
six_minus_max_num_merge_cand指定从6减去的SPS中支持的Merge运动矢量预测(MVP)候选的最大数量。six_minus_max_num_merge_cand的值应当在0到5的范围(包括0和5)内。
Merge MVP候选的最大数量MaxNumMergeCand被推导如下:
MaxNumMergeCand=6-six_minus_max_num_merge_cand (63)
sps_sbt_enabled_flag等于0指定用于帧间预测CU的子块变换被禁用。sps_sbt_enabled_flag等于1指定用于帧间预测CU的子块变换被启用。
sps_affine_enabled_flag指定基于仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_enabled_flag等于0,则语法应当被约束,使得没有基于仿射模型的运动补偿用于CLVS中,并且inter_affine_flag和cu_affine_type_flag不存在于CLVS的编解码单元语法中。否则(sps_affine_enabled_flag等于1),基于仿射模型的运动补偿可以用于CLVS中。
five_minus_max_num_subblock_merge_cand指定从5减去的SPS中支持的基于子块的Merge运动矢量预测候选的最大数量。
sps_affine_type_flag指定基于6参数仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_type_flag等于0,则语法应当被约束,使得没有基于6参数仿射模型的运动补偿用于CLVS中,并且cu_affine_type_flag不存在于CLVS中的编解码单元语法中。否则(sps_affine_type_flag等于1),基于6参数仿射模型的运动补偿可以用于CLVS中。当不存在时,sps_affine_type_flag的值被推断为等于0。
sps_affine_amvr_enabled_flag等于1指定自适应运动矢量差分辨率用于仿射帧间模式的运动矢量编解码。sps_affine_amvr_enabled_flag等于0指定自适应运动矢量差分辨率不用于仿射帧间模式的运动矢量编解码。当不存在时,sps_affine_amvr_enabled_flag的值被推断为等于0。
sps_affine_prof_enabled_flag指定利用光流的预测细化是否可以用于仿射运动补偿。如果sps_affine_prof_enabled_flag等于0,则仿射运动补偿不应当用光流来细化。否则(sps_affine_prof_enabled_flag等于1),仿射运动补偿可以用光流来细化。当不存在时,sps_affine_prof_enabled_flag的值被推断为等于0。
sps_prof_pic_present_flag等于1指定ph_disable_prof_flag存在于参考SPS的PH中。sps_prof_pic_present_flag等于0指定ph_disable_prof_flag不存在于参考SPS的PH中。当sps_prof_pic_present_flag不存在时,sps_prof_pic_present_flag的值被推断为等于0。
sps_palette_enabled_flag等于1指定pred_mode_plt_flag可以存在于编解码单元语法中。sps_palette_enabled_flag等于0指定pred_mode_plt_flag不存在于编解码单元语法中。当sps_palette_enabled_flag不存在时,其被推断为等于0。
sps_act_enabled_flag等于1指定可以使用自适应色彩变换,并且cu_act_enabled_flag可以存在于编解码单元语法中。sps_act_enabled_flag等于0指定不使用自适应色彩变换,并且cu_act_enabled_flag不存在于编解码单元语法中。当sps_act_enabled_flag不存在时,其被推断为等于0。
min_qp_prime_ts_minus4指定变换跳过模式的最小允许量化参数如下:
QpPrimeTsMin=4+min_qp_prime_ts_minus4 (64)
min_qp_prime_ts_minus4的值应当在0到48的范围(包括0和48)内。
sps_bcw_enabled_flag指定利用CU权重的双向预测是否可以用于帧间预测。如果sps_bcw_enabled_flag等于0,则语法应当被约束,使得利用CU权重的双向预测不用于CLVS中,并且bcw_idx不存在于CLVS的编解码单元语法中。否则(sps_bcw_enabled_flag等于1),利用CU权重的双向预测可以用于CLVS中。
sps_ibc_enabled_flag等于1指定IBC预测模式可以用于解码CLVS中的图片。sps_ibc_enabled_flag等于0指定IBC预测模式不用于CLVS中。当sps_ibc_enabled_flag不存在时,其被推断为等于0。
six_minus_max_num_ibc_merge_cand指定从6减去的SPS中支持的IBC Merge块矢量预测(BVP)候选的最大数量。six_minus_max_num_ibc_merge_cand的值应当在0到5的范围(包括0和5)内。
Figure BDA0003956096920000541
sps_ciip_enabled_flag指定ciip_flag可以存在于帧间编解码单元的编解码单元语法中。sps_ciip_enabled_flag等于0指定ciip_flag不存在于帧间编解码单元的编解码单元语法中。
sps_fpel_mmvd_enabled_flag等于1指定利用运动矢量差的Merge模式使用整数样点精度。sps_fpel_mmvd_enabled_flag等于0指定利用运动矢量差的Merge模式可以使用分数样点精度。
sps_gpm_enabled_flag指定基于几何分割的运动补偿是否可以用于帧间预测。sps_gpm_enabled_flag等于0指定语法应当被约束,使得基于几何分割的运动补偿不用于CLVS中,并且merge_gpm_partition_idx、merge_gpm_idx0和merge_gpm_idx1不存在于CLVS的编解码单元语法中。sps_gpm_enabled_flag等于1指定基于几何分割的运动补偿可以用于CLVS中。当不存在时,sps_gpm_enabled_flag的值被推断为等于0。
max_num_merge_cand_minus_max_num_gpm_cand指定从MaxNumMergeCand减去的SPS中支持的几何分割Merge模式候选的最大数量。
几何分割Merge模式候选的最大数量MaxNumGpmMergeCand被推导如下:
Figure BDA0003956096920000551
MaxNumGpmMergeCand的值应当在2到MaxNumMergeCand的范围(包括2和MaxNumMergeCand)内。
sps_lmcs_enabled_flag等于1指定亮度映射与色度缩放用于CLVS中。sps_lmcs_enabled_flag等于0指定亮度映射与色度缩放不用于CLVS中。
sps_lfnst_enabled_flag等于1指定lfnst_idx可以存在于帧内编解码单元语法中。sps_lfnst_enabled_flag等于0指定lfnst_idx不存在于帧内编解码单元语法中。
sps_ladf_enabled_flag等于1指定sps_num_ladf_intervals_minus2、sps_ladf_lowest_interval_qp_offset、sps_ladf_qp_offset[i]和sps_ladf_delta_threshold_minus1[i]存在于SPS中。
sps_num_ladf_intervals_minus2加1指定存在于SPS中的sps_ladf_delta_threshold_minus1[i]和sps_ladf_qp_offset[i]语法元素的数量。sps_num_ladf_intervals_minus2的值应当在0到3的范围(包括0和3)内。
sps_ladf_lowest_interval_qp_offset指定用于推导变量qP的偏移,如条款8.8.3.6.1所指定的。sps_ladf_lowest_interval_qp_offset的值应当在-63到63的范围(包括-63和63)内。
sps_ladf_qp_offset[i]指定用于推导变量qP的偏移阵列,如条款8.8.3.6.1所指定的。sps_ladf_qp_offset[i]的值应当在-63至63范围(包括-63和63)内。
sps_ladf_delta_threshold_minus1[i]用于计算SpsLadfIntervalLowerBound[i]的值,其指定第i个亮度强度级别间隔的下限。sps_ladf_delta_threshold_minus1[i]的值应当在0到2BitDepth-3的范围(包括0和2BitDepth-3)内。
SpsLadfIntervalLowerBound[0]的值被设置为等于0。
对于在0到sps_num_ladf_intervals_minus2的范围(包括0和sps_num_ladf_intervals_minus2)内的i的每个值,变量SpsLadfIntervalLowerBound[i+1]被推导如下:
Figure BDA0003956096920000561
log2_parallel_merge_level_minus2加2指定变量Log2ParMrgLevel的值,其用于如条款8.5.2.3所指定的空域Merge候选的推导过程、如条款8.5.5.2所指定的子块Merge模式中运动矢量和参考索引的推导过程,并控制条款8.5.2.1中基于历史的运动矢量预测值列表的更新过程的调用。log2_parallel_merge_level_minus2的值应当在0到CtbLog2SizeY-2的范围(包括0和CtbLog2SizeY-2)内。变量Log2ParMrgLevel被推导如下:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (68)
sps_scaling_list_enabled_flag等于1指定缩放列表用于变换系数的缩放过程。sps_scaling_list_enabled_flag等于0指定缩放列表不用于变换系数的缩放过程。
sps_dep_quant_enabled_flag等于0指定对参考SPS的图片禁用依赖量化。sps_dep_quant_enabled_flag等于1指定可以对参考SPS的图片启用依赖量化。
sps_sign_data_hiding_enabled_flag等于0指定对参考SPS的图片禁用符号比特隐藏。sps_sign_data_hiding_enabled_flag等于1指定可以对参考SPS的图片启用符号比特隐藏。当sps_sign_data_hiding_enabled_flag不存在时,其被推断为等于0。
sps_virtual_boundaries_enabled_flag等于1指定跨虚拟边界禁用环路滤波可以被应用于CLVS中的编解码图片。sps_virtual_boundaries_enabled_flag等于0指定跨虚拟边界禁用环路滤波不应用于CLVS中的编解码图片。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。
sps_virtual_boundaries_present_flag等于1指定在SPS中信令通知虚拟边界的信息。sps_virtual_boundaries_present_flag等于0指定在SPS中不信令通知虚拟边界的信息。当在SPS中信令通知一个或多于一个虚拟边界时,跨参考SPS的图片中的虚拟边界禁用环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。
比特流一致性的要求是,当res_change_in_clvs_allowed_flag的值等于1时,sps_virtual_boundaries_present_flag的值应当等于0。
sps_num_ver_virtual_boundaries指定存在于SPS中的sps_virtual_boundaries_pos_x[i]语法元素的数量。当sps_num_ver_virtual_boundaries不存在时,其被推断为等于0。
sps_virtual_boundaries_pos_x[i]指定第i个垂直虚拟边界的位置,以亮度样点除以8为单位。sps_virtual_boundaries_pos_x[i]的值应当在1到Ceil(pic_width_in_luma_samples÷8)-1的范围(包括1和Ceil(pic_width_in_luma_samples÷8)-1)内。[Ed.(VD):pic_width_in_luma_samples在PPS中,而不在SPS中。]
sps_num_hor_virtual_boundaries指定存在于SPS中的sps_virtual_boundaries_pos_y[i]语法元素的数量。当sps_num_hor_virtual_boundaries不存在时,其被推断为等于0。
当sps_virtual_boundaries_enabled_flag等于1并且sps_virtual_boundaries_present_flag等于1时,sps_num_ver_virtual_boundaries和sps_num_hor_virtual_boundaries之和应当大于0。
sps_virtual_boundaries_pos_y[i]指定第i个水平虚拟边界的位置,以亮度样点除以8为单位。sps_virtual_boundaries_pos_y[i]的值应当在1到Ceil(pic_height_in_luma_samples÷8)-1的范围(包括1和Ceil(pic_height_in_luma_samples÷8)-1)内。[Ed.(VD):pic_height_in_luma_samples在PPS中,而不在SPS中。]
sps_general_hrd_params_present_flag等于1指定语法结构general_hrd_parameters()存在于SPS RBSP语法结构中。sps_general_hrd_params_present_flag等于0指定语法结构general_hrd_parameters()不存在于SPS RBSP语法结构中。
sps_sublayer_cpb_params_present_flag等于1指定SPS RBSP中的语法结构old_hrd_parameters()包括TemporalId在0到sps_max_sublayers_minus1的范围(包括0和sps_max_sublayers_minus1)内的子层表示的HRD参数。sps_sublayer_cpb_params_present_flag等于0指定SPS RBSP中的语法结构ols_hrd_parameters()包括TemporalId仅等于sps_max_sublayers_minus1的子层表示的HRD参数。当sps_max_sublayers_minus1等于0时,sps_sublayer_cpb_params_present_flag的值被推断为等于0。
当sps_sublayer_cpb_params_present_flag等于0时,TemporalId在0到sps_max_sublayers_minus1的范围(包括0和sps_max_sublayers_minus1)内的子层表示的HRD参数被推断为与TemporalId等于sps_max_sublayers_minus1的子层表示的相同。这些包括从fixed_pic_rate_general_flag[i]语法元素开始直到立即在ols_hrd_parameters语法结构中的条件“if(general_vcl_hrd_params_present_flag)”下的sublayer_hrd_parameters(i)语法结构的HRD参数。
field_seq_flag等于1指示CLVS传送表示字段的图片。field_seq_flag等于0指示CLVS传送表示帧的图片。当general_frame_only_constraint_flag等于1时,field_seq_flag的值应当等于0。
当field_seq_flag等于1时,帧字段信息SEI消息应当对于CLVS中的每个编解码图片而存在。
注5–所指定的解码过程不区别对待表示字段或帧的图片。因此,表示字段的图片序列将用单独字段的图片维度来编解码。例如,表示1080i字段的图片通常具有1920x540的裁剪输出维度,而序列图片速率通常表述源字段的速率(通常在50和60Hz之间),而不是源帧速率(通常在25和30Hz之间)。
vui_parameters_present_flag等于1指定语法结构vui_parameters()存在于SPSRBSP语法结构中。vui_parameters_present_flag等于0指定语法结构vui_parameters()不存在于SPS RBSP语法结构中。
sps_extension_flag等于0指定没有sps_extension_data_flag语法元素存在于SPS RBSP语法结构中。sps_extension_flag等于1指定SPS RBSP语法结构中存在sps_extension_data_flag语法元素。
sps_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有sps_extension_data_flag语法元素。
3.6.PPS语法和语义
在最新的VVC草案文本中,PPS语法和语义如下:
Figure BDA0003956096920000591
Figure BDA0003956096920000601
Figure BDA0003956096920000611
Figure BDA0003956096920000621
PPS RBSP在被参考之前应当可用于解码过程,包括在TemporalId小于或等于PPSNAL单元的TemporalId的至少一个AU中或者通过外部手段提供。
PU内具有pps_pic_parameter_set_id的特定值的所有PPS NAL单元应当具有相同的内容。
pps_pic_parameter_set_id标识其他语法元素所参考的PPS。pps_pic_parameter_set_id的值应当在0到63的范围(包括0和63)内。
无论nuh_layer_id值如何,PPS NAL单元都共享pps_pic_parameter_set_id的相同值空间。
设ppsLayerId为特定PPS NAL单元的nuh_layer_id的值,并且vclLayerId为特定VCL NAL单元的nuh_layer_id的值。特定VCL NAL单元不应当参考特定PPS NAL单元,除非ppsLayerId小于或等于vclLayerId,并且nuh_layer_id等于ppsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中。
pps_seq_parameter_set_id指定SPS的sps_seq_parameter_set_id的值。pps_seq_parameter_set_id的值应当在0到15的范围(包括0和15)内。pps_seq_parameter_set_id的值在CLVS中的编解码图片所参考的所有PPS中应当是相同的。
mixed_nalu_types_in_pic_flag等于1指定参考PPS的每个图片具有多于一个VCLNAL单元,VCL NAL单元不具有nal_unit_type的相同值,并且该图片不是IRAP图片。mixed_nalu_types_in_pic_flag等于0指定参考PPS的每个图片具有一个或多个VCL NAL单元,并且参考PPS的每个图片的VCL NAL单元具有nal_unit_type的相同值。
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应当等于0。
对于还包含具有nal_unit_type的另一个值的一个或多个条带的图片picA(即,图片picA的mixed_nalu_types_in_pic_flag的值等于1)中具有在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的nal_unit_type值nalUnitTypeA的每个条带,以下适用:
-条带应当属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpicA。
-条带不应当属于包含nal_unit_type不等于nalUnitTypeA的VCL NAL单元的picA的子图片。
-如果nalUnitTypeA等于CRA,则对于按照解码顺序和输出顺序在CLVS中的当前图片之后的所有后续PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
-否则(即,nalUnitTypeA等于IDR_W_RADL或IDR_N_LP),对于按照解码顺序在当前图片之后的CLVS中的所有PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
注1–mixed_nalu_types_in_pic_flag等于1指示参考PPS的图片包含具有不同NAL单元类型的条带,例如,源自编码器必须确保匹配比特流结构以及原始比特流的参数的进一步对齐的子图片比特流合并操作的编解码图片。这样的对齐的一个示例如下:当sps_idr_rpl_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考PPS的图片不能具有nal_unit_type等于IDR_W_RADL或IDR_N_LP的条带。
pic_width_in_luma_samples指定参考PPS的每个解码图片的宽度,以亮度样点为单位。pic_width_in_luma_samples不应当等于0,应当为Max(8,MinCbSizeY)的整数倍,并且应当小于或等于pic_width_max_in_luma_samples。
当res_change_in_clvs_allowed_flag等于0时,pic_width_in_luma_samples的值应当等于pic_width_max_in_luma_samples。
pic_height_in_luma_samples指定参考PPS的每个解码图片的高度,以亮度样点为单位。pic_height_in_luma_samples不应当等于0,应当为Max(8,MinCbSizeY)的整数倍,并且应当小于或等于pic_height_max_in_luma_samples。
当res_change_in_clvs_allowed_flag等于0时,pic_height_in_luma_samples的值应当等于pic_height_max_in_luma_samples。
变量PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC和PicHeightInSamplesC被推导如下:
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY) (69)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY) (70)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (71)
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (72)
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (73)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (74)
PicSizeInSamplesY=
pic_width_in_luma_samples*pic_height_in_luma_samples (75)
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (76)
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (77)
pps_conformance_window_flag等于1指示一致性裁剪窗口偏移参数在PPS中跟随下一个。pps_conformance_window_flag等于0指示一致性裁剪窗口偏移参数不存在于PPS中。
pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset指定从解码过程输出的CLVS中的图片的样点,按照用于输出的图片坐标中指定的矩形区域。当pps_conformance_window_flag等于0时,pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含水平图片坐标从SubWidthC*pps_conf_win_left_offset到pic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1)(包括SubWidthC*pps_conf_win_left_offset和pic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1))并且垂直图片坐标从SubHeightC*pps_conf_win_top_offset到pic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1)(包括SubHeightC*pps_conf_win_top_offset和pic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1))的亮度样点。
SubWidthC*(pps_conf_win_left_offset+pps_conf_win_right_offset)的值应当小于pic_width_in_luma_samples,并且SubHeightC*(pps_conf_win_top_offset+pps_conf_win_bottom_offset)的值应当小于pic_height_in_luma_samples。
当ChromaArrayType不等于0时,两个色度阵列的对应指定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是指定亮度样点的图片坐标。
注2–一致性裁剪窗口偏移参数仅被应用于输出。所有内部解码过程都被应用于未裁剪的图片尺寸。
设ppsA和ppsB为参考相同SPS的任何两个PPS。比特流一致性的要求是,当ppsA和ppsB分别具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值时,ppsA和ppsB应当分别具有pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset的相同值。
当pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_max_in_luma_samples时,比特流一致性的要求是pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset分别等于sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset。
scaling_window_explicit_signalling_flag等于1指定缩放窗口偏移参数存在于PPS中。scaling_window_explicit_signalling_flag等于0指定缩放窗口偏移参数不存在于PPS中。当res_change_in_clvs_allowed_flag等于0时,scaling_window_explicit_signalling_flag的值应当等于0。
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset指定被应用于图片尺寸以进行缩放比计算的偏移。当不存在时,scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset的值被推断为分别等于pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset。
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)的值应当小于pic_width_in_luma_samples,并且SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)的值应当小于pic_height_in_luma_samples。
变量PicOutputWidthL和PicOutputHeightL被推导如下:
PicOutputWidthL=pic_width_in_luma_samples- (78)
SubWidthC*(scaling_win_right_offset+scaling_win_left_offset)
PicOutputHeightL=pic_height_in_luma_samples- (79)
SubWidthC*(scaling_win_bottom_offset+scaling_win_top_offset)
设refPicOutputWidthL和refPicOutputHeightL分别为参考该PPS的当前图片的参考图片的PicOutputWidthL和PicOutputHeightL。比特流一致性的要求是满足所有以下条件:
-PicOutputWidthL*2应当大于或等于refPicWidthInLumaSamples。
-PicOutputHeightL*2应当大于或等于refPicHeightInLumaSamples。
-PicOutputWidthL应当小于或等于refPicWidthInLumaSamples*8。
-PicOutputHeightL应当小于或等于refPicHeightInLumaSamples*8。
-PicOutputWidthL*pic_width_max_in_luma_samples应当大于或等于refPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY))。
-PicOutputHeightL*pic_height_max_in_luma_samples应当大于或等于refPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))。
output_flag_present_flag等于1指示pic_output_flag语法元素存在于参考PPS的条带标头中。output_flag_present_flag等于0指示pic_output_flag语法元素不存在于参考PPS的条带标头中。
subpic_id_mapping_in_pps_flag等于1指定在PPS中信令通知子图片ID映射。subpic_id_mapping_in_pps_flag等于0指定在PPS中不信令通知子图片ID映射。如果subpic_id_mapping_explicitly_signalled_flag为0或subpic_id_mapping_in_sps_flag等于1,则subpic_id_mapping_in_pps_flag的值应当等于0。否则(subpic_id_mapping_explicitly_signalled_flag等于1,并且subpic_id_mapping_in_sps_flag等于0),subpic_id_mapping_in_pps_flag的值应当等于1。
pps_num_subpics_minus1应当等于sps_num_subpics_minus1。
pps_subpic_id_len_minus1应当等于sps_subpic_id_len_minus1。
pps_subpic_id[i]指定第i个子图片的子图片ID。pps_subpic_id[i]语法元素的长度为pps_subpic_id_len_minus1+1比特。
对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的i的每个值,变量SubpicIdVal[i]被推导如下:
Figure BDA0003956096920000671
比特流一致性的要求是以下两个约束适用:
-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的任何两个不同值i和j,SubpicIdVal[i]不应当等于SubpicIdVal[j]。
-当当前图片不是CLVS的第一个图片时,对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的i的每个值,如果SubpicIdVal[i]的值不等于相同层中按照解码顺序的前一个图片的SubpicIdVal[i]的值,则具有子图片索引i的当前图片中的子图片的所有编解码条带NAL单元的nal_unit_type应当等于在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的特定值。
no_pic_partition_flag等于1指定没有图片分割被应用于参考PPS的每个图片。no_pic_partition_flag等于0指定参考PPS的每个图片可以被分割为多于一个片或条带。
比特流一致性的要求是no_pic_partition_flag的值对于CLVS内的编解码图片所参考的所有PPS应当是相同的。
比特流一致性的要求是,当sps_num_subpics_minus1+1的值大于1时,no_pic_partition_flag的值不应当等于1。
pps_log2_ctu_size_minus5加5指定每个CTU的亮度编解码树块尺寸。pps_log2_ctu_size_minus5应当等于sps_log2_ctu_size_minus5。
num_exp_tile_columns_minus1加1指定显式地提供的片列宽的数量。num_exp_tile_columns_minus1的值应当在0到PicWidthInCtbsY-1的范围(包括0和PicWidthInCtbsY-1)内。当no_pic_partition_flag等于1时,num_exp_tile_columns_minus1的值被推断为等于0。
num_exp_tile_rows_minus1加1指定显式地提供的片行高的数量。num_exp_tile_rows_minus1的值应当在0到PicHeightInCtbsY-1的范围(包括0和PicHeightInCtbsY-1)内。当no_pic_partition_flag等于1时,num_tile_rows_minus1的值被推断为等于0。
tile_column_width_minus1[i]加1指定第i个片列的宽度,以CTB为单位,i在0到num_exp_tile_columns_minus1-1的范围(包括0和num_exp_tile_columns_minus1-1)内。tile_column_width_minus1[num_exp_tile_columns_minus1]用于推导索引大于或等于num_exp_tile_columns_minus1的片列的宽度,如条款6.5.1所指定的。tile_column_width_minus1[i]的值应当在0到PicWidthInCtbsY-1的范围(包括0和PicWidthInCtbsY-1)内。当不存在时,tile_column_width_minus1[0]的值被推断为等于PicWidthInCtbsY-1。
tile_row_height_minus1[i]加1指定第i个片行的高度,以CTB为单位,i在0到num_exp_tile_rows_minus1-1的范围(包括0和num_exp_tile_rows_minus1-1)内。tile_row_height_minus1[num_exp_tile_rows_minus1]用于推导索引大于或等于num_exp_tile_rows_minus1的片行的高度,如条款6.5.1所指定的。tile_row_height_minus1[i]的值应当在0到PicHeightInCtbsY-1的范围(包括0和PicHeightInCtbsY-1)内。当不存在时,tile_row_height_minus1[0]的值被推断为等于PicHeightInCtbsY-1。
rect_slice_flag等于0指定每个条带内的片按照光栅扫描顺序,并且条带信息不在PPS中信令通知。rect_slice_flag等于1指定每个条带内的片覆盖图片的矩形区域,并且条带信息在PPS中被信令通知。当不存在时,rect_slice_flag被推断为等于1。当subpic_info_present_flag等于1时,rect_slice_flag的值应当等于1。
single_slice_per_subpic_flag等于1指定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定每个子图片可以由一个或多个矩形条带组成。当single_slice_per_subpic_flag等于1时,num_slices_in_pic_minus1被推断为等于sps_num_subpics_minus1。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
num_slices_in_pic_minus1加1指定参考PPS的每个图片中的矩形条带的数量。num_slices_in_pic_minus1的值应当在0到MaxSlicesPerPicture-1的范围(包括0和MaxSlicesPerPicture-1)内,其中MaxSlicesPerPicture在附录A中指定。当no_pic_partition_flag等于1时,num_slices_in_pic_minus1的值被推断为等于0。
tile_idx_delta_present_flag等于0指定tile_idx_delta值不存在于PPS中,并且参考PPS的图片中的所有矩形条带根据条款6.5.1中定义的过程按照光栅顺序来指定。tile_idx_delta_present_flag等于1指定tile_idx_delta值可以存在于PPS中,并且参考PPS的图片中的所有矩形条带按照tile_idx_delta的值所指示的顺序来指定。当不存在时,tile_idx_delta_present_flag的值被推断为等于0。
slice_width_in_tiles_minus1[i]加1指定第i个矩形条带的宽度,以片列为单位。slice_width_in_tiles_minus1[i]的值应当在0到NumTileColumns-1的范围(包括0和NumTileColumns-1)内。
当slice_width_in_tiles_minus1[i]不存在时,以下适用:
-如果NumTileColumns等于1,则slice_width_in_tiles_minus1[i]的值被推断为等于0。
-否则,slice_width_in_tiles_minus1[i]的值如条款6.5.1所指定的来推断。
slice_height_in_tiles_minus1[i]加1指定第i个矩形条带的高度,以片行为单位。slice_height_in_tiles_minus1[i]的值应当在0到NumTileRows-1的范围(包括0和NumTileRows-1)内。
当slice_height_in_tiles_minus1[i]不存在时,以下适用:
-如果NumTileRows等于1,或者tile_idx_delta_present_flag等于0并且tileIdx%NumTileColumns大于0,则slice_height_in_tiles_minus1[i]的值被推断为等于0。
-否则(NumTileRows不等于1,并且tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于0),当tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于0时,slice_height_in_tiles_minus1[i]的值被推断为等于slice_height_in_tiles_minus1[i-1]。
num_exp_slices_in_tile[i]指定包含多于一个矩形条带的当前条带中的显式地提供的条带高度的数量。num_exp_slices_in_tile[i]的值应当在0到RowHeight[tileY]-1的范围(包括0和RowHeight[tileY]-1)内,其中tileY是包含第i个条带的条带行索引。当不存在时,num_exp_slices_in_tile[i]的值被推断为等于0。当num_exp_slices_in_tile[i]等于0时,变量NumSlicesInTile[i]的值被推导为等于1。
exp_slice_height_in_ctus_minus1[j]加1指定当前片中的第j个矩形条带的高度,以CTU行为单位。exp_slice_height_in_ctus_minus1[j]的值应当在0到RowHeight[tileY]-1的范围(包括0和RowHeight[tileY]-1)内,其中tileY是当前片的片行索引。
当num_exp_slices_in_tile[i]大于0时,变量NumSlicesInTile[i]和SliceHeightInCtusMinus1[i+k](其中k在0到NumSlicesInTile[i]-1的范围内)被推导如下:
Figure BDA0003956096920000711
tile_idx_delta[i]指定第i个矩形条带中的第一个片的片索引和第(i+1)个矩形条带中的第一个片的片索引之间的差。tile_idx_delta[i]的值应当在-NumTilesInPic+1到NumTilesInPic-1的范围(包括-NumTilesInPic+1和NumTilesInPic-1)内。当不存在时,tile_idx_delta[i]的值被推断为等于0。当存在时,tile_idx_delta[i]的值不应当等于0。
loop_filter_across_tiles_enabled_flag等于1指定可以跨参考PPS的图片中的片边界执行环路滤波操作。loop_filter_across_tiles_enabled_flag等于0指定跨参考PPS的图片中的片边界不执行环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_across_tiles_enabled_flag的值被推断为等于1。
loop_filter_across_slices_enabled_flag等于1指定可以跨参考PPS的图片中的条带边界执行环路滤波操作。loop_filter_across_slice_enabled_flag等于0指定跨参考PPS的图片中的条带边界不执行环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_across_slices_enabled_flag的值被推断为等于0。
cabac_init_present_flag等于1指定cabac_init_flag存在于参考PPS的条带标头中。cabac_init_present_flag等于0指定cabac_init_flag不存在于参考PPS的条带标头中。
num_ref_idx_default_active_minus1[i]加1在i等于0时指定num_ref_idx_active_override_flag等于0的P或B条带的变量NumRefIdxActive[0]的推断值,并且在i等于1时指定num_ref_idx_active_override_flag等于0的B条带的NumRefIdxActive[1]的推断值。num_ref_idx_default_active_minus1[i]的值应当在0到14的范围(包括0和14)内。
rpl1_idx_present_flag等于0指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]不存在于PH语法结构或参考PPS的图片的条带标头中。rpl1_idx_present_flag等于1指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]可以存在于PH语法结构或参考PPS的图片的条带标头中。
init_qp_minus26加26指定参考PPS的每个片的SliceQpY的初始值。当ph_qp_delta的非零值被解码时,SliceQpY的初始值在图片级别被修改,或者当slice_qp_delta的非零值被解码时,SliceQpY的初始值在条带级别被修改。init_qp_minus26的值应当在-(26+QpBdOffset)到+37的范围(包括-(26+QpBdOffset)和+37)内。
cu_qp_delta_enabled_flag等于1指定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素存在于参考PPS的PH中,并且cu_qp_delta_abs可以存在于变换单元语法中。cu_qp_delta_enabled_flag等于0指定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素不存在于参考PPS的PH中,并且cu_qp_delta_abs不存在于变换单元语法中。
pps_chroma_tool_offsets_present_flag等于1指定色度工具偏移相关语法元素存在于PPS RBSP语法结构中。pps_chroma_tool_offsets_present_flag等于0指定色度工具偏移相关语法元素不存在于PPS RBSP语法结构中。当ChromaArrayType等于0时,pps_chroma_tool_offsets_present_flag的值应当等于0。
pps_cb_qp_offset和pps_cr_qp_offset分别指定用于推导Qp′Cb和Qp′Cr的亮度量化参数Qp′Y的偏移。pps_cb_qp_offset和pps_cr_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。当ChromaArrayType等于0时,pps_cb_qp_offset和pps_cr_qp_offset不用于解码过程中,并且解码器应当忽略它们的值。当不存在时,pps_cb_qp_offset和pps_cr_qp_offset的值被推断为等于0。
pps_joint_cbcr_qp_offset_present_flag等于1指定pps_joint_cbcr_qp_offset_value和joint_cbcr_qp_offset_list[i]存在于PPS RBSP语法结构中。pps_joint_cbcr_qp_offset_present_flag等于0指定pps_joint_cbcr_qp_offset_value和joint_cbcr_qp_offset_list[i]不存在于PPS RBSP语法结构中。当ChromaArrayType等于0或sps_joint_cbcr_enabled_flag等于0时,pps_joint_cbcr_qp_offset_present_flag的值应当等于0。当不存在时,pps_joint_cbcr_qp_offset_present_flag的值被推断为等于0。
pps_joint_cbcr_qp_offset_value指定用于推导Qp′CbCr的亮度量化参数Qp′Y的偏移。pps_joint_cbcr_qp_offset_value的值应当在-12到+12的范围(包括-12和+12)内。当ChromaArrayType等于0或sps_joint_cbcr_enabled_flag等于0时,pps_joint_cbcr_qp_offset_value不用于解码过程中,并且解码器应当忽略其值。当pps_joint_cbcr_qp_offset_present_flag等于0时,pps_joint_cbcr_qp_offset_value不存在,并且被推断为等于0。
pps_slice_chroma_qp_offsets_present_flag等于1指定slice_cb_qp_offset和slice_cr_qp_offset语法元素存在于相关联的条带标头中。pps_slice_chroma_qp_offsets_present_flag等于0指定slice_cb_qp_offset和slice_cr_qp_offset语法元素不存在于相关联的条带标头中。当不存在时,pps_slice_chroma_qp_offsets_present_flag的值被推断为等于0。
pps_cu_chroma_qp_offset_list_enabled_flag等于1指定ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice语法元素存在于参考PPS的PH中,并且cu_chroma_qp_offset_flag可以存在于变换单元语法和调色板编解码语法中。pps_cu_chroma_qp_offset_list_enabled_flag等于0指定ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice语法元素不存在于参考PPS的PH中,并且cu_chroma_qp_offset_flag不存在于变换单元语法和调色板编解码语法中。当不存在时,pps_cu_chroma_qp_offset_list_enabled_flag的值被推断为等于0。
chroma_qp_offset_list_len_minus1加1指定存在于PPS RBSP语法结构中的cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]语法元素的数量。chroma_qp_offset_list_len_minus1的值应当在0到5的范围(包括0和5)内。
cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]分别指定Qp′Cb、Qp′Cr和Qp′CbCr的推导中使用的偏移。cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]的值应当在-12到+12的范围(包括-12和+12)内。当pps_joint_cbcr_qp_offset_present_flag等于0时,joint_cbcr_qp_offset_list[i]不存在,并且其被推断为等于0。
pps_weighted_pred_flag等于0指定加权预测不应用于参考PPS的P条带。pps_weighted_pred_flag等于1指定加权预测被应用于参考PPS的P条带。当sps_weighted_pred_flag等于0时,pps_weighted_pred_flag的值应当等于0。
pps_weighted_bipred_flag等于0指定显式加权预测不应用于参考PPS的B条带。pps_weighted_bipred_flag等于1指定显式加权预测被应用于参考PPS的B条带。当sps_weighted_bipred_flag等于0时,pps_weighted_bipred_flag的值应当等于0。
deblocking_filter_control_present_flag等于1指定PPS中的去方块滤波器控制语法元素的存在。deblocking_filter_control_present_flag等于0指定PPS中的去方块滤波器控制语法元素的缺失。
deblocking_filter_override_enabled_flag等于1指定参考PPS的PH中的ph_deblocking_filter_override_flag或者参考PPS的条带标头中的slice_deblocking_filter_override_flag的存在。deblocking_filter_override_enabled_flag等于0指定参考PPS的PH中的ph_deblocking_filter_override_flag或者参考PPS的条带标头中的slice_deblocking_filter_override_flag的缺失。当不存在时,deblocking_filter_override_enabled_flag的值被推断为等于0。
pps_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带。pps_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带。当不存在时,pps_deblocking_filter_disabled_flag的值被推断为等于0。
pps_beta_offset_div2和pps_tc_offset_div2指定被应用于参考PPS的条带的亮度分量的β和tC(除以2)的默认去方块参数偏移,除非默认去方块参数偏移被存在于图片标头或参考PPS的条带的条带标头中的去方块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定被应用于参考PPS的条带的Cb分量的β和tC(除以2)的默认去方块参数偏移,除非默认去方块参数偏移被存在于图片标头或参考PPS的条带的条带标头中的去方块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定被应用于参考PPS的条带的Cr分量的β和tC(除以2)的默认去方块参数偏移,除非默认去方块参数偏移被存在于图片标头或参考PPS的条带的条带标头中的去方块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
rpl_info_in_ph_flag等于1指定参考图片列表信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。rpl_info_in_ph_flag等于0指定参考图片列表信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
dbf_info_in_ph_flag等于1指定去方块滤波器信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。dbf_info_in_ph_flag等于0指定去方块滤波器信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。当不存在时,dbf_info_in_ph_flag的值被推断为等于0。
sao_info_in_ph_flag等于1指定SAO滤波器信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。sao_info_in_ph_flag等于0指定SAO滤波器信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
alf_info_in_ph_flag等于1指定ALF信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。alf_info_in_ph_flag等于0指定ALF信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
wp_info_in_ph_flag等于1指定加权预测信息可以存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。wp_info_in_ph_flag等于0指定加权预测信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。当不存在时,wp_info_in_ph_flag的值被推断为等于0。
qp_delta_info_in_ph_flag等于1指定QP增量信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。qp_delta_info_in_ph_flag等于0指定QP增量信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
pps_ref_wraparound_enabled_flag等于1指定在帧间预测中应用水平环绕运动补偿。pps_ref_wraparound_enabled_flag等于0指定不应用水平环绕运动补偿。当CtbSizeY/MinCbSizeY+1的值大于pic_width_in_luma_samples/MinCbSizeY-1时,pps_ref_wraparound_enabled_flag的值应当等于0。当sps_ref_wraparound_enabled_flag等于0时,pps_ref_wraparound_enabled_flag的值应当等于0。
pps_ref_wraparound_offset加(CtbSizeY/MinCbSizeY)+2指定用于计算水平环绕位置的偏移,以MinCbSizeY个亮度样点为单位。pps_ref_wraparound_offset的值应当在0到(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2的范围(包括0和(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2)内。
变量PpsRefWraparoundOffset被设置为等于pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2。
picture_header_extension_present_flag等于0指定没有PH扩展语法元素存在于参考PPS的PH中。picture_header_extension_present_flag等于1指定PH扩展语法元素存在于参考PPS的PH中。picture_header_extension_present_flag在符合本规范的该版本的比特流中应当等于0。
slice_header_extension_present_flag等于0指定没有条带标头扩展语法元素存在于参考PPS的编解码图片的条带标头中。slice_header_extension_present_flag等于1指定条带标头扩展语法元素存在于参考PPS的编解码图片的条带标头中。slice_header_extension_present_flag在符合本规范的该版本的比特流中应当等于0。
pps_extension_flag等于0指定没有pps_extension_data_flag语法元素存在于PPS RBSP语法结构中。pps_extension_flag等于1指定PPS RBSP语法结构中存在pps_extension_data_flag语法元素。
pps_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有pps_extension_data_flag语法元素。
3.7.APS语法和语义
在最新的VVC草案文本中,APS语法和语义如下:
Figure BDA0003956096920000771
Figure BDA0003956096920000781
APS RBSP包含ALF语法结构,即alf_data()。
Figure BDA0003956096920000782
Figure BDA0003956096920000791
APS RBSP包含LMCS语法结构,即lmcs data()。
Figure BDA0003956096920000792
Figure BDA0003956096920000801
APS RBSP包含缩放列表数据语法结构,即scaling_list_data()。
Figure BDA0003956096920000802
每个APS RBSP在被参考之前应当可用于解码过程,包括在TemporalId小于或等于参考它的编解码条带NAL单元的TemporalId的至少一个AU中或者通过外部手段提供。
PU内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的所有APS NAL单元应当具有相同的内容,不管它们是前缀还是后缀APS NAL单元。
adaptation_parameter_set_id提供AP的标识符,以供其他语法元素参考。
当aps_params_type等于ALF_APS或SCALING_APS时,adaptation_parameter_set_id的值应当在0到7的范围(包括0和7)内。
当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应当在0到3的范围(包括0和3)内。
设apsLayerId为特定APS NAL单元的nuh_layer_id的值,并且vclLayerId为特定VCL NAL单元的nuh_layer_id的值。特定VCL NAL单元不应当参考特定APS NAL单元,除非apsLayerId小于或等于vclLayerId,并且nuh_layer_id等于apsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中。
aps_params_type指定APS中携带的APS参数的类型,如表6所指定的。
表6–APS参数类型码和APS参数的类型
Figure BDA0003956096920000811
无论nuh_layer_id值如何,具有aps_params_type的特定值的所有APS NAL单元都共享adaptation_parameter_set_id的相同值空间。具有aps_params_type的不同值的APSNAL单元使用adaptation_parameter_set_id的单独值空间。
注1–APS NAL单元(具有adaptation_parameter_set_id的特定值和aps_params_type的特定值)可以跨图片共享,并且图片内的不同条带可以参考不同的ALF APS。
注2–与特定VCL NAL单元相关联的后缀APS NAL单元(该VCL NAL单元按照解码顺序在后缀APS NAL单元之前)不由特定VCL NAL单元使用,而由按照解码顺序在后缀APS NAL单元之后的VCL NAL单元使用。
aps_extension_flag等于0指定没有aps_extension_data_flag语法元素存在于APS RBSP语法结构中。aps_extension_flag等于1指定APS RBSP语法结构中存在aps_extension_data_flag语法元素。
aps_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有aps_extension_data_flag语法元素。
alf_luma_filter_signal_flag等于1指定信令通知亮度滤波器集。alf_luma_filter_signal_flag等于0指定不信令通知亮度滤波器集。
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
指定不同自适应环路滤波器的数量的变量NumAlfFilters被设置为等于25。
alf_luma_clip_flag等于0指定对亮度分量应用线性自适应环路滤波。alf_luma_clip_flag等于1指定可以对亮度分量应用非线性自适应环路滤波。
alf_luma_num_filters_signalled_minus1加1指定亮度系数可以被信令通知的自适应环路滤波器类别的数量。alf_luma_num_filters_signalled_minus1的值应当在0到NumAlfFilters-1的范围(包括0和NumAlfFilters-1)内。
alf_luma_coeff_delta_idx[filtIdx]指定由范围为0到NumAlfFilters-1的filtIdx指示的滤波器类别的信令通知的自适应环路滤波器亮度系数增量的索引。当alf_luma_coeff_delta_idx[filtIdx]不存在时,其被推断为等于0。alf_luma_coeff_delta_idx[filtIdx]的长度为Ceil(Log2(alf_luma_num_filters_signalled_minus1+1))比特。alf_luma_coeff_delta_idx[filtIdx]的值应当在0到alf_luma_num_filters_signalled_minus1的范围(包括0和alf_luma_num_filters_signalled_minus1)内。
alf_luma_coeff_abs[sfIdx][j]指定由sfIdx指示的信令通知的亮度滤波器的第j个系数的绝对值。当alf_luma_coeff_abs[sfIdx][j]不存在时,其被推断为等于0。alf_luma_coeff_abs[sfIdx][j]的值应当在0到128的范围(包括0和128)内。
alf_luma_coeff_sign[sfIdx][j]指定由sfIdx指示的滤波器的第j个亮度系数的符号如下:
-如果alf_luma_coeff_sign[sfIdx][j]等于0,则对应的亮度滤波器系数具有正值。
-否则(alf_luma_coeff_sign[sfIdx][j]等于1),对应的亮度滤波器系数具有负值。
当alf_luma_coeff_sign[sfIdx][j]不存在时,其被推断为等于0。
变量filtCoeff[sfIdx][j](其中sfIdx=0..alf_luma_num_filters_signalled_minus1,j=0..11)被初始化如下:
filtCoeff[sfIdx][j]=alf_luma_coeff_abs[sfIdx][j]* (93)
(1-2*alf_luma_coeff_sign[sfIdx][j])
具有元素AlfCoeffL[adaptation_parameter_set_id][filtIdx][j](其中filtIdx=0..NumAlfFilters-1并且j=0..11)的亮度滤波器系数AlfCoeffL[adaptation_parameter_set_id]被推导如下:
AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]=filtCoeff[alf_luma_coeff_delta_idx[filtIdx]][j] (94)
固定滤波器系数AlfFixFiltCoeff[i][j](其中i=0..64,j=0..11)和滤波器映射的类别AlfClassToFiltMap[m][n](其中m=0..15并且n=0..24)被推导如下:
Figure BDA0003956096920000831
Figure BDA0003956096920000841
Figure BDA0003956096920000851
Figure BDA0003956096920000861
Figure BDA0003956096920000871
比特流一致性的要求是AlfCoeffL[adaptation_parameter_set_id][filtIdx][j](其中filtIdx=0..NumAlfFilters-1,j=0..11)的值应当在-27到27-1的范围(包括-27和27-1)内。
alf_luma_clip_idx[sfIdx][j]指定要在乘以由sfIdx指示的信令通知的亮度滤波器的第j个系数之前使用的裁剪值的裁剪索引。比特流一致性的要求是alf_luma_clip_idx[sfIdx][j](其中sfIdx=0..alf_luma_num_filters_signalled_minus1并且j=0..11)的值应当在0到3的范围(包括0和3)内。
具有元素AlfClipL[adaptation_parameter_set_id][filtIdx][j](其中filtIdx=0..NumAlfFilters-1并且j=0..11)的亮度滤波器裁剪值AlfClipL[adaptation_parameter_set_id]根据BitDepth和设置为等于alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]的clipIdx如表8所指定的来推导。
alf_chroma_clip_flag等于0指定对色度分量应用线性自适应环路滤波;alf_chroma_clip_flag等于1指定对色度分量应用非线性自适应环路滤波。当不存在时,alf_chroma_clip_flag被推断为等于0。
alf_chroma_num_alt_filters_minus1加1指定色度分量的可替代滤波器的数量。alf_chroma_num_alt_filters_minus1的值应当在0到7的范围(包括0和7)内。
alf_chroma_coeff_abs[altIdx][j]指定具有索引altIdx的可替代色度滤波器的第j个色度滤波器系数的绝对值。当alf_chroma_coeff_abs[altIdx][j]不存在时,其被推断为等于0。alf_chroma_coeff_abs[sfIdx][j]的值应当在0到128的范围(包括0和128)内。
alf_chroma_coeff_sign[altIdx][j]指定具有索引altIdx的可替代色度滤波器的第j个色度滤波器系数的符号如下:
-如果alf_chroma_coeff_sign[altIdx][j]等于0,则对应的色度滤波器系数具有正值。
-否则(alf_chroma_coeff_sign[altIdx][j]等于1),对应的色度滤波器系数具有负值。
当alf_chroma_coeff_sign[altIdx][j]不存在时,其被推断为等于0。
具有元素AlfCoeffC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的色度滤波器系数AlfCoeffC[adaptation_parameter_set_id][altIdx]被推导如下:
Figure BDA0003956096920000881
比特流一致性的要求是AlfCoeffC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的值应当在-27到27-1的范围(包括-27和27-1)内。
alf_cc_cb_filter_signal_flag等于1指定信令通知Cb色彩分量的跨分量滤波器。alf_cc_cb_filter_signal_flag等于0指定不信令通知Cb色彩分量的跨分量滤波器。当ChromaArrayType等于0时,alf_cc_cb_filter_signal_flag应当等于0。
alf_cc_cb_filters_signalled_minus1加1指定在当前ALF APS中信令通知的Cb色彩分量的跨分量滤波器的数量。alf_cc_cb_filters_signalled_minus1的值应当在0到3的范围(包括0和3)内。
alf_cc_cb_mapped_coeff_abs[k][j]指定Cb色彩分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cb_mapped_coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cb_coeff_sign[k][j]指定Cb色彩分量的信令通知的第k个跨分量滤波器的第j个系数的符号如下:
-如果alf_cc_cb_coeff_sign[k][j]等于0,则对应的跨分量滤波器系数具有正值。
-否则(alf_cc_cb_sign[k][j]等于1),对应的跨分量滤波器系数具有负值。
当alf_cc_cb_coeff_sign[k][j]不存在时,其被推断为等于0。
Cb色彩分量的信令通知的第k个跨分量滤波器系数CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j](其中j=0..6)被推导如下:
-如果alf_cc_cb_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]被设置为等于0。
-否则,CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]被设置为等于(1-2*alf_cc_cb_coeff_sign[k][j])*2alf_cc_cb_mapped_coeff_abs[k][j]-1
alf_cc_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。
alf_cc_cr_filters_signalled_minus1加1指定在当前ALF APS中信令通知的Cr色彩分量的跨分量滤波器的数量。alf_cc_cr_filters_signalled_minus1的值应当在0到3的范围(包括0和3)内。
alf_cc_cr_mapped coeff_abs[k][j]指定Cr色彩分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cr_mapped coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cr_coeff_sign[k][j]指定Cr色彩分量的信令通知的第k个跨分量滤波器的第j个系数的符号如下:
-如果alf_cc_cr_coeff_sign[k][j]等于0,则对应的跨分量滤波器系数具有正值。
-否则(alf_cc_cr_sign[k][j]等于1),对应的跨分量滤波系数具有负值。
当alf_cc_cr_coeff_sign[k][j]不存在时,其被推断为等于0。
Cr色彩分量的信令通知的第k个跨分量滤波器系数CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j](其中j=0..6)被推导如下:
-如果alf_cc_cr_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]被设置为等于0。
-否则,CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]被设置为等于(1-2*alf_cc_cr_coeff_sign[k][j])*2alf_cc_cr_mapped_coeff_abs[k][j]-1
alf_chroma_clip_idx[altIdx][j]指定要在乘以索引为altIdx的可替代色度滤波器的第j个系数之前使用的裁剪值的裁剪索引。比特流一致性的要求是alf_chroma_clip_idx[altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的值应当在0到3的范围(包括0和3)内。
具有元素AlfClipC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的色度滤波器裁剪值AlfClipC[adaptation_parameter_set_id][altIdx]根据BitDepth和被设置为等于alf_chroma_clip_idx[altIdx][j]的clipIdx如表8所指定的来推导。
表8–根据BitDepth和clipIdx的规范AlfClip
Figure BDA0003956096920000901
lmcs_min_bin_idx指定在亮度映射与色度缩放构建过程中使用的最小二进制位索引。lmcs_min_bin_idx的值应当在0到15的范围(包括0和15)内。
lmcs_delta_max_bin_idx指定15和在亮度映射与色度缩放构建过程中使用的最大二进制位索引LmcsMaxBinIdx之间的增量值。lmcs_delta_max_bin_idx的值应当在0到15的范围(包括0和15)内。LmcsMaxBinIdx的值被设置为等于15-lmcs_delta_max_bin_idx。LmcsMaxBinIdx的值应当大于或等于lmcs_min_bin_idx。
lmcs_delta_cw_prec_minus1加1指定用于语法lmcs_delta_abs_cw[i]的表示的比特的数量。lmcs_delta_cw_prec_minus1的值应当在0到BitDepth-2的范围(包括0和BitDepth-2)内。
lmcs_delta_abs_cw[i]指定第i个二进制位的绝对增量码字值。
lmcs_delta_sign_cw_flag[i]指定变量lmcsDeltaCW[i]的符号如下:
-如果mcs_delta_sign_cw_flag[i]等于0,则lmcsDeltaCW[i]为正值。
-否则(mcs_delta_sign_cw_flag[i]不等于0),lmcsDeltaCW[i]为负值。
当mcs_delta_sign_cw_flag[i]不存在时,其被推断为等于0。
变量OrgCW被推导如下:
OrgCW=(1<<BitDepth)/16 (98)
变量lmcsDeltaCW[i](其中i=lmcs_min_bin_idx..LmcsMaxBinIdx)被推导如下:
lmcsDeltaCW[i]=
(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i] (99)
变量lmcsCW[i]被推导如下:
-对于i=0..lmcs_min_bin_idx-1,lmcsCW[i]被设置为等于0。
-对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,以下适用:
lmcsCW[i]=OrgCW+lmcsDeltaCW[i] (100)
lmcsCW[i]的值应当在(OrgCW>>3)到(OrgCW<<3-1)的范围((OrgCW>>3)和(OrgCW<<3-1))内。
-对于i=LmcsMaxBinIdx+1..15,lmcsCW[i]被设置为等于0。
比特流一致性的要求是以下条件为真:
Figure BDA0003956096920000911
变量InputPivot[i](其中i=0..16)被推导如下:
InputPivot[i]=i*OrgCW (102)
变量LmcsPivot[i](其中i=0..16)、变量ScaleCoeff[i]和InvScaleCoeff[i](其中i=0..15)被推导如下:
Figure BDA0003956096920000921
比特流一致性的要求是,对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,当LmcsPivot[i]的值不是1<<(BitDepth-5)的倍数时,(LmcsPivot[i]>>(BitDepth-5))的值不应当等于(LmcsPivot[i+1]>>(BitDepth-5))的值。
lmcs_delta_abs_crs指定变量lmcsDeltaCrs的绝对码字值。lmcs_delta_abs_crs的值应当在0和7的范围(包括0和7)内。当不存在时,lmcs_delta_abs_crs被推断为等于0。
lmcs_delta_sign_crs_flag指定变量lmcsDeltaCrs的符号。当不存在时,lmcs_delta_sign_crs_flag被推断为等于0。
变量lmcsDeltaCrs被推导如下:
lmcsDeltaCrs=(1-2*lmcs_delta_sign_crs_flag)*lmcs_delta_abs_crs (104)
比特流一致性的要求是,当lmcsCW[i]不等于0时,(lmcsCW[i]+lmcsDeltaCrs)应当在(OrgCW>>3)到((OrgCW<<3)-1)的范围(包括(OrgCW>>3)和((OrgCW<<3)-1))内。
变量ChromaScaleCoeff[i](其中i=0…15)被推导如下:
Figure BDA0003956096920000922
Figure BDA0003956096920000931
scaling_matrix_for_lfnst_disabled_flag等于1指定缩放矩阵不应用于用LFNST编解码的块。scaling_matrix_for_lfnst_disabled_flag等于0指定缩放矩阵可以应用于用LFNST编解码的块。
scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。
scaling_list_copy_mode_flag[id]等于1指定缩放列表的值与参考缩放列表的值相同。参考缩放列表由scaling_list_pred_id_delta[id]指定。scaling_list_copy_mode_flag[id]等于0指定存在scaling_list_pred_mode_flag。
scaling_list_pred_mode_flag[id]等于1指定缩放列表的值可以从参考缩放列表预测。参考缩放列表由scaling_list_pred_id_delta[id]指定。scaling_list_pred_mode_flag[id]等于0指定显式地信令通知缩放列表的值。当不存在时,scaling_list_pred_mode_flag[id]的值被推断为等于0。
scaling_list_pred_id_delta[id]指定用于推导预测缩放矩阵ScalingMatrixPred[id]的参考缩放列表。当不存在时,scaling_list_pred_id_delta[id]的值被推断为等于0。scaling_list_pred_id_delta[id]的值应当在0到maxIdDelta的范围内,其中maxIdDelta根据id推导如下:
maxIdDelta=(id<2)?id:((id<8)?(id-2):(id-8)) (106)
变量refId和matrixSize被推导如下:
refId=id-scaling_list_pred_id_delta[id] (107)
matrixSize=(id<2)?2:((id<8)?4:8) (108)
(matrixSize)x(matrixSize)阵列ScalingMatrixPred[x][y](其中x=0..matrixSize-1,y=0..matrixSize-1)和变量ScalingMatrixDCPred被推导如下:
-当scaling_list_copy_mode_flag[id]和scaling_list_pred_mode_flag[id]都等于0时,ScalingMatrixPred的所有元素都被设置为等于8,并且ScalingMatrixDCPred的值被设置为等于8。
-否则,当scaling_list_pred_id_delta[id]等于0时,ScalingMatrixPred的所有元素都被设置为等于16,并且ScalingMatrixDCPred被设置为等于16。
-否则(scaling_list_copy_mode_flag[id]或scaling_list_pred_mode_flag[id]等于1,并且scaling_list_pred_id_delta[id]大于0),ScalingMatrixPred被设置为等于ScalingMatrixRec[refId],并且以下适用于ScalingMatrixDCPred:
-如果refId大于13,则ScalingMatrixDCPred被设置为等于ScalingMatrixDCRec[refId-14]。
-否则(refId小于或等于13),ScalingMatrixDCPred被设置为等于ScalingMatrixPred[0][0]。
当id大于13时,scaling_list_dc_coef[id-14]用于推导变量ScalingMatrixDC[id-14]的值如下:
ScalingMatrixDCRec[id-14]=(ScalingMatrixDCPred+scaling_list_dc_coef[id-14])&255 (109)
当不存在时,scaling_list_dc_coef[id-14]的值被推断为等于0。scaling_list_dc_coef[id–14]的值应当在-128到127的范围(包括-128和127)内。ScalingMatrixDCRec[id-14]的值应当大于0。
scaling_list_delta_coef[id][i]指定当scaling_list_copy_mode_flag[id]等于0时,当前矩阵系数ScalingList[id][i]和先前矩阵系数ScalingList[id][i-1]之间的差。scaling_list_delta_coef[id][i]的值应当在-128到127的范围(包括-128和127)内。当scaling_list_copy_mode_flag[id]等于1时,ScalingList[id]的所有元素都被设置为等于0。
(matrixSize)x(matrixSize)阵列ScalingMatrixRec[id]被推导如下:
ScalingMatrixRec[id][x][y]=(ScalingMatrixPred[x][y]+ScalingList[id][k])&255 (110)
其中k=0..(matrixSize*matrixSize-1),
x=
DiagScanOrder[Log2(matrixSize)][Log2(matrixSize)][k][0],并且
y=
DiagScanOrder[Log2(matrixSize)][Log2(matrixSize)][k][1]
ScalingMatrixRec[id][x][y]的值应当大于0。
3.8.PH语法和语义
在最新的VVC草案文本中,PH语法和语义如下:
Figure BDA0003956096920000952
PH RBSP包含PH语法结构,即picture_header_structure()。
Figure BDA0003956096920000951
Figure BDA0003956096920000961
Figure BDA0003956096920000971
Figure BDA0003956096920000981
Figure BDA0003956096920000991
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的范围(包括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的范围(包括0和MaxPicOrderCntLsb-1)内。
no_output_of_prior_pics_flag影响在解码不是如附录C所指定的比特流中的第一个图片的CLVSS图片之后的DPB中的先前解码图片的输出。
recovery_poc_cnt按照输出顺序指定解码图片的恢复点。如果当前图片是与PH相关联的GDR图片,并且在具有等于当前GDR图片的PicOrderCntVal加recovery_poc_cnt的值的PicOrderCntVal的CLVS中有按照解码顺序在当前GDR图片之后的图片picA,则图片picA被称为恢复点图片。否则,具有大于当前图片的PicOrderCntVal加recovery_poc_cnt的值的PicOrderCntVal的按照输出顺序的第一个图片被称为恢复点图片。按照解码顺序,恢复点图片不应当在当前GDR图片之前。recovery_poc_cnt的值应当在0到MaxPicOrderCntLsb-1的范围(包括0和MaxPicOrderCntLsb-1)内。
当当前图片是GDR图片时,变量RpPicOrderCntVal被推导如下:
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (82)
注2–当gdr_enabled_flag等于1并且当前图片的PicOrderCntVal大于或等于相关联的GDR图片的RpPicOrderCntVal时,按照输出顺序的当前解码图片和后续解码图片与通过从按照解码顺序在相关联的GDR图片之前的先前IRAP图片(当存在时)开始解码过程而产生的对应图片完全匹配。
ph_extra_bit[i]可以等于1或0。符合本规范的该版本的解码器应当忽略ph_extra_bit[i]的值。它的值不影响解码器符合规范的该版本中指定的档次。
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指定对与PH相关联的所有条带启用Cb色彩分量的跨分量滤波器,并且可以被应用于条带中的Cb色彩分量。ph_cc_alf_cb_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用Cb色彩分量的跨分量滤波器。当不存在时,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指定对与PH相关联的所有条带启用Cr色彩分量的跨分量滤波器,并且可以被应用于条带中的Cr色彩分量。ph_cc_alf_cr_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用Cr色彩分量的跨分量滤波器。当不存在时,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指定对与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 BDA0003956096920001041
ph_num_ver_virtual_boundaries指定PH中存在的ph_virtual_boundaries_pos_x[i]语法元素的数量。当ph_num_ver_virtual_boundaries不存在时,其被推断为等于0。
变量NumVerVirtualBoundaries被推导如下:
Figure BDA0003956096920001042
ph_virtual_boundaries_pos_x[i]指定第i个垂直虚拟边界的位置,以亮度样点除以8为单位。ph_virtual_boundaries_pos_x[i]的值应当在1到Ceil(pic_width_in_luma_samples÷8)-1的范围(包括1和Ceil(pic_width_in_luma_samples÷8)-1)内。
指定垂直虚拟边界的位置的列表VirtualBoundariesPosX[i](i的范围为0到NumVerVirtualBoundaries-1(包括0和NumVerVirtualBoundaries-1)),以亮度样点为单位,被推导如下:
Figure BDA0003956096920001043
任何两个垂直虚拟边界之间的距离应当大于或等于CtbSizeY个亮度样点。
ph_num_hor_virtual_boundaries指定PH中存在的ph_virtual_boundaries_pos_y[i]语法元素的数量。当ph_num_hor_virtual_boundaries不存在时,其被推断为等于0。
参数NumHorVirtualBoundaries被推导如下:
Figure BDA0003956096920001044
Figure BDA0003956096920001051
当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的范围(包括1和Ceil(pic_height_in_luma_samples÷8)-1)内。
指定水平虚拟边界的位置的列表VirtualBoundariesPosY[i](i的范围为0到NumHorVirtualBoundaries-1(包括0和NumHorVirtualBoundaries-1)),以亮度样点为单位,被推导如下:
Figure BDA0003956096920001052
任何两个水平虚拟边界之间的距离应当大于或等于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相关联的slice_type等于2(I)的条带中的亮度CU的亮度样点中的最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_luma的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括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相关联的slice_type等于2(I)的条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_intra_slice_luma的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括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相关联的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_luma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围(包括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相关联的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_luma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围(包括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指定从treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸的以2为底的对数和与PH相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CU的亮度样点中的最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括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相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度四叉树叶的多类型树划分产生的色度编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_intra_slice_chroma的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括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相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围(包括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相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围(包括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)的范围(包括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)的范围(包括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相关联的slice_type等于0(B)或1(P)的条带中的亮度CU的亮度样点中的最小亮度编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_inter_slice的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括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相关联的slice_type等于0(B)或1(P)的条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_inter_slice的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括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相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_bt_min_qt_inter_slice的值应当在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围(包括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相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_tt_min_qt_inter_slice的值应当在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeInterY)内。当不存在时,ph_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_tt_min_qt_inter_slice。
ph_cu_qp_delta_subdiv_inter_slice指定传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧间条带中的编解码单元的最大cbSubdiv值。ph_cu_qp_delta_subdiv_inter_slice的值应当在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)的范围(包括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)的范围(包括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 BDA0003956096920001101
MaxNumSubblockMergeCand的值应当在0到5的范围(包括0和5)内。
ph_collocated_from_l0_flag等于1指定用于时域运动矢量预测的共位图片是从参考图片列表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的范围(包括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的范围(包括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模式在与PH相关联的条带中使用整数样点精度。ph_fpel_mmvd_enabled_flag等于0指定利用运动矢量差的Merge模式可以在与PH相关联的条带中使用分数样点精度。当不存在时,则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指定在与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被推导如下:
SliceQpY=26+init_qp_minus26+ph_qp_delta (89)
SliceQpY的值应当在-QpBdOffset到+63的范围(包括-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指定对与PH相关联的所有条带中的亮度分量启用SAO;ph_sao_luma_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用亮度分量的SAO。当ph_sao_luma_enabled_flag不存在时,其被推断为等于0。
ph_sao_chroma_enabled_flag等于1指定对与PH相关联的所有条带中的色度分量启用SAO;ph_sao_chroma_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用色度分量的SAO。当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指定对当前图片禁用符号比特隐藏。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_div2和ph_tc_offset_div2指定被应用于与PH相关联的条带的亮度分量的β和tC的去方块参数偏移(除以2)。ph_beta_offset_div2和ph_tc_offset_div2的值应当在-12到12的范围(包括-12和12)内。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2指定被应用于与PH相关联的条带的Cb分量的β和tC的去方块参数偏移(除以2)。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值应当在-12至12的范围(包括-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_div2和ph_cr_tc_offset_div2指定被应用于与PH相关联的条带的Cr分量的β和tC的去方块参数偏移(除以2)。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应当在-12至12的范围(包括-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扩展数据的长度,不包括用于自身信令通知ph_extension_length的比特。ph_extension_length的值应当在0到256的范围(包括0和256)内。当不存在时,ph_extension_length的值被推断为等于0。
ph_extension_data_byte可以具有任何值。符合本规范的该版本的解码器应当忽略ph_extension_data_byte的值。它的值不影响解码器符合规范的该版本中指定的档次。
3.9.SH语法和语义
在最新的VVC草案文本中,SH语法和语义如下:
Figure BDA0003956096920001141
Figure BDA0003956096920001151
Figure BDA0003956096920001161
Figure BDA0003956096920001171
指定包含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时,比特流一致性的要求是在CLVS中不应当存在nal_unit_type等于PH_NUT的VCL NAL单元。
当picture_header_in_slice_header_flag等于0时,当前图片中的所有编解码条带应当具有等于0的picture_header_in_slice_header_flag,并且当前PU应当具有PH NAL单元。
slice_subpic_id指定包含条带的子图片的子图片ID。如果slice_subpic_id存在,则变量CurrSubpicIdx的值被推导为使得SubpicIdVal[CurrSubpicIdx]等于slice_subpic_id。否则(slice_subpic_id不存在),CurrSubpicIdx被推导为等于0。slice_subpic_id的长度为sps_subpic_id_len_minus1+1比特。
slice_address指定条带的条带地址。当不存在时,slice_address的值被推断为等于0。当rect_slice_flag等于1并且NumSlicesInSubpic[CurrSubpicIdx]等于1时,slice_address的值被推断为等于0。
如果rect_slice_flag等于0,则以下适用:
-条带地址是光栅扫描片索引。
-slice_address的长度为Ceil(Log2(NumTilesInPic))比特。
-slice_address的值应当在0到NumTilesInPic-1的范围(包括0和NumTilesInPic-1)内。
否则(rect_slice_flag等于1),以下适用:
-条带地址是条带的子图片级别条带索引。
-slice_address的长度为Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))比特。
-slice_address的值应当在0到NumSlicesInSubpic[CurrSubpicIdx]-1的范围(包括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的范围(包括0和NumTilesInPic-1)内。
指定当前条带中的CTU的数量的变量NumCtusInCurrSlice和指定条带内的第i个CTB的图片光栅扫描地址的列表CtbAddrInCurrSlice[i](i的范围为从0到NumCtusInCurrSlice-1(包括0和NumCtusInCurrSlice-1))被推导如下:
Figure BDA0003956096920001191
变量SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos和SubpicBotBoundaryPos被推导如下:
Figure BDA0003956096920001192
Figure BDA0003956096920001201
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的范围(包括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),则以下适用:
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_luma (119)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_chroma (120)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_intra_slice_luma) (121)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_intra_slice_chroma) (122)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_intra_slice_luma) (123)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_intra_slice_chroma) (124)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_intra_slice_luma (125)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_intra_slice_chroma (126)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_intra_slice (127)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_intra_slice(128)
-否则(slice_type等于0(B)或1(P)),以下适用:
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice(129)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice(130)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_inter_slice) (131)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_inter_slice) (132)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_inter_slice) (133)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_inter_slice) (134)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_inter_slice (135)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_inter_slice (136)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_inter_slice (137)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_inter_slice(138)
-以下适用:
MinQtSizeY=1<<MinQtLog2SizeY (139)
MinQtSizeC=1<<MinQtLog2SizeC (140)
MinBtSizeY=1<<MinCbLog2SizeY (141)
MinTtSizeY=1<<MinCbLog2SizeY (142)
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。
当separate_colour_plane_flag等于1时,colour_plane_id标识与当前条带相关联的色彩平面。colour_plane_id的值应当在0到2的范围(包括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]用于推导变量NumRefIdxActive[i],如公式143所指定的。num_ref_idx_active_minus1[i]的值应当在0到14的范围(包括0和14)内。
对于i等于0或1,当当前条带是B条带,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[i]不存在时,num_ref_idx_active_minus1[i]被推断为等于0。
当当前条带是P条带,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[0]不存在时,num_ref_idx_active_minus1[0]被推断为等于0。
变量NumRefIdxActive[i]被推导如下:
Figure BDA0003956096920001241
Figure BDA0003956096920001251
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的范围(包括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的范围(包括0和NumRefIdxActive[1]-1)内。
当slice_collocated_ref_idx不存在时,以下适用:
-如果rpl_info_in_ph_flag等于1,则slice_collocated_ref_idx的值被推断为等于ph_collocated_ref_idx。
-否则(rpl_info_in_ph_flag等于0),slice_collocated_ref_idx的值被推断为等于0。
比特流一致性的要求是slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的。
比特流一致性的要求是,slice_collocated_ref_idx所参考的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应当分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]应当等于0。
slice_qp_delta指定要用于条带中的编解码块直到被编解码单元层中的CuQpDeltaVal的值修改的QpY的初始值。
当qp_delta_info_in_ph_flag等于0时,条带的QpY量化参数的初始值SliceQpY被推导如下:
SliceQpY=26+init_qp_minus26+slice_qp_delta (144)
SliceQpY的值应当在-QpBdOffset到+63的范围(包括-QpBdOffset和+63)内。
当以下条件中的任一个为真时:
-wp_info_in_ph_flag的值等于1,pps_weighted_pred_flag等于1,并且slice_type等于P。
-wp_info_in_ph_flag的值等于1,pps_weighted_bipred_flag等于1,并且slice_type等于B。
以下适用:
-NumRefIdxActive[0]的值应当小于或等于NumWeightsL0的值。
-对于每个参考图片索引RefPicList[0][i](i在0到NumRefIdxActive[0]-1的范围(包括0和NumRefIdxActive[0]-1)内),应用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL0[i]、ChromaWeightL0[0][i]和ChromaWeightL0[1][i]。
当wp_info_in_ph_flag等于1,pps_weighted_bipred_flag等于1,并且slice_type等于B时,以下适用:
-NumRefIdxActive[1]的值应当小于或等于NumWeightsL1的值。
-对于每个参考图片索引RefPicList[1][i](i在0到NumRefIdxActive[1]-1的范围(包括0和NumRefIdxActive[1]-1)内),应用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL1[i]、ChromaWeightL1[0][i]和ChromaWeightL1[1][i]。
slice_cb_qp_offset指定在确定Qp′Cb量化参数值时要添加到pps_cb_qp_offset的值的差。slice_cb_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。当slice_cb_qp_offset不存在时,其被推断为等于0。pps_cb_qp_offset+slice_cb_qp_offset的值应当在-12至+12的范围(包括-12和+12)内。
slice_cr_qp_offset指定在确定Qp′Cr量化参数值时要添加到pps_cr_qp_offset的值的差。slice_cr_qp_offset的值应当在-12至+12的范围(包括-12和+12)内。当slice_cr_qp_offset不存在时,其被推断为等于0。pps_cr_qp_offset+slice_cr_qp_offset的值应当在-12至+12的范围(包括-12和+12)内。
slice_joint_cbcr_qp_offset指定在确定Qp′CbCr的值时要添加到pps_joint_cbcr_qp_offset_value的值的差。slice_joint_cbcr_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于0。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset的值应当在-12到+12的范围(包括-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_div2和slice_tc_offset_div2指定被应用于当前条带的亮度分量的β和tC的去方块参数偏移(除以2)。slice_beta_offset_div2和slice_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定被应用于当前条带的Cb分量的β和tC的去方块参数偏移(除以2)。slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值被推断为分别等于ph_cb_beta_offset_div2和ph_cb_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定被应用于当前条带的Cr分量的β和tC的去方块参数偏移(除以2)。slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值都应当在-12到12的范围(包括-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指定用于当前条带的缩放列表数据是基于aps_params_type等于SCALING_APS并且adaptation_parameter_set_id等于ph_scaling_list_aps_id的参考缩放列表APS中包含的缩放列表数据推导的。slice_scaling_list_present_flag等于0指定用于当前图片的缩放列表数据是如条款7.4.3.21所指定而推导的默认缩放列表数据。当不存在时,slice_scaling_list_present_flag的值被推断为等于0。
指定当前条带中的条目点的数量的变量NumEntryPoints被推导如下:
Figure BDA0003956096920001291
offset_len_minus1加1指定entry_point_offset_minus1[i]语法元素的长度,以比特为单位。offset_len_minus1的值应当在0到31的范围(包括0和31)内。
entry_point_offset_minus1[i]加1以字节为单位指定第i个条目点偏移,并且由offset_len_minus1加1比特表示。条带标头之后的条带数据由NumEntryPoints+1个子集组成,其中子集索引值的范围为0到NumEntryPoints(包括0和NumEntryPoints)。条带数据的第一字节被视为字节0。当存在时,出现在编解码条带NAL单元的条带数据部分中的防止竞争字节被计数作为条带数据的一部分,用于子集识别的目的。子集0由编解码条带数据的字节0到entry_point_offset_minus1[0](包括0和entry_point_offset_minus1[0])组成,子集k(k在1到NumEntryPoints-1的范围(包括1和NumEntryPoints-1)内)由编解码条带数据的字节firstByte[k]到lastByte[k](包括firstByte[k]和lastByte[k])组成,其中firstByte[k]和lastByte[k]被定义为:
Figure BDA0003956096920001301
lastByte[k]=firstByte[k]+entry_point_offset_minus1[k] (147)
最后一个子集(子集索引等于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时,每个子集k(k在0到NumEntryPoints的范围(包括0和NumEntryPoints)内)应当由片内的CTU行中的所有CTU的所有编解码比特组成,并且子集的数量(即,NumEntryPoints+1的值)应当等于条带中的片特定CTU行的总数。
slice_header_extension_length以字节为单位指定条带标头扩展数据的长度,不包括用于自身信令通知slice_header_extension_length的比特。slice_header_extension_length的值应当在0到256的范围(包括0和256)内。当不存在时,slice_header_extension_length的值被推断为等于0。
slice_header_extension_data_byte[i]可以具有任何值。符合本规范的该版本的解码器应当忽略所有slice_header_extension_data_byte[i]语法元素的值。它的值不影响解码器符合规范的该版本中指定的档次。
3.10.参考图片列表语法
在最新的VVC草案文本中,语法结构ref_pic_lists()和语义如下:
Figure BDA0003956096920001311
ref_pic_lists()语法结构可以存在于PH语法结构或条带标头中。
rpl_sps_flag[i]等于1指定ref_pic_lists()中的参考图片列表i基于SPS中listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构之一来推导。rpl_sps_flag[i]等于0指定图片的参考图片列表i基于直接包括在ref_pic_lists()中listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构来推导。
当rpl_sps_flag[i]不存在时,以下适用:
-如果num_ref_pic_lists_in_sps[i]等于0,则rpl_sps_flag[i]的值被推断为等于0。
-否则(num_ref_pic_lists_in_sps[i]大于0),当rpl1_idx_present_flag等于0并且i等于1时,rpl_sps_flag[1]的值被推断为等于rpl_sps_flag[0]。
rpl_idx[i]指定SPS中包括的listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表中的、用于当前图片的参考图片列表i的推导的listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构的索引。语法元素rpl_idx[i]由Ceil(Log2(num_ref_pic_lists_in_sps[i]))比特表示。当不存在时,rpl_idx[i]的值被推断为等于0。rpl_idx[i]的值应当在0到num_ref_pic_lists_in_sps[i]-1的范围(包括0和num_ref_pic_lists_in_sps[i]-1)内。当rpl_sps_flag[i]等于1并且num_ref_pic_lists_in_sps[i]等于1时,rpl_idx[i]的值被推断为等于0。当rpl_sps_flag[i]等于1并且rpl1_idx_present_flag等于0时,rpl_idx[1]的值被推断为等于rpl_idx[0]。
变量RplsIdx[i]被推导如下:
RplsIdx[i]=rpl_sps_flag[i]?rpl_idx[i]:num_ref_pic_lists_in_sps[i](149)
poc_lsb_lt[i][j]指定ref_pic_lists()语法结构中的第i个参考图片列表中的第j个LTRP条目的以MaxPicOrderCntLsb为模的图片顺序计数的值。poc_lsb_lt[i][j]语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4比特。
变量PocLsbLt[i][j]被推导如下:
PocLsbLt[i][j]=ltrp_in_header_flag[i][RplsIdx[i]]? (150)
poc_lsb_lt[i][j]:rpls_poc_lsb_lt[listIdx][RplsIdx[i]][j]
delta_poc_msb_present_flag[i][j]等于1指定存在delta_poc_msb_cycle_lt[i][j]。delta_poc_msb_present_flag[i][j]等于0指定不存在delta_poc_msb_cycle_lt[i][j]。
设prevTid0Pic为按照解码顺序的前一个图片,其nuh_layer_id与参考ref_pic_lists()语法结构的条带或图片标头相同,其TemporalId等于0,并且不是RASL或RADL图片。设setOfPrevPocVals为由以下组成的集合:
-prevTid0Pic的PicOrderCntVal,
-prevTid0Pic的RefPicList[0]或RefPicList[1]中的条目所参考的并且其nuh_layer_id与当前图片相同的每个图片的PicOrderCntVal,
-按照解码顺序在prevTid0Pic之后、其nuh_layer_id与当前图片相同、并且按照解码顺序在当前图片之前的每个图片的PicOrderCntVal。
当以MaxPicOrderCntLsb为模的值等于PocLsbLt[i][j]的setOfPrevPocVals中有多于一个值时,delta_poc_msb_present_flag[i][j]的值应当等于1。
delta_poc_msb_cycle_lt[i][j]指定变量FullPocLt[i][j]的值如下:
Figure BDA0003956096920001331
delta_poc_msb_cycle_lt[i][j]的值应当在0到2(32-log2_max_pic_order_cnt_lsb_minus4-4)的范围(包括0和2(32-log2_max_pic_order_cnt_lsb_minus4-4))内。当不存在时,delta_poc_msb_cycle_lt[i][j]的值被推断为等于0。
3.11.参考图片列表结构语法
在最新的VVC草案文本中,语法结构ref_pic_lists()和语义如下:
Figure BDA0003956096920001341
ref_pic_list_struct(listIdx,rplsIdx)语法结构可以存在于SPS、PH语法结构或条带标头中。根据语法结构是被包括在SPS、PH语法结构还是条带标头中,以下适用:
-如果存在于PH语法结构或条带标头中,ref_pic_list_struct(listIdx,rplsIdx)语法结构指定当前图片(包含条带的图片)的参考图片列表listIdx。
-否则(存在于SPS中),ref_pic_list_struct(listIdx,rplsIdx)语法结构指定参考图片列表listIdx的候选,并且在该条款的剩余部分中指定的语义中的术语“当前图片”是指1)具有包含等于SPS中包括的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表中的索引的ph_rpl_idx[listIdx]的PH语法结构或者包含等于SPS中包括的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表中的索引的slice_rpl_idx[listIdx]的一个或多个条带、并且2)在参考SPS的CVS中的每个图片。
num_ref_entries[listIdx][rplsIdx]指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的条目的数量。num_ref_entries[listIdx][rplsIdx]的值应当在0到MaxDpbSize+13的范围(包括0和MaxDpbSize+13)内,其中MaxDpbSize如条款A.4.2所指定。
ltrp_in_header_flag[listIdx][rplsIdx]等于0指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的LTRP条目的POC LSB存在于ref_pic_list_struct(listIdx,rplsIdx)语法结构中。ltrp_in_header_flag[listIdx][rplsIdx]等于1指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的LTRP条目的POC LSB不存在于ref_pic_list_struct(listIdx,rplsIdx)语法结构中。
inter_layer_ref_pic_flag[listIdx][rplsIdx][i]等于1指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的第i个条目是ILRP条目inter_layer_ref_pic_flag[listIdx][rplsIdx][i]等于0指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的第i个条目不是ILRP条目。当不存在时,inter_layer_ref_pic_flag[listIdx][rplsIdx][i]的值被推断为等于0。
st_ref_pic_flag[listIdx][rplsIdx][i]等于1指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的第i个条目是STRP条目。st_ref_pic_flag[listIdx][rplsIdx][i]等于0指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的第i个条目是LTRP条目。当inter_layer_ref_pic_flag[listIdx][rplsIdx][i]等于0并且st_ref_pic_flag[listIdx][rplsIdx][i]不存在时,st_ref_pic_flag[listIdx][rplsIdx][i]的值被推断为等于1。
变量NumLtrpEntries[listIdx][rplsIdx]被推导如下:
Figure BDA0003956096920001351
abs_delta_poc_st[listIdx][rplsIdx][i]指定变量AbsDeltaPocSt[listIdx][rplsIdx][i]的值如下:
Figure BDA0003956096920001361
abs_delta_poc_st[listIdx][rplsIdx][i]的值应当在0到215-1的范围(包括0和215-1)内。
strp_entry_sign_flag[listIdx][rplsIdx][i]等于1指定语法结构ref_pic_list_struct(listIdx,rplsIdx)中的第i个条目具有大于或等于0的值。strp_entry_sign_flag[listIdx][rplsIdx][i]等于0指定语法结构ref_pic_list_struct(listIdx,rplsIdx)中的第i个条目具有小于0的值。当不存在时,strp_entry_sign_flag[listIdx][rplsIdx][i]的值被推断为等于1。
列表DeltaPocValSt[listIdx][rplsIdx]被推导如下:
Figure BDA0003956096920001362
rpls_poc_lsb_lt[listIdx][rplsIdx][i]指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的第i个条目所参考的图片的以MaxPicOrderCntLsb为模的图片顺序计数的值。rpls_poc_lsb_lt[listIdx][rplsIdx][i]语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4比特。
ilrp_idx[listIdx][rplsIdx][i]指定ref_pic_list_struct(listIdx,rplsIdx)语法结构中的第i个条目的ILRP对直接参考层的列表的索引。ilrp_idx[listIdx][rplsIdx][i]的值应当在0到NumDirectRefLayers[GeneralLayerIdx[nuh_layer_id]]-1的范围(包括0和NumDirectRefLayers[GeneralLayerIdx[nuh_layer_id]]-1)内。
4.由所公开的技术解决的技术问题的示例
约束标志的现有设计具有以下问题:
1)当前,只要存在profileTierPresentFlag等于1的PTL语法结构,就在该PTL语法结构(SS)中信令通知所有通用约束标志/字段。考虑到PTL语法结构可以被包括在DCI中(一次或多次,每次profileTierPresentFlag等于1)、VPS中(一次或多次,第一次profileTierPresentFlag等于1,其他次profileTierPresentFlag等于0或1)、以及SPS中(零次或一次,profileTierPresentFlag等于1),可能会有许多通用约束标志/字段的冗余信令。此外,有可能没有通用约束可以适用,而在这种情况下,仍然为每个OLS的比特流信令通知通用约束标志/字段的至少一个集合。
2)在最新的VVC草案文本中,通用约束标志用于经由语义中的比特流约束来约束一些SPS/PH/SH语法元素(SE)或其组合的值。然而,它们也可以用于对这样的相关SPS/PH/SH SE的存在加条件,这将允许跳过其值已知的比特的信令,从而避免比特的浪费。
a.在最新的VVC草案文本中的general_constraint_info()语法中,诸如no_aps_constraint_flag的语法元素影响了诸如ALF、CCALF、LMCS、缩放列表等的一组技术。然而,当前的设计没有覆盖所有情况(例如,在指定对相关语法元素的值的约束或者对相关语法元素的存在加条件的方面)。
3)在最新的VVC草案文本中,与通用约束标志有关的一些PPS SE只能根据特定通用约束标志的值而具有某些值。然而,缺少一些语义约束来禁止这样的PPS SE的非法值。
4)在最新的VVC草案文本中的general_constraint_info()语法中,一堆通用约束标志是相互作用的,即通用约束标志的某些值依赖于其他通用约束标志的值。然而,缺乏通过比特流约束或语法条件来禁止这样的通用约束标志的非法值的约束。
5)一些语法元素可以被添加到SPS和/或PPS,对一些SPS/PPS/PH/SH语法元素的存在加条件,从而节省比特。
6)在最新的VVC草案文本中的general_constraint_info()语法中,包括了编解码工具和功能的子集的约束标志。然而,还有不具有对应约束标志的其他编解码工具(例如,WPP、熵编解码同步、加权预测、加权双向预测、SMVD、MMVD、ISP、MRL、MIP、LFNST、调色板、ACT、缩放列表等)和功能(例如,仅单层、仅一个子图片、无帧间层预测、无虚拟边界、无长期参考、无32×32最大亮度变换尺寸、无MER等)。
7)在最新的VVC草案文本中,APS不参考PPS、SPS或VPS。然而,一些APS SE的语义依赖于VPS、SPS或PPS的SE的值。应该移除所有这样的依赖性,或者将PPS或SPS或VPS ID添加到APS语法,以允许参考PPS或SPS或VPS,从而允许这样的语义依赖性。
8)一旦可以在PH或SH中信令通知特征的相关联信息,可能在PPS中信令通知标志(名为X_info_in_ph_flag),以指定它们要在PH还是SH中被信令通知。现在,在VVC规范中,总是在PPS中信令通知标志X_info_in_ph_flag,没有任何条件。然而,如果在图片中仅有一个条带,则无需在PPS中信令通知该X_info_in_ph_flag。提出了基于比特流中的已知图片分割标志(例如,PPS中的no_pic_partition_flag)来有条件地信令通知PPS标志X_info_in_ph_flag(任何现有的特征或未来的潜在特征)。
9)当前,一些APS语法元素的值是基于从SPS语法元素chroma_format_idc和separate_colour_plane_flag推导的ChromaArrayType来约束的。然而,这将导致语义依赖性,因为在APS语法结构中没有PPS/SPS ID。因此,APS对SPS的该语义依赖性不应该出现。
10)当前,只要与profile_tier_level()语法结构相关联的profileTierPresentFlag等于1,就会信令通知GCI语法结构。在这种情况下,可以针对相同的档次ID信令通知具有不同内容的多个GCI语法结构,这可能是混乱且不高效的。
a.此外,保留的GCI语法元素是按字节计数的,这可能是不期望的。
11)当前,GCI字段/SE用于约束其他SE,但是不是所有情况都被完全考虑,这可能导致编解码器设计的意外问题。例如,在当前草案文本中存在以下问题。
a.RPL相关SE和一些GCI SE不由intra_only_constraint_flag的值约束。
b.SPS/PPS/PH/SH中的SE不完全由GCI SE约束,例如,SPS/PPS/PH/SH中的分割/片/条带相关的SE不由one_tile_per_pic_constraint_flag和/或one_slice_per_pic_constraint_flag的值约束。
c.sps_ccalf_enabled_flag、ph_num_alf_aps_ids_luma、slice_num_alf_aps_ids_luma、ph_alf_cb_flag,ph_alf_cr_flag、sh_alf_cb_flag和sh_alf_cr_flag应该由no_aps_constraint_flag的值来约束。
d.一些GCI SE可能需要由其他GCI SE来约束,例如,帧间层SE不由all_layers_independent_constraint_flag的值约束,并且no_bdpcm_constraint_flag不由no_transform_skip_constraint_flag的值来约束。
e.intra_only_constraint_flag的定义可能需要考虑每个编解码条带NAL单元的nuh_layer_type。
12)当前,aps_chroma_present_flag在APS语法结构中被信令通知,并且用于对scaling_list_data()语法结构中的色度缩放列表SE的信令加条件。对于非4:0:0和非分离色彩平面(例如,chromaArrayType等于1)编解码,要求aps_chroma_present_flag等于1。然而,对于chromaArrayType等于1的编解码,aps_chroma_present_flag也可以等于0。
a.此外,当前针对亮度和色度两者信令通知缩放列表APS ID,这可能是不高效的。
5.示例实施例和技术
为了解决以上问题和没有提到的一些其他问题,公开了如下总结的方法。本发明应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些发明可以被单独应用或者以任何方式组合。
1.关于一般用于解决第一个问题的通用约束标志/字段的信令,公开了以下方法中的一种或多种:
1)可以将存在标志添加到PTL语法结构,以指定general_constraint_info()语法结构是否存在于PTL语法结构中。
a.在一个示例中,当对于OLS不存在general_constraint_info()语法结构时,为通用约束标志/字段中的每一个推断默认值。
i.在一个示例中,当对于OLS不存在general_constraint_info()语法结构时,通用约束标志/字段中的每一个被推断为指定不对OLS的比特流施加特定约束的值。例如,intra_only_constraint_flag、no_res_change_in_clvs_constraint_flag和one_tile_per_pic_constraint_flag的值都被推断为等于0。
b.在一个示例中,在DCI中,当其中有多于一个PTL语法结构时,可能要求这些PTL语法结构中的最多一个包含general_constraint_info()语法结构,并且当存在时,该general_constraint_info()语法结构适用于整个比特流。
i.此外,可能要求仅DCI中的第一PTL语法结构可以包含general_constraint_info()语法结构,并且(显式地信令通知或推断的)与DCI中的第一DCI PTL语法结构相关联的通用约束信息被认为是与DCI相关联的通用约束信息,其适用于整个比特流。
c.在一个示例中,当DCI存在于比特流中时,可能要求没有PTL语法结构存在于VPS或SPS中应当包含general_constraint_info()语法结构,并且(显式地信令通知或推断的)与DCI相关联的通用约束信息适用于比特流中的每个CVS中的每个OLS。
i.可替代地,当DCI存在于比特流中时,可能要求没有PTL语法结构存在于VPS中应当包含general_constraint_info()语法结构,并且(显式地信令通知或推断的)与DCI相关联的通用约束信息适用于比特流中的每个CVS中包含多于一个层的每个OLS。
d.在一个示例中,在VPS中,当其中有多于一个PTL语法结构时,可能要求仅这些PTL语法结构中的一个可以包含general_constraint_info()语法结构,并且该general_constraint_info()语法结构适用于比特流中的每个CVS的每个OLS。
i.可替代地,在VPS中,当其中有多于一个PTL语法结构时,可能要求仅VPS中的第一PTL语法结构可以包含general_constraint_info()语法结构,并且(显式地信令通知或推断的)与第一PTL语法结构相关联的通用约束信息适用于比特流中的每个CVS的每个OLS。
e.在一个示例中,当在DCI和/或SPS和/或VPS中信令通知多于一个PTL(和/或general_constraint_info())语法结构时,这些PTL(和/或general_constraint_info())语法结构必须在一致性比特流中具有相同的内容。
i.在一个示例中,当针对OLS信令通知多于一个PTL(和/或general_constraint_info())语法结构时,这些PTL(和/或general_constraint_info())语法结构必须在一致性比特流中具有相同的内容。
ii.在一个示例中,当针对CVS信令通知多于一个PTL(和/或general_constraint_info())语法结构时,这些PTL(和/或general_constraint_info())语法结构必须在一致性比特流中具有相同的内容。
f.在一个示例中,允许在一致性比特流中的DCI和/或SPS和/或VPS中信令通知最多一个PTL(和/或general_constraint_info())语法结构。
i.在一个示例中,允许在一致性比特流中针对OLS信令通知最多一个PTL(和/或general_constraint_info())语法结构。
ii.在一个示例中,允许在一致性比特流中针对CVS信令通知最多一个PTL(和/或general_constraint_info())语法结构。
g.在一个示例中,当在以多个OLS为目标的DCI中信令通知多个PTL语法结构时,可以将语法元素添加到DCI语法结构,以指定适用于第i个OLS的PTL语法结构对DCI中的PLT语法结构的列表的索引。
i.可附加地,如果在比特流中仅有一个OLS,则上述语法元素的信令可以被跳过和/或语法元素的值被推断为某个值(诸如0)。
h.在一个示例中,当在DCI和/或SPS和/或VPS中有多个general_constraint_info())语法结构,并且特定通用约束标志/字段的值对于OLS不同时,则只要通用约束标志中的任何一个施加了特定约束,该特定约束就会被应用于该OLS。
i.在一个示例中,当VPS/SPS中的任何通用约束标志指定对OLS施加特定约束,而DCI中的对应通用约束标志指定不对OLS施加特定约束时,OLS可以符合更严格的约束(例如,如VPS/SPS所指示的对该OLS施加这样的特定约束)。
1.可替代地,当VPS/SPS中的任何通用约束标志指定不对OLS施加特定约束,而DCI中的对应通用约束标志指定对OLS施加特定约束时,OLS可以符合更严格的约束(例如,如DCI所指示的对该OLS施加这样的特定约束)。
ii.在一个示例中,对于与对OLS施加约束的通用约束语法元素相关联的任何特定方面,在DCI中携带的对应通用约束语法元素必须具有指示比VPS/SPS中指示的关于该方面的相同约束的值更宽松但不能更严格的值。
1.在一个示例中,如果VPS/SPS中的任何通用约束标志/字段指定不对OLS施加特定约束,则可以添加比特流一致性,以要求DCI中的对应通用约束标志的值对于该OLS等于0(在这种情况下,DCI中的对应通用约束标志的值不能等于1)。
2.在一个示例中,如果VPS/SPS中的任何通用约束标志/字段指定对OLS施加特定约束,则DCI中的对应通用约束标志的值对于该OLS可以等于0或1。
iii.可替代地,相反地,对于与对OLS施加约束的通用约束语法元素相关联的任何特定方面,DCI中携带的对应通用约束语法元素必须具有指示比VPS/SPS中指示的关于该方面的相同约束的值更严格但不能更宽松的值。
1.在一个示例中,如果VPS/SPS中的任何通用约束标志/字段指定对OLS施加特定约束,则可以添加比特流一致性,以要求DCI中的对应通用约束标志的值对于该OLS等于1(在这种情况下,DCI中的对应通用约束标志的值不能等于0)。
2.在一个示例中,如果VPS/SPS中的任何通用约束标志/字段指定不对OLS施加特定约束,则DCI中的对应通用约束标志的值对于该OLS可以等于0或1。
i.在一个示例中,通用约束标志/字段的不同默认值的多个集合可以被预定义。
i.此外,可替代地,可以在DCI/VPS/SPS中信令通知多个集合当中的一个集合的指示。
ii.可替代地,仅一个集合被预定义。
1.此外,可替代地,一个标志可以存在于DCI/VPS/SPS中,以指定是否使用一个集合。
iii.在一个示例中,对于多个集合中的一个,通用约束标志/字段中的每一个被推断为指定不对OLS的比特流施加特定约束的值。例如,intra_only_constraint_flag、no_res_change_in_clvs_constraint_flag和one_tile_per_pic_constraint_flag的值都被推断为等于0。
iv.在一个示例中,对于多个集合中的一个或一些,max_bitdepth_constraint_idc的值可以被推断为等于特定值,例如2。
2.关于用于解决第二个问题的基于通用约束标志的SPS/PH/SH语法元素的信令:
1)根据通用约束标志的值,SPS/PH/SH中的对应语法元素的信令可以被跳过,例如,如在第一实施例中那样。
a.在一个示例中,可以根据一些通用约束标志来跳过一些SPS语法元素的信令。
i.例如,在通用约束字段max_chroma_format_constraint_idc的值等于0的情况下,可以跳过对应SPS语法元素chroma_format_idc的信令。
a)此外,可附加地,当max_chroma_format_constraint_idc等于0时,chroma_format_idc的值被推断为等于0。
ii.例如,在通用约束字段max_bitdepth_constraint_idc的值等于0的情况下,可以跳过对应SPS语法元素bit_depth_minus8的信令。
a)此外,可附加地,当max_bitdepth_constraint_idc等于0时,bit_depth_minus8的值被推断为等于0。
iii.例如,在通用约束标志no_aps_constraint_flag的值等于1的情况下,可以跳过APS相关SPS语法元素(诸如sps_lmcs_enabled_flag、sps_scaling_list_enabled_flag、sps_alf_enabled_flag、sps_ccalf_enabled_flag等)的信令。
a)可附加地,当no_aps_constraint_flag等于1时,上述每个APS相关SPS语法元素的值被推断为等于0。
b)此外,可替代地,在通用约束标志no_aps_constraint_flag的值等于1的情况下,不允许NAL单元类型等于PREFIX_APS_NUT或SUFFIX_APS_NUT。
iv.例如,在通用约束标志intra_only_constraint_flag的值等于1的情况下,可以跳过一个或多个帧间相关SPS语法元素(诸如sps_weighted_pred_flag、sps_weighted_bipred_flag、long_term_ref_pics_flag、sps_idr_rpl_present_flag、rpl1_same_as_rpl0_flag、gdr_enabled_flag、res_change_in_clvs_allowed_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_gpm_enabled_flag等)的信令
a)可附加地,当intra_only_constraint_flag等于1时,上述帧间相关SPS语法元素中的每一个的值被推断为等于0。
v.例如,在通用约束标志Y2的值等于1的情况下,可以跳过对应SPS语法元素Y1的信令。
a)可附加地,当不存在时(在通用约束标志Y2等于1的情况下),对应SPS语法元素Y1的值被推断为等于0。
b)例如,Y1为sps_ladf_enabled_flag,并且Y2为no_ladf_constraint_flag。
c)例如,Y1为gdr_enabled_flag,并且Y2为no_gdr_constraint_flag。
d)例如,Y1为res_change_in_clvs_allowed_flag,并且Y2为no_res_change_in_clvs_constraint_flag。
e)例如,Y1为qtbtt_dual_tree_intra_flag,并且Y2为no_qtbtt_dual_tree_intra_constraint_flag。
f)例如,Y1为partition_constraints_override_enabled_flag,并且Y2为no_partition_constraints_override_constraint_flag。
g)例如,Y1为sps_joint_cbcr_enabled_flag,并且Y2为no_joint_cbcr_constraint_flag。
h)例如,Y1为sps_sao_enabled_flag,并且Y2为no_sao_constraint_flag。
i)例如,Y1为sps_alf_enabled_flag,并且Y2为no_alf_constraint_flag。
j)例如,Y1=sps_ccalf_enabled_flag,并且Y2=no_ccalf_constraint_flag。
k)例如,Y1为sps_transform_skip_enabled_flag,并且Y2为no_transform_skip_constraint_flag。
l)例如,Y1为sps_bdpcm_enabled_flag,并且Y2为no_bdpcm_constraint_flag。
m)例如,Y1为sps_ref_wraparound_enabled_flag,并且Y2为no_ref_wraparound_constraint_flag。
n)例如,Y1=sps_temporal_mvp_enabled_flag,并且Y2=no_temporal_mvp_constraint_flag。
o)例如,Y1为sps_sbtmvp_enabled_flag,并且Y2为no_sbtmvp_constraint_flag。
p)例如,Y1为sps_amvr_enabled_flag,并且Y2为no_amvr_constraint_flag。
q)例如,Y1为sps_bdof_enabled_flag,并且Y2为no_bdof_constraint_flag。
r)例如,Y1为sps_dmvr_enabled_flag,并且Y2为no_dmvr_constraint_flag。
s)例如,Y1为sps_cclm_enabled_flag,并且Y2为no_cclm_constraint_flag。
t)例如,Y1为sps_mts_enabled_flag,并且Y2为no_mts_constraint_flag。
u)例如,Y1为sps_sbt_enabled_flag,并且Y2为no_sbt_constraint_flag。
v)例如,Y1为sps_affine_enabled_flag,并且Y2为no_affine_motion_constraint_flag。
w)例如,Y1为sps_bcw_enabled_flag,并且Y2为no_bcw_constraint_flag。
x)例如,Y1为sps_ibc_enabled_flag,并且Y2为no_ibc_constraint_flag。
y)例如,Y1为sps_ciip_enabled_flag,并且Y2为no_ciip_constraint_flag。
z)例如,Y1为sps_fpel_mmvd_enabled_flag,并且Y2为no_fpel_mmvd_constraint_flag。
aa)例如,Y1为sps_dep_quant_enabled_flag,并且Y2为no_dep_quant_constraint_flag。
bb)例如,Y1为sps_sign_data_hiding_enabled_flag,并且Y2为no_sign_data_hiding_constraint_flag。
cc)例如,Y1为sps_gpm_enabled_flag,并且Y2为no_gpm_constraint_flag。
vi.可替代地,可以添加比特流约束,以要求SPS中的相关语法元素的值基于对应通用约束标志的值而等于某个值。
a)在一个示例中(在这种情况下,上述SPS语法元素Y1被信令通知或推断),可以添加比特流约束,使得当通用约束标志Y2等于1时,要求对应SPS语法元素Y1的值等于0。
b)在一个示例中(在这种情况下,APS相关SPS语法元素被信令通知或推断),可以添加比特流约束,使得当no_aps_constraint_flag等于1时,要求每个APS相关SPS语法元素(诸如sps_lmcs_enabled_flag、sps_scaling_list_enabled_flag、sps_alf_enabled_flag、sps_ccalf_enabled_flag等)的值等于0。
c)在一个示例中(在这种情况下,帧间相关SPS语法元素被信令通知或推断),可以添加比特流约束,使得当intra_only_constraint_flag等于1时,要求上述帧间相关SPS语法元素(诸如sps_weighted_pred_flag、sps_weighted_bipred_flag、long_term_ref_pics_flag、sps_idr_rpl_present_flag、rpl1_same_as_rpl0_flag、gdr_enabled_flag、res_change_in_clvs_allowed_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_gpm_enabled_flag等)中的每一个的值等于0。
b.在一个示例中,可以根据一些通用约束标志的值来跳过一个或多个PH语法元素的信令。
i.例如,当intra_only_constraint_flag等于1时,可以跳过诸如ph_inter_slice_allowed_flag的帧间相关PH语法元素的信令。
a)可附加地,当intra_only_constraint_flag等于1时,诸如ph_inter_slice_allowed_flag的帧间相关PH语法元素中的每一个的值被推断为等于0。
ii.例如,当intra_only_constraint标志等于1时,可以跳过PH中包括的语法结构ref_pic_lists()和语法结构ref_pic_list_struct(listIdx,rplsIdx)中的PH语法元素的信令。
a)例如,当intra_only_constraint_flag等于1时,可以跳过PH中包括的语法结构ref_pic_lists()中的语法元素,诸如rpl_sps_flag[]、rpl_idx[]、poc_lsb_lt[][]、delta_poc_msb_present_flag[][]、delta_poc_msb_cycle_lt[][]。
b)例如,当intra_only_constraint_flag等于1时,可以跳过PH中包括的语法结构ref_pic_list_struct(listIdx,rplsIdx)中的语法元素,诸如num_ref_entries[][]、ltrp_in_header_flag[][]、inter_layer_ref_pic_flag[][][]、st_ref_pic_flag[][][]、abs_delta_poc_st[][][]、strp_entry_sign_flag[][][]、rpls_poc_lsb_lt[][][]、ilrp_idx[][][]。
iii.可替代地(在这种情况下,根据相关通用约束标志/字段的值,PH中的对应语法元素不被有条件地信令通知或跳过),在一个示例中,可以添加比特流约束,以要求PH中的相关语法元素的值基于对应通用约束标志的值而等于某个值。
a)在一个示例中(在这种情况下,PH语法元素ph_inter_slice_allowed_flag被信令通知或推断),当intra_only_constraint_flag等于1时,可以添加比特流约束,使得要求诸如ph_inter_slice_allowed_flag的帧间相关PH语法元素中的每一个的值等于0。
b)在一个示例中(在这种情况下,PH中包括的ref_pic_lists()和ref_pic_list_struct(listIdx,rplsIdx)中的语法元素被信令通知或推断),可以添加比特流约束,使得要求从不使用PH中包括的参考图片列表中的语法元素。
c.在一个示例中,可以根据一些通用约束标志的值来跳过一个或多个SH语法元素的信令。
i.例如,在intra_only_constraint_flag的值等于1的情况下,可以跳过RPL相关SH语法元素num_ref_idx_active_override_flag的信令。
a)可附加地,当intra_only_constraint_flag等于1时,num_ref_idx_active_override_flag的值被推断为等于0。
ii.例如,在intra_only_constraint_flag等于1的情况下,可以跳过SH中包括的语法结构ref_pic_lists()和语法结构ref_pic_list_struct(listIdx,rplsIdx)中的RPL相关语法元素的信令。
a)例如,当intra_only_constraint_flag等于1时,可以跳过SH中包括的语法结构ref_pic_lists()中的语法元素,诸如rpl_sps_flag[]、rpl_idx[]、poc_lsb_lt[][]、delta_poc_msb_present_flag[][]、delta_poc_msb_cycle_lt[][]。
b)例如,当intra_only_constraint_flag等于1时,可以跳过SH中包括的语法结构ref_pic_list_struct(listIdx,rplsIdx)中的语法元素,诸如num_ref_entries[][]、ltrp_in_header_flag[][]、inter_layer_ref_pic_flag[][][]、st_ref_pic_flag[][][]、abs_delta_poc_st[][][]、strp_entry_sign_flag[][][]、rpls_poc_lsb_lt[][][]、ilrp_idx[][][]。
iii.可替代地(在这种情况下,根据相关通用约束标志/字段的值,SH中的对应语法元素不被有条件地信令通知或跳过),在一个示例中,可以添加比特流约束,以要求SH中的相关语法元素中的每一个的值根据对应通用约束标志的值而等于某个值。
a)在一个示例中(在这种情况下,SH语法元素num_ref_idx_active_override_flag被信令通知或推断),当intra_only_constraint_flag等于1时,可以添加比特流约束,使得要求SH中的语法元素num_ref_idx_active_override_flag等于0。
b)在一个示例中(在这种情况下,SH中包括的ref_pic_lists()和ref_pic_list_struct(listIdx,rplsIdx)中的SH语法元素被信令通知或推断),当intra_only_constraint_flag等于1时,可以添加比特流约束,使得要求从不使用SH中包括的参考图片列表中的语法元素。
d.在以上示例中,用于确定是否跳过一个或多个SH语法元素的信令的通用约束标志/字段可以由SPS/PPS/PH/SH中的新语法元素替换。
e.在以上示例中,用于确定是否跳过一个或多个PH语法元素的信令的通用约束标志/字段可以由SPS/PPS/PH中的新语法元素替换。
f.在以上示例中,用于确定是否跳过一个或多个SPS语法元素的信令的通用约束标志/字段可以由SPS中的新语法元素替换。
3.关于用于解决第三个问题的基于通用约束标志的PPS语法元素的约束:
1)根据通用约束标志的值,PPS中的对应语法元素的值可以被约束,例如,如在第二实施例中那样。
a.在一个示例中,根据通用约束标志的值,可以添加比特流约束,使得要求PPS中的语法元素的值等于某个值。
i.例如,当one_tile_per_pic_constraint_flag等于1时,要求num_exp_tile_columns_minus1和/或num_exp_tile_rows_minus1和/或rect_slice_flag的值等于0。
ii.例如,当one_slice_per_pic_constraint_flag等于1时,要求rect_slice_flag的值等于1。
iii.例如,当one_tile_per_pic_constraint_flag和one_slice_per_pic_constraint标志都等于1时,要求no_pic_partition_flag的值等于1。
iv.例如,当intra_only_constraint标志等于1时,要求rpl1_idx_present_flag和num_ref_idx_default_active_minus1[]的值等于0。
4.关于用于解决第四个问题的禁止这样的通用约束标志的非法值的对通用约束标志的约束:
1)在语法general_constraint_info()中,一个通用约束标志的值可以依赖于另一个通用约束标志的值,例如,如在第三实施例中那样。
a.在一个示例中,根据较早信令通知的通用约束标志的值,可以跳过语法general_constraint_info()中的一些通用约束标志的信令。
i.在一个示例中,在one_slice_per_pic_constraint_flag的值等于1的情况下,可以跳过语法general_constraint_info()中的语法元素one_subpic_per_pic_constraint_flag的信令。
1.可附加地,当one_slice_per_pic_constraint_flag等于1时,one_subpic_per_pic_constraint_flag的值被推断为等于1。
ii.在一个示例中,在no_transform_skip_constraint_flag的值等于1的情况下,可以跳过语法general_constraint_info()中的语法元素no_bdpcm_constraint_flag的信令。
1.可附加地,当no_transform_skip_constraint_flag等于1时,no_bdpcm_constraint_flag的值被推断为等于1。
iii.例如,在intra_only_constraint_flag的值等于1的情况下,可以跳过general_constraint_info()语法结构中的帧间相关语法元素(诸如no_res_change_in_clvs_constraint_flag、no_ref_wraparound_constraint_flag、no_temporal_mvp_constraint_flag、no_sbtmvp_constraint_flag、no_amvr_constraint_flag、no_bdof_constraint_flag、no_dmvr_constraint_flag、no_sbt_constraint_flag、no_affine_motion_constraint_flag、no_bcw_constraint_flag、no_ciip_constraint_flag、no_fpel_mmvd_constraint_flag、no_gpm_constraint_flag)的信令
2.可附加地,当intra_only_constraint_flag等于1时,general_constraint_info()语法结构中的上述帧间相关语法元素中的每一个的值被推断为等于1。
b.在一个示例中,可替代地(在这种情况下,根据较早的通用约束标志的值,通用约束标志不被有条件地信令通知或跳过),可以添加比特流约束,使得要求一个通用约束标志的值根据(多个)相关的较早通用约束标志的值而等于某个值。
i.在一个示例中,当intra_only_constraint_flag等于1时,要求如以上项目符号所提到的帧间相关通用约束标志中的每一个的值等于1。
ii.在一个示例中,当intra_only_constraint_flag等于1时,要求no_idr_constraint_flag和no_cra_constraint_flag的值中的至少一个等于0。
iii.在一个示例中,当no_transform_skip_constraint_flag等于1时,要求no_bdpcm_constraint_flag的值等于1。
iv.在一个示例中,当no_aps_constraint_flag等于1时,要求no_alf_constraint_flag的值等于1。
c.在一个示例中,可附加地,可以添加比特流约束,以要求一些通用约束标志的值等于某些值,并且如果必要,在某些条件下等于某些值。
i.在一个示例中,可以添加比特流约束来约束多个通用约束标志的组合的值,例如,要求no_gdr_constraint_flag、no_idr_constraint_flag和no_cra_constraint_flag的值中的至少一个等于0。
ii.在一个示例中,可以添加比特流约束来约束通用约束字段的范围。
1.例如,要求max_bitdepth_constraint_idc在0到X(诸如X=8)的范围(包括0和X)内。
2.例如,当general_profile_idc等于A(诸如A=1)时,要求max_bitdepth_constraint_idc在0到B(诸如B=2)的范围(包括0和B)内。
5.关于添加用于解决第五个问题的新的SPS/PPS语法元素:
1)新的SPS和/或PPS语法元素可以被添加,对SPS/PPS/PH/SH中的相关语法元素加条件,例如,如在第四实施例中那样。
a.在一个示例中,可以添加新的SPS语法元素(例如,sps_intra_only_flag)和/或新的PPS语法元素(例如,pps_intra_only_flag),对SPS/PPS/PH/SH中的帧间预测相关语法元素加条件。
i.在一个示例中,当通用约束标志intra_only_constraint_flag等于1时,可以跳过新的SPS语法元素sps_intra_only_flag和/或新的PPS语法元素pps_intra_only_flag的信令。
1.可附加地,当intra_only_constraint_flag等于1时,新的SPS语法元素sps_intra_only_flag的值被推断为等于1,和/或,新的PPS语法元素pps_intra_only_flag的值被推断为等于1。
ii.在一个示例中,在新的PPS语法元素(例如,sps_intra_only_flag)的值等于1的情况下,可以跳过帧间相关SPS语法元素(诸如sps_weighted_pred_flag、sps_weighted_bipred_flag、long_term_ref_pics_flag、sps_idr_rpl_present_flag、rpl1_same_as_rpl0_flag、gdr_enabled_flag、res_change_in_clvs_allowed_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_gpm_enabled_flag等)的信令
2.可附加地,当新的PPS语法元素sps_intra_only_flag等于1时,帧间相关SPS语法元素中的每一个的值被推断为等于某个值(诸如0或1)。
iii.在一个示例中,在新的SPS/PPS语法元素(例如,sps_intra_only_flag和/或pps_intra_only_flag)的值等于1的情况下,可以跳过PH和/或SH中包括的对应的帧间相关和RPL相关语法元素的信令。
1.在一个示例中,上述帧间相关PH语法元素可以为ph_inter_slice_allowed_flag。
2.在一个示例中,上述RPL相关SH语法元素可以为num_ref_idx_active_override_flag。
3.在一个示例中,上述对应的RPL相关语法元素可以是PH和/或SH中包括的语法结构ref_pic_lists()和语法结构ref_pic_list_struct(listIdx,rplsIdx)中的语法元素。
4.可附加地,当新的语法元素sps_intra_only_flag和/或pps_intra_only_flag等于1时,PH和/或SH中的对应的帧间相关和RPL相关语法元素中的每一个的值被推断为等于某个值(诸如0或1)。
iv.在一个示例中,在新的PPS语法元素(例如,pps_intra_only_flag)的值等于1的情况下,可以跳过对应PPS语法元素的信令。
1.例如,上述对应PPS语法元素可以为rpl1_idx_present_flag。
2.例如,上述对应PPS语法元素可以为num_ref_idx_default_active_minus1[]。
3.可附加地,当新的PPS语法元素pps_intra_only_flag等于1时,对应PPS语法元素的值被推断为等于某个值(诸如0或1)。
v.可替代地(在这种情况下,根据intra_only_constraint_flag的值,新的SPS和/或PPS语法元素sps_intra_only_flag和/或pps_intra_only_flag被有条件地信令通知或跳过),在一个示例中,当intra_only_constraint_flag等于1时,可以添加比特流约束以要求新的SPS和/或PPS语法元素sps_intra_only_flag和/或pps_intra_only_flag的值等于1。
vi.可替代地(在这种情况下,根据新的SPS/PPS语法元素的值,与新的SPS/PPS语法元素有关的SPS/PPS/PH/SH语法元素不被有条件地信令通知或跳过),在一个示例中,根据新的SPS/PPS语法元素的值,可以添加比特流约束,使得要求SPS/PPS/PH/SH中的相关语法元素中的每一个的值等于某个值(诸如0或1)。
1.在一个示例中(在这种情况下,新的PPS语法元素pps_intra_only_flag被信令通知或推断),可附加地,当新的SPS语法元素sps_intra_only_flag等于1时,可以添加比特流约束,使得要求新的PPS语法元素pps_intra_only_flag的值等于1。
2.在一个示例中(在这种情况下,与新的SPS语法元素有关的SPS语法元素被信令通知或推断),可以添加比特流约束,使得当新的SPS语法元素sps_intra_only_flag等于1时,要求帧间相关SPS语法元素的值等于0。
3.在一个示例中(在这种情况下,与新的SPS/PPS语法元素有关的PPS语法元素被信令通知或推断),在一个示例中,可以添加比特流约束,使得当新的SPS语法元素sps_intra_only_flag等于1时,或者新的PPS语法元素pps_intra_only_flag等于1时,要求帧间相关PPS语法元素的值等于0。
4.在一个示例中(在这种情况下,与新的SPS/PPS语法元素有关的PH/SH语法元素被信令通知或推断),可以添加比特流约束,使得当新的SPS语法元素sps_intra_only_flag等于1和/或新的PPS语法元素pps_intra_only_flag等于1时,要求PH/SH中包括的对应的帧间相关和/或RPL相关语法元素的值等于某个值(诸如0或1)。
6.关于添加用于解决第六个问题的新的通用约束标志/字段:
1)在语法general_constraint_info()中,可以添加新的通用约束标志,此外,这些新的通用约束标志可以用于对SPS/PPS/PH/SH中的相关语法元素加条件,或者通过比特流约束来约束SPS/PPS/PH/SH中的相关语法元素的值,例如,如在第五实施例中那样。
a.例如,可以添加新的通用约束标志以实现一个或多个功能,如下所述。
i.例如,添加新的通用约束标志以禁用帧间层预测和/或仅允许一个层,例如,添加新的语法元素no_inter_layer_prediction_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素inter_layer_ref_pics_present_flag的信令加条件或者约束其值。
ii.例如,添加新的通用约束标志以禁用长期参考,例如,新的语法元素no_long_term_ref_pics_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素long_term_ref_pics_flag的信令加条件或者约束其值。
iii.例如,添加新的通用约束标志以禁用等于32×32的最大变换尺寸,例如,新的语法元素no_max_luma_transform_size 64_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_max_luma_transform_size_64_flag的信令加条件或者约束其值。
iv.例如,添加新的通用约束标志以禁用MER,例如,新的语法元素no_parallel_merge_level_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素log2_parallel_merge_level_minus2的信令加条件或者约束其值。
v.例如,添加新的通用约束标志以禁止波前并行处理入口偏移的存在,例如,新的语法元素no_wpp_entry_point_offset_present_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_wpp_entry_point_offsets_present_flag的信令加条件或者约束其值。
vi.例如,添加新的通用约束标志以禁用熵编解码同步点(即,波前并行处理),例如,新的语法元素no_entropy_coding_sync_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_entropy_coding_sync_enabled_flag的信令加条件或者约束其值。
b.例如,可以添加新的通用约束标志以控制编解码工具中的一个或多个,如下所述。
i.例如,添加新的通用约束标志以禁用P条带的加权预测,例如,新的语法元素no_wighted_pred_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_weighted_pred_flag的信令加条件或者约束其值。
ii.例如,添加新的通用约束标志以禁用B条带的加权双向预测,例如,新的语法元素no_wighted_bipred_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_weighted_bipred_flag的信令加条件或者约束其值。
iii.例如,添加新的通用约束标志以禁用SMVD,例如,新的语法元素no_smvd_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_smvd_enabled_flag的信令加条件或者约束其值。
iv.例如,添加新的通用约束标志以禁用MMVD,例如,新的语法元素no_mmvd_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_mmvd_enabled_flag的信令加条件或者约束其值。
v.例如,添加新的通用约束标志以禁用ISP,例如,新的语法元素no_isp_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_isp_enabled_flag的信令加条件或者约束其值。
vi.例如,添加新的通用约束标志以禁用MRL,例如,新的语法元素no_mrl_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_mrl_enabled_flag的信令加条件或者约束其值。
vii.例如,添加新的通用约束标志以禁用MIP,例如,新的语法元素no_mip_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_mip_enabled_flag的信令加条件或者约束其值。
viii.例如,添加新的通用约束标志以禁用PLT,例如,新的语法元素no_palette_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_palette_enabled_flag的信令加条件或者约束其值。
ix.例如,添加新的通用约束标志以禁用ACT,例如,新的语法元素no_act_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_act_enabled_flag的信令加条件或者约束其值。
x.例如,添加新的通用约束标志以禁用LMCS,例如,新的语法元素no_lmcs_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_lmcs_enabled_flag的信令加条件或者约束其值。
xi.例如,添加新的通用约束标志以禁用LFNST,例如,新的语法元素no_lfnst_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_lfnst_enabled_flag的信令加条件或者约束其值。
xii.例如,添加新的通用约束标志以禁用缩放列表,例如,新的语法元素no_scaling_list_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_scaling_list_enabled_flag的信令加条件或者约束其值。
xiii.例如,添加新的通用约束标志以禁用虚拟边界,例如,新的语法元素no_virtual_boundaries_constraint_flag。此外,该新的语法元素可以用于对SPS语法元素sps_virtual_boundaries_enabled_flag的信令加条件或者约束其值。
c.例如,可以添加新的通用约束标志以控制一组语法元素(即,对其信令加条件或者约束其值),如下所述。
i.例如,添加新的通用约束标志以禁用加权预测和加权双向预测。此外,该新的语法元素可以用于控制SPS语法元素sps_weighted_pred_flag和sps_weighted_bipred_flag。
d.例如,当新的通用约束语法等于1时,可以跳过对应SPS/PH/SH语法元素的信令。
ii.可附加地,当对应SPS/PH/SH语法元素不存在时(在对应的新的通用约束语法元素等于1的情况下),对应SPS/PH/SH语法元素的值被推断为等于某个值(诸如0或1)。
iii.可替代地(在对应SPS/PH/SH语法元素被信令通知或推断的情况下),在一个示例中,可以添加比特流约束,使得当新的通用约束语法元素等于1时,要求对应SPS/PH/SH语法元素的值等于某个值(诸如0或1)。
i.可替代地,在一个示例中,当no_aps_cosntraint_flag等于1时,要求APS相关的新添加的约束标志(例如,no_scaling_list_constraint_flag和no_lmcs_constraint_flag)的值等于1。
ii.可替代地,在一个示例中,当intra_only_cosntraint_flag等于1时,要求APS相关的新添加的约束标志(例如,no_weighted_pred_constraint_flag、no_weighted_bipred_constraint_flag、no_long_term_ref_pics_constraint_flag、no_inter_layer_prediction_constraint_flag、no_smvd_constraint_flag和no_mmvd_constraint_flag)的值等于1。
iii.可替代地,在一个示例中,当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,要求no_inter_layer_prediction_constraint_flag的值等于1。
7.关于用于解决第七个问题的APS语法元素到其他参数集中的语法元素的连接:
1)在一个示例中,VPS ID和/或SPS ID和/或PPS ID可以被添加到APS语法结构,即adaptation_parameter_set_rbsp(),例如,如在第六实施例中那样。
2)在一个示例中,APS语法元素(例如,alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag)可以依赖于通用约束标志的值,例如,如在第六实施例中那样。
a.例如,当no_aps_constraint_flag等于0时,alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
b.例如,当sps_alf_enabled_flag等于1时,alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
c.当no_aps_constraint_flag等于0并且sps_alf_enabled_flag等于1时,alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
d.可替代地,alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值可以依赖于是否有具有等于ALF_APS的aps_params_type的APS NAL单元。
3)在一个示例中,根据SPS/PPS ID,APS语法元素可以依赖于与对应SPS/PPS相关联的语法元素的值。
a.例如,色度相关APS语法元素(诸如alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag、scaling_list_chroma_present_flag等)的值可以不根据通过SPS语法元素推导的变量(诸如ChromaArrayType)来约束。
4)在一个示例中,可以添加比特流约束,使得当no_aps_constraint_flag等于1时,不能发送与语法结构alf_data()、lmcs_data()和scaling_list_data()相关联的语法元素。
8.关于通用约束标志的冗余信令:
1)在一个示例中,指示符可以被包括在profile_tier_level()和/或general_constraint_info()的语法结构中,以指示当前通用约束信息适用于哪个档次和/或哪个层和/或哪个级别。
2)在一个示例中,语法结构general_constraint_info()可以被包括在并且可以仅被包括在SPS语法结构seq_parameter_set_rbsp()中。
3)可以添加比特流约束,使得如果有VPS,则VPS中包括的general_constraint_info()语法元素用于CVS。
4)可以添加比特流约束,使得如果没有VPS,则SPS中包括的general_constraint_info()语法元素用于当前CLVS。
9.在一个示例中,是否和/或如何信令通知通用约束结构可以依赖于档次和/或子档次和/或级别和/或层的值。
a.在一个示例中,每个general_constraint_info()语法结构被指定为与在与general_constraint_info()语法结构相同的profile_tier_level()语法结构中信令通知的对于所有i值的general_profile_idc和subprofile_sub_profile_idc[i]的一个集合相关联。
或者等效地,每个general_constraint_info()语法结构被指定为与包含general_constraint_info()语法结构的profile_tier_level()语法结构相关联。
b.在一个示例中,与包含general_constraint_info()语法结构的profile_tier_level()语法结构中指示的档次和子档次相比,general_constraint_info()语法结构中携带的信息可以施加关于可以应用哪些编解码工具的更多约束。这意味着,除了由档次和子档次施加的所有约束之外,更多方面可以由通用约束信息来约束。
c.在一个示例中,对于与通用约束语法元素相关联的任何特定方面,对应通用约束语法元素必须具有指示关于该方面的比由档次和子档次指示的更严格的约束或者关于该方面的与由档次和子档次指示的相同的约束的值。
i.在一个示例中,如果档次和子档次中的任何一个指示所有条带都是帧内条带,则intra_only_constraint_flag应当等于1,而如果档次和子档次中没有一个指示所有条带都是帧内条带,则intra_only_constraint_flag可以等于1或0。
d.在一个示例中,对于与通用约束语法元素相关联的任何特定方面,由档次、子档次和对应通用约束语法元素指示的最严格的约束适用。
i.在一个示例中,当档次和子档次中的任何一个指示所有条带都是帧内条带时,intra_only_constraint_flag的值可以等于1或0,但是仍然要求所有条带都是帧内条带,以及当档次和子档次中没有一个指示所有条带都是帧内条带并且intra_only_constraint_flag的值等于1时,再次要求所有条带都是帧内条带。
e.在一个示例中,没有针对特定档次和/或子档次和/或级别和/或层信令通知通用约束信息。通用约束标志/字段被推断为基于特定档次和/或级别和/或层的预定义值。
f.在一个示例中,可以针对特定档次和/或子档次和/或级别和/或层信令通知但忽略通用约束信息。通用约束标志被推断为基于特定档次和/或级别和/或层的预定义值。
g.在一个示例中,可以针对特定档次和/或子档次和/或级别和/或层信令通知通用约束信息。通用约束标志必须等于基于一致性比特流中的特定档次和/或级别和/或层的预定义值。
h.在一个示例中,可以针对特定档次和/或子档次和/或级别和/或层信令通知通用约束信息。是否和/或如何应用编解码工具可以通过(多个)对应通用约束标志来确定,忽略档次和/或级别和/或层中的规范。
i.在一个示例中,如果编解码工具被指定为在档次和/或子档次和/或级别和/或层中关闭,则与编解码工具相关联的通用约束标志必须被设置为等于1(意味着关闭)。
j.在一个示例中,如果编解码工具被指定为在档次和/或子档次和/或级别和/或层中关闭,则与编解码工具相关联的通用约束标志可以被忽略并被推断为1(意味着关闭)。
k.在一个示例中,如果编解码工具被指定为在档次和/或子档次和/或级别和/或层中关闭,则与编解码工具相关联的通用约束标志可以被跳过并被推断为1(意味着关闭)。
l.在一个示例中,对于指示所有帧内编解码的档次和/或子档次,intra_only_constraint_flag必须等于1。
i.可替代地,对于指示所有帧内编解码的档次和/或子档次,intra_only_constraint_flag被跳过或忽略,并被推断为1。
10.关于语法元素(例如,PPS中的X_info_in_ph_flag)的存在和值,用于解决第八个问题:
a.提出了指定在PH还是SH中信令通知某个特征的相关联信息的语法元素(例如,PPS中的X_info_in_ph_flag)的存在以是否有参考PPS的图片的分割/划分(例如,no_pic_partition_flag是否等于1)为条件。
i.可替代地,PPS中的X_info_in_ph_flag的存在可以以在参考PPS的图片中是否仅有一个条带为条件。
ii.可替代地,当不存在时,将X_info_in_ph_flag推断为等于某个值(诸如0或1)。
1.可替代地,如果特征X依赖于APS语法元素,则当不存在时,将X_info_in_ph_flag推断为等于1。
2.可替代地,如果特征X不依赖于APS语法元素,则当不存在时,将X_info_in_ph_flag推断为等于0。
b.可替代地,X_info_in_ph_flag的值可以基于PH语法结构是否存在于条带标头中来约束。
i.例如,要求当picture_header_in_slice_header_flag等于1时,要求X_info_in_ph_flag的值等于某个值(诸如0或1)。
c.例如,X可以是色度QP偏移(假设在PPS中信令通知名为chroma_qp_offset_info_in_ph_flag的标志,以控制在PH还是SH中信令通知色度QP偏移)。
d.例如,X可以是其相关联信息可以在PH或SH中被信令通知的任何特征。
11.关于移除APS对SPS的语义依赖性,用于解决第九个问题:
a.在一个示例中,可以在APS语法结构(例如,adaptation_parameter_set_rbsp())中信令通知语法元素(例如,名为aps_chroma_present_flag),其指定是否信令通知色度相关APS语法元素。
b.例如,通过SPS语法元素推导的ChromaArrayType可通过与PH/SH语法元素相关联的SPS/PPS ID实现。
c.在一个示例中,APS语法元素(例如,aps_chroma_present_flag)的约束可以依赖于从PH或SH语法元素推导的变量(例如,ChromaArrayType)。
d.在一个示例中,如第七实施例中那样应用约束和信令。
e.在一个示例中,如第八实施例中那样应用约束和信令。
f.例如,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于1。
i.可替代地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于1。
ii.可替代地,可附加地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cb_aps_id的adaptation_parameter_set_id的APSNAL单元的aps_chroma_present_flag的值应当等于1。
iii.可替代地,可附加地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cr_aps_id的adaptation_parameter_set_id的APSNAL单元的aps_chroma_present_flag的值应当等于1。
g.可替代地,要求当chromaArrayType等于0时,具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于0。
h.可替代地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APSNAL单元的aps_chroma_present_flag的值应当等于1。
i.可替代地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APSNAL单元的aps_chroma_present_flag的值应当等于1。
ii.可替代地,可附加地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APSNAL单元的aps_chroma_present_flag的值应当等于1。
iii.可替代地,可附加地,要求当chromaArrayType不等于0时,具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于1。
i.可替代地,要求当chromaArrayType等于0时,具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于0。
12.提出了在通用约束语法结构(诸如VVC中的general_constraint_info())中信令通知SE(例如,命名为
“general_pic_header_in_slice_header_constraint_flag”),以指示是否应当在条带标头中信令通知图片标头信息。
a.例如,要求当general_pic_header_in_slice_header_constraint_flag等于0时,应当在条带标头中信令通知图片标头信息。
b.例如,要求当general_pic_header_in_slice_header_constraint_flag等于1时,应当在条带标头中信令通知图片标头信息。
c.要求当general_pic_header_in_slice_header_constraint_flag等于0时,指示每个图片是否应当仅包含一个条带的SE(诸如one_slice_per_pic_constraint_flag)应当等于1。
d.要求当general_pic_header_in_slice_header_constraint_flag等于1时,指示每个图片是否应当仅包含一个条带的SE(诸如one_slice_per_pic_constraint_flag)应当等于1。
13.提出了允许将图片分割为矩形条带还是非矩形条带可以由比特流一致性来约束。
a.可替代地,是否在条带标头中信令通知图片标头可以根据将图片分割为矩形条带还是非矩形条带而由比特流一致性来约束。
b.例如,当将图片分割为矩形条带(例如,rect_slice_flag等于1)时,指示是否在条带标头中信令通知图片标头的SE(诸如picture_header_in_slice_header_flag)应当等于1。
c.例如,当在条带标头中信令通知图片标头(例如,picture_header_in_slice_header_flag等于1)时,指示是否将图片分割为矩形条带的SE(rect_slice_flag)应当等于1。
14.关于用于解决第十个问题的GCI语法结构信令,公开了以下方法中的一种或多种,例如,如在第九实施例中那样:
a.在profile_tier_level()语法结构中信令通知新的语法元素(例如,名为gci_present_flag的标志),以指示GCI语法结构(例如,general_constraint_info())中GCISE的存在和/或PTL语法结构(例如,profile_tier_level())中GCI语法结构(例如,general_constraint_info())自身的存在。
i.在一个示例中,GCI语法结构中的GCI SE是否被信令通知以gci_present_flag的值为条件。
ii.在一个示例中,如果语法元素指定GCI不存在(例如,gci_present_flag等于0),则不在当前profile_tier_level()语法结构中信令通知GCI语法结构(例如,general_constraint_info())。
iii.在一个示例中,当GCI语法结构不存在于profile_tier_level()语法结构中,或者GCI语法结构中的GCI SE不存在时,指定GCI SE中的每一个被推断为该值,使得不施加对应的约束。例如,intra_only_constraint_flag的值被推断为等于0。
1.在一个示例中,指定以下推断:当对于profileTierPresentFlag等于1的profile_tier_level()语法结构,gci_present_flag等于0时(因此GCI语法结构不存在于profile_tier_level()语法结构中),max_bitdepth_constraint_idc的值被推断为等于8,max_chroma_format_constraint_idc的值被推断为等于3,并且general_constraint_info()语法结构中从general_non_packed_constraint_flag开始到no_aps_constraint_flag(包括general_non_packed_constraint_flag和no_aps_constraint_flag)的每个其他语法元素的值被推断为等于0。
iv.在一个示例中,当不信令通知GCI SE时,它可以被推断为默认值,诸如0或1。
1.默认值可以依赖于档次和/或级别。
v.在一个示例中,gci_present_flag的信令可以以档次和/或级别为条件。
1.当不信令通知gci_present_flag时,它可以被推断为默认值,诸如0或1。
vi.在一个示例中,gci_present_flag是u(1)编解码的。
b.指定OlsInScope符合的级别的语法元素(例如,general_level_idc)的起始位置总是字节对齐的位置。
i.在一个示例中,如果比特流中的当前位置不在字节边界上,即比特流中的下一比特不是字节中的第一比特,则一个或多个语法元素(例如,ptl_alignment_zero_bit)正好在general_level_idc之前被信令通知,直到起始位置是字节对齐的。
1.在一个示例中,0值语法元素(例如,ptl_alignment_zero_bit)用使用首先以左比特(从左到右)写入的n比特的固定模式比特串进行编解码,其中n=1,也称为f(1)编解码。
c.GCI语法结构可能不是字节对齐的。
i.在一个示例中,在GCI语法结构中信令通知通用约束标志,而不检查它们是否是字节对齐的。
d.在GCI语法结构中信令通知保留比特。
i.在一个示例中,在GCI语法结构中信令通知保留比特的数量,例如名为gci_num_reserved_bits。
ii.在一个示例中,在GCI语法结构中信令通知的保留比特的数量是u(N)编解码的,诸如N=11。
iii.在一个示例中,在GCI语法结构中信令通知的保留比特的数量是ue(v)编解码的。
iv.在一个示例中,信令通知保留的GCI语法元素(例如,名为gci_reserved_bit[i]),其中i的范围从0到gci_num_reserved_bits-1(包括0和gci_num_reserved_bits-1)。
v.在一个示例中,保留的GCI语法元素是u(X)编解码的,诸如X=1。
vi.在一个示例中,保留比特必须是字节对齐的。
1.在一个示例中,信令通知保留比特的字节数量。15.关于用于解决第11个问题的通用约束标志/字段的语义约束,公开了以下方法中的一种或多种,例如,如在第九实施例中那样:
a.在一个示例中,当仅允许等于I_SLICE的slice_type(例如,
intra_only_constraint_flag等于1)时,可以指定以下一个或多个约束:
i.RPL相关SE被约束为要求不使用指定RPL的某个值。
ii.要求不允许长期参考图片(例如,long_term_ref_pics_flag的值应当等于0)。
iii.要求不允许RPL用于IDR图片(例如,sps_idr_rpl_present_flag的值应当等于0)。
iv.要求参考图片列表的数量等于0(例如value of sps_num_ref_pic_lists[i]的值应当等于0)。
v.所有层应当是独立层(例如,all_layers_independent_constraint_flag的值应当等于1)。
vi.要求不允许RPR(例如,no_ref_pic_resampling_constraint_flag的值应当等于1)。
vii.要求不允许分辨率改变(例如,no_res_change_in_clvs_constraint_flag的值应当等于1)。
viii.要求不允许用于P条带的加权预测。
1.可以在GCI语法结构中信令通知新的语法元素(例如,名为no_weighted_pred_constraint_flag),以指示是否应当允许用于P条带的加权预测。
2.在一个示例中,当仅允许等于I_SLICE的slice_type(例如,intra_only_constraint_flag等于1)时,no_weighted_bipred_constraint_flag的值应当等于1。
ix.要求不允许用于B条带的加权预测。
1.可以在GCI语法结构中信令通知新的语法元素(例如,名为no_weighted_bipred_constraint_flag),以指示是否应当允许用于B条带的加权预测。
2.在一个示例中,当仅允许等于I_SLICE的slice_type(例如,intra_only_constraint_flag等于1)时,no_weighted_bipred_constraint_flag的值应当等于1。
x.要求不允许用于P条带和B条带的加权预测。
1.可以在GCI语法结构中信令通知新的语法元素(例如,名为no_weighted_pred_constraint_flag),以指示是否应当允许用于P条带和B条带的加权预测。
2.在一个示例中,当仅允许等于I_SLICE的slice_type(例如,intra_only_constraint_flag等于1)时,no_weighted_pred_constraint_flag的值应当等于1。
xi.要求不允许SBT(例如,no_sbt_constraint_flag的值应当等于1)。
xii.要求不允许GDR(例如no_gdr_constraint_flag的值应当等于1)。
xiii.不允许仅被应用于帧间图片的编解码工具X。例如,约束标志no_X_constraint_flag的值应当等于1。例如,X_flag可以是以下之一:
1.no_ref_wraparound_constraint_flag
2.no_temporal_mvp_constraint_flag
3.no_sbtmvp_constraint_flag
4.no_amvr_constraint_flag
5.no_bdof_constraint_flag
6.no_dmvr_constraint_flag
7.no_affine_motion_constraint_flag
8.no_mmvd_constraint_flag
9.no_smvd_constraint_flag
10.no_prof_constraint_flag
11.no_bcw_constraint_flag
12.no_ciip_constraint_flag
13.no_gpm_constraint_flag
b.SPS/PPS/PH/SH中的SE可以由GCI SE来约束。
i.在一个示例中,当每个图片仅包含一个片(例如,one_tile_per_pic_constraint_flag等于1)时,可以指定以下一个或多个约束:
1.要求片列的数量为1(例如,pps_num_exp_tile_columns_minus1的值应当等于0)。
2.要求片行的数量为1(例如,pps_num_exp_tile_rows_minus1的值被推断为等于0)。
3.要求条带是矩形条带而不是光栅扫描条带(例如,pps_rect_slice_flag的值应当等于1)。
ii.在一个示例中,当要求不允许APS(例如,no_aps_constraint_flag等于1)时,可以指定以下一个或多个约束:
1.要求不允许CCALF(例如,sps_ccalf_enabled_flag应当等于0)。
2.要求ALF亮度APS的数量等于1(例如,ph_num_alf_aps_ids_luma、slice_num_alf_aps_ids_luma应当等于0)。
3.要求不允许色度ALF(例如,ph_alf_cb_flag、ph_alf_cr_flag、sh_alf_cb_flag和sh_alf_cr_flag应当等于0)。
iii.在一个示例中,当每个图片仅包含一个条带(例如,one_slice_per_pic_constraint_flag等于1)时,要求条带是矩形条带而不是光栅扫描条带(例如,pps_rect_slice_flag的值应当等于1)。
iv.在一个示例中,当每个图片仅包含一个片并且每个图片仅包含一个条带(例如,one_tile_per_pic_constraint_flag和one_slice_per_pic_constraint flag都等于1)时,不应当有图片分割(例如,pps_no_pic_partition_flag的值应当等于1)。
v.在一个示例中,当每个图片仅包含一个条带并且该条带是矩形条带(例如,one_slice_per_pic_constraint_flag和rect_slice_flag都等于1)时,则要求图片中的条带的数量等于1(例如,pps_num_slices_in_pic_minus1的值应当等于0)。
vi.在一个示例中,当每个图片仅包含一个子图片(例如,one_subpic_per_pic_constraint_flag等于1)时,它指定要求子图片的数量等于1(例如,sps_num_subpics_minus1应当等于0)。
c.一些GCI SE可以由其他GCI SE来约束。
i.在一个示例中,当all_layers_independent_constraint_flag等于1时,sps_inter_layer_ref_pics_present_flag的值应当等于0。
ii.当no_transform_skip_constraint_flag等于1时,no_bdpcm_constraint_flag的值应当等于1。
iii.当no_lmcs_constraint_flag或no_explicit_scaling_list_constraint_flag或no_ccalf_constraint_flag等于0时,no_aps_constraint_flag的值应当等于0。
d.intra_only_constraint_flag的定义考虑了每个编解码条带NAL单元的nuh_layer_type。
i.在一个示例中,intra_only_constraint_flag等于1指定sh_slice_type应当等于I,并且每个编解码条带NAL单元的nuh_layer_type应当为IDR_N_LP。
16.是否信令通知和/或如何信令通知/推导GCI SE的值可以依赖于档次和/或级别信息。
e.在一个示例中,GCI SE可以由档次和/或级别来约束。
i.例如,对于特定的档次和/或级别,可以要求GCI SE为特定值(例如,0或1)。
f.在一个示例中,可以根据档次和/或级别来有条件地信令通知GCI SE。
i.在一个示例中,当档次和/或级别不满足规则时,不信令通知GCI SE。
1.此外,可替代地,当不存在时,GCI SE可以被推断为值X(例如,X为0或1)。
2.此外,可替代地,当不存在时,GCI SE可以被推断为依赖于档次和/或级别的值。
17.关于用于解决第12个问题的SCALING APS的情况下的aps_chroma存在标志,公开了以下方法中的一种或多种:
g.可以分别针对亮度和色度信令通知缩放列表APS ID。
i.在一个示例中,可以在PH/SH中信令通知两个语法元素,以分别指定亮度和色度的缩放列表APS ID。
ii.在一个示例中,可以在PH/SH中信令通知三个语法元素,以分别指定每个色彩分量的缩放列表APS ID。
h.即使针对4:2:0和/或4:2:2和/或4:4:4色度格式,也可以不信令通知色度缩放列表。
i.此外,可替代地,默认缩放矩阵用于处理色度分量。
i.是否信令通知色度的缩放列表SE可以依赖于色度格式。
i.在一个示例中,对于4:0:0和/或单独色彩平面编解码,要求不信令通知色度缩放列表SE。
ii.在一个示例中,对于4:2:0和/或4:2:2和/或4:4:4编解码,可以信令通知或者可以不信令通知色度缩放列表SE。
6.实施例
以下是上面第5节中总结的发明方面中的一些方面的一些示例实施例,其可以被应用于VVC规范。改变后的文本基于JVET-Q2001-vC中的最新VVC文本。已经被添加或修改的最相关部分以粗体和斜体突出显示,并且被删除的部分中的一些用双括号标记(例如,[[a]]表示删除字符“a”)。
6.1.第一实施例
这是上面第5节中总结的第1、1.1、1.1.a、1.1.b和1.1.c项的实施例。
6.1.1.第2.1和2.1a项的实施例
在一个示例中,语法结构seq_parameter_set_rbsp()被改变如下:
Figure BDA0003956096920001751
Figure BDA0003956096920001761
Figure BDA0003956096920001771
Figure BDA0003956096920001781
Figure BDA0003956096920001791
Figure BDA0003956096920001801
Figure BDA0003956096920001811
gdr_enabled_flag等于1指定GDR图片可以存在于参考SPS的CLVS中。gdr_enabled_flag等于0指定GDR图片不存在于参考SPS的CLVS中。
Figure BDA0003956096920001812
chroma_format_idc指定相对于亮度采样的色度采样,如条款6.2所指定的。
Figure BDA0003956096920001813
Figure BDA0003956096920001814
res_change_in_clvs_allowed_flag等于1指定图片空域分辨率可以在参考SPS的CLVS内改变。res_change_in_clvs_allowed_flag等于0指定图片空域分辨率不在参考SPS的任何CLVS内改变。
Figure BDA0003956096920001821
Figure BDA0003956096920001822
bit_depth_minus8指定亮度和色度阵列的样点的比特深度BitDepth、以及亮度和色度量化参数范围偏移QpBdOffset的值如下:
BitDepth=8+bit_depth_minus8 (45)
QpBdOffset=6*bit_depth_minus8 (46)
bit_depth_minus8应当在0到[[8]]max_bitdepth_constraint_idc的范围(包括0和[[8]]max_bitdepth_constraint_idc)内。
Figure BDA0003956096920001823
Figure BDA0003956096920001824
sps_weighted_pred_flag等于1指定加权预测可以被应用于参考SPS的P条带。sps_weighted_pred_flag等于0指定加权预测不应用于参考SPS的P条带。
Figure BDA0003956096920001825
sps_weighted_bipred_flag等于1指定显式加权预测可以被应用于参考SPS的B条带。sps_weighted_bipred_flag等于0指定显式加权预测不应用于参考SPS的B条带。
Figure BDA0003956096920001826
Figure BDA0003956096920001827
long_term_ref_pics_flag等于0指定没有LTRP用于CLVS中的任何编解码图片的帧间预测。long_term_ref_pics_flag等于1指定LTRP可以用于CLVS中的一个或多个编解码图片的帧间预测。
Figure BDA0003956096920001828
Figure BDA0003956096920001829
inter_layer_ref_pics_present_flag等于0指定没有ILRP用于CLVS中的任何编解码图片的帧间预测。inter_layer_ref_pic_flag等于1指定ILRP可以用于CLVS中的一个或多个编解码图片的帧间预测。当sps_video_parameter_set_id等于0时,inter_layer_ref_pics_present_flag的值被推断为等于0。当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,inter_layer_ref_pics_present_flag的值应当等于0。
Figure BDA00039560969200018210
Figure BDA00039560969200018211
sps_idr_rpl_present_flag等于1指定参考图片列表语法元素存在于IDR图片的条带标头中。sps_idr_rpl_present_flag等于0指定参考图片列表语法元素不存在于IDR图片的条带标头中。
Figure BDA0003956096920001831
Figure BDA0003956096920001832
rpl1_same_as_rpl0_flag等于1指定不存在语法元素num_ref_pic_lists_in_sps[1]和语法结构ref_pic_list_struct(1,rplsIdx),并且以下适用:
-num_ref_pic_lists_in_sps[1]的值被推断为等于num_ref_pic_lists_in_sps[0]的值。
-ref_pic_list_struct(1,rplsIdx)中的每个语法元素的值被推断为等于ref_pic_list_struct(0,rplsIdx)中的对应语法元素的值,rplsIdx的范围为0到num_ref_pic_lists_in_sps[0]-1。
Figure BDA0003956096920001833
partition_constraints_override_enabled_flag等于1指定参考SPS的PH中的partition_constraints_override_flag的存在。partition_constraints_override_enabled_flag等于0指定参考SPS的PH中的partition_constraints_override_flag的缺失。
Figure BDA0003956096920001834
Figure BDA0003956096920001835
sps_sao_enabled_flag等于1指定样点自适应偏移过程在去方块滤波过程之后被应用于重构图片。sps_sao_enabled_flag等于0指定样点自适应偏移过程在去方块滤波过程之后不应用于重构图片。
Figure BDA0003956096920001836
Figure BDA0003956096920001837
sps_alf_enabled_flag等于0指定自适应环路滤波器被禁用。sps_alf_enabled_flag等于1指定自适应环路滤波器被启用。
Figure BDA0003956096920001838
Figure BDA0003956096920001839
sps_ccalf_enabled_flag等于0指定跨分量自适应环路滤波器被禁用。sps_ccalf_enabled_flag等于1指定跨分量自适应环路滤波器可以被启用。
Figure BDA00039560969200018310
Figure BDA00039560969200018311
sps_transform_skip_enabled_flag等于1指定transform_skip_flag可以存在于变换单元语法中。sps_transform_skip_enabled_flag等于0指定transform_skip_flag不存在于变换单元语法中。
Figure BDA00039560969200018312
Figure BDA00039560969200018313
sps_ref_wraparound_enabled_flag等于1指定在帧间预测中应用水平环绕运动补偿。sps_ref_wraparound_enabled_flag等于0指定不应用水平环绕运动补偿。
Figure BDA0003956096920001841
当(CtbSizeY/MinCbSizeY+1)的值大于(pic_width_in_luma_samples/MinCbSizeY-1)时,其中pic_width_in_luma_samples是参考SPS的任何PPS中的pic_width_in_luma_samples的值,sps_ref_wraparound_enabled_flag的值应当等于0。
sps_temporal_mvp_enabled_flag等于1指定时域运动矢量预测值可以用于CLVS中。sps_temporal_mvp_enabled_flag等于0指定时域运动矢量预测值不用于CLVS中。
Figure BDA0003956096920001842
Figure BDA0003956096920001843
sps_amvr_enabled_flag等于1指定自适应运动矢量差分辨率用于运动矢量编解码。amvr_enabled_flag等于0指定自适应运动矢量差分辨率不用于运动矢量编解码。
Figure BDA0003956096920001844
sps_bdof_enabled_flag等于0指定双向光流帧间预测被禁用。sps_bdof_enabled_flag等于1指定双向光流帧间预测被启用。
Figure BDA0003956096920001845
Figure BDA0003956096920001846
sps_dmvr_enabled_flag等于1指定基于解码器运动矢量细化的帧间双向预测被启用。sps_dmvr_enabled_flag等于0指定基于解码器运动矢量细化的帧间双向预测被禁用。
Figure BDA0003956096920001847
Figure BDA0003956096920001848
sps_mts_enabled_flag等于1指定sps_explicit_mts_intra_enabled_flag存在于序列参数集RBSP语法中,并且sps_explicit_mts_inter_enabled_flag存在于序列参数集RBSP语法中。sps_mts_enabled_flag等于0指定sps_explicit_mts_intra_enabled_flag不存在于序列参数集RBSP语法中,并且sps_explicit_mts_inter_enabled_flag不存在于序列参数集RBSP语法中。
Figure BDA0003956096920001849
Figure BDA00039560969200018410
sps_sbt_enabled_flag等于0指定用于帧间预测CU的子块变换被禁用。sps_sbt_enabled_flag等于1指定用于帧间预测CU的子块变换被启用。
Figure BDA00039560969200018411
Figure BDA00039560969200018412
sps_affine_enabled_flag指定基于仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_enabled_flag等于0,则语法应当被约束,使得没有基于仿射模型的运动补偿用于CLVS中,并且inter_affine_flag和cu_affine_type_flag不存在于CLVS的编解码单元语法中。否则(sps_affine_enabled_flag等于1),基于仿射模型的运动补偿可以用于CLVS中。
Figure BDA0003956096920001851
sps_bcw_enabled_flag指定利用CU权重的双向预测是否可以用于帧间预测。如果sps_bcw_enabled_flag等于0,则语法应当被约束,使得利用CU权重的双向预测不用于CLVS中,并且bcw_idx不存在于CLVS的编解码单元语法中。否则(sps_bcw_enabled_flag等于1),利用CU权重的双向预测可以用于CLVS中。
Figure BDA0003956096920001852
sps_ciip_enabled_flag指定ciip_flag可以存在于帧间编解码单元的编解码单元语法中。sps_ciip_enabled_flag等于0指定ciip_flag不存在于帧间编解码单元的编解码单元语法中。
Figure BDA0003956096920001853
Figure BDA0003956096920001854
sps_fpel_mmvd_enabled_flag等于1指定利用运动矢量差的Merge模式使用整数样点精度。sps_fpel_mmvd_enabled_flag等于0指定利用运动矢量差的Merge模式可以使用分数样点精度。
Figure BDA0003956096920001855
Figure BDA0003956096920001856
sps_lmcs_enabled_flag等于1指定亮度映射与色度缩放用于CLVS中。sps_lmcs_enabled_flag等于0指定亮度映射与色度缩放不用于CLVS中。
Figure BDA0003956096920001857
Figure BDA0003956096920001858
sps_lfnst_enabled_flag等于1指定lfnst_idx可以存在于帧内编解码单元语法中。sps_lfnst_enabled_flag等于0指定lfnst_idx不存在于帧内编解码单元语法中。
sps_ladf_enabled_flag等于1指定sps_num_ladf_intervals_minus2、sps_ladf_lowest_interval_qp_offset、sps_ladf_qp_offset[i]和sps_ladf_delta_threshold_minus1[i]存在于SPS中。
Figure BDA0003956096920001859
Figure BDA00039560969200018510
sps_scaling_list_enabled_flag等于1指定缩放列表用于变换系数的缩放过程。sps_scaling_list_enabled_flag等于0指定缩放列表不用于变换系数的缩放过程。
Figure BDA00039560969200018511
sps_dep_quant_enabled_flag等于0指定对参考SPS的图片禁用依赖量化。sps_dep_quant_enabled_flag等于1指定可以对参考SPS的图片启用依赖量化。
Figure BDA0003956096920001861
6.1.2.第2.1和2.1b项的实施例
在一个示例中,语法结构picture_header_structure()被改变如下:
Figure BDA0003956096920001862
6.1.3.第2.1和2.1c项的实施例
在一个示例中,语法结构slice_header()被改变如下:
Figure BDA0003956096920001863
Figure BDA0003956096920001871
6.2.第二实施例
这是上面第5节中总结的第3和3.1项的实施例。
在一个示例中,通用约束信息语义被改变如下:
intra_only_constraint_flag等于1指定slice_type应当等于I。intra_only_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001872
one_slice_per_pic_constraint_flag等于1指定每个图片应当仅包含一个条带。one_slice_per_pic_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001873
one_tile_per_pic_constraint_flag等于1指定每个图片应当仅包含一个片。one_tile_per_pic_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001874
6.3.第三实施例
这是上面第5节中总结的第4、4.1、4.1.a、4.1.b和4.1.c项的实施例。
6.3.1.第4.1和4.1a项的实施例
在一个示例中,语法结构general_constraint_info()被改变如下:
Figure BDA0003956096920001881
Figure BDA0003956096920001891
6.3.2.第4.1和4.1b项的实施例
在一个示例中,通用约束信息语义被改变如下:
intra_only_constraint_flag等于1指定slice_type应当等于I。intra_only_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001892
Figure BDA0003956096920001901
no_transform_skip_constraint_flag等于1指定sps_transform_skip_enabled_flag应当等于0。no_transform_skip_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001902
Figure BDA0003956096920001903
no_aps_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元。no_aps_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001904
Figure BDA0003956096920001905
6.3.3.第4.1和4.1c项的实施例
在一个示例中,通用约束信息语义被改变如下:
max_bitdepth_constraint_idc指定bit_depth_minus8应当在0到max_bitdepth_constraint_idc的范围(包括0和max_bitdepth_constraint_idc)内。
Figure BDA0003956096920001906
no_gdr_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于GDR_NUT的NAL单元。no_gdr_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001907
6.4.第四实施例
这是上面第5节中总结的第5和5.a项的实施例。
在一个示例中,语法结构seq_parameter_set_rbsp()被改变如下:
Figure BDA0003956096920001911
Figure BDA0003956096920001912
并且语法结构pic_parameter_set_rbsp()被改变如下:
Figure BDA0003956096920001913
并且图片参数集RBSP语义被改变如下:
...
Figure BDA0003956096920001921
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和14)内。
Figure BDA0003956096920001922
Figure BDA0003956096920001923
rpl1_idx_present_flag等于0指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]不存在于PH语法结构或参考PPS的图片的条带标头中。rpl1_idx_present_flag等于1指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]可以存在于PH语法结构或参考PPS的图片的条带标头中。
Figure BDA0003956096920001924
Figure BDA0003956096920001925
...
并且语法结构picture_header_structure()被改变如下:
Figure BDA0003956096920001926
ph_inter_slice_allowed_flag等于0指定图片的所有编解码条带具有等于2的slice_type。ph_inter_slice_allowed_flag等于1指定图片中可以有或者可以没有具有等于0或1的slice_type的一个或多个编解码条带。
Figure BDA0003956096920001931
Figure BDA0003956096920001932
并且语法结构slice_header()被改变如下:
Figure BDA0003956096920001933
6.5.第五实施例
这是上面第5节中总结的第6和6.1项的实施例。
在一个示例中,语法结构seq_parameter_set_rbsp()被改变如下:
Figure BDA0003956096920001934
Figure BDA0003956096920001941
Figure BDA0003956096920001951
sps_entropy_coding_sync_enabled_flag等于1指定在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之前调用上下文变量的特定同步过程,并且在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之后调用上下文变量的特定存储过程。sps_entropy_coding_sync_enabled_flag等于0指定在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之前,不需要调用上下文变量的特定同步过程,并且在解码包括参考SPS的每个图片中的每个片中的一行CTB中的第一个CTB的CTU之后,不需要调用上下文变量的特定存储过程。
Figure BDA0003956096920001952
Figure BDA0003956096920001953
sps_wpp_entry_point_offsets_present_flag等于1指定当sps_entropy_coding_sync_enabled_flag等于1时,用于CTU行的入口点偏移的信令可以存在于参考SPS的图片的条带标头中。sps_wpp_entry_point_offsets_present_flag等于0指定用于CTU行的入口点偏移的信令不存在于参考SPS的图片的条带标头中。当不存在时,sps_wpp_entry_point_offsets_present_flag的值被推断为等于0。
Figure BDA0003956096920001954
Figure BDA0003956096920001955
sps_weighted_pred_flag等于1指定加权预测可以被应用于参考SPS的P条带。sps_weighted_pred_flag等于0指定加权预测不应用于参考SPS的P条带。
Figure BDA0003956096920001956
sps_weighted_bipred_flag等于1指定显式加权预测可以被应用于参考SPS的B条带。sps_weighted_bipred_flag等于0指定显式加权预测不应用于参考SPS的B条带。
Figure BDA0003956096920001957
Figure BDA0003956096920001958
long_term_ref_pics_flag等于0指定没有LTRP用于CLVS中的任何编解码图片的帧间预测。long_term_ref_pics_flag等于1指定LTRP可以用于CLVS中的一个或多个编解码图片的帧间预测。
Figure BDA0003956096920001961
Figure BDA0003956096920001962
inter_layer_ref_pics_present_flag等于0指定没有ILRP用于CLVS中的任何编解码图片的帧间预测。inter_layer_ref_pic_flag等于1指定ILRP可以用于CLVS中的一个或多个编解码图片的帧间预测。当sps_video_parameter_set_id等于0时,inter_layer_ref_pics_present_flag的值被推断为等于0。当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,inter_layer_ref_pics_present_flag的值应当等于0。
Figure BDA0003956096920001963
Figure BDA0003956096920001964
sps_max_luma_transform_size_64_flag等于1指定亮度样点中的最大变换尺寸等于64。sps_max_luma_transform_size_64_flag等于0指定亮度样点中的最大变换尺寸等于32。
Figure BDA0003956096920001965
Figure BDA0003956096920001966
sps_smvd_enabled_flag等于1指定对称运动矢量差可以用于运动矢量解码。sps_smvd_enabled_flag等于0指定对称运动矢量差不用于运动矢量编解码。
Figure BDA0003956096920001967
sps_mmvd_enabled_flag等于1指定利用运动矢量差的Merge模式被启用。sps_mmvd_enabled_flag等于0指定利用运动矢量差的Merge模式被禁用。
Figure BDA0003956096920001968
sps_isp_enabled_flag等于1指定利用子分割的帧内预测被启用。sps_isp_enabled_flag等于0指定利用子分割的帧内预测被禁用。
Figure BDA0003956096920001969
Figure BDA00039560969200019610
sps_mrl_enabled_flag等于1指定利用多个参考线的帧内预测被启用。sps_mrl_enabled_flag等于0指定利用多个参考线的帧内预测被禁用。
Figure BDA00039560969200019611
Figure BDA00039560969200019612
sps_mip_enabled_flag等于1指定基于矩阵的帧内预测被启用。sps_mip_enabled_flag等于0指定基于矩阵的帧内预测被禁用。
Figure BDA00039560969200019613
Figure BDA00039560969200019614
sps_palette_enabled_flag等于1指定pred_mode_plt_flag可以存在于编解码单元语法中。sps_palette_enabled_flag等于0指定pred_mode_plt_flag不存在于编解码单元语法中。当sps_palette_enabled_flag不存在时,其被推断为等于0。
Figure BDA0003956096920001971
sps_act_enabled_flag等于1指定可以使用自适应色彩变换,并且cu_act_enabled_flag可以存在于编解码单元语法中。sps_act_enabled_flag等于0指定不使用自适应色彩变换,并且cu_act_enabled_flag不存在于编解码单元语法中。当sps_act_enabled_flag不存在时,其被推断为等于0。
Figure BDA0003956096920001972
Figure BDA0003956096920001973
sps_lmcs_enabled_flag等于1指定亮度映射与色度缩放用于CLVS中。sps_lmcs_enabled_flag等于0指定亮度映射与色度缩放不用于CLVS中。
Figure BDA0003956096920001974
Figure BDA0003956096920001975
sps_lfnst_enabled_flag等于1指定lfnst_idx可以存在于帧内编解码单元语法中。sps_lfnst_enabled_flag等于0指定lfnst_idx不存在于帧内编解码单元语法中。
Figure BDA0003956096920001976
log2_parallel_merge_level_minus2加2指定变量Log2ParMrgLevel的值,其用于如条款8.5.2.3所指定的空域Merge候选的推导过程、如条款8.5.5.2所指定的子块Merge模式中运动矢量和参考索引的推导过程,并控制条款8.5.2.1中基于历史的运动矢量预测值列表的更新过程的调用。log2_parallel_merge_level_minus2的值应当在0到CtbLog2SizeY-2的范围(包括0和CtbLog2SizeY-2)内。变量Log2ParMrgLevel被推导如下:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (68)
Figure BDA0003956096920001977
sps_scaling_list_enabled_flag等于1指定缩放列表用于变换系数的缩放过程。sps_scaling_list_enabled_flag等于0指定缩放列表不用于变换系数的缩放过程。
Figure BDA0003956096920001978
sps_virtual_boundaries_present_flag等于1指定在SPS中信令通知虚拟边界的信息。sps_virtual_boundaries_present_flag等于0指定在SPS中不信令通知虚拟边界的信息。当在SPS中信令通知一个或多于一个虚拟边界时,跨参考SPS的图片中的虚拟边界禁用环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。
Figure BDA0003956096920001979
Figure BDA00039560969200019710
并且语法结构general_constraint_info()被改变如下:
Figure BDA0003956096920001981
Figure BDA0003956096920001991
intra_only_constraint_flag等于1指定slice_type应当等于I。intra_only_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920001992
Figure BDA0003956096920002001
Figure BDA0003956096920002011
6.6.第六实施例
这是上面第5节中总结的第7、7.1、7.2.c和7.2.d项的实施例。
6.6.1.第7.1和7.2.c项的实施例
在一个示例中,语法结构adaptation_parameter_set_rbsp()被改变如下:
Figure BDA0003956096920002021
aps_seq_parameter_set_id指定APS的sps_seq_parameter_set_id的值。aps_seq_parameter_set_id的值应当在0到15的范围(包括0和15)内。aps_seq_parameter_set_id的值在CLVS中的编解码图片所参考的所有APS中应当是相同的。
并且自适应环路滤波器数据的语义被改变如下:
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。
Figure BDA0003956096920002022
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
6.6.2.第7.2.d项的实施例
在一个示例中,自适应环路滤波器数据的语义被改变如下:
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。
Figure BDA0003956096920002031
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
6.7.第七实施例
以下是上面第5节中总结的发明方面中的一些方面的一些示例实施例,其可以被应用于VVC规范。改变后的文本基于JVET-Q2001-vE中的最新VVC文本。已经被添加或修改的最相关部分以粗体和斜体突出显示,并且被删除的部分中的一些用双括号标记(例如,[[a]]表示删除字符“a”)。
7.3.2.5自适应参数集RBSP语法
Figure BDA0003956096920002032
aps_chroma_params_present_flag等于1指定APS NAL单元可以包括色度信息。aps_chroma_params_present_flag等于0指定APS NAL单元不包括色度信息。
7.3.2.19自适应环路滤波器数据语法
Figure BDA0003956096920002033
Figure BDA0003956096920002041
7.3.2.20亮度映射与色度缩放数据语法
Figure BDA0003956096920002042
7.3.2.21缩放列表数据语法
Figure BDA0003956096920002051
PH语义被改变如下:
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003956096920002061
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。
Figure BDA0003956096920002062
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。
Figure BDA0003956096920002063
SH语义被改变如下:
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
Figure BDA0003956096920002071
ALF数据语义被改变如下:
..
alf_luma_filter_signal_flag等于1指定信令通知亮度滤波器集。alf_luma_filter_signal_flag等于0指定不信令通知亮度滤波器集。
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。
Figure BDA0003956096920002072
Figure BDA0003956096920002073
[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
alf_cc_cb_filter_signal_flag等于1指定信令通知Cb色彩分量的跨分量滤波器。alf_cc_cb_filter_signal_flag等于0指定不信令通知Cb色彩分量的跨分量滤波器。
Figure BDA0003956096920002074
[[当ChromaArrayType等于0时,alf_cc_cb_filter_signal_flag应当等于0。]]
alf_cc_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。
Figure BDA0003956096920002075
[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
SCALING数据语义被改变如下:
[[scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。]]
6.8.第八实施例
以下是上面第5节中总结的发明方面中的一些方面的一些示例实施例,其可以被应用于VVC规范。改变后的文本基于JVET-Q2001-vE中的最新VVC文本。已经被添加或修改的最相关部分是粗体和斜体,并且被删除的部分中的一些用双括号标记(例如,[[a]]表示删除字符“a”)。
Figure BDA0003956096920002081
Figure BDA0003956096920002082
Figure BDA0003956096920002091
Figure BDA0003956096920002092
Figure BDA0003956096920002093
7.4.3.1图片标头结构语义
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
Figure BDA0003956096920002094
–具有等于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。
Figure BDA0003956096920002095
ph_alf_aps_id_chroma指定与PH相关联的条带的色度分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003956096920002101
–具有等于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。
Figure BDA0003956096920002102
ph_cc_alf_cb_aps_id指定与PH相关联的条带的Cb色彩分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003956096920002103
–具有等于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。
Figure BDA0003956096920002104
ph_cc_alf_cr_aps_id指定与PH相关联的条带的Cr色彩分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003956096920002111
–具有等于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。
Figure BDA0003956096920002112
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。
Figure BDA0003956096920002113
–具有等于LMCS_APS的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003956096920002114
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。
Figure BDA0003956096920002115
–具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003956096920002116
Figure BDA0003956096920002121
7.3.7.1通用条带标头语义
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
Figure BDA0003956096920002122
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
Figure BDA0003956096920002123
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
Figure BDA0003956096920002124
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
Figure BDA0003956096920002131
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
Figure BDA0003956096920002132
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应该小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
Figure BDA0003956096920002133
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
Figure BDA0003956096920002134
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应该小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
Figure BDA0003956096920002141
7.4.3.19自适应环路滤波器数据语义
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。当[[ChromaArrayType等于0]]
Figure BDA0003956096920002142
时,alf_chroma_filter_signal_flag
Figure BDA0003956096920002143
[[应当]]等于0。
alf_cc_cb_filter_signal_flag等于1指定信令通知Cb色彩分量的跨分量滤波器。alf_cc_cb_filter_signal_flag等于0指定不信令通知Cb色彩分量的跨分量滤波器。当[[ChromaArrayType等于0]]
Figure BDA0003956096920002144
时,alf_cc_cb_filter_signal_flag
Figure BDA0003956096920002145
[[应当]]等于0。
alf_cc_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。当[[ChromaArrayType等于0]]
Figure BDA0003956096920002146
时,alf_cc_cr_filter_signal_flag
Figure BDA0003956096920002147
[[应当]]等于0。
7.4.3.21缩放列表数据语义
[[scaling_list]]aps_chroma_present_flag等于1指定
Figure BDA0003956096920002148
缩放列表
Figure BDA0003956096920002149
色度
Figure BDA00039560969200021410
存在于
Figure BDA00039560969200021411
scaling_list_data()中。[[scaling_list]]aps_chroma_present_flag等于0指定
Figure BDA00039560969200021412
缩放列表
Figure BDA00039560969200021413
色度
Figure BDA00039560969200021414
不分别存在于alf_data、lmcs_data和scaling_list_data()中。[[比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。]]
6.1.第九实施例
以下是上面第5节中总结的发明方面中的一些方面的一些示例实施例,其可以被应用于VVC规范。改变后的文本基于JVET-R2001-vA中的最新VVC文本。已经被添加或修改的最相关部分以粗体和斜体突出显示,并且被删除的部分中的一些用双括号标记(例如,[[a]]表示删除字符“a”)。
7.3.3档次、层和级别语法
7.3.3.1通用档次、层和级别语法
Figure BDA0003956096920002151
Figure BDA0003956096920002152
Figure BDA0003956096920002161
7.3.3.2通用约束信息语法
Figure BDA0003956096920002162
Figure BDA0003956096920002171
Figure BDA0003956096920002181
7.4.4.2通用约束信息语义
intra_only_constraint_flag等于1指定sh_slice_type应当等于I,
Figure BDA0003956096920002182
Figure BDA0003956096920002183
intra_only_constraint_flag等于0不施加这样的约束。当general_one_picture_only_constraint_flag等于1时,intra_only_constraint_flag的值应当等于1。
Figure BDA0003956096920002184
Figure BDA0003956096920002185
max_bitdepth_constraint_idc指定sps_bit_depth_minus8应当在0到max_bitdepth_constraint_idc的范围(包括0和max_bitdepth_constraint_idc)内。
Figure BDA0003956096920002186
max_chroma_format_constraint_idc指定sps_chroma_format_idc应当在0到max_chroma_format_constraint_idc的范围(包括0和max_chroma_format_constraint_idc)内。
single_layer_constraint_flag等于1指定sps_video_parameter_set_id应当等于0。single_layer_constraint_flag等于0不施加这样的约束。当general_one_picture_only_constraint_flag等于1时,single_layer_constraint_flag的值应当等于1。
all_layers_independent_constraint_flag等于1指定vps_all_independent_layers_flag应当等于1。all_layers_independent_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002187
Figure BDA0003956096920002188
no_ref_pic_resampling_constraint_flag等于1指定sps_ref_pic_resampling_enabled_flag应当等于0。no_ref_pic_resampling_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002191
Figure BDA0003956096920002192
no_res_change_in_clvs_constraint_flag等于1指定sps_res_change_in_clvs_allowed_flag应当等于0。no_res_change_in_clvs_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002193
Figure BDA0003956096920002194
one_tile_per_pic_constraint_flag等于1指定每个图片应当仅包含一个片,
Figure BDA0003956096920002195
one_tile_per_pic_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002196
Figure BDA0003956096920002197
pic_header_in_slice_header_constraint_flag等于1指定每个图片应当仅包含一个条带,并且每个条带中的sh_picture_header_in_slice_header_flag的值应当等于1。pic_header_in_slice_header_constraint_flag等于0不施加这样的约束。
one_slice_per_pic_constraint_flag等于1指定每个图片应当仅包含一个条带,
Figure BDA0003956096920002198
Figure BDA0003956096920002199
Figure BDA00039560969200021910
one_slice_per_pic_constraint_flag等于0不施加这样的约束。
Figure BDA00039560969200021911
Figure BDA00039560969200021912
当pic_header_in_slice_header_constraint_flag等于1时,one_slice_per_pic_constraint_flag的值应当等于1。
one_subpic_per_pic_constraint_flag等于1指定[[每个图片应当仅包含一个子图片]]
Figure BDA00039560969200021913
one_subpic_per_pic_constraint_flag等于0不施加这样的约束。当one_slice_per_pic_constraint_flag等于1时,one_subpic_per_pic_constraint_flag的值应当等于1。
Figure BDA0003956096920002201
no_sbt_constraint_flag等于1指定sps_sbt_enabled_flag应当等于0。no_sbt_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002202
Figure BDA0003956096920002203
no_transform_skip_constraint_flag等于1指定sps_transform_skip_enabled_flag应当等于0。no_transform_skip_constraint_flag等于0不施加这样的约束。
no_bdpcm_constraint_flag等于1指定sps_bdpcm_enabled_flag应当等于0。no_bdpcm_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002204
Figure BDA0003956096920002205
no_palette_constraint_flag等于1指定sps_palette_enabled_flag应当等于0。no_palette_constraint_flag等于0不施加这样的约束。
no_act_constraint_flag等于1指定sps_act_enabled_flag应当等于0。no_act_constraint_flag等于0不施加这样的约束。
no_lmcs_constraint_flag等于1指定sps_lmcs_enabled_flag应当等于0。no_lmcs_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002206
no_cu_qp_delta_constraint_flag等于1指定pps_cu_qp_delta_enabled_flag应当等于0。no_cu_qp_delta_constraint_flag等于0不施加这样的约束。
no_chroma_qp_offset_constraint_flag等于1指定pps_cu_qp_delta_enabled_flag应当等于0。no_chroma_qp_offset_constraint_flag等于0不施加这样的约束。
no_dep_quant_constraint_flag等于1指定sps_dep_quant_enabled_flag应当等于0。no_dep_quant_constraint_flag等于0不施加这样的约束。
no_sign_data_hiding_constraint_flag等于1指定sps_sign_data_hiding_enabled_flag应当等于0。no_sign_data_hiding_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002211
no_idr_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于IDR_W_RADL或IDR_N_LP的NAL单元。no_idr_constraint_flag等于0不施加这样的约束。
no_cra_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于CRA_NUT的NAL单元。no_cra_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002212
no_gdr_constraint_flag等于1指定sps_gdr_enabled_flag应当等于0。no_gdr_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002213
Figure BDA0003956096920002214
no_aps_constraint_flag等于1指定在OlsInScope中不应当存在nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元,并且sps_lmcs_enabled_flag、sps_explicit_scaling_list_enabled_flag、
Figure BDA0003956096920002215
Figure BDA0003956096920002221
应当都等于0。no_aps_constraint_flag等于0不施加这样的约束。
Figure BDA0003956096920002222
Figure BDA0003956096920002223
[[gci_alignment_zero_bits应当等于0。]]
gci_num_reserved_b[[ytes]]its指定保留约束[[字节]]
Figure BDA0003956096920002224
的数量。gci_num_reserved_b[[ytes]]its的值应当为0。gci_num_reserved_b[[ytes]]its的其他值被保留以供ITU-T|ISO/IEC将来使用,并且不应当存在于符合本规范的该版本的比特流中。
gci_reserved_b[[yte]]it[i]可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有gci_reserved_b[[yte]]it[i]语法元素的值。
图1是示出可以在其中实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以将来自输入1902的视频的平均比特率减小到编解码组件1904的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由如组件1906所表示的通信连接来发送。在输入1902处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件1908用于生成像素值或传送到显示接口1910的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)、或高清晰度多媒体接口(HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图2是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路系统中实施本文档中描述的一些技术。
图4是示出可以利用本公开的技术的示例视频编解码系统100的框图。
如图4所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,其中该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,其中该目标设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以通过网络130a经由I/O接口116直接发送到目标设备120。编码视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
目标设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目标设备120集成,或者可以在被配置为与外部显示设备接口的目标设备120的外部。
视频编码器114和视频解码器124可以根据视频压缩标准进行操作,例如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或另外的标准。
图5是示出视频编码器200的示例的框图,该视频编码器200可以是图4所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图5的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲区213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以执行IBC模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是出于解释的目的,在图5的示例中被单独表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以基于误差结果选择编解码模式(例如,帧内或帧间)之一,并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(CIIP),其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元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)和Merge模式信令通知。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能没有残差数据,并且残差生成单元207可能不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构后的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于存储在缓冲区213中。
在重构单元212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块效应。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
图6是示出视频解码器300的示例的框图,该视频解码器300可以是图4所示的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图6的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图5)描述的编码过程相反的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,即,反量化。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以便移除块效应。解码视频块然后被存储在缓冲区307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
解决方案的列表描述了所公开的技术的一些实施例。
接下来提供第一解决方案集合。以下解决方案示出了在前一节(例如,第1项)中讨论的技术的示例实施例。
1.一种视频处理方法(例如,图3中描绘的方法300),包括:执行具有一个或多个图片的视频和视频的编解码表示之间的转换(302),其中一个或多个图片中的每一个恰好包括一个条带;其中编解码表示符合格式规则;其中格式规则指定编解码表示中指示编解码表示符合的档次、层和级别的第一字段包括第二字段,其中该第二字段指示信令通知在转换期间观察到的各种约束的语法结构是否存在于第一字段中。
2.根据解决方案1所述的方法,其中,语法结构包括general_constraint_info()语法结构。
3.根据解决方案1-2中任一项所述的方法,其中,第一字段包括档次层级别(PTL)语法结构。
4.根据解决方案1-3中任一项所述的方法,其中,第二字段是单比特标志。
以下解决方案示出了在前一节(例如,第2项)中讨论的技术的示例实施例。
5.一种视频处理的方法,包括:执行包括一个或多个图片和一个或多个条带的视频与视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定编解码表示中第一级别的一个或多个约束标志的值控制条带标头(SH)级别的序列参数集(SPS)级别或图片标头(PH)级别的一个或多个语法元素的出现。
6.根据解决方案5所述的方法,其中,当且仅当max_chroma_format_constraint_idc不等于第一级别的特定值时,格式规则指定包括SPS级别的语法元素。
7.根据解决方案6所述的方法,其中,SPS级别的语法元素包括色度格式IDC语法元素。
8.根据解决方案5所述的方法,其中,当且仅当针对特定值设置通用约束标志时,格式规则指定包括PH级别的语法元素。
9.根据解决方案5所述的方法,其中,当且仅当针对特定值设置通用约束标志时,格式规则指定包括SH级别的语法元素。
以下解决方案示出了在前一节(例如,第3项)中讨论的技术的示例实施例。
10.一种视频处理的方法,包括:执行包括一个或多个图片和一个或多个条带的视频与视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定编解码表示中第一级别的一个或多个约束标志的值约束图片参数集(PPS)级别的一个或多个语法元素的值。
11.根据解决方案10所述的方法,其中,第一级别的一个或多个约束标志包括指示每个图片存在单个片的标志,并且其中格式规则指定指示片行的数量和片列的数量的字段在PPS级别具有零值。
以下解决方案示出了在前一节(例如,第4项)中讨论的技术的示例实施例。
12.根据先前或后续解决方案中任一项所述的方法,其中,第一字段中的第一语法部分控制第一字段中的第二语法部分的值和/或出现。
13.根据解决方案12所述的方法,其中,当且仅当第一语法部分指示预先指定的值时,第二语法部分存在于第一字段中。
14.根据解决方案13所述的方法,其中,第一语法部分包括one_slice_per_pic_constraint_flag,并且其中格式规则指定当one_subpic_per_pic_constraint_flag等于0时,one_subpic_per_pic_constraint_flag从编解码表示中省略。
以下解决方案示出了在前一节(例如,第7项)中讨论的技术的示例实施例。
15.一种视频处理的方法,包括:执行包括一个或多个图片和一个或多个条带的视频与视频的编解码表示之间的转换,其中编解码表示符合指定编解码表示包括自适应参数集的格式规则,其中该自适应参数集包括视频参数集和/或序列参数集和/或图片参数集的标识符的语法元素。
16.根据解决方案15所述的方法,其中,格式规则指定一个或多个约束标志控制自适应参数集中的一个或多个语法元素的值和/或出现。
17.根据解决方案16所述的方法,自适应参数集中的一个或多个语法元素包括alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag或alf_cc_cr_filter_signal_flag中的一个或多个。
18.根据解决方案16所述的方法,其中,一个或多个约束标志被包括在由对应标识符标识的序列参数集或图片参数集中。
以下解决方案示出了在前一节(例如,第8项)中讨论的技术的示例实施例。
19.一种视频处理的方法,包括:执行包括一个或多个图片和一个或多个条带的视频与视频的编解码表示之间的转换,其中编解码表示符合指定包括适用于转换的一个或多个通用约束标志的格式规则;其中一个或多个通用约束标志指示编解码表示中包括的通用约束信息对转换的应用性。
20.根据解决方案19所述的方法,其中,通用约束信息的应用性针对通用约束信息适用的档次、级别或层来指示。
21.根据解决方案19所述的方法,其中,格式规则指定通用约束信息被包括在序列参数集中。
22.根据解决方案1所述的方法,其中,格式规则指定通用约束信息被包括在视频参数集中。
以下解决方案示出了在前一节(例如,第9项)中讨论的技术的示例实施例。
23.一种视频处理的方法,包括:执行视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定编解码表示基于视频的特性或转换有条件地包括携带通用约束信息的通用约束结构。
24.根据解决方案23所述的方法,其中,视频的特性或转换包括用于转换的档次或级别或层或子档次。
25.根据解决方案23-24所述的方法,其中,格式规则指定通用约束结构被包括在通用约束信息适用的档次层级别语法结构中。
26.根据解决方案23-25中任一项所述的方法,其中,通用约束信息指示至少一些编解码工具和编解码工具适用的对应档次或级别之间的关系。
27.根据解决方案23-26中任一项所述的方法,其中,格式规则指定省略特定档次和/或特定子档次和/或特定级别和/或特定层的通用约束结构。
28.根据解决方案23-27中任一项所述的方法,其中,由于在档次或子档次中使用全帧内编解码,格式规则指定将仅帧内约束标志设置为1。
29.一种视频处理方法,包括:执行视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定包括指示一个或多个第二语法元素是否被包括在编解码表示中的档次、层、级别信息字段或编解码表示中的通用约束字段中的第一语法元素。
30.根据解决方案29所述的方法,其中,第一语法元素信令通知一个或多个第二语法元素不包括在编解码表示中。
31.一种视频处理方法,包括:执行视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定指示通用约束的语法字段根据用于转换的档次或级别而被选择性地包括在编解码表示中。
32.根据解决方案31所述的方法,其中,格式规则还指定语法字段的允许值由档次或级别来约束。
33.根据解决方案1至32中任一项所述的方法,其中,该转换包括将视频编码为编解码表示。
34.根据解决方案1至32中任一项所述的方法,其中,该转换包括对编解码表示进行解码以生成视频的像素值。
35.一种视频解码装置,包括被配置为实施根据解决方案1至34中的一项或多项所述的方法的处理器。
36.一种视频编码装置,包括被配置为实施根据解决方案1至34中的一项或多项所述的方法的处理器。
37.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实施根据解决方案1至34中任一项所述的方法。
38.一种本文档中描述的方法、装置或系统。
第二解决方案集合示出了在前一节(例如,第14a项)中讨论的技术的示例实施例。
1.一种视频处理的方法(例如,如图7所示的方法700),包括:根据规则来执行视频和视频的比特流之间的转换702,并且其中该规则指定语法元素被包括在档次、层、级别信息语法结构中以指示一个或多个通用约束信息语法元素是否被包括在通用约束信息语法结构中和/或通用约束信息语法结构是否被包括在档次、层、级别信息语法结构中。
2.根据解决方案1所述的方法,其中,一个或多个通用约束信息语法元素是否存在以语法元素的值为条件。
3.根据解决方案1所述的方法,其中,该规则指定,响应于语法元素指定通用约束信息不存在,通用约束信息语法结构不包括在档次、层、级别信息语法结构中。
4.根据解决方案3所述的方法,其中,指定通用约束信息不存在的语法元素的值等于0。
5.根据解决方案1所述的方法,其中,该规则指定,在通用约束信息语法结构不存在于档次、层、级别语法结构中,或者一个或多个通用约束信息语法元素不存在于通用约束信息语法结构中的情况下,一个或多个通用约束信息语法元素中的每一个被推断为使得不施加对应约束的值。
6.根据解决方案5所述的方法,其中,该值为0。
7.根据解决方案1所述的方法,其中,该规则指定,在语法元素对于存在的档次、层、级别信息语法结构具有特定值的情况下,将指定对样点的最大比特深度指示的比特流一致性的要求的第一通用约束信息语法元素的值推断为等于8。
8.根据解决方案7所述的方法,其中,该规则指定,在语法元素对于存在的档次、层、级别信息语法结构具有特定值的情况下,将指定对最大色度格式指示的比特流一致性的要求的第二通用约束信息语法元素的值推断为等于3。
9.根据解决方案8所述的方法,其中,该规则指定,在语法元素对于存在的档次、层、级别信息语法结构具有特定值的情况下,将一些通用约束信息语法元素的值推断为等于0。
10.根据解决方案9所述的方法,其中,一些通用约束信息语法元素是通用约束信息语法结构中包括的除了第一通用约束信息语法元素和第二通用约束信息语法元素之外的语法元素。
11.根据解决方案10所述的方法,其中,一些通用约束信息语法元素被包括在通用约束信息语法结构中,使得一些通用约束信息语法元素从指定帧封装布置SEI消息、分段矩形帧封装布置SEI消息、等矩形投影SEI消息或立方体投影SEI消息的存在的第三通用约束信息语法元素到指定对没有网络抽象层(NAL)单元类型APS_NUT的NAL单元存在于比特流中的比特流一致性的要求的第四通用约束信息语法元素。
12.根据解决方案1所述的方法,其中,该规则还指定,在约束信息语法元素不存在的情况下,将通用约束信息语法元素的值推断为默认值。
13.根据解决方案12所述的方法,其中,默认值为0或1。
14.根据解决方案12所述的方法,其中,默认值依赖于档次和/或级别。
15.根据解决方案1所述的方法,其中,该规则还指定语法元素的信令以档次和/或级别为条件。
16.根据解决方案15所述的方法,其中,该规则还指定,在语法元素不存在的情况下,将语法元素的值推断为默认值。
17.根据解决方案15所述的方法,其中,默认值为0或1。
18.根据解决方案1所述的方法,其中,语法元素是u(1)编解码的。
19.根据解决方案1至18中任一项所述的方法,其中,该转换包括将视频编码为比特流。
20.根据解决方案1至18中任一项所述的方法,其中,该转换包括从比特流解码视频。
21.根据解决方案1至18中任一项所述的方法,其中,该转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
22.一种视频处理装置,包括被配置为实施根据解决方案1至21中任一项或多项所述的方法的处理器。
23.一种存储视频的比特流的方法,包括根据解决方案1至21中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
24.一种存储程序代码的计算机可读介质,该程序代码在被执行时使得处理器实施根据解决方案1至21中任一项或多项所述的方法。
25.一种计算机可读介质,存储根据上述方法中的任一项而生成的比特流。
26.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实施根据解决方案1至21中任一项或多项所述的方法。
第三解决方案集合示出了在前一节(例如,第14b和14c项)中讨论的技术的示例实施例。
1.一种视频处理的方法(例如,如图8A所示的方法800),包括:根据规则来执行视频和视频的比特流之间的转换802,其中语法结构包括被包括在比特流中并对应于一个或多个输出层集的一个或多个视频编解码层的信息;并且其中该规则指定语法结构中指定一个或多个输出层集符合的级别信息的语法元素的起始位置被约束为与字节边界对齐。
2.根据解决方案1所述的方法,其中,语法结构还指定一个或多个输出层集符合的档次、层、子档次和通用约束信息中的至少一个。
3.根据解决方案1所述的方法,其中,语法结构是档次、层、级别信息语法结构。
4.根据解决方案1-3中任一项所述的方法,其中,在档次、层、级别信息语法结构被包括在视频参数集中的情况下,一个或多个输出层集由视频参数集指定。
5.根据解决方案1所述的方法,其中,在档次、层、级别信息语法结构被包括在序列参数集中的情况下,一个或多个输出层集参考仅包括作为参考序列参数集的层当中的最低层的层的输出层集。
6.根据解决方案1-5中任一项所述的方法,其中,该规则指定要求语法元素的起始位置在字节边界处。
7.根据解决方案1-5中任一项所述的方法,其中,该规则指定添加一个或多个对齐语法元素,以使语法元素的起始位置与字节边界对齐。
8.根据解决方案7所述的方法,其中,一个或多个对齐语法元素在语法元素之前被信令通知。
9.根据解决方案7所述的方法,其中,一个或多个对齐语法元素中的每一个用使用一比特的固定模式比特串进行编解码。
10.一种视频处理的方法(例如,如图8B所示的方法810),包括:根据规则来执行视频和视频的比特流之间的转换812,其中该规则指定语法结构指示关于比特流的约束信息;其中该规则指定语法结构被允许包括不与字节边界对齐的语法元素。
11.根据解决方案10所述的方法,其中,该规则指定语法元素被包括在语法结构中,而不检查语法元素是否与字节边界对齐。
12.根据解决方案10或11所述的方法,其中,语法结构包括约束标志。
13.根据解决方案1至12中任一项所述的方法,其中,该转换包括将视频编码为比特流。
14.根据解决方案1至12中任一项所述的方法,其中,该转换包括从比特流解码视频。
15.根据解决方案1至12中任一项所述的方法,其中,该转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
16.一种视频处理装置,包括被配置为实施根据解决方案1至15中任一项或多项所述的方法的处理器。
17.一种存储视频的比特流的方法,包括根据解决方案1至15中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
18.一种存储程序代码的计算机可读介质,该程序代码在被执行时使得处理器实施根据解决方案1至15中任一项或多项所述的方法。
19.一种计算机可读介质,存储根据上述方法中的任一项而生成的编解码表示或比特流表示。
20.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实施根据解决方案1至15中任一项或多项所述的方法。
第四解决方案集合示出了在前一节(例如,第14d、15和16项)中讨论的技术的示例实施例。
1.一种视频处理的方法(例如,如图9A所示的方法900),包括:根据规则来执行视频和视频的比特流之间的转换902,其中该规则指定保留比特在何处以及如何被包括在指示适用于转换的一个或多个编解码约束的语法结构中。
2.根据解决方案1所述的方法,其中,语法结构是通用约束信息语法结构。
3.根据解决方案1或2所述的方法,其中,该规则还指定在语法结构中包括指示保留比特的数量的第一语法元素。
4.根据解决方案3所述的方法,其中,第一语法元素用使用N比特的无符号整数进行编解码,其中N是整数。
5.根据解决方案4所述的方法,其中,N为8或11。
6.根据解决方案1所述的方法,其中,保留比特的第一语法元素用使用0阶Exp-Golomb码的无符号整数进行编解码。
7.根据解决方案3所述的方法,其中,保留的通用约束信息语法元素被包括在语法结构中。
8.根据解决方案7所述的方法,其中,保留的通用约束信息语法元素为gci_reserved_zero_bit[i],其中i的范围从0到第一语法元素的值减1。
9.根据解决方案1所述的方法,其中,第一保留比特和最后保留比特在字节边界处。
10.一种视频处理的方法(例如,如图9B所示的方法910),包括:对于包括包含一个或多个条带的一个或多个图片的视频和视频的比特流之间的转换,根据规则来确定仅I条带被启用以用于转换912;以及根据该确定来执行转换914,其中该规则指定,响应于仅I条带被启用,比特流符合一个或多个附加约束。
11.根据解决方案10所述的方法,其中,一个或多个附加约束将与参考图片列表有关的语法元素约束为指定不使用参考图片列表的某个值。
12.根据解决方案10所述的方法,其中,一个或多个附加约束将与长期参考图片有关的语法元素约束为指定不允许长期参考图片的某个值。
13.根据解决方案10所述的方法,其中,一个或多个附加约束将与参考图片列表有关的语法元素约束为指定针对即时解码刷新(IDR)图片不允许参考图片列表的某个值。
14.根据解决方案10所述的方法,其中,一个或多个附加约束将与参考图片列表的数量有关的语法元素约束为指定参考图片列表的数量为0的某个值。
15.根据解决方案10所述的方法,其中,一个或多个附加约束将与帧间层预测的使用有关的语法元素约束为指定所有层都被独立编解码的某个值。
16.根据解决方案10所述的方法,其中,一个或多个附加约束将与参考图片重采样的应用性有关的语法元素约束为指定禁用参考图片重采样的某个值。
17.根据解决方案10所述的方法,其中,一个或多个附加约束将与分辨率改变的应用性有关的语法元素约束为指定禁用分辨率改变的某个值。
18.根据解决方案10所述的方法,其中,一个或多个附加约束将与用于P条带和/或B条带的加权预测的应用性有关的语法元素约束为指定禁用用于P条带和/或B条带的加权预测的某个值。
19.根据解决方案10所述的方法,其中,一个或多个附加约束将与子块变换的应用性有关的语法元素约束为指定禁用子块变换的某个值。
20.根据解决方案10所述的方法,其中,一个或多个附加约束将与逐渐解码刷新的应用性有关的语法元素约束为指定禁用逐渐解码刷新的某个值。
21.根据解决方案10所述的方法,其中,一个或多个附加约束将与用于帧间图片的编解码工具的应用性有关的语法元素约束为指定禁用编解码工具的某个值。
22.根据解决方案21所述的方法,其中,编解码工具包括参考环绕、时域运动矢量预测、基于子块的时域运动矢量预测、自适应运动矢量分辨率、双向光流、解码器侧运动矢量细化、仿射、利用运动矢量差的Merge、对称运动矢量差、利用光流的预测细化、利用编解码单元级别权重的双向预测、组合帧间-帧内预测或几何分割模式。
23.根据解决方案10所述的方法,其中,仅允许I条带类型的约束由指定是否施加约束的语法元素指示。
24.根据解决方案23所述的方法,其中,语法元素还指定,对于每个编解码条带NAL(网络抽象层)单元,NUH(NAL单元标头)层类型为IDR_N_LP。
25.一种视频处理的方法(例如,如图9C所示的方法920),包括:根据规则来执行视频和视频的比特流之间的转换922,其中该规则指定序列参数集、图片参数集、图片标头或序列标头中的一个或多个语法元素根据指示适用于转换的约束的通用约束信息语法元素来约束。
26.根据解决方案25所述的方法,其中,通用约束信息语法元素指定每个图片是否仅包含单个片。
27.根据解决方案26所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个片,将指示片列的数量的语法元素约束为指定要求片列的数量为1。
28.根据解决方案26所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个片,将指示片行的数量的语法元素约束为指定要求片行的数量为1。
29.根据解决方案26所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个片,将指示条带分割模式的语法元素约束为指定矩形条带模式用于参考图片参数集的每个图片。
30.根据解决方案25所述的方法,其中,通用约束信息语法元素指定网络抽象层(NAL)单元类型等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元是否不存在。
31.根据解决方案30所述的方法,其中,通用约束信息元素约束指示跨分量自适应环路滤波对转换的应用性的语法元素。
32.根据解决方案31所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定NAL单元类型等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元不存在,约束语法元素使得跨分量自适应环路滤波被禁用。
33.根据解决方案31所述的方法,其中,该规则指定,响应于通用约束信息语法元素no_aps_constraint_flag等于1,将语法元素sps_ccalf_enabled_flag的值约束为等于0。
34.根据解决方案30所述的方法,其中,通用约束信息元素约束指示自适应环路滤波(ALF)亮度自适应参数集(APS)的数量的一个或多个语法元素。
35.根据解决方案34所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定NAL单元类型等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元不存在,约束一个或多个语法元素,使得当前图片中的条带参考的ALF APS的数量为0。
36.根据解决方案34所述的方法,其中,该规则指定,响应于通用约束信息语法元素no_aps_constraint_flag等于1,将一个或多个语法元素ph_num_alf_aps_ids_luma和slice_num_alf_aps_ids_luma的值约束为等于0。
37.根据解决方案30所述的方法,其中,通用约束信息元素约束指示色度自适应环路滤波的应用性的一个或多个语法元素。
38.根据解决方案37所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定NAL单元类型等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元不存在,约束一个或多个语法元素,使得色度自适应环路滤波被禁用并且不应用于当前图片的Cb和Cr色彩分量。
39.根据解决方案37所述的方法,其中,该规则指定,响应于通用约束信息语法元素no_aps_constraint_flag等于1,将一个或多个语法元素ph_alf_cb_flag、ph_alf_cr_flag、sh_alf_cb_flag和sh_alf_cr_flag的值约束为等于0。
40.根据解决方案25所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个条带,将指示条带分割模式的语法元素约束为指定矩形条带模式用于参考图片参数集的每个图片。
41.根据解决方案25所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个片并且每个图片仅包含单个条带,将指示图片分割模式的语法元素约束为指定没有图片分割。
42.根据解决方案25所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个条带并且单个条带是矩形条带,将指示图片中的条带的数量的语法元素约束为指定图片中的条带的数量等于1。
43.根据解决方案25所述的方法,其中,该规则指定,响应于通用约束信息语法元素指定每个图片仅包含单个子图片,将指示图片中的子图片的数量的语法元素约束为指定图片中的子图片的数量等于1。
44.一种视频处理的方法(例如,如图9D所示的方法930),包括:根据规则来执行视频和视频的比特流之间的转换932,其中该规则指定指示适用于转换的一个或多个约束的语法结构中的第一语法元素是否或如何被指示依赖于第二语法元素是否或如何在语法结构中被指示。
45.根据解决方案44所述的方法,其中,该规则指定,响应于第二语法元素指示所有层都被独立编解码,指示在参考序列参数集的图片的解码中使用帧间层预测的第一语法元素被约束为等于指定不使用帧间层预测的值。
46.根据解决方案44所述的方法,其中,该规则指定,响应于第二语法元素指示没有变换跳过可用,指示块差分脉冲编解码调制的启用的第一语法元素被约束为等于指定块差分脉冲编解码调制的禁用的值。
47.根据解决方案44所述的方法,其中,该规则指定,响应于第二语法元素指示没有对使用亮度映射与色度缩放、显式缩放列表或跨分量自适应环路滤波的约束,第一语法元素被约束为等于指定没有对等于APS_NUT的网络抽象单元(NAL)单元类型的NAL不存在的约束的值。
48.一种视频处理的方法(例如,如图9E所示的方法940),包括:根据规则来执行视频和视频的比特流之间的转换942,其中该规则指定指示对转换的通用约束的语法元素是否或如何被包括在比特流中依赖于用于转换的档次和/或级别。
49.根据解决方案48所述的方法,其中,该规则指定语法元素的值由档次和/或级别来约束。
50.根据解决方案48所述的方法,其中,该规则指定,响应于档次和/或级别不满足该规则,语法元素被省略。
51.根据解决方案48所述的方法,其中,该规则指定当语法元素不存在时,语法元素被推断为特定值。
52.根据解决方案51所述的方法,其中,特定值为0或1。
53.根据解决方案51所述的方法,其中,特定值依赖于档次和/或级别。
54.根据解决方案1至53中任一项所述的方法,其中,该转换包括将视频编码为比特流。
55.根据解决方案1至53中任一项所述的方法,其中,该转换包括从比特流解码视频。
56.根据解决方案1至53中任一项所述的方法,其中,该转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
57.一种视频处理装置,包括被配置为实施根据解决方案1至56中任一项或多项所述的方法的处理器。
58.一种存储视频的比特流的方法,包括根据解决方案1至56中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
59.一种存储程序代码的计算机可读介质,该程序代码在被执行时使得处理器实施根据解决方案1至56中任一项或多项所述的方法。
60.一种计算机可读介质,存储根据上述方法中的任一项而生成的编解码表示或比特流表示。
61.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实施根据解决方案1至56中任一项或多项所述的方法。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于并置或者散布在比特流内的不同地方的比特。例如,可以按照变换和编解码的误差残差值并且还使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案所描述的。类似地,编码器可以确定包括或不包括某些语法字段,并通过包括语法字段或从编解码表示中排除语法字段来相应地生成编解码表示。
本文档中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是被生成以对信息进行编码以用于发送到合适的接收器装置的人工生成的信号,例如机器生成的电信号、光学信号或电磁信号。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解译语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上执行。
本文档中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可换式盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为指定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。

Claims (20)

1.一种视频处理的方法,包括:
根据规则来执行视频和所述视频的比特流之间的转换,
其中,语法结构包括被包括在所述比特流中并对应于一个或多个输出层集的一个或多个视频编解码层的信息;并且
其中,所述规则指定所述语法结构中指定所述一个或多个输出层集符合的级别信息的语法元素的起始位置被约束为与字节边界对齐。
2.根据权利要求1所述的方法,其中,所述语法结构还指定所述一个或多个输出层集符合的档次、层、子档次和通用约束信息中的至少一个。
3.根据权利要求1所述的方法,其中,所述语法结构是档次、层、级别信息语法结构。
4.根据权利要求1-3中任一项所述的方法,其中,在档次、层、级别信息语法结构被包括在视频参数集中的情况下,所述一个或多个输出层集由所述视频参数集指定。
5.根据权利要求1所述的方法,其中,在档次、层、级别信息语法结构被包括在序列参数集中的情况下,所述一个或多个输出层集参考仅包括作为参考所述序列参数集的层当中的最低层的层的输出层集。
6.根据权利要求1-5中任一项所述的方法,其中,所述规则指定要求所述语法元素的所述起始位置在字节边界处。
7.根据权利要求1-5中任一项所述的方法,其中,所述规则指定添加一个或多个对齐语法元素,以使所述语法元素的所述起始位置与所述字节边界对齐。
8.根据权利要求7所述的方法,其中,所述一个或多个对齐语法元素在所述语法元素之前被信令通知。
9.根据权利要求7所述的方法,其中,所述一个或多个对齐语法元素中的每一个用使用一比特的固定模式比特串进行编解码。
10.一种视频处理的方法,包括:
根据规则来执行视频和所述视频的比特流之间的转换,
其中,所述规则指定语法结构指示关于所述比特流的约束信息;
其中,所述规则指定所述语法结构被允许包括不与字节边界对齐的语法元素。
11.根据权利要求10所述的方法,其中,所述规则指定所述语法元素被包括在所述语法结构中,而不检查所述语法元素是否与所述字节边界对齐。
12.根据权利要求10或11所述的方法,其中,所述语法结构包括约束标志。
13.根据权利要求1至12中任一项所述的方法,其中,所述转换包括将所述视频编码为所述比特流。
14.根据权利要求1至12中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
15.根据权利要求1至12中任一项所述的方法,其中,所述转换包括从所述视频生成所述比特流,并且所述方法还包括:将所述比特流存储在非暂时性计算机可读记录介质中。
16.一种视频处理装置,包括被配置为实施根据权利要求1至15中任一项或多项所述的方法的处理器。
17.一种存储视频的比特流的方法,包括根据权利要求1至15中任一项所述的方法,并且还包括将所述比特流存储到非暂时性计算机可读记录介质。
18.一种存储程序代码的计算机可读介质,所述程序代码在被执行时使得处理器实施根据权利要求1至15中任一项或多项所述的方法。
19.一种计算机可读介质,存储根据上述方法中的任一项而生成的编解码表示或比特流表示。
20.一种用于存储比特流表示的视频处理装置,其中所述视频处理装置被配置为实施根据权利要求1至15中任一项或多项所述的方法。
CN202180037141.9A 2020-05-22 2021-05-24 通用级别索引的信令 Pending CN115918084A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020091740 2020-05-22
CNPCT/CN2020/091740 2020-05-22
PCT/CN2021/095387 WO2021233448A1 (en) 2020-05-22 2021-05-24 Signalling of general level index

Publications (1)

Publication Number Publication Date
CN115918084A true CN115918084A (zh) 2023-04-04

Family

ID=78707743

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202180037155.0A Pending CN115804092A (zh) 2020-05-22 2021-05-24 通用约束标志的信令
CN202180037140.4A Pending CN115777197A (zh) 2020-05-22 2021-05-24 视频的通用约束信息中的保留比特
CN202180037141.9A Pending CN115918084A (zh) 2020-05-22 2021-05-24 通用级别索引的信令

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202180037155.0A Pending CN115804092A (zh) 2020-05-22 2021-05-24 通用约束标志的信令
CN202180037140.4A Pending CN115777197A (zh) 2020-05-22 2021-05-24 视频的通用约束信息中的保留比特

Country Status (6)

Country Link
US (2) US11956474B2 (zh)
EP (1) EP4140137A4 (zh)
JP (2) JP7540871B2 (zh)
KR (1) KR20230015416A (zh)
CN (3) CN115804092A (zh)
WO (3) WO2021233449A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022119301A1 (ko) * 2020-12-01 2022-06-09 현대자동차주식회사 인트라 예측을 이용하는 비디오 코딩 방법 및 장치
US12015801B2 (en) * 2021-09-13 2024-06-18 Apple Inc. Systems and methods for streaming extensions for video encoding

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983022A (en) * 1997-04-10 1999-11-09 Lsi Logic Corporation System and method for using profiles to manage data streams for device verification
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9277228B2 (en) 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US9204156B2 (en) 2011-11-03 2015-12-01 Microsoft Technology Licensing, Llc Adding temporal scalability to a non-scalable bitstream
WO2013159335A1 (en) 2012-04-27 2013-10-31 Mediatek Singapore Pte. Ltd. Modifications related to sao and deblocking in hevc
US9602827B2 (en) 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
JPWO2015053120A1 (ja) * 2013-10-08 2017-03-09 シャープ株式会社 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法
US9648333B2 (en) * 2013-10-11 2017-05-09 Vid Scale, Inc. High level syntax for HEVC extensions
WO2015056182A2 (en) * 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding
US10284858B2 (en) 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
US9832481B2 (en) 2014-01-03 2017-11-28 Qualcomm Incorporated Support of base layer of a different codec in multi-layer video coding
US20170171563A1 (en) 2014-02-24 2017-06-15 Sharp Kabushiki Kaisha Restrictions on signaling
US10250895B2 (en) 2014-03-14 2019-04-02 Sharp Kabushiki Kaisha DPB capacity limits
US20150264099A1 (en) * 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Systems and methods for constraining a bitstream
CN106170981B (zh) * 2014-03-14 2019-02-26 华为技术有限公司 图像解码装置
US10356415B2 (en) * 2014-06-20 2019-07-16 Qualcomm Incorporated Systems and methods for constraining representation format parameters for a parameter set
US20160021375A1 (en) * 2014-07-16 2016-01-21 Qualcomm Incorporated Transport stream for carriage of video coding extensions
EP3051486A1 (en) 2015-01-30 2016-08-03 Thomson Licensing Method and apparatus for encoding and decoding high dynamic range (HDR) videos
JP2018050091A (ja) 2015-02-02 2018-03-29 シャープ株式会社 画像復号装置、画像符号化装置および予測ベクトル導出装置
US10555002B2 (en) 2016-01-21 2020-02-04 Intel Corporation Long term reference picture coding
CN116962721A (zh) 2016-05-04 2023-10-27 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测的方法
US10602190B2 (en) 2016-05-13 2020-03-24 Sharp Kabushiki Kaisha Temporal sub-layer descriptor
US10523966B2 (en) 2017-03-31 2019-12-31 Mediatek Inc. Coding transform blocks
RU2020131045A (ru) 2018-03-28 2022-03-21 Сони Корпорейшн Устройство обработки изображений и способ обработки изображений
US11051036B2 (en) * 2018-07-14 2021-06-29 Mediatek Inc. Method and apparatus of constrained overlapped block motion compensation in video coding
US11483575B2 (en) 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
US10904574B2 (en) 2018-09-13 2021-01-26 Tencent America LLC Method and device using an out of band end of stream NAL unit in decoding
KR102354489B1 (ko) * 2018-10-08 2022-01-21 엘지전자 주식회사 Atmvp 후보를 기반으로 영상 코딩을 수행하는 장치
JP2021513755A (ja) 2019-01-15 2021-05-27 エルジー エレクトロニクス インコーポレイティド 変換スキップフラグを利用した映像コーディング方法及び装置
CN113347436B (zh) 2019-06-21 2022-03-08 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
KR20220017439A (ko) 2019-07-08 2022-02-11 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
US11303935B2 (en) 2019-07-10 2022-04-12 Qualcomm Incorporated Deriving coding system operational configuration
JP7379655B2 (ja) 2019-07-19 2023-11-14 ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド ビデオ信号処理方法及び装置
MX2022004015A (es) 2019-10-05 2022-05-02 Lg Electronics Inc Codificacion de video o imagen basada en la se?alizacion de salto de transformacion e informacion relacionada con la codificacion de paletas.
CN114600462A (zh) 2019-10-25 2022-06-07 夏普株式会社 用于在视频编码中发送信号通知图片信息的系统和方法
US11146824B2 (en) 2019-12-30 2021-10-12 Mediatek Inc. Video encoding or decoding methods and apparatuses related to high-level information signaling
US11470357B2 (en) * 2020-04-03 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling decoding capability information in video coding
US11451811B2 (en) 2020-04-05 2022-09-20 Tencent America LLC Method and apparatus for video coding
US11792433B2 (en) 2020-09-28 2023-10-17 Sharp Kabushiki Kaisha Systems and methods for signaling profile and level information in video coding

Also Published As

Publication number Publication date
EP4140137A1 (en) 2023-03-01
KR20230015416A (ko) 2023-01-31
WO2021233447A1 (en) 2021-11-25
CN115804092A (zh) 2023-03-14
US11956474B2 (en) 2024-04-09
US20240129540A1 (en) 2024-04-18
JP2024012516A (ja) 2024-01-30
EP4140137A4 (en) 2024-01-24
WO2021233448A1 (en) 2021-11-25
CN115777197A (zh) 2023-03-10
US20230115541A1 (en) 2023-04-13
WO2021233449A1 (en) 2021-11-25
JP2023526494A (ja) 2023-06-21
JP7540871B2 (ja) 2024-08-27

Similar Documents

Publication Publication Date Title
WO2021170091A1 (en) Constrains for high level syntax elements
WO2021239085A1 (en) Reference picture list signaling in video coding
JP2023517085A (ja) 適応ループフィルタリング
JP7514330B2 (ja) ローカルデュアルツリーモードタイプ定義を伴うパレットモード
WO2021208897A1 (en) Chroma syntax signaling in adaptation parameter set
US20240129540A1 (en) Signalling Of General Constraints Flag
WO2021233450A1 (en) Signalling for color component
CN115486064A (zh) 标头语法元素和自适应参数集的使用
CN115769578A (zh) 视频编解码中的自适应色彩变换

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination