CN115699769A - 使用通用约束信息语法元素的约束信令 - Google Patents

使用通用约束信息语法元素的约束信令 Download PDF

Info

Publication number
CN115699769A
CN115699769A CN202180039440.6A CN202180039440A CN115699769A CN 115699769 A CN115699769 A CN 115699769A CN 202180039440 A CN202180039440 A CN 202180039440A CN 115699769 A CN115699769 A CN 115699769A
Authority
CN
China
Prior art keywords
equal
flag
value
slice
specifies
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
CN202180039440.6A
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 CN115699769A publication Critical patent/CN115699769A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

描述了用于视频处理的方法、系统和装置。一种处理视频数据的示例方法包括根据规则执行包括一个或多个视频图片的视频和该视频的比特流之间的转换,其中该规则指定通用约束信息语法结构中的第一语法元素控制一个或多个语法元素或该一个或多个语法元素的一个或多个值在参数集或标头中的存在。

Description

使用通用约束信息语法元素的约束信令
相关申请的交叉引用
依据巴黎公约的适用专利法和/或规则,本申请及时地要求于2020年5月31日提交的国际专利申请第PCT/CN2020/093641号的优先权和权益。出于法律规定的所有目的,上述申请的完整公开内容通过引用并入作为本申请的公开内容的一部分。
技术领域
本专利文档涉及图像和视频编解码和解码。
背景技术
在互联网和其他数字通信网络中,数字视频占用了最大的带宽。随着能够接收和显示视频的被连接的用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可由视频编码器和解码器所使用的技术,用于使用对编解码表示的解码有用的控制信息来处理视频的编解码表示。
在一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行包括一个或多个视频图片的视频和该视频的比特流之间的转换,其中该规则指定通用约束信息语法结构中的第一语法元素控制一个或多个语法元素或者一个或多个语法元素的一个或多个值在参数集或标头中的存在。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行包括视频块的视频和该视频的比特流之间的转换,其中该视频块是包括一个或多个编解码单元的编解码树节点,并且其中该规则指定视频块的编解码信息指示是否对视频块的一个或多个编解码单元启用编解码模式。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行包括包含视频块的视频图片的视频和该视频的比特流之间的转换,其中该规则指定使用指示对视频块启用调色板编解码模式的编解码模式类型,选择性地使用分割处理将视频块分割成编解码块。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的视频区域和该视频的编解码表示之间的转换;其中该编解码表示符合格式规则;其中该格式规则指定指示视频中的颜色分量的缩放列表是否被包括在自适应参数集中的标志独立于序列参数集中的语法字段值。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行视频的视频区域和该视频区域的编解码表示之间的转换;其中该编解码表示符合格式规则;其中该格式规则指定一个或多个自适应参数集被包括在编解码表示中,使得对于每个自适应参数集,由于对视频的色度约束,色度相关的语法元素被省略。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频区域的视频和该视频的编解码表示之间的转换,该一个或多个视频区域包括一个或多个视频单元;其中该编解码表示符合格式规则;其中该格式规则指定第一变换编解码语法字段是否被包括在视频区域的视频单元的级别的编解码表示中和/或其值取决于视频区域的级别的第二变换编解码语法字段的值。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频区域的视频和该视频的编解码表示之间的转换,每个视频区域包括一个或多个视频单元;其中该编解码表示符合格式规则;其中该格式规则指定视频单元级别的标志控制是否对转换启用量化参数的差分信令。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频区域的视频和该视频的编解码表示之间的转换,每个视频区域包括一个或多个视频单元;其中该编解码表示符合格式规则;其中该格式规则指定指示子图片数量的图片级别的第一标志和指示子图片中的条带数量的子图片级别的第二标志的释义。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中该编解码表示符合格式规则;其中该格式规则指定与视频图片相关联的图片参数集中的字段指示视频图片是否被划分为不同高度或宽度的多个片行或片列。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中该编解码表示符合格式规则;其中该格式规则指定在自适应参数集排除自适应环路滤波的指示的情况下,自适应环路滤波对视频区域的适用性是基于第二规则的。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中该编解码表示符合格式规则;其中该格式规则指定对于具有视频的最大宽度和最大高度的宽度和高度的图片,跳过图片参数集中的一致性窗口参数的显式信令。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中该编解码表示符合格式规则,该格式规则指定通用约束信息(GCI)语法结构中的语法字段控制对该编解码表示中的参数集或标头中的一个或多个语法元素的值的一个或多个限制。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中该编解码表示符合格式规则,该格式规则指定对于视频的编解码树节点,对应于视频单元的解码信息控制根据规则可导出的变量的值。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中该编解码表示符合格式规则,该格式规则指定该编解码表示包括用于编解码树节点的语法元素,该语法元素的值指示是否允许三种预测模式中的任何一种用于该编解码树节点中的视频单元的表示。
在又一示例方面,公开了一种视频编码器装置。该视频编码器包括被配置为实施上述方法的处理器。
在又一示例方面,公开了一种视频解码器装置。该视频解码器包括被配置为实施上述方法的处理器。
在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可运行代码的形式体现了本文所描述的方法之一。
这些以及其他特征将自始至终在本文档中进行描述。
附图说明
图1是示例视频处理系统的框图。
图2是视频处理装置的框图。
图3是视频处理的示例方法的流程图。
图4是图示出了根据本公开的一些实施例的视频编解码系统的框图。
图5是图示出了根据本公开的一些实施例的编码器的框图。
图6是图示出了根据本公开的一些实施例的解码器的框图。
图7至9是视频处理的示例方法的流程图。
具体实施方式
在本文档中使用章节标题是为了易于理解,而不是将每个章节中所公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中所使用H.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文所描述的技术也适用于其他视频编解码器协议和设计。
1.引言
本文档涉及视频编解码技术。具体地,其是关于视频编解码中的SH、PPS、APS和GCI语法元素的设计。这些思想可以被单独地或以各种组合应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的通用编解码(VVC)。
2.缩略语
APS 自适应参数集
AU 接入单元
AUD 接入单元定界符
AVC 高级视频编解码
CLVS 编解码层视频序列
CPB 编解码图片缓冲器
CRA 清洁随机接入
CTU 编解码树单元
CVS 编解码视频序列
DPB 解码图片缓冲器
DPS 解码参数集
EOD 比特流的末尾
EOS 序列的末尾
GCI 通用约束信息
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-4 Visual,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准是基于混合视频编解码结构的,其中利用了时域预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索小组(JVET)。此后,JVET已经采用了许多新方法,并将其放入到名为联合勘探模型(JEM)的参考软件中。JVET会议同时地每季度举行一次,并且与HEVC相比,新编解码标准的目标是降低50%的比特率。新的视频编解码标准在2018年4月的JVET会议上被正式命名为通用编解码(VVC),并且第一版VVC测试模型(VTM)也在当时发布。由于对VVC标准化的持续努力,新的编解码技术在每次JVET会议上都被采用到VVC标准中。VVC工作草案和测试模型VTM然后在每次会议后都会被更新。VVC项目现在目标于在2020年7月的会议时技术上完成(FDIS)。
3.1GCI语法和语义
在最新的VVC草案文本中,GCI语法和语义如下:
Figure BDA0003972234000000061
Figure BDA0003972234000000071
Figure BDA0003972234000000081
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 equal等于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的范围内(含这两个值)。
max_chroma_format_constraint_idc指定chroma_format_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.2SPS语法和语义
在最新的VVC草案文本中,SPS的语法和语义如下:
Figure BDA0003972234000000131
Figure BDA0003972234000000141
Figure BDA0003972234000000151
Figure BDA0003972234000000161
Figure BDA0003972234000000171
Figure BDA0003972234000000181
Figure BDA0003972234000000191
Figure BDA0003972234000000201
Figure BDA0003972234000000211
Figure BDA0003972234000000221
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时,由具有特定numh_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的范围内(含这两个值)。
在符合该规范的该版本的比特流中,sps_reserved_zero_4bits应该等于0。sps_reserved_zero_4bits的其他值被保留供ITU-T|ISO/IEC将来使用。
sps_ptl_dpb_hrd_params_present_flag等于1指定SPS中存在profile_tier_level()语法结构和dpb_parameters()语法结构,并且SPS中也可以存在general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构。
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),并且垂直图片坐标从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的范围内(含这两个值)。
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的范围内(含这两个值)。当不存在时,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范围内(含这两个值)的每个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范围内(含这两个值)的每个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_pic_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的范围内(含这两个值)。1<<(sps_subpic_id_len_minus1+1)的值应该大于或等于sps_num_subpics_minus1+1。
subpic_id_mapping_explicitly_signalled_flag等于1指定子图片ID映射在CLVS的编解码图片所参考的SPS或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时,在SPS中信令通知子图片ID映射。subpic_id_mapping_in_sps_flag等于0指定当subpic_id_mapping_explicitly_signalled_flag等于1时,在CLVS的编解码图片所参考的PPS中信令通知子图片ID映射。
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的范围内(含这两个值)。
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的范围内(含这两个值)。
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的范围内(含这两个值)。
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的范围内(含这两个值)。
注意4-对于listIdx的每个值(等于0或1),解码器应该为总数量的num_ref_pic_lists_in_sps[i]+1ref_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)之间(含这两个值)。
变量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的log2BlockHeight(包括这两个值),调用条款6.5.2中所指定的右上对角线扫描顺序阵列初始化处理,将1<<log2BlockWidth和1<<log2BlockHeight作为输入,并将输出分配给DiagScanOrder[log2block width][log2 block height]。
对于范围从0到6的log2BlockWidth和范围从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的范围内(含这两个值)。由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)的范围内(含这两个值)。
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的范围内(含这两个值)。当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中的ph_log2_diff_max_tt_min_qt_luma present覆写。sps_log2_diff_max_tt_min_qt_intra_slice_luma的值应在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 present覆写。
sps_log2_diff_min_qt_min_cb_inter_slice的值应在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)的范围内(含这两个值)。
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的范围内(含这两个值)。当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的范围内(含这两个值)。当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指定色度叶块的亮度样点的最小尺寸的以2为底的对数与参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CU的亮度样点的最小编解码块尺寸的以2为底的对数之间的默认差,色度叶块由TreeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分所产生。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的SPS的ph_log2_diff_min_qt_min_cb_chroma覆写。
sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值应该在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)的范围内(含这两个值)。当不存在时,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的范围内(含这两个值)。当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的范围内(含这两个值)。当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映射表,并且该表适用于Cb和Cr残差以及当sps_joint_cbcr_enabled_flag等于1时附加地适用于联合Cb-Cr残差。same_qp_table_for_chroma等于0指定当sps_joint_cbcr_enabled_flag等于1时,在SPS中信令通知色度QP映射表,两个用于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的范围内(含这两个值)。当qp_table_start_minus26[i]不存在于比特流中时,qp_table_start_minus26[i]的值被推断为等于0。
num_points_in_qp_table_minus1[i]加1指定用于描述第i个色度QP映射表的点数量。num_points_in_qp_table_minus1[i]的值应在0到63+QpBdOffset的范围内(含这两个值)。当num_points_in_qp_table_minus1[0]不存在于比特流中时,num_points_in_qp_table_minus1[0]的值被推断为等于0。
delta_qp_in_val_minus1[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输入坐标的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个枢轴点的输出坐标的delta值。
第i个色度QP映射表ChromaQpTable[i](对于i等于0..numQpTables-1)被推导如下:
Figure BDA0003972234000000371
Figure BDA0003972234000000381
当same_qp_table_for_chroma等于1时,ChromaQpTable[1][k]和ChromaQpTable[2][k]被设置为等于ChromaQpTable[0][k],k的范围为-QpBdOffset到63(含这两个值)。
比特流一致性的要求是,qpInVal[i][j]和qpOutVal[i][j]的值应该在-QpBdOffset到63的范围内(含这两个值),其中i在0到numQpTables-1的范围内(含这两个值),j在0到num_points_in_qp_table_minus1[i]+1的范围内(含这两个值)。
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的范围内(含这两个值)。
变量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中所有slice_type不等于i的条带的图片。
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。
six_minus_max_num_merge_cand指定从6减去SPS中所支持的Merge运动矢量预测(MVP)候选的最大数量。six_minus_max_num_merge_cand的值应在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,则语法将受到约束,使得在CLVS中不使用基于6参数仿射模型的运动补偿,并且cu_affine_type_flag不存在于CLVS中的编解码单元语法中。否则(sps_affine_type_flag等于1),可以在CLVS中使用基于6参数仿射模型的运动补偿。当不存在时,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的范围内(含这两个值)。
sps_bcw_enabled_flag指定具有CU权重的双向预测是否可以被用于帧间预测。如果sps_bcw_enabled_flag等于0,则语法应该被约束,使得在CLVS中不使用具有CU权重的双向预测,并且bcw_idx不存在于CLVS的编解码单元语法中。否则(sps_bcw_enabled_flag等于1),可以在CLVS中使用具有CU权重的双向预测。
sps_ibc_enabled_flag等于1指定IBC预测模式可以被用于CLVS中图片的解码。sps_ibc_enabled_flag等于0指定CLVS中不使用IBC预测模式。当sps_ibc_enabled_flag不存在时,其被推断为等于0。
six_minus_max_num_ibc_merge_cand指定从6中减去SPS中所支持的IBCMerge块矢量预测(BVP)候选的最大数量。
six_minus_max_num_ibc_merge_cand的值应该在0到5的范围内(含这两个)。
IBC Merge BVP候选的最大数量MaxNumIbcMergeCand被推导如下:
if(sps_ibc_enabled_flag)
MaxNumIbcMergeCand=6-six_minus_max_num_ibc_merge_cand
(65)
else
MaxNumIbcMergeCand=0
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 BDA0003972234000000431
Figure BDA0003972234000000441
MaxNumGpmMergeCand的值应该在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的范围内(含这两个值)。
sps_ladf_lowest_interval_qp_offset指定如条款8.8.3.6.1中所指定的用于推导变量qP的偏移。sps_ladf_lowest_interval_qp_offset的值应该在-63到63的范围内(含这两个值)。
sps_ladf_qp_offset[i]指定如条款8.8.3.6.1中所指定的用于推导变量qP的偏移阵列。sps_ladf_qp_offset[i]的值应该在-63到63的范围内(含这两个值)。
sps_ladf_delta_threshold_minus1[i]被用于计算SpsLadfIntervalLowerBound[i]的值,该值指定第i个亮度强度级别间隔的下界。sps_ladf_delta_threshold_minus1[i]的值应该在0到2BitDepth-3的范围内(含这两个值)。
spsladintervallowerbound[0]的值被设置为等于0。
对于0到sps_num_ladf_intervals_minus2范围内的每个i值,变量SpsLadfIntervalLowerBound[i+1]被推导如下:
SpsLadfIntervalLowerBound[i+1]=SpsLadfIntervalLowerBound[i] (67)
+sps_ladf_delta_threshold_minus1[i]+1
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的范围内(含这两个值)。变量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的范围内(含这两个值)。[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的范围内(含这两个值)。[Ed.(VD):pic_height_in_luma_samples在PPS中,而不在SPS中。]
sps_general_hrd_params_present_flag等于1指定SPS RBSP语法结构中存在语法结构general_hrd_parameters()。sps_general_hrd_params_present_flag等于0指定SPS RBSP语法结构中不存在语法结构general_hrd_parameters()。
sps_sublayer_cpb_params_present_flag等于1指定SPS RBSP中的语法结构old_hrd_parameters()包括用于TemporalId在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-1范围内(含这两个值)的子层表示的HRD参数与用于TemporalId等于sps_max_sublayers_minus1的子层表示的HRD参数相同。这些包括从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时,对于CLVS中的每个编解码图片,应该存在帧字段信息SEI消息。
注意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语法元素不存在于SPSRBSP语法结构中。sps_extension_flag等于1指定sps_extension_data_flag语法元素存在于SPS RBSP语法结构中。
sps_extension_data_flag可以具有任何值。其的存在和值不影响解码器符合该规范的该版本中所指定的档次。符合该规范的该版本的解码器应该忽略所有sps_extension_data_flag语法元素。
3.3PPS语法和语义
在最新的VVC草案文本中,PPS语法和语义如下:
Figure BDA0003972234000000471
Figure BDA0003972234000000481
Figure BDA0003972234000000491
Figure BDA0003972234000000501
Figure BDA0003972234000000511
Figure BDA0003972234000000521
在被引用以前,PPS RBSP应该可用于解码处理,被包括在TemporalId小于或等于PPS NAL单元的TemporalId的至少一个AU中,或者通过外部手段被提供。
在PU内的pps_pic_parameter_set_id的特定值的所有PPS NAL单元应该具有相同的内容。
pps_pic_parameter_set_id标识其他语法元素所引用的PPS。
pps_pic_parameter_set_id的值应该在0到63的范围内(含这两个值)。
无论nuh_layer_id值如何,PPS NAL单元共享pps_pic_parameter_set_id的相同值空间。
令ppsLayerId是特定PPS NAL单元的nuh_layer_id的值,并且vclLayerId是特定VCL NAL单元的nuh_layer_id的值。除非ppsLayerId小于或等于vclLayerId,并且nuh_layer_id等于ppsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中,否则特定VCL NAL单元不应该参考特定PPS NAL单元。
pps_seq_parameter_set_id指定用于SPS的sps_seq_parameter_set_id值。
pps_seq_parameter_set_id的值应该在0到15的范围内(含这两个值)。
pps_seq_parameter_set_id的值在CLVS中由编解码图片所参考的所有PPS中应该是相同的。
mixed_nalu_types_in_pic_flag等于1指定参考PPS的每个图片具有一个以上的VCL NAL单元,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值nalUnitTypeA在IDR_W_RADL到CRA_NUT范围内(含这两个值)每个条带,在还包含nal_unit_type的另一个值的一个或多个条带的图片picA中(即,图片picA的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
-条带应该属于对应的subpic_treated_as_pic_flag[i]的值等于1的子图片subpicA。
-条带不应该属于包含nal_unit_type不等于nalUnitTypeA的VCL NAL单元的picA的子图片。
-如果nalUnitTypeA等于CRA,对于跟随按解码次序和输出次序的CLVS中的当前图片的所有随后的PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应该包括活动条目中按解码次序在picA之前的任何图片。
-否则(即,nalUnitTypeA等于IDR_W_RADL或IDR_N_LP),对于跟随按解码次序的当前图片的CLVS中的所有PU,这些PU中的subpicA中的条带的RefPicList[0]或RefPicList[1]都不应该包括活动条目中按解码次序在picA之前的任何图片。
注意1-mixed_nalu_types_in_pic_flag等于1指示参考PPS的图片包含具有不同NAL单元类型的条带,例如,源自子图片比特流Merge操作的编解码图片,对于该子图片比特流Merge操作,编码器必须确保匹配的比特流结构和原始比特流的参数的进一步对齐。这种对齐的一个示例如下:当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),垂直图片坐标从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中。caling_window_explicit_signalling_fla等于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被推导如下:
Figure BDA0003972234000000561
Figure BDA0003972234000000562
令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范围内(含这两个值)的每个i值,变量SubpicIdVal[i]被推导如下:
Figure BDA0003972234000000571
Figure BDA0003972234000000581
比特流一致性的要求是以下两个约束两者都适用:
-对于0到sps_num_subpics_minus1范围内(含这两个值)的任何两个不同的i和j值,SubpicIdVal[i]不应该等于SubpicIdVal[j]。
-当当前图片不是CLVS的第一图片时,对于0到sps_num_subpics_minus1(含这两个值)范围内的每个i值,如果SubpicIdVal[i]的值不等于相同层中按解码次序的先前图片的SubpicIdVal[i]的值,则子图片索引i的当前图片中的子图片的所有编解码条带NAL单元的nal_unit_type应该等于IDR_W_RADL到CRA_NUT范围内(含这两个值)的特定值。
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的范围内(含这两个值)。当no_pic_partition_flag等于1时,num_exp_tile_columns_minus1的值被推断为等于0。
num_exp_tile_rows_minus1加1指定被显式提供的片行高度的数量。
num_exp_tile_rows_minus1的值应该在0到PicHeightInCtbsY-1的范围内(含这两个值)。当no_pic_partition_flag等于1时,num_tile_rows_minus1的值被推断为等于0。
tile_column_width_minus1[i]加1指定第i个片列的宽度(以CTB为单位),其中i的范围为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的范围内,(含这两个值)。当不存在时,tile_column_width_minus1[0]的值推断为等于PicWidthInCtbsY-1。
tile_row_height_minus1[i]加1指定第i个片行的高度(以CTB为单位),其中i的范围为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的范围内(含这两个值)。当不存在时,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的范围内,(含这两个值),其中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的范围内(含这两个值)。
当slice_width_in_tiles_minus1[i]不存在时,以下适用:
-如果NumTileColumns等于1,则slice_width_in_tiles_minus1[i]的值被推断为等于0。
-否则,slice_width_in_tiles_minus1[i]的值被推断为如条款6.5.1所指定的。
slice_height_in_tiles_minus1[i]加1指定第i个矩形条带的高度(以片行为单位)。slice_height_in_tiles_minus1[i]的值应该在0到NumTileRows-1的范围内(含这两个值)。
当slice_height_in_tiles_minus1[i]不存在时,以下适用:
-如果NumTileRows等于1,或者tile_idx_delta_present_flag等于0,并且tileIdx%NumTileColumns大于0),则slice_height_in_tiles_minus1[i]的值被推断为等于0。
-否则(NumTileRows不等于1,并且tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于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的范围内(含这两个值),其中tileY是包含第i个条带的片行索引。当不存在时,num_exp_slices_in_tile[i]的值被推断为等于0。当num_exp_slices_in_tile[i]等于0时,变量NumSlicesInTile[i]的值被推导为等于1。
exp_slice_height_in_ctus_minus1[j]加1指定当前片中第j个矩形条带的高度(以CTU行为单位)。exp_slice_height_in_ctus_minus1[j]的值应该在0到RowHeight[tileY]-1的范围内(含这两个值),其中tileY是当前片的片行索引。
当num_exp_slices_in_tile[i]大于0时,变量NumSlicesInTile[i]和SliceHeightInCtusMinus1[i+k](对于从0到NumSlicesInTile[i]–1的范围内的k)被推导如下:
Figure BDA0003972234000000601
Figure BDA0003972234000000611
tile_idx_delta[i]指定第i个矩形条带中的第一片的片索引和第(i+1)个矩形条带中的第一片的片索引之间的差。tile_idx_delta[i]的值应该在-NumTilesInPic+1到NumTilesInPic-1范围内(含这两个值)。当不存在时,tile_idx_delta[i]的值被推断为等于0。当存在时,tile_idx_delta[i]的值不应该等于0。
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的范围内(含这两个值)。
rpl1_idx_present_flag等于0指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]不存在于参考PPS的图片的条带标头或PH语法结构中。rpl1_idx_present_flag等于1指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]可以存在于参考PPS的图片的条带标头或PH语法结构中。
init_qp_minus26加26指定参考PPS的每个条带的SliceQpY的初始值。当ph_qp_delta的非零值被解码时,SliceQpY的初始值在图片级别被修改,或者当slice_qp_delta的非零值被解码时,SliceQpY的初始值在条带级别被修改。init_qp_minus26的值应该在-(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指定PPSRBSP语法结构中不存在色度工具偏移相关的语法元素。当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范围内(含这两个值)。当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范围内(含这两个值)。当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的范围内(含这两个值)。
cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]分别指定Qp′Cb、Qp′Cr和Qp′CbCr推导中所使用的偏移。cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]的值应该在-12到+12范围内(含这两个值)。当pps_joint_cbcr_qp_offset_present_flag等于0时,joint_cbcr_qp_offset_list[i]不存在,并且其被推断为等于0。
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指定β和tC(除以2)的默认去方块参数偏移,这些参数偏移适应于参考PPS的条带的亮度分量,除非默认去方块参数偏移被参考PPS的条带的条带标头或图片标头中存在的去方块参数偏移覆写。pps_beta_offset_div2和pps_tc_offset_div2的值两者都应该在-12到12范围内(含这两个值)。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值两者都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定β和tC(除以2)的默认去方块参数偏移,这些参数偏移适用于参考PPS的条带的Cb分量,除非默认去方块参数偏移被参考PPS的条带的条带标头或图片标头中存在的去方块参数偏移覆写。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值两者都应该在-12到12范围内(含这两个值)。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值两者都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div22指定β和tC(除以2)的默认去方块参数偏移,这些参数偏移适用于参考PPS的条带的Cr分量,除非默认去方块参数偏移被参考PPS的条带的条带标头或图片标头中存在的去方块参数偏移覆写。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值两者都应该在-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 delta信息存在于PH语法结构中,而不存在于参考其中不包含PH语法结构的PPS的条带标头中。
qp_delta_info_in_ph_flag等于0指定QP delta信息不存在于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,的范围内(含这两个值)。
变量PpsRefWraparoundOffset被设置为等于pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2。
picture_header_extension_present_flag等于0指定参考PPS的PH中不存在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 RBSP语法结构中不存在pps_extension_data_flag语法元素。pps_extension_flag等于1指定PPS RBSP语法结构中存在pps_extension_data_flag语法元素。
pps_extension_data_flag可以具有任何值。其的存在和值不影响解码器符合该规范的该版本中所指定的档次。符合该规范的该版本的解码器应该忽略所有pps_extension_data_flag语法元素。
3.4APS语法和语义
在最新的VVC草案文本中,APS的语法和语义如下:
Figure BDA0003972234000000671
Figure BDA0003972234000000681
APS RBSP包含ALF语法结构,即alf_data()。
Figure BDA0003972234000000682
Figure BDA0003972234000000691
Figure BDA0003972234000000701
APS RBSP包含LMCS语法结构,即lmcs_data()。
Figure BDA0003972234000000702
Figure BDA0003972234000000711
APS RBSP包含缩放列表数据语法结构,即scaling_list_data()。
Figure BDA0003972234000000721
Figure BDA0003972234000000731
每个APS RBSP在被引用以前应该可用于解码处理,被包括在至少一个AU中,其TemporalId小于或等于引用它的编解码条带NAL单元的TemporalId,或通过外部手段被提供。
在PU内具有特定adaptation_parameter_set_id值和特定aps_params_type值的所有APS NAL单元,不论它们是前缀APS NAL单元还是后缀APS NAL单元,都应该具有相同的内容。
adaptation_parameter_set_id为AP提供标识符,用于由其他语法元素参考。当aps_params_type等于ALF_APS或SCALING_APS时,adaptation_parameter_set_id的值应该在0到7的范围内(含这两个值)。
当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应该在0到3的范围内(含这两个值)。
令apsLayerId是特定aps NAL单元的nuh_layer_id的值,并且vclLayerId是特定VCL NAL单元的nuh_layer_id的值。除非apsLayerId小于或等于vclLayerId并且nuh_layer_id等于apsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中,否则特定VCL NAL单元不应该参考特定APS NAL单元。
aps_params_type指定APS中所携带的APS参数的类型,如表6中所指定的。
表6-APS参数类型代码和APS参数类型
Figure BDA0003972234000000741
具有aps_params_type特定值的所有APS NAL单元,不论nuh_layer_id值如何,都共享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 RBSP语法结构中不存在aps_extension_data_flag语法元素。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的范围内(含这两个值)。
alf_luma_coeff_delta_idx[filtIdx]指定filtIdx所指示的滤波器类别的被信令通知的自适应环路滤波器亮度系数delta的索引,其范围为0至NumAlfFilters-1。
当alf_luma_coeff_delta_idx[filtIdx]不存在时,其被推断为等于0。
alf_luma_coeff_delta_idx[filtIdx]的长度为Ceil(Log2(alf_luma_num_filters_signalled_minus1+1))比特。
alf_luma_coeff_delta_idx[filtIdx]的值应该在0至alf_luma_num_filters_signalled_minus1的范围内(含这两个值)。
alf_luma_coeff_abs[sfIdx][j]指定由sfIdx所指示的被信令通知的亮度滤波器的第j个系数的绝对值。当alf_luma_coeff_abs[sfIdx][j]不存在时,其被推断为等于0。alf_luma_coeff_abs[sfIdx][j]的值应在0到128的范围内(含这两个值)。
alf_luma_coeff_sign[sfIdx][j]指定由sfIdx所指示的滤波器的第j个亮度系数的符号,如下所示:
-如果alf_luma_coeff_sign[sfIdx][j]等于0,则对应的亮度滤波器系数具有正值。
-否则(alf_luma_coeff_sign[sfIdx][j]等于1),对应的亮度滤波器系数具有负值。
当alf_luma_coeff_sign[sfIdx][j]不存在时,其被推断为等于0。
sfIdx=0..alf_luma_num_filters_signalled_minus1的变量filtCoeff[sfIdx][j](其中j=0..11)被初始化如下:
Figure BDA0003972234000000751
具有元素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 BDA0003972234000000761
Figure BDA0003972234000000771
Figure BDA0003972234000000781
Figure BDA0003972234000000782
Figure BDA0003972234000000791
比特流一致性的要求是,AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]的值(其中filtIdx=0..NumAlfFilters–1,j=0..11)应该在-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的范围内(含这两个值)。
具有元素AlfClipL[adaptation_parameter_set_id][filtIdx][j](其中filtIdx=0..NumAlfFilters–1且j=0..11)的亮度滤波器限幅值AlfClipL[adaptation_parameter_set_id],取决于BitDepth和clipIdx(设置为等于alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j])被推导为如表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的范围内(含这两个值)。
alf_chroma_coeff_abs[altIdx][j]指定具有索引altIdx的可替代色度滤波器的第j个色度滤波器系数的绝对值。当alf_chroma_coeff_abs[altIdx][j]不存在时,其被推断为等于0。alf_chroma_coeff_abs[sfIdx][j]的值应该在0到128的范围内(含这两个值)。
alf_chroma_coeff_sign[altIdx][j]指定具有索引altIdx的可替代色度滤波器的第j个色度滤波器系数的符号,如下所示:
-如果alf_chroma_coeff_sign[altIdx][j]等于0,则对应的色度滤波器系数具有正值。
-否则(alf_chroma_coeff_sign[altIdx][j]等于1),对应的色度滤波器系数为负值。
当alf_chroma_coeff_sign[altIdx][j]不存在时,其被推断为等于0。
具有元素AlfCoeffC[adaptation_parameter_set_id][altIdx][j]的色度滤波器系数AlfCoeffC[adaptation_parameter_set_id][altIdx](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)被推导如下:
Figure BDA0003972234000000801
比特流一致性的要求是,AlfCoeffC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的值应该在-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的范围内(含这两个值)。
alf_cc_cb_mapped_coeff_abs[k][j]指定用于Cb颜色分量的被信令通知的第k个跨分量滤波器的第j个经映射系数的绝对值。当alf_cc_cb_mapped_coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cb_coeff_sign[k][j]指定用于Cb颜色分量的被信令通知的第k个跨分量滤波器的第j个系数的符号,如下所示:
-如果alf_cc_cb_coeff_sign[k][j]等于0,则对应的跨分量滤波器系数具有正值。
-否则(alf_cc_cb_sign[k][j]等于1),对应的跨分量滤波器系数为负值。当alf_cc_cb_coeff_sign[k][j]不存在时,其被推断为等于0。
用于Cb颜色分量CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j](其中j=0..6)的被信令通知的第k个跨分量滤波器系数被推导如下:
-如果alf_cc_cb_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]被设置为等于0。
-否则,CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]被设置为等于(1-2*alf_cc_cb_coeff_sign[k][j])*2alf_cc_cb_mapped_coeff_abs[k][j]-1
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的范围内(含这两个值)。
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的范围内(含这两个值)。
具有元素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和clipIdx(设置为等于alf_chroma_clip_idx[altIdx][j])被推导为如表8所指定的。
表8–取决于BitDepth和clipIdx的规范AlfClip
Figure BDA0003972234000000831
lmcs_min_bin_idx指定具有色度缩放的亮度映射构建处理中所使用的最小bin索引。lmcs_min_bin_idx的值应该在0到15的范围内(含这两个值)。
lmcs_delta_max_bin_idx指定具有色度缩放的亮度映射构建处理中所使用的15和最大bin索引LmcsMaxBinIdx之间的delta值。lmcs_delta_max_bin_idx的值应该在0到15的范围内(含这两个值)。LmcsMaxBinIdx的值被设置为等于15-lmcs_delta_max_bin_idx。LmcsMaxBinIdx的值应该大于或等于lmcs_min_bin_idx。
lmcs_delta_cw_prec_minus1加1指定被用于语法lmcs_delta_abs_cw[i]的表示的比特数量。lmcs_delta_cw_prec_minus1的值应在0到BitDepth-2的范围内(含这两个值)。
lmcs_delta_abs_cw[i]指定用于第i个bin的绝对delta码字值。
lmcs_delta_sign_cw_flag[i]指定变量lmcsDeltaCW[i]的符号,如下所示:
-如果lmcs_delta_sign_cw_flag[i]等于0,则lmcsDeltaCW[i]为正值。
-否则(lmcs_delta_sign_cw_flag[i]不等于0),lmcsDeltaCW[i]为负值。
当lmcs_delta_sign_cw_flag[i]不存在时,其被推断为等于0。
变量OrgCW被推导如下:
OrgCW=(1<<BitDepth)/16 (98)
变量lmcsDeltaCW[i](其中i=lmcs_min_bin_idx..LmcsMaxBinIdx)被推导如下:
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)的范围内(含这两个值)。
-对于i=LmcsMaxBinIdx+1..15,lmcsCW[i]被设置为等于0。
比特流一致性的要求是以下条件为真:
Figure BDA0003972234000000841
变量InputPivot[i](其中i=0..16)被推导如下:
InputPivot[i]=i*OrgCW (102)
变量LmcsPivot[i](其中i=0..16)、变量ScaleCoeff[i]和InvScaleCoeff[i]
(i=0..15)被推导如下:
Figure BDA0003972234000000842
比特流一致性的要求是,对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,当LmcsPivot[i]的值不是1<<(BitDepth-5)的倍数时,(LmcsPivot[i]>>(BitDepth-5))的值不应该等于(LmcsPivot[i+1]>>(BitDepth-5))的值。
lmcs_delta_abs_crs指定变量lmcsDeltaCrs的绝对码字值。lmcs_delta_abs_crs的值应该在0到7之的范围内(含这两个值)。当不存在时,lmcs_delta_abs_crs被推断为等于0。
lmcs_delta_sign_crs_flag指定变量lmcsDeltaCrs的符号。当不存在时,lmcs_delta_sign_crs_flag被推断为等于0。
变量lmcsDeltaCrs被推导如下:
lmcsDeltaCrs=(1-2*lmcs_delta_sign_crs_flag)*lmcs_delta_abs_crs (104)
比特流一致性的要求是,当lmcsCW[i]不等于0时,(lmcsCW[i]+lmcsDeltaCrs)应该在(OrgCW>>3)到((OrgCW<<3)-1)的范围内(含这两个值)。
变量ChromaScaleCoeff[i](其中i=0…15)被推导如下:
Figure BDA0003972234000000851
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的范围内(含这两个值)。
ScalingMatrixDCRec[id 14]的值应该大于0。
scaling_list_delta_coef[id][i]指定当scaling_list_copy_mode_flag[id]等于0时,当前矩阵系数ScalingList[id][i]与先前矩阵系数ScalingList[id][i-1]之间的差。scaling_list_delta_coef[id][i]的值应该在-128到127的范围内(含这两个值)。当scaling_list_copy_mode_flag[id]等于1时,ScalingList[id]的所有元素都被设置为等于0。
(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.5PH语法和语义
在最新的VVC草案文本中,PH语法和语义如下:
Figure BDA0003972234000000871
Figure BDA0003972234000000881
PH RBSP包含PH语法结构,即picture_header_structure()。
Figure BDA0003972234000000882
Figure BDA0003972234000000891
Figure BDA0003972234000000901
Figure BDA0003972234000000911
Figure BDA0003972234000000921
Figure BDA0003972234000000931
Figure BDA0003972234000000941
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指定图片的所有编解码条带的slice_type等于2。ph_inter_slice_allowed_flag等于1指定图片中可能有也可能没有一个或多个slice_type等于0或1的编解码条带。
ph_intra_slice_allowed_flag等于0指定图片的所有编解码条带slice_type等于0或1。ph_intra_slice_allowed_flag等于1指定图片中可能有也可能没有一个或多个slice_type等于2的编解码条带。当不存在时,ph_intra_slice_allowed_flag的值被推断为等于1。
注意1-对于理应是在不需要改变PH NAL单元的情况下进行基于子图片的比特流合并的比特流,编码器预计将ph_inter_slice_allowed_flag和ph_intra_slice_allowed_flag两者的值都设置为等于1。
non_reference_picture_flag等于1指定与PH相关联的图片从不被用作参考图片。non_reference_picture_flag等于0指定与PH相关联的图片可能或可能不被用作参考图片。
ph_pic_parameter_set_id为使用中的PPS指定pps_pic_parameter_set_id的值。ph_pic_parameter_set_id的值应该在0到63的范围内(含这两个值)。
比特流一致性的要求是,PH的TemporalId的值应该大于或等于pps_pic_parameter_set_id等于ph_pic_parameter_set_id的PPS的TemporalId的值。
ph_pic_order_cnt_lsb指定用于当前图片的图片顺序计数模数MaxPicOrderCntLsb。ph_pic_order_cnt_lsb语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4比特。ph_pic_order_cnt_lsb的值应该在0到MaxPicOrderCntLsb-1的范围内(含这两个值)。
no_output_of_prior_pics_flag影响在CLVSS图片的解码之后的DPB中的先前解码图片的输出,该CLVSS图片不是附录C中所指定的比特流中的第一图片。
recovery_poc_cnt指定按输出次序的解码图片的恢复点。如果当前图片是与PH相关联的GDR图片,并且在CLVS中有按解码次序跟随当前GDR图片的图片picA,该CLVS的PicOrderCntVal等于当前GDR图片的PicOrderCntVal加上recovery_poc_cnt的值,则图片picA被称为恢复点图片。否则,输出次序中PicOrderCntVal大于当前图片的PicOrderCntVal加上recovery_poc_cnt的值的第一图片被称为恢复点图片。在解码次序中,恢复点图片不应该在当前GDR图片之前。recovery_poc_cnt的值应该在0到MaxPicOrderCntLsb-1的范围内(含这两个值)。
当当前图片是GDR图片时,变量RpPicOrderCntVal被推导如下:
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (82)
注意2-当gdr_enabled_flag等于1并且当前图片的PicOrderCntVal大于或等于相关联的GDR图片的RpPicOrderCntVal时,输出次序中的当前和后续解码图片与通过从解码次序中在相关联GDR图片之前的先前IRAP图片(当其存在时)开始解码处理而产生的对应图片确切地匹配。
ph_extra_bit[i]可以等于1或0。符合该规范的该版本的解码器应该忽略ph_extra_bit[i]的值。其值不影响解码器符合该版本的该规范中所指定的档次。
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。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_alf_aps_id_luma[i]的APS NAL单元的alf_luma_filter_signal_flag的值应该等于1。
aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于ph_alf_aps_id_luma[i]的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。
aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于ph_alf_aps_id_chroma的APS NAL单元的alf_chroma_filter_signal_flag的值应该等于1。
aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于ph_alf_aps_id_chroma的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
ph_cc_alf_cb_enabled_flag等于1指定用于Cb颜色分量的跨分量滤波器为与PH相关联的所有条带启用,并且其可以适用于条带中的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颜色分量所参考的ALFAPS的adaptation_parameter_set_id。
aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于ph_cc_alf_cb_aps_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应该等于1。
aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于ph_cc_alf_cb_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
ph_cc_alf_cr_enabled_flag等于1指定用于Cr颜色分量的跨分量滤波器为与PH相关联的所有条带启用,并且其可以适用于条带中的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颜色分量所参考的ALFAPS的adaptation_parameter_set_id。
aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于ph_cc_alf_cr_aps_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应该等于1。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_cc_alf_cr_aps_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。aps_params_type等于LMCS_APS并且adaptation_parameter_set_id等于ph_lmcs_aps_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。
aps_params_type等于SCALING_APS并且adaptation_parameter_set_id等于ph_scaling_list_aps_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被推导如下:
VirtualBoundariesPresentFlag=0
if(sps_virtual_boundaries_enabled_flag)
VirtualBoundariesPresentFlag=sps_virtual_boundaries_present_flag||
ph_virtual_boundaries_present_flag (83)
ph_num_ver_virtual_boundaries指定PH中存在的ph_virtual_boundaries_pos_x[i]语法元素的数量。当ph_num_ver_virtual_boundaries不存在时,其被推断为等于0。
变量NumVerVirtualBoundaries被推导如下:
NumVerVirtualBoundaries=0
if(sps_virtual_boundaries_enabled_flag)
NumVerVirtualBoundaries=sps_virtual_boundaries_present_flag?
sps_num_ver_virtual_boundaries:ph_num_ver_virtual_boundaries (84)
ph_virtual_boundaries_pos_x[i]指定第i个垂直虚拟边界的位置(以亮度样点除以8为单位)。ph_virtual_boundaries_pos_x[i]的值应该在1到Ceil(pic_width_in_luma_samples÷8)-1的范围内(含这两个值)。
指定垂直虚拟边界的位置的列表VirtualBoundariesPosX[I](i范围为0至NumVerVirtualBoundaries-1,含这两个值)(以亮度样点为点位)被推导如下:
for(i=0;i<NumVerVirtualBoundaries;i++)
VirtualBoundariesPosX[i]=(sps_virtual_boundaries_present_flag?
sps_virtual_boundaries_pos_x[i]:
ph_virtual_boundaries_pos_x[i])*8 (85)
任何两个垂直虚拟边界之间的距离应该大于或等于CtbSizeY亮度样点。
ph_num_hor_virtual_boundaries指定PH中存在的ph_virtual_boundaries_pos_y[i]语法元素的数量。当ph_num_hor_virtual_boundaries不存在时,其被推断为等于0。
参数NumHorVirtualBoundaries被推导如下:
NumHorVirtualBoundaries=0
if(sps_virtual_boundaries_enabled_flag)
NumHorVirtualBoundaries=sps_virtual_boundaries_present_flag?
sps_num_hor_virtual_boundaries:ph_num_hor_virtual_boundaries (86)
当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的范围内(含这两个值)。
列表VirtualBoundariesPosY[I](其中i的范围为0到NumHorVirtualBoundaries-1,含这两个值)(以亮度样点为单位)指定水平虚拟边界的位置,其被推导如下:
for(i=0;i<NumHorVirtualBoundaries;i++)
VirtualBoundariesPosY[i]=(sps_virtual_boundaries_present_flag?
sps_virtual_boundaries_pos_y[i]:ph_virtual_boundaries_pos_y[i])*8 (87)
任何两个水平虚拟边界之间的距离应该大于或等于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的范围内(含这两个值)。当不存在时,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)的范围内(含这两个值)。当不存在时,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范围内(含这两个值)。当不存在时,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的范围内(含这两个值)。当不存在时,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的范围内(含这两个值)。当不存在时,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)的范围内(含这两个值)。当不存在时,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的范围内(含这两个值)。当不存在时,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的范围内(含这两个值)。当不存在时,ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值被推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_chroma。
ph_cu_qp_delta_subdiv_intra_slice指定载送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧内条带中的编解码单元的最大cbSubdiv值。
ph_cu_qp_delta_subdiv_intra_slice的值应在0到2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)的范围内(含这两个值)。
当不存在时,ph_cu_qp_delta_subdiv_intra_slice的值被推断为等于0。
ph_cu_chroma_qp_offset_subdiv_intra_slice指定载送cu_chroma_qp_offset_flag的帧内条带中的编解码单元的最大cbSubdiv值。
ph_cu_chroma_qp_offset_subdiv_intra_slice的值应该在0到2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)的范围内(含这两个值)。
当不存在时,ph_cu_chroma_qp_offset_subdiv_intra_slice的值被推断为等于0。ph_log2_diff_min_qt_min_cb_inter_slice指定由CTU的四叉树划分所产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数和与PH相关联的slice_type等于0(B)或1(P)的条带中的亮度CU的亮度样点的最小亮度编解码块尺寸的以2为底的对数之间的差。
ph_log2_diff_min_qt_min_cb_inter_slice的值应该在0到CtbLog2SizeY-MinCbLog2SizeY的范围内(含这两个值)。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值被推断为等于sps_log2_diff_min_qt_min_cb_inter_slice。
ph_max_mtt_hierarchy_depth_inter_slice指定用于编解码单元的最大层次深度,该编解码单元由与PH相关联的slice_type等于0(B)或1(P)条带中的四叉树叶的多类型树划分所产生。
ph_max_mtt_hierarchy_depth_inter_slice的值应该在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围内(含这两个值)。当不存在时,ph_max_mtt_hierarchy_depth_inter_slice的值被推断为等于sps_max_mtt_hierarchy_depth_inter_slice。
ph_log2_diff_max_bt_min_qt_inter_slice指定亮度叶块的亮度样点的最小尺寸(宽度或高度)与可以使用二叉划分进行划分的亮度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数之间的差,该亮度叶块由与PH相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分所产生。ph_log2_diff_max_bt_min_qt_inter_slice的值应该在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围内(含这两个值)。当不存在时,ph_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_bt_min_qt_inter_slice。
ph_log2_diff_max_tt_min_qt_inter_slice指定亮度叶块的亮度样点的最小尺寸(宽度或高度)和可以使用三叉划分进行划分的亮度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数之间的差,该亮度叶块由与PH相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分所产生。ph_log2_diff_max_tt_min_qt_inter_slice的值应该0到CtbLog2SizeY-MinQtLog2SizeInterY的范围内(含这两个值)。当不存在时,ph_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_tt_min_qt_inter_slice。
ph_cu_qp_delta_subdiv_inter_slice指定载送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧间条带中的编解码单元的最大cbSubdiv值。
ph_cu_qp_delta_subdiv_inter_slice的值应该在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)的范围内(含这两个值)。
当不存在时,ph_cu_qp_delta_subdiv_inter_slice的值被推断为等于0。
ph_cu_chroma_qp_offset_subdiv_inter_slice指定载送cu_chroma_qp_offset_flag的帧间条带中的编解码单元的最大cbSubdiv值。
ph_cu_chroma_qp_offset_subdiv_inter_slice的值应该在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)的范围内(含这两个值)。
当不存在时,ph_cu_chroma_qp_offset_subdiv_inter_slice的值被推断为等于0。
ph_temporal_mvp_enabled_flag指定时域运动矢量预测值是否可以被用于与PH相关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,与PH相关联的条带的语法元素应该被约束,使得在条带的解码中不使用时域运动矢量预测值。否则(ph_temporal_mvp_enabled_flag等于1),时域运动矢量预测值可以被用于解码与PH相关联的条带。当不存在时,ph_temporal_mvp_enabled_flag的值被推断为等于0。当DPB中没有参考图片具有与当前图片相同的空域分辨率时,ph_temporal_mvp_enabled_flag的值应该等于0。
基于子块的Merge MVP候选的最大数量MaxNumSubblockMergeCand被推导如下:
Figure BDA0003972234000001041
Figure BDA0003972234000001051
MaxNumSubblockMergeCand的值应该在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的范围内(含这两个值)。
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx参考参考图片列表1中的条目,ph_collocated_ref_idx的值应在0到num_ref_entries[1][RplsIdx[1]]-1的范围内(含这两个值)。
当不存在时,ph_collocated_ref_idx的值被推断为等于0。
mvd_l1_zero_flag等于1指示不解析mvd_coding(x0,y0,1)语法结构,并且对于compIdx=0..1且cpIdx=0..2,MvdCpL1[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的范围内(含这两个值)。
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指定β和tC(除以2)的去方块参数偏移,其适用于与PH相关联的条带的亮度分量。ph_beta_offset_div2和ph_tc_offset_div2的值两者都应该在-12到12的范围内(含这两个值)。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2指定β和tC(除以2)的去方块参数偏移,其适用于与PH相关的条带的Cb分量。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值两者都应该在-12到12范围内(含这两个值)。
当不存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值被推断为分别等于pps_cb_beta_offset_div2和pps_cb_tc_offset_div2。
ph_cr_beta_offset_div2和ph_cr_tc_offset_div2指定β和tC(除以2)的去方块参数偏移,其适用于与PH相关的条带的Cr分量。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应在-12到12的范围内(含这两个值)。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
ph_extension_length以字节为单位指定PH扩展数据的长度,不包括被用于信令通知ph_extension_length其自身的比特。ph_extension_length的值应该在0到256的范围内(含这两个值)。当不存在时,ph_extension_length的值被推断为等于0。
ph_extension_data_byte可以具有任何值。符合该规范的该版本的解码器应该忽略ph_extension_data_byte的值。它的值不影响解码器符合该规范的该版本中所指定的档次
3.6SH语法和语义
在最新的VVC草案文本中,SH语法和语义如下:
Figure BDA0003972234000001081
Figure BDA0003972234000001091
Figure BDA0003972234000001101
Figure BDA0003972234000001111
Figure BDA0003972234000001121
Figure BDA0003972234000001131
变量CuQpDeltaVal指定用于包含cu_qp_delta_abs的编解码单元的亮度量化参数与其预测之间的差被设置为等于0。变量CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr指定在确定包含cu_chroma_qp_offset_flag的编解码单元的Qp′Cb、Qp′Cr和Qp′CbCr量化参数的各自的值时所使用的值,这些值都被设置为等于0。
picture_header_in_slice_header_flag等于1指定PH语法结构存在于条带标头中。picture_header_in_slice_header_flag等于0指定PH语法结构不存在于条带标头头中。
比特流一致性的要求是,在CLVS的所有编解码条带中,picture_header_in_slice_header_flag的值应该相同。
当用于编解码条带的picture_header_in_slice_header_flag等于1时,比特流一致性的要求是CLVS中不应该存在nal_unit_type等于PH_NUT的VCL NAL单元。
当picture_header_in_slice_header_flag等于0时,当前图片中的所有编解码条带应该具有picture_header_in_slice_header_flag等于0,并且当前PU应该具有PH NAL单元。
slice_subpic_id指定包含条带的子图片的子图片id。如果slice_subpic_id存在,则变量CurrSubpicIdx的值被推导为使得SubpicIdVal[CurrSubpicIdx]等于slice_subpic_id。否则(slice_subpic_id不存在),CurrSubpicIdx被推导为等于0。slice_subpic_id的长度为sps_subpic_id_len_minus1+1比特。
slice_address指定条带的条带地址。当不存在时,slice_address的值被推断为等于0。当rect_slice_flag等于1且NumSlicesInSubpic[CurrSubpicIdx]等于1时,slice_address的值被推断为等于0。
如果rect_slice_flag等于0,以下适用:
-条带地址是光栅扫描片索引。
-slice_address的长度为Ceil(Log2(NumTilesInPic))比特。
-slice_address的值应该在0到NumTilesInPic-1的范围内(含这两个值)。
否则(rect_slice_flag等于1),以下适用:
-条带地址是条带的子图片级别条带索引。
-slice_address的长度为Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))比特。
-slice_address的值应该在0到NumSlicesInSubpic[CurrSubpicIdx]-1的范围内(含这两个值)。
比特流一致性的要求是以下约束适用:
-如果rect_slice_flag等于0或subpic_info_present_flag等于0,slice_address的值不应该等于相同编解码图片的任何其它编解码条带NAL单元的slice_address的值。
-否则,该对slice_subpic_id和slice_address值不应该等于相同编解码图片的任何其它编解码条带NAL单元的该对slice_subpic_id和slice_address值。
-图片的条带的形状应该是这样的,当被解码时,每个CTU的整个左边界和整个上边界应该由图片边界或由先前解码的CTU的边界组成。
sh_extra_bit[i]可以等于1或0。符合该规范的该版本的解码器应该忽略sh_extra_bit[i]的值。其值不影响解码器符合该规范的该版本中所指定的档次。num_tiles_in_slice_minus1加1(当存在时)指定条带中的片的数量。
num_tiles_in_slice_minus1的值应该在0到NumTilesInPic-1的范围内(含这两个值)。
指定当前条带中CTU的数量的变量NumCtuslnCurrSlic和列表CtbAddrInCurrSlice[i](其中i在0到NumCtusInCurrSlice–1的范围内,含这两个值)指定条带内第i个CTB的图片光栅扫描地址,其被推导如下:
Figure BDA0003972234000001141
Figure BDA0003972234000001151
变量SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos和SubpicBotBoundaryPos被推导如下:
Figure BDA0003972234000001152
Figure BDA0003972234000001161
slice_type根据表9指定了条带的编解码类型。
表9–对slice_type的命名关联
Figure BDA0003972234000001162
当不存在时,slice_type的值被推断为等于2。
当ph_intra_slice_allowed_flag等于0时,slice_type的值应该等于0或1。当nal_unit_type在IDR_W_RADL到CRA_NUT的范围内(含这两个值),且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,slice_type应该等于2。
变量MinQtLog2SizeY、MinQtLog2SizeC、MinQtSizeY、MinQtSizeC、MaxBtSizeY、MaxBtSizeC、MinBtSizeY、MaxTtSizeY、MaxTtSizeC、MinTtSizeY、MaxMttDepthY和MaxMttDepthC被推导如下:
-如果slice_type等于2(I),以下使用:
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。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的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]的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的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。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的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的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的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。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cb_aps_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的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cb_aps_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。aps_params_type等于ALF_APS且daptation_parameter_set_id等于slice_cc_alf_cr_aps_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的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cr_aps_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应该等于1。
当separate_colour_plane_flag等于1时,colour_plane_id标识与当前条带相关联的颜色平面。colour_plane_id的值应该在0到2的范围内(含这两个值)。
colour_plane_id值0、1和2分别对应于Y、Cb和Cr平面。colour_plane_id的值3由ITU-T|ISO/IEC保留供将来使用。
注意1-一个图片的不同颜色平面的解码处理之间没有相关性。
num_ref_idx_active_override_flag等于1指定语法元素num_ref_idx_active_minus1[0]存在于P和B条带,并且语法元素num_ref_idx_active_minus1[1]存在于B条带。
num_ref_idx_active_override_flag等于0指定语法元素num_ref_idx_active_minus1[0]和num_ref_idx_active_minus1[1]不存在。当不存在时,num_ref_idx_active_override_flag的值被推断为等于1。
num_ref_idx_active_minus1[i]被用于变量NumRefIdxActive[i]的推导,如公式143所指定的。num_ref_idx_active_minus1[i]的值应在该0到14的范围内(含这两个值)。
对于i等于0或1,当当前条带是B条带,num_ref_idx_active_override_flag等于1,且num_ref_idx_active_minus1[i]不存在时,num_ref_idx_active_minus1[i]被推断为等于0。
当当前条带是P条带,num_ref_idx_active_override_flag等于1,且num_ref_idx_active_minus1[0]不存在时,num_ref_idx_active_minus1[0]被推断为等于0。
变量NumRefIdxActive[i]被推导为如下:
Figure BDA0003972234000001201
Figure BDA0003972234000001211
NumRefIdxActive[i]-1的值指定可以被用于解码条带的参考图片列表i的最大参考索引。当NumRefIdxActive[i]的值等于0时,没有用于参考图片列表的参考索引i可以被用于解码条带。
当当前条带是P条带时,NumRefIdxActive[0]的值应该大于0。
当当前条带是B条带时,NumRefIdxActive[0]和NumRefIdxActive[1]两者都应该大于0。
cabac_init_flag指定确定用于上下文变量的初始化处理中所使用的初始化表的方法。当cabac_init_flag不存在时,其被推断为等于0。
slice_collocated_from_l0_flag等于1指定被用于时域运动矢量预测的并置图片是从参考图片列表0推导出的。slice_collocated_from_l0_flag等于0指定被用于时域运动矢量预测的并置图片是从参考图片列表1推导出的。
当slice_type等于B或P,ph_temporal_mvp_enabled_flag等于1,并且slice_collocated_from_l0_flag不存在时,以下适用:
-如果rpl_info_in_ph_flag等于1,则slice_collocated_from_l0_flag被推断为等于ph_collocated_from_l0_flag。
-否则(rpl_info_in_ph_flag等于0且slice_type等于P),slice_collocated_from_l0_flag的值被推断为等于1。
slice_collocated_ref_idx指定被用于时域运动矢量预测的并置图片的参考索引。
当slice_type等于P或者当slice_type等于B并且slice_collocated_from_l0_flag等于1时,slice_collocated_ref_idx参考参考图片列表0中的条目,并且slice_collocated_ref_idx的值应该在0到NumRefIdxActive[0]-1的范围内(含这两个值)。
当slice_type等于B并且slice_collocated_from_l0_flag等于0时,slice_collocated_ref_idx参考参考图片列表1中的条目,并且slice_collocated_ref_idx的值应该在0到NumRefIdxActive[1]-1的范围内(含这两个值)。
当slice_collocated_ref_idx不存在时,以下适用:
-如果rpl_info_in_ph_flag等于1,则slice_collocated_ref_idx的值被推断为等于ph_collocated_ref_idx。
-否则(rpl_info_in_ph_flag等于0),slice_collocated_ref_idx的值被推断为等于0。
比特流一致性的要求是,slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应该是相同的。
比特流一致性的要求是,slice_collocated_ref_idx所参考的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应该分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]应该等于0。
slice_qp_delta指定在被编解码单元层中的CuQpDeltaVal的值修改之前将被用于条带中的编解码块的QpY的初始值。
当qp_delta_info_in_ph_flag等于0时,用于条带的QpY量化参数的初始值SliceQpY被推导如下:
SliceQpY=26+init_qp_minus26+slice_qp_delta (144)
SliceQpY的值应该在-QpBdOffset到+63的范围内(含这两个值)。
当下列条件任一为真时:
-wp_info_in_ph_flag的值等于1,pps_weighted_pred_flag等于1,slice_type等于P。
-wp_info_in_ph_flag的值等于1,pps_weighted_bipred_flag等于1,slice_type等于B。
以下适用:
-NumRefIdxActive[0]的值应该小于或等于NumWeightsL0的值。
-对于i在0到NumRefIdxActive[0]-1范围内(含这两个值)的每个参考图片索引RefPicList[0][i],适用于参考图片索引的亮度权重、Cb权重和Cr权重分别是LumaWeightL0[i]、ChromaWeightL0[0][i]和ChromaWeightL0[1][i]。
当wp_info_in_ph_flag等于1,pps_weighted_bipred_flag等于1,slice_type等于B时,以下适用:
-NumRefIdxActive[1]的值应该小于或等于NumWeightsL1的值。
-对于i在0到NumRefIdxActive[1]-1范围内(含这两个值)的每个参考图片索引RefPicList[1][i],适用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL1[i]、ChromaWeightL1[0][i]和ChromaWeightL1[1][i]。
slice_cb_qp_offset指定在确定Qp′Cb量化参数值时要被添加到pps_cb_qp_offset值的差。slice_cb_qp_offset的值应在-12到+12范围内(含这两个值)。当slice_cb_qp_offset不存在时,其被推断为等于0。
pps_cb_qp_offset+slice_cb_qp_offset的值应在-12至+12范围内(含这两个值)。
slice_cr_qp_offset指定在确定Qp′Cr量化参数值时要被添加到pps_cr_qp_offset值的差。slice_cr_qp_offset的值应该在-12到+12范围内(含这两个值)。当slice_cr_qp_offset不存在时,其被推断为等于0。
pps_cr_qp_offset+slice_cr_qp_offset的值应该在-12至+12范围内(含这两个值)。
slice_joint_cbcr_qp_offset指定在确定Qp′CbCr的值时要被添加到pps_joint_cbcr_qp_offset_value的值的差。slice_joint_cbcr_qp_offset的值应该在-12至+12范围内(含这两个值)。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于0。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset的值应该在-12至+12范围内(含这两个值)。
cu_chroma_qp_offset_enabled_flag等于1指定cu_chroma_qp_offset_flag可以存在于变换单元和调色板编解码语法中。cu_chroma_qp_offset_enabled_flag等于0指定cu_chroma_qp_offset_flag不存在于变换单元或调色板编解码语法中。当不存在时,cu_chroma_qp_offset_enabled_flag的值被推断为等于0。
slice_sao_luma_flag等于1指定为当前条带中的亮度分量启用SAO;slice_sao_luma_flag等于0指定为当前条带中的亮度分量禁用SAO。当slice_sao_luma_flag不存在时,其被推断为等于ph_sao_luma_enabled_flag。
slice_sao_chroma_flag等于1指定为当前条带中的色度分量启用SAO;slice_sao_chroma_flag等于0指定为当前条带中的色度分量禁用SAO。当slice_sao_chroma_flag不存在时,其被推断为等于ph_sao_chroma_enabled_flag。
slice_deblocking_filter_override_flag等于1指定去方块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0指定去方块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于ph_deblocking_filter_override_flag。
slice_deblocking_filter_disabled_flag等于1指定没有对当前条带应用去方块滤波器的操作。slice_deblocking_filter_disabled_flag等于0指定对当前条带应用去方块滤波器的操作。当slice_deblocking_filter_disabled_flag不存在时,其被推断为等于ph_deblocking_filter_disabled_flag。
slice_beta_offset_div2和slice_tc_offset_div2指定适用于当前条带的亮度分量的β和tC(除以2)的去方块参数偏移。slice_beta_offset_div2和slice_tc_offset_div2的值两者都应该在-12至12范围内(含这两个值)。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定适用于当前条带的Cb分量的β和tC(除以2)的去方块参数偏移。slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值两者都应该在-12至12范围内(含这两个值)。当不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值被推断为分别等于ph_cb_beta_offset_div2和ph_cb_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定适用于当前条带的Cr分量的β和tC(除以2)的去方块参数偏移。slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值两者都应该在-12至12范围内(含这两个值)。当不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值被推断为分别等于ph_cr_beta_offset_div2和ph_cr_tc_offset_div2。
slice_ts_residual_coding_disabled_flag等于1指定residual_coding()语法结构被用于解析当前条带的变换跳过块的残差样点。
slice_ts_residual_coding_disabled_flag等于0指定residual_ts_coding()语法结构被用于解析当前条带的变换跳过块的残差样点。当slice_ts_residual_coding_disabled_flag不存在时,其被推断为等于0。
slice_lmcs_enabled_flag等于1指定为当前条带启用具有色度缩放的亮度映射。slice_lmcs_enabled_flag等于0指定不为当前条带启用具有色度缩放的亮度映射。当slice_lmcs_enabled_flag不存在时,其被推断为等于0。
slice_scaling_list_present_flag等于1指定被用于当前条带的缩放列表数据是基于被包含在参考缩放列表APS中的缩放列表数据推导出的,其中该参考缩放列表APS的aps_params_type等于SCALING_APS和adaptation_parameter_set_id等于ph_scaling_list_aps_id。
slice_scaling_list_present_flag等于0指定被用于当前图片的缩放列表数据是在条款7.4.3.21中所指定的默认缩放列表数据。当不存在时,slice_scaling_list_present_flag的值被推断为等于0。
指定当前条带中入口点的数量的变量NumEntryPoints被推导如下:
Figure BDA0003972234000001251
Figure BDA0003972234000001261
offset_len_minus1加1指定entry_point_offset_minus1[i]语法元素的长度(以比特为单位)。offset_len_minus1的值应该在0到31的范围内(含这两个值)。
entry_point_offset_minus1[i]加1指定第i个入口点偏移(以字节为单位),并且用offset_len_minus1加1比特进行表示。跟随条带标头的条带数据由NumEntryPoints+1个子集组成,子集索引值范围为0到NumEntryPoints(含这两个值)。条带数据的第一字节被视为字节0。当存在时,出现在编解码条带NAL单元的条带数据部分中的仿真防止字节被计数为条带数据的一部分,用于子集标识的目的。子集0由编解码条带数据的字节0到entry_point_offset_minus1[0]组成(含这两个值);子集k(k的范围为1至NumEntryPoints-1,含这两个值)由编解码条带数据的字节firstByte[k]至lastByte[k]组成(含这两个值),其中firstByte[k]和lastByte[k]被定义为:
Figure BDA0003972234000001262
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的范围内,含这两个值)应该由片内CTU行中所有CTU的所有编解码比特组成,并且子集的数量(即NumEntryPoints+1的值)应该等于条带内的片特定的CTU行的总数量。
slice_header_extension_length指定条带标头扩展数据的长度(以字节为单位),不包括被用于信令通知slice_header_extension_length本身的比特。
slice_header_extension_length的值应该在0到256的范围内(含这两个值)。
当不存在时,slice_header_extension_length的值被推断为等于0。
slice_header_extension_data_byte[i]可以具有任何值。符合该规范的该版本的解码器应该忽略所有slice_header_extension_data_byte[i]语法元素的值。
其值不影响解码器符合该规范的该版本中所指定的档次。
3.7变换单元语法(条带数据)
在最新的VVC草案文本中,变换单元的语法和语义如下:
Figure BDA0003972234000001271
Figure BDA0003972234000001281
Figure BDA0003972234000001291
Figure BDA0003972234000001301
Figure BDA0003972234000001311
Figure BDA0003972234000001321
变换系数级别由阵列TransCoeffLevel[x0][y0][cIdx][xC][yC]表示。阵列索引x0,y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。阵列索引cIdx指定颜色分量的指示符;对于Y其等于0,对于Cb其等于1,且对于Cr其等于2。阵列索引xC和yC指定当前变换块内的变换系数位置(xC,yC)。当条款7.3.10.11中未指定TransCoeffLevel[x0][y0][cIdx][xC][yC]的值时,其被推断为等于0。
tu_cbf_cb[x0][y0]等于1指定Cb变换块包含一个或多个不等于0的变换系数级别。阵列索引x0,y0指定所考虑的变换块的左上位置(x0,y0)。
当tu_cbf_cb[x0][y0]不存在时,其值被推断为等于0。
tu_cbf_cr[x0][y0]等于1指定Cr变换块包含一个或多个不等于0的变换系数级别。阵列索引x0,y0指定所考虑的变换块的左上位置(x0,y0)。
当tu_cbf_cr[x0][y0]不存在时,其值被推断为等于0。
tu_cbf_luma[x0][y0]等于1指定亮度变换块包含一个或多个不等于0的变换系数级别。阵列索引x0,y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
当tu_cbf_luma[x0][y0]不存在时,其值被推断如下:
-如果cu_sbt_flag等于1,并且以下条件之一为真,tu_cbf_luma[x0][y0]被推断为等于0:
-subTuIndex等于0,cu_sbt_pos_flag等于1。
-subTuIndex等于1,cu_sbt_pos_flag等于0。
-否则,如果treeType等于DUAL_TREE_CHROMA,tu_cbf_luma[x0][y0]被推断为等于0。
-否则,tu_cbf_luma[x0][y0]被推断为等于1。
tu_joint_cbcr_residual_flag[x0][y0]指定用于色度分量Cb和Cr的残差样点是否作为单个变换块被编解码。阵列索引x0,y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
tu_joint_cbcr_residual_flag[x0][y0]等于1指定变换单元语法包括单个变换块的变换系数级别,其中Cb和Cr两者的残差样点从该单个变换块中推导。
tu_joint_cbcr_residual_flag[x0][y0]等于0指定色度分量的变换系数级别如语法元素tu_cbf_cb[x0][y0]和tu_cbf_cr[x0][y0]所指示的被编解码。
当tu_joint_cbcr_residual_flag[x0][y0]不存在时,其被推断为等于0。
取决于tu_joint_cbcr_residual_flag[x0][y0]、tu_cbf_cb[x0][y0]和tu_cbf_cr[x0][y0],变量TuCResMode[x0][y0]被推导如下:
-如果tu_joint_cbcr_residual_flag[x0][y0]等于0,则变量TuCResMode[x0][y0]被设置为等于0。
-否则,如果tu_cbf_cb[x0][y0]等于1且tu_cbf_cr[x0][y0]等于0,则变量TuCResMode[x0][y0]被设置为等于1。
-否则,如果tu_cbf_cb[x0][y0]等于1,则变量TuCResMode[x0][y0]被设置为等于2。
-否则,变量TuCResMode[x0][y0]被设置为等于3。
cu_qp_delta_abs指定当前编解码单元的量化参数与其预测之间的差CuQpDeltaVal的绝对值。
cu_qp_delta_sign_flag指定CuQpDeltaVal的符号,如下:
-如果cu_qp_delta_sign_flag等于0,对应的CuQpDeltaVal具有正值。
-否则(cu_qp_delta_sign_flag等于1),对应的CuQpDeltaVal具有负值。
当cu_qp_delta_sign_flag不存在时,其被推断为等于0。
当cu_qp_delta_abs存在时,变量IsCuQpDeltaCoded和CuQpDeltaVal被推导如下:
IsCuQpDeltaCoded=1 (187)
CuQpDeltaVal=cu_qp_delta_abs*(1-2*cu_qp_delta_sign_flag) (188)
CuQpDeltaVal的值应该在-(32+QpBdOffset/2)到+(31+QpBdOffset/2)的范围内(含这两个值)。
cu_chroma_qp_offset_flag当存在且等于1时,指定cb_qp_offset_list[]中的条目被用于确定CuQpOffsetCb的值,cr_qp_offset_list[]中的对应的条目被用于确定CuQpOffsetCr的值,joint_cbcr_qp_offset_list[]中的对应的条目被用于确定CuQpOffsetCbCr的值。cu_chroma_qp_offset_flag等于0指定这些列表不被用于确定CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr的值。
cu_chroma_qp_offset_idx(当存在时)指定cb_qp_offset_list[]、cr_qp_offset_list[]和joint_cbcr_qp_offset_list[]中的索引,其被用于确定CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr的值。当存在时,cu_chroma_qp_offset_idx的值应该在0到chroma_qp_offset_list_len_minus1的范围内(含这两个值)。当不存在时,cu_chroma_qp_offset_idx的值被推断为等于0。
当cu_chroma_qp_offset_flag存在时,以下适用:
-变量IsCuChromaQpOffsetCoded被设置为等于1。
-变量CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr被推导如下:
-如果cu_chroma_qp_offset_flag等于1,则以下适用:
CuQpOffsetCb=cb_qp_offset_list[cu_chroma_qp_offset_idx] (189)
CuQpOffsetCr=cr_qp_offset_list[cu_chroma_qp_offset_idx] (190)
CuQpOffsetCbCr=joint_cbcr_qp_offset_list[cu_chroma_qp_offset_idx] (191)
-否则(cu_chroma_qp_offset_flag等于0),CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr都被设置为等于0。
transform_skip_flag[x0][y0][cIdx]指定变换是否适用于相关联的变换块。
阵列索引x0,y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。阵列索引cIdx指定颜色分量的指示符;对于Y其等于0,对于Cb其等于1,且对于Cr其等于2。transform_skip_flag[x0][y0][cIdx]等于1指定没有变换适用于相关联的变换块。
transform_skip_flag[x0][y0][cIdx]等于0指定变换是否适用于相关联的变换块的决定取决于其他语法元素。
当transform_skip_flag[x0][y0][cIdx]不存在时,其被推断如下:
-如果BdpcmFlag[x0][y0][cIdx]等于1,则transform_skip_flag[x0][y0][cIdx]被推断为等于1。
-否则(BdpcmFlag[x0][y0][cIdx]等于0),transform_skip_flag[x0][y0][cIdx]被推断为等于0。
4.所公开的实施例的技术问题的示例
对于SH、PPS、APS语法元素(SE)的现有设计存在以下问题:
1)在最新的VVC草案文本中,APS语法元素scaling_list_chroma_present_flag被信令通知以控制在SCALING APS中被信令通知的缩放/量化矩阵(QM)的数量,即,当scaling_list_chroma_present_flag等于1时,对于亮度和色度两者信令通知28个QM;否则(当scaling_list_chroma_present_flag等于0时),仅对亮度信令通知10个QM。目前,scaling_list_chroma_present_flag的值基于ChromaArrayType(推导自SPS语法元素)进行约束,即当ChromaArrayType不等于0时,要求scaling_list_chroma_present_flag的值等于1,而当ChromaArrayType等于0时,要求scaling_list_chroma_present_flag的值等于0。语义上的这种约束引入了APS对SPS的依赖性,这是不应该发生的,因为APS可以适用于参考不同SPS的图片(或图片的条带),这可能与ChromaArrayType的不同值相关联。
a.此外,目前,一旦使用经用户定义的缩放列表对块进行编解码,亮度和色度两者(如果可用)都应该应用经用户定义的缩放列表,即经用户定义的亮度和色度缩放列表不能被分离地开启/关闭。这种设计可能不高效/灵活。
2)在最新的VVC草案文本中,当信令通知LMCS APS语法结构时,总是信令通知与色度残差缩放相关的APS语法元素,不论ChromaArrayType是否等于0(例如,视频内容中没有色度分量)。当视频内容中没有色度处置时,这可能导致不必要的色度相关语法元素的发送。
3)在最新的VVC草案文本中,SH语法元素slice_ts_residual_coding_disabled_flag被用于指定基于变换跳过的残差编解码(TSRC)还是常规残差编解码(RRC)被用于变换跳过块。然而,现在slice_ts_residual_coding_disabled_flag总是在SH中被信令通知,不管SPS级别转换跳过的禁用。如果sps_transform_skip_enabled_flag、transform_skip_flag始终等于0,并且切换TSRC和RRC的条件(!transform_skip_flag[xC][yC][1]||slice_ts_residual_coding_disabled_flag)将始终为真,在这种情况下,slice_ts_residual_coding_disabled_flag变得毫无意义。
a.此外,当前,非TS块只能使用RRC,并且不能在TSRC和RRC之间进行切换,这对于非TS块压缩可能不是高效的。
4)在最新的VVC草案文本中,多级别控制被用于启用用于亮度块的cu_qp_delta,即,首先信令通知PPS开启/关闭控制标志cu_qp_delta_enabled_flag,然后在PH中指定量化群组(QG)尺寸,最后信令通知每个QG中的cu_qp_delta_abs的值。通过这样的设计,对于由多个条带组成的图片,当一些条带使用cu qp delta而其他条带从不使用它时,仍然需要为每一QG信令通知块级别cu_qp_delta_abs。因此,存在可以被避免的块级别的比特浪费。
5)在最新的VVC草案文本中,当PPS语法元素single_slice_per_subpic_flag等于0时,参考PPS的图片的每个子图片可以由一个或多个矩形条带组成。当single_slice_per_subpic_flag等于0时,对于参考这种PPS的图片,可能出现以下情况:
a.冗余情况:当sps_num_subpics_minus1大于0但每个子图中只有一个条带时。在这种情况下,每个图片包含多个子图片和多个矩形条带,但是single_slice_per_subpic_flag等于0,因此,需要信令通知num_slices_in_pic_minus1。然而,其被冗余地信令通知了,因为这种情况在概念上等同于single_slice_per_subpic_flag等于1,并且根本不需要信令通知该SE。
b.冗余情况:当sps_num_subpics_minus1等于0,并且参考PPS的每个图片中只有一个条带时。在这种情况下,每个图片包含仅由一个条带组成的一个子图片,但是single_slice_per_subpic_flag仍然被允许等于0,因此需要信令通知num_slices_in_pic_minus1。然而,其被冗余地信令通知了,因为这种情况在概念上等同于single_slice_per_subpic_flag等于1,并且根本不需要信令通知该SE。
c.此外,如果禁止/避免所有上述冗余情况,结果是等于0的single_slice_per_subpic_flag总是被用于图片具有多个子图片(每个子图片要么包含单个条带要么包含多个条带)或图片具有多个条带(每个图片要么包含单个子图片要么包含多个子图片)的情况。对于这两种情况,num_slices_in_pic_minus1的值总是大于1。结果是,也没有必要有条件地信令通知PPS语法元素tile_idx_delta_present_flag。
6)在最新的VVC草案文本中,片布局(诸如片的宽度和高度)是以与隐式推断相关联的显式信令的方式设计的。如果图片被划分为多个具有相同高度的片的片行,那么当前设计允许仅信令通知第一片行的高度,并且可以推断出剩余片行的高度。否则,如果图片被划分为多个具有不同高度的片的片行,那么它将显式地信令通知每个片行的高度。否则,如果图片被划分为多个片行,其中前几个片行具有不同高度,而后几个片行具有相同高度,那么它将显式地信令通知前几个片行的高度以及后几个片行中的仅一个的高度,然后具有相同高度的剩余片行的高度将在没有被信令通知的情况下被推断。通过组合显式信令和隐式推断,当前的设计对于这三种情况工作良好。但是,会有另一种情况,即如果图片被划分为多个片行,其中前几个片行具有相同的高度,而后几个片行具有不同的高度。在这种情况下,当前的设计似乎不是那么有效,因为隐式推断不能适用于这种情况,并且它仍然需要显式地信令通知每一片行的高度。同样地,对于片列信令和矩形条带布局信令也存在相同的情况,即,在条带小于片的情况下的条带高度信令。这里可以应用修改来进行改进。
7)目前,GCI语法元素no_aps_constraint_flag被用于禁用nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元。关于如果没有ALF APS,预计将在草案中提出更多的限制。
8)目前,一致性窗口参数总是在PPS中被信令通知,包括当图片宽度和高度与PPS参考的SPS中被信令通知的最大图片宽度和高度相同时,而另一方面,具有最大图片宽度和高度的图片的一致性窗口参数也在SPS中被信令通知。PPS中具有最大图片宽度和高度的图片的一致性窗口参数的信令是冗余的。
9)当no_APS_constraint_flag等于1时,意图是禁用要么存在于比特流中(也被称为带内)要么通过外部手段(例如,通过实施中的API、通过带外发送等)被提供给解码器的APS NAL单元的使用。然而,在当前的VVC规范中,no_APS_constraint_flag的语义仅适用于APS NAL单元存在于比特流中的情况。因此,即使no_APS_constraint_flag等于1,APS仍然可以通过外部手段可用。
10)目前,大多数编解码工具/特征都可以通过GCI标志来进行控制/去激活。然而,仍然有一些特征/编解码工具不具有GCI标志控制。尽可能多地控制特征/编解码工具的去激活可能是所期望的。
11)目前,当使用本地(local)双树时,它定义只有帧内和IBC编解码模式可以被用于MODE_TYPE_INTRA。此外,它定义了帧内(MODE_INTRA)、IBC(MODE_IBC),以及帧间编解码模式可以被用于MODE_TYPE_ALL。然而,调色板模式(MODE_PLT)也应该被用于MODE_TYPE_INTRA和MODE_TYPE_ALL。目前的定义被断言是不完整的。
12)对于编解码树节点,编解码树节点内CU的被允许预测模式由推导出的modeTypeCondition和当modeTypeCondition等于2时被信令通知的mode_constraint_flag来定义。但是注意,当modeTypeCondition等于2且mode_constraint_flag等于1时,只允许等于INTRA和IBC的预测模式;而当modeTypeCondition等于2且mode_constraint_flag等于0时,仅允许等于INTER的预测模式。因此,对于这种不期望的情况,调色板模式总是不被允许的。
Figure BDA0003972234000001381
变量modeTypeCondition被推导如下:
-如果下列一个或多个条件为真,则modeTypeCondition被设置为等于0:
-sh_slice_type等于I且sps_qtbtt_dual_tree_intra_flag等于1。
-modeTypeCurr不等于MODE_TYPE_ALL。
-sps_chroma_format_idc等于0。
-sps_chroma_format_idc等于3。
-否则,如果下列条件之一为真,则modeTypeCondition被设置为等于1:
-cbWidth*cbHeight等于64且split_qt_flag等于1。
-cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或SPLIT_TT_VER。
-cbWidth*cbHeight等于32且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或SPLIT_BT_VER。
-否则,如果下列条件之一为真,则modeTypeCondition被设置为等于1+(sh_slice_type!=I?1:0):
-cbWidth*cbHeight等于64且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_HOR或SPLIT_BT_VER且sps_chroma_format_idc等于1。
-cbWidth*cbHeight等于128且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_HOR或SPLIT_TT_VER且sps_chroma_format_idc等于1。
-cbWidth等于8且MttSplitMode[x0][y0][mttDepth]等于SPLIT_BT_VER。
-cbWidth等于16且MttSplitMode[x0][y0][mttDepth]等于SPLIT_TT_VER。
-否则,modeTypeCondition被设置为等于0。
mode_constraint_flag等于0指定当前编解码树节点内的编解码单元只能使用帧间预测编解码模式。mode_constraint_flag等于1指定当前编解码树节点内的编解码单元不能使用帧间预测编解码模式。
5.实施例和技术的示例列表
为了解决上述问题和一些未被提及的其他问题,公开了下面总结的方法。本发明应该被认为是解释一般概念的示例,而不应该以狭隘的方式进行解释。此外,这些发明可以被单独地应用或以任何方式组合应用。
在下面的描述中,关于基于最新工作草案JVET-Q2001-vD的传统文本变更,被删除的部分在开双括号和闭双括号中被突出显示(例如[[]]),其中被删除的文本在双括号之间,而被添加的部分为粗体斜体。
1.关于用于解决第一个问题、依赖于SPS语法元素的APS语法元素scaling_list_chroma_present_flag的值,公开了以下途径的一种或多种:
1)在一个示例中,VPS ID和/或SPS ID和/或PPS ID可以被添加到APS语法结构,即adaptation_parameter_set_rbsp(),例如adaptation_parameter_set_rbsp()的语法结构可以被变更如下:
Figure BDA0003972234000001403
Figure BDA0003972234000001401
a)附加地,可替代地,色度缩放列表的信令可以基于ChromaArrayType的值来进行显式地调节,例如,scaling_list_data()的语法表可以变更如下:
Figure BDA0003972234000001402
并且scaling_list_chroma_present_flag的语义被变更如下:
[[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。]]
2)在一个示例中,可以隐式地推导出与AP相关联的VPS和/或SPS和/或PPS。
a)例如,如果APS由视频单元(例如图片标头或条带标头)所参考,并且视频单元取决于VPS和/或SPS和/或PPS,那么APS被隐式地与VPS和/或SPS和/或PPS相关联。
3)在一个示例中,平坦量化(默认缩放列表)可以被用于色度块,而不是使用经用户定义的缩放列表(也被称为显式缩放列表),即使当显式缩放列表被应用于亮度块时。
a)可替代地,此外,即使在比特流中信令通知亮度块的显式缩放列表,也可以不信令通知色度块的显式缩放列表。
4)可替代地,scaling_list_chroma_present_flag的值可以与ChromaArrayType的值解耦。
a.可以分离地信令通知/控制对于不同颜色分量(例如,亮度和色度块)是使用显式缩放列表还是默认缩放列表的指示。
i.在一个示例中,可以将语法元素(例如,一个或多个标志)添加到SPS/PPS/PH/SH以指定是否对于亮度和/或色度分量启用经用户定义的缩放列表(也被称为显式缩放列表)。
ii.例如,可以在SPS中添加一个标志,以使亮度变换系数能够在平面量化(默认缩放列表)和经用户定义的缩放列表之间切换。
iii.例如,可以在SPS中添加一个或多个标志,以使chroma-U和/或chroma-V变换系数能够在平坦量化(默认缩放列表)和经用户定义的缩放列表之间切换。
b.例如,当ChromaArrayType等于0时,scaling_list_chroma_present_flag可以等于1。
i.在一个示例中,对于4:0:0色度格式的编解码图片,可以在APS中信令通知N(诸如N=28)组缩放矩阵。
ii.在一个示例中,对于separate_colour_plane_flag等于1的4:4:4色度格式的编解码图片,可以在APS中信令通知M(诸如M=28)组缩放矩阵。
a)例如,在separate_colour_plane_flag等于1并且M(诸如M=28)组缩放矩阵在APS中被信令通知的情况下,Y(亮度)、U(Cb)和V(Cr)通道变换系数中的每一个可以被视为亮度-Y-通道,并且Y、U和V变换系数的缩放矩阵标识符变量id被推导为将颜色分量看作等于Y-分量(例如值0)。
b)可替代地,在separate_colour_plane_flag等于1并且M(诸如M=28)组缩放矩阵在APS中被信令通知的情况下,亮度-Y变换系数的缩放矩阵标识符变量id被推导为将颜色分量看作等于Y-分量(例如值0),而色度-U的缩放矩阵标识符变量id被推导为将颜色分量看作等于U-分量(例如值1),并且色度-V的缩放矩阵标识符变量id被推导为将颜色分量看作等于V-分量(例如值2)。
c.例如,当ChromaArrayType等于1时,scaling_list_chroma_present_flag可以等于0。
i.在一个示例中,是否允许色度变换系数使用经用户定义的缩放列表可以取决于scaling_list_chroma_present_flag的值。
a)例如,当scaling_list_chroma_present_flag等于0时,不论sps_scaling_list_enabled_flag、ph_scaling_list_enabled_flag和slice_scaling_list_enabled_flag的值如何,都不允许经用户定义的缩放列表被用于色度变换系数(例如,被用于指定色度的经用户定义的缩放列表的使用的被添加的标志的值需要等于某个数字,诸如0或1)。
b)例如,当scaling_list_chroma_present_flag等于1时,可以允许经用户定义的缩放列表被用于色度变换系数。
ii.在一个示例中,对于4:2:0和/或4:2:2色度格式和/或4:4:4色度格式的编解码图片,其中separate_colour_plane_flag等于0,可以在APS中信令通知N(诸如N=10)组缩放矩阵。
a)例如,在ChromaArrayType大于0并且在APS中信令通知N(诸如N=10)组缩放矩阵的情况下,U和/或V变换系数的缩放矩阵可以从被信令通知的N组Y变换系数的缩放矩阵中推导出。
b)可替代地,在ChromaArrayType大于0并且在APS中信令通知N(诸如N=10)组缩放矩阵的情况下,U和/或V变换系数可以不使用经用户定义的缩放列表(相反,U和/或V变换系数可以使用具有默认缩放因子的平坦量化)。
d.例如,基于ChromaArrayType的关于scaling_list_chroma_present_flag的语义约束可以不与语法元素scaling_list_chroma_present_flag相关联,例如如下:
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。]]
e.例如,基于ChromaArrayType的关于scaling_list_chroma_present_flag的语义约束可以变更如下:
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[[,
Figure BDA0003972234000001431
Figure BDA0003972234000001432
5)可替代地,可以添加与PH和/或SH语法元素相关联的约束,以根据由PH/SH语法元素推导出的ChromaArrayType将scaling_list_chroma_present_flag的值约束到某个值(诸如0或1),例如如下:
在一个示例中,ph_scaling_list_aps_id的语义变更如下:ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003972234000001441
可替代地,ph_scaling_list_aps_id的语义变更如下:
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003972234000001442
可替代地,ph_scaling_list_aps_id的语义变更如下:
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003972234000001443
以及APS SE的语义变更如下:
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。]]
2.关于在ChromaArrayType等于0的情况下不必要的色度相关APS语法元素信令,并且为了解决第二个问题,公开了以下途径的一个或多个:
1)在一个示例中,语法元素(例如,标志)可以被添加到APS语法结构lmcs_data(),以便控制与色度残差缩放相关的APS语法元素(例如,lmcs_delta_abs_crs、lmcs_delta_sign_crs_flag等)的存在。
a.例如,当ChromaArrayType等于0时,要求不允许信令通知与色度残差缩放相关的APS语法元素(例如,lmcs_delta_abs_crs、lmcs_delta_sign_crs_flag等),例如,要求被添加的标志等于某个值,诸如0或1。
b.例如,当ChromaArrayType不等于0时,要求信令通知与色度残差缩放相关的APS语法元素(例如,lmcs_delta_abs_crs、lmcs_delta_sign_crs_flag等),例如,要求被添加的标志等于某个值,诸如0或1。
c.例如,当前条带是否被允许使用色度残差缩放可以取决于被添加的标志,例如,如果被添加的标志指示不信令通知与色度残差缩放相关的APS语法元素,那么将从不使用色度残差缩放,不论sps_lmcs_enabled_flag、ph_lmcs_enabled_flag、ph_chroma_residual_scale_flag和sh_lmcs_enabled_flag的值如何。
2)可以在PH/SH/APS语法元素的语义下添加比特流约束,以约束关于ChromaArrayType的值的lmcs_delta_abs_crs的值,例如如下:
ph_lmcs_aps_id指定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003972234000001451
可替代地,ph_lmcs_aps_id的语义变更如下:
ph_lmcs_aps_id指定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003972234000001461
可替代地,ph_lmcs_aps_id的语义变更如下:
ph_lmcs_aps_id指定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应该小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003972234000001462
3.在上述示例中,术语“ChromaArrayType”可以被替换为“检查颜色格式等于4:0:0”。
4.关于用于解决第三个问题的RRC和TSRC的使用,公开了以下途径的一种或多种:
1)TSRC启用/禁用标志(例如,slice_ts_residual_coding_disabled_flag)的信令可以以是否启用变换跳过(例如,SPS中的sps_transform_skip_enabled_flag)为条件。
a.在一个示例中,可以应用以下:
if(!sps_transform_skip_enabled_flag)
slice_ts_residual_coding_disabled_flag u(1)
b.可替代地,此外,当slice_ts_residual_coding_disabled_flag不存在时,其被推断其等于1。
2)可替代地,TSRC启用标志(例如,slice_ts_residual_coding_disabled_flag)的值可以受SPS中的sps_transform_skip_enabled_flag约束,例如,slice_ts_residual_coding_disabled_flag的语义可以变更如下:
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]]
sps_transform_skip_enabled_flag[[不存在]]
Figure BDA0003972234000001471
Figure BDA0003972234000001472
[[被推断为]]等于[[0]]1。
3)可替代地,如果TSRC启用标志(例如,slice_ts_residual_coding_disabled_flag)的信令不以任何其他语法元素为条件,则它可以总是存在,例如,slice_ts_residual_coding_disabled_flag的语义可以变更如下:
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。]]
4)附加地,此外,TSRC可以适用于非变换跳过(非TS)编解码块。
a.在一个示例中,可以添加一个或多个语法标志来指定是否为非TS块启用TSRC或RRC。
i.在一个示例中,可添加一个或多个块级别(CTU/CU/TU)语法标志来指定当前视频单元是否正在使用TSRC或RRC。
ii.附加地,可替代地,可以添加一个或多个高级别(SPS/PPS/PH/SH)语法标志来指定视频单元是否允许TSRC。
b.在一个示例中,是否对非TS编解码块使用TSRC或者是否允许对非TS编解码块使用TSRC可以取决于编解码信息,例如块的QP值。
i.在一个示例中,对于QP等于或不大于X(诸如X=4)的非TS块,可以允许使用TSRC或RRC中的任一用于残差编解码。
5.关于用于解决第四个问题的亮度块的cu qpdelta的开启/关闭控制,公开了以下途径中的一种或多种:
a.可以添加SH级别语法元素(例如,由slice_cu_qp_delta_enabled_flag表示的标志)来控制特定条带的cu qp delta的启用和/或禁用。
i.在一个示例中,建议的slice_cu_qp_delta_enabled_flag的存在以PPS中的cu_qp_delta_enabled_flag为条件,例如,仅当PPS中的cu_qp_delta_enabled_flag等于1时,建议的slice_cu_qp_delta_enabled_flag才被信令通知,否则(PPS中的cu_qp_delta_enabled_flag等于0),建议的slice_cu_qp_delta_enabled_flag不被信令通知并且被推断为等于0。
a)可替代地,建议的slice_cu_qp_delta_enabled_flag的值受PPS中的cu_qp_delta_enabled_flag的值约束,即,当PPS中的cu_qp_delta_enabled_flag等于0时,建议的slice_cu_qp_delta_enabled_flag的值应该等于0。
ii.在一个示例中,PPS中的cu_qp_delta_enabled_flag可以被用于控制SH中SH级别的cu qp delta启用标志的存在,和/或变换单元语法和调色板编解码语法中cu_qp_delta_abs和/或cu_qp_delta_sign_flag的存在。
iii.在一个示例中,语法结构可以变更如下:
PPS语法结构变更如下:
Figure BDA0003972234000001481
Figure BDA0003972234000001491
pps_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可以存在于变换单元语法
Figure BDA0003972234000001492
中。pps_cu_qp_delta_enabled_flag等于0指定参考PPS的PH中不存在ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素并且变换单元
Figure BDA0003972234000001493
中不存在cu_qp_delta_abs。
以及PH语法结构变更如下:
Figure BDA0003972234000001494
以及SH语法结构变更如下:
Figure BDA0003972234000001495
Figure BDA0003972234000001501
Figure BDA0003972234000001502
b.附加地,语法结构palette_coding()和/或语法结构transform_unit()中cu_qp_delta_abs的存在以建议的slice_cu_qp_delta_enabled_flag为条件,例如,仅当建议的slice_cu_qp_delta_enabled_flag的值等于1时,cu_qp_delta_abs才被信令通知;否则(建议的slice_cu_qp_delta_enabled_flag等于0),cu_qp_delta_abs的值不被信令通知并被推断为等于0。可替代地,色度cu qp偏移可以不由条带级别开启/关闭标志来控制,例如,色度cu qp偏移是否适用于当前条带可以取决于PH/PPS/SPS级别标志。
c.可替代地,可以添加PH级别语法元素(例如,由ph_cu_qp_delta_enabled_flag表示的标志)来控制用于特定条带的cu qp delta的启用和/或禁用。
6.关于PPS SE single_slice_per_subpic_flag、num_slices_in_pic_minus1、tile_idx_delta_present_flag的设计,并且为了解决第五个问题,公开了以下途径中的一个或多个:
a.在一个示例中,可以向PH/SH/PPS语法元素的语义添加约束,例如如下:
ph_pic_parameter_set_id为使用中的PPS指定pps_pic_parameter_set_id的值。ph_pic_parameter_set_id的值应该在0到63的范围内(含这两个值)。
比特流一致性的要求是,PH的TemporalId的值应该大于或等于pps_pic_parameter_set_id等于ph_pic_parameter_set_id的PPS的TemporalId的值。
Figure BDA0003972234000001511
b.在一个示例中,single_slice_per_subpic_flag的语义可以变更如下:
single_slice_per_subpic_flag等于1指定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定,
Figure BDA0003972234000001512
Figure BDA0003972234000001513
则每个子图片可以由一个或多个矩形条带组成,
Figure BDA0003972234000001514
Figure BDA0003972234000001515
Figure BDA0003972234000001516
当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
c.在一个示例中,可以将约束添加到single_slice_per_subpic_flag的语义,例如如下:
single_slice_per_subpic_flag等于1指定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定每个子图片可以由一个或多个矩形条带组成。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
Figure BDA0003972234000001517
d.附加地,可替代地,可以将约束添加到single_slice_per_subpic_flag的语义中,例如如下:
single_slice_per_subpic_flag等于1指定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定每个子图片可以由一个或多个矩形条带组成。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
Figure BDA0003972234000001518
Figure BDA0003972234000001521
e.在一个示例中,当每个子图片由一个且仅一个矩形条带组成时,约束single_slice_per_subpic_flag应该等于1。
f.附加地,可替代地,PPS语法元素tile_idx_delta_present_flag的存在可以不基于num_slices_in_pic_minus1来调节,例如如下:
[[if(num_slices_in_pic_minus1>0)]]
tile_idx_delta_present_flag u(1)
g.在一个示例中,当single_slice_per_subpic_flag等于1时,约束num_slices_in_pic_minus1应该等于sps_num_subpics_minus1。
h.附加地,可替代地,PPS语法元素num_slices_in_pic_minus1可以被变更为num_slices_in_pic_minus2。
i.附加地,基于num_slices_in_pic_minus2来调节tile_idx_delta_present_flag的存在,例如如下:
num_slices_in_pic_minus[[1]]2 ue(v)
[[if(num_slices_in_pic_minus1>0)]]
tile_idx_delta_present_flag u(1)
num_slices_in_pic_minus[[1]]2加[[1]]2指定参考PPS的每个图片中矩形条带的数量。num_slices_in_pic_minus[[1]]2的值应该在0到MaxSlicesPerPicture-[[1]]2的范围内(含这两个值),其中MaxSlicesPerPicture在附录a中被指定。
Figure BDA0003972234000001522
Figure BDA0003972234000001523
Figure BDA0003972234000001524
当no_pic_partition_flag等于1时,
Figure BDA0003972234000001525
[[num_slices_in_pic_minus1被推导为等于0]]。当single_slice_per_subpic_flag等于1时,
Figure BDA0003972234000001526
Figure BDA0003972234000001527
[[num_slices_in_pic_minus1被推断]]等于sps_num_subpics_minus1-1。
此外,VVC草案文本中所有其他地方的“num_slices_in_pic_minus1”被替换为“NumSlicesInPic-1”。
7.关于用于解决第六个问题的用于条带和片布局的信令,公开了以下途径的一个或多个:
a.可在PPS中添加语法元素(例如,一个或多个标志)以指定图片是否被划分为多个片行/列,其中前几个片行/列具有相同高度,且后几个片行/列具有不同高度/宽度。
i.例如,建议的语法标志取决于no_pic_partition_flag和/或显式片行/列的数量(诸如num_exp_tile_columns_minus1和/或num_exp_tile_rows_minus1),例如如下:
Figure BDA0003972234000001531
Figure BDA0003972234000001532
ii.此外,当建议的语法标志等于1时,根据建议的语法标志的值推导出片列宽和/或片行高,例如如下:
变量NumTileColumns指定片列的数量,并且列表colWidth[i](其中i在从0到NumTileColumns–1的范围内,含这两个值)指定第i个片列的宽度(以CTB为单位),其被推导如下:
Figure BDA0003972234000001541
指定片行的数量的变量NumTileRow和列表RowHeight[j](j在从0到NumTileRows–1的范围内,含这两个值)指定第j个片行的高度(以CTB为单位),其被推导如下:
Figure BDA0003972234000001542
Figure BDA0003972234000001551
b.附加地,同样地,在片由多个条带划分的情况下(在该情况下,条带尺寸小于片尺寸),语法元素(例如,一个或多个标志)可被添加到PPS中以指定片是否被划分为多个条带行,其中前几个条带行具有相同高度且后几个条带行具有不同高度。
i.此外,当建议的语法标志等于1时,条带高度(诸如SliceHeightInCtusMinus1)根据建议的语法标志的值推导出。
8.关于用于解决第七个问题的没有ALF APS的情况,公开了以下途径的一个或多个:
a.在一个示例中,当没有ALF APS时(例如,no_aps_constraint_flag等于1,或者具有所要求APS ID的APS不可用),那么ALF可以不被允许(在这种情况下,sps_alf_enabled_flag和sps_ccalf_enabled_flag被要求等于0)。
b.在一个示例中,当没有ALF APS时(例如,no_aps_constraint_flag等于1,或者具有所要求APS ID的APS不可用),那么ALF仍然可以被允许(在这种情况下,sps_alf_enabled_flag被允许等于0或1)。
i.例如,当没有ALF APS时(例如,no_aps_constraint_flag等于1),ph_alf_enabled_flag和/或slice_alf_enabled_flag被允许等于0或1。
ii.例如,当没有ALF APS时(例如,no_aps_constraint_flag等于1),色度ALF和CC-ALF是不被允许的,但是可以使用具有固定滤波器的亮度ALF。
iii.例如,当没有ALF APS时(例如,no_aps_constraint_flag等于1),要求ph_num_alf_aps_ids_luma、ph_alf_chroma_idc、slice_num_alf_aps_ids_luma、slice_alf_chroma_idc、sps_ccalf_enabled_flag的值等于0。
c.在一个示例中,当GCI语法元素no_alf_constraint_flag等于1时,那么ALF和/或CCALF可以不被允许(在这种情况下,sps_alf_enabled_flag和/或sps_ccalf_enabled_flag被要求等于0)。
d.可替代地,此外,是否信令通知要被使用的ALF APS的数量(例如,ph_num_alf_aps_ids_luma)和/或ALF/CC-ALF APS索引(例如,ph_alf_aps_id_luma、ph_alf_aps_id_chroma、ph_cc_alf_cb_aps_id、ph_cc_alf_cr_aps_id)可以取决于ALFAPS是否被允许(例如,no_aps_constraint_flag)。
i.在一个示例中,当没有应用ALF APS时,可以不信令通知该信息。
e.在一个示例中,可以在SPS/PPS/PH/SH/GCI中信令通知新的语法元素,以禁用ALF和/或CCALF和/或LMCS和/或经用户定义的缩放列表。
f.在一个示例中,根据GCI语法元素(例如,APS/VPS的约束标志),由外部手段提供的APS/VPS可以被去激活/禁用/限制/关闭/不允许。
i.例如,可以去激活/禁用/限制/关闭/不允许使用比特流中被信令通知的APS/VPS以及由外部手段提供的APS/VPS。
ii.例如,在GCI语法结构中被信令通知GCI语法元素(例如,名为no_aps_constraint_flag的标志),其指定在解码处理中去激活/禁用/关闭VPS的使用(例如,在这种情况下,不允许比特流中的APS和由外部手段提供的APS中的任一)。
iii.例如,GCI语法元素no_aps_constraint_flag等于某个值(诸如1)指定在解码李中不应该有nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元,例如,JVET-R2001-vA中的文本被变更如下(添加的以粗斜体文本突出显示,删除的以开双括号和闭双括号(例如[[]])突出显示,其中被删除的文本在双括号之间):
no_aps_constraint_flag等于1指定
Figure BDA0003972234000001571
Figure BDA0003972234000001572
不应该有nuh_unit_typeequal等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元[[存在于OlsInScope中]]
Figure BDA0003972234000001573
Figure BDA0003972234000001574
并且sps_lmcs_enabled_flag和sps_scaling_list_enabled_flag两者都应该等于0。
no_aps_constraint_flag等于0不施加这样的约束。
或者
no_aps_constraint_flag等于1指定
Figure BDA0003972234000001575
Figure BDA0003972234000001576
不应该有nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元[[存在于OlsInScope中]]
Figure BDA0003972234000001577
Figure BDA0003972234000001578
并且sps_lmcs_enabled_flag[[和]]、sps_scaling_list_enabled_flag、
Figure BDA0003972234000001579
Figure BDA00039722340000015710
Figure BDA00039722340000015711
[[两者]]应该等于0。no_aps_constraint_flag等于0不施加这样的约束。
iv.例如,GCI语法元素no_aps_constraint_flag等于某个值(诸如1)指定APS所要求的编解码工具(例如,LMCS、缩放列表、CCALF、色度ALF、具有APS的亮度ALF等)的去激活,而不指定其在OlsInScope中的存在,例如,JVET-R2001-vA中的文本变更如下(添加的以粗斜体文本突出显示,删除的以开双括号和闭双括号(例如[[]])突出显示,其中被删除的文本在双括号之间):
no_aps_constraint_flag等于1指定[[在OlsInScope中不应该存在nuh_unit_type等于PREFIX_APS_NUT或PREFIX_APS_NUT的NAL单元,并且]]sps_lmcs_enabled_flag和sps_scaling_list_enabled_flag两者都应该等于0。no_aps_constraint_flag等于0不施加这样的约束。
或者
no_aps_constraint_flag等于1指定[[在OlsInScope中不应该存在nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元,并且]]sps_lmcs_enabled_flag[[和]]、sps_scaling_list_enabled_flag、
Figure BDA0003972234000001581
Figure BDA0003972234000001582
[[两者]]应该等于0。no_aps_constraint_flag等于0不施加这样的约束。
v.上述语法元素(诸如no_aps_constraint_flag)是指定是否AP被使用/可用/存在的示例,并且在需要时可以被重命名。
9.关于用于解决第八个问题的一致性窗口参数的信令:
a.在一个示例中,当pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_max_in_luma_samples时,PPS中一致性窗口参数(即,pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset)的信令可以被跳过。
i.在一个示例中,可以将标志添加到PPS语法,且当该标志的值等于X(0或1)时,指定pic_width_in_luma_samples等于pic_width_max_in_luma_samples,且pic_height_in_luma_samples等于pic_height_max_in_luma_samples,且标志等于1-X指定pic_width_in_luma_samples小于pic_width_max_in_luma_samples或pic_height_in_luma_samples小于pic_height_max_in_luma_samples。然后,注意,即使在pic_width_in_luma_samples等于pic_width_max_in_luma_samples且pic_height_in_luma_samples等于pic_height_max_in_luma_samples的情况下,仍然需要在PPS中信令通知pic_width_in_luma_samples和pic_height_in_luma_samples以避免解析PPS对SPS的依赖性。
附加地,当上述标志等于X时,PPS中的一致性窗口参数的信令(即,pps_conformance_window_flag、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset)被跳过,此外,参数的值被推断为等于SPS中的参数的值(即,sps_conformance_window_flag、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset)。
10.关于用于解决第十个问题的经由GCI SE的去激活控制:
a.在一个示例中,可以在GCI语法结构中添加/信令通知通知约束标志/指示符,表达对SPS/PPS/APS/PH/SH语法元素的值和/或它们的存在的限制。
i.例如,约束标志/指示符等于某个值(诸如1)指定由X所指示的编解码工具/特征被限制。
ii.例如,约束标志可以是经u(1)编解码的。
iii.例如,约束指示符可以是经u(N)编解码的,诸如N是正常数。
vi.例如,X可以是以下的一个或多个:
a)sps_ptl_dpb_hrd_params_present_flag(例如,对ptl、dpb、hrd存在的限制等)
b)sps_subpic_info_present_flag(例如,对子图片、子图片提取的限制等)
c)sps_independent_subpics_flag(例如,对独立/从属子图片、子图片提取的限制等)
d)sps_subpic_id_mapping_explicitly_signalled_flag(例如,对subpic id映射的限制等)
e)sps_subpic_id_mapping_present_flag(例如,对subpic id映射的限制等)
f)sps_entropy_coding_sync_enabled_flag(例如对熵编解码sync、wpp的限制等)
g)sps_entry_point_offsets_present_flag(例如,对熵编解码sync、wpp的限制等)
h)sps_log2_max_pic_order_cnt_lsb_minus4(例如对POC特性的限制等)
i)sps_poc_msb_cycle_flag(例如,对POC特性的限制等)
j)sps_sublayer_dpb_params_flag(例如,对子层hrd的限制等)
k)sps_partition_constraints_override_enabled_flag(例如,对SPS以外的诸如SH的语法结构中的分割约束覆写的限制等)
l)sps_log2_min_luma_coding_block_size_minus2(例如,对最小CTB尺寸的限制等)
m)sps_log2_diff_min_qt_min_cb_intra_slice_luma(例如,对帧内条带中最小QT尺寸的限制等)
n)sps_max_mtt_hierarchy_depth_intra_slice_luma(例如,对帧内条带中的MTT深度的限制等)
o)sps_log2_diff_min_qt_min_cb_inter_slice(例如,对帧内条带中最小QT尺寸的限制等)
p)sps_max_mtt_hierarchy_depth_inter_slice(例如,对帧内条带中MTT深度的限制等)
q)sps_max_luma_transform_size_64_flag(例如,对64xN/Nx64变换尺寸的限制等)
r)sps_same_qp_table_for_chroma_flag(例如,对用于Cb/Cr的相同QP表的限制等)
s)sps_log2_transform_skip_max_size_minus2(例如,对用于转换跳过的最大块尺寸的限制等)
t)sps_idr_rpl_present_flag(例如,对用于IDR图片的RPL、比特流合并/成束的限制等)
u)sps_rpl1_same_as_rpl0_flag(例如,对用于list0和list1的相同RPL的限制等)
v)sps_num_ref_pic_lists[i](例如,对第i个RPL条目中的参考图片列表的数量的限制)
w)sps_dmvr_control_present_in_ph_flag(例如,对在除SPS之外的PH中的DMVR控制的限制)
x)sps_mmvd_fullpel_only_flag(例如,对全像素/分数像素MMVD的限制)
y)sps_six_minus_max_num_merge_cand(例如,对Merge的限制)
z)sps_affine_type_flag(例如,对仿射类型(诸如4参数/6参数模型)的限制)
aa)sps_affine_amvr_enabled_flag(例如,对具有AMVR的仿射的限制)
bb)sps_prof_control_present_in_ph_flag(例如,对除SPS之外的PH中的PROF控制的限制)
cc)sps_log2_parallel_merge_level_minus2(例如,对MER的限制)
dd)sps_chroma_horizontal_collocated_flag(例如,对色度子采样方法的限制)
ee)sps_chroma_vertical_collocated_flag(例如,对色度子采样方法的限制)
ff)sps_internal_bit_depth_minus_input_bit_depth(例如,对内部比特深度增加的限制)
gg)sps_scaling_matrix_for_lfnst_disabled_flag(例如,对用于LFNST的缩放矩阵的限制)
hh)sps_scaling_matrix_for_alternative_colour_space_disabled_flag(例如,对可替代颜色空间的缩放矩阵的限制)
ii)sps_scaling_matrix_designated_colour_space_flag(例如,对除被指派的以外的颜色空间的缩放矩阵的限制)
jj)sps_general_hrd_params_present_flag(例如,对HRD的限制)
kk)sps_sublayer_cpb_params_present_flag(例如,对CPB/HRD的限制)
ll)sps_vui_parameters_present_flag(例如,对VUI的限制)
v.上面所列出的名称(例如,X)是指定SPS/PPS/PH/SH语法结构中被信令通知/存在的语法元素的示例,该语法元素对应于特定的编解码工具/特征/功能,并且在需要时可以被重命名。
11.关于用于解决第11个问题的本地双树的不完整描述,对于编解码树节点,可以根据解码信息(例如,根据VVC中的modeTypeCondition和/或mode_constraint_flag/non_inter_flag)推导出名为mode type的变量。此外,以下可以适用:
a.在一个示例中,当编解码树节点属于某一模式类型(例如,VVC规范中的MODE_TYPE_INTRA和/或MODE_TYPE_ALL)时,可以对编解码树节点内的编解码单元启用调色板模式(例如,MODE_PLT和/或等于1的pred_mode_plt_flag)。
i.例如,某一模式类型(例如,MODE_TYPE_INTRA)可以被定义以指定是否仅帧内(MODE_INTRA)和IBC(MODE_IBC)及调色板(MODE_PLT)编解码模式可以被用于编解码树节点内的编解码单元。
ii.例如,某一模式类型(例如,MODE_TYPE_INTER)可以被定义以指定是否仅帧间(MODE_INTER)编解码模式可以被用于编解码树节点内的编解码单元。
iii.例如,某一模式类型(例如,MODE_TYPE_ALL)可以被定义以指定是否帧内、IBC、调色板、帧间编解模式的所有可以被用于编解码树节点内的编解码单元。
b.在一个示例中,当编解码树节点属于某一模式类型(例如,MODE_TYPE_INTRA和/或MODE_TYPE_ALL)时,可以仅对编解码树节点内的亮度编解码块启用调色板模式(例如,MODE_PLT和/或等于1的pred_mode_plt_flag)。
c.例如,当没有适用于编解码树节点的编解码模式限制时(例如,该编解码树节点的模式类型等于MODE_TYPE_ALL),以下任何模式可用于编解码树节点内的编解码单元:
i.帧内模式(例如,等于MODE_INTRA的预测模式)
ii.IBC模式(例如,等于MODE_IBC的预测模式)
iii.调色板模式(例如,等于MODE_PLT的预测模式和/或等于1的pred_mode_plt_flag)
iv.帧间模式(例如,等于MODE_INTER的预测模式)
d.在一个示例中,当本地双树适用于编解码树节点时(例如,该编解码树节点的模式类型等于MODE_TYPE_INTRA),以下模式中的任何一个可以被用于编解码树节点内的编解码单元:
i.帧内模式(例如,等于MODE_INTRA的预测模式)
ii.IBC模式(例如,等于MODE_IBC的预测模式)
iii.调色板模式(例如,等于MODE_PLT的预测模式和/或等于1的pred_mode_plt_flag)
e.在一个示例中,当本地双树适用于编解码树节点内的编解码单元时(例如,该编解码树节点的模式类型等于MODE_TYPE_INTRA),此编解码树节点内的亮度块可以用帧内和/或IBC和/或调色板模式来编解码。
i.附加地,该编解码树节点内的色度块用帧内模式(MODE_INTRA)进行编解码。
ii.例如,该编解码树节点内的所有亮度块可以用帧内模式(MODE_INTRA)进行编解码。
iii.例如,该编解码树节点内的所有亮度块可以用IBC模式(MODE_IBC)进行编解码。
iv.例如,该编解码树节点内的所有亮度块可以用调色板模式(MODE_PLT)进行编解码。
v.例如,该编解码树节点内的亮度块可以被混合编解码,其中任何亮度块均以帧内模式(MODE_INTRA)、IBC模式(MODE_IBC)和调色板模式(MODE_PLT)中的任何进行编解码。
vi.例如,帧间模式(MODE_INTER)不被允许被用于本地双树编解码树节点(即,模式类型等于MODE_TYPE_INTRA的编解码树节点)内的编解码单元。
f.可替代地,此外,对于模式类型等于某一值(例如,MODE_TYPE_INTRA和/或MODE_TYPE_ALL)的编解码树节点内的CU,可以进一步信令通知是否应用调色板模式的指示。
g.在一个示例中,JVET-R2001-vA中的分割可用性检查的文本变更如下(添加的内容以粗体斜体文本突出显示):
6.4可用性处理
6.4.1被允许的四叉划分处理
该处理的输入包括:
-亮度样点的编解码块尺寸cbSize,
-多类型树深度mttDepth,
-变量treeType指定使用是单树(SINGLE_TREE)还是双树来分割编解码树节点,以及当使用双树时,当前是处理亮度分量(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA),
-变量modeType,指定是否可以对编解码树节点内的编解码单元使用帧内(MODE_INTRA)、IBC(MODE_IBC)、
Figure BDA0003972234000001641
Figure BDA0003972234000001642
和帧间编解码模式(MODE_TYPE_ALL),或者是否可以对编解码树节点内的编解码单元只能使用帧内[[和]]、IBC
Figure BDA0003972234000001643
编解码模式(MODE_TYPE_INTRA),或者是否可以对编解码树节点内的编解码单元只能使用帧间编解码模式(MODE_TYPE_INTER)。
6.4.2被允许的二叉划分处理
该处理的输入包括:
-…
-变量treeType指定是使用单树(SINGLE_TREE)还是双树来分割编解码树节点,以及当使用双树时,当前是处理亮度分量(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA),
-变量modeType,指定是否可以对编解码树节点内的编解码单元使用帧内(MODE_INTRA)、IBC(MODE_IBC)、
Figure BDA0003972234000001651
Figure BDA0003972234000001652
和帧间编解码模式(MODE_TYPE_ALL),或者是否可以对编解码树节点内的编解码单元只能使用帧内[[和]]、IBC
Figure BDA0003972234000001653
编解码模式(MODE_TYPE_INTRA),或者是否可以对编解码树节点内的编解码单元只能使用帧间编解码模式(MODE_TYPE_INTER)。
6.4.3被允许的三叉划分处理
该处理的输入包括:
-…
-变量treeType指定是使用单树(SINGLE_TREE)还是双树来分割编解码树节点,以及当使用双树时,当前是处理亮度分量(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA),
-变量modeType,指定是否可以对编解码树节点内的编解码单元使用帧内(MODE_INTRA)、IBC(MODE_IBC)、
Figure BDA0003972234000001654
Figure BDA0003972234000001655
和帧间编解码模式(MODE_TYPE_ALL),或者是否可以对编解码树节点内的编解码单元只能使用帧内[[和]]、IBC
Figure BDA0003972234000001656
编解码模式(MODE_TYPE_INTRA),或者是否可以对编解码树节点内的编解码单元只能使用帧间编解码模式(MODE_TYPE_INTER)。
12.当modeTypeCondition(例如,在VVC中所定义的)等于1时,可以信令通知语法元素,并且该语法元素被用于指定对于编解码树节点内的所有CU是否允许三种预测模式(例如,MODE_INTRA、MODE_IBC、MODE_PALETTE)之一。
a.在一个示例中,语法元素是标志(例如,指示为mode_constraint_flag或non_inter_flag或inter_mode_only_flag)。
b.在一个示例中,语法元素的语义可以被定义如下:
non_inter_flag等于0指定当前编解码树节点内的编解码单元只能使用帧间预测编解码模式。non_inter_flag等于1指定当前编解码树节点内的编解码单元可以使用帧内或IBC或调色板预测编解码模式。
或者
inter_mode_only_flag等于1指定当前编解码树节点内的编解码单元只能使用帧间预测编解码模式。inter_mode_only_flag等于0指定当前编解码树节点内的编解码单元可以使用帧内或IBC或调色板预测编解码模式。
c.可替代地,此外,将哪个预测模式用于CU可以进一步取决于除了上述语法元素之外的其他语法元素/解码信息。
图1是示出了示例视频处理系统1900的框图,其中可以实施本文所公开的各种技术。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未经压缩的格式被接收,例如8比特或10比特多分量像素值,或者其可以是经压缩或经编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)以及诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括编解码组件1904,其可以实施在本文档中所描述的各种编解码或编码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频码转换技术。如组件1906所表示的,编解码组件1904的输出可以要么被存储,或者要么经由所连接的通信被发送。组件1908可以使用在输入1902处接收的视频的存储或通信的比特流(或编解码)表示来生成被发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,应当理解的是,编解码工具或操作在编码器处被使用,并且与编解码结果相反的对应的解码工具或操作将由解码器执行。
外围总线接口或显示器接口的示例可以包括通用串行总线(USB)或高清多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中所描述的技术可以在各种电子设备中体现,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图2是视频处理装置3600的框图。装置3600可以被用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(一个或多个)处理器3602可以被配置为实施本文档中所描述的一个或多个方法。(一个或多个)存储器3604可以被用于存储用于实施本文所描述的方法和技术的数据和代码。视频处理硬件3606可以被用于在硬件电路中实施本文档中所描述的一些技术。
图4是图示了可利用本公开的技术的示例视频编解码系统100的框图。
如图4中所示出的,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成经编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的经编码的视频数据,其可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统或这些源的组合的源。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发射器。经编码的视频数据可经由I/O接口116通过网络130a直接发送到目的地设备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、可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206的预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多的、更少的或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,一些组件(诸如,运动估计单元204和运动补偿单元205)可以高度地被集成,但出于解释目的而在图5的示例中分离地表示。
分割单元201可将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以基于误差结果选择编解码模式(例如,帧内或帧间)中的一者,并且将所得的经帧内或帧间编解码块提供到残差产生单元207以生成残差块数据,并且提供到重构单元212以重构经编码的块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(CIIP),其中预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元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中,缓冲器307为后续的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
接下来提供一些实施例所优选的解决方案列表。
以下解决方案示出了在先前章节(例如,项目1)中所讨论的技术的示例实施例。
1.一种视频处理方法(例如,图3中所描绘的方法300),包括执行(302)视频的视频区域和视频的编解码表示之间的转换;其中编解码表示符合格式规则;其中格式规则指定指示视频中的颜色分量的缩放列表是否被包括在自适应参数集中的标志独立于序列参数集中的语法字段值。
2.如解决方案1的方法,其中格式规则指定在自适应参数集中包括用于标识序列参数集的字段。
3.如解决方案1的方法,其中格式规则指定自适应参数集和序列参数集或图片参数集的视频参数集之间的隐式关系,其控制编解码表示中的缩放列表的包括。
4.如解决方案1-3中任何一项的方法,其中格式规则指定在转换期间所使用的经用户定义的或显式的缩放列表的包括的格式。
5.如解决方案1-4中任何一项的方法,其中格式规则指定编解码标识中的标志的包括独立于指示色度分量的阵列类型的语法元素的包括。
6.如解决方案5的方法,其中标志指示缩放列表被包括,并且指示色度分量的阵列类型的语法元素被设置为零。
7.如解决方案5的方法,其中标志指示缩放列表不被包括,并且指示色度分量的阵列类型的语法元素被设置为1。
8.如解决方案1的方法,其中格式规则指定标志被约束规则约束为依赖于图片标头或条带标头。
以下解决方案示出了在先前章节(例如,项目2)中所讨论的技术的示例实施例。
9.一种视频处理方法,包括:执行视频的视频区域和视频区域的编解码表示之间的转换;其中编解码表示符合格式规则;其中格式规则指定一个或多个自适应参数集被包括在编解码表示中,使得对于每个自适应参数集,由于对视频的色度约束,色度相关的语法元素被省略。
10.如解决方案9的方法,其中对于每个自适应参数集,语法元素信令通知色度相关的语法元素是否被包括在自适应参数集中。
11.如解决方案9的方法,其中格式规则指定当且仅当色度约束指示视频的编解码表示中色度的存在时,图片标头或条带标头或自适应参数集中的色度相关字段才被有条件地包括。
以下解决方案示出了在先前章节(例如,项目3)中所讨论的技术的示例实施例。
12.如权利要求9-11中任何一项的方法,其中色度约束是色度阵列类型等于零。
13.如解决方案9-11中任何一项的方法,其中色度约束是视频的格式等于4:0:0。
以下解决方案示出了在先前章节(例如,项目4)中所讨论的技术的示例实施例。
14.一种视频处理方法,包括:执行包括一个或多个视频区域的视频和该视频的编解码表示之间的转换,该一个或多个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则指定第一变换编解码语法字段是否被包括在视频区域的视频单元级别的编解码表示中和/或其值取决于视频区域级别的第二变换编解码语法字段的值。
15.如解决方案14的方法,其中第一变换编解码语法字段是slice_ts_residual_coding_disabled_flag,并且其中第二变换编解码语法字段是sps_transform_skip_enabled_flag。
以下解决方案示出了在先前章节(例如,项目5)中所讨论的技术的示例实施例。
16.一种视频处理方法,包括:执行包括一个或多个视频区域的视频和该视频的编解码表示之间的转换,每个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则指定视频单元级别处的标志控制量化参数的差分信令是否对于转换启用。
17.如解决方案16的方法,其中视频单元级别处的标志控制编解码单元或变换单元级别处的第二标志是否被包括用于信令通知差分量化参数信令的使用。
以下解决方案示出了在先前章节(例如,项目6)中所讨论的技术的示例实施例。
18.一种视频处理方法,包括:执行包括一个或多个视频区域的视频和视频的编解码表示之间的转换,每个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则指定指示子图片数量的图片级别处的第一标志和指示子图片中的条带数量的子图片级别处的第二标志的释义。
19.如解决方案18的方法,其中格式规则指定,在第一标志被设置为1并且第二标志被设置为1的情况下,那么图片中的至少一个子图片包括多于一个条带。
20.如解决方案18的方法,其中格式规则指定由于第一标志是零并且在每个图片中有单个条带,第二标志必须被设置为1。
以下解决方案示出了在先前章节(例如,项目7)中所讨论的技术的示例实施例。
21.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中格式规则指定与视频图片相关联的图片参数集中的字段指示视频图片是否被划分为不同高度或宽度的多个片行或列。
22.如解决方案21的方法,其中编解码表示中的第二字段指示视频图片的片是否被划分为具有不同高度的多个条带行。
23.如解决方案22的方法,其中第二字段指示多个条带行的条带高度。
以下解决方案示出了在先前章节(例如,项目8)中所讨论的技术的示例实施例。
24.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中格式规则指定在自适应参数集排除自适应环路滤波的指示的情况下,自适应环路滤波对视频区域的适用性是基于第二规则的。
25.如解决方案24的方法,其中第二规则指定对于视频区域禁用自适应环路滤波。
26.如解决方案24的方法,其中第二规则指定基于序列参数集级别的标志值有条件地允许自适应环路滤波。
以下解决方案示出了在先前部分(例如,项目9)中所讨论的技术的示例实施例。
27.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中格式规则指定对于具有视频的最大宽度和最大高度的宽度和高度的图片跳过图片参数集中的一致性窗口参数的显式信令。
28.如解决方案27的方法,其中格式规则还指定在跳过显式信令的情况下,包括指示宽度和高度是否等于最大宽度和最大高度的标志。
以下解决方案示出了在先前章节(例如,项目10)中所讨论的技术的示例实施例。
29.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则,该格式规则指定通用约束信息(GCI)语法结构中的语法字段控制对编解码表示中的参数集或标头中的一个或多个语法元素的值的一个或多个限制。
30.如解决方案29的方法,其中参数集对应于序列参数集或图片参数集或自适应参数集。
31.如解决方案29-30中任何一项的方法,其中标头对应于图片标头或条带标头。
以下解决方案示出了在先前章节(例如,项目11)中所讨论的技术的示例实施例。
32.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和该视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则,该格式规则指定对于视频的编解码树节点,对应于视频单元的解码信息控制根据规则可推导出的变量的值。
33.如解决方案32的方法,其中变量与视频单元的调色板模式编解码相关。
以下解决方案示出了在先前章节(例如,项目12)中所讨论的技术的示例实施例。
34.一种视频处理方法,包括:执行包括一个或多个视频图片的视频和视频的编解码表示之间的转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则,该格式规则指定编解码表示包括用于编解码树节点的语法元素,该语法元素的值指示是否允许三种预测模式中的任何一种用于编解码树节点中的视频单元的表示。
35.如解决方案34的方法,其中三种预测模式包括帧内编解码模式、调色板编解码模式和帧内块复制模式。
36.如解决方案1-35中任何一项的方法,其中视频区域包括视频图片。
37.如解决方案1-36中任何一项的方法,其中视频单元包括视频条带或视频编解码单元。
38.如解决方案1至37中任何一项的方法,其中转换包括将视频编码成编解码表示。
39.如解决方案1至37中任何一项的方法,其中转换包括解码编解码表示以生成视频的像素值。
40.一种视频解码装置,包括被配置为实施解决方案1至39中的一项或多项所述的方法的处理器。
41.一种视频编码装置,包括被配置为实施解决方案1至39中的一项或多项所述的方法的处理器。
42.一种其上存储有计算机代码的计算机程序产品,当由处理器运行时,该代码使得处理器实施解决方案1至39中任何一项所述的方法。
43.本文档中描述的方法、设备或系统。
图7是视频处理的示例方法700的流程图。操作702包括根据规则执行包括一个或多个视频图片的视频和该视频的比特流之间的转换,其中该规则指定通用约束信息语法结构中的第一语法元素控制参数集或标头中的一个或多个语法元素或该一个或多个语法元素的一个或多个值的存在。
在方法700的一些实施例中,参数集包括序列参数集、图片参数集或自自适应参数集。在方法700的一些实施例中,标头包括图片标头或条带标头。在方法700的一些实施例中,使用1比特的无符号整数来编解码第一语法元素。在方法700的一些实施例中,使用N比特的无符号整数来编解码第一语法元素,其中N是正常数值。在方法700的一些实施例中,规则指定响应于第一语法元素具有第一值,将与编解码工具或编解码特征相关联的第二语法元素限制为第二值。在方法700的一些实施例中,第一值等于1指定对第二语法元素施加约束。在方法700的一些实施例中,规则指定响应于第一语法元素具有第三值,不限制与编解码工解具或编解码特征相关联的第二语法元素。在方法700的一些实施例中,第三值等于0指定对第二语法元素没有施加约束。
在方法700的一些实施例中,第二语法元素的第二值指定档次、层和级别语法结构、解码图片缓冲器参数语法结构以及定时和假设参考解码器参数语法结构是否存在于序列参数集中。在方法700的一些实施例中,第二语法元素的第二值指定亮度样点的最大变换尺寸是否等于64。在方法700的一些实施例中,第二值等于0指定亮度样点的最大变换尺寸等于32。在方法700的一些实施例中,第二语法元素的第二值指定编解码层视频序列中是否存在子图片信息,以及编解码层视频序列的每个图片中是否包括多于一个的子图片。在方法700的一些实施例中,第二值等于0指定对于编解码层视频序列不存在子图片信息,并且在编解码层视频序列的每个图片中只有一个子图片。在方法700的一些实施例中,第二语法元素的第二值指定编解码层视频序列中的所有子图片边界是否被视为图片边界,以及是否没有跨越子图片边界的环路滤波操作。
在方法700的一些实施例中,第二语法元素的第二值指定子图片标识符映射是在由编解码层视频序列所参考的图片参数集还是序列参数集中被显示地信令通知。在方法700的一些实施例中,第二语法元素的第二值指定当另一个标志具有等于1的值时,子图片标识符映射是在在由编解码层视频序列所参考的图片参数集还是序列参数集中被信令通知。在方法700的一些实施例中,第二语法元素的第二值指定在解码编解码树单元之前是否调用用于上下文变量的特定同步处理,该编解码树单元包括参考序列参数集的每个视频图片中的每个片中的编解码树块的行的第一编解码树块,并且第二语法元素的第二值指定在解码编解码树单元之后是否调用用于上下文变量的特定存储处理,该编解码树单元包括参考序列参数集的每个视频图片中的每个片中的编解码树块的行的第一编解码树块。
在方法700的一些实施例中,第二语法元素的第二值指定片或片特定编解码树单元行的入口点偏移是否存在于参考序列参数集的视频图片的条带标头中。在方法700的一些实施例中,第二语法元素的第二值等于在解码处理中所使用的用于图片顺序计数的、变量MaxPicOrderCntLsb的第三值,如下:MaxPicOrderCntLsb=2(the third value+4)。在方法700的一些实施例中,第二语法元素的第二值指定ph_poc_msb_cycle_present_flag语法元素是否存在于参考序列参数集的图片标头中。在方法700的一些实施例中,当sps_max_sublayers_minus1大于0时,第二语法元素的第二值控制dpb_max_dec_pic_buffering_minus1[i]、dpb_max_num_reorder_pics[i]和dpb_max_latency_increase_plus1[i]语法元素在序列参数集中的dpb_parameters()语法结构中的存在,其中i在0到sps_max_sublayers_minus1–1的范围内(含这两个值)。在方法700的一些实施例中,第二语法元素的第二值指定ph_partition_constraints_override_flag是否存在于参考序列参数集的图片标头语法结构中。在方法700的一些实施例中,第二语法元素的第二值加2指定最小亮度编解码块尺寸。在方法700的一些实施例中,第二语法元素的第二值指定由编解码树单元的四叉树划分所产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数与参考序列参数集的sh_slice_type等于2(I)的条带中的亮度编解码单元的亮度样点的最小编解码块尺寸的另一个以2为底的对数之间的默认差。
在方法700的一些实施例中,第二语法元素的第二值指定编解码单元的默认最大层次深度,该编解码单元由参考序列参数集的sh_slice_type等于2(I)的条带中的四叉树叶的多类型树划分所产生。在方法700的一些实施例中,第二语法元素的第二值指定由编解码树单元的四叉树划分所产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数与参考序列参数集的sh_slice_type等于0(B)或1(P)的条带中的亮度编解码单元的亮度样点的最小亮度编解码块尺寸的另一以2为底的对数之间的默认差。在方法700的一些实施例中,第二语法元素的第二值指定用于编解码单元的默认最大层次深度,该编解码单元由参考序列参数集的sh_slice_type等于0(B)或1(P)四叉树叶的多类型树划分所产生。
在方法700的一些实施例中,第二语法元素的第二值指定:(1)当sps_joint_cbcr_enabled_flag等于1时,序列参数集是否仅包括适用于色度残差和联合色度残差的一个色度QP映射表,以及(2)当sps_joint_cbcr_enabled_flag等于1时,序列参数集是否包括多个色度QP映射表,其中该多个色度QP映射表包括用于两个色度视频分量的两个QP映射表和用于联合色度残差的一个QP映射表。在方法700的一些实施例中,第二语法元素的第二值指定用于变换跳过(TS)操作的最大块尺寸,其中最大块尺寸在0到3的范围内(含这两个值)。在方法700的一些实施例中,第二语法元素的第二值指定参考图片列表(RPL)语法元素是否存在于nal_unit_type等于IDR_N_LP或IDR_W_RADL的条带的条带标头中。在方法700的一些实施例中,第二语法元素的第二值指定sps_num_ref_pic_lists[1]和ref_pic_list_struct(1,rplsIdx)不存在,并且以下适用:sps_num_ref_pic_lists[1]的第三值被推断为等于sps_num_ref_pic_lists[0]的第四值,并且对于范围从0到sps_num_ref_pic_lists[0]-1的rplsIdx,ref_pic_list_struct(1,rplsIdx)中的每个语法元素的值被推断为等于ref_pic_list_struct(0,rplsIdx)中的对应语法元素的另一个值。
在方法700的一些实施例中,第二语法元素的第二值指定序列参数集中所包括的数个listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构。在方法700的一些实施例中,第二语法元素的第二值指定ph_dmvr_disabled_flag是否存在于参考序列参数集的图片标头中。在方法700的一些实施例中,第二语法元素的第二值指定具有运动矢量差的Merge模式对视频的当前视频图片使用整数样点精度或分数样点精度。在方法700的一些实施例中,第二语法元素的第二值指定序列参数集中所支持的Merge运动矢量预测(MVP)候选的最大数量减去6。
在方法700的一些实施例中,第二语法元素的第二值指定是使用基于4参数仿射模型的补偿还是基于6参数仿射模型的运动补偿来生成预测样点。在方法700的一些实施例中,第二语法元素的第二值指定是否为编解码视频层序列启用自适应运动矢量差分辨率。在方法700的一些实施例中,第二语法元素的第二值指定参考序列参数集的图片标头中是否存在ph_prof_disabled_flag。在方法700的一些实施例中,第二语法元素的第二值加2指定变量Log2ParMrgLevel的值,该变量在用于空域Merge候选的推导处理中被使用,并控制对基于历史的运动矢量预测值列表的更新处理的调用。在方法700的一些实施例中,第二语法元素的第二值指定预测处理是否以对于色度样点位置而设计的方式操作,该色度样点位置要么不相对于对应的亮度样点位置水平移位,要么相对于对应的亮度样点位置以亮度样点为单位向右移位0.5。
在方法700的一些实施例中,第二语法元素的第二值指定预测处理是否以对于色度样点位置设计的方式操作,该色度样点位置要么不相对于对应的亮度样点位置垂直移位,要么相对于对应的亮度样点位置以亮度样点为单位向下移位0.5。在方法700的一些实施例中,第二语法元素的第二值指定对内部比特深度增加的限制。在方法700的一些实施例中,第二语法元素的第二值指定对于编解码层视频序列的用低频率不可分变换(LFNST)进行编解码的块,缩放矩阵是否被禁用。在方法700的一些实施例中,第二语法元素的第二值指定当使用颜色空间转换应用当前编解码单元的解码残差时,编解码层视频序列的缩放矩阵是否被禁用且不适用于编解码单元的视频块。在方法700的一些实施例中,第二语法元素的第二值指定缩放矩阵的第一颜色空间是要么不使用颜色空间转换要么对解码残差使用颜色空间转换的第二颜色空间。
在方法700的一些实施例中,第二语法元素的第二值指定对假设参考解码器(HRD)的一个或多个限制。在方法700的一些实施例中,第二语法元素的第二值指定序列参数集中的ols_timing_hrd_parameters()语法结构包括用于子层表示的HRD参数,其中子层表示的TemporalId要么在0到sps_max_sublayers_minus1的范围内(含这两个值),要么等于sps_max_sublayers_minus1。在方法700的一些实施例中,第二语法元素的第二值指定语法结构vui_payload()是否存在于序列参数集的原始字节序列有效载荷(RBSP)语法结构中。在方法700的一些实施例中,第二语法元素被包括在序列参数集、图片参数集、图片标头或条带标头中,并且第二语法元素被选择性地重命名。
图8是视频处理的示例方法800的流程图。操作802包括根据规则执行包括视频块的视频和该视频的比特流之间的转换,其中视频块是包括一个或多个编解码单元的编解码树节点,并且其中该规则指定视频块的编解码信息指示是否为视频块的一个或多个编解码单元启用编解码模式。
在方法800的一些实施例中,规则指定编解码信息包括指定用于编解码树节点的编解码模式类型的变量。在方法800的一些实施例中,该规则指定编解码信息包括指示编解码树节点中所包括的一个或多个编解码单元是否被允许使用帧间预测编解码模式的语法元素。在方法800的一些实施例中,规则指定响应于指定编解码树节点属于某个编解码模式类型的变量,编解码模式包括为编解码树节点的一个或多个编解码单元启用的调色板编解码模式。在方法800的一些实施例中,变量指示编解码树节点的某个编解码模式类型等于MODE_TYPE_INTRA。在方法800的一些实施例中,变量指示编解码树节点的某个编解码模式类型等于MODE_TYPE_ALL。
在方法800的一些实施例中,规则指定比特流包括指示启用调色板编解码模式的使用的第二语法元素。在方法800的一些实施例中,某个编解码模式类型包括第一模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,仅允许帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式。在方法800的一些实施例中,某个编解码模式类型包括第二模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元仅允许帧间预测编解码模式。在方法800的一些实施例中,某个编解码模式类型包括第三模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,允许帧内预测编解码模式、帧内块复制(IBC)编解码模式、调色板编解码模式和帧间预测编解码模式。
在方法800的一些实施例中,规则指定响应于指定编解码树节点属于某个编解码模式类型的变量,编解码模式包括仅对编解码树节点的亮度块启用的调色板编解码模式。在方法800的一些实施例中,变量指示编解码树节点的某个编解码模式类型等于MODE_TYPE_INTRA。在方法800的一些实施例中,变量指示编解码树节点的某个编解码模式类型等于MODE_TYPE_ALL。在方法800的一些实施例中,规则指定比特流包括指示启用调色板编解码模式的使用的第二语法元素。在方法800的一些实施例中,某个编解码模式类型包括第一模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,仅允许帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式。
在方法800的一些实施例中,某些编解码模式类型包括第二模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,允许帧内预测编解码模式、帧内块复制(IBC)编解码模式、调色板编解码模式和帧间预测编解码模式。在方法800的一些实施例中,规则指定响应于指定编解码模式限制不适用于编解码树节点的变量,为编解码树节点的一个或多个编解码单元启用的编解码模式包括以下任何一个或多个:帧内预测编解码模式、帧内块复制(IBC)编解码模式、调色板编解码模式和帧间预测编解码模式。在方法800的一些实施例中,该变量指示编解码树节点的编解码模式类型等于MODE_TYPE_ALL。在方法800的一些实施例中,该规则指定响应于本地双树适用于编解码树节点,为编解码树节点的一个或多个编解码单元启用的编解码模式包括以下任何一个或多个:帧内预测编解码模式、帧内块复制(IBC)模式和调色板编解码模式。在方法800的一些实施例中,编解码树节点的编解码模式类型等于MODE_TYPE_INTRA。
在方法800的一些实施例中,变量指定编解码树节点属于某个编解码模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,仅允许帧内预测编解码模式、IBC模式和调色板编解码模式。在方法800的一些实施例中,该规则指定响应于本地双树适用于编解码树节点的一个或多个编解码单元,为编解码树节点的亮度块启用的编解码模式包括帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式中的任何一个或多个。在方法800的一些实施例中,编解码树节点的编解码模式类型等于MODE_TYPE_INTRA。在方法800的一些实施例中,该规则指定帧内预测编解码模式适用于编解码树节点的色度块。在方法800的一些实施例中,该规则指定帧内预测编解码模式适用于编解码树节点的所有亮度块。在方法800的一些实施例中,该规则指定IBC编解码模式适用于编解码树节点的所有亮度块。
在方法800的一些实施例中,该规则指定调色板编解码模式适用于编解码树节点的所有亮度块。在方法800的一些实施例中,该规则指定允许多于一种的编解码模式适用于编解码树节点的亮度块,其中该多于一种的编解码模式包括帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式中的任何两种或多种。在方法800的一些实施例中,该规则指定对于适用于本地双树的编解码树节点中的一个或多个编解码单元不允许帧间预测编解码模式。在方法800的一些实施例中,该规则指定响应于编解码树节点中的编解码单元(CU)具有某个编解码模式类型,在比特流中指示调色板编解码模式是否适用于编解码树节点的一个或多个编解码单元。在方法800的一些实施例中,某个编解码模式类型包括第一模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,仅允许帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式。在方法800的一些实施例中,某个编解码模式类型包括第二模式类型,其指示对于编解码树节点中所包括的一个或多个编解码单元,允许帧内预测编解码模式、帧内块复制(IBC)编解码模式、调色板编解码模式和帧间预测编解码模式。
图9是视频处理的示例方法900的流程图。操作902包括根据规则执行包括包含视频块的视频图片的视频和该视频的比特流之间的转换,其中该规则指定使用指示为视频块启用调色板编解码模式的编解码模式类型,选择性地使用分割处理将视频块分割成编解码块。
在方法900的一些实施例中,编解码模式类型指示对于编解码树节点中所包括的编解码单元允许帧内预测编解码模式、帧内块复制(IBC)编解码模式、调色板编解码模式和帧间预测编解码模式。在方法900的一些实施例中,编解码模式类型指示对于编解码树节点中所包括的编解码单元仅允许帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式。在方法900的一些实施例中,编解码模式类型指示对于编解码树节点中所包括的编解码单元仅允许帧间预测编解码模式。在方法900的一些实施例中,分割处理包括四叉划分处理。在方法900的一些实施例中,分割处理包括二叉划分处理。在方法900的一些实施例中,分割处理包括三叉划分处理。
在方法800-900的一些实施例中,MODE_TYPE_INTRA的编解码模式类型或某个编解码模式类型包括帧内预测编解码模式、帧内块复制(IBC)编解码模式和调色板编解码模式。在方法800-900的一些实施例中,MODE_TYPE_ALL的编解码模式类型或某个编解码模式类型包括帧内预测编解码模式、帧内块复制(IBC)编解码模式、调色板编解码模式和帧间预测编解码模式。
在方法700-900的一些实施例中,执行转换包括将视频编码成比特流。在方法700-900的一些实施例中,执行转换包括将视频编码成比特流,并且该方法还包括将比特流存储在非暂时性计算机可读记录介质中。在方法700-900的一些实施例中,执行转换包括从比特流中解码视频。在一些实施例中,视频解码装置包括处理器,该处理器被配置为实施与方法700-900相关的实施例所述的方法。在一些实施例中,视频编码装置包括处理器,该处理器被配置为实施与方法700-900相关的实施例所述的方法。在一些实施例中,一种其上存储有计算机指令的计算机程序产品,当由处理器运行时,该指令使得处理器实施与方法700-900相关的实施例所述的方法。在一些实施例中,存储根据与方法700-900相关的实施例所述的方法生成的比特流的非暂时性计算机可读存储介质。在一些实施例中,非暂时性计算机可读存储介质存储使得处理器实施与方法700-900相关的实施例所述的方法的指令。在一些实施例中,一种比特流生成方法,包括:根据与方法700-900相关的实施例所述的方法生成视频的比特流,并且将该比特流存储在计算机可读程序介质上。在一些实施例中,一种方法、一种装置、根据本文档中描述的公开方法或系统所生成的比特流。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以(例如)对应于要么并置或是散布在比特流内不同位置的比特。例如,可以依照经变换和编解码的误差残差值并且还使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可以存在或不存在的情况下解析比特流,如以上解决方案中所描述的。类似地,编码器可以确定包括或不包括某个语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中所描述的本公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中或者在计算机软件、固件或硬件(包括本文档中所公开的结构及其结构等同物,或者在它们中的一个或多个的组合)中被实施。本公开和其他实施例可以被实施为一个或多个计算机程序产品,即被编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储设备、实现机器可读传播的信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或多个计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播的信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以发送到合适的接收机装置。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译型或解释型语言,并且其可以以任何形式被部署,包括作为独立程序或作为模块、组件、子例程或适合于在计算环境的使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以被存储在保持其他程序或数据的文件的一部分中(例如,被存储在标志语言文档中的一个或多个脚本),被存储在专用于所讨论的程序的单个文件中,或者被存储在多个协作文件中(例如,存储一个或多个模块、子程序或代码的部分的文件)。计算机程序可以被部署为在一个计算机或位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上被运行。
本文档中所描述的过程和逻辑流可以由一个或多个可编程处理器来执行,这些处理器运行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以由专用逻辑电路来执行,并且装置也可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适于计算机程序的运行的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地被耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从该大容量存储设备接收数据或向其传送数据,或两者兼有。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或权利要求的内容的范围的限制,而是对具体技术的具体实施例所特有的特征的描述。在本专利文档中在分离实施例的上下文中所描述的某些特征也可以在单个实施例中以组合实施。相反,在单个实施例的上下文中所描述的各种特征也可以在多个实施例中分离地或以任何合适的子组合来实施。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此被权力要求,但是来自权利要求的组合的一个或多个特征在一些情况下可以从该组合中被去除,并且权利要求的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以具体的顺序描绘了操作,但是这不应该被理解为要求这些操作以所示的具体顺序或序列顺序被执行,或者要求所有图示出的操作都被执行,以获得期望的结果。此外,在本专利文档中所描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中所描述和图示出的内容进行其他实施方式、增强和变化。

