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

视频编解码中的信令通知解码图片缓冲区级别的制作方法

2022-08-03 16:24:49 来源:中国专利 TAG:

视频编解码中的信令通知解码图片缓冲区级别
1.相关申请的交叉引用
2.根据适用的专利法和/或巴黎公约的规定,本技术及时要求于2019年12月26日提交的美国临时申请no.62/953,815的优先权和利益。出于法律上的全部目的,上述申请的全部公开内容通过引用作为本技术公开内容的一部分。
技术领域
3.本专利文档涉及图片和视频编解码。


背景技术:

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


技术实现要素:

5.本文档公开了可被视频编码器和解码器用来用信令发送图片缓冲区级别作为执行视频编码或解码的一部分的技术。
6.在一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频和所述视频的比特流之间的转换。其中,所述比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于所述视频的一个或多个编解码视频图片,并且其中,所述规则规定,解码所述比特流或所述一个或多个比特流部分所需的最大解码图片缓冲区尺寸是基于与所述比特流或所述一个或多个比特流部分相对应的所述一个或多个编解码视频图片的最大允许图片尺寸来确定的。
7.在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括视频单元的视频和视频的包括一个或多个编解码层视频序列的比特流之间执行转换,其中该比特流符合规则,并且其中该规则规定编解码层视频序列的解码图片的最大缓冲区尺寸被约束为小于或等于从编解码层视频序列中的图片中选择的最大图片尺寸。
8.在另一个示例方面,公开了另一种视频处理方法。该方法包括根据规则执行视频和所述视频的比特流之间的转换。其中,所述比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于所述视频的一个或多个编解码视频图片,并且其中,所述规则规定对于所述转换的最大允许图片尺寸、最大允许图片宽度、最大允许图片高度中的至少一个。
9.在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行视频和所述视频的比特流之间的转换。其中,所述比特流包括一个或多个输出层集,其中至少一个输出层集包括多个视频层。并且其中,所述比特流符合规则,该规则规定对包括所述多个视频层的所述至少一个输出层集的解码图片缓冲区的整体尺寸的约束。
10.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行视频和视频的比特流之间的转换,其中根据规则将比特流组织成一个或多个访问单元,并且其中该规则
规定对于访问单元的对编解码图片缓冲区(cpb)移除时间、标称cpb移除时间、解码图片缓冲区(dpb)输出时间,或者网络抽象层(nal)单元中的字节数量的总和中至少一个的一个或多个约束是基于该访问单元的多个图片中的每一个的图片尺寸的总和。
11.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行视频和视频的比特流之间的转换,其中根据规则将比特流组织成一个或多个访问单元,并且其中该规则规定对访问单元中最大条带数量的限制。
12.在另一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
13.在另一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
14.在另一示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法之一。
15.本文档中描述了这些和其他特征。
附图说明
16.图1是示出示例视频处理系统的框图,在该系统中可以实现本文档公开的各种技术。
17.图2是用于视频处理的示例硬件平台的框图。
18.图3示出了可以实现本公开的一些实施例的示例视频编码系统的框图。
19.图4示出了可以实现本公开的一些实施例的示例编码器的框图。
20.图5示出了可以实现本公开的一些实施例的示例解码器的框图。
21.图6-图9示出了视频处理的示例方法的流程图。
具体实施方式
22.在本文档中使用章节标题是为了便于理解并且不将每个章节中公开的技术和实施例的适用性仅限于该章节。此外,在一些描述中使用h.266术语只是为了便于理解而不是为了限制所公开技术的范围。因此,这里描述的技术也适用于其他视频编解码器协议和设计。
23.1.概述
24.本文档涉及视频编解码技术。具体来说,它是关于定义支持单层视频编解码和多层视频编解码的视频编解码器的级别。它可以应用于任何支持单层视频编解码和多层视频编解码的视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(vvc)。
25.2.缩略语
26.aps自适应参数集(adaptationparameterset)
27.au访问单元(accessunit)
28.aud访问单元定界符(accessunitdelimiter)
29.avc高级视频编解码(advancedvideocoding)
30.clvs编解码层视频序列(codedlayervideosequence)
31.cpb编解码图片缓冲区(codedpicturebuffer)
32.cra干净随机访问(cleanrandomaccess)
33.ctu编解码树单元(codingtreeunit)
34.cvs编解码视频序列(codedvideosequence)
35.dpb解码图片缓冲区(decodedpicturebuffer)
36.dps解码参数集(decodingparameterset)
37.eob比特流的结束(endofbitstream)
38.eos序列的结束(endofsequence)
39.gdr渐进解码刷新(gradualdecodingrefresh)
40.hevc高效视频编解码(highefficiencyvideocoding)
41.idr瞬时解码刷新(instantaneousdecodingrefresh)
42.jem联合探索模型(jointexplorationmodel)
43.mcts运动约束片集(motion-constrainedtilesets)
44.nal网络抽象层(networkabstractionlayer)
45.ols输出层集(outputlayerset)
46.ph图片标头(pictureheader)
47.pps图片参数集(pictureparameterset)
48.pu图片单元(pictureunit)
49.rbsp原始字节序列有效载荷(rawbytesequencepayload)
50.sei补充增强信息(supplementalenhancementinformation)
51.sps序列参数集(sequenceparameterset)
52.vcl视频编解码层(videocodinglayer)
53.vps视频参数集(videoparameterset)
54.vtmvvc测试模型(vvctestmodel)
55.vui视频可用性信息(videousabilityinformation)
56.vvc多功能视频编解码(versatilevideocoding)
57.3.初步讨论
58.视频编码标准主要通过众所周知的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)。
59.3.1档次、层和级别
60.视频编解码标准通常指定档次和级别。一些视频编解码标准也规定了层,例如hevc和正在开发的vvc。
61.档次、层和级别指定了对比特流的限制,并因此限制了解码比特流所需的能力。档次、层和级别也可以用于指示各个解码器实现之间的互操作性点。
62.每个档次指定了由符合该档次的所有解码器所支持的限制和算法特征的子集。注意,编码器不需要使用档次中支持的所有编解码工具或特征,而符合档次的解码器需要支持所有编解码工具或特征。
63.层的每一级指定比特流语法元素可以采用的一组值的限制。所有档次通常使用相同的一组层和级别定义,但是各个实现可以支持不同的层,并且在一个层内,每个支持的档次可以支持不同的级别。对于任何给定的档次,层的级别通常对应于特定的解码器处理负载和存储能力。
64.符合视频编解码器规范的视频解码器的能力是根据解码符合视频编解码器规范中指定的档次、层和级别的约束的视频流的能力来指定的。当表达特定档次的解码器的能力时,也应该表达该档次所支持的层和级别。
65.3.2现有的vvc级别和层定义
66.在jvet-p2001-v14中的最新vvc草案文本中,可在此获得公开文本:http://phenix.int-evry.fr/jvet/doc_end_user/documents/16_geneva/wg11/jvet-p2001-v14.zip,级别定义如下。
67.a.1.1通用层和级别限制
68.出于比较层能力的目的,general_tier_flag等于0的层被视为比general_tier_flag等于1的层更低的层。
69.出于比较级别能力的目的,当特定级别的general_level_idc或sublayer_level_idc[i]的值小于其他级别的值时,指定层的特定级别被认为是比同一层的其他级别更低的级别。
[0070]
为表达本附录中的约束条件,规定了以下内容:
[0071]

令访问单元n为按解码顺序的第n个访问单元,第一个访问单元为访问单元0(即第0个访问单元)。
[0072]

