视频子比特流提取过程中访问单元的处理的制作方法

文档序号:33122022发布日期:2023-02-01 04:05阅读:33来源:国知局
视频子比特流提取过程中访问单元的处理的制作方法
视频子比特流提取过程中访问单元的处理
1.相关申请的交叉引用
2.根据巴黎公约的适用专利法和/或规则,本技术要求2020年5月22日提交的美国临时专利申请第63/029,308号的优先权和利益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本技术公开内容的一部分。
技术领域
3.该专利文档涉及图像和视频编码和解码。


背景技术:

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


技术实现要素:

5.本文档公开了可由视频编码器和解码器用来执行视频编码或解码的技术。
6.在一个示例方面,公开了一种视频处理的方法。该方法包括根据规则在包括多层的视频和视频的比特流之间执行转换,其中该规则规定从比特流提取的子比特流的时域层标识符值的最大允许值。
7.在另一个示例方面,公开了一种视频处理的方法。该方法包括:根据规则执行视频和视频的比特流之间的转换,其中该规则定义了在输出子比特流的子比特流提取过程期间,将从比特流中提取的网络抽象层(nal)单元,并且其中该规则规定基于具有目标ols索引的输出层集(ols)中的nal单元标头标识符值的列表是否不包括输入到子比特流提取过程的比特流中的所有视频编解码层(vcl)nal单元中的nal单元标头标识符的所有值来导出子比特流。
8.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据规则执行视频和视频的比特流之间的转换,其中该规则定义在输出子比特流的子比特流提取过程期间将从比特流中提取的网络抽象层(nal)单元,并且其中该规则规定响应于包括在sei网络抽象层(nal)单元中的第一补充增强信息(sei)消息的有效载荷类型,不允许sei nal单元包含具有特定有效载荷类型的sei消息。
9.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据格式规则执行视频和视频的比特流之间的转换,其中格式规则规定比特流包括标志,该标志指定具有一个或多个特定有效载荷类型的一个或多个不可缩放嵌套补充增强信息(sei)消息是否应用于编解码层参考的所有输出层集。
10.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据规则执行视频和视频的比特流之间的转换,其中该规则规定子比特流提取过程,通过该过程从比特流中提取输出子比特流,而不移除特定类型的网络抽象层(nal)单元并具有特定的nal单元标头标识符值,其中该特定类型包括访问单元定界符(aud)nal单元。
11.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据规则执行包括一个或多个层的视频和视频的比特流之间的转换,其中该规则规定在子比特流提取的过程中移除包括应用于不包括在目标输出层集(ols)中的层的可缩放嵌套补充增强信息(sei)消息的网络抽象层(nal)单元。
12.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据规则在包括一个或多个层的视频和该视频的比特流之间执行转换,其中该规则规定,在子比特流提取过程中,通过基于指示补充增强信息(sei)消息是否应用于特定输出层集(ols)的第一标志和指示sei消息是应用于所有子图片还是仅应用于特定子图片的第二标志,从可缩放嵌套sei消息中提取可缩放嵌套sei消息来生成不可缩放嵌套sei消息。
13.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据规则在包括一个或多个层的视频和视频的比特流之间执行转换,其中该规则规定,在子比特流提取的过程中,通过从图片单元中的第一补充增强信息(sei)网络抽象层(nal)单元提取多个可缩放嵌套sei消息来生成不可缩放嵌套sei消息。
14.在另一个示例方面,公开了一种视频处理的方法。该方法包括根据规则在包括一个或多个层的视频和视频的比特流之间执行转换,其中该规则规定子比特流提取过程以生成输出比特流,其中该规则规定在子比特流提取过程期间对一个或多个补充增强信息(sei)网络抽象层(nal)单元的处理。
15.在又一示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
16.在又一示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
17.在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了这里描述的方法之一。
18.这些以及其他特征将在本文档中描述。
附图说明
19.图1是示出根据所公开技术的一些实施例的视频编解码系统的框图。
20.图2是用于视频处理的示例硬件平台的框图。
21.图3是视频处理的示例方法的流程图。
22.图4是说明示例视频编解码系统的框图。
23.图5是示出根据所公开技术的一些实施例的编码器的框图。
24.图6是示出根据所公开技术的一些实施例的解码器的框图。
25.图7a至图7d是基于所公开技术的一些实现的视频处理的示例方法的流程图。
26.图8是基于所公开技术的一些实现的视频处理的示例方法的流程图。
27.图9是基于所公开技术的一些实现的视频处理的示例方法的流程图。
28.图10a至图10c是基于所公开技术的一些实现的视频处理的示例方法的流程图。
具体实施方式
29.在本文件中使用章节标题是为了易于理解,而不是将每个章节中公开的技术和实
施例的适用性仅限制于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
30.1.介绍
31.本文档涉及视频编解码技术。具体而言,它是关于对通用子比特流提取过程、图片级hrd参数的信令以及sei nal单元中sei消息的包含的一些改进。这些思想可以单独或以各种组合应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的通用视频编解码(vvc)。
32.2.缩写词
33.aps 适配参数集
34.au 访问单元
35.aud 访问单元定界符
36.avc 高级视频编解码
37.clvs 编解码的层视频序列
38.cpb 编解码的图片缓冲器
39.cra 清理随机访问
40.ctu 编解码树单元
41.cvs 编解码的视频序列
42.dci 解码的能力信息
43.dpb 解码的图片缓冲器
44.eob 比特流的结尾
45.eos 序列的结尾
46.gdr 渐进解码刷新
47.hevc 高效视频编解码
48.hrd 假设参考解码器
49.idr 瞬时解码刷新
50.ilp 层间预测
51.ilrp 层间参考图片
52.jem 联合探索模型
53.ltrp 长期参考图片
54.mcts 运动约束的片集
55.nal 网络抽象层
56.ols 输出图层集
57.ph 图片标头
58.pps 图片参数集
59.ptl配置文件、层级和级别
60.pu 图片单元
61.rap 随机访问点
62.rbsp 原始字节序列有效载荷
63.sei 补充增强信息
64.sps 序列参数集
65.strp 短期参考图片
66.svc 可缩放视频编解码
67.vcl 视频编解码层
68.vps 视频参数集
69.vtm vvc测试模型
70.vui 视频可用性信息
71.vvc 多功能视频编解码
72.3.初步讨论
73.视频编解码标准主要通过众所周知的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)。
74.3.1序列内图片分辨率的改变
75.在avc和hevc中,图片的空域分辨率不能改变,除非使用新sps的新序列以irap图片开始。vvc允许在不编解码irap图片的位置改变序列内的图片分辨率,irap图片总是被帧内编解码。该特征有时被称为参考图片重采样(rpr),因为当参考图片具有与正被解码的当前图片不同的分辨率时,该特征需要对用于帧间预测的参考图片进行重采样。
76.缩放比率被限制为大于或等于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。水平和垂直缩放比例是基于图片宽度和高度以及为参考图片和当前图片指定的左、右、顶(top)和底(bottom)缩放偏移而导出的。
77.支持这一特征的vvc设计与hevc不同的其它方面包括:i)图片分辨率和对应的一致性窗口在pps中而不是在sps中被信令通知,而在sps中最大图片分辨率被信令通知。ii)对于单层比特流,每个图片存储器(dpb中用于存储一个解码的图片的槽(slot))占用存储具有最大图片分辨率的解码的图片所需的缓冲器大小。
78.3.2通用和在vvc中的可缩放视频编解码(svc)
79.可缩放视频编解码(svc,有时也称为视频编解码中的可缩放性)是指其中使用基础层(bl),有时称为参考层(rl),以及一个或多个可缩放增强层(el)的视频编解码。在svc中,基础层可以承载具有基础质量级别的视频数据。一个或多个增强层可以携带附加的视频数据,以支持例如更高的空域、时域和/或信噪比(snr)级别。可以相对于先前编解码的层来定义增强层。例如,底层可以用作bl,而顶层可以用作el。中间层可以充当el或rl,或者两者兼而有之。举例来说,中间层(例如,既不是最低层也不是最高层的层)可为中间层下方的层(例如,基础层或任何居间增强层)的el,且同时充当中间层上方的一个或多个增强层的rl。类似地,在hevc标准的多视图或3d扩展中,可以有多个视图,并且一个视图的信息可以用于编解码(例如,编码或解码)另一个视图的信息(例如,运动估计、运动向量预测和/或其他冗余)。
80.在svc中,编码器或解码器使用的参数基于它们可能被利用的编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)被分组为参数集。例如,比特流中不同层的一个或多个编解码的视频序列可以使用的参数可以包括在视频参数集(vps)中,并且编解码的视频序列中的一个或多个图片可以使用的参数可以包括在序列参数集(sps)中。类似地,图片中的一个或多个条带所使用的参数可以被包括在图片参数集(pps)中,并且特定于单个条带的其他参数可以被包括在条带标头中。类似地,可以在各种编解码级别提供特定层在给定时间使用哪个(哪些)参数集的指示。
81.由于在vvc中对参考图片重采样(rpr)的支持,可以设计对包含多层(例如,在vvc具有sd和hd分辨率的两层)的比特流的支持,而不需要任何附加的信号处理级编解码工具,因为空域可缩放性支持所需的上采样可以仅使用rpr上采样滤波器。然而,为了支持可缩放性,需要高级别的语法改变(与不支持可缩放性相比)。vvc版本1中指定了可缩放性支持。与任何早期视频编解码标准(包括avc和hevc的扩展)中的可缩放性支持不同,vvc可缩放性的设计尽可能对单层解码器设计友好。多层比特流的解码能力是以好像比特流中只有单层的方式来指定的。例如,以独立于要解码的比特流中的层的数量的方式来指定诸如dpb大小的解码能力。基本上,为单层比特流设计的解码器不需要太多改变就能够解码多层比特流。与avc和hevc的多层扩展设计相比,hls在牺牲一些灵活性的情况下得到显著简化。例如,irap au需要包含cvs中存在的每个层的图片。
82.3.3参数集
83.avc、hevc和vvc指定了参数集。参数集的类型包括sps、pps、aps和vps。avc、hevc和vvc都支持sps和pps。vps从hevc开始引入,在hevc和vvc都有应用。aps没有被包括在avc或hevc中,但是被包括在最新vvc草案文本中。
84.sps被设计成携带序列级标头信息,而pps被设计成携带不经常改变的图片级标头信息。利用sps和pps,不经常改变的信息不需要为每个序列或图片重复,因此可以避免该信息的冗余信令。此外,sps和pps的使用实现了重要标头信息的带外传输,从而不仅避免了对冗余传输的需要,还提高了抗误码能力。
85.引入vps是为了携带对多层比特流中的所有层公共的序列级标头信息。
86.引入aps是为了携带这样的图片级或条带级信息,这些信息需要相当一些比特来编解码,可以由多个图片共享,并且在序列中可以有相当多的不同变化。
87.3.4一般子比特流提取过程
88.最新vvc文本的条款c.6指定了一般子比特流提取过程,如下所示:
89.c6子比特流提取过程
90.这个过程的输入是比特流inbitstream、目标ols索引targetolsidx和目标最高temporalid值tidtarget。
91.这个过程的输出是子比特流outbitstream。
92.对输入比特流的比特流一致性的要求是,满足以下所有条件的任何输出子比特流都应该是符合的比特流:
93.–
输出子比特流是本条款中指定的过程的输出,其中比特流targetolsidx等于vps指定的ols列表的索引,并且tidtarget等于0到6(含)范围内的任何值。
94.–
输出子比特流包含至少一个vcl nal单元,其中nuh_layer_id等于layeridinols[targetolsidx]中的每个nuh_layer_id值。
[0095]

