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

对子图片的参考图片列表的约束的制作方法

2022-11-12 23:44:14 来源:中国专利 TAG:

对子图片的参考图片列表的约束
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求2020年3月20日提交的美国临时专利申请no.62/992,724的优先权和权益。出于法律的所有目的,将上述申请的全部公开以参考方式并入本文,作为本技术公开的一部分。
技术领域
3.本专利文件涉及图像和视频编解码和解码。


背景技术:

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


技术实现要素:

5.本文档公开了可由视频编码器和解码器使用的技术,以使用各种语法规则来处理视频的编解码表示。
6.在一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合规定比特流中的网络抽象层(nal)单元的语法的格式规则,并且其中,该格式规则规定,视频编解码层(vcl)nal单元类型的nal单元包括与特定类型的图片或特定类型的子图片相关联的内容。
7.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,并且其中,该格式规则规定,响应于子图片是帧内随机接入点子图片的前置子图片,子图片是随机接入类型的子图片。
8.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,并且其中,该格式规则规定,响应于一个或多个随机接入跳过前置子图片与即时解码刷新子图片相关联,比特流中不存在一个或多个随机接入跳过前置子图片。
9.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于一个或多个随机接入可解码前置子图片与具有指示即时解码刷新子图片不与前置图片相关联的一种类型的网络抽象层(nal)单元的即时解码刷新子图片相关联,比特流中不存在一个或多个随机接入可解码前置子图片。
10.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含两个临近子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,具有不同类型的网络抽象层(nal)单元的两个临近子图片具有相同第一值的语
法元素,该语法元素指示编解码层视频序列中的两个临近子图片中的每一个是否被视为图片。
11.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含两个临近子图片的图片的视频和视频的比特流之间的转换,其中,该格式规则规定两个临近子图片包括具有第一子图片索引的第一临近子图片和具有第二子图片索引的第二临近子图片,并且其中,该格式规则规定响应于与第一子图片索引相关联的第一语法元素指示第一临近子图片未被视为图片或者与第二子图片索引相关联的第二语法元素指示第二临近子图片未被视为图片,两个临近子图片具有相同类型的网络抽象层(nal)单元。
12.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于语法元素指示参考图片参数集(pps)的视频的每个图片具有没有相同类型的视频编解码层(vcl)网络抽象层(nal)单元的多个vcl nal单元,允许图片包括多于两个不同类型的vcl nal单元。
13.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,按照顺序与帧内随机接入点子图片或逐渐解码刷新子图片相关联的后置子图片在帧内随机接入点子图片或逐渐解码刷新子图片之后。
14.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于:(1)按照第二顺序子图片在帧内随机接入点子图片之前,(2)该子图片和帧内随机接入点子图片对于该子图片和帧内随机接入点子图片的网络抽象层(nal)单元所属的层具有相同的第一值,以及(3)该子图片和帧内随机接入点子图片具有相同的子图片索引的第二值,按照第一顺序该子图片在帧内随机接入点子图片和与帧内随机接入点子图片相关联的一个或多个随机接入可解码前置子图片之前。
15.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,按照顺序与纯随机接入(clean random access)子图片相关联的随机接入跳过前置子图片在与纯随机接入子图片相关联的一个或多个随机接入可解码前置子图片之前。
16.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,按照第一顺序与纯随机接入子图片相关联的随机接入跳过前置子图片按照第二顺序在纯随机接入子图片之前的一个或多个帧内随机接入点子图片之后。
17.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于:(1)语法元素指示编解码层视频序列传达表示帧的图片,以及(2)当前子图片是与帧内随机接入点子图片相关联的前置子图片,按照解码顺序当前子图片在与帧内随机接入点子图片相关联的一个或多个非前置子图片之前。
18.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或
多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于图片是帧内随机接入点图片的前置图片,图片中的所有视频编解码层(vcl)网络抽象层(nal)单元的一种或多种类型的nal单元包括radl_nut或rasl_nut。
19.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于:(1)按照第二顺序至少一个子图片在逐渐解码刷新子图片之前,(2)该至少一个子图片和逐渐解码刷新子图片对于该至少一个子图片和逐渐解码刷新子图片的网络抽象层(nal)单元所属的层具有相同的第一值,以及(3)该至少一个子图片和逐渐解码刷新图片具有相同的子图片索引的第二值,按照第一顺序该至少一个子图片在逐渐解码刷新子图片和与逐渐解码刷新子图片相关联的一个或多个子图片之前。
20.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于:(a)第一图片具有与当前子图片相同的时域标识符和相同的网络抽象层(nal)单元的层标识符,以及(b)按照解码顺序当前子图片在逐步时域子层接入子图片之后,以及(c)当前子图片和逐步时域子层接入子图片具有相同的时域标识符、相同的层标识符和相同的子图片索引,该格式规则不允许当前条带的参考图片列表中的活动条目包括按照解码顺序在第二图片之前的第一图片,该第二图片包括逐步时域子层接入子图片。
21.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于当前子图片不是特定类型的子图片,该格式规则不允许当前条带的参考图片列表中的活动条目包括由生成不可用的参考图片的解码处理生成的第一图片。
22.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该子图片包括当前条带,其中,该比特流符合格式规则,响应于当前子图片不是特定类型的子图片,该格式规则不允许当前条带的参考图片列表中的条目包括由生成不可用的参考图片的解码处理生成的第一图片。
23.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于(a)第一图片包括先前帧内随机接入点子图片,按照第二顺序先前帧内随机接入点子图片在当前子图片之前,(b)先前帧内随机接入点子图片具有与当前子图片相同的网络抽象层(nal)单元的层标识符和相同的子图片索引,以及(c)当前子图片是纯随机接入子图片,该格式规则不允许当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在当前图片之前的第一图片。
24.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于(a)当前子图片与帧内随机接入点子图片相关联,(b)按照第一顺序当前子图片在帧内随机接入点子图片之后,该格式规则不允许当前条带的参考图片
列表中的活动条目包括按照第一顺序或第二顺序在当前图片之前的第一图片。
25.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于:(a)按照第一顺序当前子图片在帧内随机接入点子图片之后,(b)按照第一顺序和第二顺序当前子图片在与irap子图片相关联的一个或多个前置子图片之后,该格式规则不允许当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在包括与当前子图片相关联的帧内随机接入点子图片的当前图片之前的第一图片。
26.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,该格式规则规定,响应于当前子图片是随机接入可解码前置子图片,当前条带的参考图片列表不包括以下任意一个或多个的活动条目:包括随机接入跳过前置子图片的第一图片以及按照解码顺序在包括关联帧内随机接入点子图片的第三图片之前的第二图片。
27.在另一个示例方面,公开了一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换。该编解码表示符合格式规则,该格式规则规定,包括一个或多个子图片的一个或多个图片根据网络抽象层(nal)单元被包括在编解码表示中,其中,在编解码表示中指示的一种类型nal单元包括特定类型图片的编解码条带或特定类型子图片的编解码条带。
28.在另一个示例方面,公开了另一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,该格式规则规定,具有不同网络抽象层单元类型的两个临近子图片将具有相同的被视为图片标志的子图片的指示。
29.在另一个示例方面,公开了另一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,该格式规则定义第一类型子图片和第二类型子图片的顺序,其中,第一子图片是后置子图片或前置子图片或随机接入跳过前置(rasl)子图片类型,并且第二子图片是rasl类型或随机接入可解码前置(radl)类型或即时解码刷新(idr)类型或逐渐解码刷新(gdr)类型子图片。
30.在另一个示例方面,公开了另一种视频处理方法。该方法包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,该格式规则定义了允许或不允许第一类型的子图片与第二类型的子图片一起存在的条件。
31.在又一示例方面,公开了一种视频编码器装置。该视频编码器包括被配置为实施上述方法的处理器。
32.在又一示例方面,公开了一种视频解码器装置。该视频解码器包括被配置为实施上述方法的处理器。
33.在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可运行代码的形式体现了本文描述的方法之一。
34.这些以及其他特征将贯穿本文档描述。
附图说明
35.图1示出了图片的光栅扫描条带分割的示例,其中,图片被分成12个片和3个光栅扫描条带。
36.图2示出了图片的矩形条带分割的示例,其中,图片被分成24个片(6个片列和4个片行)和9个矩形条带。
37.图3示出了被分割成片和矩形条带的图片的示例,其中,图片被分成4个片(2个片列和2个片行)和4个矩形条带。
38.图4示出了被分割成15个片、24个条带和24个子图片的图片。
39.图5是示例视频处理系统的框图。
40.图6是视频处理装置的框图。
41.图7是视频处理的示例方法的流程图。
42.图8是示出了根据本公开的一些实施例的视频编解码系统的框图。
43.图9是示出了根据本公开的一些实施例的编码器的框图。
44.图10是示出了根据本公开的一些实施例的解码器的框图。
45.图11至图31是视频处理的示例方法的流程图。
具体实施方式
46.在本文档中使用章节标题是为了易于理解,并且不是将每章节中公开的技术和实施例的适用性仅限于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,并且不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,相对于vvc规范的当前草案,通过左右方括号(例如[[]])显示对文本的编辑更改,方括号中的删除文本表示作废的文本,并且粗体斜体表示添加的文本。
[0047]
1.初始讨论
[0048]
本文档与视频编解码技术有关。具体地,它是关于子图片类型的定义以及在单层和多层上下文中,在解码顺序、输出顺序和不同类型的子图片之间的预测关系方面的关系。关键是通过对解码顺序、输出顺序和预测关系的一组约束来清楚地指定图片内混合子图片类型的含义。这些思想可以单独或在多种组合中应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(vvc)。
[0049]
2.缩写
[0050]
aps(adaptation parameter set)
ꢀꢀ
自适应参数集
[0051]
au(access unit)
ꢀꢀ
接入单元
[0052]
aud(access unit delimiter)
ꢀꢀ
接入单元分隔符
[0053]
avc(advanced video coding)
ꢀꢀ
高级视频编解码
[0054]
clvs(coded layer video sequence)
ꢀꢀ
编解码层视频序列
[0055]
cpb(coded picture buffer)
ꢀꢀ
编解码图片缓冲器
[0056]
cra(clean random access)
ꢀꢀ
纯随机接入
[0057]
ctu(coding tree unit)
ꢀꢀ
编解码树单元
[0058]
cvs(coded video sequence)
ꢀꢀ
编解码视频序列
[0059]
dci(decoding capability information)
ꢀꢀ
解码能力信息
[0060]
dpb(decoded picture buffer)
ꢀꢀ
解码图片缓冲器
[0061]
eob(end of bitstream)
ꢀꢀ
比特流结尾
[0062]
eos(end of sequence)
ꢀꢀ
序列结尾
[0063]
gdr(gradual decoding refresh)
ꢀꢀ
逐渐解码刷新
[0064]
hevc(high efficiency video coding)
ꢀꢀ
高效视频编解码
[0065]
hrd(hypothetical reference decoder)
ꢀꢀ
假设参考解码器
[0066]
idr(instantaneous decoding refresh)
ꢀꢀ
即时解码刷新
[0067]
jem(joint exploration model)
ꢀꢀ
联合探索模型
[0068]
mcts(motion-constrained tile sets)
ꢀꢀ
运动约束片集
[0069]
nal(network abstraction layer)
ꢀꢀ
网络抽象层
[0070]
ols(output layer set)
ꢀꢀ
输出层集
[0071]
ph(picture header)
ꢀꢀ
图片标头
[0072]
pps(picture parameter set)
ꢀꢀ
图片参数集
[0073]
ptl(profile,tier and level)
ꢀꢀ
档次、层和级别
[0074]
pu(picture unit)
ꢀꢀ
图片单元
[0075]
radl(random access decodable leading(picture))
ꢀꢀ
随机接入可解码前置(图片)
[0076]
rap(random access point)
ꢀꢀ
随机接入点
[0077]
rasl(random access skipped leading(picture))
ꢀꢀ
随机接入跳过前置(图片)
[0078]
rbsp(raw byte sequence payload)
ꢀꢀ
原始字节序列载荷
[0079]
rpl(reference picture list)
ꢀꢀ
参考图片列表
[0080]
sei(supplemental enhancement information)
ꢀꢀ
补充增强信息
[0081]
sps(sequence parameter set)
ꢀꢀ
序列参数集
[0082]
stsa(step-wise temporal sublayer access)
ꢀꢀ
逐步时域子层接入
[0083]
svc(scalable video coding)
ꢀꢀ
可缩放视频编解码
[0084]
vcl(video coding layer)
ꢀꢀ
视频编解码层
[0085]
vps(video parameter set)
ꢀꢀ
视频参数集
[0086]
vtm(vvc test model)
ꢀꢀ
vvc测试模型
[0087]
vui(video usability information)
ꢀꢀ
视频可用性信息
[0088]
vvc(versatile video coding)
ꢀꢀ
多功能视频编解码
[0089]
3.视频编解码简介
[0090]
视频编解码标准主要是通过开发众所周知的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年共同成立了联合视频探索团队(joint video exploration team,jvet)。从那时起,jvet采用了许多新的方法,并将其应用到了名为联合探索模型(jem)的参考软件中。同时jvet会议每季度举办一次,并且新的编解码标准的目标是与hevc相比降低50%的比特率。新的视频编解码标准在2018年
4月的jvet会议上被正式命名为多功能视频编解码(vvc),并且第一版vvc测试模型(vtm)也在当时发布。由于对vvc标准化贡献持续努力,新的编解码技术在每次jvet会议上都被采用到vvc标准中。然后,vvc的工作草案和测试模型vtm在每次会议后都会更新。vvc项目现在力争在2020年7月的会议上技术上完成(fdis)。
[0091]
3.1.hevc中的图片分割方案
[0092]
hevc包括四种不同的图片分割方案,即常规条带、依赖条带、片和波前并行处理(wavefront parallel processing,wpp),其可以被应用于最大传输单元(maximum transfer unit,mtu)尺寸匹配、并行处理和减少的端到端延迟。
[0093]
常规条带与h.264/avc中的相似。每个常规条带被封装在其自己的nal单元中,并且跨条带边界的图片中预测(帧内样点预测、运动信息预测、编解码模式预测)和熵编解码依赖性被禁用。因此,可以独立于相同图片内的其他常规条带来重建常规条带(尽管由于环路滤波器操作可能仍然存在相互依赖性)。
[0094]
常规条带是唯一可以被用于并行化的工具,在h.264/avc中也以几乎相同的形式可用。基于常规条带的并行化不需要太多的处理器间或内核间通信(除了在解码预测编解码图片时用于运动补偿的处理器间或内核间数据共享,由于图片内预测,其通常比处理器间或内核间数据共享重得多)。然而,出于同样的原因,由于条带标头的比特成本以及由于缺乏跨条带边界的预测,常规条带的使用会带来大量编解码开销。此外,由于常规条带的图片内独立性以及每个常规条带被封装在其自己的nal单元中,常规条带(与下面提到的其他工具相比)还用作比特流分割的关键机制,以匹配mtu尺寸要求。在许多情况下,并行化的目标和mtu尺寸匹配的目标对图片中的条带布局提出了矛盾的要求。对这种情况的认识导致了下面提到的并行化工具的开发。
[0095]
依赖条带具有短的条带标头,并且允许在树块边界分割比特流,而不破坏任何图片内预测。基本上,依赖条带将常规条带的分片提供到多个nal单元中,以通过允许常规条带的一部分在整个常规条带的编码完成之前被发送出去来提供减少的端到端延迟。
[0096]
在wpp中,图片被分割成单行编解码树块(ctb)。熵解码和预测被允许以使用来自其他分割中ctb的数据。通过ctb行的并行解码,并行处理是可能的,其中,ctb行的解码的开始被延迟了两个ctb,以确保与在主体ctb上方和右侧的ctb相关的数据可以在正在解码的主体ctb之前获得。使用这种交错的开始(当以图形表示时,其看起来像一个波前),可以并行化与包含有ctb行的图片一样多的处理器/核。因为在图片内临近树块行之间的图片内预测是准许的,所以为启用图片内预测所需的处理器间/内核间通信可能是大量的。与未应用时相比,wpp分割不会导致附加的nal单元的产生,因此wpp不是用于mtu尺寸匹配的工具。但是,如果需要mtu尺寸匹配,常规条带可以与wpp一起使用,具有一定程度上的编解码开销。
[0097]
片定义了将图片分割为片列和片行的水平和垂直边界。片列从图片的上方延伸到图片的下方。同样,片行从图片的左侧延伸到图片的右侧。图片中的片数可以简单地通过片列数乘以片行数来推导。
[0098]
在以图片的片光栅扫描的顺序解码下一个片的左上ctb之前,ctb的扫描顺序被改变为在片内是局部的(以片的ctb光栅扫描的顺序)。与常规条带类似,片打破了图片内预测依赖性以及熵解码依赖性。然而,它们不需要被包括在单独的nal单元中(在这方面与wpp相同);因此,片不能用于mtu尺寸匹配。每个片可以由一个处理器/内核来处理,并且在条带跨
越多个片的情况下,解码临近片的处理单元之间的图片内预测所需的处理器间/核间通信仅限于传送共享的条带头和与重建样点和元数据的共享相关的环路滤波。当条带中包括一个以上的片或wpp段时,条带中除第一个之外的每个片或wpp段的入口点字节偏移在条带标头中被信令通知。
[0099]
为简单起见,在hevc已经规定了对四种不同图片分割方案的应用的限制。给定的编解码视频序列不能包括hevc中规定的大部分档次的片和波前二者。对于每个条带和片,必须满足以下条件中的一个或两个:1)条带中的所有编解码树块属于相同片;2)片中的所有编解码树块属于相同条带。最后,一个波前段正好包含一个ctb行,并且当正在使用wpp时,如果条带从ctb行内开始,它必须在相同ctb行结束。
[0100]
在2017年10月24日公开发布的jct-vc输出文件jctvc-ac1005、j.boyce、a.ramasubramonian、r.skupin、g.j.sullivan、a.tourapis、y.-k.wang(编辑),“hevc附加补充增强信息(草案4)”中规定了对hevc的最新修订:
[0101]
http://phenix.int-evry.fr/jct/doc_end_user/documents/29_macau/wg11/jctvc-ac1005-v2.zip。通过包括这一修正,hevc规定了三种mcts相关的sei消息,即时域mcts sei消息、mcts提取信息集sei消息和mcts提取信息嵌套sei消息。
[0102]
时域mcts sei消息指示比特流中mcts的存在,并且信令通知mcts。对于每个mcts,运动矢量被限制为指向mcts内部的全样点位置和仅需要用于插值的mcts内部的全样点位置的分数样点位置,并且不允许从mcts外部的块推导的用于时域运动矢量预测的运动矢量候选的使用。这样,每个mcts可以在不存在未包括在mcts中的片的情况下进行独立解码。
[0103]
mcts提取信息集sei消息提供了可以在mcts子比特流提取中使用的补充信息(被规定为sei消息的语义的一部分),以为mcts组生成符合比特流。该信息由许多提取信息集组成,每个定义了许多mcts组并包含将在mcts子比特流提取过程期间使用的替换vps、sps和pps的rbsp字节。当根据mcts子比特流提取过程提取子比特流时,参数集(vps、sps和pps)需要被重写或替换,条带标头需要稍微更新,因为一个或所有条带地址相关的语法元素(包括first_slice_segment_in_pic_flag和slice_segment_address)通常需要具有不同的值。
[0104]
3.2.vvc的图片分割
[0105]
在vvc中,图片被分成一个或多个片行和一个或多个片列。片是覆盖图片的矩形区域的ctu序列。在片内以光栅扫描顺序扫描片中的ctu。
[0106]
条带由整数个完整的片或图片的片内整数个连续完整ctu行组成。
[0107]
支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包含图片的片光栅扫描中的完整片序列。在矩形条带模式中,条带包含共同形成图片的矩形区域的许多完整片,或者共同形成图片的矩形区域的一个片的许多连续完整ctu行。在对应于条带的矩形区域内以片光栅扫描顺序扫描矩形条带内的片。
[0108]
子图片包含共同覆盖图片的矩形区域的一个或多个条带。
[0109]
图1示出了图片的光栅扫描条带分割的示例,其中,图片被分成12个片和3个光栅扫描条带。
[0110]
图2示出了图片的矩形条带分割的示例,其中,图片被分成24个片(6个片列和4个片行)和9个矩形条带。
[0111]
图3示出了被分割成片和矩形条带的图片的示例,其中,图片被分成4个片(2个片列和2个片行)和4个矩形条带。
[0112]
图4示出了图片的子图片分割的示例,其中,图片被分割成18个片,左侧的12个片(每个覆盖一个有4x4个ctu的条带)以及右侧的6个片(每个覆盖2个有2x2个ctu的垂直堆叠的条带),总共产生不同维度的24个条带和24个子图片(每个条带是一个子图片)。
[0113]
3.3.序列内图片分辨率的改变
[0114]
在avc和hevc中,除非使用新sps的新序列以irap图片开始,否则图片的空域分辨率不能改变。vvc启用在不编码irap图片的位置处改变序列内的图片分辨率,irap图片总是被帧内编解码。该特征有时被称为参考图片重采样(reference picture resampling,rpr),因为当参考图片具有与正被解码的当前图片不同的分辨率时,该特征需要对用于帧间预测的参考图片进行重采样。
[0115]
缩放比率被限制为大于或等于1/2(从参考图片到当前图片的2倍下采样),并且小于或等于8(8倍上采样)。指定了具有不同频率截止的三组重采样滤波器来处理参考图片和当前图片之间的各种缩放比率。三组重采样滤波器分别应用于范围从1/2到1/1.75、从1/1.75到1/1.25和从1/1.25到8的缩放比率。每组重采样滤波器对于亮度具有16个相位,并且对于色度具有32个相位,这与运动补偿插值滤波器的情况相同。实际上,正常的mc插值过程是重采样过程的特殊情况,缩放比例范围从1/1.25到8。水平和垂直缩放比例是基于图片宽度和高度以及为参考图片和当前图片指定的左、右、上和下缩放偏移而推导的。
[0116]
支持该与hevc不同的特征的vvc设计的其他方面包括:i)图片分辨率和对应的一致性窗口在pps中而不是在sps中被信令通知,而在sps中信令通知最大图片分辨率。ii)对于单层比特流,每个图片储存器(dpb中一个解码图片的储存的时隙)占用存储具有最大图片分辨率的解码图片所需的缓冲器尺寸。
[0117]
3.4.在一般情况下以及在vvc中的可缩放视频编解码(svc)
[0118]
可缩放视频编解码(svc,有时也被称为视频编解码中的可缩放性)指的是其中使用基本层(base layer,bl),有时被称为参考层(reference layer,rl),以及一个或多个可缩放增强层(enhancement layer,el)的视频编解码。在svc中,基本层可以携带具有基本级别质量的视频数据。一个或多个增强层可以携带附加的视频数据,以支持例如更高的空域、时域和/或信噪比(signal-to-noise,snr)水平。可以相对于先前编码的层来定义增强层。例如,底层可以用作bl,而顶层可以用作el。中间层可以充当el或rl,或者两者兼有。举例来说,中间层(例如,既不是最低层也不是最高层的层)可以是中间层下方的层(如,基本层或任何居间增强层)的el,且同时作为中间层上方的一个或多个增强层的rl。类似地,在hevc标准的多视图或3d扩展中,可以有多个视图,并且一个视图的信息可以用于编解码(例如,编码或解码)另一个视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。
[0119]
在svc中,基于编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)将编码器或解码器使用的参数分组为其中可以利用它们的参数集。例如,比特流中不同层的一个或多个编解码视频序列可以利用的参数可以被包括在视频参数集(vps)中,并且编解码视频序列中的一个或多个图片利用的参数可以被包括在序列参数集(sps)中。类似地,图片中的一个或多个条带利用的参数可以被包括在图片参数集(pps)中,并且特定于单个条带的其他参数可以被包括在条带标头中。类似地,可以在各种编解码级别提供特定层在给
定时间使用哪个(哪些)参数集的指示。
[0120]
由于vvc中对参考图片重采样(rpr)的支持,对包含多层的比特流的支持,例如,在vvc具有sd和hd分辨率的两层,可以被设计为不需要任何附加的信令处理级别的编解码工具,因为空域可缩放性支持所需的上采样可以仅使用rpr上采样滤波器。然而,对于可缩放性支持需要高级别的语法改变(与不支持可缩放性相比)。vvc版本1中规定了可缩放性支持。与任何早期视频编解码标准(包括avc和hevc的扩展)中的可缩放性支持不同,vvc可缩放性的设计尽可能对单层解码器设计友好。多层比特流的解码能力是以如果比特流中只有单层的方式来被指定的。例如,以独立于要解码的比特流中的层数的方式指定如dpb尺寸的解码能力。基本上,为单层比特流设计的解码器不需要太多改变就能够解码多层比特流。与avc和hevc的多层扩展设计相比,hls方面在牺牲一些灵活性的情况下已经得到显著简化。例如,irap au需要包含cvs中存在的每个层的图片。
[0121]
3.5.在hevc和vvc中的随机接入及其支持
[0122]
随机接入是指按照解码顺序从不是比特流的第一图片的图片开始接入和解码比特流。为了支持广播/多播和多方视频会议中的调谐和频道切换、本地回放和流式传输中的搜索以及流式中的流自适应,比特流需要包括频繁的随机接入点,接入点通常是帧内编解码图片,但也可以是帧间编解码图片(例如,在逐渐解码刷新的情况下)。
[0123]
hevc通过nal单元类型在nal单元标头中包括帧内随机接入点(irap)图片的信令通知。支持三种类型的irap图片,即即时解码器刷新(idr)、纯随机接入(cra)和断开链接接入(broken link access,bla)图片。idr图片将帧间图片预测结构约束为不参考当前图片组(group-of-pictures,gop)之前的任何图片,gop通常被称为闭合gop(closed-gop)随机接入点。通过允许某些图片参考当前gop之前的图片,cra图片限制较少,在随机接入的情况下,所有图片都被丢弃。cra图片通常被称为开放gop(open-gop)随机接入点。bla图片通常源于cra图片中两个比特流或其一部分的拼接,例如在流切换期间。为了启用系统更好的irap图片的系统使用,总共定义了六个不同的nal单元来信令通知irap图片的属性,这可以用于更好地匹配在iso基本媒体文件格式(iso base media file format,isobmff)中定义的流接入点类型,该流接入点类型被用于基于http的动态自适应流(dynamic adaptive streaming over http,dash)中的随机接入支持。
[0124]
vvc支持三种类型的irap图片、两种类型的idr图片(一种类型具有或者另一种类型不具有关联radl图片)以及一种类型的cra图片。这些与hevc的基本相同。hevc中的bla图片类型不被包括在vvc中,主要由于两个原因:i)bla图片的基本功能可以通过cra图片加上序列结尾nal单元来实现,其存在指示后续图片在单层比特流中开始新的cvs。ii)在开发vvc期间,希望指定比hevc更少的nal单元类型,如通过在nal单元标头中为nal单元类型字段使用五个比特而不是六个比特来指示。
[0125]
vvc和hevc之间在随机接入支持上的另一个关键区别是vvc中以更规范的方式支持gdr。在gdr中,比特流的解码可以从帧间编解码的图片开始,并且尽管在开始时不是整个图片区域都可以被正确解码,但是在多个图片之后,整个图片区域将是正确的。avc和hevc也支持gdr,使用恢复点sei消息来信令通知gdr随机接入点和恢复点。在vvc中,新的nal单元类型被指定以指示gdr图片,并且恢复点在图片标头语法结构中被信令通知。以gdr图片开始允许cvs和比特流。这意味着允许整个比特流仅包含帧间编解码图片,而没有单个帧内
编解码图片。以这种方式指定gdr支持的主要好处是为gdr提供了一致的行为。gdr启用编码器通过在多个图片中分布帧内编解码的条带或块来平滑比特流的比特率,而不是对整个图片进行帧内编解码,从而允许显著降低端到端延迟,随着如无线显示、在线游戏、基于无人机的应用等超低延迟应用变得越来越流行,这在当今被认为更加重要。
[0126]
vvc中的另一个与gdr相关的特性是虚拟边界信令通知。gdr图片与其恢复点之间的图片处的刷新区域(即,正确解码的区域)和未刷新区域之间的边界可以被信令通知为虚拟边界,并且当被信令通知时,将不会应用跨边界的环路滤波器,因此不会存在边界处或附近的一些样点的解码失配。当应用确定在gdr处理期间显示正确解码的区域时,这可以变得有用。
[0127]
irap图片和gdr图片可以被共同称为随机接入点(rap)图片。
[0128]
3.6.参考图片管理和参考图片列表(rpl)
[0129]
参考图片管理是任何使用帧间预测的视频编解码方案所必需的核心功能。它管理参考图片在解码图片缓冲器(dpb)中的储存和移除,并将参考图片按照其正确的顺序放入rpl中。
[0130]
包括参考图片标记和从解码图片缓冲器(dpb)中移除以及参考图片列表构建(reference picture list construction,rplc)的hevc的参考图片管理与avc的不同。代替avc中基于滑动窗口加自适应存储器管理控制操作(memory management control operation,mmco)的参考图片标记机制,hevc规定了基于所谓的参考图片集(rps)的参考图片管理和标记机制,并因此rplc基于rps机制。rps由与图片相关联的参考图片的集合组成,包括按照解码顺序在关联图片之前的所有参考图片,其可以用于关联图片或按照解码顺序在关联图片之后的任何图片的帧间预测。参考图片集包括五个参考图片列表。前三个列表包含可以被用于当前图片的帧间预测以及可以被用于按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片。其他两个列表由当前图片的帧间预测中未使用但是可以被用于按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片组成。rps提供了dpb状态的“帧内编解码”信令通知,而不是像avc中的“帧间编解码”信令通知,主要是为了提高容错性。hevc中的rplc过程是基于rps的,通过向rps子组信令通知针对每个参考索引的索引;该过程比avc中的rplc过程简单。
[0131]
vvc中的参考图片管理比avc更类似于hevc,但是更简单和更稳健。如在那些标准中,推导了两个rpl,列表0和列表1,但是它们不是基于在hevc中使用的参考图片集概念或者在avc中使用的自动滑动窗口处理;相反,它们会更直接被信令通知。rpl的参考图片被列为活动和非活动条目,并且只有活动条目可以被用作当前图片的ctu的帧间预测的参考索引。非活动条目指示要托管在dpb中的用于在比特流中稍后到达的其他图片参考的其他图片。
[0132]
3.7.参数集
[0133]
avc、hevc和vvc规定了参数集。参数集的类型包括sps、pps、aps和vps。avc、hevc和vvc都支持sps和pps。vps从hevc开始被引入,并被包括在hevc和vvc两者中。aps没有被包括在avc或hevc中,但是被包括在最新的vvc草案文本中。
[0134]
sps被设计成携带序列级别标头信息,而pps被设计成携带不经常改变的图片级别标头信息。利用sps和pps,不需要为每个序列或图片重复不经常改变的信息,因此可以避免
该信息的冗余信令。此外,sps和pps的使用启用重要标头信息的带外传输,从而不仅避免了对冗余传输的需要,还提高了容错性。
[0135]
引入vps是为了携带对多层比特流中的所有层通用的序列级别标头信息。
[0136]
引入aps是为了携带这样的图片级别或条带级别信息,该信息需要相当多的比特来编解码,可以由多个图片共享,并且在序列中可以有相当多不同的变化。
[0137]
3.8.vvc中的相关定义
[0138]
最新vvc文本(jvet-q2001-ve/v15)中的相关定义如下。
[0139]
按照先前(当存在时)具有与特定图片的nuh_layer_id相同的值。
[0140][0140]
是的
[0141]
每个包括具有等于cra_nut的nal_unit_type的
[0142][0142]
按照由组成,后跟零个或多个不是的包括所有后续但不包括任何其为的后续
[0143]
cvs中的每一层都有且每个中的都是的
[0144]
每个当前中的是的
[0145][0145]
是的
[0146]
每个vcl nal单元包括具有等于gdr_nut的nal_unit_type的
[0147]
编解码图片是的
[0148]
每个包括具有等于idr_w_radl或idr_n_lp的nal_unit_type的
[0149]
cvs中的每一层都有且每个中的都是的
[0150][0150]
是的
[0151]
所有包括在idr_w_radl到cra_nut的范围(包含本数)内的nal_unit_type的相同值的cra_nut的范围(包含本数)内的nal_unit_type的相同值的与在相同中并且按照在在之前的
[0152]
从输出的顺序(对于要从输出的)。
[0153][0153]
是的
[0154]
每个包括等于radl_nut的nal_unit_type的
[0155]
是的
[0156]
每个包括等于rasl_nut的nal_unit_type的
[0157][0157]
是的
[0158]
每个包括等于stsa_nut的nal_unit_type的
[0159]
注释