令图片n是访问单元n的编解码图片或相应的解码图片
[0073]
当指定级别不是级别8.5时,符合指定层和级别的档次的比特流应遵守附录c中规定的每个比特流一致性测试的以下约束:
[0074]
a)picsizeinsamplesy应小于或等于maxlumaps,其中maxlumaps在表a.1中指定。
[0075]
b)pic_width_in_luma_samples的值应小于或等于sqrt(maxlumaps*8)。
[0076]
c)pic_height_in_luma_samples的值应小于或等于sqrt(maxlumaps*8)。
[0077]
d)num_tile_columns_minus1的值应小于maxtilecols,且num_tile_rows_minus1的值应小于maxtilerows,其中maxtilecols和maxtilerows在表a.1中指定。
[0078]
e)对于vcl hrd参数,对于0至hrd_cpb_cnt_minus1(包括端值)范围内的至少一个i值,cpbsize[htid][i]应小于或等于cpbvclfactor*maxcpb,其中cpbsize[htid][i]根据条款c.1中指定的参数在条款7.4.6.3中指定,cpbvclfactor在表a.3中指定,maxcpb在表a.1中以cpbvclfactor比特位为单位指定。
[0079]
f)对于nal hrd参数,对于0至hrd_cpb_cnt_minus1(包括端值)范围内的至少一个i值,cpbsize[htid][i]应小于或等于cpbnalfactor*maxcpb,其中cpbsize[htid][i]根据条款c.1中指定的参数在条款7.4.6.3中指定,cpbnalfactor在表a.3中指定,maxcpb在表a.1中以cpbnalfactor比特位为单位指定。
[0080]
表a.1规定了除级别8.5之外的每个层的每个级别的限制。
[0081]
比特流符合的层和级别由语法元素general_tier_flag和general_level_idc指示,子层表示符合的级别由语法元素sublayer_level_idc[i]指示,如下:
[0082]

如果指定的级别不是级别8.5,则根据表a.1中规定的等级限制,general_tier_flag等于0表示符合主层(main tier),general_tier_flag等于1表示符合高层(high tier),根据表a.1中指定的层约束,对于低于级别4的层,general_tier_flag应等于(对应于表a.1中带有
“‑”
标记的条目)。否则(指定的级别是级别8.5),比特流一致性的要求是general_tier_flag应当等于1,并且general_tier_flag的值0被保留以供itu-t|iso/iec将来使用,并且解码器应当忽略general_tier_flag的值。
[0083]

general_level_idc和sublayer_level_idc[i]应设置为等于表a.1中规定的级别数的30倍。
[0084]
表a.1

通用层和级别限制
[0085][0086]
a.1.2档次-指定级别限制
[0087]
为表达本附录中的约束条件,规定了以下内容:
[0088]

设变量fr等于1
÷
300。
[0089]
变量hbrfactor定义如下:
[0090]

