一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制编解码视频中不同级别的去块滤波的制作方法

2022-11-16 17:08:40 来源:中国专利 TAG:

控制编解码视频中不同级别的去块滤波
1.相关申请的交叉参考
2.根据巴黎公约适用的专利法和/或规则,提出本技术是为了及时要求2020年3月23日提交的第pct/cn2020/080602号国际专利申请的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本技术的公开内容的部分。
技术领域
3.本专利文档涉及图像和视频编码和解码。


背景技术:

4.数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。


技术实现要素:

5.本文档公开了可由视频编码器和解码器使用的技术,用于使用对编解码表示的解码有用的控制信息来处理视频的编解码表示。
6.在一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个条带的图片的视频与视频的比特流之间的转换,其中,该转换符合规则,该规则规定去块滤波器是否被应用于参考图片参数集的一个或多个条带至少基于包括在所述图片参数集中的第一语法元素,并且其中,第一语法元素指示是否对图片禁用去块滤波器。
7.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个条带的图片的视频与视频的比特流之间的转换,
8.其中,该转换符合规则,该规则规定去块滤波器是否被应用于参考图片参数集的一个或多个条带仅基于包括在图片参数集中的指示去块滤波器是否被禁用的语法元素。
9.在另一个示例方面,公开了一种视频处理方法。该方法执行包括一个或多个图片的视频与视频的比特流之间的转换,该一个或多个图片包括一个或多个条带,其中,比特流符合规则,其中,该规则规定,基于条带级别的第一语法元素的第一值或图片级别的第二语法元素的第二值,确定是否在条带级别或在图片级别覆盖对条带或图片的去块操作,并且其中,规则规定,响应于条带标头中不存在第一语法元素,独立于图片级别的第二语法元素的第二值来确定第一语法元素的第一值。
10.在另一个示例方面,公开了一种视频处理方法。该方法执行包括一个或多个图片的视频与视频的比特流之间的转换,该一个或多个图片包括一个或多个条带,其中,比特流符合规则,其中,规则规定基于条带级别的第一语法元素的第一值或图片级别的第二语法元素的第二值来确定去块参数是否被包括在条带标头或图片标头中,并且其中,规则规定,响应于条带标头中不存在第一语法元素,独立于图片级别的第二语法元素的第二值来确定第一语法元素的第一值。
11.在另一个示例方面,公开了一种视频处理方法。该方法执行包括一个或多个图片
的视频与视频的比特流之间的转换,该一个或多个图片包括一个或多个条带,其中,比特流符合格式规则,格式规则规定第一语法元素和第二语法元素是否被分别包括在图片标头和条带标头中,或者第一语法元素和第二语法元素是否被推断是基于图片参数集中的第三语法元素的值,其中,第一语法元素指示去块滤波器是否在视频的图片级别被禁用,其中,第二语法元素指示去块滤波器是否在视频的条带级别被禁用,并且其中,第三语法元素指示是否对参考图片参数集的一个或多个图片启用去块滤波器。
12.在另一个示例方面,公开了一种视频处理方法。该方法执行包括一个或多个图片的视频与视频的比特流之间的转换,该一个或多个图片包括一个或多个条带,其中,转换符合规则,规则规定去块滤波器是否被应用于条带是基于包括在条带标头和/或图片标头和/或由条带参考的图片参数集中的语法元素,并且其中,语法元素指示去块滤波器是否在图片参数集级别和/或条带级别和/或图片级别被启用。
13.在另一个示例方面,公开了一种视频处理方法。该方法执行包括一个或多个图片的视频与视频的比特流之间的转换,所述一个或多个图片包括一个或多个条带,其中,转换符合规则,该规则规定去块滤波器是否被应用于条带是基于包括在由条带参考的序列参数集中的语法元素,并且其中,语法元素包括指示去块滤波器是否被启用的第一语法元素和/或指示去块滤波器的第一组参数的一组语法元素。
14.在另一个示例方面,公开了一种视频处理方法。执行包括一个或多个图片的视频与视频的比特流之间的转换,该一个或多个图片包括一个或多个条带,其中,该转换符合规则,该规则规定去块滤波器是否应用于条带是基于视频单元级别中包括的非二进制语法元素,并且其中,非二进制语法元素指示去块滤波器是否应用于一个或多个条带和/或如何应用于一个或多个条带。
15.在另一个示例方面,公开了一种视频处理方法。执行包括一个或多个图片的视频与视频的比特流之间的转换,该一个或多个图片包括一个或多个条带,其中,转换符合规则,规则规定:(1)在视频的图片级别或视频的条带级别启用去块滤波器,以及(2)β和tc的0值去块参数偏移用于去块滤波器的参数。
16.在另一个示例方面,公开了一种视频处理方法。该方法包括:根据规则为视频的视频块与视频的比特流之间的转换确定对应于视频块的预测块的尺寸;并且基于该确定来执行转换,其中该规则规定响应于使用光流的预测细化技术是否用于编解码视频块来确定预测块的第一尺寸,并且其中该视频块具有第二尺寸并且使用仿射merge模式或仿射高级运动矢量预测模式来编解码。
17.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个条带的一个或多个图片的视频与视频的比特流之间的转换,其中规则规定在高于图片级别或条带级别的视频级别中指示第一语法元素,并且其中第一语法元素指示图片级别或条带级别是否包括量化参数增量。
18.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中第一规则规定第一视频级别中的第一标志指示第一视频级别中是否包括一个或多个色度量化参数偏移,其中第一视频级别高于条带级别,其中第二规则规定第二视频级别中的第二标志指示一个或多个色度量化参数偏移是否包括在图片标头或条带标头中,并且其中第二视频级别高于图片
级别。
19.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个条带的一个或多个图片的视频与视频的比特流之间的转换,其中比特流包括指示编解码块细分值的第一语法元素,并且其中编解码块细分值具有根据规则的范围。
20.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频之间的转换,该一个或多个视频图片包括一个或多个视频条带,其中该转换符合第一规则,所述第一规则规定关于用于参考视频图片参数集的一个或多个视频条带的去块滤波器的适用性的决定是基于包括在相应视频图片的图片标头中的去块语法字段来执行的。
21.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频之间的转换,该一个或多个视频图片包括一个或多个视频条带,其中该转换符合规则,该规则规定,基于包括在视频条带的条带标头级别和/或图片标头级别和/或图片参数集级别的字段对用于视频条带的去块滤波器的适用性进行约束。
22.在另一个示例方面,公开了另一种视频处理方法。该方法包括确定基于预测细化的光流(prof)编解码与基于第一规则的仿射高级运动矢量预测编解码或基于第二规则的仿射merge模式的适用性;以及根据该确定执行视频的视频块与视频的编解码表示之间的转换。
23.在另一个示例方面,公开了另一种视频处理方法。该方法包括在执行包括包含一个或多个条带的一个或多个图片的视频与该视频的编解码表示之间的转换,其中图片级别或条带级别的第一语法元素和/或指示量化参数增量或偏移信令通知的另一级别的第二语法元素根据规则被有条件地包括在编解码表示中。
24.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的编解码表示之间的转换,其中该编解码表示包括指示编解码块细分值(cbsubdiv)的语法元素,该编解码块细分值的范围根据规则。
25.在又一示例方面,公开了一种视频编解码器装置。视频编解码器包括被配置为实现上述方法的处理器。
26.在又一示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
27.在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了这里描述的方法之一。
28.这些以及其他特征将在本文档中描述。
附图说明
29.图1是示例视频处理系统的框图。
30.图2为视频处理装置的框图。
31.图3为视频处理的示例方法的流程图。
32.图4是示出根据本公开的一些实施例的视频编解码系统的框图。
33.图5是示出根据本公开的一些实施例的编码器的框图。
34.图6是示出根据本公开的一些实施例的解码器的框图。
35.图7至图19是视频处理的示例方法的流程图。
具体实施方式
36.本文档中使用章节标题是为了易于理解并且不将各章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
37.1.简介
38.本文档涉及视频编解码技术。具体地,它是关于支持去块信令通知、qp增量(delta)/偏移信令通知、量化组的cbsubdiv值定义以及视频编解码中的prof处理。这些想法可以单独或以各种组合应用于支持多层视频编解码(例如,正在开发的多功能视频编解码(vvc))的任何视频编解码标准或非标准视频编解码器。
39.2.缩写
40.aps
ꢀꢀꢀ
自适应参数集
41.au
ꢀꢀꢀꢀ
访问单元
42.aud
ꢀꢀꢀ
访问单元分隔符
43.avc
ꢀꢀꢀ
高级视频编解码
44.clvs
ꢀꢀ
编解码层视频序列
45.cpb
ꢀꢀꢀ
编解码图片缓冲器
46.cra
ꢀꢀꢀ
清洁随机访问
47.ctu
ꢀꢀꢀ
编解码树单元
48.cvs
ꢀꢀꢀ
编解码视频序列
49.dpb
ꢀꢀꢀ
解码图片缓冲器
50.dps
ꢀꢀꢀ
解码参数集
51.eob
ꢀꢀꢀ
比特流结束
52.eos
ꢀꢀꢀ
序列结束
53.gdr
ꢀꢀꢀ
逐步解码刷新
54.hevc
ꢀꢀ
高效视频编解码
55.hrd
ꢀꢀꢀ
假设参考解码器
56.idr
ꢀꢀꢀ
即时解码刷新
57.jem
ꢀꢀꢀ
联合探索模型
58.mcts
ꢀꢀ
运动约束的片集
59.nal
ꢀꢀꢀ
网络抽象层
60.ols
ꢀꢀꢀ
输出层集
61.ph
ꢀꢀꢀꢀ
图片标头
62.pps
ꢀꢀꢀ
图片参数集
63.prof
ꢀꢀ
使用光流的预测细化
64.ptl
ꢀꢀꢀ
档次、层次、级别
65.pu
ꢀꢀꢀꢀ
图片单元
66.rbsp
ꢀꢀ
原始字节序列有效负载
67.sei
ꢀꢀꢀ
补充增强信息
68.sh
ꢀꢀꢀꢀ
条带标头
69.sps
ꢀꢀꢀ
序列参数集
70.svc
ꢀꢀꢀ
可缩放视频编解码
71.vcl
ꢀꢀꢀ
视频编解码层
72.vps
ꢀꢀꢀ
视频参数集
73.vtm
ꢀꢀꢀ
vvc测试模型
74.vui
ꢀꢀꢀ
视频可用性信息
75.vvc
ꢀꢀꢀ
多功能视频编解码
76.3.初步讨论
77.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准的发展而得以演进。itu-t制作了h.261和h.263标准,iso/iec制作了mpeg-1和mpeg-4visual标准,并且两个组织联合制作了h.262/mpeg-2视频标准和h.264/mpeg-4高级视频编解码(avc)标准和h.265/hevc标准。从h.262开始,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索hevc之外的未来视频编解码技术,由vceg和mpeg于2015年联合成立联合视频探索团队(jvet)。从那时起,jvet采用了许多新方法并将其纳入名为联合探索模型(jem)的参考软件。jvet会议每季度同时举行一次,新编解码标准的目标是与hevc相比降低50%比特率。新的视频编解码标准在2018年4月的jvet会议上被正式命名为多功能视频编码(vvc),并且第一版vvc测试模型(vtm)也在当时发布。随着vvc标准化的不断努力,新的编解码技术在每次jvet会议上都被采用到vvc标准中。vvc的工作草案和测试模型vtm在每次会议后都会更新。vvc项目现在的目标是在2020年7月的会议上技术完成(fdis)。
78.3.1.pps语法和语义
79.在最新的vvc草案文本中,gci语法和语义如下:
80.81.82.83.[0084][0085][0086]
pps rbsp在被引用之前应可用于解码过程,包括在至少一个au中,其中temporalid小于或等于pps nal单元的temporalid,或通过外部手段提供。
[0087]
pu内具有pps_pic_parameter_set_id的特定值的所有pps nal单元应具有相同的内容。
[0088]
pps_pic_parameter_set_id标识其他语法元素参考的pps。pps_pic_parameter_set_id的值应在0到63(包括端值)的范围内。
[0089]
无论nuh_layer_id值如何,pps nal单位共享pps_pic_parameter_set_id的相同值空间。
[0090]
设ppslayerid是特定pps nal单元的numh_layer_id的值,并且vcllayerid是特定vcl nal单元的numh_layer_id的值。特定的vcl nal单元不应指代特定的pps nal单元,除非ppslayerid小于或等于vcllayerid并且nuh_layer_id等于ppslayerid的层包含在至少一个ols中,该至少一个ols包括nuh_layer_id等于vcllayerid的层。
[0091]
pps_seq_parameter_set_id规定sps的sps_seq_parameter_set_id的值。pps_seq_parameter_set_id的值应在0到15(包括端值)的范围内。pps_seq_parameter_set_id的值在clvs中由编解码图片参考的所有pps中应该是相同的。
[0092]
mixed_nalu_types_in_pic_flag等于1规定参考pps的每个图片有多个vclnal单元,vclnal单元不具有相同的nal_unit_type值,并且该图片不是irap图片。mixed_nalu_types_in_pic_flag等于0规定参考pps的每个图片具有一个或多个vcl nal单元,并且参考pps的每个图片的vcl nal单元具有相同的nal_unit_type值。
[0093]
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应等于0。
[0094]
对于在图片pica中在idr_w_radl到cra_nut(包括端值)范围内具有nal_unit_type值nalunittypea的每个条带,该图片pica还包含具有nal_unit_type的另一个值的一个或多个条带(即,图片pica的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
[0095]-条带应属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpica。
[0096]-条带不应属于包含nal_unit_type不等于nalunittypea的vcl nal单元的pica的子图片。
[0097]-如果nalunittypea等于cra,则对于clvs中按照解码顺序和输出顺序在当前图片之后的所有后续pu,这些pu中的subpica中的条带的refpiclist[0]和refpiclist[1]都不应包括在活动条目中按照解码顺序在pica之前的任何图片。
[0098]-否则(即,nalunittypea等于idr_w_radl或idr_n_lp),对于clvs中按照解码顺序在当前图片之后的所有pu,这些pu中的subpica中的条带的refpiclist[0]和refpiclist[1]都不应该包括在活动条目中按照解码顺序在pica之前的任何图片。
[0099]
注1

mixed_nalu_types_in_pic_flag等于1指示参考pps的图片包含具有不同nal单元类型的条带,例如,源自子图片比特流merge操作的编解码图片,编码器必须确保匹配比特流结构以及进一步对齐原始比特流的参数。这种对齐的一个示例如下:当sps_idr_rpl_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考pps的图片不能具有nal_unit_type等于idr_w_radl或idr_n_lp的条带。
[0100]
pic_width_in_luma_samples规定参考pps的每个解码图片的宽度,以亮度样点为单位。pic_width_in_luma_samples不应等于0,应为max(8,mincbsizey)的整数倍,且应小于或等于pic_width_max_in_luma_samples。
[0101]
当res_change_in_clvs_allowed_flag等于0时,pic_width_in_luma_samples的值应等于pic_width_max_in_luma_samples。
[0102]
pic_height_in_luma_samples规定参考pps的每个解码图片的以亮度样点为单位的高度。pic_height_in_luma_samples不应等于0,并且应为max(8,mincbsizey)的整数倍,并且应小于或等于pic_height_max_in_luma_samples。
[0103]
当res_change_in_clvs_allowed_flag等于0时,pic_height_in_luma_samples的值应等于pic_height_max_in_luma_samples。
[0104]
变量picwidthinctbsy、picheightinctbsy、picsizeinctbsy、picwidthinmincbsy、picheightinmincbsy、picsizeinmincbsy、picsizeinsamplesy、picwidthinsamplesc和picheightinsamplesc的导出如下:
[0105]
picwidthinctbsy=ceil(pic_width_in_luma_samples
÷
ctbsizey)
ꢀꢀꢀ
(69)
[0106]
picheightinctbsy=ceil(pic_height_in_luma_samples
÷
ctbsizey)
ꢀꢀ
(70)
[0107]
picsizeinctbsy=picwidthinctbsy*picheightinctbsy (71)
[0108]
picwidthinmincbsy=pic_width_in_luma_samples/mincbsizey
ꢀꢀ
(72)
[0109]
picheightinmincbsy=pic_height_in_luma_samples/mincbsizey
ꢀꢀꢀ
(73)
[0110]
picsizeinmincbsy=picwidthinmincbsy*picheightinmincbsy
ꢀꢀꢀꢀꢀ
(74)
[0111]
picsizeinsamplesy=pic_width_in_luma_samples*pic_height_in_luma_samples
ꢀꢀꢀ
(75)
[0112]
picwidthinsamplesc=pic_width_in_luma_samples/subwidthc
ꢀꢀꢀꢀꢀ
(76)
[0113]
picheightinsamplesc=pic_height_in_luma_samples/subheightc
ꢀꢀꢀꢀ
(77)
[0114]
pps_conformance_window_flag等于1指示一致性裁剪窗口偏移参数在pps中紧随其后。pps_conformance_window_flag等于0指示pps中不存在一致性裁剪窗口偏移参数。
[0115]
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。
[0116]
一致性裁剪窗口包含亮度样点,其中水平图片坐标从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),包括端值。
[0117]
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。
[0118]
当chromaarraytype不等于0时,两个色度数组的对应规定样点是具有图片坐标(x/subwidthc,y/subheightc)的样点,其中(x,y)是规定亮度样点的图片坐标。
[0119]
注2

一致性裁剪窗口偏移参数仅适用于输出。所有内部解码过程都应用于未剪裁的图片尺寸。
[0120]
假设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值。
[0121]
当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。
[0122]
scaling_window_explicit_signaling_flag等于1规定缩放窗口偏移参数存在于pps中。scaling_window_explicit_signaling_flag等于0规定缩放窗口偏移参数不存在于pps中。当res_change_in_clvs_allowed_flag等于0时,scaling_window_explicit_signaling_flag的值应等于0。
[0123]
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。
[0124]
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。
[0125]
变量picoutputwidthl和picoutputheightl的导出如下:
[0126]
picoutputwidthl=pic_width_in_luma_samples
‑ꢀꢀꢀꢀꢀꢀ
(78)
[0127]
subwidthc*(scaling_win_right_offset scaling_win_left_offset)
[0128]
picoutputheightl=pic_height_in_luma_samples
‑ꢀꢀꢀꢀꢀ
(79)
[0129]
subwidthc*(scaling_win_bottom_offset scaling_win_top_offset)
[0130]
假设refpicoutputwidthl和refpicoutputheightl分别是参考该pps的当前图片的参考图片的picoutputwidthl和picoutputheightl。比特流一致性的要求是满足以下所有条件:
[0131]

picoutputwidthl*2应大于或等于refpicwidthinlumasamples。
[0132]

picoutputheightl*2应大于或等于refpicheightinlumasamples。
[0133]

picoutputwidthl应小于或等于refpicwidthinlumasamples*8。
[0134]

picoutputheightl应小于或等于refpicheightinlumasamples*8。
[0135]

picoutputwidthl*pic_width_max_in_luma_samples应大于或等于refpicoutputwidthl*(pic_width_in_luma_samples-max(8,mincbsizey))。
[0136]

picoutputheightl*pic_height_max_in_luma_samples应大于或等于refpicoutputheightl*(pic_height_in_luma_samples-max(8,mincbsizey))。
[0137]
output_flag_present_flag等于1指示pic_output_flag语法元素存在于参考pps的条带标头中。output_flag_present_flag等于0指示pic_output_flag语法元素不存在于
参考pps的条带标头中。
[0138]
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。
[0139]
pps_num_subpics_minus1应等于sps_num_subpics_minus1。
[0140]
pps_subpic_id_len_minus1应等于sps_subpic_id_len_minus1。
[0141]
pps_subpic_id[i]规定第i个子图片的子图片id。pps_subpic_id[i]语法元素的长度为pps_subpic_id_len_minus1 1位。
[0142]
对于0至sps_num_subpics_minus1(包括端值)的范围内的每个i值,变量subpicidval[i]的导出如下:
[0143][0144]
比特流一致性的要求是应用以下两个约束:
[0145]
‑‑
对于0到sps_num_subpics_minus1(包括端值)的范围内的任何两个不同的i和j值,subpicidval[i]不应等于subpicidval[j]。
[0146]
‑‑
当当前图片不是clvs的第一个图片时,对于0到sps_num_subpics_minus1(包括端值)范围内的每个i值,如果subpicidval[i]的值不等于同一层中按照解码顺序的前一个图片的subpicidval[i]的值,则具有子图片索引i的当前图片中的子图片的所有编解码条带nal单元的nal_unit_type应等于idr_w_radl到cra_nut(包括端值)范围内的特定值。
[0147]
no_pic_partition_flag等于1规定没有图片分割被应用于参考pps的每个图片。no_pic_partition_flag等于0规定参考pps的每个图片可以被分割成多个片或条带。
[0148]
比特流一致性的要求是no_pic_partition_flag的值对于clvs内的编解码图片所参考的所有pps应该是相同的。
[0149]
比特流一致性的要求是,当sps_num_subpics_minus1 1的值大于1时,no_pic_partition_flag的值不应等于1。
[0150]
pps_log2_ctu_size_minus5加5规定每个ctu的亮度编解码树块尺寸。pps_log2_ctu_size_minus5应等于sps_log2_ctu_size_minus5。
[0151]
num_exp_tile_columns_minus1加1规定显式提供的片列宽的数量。num_exp_tile_columns_minus1的值应在0到picwidthinctbsy

1(包括端值)的范围内。当no_pic_partition_flag等于1时,num_exp_tile_columns_minus1的值被推断为等于0。
[0152]
num_exp_tile_rows_minus1加1规定显式提供的片行高的数量。num_exp_tile_
rows_minus1的值应在0到picheightinctbsy

1(包括端值)的范围内。当no_pic_partition_flag等于1时,num_tile_rows_minus1的值被推断为等于0。
[0153]
tile_column_width_minus1[i]加1以ctb为单位规定i在0到num_exp_tile_columns_minus1-1(包括端值)范围内的第i个片列的宽度。tile_column_width_minus1[num_exp_tile_columns_minus1]用于导出索引大于或等于如条款6.5.1中所规定的num_exp_tile_columns_minus1的片列的宽度。tile_column_width_minus1[i]的值应在0到picwidthinctbsy

