CN115769578A - 视频编解码中的自适应色彩变换 - Google Patents

视频编解码中的自适应色彩变换 Download PDF

Info

Publication number
CN115769578A
CN115769578A CN202180029873.3A CN202180029873A CN115769578A CN 115769578 A CN115769578 A CN 115769578A CN 202180029873 A CN202180029873 A CN 202180029873A CN 115769578 A CN115769578 A CN 115769578A
Authority
CN
China
Prior art keywords
equal
aps
flag
slice
alf
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
CN202180029873.3A
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 CN115769578A publication Critical patent/CN115769578A/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream

Landscapes

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

Abstract

描述了用于视频处理的系统、方法和装置。视频处理可以包括视频编码、视频解码或视频转码。一种视频处理的示例方法包括:对于包括视频块的视频和视频的比特流之间的转换,根据规则来确定是否对视频块启用了第一编解码工具,其中该规则指定第一编解码工具和第二编解码工具被互斥地启用,并且其中第一编解码工具或第二编解码工具包括用于减少色彩分量之间的冗余的工具;以及根据该确定来执行转换。

Description

视频编解码中的自适应色彩变换
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请适时要求于2020年4月20日提交的国际专利申请No.PCT/CN2020/085740的优先权和权益。出于根据法律的所有目的,前述申请的全部公开通过引用而并入作为本申请的公开的一部分。
技术领域
本专利文档涉及图像和视频编码与解码。
背景技术
数字视频占了互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可以由视频编码器和解码器用于使用对视频的编解码表示的解码有用的控制信息来处理编解码表示的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括执行具有一个或多个色度分量的视频和视频的编解码表示之间的转换,该视频包括包含一个或多个条带的一个或多个视频图片,其中编解码表示符合格式规则,其中格式规则指定色度阵列类型字段控制对在转换期间使用的色度的转换特性的约束。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个视频区域的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合指定包括视频区域指示在转换期间去方块滤波器对视频区域的应用性的去方块模式指示符的格式规则。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个视频条带和/或一个或多个视频子图片的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,该格式规则指定在对视频图片禁用图片分割的情况下,指示每子图片单个条带模式是否被认为对视频图片启用的标志。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个视频条带的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合指定图片或条带级别色度量化参数偏移在图片标头或条带标头中被信令通知的格式规则。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行包括包含一个或多个视频条带的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,该格式规则指定适用于视频的视频块的转换的色度量化参数(QP)表作为(delta_qp_in_val_minus1[i][j]+1)和delta_qp_diff_val[i][j]之间的异或运算来推导,其中delta_qp_in_val_minus1[i][j]指定用于推导第i个色度映射表的第j个枢轴点的输入坐标的增量值,并且delta_qp_diff_val[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输出坐标的增量值,其中i和j是整数。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于包括视频块的视频和视频的比特流之间的转换,根据规则来确定是否对视频块启用了第一编解码工具,其中该规则指定第一编解码工具和第二编解码工具被互斥地启用,并且其中第一编解码工具或第二编解码工具包括用于减少色彩分量之间的冗余的工具;以及根据该确定来执行转换。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个条带的一个或多个图片的视频和视频的比特流之间的转换,并且其中比特流符合携带与特定APS类型相对应的自适应参数集信息的图片单元中的APS(自适应参数集)NAL(网络抽象层)单元的位置和图片单元中的视频编解码层(VCL)的作为最后一个NAL单元或第一个NAL单元的第二NAL单元之间的预定义顺序。
在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换,并且其中该规则指定与图片单元中的任何VCL(视频编解码层)NAL使用或参考的特定类型的第一APS(自适应参数集)NAL(网络抽象层)单元集合的数量有关的约束。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频块和视频的比特流之间的转换,根据基于参考图片列表中具有特定索引的参考图片是长期参考图片还是短期参考图片的规则,确定使用至少一个长期参考图片还是至少一个短期参考图片进行时域运动矢量预测(TMVP);以及基于该确定来执行转换。
在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现本文描述的方法之一。
这些以及其他特征将在本文档中描述。
附图说明
图1是示例视频处理系统的框图。
图2是视频处理装置的框图。
图3是视频处理的示例方法的流程图。
图4是示出根据本公开的一些实施例的视频编解码系统的框图。
图5是示出根据本公开的一些实施例的编码器的框图。
图6是示出根据本公开的一些实施例的解码器的框图。
图7A至图7D示出了基于所公开的技术的一些实施方式的视频处理的示例方法的流程图。
具体实施方式
在本文档中使用章节标题以易于理解,并且不将每个章节中公开的技术和实施例的应用性仅限制于该章节。此外,在一些描述中使用H.266技术术语仅仅是为了易于理解,而不是为了限制所公开的技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
1.引言
本文档涉及视频编解码技术。具体地,它关于视频编解码中的APS、去方块、子图片和QP增量的语法设计。该思想可以单独或以各种组合应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(VVC)。
2.缩写
APS 自适应参数集
AU 访问单元
AUD 访问单元分隔符
AVC 高级视频编解码
CLVS 编解码层视频序列
CPB 编解码图片缓冲区
CRA 完全随机访问
CTU 编解码树单元
CVS 编解码视频序列
DPB 解码图片缓冲区
DPS 解码参数集
EOB 比特流结尾
EOS 序列结尾
GDR 逐渐解码刷新
HEVC 高效视频编解码
HRD 假设参考解码器
IDR 即时解码刷新
JEM 联合探索模型
MCTS 运动约束片集
NAL 网络抽象层
OLS 输出层集
PH 图片标头
PPS 图片参数集
PROF 利用光流的预测细化
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高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(Joint Video Exploration Team,JVET)。从那时起,JVET已经采用了许多新的方法,并将其放入了名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。JVET会议每季度同时举行一次,新编解码标准的目标是与HEVC相比降低50%的比特率。新视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编解码(VVC),第一版VVC测试模型(VTM)也在当时发布。由于对VVC标准化的持续努力,新的编解码技术在每次JVET会议上都被采用到VVC标准中。VVC的工作草案和测试模型VTM在每次会议后都会更新。VVC项目现在的目标是在2020年7月的会议上技术上完成(FDIS)。
3.1.PPS语法和语义
在最新的VVC草案文本中,PPS语法和语义如下:
Figure BDA0003899756780000051
Figure BDA0003899756780000061
Figure BDA0003899756780000071
Figure BDA0003899756780000081
Figure BDA0003899756780000091
PPS RBSP在被参考之前应当可用于解码过程,包括在TemporalId小于或等于PPSNAL单元的TemporalId的至少一个AU中或者通过外部手段提供。
PU内具有pps_pic_parameter_set_id的特定值的所有PPS NAL单元应当具有相同的内容。
pps_pic_parameter_set_id标识其他语法元素所参考的PPS。pps_pic_parameter_set_id的值应当在0到63的范围(包括0和63)内。
无论nuh_layer_id值如何,PPS NAL单元都共享pps_pic_parameter_set_id的相同值空间。
设ppsLayerId为特定PPS NAL单元的nuh_layer_id的值,并且vclLayerId为特定VCL NAL单元的nuh_layer_id的值。特定VCL NAL单元不应当参考特定PPS NAL单元,除非ppsLayerId小于或等于vclLayerId,并且nuh_layer_id等于ppsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中。
pps_seq_parameter_set_id指定SPS的sps_seq_parameter_set_id的值。pps_seq_parameter_set_id的值应当在0到15的范围(包括0和15)内。pps_seq_parameter_set_id的值在CLVS中的编解码图片所参考的所有PPS中应当是相同的。
mixed_nalu_types_in_pic_flag等于1指定参考PPS的每个图片具有多于一个VCLNAL单元,VCL NAL单元不具有nal_unit_type的相同值,并且该图片不是IRAP图片。mixed_nalu_types_in_pic_flag等于0指定参考PPS的每个图片具有一个或多个VCL NAL单元,并且参考PPS的每个图片的VCL NAL单元具有nal_unit_type的相同值。
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应当等于0。
对于还包含具有nal_unit_type的另一个值的一个或多个条带的图片picA(即,图片picA的mixed_nalu_types_in_pic_flag的值等于1)中具有在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的nal_unit_type值nalUnitTypeA的每个条带,以下适用:
-条带应当属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpicA。
-条带不应当属于包含nal_unit_type不等于nalUnitTypeA的VCL NAL单元的picA的子图片。
-如果nalUnitTypeA等于CRA,则对于按照解码顺序和输出顺序在CLVS中的当前图片之后的所有后续PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
-否则(即,nalUnitTypeA等于IDR_W_RADL或IDR_N_LP),对于按照解码顺序在当前图片之后的CLVS中的所有PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
注1–mixed_nalu_types_in_pic_flag等于1指示参考PPS的图片包含具有不同NAL单元类型的条带,例如,源自编码器必须确保匹配比特流结构以及原始比特流的参数的进一步对齐的子图片比特流合并操作的编解码图片。这样的对齐的一个示例如下:当sps_idr_rpl_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考PPS的图片不能具有nal_unit_type等于IDR_W_RADL或IDR_N_LP的条带。
pic_width_in_luma_samples指定参考PPS的每个解码图片的宽度,以亮度样点为单位。pic_width_in_luma_samples不应当等于0,应当为Max(8,MinCbSizeY)的整数倍,并且应当小于或等于pic_width_max_in_luma_samples。
当res_change_in_clvs_allowed_flag等于0时,pic_width_in_luma_samples的值应当等于pic_width_max_in_luma_samples。
pic_height_in_luma_samples指定参考PPS的每个解码图片的高度,以亮度样点为单位。pic_height_in_luma_samples不应当等于0,应当为Max(8,MinCbSizeY)的整数倍,并且应当小于或等于pic_height_max_in_luma_samples。
当res_change_in_clvs_allowed_flag等于0时,pic_height_in_luma_samples的值应当等于pic_height_max_in_luma_samples。
变量PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC和PicHeightInSamplesC被推导如下:
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY) (69)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY) (70)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (71)
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (72)
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (73)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (74)
PicSizeInSamplesY=
pic_width_in_luma_samples*pic_height_in_luma_samples (75)
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (76)
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (77)
pps_conformance_window_flag等于1指示一致性裁剪窗口偏移参数在PPS中跟随下一个。pps_conformance_window_flag等于0指示一致性裁剪窗口偏移参数不存在于PPS中。
pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset指定从解码过程输出的CLVS中的图片的样点,按照用于输出的图片坐标中指定的矩形区域。当pps_conformance_window_flag等于0时,pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含水平图片坐标从SubWidthC*pps_conf_win_left_offset到pic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1)(包括SubWidthC*pps_conf_win_left_offset和pic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1))并且垂直图片坐标从SubHeightC*pps_conf_win_top_offset到pic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1)(包括SubHeightC*pps_conf_win_top_offset和pic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1))的亮度样点。
SubWidthC*(pps_conf_win_left_offset+pps_conf_win_right_offset)的值应当小于pic_width_in_luma_samples,并且SubHeightC*(pps_conf_win_top_offset+pps_conf_win_bottom_offset)的值应当小于pic_height_in_luma_samples。
当ChromaArrayType不等于0时,两个色度阵列的对应指定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是指定亮度样点的图片坐标。
注2–一致性裁剪窗口偏移参数仅被应用于输出。所有内部解码过程都被应用于未裁剪的图片尺寸。
设ppsA和ppsB为参考相同SPS的任何两个PPS。比特流一致性的要求是,当ppsA和ppsB分别具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值时,ppsA和ppsB应当分别具有pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset的相同值。
当pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_max_in_luma_samples时,比特流一致性的要求是pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset分别等于sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset。
scaling_window_explicit_signalling_flag等于1指定缩放窗口偏移参数存在于PPS中。scaling_window_explicit_signalling_flag等于0指定缩放窗口偏移参数不存在于PPS中。当res_change_in_clvs_allowed_flag等于0时,scaling_window_explicit_signalling_flag的值应当等于0。
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset指定被应用于图片尺寸以进行缩放比计算的偏移。当不存在时,scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset的值被推断为分别等于pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset。
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)的值应当小于pic_width_in_luma_samples,并且SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)的值应当小于pic_height_in_luma_samples。
变量PicOutputWidthL和PicOutputHeightL被推导如下:
Figure BDA0003899756780000132
Figure BDA0003899756780000131
设refPicOutputWidthL和refPicOutputHeightL分别为参考该PPS的当前图片的参考图片的PicOutputWidthL和PicOutputHeightL。比特流一致性的要求是满足所有以下条件:
-PicOutputWidthL*2应当大于或等于refPicWidthInLumaSamples。
-PicOutputHeightL*2应当大于或等于refPicHeightInLumaSamples。
-PicOutputWidthL应当小于或等于refPicWidthInLumaSamples*8。
-PicOutputHeightL应当小于或等于refPicHeightInLumaSamples*8。
-PicOutputWidthL*pic_width_max_in_luma_samples应当大于或等于refPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY))。
-PicOutputHeightL*pic_height_max_in_luma_samples应当大于或等于
refPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))。
output_flag_present_flag等于1指示pic_output_flag语法元素存在于参考PPS的条带标头中。output_flag_present_flag等于0指示pic_output_flag语法元素不存在于参考PPS的条带标头中。
subpic_id_mapping_in_pps_flag等于1指定在PPS中信令通知子图片ID映射。subpic_id_mapping_in_pps_flag等于0指定在PPS中不信令通知子图片ID映射。如果subpic_id_mapping_explicitly_signalled_flag为0或subpic_id_mapping_in_sps_flag等于1,则subpic_id_mapping_in_pps_flag的值应当等于0。否则(subpic_id_mapping_explicitly_signalled_flag等于1,并且subpic_id_mapping_in_sps_flag等于0),subpic_id_mapping_in_pps_flag的值应当等于1。
pps_num_subpics_minus1应当等于sps_num_subpics_minus1。
pps_subpic_id_len_minus1应当等于sps_subpic_id_len_minus1。
pps_subpic_id[i]指定第i个子图片的子图片ID。pps_subpic_id[i]语法元素的长度为pps_subpic_id_len_minus1+1比特。
对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的i的每个值,变量SubpicIdVal[i]被推导如下:
Figure BDA0003899756780000141
比特流一致性的要求是以下两个约束适用:
-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的任何两个不同值i和j,SubpicIdVal[i]不应当等于SubpicIdVal[j]。
-当当前图片不是CLVS的第一个图片时,对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的i的每个值,如果SubpicIdVal[i]的值不等于相同层中按照解码顺序的前一个图片的SubpicIdVal[i]的值,则具有子图片索引i的当前图片中的子图片的所有编解码条带NAL单元的nal_unit_type应当等于在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的特定值。
no_pic_partition_flag等于1指定没有图片分割被应用于参考PPS的每个图片。no_pic_partition_flag等于0指定参考PPS的每个图片可以被分割为多于一个片或条带。
比特流一致性的要求是no_pic_partition_flag的值对于CLVS内的编解码图片所参考的所有PPS应当是相同的。
比特流一致性的要求是,当sps_num_subpics_minus1+1的值大于1时,no_pic_partition_flag的值不应当等于1。
pps_log2_ctu_size_minus5加5指定每个CTU的亮度编解码树块尺寸。pps_log2_ctu_size_minus5应当等于sps_log2_ctu_size_minus5。
num_exp_tile_columns_minus1加1指定显式地提供的片列宽的数量。num_exp_tile_columns_minus1的值应当在0到PicWidthInCtbsY-1的范围(包括0和PicWidthInCtbsY-1)内。当no_pic_partition_flag等于1时,num_exp_tile_columns_minus1的值被推断为等于0。
num_exp_tile_rows_minus1加1指定显式地提供的片行高的数量。num_exp_tile_rows_minus1的值应当在0到PicHeightInCtbsY-1的范围(包括0和PicHeightInCtbsY-1)内。当no_pic_partition_flag等于1时,num_tile_rows_minus1的值被推断为等于0。
tile_column_width_minus1[i]加1指定第i个片列的宽度,以CTB为单位,i在0到num_exp_tile_columns_minus1-1的范围(包括0和num_exp_tile_columns_minus1-1)内。tile_column_width_minus1[num_exp_tile_columns_minus1]用于推导索引大于或等于num_exp_tile_columns_minus1的片列的宽度,如条款6.5.1所指定的。tile_column_width_minus1[i]的值应当在0到PicWidthInCtbsY-1的范围(包括0和PicWidthInCtbsY-1)内。当不存在时,tile_column_width_minus1[0]的值被推断为等于PicWidthInCtbsY-1。
tile_row_height_minus1[i]加1指定第i个片行的高度,以CTB为单位,i在0到num_exp_tile_rows_minus1-1的范围(包括0和num_exp_tile_rows_minus1-1)内。tile_row_height_minus1[num_exp_tile_rows_minus1]用于推导索引大于或等于num_exp_tile_rows_minus1的片行的高度,如条款6.5.1所指定的。tile_row_height_minus1[i]的值应当在0到PicHeightInCtbsY-1的范围(包括0和PicHeightInCtbsY-1)内。当不存在时,tile_row_height_minus1[0]的值被推断为等于PicHeightInCtbsY-1。
rect_slice_flag等于0指定每个条带内的片按照光栅扫描顺序,并且条带信息不在PPS中信令通知。rect_slice_flag等于1指定每个条带内的片覆盖图片的矩形区域,并且条带信息在PPS中被信令通知。当不存在时,rect_slice_flag被推断为等于1。当subpic_info_present_flag等于1时,rect_slice_flag的值应当等于1。
single_slice_per_subpic_flag等于1指定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定每个子图片可以由一个或多个矩形条带组成。当single_slice_per_subpic_flag等于1时,num_slices_in_pic_minus1被推断为等于sps_num_subpics_minus1。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
num_slices_in_pic_minus1加1指定参考PPS的每个图片中的矩形条带的数量。num_slices_in_pic_minus1的值应当在0到MaxSlicesPerPicture-1的范围(包括0和MaxSlicesPerPicture-1)内,其中MaxSlicesPerPicture在附录A中指定。当no_pic_partition_flag等于1时,num_slices_in_pic_minus1的值被推断为等于0。
tile_idx_delta_present_flag等于0指定tile_idx_delta值不存在于PPS中,并且参考PPS的图片中的所有矩形条带根据条款6.5.1中定义的过程按照光栅顺序来指定。tile_idx_delta_present_flag等于1指定tile_idx_delta值可以存在于PPS中,并且参考PPS的图片中的所有矩形条带按照tile_idx_delta的值所指示的顺序来指定。当不存在时,tile_idx_delta_present_flag的值被推断为等于0。
slice_width_in_tiles_minus1[i]加1指定第i个矩形条带的宽度,以片列为单位。slice_width_in_tiles_minus1[i]的值应当在0到NumTileColumns-1的范围(包括0和NumTileColumns-1)内。
当slice_width_in_tiles_minus1[i]不存在时,以下适用:
-如果NumTileColumns等于1,则slice_width_in_tiles_minus1[i]的值被推断为等于0。
-否则,slice_width_in_tiles_minus1[i]的值如条款6.5.1所指定的来推断。
slice_height_in_tiles_minus1[i]加1指定第i个矩形条带的高度,以片行为单位。slice_height_in_tiles_minus1[i]的值应当在0到NumTileRows-1的范围(包括0和NumTileRows-1)内。
当slice_height_in_tiles_minus1[i]不存在时,以下适用:
-如果NumTileRows等于1,或者tile_idx_delta_present_flag等于0并且tileIdx%NumTileColumns大于0,则slice_height_in_tiles_minus1[i]的值被推断为等于0。
-否则(NumTileRows不等于1,并且tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于0),当tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于0时,slice_height_in_tiles_minus1[i]的值被推断为等于slice_height_in_tiles_minus1[i-1]。
num_exp_slices_in_tile[i]指定包含多于一个矩形条带的当前条带中的显式地提供的条带高度的数量。num_exp_slices_in_tile[i]的值应当在0到RowHeight[tileY]-1的范围(包括0和RowHeight[tileY]-1)内,其中tileY是包含第i个条带的条带行索引。当不存在时,num_exp_slices_in_tile[i]的值被推断为等于0。当num_exp_slices_in_tile[i]等于0时,变量NumSlicesInTile[i]的值被推导为等于1。
exp_slice_height_in_ctus_minus1[j]加1指定当前片中的第j个矩形条带的高度,以CTU行为单位。exp_slice_height_in_ctus_minus1[j]的值应当在0到RowHeight[tileY]-1的范围(包括0和RowHeight[tileY]-1)内,其中tileY是当前片的片行索引。
当num_exp_slices_in_tile[i]大于0时,变量NumSlicesInTile[i]和SliceHeightInCtusMinus1[i+k](其中k在0到NumSlicesInTile[i]-1的范围内)被推导如下:
Figure BDA0003899756780000171
Figure BDA0003899756780000181
tile_idx_delta[i]指定第i个矩形条带中的第一个片的片索引和第(i+1)个矩形条带中的第一个片的片索引之间的差。tile_idx_delta[i]的值应当在-NumTilesInPic+1到NumTilesInPic-1的范围(包括-NumTilesInPic+1和NumTilesInPic-1)内。当不存在时,tile_idx_delta[i]的值被推断为等于0。当存在时,tile_idx_delta[i]的值不应当等于0。
loop_filter_across_tiles_enabled_flag等于1指定可以跨参考PPS的图片中的片边界执行环路滤波操作。loop_filter_across_tiles_enabled_flag等于0指定跨参考PPS的图片中的片边界不执行环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_across_tiles_enabled_flag的值被推断为等于1。
loop_filter_across_slices_enabled_flag等于1指定可以跨参考PPS的图片中的条带边界执行环路滤波操作。loop_filter_across_slice_enabled_flag等于0指定跨参考PPS的图片中的条带边界不执行环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_across_slices_enabled_flag的值被推断为等于0。
cabac_init_present_flag等于1指定cabac_init_flag存在于参考PPS的条带标头中。cabac_init_present_flag等于0指定cabac_init_flag不存在于参考PPS的条带标头中。
num_ref_idx_default_active_minus1[i]加1在i等于0时指定num_ref_idx_active_override_flag等于0的P或B条带的变量NumRefIdxActive[0]的推断值,并且在i等于1时指定num_ref_idx_active_override_flag等于0的B条带的NumRefIdxActive[1]的推断值。num_ref_idx_default_active_minus1[i]的值应当在0到14的范围(包括0和14)内。
rpl1_idx_present_flag等于0指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]不存在于PH语法结构或参考PPS的图片的条带标头中。rpl1_idx_present_flag等于1指定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]可以存在于PH语法结构或参考PPS的图片的条带标头中。
init_qp_minus26加26指定参考PPS的每个片的SliceQpY的初始值。当ph_qp_delta的非零值被解码时,SliceQpY的初始值在图片级别被修改,或者当slice_qp_delta的非零值被解码时,SliceQpY的初始值在条带级别被修改。init_qp_minus26的值应当在-(26+QpBdOffset)到+37的范围(包括-(26+QpBdOffset)和+37)内。
cu_qp_delta_enabled_flag等于1指定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素存在于参考PPS的PH中,并且cu_qp_delta_abs可以存在于变换单元语法中。cu_qp_delta_enabled_flag等于0指定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素不存在于参考PPS的PH中,并且cu_qp_delta_abs不存在于变换单元语法中。
pps_chroma_tool_offsets_present_flag等于1指定色度工具偏移相关语法元素存在于PPS RBSP语法结构中。pps_chroma_tool_offsets_present_flag等于0指定色度工具偏移相关语法元素不存在于PPS RBSP语法结构中。当ChromaArrayType等于0时,pps_chroma_tool_offsets_present_flag的值应当等于0。
pps_cb_qp_offset和pps_cr_qp_offset分别指定用于推导Qp′Cb和Qp′Cr的亮度量化参数Qp′Y的偏移。pps_cb_qp_offset和pps_cr_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。当ChromaArrayType等于0时,pps_cb_qp_offset和pps_cr_qp_offset不用于解码过程中,并且解码器应当忽略它们的值。当不存在时,pps_cb_qp_offset和pps_cr_qp_offset的值被推断为等于0。
pps_joint_cbcr_qp_offset_present_flag等于1指定pps_joint_cbcr_qp_offset_value和joint_cbcr_qp_offset_list[i]存在于PPS RBSP语法结构中。pps_joint_cbcr_qp_offset_present_flag等于0指定pps_joint_cbcr_qp_offset_value和joint_cbcr_qp_offset_list[i]不存在于PPS RBSP语法结构中。当ChromaArrayType等于0或sps_joint_cbcr_enabled_flag等于0时,pps_joint_cbcr_qp_offset_present_flag的值应当等于0。当不存在时,pps_joint_cbcr_qp_offset_present_flag的值被推断为等于0。
pps_joint_cbcr_qp_offset_value指定用于推导Qp′CbCr的亮度量化参数Qp′Y的偏移。pps_joint_cbcr_qp_offset_value的值应当在-12到+12的范围(包括-12和+12)内。当ChromaArrayType等于0或sps_joint_cbcr_enabled_flag等于0时,pps_joint_cbcr_qp_offset_value不用于解码过程中,并且解码器应当忽略其值。当pps_joint_cbcr_qp_offset_present_flag等于0时,pps_joint_cbcr_qp_offset_value不存在,并且被推断为等于0。
pps_slice_chroma_qp_offsets_present_flag等于1指定slice_cb_qp_offset和slice_cr_qp_offset语法元素存在于相关联的条带标头中。pps_slice_chroma_qp_offsets_present_flag等于0指定slice_cb_qp_offset和slice_cr_qp_offset语法元素不存在于相关联的条带标头中。当不存在时,pps_slice_chroma_qp_offsets_present_flag的值被推断为等于0。
pps_cu_chroma_qp_offset_list_enabled_flag等于1指定ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice语法元素存在于参考PPS的PH中,并且cu_chroma_qp_offset_flag可以存在于变换单元语法和调色板编解码语法中。pps_cu_chroma_qp_offset_list_enabled_flag等于0指定ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice语法元素不存在于参考PPS的PH中,并且cu_chroma_qp_offset_flag不存在于变换单元语法和调色板编解码语法中。当不存在时,pps_cu_chroma_qp_offset_list_enabled_flag的值被推断为等于0。
chroma_qp_offset_list_len_minus1加1指定存在于PPS RBSP语法结构中的cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]语法元素的数量。chroma_qp_offset_list_len_minus1的值应当在0到5的范围(包括0和5)内。
cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]分别指定Qp′Cb、Qp′Cr和Qp′CbCr的推导中使用的偏移。cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]的值应当在-12到+12的范围(包括-12和+12)内。当pps_joint_cbcr_qp_offset_present_flag等于0时,joint_cbcr_qp_offset_list[i]不存在,并且其被推断为等于0。
pps_weighted_pred_flag等于0指定加权预测不应用于参考PPS的P条带。pps_weighted_pred_flag等于1指定加权预测被应用于参考PPS的P条带。当sps_weighted_pred_flag等于0时,pps_weighted_pred_flag的值应当等于0。
pps_weighted_bipred_flag等于0指定显式加权预测不应用于参考PPS的B条带。pps_weighted_bipred_flag等于1指定显式加权预测被应用于参考PPS的B条带。当sps_weighted_bipred_flag等于0时,pps_weighted_bipred_flag的值应当等于0。
deblocking_filter_control_present_flag等于1指定PPS中的去方块滤波器控制语法元素的存在。deblocking_filter_control_present_flag等于0指定PPS中的去方块滤波器控制语法元素的缺失。
deblocking_filter_override_enabled_flag等于1指定参考PPS的PH中的ph_deblocking_filter_override_flag或参考PPS的条带标头中的slice_deblocking_filter_override_flag的存在。deblocking_filter_override_enabled_flag等于0指定参考PPS的PH中的ph_deblocking_filter_override_flag或参考PPS的条带标头中的slice_deblocking_filter_override_flag的缺失。当不存在时,deblocking_filter_override_enabled_flag的值被推断为等于0。
pps_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带。pps_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带。当不存在时,pps_deblocking_filter_disabled_flag的值被推断为等于0。
pps_beta_offset_div2和pps_tc_offset_div2指定被应用于参考PPS的条带的亮度分量的β和tC(除以2)的默认去方块参数偏移,除非默认去方块参数偏移被存在于图片标头或参考PPS的条带的条带标头中的去方块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定被应用于参考PPS的条带的Cb分量的β和tC(除以2)的默认去方块参数偏移,除非默认去方块参数偏移被存在于图片标头或参考PPS的条带的条带标头中的去方块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定被应用于参考PPS的条带的Cr分量的β和tC(除以2)的默认去方块参数偏移,除非默认去方块参数偏移被存在于图片标头或参考PPS的条带的条带标头中的去方块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
rpl_info_in_ph_flag等于1指定参考图片列表信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。rpl_info_in_ph_flag等于0指定参考图片列表信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
dbf_info_in_ph_flag等于1指定去方块滤波器信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。dbf_info_in_ph_flag等于0指定去方块滤波器信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。当不存在时,dbf_info_in_ph_flag的值被推断为等于0。
sao_info_in_ph_flag等于1指定SAO滤波器信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。sao_info_in_ph_flag等于0指定SAO滤波器信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
alf_info_in_ph_flag等于1指定ALF信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。alf_info_in_ph_flag等于0指定ALF信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
wp_info_in_ph_flag等于1指定加权预测信息可以存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。wp_info_in_ph_flag等于0指定加权预测信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。当不存在时,wp_info_in_ph_flag的值被推断为等于0。
qp_delta_info_in_ph_flag等于1指定QP增量信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。qp_delta_info_in_ph_flag等于0指定QP增量信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。
pps_ref_wraparound_enabled_flag等于1指定在帧间预测中应用水平环绕运动补偿。pps_ref_wraparound_enabled_flag等于0指定不应用水平环绕运动补偿。当CtbSizeY/MinCbSizeY+1的值大于pic_width_in_luma_samples/MinCbSizeY-1时,pps_ref_wraparound_enabled_flag的值应当等于0。当sps_ref_wraparound_enabled_flag等于0时,pps_ref_wraparound_enabled_flag的值应当等于0。
pps_ref_wraparound_offset加(CtbSizeY/MinCbSizeY)+2指定用于计算水平环绕位置的偏移,以MinCbSizeY个亮度样点为单位。pps_ref_wraparound_offset的值应当在0到(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2的范围(包括0和(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2)内。
变量PpsRefWraparoundOffset被设置为等于pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2。
picture_header_extension_present_flag等于0指定没有PH扩展语法元素存在于参考PPS的PH中。picture_header_extension_present_flag等于1指定PH扩展语法元素存在于参考PPS的PH中。picture_header_extension_present_flag在符合本规范的该版本的比特流中应当等于0。
slice_header_extension_present_flag等于0指定没有条带标头扩展语法元素存在于参考PPS的编解码图片的条带标头中。slice_header_extension_present_flag等于1指定条带标头扩展语法元素存在于参考PPS的编解码图片的条带标头中。slice_header_extension_present_flag在符合本规范的该版本的比特流中应当等于0。
pps_extension_flag等于0指定没有pps_extension_data_flag语法元素存在于PPS RBSP语法结构中。pps_extension_flag等于1指定PPS RBSP语法结构中存在pps_extension_data_flag语法元素。
pps_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有pps_extension_data_flag语法元素。
3.2.APS语法和语义
在最新的VVC草案文本中,APS语法和语义如下:
Figure BDA0003899756780000241
APS RBSP包含ALF语法结构,即alf_data()。
Figure BDA0003899756780000242
Figure BDA0003899756780000251
Figure BDA0003899756780000261
APS RBSP包含LMCS语法结构,即lmcs_data()。
Figure BDA0003899756780000262
APS RBSP包含缩放列表数据语法结构,即scaling_list_data()。
Figure BDA0003899756780000271
每个APS RBSP在被参考之前应当可用于解码过程,包括在TemporalId小于或等于参考它的编解码条带NAL单元的TemporalId的至少一个AU中或者通过外部手段提供。
PU内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的所有APS NAL单元应当具有相同的内容,不管它们是前缀还是后缀APS NAL单元。
adaptation_parameter_set_id提供AP的标识符,以供其他语法元素参考。
当aps_params_type等于ALF_APS或SCALING_APS时,adaptation_parameter_set_id的值应当在0到7的范围(包括0和7)内。
当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应当在0到3的范围(包括0和3)内。
设apsLayerId为特定APS NAL单元的nuh_layer_id的值,并且vclLayerId为特定VCL NAL单元的nuh_layer_id的值。特定VCL NAL单元不应当参考特定APS NAL单元,除非apsLayerId小于或等于vclLayerId,并且nuh_layer_id等于apsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中。
aps_params_type指定在APS中携带的APS参数的类型,如表6所指定的。
表6–APS参数类型码和APS参数的类型
Figure BDA0003899756780000281
无论nuh_layer_id值如何,具有aps_params_type的特定值的所有APS NAL单元都共享adaptation_parameter_set_id的相同值空间。具有aps_params_type的不同值的APSNAL单元使用adaptation_parameter_set_id的单独值空间。
注1–APS NAL单元(具有adaptation_parameter_set_id的特定值和aps_params_type的特定值)可以跨图片共享,并且图片内的不同条带可以参考不同的ALF APS。
注2–与特定VCL NAL单元相关联的后缀APS NAL单元(该VCL NAL单元按照解码顺序在后缀APS NAL单元之前)不由特定VCL NAL单元使用,而由按照解码顺序在后缀APS NAL单元之后的VCL NAL单元使用。
aps_extension_flag等于0指定没有aps_extension_data_flag语法元素存在于APS RBSP语法结构中。aps_extension_flag等于1指定APS RBSP语法结构中存在aps_extension_data_flag语法元素。
aps_extension_data_flag可以具有任何值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有aps_extension_data_flag语法元素。
alf_luma_filter_signal_flag等于1指定信令通知亮度滤波器集。alf_luma_filter_signal_flag等于0指定不信令通知亮度滤波器集。
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应当等于1。
指定不同自适应环路滤波器的数量的变量NumAlfFilters被设置为等于25。
alf_luma_clip_flag等于0指定对亮度分量应用线性自适应环路滤波。alf_luma_clip_flag等于1指定可以对亮度分量应用非线性自适应环路滤波。
alf_luma_num_filters_signalled_minus1加1指定亮度系数可以被信令通知的自适应环路滤波器类别的数量。alf_luma_num_filters_signalled_minus1的值应当在0到NumAlfFilters-1的范围(包括0和NumAlfFilters-1)内。
alf_luma_coeff_delta_idx[filtIdx]指定由范围为0到NumAlfFilters-1的filtIdx指示的滤波器类别的信令通知的自适应环路滤波器亮度系数增量的索引。当alf_luma_coeff_delta_idx[filtIdx]不存在时,其被推断为等于0。alf_luma_coeff_delta_idx[filtIdx]的长度为Ceil(Log2(alf_luma_num_filters_signalled_minus1+1))比特。alf_luma_coeff_delta_idx[filtIdx]的值应当在0到alf_luma_num_filters_signalled_minus1的范围(包括0和alf_luma_num_filters_signalled_minus1)内。
alf_luma_coeff_abs[sfIdx][j]指定由sfIdx指示的信令通知的亮度滤波器的第j个系数的绝对值。当alf_luma_coeff_abs[sfIdx][j]不存在时,其被推断为等于0。alf_luma_coeff_abs[sfIdx][j]的值应当在0到128的范围(包括0和128)内。
alf_luma_coeff_sign[sfIdx][j]指定由sfIdx指示的滤波器的第j个亮度系数的符号如下:
-如果alf_luma_coeff_sign[sfIdx][j]等于0,则对应的亮度滤波器系数具有正值。
-否则(alf_luma_coeff_sign[sfIdx][j]等于1),对应的亮度滤波器系数具有负值。
当alf_luma_coeff_sign[sfIdx][j]不存在时,其被推断为等于0。
变量filtCoeff[sfIdx][j](其中sfIdx=0..alf_luma_num_filters_signalled_minus1,j=0..11)被初始化如下:
Figure BDA0003899756780000302
具有元素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 BDA0003899756780000301
Figure BDA0003899756780000311
Figure BDA0003899756780000321
Figure BDA0003899756780000322
Figure BDA0003899756780000331
比特流一致性的要求是AlfCoeffL[adaptation_parameter_set_id][filtIdx][j](其中filtIdx=0..NumAlfFilters-1,j=0..11)的值应当在-27到27-1的范围(包括-27和27-1)内。
alf_luma_clip_idx[sfIdx][j]指定要在乘以由sfIdx指示的信令通知的亮度滤波器的第j个系数之前使用的裁剪值的裁剪索引。比特流一致性的要求是alf_luma_clip_idx[sfIdx][j](其中sfIdx=0..alf_luma_num_filters_signalled_minus1并且j=0..11)的值应当在0到3的范围(包括0和3)内。
具有元素AlfClipL[adaptation_parameter_set_id][filtIdx][j](其中filtIdx=0..NumAlfFilters-1并且j=0..11)的亮度滤波器裁剪值AlfClipL[adaptation_parameter_set_id]根据BitDepth和设置为等于alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]的clipIdx如表8所指定的来推导。
alf_chroma_clip_flag等于0指定对色度分量应用线性自适应环路滤波;alf_chroma_clip_flag等于1指定对色度分量应用非线性自适应环路滤波。当不存在时,alf_chroma_clip_flag被推断为等于0。
alf_chroma_num_alt_filters_minus1加1指定色度分量的可替代滤波器的数量。alf_chroma_num_alt_filters_minus1的值应当在0到7的范围(包括0和7)内。
alf_chroma_coeff_abs[altIdx][j]指定具有索引altIdx的可替代色度滤波器的第j个色度滤波器系数的绝对值。当alf_chroma_coeff_abs[altIdx][j]不存在时,其被推断为等于0。alf_chroma_coeff_abs[sfIdx][j]的值应当在0到128的范围(包括0和128)内。
alf_chroma_coeff_sign[altIdx][j]指定具有索引altIdx的可替代色度滤波器的第j个色度滤波器系数的符号如下:
-如果alf_chroma_coeff_sign[altIdx][j]等于0,则对应的色度滤波器系数具有正值。
-否则(alf_chroma_coeff_sign[altIdx][j]等于1),对应的色度滤波器系数具有负值。
当alf_chroma_coeff_sign[altIdx][j]不存在时,其被推断为等于0。
具有元素AlfCoeffC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的色度滤波器系数AlfCoeffC[adaptation_parameter_set_id][altIdx]被推导如下:
Figure BDA0003899756780000351
比特流一致性的要求是AlfCoeffC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的值应当在-27到27-1的范围(包括-27和27-1)内。
alf_cc_cb_filter_signal_flag等于1指定信令通知Cb色彩分量的跨分量滤波器。alf_cc_cb_filter_signal_flag等于0指定不信令通知Cb色彩分量的跨分量滤波器。当ChromaArrayType等于0时,alf_cc_cb_filter_signal_flag应当等于0。
alf_cc_cb_filters_signalled_minus1加1指定在当前ALF APS中信令通知的Cb色彩分量的跨分量滤波器的数量。alf_cc_cb_filters_signalled_minus1的值应当在0到3的范围(包括0和3)内。
alf_cc_cb_mapped_coeff_abs[k][j]指定Cb色彩分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cb_mapped_coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cb_coeff_sign[k][j]指定Cb色彩分量的信令通知的第k个跨分量滤波器的第j个系数的符号如下:
-如果alf_cc_cb_coeff_sign[k][j]等于0,则对应的跨分量滤波器系数具有正值。
-否则(alf_cc_cb_sign[k][j]等于1),对应的跨分量滤波器系数具有负值。
当alf_cc_cb_coeff_sign[k][j]不存在时,其被推断为等于0。
Cb色彩分量的信令通知的第k个跨分量滤波器系数CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j](其中j=0..6)被推导如下:
-如果alf_cc_cb_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]被设置为等于0。
-否则,CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]被设置为等于(1-2*alf_cc_cb_coeff_sign[k][j])*2alf_cc_cb_mapped_coeff_abs[k][j]-1
alf_cc_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。
alf_cc_cr_filters_signalled_minus1加1指定在当前ALF APS中信令通知的Cr色彩分量的跨分量滤波器的数量。alf_cc_cr_filters_signalled_minus1的值应当在0到3的范围(包括0和3)内。
alf_cc_cr_mapped coeff_abs[k][j]指定Cr色彩分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cr_mapped coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cr_coeff_sign[k][j]指定Cr色彩分量的信令通知的第k个跨分量滤波器的第j个系数的符号如下:
-如果alf_cc_cr_coeff_sign[k][j]等于0,则对应的跨分量滤波器系数具有正值。
-否则(alf_cc_cr_sign[k][j]等于1),对应的跨分量滤波系数具有负值。
当alf_cc_cr_coeff_sign[k][j]不存在时,其被推断为等于0。
Cr色彩分量的信令通知的第k个跨分量滤波器系数CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j](其中j=0..6)被推导如下:
-如果alf_cc_cr_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]被设置为等于0。
-否则,CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]被设置为等于(1-2*alf_cc_cr_coeff_sign[k][j])*2alf_cc_cr_mapped_coeff_abs[k][j]-1
alf_chroma_clip_idx[altIdx][j]指定要在乘以索引为altIdx的可替代色度滤波器的第j个系数之前使用的裁剪值的裁剪索引。比特流一致性的要求是alf_chroma_clip_idx[altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的值应当在0到3的范围(包括0和3)内。
具有元素AlfClipC[adaptation_parameter_set_id][altIdx][j](其中altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)的色度滤波器裁剪值AlfClipC[adaptation_parameter_set_id][altIdx]根据BitDepth和被设置为等于alf_chroma_clip_idx[altIdx][j]的clipIdx如表8所指定的来推导。
表8–根据BitDepth和clipIdx的规范AlfClip
Figure BDA0003899756780000371
lmcs_min_bin_idx指定在亮度映射与色度缩放构建过程中使用的最小二进制位索引。lmcs_min_bin_idx的值应当在0到15的范围(包括0和15)内。
lmcs_delta_max_bin_idx指定15和在亮度映射与色度缩放构建过程中使用的最大二进制位索引LmcsMaxBinIdx之间的增量值。lmcs_delta_max_bin_idx的值应当在0到15的范围(包括0和15)内。LmcsMaxBinIdx的值被设置为等于15-lmcs_delta_max_bin_idx。LmcsMaxBinIdx的值应当大于或等于lmcs_min_bin_idx。
lmcs_delta_cw_prec_minus1加1指定用于语法lmcs_delta_abs_cw[i]的表示的比特的数量。lmcs_delta_cw_prec_minus1的值应当在0到BitDepth-2的范围(包括0和BitDepth-2)内。
lmcs_delta_abs_cw[i]指定第i个二进制位的绝对增量码字值。
lmcs_delta_sign_cw_flag[i]指定变量lmcsDeltaCW[i]的符号如下:
-如果mcs_delta_sign_cw_flag[i]等于0,则lmcsDeltaCW[i]为正值。
-否则(mcs_delta_sign_cw_flag[i]不等于0),lmcsDeltaCW[i]为负值。
当mcs_delta_sign_cw_flag[i]不存在时,其被推断为等于0。
变量OrgCW被推导如下:
OrgCW=(1<<BitDepth)/16 (98)
变量lmcsDeltaCW[i](其中i=lmcs_min_bin_idx..LmcsMaxBinIdx)被推导如下:
lmcsDeltaCW[i]=
(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i] (99)
变量lmcsCW[i]被推导如下:
-对于i=0..lmcs_min_bin_idx-1,lmcsCW[i]被设置为等于0。
-对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,以下适用:
lmcsCW[i]=OrgCW+lmcsDeltaCW[i] (100)
lmcsCW[i]的值应当在(OrgCW>>3)到(OrgCW<<3-1)的范围((OrgCW>>3)和(OrgCW<<3-1))内。
-对于i=LmcsMaxBinIdx+1..15,lmcsCW[i]被设置为等于0。
比特流一致性的要求是以下条件为真:
Figure BDA0003899756780000382
变量InputPivot[i](其中i=0..16)被推导如下:
InputPivot[i]=i*OrgCW (102)
变量LmcsPivot[i](其中i=0..16)、变量ScaleCoeff[i]和InvScaleCoeff[i](其中i=0..15)被推导如下:
Figure BDA0003899756780000381
Figure BDA0003899756780000391
比特流一致性的要求是,对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,当LmcsPivot[i]的值不是1<<(BitDepth-5)的倍数时,(LmcsPivot[i]>>(BitDepth-5))的值不应当等于(LmcsPivot[i+1]>>(BitDepth-5))的值。
lmcs_delta_abs_crs指定变量lmcsDeltaCrs的绝对码字值。lmcs_delta_abs_crs的值应当在0和7的范围(包括0和7)内。当不存在时,lmcs_delta_abs_crs被推断为等于0。
lmcs_delta_sign_crs_flag指定变量lmcsDeltaCrs的符号。当不存在时,lmcs_delta_sign_crs_flag被推断为等于0。
变量lmcsDeltaCrs被推导如下:
lmcsDeltaCrs=(1-2*lmcs_delta_sign_crs_flag)*lmcs_delta_abs_crs (104)
比特流一致性的要求是,当lmcsCW[i]不等于0时,(lmcsCW[i]+lmcsDeltaCrs)应当在(OrgCW>>3)到((OrgCW<<3)-1)的范围(包括(OrgCW>>3)和((OrgCW<<3)-1))内。
变量ChromaScaleCoeff[i](其中i=0…15)被推导如下:
Figure BDA0003899756780000392
scaling_matrix_for_lfnst_disabled_flag等于1指定缩放矩阵不应用于用LFNST编解码的块。scaling_matrix_for_lfnst_disabled_flag等于0指定缩放矩阵可以应用于用LFNST编解码的块。
scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。
scaling_list_copy_mode_flag[id]等于1指定缩放列表的值与参考缩放列表的值相同。参考缩放列表由scaling_list_pred_id_delta[id]指定。scaling_list_copy_mode_flag[id]等于0指定存在scaling_list_pred_mode_flag。
scaling_list_pred_mode_flag[id]等于1指定缩放列表的值可以从参考缩放列表预测。参考缩放列表由scaling_list_pred_id_delta[id]指定。scaling_list_pred_mode_flag[id]等于0指定显式地信令通知缩放列表的值。当不存在时,scaling_list_pred_mode_flag[id]的值被推断为等于0。
scaling_list_pred_id_delta[id]指定用于推导预测缩放矩阵ScalingMatrixPred[id]的参考缩放列表。当不存在时,scaling_list_pred_id_delta[id]的值被推断为等于0。scaling_list_pred_id_delta[id]的值应当在0到maxIdDelta的范围内,其中maxIdDelta根据id推导如下:
maxIdDelta=(id<2)?id:((id<8)?(id-2):(id-8)) (106)
变量refId和matrixSize被推导如下:
refId=id-scaling_list_pred_id_delta[id] (107)
matrixSize=(id<2)?2:((id<8)?4:8) (108)
(matrixSize)x(matrixSize)阵列ScalingMatrixPred[x][y](其中x=0..matrixSize-1,y=0..matrixSize-1)和变量ScalingMatrixDCPred被推导如下:
-当scaling_list_copy_mode_flag[id]和scaling_list_pred_mode_flag[id]都等于0时,ScalingMatrixPred的所有元素都被设置为等于8,并且ScalingMatrixDCPred的值被设置为等于8。
-否则,当scaling_list_pred_id_delta[id]等于0时,ScalingMatrixPred的所有元素都被设置为等于16,并且ScalingMatrixDCPred被设置为等于16。
-否则(scaling_list_copy_mode_flag[id]或scaling_list_pred_mode_flag[id]等于1,并且scaling_list_pred_id_delta[id]大于0),ScalingMatrixPred被设置为等于ScalingMatrixRec[refId],并且以下适用于ScalingMatrixDCPred:
-如果refId大于13,则ScalingMatrixDCPred被设置为等于ScalingMatrixDCRec[refId-14]。
-否则(refId小于或等于13),ScalingMatrixDCPred被设置为等于ScalingMatrixPred[0][0]。
当id大于13时,scaling_list_dc_coef[id-14]用于推导变量ScalingMatrixDC[id-14]的值如下:
ScalingMatrixDCRec[id-14]=(ScalingMatrixDCPred+scaling_list_dc_coef[id-14])&255 (109)
当不存在时,scaling_list_dc_coef[id-14]的值被推断为等于0。scaling_list_dc_coef[id–14]的值应当在-128到127的范围(包括-128和127)内。ScalingMatrixDCRec[id-14]的值应当大于0。
scaling_list_delta_coef[id][i]指定当scaling_list_copy_mode_flag[id]等于0时,当前矩阵系数ScalingList[id][i]和先前矩阵系数ScalingList[id][i-1]之间的差。scaling_list_delta_coef[id][i]的值应当在-128到127的范围(包括-128和127)内。当scaling_list_copy_mode_flag[id]等于1时,ScalingList[id]的所有元素都被设置为等于0。
(matrixSize)x(matrixSize)阵列ScalingMatrixRec[id]被推导如下:
ScalingMatrixRec[id][x][y]=(ScalingMatrixPred[x][y]+
ScalingList[id][k])&255 (110)
其中k=0..(matrixSize*matrixSize-1),
x=
DiagScanOrder[Log2(matrixSize)][Log2(matrixSize)][k][0],并且
y=
DiagScanOrder[Log2(matrixSize)][Log2(matrixSize)][k][1]
ScalingMatrixRec[id][x][y]的值应当大于0。
3.3.PH语法和语义
在最新的VVC草案文本中,PH语法和语义如下:
Figure BDA0003899756780000411
Figure BDA0003899756780000421
PH RBSP包含PH语法结构,即picture_header_structure()。
Figure BDA0003899756780000422
Figure BDA0003899756780000431
Figure BDA0003899756780000441
Figure BDA0003899756780000451
Figure BDA0003899756780000461
PH语法结构包含对于与PH语法结构相关联的编解码图片的所有条带共同的信息。
gdr_or_irap_pic_flag等于1指定当前图片是GDR或IRAP图片。gdr_or_irap_pic_flag等于0指定当前图片可以是或者可以不是GDR或IRAP图片。
gdr_pic_flag等于1指定与PH相关联的图片是GDR图片。gdr_pic_flag等于0指定与PH相关联的图片不是GDR图片。当不存在时,gdr_pic_flag的值被推断为等于0。当gdr_enabled_flag等于0时,gdr_pic_flag的值应当等于0。
ph_inter_slice_allowed_flag等于0指定图片的所有编解码条带具有等于2的slice_type。ph_inter_slice_allowed_flag等于1指定图片中可以有或者可以没有具有等于0或1的slice_type的一个或多个编解码条带。
ph_intra_slice_allowed_flag等于0指定图片的所有编解码条带具有等于0或1的slice_type。ph_intra_slice_allowed_flag等于1指定图片中可以有或者可以没有具有等于2的slice_type的一个或多个编解码条带。当不存在时,ph_intra_slice_allowed_flag的值被推断为等于1。
注1–对于本应进行基于子图片的比特流合并而不需要改变PH NAL单元的比特流,预计编码器将ph_inter_slice_allowed_flag和ph_intra_slice_allowed_flag的值设置为等于1。
non_reference_picture_flag等于1指定与PH相关联的图片从不用作参考图片。non_reference_picture_flag等于0指定与PH相关联的图片可以用作或者可以不用作参考图片。
ph_pic_parameter_set_id指定正在使用的PPS的pps_pic_parameter_set_id的值。ph_pic_parameter_set_id的值应当在0到63的范围(包括0和63)内。
比特流一致性的要求是PH的TemporalId的值应当大于或等于具有等于ph_pic_parameter_set_id的pps_pic_parameter_set_id的PPS的TemporalId的值。
ph_pic_order_cnt_lsb指定当前图片以MaxPicOrderCntLsb为模的图片顺序计数。ph_pic_order_cnt_lsb语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4比特。ph_pic_order_cnt_lsb的值应当在0到MaxPicOrderCntLsb-1的范围(包括0和MaxPicOrderCntLsb-1)内。
no_output_of_prior_pics_flag影响在解码不是如附录C所指定的比特流中的第一个图片的CLVSS图片之后的DPB中的先前解码图片的输出。
recovery_poc_cnt按照输出顺序指定解码图片的恢复点。如果当前图片是与PH相关联的GDR图片,并且在具有等于当前GDR图片的PicOrderCntVal加recovery_poc_cnt的值的PicOrderCntVal的CLVS中有按照解码顺序在当前GDR图片之后的图片picA,则图片picA被称为恢复点图片。否则,具有大于当前图片的PicOrderCntVal加recovery_poc_cnt的值的PicOrderCntVal的按照输出顺序的第一个图片被称为恢复点图片。按照解码顺序,恢复点图片不应当在当前GDR图片之前。recovery_poc_cnt的值应当在0到MaxPicOrderCntLsb-1的范围(包括0和MaxPicOrderCntLsb-1)内。
当当前图片是GDR图片时,变量RpPicOrderCntVal被推导如下:
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (82)
注2–当gdr_enabled_flag等于1并且当前图片的PicOrderCntVal大于或等于相关联的GDR图片的RpPicOrderCntVal时,按照输出顺序的当前解码图片和后续解码图片与通过从按照解码顺序在相关联的GDR图片之前的先前IRAP图片(当存在时)开始解码过程而产生的对应图片完全匹配。
ph_extra_bit[i]可以等于1或0。符合本规范的该版本的解码器应当忽略ph_extra_bit[i]的值。它的值不影响解码器符合规范的该版本中指定的档次。
ph_poc_msb_present_flag等于1指定语法元素poc_msb_val存在于ph中。ph_poc_msb_present_flag等于0指定语法元素poc_msb_val不存在于ph中。当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0并且在当前层的参考层中的当前AU中有图片时,ph_poc_msb_present_flag的值应当等于0。
poc_msb_val指定当前图片的POC MSB值。语法元素poc_msb_val的长度为poc_msb_len_minus1+1比特。
ph_alf_enabled_flag等于1指定对与PH相关联的所有条带启用自适应环路滤波器,并且可以被应用于条带中的Y、Cb或Cr色彩分量。ph_alf_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用自适应环路滤波器。当不存在时,ph_alf_enabled_flag被推断为等于0。
ph_num_alf_aps_ids_luma指定与PH相关联的条带参考的ALF APS的数量。
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_alf_chroma_idc等于0指定自适应环路滤波器不应用于Cb和Cr色彩分量。ph_alf_chroma_idc等于1指定自适应环路滤波器被应用于Cb色彩分量。ph_alf_chroma_idc等于2指定自适应环路滤波器被应用于Cr色彩分量。ph_alf_chroma_idc等于3指定自适应环路滤波器被应用于Cb和Cr色彩分量。当ph_alf_chroma_idc不存在时,其被推断为等于0。
ph_alf_aps_id_chroma指定与PH相关联的条带的色度分量参考的ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_cc_alf_cb_enabled_flag等于1指定对与PH相关联的所有条带启用Cb色彩分量的跨分量滤波器,并且可以被应用于条带中的Cb色彩分量。ph_cc_alf_cb_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用Cb色彩分量的跨分量滤波器。当不存在时,ph_cc_alf_cb_enabled_flag被推断为等于0。
ph_cc_alf_cb_aps_id指定与PH相关联的条带的Cb色彩分量参考的ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_cc_alf_cr_enabled_flag等于1指定对与PH相关联的所有条带启用Cr色彩分量的跨分量滤波器,并且可以被应用于条带中的Cr色彩分量。ph_cc_alf_cr_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用Cr色彩分量的跨分量滤波器。当不存在时,ph_cc_alf_cr_enabled_flag被推断为等于0。
ph_cc_alf_cr_aps_id指定与PH相关联的条带的Cr色彩分量参考的ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_lmcs_enabled_flag等于1指定对与PH相关联的所有条带启用亮度映射与色度缩放。ph_lmcs_enabled_flag等于0指定对与PH相关联的一个、多个或所有条带禁用亮度映射与色度缩放。当不存在时,ph_lmcs_enabled_flag的值被推断为等于0。
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。具有等于LMCS_APS的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_chroma_residual_scale_flag等于1指定对与PH相关联的所有条带启用色度残差缩放。ph_chroma_residual_scale_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用色度残差缩放。当ph_chroma_residual_scale_flag不存在时,其被推断为等于0。
ph_scaling_list_present_flag等于1指定用于与PH相关联的条带的缩放列表数据基于参考的缩放列表APS中包含的缩放列表数据来推导。ph_scaling_list_present_flag等于0指定用于与PH相关联的条带的缩放列表数据被设置为等于16。当不存在时,ph_scaling_list_present_flag的值被推断为等于0。
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_virtual_boundaries_present_flag等于1指定在PH中信令通知虚拟边界的信息。ph_virtual_boundaries_present_flag等于0指定在PH中不信令通知虚拟边界的信息。当在PH中信令通知一个或多于一个虚拟边界时,跨图片中的虚拟边界禁用环路滤波操作。环路滤波操作包括去方块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,ph_virtual_boundaries_present_flag的值被推断为等于0。
比特流一致性的要求是,当subpic_info_present_flag等于1时,ph_virtual_boundaries_present_flag的值应当等于0。
变量VirtualBoundariesPresentFlag被推导如下:
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的范围(包括1和Ceil(pic_width_in_luma_samples÷8)-1)内。
指定垂直虚拟边界的位置的列表VirtualBoundariesPosX[i](i的范围为0到NumVerVirtualBoundaries-1(包括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的范围(包括1和Ceil(pic_height_in_luma_samples÷8)-1)内。
指定水平虚拟边界的位置的列表VirtualBoundariesPosY[i](i的范围为0到NumHorVirtualBoundaries-1(包括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的范围(包括0和CtbLog2SizeY-MinCbLog2SizeY)内。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值被推断为等于sps_log2_diff_min_qt_min_cb_intra_slice_luma。
ph_max_mtt_hierarchy_depth_intra_slice_luma指定从与PH相关联的slice_type等于2(I)的条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_intra_slice_luma的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括0和2*(CtbLog2SizeY-MinCbLog2SizeY))内。当不存在时,ph_max_mtt_hierarchy_depth_intra_slice_luma的值被推断为等于sps_max_mtt_hierarchy_depth_intra_slice_luma。
ph_log2_diff_max_bt_min_qt_intra_slice_luma指定可以使用二进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从与PH相关联的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_luma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraY)内。当不存在时,ph_log2_diff_max_bt_min_qt_intra_slice_luma的值被推断为等于sps_log2_diff_max_bt_min_qt_intra_slice_luma。
ph_log2_diff_max_tt_min_qt_intra_slice_luma指定可以使用三进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从与PH相关联的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_luma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraY)内。当不存在时,ph_log2_diff_max_tt_min_qt_intra_slice_luma的值被推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_luma。
ph_log2_diff_min_qt_min_cb_intra_slice_chroma指定从treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸的以2为底的对数和与PH相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CU的亮度样点中的最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括0和CtbLog2SizeY-MinCbLog2SizeY)内。当不存在时,ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值被推断为等于sps_log2_diff_min_qt_min_cb_intra_slice_chroma。
ph_max_mtt_hierarchy_depth_intra_slice_chroma指定从与PH相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度四叉树叶的多类型树划分产生的色度编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_intra_slice_chroma的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括0和2*(CtbLog2SizeY-MinCbLog2SizeY))内。当不存在时,ph_max_mtt_hierarchy_depth_intra_slice_chroma的值被推断为等于sps_max_mtt_hierarchy_depth_intra_slice_chroma。
ph_log2_diff_max_bt_min_qt_intra_slice_chroma指定可以使用二进制划分来划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从与PH相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraC)内。当不存在时,ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值被推断为等于sps_log2_diff_max_bt_min_qt_intra_slice_chroma。
ph_log2_diff_max_tt_min_qt_intra_slice_chroma指定可以使用三进制划分来划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从与PH相关联的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值应当在0到CtbLog2SizeY-MinQtLog2SizeIntraC的范围(包括0和CtbLog2SizeY-MinQtLog2SizeIntraC)内。当不存在时,ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值被推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_chroma。
ph_cu_qp_delta_subdiv_intra_slice指定传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧内条带中的编解码单元的最大cbSubdiv值。ph_cu_qp_delta_subdiv_intra_slice的值应当在0到2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)的范围(包括0和2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma))内。
当不存在时,ph_cu_qp_delta_subdiv_intra_slice的值被推断为等于0。
ph_cu_chroma_qp_offset_subdiv_intra_slice指定传送cu_chroma_qp_offset_flag的帧内条带中的编解码单元的最大cbSubdiv值。ph_cu_chroma_qp_offset_subdiv_intra_slice的值应当在0到2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)的范围(包括0和2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma))内。
当不存在时,ph_cu_chroma_qp_offset_subdiv_intra_slice的值被推断为等于0。
ph_log2_diff_min_qt_min_cb_inter_slice指定从CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸的以2为底的对数和与PH相关联的slice_type等于0(B)或1(P)的条带中的亮度CU的亮度样点中的最小亮度编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_inter_slice的值应当在0到CtbLog2SizeY-MinCbLog2SizeY的范围(包括0和CtbLog2SizeY-MinCbLog2SizeY)内。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值被推断为等于sps_log2_diff_min_qt_min_cb_inter_slice。
ph_max_mtt_hierarchy_depth_inter_slice指定从与PH相关联的slice_type等于0(B)或1(P)的条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_inter_slice的值应当在0到2*(CtbLog2SizeY-MinCbLog2SizeY)的范围(包括0和2*(CtbLog2SizeY-MinCbLog2SizeY))内。当不存在时,ph_max_mtt_hierarchy_depth_inter_slice的值被推断为等于sps_max_mtt_hierarchy_depth_inter_slice。
ph_log2_diff_max_bt_min_qt_inter_slice指定可以使用二进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从与PH相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_bt_min_qt_inter_slice的值应当在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeInterY)内。当不存在时,ph_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_bt_min_qt_inter_slice。
ph_log2_diff_max_tt_min_qt_inter_slice指定可以使用三进制划分来划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和从与PH相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)之间的差。ph_log2_diff_max_tt_min_qt_inter_slice的值应当在0到CtbLog2SizeY-MinQtLog2SizeInterY的范围(包括0和CtbLog2SizeY-MinQtLog2SizeInterY)内。当不存在时,ph_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_tt_min_qt_inter_slice。
ph_cu_qp_delta_subdiv_inter_slice指定传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧间条带中的编解码单元的最大cbSubdiv值。ph_cu_qp_delta_subdiv_inter_slice的值应当在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)的范围(包括0和2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice))内。
当不存在时,ph_cu_qp_delta_subdiv_inter_slice的值被推断为等于0。
ph_cu_chroma_qp_offset_subdiv_inter_slice指定传送cu_chroma_qp_offset_flag的帧间条带中的编解码单元的最大cbSubdiv值。ph_cu_chroma_qp_offset_subdiv_inter_slice的值应当在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)的范围(包括0和2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice))内。
当不存在时,ph_cu_chroma_qp_offset_subdiv_inter_slice的值被推断为等于0。
ph_temporal_mvp_enabled_flag指定时域运动矢量预测值是否可以用于与PH相关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,则与PH相关联的条带的语法元素应当被约束,使得没有时域运动矢量预测值用于条带的解码中。否则(ph_temporal_mvp_enabled_flag等于1),时域运动矢量预测值可以用于与PH相关联的条带的解码中。当不存在时,ph_temporal_mvp_enabled_flag的值被推断为等于0。当DPB中没有参考图片具有与当前图片相同的空域分辨率时,ph_temporal_mvp_enabled_flag的值应当等于0。
基于子块的合并MVP候选的最大数量MaxNumSubblockMergeCand被推导如下:
Figure BDA0003899756780000571
MaxNumSubblockMergeCand的值应当在0到5的范围(包括0和5)内。
ph_collocated_from_l0_flag等于1指定用于时域运动矢量预测的共位图片是从参考图片列表0推导的。ph_collocated_from_l0_flag等于0指定用于时域运动矢量预测的共位图片是从参考图片列表1推导的。
ph_collocated_ref_idx指定用于时域运动矢量预测的共位图片的参考索引。
当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx参考参考图片列表0中的条目,并且ph_collocated_ref_idx的值应当在0到num_ref_entries[0][RplsIdx[0]]-1的范围(包括0和num_ref_entries[0][RplsIdx[0]]-1)内。
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx参考参考图片列表1中的条目,并且ph_collocated_ref_idx的值应当在0到num_ref_entries[1][RplsIdx[1]]-1的范围(包括0和num_ref_entries[1][RplsIdx[1]]-1)内。
当不存在时,ph_collocated_ref_idx的值被推断为等于0。
mvd_l1_zero_flag等于1指示不解析mvd_coding(x0,y0,1)语法结构,并且对于compIdx=0..1和cpIdx=0..2,MvdL1[x0][y0][compIdx]和MvdCpL1[x0][y0][cpIdx][compIdx]被设置为等于0。mvd_l1_zero_flag等于0指示mvd_coding(x0,y0,1)语法结构被解析。
ph_fpel_mmvd_enabled_flag等于1指定具有运动矢量差的Merge模式在与PH相关联的条带中使用整数样点精度。ph_fpel_mmvd_enabled_flag等于0指定具有运动矢量差的Merge模式可以在与PH相关联的条带中使用分数样点精度。当不存在时,则ph_fpel_mmvd_enabled_flag的值被推断为0。
ph_disable_bdof_flag等于1指定在与PH相关联的条带中禁用基于双向光流帧间预测的帧间双向预测。ph_disable_bdof_flag等于0指定在与PH相关联的条带中可以启用或者可以不启用基于双向光流帧间预测的帧间双向预测。
当ph_disable_bdof_flag不存在时,以下适用:
–如果sps_bdof_enabled_flag等于1,则ph_disable_bdof_flag的值被推断为等于0。
–否则(sps_bdof_enabled_flag等于0),ph_disable_bdof_flag的值被推断为等于1。
ph_disable_dmvr_flag等于1指定在与PH相关联的条带中禁用基于解码器运动矢量细化的帧间双向预测。ph_disable_dmvr_flag等于0指定在与PH相关联的条带中可以启用或者可以不启用基于解码器运动矢量细化的帧间双向预测。
当ph_disable_dmvr_flag不存在时,以下适用:
–如果sps_dmvr_enabled_flag等于1,则ph_disable_dmvr_flag的值被推断为等于0。
–否则(sps_dmvr_enabled_flag等于0),ph_disable_dmvr_flag的值被推断为等于1。
ph_disable_prof_flag等于1指定在与PH相关联的条带中禁用利用光流的预测细化。ph_disable_prof_flag等于0指定在与PH相关联的条带中可以启用或者可以不启用利用光流的预测细化。
当ph_disable_prof_flag不存在时,以下适用:
–如果sps_affine_prof_enabled_flag等于1,则ph_disable_prof_flag的值被推断为等于0。
–否则(sps_affine_prof_enabled_flag等于0),ph_disable_prof_flag的值被推断为等于1。
ph_qp_delta指定要用于图片中的编解码块直到被编解码单元层中的CuQpDeltaVal的值修改的QpY的初始值。
当qp_delta_info_in_ph_flag等于1时,图片的所有条带的QpY量化参数的初始值SliceQpY被推导如下:
SliceQpY=26+init_qp_minus26+ph_qp_delta (89)
SliceQpY的值应当在-QpBdOffset到+63的范围(包括-QpBdOffset和+63)内。
ph_joint_cbcr_sign_flag指定在tu_joint_cbcr_residual_flag[x0][y0]等于1的变换单元中,两个色度分量的共位残差样点是否具有反转符号。当变换单元的tu_joint_cbcr_residual_flag[x0][y0]等于1时,ph_joint_cbcr_sign_flag等于0指定Cr(或Cb)分量的每个残差样点的符号与共位Cb(或Cr)残差样点的符号相同,并且ph_joint_cbcr_sign_flag等于1指定Cr(或Cb)分量的每个残差样点的符号由共位Cb(或Cr)残差样点的反转符号给出。
ph_sao_luma_enabled_flag等于1指定对与PH相关联的所有条带中的亮度分量启用SAO;ph_sao_luma_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用亮度分量的SAO。当ph_sao_luma_enabled_flag不存在时,其被推断为等于0。
ph_sao_chroma_enabled_flag等于1指定对与PH相关联的所有条带中的色度分量启用SAO;ph_sao_chroma_enabled_flag等于0指定可以对与PH相关联的一个、多个或所有条带禁用色度分量的SAO。当ph_sao_chroma_enabled_flag不存在时,其被推断为等于0。
ph_dep_quant_enabled_flag等于0指定对当前图片禁用依赖量化(dependentquantization)。ph_dep_quant_enabled_flag等于1指定对当前图片启用依赖量化。当ph_dep_quant_enabled_flag不存在时,其被推断为等于0。
pic_sign_data_hiding_enabled_flag等于0指定对当前图片禁用符号比特隐藏。pic_sign_data_hiding_enabled_flag等于1指定对当前图片启用符号比特隐藏。当pic_sign_data_hiding_enabled_flag不存在时,其被推断为等于0。
ph_deblocking_filter_override_flag等于1指定去方块参数存在于PH中。ph_deblocking_filter_override_flag等于0指定去方块参数不存在于PH中。当不存在时,ph_deblocking_filter_override_flag的值被推断为等于0。
ph_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于与PH相关联的条带。ph_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于与PH相关联的条带。当ph_deblocking_filter_disabled_flag不存在时,其被推断为等于pps_deblocking_filter_disabled_flag。
ph_beta_offset_div2和ph_tc_offset_div2指定被应用于与PH相关联的条带的亮度分量的β和tC的去方块参数偏移(除以2)。ph_beta_offset_div2和ph_tc_offset_div2的值应当在-12到12的范围(包括-12和12)内。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2指定被应用于与PH相关联的条带的Cb分量的β和tC的去方块参数偏移(除以2)。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值应当在-12至12的范围(包括-12和12)内。当不存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值被推断为分别等于pps_cb_beta_offset_div2和pps_cb_tc_offset_div2。
ph_cr_beta_offset_div2和ph_cr_tc_offset_div2指定被应用于与PH相关联的条带的Cr分量的β和tC的去方块参数偏移(除以2)。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应当在-12至12的范围(包括-12和12)内。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
ph_extension_length以字节为单位指定PH扩展数据的长度,不包括用于自身信令通知ph_extension_length的比特。ph_extension_length的值应当在0到256的范围(包括0和256)内。当不存在时,ph_extension_length的值被推断为等于0。
ph_extension_data_byte可以具有任何值。符合本规范的该版本的解码器应当忽略ph_extension_data_byte的值。它的值不影响解码器符合规范的该版本中指定的档次。
3.4.SH语法和语义
在最新的VVC草案文本中,SH语法和语义如下:
Figure BDA0003899756780000611
Figure BDA0003899756780000621
Figure BDA0003899756780000631
Figure BDA0003899756780000641
指定包含cu_qp_delta_abs的编解码单元的亮度量化参数与其预测之间的差的变量CuQpDeltaVal被设置为等于0。指定要在确定包含cu_chroma_qp_offset_flag的编解码单元的Qp′Cb、Qp′Cr和Qp′CbCr量化参数的相应值时使用的值的变量CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr都被设置为等于0。
picture_header_in_slice_header_flag等于1指定PH语法结构存在于条带标头中。picture_header_in_slice_header_flag等于0指定PH语法结构不存在于条带标头中。
比特流一致性的要求是picture_header_in_slice_header_flag的值在CLVS中的所有编解码条带中应当相同。
当编解码条带的picture_header_in_slice_header_flag等于1时,比特流一致性的要求是在CLVS中不应当存在nal_unit_type等于PH_NUT的VCL NAL单元。
当picture_header_in_slice_header_flag等于0时,当前图片中的所有编解码条带应当具有等于0的picture_header_in_slice_header_flag,并且当前PU应当具有PH NAL单元。
slice_subpic_id指定包含条带的子图片的子图片ID。如果slice_subpic_id存在,则变量CurrSubpicIdx的值被推导为使得SubpicIdVal[CurrSubpicIdx]等于slice_subpic_id。否则(slice_subpic_id不存在),CurrSubpicIdx被推导为等于0。slice_subpic_id的长度为sps_subpic_id_len_minus1+1比特。
slice_address指定条带的条带地址。当不存在时,slice_address的值被推断为等于0。当rect_slice_flag等于1并且NumSlicesInSubpic[CurrSubpicIdx]等于1时,slice_address的值被推断为等于0。
如果rect_slice_flag等于0,则以下适用:
-条带地址是光栅扫描片索引。
-slice_address的长度为Ceil(Log2(NumTilesInPic))比特。
-slice_address的值应当在0到NumTilesInPic-1的范围(包括0和NumTilesInPic-1)内。
否则(rect_slice_flag等于1),以下适用:
-条带地址是条带的子图片级别条带索引。
-slice_address的长度为Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))比特。
-slice_address的值应当在0到NumSlicesInSubpic[CurrSubpicIdx]-1的范围(包括0和NumSlicesInSubpic[CurrSubpicIdx]-1)内。
比特流一致性的要求是以下约束适用:
-如果rect_slice_flag等于0或者subpic_info_present_flag等于0,则slice_address的值不应当等于相同编解码图片的任何其他编解码条带NAL单元的slice_address的值。
-否则,一对slice_subpic_id和slice_address值不应当等于相同编解码图片的任何其他编解码条带NAL单元的一对slice_subpic_id和slice_address值。
-图片的条带的形状应当使得每个CTU在解码时应当具有由图片边界组成或者由(多个)先前解码的CTU的边界组成的其整个左边界和整个上边界。
sh_extra_bit[i]可以等于1或0。符合本规范的该版本的解码器应当忽略sh_extra_bit[i]的值。它的值不影响解码器符合规范的该版本中指定的档次。
num_tiles_in_slice_minus1加1(在存在时)指定条带中的片的数量。num_tiles_in_slice_minus1的值应当在0到NumTilesInPic-1的范围(包括0和NumTilesInPic-1)内。
指定当前条带中的CTU的数量的变量NumCtusInCurrSlice和指定条带内的第i个CTB的图片光栅扫描地址的列表CtbAddrInCurrSlice[i](i的范围为从0到NumCtusInCurrSlice-1(包括0和NumCtusInCurrSlice-1))被推导如下:
Figure BDA0003899756780000651
Figure BDA0003899756780000661
变量SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos和SubpicBotBoundaryPos被推导如下:
Figure BDA0003899756780000662
Figure BDA0003899756780000671
slice_type根据表9指定条带的编解码类型。
表9–与slice_type的名称关联
slice_type slice_type的名称
0 B(B条带)
1 P(P条带)
2 I(I条带)
当不存在时,slice_type的值被推断为等于2。
当ph_intra_slice_allowed_flag等于0时,slice_type的值应当等于0或1。当nal_unit_type在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内,并且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,slice_type应当等于2。
变量MinQtLog2SizeY、MinQtLog2SizeC、MinQtSizeY、MinQtSizeC、MaxBtSizeY、MaxBtSizeC、MinBtSizeY、MaxTtSizeY、MaxTtSizeC、MinTtSizeY、MaxMttDepthY和MaxMttDepthC被推导如下:
-如果slice_type等于2(I),则以下适用:
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_luma (119)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_chroma (120)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_intra_slice_luma) (121)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_intra_slice_chroma) (122)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_intra_slice_luma) (123)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_intra_slice_chroma) (124)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_intra_slice_luma (125)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_intra_slice_chroma(126)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_intra_slice (127)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_intra_slice (128)
-否则(slice_type等于0(B)或1(P)),以下适用:
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice (129)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice (130)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_inter_slice) (131)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_inter_slice) (132)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_inter_slice) (133)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_inter_slice) (134)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_inter_slice (135)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_inter_slice (136)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_inter_slice (137)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_inter_slice (138)
-以下适用:
MinQtSizeY=1<<MinQtLog2SizeY (139)
MinQtSizeC=1<<MinQtLog2SizeC (140)
MinBtSizeY=1<<MinCbLog2SizeY (141)
MinTtSizeY=1<<MinCbLog2SizeY (142)
slice_alf_enabled_flag等于1指定自适应环路滤波器被启用,并且可以被应用于条带中的Y、Cb或Cr色彩分量。slice_alf_enabled_flag等于0指定对条带中的所有色彩分量禁用自适应环路滤波器。当不存在时,slice_alf_enabled_flag的值被推断为等于ph_alf_enabled_flag。
slice_num_alf_aps_ids_luma指定条带参考的ALF APS的数量。当slice_alf_enabled_flag等于1并且slice_num_alf_aps_ids_luma不存在时,slice_num_alf_aps_ids_luma的值被推断为等于ph_num_alf_aps_ids_luma的值。
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
slice_alf_chroma_idc等于0指定自适应环路滤波器不应用于Cb和Cr色彩分量。slice_alf_chroma_idc等于1指示自适应环路滤波器被应用于Cb色彩分量。slice_alf_chroma_idc等于2指示自适应环路滤波器被应用于Cr色彩分量。slice_alf_chroma_idc等于3指示自适应环路滤波器被应用于Cb和Cr色彩分量。当slice_alf_chroma_idc不存在时,其被推断为等于ph_alf_chroma_idc。
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
slice_cc_alf_cb_enabled_flag等于0指定跨分量滤波器不应用于Cb色彩分量。slice_cc_alf_cb_enabled_flag等于1指示跨分量滤波器被启用,并且可以被应用于Cb色彩分量。当slice_cc_alf_cb_enabled_flag不存在时,其被推断为等于ph_cc_alf_cb_enabled_flag。
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
slice_cc_alf_cr_enabled_flag等于0指定跨分量滤波器不应用于Cr色彩分量。slice_cc_alf_cb_enabled_flag等于1指示跨分量自适应环路滤波器被启用,并且可以被应用于Cr色彩分量。当slice_cc_alf_cr_enabled_flag不存在时,其被推断为等于ph_cc_alf_cr_enabled_flag。
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
当separate_colour_plane_flag等于1时,colour_plane_id标识与当前条带相关联的色彩平面。colour_plane_id的值应当在0到2的范围(包括0和2)内。colour_plane_id值0、1和2分别对应于Y、Cb和Cr平面。colour_plane_id的值3被保留以供ITU-T|ISO/IEC将来使用。
注1–图片的不同色彩平面的解码过程之间没有依赖性。
num_ref_idx_active_override_flag等于1指定语法元素num_ref_idx_active_minus1[0]对于P条带和B条带存在,并且语法元素num_ref_idx_active_minus1[1]对于B条带存在。num_ref_idx_active_override_flag等于0指定语法元素num_ref_idx_active_minus1[0]和num_ref_idx_active_minus1[1]不存在。当不存在时,num_ref_idx_active_override_flag的值被推断为等于1。
num_ref_idx_active_minus1[i]用于推导变量NumRefIdxActive[i],如公式143所指定的。num_ref_idx_active_minus1[i]的值应当在0到14的范围(包括0和14)内。
对于i等于0或1,当当前条带是B条带,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[i]不存在时,num_ref_idx_active_minus1[i]被推断为等于0。
当当前条带是P条带,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[0]不存在时,num_ref_idx_active_minus1[0]被推断为等于0。
变量NumRefIdxActive[i]被推导如下:
Figure BDA0003899756780000711
Figure BDA0003899756780000721
NumRefIdxActive[i]-1的值指定可以用于解码条带的参考图片列表i的最大参考索引。当NumRefIdxActive[i]的值等于0时,没有参考图片列表i的参考索引可以用于解码条带。
当当前条带是P条带时,NumRefIdxActive[0]的值应当大于0。
当当前条带是B条带时,NumRefIdxActive[0]和NumRefIdxActive[1]都应当大于0。
cabac_init_flag指定用于确定在上下文变量的初始化过程中使用的初始化表的方法。当cabac_init_flag不存在时,其被推断为等于0。
slice_collocated_from_l0_flag等于1指定用于时域运动矢量预测的共位图片是从参考图片列表0推导的。slice_collocated_from_l0_flag等于0指定用于时域运动矢量预测的共位图片是从参考图片列表1推导的。
当slice_type等于B或P,ph_temporal_mvp_enabled_flag等于1,并且slice_collocated_from_l0_flag不存在时,以下适用:
-如果rpl_info_in_ph_flag等于1,则slice_collocated_from_l0_flag被推断为等于ph_collocated_from_l0_flag。
-否则(rpl_info_in_ph_flag等于0,并且slice_type等于P),slice_collocated_from_l0_flag的值被推断为等于1。
slice_collocated_ref_idx指定用于时域运动矢量预测的共位图片的参考索引。
当slice_type等于P时或者当slice_type等于B并且slice_collocated_from_l0_flag等于1时,slice_collocated_ref_idx参考参考图片列表0中的条目,并且slice_collocated_ref_idx的值应当在0到NumRefIdxActive[0]-1的范围(包括0和NumRefIdxActive[0]-1)内。
当slice_type等于B并且slice_collocated_from_l0_flag等于0时,slice_collocated_ref_idx参考参考图片列表1中的条目,并且slice_collocated_ref_idx的值应当在0到NumRefIdxActive[1]-1的范围(包括0和NumRefIdxActive[1]-1)内。
当slice_collocated_ref_idx不存在时,以下适用:
-如果rpl_info_in_ph_flag等于1,则slice_collocated_ref_idx的值被推断为等于ph_collocated_ref_idx。
-否则(rpl_info_in_ph_flag等于0),slice_collocated_ref_idx的值被推断为等于0。
比特流一致性的要求是slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的。
比特流一致性的要求是,slice_collocated_ref_idx所参考的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应当分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]应当等于0。
slice_qp_delta指定要用于条带中的编解码块直到被编解码单元层中的CuQpDeltaVal的值修改的QpY的初始值。
当qp_delta_info_in_ph_flag等于0时,条带的QpY量化参数的初始值SliceQpY被推导如下:
SliceQpY=26+init_qp_minus26+slice_qp_delta (144)
SliceQpY的值应当在-QpBdOffset到+63的范围(包括-QpBdOffset和+63)内。
当以下条件中的任一个为真时:
-wp_info_in_ph_flag的值等于1,pps_weighted_pred_flag等于1,并且slice_type等于P。
-wp_info_in_ph_flag的值等于1,pps_weighted_bipred_flag等于1,并且slice_type等于B。
以下适用:
-NumRefIdxActive[0]的值应当小于或等于NumWeightsL0的值。
-对于每个参考图片索引RefPicList[0][i](i在0到NumRefIdxActive[0]-1的范围(包括0和NumRefIdxActive[0]-1)内),应用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL0[i]、ChromaWeightL0[0][i]和ChromaWeightL0[1][i]。
当wp_info_in_ph_flag等于1,pps_weighted_bipred_flag等于1,并且slice_type等于B时,以下适用:
-NumRefIdxActive[1]的值应当小于或等于NumWeightsL1的值。
-对于每个参考图片索引RefPicList[1][i](i在0到NumRefIdxActive[1]-1的范围(包括0和NumRefIdxActive[1]-1)内),应用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL1[i]、ChromaWeightL1[0][i]和ChromaWeightL1[1][i]。
slice_cb_qp_offset指定在确定Qp′Cb量化参数值时要添加到pps_cb_qp_offset的值的差。slice_cb_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。当slice_cb_qp_offset不存在时,其被推断为等于0。pps_cb_qp_offset+slice_cb_qp_offset的值应当在-12至+12的范围(包括-12和+12)内。
slice_cr_qp_offset指定在确定Qp′Cr量化参数值时要添加到pps_cr_qp_offset的值的差。slice_cr_qp_offset的值应当在-12至+12的范围(包括-12和+12)内。当slice_cr_qp_offset不存在时,其被推断为等于0。pps_cr_qp_offset+slice_cr_qp_offset的值应当在-12至+12的范围(包括-12和+12)内。
slice_joint_cbcr_qp_offset指定在确定Qp′CbCr的值时要添加到pps_joint_cbcr_qp_offset_value的值的差。slice_joint_cbcr_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于0。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset的值应当在-12到+12的范围(包括-12和+12)内。
cu_chroma_qp_offset_enabled_flag等于1指定cu_chroma_qp_offset_flag可以存在于变换单元和调色板编解码语法中。cu_chroma_qp_offset_enabled_flag等于0指定cu_chroma_qp_offset_flag不存在于变换单元或调色板编解码语法中。当不存在时,cu_chroma_qp_offset_enabled_flag的值被推断为等于0。
slice_sao_luma_flag等于1指定对当前条带中的亮度分量启用SAO;slice_sao_luma_flag等于0指定对当前条带中的亮度分量禁用SAO。当slice_sao_luma_flag不存在时,其被推断为等于ph_sao_luma_enabled_flag。
slice_sao_chroma_flag等于1指定对当前条带中的色度分量启用SAO;slice_sao_chroma_flag等于0指定对当前条带中的色度分量禁用SAO。当slice_sao_chroma_flag不存在时,其被推断为等于ph_sao_chroma_enabled_flag。
slice_deblocking_filter_override_flag等于1指定去方块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0指定去方块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于ph_deblocking_filter_override_flag。
slice_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于当前条带。当slice_deblocking_filter_disabled_flag不存在时,其被推断为等于ph_deblocking_filter_disabled_flag。
slice_beta_offset_div2和slice_tc_offset_div2指定被应用于当前条带的亮度分量的β和tC的去方块参数偏移(除以2)。slice_beta_offset_div2和slice_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定被应用于当前条带的Cb分量的β和tC的去方块参数偏移(除以2)。slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值被推断为分别等于ph_cb_beta_offset_div2和ph_cb_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定被应用于当前条带的Cr分量的β和tC的去方块参数偏移(除以2)。slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值都应当在-12到12的范围(包括-12和12)内。当不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值被推断为分别等于ph_cr_beta_offset_div2和ph_cr_tc_offset_div2。
slice_ts_residual_coding_disabled_flag等于1指定residual_coding()语法结构用于解析当前条带的变换跳过块的残差样点。slice_ts_residual_coding_disabled_flag等于0指定residual_ts_coding()语法结构用于解析当前条带的变换跳过块的残差样点。当slice_ts_residual_coding_disabled_flag不存在时,其被推断为等于0。
slice_lmcs_enabled_flag等于1指定对当前条带启用亮度映射与色度缩放。slice_lmcs_enabled_flag等于0指定不对当前条带启用亮度映射与色度缩放。当slice_lmcs_enabled_flag不存在时,其被推断为等于0。
slice_scaling_list_present_flag等于1指定用于当前条带的缩放列表数据是基于aps_params_type等于SCALING_APS并且adaptation_parameter_set_id等于ph_scaling_list_aps_id的参考缩放列表APS中包含的缩放列表数据推导的。slice_scaling_list_present_flag等于0指定用于当前图片的缩放列表数据是如条款7.4.3.21所指定而推导的默认缩放列表数据。当不存在时,slice_scaling_list_present_flag的值被推断为等于0。
指定当前条带中的条目点的数量的变量NumEntryPoints被推导如下:
Figure BDA0003899756780000761
offset_len_minus1加1指定entry_point_offset_minus1[i]语法元素的长度,以比特为单位。offset_len_minus1的值应当在0到31的范围(包括0和31)内。
entry_point_offset_minus1[i]加1以字节为单位指定第i个条目点偏移,并且由offset_len_minus1加1比特表示。条带标头之后的条带数据由NumEntryPoints+1个子集组成,其中子集索引值的范围为0到NumEntryPoints(包括0和NumEntryPoints)。条带数据的第一字节被视为字节0。当存在时,出现在编解码条带NAL单元的条带数据部分中的防止竞争字节被计数作为条带数据的一部分,用于子集识别的目的。子集0由编解码条带数据的字节0到entry_point_offset_minus1[0](包括0和entry_point_offset_minus1[0])组成,子集k(k在1到NumEntryPoints-1的范围(包括1和NumEntryPoints-1)内)由编解码条带数据的字节firstByte[k]到lastByte[k](包括firstByte[k]和lastByte[k])组成,其中firstByte[k]和lastByte[k]被定义为:
Figure BDA0003899756780000771
lastByte[k]=firstByte[k]+entry_point_offset_minus1[k] (147)
最后一个子集(子集索引等于NumEntryPoints)由编解码条带数据的剩余字节组成。
当sps_entropy_coding_sync_enabled_flag等于0并且条带包含一个或多个完整片时,每个子集应当由条带中相同片内的所有CTU的所有编解码比特组成,并且子集的数量(即,NumEntryPoints+1的值)应当等于条带中的片的数量。
当sps_entropy_coding_sync_enabled_flag等于0并且条带包含来自单个片的CTU行的子集时,NumEntryPoints应当为0,并且子集的数量应当为1。子集应当由条带中的所有CTU的所有编解码比特组成。
当sps_entropy_coding_sync_enabled_flag等于1时,每个子集k(k在0到NumEntryPoints的范围(包括0和NumEntryPoints)内)应当由片内的CTU行中的所有CTU的所有编解码比特组成,并且子集的数量(即,NumEntryPoints+1的值)应当等于条带中的片特定CTU行的总数。
slice_header_extension_length以字节为单位指定条带标头扩展数据的长度,不包括用于自身信令通知slice_header_extension_length的比特。slice_header_extension_length的值应当在0到256的范围(包括0和256)内。当不存在时,slice_header_extension_length的值被推断为等于0。
slice_header_extension_data_byte[i]可以具有任何值。符合本规范的该版本的解码器应当忽略所有slice_header_extension_data_byte[i]语法元素的值。它的值不影响解码器符合规范的该版本中指定的档次。
3.5.色度QP映射表
在JVET-Q2001-vC的条款7.3.2.3中,SPS包括名为色度QP表的结构,如下所示:
Figure BDA0003899756780000781
它们具有以下语义和QP表推导:
sps_joint_cbcr_enabled_flag等于0指定色度残差的联合编解码被禁用。sps_joint_cbcr_enabled_flag等于1指定色度残差的联合编解码被启用。当不存在时,sps_joint_cbcr_enabled_flag的值被推断为等于0。
same_qp_table_for_chroma等于1指定仅信令通知一个色度QP映射表,并且当sps_joint_cbcr_enabled_flag等于1时,该表适用于Cb和Cr残差并且附加地适用于联合Cb-Cr残差。same_qp_table_for_chroma等于0指定在SPS中信令通知色度QP映射表,其中当sps_joint_cbcr_enabled_flag等于1时,两个色度QP映射表用于Cb和Cr,并且一个附加色度QP映射表用于联合Cb-Cr。当same_qp_table_for_chroma不存在于比特流中时,same_qp_table_for_chroma的值被推断为等于1。
qp_table_start_minus26[i]加26指定用于描述第i个色度QP映射表的起始亮度和色度QP。qp_table_start_minus26[i]的值应当在-26-QpBdOffset到36的范围(包括-26-QpBdOffset和36)内。当qp_table_start_minus26[i]不存在于比特流中时,qp_table_start_minus26[i]的值被推断为等于0。
num_points_in_qp_table_minus1[i]加1指定用于描述第i个色度QP映射表的点的数量。num_points_in_qp_table_minus1[i]的值应当在0到63+QpBdOffset的范围(包括0和63+QpBdOffset)内。当num_points_in_qp_table_minus1[0]不存在于比特流中时,num_points_in_qp_table_minus1[0]的值被推断为等于0。
delta_qp_in_val_minus1[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输入坐标的增量(delta)值。当delta_qp_in_val_minus1[0][j]不存在于比特流中时,delta_qp_in_val_minus1[0][j]的值被推断为等于0。
delta_qp_diff_val[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输出坐标的增量值。
第i个色度QP映射表ChromaQpTable[i](其中i=0..numQpTables-1)被推导如下:
Figure BDA0003899756780000791
Figure BDA0003899756780000801
当same_qp_table_for_chroma等于1时,ChromaQpTable[1][k]和ChromaQpTable[2][k]被设置为等于ChromaQpTable[0][k],其中k在-QpBdOffset到63的范围(包括-QpBdOffset和63)内。
比特流一致性的要求是,qpInVal[i][j]和qpOutVal[i][j]的值应当在-QpBdOffset到63的范围(包括-QpBdOffset和63)内,其中i在0到numQpTables-1的范围(包括0和numQpTables-1)内,并且j在0到num_points_in_qp_table_minus1[i]+1的范围(包括0和num_points_in_qp_table_minus1[i]+1)内。
在以上描述中,QpBdOffset被推导为:
bit_depth_minus8指定亮度和色度阵列的样点的比特深度BitDepth、以及亮度和色度量化参数范围偏移QpBdOffset的值如下:
BitDepth=8+bit_depth_minus8
QpBdOffset=6*bit_depth_minus8
bit_depth_minus8应当在0到8的范围(包括0和8)内。
4.通过所公开的技术解决方案解决的技术问题
APS、去方块、子图片和QP增量的最新的VVC草案规范中的现有设计有以下问题:
1)当前,APS语法元素scaling_list_chroma_present_flag的值是基于从SPS语法元素chroma_format_idc和separate_colour_plane_flag推导的ChromaArrayType来约束的,表述如下:当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。
APS语法元素的语义中的这种约束引入了APS对SPS的语义依赖性,这是不应该出现的,因为由于在APS语法中没有PPS ID或SPS ID,所以APS可以被应用于参考不同SPS的图片(或图片的条带),这可以与ChromaArrayType的不同值相关联。
a.可附加地,类似的APS-SPS语义依赖性也存在于一些ALF/CC-ALF APS语法元素的语义中,表述如下:当ChromaArrayType等于0时,alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag应当等于0。
b.当前,当信令通知LMCS APS时,总是在LMCS APS语法结构中信令通知色度残差缩放相关的语法元素,而不管ChromaArrayType是否等于0(即,在CLVS中没有色度分量)。这导致色度相关语法元素的不必要信令。
2)断言最新的VVC文本中的去方块控制机制相当复杂、不直观、不容易理解,因此易于出错。以下是我们观察到的一些示例问题:
a.根据当前文本,即使在PPS中禁用了去方块滤波器,其也可以在PH或SH中被启用。例如,如果pps_deblocking_filter_disabled_flag首先被信令通知为等于1,并且deblocking_filter_override_enabled_flag也被信令通知为等于1,则它指示在PPS禁用去方块滤波器,并且它还允许在PH或SH中覆盖去方块滤波器启用/禁用控制。然后,dbf_info_in_ph_flag随后被信令通知,并且PH语法元素ph_deblocking_filter_disabled_flag可能被信令通知为等于0,这最终启用与PH相关联的条带的去方块滤波器。在这种情况下,去方块最后在PH被启用,而不管它已经在更高级别(例如,PPS)被禁用。这样的设计逻辑在VVC文本中是独一无二的,并且它与其他编解码工具(例如,ALF、SAO、LMCS、TMVP、WP等)的设计逻辑截然不同,如通常当编解码工具在更高层(例如,SPS、PPS)被禁用时,它在更低层(例如,PH、SH)被完全禁用。
b.此外,pps_deblocking_filter_disabled_flag的当前定义就像“pps_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带……”。然而,根据当前的语法表,即使pps_deblocking_filter_disabled_flag等于1并且slice_deblocking_filter_disabled_flag不存在,在ph_deblocking_filter_disabled_flag存在并且被信令通知为等于0的情况下,去方块滤波器的操作仍将被应用。因此,pps_deblocking_filter_disabled_flag的当前定义是不正确的。
c.此外,根据当前文本,如果PPS语法元素deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag都等于1,则指定在PPS中禁用去方块,并且去方块滤波器的控制意图在PH或SH中被覆盖。然而,后续PH语法元素ph_deblocking_filter_override_flag和ph_deblocking_filter_disabled_flag可能仍然被信令通知为等于1,这表明所产生的覆盖过程不改变任何东西(例如,去方块在PH/SH中保持禁用),而只是将不必要的比特用于无意义的信令。
d.此外,根据当前文本,当SH语法元素slice_deblocking_filter_override_flag不存在时,其被推断为等于ph_deblocking_filter_override_flag。然而,除了PPS中的隐式或显式信令之外,根据dbf_info_in_ph_flag,去方块参数只能在PH或SH中被信令通知,而从不在两者中被信令通知。因此,当dbf_info_in_ph_flag为真时,意图是允许在PH中信令通知覆盖去方块滤波器参数。在这种情况下,如果PH覆盖标志为真,并且SH覆盖标志没有被信令通知,但是被推断为等于PH覆盖标志,则附加去方块滤波器参数仍然将在SH中被信令通知,这与该意图冲突。
e.此外,没有SPS级别去方块开/关控制,其可以被添加,并且PPS/PH/SH中的相关语法元素可以相应地被更新。
3)当前,当PPS语法元素single_slice_per_subpic_flag不存在时,其被推断为等于0。在两种情况下不存在single_slice_per_subpic_flag:i)no_pic_partition_flag等于1,以及ii)no_pic_partition_flag等于0,并且rect_slice_flag等于0。
对于情况i),no_pic_partition_flag等于1指定没有图片分割被应用于参考PPS的每个图片,因此,在每个图片中仅有一个条带,因而,在每个图片中仅有一个子图片并且在每个子图片中仅有一个条带。因此,在这种情况下,single_slice_per_subpic_flag应该被推断为等于1。
对于情况ii),由于rect_slice_flag等于0,因此不需要single_slice_per_subpic_flag的推断值。
4)当前,图片或条带级别中的亮度qp增量总是在PH或SH中而从不在两者中被强制信令通知。而条带级别色度QP偏移可选地在SH中被信令通知。这样的设计有些不一致。
a.可附加地,PPS语法元素cu_qp_delta_enabled_flag的当前语义表达如下: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_abs也可以存在于调色板编解码语法中,这也应该由cu_qp_delta_enabled_flag指定。换句话说,cu_qp_delta_enabled_flag的当前语义不够清楚,有点混乱。
5)色度Qp映射表的当前设计不能直接表示色度Qp等于亮度Qp的情况。
6)当前,subpic_treated_as_pic_flag[i]被推断为等于sps_independent_subpics_flag的值。然而,当前规范仅允许在subpic_treated_as_pic_flag[i]等于0时启用水平环绕,其中环绕运动补偿是针对360°视频内容设计的。因此,当图片仅包含一个子图片时(特别是对于完整的360°视频序列仅包含一个子图片的情况),subpic_treated_as_pic_flag[i]的推断值可以被推断为等于0或允许环绕运动补偿的某个值。
7)当前,pps_deblocking_filter_disabled_flag的语义不正确且不完整。例如,当pps_deblocking_filter_disabled_flag等于1时,可以对参考该PPS的条带启用或禁用去方块,但是语义中没有提到那些条件。类似地,pps_deblocking_filter_disabled_flag的语义的一部分等于0。
a.此外,当PPS语法元素pps_deblocking_filter_disabled_flag等于1,并且同时PH/SH语法元素ph/slice_deblocking_filter_override_flag被信令通知为等于1时,仍然允许ph/slice_deblocking_filter_disabled_flag被显式地信令通知为等于1。标志的值的该组合所做的是,去方块在PPS级别被禁用,并且允许在图片或条带被覆盖,然后在PH/SH级别指示它将被覆盖,然后在相同的标头(PH/SH)中信令通知比特,以最终确定它实际上没有被覆盖,并且去方块在图片/条带级别保持禁用。断言这有双重不良影响:不仅不必要地消耗比特,而且消耗该比特仅造成一些混乱。因此,我们提出了进一步改进去方块控制语法元素的语义,并且移除允许指示覆盖的特征,然后立即在相同的PH或SH中传送下一比特以指示主意的改变。
8)IRAP或GDR图片按照解码顺序的第一个编解码条带可以参考后缀APS NAL单元,这可能延迟随机访问反应。
9)在VVC中,不允许更新PU内的APS NAL单元的内容,这可能限制一些应用。
10)观察到当前VVC草案文本中有一些问题/缺陷(例如,与APS语法有关),应该解决。
a.ALF滤波器系数的绝对值(即,VVC文本中的alf_luma_coeff_abs和alf_chroma_coeff_abs[altIdx][j])在[0,128]的范围内。因此,需要9比特来存储系数,而这仅仅用于存储128和-128值。
11)在当前文本中,允许的ALF APS的总数被限制为8个,并且每个ALF AP占用大约512字节,因此它们中的8个占用4k字节。鉴于巨大的内存影响,建议考虑对使用的总内存(或APS中的滤波器的数量–一个APS中有多达25个亮度滤波器和8个色度滤波器)而不是APS的数量的约束,因为APS使用的内存量依赖于其内容。
5.解决方案和实施例的列表
为了解决以上问题和没有提到的一些其他问题,公开了如下总结的方法。这些发明应该被视为解释一般概念的示例,并且不应该以狭隘的方式进行解释。此外,这些发明可以被单独应用或者以任何方式被组合。
在以下讨论中,SH可以与PH相关联,即,SH与在与PH相关联的图片中的条带相关联。SH可以与PPS相关联,即,SH与在与PPS相关联的图片中的条带相关联。PH可以与PPS相关联,即,PH与和PPS相关联的图片相关联。
在以下讨论中,SPS可以与PPS相关联,即,PPS可以参考SPS。
在以下讨论中,改变的文本基于JVET-Q2001-vE中的最新的VVC文本。已经被添加或修改的最相关部分以粗体和斜体突出显示,并且删除的部分中的一些用双方括号标记(例如,[[a]]表示删除字符“a”)。
1.关于用于解决第一个问题的对APS语法元素的约束,公开了以下方法中的一种或多种:
a.在一个示例中,根据通过PH语法元素推导的ChromaArrayType来约束scaling_list_chroma_present_flag的值。
i.例如,scaling_list_chroma_present_flag的值是否被约束可以依赖于是否存在ph_scaling_list_aps_id,例如,如在第一实施例集合中那样。
1)在一个示例中,要求当ph_scaling_list_aps_id存在时,具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的scaling_list_chroma_present_flag的值应当等于ChromaArrayType==0?0:1。
ii.可替代地,scaling_list_chroma_present_flag基于通过PH语法元素推导的ChromaArrayType来约束,而不管ph_scaling_list_aps_id的存在,例如,如在第一实施例集合中那样。
1)在一个示例中,要求具有等于SCALING_APS的aps_params_type的APS NAL单元的scaling_list_chroma_present_flag的值应当等于ChromaArrayType==0?0:1。
b.在一个示例中,根据通过PH语法元素推导的ChromaArrayType来约束lmcs_delta_abs_crs的值。
i.例如,lmcs_delta_abs_crs的值是否被约束可以依赖于是否存在ph_lmcs_aps_id,例如,如在第一实施例集合中那样。
1)例如,要求当ph_lmcs_aps_id存在时,如果ChromaArrayType等于0,则具有等于lmcs_aps的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的lmcs_delta_abs_crs的值应当等于0,否则应当大于0。
2)可替代地,要求当ph_lmcs_aps_id存在时,如果ChromaArrayType等于0,则具有等于lmcs_aps的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的lmcs_delta_abs_crs的值应当等于0。
ii.可替代地,lmcs_delta_abs_crs基于通过PH语法元素推导的ChromaArrayType来约束,而不管ph_lmcs_aps_id的存在,例如,如在第一实施例集合中那样。
1)例如,要求如果ChromaArrayType等于0,则等于ph_lmcs_aps_id的APS NAL单元的lmcs_delta_abs_crs的值应当等于0,否则应当大于0。
2)例如,要求如果ChromaArrayType等于0,则等于ph_lmcs_aps_id的APS NAL单元的lmcs_delta_abs_crs的值应当等于0。
c.在一个示例中,根据通过PH语法元素和/或SH语法元素推导的ChromaArrayType来约束ALF APS语法元素(例如,alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag等)的值。
i.例如,alf_chroma_filter_signal_flag和/或alf_cc_cb_filter_signal_flag和/或alf_cc_cr_filter_signal_flag的值是否被约束可以依赖于是否存在ph_alf_aps_id_luma[i]或slice_alf_aps_id_luma[i]和/或ChromaArrayType是否等于0,例如,如在第一实施例集合中那样。
1)例如,要求当ph_alf_aps_id_luma[i]存在并且ChromaArrayType等于0时,具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值都应当等于0。
2)可附加地,要求当slice_alf_aps_id_luma[i]存在并且ChromaArrayType等于0时,具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值都应当等于0。
ii.可替代地,alf_chroma_filter_signal_flag和/或alf_cc_cb_filter_signal_flag和/或alf_cc_cr_filter_signal_flag基于通过PH语法元素或SH语法元素推导的ChromaArrayType来约束,而不管ph_alf_aps_id_luma[i]和/或slice_alf_aps_id_luma[i]的存在,例如,如在第一实施例集合中那样。
1)例如,要求当ChromaArrayType等于0时,具有等于ALF_APS的aps_params_type的APS NAL单元的alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值都应当等于0。
2)可附加地,要求当ChromaArrayType等于0时,具有等于ALF_APS的aps_params_type的APS NAL单元的alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值都应当等于0。
iii.可替代地,alf_chroma_filter_signal_flag和/或alf_cc_cb_filter_signal_flag和/或alf_cc_cr_filter_signal_flag基于通过色度APS ID相关的PH或SH语法元素推导的ChromaArrayType来约束,例如,如在第一实施例集合中那样。
1)例如,alf_chroma_filter_signal_flag根据通过PH语法元素ph_alf_aps_id_chroma和/或SH语法元素slice_alf_aps_id_chroma推导的ChromaArrayType来约束。
2)例如,alf_cc_cb_filter_signal_flag根据通过PH语法元素ph_cc_alf_cb_aps_id和/或SH语法元素slice_cc_alf_cb_aps_id推导的ChromaArrayType来约束。
3)例如,alf_cc_cr_filter_signal_flag根据通过PH语法元素ph_cr_alf_cb_aps_id和/或SH语法元素slice_cr_alf_cb_aps_id推导的ChromaArrayType来约束。
d.在一个示例中,ALF和/或SCALING LIST(缩放列表)和/或LMCS数据语法结构中的APS语法元素的语义可以不依赖于它是否为4:0:0视频编解码和/或单独的色彩平面编解码。
i.例如,ALF数据语法结构中的APS语法元素(例如,alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag等)的语义可以不依赖于通过SPS/PH/SH语法元素推导的变量/语法(例如,ChromaArrayType),例如,如在第一实施例集合中那样。
ii.可附加地,可替代地,SCALING LIST数据语法结构中的APS语法元素(例如,scaling_list_chroma_present_flag等)的语义可以不依赖于通过SPS/PH/SH语法元素推导的变量/语法(例如,ChromaArrayType),例如,如在第一实施例集合中那样。
e.可附加地,ALF/SCALING/LMCS APS NAL单元的temporalId是否被约束可以依赖于是否存在对应的APS ID,例如,如在第一实施例集合中那样。
i.例如,ALF APS NAL单元的temporalId是否被约束可以依赖于是否存在ph_alf_aps_id_luma[i]和/或ph_alf_aps_id_chroma和/或ph_cc_alf_cb_aps_id和/或ph_cc_alf_cr_aps_id。
ii.例如,LMCS APS NAL单元的temporalId是否被约束可以依赖于是否存在ph_lmcs_aps_id。
iii.例如,SCALING APS NAL单元的temporalId是否被约束可以依赖于是否存在ph_scaling_list_aps_id。
f.可附加地,alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag和/或alf_cc_cb_filter_signal_flag和/或alf_cc_cr_filter_signal_flag的值是否应当等于1可以依赖于是否存在对应的APS ID,例如,如在第一实施例集合中那样。
i.例如,alf_luma_filter_signal_flag是否应当等于1可以依赖于是否存在ph_alf_aps_id_luma[i]和/或slice_alf_aps_id_luma[i]。
ii.例如,alf_chroma_filter_signal_flag是否应当等于1可以依赖于是否存在ph_alf_aps_id_chroma和/或slice_alf_aps_id_chroma。
iii.例如,alf_cc_cb_filter_signal_flag是否应当等于1可以依赖于是否存在ph_cc_alf_cb_aps_id和/或slice_cc_alf_cb_aps_id。
iv.例如,alf_cc_cr_filter_signal_flag是否应当等于1可以依赖于是否存在ph_cc_alf_cr_aps_id和/或slice_cc_alf_cr_aps_id。
g.可附加地,可替代地,SH中的色度ALF APS ID语法元素(例如,slice_alf_aps_id_chroma、slice_cc_alf_cb_aps_id、slice_cr_alf_cb_aps_id等)是否被推断可以依赖于ChromaArrayType的值,例如,如在第一实施例集合中那样。
i.例如,当ChromaArrayType不等于0时,可以推断SH中的色度ALF APS ID语法元素(例如,slice_alf_aps_id_chroma、slice_cc_alf_cb_aps_id、slice_cr_alf_cb_aps_id等)的值。
h.在一个示例中,基于ChromaArrayType的APS语法元素的约束可以通过PH或SH语法元素来推导。
i.可替代地,可以在PH和/或SH语法元素的语义中定义APS中的一个或多个语法元素的约束,诸如色度信息存在的指示(例如,是否信令通知色度滤波器,是否信令通知色度缩放列表,LMCS残差缩放因子是否等于0)。
a)此外,可替代地,PH和/或SH语法元素可以参考APS。
b)此外,可替代地,不同APS类型中的相同语法元素的约束可以不同,即,使用单路(例如,当某个条件为真时,应用约束)或双路约束(例如,如果某个条件为真,则应用第一约束;否则,应用第二约束)。
ii.在一个示例中,语法元素被约束的APS通过在PH或SH中信令通知的索引(诸如ph_num_alf_aps_ids_luma、ph_alf_aps_id_chroma、ph_lmcs_aps_id和ph_scaling_list_aps_id)来确定。
iii.在一个示例中,ChromaArrayType可以通过在SPS中信令通知的信息(诸如chroma_format_idc和separate_colour_plane_flag)来推导,该SPS通过在PPS中信令通知的索引(诸如pps_seq_parameter_set_id)来确定,该PPS通过在PH或SH中信令通知的索引(诸如ph_pic_parameter_set_id)来进一步确定。
iv.在一个示例中,应该在解析APS以及PH或SH之后检查约束。
v.在一个示例中,可以在APS语法结构(例如,adaptation_parameter_set_rbsp())中信令通知语法元素(例如,名为aps_chroma_present_flag),指定是否将信令通知色度相关APS语法元素。
a)在一个示例中,该语法元素可以被定义为第六实施例中的语法元素。
b)可替代地,该语法元素(例如,名为aps_chroma_present_flag)可以用于控制APS中的其他语法元素的存在和/或如何信令通知其他语法元素和/或如何推导其他语法元素的推断值。
c)例如,aps_chroma_present_flag等于某个值(诸如1)指定色度相关APS语法元素可以存在于LMCS/SCALING/ALF APS数据中。
d)例如,aps_chroma_present_flag等于某个值(诸如0)指定与色度相关APS语法元素不存在于LMCS/SCALING/ALF APS数据中。
e)例如,aps_chroma_params_present_flag等于1指定
APS NAL单元可以包括色度信息。aps_chroma_params_present_flag等于0指定APS NAL单元不包括色度信息。
f)例如,当aps_chroma_present_flag等于某个值(诸如0或1)时,可以不信令通知ALF APS语法结构中的色度相关APS语法元素(例如,alf_data()中的alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag)。
g)例如,当aps_chroma_present_flag等于某个值(诸如0或1)时,可以不信令通知LMCS APS语法结构中的色度相关APS语法元素(例如,lmcs_data()中的lmcs_delta_abs_crs和/或lmcs_delta_sign_crs_flag)。
h)例如,当aps_chroma_present_flag等于某个值(诸如0或1)时,可以不信令通知SCALING APS语法结构中的色度相关APS语法元素(例如,scaling_data()中的scaling_list_copy_mode_flag[id]、scaling_list_pred_id_delta[id]、scaling_list_dc_coef[id-14]、scaling_list_delta_coef[id][i]),其中id是数字。
a.例如,id等于在0到X的范围(包括0和X)内的一些值(诸如X=27)。
b.例如,id不等于X(诸如X=27)。
c.例如,id%M不等于N(诸如M=3,N=2)。
i)例如,当色度相关APS语法元素不存在时,其被推断为等于某个值(诸如0或1)。
vi.在一个示例中,当允许存在色度相关APS语法元素(例如,aps_chroma_present_flag等于1)时,要求alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag中的至少一个应当等于1。
vii.可替代地,当允许存在色度相关APS语法元素(例如,aps_chroma_present_flag等于1)时,语法元素X的信令可以依赖于Y集合中的语法元素的值。
a)例如,X为alf_chroma_filter_signal_flag,并且Y包括alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag。
b)例如,X为alf_cc_cb_filter_signal_flag,并且Y包括alf_chroma_filter_signal_flag和alf_cc_cr_filter_signal_flag。
c)例如,X为alf_cc_cr_filter_signal_flag,并且Y包括alf_chroma_filter_signal_flag和alf_cc_cb_filter_signal_flag。
d)例如,当Y中的元素的值等于0时,跳过A的信令。
e)例如,当不存在时,X的值被推断为等于某个值(诸如0或1)。
f)例如,X的值被推断为等于是否允许存在色度相关APS语法元素(例如,设置为aps_chroma_present_flag的值)。
viii.可附加地,语法元素aps_chroma_present_flag可以由ChromaArrayType约束。
a)例如,如果ChromaArrayType等于0,则aps_chroma_present_flag应当等于0。
b)例如,如果ChromaArrayType大于0,则aps_chroma_present_flag应当等于1。
ix.可附加地,基于ChromaArrayType的约束可以通过PH或SH语法元素来推导。
a)在一个示例中,基于ChromaArrayType的约束可以被定义为第六实施例中的约束。
b)例如,语法元素aps_chroma_present_flag可以根据ChromaArrayType和APS的类型(诸如ALF APS、SCALING APS或LMCS APS)来约束。
c)可替代地,ChromaArrayType的值可以根据语法元素aps_chroma_present_flag和/或APS的类型来约束。
d)在一个示例中,要求当chromaArrayType等于0时,具有等于ALF_APS的aps_params_type和等于ph/slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于0。
a.可附加地,可替代地,要求当chromaArrayType大于0时,具有等于ALF_APS的aps_params_type和等于ph/slice_alf_aps_id_chroma(和/或ph_cc_alf_cb_aps_id和/或ph_cc_alf_cr_aps_id)的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于1。
e)在一个示例中,要求当chromaArrayType等于0时,具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于0。
a.可附加地,可替代地,要求当chromaArrayType大于0时,具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于1。
f)在一个示例中,要求当chromaArrayType等于0时,具有等于LMCS_APS的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于0。
x.可附加地,可替代地,要求当chromaArrayType大于0时,具有等于lmcs_aps的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的aps_chroma_present_flag的值应当等于1。可附加地,基于ChromaArrayType的约束可以通过PH语法元素或SH语法元素来推导,而不管PH/SH中的APS ID的存在。
a)在一个示例中,要求当chromaArrayType等于0时,具有等于SCALING_APS和/或ALF_APS和/或LMCS APS的aps_params_type的APS NAL单元的aps_chroma_present_flag的值应当等于0。
b)可附加地,可替代地,要求当chromaArrayType大于0时,具有等于SCALING_APSAPS和/或ALF_APS和/或LMCS APS的aps_params_type的APS NAL单元的aps_chroma_present_flag的值应当等于1。
xi.
2.关于用于解决第二个问题的去方块控制的信令,公开了以下方法中的一种或多种,例如,如在第二实施例集合中那样:
a.在一个示例中,信令通知N比特(诸如N=2)去方块模式指示符(例如,名为deblocking_filter_mode_idc)。
i.在一个示例中,语法元素deblocking_filter_mode_idc是u(2)编解码的。
a)可替代地,deblocking_filter_mode_idc的解析过程是具有N(诸如N=2)比特的无符号整数。
ii.在一个示例中,在PPS中信令通知语法元素deblocking_filter_mode_idc。
iii.在一个示例中,语法元素deblocking_filter_mode_idc用于指定以下四个模式:a)去方块被完全禁用并且不用于所有条带;b)去方块使用0值β和tC偏移而用于所有条带;c)去方块使用在PPS中显式地信令通知的β和tC偏移而用于所有条带;以及d)去方块在图片或条带级别进一步被控制。
b.在PH或SH中信令通知语法标志ph/slice_deblocking_filter_used_flag,指定去方块是否用于当前图片/条带。
c.在PH或SH中信令通知语法标志ph/slice_deblocking_parameters_override_flag,指定β和tC偏移是否由在PH/SH中信令通知的值覆盖。
i.可附加地,当不存在时,将slice_deblocking_parameters_override_flag的值推断为等于0。
d.在一个示例中,可以在SPS中信令通知指定去方块控制的语法元素(例如,启用标志、禁用标志、控制标志、去方块模式指示符、去方块滤波器β/tc参数等)。
i.在一个示例中,可以在SPS中信令通知一个或多个语法元素,指定是否在视频单元(例如,CLVS)中启用去方块。
ii.可附加地,当在SPS中禁用去方块时,要求PPS/PH/SH中关于PPS/PH/SH级别的去方块开/关控制的语法元素应当等于指定去方块被完全禁用并且不用于所有条带的某个值。
iii.在一个示例中,可以在SPS中信令通知去方块滤波器控制存在标志。
iv.例如,可以在SPS中信令通知N比特(诸如N=2)去方块模式指示符(例如,名为deblocking_filter_mode_idc)。
v.例如,可以在SPS中信令通知β/tc去方块参数。
vi.例如,是否用0值β/tc去方块参数启用去方块可以依赖于SPS语法元素。
vii.例如,去方块可以在SPS/PPS/PH/SH级别被应用,并使用在SPS中信令通知的β/tc去方块参数。
viii.例如,去方块可以在SPS/PPS/PH/SH级别被应用,并使用在SPS中信令通知的0值去方块参数。
3.关于用于解决第三个问题的PPS语法元素single_slice_per_subpic_flag的推断,公开了以下方法中的一种或多种:
a.在一个示例中,当no_pic_partition_flag等于1时,将single_slice_per_subpic_flag推断为等于1,例如,single_slice_per_subpic_flag的语义被改变如下:
single_slice_per_subpic_flag等于1指定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定每个子图片可以由一个或多个矩形条带组成。当
Figure BDA0003899756780000971
[[不存在]]时,single_slice_per_subpic_flag的值被推断为等于[[0]]1。
4.关于用于解决第四个问题的图片或条带QP增量信令,公开了以下方法中的一种或多种:
a.在一个示例中,总是在PH或SH中信令通知图片或条带级别色度QP偏移。
i.例如,如果在视频内容中有色度分量(例如,ChromaArrayType不等于0),则可以总是信令通知图片或条带级别色度QP偏移,而不以在PPS中信令通知的存在标志(例如,pps_slice_chroma_qp_offsets_present_flag)为条件。
ii.可替代地,如果在视频内容中有色度分量(例如,ChromaArrayType不等于0),则slice_cb_qp_offset和slice_cr_qp_offset语法元素可以总是存在于相关联的条带标头中,而不管PPS存在标志(例如,pps_slice_chroma_qp_offsets_present_flag)如何。
iii.可附加地,可以不信令通知指定slice_cb_qp_offset和slice_cr_qp_offset语法元素的存在的存在标志(例如,pps_slice_chroma_qp_offsets_present_flag)。
b.在一个示例中,pps_cu_qp_delta_enabled_flag可以用于指定变换单元语法和调色板编解码语法两者中的cu_qp_delta_abs和cu_qp_delta_sign_flag的存在,并且pps_cu_qp_delta_enabled_flag的语义被改变如下: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 BDA0003899756780000972
Figure BDA0003899756780000973
可以存在于变换单元语法
Figure BDA0003899756780000974
中。pps_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
Figure BDA0003899756780000981
Figure BDA0003899756780000982
不存在于变换单元语法
Figure BDA0003899756780000983
中。
c.在一个示例中,可以在PH和SH两者中信令通知亮度QP增量。
i.例如,可以在PPS和/或PH、和/或SH中信令通知亮度QP增量存在标志。
ii.例如,是否在PH/SH中信令通知亮度QP增量依赖于PPS和/或PH/SH中的存在标志。
iii.例如,PH亮度QP增量和SH亮度QP增量的值可以是相加的,并用于计算亮度量化参数,诸如SliceQpY
d.在一个示例中,可以在PH和SH两者中信令通知色度QP偏移。
i.例如,可以在PPS和/或PH、和/或SH中信令通知色度QP偏移存在标志。
ii.例如,是否在PH/SH中信令通知色度QP偏移依赖于PPS和/或PH/SH中的存在标志。
iii.例如,PH色度QP偏移和SH色度QP偏移的值可以是相加的,并用于推导Cb和Cr分量的色度量化参数。
5.关于色度Qp映射表,公开了以下方法中的一种或多种:
a.在一个示例中,在色度QP表的推导过程中,应该在(delta_qp_in_val_minus1[i][j]+1)和delta_qp_diff_val[i][j]之间执行异或(XOR)运算,例如,如在第三实施例集合中那样。
b.提出了在SPS中的sps_multiple_sets_of_chroma_qp_table_present_flag中具有标志。
i.当sps_multiple_sets_of_chroma_qp_table_present_flag等于0时,允许仅一个色度Qp映射表集合被信令通知。
ii.当sps_multiple_sets_of_chroma_qp_table_present_flag等于1时,允许多于一个色度Qp映射表集合被信令通知。
c.对于没有B/P条带的序列,可以不允许多于一个色度Qp映射表集合被信令通知。
6.关于用于解决第六个问题的sps_independent_subpics_flag和subpic_treated_as_pic_flag[i],公开了以下方法中的一种或多种:
a.在一个示例中,sps_independent_subpics_flag的存在依赖于子图片的数量是否大于1。
i.例如,仅当子图片的数量大于1时(例如,如果(sps_num_subpics_minus1>0)),信令通知sps_independent_subpics_flag。
ii.例如,当子图片的数量等于1时(例如,如果(sps_num_subpics_minus1==0)),则跳过sps_independent_subpics_flag的信令。
b.可附加地,当sps_independent_subpics_flag不存在时,其被推断为等于某个值(诸如0或1)。
c.在一个示例中,当subpic_treated_as_pic_flag[i]不存在时,其被推断为等于某个值(诸如0或1)。
d.在一个示例中,当subpic_treated_as_pic_flag[i]不存在时,其被推断为等于某个值,其中环绕运动补偿被启用(或者可以被使用)。
i.可附加地,当subpic_treated_as_pic_flag[i]不存在时,其被推断为等于某个值,其中水平环绕运动补偿被启用(或者可以被使用)。
e.在一个示例中,subpic_treated_as_pic_flag[i]的推断值可以依赖于图片是否仅由一个子图片组成;和/或子图片是否具有与图片相同的宽度。
i.在一个示例中,如果子图片具有与图片相同的宽度,则subpic_treated_as_pic_flag[i]可以被推断为X(例如,X=0)。
f.在一个示例中,当sps_independent_subpics_flag不存在时,sps_independent_subpics_flag被推断为什么值可以依赖于(多个)其他语法元素或变量。
i.例如,推断值可以依赖于是否存在子图片信息(例如,subpic_info_present_flag等于0或1)。
ii.例如,当subpic_info_present_flag等于0并且sps_independent_subpics_flag不存在时,其被推断为等于某个值(诸如0或1)。
iii.例如,当subpic_info_present_flag等于1并且sps_independent_subpics_flag不存在时,其被推断为等于某个值(诸如0或1)。
g.在一个示例中,当subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]被推断为什么值可以依赖于子图片信息(例如,subpic_info_present_flag)的存在和/或CLVS中的子图片的数量(例如,sps_num_subpics_minus1)和/或sps_independent_subpics_flag。
i.在一个示例中,当subpic_info_present_flag等于0并且subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于某个值(诸如0)。
ii.在一个示例中,当subpic_info_present_flag等于1并且subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于某个值(诸如1)。
iii.在一个示例中,当subpic_info_present_flag等于1,sps_num_subpics_minus1等于0,并且subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于某个值(诸如0或1)。
iv.在一个示例中,当subpic_info_present_flag等于1,sps_num_subpics_minus1大于0,sps_independent_subpics_flag等于1,并且subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于某个值(诸如0或1)。
7.如何在帧间预测过程期间在边界上进行填充或裁剪可以依赖于边界的类型、环绕填充或裁剪的指示(例如,pps_ref_wraparound_enabled_flag、sps_ref_wraparound_enabled_flag等)、以及将子图片边界视为图片边界的指示(例如,subpic_treated_as_pic_flag[i])的组合检查。
a.例如,如果边界是图片边界,则环绕填充的指示为真,可以应用环绕填充(或环绕裁剪),而不考虑将子图片边界视为图片边界的指示。
i.在一个示例中,边界必须是垂直边界。
b.例如,如果两个垂直边界都是图片边界,则环绕填充的指示为真,可以应用环绕填充(或环绕裁剪),而不考虑将子图片边界视为图片边界的指示。
c.在一个示例中,以上环绕填充(或环绕裁剪)可以指示水平环绕填充/裁剪。
8.在一个示例中,可以针对不同的子图片信令通知环绕填充或裁剪的不同指示。
9.在一个示例中,可以针对不同的子图片信令通知环绕填充或裁剪的不同偏移。
10.在PH/SH中,变量X用于指示是否在图片/条带中允许/使用B条带,并且该变量可以使用以下方式之一来推导:a)(rpl_info_in_ph_flag&&num_ref_entries[0][RplsIdx[0]]>0&&num_ref_entries[1][RplsIdx[1]]>0);b)(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0);c)(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>1);d)(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0);e)基于VVC文本中的NumRefIdxActive(例如,列表1的NumRefIdxActive大于K(例如,K=0));f)基于列表1的允许参考图片的数量。
1)此外,可替代地,可以根据变量来修改在PH中信令通知的一个或多个语法元素的信令和/或语义和/或推断。
i.在一个示例中,一个或多个语法元素是用于启用需要多于一个预测信号的编解码工具(诸如双向预测或混合帧内和帧间编解码、或者从多个预测块利用线性/非线性加权的预测)的语法元素。
ii.在一个示例中,一个或多个语法元素可以包括但不限于:
a)ph_collocated_from_l0_flag
b)mvd_l1_zero_flag
c)ph_disable_bdof_flag
d)ph_disable_dmvr_flag
e)num_l1_weights
iii.在一个示例中,仅当变量指示图片可以包含一个或多个B条带时,才可以信令通知一个或多个语法元素。否则,跳过该信令,并且推断语法元素的值。
a)此外,可替代地,是否信令通知一个或多个语法元素可以依赖于项目符号1.1和2.1中的第一语法元素,诸如(X为真或1)。
b)仅当(sps_bdof_pic_present_flag
Figure BDA0003899756780001021
)为真时,才可以信令通知ph_disable_bdof_flag。
c)仅当(sps_dmvr_pic_present_flag
Figure BDA0003899756780001022
)为真时,才可以信令通知ph_disable_dmvr_flag。
iv.在一个示例中,当X等于0(或假)时,不信令通知mvd_l1_zero_flag,并且其值被推断为1。
v.在一个示例中,一个或多个语法元素的推断依赖于第一语法元素的值。
a)在一个示例中,对于ph_disable_bdof_flag,以下适用:
–如果sps_bdof_enabled_flag等于1
Figure BDA0003899756780001023
Figure BDA0003899756780001024
则ph_disable_bdof_flag的值被推断为等于0。
–否则(sps_bdof_enabled_flag等于
Figure BDA0003899756780001025
Figure BDA0003899756780001026
),ph_disable_bdof_flag的值被推断为等于1。
b)在一个示例中,对于ph_disable_dmvr_flag,以下适用:
–如果sps_dmvr_enabled_flag等于
Figure BDA0003899756780001031
Figure BDA0003899756780001032
则ph_disable_dmvr_flag的值被推断为等于0。
–否则(sps_dmvr_enabled_flag等于
Figure BDA0003899756780001033
Figure BDA0003899756780001034
),ph_disable_dmvr_flag的值被推断为等于1。
c)在一个示例中,当ph_temporal_mvp_enabled_flag和rpl_info_in_ph_flag都等于1并且X等于0(或假)时,ph_collocated_from_l0_flag的值被推断为等于1。
d)在一个示例中,当X等于0(或假)时,不信令通知num_l1_weights,并且其值被推断为0,因此,不在图片的PH或SH中信令通知参考图片列表1的加权预测参数。
11.提出了是否将图片分割为片/条带/子图片的指示(诸如PPS中的no_pic_partition_flag)的信令可以以图片中的CTB的数量为条件。
2)在一个示例中,如果图片中的CTU的数量等于1(或小于2),则不信令通知no_pic_partition_flag。
3)可替代地,如果图片中的CTU的数量等于1(或小于2),则约束no_pic_partition_flag应当等于0。
12.关于改进去方块的语法和语义以用于解决第七个问题,公开了以下方法中的一种或多种,例如,如在第四实施例中那样:
a.是否对参考PPS的条带禁用(或启用)去方块滤波器的操作依赖于在PPS中信令通知的去方块语法(例如,pps_deblocking_filter_disabled_flag)和在图片或条带级别信令通知的去方块语法元素。
i.在一个示例中,pps_deblocking_filter_disabled_flag等于1指定对参考PPS的条带禁用去方块滤波器的操作,除非在图片或条带级别另有指示。
ii.在一个示例中,pps_deblocking_filter_disabled_flag等于0指定对参考PPS的条带启用去方块滤波器的操作,除非在图片或条带级别另有指示。
b.当不存在时,将slice_deblocking_filter_override_flag推断为等于0。
c.当去方块滤波器在PPS中被禁用并且将在PH/SH中被覆盖时,跳过PH/SH中的去方块开/关控制标志的信令。
i.在一个示例中,是否信令通知PH中的去方块开/关控制标志(例如,ph_deblocking_filter_disabled_flag)可以依赖于是否在PPS中禁用去方块(例如,pps_deblocking_filter_disabled_flag的值是否等于1)和/或PH中的覆盖标志(例如,ph_deblocking_filter_override_flag是否等于1)。
a)例如,当pps_deblocking_filter_disabled_flag和ph_deblocking_filter_override_flag等于1时,可以跳过ph_deblocking_filter_disabled_flag的信令。
b)可替代地,当deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag和ph_deblocking_filter_override_flag等于1时,可以跳过ph_deblocking_filter_disabled_flag的信令。
ii.可附加地,当ph_deblocking_filter_disabled_flag不存在时,其可以被推断如下:
a)如果deblocking_filter_override_enabled_flag、pps_deblocking_filter_disabled_flag和ph_deblocking_filter_override_flag都等于1,则ph_deblocking_filter_disabled_flag的值被推断为等于0。
b)否则,ph_deblocking_filter_disabled_flag的值被推断为等于pps_deblocking_filter_disabled_flag。
iii.可附加地,可替代地,当ph_deblocking_filter_disabled_flag不存在时,其可以被推断如下:
a)如果pps_deblocking_filter_disabled_flag和ph_deblocking_filter_override_flag都等于1,则ph_deblocking_filter_disabled_flag的值被推断为等于0。
b)否则,ph_deblocking_filter_disabled_flag的值被推断为等于pps_deblocking_filter_disabled_flag。
iv.在一个示例中,是否信令通知SH中的去方块开/关控制标志(例如,slice_deblocking_filter_disabled_flag)可以依赖于是否在PPS中禁用去方块(例如,pps_deblocking_filter_disabled_flag的值是否等于1)和/或SH中的覆盖标志(例如,slice_deblocking_filter_override_flag是否等于1)。
a)在一个示例中,当deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag和slice_deblocking_filter_override_flag等于1时,可以跳过slice_deblocking_filter_disabled_flag的信令。
b)可替代地,当pps_deblocking_filter_disabled_flag和slice_deblocking_filter_override_flag等于1时,可以跳过slice_deblocking_filter_disabled_flag的信令。
v.可附加地,当slice_deblocking_filter_disabled_flag不存在时,其可以被推断如下:
a)如果deblocking_filter_override_enabled_flag、pps_deblocking_filter_disabled_flag和slice_deblocking_filter_override_flag都等于1,则slice_deblocking_filter_disabled_flag的值被推断为等于0。
b)否则,slice_deblocking_filter_disabled_flag的值被推断为等于pps_deblocking_filter_disabled_flag。
vi.可附加地,可替代地,当slice_deblocking_filter_disabled_flag不存在时,其可以被推断如下:
a)如果pps_deblocking_filter_disabled_flag和slice_deblocking_filter_override_flag都等于1,则slice_deblocking_filter_disabled_flag的值被推断为等于0。
b)否则,slice_deblocking_filter_disabled_flag的值被推断为等于pps_deblocking_filter_disabled_flag。
13.提出了当sps_ibc_enabled_flag等于1并且块尺寸不小于64x64时,可以跳过cu_skip_flag。
a.在第五实施例中示出了示例。
14.可以在ALF APS中添加第一语法元素(SE),以指示是否存在色度滤波信息(例如,色度ALF、CC-ALF),并且其他语法元素的信令可以基于第一SE的值。
a.在一个示例中,当第一SE(例如,实施例#6中的aps_chroma_present_flag)指示不存在色度滤波信息时,跳过亮度滤波器信息的指示(例如,alf_luma_filter_signal_flag)的信令。
i.此外,可替代地,亮度滤波器信息的指示(例如,alf_luma_filter_signal_flag)被推断为真。
b.在一个示例中,当第一SE(例如,实施例#6中的aps_chroma_present_flag)指示存在色度滤波信息时,应当满足色度滤波器信息的指示(例如,alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag)中的至少一个为真的约束。
15.在以上示例中,CC-ALF滤波存在信息的指示可以由语法元素(其可以是非二进制值,例如alf_cc_filter_idc)从两个语法元素(例如,alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag)中替换。
16.在一致性比特流中要求IRAP或GDR图片按照解码顺序的第一个编解码条带不应当参考后缀APS NAL单元。
a.例如,当编解码图片按照解码顺序的第一个编解码条带firstSlice具有等于IDR_W_RADL、IDR_N_LP、CRA_NUT或GDR_NUT的nal_unit_type时,firstSlice不应当参考后缀APSNAL单元。
17.对不允许更新PU内的APS NAL单元的内容的约束可以排除特定的APS NAL单元。
a.例如,在一致性比特流中要求,PU内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的所有APS NAL单元,除了与PU中按照解码顺序的最后一个VCL NAL单元相关联的后缀APS NAL单元之外,不管它们是前缀还是后缀APS NAL单元,都应当具有相同的内容。
b.可替代地,在一致性比特流中要求,PU内具有nal_unit_type的特定值、adaptation_parameter_set_id和aps_params_type的特定值的所有APS NAL单元,除了与PU中按照解码顺序的最后一个VCL NAL单元相关联的后缀APS NAL单元之外,应当具有相同的内容。
18.在一个示例中,“APS NAL单元的内容”意味着APS RBSP中除了adaptation_parameter_set_id和aps_params_type之外的比特。
a.在一个示例中,当后缀APS NAL单元存在于PU中时,它们不应当在PU的最后一个VCL NAL单元之前。
19.在一致性比特流中要求,当后缀APS NAL单元存在于PU中时,它们不应当在PU的最后一个VCL NAL单元之前。
20.在一致性比特流中要求,当在PU内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的两个APS NAL单元之间没有VCL NAL单元时,两个APS NAL单元应当具有相同的内容,而不管它们是前缀还是后缀APS NAL单元。
21.关于解决当前草案文本中的问题以用于解决第十个问题,公开了以下方法中的一种或多种(在最新的VVC规范JVET-Q2001-vE的基础上提供改变(如果有的话),添加或修改以粗体和斜体突出显示,并且删除的部分用双方括号标记(例如,[[a]]表示删除字符“a”))。
a.如何信令通知APS ID(例如,adaptation_parameter_set_id)依赖于APS类型。
i.在一个示例中,对于ALF APS,APS ID可以用ue(v)或K阶EG编解码进行编解码。
ii.在一个示例中,对于LMCS和缩放列表APS,APS ID可以分别用u(a)和u(b)进行编解码,并且a不等于b。
iii.在一个示例中,对于LMCS和缩放列表APS,APS ID可以用ue(v)或K阶EG编解码进行编解码。
b.在一个示例中,APS ID(例如,adaptation_parameter_set_id)是u(X)编解码的,诸如X=3。
i.例如,adaptation_parameter_set_id的语法被改变如下:
adaptation_parameter_set_rbsp(){ 描述符
adaptation_parameter_set_id u(3[[5]])
i.在一个示例中,X可以依赖于所有类型的APS当中的APS的最大允许数量。
a.在一个示例中,X被设置为(X–(1<<log2(X))==0?log2(X):(log2(X)+1)。
c.提出将ALF滤波器系数的最大允许信令通知的绝对值设置为应当等于(1<<K)–M(M不等于0,例如K=7,M=1)。
i.在一个示例中,ALF滤波器相关语法元素(例如,alf_data()语法结构中的alf_luma_coeff_abs[sfIdx][j]、alf_chroma_coeff_abs[altIdx][j])的范围应当在0到Y的范围(包括0和Y)内,其中Y等于127。
ii.例如,alf_luma_coeff_abs[sfIdx][j]的语义被改变如下:alf_luma_coeff_abs[sfIdx][j]指定由sfIdx指示的信令通知的亮度滤波器的第j个系数的绝对值。当alf_luma_coeff_abs[sfIdx][j]不存在时,其被推断为等于0。alf_luma_coeff_abs[sfIdx][j]的值应当在0到[[128]]127的范围(包括0和[[128]]127)内。
iii.例如,alf_chroma_coeff_abs[altIdx][j]的语义被改变如下:
alf_chroma_coeff_abs[altIdx][j]指定具有索引altIdx的替代色度滤波器的第j个色度滤波器系数的绝对值。当alf_chroma_coeff_abs[altIdx][j]不存在时,其被推断为等于0。alf_chroma_coeff_abs[sfIdx][j]的值应当在0到[[128]]127的范围(包括0和[[128]]127)内。
d.在一个示例中,值范围被指定给CCALF相关语法元素(例如,alf_data()语法结构中的alf_cc_cb_mapped_coeff_abs[k][j]、alf_cc_cr_mapped coeff_abs[k][j])的语义,以将对应语法元素的值约束为在有效范围内。
i.例如,CCALF相关语法元素(例如,alf_cc_cb_mapped_coeff_abs[k][j]、alf_cc_cr_mappedcoeff_abs[k][j])的值应当在X到Y的范围(包括X和Y)内,诸如X=1并且Y=8。
ii.例如,alf_cc_cb_mapped_coeff_abs[k][j]的语义被改变如下:
alf_cc_cb_mapped_coeff_abs[k][j]指定Cb色彩分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cb_mapped_coeff_abs[k][j]不存在时,其被推断为等于0。
Figure BDA0003899756780001091
Figure BDA0003899756780001092
iii.例如,alf_cc_cr_mapped coeff_abs[k][j]的语义被改变如下:
alf_cc_cr_mapped coeff_abs[k][j]指定Cr色彩分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cr_mapped coeff_abs[k][j]不存在时,其被推断为等于0。
Figure BDA0003899756780001093
Figure BDA0003899756780001094
e.在一个示例中,代替对alf_data()语法结构中的alf_cc_cb_mapped_coeff_abs[k][j]进行编解码,可以对绝对值减1(由alf_cc_cb_mapped_coeff_abs_minus1[k][j]表示)进行编解码,并且CC-ALF滤波器系数的绝对值被推导为:(1-2*alf_cc_cb_coeff_sign[k][j])*2alf_cc_cb_mapped_coeff_abs_minus1[k][j]+1
i.此外,可替代地,信令通知的alf_cc_cb_mapped_coeff_abs_minus1[k][j]应当在[0,(1<<K)-1]的范围内,其中K是正整数(例如,K=3)。
f.在一个示例中,代替对alf_data()语法结构中的alf_cc_cr_mapped_coeff_abs[k][j]进行编解码,可以对绝对值减1(由alf_cc_cr_mapped_coeff_abs_minus1[k][j]表示)进行编解码,并且CC-ALF滤波器系数的绝对值被推导为:(1-2*alf_cc_cr_coeff_sign[k][j])*2alf_cc_cr_mapped_coeff_abs_minus1[k][j]+1
i.此外,可替代地,信令通知的alf_cc_cr_mapped_coeff_abs_minus1[k][j]应当在[0,(1<<K)-1]的范围内,其中K是正整数(例如,K=3)。
g.可以在PH/SH中信令通知亮度分量的ALF APS的数量。
i.例如,ph_num_alf_aps_ids_luma的语义可以被改变如下。
ph_num_alf_aps_ids_luma指定与PH相关联的条带参考的
Figure BDA0003899756780001101
ALF APS的数量。
ii.例如,slice_num_alf_aps_ids_luma的语义可以被改变如下。
slice_num_alf_aps_ids_luma指定条带参考的
Figure BDA0003899756780001102
Figure BDA0003899756780001103
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的值。
22.关于用于解决第十一个问题的对使用的总内存或者APS中的滤波器的数量而不是APS的数量的约束,公开了以下方法中的一种或多种(在最新的VVC规范JVET-Q2001-vE的基础上提供改变(如果有的话),添加或修改以粗体和斜体突出显示,并且删除的部分用双方括号标记(例如,[[a]]表示删除字符“a”))。
a.在一个示例中,指定约束以限制ALF APS的总数。
i.例如,ALF APS的总数不等于SCALING APS的总数。ii.例如,ALF APS的总数可以依赖于ALF滤波器(例如,ALF亮度滤波器、ALF色度滤波器、CCALF Cb滤波器、CCALF Cr滤波器)的数量。
iii.例如,在规范中指定约束,以将ALF APS的总数限制为应当等于X(诸如X=328)。
iv.例如,adaptation_parameter_set_id的语义被改变如下:adaptation_parameter_set_id提供APS的标识符,以供其他语法元素参考。
当aps_params_type等于ALF_APS[[或SCALING_APS]]时,adaptation_parameter_set_id的值应当在0到[[7]]
Figure BDA0003899756780001111
的范围(包括0和[[7]]
Figure BDA0003899756780001112
)内。
Figure BDA0003899756780001113
或327,或者等于(1<<K),其中K是正值)当aps_params_type等于SCALING_APS时,adaptation_parameter_set_id的值应当在0到7的范围(包括0和7)内。当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应当在0到3的范围(包括0和3)内。
b.在一个示例中,指定约束以限制ALF亮度滤波器、和/或ALF色度滤波器、和/或CCALF滤波器的总数。
i.例如,指定约束以将所有ALF APS中的ALF亮度滤波器的总数限制为应当等于X1(诸如X=200)。
ii.例如,指定约束以将所有ALF APS中的ALF色度滤波器的总数限制为应当等于X2(诸如X=64)。
iii.例如,指定约束以将所有ALF APS中的CCALF滤波器的总数限制为应当等于X3(诸如X=64)。
a)可替代地,指定约束以将所有ALF APS中的CCALF Cb滤波器的总数限制为应当等于Y1(诸如Y1=32)。
b)可附加地,指定约束以将所有ALF APS中的CCALF Cr滤波器的总数限制为应当等于Y2(诸如Y2=32)。
iv.例如,可以如下添加一些约束:
Figure BDA0003899756780001121
v.可替代地,可以如下添加一些约束:
Figure BDA0003899756780001122
vi.例如,指定值范围以将ph/slice_num_alf_aps_ids_luma的值约束为在K1到K2的范围(包括K1和K2)内。
a)例如,PH语法元素ph_num_alf_aps_ids_luma的语义可以被改变如下:
ph_num_alf_aps_ids_luma指定与PH相关联的条带参考的ALF APS的数量。
Figure BDA0003899756780001123
b)可附加地,PH语法元素slice_num_alf_aps_ids_luma的语义可以被改变如下:
slice_num_alf_aps_ids_luma指定条带参考的ALFAPS的数量。当slice_alf_enabled_flag等于1并且slice_num_alf_aps_ids_luma不存在时,slice_num_alf_aps_ids_luma的值被推断为等于ph_num_alf_aps_ids_luma的值。
Figure BDA0003899756780001124
c.在一个示例中,指定值范围以将ALF APS ID的值约束为在K1到K2的范围(包括K1和K2)内。
i.例如,在PH/SH中信令通知的ALF APS ID(例如,ph_alf_aps_id_luma[i]、ph_alf_aps_id_chroma、ph_cc_alf_cb_aps_id、ph_cr_alf_cb_aps_id)的范围可以被约束为在K1到K2的范围(包括K1和K2)内。
ii.例如,PH语法元素的语义可以被改变如下:
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001131
Figure BDA0003899756780001132
ph_alf_aps_id_chroma指定与PH相关联的条带的色度分量参考的ALF APS的adaptation_parameter_set_id。ph_alf_aps_id_chroma[i]的值应当在0到327的范围(包括0和327)内。ph_cc_alf_cb_aps_id指定与PH相关联的条带的Cb色彩分量参考的ALF APS的adaptation_parameter_set_id。ph_alf_aps_id_chroma[i]的值应当在0到327的范围(包括0和327)内。ph_cc_alf_cr_aps_id指定与PH相关联的条带的Cr色彩分量参考的ALFAPS的adaptation_parameter_set_id。ph_alf_aps_id_chroma[i]的值应当在0到327的范围(包括0和327)内。
iii.例如,SH语法元素的语义可以被改变如下:
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
Figure BDA0003899756780001141
Figure BDA0003899756780001142
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
Figure BDA0003899756780001143
Figure BDA0003899756780001144
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
Figure BDA0003899756780001145
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
Figure BDA0003899756780001151
d.在一个示例中,ALF APS ID(例如,PH/SH语法结构中的ph(slice)_alf_aps_id_luma[i]、ph(slice)_alf_aps_id_chroma、ph(slice)_cc_alf_cb_aps_id、ph(slice)_cc_alf_cr_aps_id)的二值化可以是ue(v)编解码的,例如,如在第八实施例中那样。
e.在一个示例中,ALF APS的数量(例如,PH/SH语法中的ph(slice)_num_alf_aps_ids_luma)的二值化可以是ue(v)编解码的,例如,如在第八实施例中那样。
f.在一个示例中,APS ID(例如,APS语法结构中的adaptation_parameter_set_id)的二值化可以依赖于APS类型,例如,如在第八实施例中那样。
i.例如,当aps_params_type等于ALF_APS时,adaptation_parameter_set_id是u(X1)编解码的,其中X1=9。
ii.例如,当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id是u(X2)编解码的,其中X2=2。
iii.例如,当aps_params_type等于SCALING_APS时,adaptation_parameter_set_id是u(X3)编解码的,其中X3=3。
g.在一个示例中,APS ID(例如,APS语法结构中的adaptation_parameter_set_id)的二值化是否是ue(v)编解码的可以依赖于APS类型,例如,如在第九实施例中那样。
i.例如,当aps_params_type等于ALF_APS时,adaptation_parameter_set_id是ue(v)编解码的。
h.在一个示例中,APS ID(例如,APS语法结构中的adaptation_parameter_set_id)的二值化是ue(v)编解码的,例如,如在第十实施例中那样。
23.要求PU中的特定类型的所有APS NAL(诸如ALF APS、或LMCS APS、或SCALINGAPS)必须在PU中的最后一个VCL NAL之前被信令通知。
24.要求PU中的特定类型的所有APS NAL(诸如ALF APS、或LMCS APS、或SCALINGAPS)必须在PU中的第一个VCL NAL之前被信令通知。
25.要求PU中的任何VCL NAL(诸如图片标头或条带标头中的APS索引所参考的)使用或参考的特定类型的第一APS NAL集合(诸如ALF APS、或LMCS APS、或SCALING APS)的数量(其中第一集合中的APS NAL可以在PU中或者不在PU中)应当不大于X,其中X是诸如8的整数。
a.在一个示例中,从编码器向解码器信令通知X。
26.要求PU中的任何VCL NAL(诸如图片标头或条带标头中的APS索引所参考的)使用或参考的特定类型的第一APS NAL集合(诸如ALF APS、或LMCS APS、或SCALING APS)的数量(其中第一集合中的APS NAL可以在PU中或者不在PU中)加上PU中的任何VCL NAL(诸如图片标头或条带标头中的APS索引所参考的)不使用或参考的特定类型的第二APS NAL集合(诸如ALF APS、或LMCS APS、或SCALING APS)的数量(其中第二集合中的APSNAL在PU中)应当不大于X,其中X是诸如8的整数。
a.在一个示例中,从编码器向解码器信令通知X。
27.要求如果参考列表0中索引=0的参考图片是长期参考图片,则用于TMVP的并置图片的至少一个参考图片应当是长期参考图片。
28.要求如果参考列表0中索引=0的参考图片是短期参考图片,则用于TMVP的并置图片的至少一个参考图片应当是短期参考图片。
29.当在块中使用自适应色彩变换(ACT)时,可以不允许在块中使用编解码工具X。
a.可替代地,当在块中使用编解码工具X时,可以不允许在块中使用ACT。
b.编解码工具X可以是(缩写在JVET-Q2001中定义)
i.LFNST
ii.MTS
iii.变换跳过
iv.双树编解码
v.局部双树编解码
vi.符号数据隐藏
vii.依赖量化
viii.LMCS
6.实施例示例
以下是上面第5节中总结的发明方面中的一些方面的一些示例实施例,其可以被应用于VVC规范。改变的文本基于JVET-Q2001-vE中的最新的VVC文本。已经被添加或修改的最相关部分以粗体和斜体突出显示,并且删除的部分中的一些用双方括号标记(例如,[[a]]表示删除字符“a”)。
6.1.第一实施例集合
这是上面第5节中总结的第1项的实施例集合。
6.1.1.1.a.i的实施例
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。
具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001171
scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。[[比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。]]
6.1.2.1.a.ii的实施例
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。
具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001181
scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。[[比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。]]
6.1.3.1.b.i的实施例
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。
具有等于lmcs_aps的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001182
6.1.4.1.b.ii的实施例
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。
具有等于lmcs_aps的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001191
6.1.5.1.c.i的实施例
PH语法元素的语义被改变如下:
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001192
SH语法元素的语义被改变如下:
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001201
ALF数据语法结构中的APS语法元素的语义被改变如下:
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
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_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
6.1.6.1.c.ii的实施例
PH语法元素的语义被改变如下:
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001202
Figure BDA0003899756780001211
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。
SH语法元素的语义被改变如下:
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001212
ALF数据语法结构中的APS语法元素的语义被改变如下:
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
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_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
6.1.7.1.c.iii的实施例
PH语法元素的语义被改变如下:
ph_alf_aps_id_chroma指定与PH相关联的条带的色度分量参考的ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001221
ph_cc_alf_cb_aps_id指定与PH相关联的条带的Cb色彩分量参考的ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001222
ph_cc_alf_cr_aps_id指定与PH相关联的条带的Cr色彩分量参考的ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001231
SH语法元素的语义被改变如下:
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001232
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001233
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001241
APS语法元素的语义被改变如下:
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
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_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
6.1.8.1.d.i的实施例
ALF数据语法结构中的APS语法元素的语义被改变如下:
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
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_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
6.1.9.1.d.ii的实施例
SCALING LIST数据语法结构中的APS语法元素的语义被改变如下:
scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。[[比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。
…]]
6.1.10.1.e和1.f的实施例
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。
Figure BDA0003899756780001251
–具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。
Figure BDA0003899756780001252
–具有等于lmcs_aps的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001261
–具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
–具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_alf_chroma_idc等于0指定自适应环路滤波器不应用于Cb和Cr色彩分量。ph_alf_chroma_idc等于1指定自适应环路滤波器被应用于Cb色彩分量。ph_alf_chroma_idc等于2指定自适应环路滤波器被应用于Cr色彩分量。ph_alf_chroma_idc等于3指定自适应环路滤波器被应用于Cb和Cr色彩分量。当ph_alf_chroma_idc不存在时,其被推断为等于0。
ph_alf_aps_id_chroma指定与PH相关联的条带的色度分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001262
–具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
–具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_cc_alf_cb_aps_id指定与PH相关联的条带的Cb色彩分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001263
–具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
–具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
ph_cc_alf_cr_aps_id指定与PH相关联的条带的Cr色彩分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001271
–具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
–具有等于ALF_APS的aps_params_type和等于ph_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
Figure BDA0003899756780001272
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
Figure BDA0003899756780001281
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的alf_chroma_filter_signal_flag的值应当等于1。
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。
当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
Figure BDA0003899756780001282
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
Figure BDA0003899756780001283
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。
–具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
6.1.11.1.g的实施例
SH语法元素的语义被改变如下:
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在
Figure BDA0003899756780001291
Figure BDA0003899756780001292
时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在
Figure BDA0003899756780001293
时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在
Figure BDA0003899756780001294
Figure BDA0003899756780001295
时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
6.2.第二实施例集合
这是上面第5节中总结的第2项(从2.a到2.c)的实施例集合。
语法结构pic_parameter_set_rbsp()被改变如下:
Figure BDA0003899756780001301
...
Figure BDA0003899756780001302
[[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。]]
dbf_info_in_ph_flag等于1指定去方块滤波器信息存在于PH语法结构中,并且不存在于不包含PH语法结构的参考PPS的条带标头中。dbf_info_in_ph_flag等于0指定去方块滤波器信息不存在于PH语法结构中,并且可以存在于不包含PH语法结构的参考PPS的条带标头中。[[当不存在时,dbf_info_in_ph_flag的值被推断为等于0。]]
...
语法结构picture_header_structure()被改变如下:
Figure BDA0003899756780001311
Figure BDA0003899756780001321
...
ph_deblocking_filter_used_flag等于1指定去方块滤波器被应用于当前图片中的条带。ph_deblocking_filter_used_flag等于0指定去方块滤波器不应用于当前图片中的条带。当不存在时,ph_deblocking_filter_used_flag的值被推断为等于(deblocking_filter_mode_idc>0)。
ph_deblocking_[[filter]]
Figure BDA0003899756780001322
_override_flag等于1指定去方块参数存在于PH中。ph_deblocking_[[filter]]
Figure BDA0003899756780001323
_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。]]
...
语法结构slice_header()被改变如下:
Figure BDA0003899756780001324
Figure BDA0003899756780001331
...
Figure BDA0003899756780001332
slice_deblocking_[[filter]]
Figure BDA0003899756780001333
_override_flag等于1指定去方块参数存在于条带标头中。slice_deblocking_[[filter]]
Figure BDA0003899756780001334
_override_flag等于0指定去方块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]
Figure BDA0003899756780001335
[[slice_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于当前条带。当slice_deblocking_filter_disabled_flag不存在时,其被推断为等于ph_deblocking_filter_disabled_flag。]]
...
去方块滤波过程的解码过程被改变如下:
8.8.3去方块滤波过程
8.8.3.1通用
去方块滤波过程被应用于图片的所有编解码子块边缘和变换块边缘,除了以下类型的边缘:
–位于图片的边界的边缘,
–与具有子图片索引subpicIdx并且loop_filter_across_subpic_enabled_flag[subpicIdx]等于0的子图片的边界重合的边缘,
–当VirtualBoundariesPresentFlag等于1时与图片的虚拟边界重合的边缘,
–当loop_filter_across_tiles_enabled_flag等于0时与片边界重合的边缘,
–当loop_filter_across_slices_enabled_flag等于0时与条带边界重合的边缘,
–与slice_deblocking_filter_
Figure BDA0003899756780001341
[[disabled]]_flag等于[[1]]0的条带的上边界或左边界重合的边缘,
–slice_deblocking_filter_
Figure BDA0003899756780001342
[[disabled]]_flag等于[[1]]
Figure BDA0003899756780001343
的条带内的边缘,
–不对应于亮度分量的4×4样点网格边界的边缘,
–不对应于色度分量的8×8样点网格边界的边缘,
–边缘的两侧都具有等于1的intra_bdpcm_luma_flag的亮度分量内的边缘,
–边缘的两侧都具有等于1的intra_bdpcm_chroma_flag的色度分量内的边缘,
–不是相关联变换单元的边缘的、色度子块的边缘。
边缘类型(垂直或水平)由变量edgeType表示,如表42所指定的。
表42–与edgeType的关联名称
edgeType edgeType的名称
0(垂直边缘) EDGE_VER
1(水平边缘) EDGE_HOR
当当前条带的slice_deblocking_filter_
Figure BDA0003899756780001344
[[disabled]]_flag等于[[0]]
Figure BDA0003899756780001345
时,以下适用:
–变量treeType被设置为等于DUAL_TREE_LUMA。
–通过调用如条款8.8.3.2所指定的一个方向的去方块滤波过程来对垂直边缘进行滤波,其中以变量treeType、去方块之前的重构图片(即,阵列recPictureL)、以及设置为等于EDGE_VER的变量edgeType作为输入,并且以去方块之后的修改的重构图片(即,阵列recPictureL)作为输出。
–通过调用如条款8.8.3.2所指定的一个方向的去方块滤波过程来对水平边缘进行滤波,其中以变量treeType、去方块之后的修改的重构图片(即,阵列recPictureL)、以及设置为等于EDGE_HOR的变量edgeType作为输入,并且以去方块之后的修改的重构图片(即,阵列recPictureL)作为输出。
–当ChromaArrayType不等于0时,以下适用:
–变量treeType被设置为等于DUAL_TREE_CHROMA。
–通过调用如条款8.8.3.2所指定的一个方向的去方块滤波过程来对垂直边缘进行滤波,其中以变量treeType、去方块之前的重构图片(即,阵列recPictureCb和recPictureCr)、以及设置为等于EDGE_VER的变量edgeType作为输入,并且以去方块之后的修改的重构图片(即,阵列recPictureCb和recPictureCr)作为输出。
–通过调用如条款8.8.3.2所指定的一个方向的去方块滤波过程来对水平边缘进行滤波,其中以变量treeType、去方块之后的修改的重构图片(即,阵列recPictureCb和recPictureCr)、以及设置为等于EDGE_HOR的变量edgeType作为输入,并且以去方块之后的修改的重构图片(即,阵列recPictureCb和recPictureCr)作为输出。
6.3.第三实施例集合
以粗体和斜体标记的改变基于JVET-Q2001-vE。
第i个色度QP映射表ChromaQpTable[i](其中i=0..numQpTables-1)被推导如下:
Figure BDA0003899756780001351
Figure BDA0003899756780001361
当same_qp_table_for_chroma等于1时,ChromaQpTable[1][k]和ChromaQpTable[2][k]被设置为等于ChromaQpTable[0][k],其中k在-QpBdOffset到63的范围(包括-QpBdOffset和63)内。
比特流一致性的要求是,qpInVal[i][j]和qpOutVal[i][j]的值应当在-QpBdOffset到63的范围(包括-QpBdOffset和63)内,其中i在0到numQpTables-1的范围(包括0和numQpTables-1)内,并且j在0到num_points_in_qp_table_minus1[i]+1的范围(包括0和num_points_in_qp_table_minus1[i]+1)内。
6.4.第四实施例
已经被添加或修改的最相关部分以粗体和斜体突出显示,并且删除的部分中的一些用双方括号标记(例如,[[a]]表示删除字符“a”)。
PPS语义(基于JVET-R0159-v2中的文本,排除SPS标志):
...
deblocking_filter_control_present_flag等于1指定PPS中的去方块滤波器控制语法元素的存在。deblocking_filter_control_present_flag等于0指定PPS中的去方块滤波器控制语法元素的缺失,
Figure BDA0003899756780001362
Figure BDA0003899756780001363
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和ph_deblockig_filter_disabled_flag的PPS的条带。pps_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于参考不存在slice_deblocking_filter_disabled_flag和ph_deblockig_filter_disabled_flag的PPS的条带。当不存在时,pps_deblocking_filter_disabled_flag的值被推断为等于0。
或者
pps_deblocking_filter_disabled_flag等于1指定当deblocking_filter_override_enabled_flag等于0时,去方块滤波器的操作不应用于参考PPS的条带。pps_deblocking_filter_disabled_flag等于0指定当deblocking_filter_override_enabled_flag等于0时,去方块滤波器的操作被应用于参考PPS的条带。当不存在时,pps_deblocking_filter_disabled_flag的值被推断为等于0。]]
Figure BDA0003899756780001371
...
语法结构picture_header_structure()被改变如下:
Figure BDA0003899756780001372
Figure BDA0003899756780001381
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指定去方块滤波器的操作不应用于与[[slice_deblocking_filter_disabled_flag不存在的[注:当ph_deblocking_filter_disabled_flag存在时,slice_deblocking_filter_disabled_flag将不存在于图片的任何条带的SH中,因此移除。]]]PH相关联的条带。ph_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于与[[slice_deblocking_filter_disabled_flag不存在的[注:当ph_deblocking_filter_disabled_flag存在时,slice_deblocking_filter_disabled_flag将不存在于图片的任何条带的SH中,因此移除。]]]PH相关联的条带。
当ph_deblocking_filter_disabled_flag不存在时,其被推断如下:
Figure BDA0003899756780001382
Figure BDA0003899756780001391
为等于pps_deblocking_filter_disabled_flag。
...
语法结构slice_header()被改变如下:
Figure BDA0003899756780001392
slice_deblocking_filter_override_flag等于1指定去方块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0指定去方块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]0。
slice_deblocking_filter_disabled_flag等于1指定去方块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0指定去方块滤波器的操作被应用于当前条带。
当slice_deblocking_filter_disabled_flag不存在时,其被推断如下:
Figure BDA0003899756780001393
Figure BDA0003899756780001401
Figure BDA0003899756780001402
为等于ph_deblocking_filter_disabled_flag。
6.5.第五实施例
以粗体和斜体标记的改变基于JVET-P2001-vE。
Figure BDA0003899756780001403
6.6.第六实施例
7.3.2.5自适应参数集RBSP语法
Figure BDA0003899756780001404
Figure BDA0003899756780001411
Figure BDA0003899756780001412
7.3.2.19自适应环路滤波器数据语法
Figure BDA0003899756780001413
7.3.2.20亮度映射与色度缩放数据语法
Figure BDA0003899756780001414
Figure BDA0003899756780001421
7.3.2.21缩放列表数据语法
Figure BDA0003899756780001431
PH语义被改变如下:
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001441
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。具有等于LMCS_APS的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001442
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001443
PH语义被改变如下:
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001451
ALF数据语义被改变如下:
..
alf_luma_filter_signal_flag等于1指定信令通知亮度滤波器集。alf_luma_filter_signal_flag等于0指定不信令通知亮度滤波器集。
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。
Figure BDA0003899756780001452
Figure BDA0003899756780001453
[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
alf_cc_cb_filter_signal_flag等于1指定信令通知Cb色彩分量的跨分量滤波器。alf_cc_cb_filter_signal_flag等于0指定不信令通知Cb色彩分量的跨分量滤波器。
Figure BDA0003899756780001454
[[当ChromaArrayType等于0时,alf_cc_cb_filter_signal_flag应当等于0。]]
alf_cc_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。
Figure BDA0003899756780001455
[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
SCALING数据语义被改变如下:
[[scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。]]
6.7.第七实施例
7.3.2.6自适应参数集RBSP语法
Figure BDA0003899756780001461
Figure BDA0003899756780001462
7.3.2.19自适应环路滤波器数据语法
Figure BDA0003899756780001463
7.3.2.20亮度映射与色度缩放数据语法
Figure BDA0003899756780001471
7.3.2.21缩放列表数据语法
Figure BDA0003899756780001481
语义改变:
Figure BDA0003899756780001482
指定变量lmcsDeltaCrs的绝对码字值。
Figure BDA0003899756780001483
的值应当在0和7的范围(包括0和7)内。当不存在时,
Figure BDA0003899756780001484
PH语义被改变如下:
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
具有等于ALF_APS的aps_params_type和等于ph_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001491
ph_lmcs_aps_id指定与PH相关联的条带参考的LMCS APS的adaptation_parameter_set_id。具有等于LMCS_APS的aps_params_type和等于ph_lmcs_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001492
ph_scaling_list_aps_id指定缩放列表APS的adaptation_parameter_set_id。具有等于SCALING_APS的aps_params_type和等于ph_scaling_list_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于与PH相关联的图片的TemporalId。
Figure BDA0003899756780001493
PH语义被改变如下:
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的alf_luma_filter_signal_flag的值应当等于1。
Figure BDA0003899756780001501
ALF数据语义被改变如下:
..
alf_luma_filter_signal_flag等于1指定信令通知亮度滤波器集。alf_luma_filter_signal_flag等于0指定不信令通知亮度滤波器集。
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不信令通知色度滤波器。
Figure BDA0003899756780001502
Figure BDA0003899756780001503
[[当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应当等于0。]]
alf_cc_cb_filter_signal_flag等于1指定信令通知Cb色彩分量的跨分量滤波器。alf_cc_cb_filter_signal_flag等于0指定不信令通知Cb色彩分量的跨分量滤波器。
Figure BDA0003899756780001504
[[当ChromaArrayType等于0时,alf_cc_cb_filter_signal_flag应当等于0。]]
alf_cc_cr_filter_signal_flag等于1指定信令通知Cr色彩分量的跨分量滤波器。alf_cc_cr_filter_signal_flag等于0指定不信令通知Cr色彩分量的跨分量滤波器。
Figure BDA0003899756780001505
Figure BDA0003899756780001506
[[当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应当等于0。]]
SCALING数据语义被改变如下:
[[scaling_list_chroma_present_flag等于1指定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0指定色度缩放列表不存在于scaling_list_data()中。比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应当等于0,以及当ChromaArrayType不等于0时,scaling_list_chroma_present_flag应当等于1。]]
6.8.第八实施例
7.3.2.5自适应参数集RBSP语法
Figure BDA0003899756780001511
7.3.2.7图片标头结构语法
Figure BDA0003899756780001512
Figure BDA0003899756780001521
7.3.7.1通用条带标头语法
Figure BDA0003899756780001522
Figure BDA0003899756780001531
7.4.3.5自适应参数集语义
每个APS RBSP在被参考之前应当可用于解码过程,包括在TemporalId小于或等于参考它的编解码条带NAL单元的TemporalId的至少一个AU中或者通过外部手段提供。
PU内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的所有APS NAL单元应当具有相同的内容,不管它们是前缀还是后缀APS NAL单元。
adaptation_parameter_set_id提供APS的标识符,以供其他语法元素参考。
当aps_params_type等于ALF_APS[[或SCALING_APS]]时,adaptation_parameter_set_id的值应当在0到[[7]]246的范围(包括0和[[7]]246)内。
Figure BDA0003899756780001532
当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应当在0到3的范围(包括0和3)内。
设apsLayerId为特定APS NAL单元的nuh_layer_id的值,并且vclLayerId为特定VCL NAL单元的nuh_layer_id的值。特定VCL NAL单元不应当参考特定APS NAL单元,除非apsLayerId小于或等于vclLayerId,并且nuh_layer_id等于apsLayerId的层被包括在包括nuh_layer_id等于vclLayerId的层的至少一个OLS中。
aps_params_type指定在APS中携带的APS参数的类型,如表6所指定的。
Figure BDA0003899756780001533
无论nuh_layer_id值如何,具有aps_params_type的特定值的所有APS NAL单元都共享adaptation_parameter_set_id的相同值空间。具有aps_params_type的不同值的APSNAL单元使用adaptation_parameter_set_id的单独值空间。
7.4.3.7图片标头结构语义
ph_num_alf_aps_ids_luma指定与PH相关联的条带参考的ALF APS的数量。
Figure BDA0003899756780001541
Figure BDA0003899756780001542
ph_alf_aps_id_luma[i]指定与PH相关联的条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001543
Figure BDA0003899756780001544
ph_alf_aps_id_chroma指定与PH相关联的条带的色度分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001545
Figure BDA0003899756780001546
ph_cc_alf_cb_aps_id指定与PH相关联的条带的Cb色彩分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001547
Figure BDA0003899756780001548
ph_cc_alf_cr_aps_id指定与PH相关联的条带的Cr色彩分量参考的ALF APS的adaptation_parameter_set_id。
Figure BDA0003899756780001549
Figure BDA00038997567800015410
7.4.8.1通用条带标头语义
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的值。
Figure BDA00038997567800015411
slice_alf_aps_id_luma[i]指定条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_luma[i]的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值被推断为等于ph_alf_aps_id_luma[i]的值。
Figure BDA0003899756780001551
slice_alf_aps_id_chroma指定条带的色度分量参考的ALF APS的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1并且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
Figure BDA0003899756780001552
slice_cc_alf_cb_aps_id指定条带的Cb色彩分量参考的adaptation_parameter_set_id。
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cb_enabled_flag等于1并且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
Figure BDA0003899756780001553
Figure BDA0003899756780001554
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cb_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应当等于1。
slice_cc_alf_cr_aps_id指定条带的Cr色彩分量参考的adaptation_parameter_set_id。具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的TemporalId应当小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cr_enabled_flag等于1并且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
Figure BDA0003899756780001555
具有等于ALF_APS的aps_params_type和等于slice_cc_alf_cr_aps_id的adaptation_parameter_set_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应当等于1。
6.9.第九实施例
7.3.2.5自适应参数集RBSP语法
Figure BDA0003899756780001561
6.10.第十实施例
Figure BDA0003899756780001562
图1是示出可以在其中实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以将来自输入1902的视频的平均比特率减小到编解码组件1904的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由如组件1906所表示的通信连接来发送。在输入1902处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件1908用于生成像素值或传送到显示接口1910的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)、或高清晰度多媒体接口(HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图2是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路系统中实施本文档中描述的一些技术。
图4是示出可以利用本公开的技术的示例视频编解码系统100的框图。
如图4所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,其中该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,其中该目标设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以通过网络130a经由I/O接口116直接发送到目标设备120。编码视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
目标设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目标设备120集成,或者可以在被配置为与外部显示设备接口的目标设备120的外部。
视频编码器114和视频解码器124可以根据视频压缩标准进行操作,例如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或另外的标准。
图5是示出视频编码器200的示例的框图,该视频编码器200可以是图4所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图5的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲区213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以执行IBC模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是出于解释的目的,在图5的示例中被单独表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以基于误差结果选择编解码模式(例如,帧内或帧间)之一,并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(CIIP),其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以选择块的运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲区213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲区213的除了与当前视频块相关联的图片之外的图片的解码样点,来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,依赖于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元204然后可以生成指示列表0或列表1中的参考图片的参考索引,该参考索引包含参考视频块和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成参考索引,该参考索引指示包含参考视频块的列表0和列表1中的参考图片以及指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集。而是运动估计单元204可以参考另一个视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令通知。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能没有残差数据,并且残差生成单元207可能不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构后的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于存储在缓冲区213中。
在重构单元212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块效应。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
图6是示出视频解码器300的示例的框图,该视频解码器300可以是图4所示的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图6的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图5)描述的编码过程相反的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,即,反量化。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以便移除块效应。解码视频块然后被存储在缓冲区307中,这提供了参考块用于后续运动补偿/帧内预测,并且还产生了解码视频以在显示设备上呈现。
接下来提供一些实施例优选的示例的列表。
第一条款集合示出了在前一章节中讨论的技术的示例实施例。以下条款示出了在前一章节(例如,第1项)中讨论的技术的示例实施例。
1.一种视频处理方法(例如,图3中示出的方法3000),包括:执行具有一个或多个色度分量的视频和视频的编解码表示之间的转换,该视频包括包含一个或多个条带的一个或多个视频图片(3002),其中编解码表示符合格式规则,其中格式规则指定色度阵列类型字段控制对在转换期间使用的色度的转换特性的约束。
2.根据条款1所述的方法,其中,转换特性包括对指示一个或多个色度分量的一个或多个缩放列表的存在的字段的约束。
3.根据条款1所述的方法,其中,转换特性包括对指示用于信令通知亮度映射与色度缩放的码字的字段的值的约束。
4.根据条款1所述的方法,其中,转换特性包括对描述在转换期间使用的自适应环路滤波器的自适应参数集的语法元素的值的约束。
5.根据条款1所述的方法,其中,格式规则指定使用信令通知4:0:0格式或单独的色彩编解码格式的色度阵列类型字段的自适应参数集的一个或多个条目的相同语义。
6.根据条款5所述的方法,其中,一个或多个条目包括自适应环路滤波器参数或缩放列表参数或亮度映射与色度缩放参数。
7.根据条款5-6所述的方法,其中,格式规则还指定对自适应参数集的一个或多个条目的约束依赖于自适应参数集的标识符是否被包括在比特流中。
以下条款示出了在前一章节(例如,第2项)中讨论的技术的示例实施例。
8.一种视频处理方法,包括:执行包括包含一个或多个视频区域的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合指定包括视频区域指示在转换期间去方块滤波器对视频区域的应用性的去方块模式指示符的格式规则。
9.根据条款8所述的方法,其中,去方块模式指示符是N比特字段,其中N是大于1的整数。
10.根据条款8-9中任一项所述的方法,其中,视频区域的去方块模式指示符被包括在图片参数集中。
11.根据条款8所述的方法,其中,去方块模式指示符对应于指示去方块滤波器对视频区域的应用性的、视频区域的标头中包括的标志。
12.根据条款8-11中任一项所述的方法,其中,格式规则指定信令通知在去方块模式指示符中信令通知的去方块滤波器参数是否要覆盖默认参数的标志。
13.根据条款8-12中任一项所述的方法,其中,视频区域对应于视频图片或视频条带。
以下条款示出了在前一章节(例如,第3项)中讨论的技术的示例实施例。
14.一种视频处理方法,包括:执行包括包含一个或多个视频条带和/或一个或多个视频子图片的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,该格式规则指定在对视频图片禁用图片分割的情况下,指示每子图片单个条带模式是否被认为对视频图片启用的标志。
以下条款示出了在前一章节(例如,第4项)中讨论的技术的示例实施例。
15.一种视频处理方法,包括:执行包括包含一个或多个视频条带的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合指定图片或条带级别色度量化参数偏移在图片标头或条带标头中被信令通知的格式规则。
16.根据条款15所述的方法,其中,格式规则指定将条带级别色度量化参数偏移包括在条带标头中。
以下条款示出了在前一章节(例如,第5项)中讨论的技术的示例实施例。
17.一种视频处理方法,包括:执行包括包含一个或多个视频条带的一个或多个视频图片的视频和视频的编解码表示之间的转换,其中编解码表示符合格式规则,该格式规则指定适用于视频的视频块的转换的色度量化参数(QP)表作为(delta_qp_in_val_minus1[i][j]+1)和delta_qp_diff_val[i][j]之间的异或运算来推导,其中delta_qp_in_val_minus1[i][j]指定用于推导第i个色度映射表的第j个枢轴点的输入坐标的增量值,并且delta_qp_diff_val[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输出坐标的增量值,其中i和j是整数。
18.根据条款1至17中任一项所述的方法,其中,该转换包括将视频编码为编解码表示。
19.根据条款1至17中任一项所述的方法,其中,该转换包括对编解码表示进行解码以生成视频的像素值。
20.一种视频解码装置,包括被配置为实施根据条款1至19中的一项或多项所述的方法的处理器。
21.一种视频编码装置,包括被配置为实施根据条款1至19中的一项或多项所述的方法的处理器。
22.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实施根据条款1至19中任一项所述的方法。
23.一种本文档中描述的方法、装置或系统。
第二条款集合示出了在前一章节(例如,第23-29项)中讨论的技术的示例实施例。
1.一种视频处理的方法(例如,如图7A所示的方法700),包括:对于包括视频块的视频和视频的比特流之间的转换,根据规则来确定是否对视频块启用了第一编解码工具702,其中该规则指定第一编解码工具和第二编解码工具被互斥地启用,并且其中第一编解码工具或第二编解码工具包括用于减少色彩分量之间的冗余的工具;以及根据该确定来执行转换704。
2.根据条款1所述的方法,其中,该工具被配置为通过自适应地将残差从输入色彩空间转换到YCgCo空间,在预测残差域中执行环路色彩空间转换。
3.根据条款1所述的方法,其中,在解码期间,该工具对应于在重构和环路滤波之前应用于4:4:4色彩格式的编解码单元的解码残差的跨分量变换。
4.根据条款1所述的方法,其中,该工具是自适应色彩变换工具。
5.根据条款1所述的方法,其中,该规则指定,在视频块中使用包括用于减少色彩分量之间的冗余的工具的第二编解码工具的情况下,禁用第一编解码工具。
6.根据条款1所述的方法,其中,该规则指定,在视频块中使用第二编解码工具的情况下,禁用包括用于减少色彩分量之间的冗余的工具的第一编解码工具。
7.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括二次变换工具,其中二次变换工具包括在编码期间,在应用量化过程之前将正二次变换应用于正一次变换的输出,或者在解码期间,在应用逆一次变换之前将逆二次变换应用于反量化过程的输出。
8.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括低频不可分变换(LFNST)。
9.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括多重变换选择工具。
10.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括变换跳过模式工具。
11.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括亮度和色度具有不同编解码树结构的工具。
12.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括双树编解码工具。
13.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括局部双树编解码工具。
14.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括符号数据隐藏工具。
15.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括依赖量化工具。
16.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括基于以下至少一项来构建视频块的另一个工具:1)将亮度样点映射到特定值的原始域和整形域,或者2)以依赖于亮度的方式对色度残差进行缩放。
17.根据条款1至6中任一项所述的方法,其中,第一编解码工具或第二编解码工具包括亮度映射与色度缩放工具。
18.一种视频处理的方法(例如,如图7B所示的方法710),包括:执行包括包含一个或多个条带的一个或多个图片的视频和视频的比特流之间的转换712,并且其中比特流符合携带与特定APS类型相对应的自适应参数集信息的图片单元中的APS(自适应参数集)NAL(网络抽象层)单元的位置和图片单元中的视频编解码层(VCL)的作为最后一个NAL单元或第一个NAL单元的第二NAL单元之间的预定义顺序。
19.根据条款18所述的方法,其中,特定APS类型是自适应环路滤波器(ALF)APS或LMCS(亮度映射与色度缩放)APS或缩放APS。
20.根据条款18所述的方法,其中,由于预定义顺序,所有APS NAL单元在作为最后一个NAL单元的第二NAL单元之前。
21.根据条款18所述的方法,其中,由于预定义顺序,所有APS NAL单元在作为第一个NAL单元的第二NAL单元之前。
22.一种视频处理的方法(例如,如图7C所示的方法720),包括:根据规则来执行视频和视频的比特流之间的转换722,并且其中该规则指定与图片单元中的任何VCL(视频编解码层)NAL使用或参考的特定类型的第一APS(自适应参数集)NAL(网络抽象层)单元集合的数量有关的约束。
23.根据条款22所述的方法,其中,该规则指定第一APS NAL单元集合的数量不大于X的约束,其中X是正整数。
24.根据条款22所述的方法,其中,该规则指定第一APS NAL单元集合的数量和图片单元中的任何VCL NAL不使用或参考的特定类型的第二APS NAL单元集合的数量之和不大于K的约束,其中K是正整数。
25.根据条款22至24中任一项所述的方法,其中,特定APS类型是自适应环路滤波器(ALF)APS或LMCS(亮度映射与色度缩放)APS或缩放APS。
26.根据条款22至24中任一项所述的方法,其中,第一集合中的APS NAL单元在图片单元中。
27.根据条款22至24中任一项所述的方法,其中,第一集合中的APS NAL单元不在图片单元中。
28.根据条款23或24所述的方法,其中,X和/或K为8。
29.根据条款28所述的方法,其中,比特流包括X和/或K。
30.一种视频处理的方法(例如,如图7D所示的方法730),包括:对于视频块和视频的比特流之间的转换,根据基于参考图片列表中具有特定索引的参考图片是长期参考图片还是短期参考图片的规则,确定使用至少一个长期参考图片还是至少一个短期参考图片进行时域运动矢量预测(TMVP);以及基于该确定来执行转换。
31.根据条款30所述的方法,其中,特定索引为0。
32.根据条款30所述的方法,其中,该规则指定,在参考图片列表0中具有特定索引的参考图片是长期参考图片的情况下,用于TMVP的并置图片的至少一个长期参考图片是长期参考图片。
33.根据条款30所述的方法,其中,该规则指定,在参考图片列表0中具有特定索引的参考图片是短期参考图片的情况下,用于TMVP的并置图片的至少一个短期参考图片是长期参考图片。
34.根据条款1至33中任一项所述的方法,其中,该转换包括将视频编码为比特流。
35.根据条款1至33中任一项所述的方法,其中,该转换包括从比特流解码视频。
36.根据条款1至33中任一项所述的方法,其中,该转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
37.一种视频处理装置,包括被配置为实施根据条款1至36中任一项或多项所述的方法的处理器。
38.一种存储视频的比特流的方法,包括根据条款1至36中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
39.一种存储程序代码的计算机可读介质,该程序代码在被执行时使得处理器实施根据条款1至36中任一项或多项所述的方法。
40.一种计算机可读介质,存储根据上述方法中的任一项而生成的比特流。
41.一种用于存储比特流的视频处理装置,其中该视频处理装置被配置为实施根据条款1至36中任一项或多项所述的方法。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于并置或者散布在比特流内的不同地方的比特。例如,可以按照变换和编解码的误差残差值并且还使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案所描述的。类似地,编码器可以确定包括或不包括某些语法字段,并通过包括语法字段或从编解码表示中排除语法字段来相应地生成编解码表示。
本文档中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是被生成以对信息进行编码以用于发送到合适的接收器装置的人工生成的信号,例如机器生成的电信号、光学信号或电磁信号。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上执行。
本文档书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可换式盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为指定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。