如果比特流被指示符合主10档次或主4:4:4 10档次,则hbrfactor被设置为等于1。
[0091]
表示vcl比特率比例因子的变量brvclfactor被设置为等于cpbvclfactor*hbrfactor。
[0092]
表示nal比特率比例因子的变量brnalfactor被设置为等于cpbnalfactor*hbrfactor。
[0093]
变量mincr设置为等于mincrbase*mincrscalefactor
÷
hbrfactor。
[0094]
当该指定级别不是级别8.5时,max_dec_pic_buffering_minus1[htid] 1的值应小于或等于maxdpbsize,其推导如下:
[0095]
如果(picsizeinsamplesy《=(maxlumaps》》2))
[0096]
maxdpbsize=min(4*maxdpbpicbuf,16)
[0097]
其他如果(picsizeinsamplesy《=(maxlumaps》》1))
[0098]
maxdpbsize=min(2*maxdpbpicbuf,16)(a.1)
[0099]
其他如果(picsizeinsamplesy《=((3*maxlumaps)》》2))
[0100]
maxdpbsize=min((4*maxdpbpicbuf)/3,16)
[0101]
其他
[0102]
maxdpbsize=maxdpbpicbuf
[0103]
其中maxlumaps在表a.1中指定,maxdpbpicbuf等于8。
[0104]
符合指定层和级别的主10或主4:4:4 10档次的比特流应遵守附录c中规定的每个比特流一致性测试的以下限制:
[0105]
a)如条款c.2.3所规定的,从cpb中移除访问单元n(n大于0)的标称移除时间应满足以下约束条件:对于图片n-1的picsizeinsamplesy的值,aunominalremovaltime[n]-aucpbremovaltime[n-1]大于或等于max(picsizeinsamplesy
÷
maxlumasr,fr),其中maxlumasr是适用于图片n-1所指定的值。
[0106]
b)如条款c.3.3所规定的,dpb中图片的连续输出时间之差应满足以下约束:对于图片n的picsizeinsamplesy值,dpboutputinterval[n]大于或等于max(picsizeinsamplesy
÷
maxlumasr,fr),其中maxlumasr是表a.2中为图片n指定的值,前提是图片n是输出的图片,而不是比特流输出的最后一张图片。
[0107]
c)对于图片0的picsizeinsamplesy的值,访问单元0的移除时间应满足图片0中的条带片段的数量小于或等于min(max(1,maxslicesegmentsperpicture*maxlumasr/maxlumaps*aucpbremovaltime[0]-aunominalremovaltime[0]) maxslicesegmentsperpicture*picsizeinsamplesy/maxlumaps)的约束,其中maxslicesegmentsperpicture、maxlumaps和maxlumasr是表a.1和表a.2中分别指定的适用于图片0的值
[0108]
d)访问单元n和访问单元n-1(n大于0)的连续cpb移除时间之差应满足图片n中的条带片段的数量小于或等于min((max(1,maxslicesegmentsperpicture*maxlumasr/maxlumaps*(aucpbremovaltime[n]-aucpbremovaltime[n-1])),maxslicesegmentsperpicture)的限制,其中maxslicesegmentsperpicture、maxlumaps和maxlumasr是表a.1和表a.2中分别指定的适用于图片n的值。
[0109]
e)对于参数vcl hrd,对于0至hrd_cpb_cnt_minus1(包括端值)范围内的至少一个i值,bitrate[htid][i]应小于或等于brvclfactor*maxbr,其中bitrate[htid][i]基于条款c.1中指定的参数在条款7.4.6.3中指定,maxbr在表a.2中以brvclfactor比特/秒为单位指定。
[0110]
f)对于nal hrd参数,对于0至hrd_cpb_cnt_minus1范围内的至少一个i值,bitrate[htid][i]应小于或等于brnalfactor*maxbr,其中bitrate[htid][i]基于条款c.1中指定的参数在条款7.4.6.3中指定,maxbr在表a.2中以brvclfactor比特/秒为单位指定。
[0111]
g)对于图片0的picsizeinsamplesy的值,访问单元0的numbytesinnalunit变量之和应小于或等于formatcapabilityfactor*(max(picsizeinsamplesy,fr*maxlumasr) maxlumasr*(aucpbremovaltime[0]-aunominalremovaltime[0]))
÷
mincr,其中maxlumasr和formatcapabilityfactor分别是表a.2和表a.3中指定的适用于图片0的值。
mincrscalefactor的规范
[0119][0120]
4.技术解决方案示例要解决的技术问题
[0121]
对于级别定义的现有vvc设计具有以下问题:
[0122]
1)为导出变量maxdpbsize的等式,即上面的等式(a.1),使用变量picsizeinsamplesy,该变量是特定图片的图片尺寸。然而,在vvc中,在编解码层视频序列(clvs)中图片尺寸可以从一个图片到另一个图片变化。因此,clvs内的图片中的最大图片尺寸应该用于导出maxdpbsize。此外,因为可以有多个层,并且ols的比特流中的不同层在clvs内的图片中具有不同的最大图片尺寸值,所以需要为每个层导出maxdpbsize的值。
[0123]
2)与dpb尺寸相关的约束条件指定max_dec_pic_buffering_minus1[] 1的值应小于或等于maxdpbsize,该约束条件仅适用于单层比特流。对于在其比特流中包含多个层的输出层集(ols),因为可以有多个不同的max_dec_pic_buffering_minus1[]语法元素实例应用于不同的层,所以现有约束不适用。相反,需要使用max_dec_pic_buffering_minus1[]语法元素的适当实例对每个层进行约束。
[0124]
3)对图片尺寸、图片宽度和图片高度的约束的定义,即上述a.1.1部分中的a、b和c项,使用变量picsizeinsamplesy和语法元素pic_width_in_luma_samples和pic_height_in_luma_samples。同样,由于在vvc,clvs内的图片尺寸可以从一个图片到另一个图片变化,所以应该使用最大图片尺寸、图片宽度和图片高度的值。此外,因为可以有多个层,并且ols的比特流中的不同层在clvs内的图片中具有不同的最大图片尺寸、图片宽度和图片高度值,所以需要为每个层或层所参考的每个sps单独规定约束。
[0125]
4)此外,需要对用于包含多层的ols的整体dpb尺寸进行约束,使得不管层数多少,解码器的相同dpb尺寸限制都将起作用。这是目前缺失的。
[0126]
5)au的对cpb移除时间、标称cpb移除时间、dpb输出时间和numbytesinnalunit变量的总和这几个约束的定义,即上面a.1.2部分中的a、b、c、d、g和i项,使用变量picsizeinsamplesy,该变量是特定图片的图片尺寸。然而,由于au可以包含多个图片,因此应该使用au中所有图片的图片尺寸之和。
[0127]
6)应该规定每个au的条带最大数量的限制,并在规定这些约束时使用,而不是为每个级别规定每个图片的条带最大数量的限制和在为au规定cpb移除时间(即,如上a.1.2部分的c和d项)的一些约束时使用该限制。
[0128]
5.示例实施例和技术
[0129]
为了解决上述问题和其他问题,在各种项目的列表中公开了如下总结的方法。这些项目应该被认为是解释一般概念的例子,而不应该以狭隘的方式解释。此外,这些项目可以单独使用或以任何方式组合使用。
[0130]
1)为了解决第一个问题,为导出变量maxdpbsize的等式被更新为使用clvs内图片
中的最大图片尺寸,而不是使用变量picsizeinsamplesy,并且为每一层导出maxdpbsize的值。
[0131]
2)为了解决第二个问题,对于每一层,约束要求max_dec_pic_buffering_minus1[]语法元素的特定实例的值加1小于或等于该层的maxdpbsize的值,其中,max_dec_pic_buffering_minus1[]语法元素的特定实例是dpb_parameters()语法结构中i取最大值的max_dec_pic_buffering_minus1[i],其确定如下:如果该层是ols的输出层,则dpb_parameters()语法结构是当该层是ols中的输出层时应用于该层的语法结构;否则,dpb_parameters()语法结构是当该层不是ols中的输出层时应用于该层的dpb_parameters()语法结构。
[0132]
3)为了解决第三个问题,对图片尺寸、图片宽度和图片高度的约束的定义使用最大图片尺寸、图片宽度和图片高度,而不是变量picsizeinsamplesy和语法元素pic_width_in_luma_samples和pic_height_in_luma_samples。此外,为每个层或层所引用的每个sps单独规定约束。
[0133]
4)为了解决第四个问题,规定了对包含多层的ols的整体dpb尺寸的约束。
[0134]
a.在一个替代方案中,约束被规定如下:
[0135]
在每个au解码后,立即令numdecpics为dpb中解码图片的数量,令picsizeinsamplesy[i]为dpb中第i个解码图片的picsizeinsamplesy的值,其中i位于0至numdecpics-1的范围内(包括端值),picsizeinsamplesy[i]的值应小于或等于maxdpbpicbuf*maxlumaps,其中maxdpbpicbuf等于8,maxlumaps在表a.1中指定。
[0136]
b.在另一个替代方案中,约束被规定如下:
[0137]
设numlayers为ols中的层数,maxdecbuff[i]和picsizemaxinsamplesy[i]分别为第i层的max_dec_pic_buffering_minus1[maxtid]和picsizemaxinsamplesy的值,i位于0至numlayers-1的范围内(包括端值),其中,picsizemaxinsamplesy等于该层的pic_width_max_in_luma_samples*pic_height_max_in_luma_samples,并且层的max_dec_pic_buffering_minus1[maxtid]是dpb_parameters()语法结构中i取最大值的max_dec_pic_buffering_minus1[i]的值,其确定如下:如果该层是ols的输出层,则dpb_parameters()语法结构是当该层是ols中的输出层时应用于该层的语法结构;否则,dpb_parameters()语法结构是当该层不是ols中的输出层时应用于该层的语法结构。picsizeinsamplesy[i]的值应小于或等于maxdpbpicbuf*maxlumaps,其中maxdpbpicbuf等于8,maxlumaps在表a.1中指定。
[0138]
5)为了解决第五个问题,对于au的对cpb移除时间、标称cpb移除时间、dpb输出时间和numbytesinnalunit变量之和的几个约束的定义使用au中所有图片的图片尺寸之和,而不是变量picsizeinsamplesy。
[0139]
6)为了解决第六个问题,规定每个au的最大条带数量的限制,并且在规定这些约束时使用该限制,而不是为每个级别规定每个图片的最大条带数量的限制,并且在规定au的对cpb移除时间的一些约束时使用该限制。
[0140]
6实施例
[0141]
以下是可以应用于vvc规范的一些示例实施例。变更后的文本基于jvet-p2001-v14中的最新vvc文本。添加或修改的大部分相关部分都用粗体双括号标出。还有一些编辑性质的修改,因此没有突出显示。
[0142]
6.1第一实施例
[0143]
6.1.1档次、层、级别概述
[0144]
档次、层和级别规定了对比特流的限制,并因此限制了解码比特流所需的能力。档次、层和级别也可以用于指示各个解码器实现之间的互操作性点。
[0145]
每个档次指定了由符合该档次的所有解码器所支持的限制和算法特征的子集。
[0146]
注意

编码器不需要使用档次中支持的任何特定功能子集。
[0147]
层的每一级别指定了本规范的语法元素可以采用的一组值的限制。所有档次都{{通常}}使用相同的一组层和级别定义,但是各个实现可以支持不同的层,并且在一个层内,每个支持的档次可以支持不同的级别。对于任何给定的档次,层的级别通常对应于特定的解码器处理负载和存储能力。
[0148]
{{在本条款中,类似“比特流符合”的短语应解释为“ols的比特流符合”。}}
[0149]
6.1.2层和级别显示概述
[0150]
出于比较层功能的目的,general_tier_flag等于0的层被视为比general_tier_flag等于1的层更低的层。
[0151]
出于比较级别能力的目的,当特定级别的general_level_idc或sublayer_level_idc[i]的值小于其他级别的值时,指定层的特定级别被认为是比同一层的其他级别更低的级别。
[0152]
为表达本附录中的约束条件,规定了以下内容:
[0153]

设aun是按解码顺序中的第n个au,第一个au为au0(即第0个au)。
[0154]