1(包括端值)的范围内。当不存在时,tile_column_width_minus1[0]的值推断为等于picwidthinctbsy-1。
[0154]
tile_row_height_minus1[i]加1以ctb为单位规定i在0到num_exp_tile_rows_minus1-1(包括端值)范围内的第i个片行的高度。tile_row_height_minus1[num_exp_tile_rows_minus1]用于导出索引大于或等于如条款6.5.1所规定的num_exp_tile_rows_minus1的片行的高度。tile_row_height_minus1[i]的值应在0到picheightinctbsy

1(包括端值)的范围内。当不存在时,tile_row_height_minus1[0]的值推断为等于picheightinctbsy-1。
[0155]
rect_slice_flag等于0规定每个条带内的片处于光栅扫描顺序,并且条带信息不在pps中被信令通知。rect_slice_flag等于1规定每个条带内的片覆盖图片的矩形区域,并且条带信息在pps中被信令通知。当不存在时,rect_slice_flag被推断为等于1。当subpic_info_present_flag等于1时,rect_slice_flag的值应等于1。
[0156]
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。
[0157]
num_slices_in_pic_minus1加1规定参考pps的每个图片中矩形条带的数量。num_slices_in_pic_minus1的值应在0到maxslicesperpicture

1(包括端值)的范围内,其中maxslicesperpicture在附录a中规定。当no_pic_partition_flag等于1时,num_slices_in_pic_minus1的值被推断为等于0。
[0158]
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。
[0159]
slice_width_in_tiles_minus1[i]加1以片列为单位规定第i个矩形条带的宽度。slice_width_in_tiles_minus1[i]的值应在0到numtilecolumns

1(包括端值)的范围内。
[0160]
当slice_width_in_tiles_minus1[i]不存在时,以下适用:
[0161]
‑‑
如果numtilecolumns等于1,则slice_width_in_tiles_minus1[i]的值被推断为等于0。
[0162]
‑‑
否则,按照条款6.5.1的规定推断slice_width_in_tiles_minus1[i]的值。
[0163]
slice_height_in_tiles_minus1[i]加1以片行为单位规定第i个矩形条带的高
度。slice_height_in_tiles_minus1[i]的值应在0到numtilerows

1(包括端值)的范围内。
[0164]
当slice_height_in_tiles_minus1[i]不存在时,以下适用:
[0165]
‑‑
如果numtilerows等于1,或者tile_idx_delta_present_flag等于0,并且tileidx%numtilecolumns大于0,则slice_height_in_tiles_minus1[i]的值被推断为等于0。
[0166]
‑‑
否则(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]。
[0167]
num_exp_slices_in_tile[i]规定在包含多个矩形条带的当前片中显式提供的条带高度的数量。num_exp_slices_in_tile[i]的值应在0至rowheight[tiley]

1(包括端值)的范围内,其中tiley是包含第i个条带的片行索引。当不存在时,num_exp_slices_in_tile[i]的值被推断为等于0。当num_exp_slices_in_tile[i]等于0时,变量numslicesintile[i]的值被导出为等于1。
[0168]
exp_slice_height_in_ctus_minus1[j]加1以ctu行为单位规定当前片中的第j个矩形条带的高度。exp_slice_height_in_ctus_minus1[j]的值应在0至rowheight[tiley]

1(包括端值)的范围内,其中tiley是当前片的片行索引。
[0169]
当num_exp_slices_in_tile[i]大于0时,变量numslicesintile[i]和k在0到numslicesintile[i]-1(包括端值)范围内的sliceheightinctusminus1[i k]的导出如下:
[0170][0171]
tile_idx_delta[i]规定第i个矩形条带中的第一个片的片索引和第i 1个矩形条
带中的第一个片的片索引之间的差。tile_idx_delta[i]的值应在-numtilesinpic 1至numtilesinpic

1(包括端值)范围内。当不存在时,tile_idx_delta[i]的值被推断为等于0。当存在时,tile_idx_delta[i]的值不应等于0。
[0172]
loop_filter_across_tiles_enabled_flag等于1规定可在参考pps的图片中跨片边界执行环路滤波操作。loop_filter_cross_tiles_enabled_flag等于0规定在参考pps的图片中跨片边界不执行环路滤波操作。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_cross_tiles_enabled_flag的值被推断为等于1。
[0173]
loop_filter_cross_slices_enabled_flag等于1规定可以在参考pps的图片中跨条带边界执行环路滤波操作。loop_filter_cross_slice_enabled_flag等于0规定在参考pps的图片中跨条带边界不执行环路滤波操作。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_cross_slices_enabled_flag的值被推断为等于0。
[0174]
cabac_init_present_flag等于1规定cabac_init_flag存在于参考pps的条带标头中。cabac_init_present_flag等于0规定cabac_init_flag不存在于参考pps的条带标头中。
[0175]
num_ref_idx_default_active_minus1[i]加1,当等于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(包括端值)的范围内。
[0176]
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的图片的条带标头中。
[0177]
init_qp_minus26加26规定参考pps的每个条带的sliceqpy的初始值。当ph_qp_delta的非零值被解码时,sliceqpy的初始值在图片级别被修改,或者当slice_qp_delta的非零值被解码时,sliceqpy的初始值在条带级别被修改。init_qp_minus26的值应在-(26 qpbdoffset)到 37(包括端值)的范围内。
[0178]
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不存在于变换单元语法中。
[0179]
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。
[0180]
pps_cb_qp_offset和pps_cr_qp_offset分别规定用于导出qp

cb
和qp

cr
的亮度量
化参数qp
′y的偏移。pps_cb_qp_offset的值和pps_cr_qp_offset的值应在-12至 12(包括端值)范围内。当chromaarraytype等于0时,解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,并且解码器应忽略它们的值。当不存在时,pps_cb_qp_offset和pps_cr_qp_offset的值推断为等于0。
[0181]
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]不存在于ppsrbsp语法结构中。当chromaarraytype等于0或sps_joint_cbcr_enabled_flag等于0时,pps_joint_cbcr_qp_offset_present_flag的值应等于0。当不存在时,pps_joint_cbcr_qp_offset_present_flag的值被推断为等于0。
[0182]
pps_joint_cbcr_qp_offset_value规定用于导出qp

cbcr
的亮度量化参数qp
′y的偏移。pps_joint_cbcr_qp_offset_value的值应在-12至 12(包括端值)范围内。当chromaarraytype等于0或sps_joint_cbcr_enabled_flag等于0时,解码过程中不使用pps_joint_cbcr_qp_offset_value,并且解码器应忽略其值。当pps_joint_cbcr_qp_offset_present_flag等于0时,pps_joint_cbcr_qp_offset_value不存在,并且被推断为等于0。
[0183]
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。
[0184]
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。
[0185]
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(包括端值)的范围内。
[0186]
cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]分别规定qp

cb
、qp

cr
和qp

cbcr
的导出中使用的偏移。cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]的值应在-12至 12(包括端值)范围内。当pps_joint_cbcr_qp_offset_present_flag等于0时,joint_cbcr_qp_offset_list[i]不存在,并且被推断为等于0。
[0187]
pps_weighted_pred_flag等于0规定加权预测不应用于参考pps的p条带。pps_weighted_pred_flag等于1规定加权预测应用于参考pps的p条带。当sps_weighted_pred_flag等于0时,pps_weighted_pred_flag的值应等于0。
[0188]
pps_weighted_bipred_flag等于0规定显式加权预测不应用于参考pps的b条带。pps_weighted_bipred_flag等于1规定显式加权预测应用于参考pps的b条带。当sps_weighted_bipred_flag等于0时,pps_weighted_bipred_flag的值应等于0。
[0189]
deblocking_filter_control_present_flag等于1规定pps中存在去块滤波器控制语法元素。deblocking_filter_control_present_flag等于0规定pps中不存在去块滤波器控制语法元素。
[0190]
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。
[0191]
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。
[0192]
pps_beta_offset_div2和pps_tc_offset_div2为β和tc(除以2)规定默认去块参数偏移,这些参数偏移应用于参考pps的条带的亮度分量,除非默认去块参数偏移被参考pps的条带的图片标头或条带标头中存在的去块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
[0193]
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2为β和tc(除以2)规定默认去块参数偏移,这些参数偏移应用于参考pps的条带的cb分量,除非默认去块参数偏移被参考pps的条带的图片标头或条带标头中存在的去块参数偏移所覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
[0194]
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2为β和tc(除以2)规定默认去块参数偏移,这些参数偏移应用于参考pps的条带的cr分量,除非默认去块参数偏移被参考pps的条带的图片标头或条带标头中存在的去块参数偏移所覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
[0195]
rpl_info_in_ph_flag等于1规定参考图片列表信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。rpl_info_in_ph_flag等于0规定参考图片列表信息不存在于ph语法结构中,并且可能存在于参考不包含ph语法结构的pps的条带标头中。
[0196]
dbf_info_in_ph_flag等于1规定去块滤波器信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。dbf_info_in_ph_flag等于0规定去块滤波器信息不存在于ph语法结构中,并且可能存在于参考不包含ph语法结构的pps的条带标头
中。当不存在时,dbf_info_in_ph_flag的值被推断为等于0。
[0197]
sao_info_in_ph_flag等于1规定sao滤波器信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。sao_info_in_ph_flag等于0规定sao滤波器信息不存在于ph语法结构中,并且可能存在于参考不包含ph语法结构的pps的条带标头中。
[0198]
alf_info_in_ph_flag等于1规定alf信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。alf_info_in_ph_flag等于0规定alf信息不存在于ph语法结构中,并且可能存在于参考不包含ph语法结构的pps的条带标头中。
[0199]
wp_info_in_ph_flag等于1规定加权预测信息可以存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。wp_info_in_ph_flag等于0规定加权预测信息不存在于ph语法结构中,并且可能存在于参考不包含ph语法结构的pps的条带标头中。当不存在时,wp_info_in_ph_flag的值被推断为等于0。
[0200]
qp_delta_info_in_ph_flag等于1规定qp增量信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。qp_delta_info_in_ph_flag等于0规定qp增量信息不存在于ph语法结构中,并且可能存在于参考不包含ph语法结构的pps的条带标头中。
[0201]
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。
[0202]
pps_ref_wraparound_offset加(ctbsizey/mincbsizey) 2规定用于计算以mincbsizey亮度样点为单位的水平环绕位置的偏移。pps_ref_wraparound_offset的值应在0至(pic_width_in_luma_samples/mincbsizey)-(ctbsizey/mincbsizey)-2的范围(包括端值)内。
[0203]
变量ppsrefwraparoundoffset设置为等于pps_ref_wraparound_offset (ctbsizey/mincbsizey) 2。
[0204]
picture_header_extension_present_flag等于0规定在参考pps的ph中不存在ph扩展语法元素。picture_header_extension_present_flag等于1规定ph扩展语法元素存在于参考pps的ph中。在符合该版本该规范的比特流中,picture_header_extension_present_flag应等于0。
[0205]
slice_header_extension_present_flag等于0规定在参考pps的编解码图片的条带标头中不存在条带标头扩展语法元素。slice_header_extension_present_flag等于1规定条带标头扩展语法元素存在于参考pps的编解码图片的条带标头中。在符合该版本该规范的比特流中,slice_header_extension_present_flag应等于0。
[0206]
pps_extension_flag等于0规定pps rbsp语法结构中不存在pps_extension_data_flag语法元素。pps_extension_flag等于1规定pps rbsp语法结构中存在pps_extension_data_flag语法元素。
[0207]
pps_extension_data_flag可以有任何值。它的存在和值不影响解码器与该版本该规范中规定的档次的一致性。符合该版本该规范的解码器应忽略所有pps_extension_
data_flag语法元素。
[0208]
3.2.ph语法和语义
[0209]
在最新的vvc草案文本中,ph语法和语义如下:
[0210][0211]
ph rbsp包含ph语法结构,即picture_header_structure()。
[0212]
[0213]
[0214]
[0215]
[0216]
[0217]
[0218][0219]
ph语法结构包含对于与ph语法结构相关联的编解码图片的所有条带共同的信息。
[0220]
gdr_or_irap_pic_flag等于1规定当前图片是gdr图片或irap图片。gdr_or_irap_pic_flag等于0规定当前图片可能是也可能不是gdr图片或irap图片。
[0221]
gdr_pic_flag等于1规定与ph相关联的图片是gdr图片。gdr_pic_flag等于0规定与ph相关联的图片不是gdr图片。当不存在时,gdr_pic_flag的值被推断为等于0。当gdr_enabled_flag等于0时,gdr_pic_flag的值应等于0。
[0222]
ph_inter_slice_allowed_flag等于0规定图片的所有编解码条带的slice_type等于2。ph_inter_slice_allowed_flag等于1规定图片中可能有也可能没有slice_type等于0或1的一个或多个编解码条带。
[0223]
ph_intra_slice_allowed_flag等于0规定图片的所有编解码条带的slice_type等于0或1。ph_intra_slice_allowed_flag等于1规定图片中可能有也可能没有slice_type等于2的一个或多个编解码条带。当不存在时,ph_intra_slice_allowed_flag的值被推断为等于1。
[0224]
注1

对于应该在不需要更改ph nal单元的情况下进行基于子图片的比特流merge的比特流,编解码器应设置ph_inter_slice_allowed_flag和ph_intra_slice_allowed_flag的值等于1。
[0225]
non_reference_picture_flag等于1规定与ph相关联的图片从不被用作参考图片。non_reference_picture_flag等于0规定与ph相关联的图片可以或不可以用作参考图片。
[0226]
ph_pic_parameter_set_id为正在使用的pps规定pps_pic_parameter_set_id的值。ph_pic_parameter_set_id的值应在0到63(包括端值)的范围内。
[0227]
比特流一致性的要求是,ph的temporalid的值应大于或等于pps_pic_parameter_set_id等于ph_pic_parameter_set_id的pps的temporalid的值。
[0228]
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(包括端值)的范围内。
[0229]
no_output_of_prior_pics_flag影响在解码clvss图片之后dpb中先前解码的图片的输出,该clvss图片不是附录c中规定的比特流中的第一个图片。
[0230]
recovery_poc_cnt按照输出顺序规定解码图片的恢复点。如果当前图片是与ph相关联的gdr图片,并且在clvs中存在按照解码顺序在当前gdr图片之后的图片pica,其picordercntval等于当前gdr图片的picordercntval加上recovery_poc_cnt的值,则图片pica被称为恢复点图片。否则,输出顺序中picordercntval大于当前图片的picordercntval加上recovery_poc_cnt的值的第一个图片被称为恢复点图片。在解码顺序中,恢复点图片不应在当前gdr图片之前。recovery_poc_cnt的值应在0到maxpicordercntlsb

1(包括端值)的范围内。
[0231]
当当前图片是gdr图片时,变量rppicordercntval被导出如下:
[0232]
rppicordercntval=picordercntval recovery_poc_cnt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(82)
[0233]
注2

当gdr_enabled_flag等于1且当前图片的picordercntval大于或等于相关gdr图片的rppicordercntval时,输出顺序中的当前和后续解码图片与通过从解码顺序中相关gdr图片之前的前一个irap图片(如果存在)开始解码过程而产生的对应图片完全匹配。
[0234]
ph_extra_bit[i]可以等于1或0。符合该版本该规范的解码器应忽略ph_extra_bit[i]的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
[0235]
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。
[0236]
poc_msb_val规定当前图片的poc msb值。语法元素poc_msb_val的长度是poc_msb_len_minus1 1位。
[0237]
ph_alf_enabled_flag等于1规定为与ph相关的所有条带启用自适应环路滤波器,并且可以应用于条带中的y、cb或cr颜色分量。ph_alf_enabled_flag等于0规定可以为与ph关联的一个或多个或所有条带禁用自适应环路滤波器。当不存在时,ph_alf_enabled_flag被推断为等于0。
[0238]
ph_num_alf_aps_ids_luma规定与ph相关的条带参考的alf aps的数量。
[0239]
ph_alf_aps_id_luma[i]规定第i个alf aps的adaptation_parameter_set_id,与ph相关的条带的亮度分量参考该alf aps。
[0240]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_alf_aps_id_luma[i]的aps nal单元的alf_luma_filter_signal_flag的值应等于1。
[0241]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_alf_aps_id_luma[i]的aps nal单元的temporalid应小于或等于与ph关联的图片的
temporalid。
[0242]
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。
[0243]
ph_alf_aps_id_chroma规定alf aps的adaptation_parameter_set_id,与ph相关联的条带的色度分量参考该alf aps。
[0244]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_alf_aps_id_chroma的aps nal单元的alf_chroma_filter_signal_flag的值应该等于1。
[0245]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_alf_aps_id_chroma的aps nal单元的temporalid应小于或等于与ph关联的图片的temporalid。
[0246]
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。
[0247]
ph_cc_alf_cb_aps_id规定与ph相关联的条带的cb颜色分量所参考的alf aps的adaptation_parameter_set_id。
[0248]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_cc_alf_cb_aps_id的aps nal单元的alf_cc_cb_filter_signal_flag的值应等于1。
[0249]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_cc_alf_cb_aps_id的aps nal单元的temporalid应小于或等于与ph相关的图片的temporalid。
[0250]
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。
[0251]
ph_cc_alf_cr_aps_id规定与ph相关联的条带的cr颜色分量所参考的alf aps的adaptation_parameter_set_id。
[0252]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_cc_alf_cr_aps_id的aps nal单元的alf_cc_cr_filter_signal_flag的值应等于1。
[0253]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于ph_cc_alf_cr_aps_id的aps nal单元的temporalid应小于或等于与ph相关的图片的temporalid。
[0254]
ph_lmcs_enabled_flag等于1规定对与ph相关的所有条带启用带有色度缩放的亮度映射,ph_lmcs_enabled_flag等于0规定对与ph相关的一个、多个或所有条带禁用带有色度缩放的亮度映射,当不存在时,则ph_lmcs_enabled_flag的值被推断为等于0。
[0255]
ph_lmcs_aps_id规定与ph相关联的条带所参考的lmcs aps的adaptation_parameter_set_id。aps_params_type等于lmcs_aps且adaptation_parameter_set_id等于ph_lmcs_aps_id的aps nal单元的temporalid应小于或等于与ph相关的图片的temporalid。
[0256]
ph_chroma_residual_scale_flag等于1规定为与ph关联的所有条带启用色度残差缩放。ph_chroma_residual_scale_flag等于0规定可以为与ph相关联的一个、多个或所有条带禁用色度残差缩放。当ph_chroma_residual_scale_flag不存在时,其被推断为等于0。
[0257]
ph_scaling_list_present_flag等于1规定用于与ph相关联的条带的缩放列表数据是基于包含在参考缩放列表aps中的缩放列表数据导出的。ph_scaling_list_present_flag等于0规定用于与ph相关联的条带的缩放列表数据被设置为等于16。当不存在时,ph_scaling_list_present_flag的值被推断为等于0。
[0258]
ph_scaling_list_aps_id规定缩放列表aps的adaptation_parameter_set_id。aps_params_type等于scaling_aps且adaptation_parameter_set_id等于ph_scaling_list_aps_id的aps nal单元的temporalid应小于或等于与ph相关的图片的temporalid。
[0259]
ph_virtual_boundaries_present_flag等于1规定在ph中信令通知虚拟边界的信息。ph_virtual_boundaries_present_flag等于0规定在ph中不信令通知虚拟边界的信息。当在ph中信令通知一个或多个虚拟边界时,环路滤波操作在图片中跨虚拟边界被禁用。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,ph_virtual_boundaries_present_flag的值被推断为等于0。
[0260]
比特流一致性的要求是,当subpic_info_present_flag等于1时,ph_virtual_boundaries_present_flag的值应该等于0。
[0261]
变量virtualboundariespresentflag被导出如下:
[0262]
virtualboundariespresentflag=0
[0263]
if(sps_virtual_boundaries_enabled_flag)
[0264]
virtualboundariespresentflag=sps_virtual_boundaries_present_flag||
[0265]
ph_virtual_boundaries_present_flag
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(83)
[0266]
ph_num_ver_virtual_boundaries规定ph中存在的ph_virtual_boundaries_pos_x[i]语法元素的数量。当ph_num_ver_virtual_boundaries不存在时,其被推断为等于0。
[0267]
变量numvervirtualboundaries的导出如下:
[0268]
numvervirtualboundaries=0
[0269]
if(sps_virtual_boundaries_enabled_flag)
[0270]
numvervirtualboundaries=sps_virtual_boundaries_present_flag?
[0271]
sps_num_ver_virtual_boundaries:ph_num_ver_virtual_boundaries
ꢀꢀꢀꢀ
(84)
[0272]
ph_virtual_boundaries_pos_x[i]以亮度样点除以8为单位规定第i个垂直虚拟边界的位置。ph_virtual_boundaries_pos_x[i]的值应在1至ceil(pic_width_in_luma_samples
÷
8)

1(包括端值)的范围内。
[0273]
i范围为0至numvervirtualboundaries

1(包括端值)的列表virtualboundariesposx[i],以亮度样点为单位,规定垂直虚拟边界的位置,导出如下:
[0274]
for(i=0;i《numvervirtualboundaries;i )
[0275]
virtualboundariesposx[i]=(sps_virtual_boundaries_present_flag?
[0276]
sps_virtual_boundaries_pos_x[i]:ph_virtual_boundaries_pos_x[i])*8
ꢀꢀ
(85)
[0277]
任意两个垂直虚拟边界之间的距离应大于或等于ctbsizey亮度样点。
[0278]
ph_num_hor_virtual_boundaries规定ph中存在的ph_virtual_boundaries_pos_y[i]语法元素的数量。当ph_num_hor_virtual_boundaries不存在时,其被推断为等于0。
[0279]
参数numhorvirtualboundaries的导出如下:
[0280]
numhorvirtualboundaries=0
[0281]
if(sps_virtual_boundaries_enabled_flag)
[0282]
numhorvirtualboundaries=sps_virtual_boundaries_present_flag?
[0283]
sps_num_hor_virtual_boundaries:ph_num_hor_virtual_boundaries
ꢀꢀꢀꢀꢀ
(86)
[0284]
当sps_virtual_boundaries_enabled_flag等于1且ph_virtual_boundaries_present_flag等于1时,ph_num_ver_virtual_boundaries和ph_num_hor_virtual_boundaries之和应大于0。
[0285]
ph_virtual_boundaries_pos_y[i]以亮度样点除以8为单位规定第i个水平虚拟边界的位置。ph_virtual_boundaries_pos_y[i]的值应在1至ceil(pic_height_in_luma_samples
÷
8)