stsa图片不将具有与stsa图片相同temporalid的图片用于帧间预测参考。按照解码顺序在stsa图片之后的具有与stsa图片相同temporalid的图片不使用按照解码顺序先于stsa图片的具有与stsa图片相同temporalid的图片用于帧间预测参考。stsa图片启用在stsa图片处从紧邻的较低子层上切换到包含stsa图片的子层。stsa图片的temporalid必须大于0。
[0160][0160]
内一个或多个的矩形区域。
[0161]
按照在之后且不是stsa图片的非irap
[0162]
注释

与irap图片相关的后置图片按照解码顺序也在irap图片之后。不允许按照输出顺序在关联irap图片之后且按照解码顺序在关联irap图片之前的图片。
[0163]
3.9.vvc中的nal单元标头语法和语义
[0164]
在最新的vvc文本中(在jvet-q2001-ve/v15中),nal单元标头语法和语义如下。
[0165]
7.3.1.2nal单元标头语法
[0166][0167][0168]
7.4.2.2nal单元标头语义
[0169]
应等于0。
[0170]
应等于0。nuh_reserved_zero_bit的值1将来可能由itu-t|iso/iec指定。解码器将忽略(即,从比特流中移除并丢弃)nuh_reserved_zero_bit等于1的nal单元。
[0171]
指定vcl nal单元所属的层的标识符或者非vcl nal单元所应用的层的标识符。nuh_layer_id的值应在0到55(包含本数)的范围内。将预留nuh_layer_id的其他值以供itu-t|iso/iec未来使用。
[0172]
nuh_layer_id的值对于编解码图片的所有vcl nal单元应是相同的。编解码图片或pu的nuh_layer_id的值是编解码图片或pu的vcl nal单元的nuh_layer_id的值。
[0173]
对于aud、ph、eos和fd nal单元的nuh_layer_id值受以下约束:
[0174]