针对特定参考sps,设picsizemaxinsamplesy为pic_width_max_in_luma_samples*pic_height_max_in_luma_samples的值
[0155]
当指定级别不是级别8.5时,{{对ols中的每一层,}}maxdpbsize的值推导如下:
[0156]
如果({{picsizemaxinsamplesy}}《=(maxlumaps》》2))
[0157]
maxdpbsize=min(4*maxdpbpicbuf,16)
[0158]
其他如果({{picsizemaxinsamplesy}}《=(maxlumaps》》1))
[0159]
maxdpbsize=min(2*maxdpbpicbuf,16)(a.1)
[0160]
其他如果({{picsizemaxinsamplesy}}《=((3*maxlumaps)》》2))
[0161]
maxdpbsize=min((4*maxdpbpicbuf)/3,16)
[0162]
其他
[0163]
maxdpbsize=maxdpbpicbuf
[0164]
其中maxlumaps在表a.1中指定,maxdpbpicbuf等于8。
[0165]
当指定级别不是级别8.5时,符合指定层和级别的档次的比特流应遵守附录c中规定的每个比特流一致性测试的以下约束:
[0166]
a){{每个参考sps的picsizeinsamplesy}}应小于或等于maxlumaps,其中maxlumaps在表a.1中指定。
[0167]
b){{针对每个参考sps,}}pic_width_{{max_}}in_luma_samples的值应小于或等
于sqrt(maxlumaps*8)。
[0168]
c){{针对每个参考sps,}}pic_height_{{max_}}in_luma_samples的值应小于或等于sqrt(maxlumaps*8)。
[0169]
d){{针对每个参考pps,}}numtilecolumns的值应小于maxtilecols,且numtilerows的值应小于maxtilerows,其中maxtilecols和maxtilerows在表a.1中指定。
[0170]
e)对于vcl hrd参数,对于0至hrd_cpb_cnt_minus1(包括端值)范围内的至少一个i值,cpbsize[htid][i]应小于或等于cpbvclfactor*maxcpb,其中cpbsize[htid][i]根据条款c.1中指定的参数在条款7.4.6.3中指定,cpbvclfactor在表a.3中指定,maxcpb在表a.1中以cpbvclfactor比特位为单位指定。
[0171]
f)对于nal hrd参数,对于0至hrd_cpb_cnt_minus1(包括端值)范围内的至少一个i值,cpbsize[htid][i]应小于或等于cpbnalfactor*maxcpb,其中cpbsize[htid][i]根据条款c.1中指定的参数在条款7.4.6.3中指定,cpbnalfactor在表a.3中指定,maxcpb在表a.1中以cpbnalfactor比特位为单位指定。
[0172]
g){{对于ols中的每层,max_dec_pic_buffering_minus1[maxtid] 1的值应小于或等于该层的maxdpbsize,其中max_dec_pic_buffering_minus1[maxtid]是dpb_parameters()语法结构中i取最大值时max_dec_pic_buffering_minus1[i]的值,其确定如下:如果该层是ols的输出层,则dpb_parameters()语法结构是当该层是ols中的输出层时应用于该层的语法结构;否则,当该层不是ols中的输出层时,将应用dpb_parameters()语法结构。
[0173]
h)在每个au解码后,立即令numdecpics为dpb中解码图片的数量,令picsizeinsamplesy[i]为dpb中第i个解码图片的picsizeinsamplesy的值,i位于0至numdecpics-1的范围内(包括端值),picsizeinsamplesy[i]的值应小于或等于maxdpbpicbuf*maxlumaps,其中maxdpbpicbuf等于8,maxlumaps在表a.1中指定。}}
[0174]
表a.1规定了除级别8.5之外的各级别的限制。
[0175]
比特流符合的层和级别由语法元素general_tier_flag和general_level_idc指示,子层表示符合的级别由语法元素sublayer_level_idc[i]指示,如下:
[0176]

如果指定的级别不是级别8.5,则根据表a.1中规定的级别限制,general_tier_flag等于0表示符合主层,general_tier_flag等于1表示符合高层,对于级别低于级别4的,general_tier_flag应等于0(对应于表a.1中带有
“‑”
标记的条目)。否则(指定的级别是级别8.5),比特流一致性的要求是general_tier_flag应当等于1,并且general_tier_flag的值0被保留以供itu-t|iso/iec将来使用,并且解码器应当忽略general_tier_flag的值。
[0177]

general_level_idc和sublayer_level_idc[i]应设置为等于表a.1中规定的级别数的30倍的数值。
[0178]
表a.1

通用层和级别限制
[0179][0180]
6.1.3档次-指定级别限制
[0181]
为表达本附录中的约束条件,规定了以下内容:
[0182]

设变量fr等于1
÷
300。
[0183]
变量hbrfactor定义如下:
[0184]

如果比特流被指示符合主10档次或主4:4:4 10档次,则hbrfactor被设置为等于1。
[0185]
表示vcl比特率比例因子的变量brvclfactor被设置为等于cpbvclfactor*hbrfactor。
[0186]
表示nal比特率比例因子的变量brnalfactor被设置为等于cpbnalfactor*hbrfactor。
[0187]
变量mincr设置为等于mincrbase*mincrscalefactor
÷
hbrfactor。
[0188]
{{变量ausizeinsamplesy[n]设置为等于picsizeinsamplesy[i],其中numdecpics是au n中的图片数量,picsizeinsamplesy[i]是au n中第i个图片的picsizeinsamplesy值,i位于0到numdecpics-1(包括端值)的范围内。}}
[0189]
符合指定层和级别的主10或主4:4:4 10档次的比特流应遵守附录c中规定的每个比特流一致性测试的以下限制:
[0190]
a)如条款c.2.3所规定的,从cpb中移除au n(n大于0)的标称移除时间应满足以下约束条件:aunominalremovaltime[n]-aucpbremovaltime[n-1]大于或等于max({{picsizeinsamplesy[n-1]}}
÷
maxlumasr,fr),其中maxlumasr是表a.2中指定的适用于au n-1的值。
[0191]
b)如条款c.3.3所规定的,dpb中不同au的图片的连续输出时间之差应满足以下约束:dpboutputinterval[n]大于或等于max({{ausizeinsamplesy[n]}}maxlumasr,fr),其中maxlumasr是表a.2中为au n指定的值,前提是au具有输出的图片,而且au n不是比特流中具有输出的图片的最后一个au。
[0192]
c)au 0的cpb移除时间应满足au 0中的条带的数量小于或等于min(max(1,{{maxslicesperau}}*maxlumasr/maxlumaps*aucpbremovaltime[0]-aunominalremovaltime[0]) {{maxslicesperau}}*{{ausizeinsamplesy[0]}}/maxlumaps),{{maxslicesperau}})的约束,其中{{maxslicesperau}},maxlumaps和maxlumasr是表a.1和表a.2中分别指定的适用于au 0的值。
[0193]
d)au n和au n-1(n大于0)的连续cpb移除时间之差应满足au n中的条带的数量小于或等于min((max(1,{{maxslicesperau}}*maxlumasr/maxlumaps*(aucpbremovaltime[n]-aucpbremovaltime[n-1])),{{maxslicesperau}})的限制,其中{{maxslicesperau}},maxlumaps和maxlumasr是表a.1和表a.2中分别指定的适用于au n的值。
[0194]
e)对于参数vcl hrd,对于0至hrd_cpb_cnt_minus1(包括端值)范围内的至少一个i值,bitrate[htid][i]应小于或等于brvclfactor*maxbr,其中bitrate[htid][i]基于条款c.1中指定的参数在条款7.4.6.3中指定,maxbr在表a.2中以brvclfactor比特/秒为单位指定。
[0195]
f)对于nal hrd参数,对于0至hrd_cpb_cnt_minus1范围内的至少一个i值,bitrate[htid][i]应小于或等于brnalfactor*maxbr,其中bitrate[htid][i]基于条款c.1中指定的参数在条款7.4.6.3中指定,maxbr在表a.2中以brvclfactor比特/秒为单位指定。
[0196]
g)au 0的numbytesinnalunit变量之和应小于或等于formatcapabilityfactor*(max({{ausizeinsamplesy[0]}},fr*maxlumasr) maxlumasr*(aucpbremovaltime[0]-aunominalremovaltime[0]))
÷
mincr,其中maxlumasr和formatcapabilityfactor分别是表a.2和表a.3中指定的适用于au 0的值。
[0197]
h)au n(n大于0)的numbytesinnalunit变量之和应小于或等于formatcapabilityfactor*maxlumasr*(aucpbremovaltime[n]-aucpbremovaltime[n-1])
÷
mincr,其中maxlumasr和formatcapabilityfactor分别是表a.2和表a.3中指定的适用于au n的值。
[0198]
i)au 0的移除时间应满足au 0中每个图片的片数小于或等于min(max(1,maxtilecols*maxtilerows*120*(aucpbremovaltime[0]-aunominalremovaltime[0]) maxtilecols*maxtilerows*{{ausizeinsamplesy[0]}}/maxlumaps),maxtilecols*maxtilerows)的约束,其中maxtilecols和maxtilerows是表a.1中指定的适用于au 0的值。
[0199]
j)au n和au n-1(n大于0)的连续cpb移除时间之差应满足au n中每个图片的片数小于或等于min(max(1,maxtilecols*maxtilerows*120*(aucpbremovaltime[n]-aucpbremovaltime[n-1])),maxtilecols*maxtilerows)的限制,其中maxtilecols和
maxtilerows是表a.1中规定的适用于au n的值。
[0200]