1(包括端值)的范围内。
[0286]
i的范围为0至numhorvirtualboundaries

1(包括端值)的列表virtualboundariesposy[i],以亮度样点为单位,规定水平虚拟边界的位置,导出如下:
[0287]
for(i=0;i《numhorvirtualboundaries;i )
[0288]
virtualboundariesposy[i]=(sps_virtual_boundaries_present_flag?
[0289]
sps_virtual_boundaries_pos_y[i]:ph_virtual_boundaries_pos_y[i])*8
ꢀꢀ
(87)
[0290]
任意两个水平虚拟边界之间的距离应大于或等于ctbsizey亮度样点。
[0291]
pic_output_flag影响解码图片输出和移除过程,如附录c所规定。当pic_output_flag不存在时,其被推断为等于1。
[0292]
partition_constraints_override_flag等于1规定分割约束参数存在于ph中。partition_constraints_override_flag等于0规定分割约束参数不存在于ph中。当不存在时,则partition_constraints_override_flag的值被推断为等于0。
[0293]
ph_log2_diff_min_qt_min_cb_intra_slice_luma规定由ctu的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数和与ph相关联的slice_type等于2(i)的条带中的亮度cu的亮度样点的最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_luma的值应在0到ctblog2sizey-mincblog2sizey(包括端值)的范围内。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值推断为等于sps_log2_diff_min_qt_min_cb_intra_slice_luma。
[0294]
ph_max_mtt_hierarchy_depth_intra_slice_luma规定由与ph相关联的slice_type等于2(i)的条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_intra_slice_luma的值应在0到2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内。当不存在时,ph_max_mtt_hierarchy_depth_intra_slice_luma的值推断为等于sps_max_mtt_hierarchy_depth_intra_slice_luma。
[0295]
ph_log2_diff_max_bt_min_qt_intra_slice_luma规定可使用二进制划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与ph相关
联的slice_type等于2(i)的条带中的ctu的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_luma的值应在0到ctblog2sizey-minqtlog2sizeintray(包括端值)的范围内。当不存在时,ph_log2_diff_max_bt_min_qt_intra_slice_luma的值推断为等于sps_log2_diff_max_bt_min_qt_intra_slice_luma。
[0296]
ph_log2_diff_max_tt_min_qt_intra_slice_luma规定可以使用三元划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与ph相关联的slice_type等于2(i)的条带中的ctu的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_luma的值应在0到ctblog2sizey-minqtlog2sizeintray(包括端值)范围内。当不存在时,ph_log2_diff_max_tt_min_qt_intra_slice_luma的值推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_luma。
[0297]
ph_log2_diff_min_qt_min_cb_intra_slice_chroma规定由treetype等于dual_tree_chroma的色度ctu的四叉树划分产生的色度叶块的亮度样点中的最小尺寸的以2为底的对数和与ph相关联的slice_type等于2(i)的条带中treetype等于dual_tree_chroma的色度cu的亮度样点中最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值应在0到ctblog2sizey-mincblog2sizey(包括端值)的范围内。当不存在时,ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值被推断为等于sps_log2_diff_min_qt_min_cb_intra_slice_chroma。
[0298]
ph_max_mtt_hierarchy_depth_intra_slice_chroma规定色度编解码单元的最大层次深度,该色度编解码单元是由与ph相关联的slice_type等于2(i)的条带中treetype等于dual_tree_chroma的色度四叉树叶的多类型树划分产生的。ph_max_mtt_hierarchy_depth_intra_slice_chroma的值应在0到2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内。当不存在时,ph_max_mtt_hierarchy_depth_intra_slice_chroma的值被推断为等于sps_max_mtt_hierarchy_depth_intra_slice_chroma。
[0299]
ph_log2_diff_max_bt_min_qt_intra_slice_chroma规定可以使用二进制划分进行划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与ph相关联的slice_type等于2(i)的条带中treetype等于dual_tree_chroma的色度ctu的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值应在0到ctblog2sizey-minqtlog2sizeintrac(包括端值)的范围内。当不存在时,ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值被推断为等于sps_log2_diff_max_bt_min_qt_intra_slice_chroma。
[0300]
ph_log2_diff_max_tt_min_qt_intra_slice_chroma规定可以使用三元划分进行划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与ph相关联的slice_type等于2(i)的条带中treetype等于dual_tree_chroma的色度ctu的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值应在0到ctblog2sizey-minqtlog2sizeintrac(包括端值)的范围内。当不存在时,ph_log2_diff_max_tt_min_qt_
intra_slice_chroma的值被推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_chroma。
[0301]
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)(包括端值)的范围内。
[0302]
当不存在时,ph_cu_qp_delta_subdiv_intra_slice的值被推断为等于0。
[0303]
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)(包括端值)的范围内。
[0304]
当不存在时,ph_cu_chroma_qp_offset_subdiv_intra_slice的值被推断为等于0。
[0305]
ph_log2_diff_min_qt_min_cb_inter_slice规定由ctu的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数和与ph相关联的slice_type等于0(b)或1(p)的条带中的亮度cu的亮度样点中的最小亮度编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_inter_slice的值应在0至ctblog2sizey-mincblog2sizey(包括端值)范围内。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值推断为等于sps_log2_diff_min_qt_min_cb_inter_slice。
[0306]
ph_max_mtt_hierarchy_depth_inter_slice规定编解码单元的最大层次深度,该编解码单元与ph相关联的slice_type等于0(b)或1(p)的条带中的四叉树叶的多类型树划分产生。ph_max_mtt_hierarchy_depth_inter_slice的值应在0到2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内。当不存在时,ph_max_mtt_hierarchy_depth_inter_slice的值被推断为等于sps_max_mtt_hierarchy_depth_inter_slice。
[0307]
ph_log2_diff_max_bt_min_qt_inter_slice规定可以使用二进制划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与ph相关联的slice_type等于0(b)或1(p)的条带中的ctu的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_bt_min_qt_inter_slice的值应在0到ctblog2sizey-minqtlog2sizeintery(包括端值)的范围内。当不存在时,ph_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_bt_min_qt_inter_slice。
[0308]
ph_log2_diff_max_tt_min_qt_inter_slice规定可以使用三元划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与ph关联的slice_type等于0(b)或1(p)的条带中的ctu的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_tt_min_qt_inter_slice的值应在0到ctblog2sizey-minqtlog2sizeintery(包括端值)的范围内。当不存在时,ph_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_tt_min_qt_inter_slice。
[0309]
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)(包括端值)的范围内。
[0310]
当不存在时,ph_cu_qp_delta_subdiv_inter_slice的值被推断为等于0。
[0311]
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)(包括端值)的范围内。
[0312]
当不存在时,ph_cu_chroma_qp_offset_subdiv_inter_slice的值被推断为等于0。
[0313]
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。
[0314]
基于子块的merge mvp候选的最大数量maxnumsubblockmergecand的导出如下:
[0315][0316][0317]
maxnumsubblockmergecand的值应在0到5(包括端值)的范围内。
[0318]
ph_collocated_from_l0_flag等于1规定用于时域运动矢量预测的共位图片是从参考图片列表0导出的。ph_collocated_from_l0_flag等于0规定用于时域运动矢量预测的共位图片是从参考图片列表1中导出的。
[0319]
ph_collocated_ref_idx规定用于时域运动矢量预测的共位图片的参考索引。
[0320]
当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx参考在参考图片列表0中的条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[0][rplsidx[0]]

1(包括端值)的范围内。
[0321]
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx参考在参考图片列表1中的条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[1][rplsidx[1]]-1(包括端值)的范围内。
[0322]
当不存在时,ph_collocated_ref_idx的值被推断为等于0。
[0323]
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)语法结构被
解析。
[0324]
ph_fpel_mmvd_enabled_flag等于1规定具有运动矢量差的merge模式在与ph相关联的条带中使用整数样点精度。ph_fpel_mmvd_enabled_flag等于0规定具有运动矢量差的merge模式可以在与ph相关联的条带中使用分数样点精度。当不存在时,则ph_fpel_mmvd_enabled_flag的值被推断为0。
[0325]
ph_disable_bdof_flag等于1规定在与ph相关联的条带中禁用基于双向光流帧间预测的帧间双向预测。ph_disable_bdof_flag等于0规定在与ph相关联的条带中可以启用或不启用基于双向光流帧间预测的帧间双向预测。
[0326]
当ph_disable_bdof_flag不存在时,以下适用:
[0327]
‑‑
如果sps_bdof_enabled_flag等于1,则推断ph_disable_bdof_flag的值等于0。
[0328]
‑‑
否则(sps_bdof_enabled_flag等于0),ph_disable_bdof_flag的值被推断为等于1。
[0329]
ph_disable_dmvr_flag等于1规定在与ph相关联的条带中禁用基于解码器运动矢量细化的帧间双向预测。ph_disable_dmvr_flag等于0规定在与ph相关联的条带中可以启用或不启用基于解码器运动矢量细化的帧间双向预测。
[0330]
当ph_disable_dmvr_flag不存在时,以下适用:
[0331]
‑‑
如果sps_dmvr_enabled_flag等于1,则ph_disable_dmvr_flag的值被推断为等于0。
[0332]
‑‑
否则(sps_dmvr_enabled_flag等于0),ph_disable_dmvr_flag的值被推断为等于1。
[0333]
ph_disable_prof_flag等于1规定在与ph相关联的条带中禁用光流的预测细化。ph_disable_prof_flag等于0规定在与ph相关联的条带中可以启用或不启用光流的预测细化。
[0334]
当ph_disable_prof_flag不存在时,以下适用:
[0335]
‑‑
如果sps_affine_prof_enabled_flag等于1,则ph_disable_prof_flag的值被推断为等于0。
[0336]
‑‑
否则(sps_affine_prof_enabled_flag等于0),ph_disable_prof_flag的值被推断为等于1。
[0337]
ph_qp_delta规定用于图片中的编解码块的qpy的初始值,直到被编解码单元层中的cuqpdeltaval的值修改。
[0338]
当qp_delta_info_in_ph_flag等于1时,图片的所有条带的qpy量化参数的初始值sliceqpy被导出如下:
[0339]
sliceqpy=26 init_qp_minus26 ph_qp_delta
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(89)
[0340]
sliceqpy的值应在-qpbdoffset到 63(包括端值)的范围内。
[0341]
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)
残差样点的反转符号给出。
[0342]
ph_sao_luma_enabled_flag等于1规定为与ph相关联的所有条带中的亮度分量启用sao;ph_sao_luma_enabled_flag等于0规定可以为与ph相关联的一个、多个或所有条带禁用亮度分量的sao,当ph_sao_luma_enabled_flag不存在时,其被推断为等于0。
[0343]
ph_sao_chroma_enabled_flag等于1规定为与ph相关联的所有条带中的色度分量启用sao;ph_sao_chroma_enabled_flag等于0规定色度分量的sao可以对于与ph相关联的一个、多个或所有条带被禁用。当ph_sao_chroma_enabled_flag不存在时,其被推断为等于0。
[0344]
ph_dep_quant_enabled_flag等于0规定对当前图片禁用依赖量化。ph_dep_quant_enabled_flag等于1规定为当前图片启用依赖量化。当ph_dep_quant_enabled_flag不存在时,其被推断为等于0。
[0345]
pic_sign_data_hiding_enabled_flag等于0规定对当前图片禁用符号位隐藏。pic_sign_data_hiding_enabled_flag等于1规定为当前图片启用符号位隐藏。当pic_sign_data_hiding_enabled_flag不存在时,其被推断为等于0。
[0346]
ph_deblocking_filter_override_flag等于1规定去块参数存在于ph中。ph_deblocking_filter_override_flag等于0规定去块参数不存在于ph中。当不存在时,ph_deblocking_filter_override_flag的值被推断为等于0。
[0347]
ph_deblocking_filter_disabled_flag等于1规定去块滤波器的操作不适用于与ph相关联的条带。ph_deblocking_filter_disabled_flag等于0规定去块滤波器的操作适用于与ph相关联的条带。当ph_deblocking_filter_disabled_flag不存在时,其被推断为等于pps_deblocking_filter_disabled_flag。
[0348]
ph_beta_offset_div2和ph_tc_offset_div2规定β和tc(除以2)的去块参数偏移,这些参数偏移应用于与ph相关联的条带的亮度分量。ph_beta_offset_div2和ph_tc_offset_div2的值都应在-12至12(包括端值)的范围内。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
[0349]
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2规定β和tc(除以2)的去块参数偏移,这些参数偏移应用于与ph相关联的条带的cb分量。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值推断为分别等于pps_cb_beta_offset_div2和pps_cb_tc_offset_div2。
[0350]
ph_cr_beta_offset_div2和ph_cr_tc_offset_div2规定β和tc(除以2)的去块参数偏移,这些参数偏移应用于与ph相关联的条带的cr分量。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应在-12至12(包括端值)的范围内。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
[0351]
ph_extension_length以字节为单位规定ph扩展数据的长度,不包括用于信令通知ph_extension_length本身的位。ph_extension_length的值应在0到256(包括端值)的范围内。当不存在时,ph_extension_length的值被推断为等于0。
[0352]
ph_extension_data_byte可以是任意值。符合该版本该规范的解码器应忽略ph_extension_data_byte的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
[0353]
3.3.sh语法和语义
[0354]
在最新的vvc草案文本中,sh语法和语义如下:
[0355]
[0356]
[0357]
[0358]
[0359][0360]
规定包含cu_qp_delta_abs的编解码单元的亮度量化参数与其预测之间的差的变量cuqpdeltaval设置为等于0。规定在确定包含cu_chroma_qp_offset_flag的编解码单元的qp

cb
、qp

cr
和qp

cbcr
量化参数的相应值时要使用的值的变量cuqpoffset
cb
、cuqpoffset
cr
和cuqpoffset
cbcr
都被设置为等于0。
[0361]
picture_header_in_slice_header_flag等于1规定ph语法结构存在于条带标头中。picture_header_in_slice_header_flag等于0规定ph语法结构不存在于条带标头中。
[0362]
比特流一致性的要求是,在clvs中的所有编解码条带中,picture_header_in_slice_header_flag的值应该相同。
[0363]
当picture_header_in_slice_header_flag对于编解码条带等于1时,比特流一致性的要求是clvs中不应存在nal_unit_type等于ph_nut的vcl nal单元。
[0364]
当picture_header_in_slice_header_flag等于0时,当前图片中的所有编解码的条带应当具有picture_header_in_slice_header_flag等于0,并且当前pu应当具有ph nal单元。
[0365]
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位。
[0366]
slice_address规定条带的条带地址。当不存在时,slice_address的值被推断为等于0。当rect_slice_flag等于1且numslicesinsubpic[currsubpicidx]等于1时,slice_address的值被推断为等于0。
[0367]
如果rect_slice_flag等于0,则以下适用:
[0368]
‑‑
条带地址是光栅扫描条带索引。
[0369]
‑‑
slice_address的长度为ceil(log2(numtilesinpic))位。
[0370]
‑‑
slice_address的值应在0到numtilesinpic

1(包括端值)的范围内。
[0371]
否则(rect_slice_flag等于1),以下适用:
[0372]
‑‑
条带地址是条带的子图片级别条带索引。
[0373]
‑‑
slice_address的长度为ceil(log2(numslicesinsubpic[currsubpicidx]))位。
[0374]
‑‑
slice_address的值应在0到numslicesinsubpic[currsubpicidx]

1(包括端值)的范围内。
[0375]
比特流一致性的要求是应用以下约束:
[0376]
‑‑
如果rect_slice_flag等于0或subpic_info_present_flag等于0,则slice_address的值不应等于同一编解码图片的任何其他编解码条带nal单元的slice_address的值。
[0377]
‑‑
否则,一对slice_subpic_id和slice_address值不应等于同一编解码图片的任何其他编解码条带nal单元的一对slice_subpic_id和slice_address值。
[0378]
‑‑
图片的条带的形状应使得每个ctu在解码时,其整个左侧边界和整个顶部边界应由图片边界组成或由先前解码的(多个)ctu的边界组成。
[0379]
sh_extra_bit[i]可以等于1或0。符合该版本该规范的解码器应忽略sh_extra_bit[i]的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
[0380]
num_tiles_in_slice_minus1加1(如果存在)规定条带中的片的数量。num_tiles_in_slice_minus1的值应在0到numtilesinpic

1(包括端值)的范围内。
[0381]
变量numctusincurrslice规定当前条带中ctu的数量,并且i的范围从0到numctusincurrslice

1(包括端值)的列表ctbaddrincurrslice[i]规定条带内第i个ctb的图片光栅扫描地址,导出如下:
[0382][0383]
变量subpicleftboundarypos、subpictopboundarypos、subpicrightboundarypos和subpicbotboundarypos的导出如下:
[0384][0385]
[0386]
slice_type根据表9规定条带的编解码类型。
[0387]
表9

与slice_type的名称关联
[0388]
slice_typeslice_type的名称0b(b条带)1p(p条带)2i(i条带)
[0389]
当不存在时,slice_type的值被推断为等于2。
[0390]
当ph_intra_slice_allowed_flag等于0时,slice_type的值应等于0或1。当nal_unit_type在idr_w_radl到cra_nut(包括端值)的范围内,且vps_independent_layer_flag[generallayeridx[nuh_layer_id]]等于1时,slice_type应等于2。
[0391]
变量minqtlog2sizey、minqtlog2sizec、minqtsizey、minqtsizec、maxbtsizey、maxbtsizec、minbtsizey、maxttsizey、maxttsizec、minttsizey、maxmttdepthy和maxmttdepthc的导出如下:
[0392]
‑‑
如果slice_type等于2(i),则以下适用:
[0393]
minqtlog2sizey=mincblog2sizey ph_log2_diff_min_qt_min_cb_intra_slice_luma
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(119)
[0394]
minqtlog2sizec=mincblog2sizey ph_log2_diff_min_qt_min_cb_intra_slice_chroma
ꢀꢀꢀꢀꢀꢀꢀꢀ
(120)
[0395]
maxbtsizey=1《《(minqtlog2sizey ph_log2_diff_max_bt_min_qt_intra_slice_luma)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(121)
[0396]
maxbtsizec=1《《(minqtlog2sizec ph_log2_diff_max_bt_min_qt_intra_slice_chroma)
ꢀꢀꢀꢀꢀꢀꢀ
(122)
[0397]
maxttsizey=1《《(minqtlog2sizey ph_log2_diff_max_tt_min_qt_intra_slice_luma)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(123)
[0398]
maxttsizec=1《《(minqtlog2sizec ph_log2_diff_max_tt_min_qt_intra_slice_chroma)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(124)
[0399]
maxmttdepthy=ph_max_mtt_hierarchy_depth_intra_slice_luma
ꢀꢀꢀ
(125)
[0400]
maxmttdepthc=ph_max_mtt_hierarchy_depth_intra_slice_chroma
ꢀꢀꢀ
(126)
[0401]
cuqpdeltasubdiv=ph_cu_qp_delta_subdiv_intra_slice
ꢀꢀꢀꢀꢀ
(127)
[0402]
cuchromaqpoffsetsubdiv=ph_cu_chroma_qp_offset_subdiv_intra_slice
ꢀꢀ
(128)
[0403]
‑‑
否则(slice_type等于0(b)或1(p)),以下适用:
[0404]
minqtlog2sizey=mincblog2sizey ph_log2_diff_min_qt_min_cb_inter_slice
ꢀꢀ
(129)
[0405]
minqtlog2sizec=mincblog2sizey ph_log2_diff_min_qt_min_cb_inter_slice
ꢀꢀ
(130)
[0406]
maxbtsizey=1《《(minqtlog2sizey ph_log2_diff_max_bt_min_qt_inter_slice)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(131)
[0407]
maxbtsizec=1《《(minqtlog2sizec ph_log2_diff_max_bt_min_qt_inter_
slice)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(132)
[0408]
maxttsizey=1《《(minqtlog2sizey ph_log2_diff_max_tt_min_qt_inter_slice)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(133)
[0409]
maxttsizec=1《《(minqtlog2sizec ph_log2_diff_max_tt_min_qt_inter_slice)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(134)
[0410]
maxmttdepthy=ph_max_mtt_hierarchy_depth_inter_slice
ꢀꢀꢀ
(135)
[0411]
maxmttdepthc=ph_max_mtt_hierarchy_depth_inter_slice
ꢀꢀꢀ
(136)
[0412]
cuqpdeltasubdiv=ph_cu_qp_delta_subdiv_inter_slice
ꢀꢀꢀ
(137)
[0413]
cuchromaqpoffsetsubdiv=ph_cu_chroma_qp_offset_subdiv_inter_slice
ꢀꢀ
(138)
[0414]
‑‑
以下适用:
[0415]
minqtsizey=1《《minqtlog2sizey
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(139)
[0416]
minqtsizec=1《《minqtlog2sizec
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(140)
[0417]
minbtsizey=1《《mincblog2sizey
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(141)
[0418]
minttsizey=1《《mincblog2sizey
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(142)
[0419]
slice_alf_enabled_flag等于1规定自适应环路滤波器被启用,并且可以应用于条带中的y、cb或cr颜色分量。slice_alf_enabled_flag等于0规定对条带中的所有颜色分量禁用自适应环路滤波器。当不存在时,slice_alf_enabled_flag的值被推断为等于ph_alf_enabled_flag。
[0420]
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的值。
[0421]
slice_alf_aps_id_luma[i]规定条带的亮度分量所参考的第i个alf aps的adaptation_parameter_set_id。aps_params_type等于alf_aps并且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的aps nal单元的temporalid应小于或等于编解码条带nal单元的temporalid。当slice_alf_enabled_flag等于1且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值推断为等于ph_alf_aps_id_luma[i]的值。
[0422]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的aps nal单元的alf_luma_filter_signal_flag的值应等于1。
[0423]
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。
[0424]
slice_alf_aps_id_chroma规定条带的色度分量所参考的alf aps的adaptation_parameter_set_id。aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的aps nal单元的temporalid应小于或等于编解码条带nal单元的temporalid。当slice_alf_enabled_flag等于1且slice_alf_aps_id_chroma不存在时,
slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
[0425]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的aps nal单元的alf_chroma_filter_signal_flag的值应等于1。
[0426]
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。
[0427]
slice_cc_alf_cb_aps_id规定条带的cb颜色分量所参考的adaptation_parameter_set_id。
[0428]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_cc_alf_cb_aps_id的aps nal单元的temporalid应小于或等于编解码条带nal单元的temporalid。当slice_cc_alf_cb_enabled_flag等于1且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
[0429]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_cc_alf_cb_aps_id的aps nal单元的alf_cc_cb_filter_signal_flag的值应等于1。
[0430]
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。
[0431]
slice_cc_alf_cr_aps_id规定条带的cr颜色分量所参考的adaptation_parameter_set_id。aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_cc_alf_cr_aps_id的aps nal单元的temporalid应小于或等于编解码条带nal单元的temporalid。当slice_cc_alf_cr_enabled_flag等于1且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
[0432]
aps_params_type等于alf_aps且adaptation_parameter_set_id等于slice_cc_alf_cr_aps_id的aps nal单元的alf_cc_cr_filter_signal_flag的值应等于1。
[0433]
当separate_colour_plane_flag等于1时,colour_plane_id标识与当前条带相关联的颜色平面。colour_plane_id的值应在0到2(包括端值)的范围内。colour_plane_id值0、1和2分别对应于y、cb和cr平面。colour_plane_id的值3保留供itu-t|iso/iec未来使用。
[0434]
注1