Claims (41)

1.一种视频处理的方法,包括:
对于包括视频块的视频和所述视频的比特流之间的转换,根据规则来确定是否对所述视频块启用了第一编解码工具,其中所述规则指定所述第一编解码工具和第二编解码工具被互斥地启用,并且其中所述第一编解码工具或所述第二编解码工具包括用于减少色彩分量之间的冗余的工具;以及
根据所述确定来执行所述转换。
2.根据权利要求1所述的方法,其中,所述工具被配置为通过自适应地将残差从输入色彩空间转换到YCgCo空间,在预测残差域中执行环路色彩空间转换。
3.根据权利要求1所述的方法,其中,在解码期间,所述工具对应于在重构和环路滤波之前应用于4:4:4色彩格式的编解码单元的解码残差的跨分量变换。
4.根据权利要求1所述的方法,其中,所述工具是自适应色彩变换工具。
5.根据权利要求1所述的方法,其中,所述规则指定,在所述视频块中使用包括用于减少色彩分量之间的冗余的工具的所述第二编解码工具的情况下,禁用所述第一编解码工具。
6.根据权利要求1所述的方法,其中,所述规则指定,在所述视频块中使用所述第二编解码工具的情况下,禁用包括用于减少色彩分量之间的冗余的工具的所述第一编解码工具。
7.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括二次变换工具,其中所述二次变换工具包括在编码期间,在应用量化过程之前将正二次变换应用于正一次变换的输出,或者在解码期间,在应用逆一次变换之前将逆二次变换应用于反量化过程的输出。
8.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括低频不可分变换(LFNST)。
9.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括多重变换选择工具。
10.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括变换跳过模式工具。
11.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括亮度和色度具有不同编解码树结构的工具。
12.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括双树编解码工具。
13.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括局部双树编解码工具。
14.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括符号数据隐藏工具。
15.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括依赖量化工具。
16.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括基于以下至少一项来构建所述视频块的另一个工具:1)将亮度样点映射到特定值的原始域和整形域,或者2)以依赖于亮度的方式对色度残差进行缩放。
17.根据权利要求1至6中任一项所述的方法,其中,所述第一编解码工具或所述第二编解码工具包括亮度映射与色度缩放工具。
18.一种视频处理的方法,包括:
执行包括包含一个或多个条带的一个或多个图片的视频和所述视频的比特流之间的转换,并且
其中,所述比特流符合携带与特定APS类型相对应的自适应参数集信息的图片单元中的APS(自适应参数集)NAL(网络抽象层)单元的位置和所述图片单元中的视频编解码层(VCL)的作为最后一个NAL单元或第一个NAL单元的第二NAL单元之间的预定义顺序。
19.根据权利要求18所述的方法,其中,所述特定APS类型是自适应环路滤波器(ALF)APS或LMCS(亮度映射与色度缩放)APS或缩放APS。
20.根据权利要求18所述的方法,其中,由于所述预定义顺序,所有APS NAL单元在作为最后一个NAL单元的所述第二NAL单元之前。
21.根据权利要求18所述的方法,其中,由于所述预定义顺序,所有APS NAL单元在作为第一个NAL单元的所述第二NAL单元之前。
22.一种视频处理的方法,包括:
根据规则来执行视频和所述视频的比特流之间的转换,并且
其中,所述规则指定与图片单元中的任何VCL(视频编解码层)NAL使用或参考的特定类型的第一APS(自适应参数集)NAL(网络抽象层)单元集合的数量有关的约束。
23.根据权利要求22所述的方法,其中,所述规则指定所述第一APS NAL单元集合的数量不大于X的约束,其中X是正整数。
24.根据权利要求22所述的方法,其中,所述规则指定所述第一APS NAL单元集合的数量和所述图片单元中的任何VCL NAL不使用或参考的特定类型的第二APS NAL单元集合的数量之和不大于K的约束,其中K是正整数。
25.根据权利要求22至24中任一项所述的方法,其中,所述特定APS类型是自适应环路滤波器(ALF)APS或LMCS(亮度映射与色度缩放)APS或缩放APS。
26.根据权利要求22至24中任一项所述的方法,其中,所述第一集合中的APS NAL单元在所述图片单元中。
27.根据权利要求22至24中任一项所述的方法,其中,所述第一集合中的APS NAL单元不在所述图片单元中。
28.根据权利要求23或24所述的方法,其中,X和/或K为8。
29.根据权利要求28所述的方法,其中,所述比特流包括X和/或K。
30.一种视频处理的方法,包括:
对于视频块和视频的比特流之间的转换,根据基于参考图片列表中具有特定索引的参考图片是长期参考图片还是短期参考图片的规则,确定使用至少一个长期参考图片还是至少一个短期参考图片进行时域运动矢量预测(TMVP);以及
基于所述确定来执行所述转换。
31.根据权利要求30所述的方法,其中,所述特定索引为0。
32.根据权利要求30所述的方法,其中,所述规则指定,在参考图片列表0中具有特定索引的所述参考图片是所述长期参考图片的情况下,用于所述TMVP的并置图片的所述至少一个长期参考图片是所述长期参考图片。
33.根据权利要求30所述的方法,其中,所述规则指定,在参考图片列表0中具有特定索引的所述参考图片是所述短期参考图片的情况下,用于所述TMVP的并置图片的所述至少一个短期参考图片是所述长期参考图片。
34.根据权利要求1至33中任一项所述的方法,其中,所述转换包括将所述视频编码为所述比特流。
35.根据权利要求1至33中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
36.根据权利要求1至33中任一项所述的方法,其中,所述转换包括从所述视频生成所述比特流,并且所述方法还包括:将所述比特流存储在非暂时性计算机可读记录介质中。
37.一种视频处理装置,包括被配置为实施根据权利要求1至36中任一项或多项所述的方法的处理器。
38.一种存储视频的比特流的方法,包括根据权利要求1至36中任一项所述的方法,并且还包括将所述比特流存储到非暂时性计算机可读记录介质。
39.一种存储程序代码的计算机可读介质,所述程序代码在被执行时使得处理器实施根据权利要求1至36中任一项或多项所述的方法。
40.一种计算机可读介质,存储根据上述方法中的任一项而生成的比特流。
41.一种用于存储比特流的视频处理装置,其中所述视频处理装置被配置为实施根据权利要求1至36中任一项或多项所述的方法。
CN202180029873.3A 2020-04-20 2021-04-20 视频编解码中的自适应色彩变换 Pending CN115769578A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020085740 2020-04-20
CNPCT/CN2020/085740 2020-04-20
PCT/CN2021/088287 WO2021213357A1 (en) 2020-04-20 2021-04-20 Adaptive color transform in video coding