如果nal_unit_type等于aud_nut,则nuh_layer_id应等于vps_layer_id[0]。
[0175]

否则,当nal_unit_type等于ph_nut、eos_nut或fd_nut时,nuh_layer_id应等于关联vcl nal单元的nuh_layer_id。
[0176]
注释1

dci、vps和eob nal单元的nuh_layer_id值不受约束。
[0177]
nal_unit_type的值对于cvss au的所有图片应是相同的。
[0178]
规定nal单元类型,即包含在如表格5规定的nal单元中的rbsp数据结构的类型。
[0179]
nal_unit_type在unspec_28..unspec_31(包含本数)范围内的未规定语义的nal单元不应影响本规范中规定的解码处理。
[0180]
注释2

在unspec_28..unspec_31范围内的nal单元类型可以如由应用确定的来使用。在本规范中没有规定nal_unit_type的这些值的解码处理。由于不同的应用可能出于不同的目的使用这些nal单元类型,所以在设计生成具有这些nal_unit_type值的nal单元的编码器时,以及在设计解释具有这些nal_unit_type值的nal单元的内容的解码器时,必须特别小心实践。本规范没有定义这些值的任何管理。这些nal_unit_type值可能仅适用于使用“冲突”(即,相同nal_unit_type值的nal单元内容的含义的不同定义)不重要、或不可能、或被管理(例如,在控制应用或传输规范中定义或管理、或通过控制比特流分布的上下文)的上下文中。
[0181]
对于确定比特流的du中的数据量之外的目的(如附录c所指定的),解码器将忽略(从比特流中移除并丢弃)使用nal_unit_type的预留值的所有nal单元的内容。
[0182]
注释3

该要求允许本规范的兼容扩展的未来定义。
[0183]
表格5

nal单元类型代码和nal单元类型分类
[0184]
[0185][0186]
注释4

纯随机接入(cra)图片可以具有比特流中存在的关联rasl或radl图片。
[0187]
注释5

具有等于idr_n_lp的nal_unit_type的即时解码刷新(idr)图片在比特流中没有关联前置图片。具有等于idr_w_radl的nal_unit_type的idr图片没有在比特流中存在的关联rasl图片,但是可以具有比特流中的关联radl图片。
[0188]
子图片中所有vcl nal单元的nal_unit_type值应相同。子图片被称为具有与子图
片的vcl nal单元相同的nal单元类型。
[0189]
对于任何特定图片的vcl nal单元,以下适用:
[0190]

如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值对于图片的所有vcl nal单元应是相同的,并且图片或pu被认为具有与图片或pu的编解码条带nal单元相同的nal单元类型。
[0191]

否则(mixed_nalu_types_in_pic_flag等于1),图片应具有至少两个子图片,并且图片的vcl nal单元应正好具有两个不同的nal_unit_type值,如下所示:图片的至少一个子图片的vcl nal单元都应有特定值等于stsa_nut、radl_nut、rasl_nut、idr_w_radl、idr_n_lp或cra_nut的nal_unit_type,而图片中其他子图片的vcl nal单元都应有不同特定值等于trail_nut、radl_nut、rasl_nut的nal_unit_type。
[0192]
对于单层比特流,以下约束适用:
[0193]

除了按照解码顺序在比特流中的第一图片之外,每个图片都被视为与按照解码顺序先前irap图片相关联。
[0194]

当图片是irap图片的前置图片时,其应为radl或rasl图片。
[0195]

当图片是irap图片的后置图片时,其不应为radl或rasl图片。
[0196]

比特流中不应存在与idr图片相关联的rasl图片。
[0197]

比特流中不应存在与具有等于idr_n_lp的nal_unit_type的idr图片相关联的radl图片。
[0198]
注释6

通过丢弃irap pu之前的所有pu,可以在irap pu的位置执行随机接入(并按照解码顺序正确解码irap图片和所有后续非rasl图片),前提是当被参考时每个参数集可用(在比特流中或通过本规范中未规定的外部方式)。
[0199]

按照解码顺序在irap图片之前的任何图片都应按照输出顺序在irap图片之前,并且应按照输出顺序在与irap图片相关联的任何radl图片之前。
[0200]

按照输出顺序与cra图片相关联的任何rasl图片应在与cra图片相关联的任何radl图片之前。
[0201]

按照输出顺序与cra图片相关联的任何rasl图片应在按照解码顺序在cra图片之前的任何irap图片之后。
[0202]

如果field_seq_flag等于0,并且当前图片是与irap图片相关联的前置图片,则按照解码顺序它应在按照解码顺序在与相同irap图片相关联的所有非前置图片之前。否则,设pica和picb分别是按照解码顺序与irap图片相关联的第一个和最后一个前置图片,按照解码顺序在pica之前至多应有一个非前置图片,并且按照解码顺序在pica和picb之间应没有非前置图片。
[0203]
减1指定nal单元的时域标识符。
[0204]
nuh_temporal_id_plus1的值不应等于0。
[0205]
变量temporalid的推导如下:
[0206]
temporalid=nuh_temporal_id_plus1-1
ꢀꢀꢀꢀꢀ
(36)
[0207]
当nal_unit_type在idr_w_radl到rsv_irap_12的范围内时(包含本数),temporalid应等于0。
[0208]
当nal_unit_type等于stsa_nut并且vps_independent_layer_flag
[generallayeridx[nuh_layer_id]]等于1时,temporalid不应等于0。
[0209]
对于au的所有vcl nal单元,temporalid的值应相同。编解码图片、pu或au的temporalid的值是编解码图片、pu或au的vcl nal单元的temporalid的值。子层表示的temporalid的值是子层表示中所有vcl nal单元的temporalid的最大值。
[0210]
非vcl nal单元的temporalid的值受到以下约束:
[0211]

如果nal_unit_type等于dci_nut、vps_nut或sps_nut,则temporalid应等于0,并且包含nal单元的au的temporalid应等于0。
[0212]

否则,如果nal_unit_type等于ph_nut,则temporalid应等于包含nal单元的pu的temporalid。
[0213]

否则,如果nal_unit_type等于eos_nut或eob_nut,则temporalid应等于0。
[0214]

否则,如果nal_unit_type等于aud_nut、fd_nut、prefix_sei_nut或suffix_sei_nut,则temporalid应等于包含nal单元的au的temporalid。
[0215]

否则,当nal_unit_type等于pps_nut、prefix_aps_nut或suffix_aps_nut时,temporalid应大于或等于包含nal单元的pu的temporalid。
[0216]
注释7