输出子比特流包含至少一个vcl nal单元,其中temporalid等于tidtarget。
[0096]
注意

一致性比特流包含一个或多个temporalid等于0的编解码条带nal单元,但不一定包含nuh_layer_id等于0的编解码条带nal单元。
[0097]
如下导出输出子比特流outbitstream:
[0098]
1.比特流outbitstream被设置为与比特流inbitstream相同。
[0099]
2.从outbitstream中移除所有temporalid大于tidtarget的nal单元。
[0100]
3.从outbitstream中移除nal_unit_type不等于vps_nut、dci_nut和eob_nut中任何一个且nuh_layer_id不包括在列表layeridinols[targetolsidx]中的所有nal单元。
[0101]
4.从outbitstream中移除满足以下所有条件的所有vcl nal单元,以及nal_unit_type等于ph_nut、fd_nut、suffix_sei_nut和prefix_sei_nut且payloadtype不等于0、1或130的相关联的非vclnal单元:
[0102]

nal_unit_type等于trail_nut、stsa_nut、radl_nut或rasl_nut,或者nal_unit_type等于gdr_nut,而相关联的ph_recovery_poc_cnt不等于0。
[0103]

对于0至numlayersinols[targetolsidx]-1(含)范围内的j值,nuh_layer_id等于layeridinols[targetolsidx][j]。
[0104]