Claims (60)

1.一种处理视频数据的方法,包括:
根据规则执行包括一个或多个视频图片的视频和所述视频的比特流之间的转换,
其中所述规则指定通用约束信息语法结构中的第一语法元素控制一个或多个语法元素或所述一个或多个语法元素的一个或多个值在参数集或标头中的存在。
2.如权利要求1所述的方法,其中所述参数集包括序列参数集、图片参数集或自适应参数集。
3.如权利要求1所述的方法,其中所述标头包括图片标头或条带标头。
4.如权利要求1至3中任何一项所述的方法,其中所述第一语法元素使用1比特的无符号整数来进行编解码。
5.如权利要求1至3中任何一项所述的方法,其中所述第一语法元素使用N比特的无符号整数来进行编截码,其中N是正常数值。
6.如权利要求1到3中任何一项所述的方法,其中所述规则指定响应于所述第一语法元素具有第一值,将与编解码工具或编解码特征相关联的第二语法元素限制为第二值。
7.如权利要求6所述的方法,其中所述第一值等于1指定对所述第二语法元素施加了约束。
8.如权利要求1至3中任何一项所述的方法,其中所述规则指定响应于所述第一语法元素具有第三值,与编解码工具或编解码特征相关联的第二语法元素不受限制。
9.如权利要求8所述的方法,其中所述第三值等于0指定对所述第二语法元素没有施加约束。
10.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的第二值指定档次、层和级别语法结构、解码图片缓存器参数语法结构以及定时和假设参考解码器参数语法结构是否存在于所述序列参数集中。
11.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定亮度样点的最大变换尺寸是否等于64。
12.如权利要求6至7所述的方法,其中所述第二值等于0指定亮度样点的最大变换尺寸等于32。
13.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定子图片信息是否存在于编解码层视频序列中,以及多于一个的子图片是否被包括在所述编解码层视频序列的每个图片中。
14.如权利要求6至7所述的方法,其中所述第二值等于0指定对于编解码层视频序列不存在子图片信息,以及对于所述编解码层视频序列的每个图片中只有一个子图片。
15.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定编解码层视频序列中的所有子图片边界是否被视为图片边界,以及是否不存在跨越所述子图片边界的环路滤波操作。
16.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定子图片标识符映射在所述序列参数集中或由编解码层视频序列参考的图片参数集中被显式地信令通知。
17.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定当另一个标志具有等于1的值时,在所述序列参数集中或由编解码层视频序列参考的图片参数集中信令通知子图片标识符映射。
18.如权利要求6至7中任何一项所述的方法,
其中所述第二语法元素的所述第二值指定在解码编解码树单元之前是否调用用于上下文变量的特定同步处理,所述编解码树单元包括参考所述序列参数集的每个视频图片中的每个片中的编解码树块的行的第一编解码树块,以及
其中所述第二语法元素的所述第二值指定在解码包括参考所述序列参数集的每个视频图片中的每个片中的编解码树块的行的所述第一编解码树块的所述编解码树单元之后是否调用用于所述上下文变量的特定存储处理。
19.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定在参考所述序列参数集的视频图片的条带标头中是否存在用于片或片特定的编解码树单元行的入口点偏移。
20.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值等于变量MaxPicOrderCntLsb的第三值,其被用于图片顺序计数的解码处理,如下:
MaxPicOrderCntLsb=2(thethirdvalue+4)
21.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定ph_poc_msb_cycle_present_flag语法元素是否存在于参考所述序列参数集的图片标头中。
22.如权利要求6至7中任何一项所述的方法,其中当sps_max_sublayers_minus1大于0时,所述第二语法元素的所述第二值控制dpb_max_dec_pic_buffering_minus1[i]、dpb_max_num_reorder_pics[i]和dpb_max_latency_increase_plus1[i]语法元素在所述序列参数中的dpb_parameters()语法结构中的存在,其中i在0到sps_max_sublayers_minus1–1的范围内,含这两个值。
23.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定ph_partition_constraints_override_flag是否存在于参考所述序列参数集的图片标头语法结构中。
24.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值加2指定最小亮度编解码块尺寸。
25.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定由编解码树单元的四叉树划分所产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数与参考所述序列参数集的sh_slice_type等于2(I)的条带中的亮度编解码单元的亮度样点的最小编解码块尺寸的另一以2为底的对数之间的默认差。
26.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定用于编解码单元的默认最大层次深度,所述编解码单元由参考所述序列参数集的sh_slice_type等于2(I)的条带中的四叉树叶的多类型树划分所产生。
27.如权利要求6到7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定由编解码树单元的四叉树划分所产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数与参考所述序列参数集的sh_slice_type等于0(B)或1(P)的条带中的亮度编解码单元的亮度样点的最小亮度编解码块尺寸的另一以2为底的对数之间的默认差。
28.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定用于编解码单元的默认最大层次深度,所述编解码单元由参考所需序列参数集的sh_slice_type等于0(B)或1(P)的条带中的四叉树叶的多类型树划分所产生。
29.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定:
(1)当sps_joint_cbcr_enabled_flag等于1时,所述序列参数集是否仅包括适用于色度残差和联合色度残差的一个色度QP映射表,以及
(2)当sps_joint_cbcr_enabled_flag等于1时,所述序列参数集是否包括多个色度QP映射表,其中所述多个色度QP映射表包括用于两个色度视频分量的两个QP映射表和用于联合色度残差的一个QP映射表。
30.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定用于变换跳过TS操作的最大块尺寸,其中所述最大块尺寸在0到3的范围内,含这两个值。
31.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定参考图片列表RPL语法元素是否存在于nal_unit_type等于IDR_N_LP或IDR_W_RADL的条带的条带标头中。
32.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定sps_num_ref_pic_lists[1]和ref_pic_list_struct(1,rplsIdx)不存在,并且以下适用:
sps_num_ref_pic_lists[1]的第三值被推断为等于sps_num_ref_pic_lists[0]的第四值,以及
对于0到sps_num_ref_pic_lists[0]–1范围内的rplsIdx,ref_pic_list_struct(1,rplsIdx)中每个语法元素的值被推断为等于ref_pic_list_struct(0,rplsIdx)中对应语法元素的另一个值。
33.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定所述序列参数集中所包括的listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构的数量。
34.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定ph_dmvr_disabled_flag是否存在于参考所述序列参数集的图片标头中。
35.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定具有运动矢量差的Merge模式对所述视频的当前视频图片是使用整数样点精度还是分数样点精度。
36.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定从6减去所述序列参数集中所支持的Merge运动矢量预测MVP候选的最大数量。
37.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定是使用基于4参数仿射模型的运动补偿还是基于6参数仿射模型的运动补偿来生成预测样点。
38.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定是否对编解码视频层序列启用自适应运动矢量差分辨率。
39.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定ph_prof_disabled_flag是否存在于参考所述序列参数集的图片标头中。
40.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值加2指定变量Log2ParMrgLevel的值,所述变量Log2ParMrgLevel在用于空域Merge候选的推导处理中被使用,并控制对基于历史的运动矢量预测值列表的更新处理的调用。
41.如权利要求6到7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定预测处理是否以对于色度样点位置设计的方式进行操作,所述色度样点位置相对于对应的亮度样点位置不水平移位或者相对于所述对应的亮度样点位置以亮度样点为单位向右移位0.5。
42.如权利要求6到7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定预测处理是否以对于色度样点位置而设计的方式进行操作,所述色度样点位置相对于对应的亮度样点位置不垂直移位或者相对于所述对应的亮度样点位置以亮度样点为单位向下移位0.5。
43.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定对内部比特深度增加的限制。
44.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定是否对编解码层视频序列的、用低频率不可分变换LFNST编解码的块禁用缩放矩阵。
45.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定当使用颜色空间转换应用当前编解码单元的解码残差时,编解码层视频序列的缩放矩阵是否被禁用且不适用于编解码单元的视频块。
46.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定缩放矩阵的第一颜色空间是不使用颜色空间转换或者对解码残差使用颜色空间转换的第二颜色空间。
47.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定对假设参考解码器HRD的一个或多个限制。
48.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定所述序列参数集中的ols_timing_hrd_parameters()语法结构包括用于子层表示的HRD参数,其中子层表示的TemporalId在0至sps_max_sublayers_minus1的范围内,含这两个值;或是等于sps_max_sublayers_minus1。
49.如权利要求6至7中任何一项所述的方法,其中所述第二语法元素的所述第二值指定语法结构vui_payload()是否存在于所述序列参数集的原始字节序列有效载荷RBSP语法结构中。
50.如权利要求6至7中任何一项所述的方法,
其中,所述第二语法元素被包括在所述序列参数集、所述图片参数集、所述图片标头或所述条带标头中,并且
其中所述第二语法元素被选择性地重命名。
51.如权利要求1至50中任何一项所述的方法,其中执行所述转换包括将所述视频编码成所述比特流。
52.如权利要求1至50中任何一项所述的方法,其中执行所述转换包括将所述视频编码成所述比特流,并且所述方法还包括将所述比特流存储在非暂时性计算机可读记录介质中。
53.如权利要求1至50中任何一项所述的方法,其中执行所述转换包括从所述比特流中解码所述视频。
54.一种视频解码装置,包括被配置为实施权利要求1至53中的一项或多项所述的方法的处理器。
55.一种视频编码装置,包括被配置为实施权利要求1至53中的一项或多项所述的方法的处理器。
56.一种其上存储有计算机指令的计算机程序产品,当由处理器执行时,所述指令使得处理器实施权利要求1至53中任何一项所述的方法。
57.一种存储根据权利要求1至53中任何一项所述的方法所生成的比特流的非暂时性计算机可读存储介质。
58.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器实施权利要求1至53中任何一项所述的方法。
59.一种比特流生成方法,包括:
根据如权利要求1至53中任何一项所述的方法生成视频的比特流,以及
将所述比特流存储在计算机可读程序介质上。
60.一种方法、一种装置、一种根据本文档中所描述的公开方法或系统所生成的比特流。
CN202180039440.6A 2020-05-31 2021-05-28 使用通用约束信息语法元素的约束信令 Pending CN115699769A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2020/093641 2020-05-31
CN2020093641 2020-05-31
PCT/CN2021/096705 WO2021244419A1 (en) 2020-05-31 2021-05-28 Constraint signaling using general constraint information syntax element