[0201]
图1是示例视频处理系统1000的框图,该视频处理系统1000可以执行本公开中的各种技术。各种实施方式可以包括系统1000的组件中的一些或全部。系统1000可以包括输入1002,以接收视频内容。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,也可以以压缩的或编码的格式接收。输入1002可以表示网络接口、外围总线接口或储存接口。网络接口的示例包括诸如以太网、无源光学网络(pon)等的有线接口和诸如wi-fi或蜂窝接口的无线接口。
[0202]
系统1000可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1004。编解码组件1004可以降低从输入1002到编解码组件1004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如组件1006所表示的,编解码组件1004的输出可以被存储或经由所连接的通信来传输。在输入1002处接收的视频的存储的或传输的比特流表示(或编解码表示)可以被组件1008用于生成像素值或可显示视频,该像素值或可显示视频被发送到显示接口1010。从比特流表示生成用户可观看视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编码工具或编码操作在编码器处使用,并且逆向操作编码结果的对应的解码工具或解码操作将由解码器执行。
[0203]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等等。本文档中描述的技术可以实现在各种电子装置中,诸如移动电话、膝上型计算机、智能电话或能够执行数字数据处理和/或视频显示的其他设备。
[0204]
图2是视频处理装置2000的框图。装置2000可用于实现本文描述的一种或多种方法。装置2000可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置2000可以包括一个或多个处理器2002、一个或多个存储器2004和视频处理电路2006。处理器2002可以被配置成实施本文档中描述的一种或多种方法(例如,图6-图9)。(多个)存储器2004可用于存储用于实现本文所述方法和技术的数据和代码。视频处理硬件2006可以用于在硬件电路中实现本文档中描述的一些技术。
[0205]
图3示出了可利用本发明的技术的示例视频编解码系统100的框图。如图3所示,视频编解码系统100可以包括源设备110和目的设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的设备120可解码由可称为视频解码设备的源设备110产生的编码视频数据。源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0206]
视频源112可以包括诸如视频捕获设备、从视频内容提供者接收视频数据的接口和/或用于生成视频数据的计算机图形系统之类的源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编码表示的比特序列。比特流可以包括编码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可经由i/o接口116通过网络130a直接传输到目的设备120。编码的视频数据还可存储在存储媒体/服务器130b上以供目的设备120访问。
[0207]
目的设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0208]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的设备120集成在一起,或者可以在目的设备120的外部,目的设备120被配置为与外部显示设备接口。
[0209]
视频编码器114和视频解码器124可以根据视频压缩标准操作,例如高效视频编解码(hevc)标准、多功能视频编解码(vvm)标准和其他当前和/或进一步的标准。
[0210]
图4是示出视频编码器200的示例的框图,视频编码器200可以是图3所示的系统100中的视频编码器114。
[0211]
视频编码器200可配置为执行本公开的任何或所有技术。在图4的示例中,视频编码器200包括多个功能组件。本发明中描述的技术可在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。
[0212]
视频编码器200的功能组件可包括分割单元201、可包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元810、逆变换单元211、重构单元212、缓冲区213和熵编码单元214。
[0213]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以以ibc模式执行预测,其中至少一个参考图片是当前视频块所在的图片。
[0214]
此外,一些组件(例如,运动估计单元204和运动补偿单元205)可高度集成,但出于解释目的而在图4的实例中单独表示。
[0215]
分割单元201可将图片分割成一个或一个以上视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0216]
模式选择单元203可(例如)基于误差结果选择多个编解码模式(帧内或帧间)中的一者,且将所得帧内或帧间编解码块提供到残差产生单元207以产生残差块数据,以及提供到重建单元212重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(ciip)模式的组合,其中预测基于帧间预测信令和帧内预测信令。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的精度(例如,子像素或整数像素精度)。
[0217]
为了对当前视频块执行帧间预测,运动估计单元204可通过比较来自缓冲区213的一个或一个以上参考帧与当前视频块来产生当前视频块的运动信息。运动补偿单元205可基于来自缓冲区213的除了与当前视频块相关联的图片之外的其它图片的运动信息和解码样点来确定当前视频块的预测视频块。
[0218]
运动估计单元204和运动补偿单元205可对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带、p条带还是b条带中。
[0219]
在一些示例中,运动估计单元204可对当前视频块执行单向预测,且运动估计单元204可在列表0或列表7的参考图片中搜索用于当前视频块的参考视频块。运动估计单元204可接着产生指示列表0或列表7中的参考图片的参考索引,其包括参考视频块和指示当前视频块与参考视频块之间的空间位移的运动矢量。运动估计单元204可输出参考索引、预测方
向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来产生当前块的预测视频块。
[0220]
在其它示例中,运动估计单元204可对当前视频块执行双向预测,运动估计单元204可在列表0中的参考图片中搜索当前视频块的参考视频块,且还可在列表7中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204可接着产生参考索引和运动矢量,该参考索引指示包含参考视频块的列表0和列表7中的参考图片,该运动矢量指示参考视频块与当前视频块之间的空间位移。运动估计单元204可输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来产生当前视频块的预测视频块。
[0221]
在一些示例中,运动估计单元204可输出用于解码器的解码处理的完整运动信息。
[0222]
在一些示例中,运动估计单元204可以不输出当前视频的完整运动信息集。相反,运动估计单元204可参考另一视频块的运动信息来信令通知当前视频块的运动信息。举例来说,运动估计单元204可确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
[0223]
在一个示例中,运动估计单元204可在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器900指示当前视频块具有与另一视频块相同的运动信息。
[0224]
在另一示例中,运动估计单元204可在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(motion vector difference,mvd)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可使用所指示的视频块的运动向量和运动矢量差来确定当前视频块的运动矢量。
[0225]
如上所述,视频编码器200可以预测性地信令通知运动矢量。可由视频编码器200实施的预测信令技术的两个示例包括高级运动矢量预测(advanced motion vector predication,amvp)和merge模式信令。
[0226]
帧内预测单元206可对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可基于同一图片中的其它视频块的解码样点来产生当前视频块的预测数据。当前视频块的预测数据可包括预测的视频块和各种语法元素。
[0227]
残差产生单元207可通过从当前视频块减去(例如,由负号指示)当前视频块的预测视频块来产生当前视频块的残差数据。当前视频块的残差数据可包括对应于当前视频块中样点的不同样点分量的残差视频块。
[0228]
在其它实例中,当前视频块可能没有当前视频块的残差数据,例如在跳跃模式中,以及残差产生单元207不可以执行减法操作。
[0229]
变换处理单元208可通过将一个或多个变换应用于与当前视频块相关联的残差视频块来产生当前视频块的一个或多个变换系数视频块。
[0230]
在变换处理单元208产生与当前视频块相关联的变换系数视频块之后,量化单元209可基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0231]
逆量化单元210和逆变换单元211可分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可将重建的残差视频块添加到来自由预测单元202产生的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块,用于存储在缓冲区213中。
[0232]
在重建单元212重建视频块之后,可执行环路滤波操作以减少视频块中的视频块效应。
[0233]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
[0234]
图5是说明视频解码器300的示例的框图,视频解码器300可以是图3所示的系统100中的视频解码器114。
[0235]
视频解码器300可经配置为执行本公开的任何或所有技术。在图5的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。
[0236]
在图5的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重建单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图4)描述的编码过程互逆的解码过程。
[0237]
熵解码单元301可检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元301可解码熵编解码视频数据,且从熵解码视频数据,运动补偿单元302可确定运动信息,该运动信息包含运动矢量、运动矢量精度、参考图片列表索引和其它运动信息。运动补偿单元302可(例如)通过执行amvp和merge模式来确定此信息。
[0238]
运动补偿单元302可产生运动补偿块,可基于内插滤波器执行内插。语法元素中可包含用于以子像素精度使用的内插滤波器的识别符。
[0239]
运动补偿单元302可使用如视频编码器200在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元302可根据所接收的语法信息来确定视频编码器200所使用的内插滤波器,并使用内插滤波器来产生预测块。
[0240]
运动补偿单元302可使用一些语法信息来确定用于编码经编码的视频序列的帧和/或条带的块的尺寸、描述编码视频序列的图片的每一宏块如何被分割的分割信息、指示每一分割如何被编码的模式、用于每个帧间编码块的一个或多个参考帧(和参考帧列表)以及解码该编码视频序列的其它信息。
[0241]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空间相邻的块形成预测块。逆量化单元303逆量化(即,去量化)比特流中提供的并且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
[0242]
重建单元306可将残差块与由运动补偿单元202或帧内预测单元303产生的对应预测块相加,以形成经解码块。如果需要,还可以应用去方块滤波器来对解码块进行滤波,以便去除块效应伪像。解码视频块随后被存储在缓冲区307中,缓冲区307为后续的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
[0243]
图6-图9示出了可以实现上述技术方案(例如,图1至图5所示的实施例)的示例方法。
[0244]
图6示出了视频处理的示例方法600的流程图。方法600包括,在操作610,根据规则执行视频和该视频的比特流之间的转换,该比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于该视频的一个或多个编解码视频图片,并且该规则规定解码该
比特流或该一个或多个比特流部分所需的最大解码图片缓冲区尺寸是基于与该比特流或该一个或多个比特流部分对应的一个或多个编解码视频图片的最大允许图片尺寸来确定的。
[0245]
图7示出了视频处理的示例方法700的流程图。方法700包括,在操作710,执行包括视频单元的视频和该视频的包括一个或多个编解码层视频序列的比特流之间的转换,该比特流符合规则,该规则规定编解码层视频序列的解码图片的最大缓冲区尺寸被约束为小于或等于从编解码层视频序列的图片中选择的最大图片尺寸。
[0246]
图8示出了视频处理的示例方法800的流程图。方法800包括,在操作810,根据规则执行视频和该视频的比特流之间的转换,该比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于视频的一个或多个编码视频图片,并且该规则规定为该转换的最大允许图片尺寸、最大允许图片宽度和最大允许图片高度中的至少一个。
[0247]
图9示出了视频处理的示例方法900的流程图。方法900包括,在操作910,执行视频和该视频的比特流之间的转换,该比特流包括一个或多个输出层集,至少一个输出层集包括多个视频层,且该比特流符合规则,该规则规定对包括该多个视频层的该至少一个输出层集的解码图片缓冲区的整体尺寸的约束。
[0248]
接下来提供一些实施例优选的方案列表。
[0249]
a1.一种视频处理方法,包括:根据规则执行视频和所述视频的比特流之间的转换,其中,所述比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于所述视频的一个或多个编解码视频图片,并且其中,所述规则规定,解码所述比特流或所述一个或多个比特流部分所需的最大解码图片缓冲区尺寸是基于与所述比特流或所述一个或多个比特流部分相对应的所述一个或多个编解码视频图片的最大允许图片尺寸来确定的。
[0250]
a2.根据方案1所述的方法,还包括:避免基于亮度样点中的图片尺寸(表示为picsizeinsamplesy)来确定最大图片缓冲区尺寸。
[0251]
a3.根据方案1或2所述的方法,其中,所述最大解码图片缓冲区尺寸被表示为maxdpbsize,最大亮度图片尺寸被表示为maxlumaps,所述最大允许图片尺寸被表示为picsizemaxinsamplesy,默认最大解码图片缓冲区尺寸被表示为maxdpbpicbuf,并且其中maxdpbsize被确定如下:
[0252]
如果(picsizemaxinsamplesy≤(maxlumaps》》2))
[0253]
maxdpbsize=min(4*maxdpbpicbuf,16)
[0254]
其他如果(picsizemaxinsamplesy≤(maxlumaps》》1))
[0255]
maxdpbsize=min(2*maxdpbpicbuf,16)
[0256]
其他如果(picsizemaxinsamplesy≤((3*maxlumaps)》》2))
[0257]
maxdpbsize=min((4*maxdpbpicbuf)/3,16)
[0258]
其他
[0259]
maxdpbsize=maxdpbpicbuf。
[0260]
a4.根据方案1-3任一项所述的方法,其中,可独立解码的所述一个或多个比特流部分中的每一个是编解码层视频序列(clvs)。
[0261]
a5.根据方案1-4任一项所述的方法,其中,所述最大解码图片缓冲区尺寸是基于每个clvs导出的。
[0262]
a6.一种视频处理方法,包括:根据规则执行视频和所述视频的比特流之间的转换,其中,所述比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于所述视频的一个或多个编解码视频图片,并且其中,所述规则规定对于所述转换的最大允许图片尺寸、最大允许图片宽度、最大允许图片高度中的至少一个。
[0263]
a7.根据方案6所述的方法,其中,可独立解码的所述一个或多个比特流部分中的每一个是编解码层视频序列(clvs)。
[0264]
a8.根据方案7所述的方法,其中,所述最大允许图片尺寸、所述最大允许图片宽度和所述最大允许图片高度中的一个或多个是基于每个clvs指定的。
[0265]
a9.根据方案7所述的方法,其中,为与所述至少一个clvs中的每一个相关联的每个序列参数集(sps)指定所述最大允许图片尺寸、所述最大允许图片宽度和所述最大允许图片高度。
[0266]
a10.根据方案6-9任一项所述的方法,其中,所述规则规定每个参考序列参数集(sps)的所述最大允许图片尺寸(表示为picsizemaxinsamplesy)小于或等于最大亮度图片尺寸(表示为maxlumaps)。
[0267]
a11.根据方案6-10任一项所述的方法,其中,所述规则规定每个参考序列参数集(sps)的所述最大允许图片宽度(表示为pic_width_max_in_luma_samples)小于或等于sqrt(8
×
maxlumaps),其中maxlumaps是最大亮度图片尺寸。
[0268]
a12.根据方案6-11任一项所述的方法,其中,所述规则规定每个参考序列参数集(sps)的所述最大允许图片高度(表示为pic_height_max_in_luma_samples)小于或等于sqrt(8
×
maxlumaps),其中maxlumaps是最大亮度图片尺寸。
[0269]
a13.一种视频处理方法,包括:
[0270]
执行视频和所述视频的包括一个或多个编解码层视频序列的比特流之间的转换,其中,所述比特流符合规则,并且其中,所述规则规定所述编解码层视频序列的解码图片的最大缓冲区尺寸被约束为小于或等于从所述编解码层视频序列中的图片中选择的最大图片尺寸。
[0271]
a14.根据方案13所述的方法,其中,基于来自解码图片缓冲区(dpb)参数集的最大缓冲区尺寸来选择解码图片的最大缓冲区尺寸。
[0272]
a15.根据方案14所述的方法,其中,所述dpb参数集对应于作为输出层集(ols)的输出层的编解码层的dpb参数集。
[0273]
16.根据方案14所述的方法,其中,所述dpb参数集对应于不是输出层集(ols)的输出层的编解码层的dpb参数集。
[0274]
a17.一种视频处理方法,包括:执行视频和所述视频的比特流之间的转换,其中,所述比特流包括一个或多个输出层集,其中至少一个输出层集包括多个视频层,以及其中,所述比特流符合规则,所述规则规定对包括所述多个视频层的所述至少一个输出层集的解码图片缓冲区的整体尺寸的约束。
[0275]
a18.根据方案17所述的方法,其中,所述解码图片缓冲区包括在对每个访问单元进行解码后的多个解码图片,其中所述多个解码图片中的每一个具有亮度样点中的宽度,并且其中所述约束规定所述多个解码图片的所述宽度总和小于或等于预定值。
[0276]
a19.根据方案18所述的方法,其中,所述预定值基于所述多个编解码层中相应编
解码层的索引。
[0277]
a20.根据方案17所述的方法,其中,所述多个编解码层中的每一个与多个解码图片中的每一个相关联,其中所述多个解码图片中的每一个具有最大宽度,并且其中所述约束规定所述多个解码图片的最大宽度之和小于或等于预定值。
[0278]
a21.根据方案20所述的方法,其中,所述最大宽度是所述多个编解码层中的对应层的亮度样点中的最大图片宽度和亮度样点中的最大图片高度的乘积。
[0279]
a22.根据方案1-21任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
[0280]
a23.根据方案1-21任一项所述的方法,其中,所述转换包括将所述视频编码为所述比特流
[0281]
a24.根据方案1-21任一项所述的方法,其中,执行所述转换包括:
[0282]
将所述视频编码成所述比特流;以及将所述比特流存储在非暂时性计算机可读存储介质中。
[0283]
a25.一种包括处理器的视频处理装置,所述处理器配置为执行如方案1-24中任一项或多项所述的方法。
[0284]
a26.一种非暂时性计算机可读存储介质,被配置为存储由方案a1至a24中任一项或多项所述的方法生成的视频的比特流。
[0285]
a27.一种非暂时性计算机可读存储介质,其被配置为存储使处理器实施方案a1至a24中任一项或多项所述的方法的指令。
[0286]
a28.一种用于存储比特流的视频处理装置,其中所述视频处理装置被配置为实施方案a1至a24中任一项或多项所述的方法。
[0287]
a29.一种存储视频的比特流的方法,包括:根据规则从视频生成比特流;以及将所述比特流存储在非暂时性计算机可读存储介质中,其中,所述比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于所述视频的一个或多个编解码视频图片,并且其中,所述规则规定,解码所述比特流或所述一个或多个比特流部分所需的最大解码图片缓冲区尺寸是基于与所述比特流或所述一个或多个比特流部分相对应的所述一个或多个编解码视频图片的最大允许图片尺寸来确定的。
[0288]
a30.一种存储视频的比特流的方法,包括:根据规则从视频生成比特流;以及将所述比特流存储在非暂时性计算机可读存储介质中,其中,所述比特流包括可独立解码的一个或多个比特流部分,每个比特流部分对应于所述视频的一个或多个编解码视频图片,以及其中,所述规则规定对于所述转换的最大允许图片尺寸、最大允许图片宽度、最大允许图片高度中的至少一个。
[0289]
接下来提供一些实施例优选的方案的另一个列表。
[0290]
b1.一种视频处理方法,包括执行视频和该视频的比特流之间的转换,其中根据规则该比特流被组织成一个或多个访问单元,并且其中该规则规定访问单元的对编解码图片缓冲区(cpb)移除时间、标称cpb移除时间、解码图片缓冲区(dpb)输出时间或网络抽象层(nal)单元中的字节数总和中的至少一个上的一个或多个约束是基于该访问单元的多个图片中的每一个的图片尺寸总和。
[0291]
b2.根据方案b1的方法,其中nal单元中的字节数的总和被表示为
numbytesinnalunit。
[0292]
b3.根据方案b1或b2的方法,其中所述规则独立于亮度样点中的解码图片的当前尺寸(表示为picsizeinsamplesy)。
[0293]
b4.根据方案b1的方法,其中所述规则规定访问单元(au)的标称cpb移除时间满足约束:
[0294]
aunominalremovaltime[n]-aucpbremovaltime[n-1]
[0295]
≥max(ausizeinsamplesy[n-1]
÷
maxlumasr,fr),
[0296]
其中aunominalremovaltime[n]是第n个au的标称cpb移除时间,aucpbremovaltime[n-1]是第n-1个au的cpb移除时间,ausizeinsamplesy[n-1]是第n-1个au以样点为单位的尺寸,maxlumasr是最大亮度采样率(每秒样点数量),fr是等于1
÷
300的变量,其中n是大于0的整数。
[0297]
b5.根据方案b1的方法,其中该规则规定来自dpb的不同访问单元(au)的图片的dpb输出时间之差满足约束:
[0298]
dpboutputinterval[n]≥max(ausizeinsamplesy[n-1]
÷
maxlumasr,fr),
[0299]
其中,dpboutputinterval[n]是第n个au的dpb输出时间,maxlumasr是最大亮度采样率(每秒采样数),ausizeinsamplesy[n-1]是在样点中的第n-1个au的尺寸,fr是等于1
÷
300的变量,其中n是大于零的整数。
[0300]
b6.根据方案b1的方法,其中规则规定nal单元中的字节数的总和满足约束条件:
[0301]
numbytesinnalunit[0]≤formatcapabilityfactor
×
(max(ausizeinsamplesy[0]
÷
maxlumasr,fr
×
maxlumasr) maxlumasr
×
(aucpbremovaltime[0]-aunominalremovaltime[0]))
÷
mincr,
[0302]
其中numbytesinnalunit[0]是第一个访问单元(au)的nal单元中的字节数的总和,ausizeinsamplesy[0]是样点中的第一个au的尺寸,maxlumasr是最大亮度采样率(每秒样点数),aucpbreaktime[0]是第一个au的cpb移除时间,aunominalremovaltime[0]是第一个au的标称cpb移除时间,mincr是最小压缩级别,fr是等于1
÷
300的变量。
[0303]
b7.一种视频处理方法,包括执行视频和视频的比特流之间的转换,其中根据规则比特流被组织成一个或多个访问单元,并且其中规则规定了访问单元中的条带的最大数量的限制。
[0304]
b8.根据方案b7的方法,其中规则进一步规定访问单元中的条带的最大数量(表示为maxslicesperau)基于访问单元的级别。
[0305]
b9.根据方案b8的方法,其中使用下表来确定访问单元中的条带的最大数量:
[0306]
级别122.133.144.155.15.266.16.2maxslicesperau16162030407575200200200600600600
[0307]
b10.根据方案b7的方法,其中该规则进一步规定对每个访问单元的编解码图片缓冲区(cpb)移除时间(表示为aucpbremovaltime)的约束是基于访问单元中的条带的最大数量的限制。
[0308]
b11.根据方案b10的方法,其中该规则规定第一访问单元的cpb移除时间(表示为aucpbremovaltime[0])满足约束:
[0309]
numslicesperau[0]≤min(max(1,maxslicesperau
×
maxlumasr/maxlumaps
×
(aucpbremovaltime[0]-aunominalremovaltime[0]) maxslicesperau
×
ausizeinsamplesy[0]/maxlumaps),maxslicesperau),
[0310]
其中,maxslicesperau是访问单元中的条带的最大数量,numslicesperau[0]是第一访问单元(au)中的条带的数量,maxlumaps是最大亮度图片尺寸,maxlumasr是最大亮度采样率(以每秒采样数为单位),aucpbremovaltime[0]是第一个au的cpb移除时间,aunominalremovaltime[0]是第一个au的标称cpb移除时间。
[0311]
b12.根据方案b10的方法,其中该规则规定连续cpb移除时间之间的差满足约束:
[0312]
numslicesperau[n]≤min((max(1,maxslicesperau
×
maxlumasr/maxlumaps
×
(aucpbremovaltime[n]-aucpbremovaltime[n-1])),maxslicesperau)
[0313]
其中,maxslicesperau是访问单元中的条带的最大数量,numslicesperau[n]是第n个访问单元(au)中的条带数,maxlumaps是最大亮度图片尺寸,maxlumasr是最大亮度采样率(以每秒采样数为单位),aucpbremovaltime[n]是第n个au的cpb去除时间,aucpbremovaltime[n-1]是第(n-1)个au的cpb去除时间,其中n是大于零的整数。
[0314]
b13.根据方案b7的方法,其中该规则与每个图片的条带的最大数量无关。
[0315]
b14.根据方案b1至b13中任一个的方法,其中该转换包括从比特流中解码视频。
[0316]
b15.根据方案b1至b13中任一个的方法,其中转换包括将视频编码成比特流。
[0317]
b16.根据方案b1至b13中任一个的方法,其中执行转换包括将视频编码成比特流;以及将比特流存储在非暂时性计算机可读存储介质中。
[0318]
b17.一种视频处理装置,包括处理器,该处理器被配置为实现方案b1至b16中的任何一个或多个所述的方法。
[0319]
b18.一种非暂时性计算机可读存储介质,被配置为存储通过方案b1至b16中的任一项或多项所述的方法生成的视频的比特流。
[0320]
b19.一种非暂时性计算机可读存储介质,其被配置为存储指令,该指令使得处理器实现方案b1至b16中的任一项或多项所述的方法。
[0321]
b20.一种用于存储比特流的视频处理装置,其中,该视频处理装置被配置为实现方案b1至b16中的任何一个或多个所述的方法。
[0322]
b21.一种用于存储视频比特流的方法,包括:根据规则从视频生成比特流;以及将该比特流存储在非暂时性计算机可读存储介质中,其中根据规则该比特流被组织成一个或多个访问单元,并且其中该规则指定访问单元对编解码图片缓冲区(cpb)移除时间、标称cpb移除时间、解码图片缓冲区(dpb)输出时间或网络抽象层(nal)单元中的字节数总和中的至少一个上的一个或多个约束是基于该访问单元的多个图片中的每一个的图片尺寸总和。
[0323]
b22.一种用于存储视频的比特流的方法,包括:根据规则从视频生成比特流;以及将该比特流存储在非暂时性计算机可读存储介质中,其中根据规则该比特流被组织成一个或多个访问单元,并且其中该规则指定了对访问单元中的条带的最大数量的限制。
[0324]
接下来提供一些实施例优选的方案的又一列表。
[0325]
p1.一种视频处理方法,包括在视频的视频单元和视频的编解码表示之间执行转换,其中在该转换期间使用的最大图片缓冲区尺寸是从视频单元的编解码层中的图片中的最大图片尺寸确定的,其中最大图片缓冲区尺寸特定于该编解码层。
[0326]
p2.根据方案p1的方法,其中最大图片缓冲区尺寸的确定独立于定义与编解码层相关的图片尺寸的变量。
[0327]
p3.一种视频处理方法,包括执行视频的视频单元和视频的编解码表示之间的转换,其中该编解码表示符合格式规则,该格式规则规定与解码图片的最大缓冲区尺寸相关的约束仅适用于单层编解码表示。
[0328]
p4.根据方案p3的方法,其中该格式规则进一步规定,在编解码表示包括视频的多层的情况下,最大解码器缓冲区尺寸的不同值适用于不同的层。
[0329]
p5.一种视频处理方法,包括执行视频的视频单元和视频的编解码表示之间的转换,其中编解码表示符合格式规则,该格式规则规定,在编解码表示包括多层的情况下,在视频的编解码表示的每个编解码层内单独规定了图片的最大图片尺寸、图片宽度和图片高度的值。
[0330]
p6.根据方案p5的方法,其中在序列参数集合级指定这些值。
[0331]
p7.根据方案p1至p6中任一个的方法,其中执行转换包括编码视频以生成该编解码表示。
[0332]
p8.根据方案p1至p6中任一个的方法,其中执行转换包括解析和解码该编解码表示以生成该视频。
[0333]
p9.一种视频解码装置,包括处理器,该处理器被配置成实现方案p1至p8中的一个或多个所述的方法。
[0334]
p10.一种视频编码装置,包括处理器,该处理器被配置成实现方案p1至p8中的一个或多个所述的方法。
[0335]
p11.一种其上存储有计算机代码的计算机程序产品,当由处理器执行时,该代码使得处理器实现方案p1至p8中任一项所述的方法。
[0336]
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。当前视频块的比特流表示(或简单地,比特流)可以例如对应于在比特流内共同定位或散布在不同位置的比特,如语法所定义的。例如,宏块可以根据变换和编码的误差残差值进行编码,并且还可以使用标头中的位和比特流中的其他字段。
[0337]
本专利文档中描述的主题和功能操作的实现方式可以实现为各种系统、数字电子电路或计算机软件、固件或硬件,包括在本说明书中公开的结构及其等同结构,或实现为其中一种或多种的组合。本说明书中描述的主题的实现方式可以实现为一个或多个计算机程序产品,即,编码在有形和非瞬态计算机可读介质上的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器装置、实现机器可读传播信号的物质组成,或它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议堆栈、数据库管理系统、操作系统或它们中的一项或多项的组合的代码。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,生成该信号以对信息进行编码以传输到合适的接收器装置。
[0338]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以以任何形式的编
程语言(包括编译或解释语言)编写,并且可以以任何形式进行部署,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)。可以部署计算机程序,以在一台计算机或位于一个位置上或分布在多个位置上并通过通信网络互连的多台计算机上执行。
[0339]
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,以执行一个或多个计算机程序,从而通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,并且也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(应用专用集成电路)。
[0340]
适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,以从中接收数据,或将数据传输到一个或多个大容量存储设备,或两者。但是,计算机不必具有这样的装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储设备,例如,eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0341]
尽管本专利文档包含许多细节,但是这些细节不应解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例可能特定的特征的描述。在单独的实施例的上下文中在本专利文档中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中剔除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
[0342]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,在该专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
[0343]
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实施方式、增强和变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献