当nal单元是非vcl nal单元时,temporalid的值等于非vcl nal单元适用的所有au的temporalid值的最小值。当nal_unit_type等于pps_nut、prefix_aps_nut或suffix_aps_nut时,temporalid可以大于或等于包含au的temporalid,因为所有pps和aps都可以被包括在比特流的开头(例如,当它们被带外传输时,并且接收器将它们放置在比特流的开头),其中,第一编解码图片的temporalid等于0。
[0217]
3.10.图片中混合的nal单元类型
[0218]
7.4.3.4图片参数集语义
[0219]
...
[0220]
等于1规定参考pps的每个图片具有多于一个的vcl nal单元,vcl nal单元不具有相同的nal_unit_type值,并且该图片不是irap图片。mixed_nalu_types_in_pic_flag等于0规定参考pps的每个图片具有一个或多个vcl nal单元,并且参考pps的每个图片的vcl nal单元具有相同的nal_unit_type值。
[0221]
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应等于0。
[0222]
对于具有在idr_w_radl到cra_nut范围(包含本数)内的nal_unit_type值nalunittypea的每个条带,在还包含nal_unit_type的另一个值的一个或多个条带的图片pica中(即,图片pica的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
[0223]

条带应属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片
[0224]
subpica。
[0225]

条带不应属于包含vcl nal单元且nal_unit_type不等于nalunittypea的pica子图片。
[0226]

如果nalunittypea等于cra,对于按照解码顺序和按照输出顺序clvs中在当前图片之后的所有后续pu,这些pu中的subpica中的条带的refpiclist[0]和refpiclist[1]都不应包括活动条目中按照解码顺序先于pica的任何图片。
[0227]

否则(即,nalunittypea等于idr_w_radl或idr_n_lp),对于按照解码顺序在当前
图片之后的clvs中的所有pu,这些pu中的subpica中的条带的refpiclist[0]或refpiclist[1]都不应包括活动条目中按照解码顺序先于pica的任何图片。
[0228]
注释1

mixed_nalu_types_in_pic_flag等于1指示参考pps的图片包含具有不同nal单元类型的条带,例如,源自子图片比特流merge操作的编解码图片,其中,编码器必须确保比特流结构匹配以及原始比特流参数的进一步对齐。这种对齐的一个示例如下:当sps_idr_rpl_present_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考pps的图片不能有具有等于idr_w_radl或idr_n_lp的nal_unit_type的条带。
[0229]
...
[0230]
3.11.vvc中的图片标头结构语法和语义
[0231]
在最新的vvc文本(在jvet-q2001-ve/v15中)中,与本文的技术方案最相关的图片标头结构语法和语义如下。
[0232]
7.3.2.7图片标头结构语法
[0233][0234][0235]
7.4.3.7图片标头结构语义
[0236]
ph语法结构包含对于与ph语法结构相关联的编解码图片的所有条带公共的信息。
[0237]
等于1规定当前图片是gdr或irap图片。gdr_or_irap_pic_flag等于0规定当前图片可能是也可能不是gdr或irap图片。
[0238]
等于1规定与ph相关联的图片是gdr图片。gdr_pic_flag等于0规定与ph相关联的图片不是gdr图片。当不存在时,gdr_pic_flag的值被推断为等于0。当gdr_enabled_flag等于0时,gdr_pic_flag的值应等于0。
[0239]
注释1

当gdr_or_irap_pic_flag等于1且gdr_pic_flag等于0时,与ph相关联的图片是irap图片。
[0240]
...
[0241]
规定当前图片的图片顺序计数模maxpicordercntlsb。
ph_pic_order_cnt_lsb语法元素的长度为log2_max_pic_order_cnt_lsb_minus4 4比特。ph_pic_order_cnt_lsb的值应在0到maxpicordercntlsb-1的范围(包含本数)内。
[0242]
影响在解码clvss图片后dpb中先前解码的图片的输出,该clvss图片不是附录c中规定的比特流中的第一图片。
[0243]
规定按照输出顺序解码图片的恢复点。如果当前图片是与ph相关联的gdr图片,并且在具有picordercntval的clvs中存在按照解码顺序在当前gdr图片之后的图片pica,picordercntval等于当前gdr图片的picordercntval加recovery_poc_cnt的值,则图片pica被称为恢复点图片。否则,按照输出顺序picordercntval大于当前图片的picordercntval加recovery_poc_cnt的值的第一图片被称为恢复点图片。恢复点图片不应按照解码顺序在当前gdr图片之前。recovery_poc_cnt的值应在0到maxpicordercntlsb-1的范围(包含本数)内。
[0244]
当当前图片是gdr图片时,变量rppicordercntval被如下推导:
[0245]
rppicordercntval=picordercntval recovery_poc_cnt
ꢀꢀꢀ
(81)
[0246]
注释2

当gdr_enabled_flag等于1且当前图片的picordercntval大于或等于关联gdr图片的rppicordercntval时,按照输出顺序当前和后续解码图片与从按照解码顺序在关联gdr图片之前的先前irap图片(当存在时)开始解码处理所产生的对应图片完全匹配。
[0247]
...
[0248]
3.12.vvc中对rpl的约束
[0249]
在最新的vvc文本(在jvet-q2001-ve/v15中)中,vvc对rpl的约束如下(作为vvc条款8.3.2参考图片列表构造的解码处理的一部分)。
[0250]
8.3.2参考图片列表构造的解码处理
[0251]
...
[0252]
对于每个等于0或1的i,refpiclist[i]中的前numrefidxactive[i]个条目被称为refpiclist[i]中的活动条目,并且refpiclist[i]中的其他条目被称为refpiclist[i]中的非活动条目。
[0253]
注释2

特定图片可能同时被refpiclist[0]中的条目和refpiclist[1]中的条目涉及。也有可能特定图片被refpiclist[0]中的多于一个条目或refpiclist[1]中的多于一个条目涉及。
[0254]
注释3

refpiclist[0]中的活动条目和refpiclist[1]中的活动条目共同指可以被用于当前图片和按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片。refpiclist[0]中的非活动条目和refpiclist[1]中的非活动条目共同指未用于当前图片的帧间预测但可以被用于按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片。
[0255]
注释4

refpiclist[0]或refpiclist[1]中可能有一个或多个条目等于“无参考图片”,因为对应的图片不存在于dpb中。应忽略refpiclist[0]或refpiclist[0]中等于“无参考图片”的每个非活动条目。应为refpiclist[0]或refpiclist[1]中等于“无参考图片”的每个活动条目推断出意外图片损失。
[0256]
比特流一致性的一个要求是应用以下约束:
[0257]

对于每个等于0或1的i,num_ref_entries[i][rplsidx[i]]不应小于
numrefidxactive[i]。
[0258]

refpiclist[0]或refpiclist[1]中的每个活动条目所涉及的图片应存在于dpb中,并且temporalid应小于或等于当前图片的temporalid。
[0259]

refpiclist[0]或refpiclist[1]中的每个条目所涉及的图片不应是当前图片,并且non_reference_picture_flag应等于0。
[0260]

图片的条带的refpiclist[0]或refpiclist[1]中的strp条目和相同条带或相同图片的不同条带的refpiclist[0]或refpiclist[1]中的ltrp条目不应涉及相同图片。
[0261]

在refpiclist[0]或refpiclist[1]中不应存在当前图片的picordercntval与该条目所涉及的图片的picordercntval之差大于或等于2
24
的ltrp条目。
[0262]

设setofrefpics是refpiclist[0]中具有与当前图片相同的nuh_layer_id的所有条目和refpiclist[1]中具有与当前图片相同的nuh_layer_id的所有条目所涉及的唯一图片组。setofrefpics中的图片数量应小于或等于maxdpbsize-1(包含本数),其中,条款a.4.2中指定maxdpbsize并且setofrefpics对于图片的所有条带应是相同的。
[0263]

当当前条带的nal_unit_type等于stsa_nut时,则不应存在refpiclist[0]或refpiclist[1]中temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id的活动条目。
[0264]

当当前图片是按照解码顺序在stsa图片之后的图片时,该stsa图片的temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id,则不应存在按照解码顺序在stsa图片之前的图片,该stsa图片的temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id,其作为活动条目包括在refpiclist[0]或refpiclist[1]中。
[0265]

当当前图片是cra图片时,则按照输出顺序或按照解码顺序不应存在由refpiclist[0]或refpiclist[1]中的条目涉及的图片,该图片按照解码顺序在任何先前irap图片(当存在时)之前。
[0266]

当当前图片是后置图片时,则不应存在通过生成与当前图片相关联的irap图片的不可用参考图片的解码处理来生成的refpiclist[0]或refpiclist[1]中的活动条目所涉及的图片。
[0267]

当当前图片是按照解码顺序和按照输出顺序都在与相同irap图片(如果存在)相关联的一个或多个前置图片之后的后置图片时,则不应存在通过生成与当前图片相关联的irap图片的不可用参考图片的解码处理来生成的refpiclist[0]或refpiclist[1]中的条目所涉及的图片。
[0268]

当当前图片是恢复点图片或是按照输出顺序在恢复点图片之后的图片时,则不应存在包含通过生成恢复点图片的gdr图片的不可用参考图片的解码处理来生成的图片的在refpiclist[0]或refpiclist[1]中的条目。
[0269]

当当前图片是后置图片时,不应存在输出顺序或按照解码顺序在关联irap图片之前的refpiclist[0]或refpiclist[1]中的活动条目所涉及的图片。
[0270]

当当前图片是按照解码顺序和按照输出顺序都在与相同irap图片(如果存在)相关联的一个或多个前置图片之后的后置图片时,不应存在按照输出顺序或按照解码顺序在关联irap图片之前的refpiclist[0]或refpiclist[1]中的条目所涉及的图片。
[0271]

当当前图片是radl图片时,则在refpiclist[0]或refpiclist[1]中不
[0272]
应有以下活动条目中的任何一个:
[0273]
оrasl图片
[0274]
о通过生成不可用参考图片的解码处理来生成的图片
[0275]
о按照解码顺序在关联irap图片之前的图片
[0276]

当前图片的条带的refpiclist[0]或refpiclist[1]中的每个ilrp条目所涉及的图片应与当前图片在相同的au中。
[0277]

当前图片的条带的refpiclist[0]或refpiclist[1]中的每个ilrp条目所涉及的图片应存在于dpb中,并且nuh_layer_id应小于当前图片的nuh_layer_id。
[0278]

条带的refpiclist[0]或refpiclist[1]中的每个ilrp条目都应是活动条目。
[0279]
...
[0280]
3.13.pictureoutputflag的设置
[0281]
在最新的vvc文本中(在jvet-q2001-ve/v15中),设置变量pictureoutputflag的值的规范如下(作为编解码图片的条款8.1.2解码处理的一部分)。
[0282]
8.1.2编解码图片的解码处理
[0283]
本条款中规定的解码处理适用于bitstreamtodecode中的每个编解码图片,称为当前图片并由变量currpic表示。
[0284]
取决于chroma_format_idc的值,当前图片的样点数组的数量如下:
[0285]

如果chroma_format_idc等于0,则当前图片由1个样点数组s
l
组成。
[0286]

否则(chroma_format_idc不等于0),当前图片由3个样点数组s
l
、s
cb
、s
cr
组成。
[0287]
当前图片的解码处理将来自条款7的语法元素和大写变量作为输入。当解释每个nal单元和条款8的剩余部分中的每个语法元素的语义时,术语“比特流”(或其一部分,例如比特流的cvs)指bitstreamtodecode(或其一部分)。
[0288]
取决于separate_colour_plane_flag的值,解码处理的结构如下:
[0289]

如果separate_colour_plane_flag等于0,则调用解码处理一次并且将当前图片作为输出。
[0290]

否则(separate_colour_plane_flag等于1),调用解码处理三次。解码处理的输入是具有相同的colour_plane_id值的编解码图片的所有nal单元。指定具有特定colour_plane_id值的nal单元的解码处理,就好像比特流中只存在具有该特定colour_plane_id值的单色颜色格式的cvs一样。三个解码处理中的每一个的输出被分配给当前图片的3个样点数组之一,具有等于0、1和2的colour_plane_id的nal单元被分别分配给s
l
、s
cb
和s
cr

[0291]
注释

当separate_colour_plane_flag等于1且chroma_format_idc等于3时,推导变量chromaarraytype等于0。在解码处理中,该变量的值被评估,导致与单色图片相同的操作(当chroma_format_idc等于0时)。
[0292]
对于当前图片currpic,解码处理操作如下:
[0293]
1.在条款8.2中规定nal单元的解码。
[0294]
2.条款8.3中的处理规定使用条带标头层及以上层中的语法元素的以下
[0295]
解码处理:
[0296]

按照条款8.3.1中的规定推导与图片顺序计数相关的变量和函数。其只需要为图
片的第一条带而被调用。
[0297]

在非idr图片的每个条带的解码处理开始时,调用条款8.3.2中规定的参考图片列表构造的解码处理来推导参考图片列表0(refpiclist[0])和参考图片列表1(refpiclist[1])。
[0298]

调用条款8.3.3中参考图片标记的解码处理,其中,参考图片可被标记为“未用于参考”或“用于长期参考”。其只需要为图片的第一条带而被调用。
[0299]

当当前图片是具有等于1的nooutputbeforerecoveryflag的cra图片或具有等于1的nooutputbeforerecoveryflag的gdr图片时,调用子条款8.3.4中规定的生成不可用参考图片的解码处理,其只需要为图片的第一条带而被调用。
[0300]

pictureoutputflag被设置如下:
[0301]

如果下列条件之一为真,则pictureoutputflag被设置为等于0:
[0302]

当前图片是rasl图片,并且关联irap图片的nooutputbeforerecoveryflag等于1。
[0303]

gdr_enabled_flag等于1,并且当前图片是具有等于1的nooutputbeforerecoveryflag的gdr图片。
[0304]

gdr_enabled_flag等于1,当前图片与具有等于1的nooutputbeforerecoveryflag的gdr图片关联,并且当前图片的picordercntval小于关联gdr图片的rppicordercntval。
[0305]

sps_video_parameter_set_id大于0,ols_mode_idc等于0,并且当前au包含满足以下所有条件的图片pica:
[0306]

pica的pictureoutputflag等于1。
[0307]

pica的nuh_layer_id nuhlid大于当前图片的nuh_layer_id。
[0308]

pica属于ols的输出层(即outputlayeridinols[targetolsidx][0]等于nuhlid)。
[0309]

sps_video_parameter_set_id大于0,ols_mode_idc等于2,并且ols_output_layer_flag[targetolsidx][generallayeridx[nuh_layer_id]]等于0。
[0310]

否则,pictureoutputflag被设置为等于pic_output_flag。
[0311]
3.条款8.4、8.5、8.6、8.7和8.8中的处理规定使用所有语法结构层中的语法元素的解码处理。比特流一致性的要求是,图片的编解码条带将包含图片的每个ctu的条带数据,使得将图片分为条带以及将条带分为ctu,每个形成了图片的分割。
[0312]
4.在当前图片的所有条带都被解码后,当前解码的图片被标记为“用于短期参考”,并且refpiclist[0]或refpiclist[1]中的每个ilrp条目被标记为“用于短期参考”。
[0313]
4.公开的技术方案所解决的技术问题
[0314]
最新vvc文本(jvet-q2001-ve/v15)中的现有设计存在以下问题:
[0315]
1)由于允许在一个图片中混合不同类型的子图片,因此将vcl nal单元类型的nal单元的内容称为特定类型图片的编解码条带是令人困惑的。例如,仅当图片的所有条带的nal_unit_type等于cra_nut时,具有等于cra_nut的nal_unit_type的nal单元才是cra图片的编解码条带;当该图片的一个条带的nal_unit_type不等于cra_nut时,则该图片不是cra图片。
[0316]
2)目前,如果子图片包含nal_unit_type在idr_w_radl到cra_nut的范围(包含本数)内的vcl nal单元,则子图片的subpic_treated_as_pic_flag[]的值需要等于1,并且该图片的mixed_nalu_types_in_pic_flag等于1。换句话说,对于图片中与另一类型子图片混合的irap子图片,subpic_treated_as_pic_flag[]的值需要等于1。然而,随着vcl nal单元类型的更多混合的支持,该要求是不够的。
[0317]
3)目前,一个图片中至多只允许两种不同类型的vcl nal单元(和两种不同类型的子图片)。
[0318]
4)在单层和多层上下文中,缺少对相对于关联irap或gdr子图片的后置子图片的输出顺序的约束。
[0319]
5)目前,规定当图片是irap图片的前置图片时,它应是radl或rasl图片。这种约束连同前置/radl/rasl图片的定义一起,不允许在由两个cra图片和它们的非au对齐的关联radl和rasl图片的混合产生的图片内混合radl和rasl nal单元类型。
[0320]
6)在单层和多层上下文中,缺少对前置子图片的子图片类型(即,子图片中vcl nal单元的nal单元类型)的约束。
[0321]
7)在单层和多层上下文中,缺少对rasl子图片是否可以存在并与idr子图片相关联的约束。
[0322]
8)在单层和多层上下文中,缺少对radl子图片是否可以存在并与具有等于idr_n_lp的nal_unit_type的idr子图片相关联的约束。
[0323]
9)在单层和多层上下文中,缺少对按照解码顺序在irap子图片之前的子图片和与irap子图片相关联的radl子图片之间的相对输出顺序的约束。
[0324]
10)在单层和多层上下文中,缺少对按照解码顺序在gdr子图片之前的子图片和与gdr子图片相关联的子图片之间的相对输出顺序的约束。
[0325]
11)在单层和多层上下文中,缺少对与cra子图片相关联的rasl子图片和与cra子图片相关联的radl子图片之间的相对输出顺序的约束。
[0326]
12)在单层和多层上下文中,缺少对与cra子图片相关联的rasl子图片和按照解码顺序在cra子图片之前的irap子图片之间的相对输出顺序的约束。
[0327]
13)在单层和多层上下文中,缺少对irap图片的关联非前置图片和前置图片之间的相对解码顺序的约束。
[0328]
14)在单层和多层上下文中,缺少对按照解码顺序在stsa子图片之后的子图片的rpl活动条目的约束。
[0329]
15)在单层和多层上下文中,缺少对cra子图片的rpl条目的约束。
[0330]
16)在单层和多层上下文中,缺少对参考通过用于生成不可用参考图片的解码处理生成的图片的子图片的rpl活动条目的约束。
[0331]
17)在单层和多层上下文中,缺少对参考通过用于生成不可用参考图片的解码处理生成的图片的子图片的rpl条目的约束。
[0332]
18)在单层和多层上下文中,缺少对与irap图片相关联并且按照输出顺序在irap图片之后的子图片的rpl活动条目的约束。
[0333]
19)在单层和多层上下文中,缺少对与irap图片相关联并且按照输出顺序在irap图片之后的子图片的rpl条目的约束。
[0334]
20)在单层和多层上下文中,缺少对radl子图片的rpl活动条目的约束。
[0335]
5.技术方案和实施例的示例
[0336]
为了解决上述问题和其他问题,公开了如下总结的方法。这些项目应被认为是解释一般概念的示例,并且不应以狭隘的方式被解释。此外,这些项目可以单独被使用或以任何方式被组合使用。
[0337]
1)为了解决问题1,不是将具有vcl nal单元类型的nal单元的内容指定为“特定类型图片的编解码条带”,而是指定为“特定类型图片或子图片的编解码条带”。例如,具有等于cra_nut的nal_unit_type的nal单元的内容被指定为“cra图片或子图片的编解码条带”。
[0338]
a.此外,定义了一个或多个以下术语:关联gdr子图片、关联irap子图片、cra子图片、gdr子图片、idr子图片、irap子图片、前置子图片、radl子图片、rasl子图片、stsa子图片、后置子图片。
[0339]
2)为了解决问题2,添加约束以要求不同nal单元类型的任何两个临近子图片的subpic_treated_as_pic_flag[]都应等于1。
[0340]
a.在一个示例中,约束规定如下:对于图片中具有子图片索引i和j的任意两个临近子图片,当subpic_treated_as_pic_flag[i]或subpic_treated_as_pic_flag[j]等于0时,该两个子图片应具有相同的nal单元类型。
[0341]
a.可选地,要求当任何具有子图片索引i的子图片的subpic_treated_as_pic_flag[i]等于0时,图片中的所有子图片应具有相同的nal单元类型(即,图片中的所有vcl nal单元应具有相同的nal单元类型,即,mixed_nalu_types_in_pic_flag的值应等于0)。并且这意味着,当所有子图片使它们对应的subpic_treated_as_pic_flag[]等于1时,mixed_nalu_types_in_pic_flag只能等于1。
[0342]
3)为了解决问题3,当mixed_nalu_types_in_pic_flag等于1时,可以允许图片包含多于两种不同类型的vcl nal单元。
[0343]
4)为了解决问题4,规定后置子图片按照输出顺序应在关联irap或gdr子图片之后。
[0344]
5)为了解决问题5,为了允许在由两个cra图片和它们的非au对齐关联radl和rasl图片的混合所产生的图片中混合radl和rasl nal单元类型,将指定irap图片的前置图片应是radl或rasl图片的现有约束改变如下:当图片是irap图片的前置图片时,图片中所有vclnal单元的nal_unit_type值应等于radl_nut或rasl_nut。此外,在使用具有radl_nut和rasl_nut的混合nal_unit_type值的图片的解码处理中,当包含图片的层是输出层时,图片的pictureoutputflag被设置为等于pic_output_flag。
[0345]
这样,尽管当关联cra图片的nooutputbeforerecoveryflag等于1时,这样的图片中的“中间值”的rasl子图片的“正确性”的保证也是适当的,但是实际上并不需要的,但是通过所有输出的图片都需要对符合解码器正确的约束,可以保证这样的图片中的radl子图片。保证中不必要的部分无关紧要,并且不会增加实现符合编码器或解码器的复杂性。在这种情况下,添加注释(note)会很有用,来澄清虽然与具有等于1的nooutputbeforerecoveryflag的cra图片相关联的这种rasl子图片可以由解码处理输出,但是不打算将它们用于显示,并因此不将它们应用于显示。
[0346]
6)为了解决问题6,规定当子图片是irap子图片的前置子图片时,它应是radl或
rasl子图片。
[0347]
7)为了解决问题7,规定在比特流中不应存在与idr子图片相关联的rasl子图片。
[0348]
8)为了解决问题8,规定在比特流中不应存在与具有等于idr_n_lp的nal_unit_type的idr子图片相关联的radl子图片。
[0349]
9)为了解决问题9,规定具有等于特定值layerid的nuh_layer_id以及等于特定值subpicidx的子图片索引的任何子图片,按照输出顺序应在irap子图片及其所有关联radl子图片之前,该任何子图片按照解码顺序在具有等于layerid的nuh_layer_id以及等于subpicidx的子图片索引的irap子图片之前。
[0350]
10)为了解决问题10,规定具有等于特定值layerid的nuh_layer_id以及等于特定值subpicidx的子图片索引的任何子图片,按照输出顺序应在gdr子图片及其所有关联子图片之前,该任何子图片按照解码顺序在具有等于layerid的nuh_layer_id以及等于subpicidx的子图片索引的gdr子图片之前。
[0351]
11)为了解决问题11,规定与cra子图片相关联的任何rasl子图片按照输出顺序应在与cra子图片相关联的任何radl子图片之前。
[0352]
12)为了解决问题12,规定与cra子图片相关联的任何rasl子图片按照输出顺序应在按照解码顺序在cra子图片之前的任何irap子图片之后。
[0353]
13)为了解决问题13,规定如果field_seq_flag等于0,并且具有等于特定值layerid的nuh_layer_id以及等于特定值subpicidx的子图片索引的当前子图片是与irap子图片相关联的前置子图片,则它应按照解码顺序在与相同irap子图片相关联的所有非前置子图片之前;否则,设subpica和subpicb分别是按照解码顺序与irap子图片相关联的第一个和最后一个前置子图片,按照解码顺序subpica之前至多应有一个具有等于layerid的nuh_layer_id以及等于subpicidx的子图片索引的非前置子图片,并且按照解码顺序在pica和picb之间应没有具有等于layerid的nuh_layer_id以及等于subpicidx的子图片索引的非前置图片。
[0354]
14)为了解决问题14,规定当具有等于特定值tid的temporalid、等于特定值layerid的nuh_layer_id、以及等于特定值subpicidx的子图片索引的当前子图片是按照解码顺序在具有等于tid的temporalid、等于layerid的nuh_layer_id、以及等于subpicidx的子图片索引的stsa子图片之后的子图片时,则不应存在按照解码顺序在包含stsa子图片的图片之前的具有等于tid的temporalid以及等于layerid的nuh_layer_id的图片,其作为活动条目被包括在refpiclist[0]或refpiclist[1]中。
[0355]
15)为了解决问题15,规定当等于特定值layerid的nuh_layer_id且等于特定值subpicidx的子图片索引的当前子图片是cra子图片时,则不应存在由输出顺序或按照解码顺序在包含等于layerid的nuh_layer_id且等于subpicidx的子图片索引的先前irap子图片(当存在时)的任何图片之前的由refpiclist[0]或refpiclist[1]中的条目所参考的图片。
[0356]
16)为了解决问题16,规定当具有等于特定值layerid的nuh_layer_id以及等于特定值subpicidx的子图片索引的当前子图片不是与具有等于1的nooutputbeforerecoveryflag的cra图片的cra子图片相关联的rasl子图片、具有等于1的nooutputbeforerecoveryflag的gdr图片的gdr子图片或者具有等于1的
nooutputbeforerecoveryflag以及等于layerid的nuh_layer_id的gdr图片的恢复图片的子图片时,则不应存在通过生成不可用参考图片的解码处理来生成的refpiclist[0]或refpiclist[1]中的活动条目所涉及的图片。
[0357]
17)为了解决问题17,规定当具有等于特定值layerid的nuh_layer_id以及等于特定值subpicidx的子图片索引的当前子图片不是具有等于1的nooutputbeforerecoveryflag的cra图片的cra子图片、按照解码顺序在与具有等于1的nooutputbeforerecoveryflag的cra图片的相同cra子图片相关联的前置子图片之前的子图片、与具有等于1的nooutputbeforerecoveryflag的cra图片的cra子图片相关联的前置子图片、具有等于1的nooutputbeforerecoveryflag的gdr图片的gdr子图片、或者具有等于1的nooutputbeforerecoveryflag以及等于layerid的nuh_layer_id的gdr图片的恢复图片的子图片时,则不应存在通过生成不可用参考图片的解码处理来生成的由refpiclist[0]或refpiclist[1]中的条目所涉及的图片。
[0358]
18)为了解决问题18,规定当当前子图片与irap子图片相关联并且按照输出顺序在该irap子图片之后时,则不应存在按照输出顺序或按照解码顺序在包含关联irap子图片的图片之前的由refpiclist[0]或refpiclist[1]中的活动条目所涉及的图片。
[0359]
19)为了解决问题19,规定当当前子图片与irap子图片相关联时,在按照输出顺序在irap子图片之后,并且按照解码顺序和按照输出顺序都在与相同irap子图片(如果存在)相关联的前置子图片之后,则不应存在按照输出顺序或按照解码顺序在包含关联irap子图片的图片之前的由refpiclist[0]或refpiclist[1]中的条目所涉及的图片。
[0360]
20)为了解决问题20,规定当当前子图片是radl子图片时,则在refpiclist[0]或refpiclist[1]中不应有以下活动条目中的任何一个:
[0361]
a.包含rasl子图片的图片
[0362]
b.按照解码顺序在包含关联irap子图片的图片之前的图片
[0363]
6.实施例
[0364]
以下是上文第5节中总结的一些技术方案方面的一些示例实施例,其可以应用于vvc规范。变更后的文本基于jvet-q2001-ve/v15中的最新vvc文本。大多数被添加或修改的相关部分以粗体斜体突出显示,并且一些被删除的部分以突出显示的方式用左右双括号(例如,[[]])突出显示,删除的文本在双括号之间。还有一些其他的更改是编辑性的,或者不是本技术解决方案的一部分,并因此没有突出显示。
[0365]
6.1.第一实施例
[0366]
该实施例用于项目1、1a、2、2a、4和6至20。
[0367]
3定义
[0368]
...
[0369]
(具有特定值为layerid的nuh_layer_id的特定图片的)关联gdr图片:具有等于layerid的nuh_layer_id的先前(当存在时),在该图片和特定之间没有具有等于layerid的nuh_layer_id的irap图片。
[0370][0371]
具有等于layerid的nuh_layer_id的先前(当存在时),在该图片和特定之间没有具有等于layerid的nuh_layer_id的gdr图片。
[0372][0373]
每个的具有等于cra_nut的nal_unit_type的图片。
[0374][0375]
cvs中的每一层都有一个pu且每个当前中的都是gdr图片的
[0376]
每个vcl nal单元包括具有等于gdr_nut的nal_unit_type的
[0377][0378]
每个包括具有等于idr_w_radl或idr_n_lp的nal_unit_type的
[0379][0380]
所有包括在idr_w_radl到cra_nut的范围(包含本数)内的nal_unit_type的相同值的
[0381]
在之前的
[0382][0382]
顺序,从dpb输出的中的
[0383]
每个包括具有等于radl_nut的nal_unit_type的
[0384][0385]
每个单元包括具有等于rasl_nut的nal_unit_type的
[0386][0387]
每个包括具有等于stsa_nut的nal_unit_type的
[0388][0389]
每个包括具有等于trail_nut的nal_unit_type的
[0390]
注释