temporalid大于或等于numsublayersinlayerinols[targetolsidx][generallayeridx[nuh_layer_id]]。
[0105]
5.从outbitstream中移除包含可缩放嵌套sei消息的所有sei nal单元,该消息的sn_ols_flag等于1,并且在0到sn_num_olss_minus1(含)的范围内没有i值,使得nestingolsidx[i]等于targetolsidx。
[0106]
6.当layeridinols[targetolsidx]不包括比特流中所有nal单元中的nuh_layer_id的所有值时,以下情况适用:
[0107]
a.从outbitstream中移除包含payloadtype等于0(bp)或130
[0108]
(dui)的不可缩放嵌套sei消息的所有sei nal单元。
[0109]
b.当general_same_pic_timing_in_all_ols_flag等于0时,从
[0110]
outbitstream中移除所有包含payloadtype等于1(pt)的不可缩放嵌套
[0111]
sei消息的sei nal单元。
[0112]
c.当outbitstream包含包含sn_ols_flag等于1的可缩放嵌套sei消息的sei nal
单元,并且适用于outbitstream(nestingolsidx[i]等于targetolsidx)时,以下内容适用:
[0113]

如果general_same_pic_timing_in_all_ols_flag等于0,则从可缩放嵌套sei消息中提取payloadtype等于0(bp)、1(pt)或130(dui)的适当的不可缩放嵌套sei消息,并将这些sei消息包括在outbitstream中。
[0114]

否则(general_same_pic_timing_in_all_ols_flag等于1),从可缩放嵌套sei消息中提取payloadtype等于0(bp)或130(dui)的适当的不可缩放嵌套sei消息,并将这些sei消息包括在outbitstream中。
[0115]
4.公开的技术方案解决的技术问题
[0116]
最新vvc文本(在jvet-r2001-va/v10中)中的一般子比特流提取过程和相关其他部分的现有设计具有以下问题:
[0117]
1)在要求输出子比特流是一致性比特流的条件下,tidtarget的值在0到6(包括端点)的范围内。然而,在许多比特流中,最高的temporalid值小于6,该值由语法元素vps_max_sublayers_minus1指定。
[0118]
2)当存在时,访问单元定界符(aud)nal单元可以具有任何nuh_layer_id值。然而,子比特流提取过程的步骤3将移除aud nal单元,其nuh_layer_id值不包括在列表layeridinols[targetolsidx]中。
[0119]
3)一些sei nal单元包含sn_ols_flag等于0的可缩放嵌套sei消息,而可缩放嵌套sei消息中指示的适用层不包括目标ols中的任何层,即,没有一个适用层的nuh_layer_id值不包括在列表layeridinols[targetolsidx]中。这些sei nal单元也应该被移除。
[0120]
4)步骤6的条件,即“当layeridinols[targetolsidx]不包括比特流中所有nal单元中的nuh_layer_id的所有值”具有以下两个问题。
[0121]
a.当dci、vps、aud或eob nal单元存在并且其nuh_layer_id不等于vcl nal单元的任何nuh_layer_id值时,该条件不适用。
[0122]
b.短语“比特流”不清楚,因为在上下文中涉及两个比特流,inbitstream和outbitstream。
[0123]
5)步骤6.c将从sn_ols_flag等于1且sn_subpic_flag等于1的可缩放嵌套sei消息中提取可缩放嵌套sei消息,以生成不可缩放嵌套sei消息,而这种可缩放嵌套sei消息仅对应于特定子图片,因此不应被提取。
[0124]
6)在步骤6.c中,当从一个sei nal单元seinalunita中提取多个可缩放嵌套sei消息作为不可缩放嵌套sei消息时,它们仍应被包括在一个sei nal单元seinalunitb中,并且sei nal单元seinalunitb应被包括在包含sei nal单元seinalunita的同一pu中。但是,这并没有具体规定。
[0125]
7)步骤6.c应该从outbitstream中移除所有sei nal单元,从这些sei单元中已经提取了一些sei消息并将其作为不可缩放嵌套sei消息包括在内。但是,这并没有具体规定。
[0126]
8)缺少这样的约束,即当sei nal单元包含payloadtype等于0、1或130的sei消息时,sei nal单元不应包含payloadtype不等于0(bp)、1(pt)、130(dui)或133(可缩放嵌套)的sei消息。这导致步骤4中sei消息的移除不仅仅涉及sei nal单元的移除。
[0127]
9)标志general_same_pic_timing_in_all_ols_flag仅规定不可缩放嵌套pt sei消息是否适用于所有ols。但是,dui sei消息中携带的信息与pt sei消息中的目的相似。
[0128]
5.技术解决方案和实施例的列表
[0129]
为了解决上述问题和其他问题,公开了如下总结的方法。这些项目应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些项目可以单独使用或以任何方式组合使用。
[0130]
1)为了解决问题1,要求输出子比特流是一致性比特流的条件被规定,使得tidtarget的值被规定在0到vps_max_sublayers_minus1(包括端点)的范围内。
[0131]
a.或者,规定要求输出子比特流是一致性比特流的条件,使得当输入比特流中有多于一层时,tidtarget的值被规定在0到vps_max_sublayers_minus1(包括端点)的范围内,当输入比特流中只有一层时,tidtarget的值被规定在0到sps_max_sublayers_minus1(包括端点)的范围内。
[0132]
2)为了解决问题2,规定了通用子比特流提取过程,使得audnal单元以与nal_unit_type等于vps_nut、dci_nut或eob_nut的nal单元相同的方式被处理。换句话说,根据nuh_layer_id值,没有aud nal单元被从输出比特流outbitstream中移除。
[0133]
3)为了解决问题3,规定了通用子比特流提取过程,使得输出比特流outbitstream将移除包含sn_ols_flag等于0的可缩放嵌套sei消息的sei nal单元,而可缩放嵌套sei消息中指示的适用层不包括目标ols中的任何层。
[0134]
a.在一个示例中,规定从outbitstream中移除包含可缩放嵌套sei消息的所有sei nal单元,该可缩放嵌套sei消息具有等于0的sn_ols_flag,并且在列表layeridinols[targetolsidx]中不存在列表nestinglayerid[i]中0到nestingnumlayers-1(包含端点)范围内的i的值。
[0135]
4)为了解决问题4,条件“当layeridinols[targetolsidx]不包括比特流中所有nal单元中的nuh_layer_id的所有值”被改变为“当列表layeridinols[targetolsidx]不包括比特流inbitstream中所有vcl nal
[0136]
单元中的nuh_layer_id的所有值”。
[0137]
5)为了解决问题5,规定了通用子比特流提取过程,使得它仅从sn_ols_flag等于1且sn_subpic_flag等于0的可缩放嵌套sei消息中提取可缩放嵌套sei消息,以生成不可缩放嵌套sei消息。
[0138]
6)为了解决问题6,规定了通用子比特流提取过程,使得当从一个sei nal单元seinalunita中提取多个可缩放嵌套sei消息作为不可缩放嵌套sei消息时,它们仍然被包括在输出比特流outbitstream中的一个sei nal单元seinalunitb中,并且sei nal单元seinalunitb被包括在包含sei nal单元seinalunita的pu中。
[0139]
7)为了解决问题7,规定了通用子比特流提取过程,使得它从输出比特流outbitstream中移除所有sei nal单元,从这些sei单元中已经提取了一些sei消息并将其作为不可缩放嵌套sei消息包括。
[0140]
a.或者,当这种sei nal单元中的可缩放嵌套sei消息仅适用于目标ols(即,由vps指定的第targetolsidx个ols)时,从outbitstream中移除sei nal单元。
[0141]
b.或者,当除了这种sei nal单元中的可缩放嵌套sei消息所应用的ols中的目标ols之外,不存在包含所有包括在列表layeridinols[targetolsidx]中的层的ols时,从outbitstream中移除sei nal单元。
[0142]
8)为了解决问题8,添加约束,使得当sei nal单元包含有payloadtype等于0、1或130的sei消息时,sei nal单元不应包含payloadtype不等于0(bp)、1(pt)、130(dui)或133(可缩放嵌套)的sei消息。
[0143]
9)为了解决问题9,标志general_same_pic_timing_in_all_ols_flag规定不可缩放嵌套pt和dui sei消息是否适用于所有ols。
[0144]
a.或者,标志general_same_pic_timing_in_all_ols_flag规定不可缩放嵌套bp、pt和dui sei消息是否适用于所有ols。
[0145]
i.在一个示例中,标志
[0146]
general_same_pic_timing_in_all_ols_flag被重命名为标志general_same_pic_level_hrd_info_in_all_ols_flag,其规定不可缩放嵌套bp、pt和dui sei消息是否适用于所有ols。
[0147]
b.或者,添加新标志,例如命名为general_same_dui_in_all_ols_flag,以指定非可缩放嵌套dui sei消息是否适用于所有ols。
[0148]
c.或者,添加新标志,例如命名为general_same_bp_in_all_ols_flag,以指定不可缩放嵌套bp sei消息是否适用于所有ols。
[0149]
6.实施例
[0150]
以下是上文第5节中总结的本发明的一些方面的一些示例实施例,其可应用于vvc规范。修改的文本基于jvet-r2001-va/v10中的最新vvc文本。增加或修改的大部分相关部分用粗体和斜体突出显示,一些删除的部分用双括号标出(例如,[[a]]表示删除字符“a”)。可能还有其他一些编辑性质的更改,因此没有突出显示。
[0151]
6.1第一实施例
[0152]
该实施例用于项目1、2、3、3.a、4、5、6、7.b和8。
[0153]
c6一般子比特流提取过程
[0154]
这个过程的输入是比特流inbitstream、目标ols索引targetolsidx和目标最高temporalid值tidtarget。
[0155]
这个过程的输出是子比特流outbitstream。
[0156]
对输入比特流的比特流一致性的要求是,满足以下所有条件的任何输出子比特流都应该是符合的比特流:
[0157]