一张图片的不同颜色平面的解码过程之间没有依赖关系。
[0435]
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。
[0436]
num_ref_idx_active_minus1[i]用于导出变量numrefidxactive[i],如等式143所规定。num_ref_idx_active_minus1[i]的值应在0到14(包括端值)的范围内。
[0437]
对于i等于0或1,当当前条带是b条带,num_ref_idx_active_override_flag等于1,且num_ref_idx_active_minus1[i]不存在时,num_ref_idx_active_minus1[i]被推断为
等于0。
[0438]
当当前条带是p条带,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[0]不存在时,num_ref_idx_active_minus1[0]被推断为等于0。
[0439]
变量numrefidxactive[i]的导出如下:
[0440][0441]
numrefidxactive[i]-1的值规定可用于解码条带的参考图片列表i的最大参考索引。当numrefidxactive[i]的值等于0时,没有参考图片列表i的参考索引可用于对条带进行解码。
[0442]
当前条带为p条带时,numrefidxactive[0]的值应大于0。
[0443]
当当前条带为b条带时,numrefidxactive[0]和numrefidxactive[1]均应大于0。
[0444]
cabac_init_flag规定用于确定在上下文变量的初始化过程中使用的初始化表的方法。当cabac_init_flag不存在时,其被推断为等于0。
[0445]
slice_collocated_from_l0_flag等于1规定用于时域运动矢量预测的共位图片是从参考图片列表0导出的。slice_collocated_from_l0_flag等于0规定用于时域运动矢量预测的共位图片是从参考图片列表1中导出的。
[0446]
当slice_type等于b或p,ph_temporal_mvp_enabled_flag等于1,并且slice_collocated_from_l0_flag不存在时,以下适用:
[0447]
‑‑
如果rpl_info_in_ph_flag等于1,则推断slice_collocated_from_l0_flag等于ph_collocated_from_l0_flag。
[0448]
‑‑
否则(rpl_info_in_ph_flag等于0,并且slice_type等于p),slice_collocated_from_l0_flag的值被推断为等于1。
[0449]
slice_collocated_ref_idx规定用于时域运动矢量预测的共位图片的参考索引。
[0450]
当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(包括端值)的范围内。
[0451]
当slice_type等于b并且slice_collocated_from_l0_flag等于0时,slice_collocated_ref_idx参考在参考图片列表1中的条目,并且slice_collocated_ref_idx的值应该在0到numrefidxactive[1]

1(包括端值)的范围内。
[0452]
当slice_collocated_ref_idx不存在时,以下适用:
[0453]
‑‑
如果rpl_info_in_ph_flag等于1,则推断slice_collocated_ref_idx的值等于ph_collocated_ref_idx。
[0454]
‑‑
否则(rpl_info_in_ph_flag等于0),slice_collocated_ref_idx的值被推断为等于0。
[0455]
比特流一致性的要求是,由slice_collocated_ref_idx参考的图片对于编解码图片的所有条带应该是相同的。
[0456]
比特流一致性的要求是,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。
[0457]
slice_qp_delta规定用于条带中的编解码块的qpy的初始值,直到被编解码单元层中的cuqpdeltaval的值修改。
[0458]
当qp_delta_info_in_ph_flag等于0时,条带的qpy量化参数的初始值sliceqpy被导出如下:
[0459]
sliceqpy=26 init_qp_minus26 slice_qp_delta
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(144)
[0460]
sliceqpy的值应在-qpbdoffset到 63(包括端值)的范围内。
[0461]
当以下任一条件为真时:
[0462]
‑‑
wp_info_in_ph_flag的值等于1,pps_weighted_pred_flag的值等于1,并且slice_type的值等于p。
[0463]
‑‑
wp_info_in_ph_flag的值等于1,pps_weighted_bipred_flag的值等于1,并且slice_type的值等于b。
[0464]
以下适用:
[0465]
‑‑
numrefidxactive[0]的值应小于或等于numweightsl0的值。
[0466]

对于i的范围在0到numrefidxactive[0]-1(包括端值)范围内的每个参考图片索引refpiclist[0][i],应用于参考图片索引的亮度权重、cb权重和cr权重分别为lumaweightl0[i]、chromaweightl0[0][i]和chromaweightl0[1][i]。
[0467]
当wp_info_in_ph_flag等于1,pps_weighted_bipred_flag等于1,并且slice_type等于b时,以下适用:
[0468]
‑‑
numrefidxactive[1]的值应小于或等于numweightsl1的值。
[0469]

对于i的范围在0至numrefidxactive[1]-1(包括端值)范围内的每个参考图片索引refpiclist[1][i],应用于参考图片索引的亮度权重、cb权重和cr权重分别为lumaweightl1[i]、chromaweightl1[0][i]和chromaweightl1[1][i]。
[0470]
slice_cb_qp_offset规定在确定qp

cb
量化参数的值时要添加到pps_cb_qp_
offset的值的差。slice_cb_qp_offset的值应在-12至 12(包括端值)范围内。当slice_cb_qp_offset不存在时,其被推断为等于0。pps_cb_qp_offset slice_cb_qp_offset的值应在-12至 12(包括端值)范围内。
[0471]
slice_cr_qp_offset规定在确定qp

cr
量化参数值时要添加到pps_cr_qp_offset的值的差。slice_cr_qp_offset的值应在-12至 12(包括端值)范围内。当slice_cr_qp_offset不存在时,其被推断为等于0。pps_cr_qp_offset slice_cr_qp_offset的值应在-12至 12(包括端值)范围内。
[0472]
slice_joint_cbcr_qp_offset规定在确定qp

cbcr
的值时要添加到pps_joint_cbcr_qp_offset_value的值的差。slice_joint_cbcr_qp_offset的值应在-12至 12(包括端值)范围内。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于0。pps_joint_cbcr_qp_offset_value slice_joint_cbcr_qp_offset的值应在-12至 12(包括端值)范围内。
[0473]
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。
[0474]
slice_sao_luma_flag等于1规定为当前条带中的亮度分量启用sao;slice_sao_luma_flag等于0规定为当前条带中的亮度分量禁用sao。当slice_sao_luma_flag不存在时,其被推断为等于ph_sao_luma_enabled_flag。
[0475]
slice_sao_chroma_flag等于1规定为当前条带中的色度分量启用sao;slice_sao_chroma_flag等于0规定为当前条带中的色度分量禁用sao。当slice_sao_chroma_flag不存在时,其被推断为等于ph_sao_chroma_enabled_flag。
[0476]
slice_deblocking_filter_override_flag等于1规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于ph_deblocking_filter_override_flag。
[0477]
slice_deblocking_filter_disabled_flag等于1规定去块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0规定对当前条带应用去块滤波器的操作。当slice_deblocking_filter_disabled_flag不存在时,其被推断为等于ph_deblocking_filter_disabled_flag。
[0478]
slice_beta_offset_div2和slice_tc_offset_div2规定应用于当前条带的亮度分量的β和tc(除以2)的去块参数偏移。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2。
[0479]
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2规定应用于当前条带的cb分量的β和tc(除以2)的去块参数偏移。slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值推断为分别等于ph_cb_beta_offset_div2和ph_cb_tc_offset_div2。
[0480]
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2规定应用于当前条带的cr分量的β和tc(除以2)的去块参数偏移。slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值推断为分别等于ph_cr_beta_offset_div2和ph_cr_tc_offset_div2。
[0481]
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。
[0482]
slice_lmcs_enabled_flag等于1规定为当前条带启用带有色度缩放的亮度映射。slice_lmcs_enabled_flag等于0规定为当前条带不启用带有色度缩放的亮度映射。当slice_lmcs_enabled_flag不存在时,其被推断为等于0。
[0483]
slice_scaling_list_present_flag等于1规定用于当前条带的缩放列表数据是基于包含在参考缩放列表aps中的缩放列表数据导出的,其中aps_params_type等于scaling_aps,并且adaptation_parameter_set_id等于ph_scaling_list_aps_id。slice_scaling_list_present_flag等于0规定用于当前图片的缩放列表数据是在条款7.4.3.21中规定的默认缩放列表数据。当不存在时,slice_scaling_list_present_flag的值被推断为等于0。
[0484]
变量numentrypoints规定当前条带中条目点的数量,导出如下:
[0485][0486]
offset_len_minus1加1规定entry_point_offset_minus1[i]语法元素的以位为单位的长度。offset_len_minus1的值应在0到31(包括端值)的范围内。
[0487]
entry_point_offset_minus1[i]加1以字节为单位规定第i个条目点偏移,并且用offset_len_minus1加1位表示。条带标头之后的条带数据由numentrypoints 1个子集组成,其中子集索引值的范围从0到numentrypoints(包括端值)。条带数据的第一个字节被视为字节0。当存在时,出现在编解码条带nal单元的条带数据部分中的仿真防止字节被计数
为条带数据的部分,用于子集识别的目的。子集0由编解码条带数据的字节0至entry_point_offset_minus1[0](包括端值)组成,子集k(其中k的范围为1至numentrypoints-1(包括端值))由编解码条带数据的字节firstbyte[k]至lastbyte[k](包括端值)组成,其中firstbyte[k]和lastbyte[k]定义为:
[0488][0489]
lastbyte[k]=firstbyte[k] entry_point_offset_minus1[k]
ꢀꢀ
(147)
[0490]
最后一个子集(其中子集索引等于numentrypoints)由编解码条带数据的剩余字节组成。
[0491]
当sps_entropy_coding_sync_enabled_flag等于0并且条带包含一个或多个完整的片时,每个子集应由同一片内的条带中所有ctu的所有编解码位组成,并且子集的数量(即numentrypoints 1的值)应等于条带中的片的数量。
[0492]
当sps_entropy_coding_sync_enabled_flag等于0并且条带包含来自单个片的ctu行的子集时,numentrypoints应当是0,并且子集的数量应当是1。该子集应由条带中的所有ctu的所有编解码位组成。
[0493]
当sps_entropy_coding_sync_enabled_flag等于1时,k的范围在0到numentrypoints(包括端值)的每个子集k应由片内的ctu行中所有ctu的所有编解码位组成,并且子集的数量(即numentrypoints 1的值)应等于条带中片特定ctu行的总数量。
[0494]
slice_header_extension_length以字节为单位规定条带标头扩展数据的长度,不包括用于信令通知slice_header_extension_length本身的位。slice_header_extension_length的值应在0到256(包括端值)的范围内。当不存在时,slice_header_extension_length的值被推断为等于0。
[0495]
slice_header_extension_data_byte[i]可以具有任何值。符合该版本该规范的解码器应忽略所有slice_header_extension_data_byte[i]语法元素的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
[0496]
3.4.帧间块的解码过程-分数样点插值过程
[0497]
在最新的vvc草案文本中,分数样点插值过程的解码过程如下:
[0498]
该过程的输入包括:
[0499]

亮度位置(xsb,ysb),规定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
[0500]

变量sbwidth,规定当前编解码子块的宽度,
[0501]

变量sbheight,规定当前编解码子块的高度,
[0502]

运动矢量偏移mvoffset,
[0503]

精确的运动矢量refmvlx,
[0504]

所选择的参考图片样点数组refpiclx,
[0505]

半样点插值滤波器指数hpelifidx,
[0506]

解码器侧运动矢量细化标志dmvrflag,
[0507]

双向光流标志bdofflag,
[0508]

变量refpicisscaled,指示所选参考图片是否需要缩放,
[0509]

变量cidx,规定当前块的颜色分量索引,
[0510]

水平和垂直两种缩放比例scalingratio的列表。
[0511]
该过程的输出是:
[0512]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)数组predsampleslx。
[0513]
预测块边界扩展尺寸brdextsize的推导如下:
[0514]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&!ph_disable_prof_flag))?2:0
ꢀꢀꢀꢀꢀ
(934)
[0515]
变量refwraparoundenabledflag被设置为等于(pps_ref_wraparound_enabled_flag&&!refpicisscaled)。
[0516]
变量frefleftoffset被设置为等于((subwidthc*scaling_win_left_offset)《《10),其中scaling_win_left_offset是参考图片的scaling_win_left_offset。
[0517]
变量freftopoffset被设置为等于((subwidthc*scaling_win_top_offset)《《10),其中scaling_win_top_offset是参考图片的scaling_win_top_offset。
[0518]
预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)数组predsampleslx推导如下:
[0519]

运动矢量mvlx设置为(refmvlx mvoffset)。
[0520]

如果cidx等于0,则适用以下条件:
[0521]

设(xint
l
,yint
l
)是以全样点为单位给出的亮度位置,并且(xfrac
l
,yfrac
l
)是以1/16样点为单位给出的偏移。这些变量仅在该条款中用于规定参考样点数组refpiclx内的分数样点位置。
[0522]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0523]

对于每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),则相应的预测亮度样点值predsampleslx[x
l
][y
l
]的导出如下
[0524]

设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为运动矢量(refmvlx[0],refmvlx[1])指向的以1/16样点为单位给出的亮度位。变量refxsb
l
、refx
l
、refysb
l
和refy
l
的推导如下:
[0525]
refxsb
l
=(((xsb-(subwidthc*scaling_win_left_offset))《《4) refmvlx[0])*scalingratio[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(935)
[0526]
refx
l
=((sign(refxsb
l
)*((abs(refxsb
l
) 128)》》8) x
l
*((scalingratio[0] 8)》》4)) frefleftoffset 32)》》6
[0527]
(936)
[0528]
refysb
l
=(((ysb-(subwidthc*scaling_win_top_offset))《《4) refmvlx[1])*scalingratio[1]
[0529]
(937)
[0530]
refy
l
=((sign(refysb
l
)*((abs(refysb
l
) 128)》》8) yl*((scalingratio[1] 8)》》4)) freftopoffset 32)》》6
ꢀꢀ
(938)
[0531]

变量xint
l
、yint
l
、xfrac
l
和yfrac
l
的推导如下:
[0532]
xint
l
=refx
l
》》4
ꢀꢀ
(939)
[0533]
yint
l
=refy
l
》》4
ꢀꢀ
(940)
[0534]
xfrac
l
=refx
l
&15
ꢀꢀ
(941)
[0535]
yfrac
l
=refy
l
&15
ꢀꢀ
(942)
[0536]

预测亮度样点值predsampleslx[x
l
][y
l
]的推导如下:
[0537]

如果bdofflag等于true或(ph_disable_prof_flag等于false,且inter_affine_flag[xsb][ysb]等于true),并且以下一个或多个条件为true,则通过调用条款8.5.6.3.3中规定的亮度整数样点获取过程导出预测亮度样点值predsampleslx[x
l
][y
l
],其中(xint
l
(xfrac
l
》》3)-1、yint
l
(yfrac
l
》》3)-1、refpiclx和refwraparoundenabledflag作为输入。
[0538]

x
l
等于0。
[0539]

x
l
等于sbwidth 1。
[0540]
–yl
等于0。
[0541]
–yl
等于sbheight 1。
[0542]

否则,通过调用如条款8.5.6.3.2所規定的亮度样点8抽头插值滤波过程来获得预测亮度样点值predsampleslx[x
l
][y
l
],其中(xintl-(brdextsize》0?1:0)、yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight、dmvrflag、refwraparoundenabledflag、scalingratio[0],scalingratio[1]和(xsb,ysb)作为输入。
[0543]

否则(cidx不等于0),以下适用:
[0544]

设(xintc,yintc)是以全样本为单位给出的色度位置,并且(xfracc,yfracc)是以1/32样点为单位给出的偏移。这些变量仅在该条款中用于规定参考样点数组refpiclx内的一般分数样点位置。
[0545]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0546]

对于每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1)在预测色度样点数组predsampleslx内,相应的预测色度样点值predsampleslx[xc][yc]的推导如下:
[0547]

设(refxsbc,refysbc)和(refxc,refyc)是以1/32样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的色度位置。变量refxsbc、refysbc、refxc和refyc的推导如下:
[0548]
addx=sps_chroma_horizontal_collocated_flag?0:8*(scalingratio[0]-(1《《14))
ꢀꢀ
(943)
[0549]
addy=sps_chroma_vertical_collocated_flag?0:8*(scalingratio[1]-(1《《14))
ꢀꢀ
(944)
[0550]
refxsbc=(((xsb-(subwidthc*scaling_win_left_offset))/subwidthc《《5) refmvlx[0])*scalingratio[0] addx
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(945)
[0551]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((scalingratio[0] 8)》》4)) frefleftoffset/subwidthc 16)》》5
ꢀꢀ
(946)
[0552]
refysbc[0553]
=(((ysb-(subwidthc*scaling_win_top_offset))/subheightc《《5) refmvlx[1])*scalingratio[1] addy
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(947)
[0554]

refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((scalingratio[1]
8)》》4)) freftopoffset/subheightc 16)》》5
ꢀꢀ
(948)
[0555]

变量xintc、yintc、xfracc和yfracc的推导如下:
[0556]
xintc=refxc》》5
ꢀꢀꢀ
(949)
[0557]
yintc=refyc》》5
ꢀꢀꢀ
(950)
[0558]
xfracc=refxc&31
ꢀꢀꢀ
(951)
[0559]
yfracc=refyc&31
ꢀꢀꢀ
(952)
[0560]