与irap或gdr图片相关联的后置图片按照解码顺序也在irap或gdr图片之后。不允许按照输出顺序在关联irap或gdr图片之后且按照解码顺序在关联irap或gdr图片之前的图片。
[0391][0392]
...
[0393]
7.4.2.2nal单元标头语义
[0394]
...
[0395]
规定nal单元类型,即包含在如表格5规定的nal单元中的rbsp数据结构的类型。
[0396]
nal_unit_type在unspec_28..unspec_31范围(包含本数)内的未指定语义的nal单元不应影响本规范中指定的解码处理。
[0397]
注释2

unspec_28..unspec_31范围中的nal单元类型可以如由应用确定的使用。在本规范中没有规定nal_unit_type的这些值的解码处理。由于不同的应用可能出于不同的目的使用这些nal单元类型,所以在设计产生具有这些nal_unit_type值的nal单元的编码器时,以及在设计解释具有这些nal_unit_type值的nal单元的内容的解码器时,必须特别小心实践。本规范没有定义这些值的任何管理。这些nal_unit_type值可能仅适用于使用“冲突”(即,相同nal_unit_type值的nal单元内容的含义的不同定义)不重要、或不可能、或被管理(例如,在控制应用或传输规范中定义或管理、或通过控制比特流分布的上下文)的上下文中。
[0398]
对于确定比特流的du中的数据量之外的目的(如附录c所指定的),解码器将忽略(从比特流中移除并丢弃)使用nal_unit_type的预留值的所有nal单元的内容。
[0399]
注释3