输出子比特流是本条款中指定的过程的输出,其中比特流targetolsidx等于vps指定的ols列表的索引,并且tidtarget等于0到vps_max_sublayers_minus1(含)范围内的任何值。
[0158]

输出子比特流包含至少一个vcl nal单元,其中nuh_layer_id等于layeridinols[targetolsidx]中的每个nuh_layer_id值。
[0159]

输出子比特流包含至少一个vcl nal单元,其中temporalid等于tidtarget。
[0160]
注意

一致性比特流包含一个或多个temporalid等于0的编解码条带nal单元,但不一定包含nuh_layer_id等于0的编解码条带nal单元。
[0161]
通过应用以下有序步骤来导出输出子比特流outbitstream:
[0162]
1.比特流outbitstream被设置为与比特流inbitstream相同。
[0163]
2.从outbitstream中移除所有temporalid大于tidtarget的nal单元。
[0164]
3.从outbitstream中移除nal_unit_type不等于dci_nut、
[0165]
vps_nut、aud_nut和eob_nut中任何一个且nuh_layer_id不包括在列表layeridinols[targetolsidx]中的所有nal单元。
[0166]
4.从outbitstream中移除满足以下所有条件的所有vcl nal单元,以及还从outbitstream中移除这些vcl nal单元的具有nal_unit_type等于ph_nut或fd_nut,或者具有nal_unit_type等于suffix_sei_nut或prefix_sei_nut,并且包含payloadtype不等于0(bp)、1(pt)、130(dui)或133(可缩放嵌套)的sei消息相关联的非vcl nal单元:
[0167]

nal_unit_type等于trail_nut、stsa_nut、radl_nut或rasl_nut,或者nal_unit_type等于gdr_nut,而相关联的ph_recovery_poc_cnt不等于0。
[0168]

[[对于0至numlayersinols[targetolsidx]-1(含)范围内的j值,nuh_layer_id等于layeridinols[targetolsidx][j]]]
[0169]

temporal id大于或等于numsublayersinlayerinols[targetolsidx][generallayeridx[nuh_layer_id]]。
[0170]
5.从outbitstream中移除包含可缩放嵌套sei消息的所有sei nal
[0171]
单元,该消息的sn_ols_flag等于1,并且在0到sn_num_olss_minus1
[0172]
(含)的范围内没有i值,使得nestingolsidx[i]等于targetolsidx。
[0173]
6.从outbitstream中移除所有包含可缩放嵌套sei消息的seinal单元,该消息的sn_ols_flag等于0,并且列表nestinglayerid[i]
[0174]
中没有范围为0到nestingnumlayers-1(包括端点)的i值,即列表layeridinols[targetolsidx]中的值。
[0175]
7.当layeridinols[targetolsidx]不包括比特流inbitstream的所有vcl nal单元中的nuh_layer_id的所有值时,以下按所列顺序适用:
[0176]
a.从outbitstream中移除包含payloadtype等于0(bp)或130
[0177]
(dui)的不可缩放嵌套sei消息的所有sei nal单元。
[0178]
b.当general_same_pic_timing_in_all_ols_flag等于0时,从outbitstream中移除所有包含payloadtype等于1(pt)的不可缩放嵌套sei消息的sei nal单元。
[0179]
c.当outbitstream包含包含sn_ols_flag等于1且sn_subpic_flag等于0的可缩放嵌套sei消息的sei nal单元,其适用于第targetolsidx个ols(即,在0到sn_num_olss_minus1(含)的范围内至少有一个i值,使得nestingolsidx[i]等于targetolsidx),以下按列出的顺序适用:
[0180]
i.对于此类sei nal单元seinalunita中的每个可缩放嵌套
[0181]
bp或dui sei消息,生成具有相同payloadtype和seipayloadtype的不可缩放嵌套sei消息,并将其包含在包含outbitstream中seinalunita的pu中的sei nal单元中。
[0182]
ii.当general_same_pic_timing_in_all_ols_flag is equal to 0等于0时,对于这种sei nal单元seinalunita中的每个可缩放嵌套的pt sei消息,生成具有相同sei payloadtype的非可缩放嵌套sei消息,并将其包括在包含outbitstream中的seinalunita的pu中的sei nal单元中。
[0183]
iii.当包含在特定的这种sei nal单元seinalunita中的多个sei消息成为不可缩放嵌套sei消息时,这些不可缩放嵌套sei消息被包括在一个sei nal单元中。
[0184]
iv.当不存在ols时,除了在这样的sei nal单元seinalunita中的可缩放嵌套sei消息所应用的ols中的目标ols之外,其包含所有包括在列表layeridinols[targetolsidx]中的层,从outbitstream中移除sei nal单元seinalunita。
[0185]
d.2.2通用sei有效载荷语义
[0186]
...
[0187]
以下限制适用于sei nal单元的sei消息的包含,是比特流一致性的要求:
[0188]