预测样点值predsampleslx[xc][yc]是通过调用条款8.5.6.3.4中规定的过程得到,其中(xintc,yintc)、(xfracc,yfracc)、(xsbintc,ysbintc)、sbwidth、sbheight、refpiclx、dmvrflag、refwraparoundenabledflag、scalingratio[0]和scalingratio[1]作为输入。
[0561]
注——与条款8.4.5.2.13中规定的过程不同,该过程使用sps_chroma_vertical_collocated_flag和sps_chroma_horizontal_collocated_flag。
[0562]
4.技术方案和实施例解决的技术问题
[0563]
现有的去块、缩放和prof设计存在以下问题:
[0564]
1)目前,pps、ph和sh语法元素中的去块(db)控制的设计逻辑存在一些问题。
[0565]
a.首先,根据pps语法元素pps_deblocking_filter_disabled_flag的当前语义,将检查sh语法元素slice_deblocking_filter_disabled_flag,pps语法元素pps_deblocking_filter_disabled_flag用于规定是否对参考pps的条带应用去块滤波器。然而,除了slice_deblocking_filter_disabled_flag之外,还应该与pps_deblocking_filter_disabled_flag一起检查ph语法元素ph_deblocking_filter_disabled_flag。因此,目前pps_deblocking_filter_disabled_flag的语义是不正确的。
[0566]
b.其次,根据当前的草案文本,当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中信令通知附加去块滤波器参数,这与意图相冲突。
[0567]
c.第三,根据当前的草案文本,如果pps语法元素deblocking_filter_override_enabled_flag等于1,同时pps_deblocking_filter_disabled_flag等于1,则ph_deblocking_filter_disabled_flag或slice_deblocking_filter_disabled_flag仍可以被显式信令通知等于1。然而,这种情况意味着去块在pps中被禁用,并且它将被覆盖,但是覆盖过程不改变任何东西(例如,去块在ph/sh中保持被禁用),而是浪费用于信令通知的比特。
[0568]
d.第四,当前去块设计逻辑允许在ph/sh中可启用去块,即使它在pps中被禁用。这样的设计逻辑与大多数其他编解码工具的设计逻辑大相径庭,比如alf、sao、lmcs、tmvp、wp等等。
[0569]
e.pps db禁用标志(即,pps_deblocking_filter_disabled_flag)仅在deblocking_filter_control_present_flag等于1时才被信令通知,如果该标志不存在,则
推断为等于0。也就是说,目的是默认启用db。两个语法元素(即,pps db禁用标志和deblocking_filter_control_present_flag)有些冗余。更好的设计是必要的。
[0570]
2)根据最新的vvc草案文本,为prof生成的预测块的尺寸取决于它是否是仿射amvp或仿射merge模式。假设sbwidth和sbheight是仿射编解码块的子块的宽度和高度,在当前文本中,根据条件“inter_affine_flag[xsb][ysb]&&!ph_disable_prof_flag”,当prof应用于仿射amvp块时,具有扩展样点的预测块(诸如(sbwidth 2)x(sbheight 2))用于prof,然而,当prof应用于仿射merge块时,sbwidth x sbheight的预测块用于prof。这种设计导致具有仿射amvp的prof与具有仿射merge的prof之间的不同处理机制。
[0571]
a.此外,8抽头插值滤波器用于在prof的子块内生成内部预测样点,并且除了8抽头滤波器之外的整数样点用于在prof的子块外生成扩展预测样点。然而,根据当前文本,没有用于具有仿射merge的prof的扩展样点,这导致具有仿射amvp的prof和具有仿射merge的prof之间的差异。
[0572]
3)目前,图片级别或条带级别亮度qp增量总是在ph或sh中信令通知,而不是在两者中都信令通知。而条带级别色度qp偏移可选地在sh中信令通知,并且没有图片级别色度qp偏移的ph信令通知。这种设计可能不一致/不高效/不灵活。
[0573]
4)在最新的vvc草案文本中,与增量qp信令通知相关的ph语法元素(诸如ph_cu_qp_delta_subdiv_intra_slice、ph_cu_qp_delta_subdiv_inter_slice、ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice)的允许值范围的定义可能不精确。
[0574]
5.解决方案和实施例的示例列表
[0575]
为了解决上述问题和一些未提及的其他问题,公开了如下概述的方法。这些项目应该被认为是解释总体构思的示例,而不应该以狭隘的方式解释。此外,这些项目可以单独应用或以任何方式组合应用。
[0576]
在以下讨论中,dbf参数可以包括dbf开/关控制参数和dbf滤波参数(例如,β(beta)/tc偏移的指示,诸如pps_beta_offset_div2)。
[0577]
在以下讨论中,sh可以与ph相关联,即sh与条带相关联,该条带在与ph相关联的图片中。sh可以与pps相关联,即sh与条带相关联,该条带在与pps相关联的图片中。ph可以与pps相关联,即,ph与图片相关联,该图片与pps相关联。
[0578]
在以下讨论中,sps可以与pps相关联,即pps可以指sps。
[0579]
1.关于用于解决第一个问题的pps、ph和sh中的去块控制的设计,公开了以下方法中的一种或多种,例如在第一组实施例中:
[0580]
a.在一个示例中,去块滤波器的操作是否应用于参考pps的条带可以取决于相关联的ph的去块开/关标志(例如,ph_deblocking_filter_disabled_flag)。
[0581]
i.例如,去块滤波器的操作是否应用于参考pps的条带可以取决于去块是否在pps中被禁用(例如,pps_deblocking_filter_disabled_flag等于1)以及去块是否在图片级别被禁用(例如,ph_deblocking_filter_disabled_flag等于1)以及去块是否在条带级别被禁用(例如,slice_deblocking_filter_disabled_flag等于1)。
[0582]
ii.可选择地,去块滤波器的操作是否应用于参考pps的条带可以取决于去块是否在pps中被禁用(例如,pps_deblocking_filter_disabled_flag等于1)以及去块覆盖是否
在图片级别和条带级别被禁用(例如,deblocking_filter_override_enabled_flag等于0)。
[0583]
iii.可选择地,去块滤波器的操作是否应用于参考pps的条带可以仅取决于去块是否在pps中被禁用(例如,pps_deblocking_filter_disabled_flag等于1)。
[0584]
b.此外,当slice_deblocking_filter_override_flag不存在时,slice_deblocking_filter_override_flag的值可以独立于ph_deblocking_filter_override_flag(可以推断为特定值,例如0)。
[0585]
c.此外,可选地,ph语法元素ph_deblocking_filter_disabled_flag和/或sh语法元素slice_deblocking_filter_disabled_flag是否被显式地信令通知或隐式地推断可以取决于pps去块开/关标志的值,例如pps_deblocking_filter_disabled_flag。
[0586]
d.提出了如果dbf在第一级别(例如,在pps中)被禁用,则不允许在较低级别(例如,ph/sh)被启用。
[0587]
i.例如,在ph/sh中图片/条带级别dbf开/关控制参数的存在可以直接取决于在pps中信令通知的dbf开/关标志的值(例如,pps_deblocking_filter_disabled_flag),而不是在ph/sh中信令通知的dbf覆盖标志的值。
[0588]
1)例如,当pps dbf开/关控制参数规定针对参考pps的条带禁用去块(pps_deblocking_filter_disabled_flag等于1)时,则可以不信令通知ph/sh dbf开/关控制参数。
[0589]
ii.另外,pps/ph/sh处的dbf开/关控制参数的存在可以直接基于dbf全局控制标志(例如,pps中的deblocking_filter_control_present_flag)来调节,该dbf全局控制标志规定pps、ph和sh中dbf开/关控制参数和dbf滤波器参数的存在。
[0590]
1)例如,当dbf全局控制标志规定既不信令通知dbf开/关控制参数也不信令通知dbf滤波器参数时(deblocking_filter_control_present_flag等于0),则可以不信令通知pps/ph/sh dbf开/关控制参数。
[0591]
iii.另外,当pps去块开/关标志不存在时,可以推断其等于特定值,例如0或1。
[0592]
iv.另外,当ph去块开/关标志不存在时,可以推断其等于pps去块开/关标志的值。
[0593]
v.另外,当sh去块开/关标志不存在时,可以推断其等于pps/ph去块开/关标志的值。
[0594]
e.提出了如果dbf在第一级别(例如,在ph中)被启用,则它可以在较低级别(例如,sh)被禁用。
[0595]
i.例如,对于图片中的多个条带,允许一些条带使用去块滤波器,而一些条带不使用去块滤波器。
[0596]
ii.例如,在sh的dbf开/关控制标志的信令通知可以取决于phdbf开/关控制标志的时间。
[0597]
1)例如,当针对当前图片启用dbf时,可以进一步信令通知条带级别的dbf开/关控制标志,以规定当前条带是否使用去块滤波器。
[0598]
f.pps语法元素“dbf_info_in_ph_flag”的信令通知可以独立于其他语法元素,诸如deblocking_filter_override_enabled_flag。语法元素“dbf_info_in_ph_flag”规定dbf开/关控制参数和/或dbf滤波器参数是否存在于ph或sh中。
[0599]
i.另外,可选择地,ph/sh中的图片/条带级别dbf开/关标志的信令通知可以基于dbf_info_in_ph_flag和/或pps_deblocking_filter_enabled_flag而不是ph/sh dbf覆盖标志来直接调节。
[0600]
g.提出了pps/ph/sh中的dbf覆盖标志仅用于覆盖dbf滤波器参数,而不是dbf开/关控制参数。
[0601]
i.例如,首先信令通知dbf开/关控制标志,然后信令通知dbf覆盖标志,条件是基于同一级别(例如,pps/ph/sh)的dbf开/关控制标志。
[0602]
1)例如,图片/条带级别dbf开/关控制参数可以在ph/sh中信令通知,而不管ph/sh dbf覆盖标志是否等于真。
[0603]
2)例如,图片/条带级dbf开/关控制参数可以在ph/sh中信令通知,而不管pps dbf覆盖标志是否等于真。
[0604]
3)例如,dbf覆盖标志基于处于同一级别(例如,pps/ph/sh)的dbf开/关控制标志有条件地信令通知。
[0605]
a.例如,pps去块覆盖启用标志(例如,deblocking_filter_override_enabled_flag)的信令通知可以取决于在pps是否启用去块(例如,pps中的pps_deblocking_filter_disabled_flag等于0)。
[0606]
i.例如,当在pps中禁用去块时,pps语法元素deblocking_filter_override_enabled_flag不被信令通知。
[0607]
b.例如,ph去块覆盖标志(例如,ph_deblocking_filter_override_flag)的信令通知可以取决于在ph中是否启用去块(例如,ph_deblocking_filter_disabled_flag等于0)。
[0608]
i.例如,当在ph中禁用去块时,ph语法元素ph_deblocking_filter_override_flag不被信令通知。
[0609]
c.例如,sh去块覆盖标志(例如,slice_deblocking_filter_override_flag)的信令通知可以取决于去块是否在sh中被启用(例如,slice_deblocking_filter_disabled_flag等于0)。
[0610]
i.例如,当sh中禁用去块时,sh语法元素slice_deblocking_filter_override_flag不被信令通知。
[0611]
d.另外,当pps/ph/sh去块覆盖标志不存在时,可以推断其等于特定值(例如0)。
[0612]
4)例如,dbf滤波器参数的信令通知可以直接取决于dbf覆盖标志,而不是dbf开/关控制标志。
[0613]
a.例如,在ph中的dbf滤波器参数(例如,ph_beta_offset_div2、ph_tc_offset_div2、ph_cb_beta_offset_div2、ph_cb_tc_offset_div2、ph_cr_beta_offset_div2、ph_cr_tc_offset_div2)的存在可以基于ph中的dbf覆盖标志(例如,ph_deblocking_filter_override_flag)而不是ph中的dbf开/关标志(例如,ph_deblocking_filter)来直接调节。
[0614]
b.例如,sh中dbf滤波器参数(例如,slice_beta_offset_div2、slice_tc_offset_div2、slice_cb_beta_offset_div2、slice_cb_tc_offset_div2、slice_cr_beta_offset_div2、slice_cr_tc_offset_div2)的存在可以基于sh中的dbf覆盖标志(例如,slice_deblocking_filter_override_flag)而不是sh中的dbf开/关标志(例如,slice_
deblocking_filter)来直接调节。
[0615]
h.提出了pps/ph/sh中的dbf开/关控制可以依赖于dbf的“启用”标志,而不是dbf的“禁用”标志。
[0616]
i.例如,dbf启用标志(例如,名为pps_deblocking_filter_enabled_flag)可以在pps被信令通知,以规定是否对参考pps的条带启用去块。
[0617]
ii.例如,pps dbf启用标志可以独立于诸如dbf全局控制标志(例如,pps中的deblocking_filter_control_present_flag)的其他语法元素来信令通知。
[0618]
iii.例如,如果dbf在较高级别(例如,pps或ph)被禁用,则在较低级别(例如,ph和/或sh)的dbf启用标志的信令通知不存在,并且被推断为等于在较高级别(例如,pps/ph)的开/关控制标志的值。
[0619]
iv.例如,dbf全局控制标志(例如,pps中的deblocking_filter_control_present_flag)可以仅用于控制pps/ph/sh处的dbf覆盖标志和pps/ph/sh处的dbf滤波器参数的存在。
[0620]
1)例如,dbf全局控制标志(例如,pps中的deblocking_filter_control_present_flag)不用于控制pps/ph/sh处的dbf开/关控制参数的存在。
[0621]
2)例如,只有当dbf在pps中被启用时(例如,pps_deblocking_filter_enabled_flag等于1),dbf全局控制标志才被信令通知。
[0622]
a.例如,当在pps禁用dbf时(例如,pps_deblocking_filter_enabled_flag等于0),不信令通知dbf全局控制标志。
[0623]
b.此外,当在pps中禁用去块时,deblocking_filter_control_present_flag被推断为等于0。
[0624]
3)例如,pps中的dbf覆盖启用/禁用标志(例如,pps中的deblocking_filter_override_enabled_falg)的信令通知可以基于pps中的dbf全局控制标志而不是dbf开/关标志来直接调节。
[0625]
4)例如,pps dbf参数(诸如增量和tc值)的信令通知可以基于pps中的dbf全局控制标志而不是dbf开/关标志来直接调节。
[0626]
i.提出了允许覆盖dbf开/关控制参数或dbf滤波参数,但不能两者都覆盖。
[0627]
i.在一个示例中,可以在pps/ph/sh处允许覆盖机制。
[0628]
ii.在一个示例中,如果只有dbf开/关控制参数可以在不同级别(例如,pps/ph/sh)被覆盖,则以下可以进一步适用:
[0629]
1)如果针对较小的视频单元启用了dbf,则可以仅在第一级别(例如,在pps中)信令通知dbf滤波器参数,并且所有较小的视频单元(例如,图片/条带)都继承与第一级别相关联的参数。
[0630]
iii.在一个示例中,如果只有dbf滤波器参数可以在不同级别(例如,pps/ph/sh)被覆盖,则以下可以进一步适用:
[0631]
1)如果针对更小的视频单元启用了dbf,则dbf开/关控制参数可以仅在第一级别(例如,在pps中)信令通知,并且则所有更小的视频单元(例如,图片/条带)继承与第一级别相关联的参数。
[0632]
j.提出了当在较高级别(例如,在pps中)禁用dbf时,不允许在较小的视频单元(例
如,在ph/sh中)中覆盖dbf开/关控制参数。
[0633]
i.可选择地,此外,在较小视频单元级别(例如,在ph/sh中)的dbf开/关控制参数的信令通知可以在较高级别(例如,在pps中)的dbf开/关控制参数被打开的条件下检查。
[0634]
1)可选择地,此外,当在较小视频单元级别不存在时,dbf被推断为在较高视频单元级别被禁用或被启用,或者等于开/关状态。
[0635]
k.在pps中,“deblocking_filter_control_present_flag”可以被移除,并且指示启用/禁用dbf的第一语法元素可以被直接信令通知,而不是被“deblocking_filter_control_present_flag”控制。
[0636]
i.可选择地,此外,可以根据对应于启用dbf的第一语法元素,进一步信令通知告知是否允许覆盖dbf滤波器参数的第二语法元素。
[0637]
1)可替换地,此外,可以根据告知允许覆盖的第二语法元素信令通知dbf滤波器参数。
[0638]
l.在pps中,“deblocking_filter_control_present_flag”可以被移除,并且告知是否允许覆盖dbf参数的第一语法元素可以被直接信令通知,而不是由“deblocking_filter_control_present_flag”来控制。
[0639]
i.可替换地,此外,告知启用/禁用dbf的第二语法元素可以根据对应于允许覆盖的第一语法元素被进一步信令通知。
[0640]
1)可选择地,此外,可以根据告知dbf被启用的第二语法元素信令通知dbf滤波器参数。
[0641]
m.指示dbf开/关控制标志和/或dbf参数是否在ph或sh中信令通知的语法元素(例如dbf_info_in_ph_flag)可以在ph而不是pps中信令通知。
[0642]
n.在一个示例中,dbf开/关控制标志和/或dbf参数可以在ph和sh中信令通知。
[0643]
i.例如,sh中信令通知的dbf开/关控制标志和/或dbf参数可以覆盖ph中信令通知的dbf开/关控制标志和/或dbf参数。
[0644]
o.提出了dbf开/关控制标志和/或dbf参数可以在sps中信令通知。
[0645]
i.sps中信令通知的dbf开/关控制标志可以被低级别视频单元(如pps、ph或sh)中信令通知的dbf开/关控制标志覆盖。
[0646]
ii.sps中信令通知的dbf参数可以被低级别视频单元(如pps、ph或sh)中信令通知的dbf参数覆盖。
[0647]
p.具有非二进制值的语法(例如,除了标志之外的指示符)可以在视频单元级别(例如,pps/sps)中信令通知,以规定去块模式,例如,如在第一组实施例(诸如本文档的6.1.4小节中的实施例)中。在一个示例中,可以在pps信令通知n比特模式指示符,以规定去块滤波器模式。
[0648]
i.例如,n=2。
[0649]
ii.例如,2比特模式指示符(例如,命名为deblocking_filter_mode_idc)被添加到pps,并且具有以下语义:
[0650]
deblocking_filter_mode_idc等于0规定去块滤波器不应用于参考pps的所有条带。deblocking_filter_mode_idc等于1规定使用β和tc的0值去块参数偏移,对参考pps的的所有条带应用去块滤波器。deblocking_filter_mode_idc等于2规定使用pps中显式信令
通知的β和tc的去块参数偏移,对参考pps的所有条带应用去块滤波器。deblocking_filter_mode_idc等于3规定是否对参考pps的条带应用去块滤波器由条带的ph或条带标头中存在的参数控制。
[0651]
iii.此外,pps中dbf滤波器参数的信令通知取决于模式指示器的值。
[0652]
a.例如,如果模式指示符满足特定条件(例如,大于特定值x,例如x=1),则dbf滤波器参数在pps中被信令通知。否则,pps dbf滤波器参数被推断为0。
[0653]
iv.此外,规定dbf开/关控制参数和/或dbf滤波器参数是否存在于ph或sh中的pps语法元素“dbf_info_in_ph_flag”的信令通知可以取决于模式指示符的值。
[0654]
a.例如,如果模式指示符满足特定条件(例如,等于特定值y,例如y=3),则信令通知pps语法元素“dbf_info_in_ph_flag”。
[0655]
i.此外,如果pps语法元素“dbf_info_in_ph_flag”未被信令通知,则推断其等于特定值(如0或1)。
[0656]
v.此外,在ph或sh中的dbf开/关控制参数和/或dbf滤波器参数的信令通知可以取决于模式指示器的值。
[0657]
a.例如,如果模式指示符满足特定条件(例如,等于特定值y,例如y=3),则图片级别dbf开/关控制标志可以在ph中被信令通知。
[0658]
b.例如,如果模式指示符满足特定条件(例如,等于特定值y,例如y=3),则可以在sh中信令通知sh处的条带级别dbf开/关控制标志。
[0659]
q.dbf可在pic/slice级别启用,并对dbf参数使用0值beta/tc偏移。
[0660]
i.在一个示例中,可以在pps中信令通知一个或多个语法元素(例如,名为explicit_default_deblocking_params_flag),以规定默认dbf参数是否具有0值的β/tc偏移或显式信令通知的β/tc偏移,并且仅在后一种情况下,显式信令通知β/tc偏移。由pps确定的dbf参数和默认的dbf参数可能会或可能不会在图片级别或条带级别被覆盖。
[0661]
ii.在一个示例中,可以在视频单元级别(例如,sps/pps/ph/sh)信令通知一个或多个语法元素(例如,名为explicit_default_deblocking_params_flag),以规定是否使用0值β/tc偏移或显式信令通知β/tc偏移,在后一种情况下,显式信令通知β/tc偏移。
[0662]
2.关于用于解决第二个问题的具有仿射amvp的prof和具有仿射merge的prof的处理机制,例如,如在第二组实施例中,公开了一个或多个以下方法:
[0663]
a.对于仿射merge编解码的块,仍可应用prof,并且对应于m*n子块(或块)的预测块尺寸可大于m*n,即,由(m m0)*(n n0)表示,其中m0和n0不都等于0。
[0664]
i.在一个示例中,m0和n0被设置为2。
[0665]
b.是否使用扩展样点来生成prof预测块(子块)和/或为prof预测块(子块)生成多少扩展样点可以取决于预测细化利用标志,例如cbprofflaglx,并且x为0或1。
[0666]
i.可以使用预测块边界扩展尺寸的特定值(例如扩展的宽度和/或扩展的高度和/或扩展的样点的数量),无论它是具有仿射amvp的prof子块还是具有仿射merge的prof子块。
[0667]
a)例如,对于应用prof的m
×
n子块,其中m为子块宽度,n为子块高度,x(例如,x=2)个宽度上的扩展样点和y(例如,y=2)个高度上的扩展样点可用于构建prof子块的(m x)x(n y)个预测样点,无论它是具有仿射amvp的prof子块还是具有仿射merge的prof子块。
[0668]
ii.整数样点用于生成用于prof预测的扩展样点,无论它是具有仿射amvp的prof子块还是具有仿射merge的prof子块。
[0669]
3.关于用于解决第三个问题的ph和sh qp增量/偏移信令通知,公开了以下方法中的一种或多种:
[0670]
a.在一个示例中,与ph/sh(例如,sps/pps)相比,第一语法元素可以在更高的级别中信令通知,以指示是否启用亮度/色度增量qp信令通知。
[0671]
i.在一个示例中,ph和/或sh中亮度qp增量的存在可取决于sps/pps亮度qp增量存在标志(例如,pps_pic_slice_luma_qp_delta_present_flag),例如,如第三实施例中那样。
[0672]
a)例如,如果sps/pps亮度qp增量存在标志规定既不信令通知ph亮度qp增量,也不信令通知sh亮度qp增量,则要求不在ph中信令通知亮度qp增量,也不在sh中信令通知亮度qp增量。
[0673]
a.可选择地,如果sps/pps亮度qp增量存在标志规定ph/sh亮度qp增量不存在,则要求不在ph/sh中信令通知亮度qp增量。
[0674]
b.此外,如果ph亮度qp增量不存在,则可以将其推断为特定值(例如0)。
[0675]
c.此外,如果sh亮度qp增量不存在,则可以将其推断为特定值(例如0或等于ph亮度qp增量)。
[0676]
b)此外,规定亮度qp增量是否在ph或sh中信令通知的pps开关标志(例如,qp_delta_info_in_ph_flag)的存在可以取决于上述sps/pps亮度qp增量存在标志。
[0677]
a.例如,如果sps/pps亮度qp增量存在标志规定既不信令通知ph亮度qp增量也不信令通知sh亮度qp增量,则要求不信令通知pps开关标志。
[0678]
i.此外,如果pps开关标志不存在,则可以推断其等于特定值(例如0)。
[0679]
b.在一个示例中,与sh相比,色度(例如cb、cr、联合cbcr)qp偏移可以在较高的级别信令通知(例如,在ph中,例如,如在第三实施例中)。
[0680]
i.例如,是否信令通知ph或sh中的色度qp偏移可以取决于pps开关标志(例如,qp_offset_info_in_ph_flag)。
[0681]
a)例如,如果pps开关标志规定色度qp偏移在ph中被信令通知,则色度qp偏移不在sh中信令通知。
[0682]
a.可选择地,如果pps开关标志规定色度qp偏移不在ph中信令通知,则色度qp偏移可以在sh中信令通知。
[0683]
b.此外,如果ph色度qp偏移不存在,则可以推断为特定值(例如0)。
[0684]
c.此外,如果sh色度qp偏移不存在,则可以推断为特定值(例如0或等于ph色度qp偏移)。
[0685]
b)在一个示例中,该标志与控制亮度增量qp是否在ph或sh中信令通知的标志相同。
[0686]
ii.另外,可选择地,ph和/或sh中色度qp偏移的存在可取决于sps/pps色度qp偏移存在标志(例如,pps_pic_slice_chroma_qp_offset_present_flag)。
[0687]
a)例如,如果sps/pps色度qp偏移存在标志规定既不信令通知ph色度qp偏移也不信令通知sh色度qp偏移,则要求在ph中不信令通知色度qp偏移,并且在sh中不信令通知色
度qp偏移。
[0688]
b)另外,规定色度qp偏移是否在ph或sh中信令通知的pps开关标志(例如,qp_offset_info_in_ph_flag)的存在可以取决于上述sps/pps色度qp偏移存在标志。
[0689]
a.如果sps/pps色度qp偏移存在标志规定既不信令通知ph色度qp偏移也不信令通知sh色度qp偏移,则要求不信令通知pps开关标志。
[0690]
i.此外,如果pps开关标志不存在,则可以推断其等于特定值(例如0)。
[0691]
iii.qp_delta和色度qp偏移的信令通知可以总是在相同的标头中。
[0692]
a)例如,当qp_delta在ph中信令通知时,色度qp偏移不应在sh中信令通知。
[0693]
b)例如,当qp_delta在sh中信令通知时,色度qp偏移不应在ph中信令通知。
[0694]
4.关于用于解决第二个问题的ph语法元素ph_cu_qp_delta_subdiv_intra_slice、ph_cu_qp_delta_subdiv_inter_slice、ph_cu_chroma_qp_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice的范围,例如,如在第四实施例中,公开了一个或多个以下方法:
[0695]
a.传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧内条带(例如,ph_cu_qp_delta_subdiv_intra_slice)中的编解码单元的最大cbsubdiv值的范围可以不依赖于ph_max_mtt_hierarchy_depth_intra_slice_luma,例如,它可以在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内
[0696]
i.可选择地,它可以在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_intra_slice_luma,ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0697]
b.传送cu_chroma_qp_offset_flag的帧内条带(例如,ph_cu_chroma_qp_offset_subdiv_intra_slice)中的编解码单元的最大cbsubdiv值的范围可以不取决于ph_max_mtt_hierarchy_depth_intra_slice_luma,例如,其可以在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0698]
i.可选择地,它可以在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_intra_slice_luma,ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0699]
c.传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧间条带(例如,ph_cu_qp_delta_subdiv_inter_slice)的编解码单元的最大cbsubdiv值的范围可以不依赖于ph_max_mtt_hierarchy_depth_inter_slice,例如,它可以在0到2*(ctblog2sizey-minqtlog2sizeintery) 2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0700]
i.可选择地,它可以在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_inter_slice,ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0701]
d.传送cu_chroma_qp_offset_flag的帧间条带(例如,ph_cu_chroma_qp_offset_subdiv_inter_slice)中的编解码单元的最大cbsubdiv值的范围可以不依赖于ph_max_mtt_hierarchy_depth_inter_slice,例如,它可以在0到2*(ctblog2sizey-minqtlog2sizeintery) 2*(ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0702]
i.可选择地,它可以在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_
max_mtt_hierarchy_depth_inter_slice,ctblog2sizey-mincblog2sizey)(包括端值)的范围内。
[0703]
6.实施例
[0704]
以下是上文第5节中概述的本发明的一些方面的一些示例实施例,其可应用于vvc规范。改变的文本基于jvet-q2001-vd中的最新vvc文本。已添加或修改的大部分相关部分以粗体斜体突出显示,一些删除的部分以左右双括号突出显示(例如[[]]),删除的文本在双括号之间。
[0705]
6.1.第一组实施例
[0706]
这是上文第5节中概述的项目1(从1.a到1.o)的一组实施例。
[0707]
6.1.1.第1.a项的实施例
[0708]
在一个示例中,pps_deblocking_filter_disabled_flag的语义改变如下:
[0709]
等于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。
[0710]
6.1.2.第1.b项的实施例
[0711]
在一个示例中,slice_deblocking_filter_override_flag的语义改变如下:
[0712]
等于1的规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]0。
[0713]
6.1.3.第1.c项的实施例
[0714]
在一个示例中,语法结构picture_header_structure()被改变如下:
[0715][0716][0717]
等于1规定去块滤波器的操作不应用于与ph相关联的条带。ph_deblocking_filter_disabled_flag等于0规定去块滤波器的操作应用于与ph相关联的条带。带。带。带。当ph_deblocking_filter_disabled_flag不存在filter_disabled_flag不存在时,ph_deblocking_filter_disabled_flag被推断为等于pps_deblocking_filter_disabled_flag。
[0718]
并且语法结构slice_header()被改变如下:
[0719][0720][0721]
等于1规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]
[0722]
等于1规定去块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0规定对当前条带应用去块滤波器的操作。块滤波器的操作。块滤波器的操作。块滤波器的操作。当slice_deblocking_filter_disabled_flag不存在时,slice_deblocking_filter_disabled_flag被推断为等于ph_deblocking_filter_disabled_flag。
[0723]
6.1.4.第1.p项的实施例
[0724]
在一个示例中,语法结构pic_parameter_set_rbsp()被改变如下:
[0725][0726][0727]
...
[0728][0729]
[[等于1规定pps中去块滤波器控制语法元素的存在。deblocking_filter_control_present_flag等于0规定pps中不存在去块滤波器控制语法元素。]]
[0730]
[[[[等于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。]]
[0731]
[[[[等于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。]]
[0732]
等于1规定去块滤波器信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。dbf_info_in_ph_flag等于0规定去块滤波器信息不存在于ph语法结构中,并且可以存在于参考不包含ph语法结构的pps的条带标头中。[[当不存在时,dbf_info_in_ph_flag的值被推断为等于0。]]
[0733]
...
[0734]
并且语法结构picture_header_structure()被改变如下:
[0735][0736]
...
[0737][0738]
等于1规定去块参数存在于ph中,ph_deblocking_[[filter]]_override_flag等于0规定去块参数不存在于ph中。[[当不存在时,ph_deblocking_filter_override_flag的值被推断为等于0。]]
[0739]
[[[[等于1规定去块滤波器的操作不应用于与ph相关联的条带。ph_deblocking_filter_disabled_flag等于0规定去块滤波器的操作应用于与ph相关联的条带。当ph_deblocking_filter_disabled_flag不存在时,其被推断为等于pps_deblocking_filter_disabled_flag。]]
[0740]
...
[0741]
并且语法结构slice_header()被改变如下:
[0742][0743][0744]
...
[0745][0746]
等于1规定去块参数存在于条带标头中。slice_deblocking_[[filter]]_override_flag等于0规定去块参数不存在于条带标头中。[[当不存在时,slice_deblocking_filter_override_flag的值推断为等于ph_deblocking_filter_override_flag。]]
[0747]
[[[[等于1规定去块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0规定对当前条带应用去块滤波器的操作。当slice_deblocking_filter_disabled_flag不存在时,其被推断为等于ph_deblocking_filter_disabled_flag。]]
[0748]
...
[0749]
并且去块滤波过程的解码过程改变如下:
[0750]
8.8.3去块滤波过程
[0751]
8.8.3.1常规
[0752]
去块滤波过程应用于图片的所有编解码子块边缘和变换块边缘,除了以下类型的边缘:
[0753]

图片的边界上的边缘,
[0754]

与具有子图片索引subpicidx和loop_filter_across_subpic_enabled_flag[subpicidx]等于0的子图片的边界重合的边缘,
[0755]

当virtualboundariespresentflag等于1时,与图片的虚拟边界重合的边缘,
[0756]

当loop_filter_cross_tiles_enabled_flag等于0时与片边界重合的边缘,
[0757]

当loop_filter_cross_slices_enabled_flag等于0时与条带边界重合的边,
[0758]

与slice_deblocking_filter_[[disabled]]_flag等于[[1]]的条带的上边界或左边界重合的边缘,
[0759]

slice_deblocking_filter_[[disabled]]_flag等于[[1]]的条带内的边缘,
[0760]

不对应于亮度分量的4
×
4样点网格边界的边缘,
[0761]

不对应于色度分量的8
×
8样点网格边界的边缘,
[0762]

亮度分量中边缘两侧的intra_bdpcm_luma_flag等于1的边缘,
[0763]

色度分量中边缘两侧的intra_bdpcm_chroma_flag等于1的边缘,
[0764]

不是相关变换单元的边缘的色度子块的边缘。
[0765]
垂直或水平边缘类型由变量edge type表示,如表42中所规定。
[0766]
表42

edgetype关联的名称
[0767][0768]
当当前条带的slice_deblocking_filter_[[disabled]]_flag等于[[0]]时,以下适用:
[0769]

变量treetype被设置为等于dual_tree_luma。
[0770]

垂直边缘通过调用如条款8.8.3.2规定的一个方向的去块滤波过程进行滤波,其中变量treetype、去块之前的重建图片(即数组recpicture
l
)和设置为等于edge_ver的变量edgetype作为输入,去块之后的修改的重建图片(即数组recpicture
l
)作为输出。
[0771]

水平边缘通过调用如第条款8.8.3.2规定的一个方向的去块滤波过程进行滤波,
其中变量treetype、去块之后的修改的重建图片(即数组recpicture
l
)和设置为等于edge_hor的变量edgetype作为输入,去块后的修改的重建图片(即数组recpicture
l
)作为输出。
[0772]

当chromaarraytype不等于0时,以下适用:
[0773]

变量treetype被设置为等于dual_tree_chroma
[0774]

垂直边缘通过调用如条款8.8.3.2所规定的一个方向的去块滤波过程进行滤波,其中变量treetype、去块之前的重建图片(即,数组recpicture
cb
和recpicture
cr
)以及设置为等于edge_ver的变量edgetype作为输入,去块之后的修改的重建图片(即,数组recpicture
cb
和recpicture
cr
)作为输出。
[0775]

水平边缘通过调用如条款8.8.3.2所规定的一个方向的去块滤波过程进行滤波,其中变量treetype、去块后的修改的重建图片(即,数组recpicture
cb
和recpicture
cr
)以及设置为等于edge_hor的变量edgetype作为输入,去块后的修改的重建图片(即,数组recpicture
cb
和recpicture
cr
)作为输出。
[0776]
6.1.5.项目1.d、1.g、1.j和1.f的实施例
[0777]
在一个示例中,语法结构pic_parameter_set_rbsp()被改变如下:
[0778]
[0779][0780]
等于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。
[0781]
等于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。
[0782]
并且语法结构picture_header_structure()被改变如下:
[0783]
[0784][0785]
并且语法结构slice_header()被改变如下:
[0786]
[0787][0788][0788]
等于1规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]
[0789]
6.1.6.项目1.d、1.g、1.j、1.e和1.n的另一实施例
[0790]
在一个示例中,语法结构pic_parameter_set_rbsp()被改变如下:
[0791]
[0792][0793]
等于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,[[或者]]slice_deblocking_filter_override_flag在参考pps的条带标头中不存在。当不存在时,deblocking_filter_override_enabled_flag的值被推断为等于0。
[0794]
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。
[0795]
并且语法结构picture_header_structure()被改变如下:
[0796]
[0797][0798]
并且语法结构slice_header()被改变如下:
[0799]
[0800][0801][0801]
等于1规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]
[0802]
6.1.7.项目1.d、1.g、1.j、1.f、1.h和1.k的另一个实施例
[0803]
在一个示例中,语法结构pic_parameter_set_rbsp()被改变如下:
[0804]
[0805][0806][0807]
等于1规定pps中去块滤波器控制语法元素的存在。deblocking_filter_control_present_flag等于0规定pps中不存在去块滤波器控制语法元素。。
[0808][0808]
等于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。]]
[0809]
并且语法结构picture_header_structure()被改变如下:
[0810]
[0811][0812]
等于[[1]]规定去块滤波器的操作不应用于与ph相关联的条带,ph_deblocking_filter_[[disabled]]_flag等于[[0]]规定去块滤波器的操作应用于与ph相关联的条带,当ph_deblocking_filter_[[disabled]]_flag不存在时,其被推断为等于pps_deblocking_filter_[[disabled]]_flag。
[0813]
并且语法结构slice_header()被改变如下:
[0814]
[0815][0816][0816]
等于1规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于[[ph_deblocking_filter_override_flag]]
[0817]
等于[[1]]规定去块滤波器的操作不适用于当前条带。slice_deblocking_filter_[[disabled]]_flag等于[[0]]规定对当前条带应用去块滤波器的操作。当slice_deblocking_filter_[[disabled]]_flag不存在时,其被推断为等于[[pps]]_deblocking_filter_[[disabled]]_flag。
[0818]
6.2.第二组实施例
[0819]
这是上文第5节中概述的项目2、2.a和2.b的一组实施例。
[0820]
8.5.6.3分数样点插值过程
[0821]
8.5.6.3.1常规
[0822]
该过程的输入为:
[0823]

亮度位置(xsb,ysb),规定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
[0824]

规定当前编解码子块的宽度的变量sbwidth,
[0825]

规定当前编解码子块的高度的变量sbheight,
[0826]

运动矢量偏移mvoffset,
[0827]

精确的运动矢量refmvlx,
[0828]

所选择的参考图片样点数组refpiclx,
[0829]

半样点插值滤波器指数hpelifidx,
[0830]

[0831]

解码器侧运动矢量细化标志dmvrflag,
[0832]

双向光流标志bdofflag,
[0833]

指示所选参考图片是否需要缩放的变量refpicisscaled,
[0834]

规定当前块的颜色分量索引的变量cidx,
[0835]

水平和垂直两种缩放比例scalingratio的列表。
[0836]
这一过程的输出是:
[0837]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)数组predsampleslx。
[0838]
预测块边界扩展尺寸brdextsize的推导如下:
[0839]
brdextsize=(bdofflag||[[(inter_affine_flag[xsb][ysb]
[0840]
&&!ph_disable_prof_flag)]])?2:0(934)
[0841]
变量refwraparoundenabledflag被设置为等于(pps_ref_wraparound_enabled_flag&&!refpicisscaled)。
[0842]
变量frefleftoffset被设置为等于((subwidthc*scaling_win_left_offset)《《10),其中scaling_win_left_offset是参考图片的scaling_win_left_offset。
[0843]
变量freftopoffset被设置为等于((subwidthc*scaling_win_top_offset)《《10),其中scaling_win_top_offset是参考图片的scaling_win_top_offset。
[0844]
预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)数组predsampleslx的推导如下:
[0845]

运动矢量mvlx设置为(refmvlx-mvoffset)。
[0846]

如果cidx等于0,则以下适用:
[0847]

设(xint
l
,yint
l
)是以全样点单位给出的亮度位置,并且(xfrac
l
,yfrac
l
)是以1/16样点单位给出的偏移。这些变量仅在该条款中用于规定参考样点数组refpiclx内的分数样点位置。
[0848]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0849]

对于每个亮度样点位置(x
l
=0..sb width-1 brdextsize,y
l
=0..sbheight-1 brdextsize),则相应的预测亮度样点值predsampleslx[x
l
][y
l
]的推导如下:
[0850]

设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为运动矢量(refmvlx[0],refmvlx[1])指向的以1/16样点为单位的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
的推导如下:
[0851]
refxsb
l
=(((xsb-(subwidthc*scaling_win_left_offset))《《4) refmvlx[0])*scalingratio[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(935)
[0852]
refx
l
=((sign(refxsb
l
)*((abs(refxsb
l
) 128)》》8) x
l
*((scalingratio[0] 8)》》4)) frefleftoffset 32)》》6
ꢀꢀꢀꢀ
(936)
[0853]
refysb
l
=(((ysb-(subwidthc*scaling_win_top_offset))《《4) refmvlx[1])*scalingratio[1]
ꢀꢀꢀ
(937)
[0854]
refy
l
=((sign(refysb
l
)*((abs(refysb
l
) 128)》》8) yl*((scalingratio[1] 8)》》4)) freftopoffset 32)》》6
ꢀꢀ
(938)
[0855]

变量xint
l
、yint
l
、xfrac
l
和yfrac
l
的推导如下:
[0856]
xint
l
=refx
l
》》4
ꢀꢀ
(939)
[0857]
yint
l
=refy
l
》》4
ꢀꢀ
(940)
[0858]
xfrac
l
=refx
l
&15
ꢀꢀ
(941)
[0859]
yfrac
l
=refy
l
&15
ꢀꢀ
(942)
[0860]

预测亮度样点值predsampleslx[x
l
][y
l
]的导出如下:
[0861]

如果bdofflag等于true或[[(ph_disable_prof_flag等于false,且inter_affine_flag[xsb][ysb]]]等于true[[)]],并且下列一个或多个条件为true,则通过调用条款8.5.6.3.3中规定的亮度整数样点提取过程来导出预测亮度样点值
predsampleslx[x
l
][y
l
],其中(xint
l
(xfrac
l
》》3)-1)、yint
l
(yfrac
l
》》3)-1)、refpiclx和refwraparoundenabledflag作为输入。
[0862]

x
l
等于0。
[0863]

x
l
等于sbwidth 1。
[0864]
–yl
等于0。
[0865]
–yl
等于sbheight 1。
[0866]

否则,预测亮度样点值predsampleslx[xl][yl]通过调用条款8.5.6.3.2所规定的亮度样点8抽头插值滤波过程来获得,其中(xintl-(brdextsize》0?1:0)、yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight、dmvrflag、refwraparoundenabledflag、scalingratio[0]、scalingratio[1]和(xsb,ysb)作为输入。
[0867]

否则(cidx不等于0),以下适用:
[0868]

[0869]
6.3.第三组实施例
[0870]
这是上文第5节中概述的项目3、3.a、3.b和3.c的一组实施例。
[0871]
6.3.1.第3.a项的实施例
[0872]
在一个示例中,语法结构pic_parameter_set_rbsp()被改变如下:
[0873][0874]
[0875][0876]
并且语法结构picture_header_structure()被改变如下:
[0877][0878]
并且语法结构slice_header()被改变如下:
[0879][0880][0881]
6.3.2.第3.b项的实施例
[0882]
在一个示例中,语法结构pic_parameter_set_rbsp()被改变如下:
[0883][0884]
等于1规定等于1规定slice_cb_qp_offset和slice_cr_qp_offset语法元素存在于相关联的条带标头中。pps_slice_chroma_qp_offsets_present_flag等于0规定slice_chroma_qp_offsets_present_flag等于0规定slice_cb_qp_offset和slice_cr_qp_offset语法元素不存在于相关联的条带标头中。当不存在时,pps_slice_chroma_qp_offsets_present_flag的值被推断为等于0。
[0885][0886]
并且语法结构picture_header_structure()被改变如下:
[0887][0888][0889][0890]
并且语法结构slice_header()被改变如下:
[0891][0892]
规定在确定qp’cb
量化参数的值时要添加到pps_cb_qp_offset值的差值。slice_cb_qp_offset的值应在-12至 12(包括端值)的范围内。当slice_cb_qp_offset不存在时,其被推断为等于[[0]]pps_cb_qp_offset slice_cb_qp_offset的值应在-12至 12(包括端值)的范围内。
[0893]
规定在确定qp’cr
量化参数的值时要添加到pps_cr_qp_offset值的差值。slice_cr_qp_offset的值应在-12至 12(包括端值)的范围内。当slice_cr_qp_offset不存在时,其被推断为等于[[0]]pps_cr_qp_offset slice_cr_qp_offset的值应在-12至 12(包括端值)的范围内。
[0894]
规定在确定qp’cbcr
的值时要添加到pps_joint_cbcr_qp_offset_value的值的差值。slice_joint_cbcr_qp_offset的值应在-12至 12(包括端值)的范围内。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于[[0]]pps_joint_cbcr_qp_offset_value slice_joint_cbcr_qp_offset的值应在-12至 12(包括端值)的范围内。
[0895]
6.3.3.第3.c项的实施例
[0896]
以粗体斜体文本标记的更改基于jvet-q2001-ve。
[0897][0898][0899][0900]
等于1规定等于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。
[0901]
等于1规定等于1规定qp增量信息存在于ph语法结构中,而不存在于参考不包含ph语法结构的pps的条带标头中。qp_delta_info_in_ph_flag等于0规定qp增量不存在于ph语法结构中,并且可以存在于参考不包含ph语法结构的pps的条带标头中。
[0902][0902][0903]
规定在确定qp’cb
量化参数的值时要添加到pps_cb_qp_offset的值的差值。slice_cb_qp_offset的值应在-12至 12(包括端值)的范围内。当slice_cb_qp_offset不存在时,其被推断为等于[[0]]pps_cb_qp_offset slice_cb_qp_offset的值应在-12至 12(包括端值)的范围内。
[0904]
规定在确定qp’cr
量化参数的值时要添加到pps_cr_qp_offset的值的差值。slice_cr_qp_offset的值应在-12至 12(包括端值)的范围内。当slice_cr_qp_offset不存在时,其被推断为等于[[0]]pps_cr_qp_offset slice_cr_qp_offset的值应在-12至 12(包括端值)的范围内。
[0905]
规定在确定qp’cbcr
的值时要添加到pps_joint_cbcr_qp_offset_value的值的差值。slice_joint_cbcr_qp_offset的值应在-12至 12(包括端值)的范围内。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于[[0]]pps_joint_cbcr_qp_offset_value slice_joint_cbcr_qp_
offset的值应在-12至 12(包括端值)的范围内。
[0906]
6.4.第四组实施例
[0907]
这是上文第5节中概述的项目4、4.a、4.b、4.c和4.d的一组实施例。
[0908][0908]
规定传送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]]) (包括端值)的范围内。
[0909]
当不存在时,ph_cu_qp_delta_subdiv_intra_slice的值被推断为等于0。
[0910]
规定传送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]]) (包括端值)的范围内。
[0911]
当不存在时,ph_cu_chroma_qp_offset_subdiv_intra_slice的值被推断为等于0。
[0912][0912]
规定在传送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]]) (包括端值)的范围内。
[0913]
当不存在时,ph_cu_qp_delta_subdiv_inter_slice的值被推断为等于0。
[0914]
规定传送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]]) (包括端值)的范围内。
[0915]
当不存在时,ph_cu_chroma_qp_offset_subdiv_inter_slice的值被推断为等于0。
[0916]
图1是可实现本文中所公开的各种技术的示例视频处理系统1900的框图。各种实现方式可以包括系统1900中的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(pon)等)和无线接口(诸如wi-fi或蜂窝接口)。
[0917]
系统1900可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以减少从输入1902到编解码组件1904的输出的视频的平均比特
率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储或经由所连接的通信来发送,如组件1906所表示的。在输入1902处接收的视频的存储或通信的比特流(或编解码表示)可以由组件1908使用,以生成被发送到显示接口1910的像素值或可显示视频。从比特流中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
[0918]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其他能够进行数字数据处理和/或视频显示的设备。
[0919]
图2是视频处理装置3600的框图。装置3600可以用于实现本文中所述的方法中的一个或多个。装置3600可以实施在智能电话、平板电脑、计算机、物联网(iot)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理电路3606。(多个)处理器3602可以配置为实现本文档中所述的一个或多个方法。(多个)存储器3604可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理电路3606可以用于在硬件电路中实现本文档中所描述的一些技术。
[0920]
图4是示出可利用本公开的技术的示例视频编解码系统100的框图。
[0921]
如图4所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,该目的地设备120可以被称为视频解码设备。
[0922]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0923]
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。i/o接口116包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由i/o接口116通过网络130a直接发送到目的地设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目的地设备120存取。
[0924]
目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0925]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或可以在配置为与外置显示设备相接的目的地设备120外部。
[0926]
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(hevc)标准、多功能视频编解码(vvc)标准和其他当前和/或其他标准)进行操作。
[0927]
图5是示出视频编码器200的示例的框图,该视频编码器200可以是图4中示出的系统100中的视频编码器114。
[0928]
视频编码器200可以被配置为执行本公开的任何或全部技术。在图5的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
[0929]
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
[0930]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以以ibc模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
[0931]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图5的示例中分开表示。
[0932]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0933]
模式选择单元203可以例如基于误差结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据而且提供到重建单元212来重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(ciip)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整个像素精度)。
[0934]
为了对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
[0935]
运动估计单元204和运动补偿单元205可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在i条带、p条带还是b条带中。
[0936]
在一些示例中,运动估计单元204可以进行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0937]
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0938]
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
[0939]
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻域视频块的运动信息足够相似。
[0940]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
[0941]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0942]
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令通知。
[0943]
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0944]
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
[0945]
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元207可以不进行减去操作。
[0946]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
[0947]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0948]
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
[0949]
在重建单元212重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
[0950]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
[0951]
所公开的技术的一些实施例包括作出决定或确定以启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实现该
工具或模式,但不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当基于该决定或确定来启用视频处理工具或模式时,从视频的块到视频的比特流(或比特流表示)的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已基于视频处理工具或模式被修改的情况下处理比特流。即,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流到视频的块的转换。
[0952]
图6是示出视频解码器300的示例的框图,该视频解码器300可以是图4中示出的系统100中的视频解码器114。
[0953]
视频解码器300可以被配置为进行本公开的任何或全部技术。在图6的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
[0954]
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以进行与关于视频编码器200(图5)所描述的编码过程总体反演的解码过程。
[0955]
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过进行amvp和merge模式确定此类信息。
[0956]
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0957]
运动补偿单元302可以使用由视频编码器200在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
[0958]
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
[0959]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303逆量化(即去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
[0960]
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去块化滤波器还可以应用于滤波解码块以便移除块化伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
[0961]
以下部分描述了示例prof技术、示例性仿射merge技术和示例仿射amvp技术:
[0962]
prof:使用光流的预测细化(prof)用于细化基于子块的仿射运动补偿预测。在执行基于子块的仿射运动补偿之后,通过添加由光流方程导出的差值来细化亮度预测样点。因此,例如,prof技术包括细化视频块的基于子块的仿射运动补偿预测,随后通过添加由光
流方程导出的差值来细化视频块的亮度预测样点。
[0963]
仿射merge:在这种模式下,基于空间相邻cu的运动信息生成当前cu的cpmv(控制点运动矢量)。从空间相邻cu的运动信息构建几个cpmvp(控制点运动矢量预测值)候选。信令通知一个索引以指示用于当前cu的索引。因此,例如,在仿射merge模式中,基于当前编解码单元的空间相邻编解码单元的运动信息来生成视频块的当前编解码单元的控制点运动矢量,并且指示来自要用于当前编解码单元的子块merge候选列表的仿射merge候选的索引被包括在比特流中。
[0964]
仿射amvp:在比特流中信令通知cu级别的仿射标志,以指示是否使用仿射amvp模式,然后信令通知另一标志,以指示是否4参数仿射或6参数仿射。在这种模式下,当前cu的cpmv与它们的预测因子(predictor)cpmvp的差值在比特流中信令通知。因此,例如,仿射amvp模式包括在比特流中包括:(1)在视频块的编解码单元级别的仿射标志,用于指示是否使用仿射高级运动矢量预测模式,(2)第二标志,用于指示是否使用4参数仿射或6参数仿射,(3)在编解码单元级别的控制点运动矢量预测因子索引,以及(4)视频块的当前编解码单元的控制点运动矢量与对应于控制点运动矢量的预测因子控制点运动矢量的差值。
[0965]
接下来提供一些实施例优选的解决方案列表。
[0966]
以下解决方案示出了在前一部分(例如,项目1.1至1.c)中讨论的技术的示例实施例。
[0967]
1.一种视频处理方法(例如,图3中示出的方法3000),包括:执行包括一个或多个视频图片的视频之间的转换(3002),所述一个或多个视频图片包括一个或多个视频条带,其中该转换符合第一规则,所述第一规则规定关于用于参考视频图片参数集的一个或多个视频条带的去块滤波器的适用性的决定是基于包括在相应视频图片的图片标头中的去块语法字段来执行的。
[0968]
2.解决方案1的方法,其中,决定基于适用性是否在视频图片参数集和图片标头中被禁用,并且还基于去块滤波器的禁用的条带级别指示。
[0969]
3.解决方案1-2中任一项的方法,其中,转换还符合第二规则,该第二规则允许基于在比编解码表示中的比较高级别更精细的级别信令通知或导出的标志,覆盖在编解码表示中的较高级别的去块滤波器的信令通知的适用性。
[0970]
4.解决方案1的方法,其中,标志是否被信令通知或者标志是否被导出取决于编解码表示中包括的另一个字段。
[0971]
以下解决方案示出了在前一部分(例如,项目1.d至1.q)中讨论的技术的示例实施例。
[0972]
5.一种视频处理方法,包括:执行包括一个或多个视频图片的视频之间的转换,该一个或多个视频图片包括一个或多个视频条带,其中该转换符合规则,该规则规定,基于包括在视频条带的条带标头级别和/或图片标头级别和/或图片参数集级别的字段对用于视频条带的去块滤波器的适用性进行约束。
[0973]
6.解决方案5的方法,其中,规则规定了这样的约束,即在根据图片参数集级别的信令通知禁用去块滤波器的情况下,不能由条带标头级别或图片标头级别的信令通知启用去块滤波器。
[0974]
7.解决方案5的方法,其中,规则规定了这样的约束,即在根据图片参数集级别的
信令通知启用去块滤波器的情况下,允许条带标头级别或图片标头级别的信令通知禁用视频条带的去块滤波器。
[0975]
8.解决方案5的方法,其中,规则规定在图片参数集级别的控制去块滤波器的启用的第一字段的值独立于指示去块滤波器是否被覆盖的第二字段的值。
[0976]
9.解决方案5的方法,其中,规则规定图片参数集中包括的语法元素“dbf_info_in_ph_flag”的信令通知独立于包括deblocking_filter_override_enabled_flag的其他语法元素,语法元素“dbf_info_in_ph_flag”规定去块滤波器开/关控制参数和/或去块滤波器参数是否存在于图片标头或序列标头中。
[0977]
10.解决方案5的方法,其中,规则规定图片参数集级别或图片级别或条带级别的覆盖标志不控制去块开/关控制参数的覆盖。
[0978]
11.解决方案5的方法,其中,规则规定在图片参数集级别或图片级别或条带级别的覆盖标志用于覆盖去块滤波器的开/关控制参数或滤波器参数,而不是两者。
[0979]
12.解决方案5的方法,其中,规则规定即使在图片参数集级别禁用去块滤波器的情况下,也允许在图片级别或条带级别启用去块滤波器。
[0980]
13.解决方案5的方法,其中,规则规定控制去块滤波器的开/关的字段和指示去块滤波器的参数的字段被包括在图片级别和条带级别。
[0981]
14.解决方案5的方法,其中,规则规定控制去块滤波器的开/关的字段和指示去块滤波器的参数的字段被包括在序列参数集中。
[0982]
15.解决方案5的方法,其中,用于视频条带的去块滤波器的适用性在语法字段中信令通知,该语法字段在视频单元级别信令通知,其中语法字段不是二进制标志,并且其中视频单元级别包括图片参数集或序列参数集。
[0983]
16.解决方案15的方法,其中,语法字段包括n位,其中n是大于1的整数。
[0984]
17.解决方案16的方法,其中,n=2,并且其中语法字段指示四个选项,包括以下一个或多个:(a)去块滤波器不应用于参考图片参数集(pps)的所有条带,(b)使用pps中信令通知的第一偏移参数,去块滤波器应用于参考pps的所有条带,(c)使用在pps中信令通知的第二偏移参数,去块滤波器应用于参考pps的所有条带,或者(d)通过除了在pps中信令通知的参数,将去块滤波器应用于参考pps的条带。
[0985]
18.解决方案5的方法,其中,规则规定使用去块滤波器参数的零值为视频条带启用去块滤波器。
[0986]
以下解决方案示出了在前一部分(例如,第2项)中讨论的技术的示例实施例。
[0987]
19.一种视频处理方法,包括:确定基于预测细化的光流(prof)编解码与基于第一规则的仿射高级运动矢量预测编解码或基于第二规则的仿射merge模式的适用性;以及根据该确定执行视频的视频块与视频的编解码表示之间的转换。
[0988]
20.解决方案1的方法,其中,第二规则规定对视频块应用prof编解码,使得对应于m*n部分的预测块大于m*n,其中m和n是正整数。
[0989]
21.解决方案19-20中任一项的方法,其中,包括编解码表示中的标志,以指示由prof编解码生成的预测块生成的扩展样点的数量。
[0990]
22.解决方案21的方法,其中,对于第一规则和第二规则,扩展样点的数量是相同的。
[0991]
以下解决方案示出了在前一部分(例如,第3项)中讨论的技术的示例实施例。
[0992]
23.一种视频处理方法,包括:执行包括包含一个或多个条带的一个或多个图片的视频与该视频的编解码表示之间的转换,其中图片级别或条带级别的第一语法元素和/或指示量化参数增量或偏移信令通知的另一级别的第二语法元素根据规则被有条件地包括在编解码表示中。
[0993]
24.解决方案23的方法,其中,规则规定另一级别是序列参数集级别或图片参数集级别,并且其中第二语法元素指示色度增量qp信令通知或亮度增量qp信令通知是否被启用。
[0994]
25.解决方案23的方法,其中,规则规定另一级别是序列参数集级别或图片参数集级别,并且其中第二语法元素指示色度qp偏移信令通知是否被启用。
[0995]
以下解决方案示出了在前一部分(例如,第4项)中讨论的技术的示例实施例。
[0996]
26.一种视频处理方法,包括:执行包括包含一个或多个条带的一个或多个图片的视频与该视频的编解码表示之间的转换,其中该编解码表示包括指示编解码块细分值(cbsubdiv)的语法元素,该编解码块细分值的范围根据规则。
[0997]
27.解决方案26的方法,其中,规则规定范围独立于编解码表示中包括的语法字段ph_max_mtt_hierarchy_depth_intra_slice_luma。
[0998]
28.解决方案26-27中任一项的方法,其中,规则规定范围在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*(ctblog2sizey-mincblog2sizey)(包括端值)之间。
[0999]
29.解决方案26的方法,其中,规则规定范围独立于ph_max_mtt_hierarchy_depth_intra_slice_luma字段。
[1000]
30.解决方案26的方法,其中,规则规定范围独立于ph_max_mtt_hierarchy_depth_inter_slice字段。
[1001]
31.解决方案1至30中任一项的方法,其中,转换包括将视频编码成编解码表示。
[1002]
32.解决方案1至30中任一项的方法,其中,转换包括解码编解码表示以生成视频的像素值。
[1003]
33.一种视频解码装置,包括被配置为实现解决方案1至32中的一个或多个中所述的方法的处理器。
[1004]
34.一种视频编码装置,包括被配置为实现解决方案1至32中的一个或多个中所述的方法的处理器。
[1005]
35.一种其上存储有计算机代码的计算机程序产品,当由处理器执行时,该代码使处理器实现解决方案1至32中任一项的方法。
[1006]
36.本文件中描述的方法、装置或系统。
[1007]
图7是视频处理的示例方法700的流程图。操作702包括执行包括包含一个或多个条带的图片的视频与视频的比特流之间的转换,其中该转换符合规则,该规则规定是否将去块滤波器应用于参考图片参数集的一个或多个条带至少基于图片参数集中包括的第一语法元素,并且其中第一语法元素指示是否对该图片禁用去块滤波器。
[1008]
在方法700的一些实施例中,该规则规定是否将去块滤波器应用于参考图片参数集的一个或多个条带还基于以下中的至少一个:(1)是否由图片标头中的第二语法元素对图片禁用去块滤波器,(2)是否由条带级别的第三语法元素指示去块滤波器被禁用,或者
(3)图片参数集中的第四语法元素是否指示在图片级别和条带级别是否禁用去块滤波器适用性的覆盖。在方法700的一些实施例中,该规则规定是否将去块滤波器应用于参考图片参数集的一个或多个条带还基于:(1)图片标头中的第二语法元素是否对图片禁用去块滤波器,以及(2)去块滤波器是否被指示为在条带级别被第三语法元素禁用。在方法700的一些实施例中,第一语法元素、第二语法元素和第三语法元素的值等于1指示去块滤波器被禁用。
[1009]
在方法700的一些实施例中,该规则规定是否将去块滤波器应用于参考图片参数集的一个或多个条带还基于:图片参数集中的第四语法元素是否指示在图片级别和条带级别是否禁用去块滤波器的适用性的覆盖。在方法700的一些实施例中,第一语法元素的第一值等于1指示针对参考图片参数集的图片禁用去块滤波器,第四语法元素的第二值等于0指示在图片级别和条带级别禁用去块滤波器的适用性的覆盖。在方法700的一些实施例中,第一语法元素的值等于1和第四语法元素等于0指示去块滤波器被禁用。
[1010]
图8是视频处理的示例方法800的流程图。操作802包括执行包括包含一个或多个条带的图片的视频与视频的比特流之间的转换,其中该转换符合规则,该规则规定去块滤波器是否被应用于参考图片参数集的一个或多个条带仅基于图片参数集中包括的指示去块滤波器是否被禁用的语法元素。
[1011]
在方法800的一些实施例中,该语法元素的值等于1指示对图片禁用去块滤波器。
[1012]
图9是视频处理的示例方法900的流程图。操作902包括执行包括包含一个或多个条带的一个或多个图片的视频与视频的比特流之间的转换,其中比特流符合规则,其中,该规则规定基于条带级别的第一语法元素的第一值或图片级别的第二语法元素的第二值来确定是否将在条带级别或在图片级别覆盖对条带或图片的去块操作,并且其中,所述规则规定,响应于条带标头中不存在第一语法元素,独立于图片级别的第二语法元素的第二值来确定第一语法元素的第一值。
[1013]
在方法900的一些实施例中,第一语法元素的第一值被确定为0,这指示去块操作没有在条带级别被覆盖。在方法800的一些实施例中,第二语法元素的第二值被确定为0,这指示去块操作在图片级别没有被覆盖。
[1014]
图10是视频处理的示例方法1000的流程图。操作1002包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中该比特流符合规则,其中该规则规定基于条带级别的第一语法元素的第一值或图片级别的第二语法元素的第二值来确定去块参数是否包括在条带标头或图片标头中,并且其中,所述规则规定,响应于条带标头中不存在第一语法元素,独立于在图片级别的第二语法元素的第二值来确定第一语法元素的第一值。
[1015]
在方法1000的一些实施例中,第一语法元素的第一值被确定为0,这指示去块参数不包括在条带级别。在方法1000的一些实施例中,第二语法元素的第二值被确定为0,这指示去块参数不包括在图片级别。
[1016]
图11是视频处理的示例方法1100的流程图。操作1102包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中该比特流符合格式规则,该格式规则规定第一语法元素和第二语法元素是否分别包括在图片标头和条带标头中,或者是否基于图片参数集中的第三语法元素的值来推断,其中第一语法元素指示去块
滤波器是否在视频的图片级别被禁用,其中第二语法元素指示去块滤波器是否在视频的条带级别被禁用,并且其中第三语法元素指示去块滤波器是否对参考图片参数集的一个或多个图片被启用。
[1017]
图12是视频处理的示例方法1200的流程图。操作1202包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中该转换符合规则,该规则规定去块滤波器是否被应用于条带是基于条带标头和/或图片标头和/或由该条带参考的图片参数集中包括的语法元素,并且其中该语法元素指示去块滤波器是否在图片参数集级别和/或条带级别和/或图片级别被启用。
[1018]
在方法1200的一些实施例中,该规则规定,在根据图片参数集中的第一语法元素禁用去块滤波器的情况下,则不允许由条带标头中的第二语法元素或图片标头中的第三语法元素启用去块滤波器。在方法1200的一些实施例中,该规则还规定条带标头中的第二语法元素和/或图片标头中的第三语法元素的存在基于第一语法元素的第一值,并且独立于标志的第二值,该标志指示是否在图片级别或在条带级别启用去块滤波器的适用性的覆盖。在方法1200的一些实施例中,规则规定响应于第一语法元素指示对参考图片参数集的条带禁用去块滤波器,分别从条带标头和/或图片标头中排除第二语法元素和/或第三语法元素。在方法1200的一些实施例中,该规则还规定图片参数集中的标志指示:(1)第一语法元素是否在图片参数集中被指示,第二语法元素是否在条带标头中被指示,和/或第三语法元素是否在图片中被指示,以及(2)去块滤波器的参数是否在图片参数集、图片标头和条带标头中被指示。在方法1200的一些实施例中,标志指示:(1)第一语法元素被排除在图片参数集之外,第二语法元素被排除在条带标头之外,和/或第三语法元素被排除在图片之外,以及(2)用于去块滤波器的参数被排除在图片参数集、图片标头和条带标头之外。
[1019]
在方法1200的一些实施例中,该规则规定,在根据图片参数集中不存在的第一语法元素禁用去块滤波器的情况下,则不允许由条带标头中的第二语法元素或图片标头中的第三语法元素启用去块滤波器,并且推断第一语法元素等于特定值。在方法1200的一些实施例中,该规则规定,在根据图片参数集中的第一语法元素禁用去块滤波器的情况下,则不允许由条带标头中的第二语法元素或图片标头中不存在的第三语法元素启用去块滤波器,并且推断第三语法元素具有与第一语法元素相同的值。在方法1200的一些实施例中,该规则规定,在根据图片参数集中的第一语法元素禁用去块滤波器的情况下,不允许由条带标头中不存在的第二语法元素或图片标头中的第三语法元素启用去块滤波器,并且推断第二语法元素具有与第一语法元素或第三语法元素相同的值。在方法1200的一些实施例中,该规则规定在视频的第一视频单元级别启用去块滤波器的情况下,则允许在视频的第二视频单元级别禁用去块滤波器,其中第二视频单元级别低于第一视频单元级别。
[1020]
在方法1200的一些实施例中,第一视频单元级别包括图片标头,并且其中第二视频单元级别包括条带标头。在方法1200的一些实施例中,一个或多个图片包括多个条带,所述多个条带包括一个或多个条带的第一组和一个或多个条带的第二组,该规则规定对一个或多个条带的第一组启用去块滤波器,并且该规则规定对一个或多个条带的第二组禁用去块滤波器。在方法1200的一些实施例中,条带标头中包括的第一语法元素指示是否对第二视频单元级别启用去块滤波器,图片标头中的第二语法元素指示是否对第一视频单元级别启用去块滤波器,且规则规定第一语法元素基于第二语法元素。在方法1200的一些实施例
中,该规则规定,在第一语法元素指示对当前图片启用去块滤波器的情况下,第二语法元素指示是否对当前图片的当前条带启用去块滤波器。在方法1200的一些实施例中,该规则还规定图片参数集是否包括指示去块滤波器的语法元素和/或参数是否包括在条带标头或图片标头中的第一标志独立于一个或多个其他语法元素。在方法1200的一些实施例中,一个或多个其他语法元素包括第二标志,该第二标志指示是否在图片级别和条带级别启用对去块滤波器的适用性的覆盖。
[1021]
在方法1200的一些实施例中,该规则规定第二语法元素是否被包括在条带标头中或者第三语法元素是否被包括在图片标头中是基于图片参数集中的第一标志和/或第一语法元素并且独立于第二标志,第一语法元素指示是否对参考图片参数集的条带启用去块滤波器,第二语法元素指示去块滤波器是否对条带级别被启用,第三语法元素指示去块滤波器是否对图片级别被启用。在方法1200的一些实施例中,图片参数集中的第一标志或条带标头中的第二标志或图片标头中的第三标志分别指示是否在图片参数集级别或图片级别或条带级别启用去块滤波器适用性的覆盖,并且规则还规定第一标志或第二标志或第三标志仅被配置为覆盖去块滤波器的参数,除了:(1)图片参数集中指示去块滤波器是否在图片参数集级别被启用的第一语法元素,或者(2)条带标头中指示去块滤波器是否在条带级别被启用的第二语法元素,或者(3)图片标头中指示去块滤波器是否在图片级别被启用的第三语法元素。在方法1200的一些实施例中,根据该规则,第一语法元素被选择性地包括在第一标志之前的图片参数集中,或者根据该规则,第二语法元素被选择性地包括在第二标志之前的条带标头中,或者根据该规则,第三语法元素被选择性地包括在第三标志之前的图片标头中,并且该规则规定第一标志、第二标志、或第三标志是否分别包括在图片参数集、条带标头或图片标头中是分别基于第一语法元素、第二语法元素或第三语法元素。
[1022]
在方法1200的一些实施例中,语法元素包括第一语法元素,并且该规则还规定图片参数集包括第一语法元素,该第一语法元素指示是否对参考图片参数集的一个或多个条带启用去块滤波器。在方法1200的一些实施例中,该规则还规定图片参数集是否包括第一语法元素独立于图片参数集中的一个或多个其他语法元素,该第一语法元素指示是否对参考图片参数集的一个或多个条带启用去块滤波器。在方法1200的一些实施例中,该规则还规定,在去块滤波器在视频的第一视频单元级别被禁用的情况下,视频的第二视频单元级别中的一个或多个语法元素不存在,并且被推断为等于第一视频单元级别的第一语法元素的指示去块滤波器被禁用的值,并且第一视频单元级别高于第二视频单元级别。在方法1200的一些实施例中,该规则还规定图片参数集中指示去块滤波器的全局控制是否存在的语法元素,该语法元素仅被配置成控制以下各项的存在:(1)图片参数集或图片标头或条带标头中的一个或多个标志,该一个或多个标志指示是否在图片参数集级别或图片级别或条带级别启用去块滤波器的适用性的覆盖,以及(2)图片参数集、图片标头或条带标头的去块滤波器的参数。
[1023]
在方法1200的一些实施例中,该规则还规定标志指示是否对去块滤波器的适用性或者去块滤波器的第一组参数启用覆盖。在方法1200的一些实施例中,标志被包括在图片参数集或图片标头或条带标头中。在方法1200的一些实施例中,该规则还规定,在标志指示是否对去块滤波器的适用性启用覆盖的情况下,则:(1)去块滤波器的第一组参数仅在视频的第一视频单元级别被包括,以及(2)响应于对第二视频单元级别启用去块滤波器,从第一
视频单元级别的去块滤波器的第一组参数中推断出视频的第二视频单元级别的去块滤波器的第二组参数,并且其中第一视频单元级别高于第二视频单元级别。在方法1200的一些实施例中,其中规则还规定,在标志指示是否对包括在视频的第一视频单元级别中的去块滤波器的第一组参数启用覆盖的情况下,则:(1)去块滤波器的适用性仅包括在第一视频单元级别,以及(2)响应于对第二视频单元级别启用去块滤波器,从第一视频单元级别的去块滤波器的第一组参数中推断出视频的第二视频单元级别的去块滤波器的第二组参数,并且其中第一视频单元级别高于第二视频单元级别。
[1024]
在方法1200的一些实施例中,第一视频单元级别包括图片参数集,并且其中第二视频单元级别包括图片标头或条带标头。在方法1200的一些实施例中,语法元素包括用于视频的第一视频单元级别的第一语法元素和用于视频的第二视频单元级别的第二语法元素,其中第一语法元素和第二语法元素分别指示是否在第一视频单元级别和第二视频单元级别启用去块滤波器,其中第一视频单元级别高于第二视频单元级别,其中规则还规定响应于第一语法元素指示在第一视频单元级别禁用去块滤波器,不允许对第二语法元素的覆盖。在方法1200的一些实施例中,第一视频单元级别包括图片参数集,并且其中第二视频单元级别包括图片标头或条带标头。在方法1200的一些实施例中,该规则规定第二语法是否被包括在第二视频单元级别中是基于第一语法元素是否指示去块滤波器被允许在第一视频单元级别中被控制。
[1025]
在方法1200的一些实施例中,语法元素包括视频的第一视频单元级别的第一语法元素和视频的第二视频单元级别的第二语法元素,第一语法元素和第二语法元素分别指示是否在第一视频单元级别和第二视频单元级别启用去块滤波器,并且该规则规定响应于第二视频单元级别中不存在第二语法元素,去块滤波器被推断为对第二视频单元级别具有特定状态。在方法1200的一些实施例中,特定状态包括禁用、启用或与第一语法元素所指示的去块滤波器的状态相同。在方法1200的一些实施例中,该规则规定图片参数集不包括指示去块滤波器的全局控制是否存在的语法元素,该规则规定图片参数集包括指示去块滤波器是否被启用的第一语法元素,并且第一语法元素独立于该语法元素。在方法1200的一些实施例中,第二语法元素指示是否允许覆盖去块滤波器的适用性,其中该规则规定图片参数集是否包括第二语法元素是基于指示去块滤波器被启用的第一语法元素。在方法1200的一些实施例中,该规则规定去块滤波器的参数是否包括在图片参数集中是基于指示允许去块滤波器的适用性的覆盖的第二语法元素。
[1026]
在方法1200的一些实施例中,该规则规定图片参数集不包括指示是否存在对去块滤波器的全局控制的语法元素,该规则规定图片参数集包括指示是否允许对去块滤波器的适用性的覆盖的第一语法元素,并且第一语法元素独立于该语法元素。在方法1200的一些实施例中,第二语法元素指示去块滤波器是否被启用,该规则规定图片参数集是否包括第二语法元素是基于指示去块滤波器的适用性的覆盖被允许的第一语法元素。在方法1200的一些实施例中,该规则规定去块滤波器的参数是否包括在图片参数集中是基于指示去块滤波器被启用的第二语法元素。在方法1200的一些实施例中,该规则规定图片标头包括指示图片标头或条带标头是否包括指示去块滤波器是否被启用和/或去块滤波器的参数的一个或多个语法元素的语法元素。
[1027]
在方法1200的一些实施例中,规则规定从图片参数集中排除语法元素。在方法
1200的一些实施例中,该规则规定图片标头和条带标头中的每个都包括指示去块滤波器是否被启用和/或去块滤波器的参数的一个或多个语法元素。
[1028]
图13是视频处理的示例方法1300的流程图。操作1302包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中该转换符合规则,该规则规定去块滤波器是否被应用于条带是基于该条带所参考的序列参数集中包括的语法元素,并且其中该语法元素包括指示去块滤波器是否被启用的第一语法元素和/或指示去块滤波器的第一组参数的一组语法元素。
[1029]
在方法1300的一些实施例中,该规则还规定在视频的第一视频单元级别的序列参数集中的第一语法元素被指示在视频的第二视频单元级别是否启用去块滤波器的第二语法元素覆盖,并且第一视频单元级别高于第二视频单元级别。
[1030]
在方法1300的一些实施例中,该规则还规定在视频的第一视频单元级别的序列参数集中指示的去块滤波器的第一组参数被在视频的第二视频单元级别指示的去块滤波器的第二组参数覆盖,并且第一视频单元级别高于第二视频单元级别。在方法1300的一些实施例中,第二视频单元级别包括图片参数集、图片标头或条带标头。
[1031]
图14是视频处理的示例方法1400的流程图。操作1402包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中该转换符合规则,该规则规定去块滤波器是否被应用于条带是基于包括在视频单元级别中的非二进制语法元素,并且其中该非二进制语法元素指示去块滤波器是否被应用于一个或多个条带和/或如何被应用于一个或多个条带。
[1032]
在方法1400的一些实施例中,视频单元级别包括图片参数集或序列参数集。在方法1400的一些实施例中,规则规定非二进制语法元素指示去块模式,并且其中非二进制语法元素包括n比特。在方法1400的一些实施例中,n=2。在方法1400的一些实施例中,该规则规定非二进制语法元素的第一值指示去块滤波器不被应用于参考图片参数集的所有条带,该规则规定非二进制语法元素的第二值指示使用β和tc的0值去块参数偏移,去块滤波器被应用于参考图片参数集的所有条带,该规则规定非二进制语法元素的第三值指示使用显式包括在图片参数集中的β和tc的去块参数偏移,去块滤波器被应用于参考图片参数集的所有条带,并且该规则规定非二进制语法元素的第四值指示去块滤波器是否被应用于参考图片参数集的条带由该条带的图片标头或条带标头中存在的参数控制。在方法1400的一些实施例中,该规则规定去块滤波器的参数是否包括在图片参数集中是基于非二进制语法元素的值。
[1033]
在方法1400的一些实施例中,该规则规定响应于满足特定条件的值,去块滤波器的参数被包括在图片参数集中,并且响应于不满足特定条件的值,去块滤波器的参数被推断为0。在方法1400的一些实施例中,特定条件包括该值是否大于整数。在方法1400的一些实施例中,该规则规定非二进制语法元素的值控制图片参数集中是否包括语法元素,并且该语法元素规定图片标头或条带标头是否包括指示去块滤波器是否被启用和/或去块滤波器的参数的语法元素。在方法1400的一些实施例中,该规则规定,响应于满足特定条件的非二进制语法元素的值,该语法元素被包括在图片参数集中。在方法1400的一些实施例中,特定条件包括该值是否等于整数。在方法1400的一些实施例中,该规则规定响应于该语法元素被排除在图片参数集之外,该语法元素被推断为具有特定值。在方法1400的一些实施例
中,该规则规定非二进制语法元素的值控制语法元素是否被包括在图片标头或条带标头中,并且语法元素指示去块滤波器是否被启用和/或去块滤波器的参数。
[1034]
在方法1400的一些实施例中,该规则规定,响应于满足特定条件的非二进制语法元素的值,在图片标头中指示指示在视频的图片级别是否启用去块滤波器的语法元素。在方法1400的一些实施例中,该规则规定,响应于满足特定条件的非二进制语法元素的值,在条带标头中指示指示在视频的条带级别是否启用去块滤波器的语法元素。在方法1400的一些实施例中,特定条件包括该值是否等于整数。
[1035]
图15是视频处理的示例方法1500的流程图。操作1502包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中该转换符合规定以下的规则:(1)在视频的图片级别或视频的条带级别启用去块滤波器,以及(2)β和tc的0值去块参数偏移被用于去块滤波器的参数。
[1036]
在方法1500的一些实施例中,该规则规定图片参数集包括一个或多个语法元素,该一个或多个语法元素指示去块滤波器的默认参数是与β和tc的0值去块参数偏移相关联,还是与用户定义的β和tc偏移相关联。在方法1500的一些实施例中,响应于指示去块滤波器的默认参数与用户定义的β和tc偏移相关联的一个或多个语法元素,图片参数集包括用户定义的β和tc偏移。在方法1500的一些实施例中,去块滤波器的参数和去块滤波器的默认参数在视频的图片级别或视频的条带级别被选择性地覆盖。在方法1500的一些实施例中,该规则规定视频的视频单元级别包括一个或多个语法元素,该一个或多个语法元素指示是否使用β和tc的0值去块参数偏移或是否使用用户定义的β和tc偏移。在方法1500的一些实施例中,响应于指示使用用户定义的β和tc偏移的一个或多个语法元素,视频单元级别包括用户定义的β和tc偏移。在方法1500的一些实施例中,视频单元级别包括序列参数集、图片参数集、图片标头或条带标头。
[1037]
图16是视频处理的示例方法1600的流程图。操作1602包括根据规则为视频的视频块与视频的比特流之间的转换确定对应于视频块的预测块的尺寸。操作1604包括基于该确定来执行转换,其中该规则规定响应于使用光流的预测细化技术是否用于编解码视频块来确定预测块的第一尺寸,并且其中该视频块具有第二尺寸并且使用仿射merge模式或仿射高级运动矢量预测模式来编解码。
[1038]
在方法1600的一些实施例中,预测块的第一尺寸的第一宽度和第一高度分别由(m m0)和(n n0)指示,视频块的第二尺寸的第二宽度和第二高度分别由m和n指示,并且m0大于或等于0,n0大于或等于0。在方法1600的一些实施例中,m0和n0不都等于0。在方法1600的一些实施例中,m0和n0等于2。在方法1600的一些实施例中,指示是否利用了使用光流的预测细化技术的标志控制第一尺寸的预测块中是否包括扩展样点和/或包括多少扩展样点。在方法1600的一些实施例中,预测块的第一尺寸基于扩展样点的数量,且扩展样点的数量独立于第一视频块是否使用仿射merge模式或根据仿射高级运动矢量预测模式编解码。在方法1600的一些实施例中,预测块的第一尺寸的第一宽度和第一高度分别由(m x)和(n y)指示,视频块的第二尺寸的第二宽度和第二高度分别由m和n指示,并且x是宽度的扩展样点的数量。y是高度的扩展样点的数量。在方法1600的一些实施例中,x和y等于0。在方法1600的一些实施例中,x和y等于2。
[1039]
在方法1600的一些实施例中,响应于指示使用光流的预测细化技术被利用的标志
的值,x和y等于2。在方法1600的一些实施例中,标志的值等于1。在方法1600的一些实施例中,预测块的第一尺寸基于边界扩展尺寸,该边界扩展尺寸基于指示是否利用了使用光流的预测细化技术的标志的值,并且边界扩展尺寸指示视频块的第二尺寸被增加以获得预测块的第一尺寸的扩展样点的数量。在方法1600的一些实施例中,扩展样点的数量是0。在方法1600的一些实施例中,扩展样点的数量是2。在方法1600的一些实施例中,使用光流的预测细化技术包括细化视频块的基于子块的仿射运动补偿预测,随后通过添加由光流方程导出的差值来细化视频块的亮度预测样点。在方法1600的一些实施例中,仿射merge模式包括基于当前编解码单元的空间相邻编解码单元的运动信息来生成视频块的当前编解码单元的控制点运动矢量,并在比特流中包括指示来自用于当前编解码单元的子块merge候选列表的仿射merge候选的索引。在方法1600的一些实施例中,其中仿射高级运动矢量预测模式包括在比特流中包括:(1)在视频块的编解码单元级别的仿射标志,用于指示是否使用仿射高级运动矢量预测模式,(2)第二标志,用于指示是否使用4参数仿射或6参数仿射,(3)在编解码单元级别的控制点运动矢量预测值索引,以及(4)视频块的当前编解码单元的控制点运动矢量与对应于控制点运动矢量的预测控制点运动矢量的差值。
[1040]
图17是视频处理的示例方法1700的流程图。操作1702包括执行包括包含一个或多个条带的一个或多个图片的视频与视频的比特流之间的转换,其中规则规定在高于图片级别或条带级别的视频级别中指示第一语法元素,并且其中第一语法元素指示图片级别或条带级别是否包括量化参数增量。
[1041]
在方法1700的一些实施例中,视频级别是序列参数集级别或图片参数集级别,并且第一语法元素指示是否启用图片级别或条带级别以包括亮度量化参数增量或色度量化参数增量。在方法1700的一些实施例中,该规则规定亮度量化参数增量是否包括在图片标头和/或条带标头中是基于指示亮度量化参数增量是否存在的第一语法元素。在方法1700的一些实施例中,该规则规定,响应于第一语法元素指示亮度量化参数增量不存在于图片级别或条带级别中,不允许亮度量化参数增量包括在图片标头和条带标头中。在方法1700的一些实施例中,该规则规定,响应于第一语法元素指示亮度量化参数增量不存在于图片级别或条带级别中,不允许亮度量化参数增量包括在图片标头或条带标头中。在方法1700的一些实施例中,该规则规定,响应于亮度量化参数增量不存在于图片标头中,亮度量化参数增量被推断为具有特定值。在方法1700的一些实施例中,该规则规定,响应于亮度量化参数增量不存在于条带标头中,亮度量化参数增量被推断为特定值。在方法1700的一些实施例中,该规则规定第一语法元素控制图片参数集是否包括规定亮度量化参数增量是否包括在图片标头或条带标头中的标志。在方法1700的一些实施例中,规则规定,响应于第一语法元素指示亮度量化参数增量不存在于图片级别或条带级别中,将标志从图片参数合中排除。在方法1700的一些实施例中,该规则规定,响应于该标志不在图片参数集中,该标志被推断为具有特定值。
[1042]
图18是视频处理的示例方法1800的流程图。操作1802包括执行包括包含一个或多个条带的一个或多个图片的视频与该视频的比特流之间的转换,其中第一规则规定第一视频级别中的第一标志指示第一视频级别中是否包括一个或多个色度量化参数偏移,其中第一视频级别高于条带级别,其中第二规则规定第二视频级别中的第二标志指示一个或多个色度量化参数偏移是否包括在图片标头或条带标头中,并且其中第二视频级别高于图片级
别。
[1043]
在方法1800的一些实施例中,第二规则规定图片参数集中的第二标志指示一个或多个色度量化参数偏移是否包括在图片标头或条带标头中。在方法1800的一些实施例中,第二规则规定,响应于指示一个或多个色度量化参数偏移被包括在图片标头中的第二标志,从条带标头中排除一个或多个色度量化参数偏移。在方法1800的一些实施例中,第二规则规定,响应于指示一个或多个色度量化参数偏移被排除在图片标头之外的第二标志,一个或多个色度量化参数偏移被选择性地包括在条带标头中。在方法1800的一些实施例中,响应于一个或多个色度量化参数偏移被排除在图片标头之外,图片标头的一个或多个色度量化参数偏移被推断为特定值。在方法1800的一些实施例中,响应于一个或多个色度量化参数偏移被排除在条带标头之外,条带标头的一个或多个色度量化参数偏移被推断为特定值。在方法1800的一些实施例中,第二规则规定,第二标志还指示亮度量化参数增量是否包括在图片标头或条带标头中。
[1044]
在方法1800的一些实施例中,第二规则规定序列参数集和/或图片参数集中的第二标志指示一个或多个色度量化参数偏移是否包括在图片标头和/或条带标头中。在方法1800的一些实施例中,第二规则规定,响应于第二标志指示一个或多个色度量化参数偏移不存在于图片级别和条带级别中,不允许一个或多个色度量化参数偏移被包括在图片标头和条带标头中。在方法1800的一些实施例中,第二规则规定第二标志控制另一标志是否被包括在图片参数集中,其中该另一标志指示一个或多个色度量化参数偏移是否被包括在图片级别或条带级别中。在方法1800的一些实施例中,第二规则规定,响应于第二标志指示一个或多个色度量化参数偏移被排除在图片标头或条带标头之外,图片参数集排除另一标志。在方法1800的一些实施例中,第二规则规定,响应于图片参数集中不存在该另一标志,推断该另一标志具有特定值。在方法1800的一些实施例中,第二规则规定量化参数增量和色度量化参数偏移被包括在同一标头中。在方法1800的一些实施例中,第二规则规定,响应于量化参数增量被包括在图片标头中,一个或多个色度量化参数偏移被禁止包括在条带标头中。在方法1800的一些实施例中,第二规则规定,响应于量化参数增量被包括在条带标头中,一个或多个色度量化参数偏移被禁止包括在图片标头中。
[1045]
图19是视频处理的示例方法1900a的流程图。操作1902a包括执行包括包含一个或多个条带的一个或多个图片的视频与视频的比特流之间的转换,其中比特流包括指示编解码块细分值的第一语法元素,并且其中编解码块细分值具有根据规则的范围。
[1046]
在方法1900a的一些实施例中,该规则规定传达cu_qp_delta_abs和cu_qp_delta_sign_flag的帧内条带中的编解码单元的编解码块细分值的范围独立于比特流中的第二语法元素,该第二语法元素规定由条带中四叉树叶的多类型树划分产生的编解码单元的最大层次深度。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintray) 2*(ctblog2sizey-mincblog2sizey)(包括端值)之间。在方法1900a的一些实施例中,规则规定范围在0到2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_intra_slice_luma,ctblog2sizey-mincblog2sizey)(包括端值)之间,并且ph_max_mtt_hierarchy_depth_intra_slice_luma是第二语法元素。
[1047]
在方法1900a的一些实施例中,该规则规定传达cu_chroma_qp_offset_flag的帧内条带中的编解码单元的编解码块细分值的范围独立于比特流中的第二语法元素,该第二
语法元素规定由条带中四叉树叶的多类型树划分产生的编解码单元的最大层次深度。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintray) 2*(ctblog2sizey-mincblog2sizey)(包括端值)之间。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_intra_slice_luma,ctblog2sizey-mincblog2sizey)(包括端值)之间,并且ph_max_mtt_hierarchy_depth_intra_slice_luma是第二语法元素。在方法1900a的一些实施例中,该规则规定传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧内条带中的编解码单元的编解码块细分值的范围独立于比特流中的第二语法元素,该第二语法元素规定由条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintery) 2*(ctblog2sizey-mincblog2sizey)(包括端值)之间。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_inter_slice,ctblog2sizey-mincblog2sizey)(包括端值)之间,并且ph_max_mtt_hierarchy_depth_inter_slice是第二语法元素。
[1048]
在方法1900a的一些实施例中,该规则规定传送cu_chroma_qp_offset_flag的帧内条带中的编解码单元的编解码块细分值的范围独立于比特流中的第二语法元素,该第二语法元素规定由条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintery) 2*(ctblog2sizey-mincblog2sizey)(包括端值)之间。在方法1900a的一些实施例中,规则规定范围在0和2*(ctblog2sizey-minqtlog2sizeintray) 2*min(ph_max_mtt_hierarchy_depth_inter_slice,ctblog2sizey-mincblog2sizey)(包括端值)之间,并且ph_max_mtt_hierarchy_depth_inter_slice是第二语法元素。
[1049]
在方法700-1900a的一些实施例中,执行转换包括将视频编码成比特流。在方法700-1900a的一些实施例中,执行转换包括从视频生成比特流,并且该方法还包括将比特流存储在非暂时性计算机可读记录介质中。在方法700-1900a的一些实施例中,执行转换包括解码来自比特流的视频。在一些实施例中,视频解码装置包括被配置为实现方法700-1900a的操作的处理器。在一些实施例中,视频编码装置包括被配置为实现方法700-1900a的操作的处理器。在一些实施例中,一种其上存储有计算机指令的计算机程序产品,当由处理器执行时,该指令使得处理器实现方法700-1900a的操作。在一些实施例中,一种存储根据方法700-1900a的操作生成的比特流的非暂时性计算机可读存储介质。在一些实施例中,非暂时性计算机可读存储介质存储使得处理器实现方法700-1900a的操作的指令。在一些实施例中,一种比特流生成方法,包括:根据方法700-1900a的操作生成视频的比特流,并将该比特流存储在计算机可读程序介质上。在一些实施例中,一种根据本文档中描述的方法、装置、公开的方法或系统生成的比特流。
[1050]
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用标头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一
些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
[1051]
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,例如一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
[1052]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
[1053]
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(fpga)或专用集成电路(asic))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如fpga或asic)。
[1054]
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如eprom、eeprom和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
[1055]
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在
单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
[1056]
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
[1057]
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其他实现方式、增强和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献