Publications (1)

Publication Number Publication Date
CN115699769A true CN115699769A (zh) 2023-02-03

Family

ID=78830721

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202180039485.3A Pending CN115699753A (zh) 2020-05-31 2021-05-28 具有本地双树模式类型定义的调色板模式
CN202180039440.6A Pending CN115699769A (zh) 2020-05-31 2021-05-28 使用通用约束信息语法元素的约束信令

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202180039485.3A Pending CN115699753A (zh) 2020-05-31 2021-05-28 具有本地双树模式类型定义的调色板模式

Country Status (6)

Country Link
US (2) US11991397B2 (zh)
EP (1) EP4154537A4 (zh)
JP (1) JP2023527453A (zh)
KR (1) KR20230016655A (zh)
CN (2) CN115699753A (zh)
WO (2) WO2021244420A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11503342B2 (en) * 2020-06-10 2022-11-15 Sharp Kabushiki Kaisha Systems and methods for signaling sequence parameter information in video coding

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9277228B2 (en) 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
MY167316A (en) 2011-11-04 2018-08-16 Sharp Kk Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
CN103096054B (zh) 2011-11-04 2015-07-08 华为技术有限公司 一种视频图像滤波处理方法和装置
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
CN104380749A (zh) 2012-04-16 2015-02-25 诺基亚公司 用于视频编码的方法和装置
RU2612577C2 (ru) * 2012-07-02 2017-03-09 Нокиа Текнолоджиз Ой Способ и устройство для кодирования видеоинформации
US9602827B2 (en) * 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
HUE031191T2 (en) * 2012-12-21 2017-07-28 ERICSSON TELEFON AB L M (publ) Multilayered video stream decoding
US20150264099A1 (en) * 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Systems and methods for constraining a bitstream
US9641851B2 (en) 2014-04-18 2017-05-02 Qualcomm Incorporated Conformance window information in multi-layer coding
WO2015163456A1 (ja) 2014-04-25 2015-10-29 シャープ株式会社 画像復号装置、画像符号化装置、および、符号化データ変換装置
US10171823B2 (en) 2014-05-26 2019-01-01 Sharp Kabushiki Kaisha Image decoding device and image coding device
CN105491379A (zh) * 2014-10-01 2016-04-13 财团法人工业技术研究院 解码器、编码器、解码方法、编码方法与编解码系统
EP3266212A4 (en) * 2015-03-20 2018-08-01 MediaTek Singapore Pte Ltd. Methods of palette coding with inter-prediction in video coding
US20160345014A1 (en) * 2015-05-20 2016-11-24 Sharp Laboratories Of America, Inc. Systems and methods for coding a number of palette indices
US10390048B2 (en) 2016-02-15 2019-08-20 Qualcomm Incorporated Efficient transform coding using optimized compact multi-pass transforms
US10349085B2 (en) 2016-02-15 2019-07-09 Qualcomm Incorporated Efficient parameter storage for compact multi-pass transforms
AU2017377490B2 (en) 2016-12-16 2022-04-21 FG Innovation Company Limited Image decoding device and image coding device
JP2020515169A (ja) * 2017-03-20 2020-05-21 シャープ株式会社 メディアアプリケーションフォーマットでスケーラブル動画像をシグナリングするためのシステム及び方法
US11019339B2 (en) 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
US11303912B2 (en) 2018-04-18 2022-04-12 Qualcomm Incorporated Decoded picture buffer management and dynamic range adjustment
EP3782364A4 (en) 2018-04-24 2022-04-20 HFI Innovation Inc. ALTERNATE TRANSFORM JUMP MODE METHODS AND APPARATUS FOR IMAGE AND VIDEO CODING
EP4216554A1 (en) 2018-06-03 2023-07-26 LG Electronics Inc. Method and device for processing video signal by using reduced transform
US11356702B2 (en) 2018-06-06 2022-06-07 Lg Electronics Inc. Method for performing transform index coding on basis of intra prediction mode, and device therefor
WO2020060243A1 (ko) * 2018-09-19 2020-03-26 한국전자통신연구원 경계 처리를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
GB2580173B (en) 2018-12-21 2022-07-27 Canon Kk A filter
KR20220027281A (ko) * 2018-12-21 2022-03-07 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN109743576B (zh) * 2018-12-28 2020-05-12 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
BR112021012366B1 (pt) 2019-01-15 2022-03-22 Lg Electronics Inc Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
US20220109878A1 (en) * 2019-02-06 2022-04-07 Lg Electronics Inc. Method and device for processing video signal using reduced transform
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
WO2020181434A1 (en) 2019-03-08 2020-09-17 Zte Corporation Parameter set signaling in digital video
KR102204438B1 (ko) * 2019-03-15 2021-01-18 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
EP3925217A4 (en) 2019-03-25 2023-03-08 HFI Innovation Inc. METHOD AND DEVICE FOR QUANTIZATION MATRIX CALCULATION AND REPRESENTATION FOR VIDEO CODING
US11616966B2 (en) 2019-04-03 2023-03-28 Mediatek Inc. Interaction between core transform and secondary transform
BR112021021356A2 (pt) 2019-04-25 2022-01-18 Op Solutions Llc Movimento global para candidatos de modo de mesclagem em interprevisão
CN113892262A (zh) * 2019-05-27 2022-01-04 Sk电信有限公司 帧内模式候选配置方法和视频解码设备
US11134275B2 (en) 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
EP3977737A4 (en) * 2019-06-24 2022-08-03 Alibaba Group Holding Limited METHOD AND SYSTEM FOR PROCESSING LUMA AND CHROMA SIGNALS
US11277611B2 (en) 2019-07-24 2022-03-15 Qualcomm Incorporated Delta quantization parameter (QP) signaling in palette mode
US11553197B2 (en) * 2019-08-05 2023-01-10 Tencent America LLC Method and apparatus for intra picture block compensation
GB2586484B (en) 2019-08-20 2023-03-08 Canon Kk A filter
WO2021045765A1 (en) 2019-09-05 2021-03-11 Huawei Technologies Co., Ltd. Efficient adaptive loop filter parameter signaling in video coding
US11153576B2 (en) 2019-09-20 2021-10-19 Qualcomm Incorporated Scaling matrices and signaling for video coding
CN114424525A (zh) 2019-09-20 2022-04-29 阿里巴巴集团控股有限公司 视频处理中的量化参数标识
KR20220047834A (ko) 2019-09-23 2022-04-19 엘지전자 주식회사 팔레트 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN114600462A (zh) 2019-10-25 2022-06-07 夏普株式会社 用于在视频编码中发送信号通知图片信息的系统和方法
JP7402016B2 (ja) 2019-11-06 2023-12-20 オッポ広東移動通信有限公司 画像復号装置及び画像符号化装置
WO2021100863A1 (en) 2019-11-22 2021-05-27 Sharp Kabushiki Kaisha Systems and methods for signaling tiles and slices in video coding
WO2021126487A1 (en) * 2019-12-17 2021-06-24 Alibaba Group Holding Limited Methods and apparatuses for block partitioning at picture boundary
US11184632B2 (en) 2020-01-20 2021-11-23 Tencent America LLC Method and apparatus for palette based coding mode under local dual tree structure
US11778215B2 (en) 2020-02-28 2023-10-03 Qualcomm Incorporated Coding output layer set data and conformance window data of high level syntax for video coding
US20210321137A1 (en) * 2020-03-30 2021-10-14 Qualcomm Incorporated Low-frequency non-separable transform index signaling in video coding

Also Published As

Publication number Publication date
EP4154537A1 (en) 2023-03-29
US11991397B2 (en) 2024-05-21
JP2023527453A (ja) 2023-06-28
US20240137572A1 (en) 2024-04-25
KR20230016655A (ko) 2023-02-02
WO2021244420A1 (en) 2021-12-09
WO2021244419A1 (en) 2021-12-09
US20230111806A1 (en) 2023-04-13
CN115699753A (zh) 2023-02-03
EP4154537A4 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
US11968402B2 (en) Constrains for high level syntax elements
JP7407299B2 (ja) 量子化パラメータのための高レベルのビットストリームシンタックス
CN115769586A (zh) 视频编解码中的参考图片列表信令通知
US20240137571A1 (en) General Constraint Information In Video Coding
US20240129540A1 (en) Signalling Of General Constraints Flag
US20240137572A1 (en) Palette mode with local dual tree modetype definition
CN115918085A (zh) 颜色分量的信令通知
CN115486064A (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