该要求允许本规范的兼容扩展的未来定义。
[0400]
表格5

nal单元类型代码和nal单元类型分类
[0401]
[0402]
[0403][0404]
注释4

纯随机接入(cra)图片可以具有比特流中存在的关联rasl或radl图片。
[0405]
注释5

具有等于idr_n_lp的nal_unit_type的即时解码刷新(idr)图片在比特流中没有关联前置图片。具有等于idr_w_radl的nal_unit_type的idr图片没有在比特流中存在的关联rasl图片,但是可以具有比特流中的关联radl图片。
[0406]
子图片中所有vcl nal单元的nal_unit_type值应相同。子图片被称为具有与子图片的vcl nal单元相同的nal单元类型。
[0407][0407][0408]
对于任何特定图片的vcl nal单元,以下适用:
[0409]

如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值对于图片的所有vcl nal单元应是相同的,并且图片或pu被认为具有与图片或pu的vcl nal单元相同的nal单元类型。
[0410]

否则(mixed_nalu_types_in_pic_flag等于1),图片应具有至少两个子图片,并且图片的vcl nal单元应正好具有两个不同的nal_unit_type值,如下所示:图片的至少一
个子图片的vcl nal单元都应有特定值等于stsa_nut、radl_nut、rasl_nut、idr_w_radl、idr_n_lp或cra_nut的nal_unit_type,而图片中其他子图片的vcl nal单元都应有不同特定值等于trail_nut、radl_nut、rasl_nut的nal_unit_type。
[0411]
比特流一致性的一个要求是应用以下约束:
[0412]

按照输出顺序后置图片应在关联irap或gdr图片之后。
[0413][0414]

当图片是irap图片的前置图片时,其应为radl或rasl图片。
[0415][0416]

比特流中不应存在与idr图片相关联的rasl图片。
[0417][0418]

比特流中不应存在与具有等于idr_n_lp的nal_unit_type的idr图片相关联的radl图片。
[0419]
注释6

通过丢弃irap pu之前的所有pu,可以在irap pu的位置执行随机接入(并按照解码顺序正确解码irap图片和所有后续非rasl图片),前提是当被参考时每个参数集可用(在比特流中或通过本规范中未规定的外部方式)。
[0420][0421]

按照解码顺序在具有等于layerid的nuh_layer_id的irap图片之前的任何图片(具有等于特定值layerid的nuh_layer_id)按照输出顺序都应在irap图片及其所有关联radl图片之前。
[0422][0423]

按照解码顺序在具有等于layerid的nuh_layer_id的gdr图片之前的任何图片(具有等于特定值layerid的nuh_layer_id)按照输出顺序都应在gdr图片及其所有关联图片之前。
[0424][0425]

按照输出顺序与cra图片相关联的任何rasl图片应在与cra图片相关联的任何radl图片之前。
[0426][0427]

按照输出顺序与cra图片相关联的任何rasl图片应在按照解码顺序在cra图片之前的任何irap图片之后。
[0428][0429]