Publications (1)

Publication Number Publication Date
CN115769578A true CN115769578A (zh) 2023-03-07

Family

ID=78270253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180029873.3A Pending CN115769578A (zh) 2020-04-20 2021-04-20 视频编解码中的自适应色彩变换

Country Status (2)

Country Link
CN (1) CN115769578A (zh)
WO (1) WO2021213357A1 (zh)

Family Cites Families (3)

* 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
US9900593B2 (en) * 2012-08-29 2018-02-20 Vid Scale, Inc. Method and apparatus of motion vector prediction for scalable video coding
KR102073930B1 (ko) * 2014-03-14 2020-02-06 브이아이디 스케일, 인크. Rgb 비디오 코딩 향상을 위한 시스템 및 방법

Also Published As

Publication number Publication date
WO2021213357A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
WO2021170095A1 (en) Constrains for syntax elements of adaptation parameter set
WO2021197445A1 (en) Constraints on adaptation parameter set syntax elements
WO2021169969A1 (en) Conditional signaling of syntax elements in a picture header
CN115299065A (zh) 基于变换跳过的残差编解码
WO2021204136A1 (en) Signaling for inter prediction in high level syntax
WO2021233448A1 (en) Signalling of general level index
WO2021208896A1 (en) Signalling of flags in picture parameter set
WO2021204251A1 (en) Use of header syntax elements and adaptation parameter set
CN115552802A (zh) 加权预测信息的条件信令通知
CN115918085A (zh) 颜色分量的信令通知
WO2021213357A1 (en) Adaptive color transform in video coding
WO2021209061A1 (en) Presence of adaptation parameter set units
WO2021204234A1 (en) Deblocking signaling in video coding

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