当sei nal单元包含不可缩放嵌套bp sei消息、不可缩放嵌套pt sei消息或不可缩放嵌套dui sei消息时,sei nal单元不得包含任何其他有效载荷类型(payloadtype)不等于0(bp)、1(pt)或130(dui)的sei消息。
[0189]

当sei nal单元包含可缩放嵌套bp sei消息、可缩放嵌套pt sei消息或可缩放嵌套dui sei消息时,sei nal单元不应包含任何其他有payloadtype不等于0(bp)、1(pt)、130(dui)或133(可缩放嵌套)的sei消息。
[0190]

当sei nal单元包含payloadtype等于0、1或130的sei消息时,sei nal单元不应包含payloadtype不等于0(bp)、1(pt)、130(dui)或133(可缩放嵌套)的sei消息。
[0191]
...
[0192]
图1是示出示例视频处理系统1900的框图,其中可以实现这里公开的各种技术。各种实现可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10位多分量像素值)、或者可以是以压缩或编解码的格式接收。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光网络(pon)等。以及诸如wi-fi或蜂窝接口的无线接口。
[0193]
系统1900可以包括编解码组件1904,其可以实现本文档中描述的各种编码或编解码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码的表示。因此,编解码技术有时被称为视频压缩或视频转码技术。如组件1906所表示的,编解码组件1904的输出可以被存储,或者经由所连接的通信来发送。组件1908可以使用在输入1902处接收的视频的存储或传送的比特流(或编解码)表示来生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编码工具或操作在编码器处使用,并且与编码结果相反的对应的解码工具或操作将由解码器执行。
[0194]
外围总线接口或显示器接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以在各种电子设备中实现,例如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
[0195]
图2是视频处理装置3600的框图。装置3600可用于实现本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。处理器3602可以被配置为实现本文档中描述的一种或多种方法。存储器3604可用于存储用于实现本文所述方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路中实现本文档
中描述的一些技术。
[0196]
图4是说明可利用本发明的技术的示例视频编解码系统100的框图。
[0197]
如图4所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成可被称为视频编码设备的编码的视频数据。目的地设备120可解码由源设备110生成的编解的视频数据,其可称为视频解码设备。
[0198]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0199]
视频源112可以包括诸如视频捕获设备、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统的源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码的表示的比特序列。比特流可以包括编解码的图片和相关联的数据。编解码的图片是图片的编解码的表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可经由i/o接口116通过网络130a直接传输到目的地设备120。编码的视频数据还可存储在存储媒体/服务器130b上以供目的地设备120访问。
[0200]
目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0201]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成在一起,或者可以在目的地设备120的外部,目的地设备120被配置为与外部显示设备接口。
[0202]
视频编码器114和视频解码器124可以根据视频压缩标准操作,视频压缩标准操作诸如高效视频编解码(hevc)标准、通用视频编解码(vvc)标准和其他当前和/或进一步的标准。
[0203]
图5是示出视频编码器200的示例的框图,该视频编码器200可以是图4所示系统100中的视频编码器114。
[0204]
视频编码器200可被配置为执行本公开的任何或所有技术。在图5的示例中,视频编码器200包括多个功能组件。本发明中描述的技术可在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0205]
视频编码器200的功能组件可包括分割单元201、可包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。
[0206]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一示例中,预测单元202可包括帧内块拷贝(ibc)单元。ibc单元可以以ibc模式执行预测,其中至少一个参考图片是当前视频块所在的图片。
[0207]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是为了解释的目的,在图5的示例中被分开表示。
[0208]
分割单元201可将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
[0209]
模式选择单元203可基于误差结果选择编解码模式之一,例如帧内或帧间,并将得
到的帧内或帧间编解码的块提供给残差生成单元207以生成残差块数据,并提供给重建单元212以重建编码的块用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(ciip)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动向量的精度(例如,亚像素或整数像素精度)。
[0210]
为了对当前视频块执行帧间预测,运动估计单元204可通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可基于来自缓冲器213的除了与当前视频块相关联的图片之外的图片的运动信息和解码的样点来确定当前视频块的预测的视频块。
[0211]
运动估计单元204和运动补偿单元205可对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带、p条带还是b条带中。
[0212]
在一些示例中,运动估计单元204可对当前视频块执行单向预测,且运动估计单元204可在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204可接着生成指示列表0或列表1中的参考图片的参考索引,参考图片包含参考视频块和指示当前视频块与参考视频块之间的空域位移的运动向量。运动估计单元204可输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测的视频块。
[0213]
在其它示例中,运动估计单元204可对当前视频块执行双向预测,运动估计单元204可在列表0中的参考图片中搜索当前视频块的参考视频块,且还可在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204可接着生成参考索引和运动向量,参考索引指示包含参考视频块的列表0和列表1中的参考图片,运动向量指示参考视频块与当前视频块之间的空域位移。运动估计单元204可输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测的视频块。
[0214]
在一些示例中,运动估计单元204可输出用于解码器的解码处理的全套运动信息。
[0215]
在一些示例中,运动估计单元204可能不输出当前视频的全套运动信息集。相反,运动估计单元204可参考另一视频块的运动信息来信令通知当前视频块的运动信息。举例来说,运动估计单元204可确定当前视频块的运动信息与临近视频块的运动信息足够相似。
[0216]
在一个示例中,运动估计单元204可在与当前视频块相关联的语法结构中指示一值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
[0217]
在另一示例中,运动估计单元204可在与当前视频块相关联的语法结构中标识另一视频块和运动向量差(mvd)。运动向量差指示当前视频块的运动向量和所指示的视频块的运动向量之间的差。视频解码器300可使用所指示的视频块的运动向量和运动向量差来确定当前视频块的运动向量。
[0218]
如上所述,视频编码器200可以预测性地信令通知运动向量。可由视频编码器200实施的预测信令技术的两个示例包含高级运动向量预测(amvp)和合并模式信令。
[0219]
帧内预测单元206可对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可基于同一图片中的其它视频块的解码的样点来生成当前视频块的预测数据。当前视频块的预测数据可包括预测的视频块和各种语法元素。
[0220]
残差生成单元207可通过从当前视频块减去(例如,由负号指示)当前视频块的(一
个或多个)预测的视频块来生成当前视频块的残差数据。当前视频块的残差数据可包括与当前视频块中样点的不同样点分量相对应的残差视频块。
[0221]
在其它示例中,当前视频块可能没有当前视频块的残差数据,例如在跳过模式中,且残差生成单元207可不执行减法操作。
[0222]
变换处理单元208可通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
[0223]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0224]
逆量化单元210和逆变换单元211可分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应的样点,以产生与当前块相关联的重建的视频块,以存储在缓冲器213中。
[0225]
在重建单元212重建视频块之后,可执行环路滤波操作以减少视频块中的视频块化效应伪像。
[0226]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码的数据并输出包括熵编码的数据的比特流。
[0227]
图6是示出视频解码器300的示例的框图,该视频解码器300可以是图4所示系统100中的视频解码器114。
[0228]
视频解码器300可被配置为执行本发明的任何或所有技术。在图5的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0229]
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图5)描述的编码过程互逆的解码过程。
[0230]
熵解码单元301可检索编码的比特流。编码的比特流可以包括熵编码的视频数据(例如,视频数据的编码的块)。熵解码单元301可解码熵编解码的视频数据,且从熵解码的视频数据,运动补偿单元302可确定运动信息,包含运动向量、运动向量精度、参考图片列表索引和其它运动信息。运动补偿单元302可(例如)通过执行amvp和合并模式来确定此信息。
[0231]
运动补偿单元302可产生运动补偿的块,可能基于内插滤波器执行内插。语法元素中可以包括要以亚像素精度使用的内插滤波器的标识符。
[0232]
运动补偿单元302可使用如视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元302可根据所接收的语法信息来确定视频编码器200所使用的内插滤波器,并使用内插滤波器来产生预测块。
[0233]
运动补偿单元302可使用一些语法信息来确定用于编码编码的视频序列的(一个或多个)帧和/或(一个或多个)条带的块的大小、描述编码的视频序列的图片的每一宏块如何被分割的分割信息、指示每一分割如何被编码的模式、每一帧间编码的块的一个或多个参考帧(和参考帧列表)以及解码编码的视频序列的其它信息。
[0234]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻的块形成预测块。逆量化单元303逆量化(即,去量化)比特流中提供的并且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
[0235]
重建单元306可将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块相加,以形成解码的块。如果需要,还可以应用去块化滤波器来对解码的块进行滤波,以便去除块效应伪像。解码的视频块然后被存储在缓冲器307中,缓冲器307为后续的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
[0236]
解决方案列表描述了所公开技术的一些实施例。
[0237]
接下来提供第一组解决方案。以下解决方案示出了前一部分中讨论的技术的示例实施例(例如,第1-9项)。
[0238]
1.一种视频处理的方法(例如,图3中的方法600),包括执行(602)包括一个或多个视频层的视频和视频的编解码的表示之间的转换,所述一个或多个视频层包括一个或多个视频图片,其中编解码的表示符合与从编解码的表示中提取子比特流相关的格式规则。
[0239]
2.解决方案1的方法,还包括:根据格式规则从编解码的表示中提取子比特流。
[0240]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第1项)
[0241]
3.解决方案1-2中任一项的方法,其中,在提取子比特流期间,用于提取的目标id被允许在范围0到在用于编解码的表示的视频参数集中指示的语法字段的值之间。
[0242]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第2项)
[0243]
4.解决方案1-3中任一项的方法,其中,在不根据层id从输出比特流中移除访问单元定界符网络抽象层(aud nal)的情况下提取子比特流。
[0244]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第3项)
[0245]
5.解决方案1-4中任一项的方法,其中,通过选择性地移除网络抽象层单元来提取子比特流,所述网络抽象层单元包括不适用于被提取的输出层的可缩放嵌套补充增强信息消息。
[0246]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第5项)
[0247]
6.解决方案1-5中任一项的方法,其中,通过使用设置了输出层集的标志和禁用了子图片的标志来约束提取以从可缩放嵌套补充增强信息(sei)消息中生成不可缩放嵌套补充增强信息(sei),来提取子比特流。
[0248]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第6项)
[0249]
7.解决方案1-6中任一项的方法,其中,根据指定从单个sei网络抽象层单元提取多个可缩放嵌套补充增强信息(sei)消息的规则来提取子比特流。
[0250]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第7项)
[0251]
8.解决方案1-7中任一项的方法,其中,根据从编解码的表示中移除所有补充增强信息网络抽象层sei nal单元的规则来提取子比特流,一些sei消息已经从所述补充增强信息网络抽象层sei单元中被提取并作为不可缩放嵌套sei消息包括。
[0252]
以下解决方案显示了上一节中讨论的技术的示例实施例(例如,第8项)
[0253]
9.解决方案1-8中任一项的方法,其中,所述格式规则规定当补充增强信息网络抽象层(sei nal)单元包含payloadtype等于0、1或130的sei消息时,不允许所述sei nal单元包含payloadtype不等于0(bp)、1(pt)、130(dui)或133(可缩放嵌套)的sei消息。
[0254]
10.解决方案1-9中任一项的方法,其中,执行转换包括将视频编解码成编解码的表示。
[0255]
11.解决方案1-9中任一项的方法,其中,执行转换包括解析和解码编解码的表示以生成视频。
[0256]
12.一种视频解码装置,包括被配置为实现解决方案1至11中的一个或多个中所述的方法的处理器。
[0257]
13.一种视频编码装置,包括被配置为实现解决方案1至11中的一个或多个中所述的方法的处理器。
[0258]
14.一种其上存储有计算机代码的计算机程序产品,当由处理器执行时,该代码使处理器实现解决方案1至11中任一项所述的方法。
[0259]
15.本文档中描述的方法、装置或系统。
[0260]
第二组解决方案显示了上一节中讨论的技术的示例实施例(例如,第1、4、8和9项)。
[0261]
1.一种视频处理的方法(例如,如图7a所示的方法700),包括:根据规则执行702包括多层的视频和视频的比特流之间的转换,其中该规则规定从比特流中提取的子比特流的时域层标识符值的最大允许值。
[0262]
2.解决方案1的方法,其中,所述规则响应于比特流中的层的数量。
[0263]
3.解决方案1或2的方法,其中,在层的数量大于1的情况下,所述规则规定时域层标识符的最大允许值在0到基于比特流参考的视频参数集中的第一语法元素的值的范围内。
[0264]
4.解决方案1或2的方法,其中,在层的数量等于1的情况下,所述规则规定时域层标识符的最大允许值在0到基于比特流所参考的序列参数集中的第二语法元素的值的范围内。
[0265]
5.解决方案3的方法,其中,第一语法元素指定允许存在于由视频参数集减1指定的层中的时域子层的最大数量。
[0266]
6.解决方案4的方法,其中,第二语法元素指定允许存在于由序列参数集减1指定的层中的时域子层的最大数量。
[0267]
7.解决方案3的方法,其中,视频参数集中的第一语法元素是vps_max_sublayers_minus1。
[0268]
8.解决方案4的方法,其中,序列参数集中的第二语法元素是sps_max_sublayers_minus1。
[0269]
9.解决方案3或4的方法,其中,所述值等于第一语法元素或第二语法元素的值。
[0270]
10.一种视频处理的方法(例如,如图7b所示的方法710),包括:根据规则执行712视频和视频的比特流之间的转换,其中该规则定义了在子比特流提取过程期间要从比特流中提取的网络抽象层(nal)单元,以输出子比特流,并且其中该规则规定基于具有目标ols索引的输出层集(ols)中的nal单元标头标识符值的列表是否不包括输入到子比特流提取过程的比特流中的所有视频编解码层(vcl)nal单元中的nal单元标头标识符的所有值来导出子比特流。
[0271]
11.解决方案10的方法,其中,在输出层集中的nal单元标头标识符值的列表不包
括比特流中所有vcl nal单元中的nal单元标头标识符的所有值的情况下,规则规定从子比特流中移除包含有效载荷类型等于0或130的不可缩放嵌套sei消息的所有补充增强信息(sei)nal单元。
[0272]
12.一种视频处理的方法(例如,图7c中所示的方法720),包括:根据规则执行722视频和视频的比特流之间的转换,其中该规则定义了在子比特流提取过程期间要从比特流中提取的网络抽象层(nal)单元,以输出子比特流,并且其中该规则规定,响应于sei网络抽象层(nal)单元中包括的第一补充增强信息(sei)消息的有效载荷类型,禁止sei nal单元包含具有特定有效载荷类型的sei消息。
[0273]
13.解决方案12的方法,其中,第一sei消息的有效载荷类型是0、1或130,并且规则规定不允许sei nal单元包含具有不等于0、1、130或133的特定有效载荷类型的sei消息。
[0274]
14.一种视频处理的方法(例如,如图7d所示的方法730),包括:根据格式规则执行732视频和视频的比特流之间的转换,其中格式规则规定比特流包括指定具有一个或多个特定有效载荷类型的一个或多个不可缩放嵌套补充增强信息(sei)消息是否应用于编解码层参考的所有输出层集的标志。
[0275]
15.解决方案14的方法,其中,一个或多个特定有效载荷类型等于1和130。
[0276]
16.解决方案14的方法,其中,一个或多个不可缩放sei消息是图片定时(pt)sei消息和解码单元信息(dui)sei消息。
[0277]
17.解决方案14的方法,其中,一个或多个特定有效载荷类型等于0、1和130。
[0278]
18.解决方案14的方法,其中,一个或多个不可缩放sei消息是缓冲期(bp)sei消息和解码单元信息(dui)sei消息。
[0279]
19.解决方案14的方法,其中,一个或多个特定有效载荷类型等于130。
[0280]
20.解决方案14的方法,其中,一个或多个不可缩放sei消息是解码单元信息(dui)sei消息。
[0281]
21.解决方案14的方法,其中,一个或多个特定有效载荷类型等于0。
[0282]
22.解决方案1的方法,其中,一个或多个不可缩放sei消息是缓冲期(bp)sei消息。
[0283]
23.解决方案1至22中任一项的方法,其中,转换包括将视频编解码成比特流。
[0284]
24.解决方案1至22中任一项的方法,其中,转换包括从比特流中解码视频。
[0285]
25.解决方案1至22中任一个的方法,其中,转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
[0286]
26.一种视频处理装置,包括被配置为实现解决方案1至25中的任何一个或多个中所述的方法的处理器。
[0287]
27.一种存储视频的比特流的方法,包括解决方案1至25中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
[0288]
28.一种存储程序代码的计算机可读介质,当该程序代码被执行时,使处理器实现解决方案1至25中任一项或多项所述的方法。
[0289]
29.一种存储根据任何上述方法生成的比特流的计算机可读介质。
[0290]
30.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实现解决方案1至25中的任何一个或多个中所述的方法。
[0291]
第三组解决方案显示了上一节中讨论的技术的示例实施例(例如,第2项)。
[0292]
1.一种视频处理的方法(例如,如图8所示的方法800),包括:根据规则执行802视频和视频的比特流之间的转换,其中该规则规定子比特流提取过程,通过该过程从比特流中提取输出子比特流,而不移除特定类型并具有特定网络抽象层(nal)单元标头标识符值的nal单元,其中该特定类型包括访问单元定界符(aud)nal单元。
[0293]
2.解决方案1的方法,其中,特定类型包括视频参数集(vps)nal单元。
[0294]
3.解决方案1或2的方法,其中,特定类型包括解码能力信息nal单元。
[0295]
4.解决方案1-3中任一项的方法,其中,特定类型包括比特流结尾nal单元。
[0296]
5.解决方案1-4中任一项的方法,其中,特定类型包括补充增强信息nal单元,所述补充增强信息单元包含具有等于0、1、130或203的有效载荷类型的不可缩放嵌套sei消息。
[0297]
6.解决方案1-6中任一项的方法,其中,特定nal单元标头标识符值包括层标识符值,该层标识符值包括在输出子比特流的层值列表中。
[0298]
7.解决方案1的方法,其中,规则规定不管与特定类型的nal单元相关联的nal单元标头标识符值如何,都不根据例外从输出比特流中移除特定类型的nal单元。
[0299]
8.解决方案1至7中任一项的方法,其中,转换包括将视频编码成比特流。
[0300]
9.解决方案1至7中任一项的方法,其中,转换包括从比特流中解码视频。
[0301]
10.解决方案1至7中任一个的方法,其中,转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
[0302]
11.一种视频处理装置,包括被配置为实现解决方案1至10中的任何一个或多个中所述的方法的处理器。
[0303]
12.一种存储视频的比特流的方法,包括解决方案1至10中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
[0304]
13.一种存储程序代码的计算机可读介质,当该程序代码被执行时,使得处理器实现解决方案1至10中的任何一个或多个中所述的方法。
[0305]
14.一种存储根据任何上述方法生成的比特流的计算机可读介质。
[0306]
15.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实现解决方案1至10中的任何一个或多个中所述的方法。
[0307]
第四组解决方案显示了上一节中讨论的技术的示例实施例(例如,第3项)。
[0308]
1.一种视频处理的方法(例如,如图9所示的方法900),包括:根据规则执行902包括一个或多个层的视频和该视频的比特流之间的转换,其中该规则规定在子比特流提取过程中移除包括可缩放嵌套补充增强信息(sei)消息的网络抽象层(nal)单元,该消息被应用于不包括在目标输出层集(ols)中的层。
[0309]
2.解决方案1的方法,其中,可缩放嵌套sei消息与具有等于指定可缩放嵌套sei消息应用于层的特定值的值的标志相关联。
[0310]
3.解决方案2的方法,其中,特定值是0。
[0311]
4.解决方案1的方法,其中,规则进一步指定移除包括在第二列表(layeridinols[targetolsidx])中的第一列表(nestinglayerid[i])中没有值的sei消息的nal单元,由此第一列表指定可缩放嵌套sei消息所应用的层的nal单元标头标识符值,并且i在0到numlayers-1的范围内,numlayers指示可缩放嵌套sei消息所应用的层的数量,并且第二列表指定具有目标输出层索引的目标输出层集中的nal单元标头标识符值。
[0312]
5.解决方案1至4中任一项的方法,其中,转换包括将视频编码成比特流。
[0313]
6.解决方案1至4中任一项的方法,其中,转换包括从比特流中解码视频。
[0314]
7.解决方案1至4中任一个的方法,其中,转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
[0315]
8.一种视频处理装置,包括被配置为实现解决方案1至7中的任何一个或多个中所述的方法的处理器。
[0316]
9.一种存储视频的比特流的方法,包括解决方案1至7中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
[0317]
10.一种存储程序代码的计算机可读介质,该程序代码在被执行时使处理器实现解决方案1至7中的任一项或多项所述的方法。
[0318]
11.一种存储根据任何上述方法生成的比特流的计算机可读介质。
[0319]
12.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实现解决方案1至7中的任何一个或多个中所述的方法。
[0320]
第五组解决方案示出了在前一部分中讨论的技术的示例实施例(例如,第5-7项)。
[0321]
1.一种视频处理的方法(例如,如图10a所示的方法1000),包括:根据规则执行1002包括一个或多个层的视频和该视频的比特流之间的转换,其中该规则规定,在子比特流提取过程中,基于指示补充增强信息(sei)消息是否应用于特定输出层集(ols)的第一标志和指示sei消息是应用于所有子图片还是仅应用于特定子图片的第二标志,通过从可缩放嵌套sei消息中提取可缩放嵌套sei消息来生成不可缩放嵌套sei消息。
[0322]
2.解决方案1的方法,其中,规则规定响应于以下条件生成不可缩放嵌套sei消息:i)第一标志具有指定sei消息应用于特定输出层集(ols)的第一值,以及ii)第二标志具有指定应用于特定ols的sei消息应用于被满足的指定ols的所有子图的第二值。
[0323]
3.一种视频处理的方法(例如,如图10b所示的方法1010),包括:根据规则执行1012包括一个或多个层的视频和该视频的比特流之间的转换,其中该规则规定,在子比特流提取过程中,通过从图片单元中的第一补充增强信息(sei)网络抽象层(nal)单元提取多个可缩放嵌套补充增强信息(sei)消息来生成不可缩放嵌套sei消息。
[0324]
4.解决方案3的方法,其中,多个可缩放嵌套sei消息被包括在图片单元中包括的第二sei nal单元中。
[0325]
5.解决方案4的方法,其中,第二sei nal单元紧接在第一sei nal单元之后。
[0326]
6.一种视频处理的方法(例如,如图10c所示的方法1020),包括:根据规则执行1022包括一个或多个层的视频和该视频的比特流之间的转换,其中该规则规定子比特流提取过程以生成输出比特流,其中该规则规定在子比特流提取过程期间对一个或多个补充增强信息(sei)网络抽象层(nal)单元的处理。
[0327]
7.解决方案6的方法,其中,规则规定移除一个或多个sei nal单元,从所述一个或多个sei单元中已经提取了一些sei消息并将其作为不可缩放嵌套sei消息包括在内。
[0328]
8.解决方案6的方法,其中,规则规定移除包含仅应用于目标输出层集的可缩放嵌套sei消息的sei nal单元。
[0329]
9.解决方案6的方法,其中,规则规定移除包含可缩放嵌套sei消息的sei nal单元,所述可缩放嵌套sei消息应用于输出层集(ols),在所述输出层集中除了目标ols之外没
有ols。
[0330]
10.解决方案1至9中任一项的方法,其中,转换包括将视频编码成比特流。
[0331]
11.解决方案1至9中任一项的方法,其中,转换包括从比特流中解码视频。
[0332]
12.解决方案1至9中任一个的方法,其中,转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
[0333]
13.一种视频处理装置,包括被配置为实现解决方案1至12中的任何一个或多个中所述的方法的处理器。
[0334]
14.一种存储视频的比特流的方法,包括解决方案1至12中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
[0335]
15.一种存储程序代码的计算机可读介质,当该程序代码被执行时,使得处理器实现解决方案1至12中的任一项或多项所述的方法。
[0336]
16.一种存储根据任何上述方法生成的比特流的计算机可读介质。
[0337]
17.一种用于存储比特流表示的视频处理装置,其中该视频处理装置被配置为实现解决方案1至12中的任何一个或多个中所述的方法。
[0338]
本文中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实现。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收机装置。
[0339]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一台计算机或位于一个地点或分布在多个地点并通过通信网络互连的多台计算机上执行。
[0340]
本文中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,这些处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0341]
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和
数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从该大容量存储设备接收数据或向其传送数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
[0342]
虽然本专利文件包含许多细节,但这些细节不应被解释为对任何主题或所要求保护的内容的范围的限制,而是对特定技术的特定实施例所特有的特征的描述。在本专利文件中在独立实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
[0343]
类似地,虽然在附图中以特定的顺序描述了操作,但是这不应该被理解为要求这些操作以所示的特定顺序或顺序执行,或者要求所有示出的操作都被执行,以获得期望的结果。此外,在本专利文献中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
[0344]
仅描述了一些实施方式和示例,并且可以基于本专利文献中描述和示出的内容进行其他实施方式、增强和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1