如果field_seq_flag等于0,并且具有等于特定值layerid的nuh_layer_id的当前图片是与irap图片相关联的前置图片,则它应按照解码顺序在与相同irap图片相关联的所有非前置图片之前。否则,设pica和picb分别是与irap图片相关联的按照解码顺序的第一个和最后一个前置图片,按照解码顺序pica之前至多应有一个具有等于layerid的nuh_layer_id的非前置图片,并且按照解码顺序pica和picb之间应没有具有等于layerid的nuh_layer_id的非前置图片。
[0430][0431][0432]
...
[0433]
7.4.3.4图片参数集语义
[0434]
...
[0435]
等于1规定参考pps的每个图片具有多于一个的vcl nal单元并且vcl nal单元不具有相同的nal_unit_type值[[,并且该图片不是irap图片]]。mixed_nalu_types_in_pic_flag等于0规定参考pps的每个图片具有一个或多个vcl nal单元,并且参考pps的每个图片的vcl nal单元具有相同的nal_unit_type值。
[0436]
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应等于0。
[0437]
[[对于具有在idr_w_radl到cra_nut范围(包含本数)内的nal_unit_type值nalunittypea的每个条带,在还包含nal_unit_type的另一个值的一个或多个条带的图片pica中(即,图片pica的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
[0438]

条带应属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpica。
[0439]

条带不应属于包含vcl nal单元且nal_unit_type不等于nalunittypea的pica子图片。
[0440]

如果nalunittypea等于cra,对于按照解码顺序和按照输出顺序clvs中在当前图片之后的所有后续pu,这些pu中的subpica中的条带的refpiclist[0]和refpiclist[1]都不应包括活动条目中按照解码顺序先于pica的任何图片。
[0441]

否则(即,nalunittypea等于idr_w_radl或idr_n_lp),对于按照解码顺序在当前图片之后的clvs中的所有pu,这些pu中的subpica中的条带的refpiclist[0]或refpiclist[1]都不应包括活动条目中按照解码顺序先于pica的任何图片。]]
[0442]
注释1

mixed_nalu_types_in_pic_flag等于1指示参考pps的图片包含具有不同nal单元类型的条带,例如,源自子图片比特流merge操作的编解码图片,其中,编码器必须确保比特流结构匹配以及原始比特流参数的进一步对齐。这种对齐的一个示例如下:当sps_idr_rpl_present_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考pps的图片不能有具有等于idr_w_radl或idr_n_lp的nal_unit_type的条带。
[0443]
...
[0444]
7.4.3.7图片标头结构语义
[0445]
...
[0446]
规定按照输出顺序解码图片的恢复点。
[0447][0448]
如果当前图片是[[与ph相关联的]]gdr图片,并且在clvs中存按照解码顺序在当前gdr图片之后的图片pica,其具有等于[[当前gdr图片的picordercntval加recovery_poc_cnt的值]]的picordercntval,则图片pica被称为恢复点图片。否则,按照输出顺序大于[[当前图片的picordercntval加recovery_poc_cnt的值]]的picordercntval的第一图片被称为恢复点图片。恢复点图片不应按照解码顺序在当前gdr图片之前。图片。恢复点图片不应按照解码顺序在当前gdr图片之前。recovery_poc_cnt的值应在0到maxpicordercntlsb-1的范围(包含本数)内。
[0449]
[[当当前图片是gdr图片时,变量rppicordercntval被推导如下:
[0450]
rppicordercntval=picordercntval recovery_poc_cnt
ꢀꢀꢀꢀꢀ
(81)]]
[0451]
注释2

当gdr_enabled_flag等于1且当前图片的picordercntval大于或等于关联gdr图片的[[rppicordercntval]]时,按照输出顺序当前和后续解码图片与从按照解码顺序在关联gdr图片之前的先前irap图片(当存在时)开始解码处理所产生的对应图片完全匹配。
[0452]
...
[0453]
8.3.2参考图片列表构造的解码处理
[0454]
...
[0455]
比特流一致性的一个要求是应用以下约束:
[0456]

对于每个等于0或1的i,num_ref_entries[i][rplsidx[i]]不应小于
numrefidxactive[i]。
[0457]

refpiclist[0]或refpiclist[1]中的每个活动条目所涉及的图片应存在于dpb中,并且temporalid应小于或等于当前图片的temporalid。
[0458]

refpiclist[0]或refpiclist[1]中的每个条目所涉及的图片不应是当前图片,并且non_reference_picture_flag应等于0。
[0459]

图片的条带的refpiclist[0]或refpiclist[1]中的strp条目和相同条带或相同图片的不同条带的refpiclist[0]或refpiclist[1]中的ltrp条目不应涉及相同图片。
[0460]

在refpiclist[0]或refpiclist[1]中不应存在当前图片的picordercntval与该条目所涉及的图片的picordercntval之差大于或等于2
24
的ltrp条目。
[0461]

设setofrefpics是refpiclist[0]中具有与当前图片相同的nuh_layer_id的所有条目和refpiclist[1]中具有与当前图片相同的nuh_layer_id的所有条目所涉及的唯一图片组。setofrefpics中的图片数量应小于或等于maxdpbsize-1(包含本数),其中,条款a.4.2中指定maxdpbsize并且setofrefpics对于图片的所有条带应是相同的。
[0462]

当当前条带的具有等于stsa_nut的nal_unit_type时,则不应存在refpiclist[0]或refpiclist[1]中temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id的活动条目。
[0463]

当当前图片是按照解码顺序在stsa图片之后的图片时,该stsa图片的temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id,则不应存在按照解码顺序在stsa图片之前的图片,该stsa图片的temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id,其作为活动条目包括在refpiclist[0]或refpiclist[1]中。
[0464][0465][0466]

当具有等于特定值layerid的nuh_layer_id的当前图片是cra图片时,则不应存在由refpiclist[0]或refpiclist[1]中的条目所涉及的图片,该图片按照输出顺序或按照解码顺序在具有等于layerid的nuh_layer_id的按照解码顺序的任何先前irap图片(当存在时)之前。
[0467][0468]

当具有等于特定值layerid的nuh_layer_id的当前图片不是与具有等于1的nooutputbeforerecoveryflag的cra图片相关联的rasl图片、具有等于1的nooutputbeforerecoveryflag的gdr图片或者具有等于1的nooutputbeforerecoveryflag以及等于layerid的nuh_layer_id的gdr图片的恢复图片时,则不应存在通过生成不可用参考图片的解码处理来生成的由refpiclist[0]或refpiclist[1]中的活动条目所涉及的图片。
[0469][0470]

当具有等于特定值layerid的nuh_layer_id的当前图片不是具有等于1的nooutputbeforerecoveryflag的cra图片、按照解码顺序在与具有等于1的nooutputbeforerecoveryflag的相同cra图片相关联的前置图片之前的图片、与具有等于1的nooutputbeforerecoveryflag的cra图片相关联的前置图片、具有等于1的nooutputbeforerecoveryflag的gdr图片、或者具有等于1的nooutputbeforerecoveryflag以及等于layerid的nuh_layer_id的gdr图片的恢复图片时,则不应存在通过生成不可用参考图片的解码处理来生成的由refpiclist[0]或refpiclist[1]中的条目所涉及的图片。
[0471][0472]

当当前图片与irap图片相关联并且按照输出顺序在该irap图片之后时,则不应存在按照输出顺序或按照解码顺序在关联irap图片之前的由refpiclist[0]或refpiclist[1]中的活动条目所涉及的图片。
[0473][0474]

当当前图片与irap图片相关联时,在按照输出顺序在irap图片之后,并且按照解码顺序和按照输出顺序都在与相同irap图片(如果存在)相关联的前置图片之后,则不应存在按照输出顺序或按照解码顺序在关联irap图片之前的由refpiclist[0]或refpiclist[1]中的条目所涉及的图片。
[0475][0476][0477]

当当前图片是radl图片时,则在refpiclist[0]或refpiclist[1]中不
[0478]
应有以下活动条目中的任何一个:
[0479]
оrasl图片
[0480]
о按照解码顺序在关联irap图片之前的图片
[0481][0482]

由当前图片的条带的refpiclist[0]或refpiclist[1]中的每个ilrp条目所涉及的图片应与当前图片在相同的au中。
[0483]

由当前图片的条带的refpiclist[0]或refpiclist[1]中的每个ilrp条目所涉及的图片应存在于dpb中,并且nuh_layer_id应小于当前图片的nuh_layer_id。
[0484]

条带的refpiclist[0]或refpiclist[1]中的每个ilrp条目都应是活动条目。
[0485]
图5是示出了其中,可以实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施可以包括系统1900的部分或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以是以压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括如以太网、无源光网络(passive optical network,pon)等有线接口和诸如wi-fi或蜂窝接口的无线接口。
[0486]
系统1900可以包括编解码组件1904,其可以实施本文档中描述的各种编解码或编码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者通过由组件1906表示的连接的通信而传输。组件1908可以使用在输入1902处接收的视频的存储或通信的比特流(或编解码)表示来生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的处理有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编码工具或操作,并且将由解码器执行相应的解码工具或反转编码结果的操作。
[0487]
外围总线接口或显示器接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以实施在各种电子设备中,例如能够执行数字数据处理和/或视频显示的移动电话、膝上型计算机、智能手机或其他设备。
[0488]
图6是视频处理装置3600的框图。装置3600可用于实施本文描述的一种或多种方法。装置3600可以实施在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置成实施本文档中描述的一种或多种方法。(多个)存储器3604可用于存储用于实施本文所述方法和技术的数据和代码。视频处理硬件3606可用于在硬件电路中实施本文档中描述的一些技术。
[0489]
图8是示出了可利用本发明的技术的示例视频编解码系统100的框图。
[0490]
如图8所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成可被称为视频编码设备的经编码视频数据。目标设备120可解码由可称为视频解码设备的源设备110生成的经编码视频数据。
[0491]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0492]
视频源112可以包括如视频捕获设备、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统的源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发送器。经编码视频数据可经由i/o接口116通过网络130a直接发送到目标设备120。经编码视频数据还可存储在存储介质/服务器130b上以供目标设备120访问。
[0493]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0494]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取经编码视频数据。视频解码器124可以解码经编码视频数据。显示设备122可以向用户显示经解码视频数据。显示设备122可以与目标设备120集成在一起,或者可以在目标设备120的外部,该目标设备120被配置为与外部显示设备连接。
[0495]
视频编码器114和视频解码器124可以根据视频压缩标准操作,例如高效视频编解码(hevc)标准、通用视频编码解(vvm)标准和其他当前和/或进一步的标准。
[0496]
图9是示出了视频编码器200的示例的框图,视频编码器200可以是图8中示出的系统100中的视频编码器114。
[0497]
视频编码器200可被配置为执行本发明的任何或所有技术。在图9的示例中,视频编码器200包括多个功能组件。本发明中描述的技术可在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。
[0498]
视频编码器200的功能组件可包括分割单元201、可包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。
[0499]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一示例中,预测单元202可包括帧内块复制(intra block copy,ibc)单元。ibc单元可以以ibc模式执行预测,其中,至少一个参考图片是当前视频块所在的图片。
[0500]
此外,一些组件(例如,运动估计单元204和运动补偿单元205)可高度集成,但出于解释目的而在图9的示例中单独表示。
[0501]
分割单元201可将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0502]
模式选择单元203可(例如,基于误差结果)选择编解码模式(帧内或帧间)中的一种,且将所得帧内或帧间编解码块提供到残差生成单元207以生成残差块数据,且提供到重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(ciip)模式的组合,其中,预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
[0503]
为了对当前视频块执行帧间预测,运动估计单元204可通过将来自缓冲器213的一
个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可基于来自缓冲器213的除了与当前视频块相关联的图片之外的图片的运动信息和解码样点来确定当前视频块的预测视频块。
[0504]
运动估计单元204和运动补偿单元205可对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带、p条带还是b条带中。
[0505]
在一些示例中,运动估计单元204可对当前视频块执行单向预测,且运动估计单元204可在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204可接着生成指示列表0或列表1中的参考图片的参考索引,该参考图片包含参考视频块和指示当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0506]
在其他示例中,运动估计单元204可对当前视频块执行双向预测,运动估计单元204可在列表0中的参考图片中搜索当前视频块的参考视频块,且还可在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204可接着生成参考索引和运动矢量,该参考索引指示包含参考视频块的列表0和列表1中的参考图片,该运动矢量指示参考视频块与当前视频块之间的空域位移。运动估计单元204可输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0507]
在一些示例中,运动估计单元204可输出用于解码器的解码处理的一组完整运动信息。
[0508]
在一些示例中,运动估计单元204可能不输出当前视频的一组完整运动信息。相反,运动估计单元204可参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可确定当前视频块的运动信息与临近视频块的运动信息足够相似。
[0509]
在一个示例中,运动估计单元204可在与当前视频块相关联的语法结构中指示一值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
[0510]
在另一示例中,运动估计单元204可在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(motion vector difference,mvd)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0511]
如上所述,视频编码器200可以预测性地信令通知运动矢量。可由视频编码器200实施的预测信令技术的两个示例包含高级运动矢量预测(advanced motion vector predication,amvp)和merge模式信令通知。
[0512]
帧内预测单元206可对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可基于同一图片中的其他视频块的经解码样点来生成当前视频块的预测数据。当前视频块的预测数据可包括预测的视频块和各种语法元素。
[0513]
残差生成单元207可通过从当前视频块减去(例如,由负号指示)当前视频块的预测视频块来生成产生当前视频块的残差数据。当前视频块的残差数据可包括对应于当前视频块中样点的不同样点分量的残差视频块。
[0514]
在其他示例中,当前视频块可能没有当前视频块的残差数据,例如在跳过模式中,
并且残差生成单元207可不执行减法操作。
[0515]
变换处理单元208可通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
[0516]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0517]
逆量化单元210和逆变换单元211可分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可将重构的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于缓冲器213中的存储。
[0518]
在重构单元212重构视频块之后,可执行环路滤波操作以减少视频块中的视频块效应。
[0519]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码的数据并输出包括熵编码的数据的比特流。
[0520]
所公开的技术的一些实施例包括做出决定或确定以启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实施该工具或模式,但可能不一定基于工具或模式的使用来修改所得比特流。即,当基于决定或确定启用视频处理工具或模式时,从视频块到视频的比特流(或比特流表示)的转换将使用该视频处理工具或模式。在另一个示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。即,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流到视频的块的转换。
[0521]
图10是示出了视频解码器300的示例的框图,该视频解码器300可以是图8所示的系统100中的视频解码器114。
[0522]
视频解码器300可经配置以执行本发明的任何或所有技术。在图10的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。
[0523]
在图10的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图9)描述的编码过程相反的解码通道。
[0524]
熵解码单元301可检索经编码的比特流。经编码的比特流可以包括经熵编码的视频数据(例如,经编码视频数据块)。熵解码单元301可解码经熵编码的视频数据,并且从经熵解码的视频数据,运动补偿单元302可确定运动信息,包含运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可(例如)通过执行amvp和merge模式来确定这类信息。
[0525]
运动补偿单元302可产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可包含要以子像素精度使用的插值滤波器的识别符。
[0526]
运动补偿单元302可使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可根据所接收的语法信息来确
定视频编码器200所使用的插值滤波器,并使用插值滤波器来产生预测块。
[0527]
运动补偿单元302可使用一些语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个经帧间编码的块的一个或多个参考帧(和参考帧列表)以及解码编码视频序列的其他信息。
[0528]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域邻近的块形成预测块。逆量化单元303逆量化(即,去量化)比特流中提供的并且由熵解码单元301解码的量化视频块系数。逆变换单元303应用逆变换。
[0529]
重构单元306可将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成经解码的块。如果需要,还可以应用去方块滤波器来对经解码的块进行滤波,以便去除块效应。经解码的视频块然后被存储在缓冲器307中,该缓冲器307为后续的运动补偿/帧内预测提供参考块,并且还产生经解码的视频以在显示设备上呈现。
[0530]
接下来提供由一些实施例优选的技术方案列表。
[0531]
以下技术方案示出了在先前章节(例如,项目1)中讨论的技术的示例实施例。
[0532]
1.一种视频处理方法(例如,图7中所示的方法700),包括:执行(702)包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示格式规则,该格式规则规定,包括一个或多个子图片的一个或多个图片包括在根据网络抽象层(nal)单元的编解码表示中,其中,在编解码表示中指示的一种类型nal单元包括特定类型图片的编解码条带或特定类型子图片的编解码条带。
[0533]
以下技术方案示出了在先前章节(例如,项目2)中讨论的技术的示例实施例。
[0534]
2.一种视频处理方法,包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,该格式规则规定,具有不同网络抽象层单元类型的两个临近子图片将具有相同的被视为图片标志的子图片的指示。
[0535]
以下技术方案示出了在先前章节(例如,项目4、5、6、7、9、1、11、12)中讨论的技术的示例实施例。
[0536]
3.一种视频处理方法,包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,该格式规则定义第一类型子图片和第二类型子图片的顺序,其中,第一子图片是后置子图片或前置子图片或随机接入跳过前置(rasl)子图片类型,并且第二子图片是rasl类型或随机接入可解码前置(radl)类型或即时解码刷新(idr)类型或逐渐解码刷新(gdr)类型子图片。
[0537]
4.根据技术方案3所述的方法,其中,该规则规定,按照输出顺序后置子图片在关联帧内随机接入点或gdr子图片之后。
[0538]
5.根据技术方案3所述的方法,其中,该规则规定,当图片是帧内随机接入点图片的前置图片时,该图片中所有网络抽象层单元的nal_unit_type值等于radl_nut或rasl_nut。
[0539]
6.根据技术方案3所述的方法,其中,该规则规定,作为irap子图片的前置子图片的给定子图片也必须是radl或rasl子图片。
[0540]
7.根据技术方案3所述的方法,其中,该规则规定,作为rasl子图片的给定子图片
不允许与idr子图片相关联。
[0541]
8.根据技术方案3所述的方法,其中,该规则规定,具有与irap子图片相同的层id和子图片索引的给定子图片按照输出顺序必须在irap子图片及其所有关联radl子图片之前。
[0542]
9.根据技术方案3所述的方法,其中,该规则规定,具有与gdr子图片相同的层id和子图片索引的给定子图片按照输出顺序必须在gdr子图片及其所有关联radl子图片之前。
[0543]
10.根据技术方案3所述的方法,其中,该规则规定,作为与cra子图片相关联的rasl子图片的给定子图片按照输出顺序在与cra子图片相关联的所有radl子图片之前。
[0544]
11.根据技术方案3所述的方法,其中,该规则规定,作为与cra子图片相关联的rasl子图片的给定子图片按照输出顺序在与cra子图片相关联的所有irap子图片之前。
[0545]
12.根据技术方案3所述的方法,其中,该规则规定,给定子图片是具有irap子图片的前置子图片,则按照解码顺序给定子图片在与irap图片相关的所有非前置子图片之前。
[0546]
以下技术方案示出了先前章节(例如,项目8、14、15)中讨论的技术的示例实施例。
[0547]
13.一种视频处理方法,包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,该格式规则定义了允许或不允许第一类型的子图片与第二类型的子图片一起存在的条件。
[0548]
14.根据技术方案13所述的方法,其中,该规则规定,如果存在网络抽象层类型idr_n_lp的idr子图片,则不允许编解码表示具有radp子图片。
[0549]
15.根据技术方案13所述的方法,其中,该规则不允许将图片包括在包含逐步时域子层接入(stsa)子图片的图片的参考列表中,使得该图片在包含stsa子图片的图片之前。
[0550]
16.根据技术方案13所述的方法,其中,该规则不允许将图片包括在包含帧内随机接入点(irap)子图片的图片的图片的参考列表中,使得该图片在包含irap子图片的图片之前。
[0551]
17.根据技术方案1至16中任一项所述的方法,其中,该转换包括将视频编码成编解码表示。
[0552]
18.根据技术方案1至16中任一项所述的方法,其中,该转换包括解码编解码表示以生成视频的像素值。
[0553]
19.一种视频解码装置,包括被配置为实施技术方案1至18中的一个或多个中所述的方法的处理器。
[0554]
20.一种视频编码装置,包括被配置为实施技术方案1至18中的一个或多个中所述的方法的处理器。
[0555]
21.一种其上存储有计算机代码的计算机程序产品,该代码当由处理器运行时使处理器实施技术方案1至18中任一项所述的方法。
[0556]
22.本文档中描述的方法、设备或系统。
[0557]
在本文描述的技术方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的技术方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则了解语法元素的存在和不存在,以产生解码的视频。
[0558]
图11是视频处理的示例方法1100的流程图。操作1102包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合规
定比特流中的网络抽象层(nal)单元的语法的格式规则,并且其中,该格式规则规定视频编解码层(vcl)nal单元类型的nal单元包括与特定类型的图片或特定类型的子图片相关联的内容。
[0559]
在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与纯随机接入图片或纯随机接入子图片相关联。在方法1100的一些实施例中,纯随机接入子图片是每个vcl nal单元具有纯随机接入类型的帧内随机接入点子图片。在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与关联逐渐解码刷新图片或关联逐渐解码刷新子图片相关联。在方法1100的一些实施例中,关联逐渐解码刷新子图片按照解码顺序是具有vcl nal单元所属的层的标识符或非vcl nal单元所应用的层的标识符等于第一特定值且具有子图片索引的第二特定值的先前逐渐解码刷新子图片,并且其中,按照解码顺序在先前逐渐解码刷新子图片和具有标识符的第一特定值和子图片索引的第二特定值的特定子图片之间,不存在具有标识符标识符的第一特定值和子图片索引的第二特定值的帧内随机接入点子图片。
[0560]
在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与关联帧内随机接入点图片或关联帧内随机接入点子图片相关联。在方法1100的一些实施例中,关联帧内随机接入点子图片按照解码顺序是具有vcl nal单元所属的层的标识符或非vcl nal单元所应用的层的标识符等于第一特定值且具有子图片索引的第二特定值的先前帧内随机接入点子图片,并且其中,按照解码顺序在先前帧内随机接入点子图片和具有标识符的第一特定值和子图片索引的第二特定值的特定子图片之间,不存在具有标识符的第一特定值和子图片索引的第二特定值的逐渐解码刷新子图片。在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与即时解码刷新图片或即时解码刷新子图片相关联。在方法1100的一些实施例中,即时解码刷新子图片是其中每个vcl nal单元具有即时解码刷新类型的帧内随机接入点子图片。
[0561]
在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与前置图片或前置子图片相关联。在方法1100的一些实施例中,前置子图片是按照输出顺序在关联帧内随机接入点子图片之前的子图片。在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与随机接入可解码前置图片或随机接入可解码前置子图片相关联。在方法1100的一些实施例中,随机接入可解码前置子图片是每个vcl nal单元具有随机接入可解码前置类型的子图片。在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与随机接入跳过前置图片或随机接入跳过前置子图片相关联。在方法1100的一些实施例中,随机接入跳过前置子图片是每个vcl nal单元具有随机接入跳过前置类型的子图片。在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与逐步时域子层接入图片或逐步时域子层接入子图片相关联。
[0562]
在方法1100的一些实施例中,逐步时域子层接入子图片是每个vcl nal单元具有逐步时域子层接入类型的子图片。在方法1100的一些实施例中,vcl nal单元类型的nal单元的内容指示,编解码条带与后置图片或后置子图片相关联。在方法1100的一些实施例中,后置子图片是每个vcl nal单元具有后置类型的子图片。
[0563]
图12是视频处理的示例方法1200的流程图。操作1202包括,执行包括包含子图片
的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,并且其中,该格式规则规定,响应于子图片是帧内随机接入点子图片的前置子图片,子图片是随机接入类型的子图片。
[0564]
在方法1200的一些实施例中,子图片的随机接入类型是随机接入可解码前置子图片。在方法1200的一些实施例中,子图片的随机接入类型是随机接入跳过前置子图片。
[0565]
图13是视频处理的示例方法1300的流程图。操作1302包括,执行包括包含子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,并且其中,该格式规则规定,响应于一个或多个随机接入跳过前置子图片与即时解码刷新子图片相关联,比特流中不存在一个或多个随机接入跳过前置子图片。
[0566]
图14是视频处理的示例方法1400的流程图。操作1402包括,执行包括包含子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于一个或多个随机接入可解码前置子图片与具有指示即时解码刷新子图片不与前置图片相关联的一种类型的网络抽象层(nal)单元的即时解码刷新子图片相关联,比特流中不存在一个或多个随机接入可解码前置子图片。
[0567]
图15是视频处理的示例方法1500的流程图。操作1502包括,执行包括包含两个临近子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,具有不同类型的网络抽象层(nal)单元的两个临近子图片具有相同第一值的语法元素,该语法元素指示编解码层视频序列中的两个临近子图片中的每一个是否被视为图片。
[0568]
在方法1500的一些实施例中,格式规则规定,两个临近子图片的语法元素指示编解码层视频序列中的两个临近子图片中的每一个被视为图片。
[0569]
图16是视频处理的示例方法1600的流程图。操作1602包括,执行包括包含两个临近子图片的图片的视频和视频的比特流之间的转换,其中,该格式规则规定,两个临近子图片包括具有第一子图片索引的第一临近子图片和具有第二子图片索引的第二临近子图片,并且其中,该格式规则规定响应于与第一子图片索引相关联的第一语法元素指示第一临近子图片未被视为图片或者与第二子图片索引相关联的第二语法元素指示第二临近子图片未被视为图片,两个临近子图片具有相同类型的网络抽象层(nal)单元。
[0570]
在方法1600的一些实施例中,图片包括包含两个临近子图片的多个子图片,并且其中,该格式规则规定,响应于来自多个子图片的具有指示子图片不被视为图片的语法元素的子图片,多个子图片具有相同类型的nal单元。在方法1600的一些实施例中,图片包括包含两个临近子图片的多个子图片,并且其中,该格式规则规定,响应于多个子图片具有指示clvs中的多个子图片中的每个被视为图片的对应语法元素,语法元素指示参考图片参数集(pps)的视频的每个图片有不具有相同类型的视频编解码层(vcl)nal单元的多个vcl nal单元。
[0571]
图17是视频处理的示例方法1700的流程图。操作1702包括,执行包括包含一个或多个子图片的图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于语法元素指示参考图片参数集(pps)的视频的每个图片具有没有相同类型的视频编解码层(vcl)网络抽象层(nal)单元的多个vcl nal单元,允许图片包括多于两个不同类型的vcl nal单元。
[0572]
图18是视频处理的示例方法1800的流程图。操作1802包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,按照顺序与帧内随机接入点子图片或逐渐解码刷新子图片相关联的后置子图片在帧内随机接入点子图片或逐渐解码刷新子图片之后。
[0573]
在方法1800的一些实施例中,顺序是输出顺序。
[0574]
图19是视频处理的示例方法1900的流程图。操作1902包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于:(1)按照第二顺序子图片在帧内随机接入点子图片之前,(2)该子图片和帧内随机接入点子图片对于该子图片和帧内随机接入点子图片的网络抽象层(nal)单元所属的层具有相同的第一值,以及(3)该子图片和帧内随机接入点子图片具有相同的子图片索引的第二值,按照第一顺序该子图片在帧内随机接入点子图片和与帧内随机接入点子图片相关联的一个或多个随机接入可解码前置子图片之前。
[0575]
在方法1800的一些实施例中,第一顺序是输出顺序。在方法1800的一些实施例中,第二顺序是解码顺序。
[0576]
图20是视频处理的示例方法2000的流程图。操作2002包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,按照顺序与纯随机接入子图片相关联的随机接入跳过前置子图片在与纯随机接入子图片相关联的一个或多个随机接入可解码前置子图片之前。
[0577]
在方法2000的一些实施例中,顺序是输出顺序。
[0578]
图21是视频处理的示例方法2100的流程图。操作2102包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,按照第一顺序与纯随机接入子图片相关联的随机接入跳过前置子图片在按照第二顺序在纯随机接入子图片之前的一个或多个帧内随机接入点子图片之后。
[0579]
在方法2100的一些实施例中,第一顺序是输出顺序。在方法2100的一些实施例中,第二顺序是解码顺序。
[0580]
图22是视频处理的示例方法2200的流程图。操作2202包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于:(1)语法元素指示编解码层视频序列传达表示帧的图片,以及(2)当前子图片是与帧内随机接入点子图片相关联的前置子图片,按照解码顺序当前子图片在与帧内随机接入点子图片相关联的一个或多个非前置子图片之前。
[0581]
在方法2200的一些实施例中,响应于(1)语法元素指示编解码层视频序列传达表示字段的图片,以及(2)当前子图片不是前置子图片,格式规则规定:按照解码顺序在与帧内随机接入点子图片相关联的第一前置子图片之前存在至多一个非前置子图片,以及按照解码顺序在与帧内随机接入点子图片相关联的第一前置子图片和最后前置子图片之间不存在非前置图片,其中,当前子图片、至多一个非前置子图片和非前置图片对于当前子图片、该至多一个非前置子图片和非前置图片的网络抽象层(nal)单元所属的层具有相同的第一值,并且其中,当前子图片、该至多一个非前置子图片和非前置图片具有相同的子图片索引的第二值。
[0582]
图23是视频处理的示例方法2300的流程图。操作2302包括,执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于图片是帧内随机接入点图片的前置图片,图片中的所有视频编解码层(vcl)网络抽象层(nal)单元的一种或多种类型的nal单元包括radl_nut或rasl_nut。
[0583]
在方法2300的一些实施例中,格式规则规定,响应于:(1)图片中所有vcl nal单元的一种或多种类型的nal单元包括radl_nut和rasl_nut,以及(2)包括该图片的层是输出层,图片的变量被设置为等于图片输出标志的值。
[0584]
图24是视频处理的示例方法2400的流程图。操作2402包括,执行包括包含多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中,该比特流符合格式规则,该格式规则规定,响应于:(1)按照第二顺序上至少一个子图片在逐渐解码刷新子图片之前,(2)该至少一个子图片和逐渐解码刷新子图片对于该至少一个子图片和逐渐解码刷新子图片的网络抽象层(nal)单元所属的层具有相同的第一值,以及(3)该至少一个子图片和逐渐解码刷新图片具有相同的子图片索引的第二值,按照第一顺序该至少一个子图片在逐渐解码刷新子图片和与逐渐解码刷新子图片相关联的一个或多个子图片之前。
[0585]
在实施例2400的一些方法中,第一顺序是输出顺序。在实施例2400的一些方法中,第二顺序是解码顺序。
[0586]
图25是视频处理的示例方法2500的流程图。操作2502包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于:(a)第一图片具有与当前子图片相同的时域标识符和相同的网络抽象层(nal)单元的层标识符,以及(b)按照解码顺序当前子图片在逐步时域子层接入子图片之后,以及(c)当前子图片和逐步时域子层接入子图片具有相同的时域标识符、相同的层标识符和相同的子图片索引,该格式规则不允许当前条带的参考图片列表中的活动条目包括按照解码顺序在第二图片之前的第一图片,该第二图片包括逐步时域子层接入子图片。
[0587]
在实施例2500的一些方法中,参考图片列表包括列表0参考图片列表。在实施例2500的一些方法中,参考图片列表包括列表1参考图片列表。
[0588]
图26是视频处理的示例方法2600的流程图。操作2602包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于当前子图片不是特定类型的子图片,该格式规则不允许当前条带的参考图片列表中的活动条目包括由生成不可用的参考图片的解码处理生成的第一图片。
[0589]
在方法2600的一些实施例中,当前子图片不是与纯随机接入图片的纯随机接入子图片相关联的随机接入跳过前置子图片,该纯随机接入子图片具有等于1的指示恢复前无输出的标志值。在方法2600的一些实施例中,当前子图片不是逐渐解码刷新图片的逐渐解码刷新子图片,该逐渐解码刷新子图片具有等于1的指示恢复前无输出的标志值。在方法2600的一些实施例中,当前子图片不是逐渐解码刷新图片的恢复图片的子图片,该逐渐解码刷新图片的恢复图片的子图片具有等于1的指示恢复前无输出的标志值并且具有与当前子图片相同的网络抽象层(nal)单元的层标识符。在方法2600的一些实施例中,参考图片列
表包括列表0参考图片列表。在方法2600的一些实施例中,参考图片列表包括列表1参考图片列表。
[0590]
图27是视频处理的示例方法2700的流程图。操作2702包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于当前子图片不是特定类型的子图片,该格式规则不允许当前条带的参考图片列表中的条目包括由生成不可用的参考图片的解码处理生成的第一图片。
[0591]
在方法2700的一些实施例中,当前图片不是纯随机接入图片的纯随机接入子图片,该纯随机接入子图片具有等于1的指示恢复前无输出的标志值。在方法2700的一些实施例中,当前子图片不是按照解码顺序在与纯随机接入图片的纯随机接入子图片相关联的一个或多个前置子图片之前的子图片,该一个或多个前置子图片之前的子图片具有等于1的指示恢复前无输出的标志值。在方法2700的一些实施例中,当前子图片不是与纯随机接入图片的纯随机接入子图片相关联的前置子图片,该前置子图片具有等于1的指示恢复前无输出的标志值。在方法2700的一些实施例中,当前子图片不是逐渐解码刷新图片的逐渐解码刷新子图片,该逐渐解码刷新子图片具有等于1的指示恢复前无输出的标志值。
[0592]
在方法2700的一些实施例中,当前子图片不是逐渐解码刷新图片的恢复图片的子图片,该子图片具有等于1的指示恢复前无输出的标志值并且具有与当前子图片相同的网络抽象层(nal)单元的层标识符。在方法2700的一些实施例中,参考图片列表包括列表0参考图片列表。在方法2700的一些实施例中,参考图片列表包括列表1参考图片列表。
[0593]
图28是视频处理的示例方法2800的流程图。操作2802包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于(a)第一图片包括先前帧内随机接入点子图片,按照第二顺序先前帧内随机接入点子图片在当前子图片之前,(b)先前帧内随机接入点子图片具有与当前子图片相同的网络抽象层(nal)单元的层标识符和相同的子图片索引,以及(c)当前子图片是纯随机接入子图片,该格式规则不允许当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在当前图片之前的第一图片。
[0594]
在方法2800的一些实施例中,第一顺序包括输出顺序。在方法2800的一些实施例中,第二顺序包括解码顺序。在方法2800的一些实施例中,参考图片列表包括列表0参考图片列表。在方法2800的一些实施例中,参考图片列表包括列表1参考图片列表。
[0595]
图29是视频处理的示例方法2900的流程图。操作2902包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于(a)当前子图片与帧内随机接入点子图片相关联,(b)按照第一顺序当前子图片在帧内随机接入点子图片之后,该格式规则不允许当前条带的参考图片列表中的活动条目包括按照第一顺序或第二顺序在当前图片之前的第一图片。
[0596]
在方法2900的一些实施例中,第一顺序包括输出顺序。在方法2900的一些实施例中,第二顺序包括解码顺序。在方法2900的一些实施例中,参考图片列表包括列表0参考图片列表。在方法2900的一些实施例中,参考图片列表包括列表1参考图片列表。
[0597]
图30是视频处理的示例方法3000的流程图。操作3002包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,响应于:(a)按照第一顺序当前子图片在帧内随机接入点子图片之
后,(b)按照第一顺序和第二顺序当前子图片在与irap子图片相关联的一个或多个前置子图片之后,该格式规则不允许当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在包括与当前子图片相关联的帧内随机接入点子图片的当前图片之前的第一图片。
[0598]
在方法3000的一些实施例中,第一顺序包括输出顺序。在方法3000的一些实施例中,第二顺序包括解码顺序。在方法3000的一些实施例中,参考图片列表包括列表0参考图片列表。在方法3000的一些实施例中,参考图片列表包括列表1参考图片列表。
[0599]
图31是视频处理的示例方法3100的流程图。操作3102包括,执行包括包含当前子图片的当前图片的视频和视频的比特流之间的转换,该当前子图片包括当前条带,其中,该比特流符合格式规则,该格式规则规定,响应于当前子图片是随机接入可解码前置子图片,当前条带的参考图片列表不包括以下任意一个或多个的活动条目:包括随机接入跳过前置子图片的第一图片以及按照解码顺序在包括关联帧内随机接入点子图片的第三图片之前的第二图片。
[0600]
在方法3100的一些实施例中,参考图片列表包括列表0参考图片列表。在方法3100的一些实施例中,参考图片列表包括列表1参考图片列表。
[0601]
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换期间中应用视频压缩算法,反之亦然。例如,当前视频块的比特流表示可以对应于由语法定义的比特流中的共位或在不同位置传播的比特。例如,可以根据经过转换和编解码的误差残差值、并且也可以使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道可能存在或不存在一些字段的情况下解析比特流,如以上技术方案中所述。类似地,编码器可以确定包括或不包括某些语法字段,并通过从编解码表示中包括或不包括语法字段来相应地生成编解码表示。
[0602]
本文中描述的所公开的和其他技术方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物,或者其中一个或多个的组合。所公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码以供数据处理装置执行或控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合,或者一个或多个它们的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器装置。
[0603]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文件中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来
执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0604]
本文档中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实施为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0605]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,帧内硬盘或可移动硬盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或并入专用逻辑电路中。
[0606]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
[0607]
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统分量的分离不应理解为在所有实施例中都需要这样的分离。
[0608]
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献