视频编码中处理参考图像的方法与流程

文档序号:32571831发布日期:2022-12-17 01:39阅读:359来源:国知局
视频编码中处理参考图像的方法与流程
视频编码中处理参考图像的方法
1.相关申请的交叉引用
2.本公开要求于2020年5月21日提交的申请号为63/028,509的美国临时申请的优先权,其全部内容通过引用并入本文。
技术领域
3.本公开通常涉及视频处理,更具体地,涉及用于处理参考图像的方法、装置和非瞬时计算机可读存储介质。


背景技术:

4.视频是一组捕捉视觉信息的静态图像(或“帧”)。为了减少存储内存和传输带宽,可以在存储或传输之前对视频进行压缩,然后在显示之前进行解压缩。压缩过程通常称为编码,解压缩过程通常称为解码。有各种使用标准化视频编码技术的视频编码格式,最常见的是基于预测、变换、量化、熵编码和环路滤波。视频编码标准,诸如高效视频编码(high efficiency video coding,hevc/h.265)标准、通用视频编码(versatile video coding,vvc/h.266)标准和avs标准等,规定了具体的视频编码格式,由标准化组织制定。随着越来越多的先进视频编码技术在视频标准中被采用,新的视频编码标准的编码效率也越来越高。


技术实现要素:

5.本公开实施例提供了一种视频处理方法。在一些实施例中,该方法包括:通过将序列参数集(sequence parameter set,sps)中的参考图像列表结构的数量与1相加来导出总数;响应于在当前图像的图像头或当前条带(slice)的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器;以及用分配的存储器处理当前图像或当前条带。
6.在一些实施例中,该方法包括:在图像参数集(picture parameter set,pps)中用信号发送第一标志,以指示第二标志和第一索引是否存在于引用pps的当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;确定是否用信号发送第一索引和第二索引,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;响应于不用信号发送第二索引,确定第二索引的值包括:当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;响应于不用信号发送第一索引,确定第一索引的值包括:当sbs中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及当第一标志等于0且第二标志等于1时,确定第一
索引的值等于第二索引的值;基于第一索引和第二索引导出参考图像列表;以及基于参考图像列表编码当前图像。
7.在一些实施例中,该方法包括:接收视频比特流;确定第一标志的值,第一标志指示第二标志和第一索引是否存在于当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;确定第一索引和第二索引是否存在,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;响应于第二索引不存在,确定第二索引的值包括:当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;响应于第一索引不存在,确定第一索引的值包括:当sbs中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;以及基于第一索引和第二索引解码当前图像。
8.在一些实施例中,该方法包括:在条带头中用信号发送第一标志以指示条带头中是否存在激活(active)参考索引数,其中激活参考索引数用于导出用于对当前条带进行编码的相应参考图像列表的最大参考索引;响应于第一标志指示条带头中存在激活参考索引数,确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的条带头中用信号发送参考图像列表0的激活参考索引数;以及确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的条带头中用信号发送参考图像列表1的激活参考索引数。
9.在一些实施例中,该方法包括:接收包括条带头和图像头句法的视频比特流;确定在条带头中用信号发送的第一标志的值,第一标志指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出用于对当前条带进行解码的相应参考图像列表的最大参考索引;响应于第一标志指示存在激活参考索引数,确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,解码p和b条带的条带头中参考图像列表0的激活参考索引数;以及确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,解码b条带的条带头中参考图像列表1的激活参考索引数。
10.在一些实施例中,该方法包括:确定由并置图像(collocated picture)的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像;以及基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
11.本公开实施例提供了一种用于进行视频处理的装置。在一些实施例中,该装置包括:存储器,用于存储指令;以及一个或多个处理器,用于执行指令以使得装置执行:通过将序列参数集(sps)中的参考图像列表结构的数量与1相加来导出总数;响应于在当前图像的图像头或当前条带的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器;以及用分配的存储器处理当前图像或当前条带。
12.在一些实施例中,该装置包括:存储器,用于存储指令;以及一个或多个处理器,用于执行指令以使得装置执行:在图像参数集(pps)中用信号发送第一标志,以指示第二标志
和第一索引是否存在于引用pps的当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;确定是否用信号发送第一索引和第二索引,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;响应于不用信号发送第二索引,确定第二索引的值包括:当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;响应于不用信号发送第一索引,确定第一索引的值包括:当sbs中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;基于第一索引和第二索引导出参考图像列表;以及基于参考图像列表编码当前图像。
13.在一些实施例中,该装置包括:存储器,用于存储指令;以及一个或多个处理器,用于执行指令以使得装置执行:接收视频比特流;确定第一标志的值,第一标志指示第二标志和第一索引是否存在于当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;确定第一索引和第二索引是否存在,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;响应于第二索引不存在,确定第二索引的值包括:当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;响应于第一索引不存在,确定第一索引的值包括:当sbs中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;以及基于第一索引和第二索引解码当前图像。
14.在一些实施例中,该装置包括:存储器,用于存储指令;以及一个或多个处理器,用于执行指令以使得装置执行:在条带头中用信号发送第一标志以指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出用于对当前条带进行编码的相应参考图像列表的最大参考索引;响应于第一标志指示条带头中存在激活参考索引数,确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的条带头中用信号发送参考图像列表0的激活参考索引数;以及确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的条带头中用信号发送参考图像列表1的激活参考索引数。
15.在一些实施例中,该装置包括:存储器,用于存储指令;以及一个或多个处理器,用于执行指令以使得装置执行:接收包括条带头和图像头句法的视频比特流;确定在条带头中用信号发送的第一标志的值,第一标志指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出用于对当前条带进行解码的相应参考图像列表的最大参考索引;响应于第一标志指示存在激活参考索引数,确定参考图像列表0中条目的数量,并在参考图像
列表0中条目的数量大于1时,解码p和b条带的条带头中参考图像列表0的激活参考索引数;以及确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,解码b条带的条带头中参考图像列表1的激活参考索引数。
16.在一些实施例中,该装置包括:存储器,用于存储指令;以及一个或多个处理器,用于执行指令以使得装置执行:确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像;以及基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
17.本公开实施例提供一种非瞬时计算机可读存储介质,存储有指令集,指令集由装置的一个或多个处理器执行,使得装置开始执行用于进行视频处理的方法。在一些实施例中,该方法包括:通过将序列参数集(sps)中的参考图像列表结构的数量与1相加来导出总数;响应于在当前图像的图像头或当前条带的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器;以及用分配的存储器处理当前图像或当前条带。
18.在一些实施例中,该方法包括:在图像参数集(pps)中用信号发送第一标志,以指示第二标志和第一索引是否存在于参考pps的当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;确定是否用信号发送第一索引和第二索引,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;响应于不用信号发送第二索引,确定第二索引的值包括:当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;响应于不用信号发送第一索引,确定第一索引的值包括:当sbs中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;基于第一索引和第二索引导出参考图像列表;以及基于参考图像列表编码当前图像。
19.在一些实施例中,该方法包括:接收视频比特流;确定第一标志的值,第一标志指示第二标志和第一索引是否存在于当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集sps中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;确定第一索引和第二索引是否存在,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;响应于第二索引不存在,确定第二索引的值包括:当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;响应于第一索引不存在,确定第一索引的值包括:当sbs中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;以及基于第一索引和第二索引解码当前图像。
20.在一些实施例中,该方法包括:在条带头中用信号发送第一标志以指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出用于对当前条带进行编码的相应参考图像列表的最大参考索引;响应于第一标志指示条带头中存在激活参考索引数,确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的条带头中用信号发送参考图像列表0的激活参考索引数;以及确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的条带头中用信号发送参考图像列表1的激活参考索引数。
21.在一些实施例中,该方法包括:接收包括条带头和图像头句法的视频比特流;确定在条带头中用信号发送的第一标志的值,第一标志指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出用于对当前条带进行解码的相应参考图像列表的最大参考索引;响应于第一标志指示存在激活参考索引数,确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,解码p和b条带的条带头中参考图像列表0的激活参考索引数;以及确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,解码b条带的条带头中参考图像列表1的激活参考索引数。
22.在一些实施例中,该方法包括:确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像;以及基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
附图说明
23.以下具体实施方式和附图中说明了本公开的实施例和各个方面。图中所示的各种特征不是按比例绘制的。
24.图1是根据本公开一些实施例的示例性视频序列的结构示意图。
25.图2a是与本公开实施例一致的混合视频编码系统的示例性编码过程的示意图。
26.图2b是与本公开实施例一致的混合视频编码系统的另一示例性编码过程的示意图。
27.图3a是与本公开实施例一致的混合视频编码系统的示例性解码过程的示意图。
28.图3b是与本公开实施例一致的混合视频编码系统的另一示例性解码过程的示意图。
29.图4是根据本公开一些实施例的用于对视频进行编码或解码的示例性装置的框图。
30.图5a示出了根据本公开一些实施例的包括参考图像列表的句法结构的示例性句法。
31.图5b示出了根据本公开一些实施例的包括变量fullpoclt[i][j]推导的示例性伪代码。
[0032]
图6a示出了根据本公开一些实施例的包括参考图像列表的句法结构的示例性句法。
[0033]
图6b示出了根据本公开一些实施例的包括变量numltrpentries[listidx][rplsidx]推导的示例性伪代码。
[0034]
图6c示出了根据本公开一些实施例的包括变量absdeltapocst[listidx]
[rplsidx][i]推导的示例性伪代码。
[0035]
图6d示出了根据本公开一些实施例的包括变量deltapocvalst[listidx][rplsidx]推导的示例性伪代码。
[0036]
图7示出了根据本公开一些实施例的包括序列参数集中参考图像列表的句法结构的示例性句法。
[0037]
图8示出了根据本公开一些实施例的包括图像参数集中参考图像列表的句法结构的示例性句法。
[0038]
图9a示出了根据本公开一些实施例的包括图像头结构中参考图像列表的句法结构的示例性句法。
[0039]
图9b示出了根据本公开一些实施例的包括变量maxnumsubblockmergecand推导的示例性伪代码。
[0040]
图10a示出了根据本公开一些实施例的包括条带头中参考图像列表的句法结构的示例性句法。
[0041]
图10b示出了根据本公开一些实施例的包括变量numrefidxactive[i]推导的示例性伪代码。
[0042]
图11a示出了根据本公开一些实施例的用于在ph句法结构中用信号发送标志的示例性视频编码方法的流程图。
[0043]
图11b示出了根据本公开一些实施例的用于在ph句法结构中用信号发送标志的示例性视频解码方法的流程图。
[0044]
图11c示出了根据本公开一些实施例的包括ph_collocated_from_l0_flag和ph_mvd_l1_zero_flag的更新的信令的示例性句法。
[0045]
图12a示出了根据本公开一些实施例的用于利用图像顺序计数指示并置图像的示例性视频编码方法的流程图。
[0046]
图12b示出了根据本公开一些实施例的用于利用图像顺序计数指示并置图像的示例性视频编码方法的流程图。
[0047]
图12c示出了根据本公开一些实施例的用于指示并置图像的示例性视频编码方法的流程图。
[0048]
图12d示出了根据本公开一些实施例的用于利用图像顺序计数指示并置图像的示例性视频解码方法的流程图。
[0049]
图12e示出了根据本公开一些实施例的用于利用图像顺序计数指示并置图像的示例性视频解码方法的流程图。
[0050]
图12f示出了根据本公开一些实施例的包括图像参数集中更新的参考图像列表的示例性句法。
[0051]
图12g示出了根据本公开一些实施例的包括更新的条带头的示例性句法。
[0052]
图12h示出了根据本公开一些实施例的包括absdeltapocstcol推导的示例性伪代码。
[0053]
图12i示出了根据本公开一些实施例的包括deltapocvalstcol推导的示例性伪代码。
[0054]
图12j示出了根据本公开一些实施例的用于导出解码方法中使用的并置图像的示
例性伪代码。
[0055]
图13a示出了根据本公开一些实施例的利用参考图像列表中激活条目数量推断sh中并置图像的索引的示例性视频编码方法的流程图。
[0056]
图13b示出了根据本公开一些实施例的利用参考图像列表中激活条目数量推断sh中并置图像的索引的示例性视频解码方法的流程图。
[0057]
图13c示出了根据本公开一些实施例的用于更新的句法元素sh_collocated_ref_idx的示例性语义。
[0058]
图14a示出了根据本公开一些实施例的用于解码器分配存储器的示例性视频处理方法的流程图。
[0059]
图14b示出了根据本公开一些实施例的用于分配存储器的示例性语义。
[0060]
图15a示出了根据本公开一些实施例的用于推断参考图像列表中的索引的示例性视频编码方法的流程图。
[0061]
图15b示出了根据本公开一些实施例的用于推断参考图像列表中的索引的示例性视频编码方法的流程图。
[0062]
图15c示出了根据本公开一些实施例的用于更新的变量rpl_idx[i]的示例性语义。
[0063]
图16a示出了根据本公开一些实施例的用于指示条带头中是否存在激活参考索引的覆盖(override)数的示例性视频编码方法的流程图。
[0064]
图16b示出了根据本公开一些实施例的用于指示条带头中是否存在激活参考索引的覆盖数的示例性视频解码方法的流程图。
[0065]
图16c示出了根据本公开一些实施例的用于更新的句法元素sh_num_ref_idx_active_override_flag的示例性语义。
[0066]
图17a示出了根据本公开一些实施例的用于为i条带在sh中定义并置图像索引的示例性视频处理方法的流程图。
[0067]
图17b示出了根据本公开一些实施例的用于句法元素sh_collocated_ref_idx的更新的比特流一致性约束的示例性语义。
具体实施方式
[0068]
现在将详细参考示例性实施例,其示例在附图中示出。以下描述参照附图,除非另有说明,否则不同附图中的相同数字表示相同或相似的元件。在示例性实施例的以下描述中阐述的实施方式并不代表与本发明一致的所有实施方式。相反,它们仅仅是与如所附权利要求中的与本发明相关的方面一致的装置和方法的示例。下面更详细地描述本公开的特定方面。如果与通过引用并入的术语和/或定义相冲突,则以本文提供的术语和定义为准。
[0069]
itu-t视频编码专家组(itu-t video coding expert group,itu-t vceg)和iso/iec运动图像专家组(iso/iec moving picture expert group,iso/iec mpeg)的联合视频专家组(joint video experts team,jvet)目前正在制定通用视频编码(versatile video coding,vvc/h.266)标准。vvc标准旨在将其前身高效视频编码(high efficiency video coding,hevc/h.265)标准的压缩效率提高一倍。换句话说,vvc的目标是使用一半的带宽实现与hevc/h.265相同的主观质量。
[0070]
为了使用一半的带宽实现与hevc/h.265相同的主观质量,jvet一直在使用联合探索模型(jem)参考软件开发hevc之外的技术。随着编码技术被纳入jem,jem实现了比hevc更高的编码性能。
[0071]
vvc标准最近已经制定,并继续包括更多提供更好压缩性能的编码技术。vvc基于与现代视频压缩标准(如hevc、h.264/avc、mpeg2、h.263等)中使用的相同的混合视频编码系统。
[0072]
视频是一组按时间顺序排列以存储视觉信息的静态图像(或“帧”)。视频捕获设备(例如,相机)可用于按时间顺序捕获和存储这些图像,并且视频播放设备(例如,电视、计算机、智能手机、平板电脑、视频播放器或具有显示功能的任何最终用户终端)可用于按时间顺序显示此类图像。此外,在一些应用中,视频捕获设备可以实时地将捕获的视频传输到视频播放设备(例如,具有监视器的计算机),诸如用于监控、会议或直播等。
[0073]
为了减少此类应用所需的存储空间和传输带宽,可以在存储和传输之前对视频进行压缩,并在显示之前进行解压缩。压缩和解压缩可以由处理器(例如,通用计算机的处理器)或专用硬件执行的软件实现。用于压缩的模块通常称为“编码器”,用于解压缩的模块通常称为“解码器”。编码器和解码器可以统称为“编解码器”。编码器和解码器可以实现为各种合适的硬件、软件或其组合中的任何一种。例如,编码器和解码器的硬件实现可以包括电路,例如一个或多个微处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application-specific integrated circuits,asic)、现场可编程门阵列(field-programmable gate arrays,fpga)、离散逻辑或其任何组合。编码器和解码器的软件实现可以包括程序代码、计算机可执行指令、固件或固定在计算机可读介质中的任何合适的计算机实现的算法或过程。视频压缩和解压缩可以通过各种算法或标准来实现,例如mpeg-1、mpeg-2、mpeg-4、h.26x系列等。在一些应用中,编解码器可以从第一编码标准解压缩视频,并使用第二编码标准重新压缩解压缩的视频,在这种情况下,编解码器可以称为“转码器”。
[0074]
视频编码过程可以识别并保留可用于重构图像的有用信息,并忽略对于重构不重要的信息。如果无法完全重构被忽略的、不重要的信息,则这种编码过程可以称为“有损”。否则,它可以被称为“无损”。大多数编码过程都是有损的,这是为了减少所需的存储空间和传输带宽而做出的权衡。
[0075]
正在被编码的图像(称为“当前图像”)的有用信息包括相对于参考图像(例如,先前编码和重构的图像)的变化。这种变化可以包括像素的位置变化、亮度变化或颜色变化,其中最关注的是位置变化。代表对象的一组像素的位置变化可以反映对象在参考图像和当前图像之间的运动。
[0076]
在不参考另一个图像的情况下编码的图像(即,它是自己的参考图像)被称为“i-图像”。如果图像中的一些或所有块(例如,通常指视频图像部分的块)是采用使用一个参考图像的帧内预测或帧间预测(例如,单预测)进行预测的,则该图像被称为“p-图像”。如果图像中的至少一个块是用两个参考图像进行预测的(例如,双向预测),则该图像被称为“b-图像”。
[0077]
图1示出了根据本公开一些实施例的示例性视频序列100的结构。视频序列100可以是实况视频或已捕获并存档的视频。视频序列100可以是真实视频、计算机生成的视频(例如,计算机游戏视频)或其组合(例如,具有增强现实效果的真实视频)。视频序列100可
以从视频捕获设备(例如,相机)、包含先前捕获的视频的视频存档(例如,存储在存储设备中的视频文件)或接收来自视频内容提供商的视频的视频馈送接口(例如,视频广播收发器)输入。
[0078]
如图1所示,视频序列100可以包括沿时间轴在时间上排列的一系列图像,包括图像102、104、106和108。图像102-106是连续的,并且在图像106和108之间有更多的图像。在图1中,图像102是i-图像,其参考图像是图像102本身。图像104是p-图像,其参考图像是图像102,如箭头所示。图像106是b-图像,其参考图像是图像104和108,如箭头所示。在一些实施例中,图像(例如,图像104)的参考图像可以不紧接在图像之前或之后。例如,图像104的参考图像可以是图像102之前的图像。应当注意,图像102-106的参考图像只是示例,本公开并不将参考图像的实施例限制为图1中所示的示例。
[0079]
通常,由于编解码任务的计算复杂性,视频编解码器不会一次对整个图像进行编码或解码。相反,他们可以将图像分割成基本段,并逐段对图像进行编码或解码。这样的基本段在本公开中被称为基本处理单元(basic processing unit,bpu)。例如,图1中的结构110示出了视频序列100的图像(例如,图像102-108中的任何一个)的示例结构。在结构110中,图像被划分为4
×
4个基本处理单元,其边界显示为虚线。在一些实施例中,基本处理单元可以在一些视频编码标准(例如,mpeg系列、h.261、h.263或h.264/avc)中称为“宏块”,或者在一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中称为“编码树单元”(coding tree unit,ctu)。图像中的基本处理单元可以具有可变大小,例如128
×
128、64
×
64、32
×
32、16
×
16、4
×
8、16
×
32或像素的任何任意形状和大小。可以基于编码效率和要在基本处理单元中保持的细节水平的平衡来为图像选择基本处理单元的大小和形状。
[0080]
基本处理单元可以是逻辑单元,其可以包括存储在计算机存储器中(例如,在视频帧缓冲器中)的一组不同类型的视频数据。例如,彩色图像的基本处理单元可以包括表示消色差亮度信息的亮度分量(y)、表示颜色信息的一个或多个色度分量(例如,cb和cr)以及相关联的句法元素,其中亮度分量和色度分量可以具有相同大小的基本处理单元大小。在一些视频编码标准(例如h.265/hevc或h.266/vvc)中,亮度和色度分量可以称为“编码树块”(“ctb”)。对基本处理单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。
[0081]
视频编码具有多个操作阶段,其示例在图2a-2b和图3a-3b中示出。对于每个阶段,基本处理单元的大小仍然可能太大而无法进行处理,因此可以进一步划分为本公开中称为“基本处理子单元”的段。在一些实施例中,基本处理子单元可以在一些视频编码标准(例如,mpeg系列、h.261、h.263或h.264/avc)中称为“块”,或者在一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中称为“编码单元”(coding unit,“cu”)。基本处理子单元的大小可以与基本处理单元相同或更小。与基本处理单元类似,基本处理子单元也是逻辑单元,其可以包括存储在计算机存储器(例如,在视频帧缓冲器中)中的一组不同类型的视频数据(例如,y、cb、cr和相关句法元素)。对基本处理子单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。应当注意,这种划分可以根据处理需要进一步进行。还应注意,不同的阶段可以使用不同的方案划分基本处理单元。
[0082]
例如,在模式决定阶段(其示例在图2b中示出),编码器可以决定针对基本处理单元使用什么预测模式(例如,图像内预测或图像间预测),但基本处理单元可能太大而无法
做出这样的决定。编码器可以将基本处理单元分割为多个基本处理子单元(例如,如h.265/hevc或h.266/vvc中的cu),并为每个单独的基本处理子单元确定预测类型。
[0083]
对于另一个示例,在预测阶段(其示例在图2a和图2b中示出),编码器可以在基本处理子单元(例如,cu)级别执行预测操作。然而,在某些情况下,基本处理子单元可能仍然太大而无法处理。编码器可以进一步将基本处理子单元分割成更小的段(例如,在h.265/hevc或h.266/vvc中称为“预测块”或“pb(prediction block)”),在该段的级别上可以执行预测操作。
[0084]
对于另一个示例,在变换阶段(其示例在图2a和图2b中示出),编码器可以对残差基本处理子单元(例如,cu)执行变换操作。然而,在某些情况下,基本处理子单元可能仍然太大而无法处理。编码器可以进一步将基本处理子单元分割成更小的段(例如,在h.265/hevc或h.266/vvc中称为“变换块”或“tb(tranform block)”),在该段的级别上可以执行变换操作。应当注意,相同基本处理子单元的划分方案在预测阶段和变换阶段可以不同。例如,在h.265/hevc或h.266/vvc中,相同cu的预测块和变换块可以具有不同的大小和数量。
[0085]
在图1的结构110中,基本处理单元112进一步划分为3
×
3个基本处理子单元,其边界如虚线所示。同一图像的不同基本处理单元可以划分为不同方案的基本处理子单元。
[0086]
在一些实现方式中,为了提供对视频编码和解码的并行处理能力和容错能力,可以将图像划分为多个区域进行处理,使得对于图像的一个区域,编码或解码过程可以不依赖于来自图像任何其他区域的信息。换句话说,可以独立处理图像的每个区域。通过这样做,编解码器可以并行处理图像的不同区域,从而提高编码效率。此外,当一个区域的数据在处理中损坏或在网络传输中丢失时,编解码器可以正确地对同一图像的其他区域进行编码或解码,而不依赖于损坏或丢失的数据,从而提供容错能力。在一些视频编码标准中,可以将图像划分为不同类型的区域。例如,h.265/hevc和h.266/vvc提供了两种类型的区域:“条带(slice)”和“砖块(tile)”。还应注意,视频序列100的不同图像可以具有用于将图像划分为多个区域的不同划分方案。
[0087]
例如,在图1中,结构110划分为三个区域114、116和118,其边界在结构110内显示为实线。区域114包括四个基本处理单元。区域116和118中的每一个均包括六个基本处理单元。应当注意,图1中的结构110的基本处理单元、基本处理子单元和区域只是示例,本公开不限制其实施例。
[0088]
图2a示出了与本公开实施例一致的示例编码过程200a的示意图。例如,编码过程200a可以由编码器执行。如图2a所示,编码器可以根据过程200a将视频序列202编码为视频比特流228。与图1中的视频序列100类似,视频序列202可以包括按时间顺序排列的一组图像(称为“原始图像”)。类似于图1中的结构110,视频序列202的每个原始图像可以由编码器划分为基本处理单元、基本处理子单元或区域进行处理。在一些实施例中,编码器可以在基本处理单元级别对视频序列202的每个原始图像执行过程200a。例如,编码器可以以迭代方式执行过程200a,其中编码器可以在过程200a的一次迭代中编码基本处理单元。在一些实施例中,编码器可以对视频序列202的每个原始图像的区域(例如,区域114-118)并行执行过程200a。
[0089]
在图2a中,编码器可以将视频序列202的原始图像的基本处理单元(称为“原始bpu”)馈送到预测阶段204,以生成预测数据206和预测的bpu208。编码器可以从原始bpu中
减去预测的bpu208以生成残差bpu210。编码器可以将残差bpu210馈送到变换阶段212和量化阶段214以生成量化的变换系数216。编码器可以将预测数据206和量化的变换系数216馈送到二进制编码阶段226以生成视频比特流228。组件202、204、206、208、210、212、214、216、226和228可以称为“前向路径”。在过程200a期间,在量化阶段214之后,编码器可以将量化的变换系数216馈送到逆量化阶段218和逆变换阶段220以生成重构的残差bpu222。编码器可以将重构的残差bpu222添加到预测的bpu208以生成预测参考224,该预测参考224用于过程200a的下一次迭代的预测阶段204中。过程200a的组件218、220、222和224可以称为“重构路径”。重构路径可用于确保编码器和解码器使用相同的参考数据进行预测。
[0090]
编码器可以迭代地执行过程200a以对原始图像的每个原始bpu进行编码(在前向路径中),并生成用于编码原始图像的下一个原始bpu的预测参考224(在重构路径中)。在对原始图像的所有原始bpu进行编码之后,编码器可以继续对视频序列202中的下一个图像进行编码。
[0091]
参考过程200a,编码器可以接收由视频捕获设备(例如,相机)生成的视频序列202。本文中使用的术语“接收”可指接收、输入、获取、检索、获得、读取、访问或以任何方式输入数据的任何动作。
[0092]
在预测阶段204,在当前迭代中,编码器可以接收原始bpu和预测参考224,并执行预测操作以生成预测数据206和预测的bpu208。可以从过程200a的先前迭代的重构路径生成预测参考224。预测阶段204的目的是通过提取预测数据206来减少信息冗余,预测数据206可用于从预测数据206和预测参考224中将原始bpu重构为预测的bpu208。
[0093]
理想情况下,预测的bpu208可以与原始bpu相同。然而,由于非理想的预测和重构操作,预测的bpu208通常与原始bpu略有不同。为了记录这种差异,在生成预测的bpu208之后,编码器可以将其从原始bpu中减去以生成残差bpu210。例如,编码器可以将预测的bpu208的像素的值(例如,灰度值或rgb值)从原始bpu的对应像素的值中减去。残差bpu210的每个像素可以具有残差值,该残差值是原始bpu和预测的bpu208的对应像素之间的这种减法的结果。与原始bpu相比,预测数据206和残差bpu210可以具有更少的比特,但它们可以用于重构原始bpu,而不会出现显著的质量劣化。因此,原始bpu被压缩。
[0094]
为了进一步压缩残差bpu210,在变换阶段212,编码器可以通过将残差bpu210分解为一组二维“基本模式”来减少其空间冗余,每个基本模式与“变换系数”相关联。基本模式可以具有相同的大小(例如,残差bpu210的大小)。每个基本模式可以表示残差bpu210的变化频率(例如,亮度变化的频率)分量。任何基本模式都不能从任何其他基本模式的任何组合(例如,线性组合)再现。换言之,分解可以将残差bpu210的变化分解到频域中。这种分解类似于函数的离散傅里叶变换,其中基本模式类似于离散傅里叶变换的基本函数(例如,三角函数),变换系数类似于与基本函数相关的系数。
[0095]
不同的变换算法可以使用不同的基本模式。可以在变换阶段212使用各种变换算法,例如,离散余弦变换、离散正弦变换等。在变换阶段212的变换是可逆的。也就是说,编码器可以通过变换的逆运算(称为“逆变换”)来恢复残差bpu210。例如,为了恢复残差bpu210的像素,逆变换可以是将基本模式的对应像素的值乘以相应的相关系数,并将乘积相加以产生加权和。对于视频编码标准,编码器和解码器都可以使用相同的变换算法(因此使用相同的基本模式)。因此,编码器可以只记录变换系数,解码器可以从这些系数重构残差
bpu210,而无需从编码器接收基本模式。与残差bpu210相比,变换系数可以具有更少的比特,但它们可以用于重构残差bpu210,而不会显著降低质量。因此,残差bpu210被进一步压缩。
[0096]
编码器可以在量化阶段214进一步压缩变换系数。在变换过程中,不同的基本模式可以表示不同的变化频率(例如,亮度变化频率)。由于人眼通常更善于识别低频变化,因此编码器可以忽略高频变化的信息,而不会导致解码质量显著下降。例如,在量化阶段214,编码器可以通过将每个变换系数除以整数值(称为“量化比例因子”)并将商舍入到其最接近的整数来生成量化的变换系数216。在这样的操作之后,高频基本模式的一些变换系数可以转换为零,低频基本模式的变换系数可以转换为较小的整数。编码器可以忽略零值的量化的变换系数216,通过该操作进一步压缩变换系数。量化过程也是可逆的,其中量化的变换系数216可以在量化的逆运算(称为“逆量化”)中重构为变换系数。
[0097]
因为编码器在舍入操作中忽略了这种除法的余数,所以量化阶段214可能是有损的。通常,量化阶段214可以在过程200a中造成最大的信息损失。信息损失越大,量化的变换系数216可能需要的比特越少。为了获得不同程度的信息丢失,编码器可以使用量化句法元素的不同值或量化过程的任何其他句法元素。
[0098]
在二进制编码阶段226,编码器可以使用二进制编码技术(例如,熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码或任何其他无损或有损压缩算法)对预测数据206和量化的变换系数216进行编码。在一些实施例中,除了预测数据206和量化的变换系数216之外,编码器可以在二进制编码阶段226编码其他信息,例如,在预测阶段204使用的预测模式、预测操作的句法元素、在变换阶段212的变换类型,量化过程的句法元素(例如,量化句法元素)、编码器控制句法元素(例如,比特率控制句法元素)等。编码器可以使用二进制编码阶段226的输出数据来生成视频比特流228。在一些实施例中,视频比特流228可以进一步打包用于网络传输。
[0099]
参考过程200a的重构路径,在逆量化阶段218,编码器可以对量化的变换系数216执行逆量化以生成重构的变换系数。在逆变换阶段220,编码器可以基于重构的变换系数生成重构的残差bpu222。编码器可以将重构的残差bpu222添加到预测的bpu208,以生成将在过程200a的下一次迭代中使用的预测参考224。
[0100]
应当注意,可以使用过程200a的其他变体对视频序列202进行编码。在一些实施例中,过程200a的各个阶段可以由编码器以不同的顺序执行。在一些实施例中,过程200a的一个或多个阶段可以组合成单个阶段。在一些实施例中,过程200a的单个阶段可分为多个阶段。例如,变换阶段212和量化阶段214可以组合成单个阶段。在一些实施例中,过程200a可以包括附加阶段。在一些实施例中,过程200a可以省略图2a中的一个或多个阶段。
[0101]
图2b示出了与本公开实施例一致的另一示例编码过程200b的示意图。过程200b可以修改自过程200a。例如,过程200b可由符合混合视频编码标准(例如,h.26x系列)的编码器使用。与过程200a相比,过程200b的前向路径另外包括模式决定阶段230,并将预测阶段204划分为空间预测阶段2042和时间预测阶段2044。过程200b的重构路径另外包括环路滤波器阶段232和缓冲器234。
[0102]
通常,预测技术可以分为两类:空间预测和时间预测。空间预测(例如,图像内预测或“帧内预测”)可以使用来自同一图像中一个或多个已编码的相邻bpu的像素来预测当前
bpu。即,空间预测中的预测参考224可以包括相邻的bpu。空间预测可以减少图像固有的空间冗余。时间预测(例如,图像间预测或“帧间预测”)可以使用来自一个或多个已编码的图像的区域来预测当前bpu。即,时间预测中的预测参考224可以包括已编码的图像。时间预测可以减少图像的固有时间冗余。
[0103]
参考过程200b,在前向路径中,编码器在空间预测阶段2042和时间预测阶段2044执行预测操作。例如,在空间预测阶段2042,编码器可以执行帧内预测。对于正在被编码的图像的原始bpu,预测参考224可以包括在同一图像中已被编码(在前向路径中)和重构(在重构路径中)的一个或多个相邻bpu。编码器可以通过外推相邻bpu来生成预测的bpu208。外推技术可以包括例如线性外推或内插、多项式外推或内插等。在一些实施例中,编码器可以在像素级执行外推,诸如通过为预测的bpu208的每个像素对对应像素的值进行外推。用于外推的相邻bpu可以相对于原始bpu位于各种方向,例如在垂直方向(例如,在原始bpu的顶部)、水平方向(例如,在原始bpu的左侧)、对角方向(例如,在原始bpu的左下、右下、左上或右上),或在所使用的视频编码标准中定义的任何方向。对于帧内预测,预测数据206可以包括例如所使用的相邻bpu的位置(例如,坐标)、所使用的相邻bpu的大小、外推参数、所使用的相邻bpu相对于原始bpu的方向等。
[0104]
对于另一示例,在时间预测阶段2044,编码器可以执行帧间预测。对于当前图像的原始bpu,预测参考224可以包括已经编码(在前向路径中)和重构(在重构路径中)的一个或多个图像(称为“参考图像”)。在一些实施例中,可以逐个bpu地对参考图像进行编码和重构。例如,编码器可以将重构的残差bpu222添加到预测的bpu208以生成重构的bpu。当生成同一图像的所有重构bpu时,编码器可以生成重构图像作为参考图像。编码器可以执行“运动估计”操作,以在参考图像的范围(称为“搜索窗口”)中搜索匹配区域。参考图像中搜索窗口的位置可以基于原始bpu在当前图像中的位置来确定。例如,搜索窗口可以以参考图像中与当前图像中的原始bpu具有相同坐标的位置为中心,并且可以向外扩展预定距离。当编码器(例如,通过使用像素递归算法、块匹配算法等)识别出搜索窗口中与原始bpu类似的区域时,编码器可以确定此类区域作为匹配区域。匹配区域可以具有与原始bpu不同的尺寸(例如,小于、等于、大于或形状不同)。由于参考图像和当前图像在时间轴上是时间分离的(例如,如图1所示),因此可以认为匹配区域随着时间的推移“移动”到原始bpu的位置。编码器可以将这种运动的方向和距离记录为“运动矢量”。当使用多个参考图像(例如,如图1中的图像106)时,编码器可以针对每个参考图像搜索匹配区域并确定其相关运动矢量。在一些实施例中,编码器可以将权重分配给各个匹配参考图像的匹配区域的像素值。
[0105]
运动估计可用于识别各种类型的运动,例如平移、旋转、缩放等。对于帧间预测,预测数据206可以包括例如匹配区域的位置(例如,坐标)、与匹配区域相关联的运动矢量、参考图像的数量、与参考图像相关联的权重等。
[0106]
为了生成预测的bpu208,编码器可以执行“运动补偿”的操作。运动补偿可用于基于预测数据206(例如,运动矢量)和预测参考224重构预测的bpu208。例如,编码器可以根据运动矢量移动参考图像的匹配区域,其中编码器可以预测当前图像的原始bpu。当使用多个参考图像时(例如,如图1中的图像106),编码器可以根据匹配区域的各自的运动矢量和平均像素值来移动参考图像的匹配区域。在一些实施例中,如果编码器已将权重分配给各个匹配参考图像的匹配区域的像素值,则编码器可以将移动的匹配区域的像素值的加权和相
加。
[0107]
在一些实施例中,帧间预测可以是单向的或双向的。单向帧间预测可以使用在相对于当前图像相同的时间方向上的一个或多个参考图像。例如,图1中的图像104是单向帧间预测图像,其中参考图像(例如,图像102)在图像104之前。双向帧间预测可以在相对于当前图像的两个时间方向上使用一个或多个参考图像。例如,图1中的图像106是双向帧间预测图像,其中参考图像(例如,图像104和108)位于相对于图像104的两个时间方向。
[0108]
仍然参考过程200b的前向路径,在空间预测2042和时间预测阶段2044之后,在模式决定阶段230,编码器可以为过程200b的当前迭代选择预测模式(例如,帧内预测或帧间预测之一)。例如,编码器可以执行率失真优化技术,其中编码器可以根据候选预测模式的比特率和候选预测模式下重构的参考图像的失真来选择预测模式,以最小化代价函数的值。根据选择的预测模式,编码器可以生成相应的预测的bpu208和预测的数据206。
[0109]
在过程200b的重构路径中,如果在前向路径中选择了帧内预测模式,则在生成预测参考224(例如,当前图像中已编码和重构的当前bpu)之后,编码器可以直接将预测参考224馈送到空间预测阶段2042以供以后使用(例如,用于外推当前图像的下一个bpu)。编码器可以将预测参考224馈送到环路滤波器阶段232,在该阶段,编码器可以将环路滤波器应用于预测参考224,以减少或消除在预测参考224的编码期间引入的失真(例如,块伪影)。编码器可以在环路滤波器阶段232应用各种环路滤波器技术,例如去块、采样自适应偏移、自适应环路滤波器等。环路滤波的参考图像可以存储在缓冲器234(或“解码图像缓冲器(decoded picture buffer,dpb)以供以后使用(例如,用作视频序列202的未来图像的帧间预测参考图像)。编码器可以将一个或多个参考图像存储在缓冲器234中,以在时间预测阶段2044使用。在一些实施例中,编码器可以在二进制编码阶段226对环路滤波器的句法元素(例如,环路滤波器强度)以及量化的变换系数216、预测数据206和其他信息进行编码。
[0110]
图3a示出了与本公开实施例一致的示例解码过程300a的示意图。过程300a可以是对应于图2a中的压缩过程200a的解压缩过程。在一些实施例中,过程300a可以类似于过程200a的重构路径。解码器可以根据过程300a将视频比特流228解码为视频流304。视频流304可以与视频序列202非常类似。然而,由于压缩和解压缩过程中的信息丢失(例如,图2a和图2b中的量化阶段214),通常,视频流304与视频序列202不同。类似于图2a和图2b中的过程200a和200b,解码器可以在基本处理单元(bpu)级对视频比特流228中编码的每个图像执行过程300a。例如,解码器可以以迭代方式执行过程300a,其中解码器可以在过程300a的一次迭代中解码基本处理单元。在一些实施例中,解码器可以针对视频比特流228中编码的每个图像的区域(例如,区域114-118)并行执行过程300a。
[0111]
在图3a中,解码器可以将与编码图像的基本处理单元(称为“编码bpu”)相关联的视频比特流228的一部分馈送到二进制解码阶段302。在二进制解码阶段302,解码器可以将该部分解码为预测数据206和量化的变换系数216。解码器可以将量化的变换系数216馈送到逆量化阶段218和逆变换阶段220以生成重构的残差bpu222。解码器可以将预测数据206馈送到预测阶段204以生成预测的bpu208。解码器可以将重构的残差bpu222添加到预测的bpu208以生成预测参考224。在一些实施例中,预测参考224可以存储在缓冲器中(例如,计算机存储器中的解码图像缓冲器)。解码器可以将预测的参考224馈送到预测阶段204,以在过程300a的下一次迭代中执行预测操作。
[0112]
解码器可以迭代地执行过程300a以对编码图像的每个编码bpu进行解码,并生成用于对编码图像的下一个编码bpu进行编码的预测参考224。在对编码图像的所有编码bpu进行解码之后,解码器可以将图像输出到视频流304以进行显示,并继续解码视频比特流228中的下一个编码图像。
[0113]
在二进制解码阶段302,解码器可以执行编码器使用的二进制编码技术(例如,熵编码、可变长度编码、算术编码、哈夫曼编码、上下文自适应二进制算术编码或任何其他无损压缩算法)的逆运算。在一些实施例中,除了预测数据206和量化的变换系数216之外,解码器可以在二进制解码阶段302解码其他信息,例如,预测模式、预测操作的句法元素、变换类型、量化过程的句法元素(例如,量化句法元素)、编码器控制句法元素(例如,比特率控制句法元素)等。在一些实施例中,如果视频比特流228通过网络以包的形式传输,则解码器可以在将视频比特流228馈送到二进制解码阶段302之前对其进行解包。
[0114]
图3b示出了与本公开实施例一致的另一示例解码过程300b的示意图。过程300b可以修改自过程300a。例如,过程300b可由符合混合视频编码标准(例如,h.26x系列)的解码器使用。与过程300a相比,过程300b另外将预测阶段204分为空间预测阶段2042和时间预测阶段2044,并且另外包括环路滤波器阶段232和缓冲器234。
[0115]
在过程300b中,对于正在被解码的编码图像(称为“当前图像”)的编码基本处理单元(称为“当前bpu”),由解码器从二进制解码阶段302解码的预测数据206可以包括各种类型的数据,这取决于编码器使用什么预测模式对当前bpu进行编码。例如,如果编码器使用帧内预测对当前bpu进行编码,则预测数据206可以包括指示帧内预测的预测模式指示符(例如,标志值)、帧内预测操作的句法元素等。帧内预测操作的句法元素可以包括,例如,用作参考的一个或多个相邻bpu的位置(例如,坐标)、相邻bpu的大小、外推句法元素、相邻bpu相对于原始bpu的方向等。对于另一示例,如果编码器使用帧间预测对当前bpu进行编码,则预测数据206可以包括指示帧间预测的预测模式指示符(例如,标志值)、帧间预测操作的句法元素等。帧间预测操作的句法元素可以包括,例如,与当前bpu相关联的参考图像的数量、分别与参考图像相关联的权重、各个参考图像中一个或多个匹配区域的位置(例如,坐标),分别与匹配区域相关联的一个或多个运动矢量等。
[0116]
基于预测模式指示符,解码器可以决定是在空间预测阶段2042执行空间预测(例如,帧内预测),还是在时间预测阶段2044执行时间预测(例如,帧间预测)。图2b中描述了执行这种空间预测或时间预测的细节,下文不再重复。在执行这种空间预测或时间预测之后,解码器可以生成预测的bpu208。如图3a,解码器可以将预测的bpu208和重构的残差bpu222相加以生成预测参考224。
[0117]
在过程300b中,解码器可以将预测参考224馈送到空间预测阶段2042或时间预测阶段2044,以在过程300b的下一次迭代中执行预测操作。例如,如果在空间预测阶段2042使用帧内预测对当前bpu进行解码,则在生成预测参考224(例如,解码的当前bpu)之后,解码器可以直接将预测参考224馈送到空间预测阶段2042以供以后使用(例如,用于外推当前图像的下一个bpu)。如果在时间预测阶段2044使用帧间预测对当前bpu进行解码,则在生成预测参考224(例如,其中所有bpu已被解码的参考图像)之后,解码器可以将预测参考224馈送到环路滤波器阶段232以减少或消除失真(例如,块伪影)。解码器可以如图2b的方式将环路滤波器应用于预测参考224。经环路滤波的参考图像可以存储在缓冲器234中(例如,计算机
存储器中的解码图像缓冲器(dpb))供以后使用(例如,用作视频比特流228的未来编码图像的帧间预测参考图像)。解码器可以将一个或多个参考图像存储在缓冲器234中,以在时间预测阶段2044使用。在一些实施例中,预测数据还可以包括环路滤波器的句法元素(例如,环路滤波器强度)。在一些实施例中,当预测数据206的预测模式指示符指示帧间预测被用于编码当前bpu时,预测数据包括环路滤波器的句法元素。
[0118]
图4是与本公开实施例一致的用于编码或解码视频的示例装置400的框图。如图4所示,装置400可以包括处理器402。当处理器402执行本文的指令时,装置400可以成为用于视频编码或解码的专用机器。处理器402可以是能够操纵或处理信息的任何类型的电路。例如,处理器402可以包括任意数量的中央处理单元(或central processing unit,“cpu”)、图形处理单元(或graphics processing unit,“gpu”)、神经处理单元(neural processing unit,“npu”)、微控制器单元(mibrocontroller unit,“mcu”)、光学处理器、可编程逻辑控制器、微控制器、微处理器、数字信号处理器、知识产权(intellectual property,ip)核、可编程逻辑阵列(programmable logic array,pla)、可编程阵列逻辑(programmable array logic,pal)、通用阵列逻辑(generic array logic,gal)、复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程门阵列(field-programmable gate array,fpga)、片上系统(system on chip,soc)、专用集成电路(application-specific integrated circuit,asic)等的任意组合。在一些实施例中,处理器402还可以是分组为单个逻辑组件的一组处理器。例如,如图4所示,处理器402可以包括多个处理器,包括处理器402a、处理器402b和处理器402n。
[0119]
装置400还可以包括被配置为存储数据(例如,一组指令、计算机代码、中间数据等)的存储器404。例如,如图4所示,存储的数据可以包括程序指令(例如,用于实现过程200a、200b、300a或300b中的阶段的程序指令)和用于处理的数据(例如,视频序列202、视频比特流228或视频流304)。处理器402可以访问程序指令和用于处理的数据(例如,通过总线410),并执行程序指令以对用于处理的数据执行操作或控制。存储器404可以包括高速随机存取存储设备或非易失性存储设备。在一些实施例中,存储器404可以包括任意数量的随机存取存储器(random-access memory,ram)、只读存储器(read-only memory,rom)、光盘、磁盘、硬盘驱动器、固态驱动器、闪存驱动器、安全数字(security digital,sd)卡、记忆棒、紧凑闪存(compact falsh,cf)卡等的任意组合。存储器404也可以是分组为单个逻辑组件的一组存储器(图4中未示出)。
[0120]
总线410可以是在装置400内的组件之间传输数据的通信设备,诸如内部总线(例如,cpu-存储器总线)、外部总线(例如,通用串行总线端口、外围组件互连快速端口)等。
[0121]
为了便于解释而不引起歧义,处理器402和其他数据处理电路在本公开中统称为“数据处理电路”。数据处理电路可以完全实现为硬件,或软件、硬件或固件的组合。此外,数据处理电路可以是单个独立模块,或者可以完全或部分组合到装置400的任何其他组件中。
[0122]
装置400还可以包括网络接口406,以提供与网络(例如,互联网、内联网、局域网、移动通信网络等)的有线或无线通信。在一些实施例中,网络接口406可以包括任意数量的网络接口控制器(network interface controller,nic)、射频(radio frequency,rf)模块、转发器、收发器、调制解调器、路由器、网关、有线网络适配器、无线网络适配器、蓝牙适配器、红外适配器、近场通信(near-field communication,“nfc”)适配器、蜂窝网络芯片等
的任意组合。
[0123]
在一些实施例中,可选地,装置400还可以包括外围接口408,以提供到一个或多个外围设备的连接。如图4所示,外围设备可以包括但不限于光标控制设备(例如,鼠标、触摸板或触摸屏)、键盘、显示器(例如,阴极射线管显示器、液晶显示器或发光二极管显示器)、视频输入设备(例如,相机或耦合到视频档案的输入接口)等。
[0124]
应当注意,视频编解码器(例如,执行过程200a、200b、300a或300b的编解码器)可以实现为装置400中任何软件或硬件模块的任意组合。例如,过程200a、200b、300a或300b的一些或所有阶段可以实现为装置400的一个或多个软件模块,例如可以加载到存储器404中的程序指令。对于另一示例,过程200a、200b、300a或300b的一些或所有阶段可以实现为装置400的一个或多个硬件模块,例如专用数据处理电路(例如,fpga、asic、npu等)。
[0125]
在视频编码中,图像出于多种目而需要被识别,包括被识别为帧间预测中的参考图像、待从dpb输出的图像、用于运动矢量预测的时间并置图像等。识别图像最常用的方法是使用图像顺序计数(picture order count,“poc”)。
[0126]
为了识别帧间预测中的参考图像、运动矢量(motion vector,“mv”)时间预测和缩放中的时间并置图像,可以导出参考图像列表(通常是两个,如在avc、hevc和vvc中)。例如,可以导出参考图像列表0和参考图像列表1,它们中的每一个都包括dpb中待用作参考图像的重构图像的列表。且这些参考图像列表的参考索引可以以块级别由信号来发送,用于识别当前块的参考图像。为了在无需非必要的大量dpb存储器的情况下正确地维护dpb中的参考图像,需要参考图像标记。
[0127]
在vvc(例如,vvc草案9)中,使用了两个参考图像列表(reference picture lists,“rpl”),即参考图像列表0和参考图像列表1。这两个列表是直接用信号发送和导出的。两个参考图像列表的信息由序列参数集(sequence parameter set,“sps”)、图像参数集(picture parameter set,“pps”)、图像头(picture header,“ph”)和条带头(slice header,“sh”)中的句法元素和句法结构用信号发送。在sps中用信号发送预定义的参考图像列表结构,以供在ph或sh中引用使用。还可以在ph或sh中用信号发送新的参考图像列表结构,用于导出参考图像列表0和参考图像列表1。参考图像列表信息是否在ph或sh中用信号发送,由pps中用信号发送的标志来确定。
[0128]
在vvc(例如,vvc草案9)中,为所有类型的条带(例如,b、p和i条带)生成两个参考图像列表。对于i条带,参考图像列表0和参考图像列表1这两个参考图像列表都不能用于解码。对于p条带,只有参考图像列表0可以用于解码。对于b条带,参考图像列表0和参考图像列表1这两个参考图像列表都可以用于解码。这两个参考图像列表是在不使用参考图像列表初始化过程或参考图像列表修改过程的情况下构建的。
[0129]
并非参考图像列表中的所有图像都被用作当前图像或条带的参考图像。仅参考图像列表中的激活条目可以在条带数据的解码过程中使用。在vvc(例如,vvc草案9)中,在pps中用信号发送激活条目的默认数量,并且该默认数量可以被当前条带的条带头覆盖。
[0130]
为了识别dpb中的图像以构建rpl,使用包括最高有效位(most significant bits,“msb”)和最低有效位(least significant bits,“lsb”)的poc。在vvc(例如,vvc草案9)中,在ph中用信号发送poc的lsb,并且可以在ph中明确地用信号发送msb,或者通过比较当前图像的poc lsb和一个或多个先前图像的poc lsb来导出msb。
[0131]
在vvc(例如,vvc草案9)中,dpb中的解码图像可被标记为“未用于参考”、“用于短期参考”或“用于长期参考”。在解码过程的操作期间的任何给定时刻,解码图像可以被标记为这三个图像中的唯一一个。将这些标记中的一个分配给一张图像在适用时隐含地移除了其他标记。当图像被标记为“用于参考”时,这也指图像被标记为“用于短期参考”或“用于长期参考”,但不能同时标记为两者。
[0132]
短期参考图像(short-term reference pictures,“strp”)和层间参考图像(inter-layer reference pictures,“ilrp”)由其nal(网络抽象层,network abstraction layer)单元id和poc值来标识。长期参考图像(long-term reference pictures,“ltrp”)由其nal单元id和其poc值的多个lsb来标识。
[0133]
图5a示出了根据本公开一些实施例的包括参考图像列表的句法结构的示例性句法。图5a所示的句法可以是vvc标准(例如,vvc草案9)或其他视频编码技术中的一部分。
[0134]
如图5a所示,参考图像列表(例如,ref_pic_lists())的句法结构500a可以存在于ph句法结构或sh中。
[0135]
如图5a所示,句法元素510a(例如,rpl_sps_flag[i])等于1指定参考图像列表(例如,ref_pic_lists())的句法结构中的参考图像列表i(例如,i可以是0或1)是基于sps中的参考图像列表结构(例如,listidx等于i的ref_pic_list_struct(listidx,rplsidx))的句法结构之一导出的。句法元素510a等于0指定参考图像列表i(例如,i可以是0或1)是基于直接包括在参考图像列表(例如,ref_pic_lists())的句法结构中的参考图像列表结构(例如,listidx等于i的ref_pic_list_struct(listidx,rplsidx))的句法结构导出的。
[0136]
当不存在句法元素510a时,采用下述方案。首先,如果sps中参考图像列表的数量(例如,sps_num_ref_pic_lists[i])等于0,则推断句法元素510a的值等于0。其次,如果sps中参考图像列表的数量(例如,sps_num_ref_pic_lists[i])不等于0(例如,如果sps中参考图像列表的数量大于0),当句法元素520a(例如,pps_rpl1_idx_present_flag)等于0且i等于1时,则推断sps中参考图像列表1的句法元素510a(例如,rpl_sps_flag[1])的值等于sps中参考图像列表0的句法元素510a(例如,rpl_sps_flag[0])的值。
[0137]
句法元素530a(例如,rpl_idx[i])指定用于导出当前图像的参考图像列表i的ref_pic_list_struct(listidx,rplsidx)(listidx等于i)在sps中包括的listidx等于i的ref_pic_list_struct(listidx,rplsidx)的列表中的索引。句法元素530a的长度为一定数量的比特,该数量为大于或等于sps中ref_pic_list_struct(listidx,rplsidx)句法结构数量的以2为底的对数的最小整数,其可以被表示为ceil(log2(sps_num_ref_pic_lists[i]))比特。句法元素530a的值可在0至sps中参考图像列表的数量-1(例如,sps_num_ref_pic_lists[i]-1)的包含性范围中。当句法元素530a不存在时,如果句法元素510a等于1并且句法元素520a等于0,则推断rpl_idx[1]的值等于rpl_idx[0]的值,否则推断rpl_idx[1]的值等于0。
[0138]
变量rplsidx[i]可以通过以下方式导出:
[0139]
rplsidx[i]=rpl_sps_flag[i]?rpl_idx[i]:sps_num_ref_pic_lists[i]。
[0140]
句法元素540a(例如,poc_lsb_lt[i][j])指定ref_pic_lists()中的第i个参考图像列表中的第j个ltrp条目的图像顺序计数模maxpicordercntlsb的值。句法元素540a的长度等于poc中最大lsb的以2为底的对数比特(例如,sps_log2_max_pic_order_cnt_lsb_
minus4+4比特)。
[0141]
变量poclsblt[i][j]可以通过以下方式导出:
[0142]
poclsblt[i][j]=ltrp_in_header_flag[i][rplsidx[i]]?poc_lsb_lt[i][j]:
[0143]
rpls_poc_lsb_lt[listidx][rplsidx[i]][j]。
[0144]
句法元素550a(例如,delta_poc_msb_cycle_present_flag[i][j])等于1指定句法元素560a(例如,delta_poc_msb_cycle_lt[i][j])存在。句法元素550a等于0指定句法元素560不存在。
[0145]
具有与引用ref_pic_lists()句法结构的条带头或图像头相同的nuh_layer_id的、且temporalid和ph_non_ref_pic_flag均等于0的、且不是rasl(random access skipped leading,随机访问跳过前导)或radl(random access decodable leading,随机接入可解码前导)图像的解码顺序中的先前图像可以被称为prevtid0pic。nuh_layer_id为句法元素,该句法元素指定vcl(video coding layer,视频编码层)nal(network abstraction layer,网络抽象层)单元所属的层的标识符,或指定非vcl nal单元应用的层的标识符。temporalid为图像的时间标识符。被描述为setofprevpocvals的先前poc值集合为包括以下内容的集合:
[0146]-prevtid0pic的poc值(例如,picordercntval);
[0147]-每个图像的poc值(例如,picordercntval),该每个图像由prevtid0pic的参考图像列表0(例如,refpiclist[0])或参考图像列表1(例如,refpiclist[1])中的条目所引用,且具有与当前图像相同的nuh_layer_id;
[0148]-每个图像的poc值(例如,picordercntval),该每个图像按照解码顺序在prevtid0pic之后,且具有与当前图像相同的nuh_layer_id,且按照解码顺序在当前图像之前。
[0149]
当setofprevpocvals中有多于一个值,其模maxpicordercntlsb的值等于变量poclsblt[i][j]时,则句法元素550a(例如,delta_poc_msb_cycle_present_flag[i][j])的值等于1。
[0150]
图5b示出了根据本公开一些实施例的包括变量fullpoclt[i][j]推导的示例性伪代码。如图5b所示,句法元素560a(例如,delta_poc_msb_cycle_lt[i][j])指定变量fullpoclt[i][j]的值。句法元素560a(例如,delta_poc_msb_cycle_lt[i][j])的值可以在0至2
(32-sps_log2_max_pic_order_cnt_lsb_minus4-4)
的包含性范围中。当句法元素560不存在时,推断句法元素560的值等于0。
[0151]
图6a示出了根据本公开一些实施例的包括参考图像列表结构的句法结构的示例性句法。图6a所示的句法结构可以是vvc标准(例如,vvc草案9)或其他视频编码技术中的一部分。如图6a所示,ref_pic_list_struct(listidx,rplsidx)可存在于sps中、ph句法结构中、或sh中。根据句法结构是否包含在sps、ph句法结构或sh中,适用以下内容:
[0152]-如果ref_pic_list_struct(listidx,rplsidx)存在于ph句法结构或sh中,则ref_pic_list_struct(listidx,rplsidx)句法结构指定当前图像的参考图像列表listidx(例如,包含ph句法结构或sh的编码图像)。
[0153]-如果ref_pic_list_struct(listidx,rplsidx)不存在于ph句法结构或sh中(例如,存在于sps中),则ref_pic_list_struct(listidx,rplsidx)句法结构指定参考图像列
表listidx的候选,并且在该条款的剩余部分中指定的语义中的术语“当前图像”指的是这样的每个图像:1)具有ph句法结构或者包含rpl_idx[listidx]的一个或多个条带,该rpl_idx[listidx]等于sps中包括的ref_pic_list_struct(listidx,rplsidx)句法结构的列表中的索引,以及2)在引用sps的逐层编码视频序列(coded layer-wise videosequence,clvs)中。
[0154]
如图6a所示,句法元素610a(例如,num_ref_entries[listidx][rplsidx])指定ref_pic_list_struct(listidx,rplsidx)句法结构中条目的数量。参数610a的值可以在0至maxdpbsize+13的包含性范围中,其中maxdpbsize如在视频编码标准(例如,vvc草案9)的级别中指定的。
[0155]
句法元素620a(例如,ltrp_in_header_flag[listidx][rplsidx])等于0指定在ref_pic_list_struct(listidx,rplsidx)句法结构中指示的ltrp条目的poc lsb存在于相同的句法结构中。句法元素620a(例如,ltrp_in_header_flag[listidx][rplsidx])等于1指定在ref_pic_list_struct(listidx,rplsidx)句法结构中指示的ltrp条目的poc lsb不存在于相同的句法结构中。当sps_long_term_ref_pics_flag等于1并且rplsidx等于sps_num_ref_pic_lists[listidx]时,推断句法元素620a的值等于1。
[0156]
句法元素630a(例如,inter_layer_ref_pic_flag[listidx][rplsidx][i])等于1指定ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目是ilrp条目。句法元素630a等于0指定ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目不是ilrp条目。当句法元素630a不存在时,推断句法元素630a的值等于0。
[0157]
句法元素640a(例如,st_ref_pic_flag[listidx][rplsidx][i])等于1指定ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目是strp条目。句法元素640a等于0指定ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目是ltrp条目。当句法元素630a等于0且句法元素640a不存在时,推断句法元素640a的值等于1。
[0158]
图6b示出了根据本公开一些实施例的包括ltrp条目数量(例如,变量numltrpentries[listidx][rplsidx])推导的示例性伪代码。变量numltrpentries[listidx][rplsidx](例如图5a中的变量570a)可以如图6b所示导出。
[0159]
图6c示出了根据本公开一些实施例的包括变量absdeltapocst[listidx][rplsidx][i]推导的示例性伪代码。如图6c所示,句法元素650a(例如,abs_delta_poc_st[listidx][rplsidx][i])指定变量absdeltapocst[listidx][rplsidx][i](例如,变量690a)的值。句法元素650a(例如,abs_delta_poc_st[listidx][rplsidx][i])的值可以在0至2
15-1的包含性范围中。
[0160]
句法元素660a(例如,strp_entry_sign_flag[listidx][rplsidx][i])等于1指定ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目具有大于或等于0的值。句法元素660a等于0指定ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目具有小于0的值。当句法元素660a不存在时,推断句法元素660a的值等于1。
[0161]
图6d示出了根据本公开一些实施例的包括变量deltapocvalst[listidx][rplsidx]推导的示例性伪代码。可以如图6d所示导出deltapocvalst[listidx][rplsidx]。
[0162]
参考回图6a,句法元素670a(例如,rpls_poc_lsb_lt[listidx][rplsidx][i])指
定由ref_pic_list_struct(listidx,rplsidx)句法结构中的第i个条目所引用的图像的图像顺序计数模maxpicordercntlsb的值。句法元素670a的长度是sps_log2_max_pic_order_cnt_lsb_minus4+4比特。
[0163]
句法元素680a(例如ilrp_idx[listidx][rplsidx][i])指定ref_pic_list_struct(listidx,rplsidx)句法结构中第i个条目的ilrp在直接参考层的列表中的索引。句法元素680a的值可以在0至numdirectreflayers[generallayeridx[nuh_layer_id]]-1的包含性范围中,其中numdirectreflayers[layeridx]表示索引等于layeridx的层的直接参考层的数量。
[0164]
图7示出了根据本公开一些实施例的包括序列参数集中参考图像列表结构的句法结构的示例性句法。图7所示的句法可以是vvc标准(例如,vvc草案9)或其他视频编码技术中的一部分。
[0165]
如图7所示,句法元素710(例如,sps_long_term_ref_pics_flag)等于0指定没有ltrp用于clvs中任何编码图像的帧间预测。句法元素710等于1指定ltrp可用于clvs中一个或多个编码图像的帧间预测。
[0166]
句法元素720(例如,sps_inter_layer_ref_pics_present_flag)等于0指定没有ilrp用于clvs中任何编码图像的帧间预测。句法元素720等于1指定ilrp可用于clvs中一个或多个编码图像的帧间预测。当sps_video_syntax element_set_id等于0,即sps不引用vps(video parameter set,视频参数集),并且在解码引用sps的每个clvs(只有一层)时不引用vps时,推断句法元素720的值等于0。当vps_independent_layer_flag[generallayeridx[nuh_layer_id]]等于1,即索引为generallayeridx[nuh_layer_id]的层不使用层间预测时,句法元素720的值等于0。
[0167]
句法元素730(例如,sps_idr_rpl_present_flag)等于1指定参考图像列表句法元素存在于idr(instaneous decoding refresh,即时解码刷新)图像的条带头中。句法元素730等于0指定参考图像列表句法元素不存在于idr图像的条带头中。
[0168]
句法元素740(例如,sps_rpl1_same_as_rpl0_flag)等于1指定句法元素sps_num_ref_pic_lists[1]和句法结构ref_pic_list_struct(1,rplsidx)不存在,并且以下适用:推断sps_num_ref_pic_lists[1]的值等于sps_num_ref_pic_lists[0]的值;并且对于范围从0到sps_num_ref_pic_lists[0]

1的rplsidx,推断ref_pic_list_struct(1,rplsidx)中的每个句法元素的值等于ref_pic_list_struct(0,rplsidx)中的对应句法元素的值。
[0169]
句法元素750(例如,sps_num_ref_pic_lists[i])指定sps中包括的、listidx等于i的ref_pic_list_struct(listidx,rplsidx)句法结构的数量。句法元素750的值可以在0至64的包含性范围中。对于listidx的每个值(等于0或1),解码器(例如,通过图3a的过程300a或图3b的过程300b)可以为总数为sps中rpl的数量+1(例如,sps_num_ref_pic_lists[i]+1)的ref_pic_list_struct(listidx,rplsidx)句法结构分配存储器,因为可能有一个ref_pic_list_struct(listidx,rplsidx)句法结构直接在当前图像的条带头中用信号发送。
[0170]
图8示出了根据本公开一些实施例的包括图像参数集中参考图像列表的句法结构的示例性句法。图8所示的句法可以是vvc标准(例如,vvc草案9)或其他视频编码技术中的一部分。
[0171]
如图8所示,当i等于0时,即对于参考图像列表0,句法元素810(例如,pps_num_ref_idx_default_active_minus1[i])加1指定sh_num_ref_idx_active_override_flag等于0的p或b条带的变量numrefidxactive[0]的推断值。当i等于1时,即对于参考图像列表1,句法元素810加1指定sh_num_ref_idx_active_override_flag等于0的b条带的变量numrefidxactive[1]的推断值。句法元素810的值可以在0至14的包含性范围中。
[0172]
句法元素820(例如,pps_rpl1_idx_present_flag)等于0指定rpl_sps_flag[1]和rpl_idx[1]不存在于ph句法结构或引用pps的图像的条带头中。句法元素820等于1指定rpl_sps_flag[1]和rpl_idx[1]可能存在于ph句法结构或引用pps的图像的条带头中。
[0173]
句法元素830(例如,pps_rpl_info_in_ph_flag)等于1指定参考图像列表信息存在于ph句法结构中且不存在于引用pps的、不包含ph句法结构的条带头中。句法元素830等于0指定参考图像列表信息不存在于ph句法结构中且可能存在于引用pps的条带头中。当句法元素830不存在时,推断句法元素830的值等于0。
[0174]
图9a示出了根据本公开一些实施例的包括图像头结构中参考图像列表的句法结构的示例性句法。图9a所示的句法可以是vvc标准(例如,vvc草案9)或其他视频编码技术中的一部分。
[0175]
如图9a所示,句法元素910a(例如,ph_pic_output_flag)影响解码图像的输出和移除过程。当句法元素910a不存在时,推断其等于1。比特流中不存在ph_non_reference_picture_flag等于1且句法元素910a等于0的图像。元素ph_non_reference_picture_flag等于1指定当前图像从未被用作参考图像。元素ph_non_reference_picture_flag等于0指定当前图像可能或可能未被用作参考图像。
[0176]
句法元素920a(例如,ph_temporal_mvp_enabled_flag)等于0指定时间运动矢量预测器被禁用且未被用于当前图像中条带的解码。句法元素920a等于1指定时间运动矢量预测器被启用且可能被用于当前图像中条带的解码。当句法元素920a不存在时,推断句法元素920a的值等于0。由于存在其他约束,当以下条件中一项或多项成立时,一致的比特流中句法元素920a的值只能等于0:1)dpb中没有参考图像与当前图像具有相同空间分辨率和相同缩放窗口偏移,以及2)dpb中没有参考图像存在于当前图像所有条带的rpl的激活条目中。可能还具有其他未列出的句法元素920a只能等于0的情况和复杂条件。
[0177]
图9b示出了根据本公开一些实施例的包括变量maxnumsubblockmergecand推导的示例性伪代码。如图9b所示,maxnumsubblockmergecand的值引用基于子块的合并mvp(motion vector predictor,运动矢量预测器)的候选的最大数量。maxnumsubblockmergecand的值可以在0至5的包含性范围中。
[0178]
参考回图9a,句法元素930a(例如,ph_collocated_from_l0_flag)等于1指定用于时间运动矢量预测的并置图像从参考图像列表0中导出。句法元素930a等于0指定用于时间运动矢量预测的并置图像从参考图像列表1中导出。当句法元素920a和句法元素830a(例如,pps_rpl_info_in_ph_flag)均等于1且num_ref_entries[1][rplsidx[1]]等于0时,推断句法元素930a的值等于1。
[0179]
句法元素940a(例如,ph_collocated_ref_idx)指定用于时间运动矢量预测的并置图像的参考索引。当句法元素930a等于1时,句法元素940a引用参考图像列表0中的条目,且句法元素940a的值可以在0至num_ref_entries[0][rplsidx[0]]-1的包含性范围中。当
句法元素930a等于0时,句法元素940a引用参考图像列表1中的条目,且句法元素940a的值可以在0至num_ref_entries[1][rplsidx[1]]-1的包含性范围中。当句法元素940a不存在时,推断句法元素940a的值等于0。
[0180]
句法元素950a(例如,ph_mvd_l1_zero_flag)等于1指定运动矢量差异(例如,mvd_coding(x0,y0,1,cpidx))句法结构未被解析,且mvdl1[x0][y0][compidx]和mvdcpl1[x0][y0][cpidx][compidx]被设置等于0,其中compidx=0..1,且cpidx=0..2。句法元素950a等于0指定mvd_coding(x0,y0,1,cpidx)句法结构被解析。当句法元素950a不存在时,推断句法元素950a的值为1。mvdl1为从与参考图像列表1中的参考图像相关联的比特流中解码的运动矢量差异。mvdcpl1为从与参考图像列表1中的参考图像相关联的比特流中解码的控制点运动矢量差异。其用于使用仿射运动补偿的编码块。x0和y0为当前编码块的左上角位置,compidx为分量索引,cpidx为控制点的索引。
[0181]
图10a示出了根据本公开一些实施例的包括条带头中参考图像列表的句法结构的示例性句法。图10a所示的句法可以是vvc标准(例如,vvc草案9)或其他视频编码技术中的一部分。
[0182]
如图10a所示,句法元素1010a(例如,sh_num_ref_idx_active_override_flag)等于1指定句法元素sh_num_ref_idx_active_minus1[0]在条带p和b的情况下存在,且句法元素sh_num_ref_idx_active_minus1[1]在条带b的情况下存在。句法元素1010a等于0指定句法元素sh_num_ref_idx_active_minus1[0]和sh_num_ref_idx_active_minus1[1]不存在。当句法元素1010a不存在时,推断句法元素1010a的值等于1。
[0183]
句法元素1020a(例如,sh_num_ref_idx_active_minus1[i])用于变量numrefidxactive[i]的推导。句法元素1020a的值可以在0至14的包含性范围中。对于i等于0或1,在当前条带为b条带时,句法元素1010a等于1,且在句法元素1020a不存在时,推断句法元素1020a的值等于0。
[0184]
图10b示出了根据本公开一些实施例的包括变量numrefidxactive[i]推导的示例性伪代码。如图10b所示,numrefidxactive[i]-1的值指定可能被用于解码条带的参考图像列表i的最大参考索引。句法元素1020a用于numrefidxactive[i]的推导,如图10b中公式(1)所示。当numrefidxactive[i]的值等于0时,没有参考图像列表i的参考索引可用于解码条带。在当前条带为p条带时,numrefidxactive[0]的值大于0。在当前条带为b条带时,numrefidxactive[0]和numrefidxactive[1]的值均大于0。
[0185]
如图10a所示,句法元素1030a(例如,sh_cabac_init_flag)指定用于确定在上下文变量的初始化过程中使用的初始化表的方法。当句法元素1030a不存在时,推断其等于0。
[0186]
句法元素1040a(例如,sh_collocated_from_l0_flag)等于1指定用于时间运动矢量预测的并置图像从参考图像列表0导出。句法元素1040a等于0指定用于时间运动矢量预测的并置图像从参考图像列表1导出。当sh_slice_type等于b或p、句法元素920a(例如,ph_temporal_mvp_enabled_flag)等于1、且句法元素1040a不存在时,适用以下:如果sh_slice_type等于b,则推断句法元素1040a等于句法元素930a(例如,ph_collocated_from_l0_flag);如果sh_slice_type不等于p(例如,sh_slice_type等于p),则推断句法元素1040a的值等于1。
[0187]
句法元素1050a(例如,sh_collocated_ref_idx)指定用于时间运动矢量预测的并
置图像的参考索引。当sh_slice_type等于p时,或当sh_slice_type等于b且句法元素1040a等于1时,句法元素1050a引用参考图像列表0中的条目,且句法元素1050a的值可以在0至numrefidxactive[0]-1的包含性范围中。当sh_slice_type等于b且句法元素1040a等于0时,句法元素1050a引用参考图像列表1的条目,且句法元素1050a的值可以在0至numrefidxactive[1]-1的包含性范围中。当句法元素1050a不存在时,适用以下:如果句法元素830(例如,pps_rpl_info_in_ph_flag)等于1,则推断句法元素1050a的值等于句法元素940a(例如,ph_collocated_ref_idx);如果句法元素830不等于1(例如,句法元素830等于0),则推断句法元素1050a的值等于0。作为比特流一致性的要求,由句法元素1050a引用的图像对于编码图像的所有条带来说是相同的,且rprconstraintsactive[sh_collocated_from_l0_flag?0:1][sh_collocated_ref_idx]等于0。该约束要求并置图像具有与当前图像相同的空间分辨率和相同的缩放窗口偏移。
[0188]
在vvc(例如,vvc草案9)中,句法元素930a(例如,ph_collocated_from_l0_flag)和句法元素950a(例如,ph_mvd_l1_zero_flag)为在ph中用信号发送的两个标志。句法元素930a指示用于时间运动矢量预测的并置图像来自哪个参考图像列表。句法元素950a指示是否为参考图像列表1解析了mvd_coding()句法结构。因此,这两个标志仅在参考图像列表1中激活条目的数量大于0时相关。然而,如图10a所示,由于参考图像列表中激活条目的数量在条带头中被sh_num_ref_idx_active_minus1[i]覆盖,因此当句法元素930a和句法元素950a在ph中用信号发送时,解码器不知晓参考图像列表1中激活条目的确切数量。因此,在vvc(例如,vvc草案9)中,参考图像列表1中条目的总数用作用信号发送这两个标志的条件,如图9a所示。
[0189]
应当理解,尽管本公开涉及基于等于0或1的值来提供推断的各种句法元素,但是这些值可以以任何方式(例如,1或0)来配置以提供适当的推断。
[0190]
在vvc(例如,vvc草案9)中,对于i条带,保证两个参考图像列表中激活条目的数量都等于0。对于p条带,参考图像列表0中激活条目的数量大于0,且参考图像列表1中激活条目的数量等于0。对于b条带,两个参考图像列表中激活条目的数量均大于0。对于参考图像列表中条目的总数没有保证。例如,对于i条带,两个参考图像列表中任一个中条目的数量可以大于0。因此,参考图像列表1中条目的总数大于0的信号发送条件对于句法元素930a和句法元素950a来说过于宽松,将引起这两个句法元素的不必要的信号发送。
[0191]
为了克服传统编码技术的这一缺陷,在本公开的一些实施例(例如,下文图11a至图11c中提供的实施例)中,避免了在参考图像列表0中条目的数量等于0的情况下不必要的信号发送。
[0192]
图11a示出了根据本公开一些实施例的用于在ph句法结构中用信号发送标志的示例性视频编码方法1100a的流程图。方法1100a可以由编码器执行(例如,图2a的过程200a或图2b的过程200b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1100a。在一些实施例中,方法1100a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图11a,方法1100a可以包括以下步骤1102a和1104a。
[0193]
在步骤1102a,编码器基于并置图像编码当前图像。可以例如通过参考图像0和参
考图像列表1导出参考图像,参考图像0和参考图像列表1中的每个都包括dpb(例如,图3b中的缓冲器234)中待用作参考图像的重构图像的列表。当前图像用于时间运动矢量预测。
[0194]
在步骤1104a,当参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0时,用信号发送句法元素ph_collocated_from_l0_flag(例如,句法元素930a)和句法元素ph_mvd_l1_zero_flag(例如,句法元素950a)。句法元素ph_collocated_from_l0_flag指示用于时间运动矢量预测的并置图像来自哪个参考图像列表,即用于时间运动矢量预测的并置图像来自由第一标志指示的参考图像列表。句法元素ph_mvd_l1_zero_flag指示是否用信号发送与参考图像列表1相关联的运动矢量差异句法结构。通过这种方式,在用信号发送两个标志时,参考图像列表1和参考图像0中的条目均得到保证。因此,避免了在参考图像列表0中条目的数量等于0的情况下不必要的信号发送,并提高了解码效率。
[0195]
图11b示出了根据本公开一些实施例的用于在ph句法结构中解码标志的示例性视频解码方法1100b的流程图。方法1100b可以由解码器执行(例如,图3a的过程300a或图3b的过程300b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1100b。在一些实施例中,方法1100b可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图11b,方法1100b可以包括以下步骤1102b至1106b。
[0196]
在步骤1102b,解码器接收视频比特流(例如,图3b的视频比特流228),且该视频比特流可以利用帧间预测来编码。
[0197]
在步骤1104b,当参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0时,由解码器从比特流中解码句法元素ph_collocated_from_l0_flag(例如,句法元素930a)和句法元素ph_mvd_l1_zero_flag(例如,句法元素950a)。句法元素ph_collocated_from_l0_flag指示用于时间运动矢量预测的并置图像来自哪个参考图像列表,即用于时间运动矢量预测的并置图像来自由第一标志指示的参考图像列表。句法元素ph_mvd_l1_zero_flag指示比特流中是否存在与参考图像列表1相关联的运动矢量差异句法结构。通过这种方式,在用信号发送两个标志时,参考图像列表1和参考图像0中的条目均得到保证。
[0198]
在步骤1106b,基于并置图像解码当前图像。因此,避免了在参考图像列表0中条目的数量等于0的情况下不必要的信号发送,并提高了效率。
[0199]
图11c示出了根据本公开一些实施例的示例性图像头句法结构1100c的部分。图像头(picture header,ph)句法结构1100c可以在方法1100a中使用。基于图9a的句法结构900a修改ph句法结构1100b,相比于先前vvc的变化如框1110c和1120c中斜体所示。
[0200]
参考1110c,在一些实施例中,当num_ref_entries[0][rplsidx[0]]大于0且num_refe_entries[1][rplsidx[1]]大于0时,用信号发送句法元素ph_collocated_from_l0_flag(例如,句法元素930a)。参考1120c,当pps_rpl_info_in_ph_flag不等于0,或者num_ref_entries[0][rplsidx[0]]大于0且num_refe_entries[1][rplsidx[1]]大于0时,用信号发送句法元素ph_mvd_l1_zero_flag(例如,句法元素950a)。因此,当参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0时,可以用信号发送句法元素930a和句法元素950a。避免了在参考图像列表0中条目的数量等于0的情况下不必要的信号发送,并提
高了编码效率。
[0201]
在vvc(例如,vvc草案9)中,可以在ph或sh中指示并置图像。如果在ph中用信号发送参考图像列表信息,则通过句法元素930a(例如,ph_collocated_from_l0_flag)和句法元素940a(例如,ph_collocated_ref_idx)在ph中指示并置图像。如果在sh中用信号发送参考图像列表信息,则通过句法元素1040a(例如,sh_collocated_from_l0_flag)和句法元素1050a(例如,sh_collocated_ref_idx)在sh中指示并置图像。句法元素930a等于1指定用于时间运动矢量预测的并置图像从参考图像列表0中导出。句法元素930a等于0指定用于时间运动矢量预测的并置图像从参考图像列表1中导出。当在ph中用信号发送句法元素930a时,信号发送条件为参考图像列表1中条目的数量大于0。然而,参考图像列表中激活条目的数量可以在条带级别被覆盖。因此,即使用信号发送的句法元素930a为0,由于sh可能将参考图像列表1中激活条目的数量覆盖为0,因此不能保证并置图像可以从参考图像列表1中选择。相似地,当在ph中用信号发送句法元素940a,最大允许值为参考图像列表中条目的数量减1。如果sh将激活条目的数量覆盖为小于句法元素940a的值,则其为非法比特流。
[0202]
为了避免这种非法场景,vvc(例如,vvc草案9)提出了数条比特流一致性约束。然而,满足所有约束会给编码器带来负担。实际上解码器还应该考虑当这种非法情况发生时如何处理比特流。
[0203]
为了克服传统编码技术的这一缺陷,在本公开的一些实施例(例如下文图12a至图12j中提供的实施例)中,在不用信号发送参考图像列表的索引的情况下指示并置图像,以通过更稳健的方式避免非法场景。
[0204]
图12a示出了根据本公开一些实施例的用于在不用信号发送参考图像列表的索引的情况下指示并置图像的示例性视频编码方法1200a的流程图。方法1200a可以由编码器执行(例如,图2a的过程200a或图2b的过程200b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1200a。在一些实施例中,方法1200a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图12a,方法1200a可以包括以下步骤1202a和1204a。
[0205]
在步骤1202a,编码器基于并置图像将当前图像编码为比特流,其中并置图像用于时间运动矢量预测。在步骤1204a,在不用信号发送参考图像列表的索引的情况下指示比特流中的并置图像。由于在没有通过索引引用参考图像列表中的条目的情况下指示了并置图像,即使sh将参考图像列表1中激活条目的数量覆盖为0,也可以合法地指示并置图像。因此,提高了编码过程的稳健性。
[0206]
图12b示出了根据本公开一些实施例的编码方法1200b的示例性流程图。应当理解,方法1200b可以为图12a中方法1200a的步骤1204a的一部分。图12c示出了根据本公开一些实施例的用于指示并置图像的示例性视频编码方法1200b的另一流程图。参考图12b和图12c,在一些实施例中,方法1200b可以进一步包括以下步骤1202b至1206b。
[0207]
在步骤1202b,当并置图像为层间参考图像时,用信号发送第一参数以指示并置图像。第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。例如,该索引可以是句法元素inter_layer_col_pic_idx。因此,在没有利用参考图像列表的情况下指示了并置图像。当sh覆盖参考图像列表中激活条目的数量时,可以避免非法场景。在步骤
1202b之前,可以用信号发送指示并置图像是否是层间参考图像的标志。步骤1202b也可以参考图12c中的1201c和1202c。
[0208]
在步骤1204b,当并置图像为短期参考图像(strp)时,用信号发送增量(delta)图像顺序计数(增量poc)。此外,poc可以通过增量poc导出。在该场景中,在不利用参考图像列表的情况下,利用poc指示并置图像。因此,当sh覆盖参考图像列表中激活条目的数量时,可以避免非法场景。步骤1204b也可以参考图12c中的1203c和1204c。
[0209]
在步骤1206b,当并置图像为长期参考图像(ltrp)时,用信号发送poc的最低有效位(lsb)和poc的最高有效位(msb)。此外,poc可以通过lsb和msb导出。在该场景中,在不利用参考图像列表的情况下,利用poc指示并置图像。因此,当sh覆盖参考图像列表中激活条目的数量时,可以避免非法场景。步骤1206b也可以参考图12c中的1203c和1205c。利用poc指示并置图像可以有效地增强确定并置图像的稳健性。在一些实施例中,在步骤1204b和1206b之前,可以用信号发送指示并置图像是否是短期参考图像的标志。
[0210]
图12d示出了根据本公开一些实施例的用于在不解码参考图像列表的索引的情况下指示并置图像的示例性视频解码方法1200d的流程图。方法1200d可以由解码器执行(例如,图3a的过程300a或图3b的过程300b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1200d。在一些实施例中,方法1200d可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图12d,方法1200d可以包括以下步骤1202d至1206d。
[0211]
在步骤1202d,解码器接收用于处理的视频比特流(例如,图3b的视频比特流228),且该视频比特流可以利用帧间预测来编码。可以例如通过参考图像0和参考图像列表1导出参考图像,参考图像0和参考图像列表1中的每个都包括dpb(例如,图3b中的缓冲器234)中待用作参考图像的重构图像的列表。
[0212]
在步骤1204d,基于比特流确定用于时间运动矢量预测的并置图像,但不对参考图像列表的索引进行解码。
[0213]
在步骤1206d,基于并置图像解码当前图像。由于在没有利用参考图像列表结构的情况下指示了并置图像,即使sh将参考图像列表1中激活条目的数量覆盖为0,也可以合法地指示并置图像。因此,提高了解码过程的稳健性。
[0214]
由于在没有利用参考图像列表结构的情况下指示了并置图像,即使sh将参考图像列表1中激活条目的数量覆盖为0,也可以合法地指示并置图像。因此,提高了解码过程的稳健性。
[0215]
图12e示出了根据本公开一些实施例的解码方法1200e的示例性流程图。应当理解,方法1200e可以为图12d中方法1200d的步骤1204d的一部分。
[0216]
在步骤1202e,当并置图像为层间参考图像时,解码第一参数以指示并置图像。第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。例如,该索引可以是句法元素inter_layer_col_pic_idx。因此,在没有利用参考图像列表的情况下指示了并置图像。当sh覆盖参考图像列表中激活条目的数量时,可以避免非法场景。在一些实施例中,在步骤1202e之前,解码指示并置图像是否是层间参考图像的第一标志,并基于第一标志确定并置图像是否是层间参考图像。
[0217]
在步骤1204e,当并置图像为短期参考图像(strp)时,解码增量图像顺序计数(增量poc)。此外,poc可以通过增量poc导出。在该场景中,在不利用参考图像列表的情况下,利用poc指示并置图像。因此,当sh覆盖参考图像列表中激活条目的数量时,可以避免非法场景。
[0218]
在步骤1206e,当并置图像为长期参考图像(ltrp)时,解码poc的最低有效位(lsb)和poc的最高有效位(msb)。此外,poc可以通过lsb和msb导出。在该场景中,在不利用参考图像列表的情况下,利用poc指示并置图像。因此,当sh覆盖参考图像列表中激活条目的数量时,可以避免非法场景。在一些实施例中,在步骤1204e和1206e之前,解码指示并置图像是否是短期参考图像的第二标志,并基于第二标志确定并置图像是否是短期参考图像。
[0219]
图12f和图12g示出了根据本公开一些实施例的示例性图像参数集句法结构1200f的一部分,以及示例性条带头句法结构1200g的一部分。图像参数集句法结构1200f可以与条带头句法结构1200g一同用于方法1200a、1200b、1200d和1200e。基于图9a中句法结构900a的部分960a修改图像参数集句法结构1200f,相比于先前vvc的变化以斜体示出,提议删除的句法进一步以删除线示出。基于图10a中句法结构1000a的部分1060a修改条带头句法结构1200g,提议删除的句法进一步以删除线示出。如图12f和图12g所示,句法元素ph_collocated_from_l0_flag、ph_collocated_ref_idx、sh_collocated_from_l0_flag和sh_collocated_ref_idx不再在pps或sh中用信号发送。
[0220]
如图12f所示,句法元素1210f(例如,inter_layer_col_pic_flag)等于1指定用于时间运动矢量预测的并置图像由参考图像列表中的ilrp条目引用。句法元素1210f等于0指定用于时间运动矢量预测的并置图像不由参考图像列表中的ilrp条目引用。当句法元素1210f不存在时,推断句法元素1210f的值等于0。可以在1201c中用信号发送句法元素1210f,用于确定并置图像是否为层间参考图像。
[0221]
句法元素1210f(例如,st_col_pic_flag)等于1指定用于时间运动矢量预测的并置图像由参考图像列表中的strp条目引用。句法元素1220f等于0指定用于时间运动矢量预测的并置图像由参考图像列表中的ltrp条目引用。当句法元素1210f等于0且句法元素1220f不存在时,推断句法元素1220f的值等于1。可以在1203c中用信号发送句法元素1220f,用于确定并置图像是否为短期参考图像。如果句法元素1220f等于1(例如,图12c中1203c为真),则执行步骤1204b(如图12b所示),且用信号发送增量图像顺序计数(增量poc)(例如,图12c中1204c)。如果句法元素1220f等于0(例如,图12c中1203c为假),则执行步骤1206b(如图12b所示),且用信号发送poc的最低有效位(lsb)和poc的最高有效位(msb)(例如,图12c中的1205c)。
[0222]
句法元素1230f(例如,abs_delta_poc_st_col)指定变量absdeltapocstcol的值。图12h示出了根据本公开一些实施例的包括absdeltapocstcol推导1210h的示例性伪代码。句法元素1230f(例如,abs_delta_poc_st_col)的值可以在0至2
15-1的包含性范围中。
[0223]
参考回图12f,句法元素1240f(例如sign_delta_poc_st_col_flag)等于1指定变量deltapocvalstcol的值大于或等于0。句法元素1240f等于0指定变量deltapocvalstcol的值小于0。当句法元素1240f不存在时,推断句法元素1240f的值等于1。图12i示出了根据本公开一些实施例的包括deltapocvalstcol推导的示例性伪代码。可以如图12i所示导出变量deltapocvalstcol。
[0224]
参考回图12f,在一些实施例中,句法元素1250f(例如,poc_lsb_lt_col)指定用于时间运动矢量预测的并置图像的图像顺序计数模maxpicordercntlsb的值。句法元素1250f的长度是sps_log2_max_pic_order_cnt_lsb_minus4+4比特。
[0225]
句法元素1260(例如,delta_poc_msb_cycle_lt_col)指定变量fullpocltcol的值如下:
[0226]
fullpocltcol=picordercntval

delta_poc_msb_cycle_lt_col*maxpicordercntlsb-[0227]
(picordercntval&(maxpicordercntlsb-1))+poc_lsb_lt_col
[0228]
句法元素1270f(例如,delta_poc_msb_cycle_col_present_flag)等于1指定存在句法元素1260f(例如,delta_poc_msb_cycle_lt_col)。句法元素1270b等于0指定句法元素1260f不存在。
[0229]
进一步,对于句法元素1270f,令prevtid0pic是解码顺序中的前一图像,其nuh_layer_id与引用ref_pic_lists()句法结构的条带或图像头相同,temporalid等于0,并且不是rasl或radl图像。令setofprevpocvals为包含以下内容的集合:
[0230]-prevtid0pic的picordercntval,
[0231]-每个图像的picordercntval,该每个图像由prevtid0pic的refpiclist[0]或refpiclist[1]中的条目所引用,且nuh_layer_id与当前图像相同,
[0232]-每个图像的picordercntval,该每个图像按照解码顺序在prevtid0pic之后,且nuh_layer_id与当前图像相同,且按照解码顺序在当前图像之前。
[0233]
当setofprevpocvals中有多于一个值,其模maxpicordercntlsb的值等于句法元素1250f(例如,poc_lsb_lt_col)时,则delta_poc_msb_cycle_present_flag[i][j])的值应当等于1。
[0234]
当用于时间运动矢量预测的并置图像由参考图像列表中的ilrp条目所引用时,句法元素1280f(例如,inter_layer_col_pic_idx)指定用于时间运动矢量的并置图像在直接参考层的列表中的索引。句法元素1280f的值可以在0至numdirectreflayers[generallayeridx[nuh_layer_id]]-1的包含性范围中。
[0235]
如图12f所示,当sps_inter_layer_ref_pics_present_flag(例如,句法元素720)等于1时,用信号发送句法元素1210f,即ilrp可以用于clvs中一个或多个编码图像的帧间预测,用信号发送索引(例如,句法元素1280f inter_layer_col_pic_idx)以指示哪个层间参考图像用作并置图像,其与图12b的步骤1202b对应。如果并置图像为短期参考图像,即句法元素1220f(例如,st_col_pic_flag)等于1,用信号发送增量poc(例如,句法元素1230f),其与图12b的步骤1204b对应。如果并置图像为长期参考图像,即句法元素1220f(例如,st_col_pic_flag)等于0,用信号发送poc的lsb(例如,句法元素1250f)以及poc的增量msb(例如,句法元素1260f),其与图12b的步骤1206b对应。此外,poc的msb可以通过增量msb导出,且poc可以通过msb和lsb导出。因此,可以独立于参考图像列表结构来指示并置图像。
[0236]
考虑到vvc(例如,vvc草案9)有约束,即一个图像内的所有条带所引用的并置图像应该是相同图像,根据更新的句法结构1200f和1200g,并置图像可以只在ph中指示,而不在sh中指示。因此,可以保证图像内的所有条带具有相同的并置图像,并且不需要约束,从而提高了指示并置图像的效率和稳健性。
[0237]
图12j示出了根据本公开一些实施例的用于导出标记为colpic的并置图像以及用于方法1200a、1200b、1200c和1200d的标志colpicflag的示例性伪代码。如图12j所示,对于并置图像的不同场景,例如并置图像由参考图像列表中的strp条目所引用(如场景1210j所示),并置图像由参考图像列表中的ltrp条目所引用(如场景1220j所示),或者并置图像由参考图像列表中的ilpr条目所引用(如场景1230j所示),图像内的所有条带具有相同的并置图像(例如,pica)。因此,提高了确定并置图像的稳健性。
[0238]
在一些实施例中,存在比特流一致性的要求,即应用以下约束:当ph_temporal_mvp_enabled_flag等于1时,colpic不是“无参考图像”,而是由refpiclist[0]或refpiclist[1]中的激活条目所引用,并且colpicflag等于0。“无参考图像”可以被视为指示在rpl中没有参考图像的标记。colpicflag等于0指示当前图像和并置图像具有相同的图像大小和相同的缩放窗口。也就是说,当启用时间mvp时,并置图像应当存在于参考图像列表中,且由参考图像列表0或参考图像列表1中的激活条目所引用。因此,提高了并置图像的稳健性。
[0239]
在vvc(例如,vvc草案9)中,可以根据pps_rpl_info_ph_flag的值在ph或sh中用信号发送用于识别并置图像的ref_pic_list_struct()和句法元素(ph中的句法元素930a(例如,ph_collocated_from_l0_flag)和句法元素940a(例如,ph_collocated_ref_idx),以及sh中的句法元素1040a(例如,sh_collocated_from_l0_flag)和句法元素1050a(例如,sh_colocated_ref_idx)。当pps_rpl_info_ph_flag的值等于1时,在ph中用信号发送句法元素930a、句法元素940a和ref_pic_list_struct(),且不用信号发送句法元素1040a和句法元素1050a。在这种情况下,根据句法元素930a和句法元素940a的值以及当前条带的条带类型来推断句法元素1040a和句法元素1050a的值。如果其为b条带,推断句法元素1040a等于句法元素930a。如果其为p条带,直接推断句法元素1040a等于1,而不考虑句法元素930a的值。对于p条带和b条带,均推断句法元素1050a的值等于句法元素940a。然而,对于在ph中用信号发送的句法元素940a,最大允许值为参考图像列表中条目的数量减1,但是对于句法元素1050a,最大允许值为参考图像列表中激活条目的数量减1,其可能在条带头中被覆盖。因此,当句法元素1050a被推断为等于句法元素940a时,可能会违反最大值约束。
[0240]
例如,当用信号发送的句法元素930a为0时,参考图像列表1中条目的数量(在ref_pic_list_structure()中用信号发送的num_ref_entris[1])为n,且用信号发送的ph_colocated_ref_idx为n-1,那么在这种情况下,推断句法元素1040a的值等于0,且推断句法元素1050a的值等于n-1。然而参考图像列表1中激活条目的数量可以被覆盖为小于n的数。在这种情况下,比特流是非法的。
[0241]
又一示例中,当用信号发送的句法元素930a为0时,参考图像列表1中条目的数量(在ref_pic_list_structure()中用信号发送的num_ref_entries[1])为n,用信号发送的句法元素940a为n-1,且激活条目的数量未在条带头中被覆盖(假设激活条目的数量与参考图像列表中条目的数量均相同)。但是如果当前条带为p条带,则推断句法元素940a等于1,且推断句法元素1050a等于n-1。然而,参考图像列表0中条目的数量(在ref_pic_list_structure()中用信号发送的num_ref_entries[0])可能小于n。因此,比特流也是非法的。
[0242]
为了解决传统编码技术中的这一缺陷,在本公开的一些实施例(例如下文图13a至图13c中所提供的实施例)中,sh中的并置图像也是基于参考图像列表中激活条目的数量推
断的。
[0243]
图13a示出了根据本公开一些实施例的利用参考图像列表中激活条目的数量确定sh中并置图像的索引的示例性视频编码方法1300a的流程图。方法1300a可以由编码器执行(例如,图2a的过程200a或图2b的过程200b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1300a。在一些实施例中,方法1300a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图13a,方法1300a可以包括以下步骤1302a至1306a。
[0244]
在步骤1302a,确定是否在条带头中用信号发送参数以指示并置图像的参考索引。在vvc中,指示条带头中并置图像的参考索引的参数可以是句法元素sh_collocated_ref_idx。
[0245]
在步骤1304a,当未在条带头中用信号发送参数时,确定并置图像为由索引所引用的图像,该索引的值等于在图像头中用信号发送的并置图像的参考索引的值(例如,ph_collocated_ref_idx)和目标参考图像列表中激活条目的数量减1(例如,numrefidxactive[!sh_collocated_from_l0_flag]-1)之间的较小值。参考图像列表中的目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。因此,在推断句法元素1050a(例如,sh_collocated_ref_idx)的值时,也将参考图像中激活条目的数量考虑在内。如果在ph中用信号发送的句法元素940a(例如,ph_collocated_ref_idx)大于或等于目标参考图像列表中激活条目的数量,则句法元素1050a(例如,sh_collocated_ref_idx)的推断值被限制为小于目标参考图像列表中激活条目的数量。参考图像列表中的目标参考图像列表由句法元素1040a(例如,sh_collocated_from_l0_flag)指示。
[0246]
在步骤1306a,基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测。因此,避免了非法比特流,且提高了并置图像的稳健性。
[0247]
图13b示出了根据本公开一些实施例的利用参考图像列表中激活条目的数量确定sh中并置图像的索引的示例性视频解码方法1300b的流程图。方法1300b可以由解码器执行(例如,图3a的过程300a或图3b的过程300b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1300b。在一些实施例中,方法1300b可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图13b,方法1300b可以包括以下步骤1302b至1310b。
[0248]
在步骤1302b,解码器接收视频比特流(例如,图3b的视频比特流228),且该视频比特流可以利用帧间预测来编码。因此,可以例如从参考图像0和参考图像列表1导出参考图像,参考图像0和参考图像列表1中的每个都包括dpb(例如,图3b中的缓冲器234)中待用作参考图像的重构图像的列表。
[0249]
在步骤1304b,确定条带头中是否存在指示用于时间运动矢量预测的并置图像的参考索引的参数。在vvc中,指示条带头中并置图像的参考索引的参数可以是句法元素sh_collocated_ref_idx。
[0250]
在步骤1306b,当参数不存在时,将参数的值确定为等于图像头中存在的用于时间
运动矢量预测的并置图像的参考索引的值(例如,ph_collocated_ref_idx)和目标参考图像列表中激活条目的数量减1(例如,numrefidxactive[!sh_collocated_from_l0_flag]

1)之间的较小值。参考图像列表中的目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。因此,在确定句法元素1050a(例如,sh_collocated_ref_idx)的值时,也将参考图像中激活条目的数量考虑在内。如果在ph中用信号发送的句法元素940a(例如,ph_collocated_ref_idx)的值大于或等于目标参考图像列表中激活条目的数量,则句法元素1050a(例如,sh_collocated_ref_idx)的确定值被限制为小于目标参考图像列表中激活条目的数量。参考图像列表中的目标参考图像列表由句法元素1040a(例如,sh_collocated_from_l0_flag)指示。因此,避免了非法比特流。
[0251]
在步骤1308b,确定并置图像为其值与目标参考图像列表中的参数值相等的索引所引用的图像。提高了并置图像的稳健性。
[0252]
在步骤1310b,基于并置图像解码当前图像。提高了解码过程的可靠性。
[0253]
图13c示出了根据本公开一些实施例的示例性语义1300c的部分。语义1300c可被用于方法1300a和方法1300b。如图13c所示,在句法1310c中,相比于先前vvc的变化以斜体示出,提议删除的句法进一步以删除线示出。句法1310c对应图13a中的步骤1306a和图13b中的步骤1306b。如果pps_rpl_info_in_ph_flag(例如,句法元素830)等于1,代表参考图像列表信息存在于ph句法结构中,且不存在于引用pps的、不包含ph句法结构的sh中,推断sh_collocated_ref_idx(例如,句法元素1050a)的值等于min(ph_collocated_ref_idx,numrefidxactive[!sh_collocated_from_l0_flag]-1),即sh_collocated_ref_idx的值被设置为等于图像头中用于时间运动矢量预测的并置图像的参考索引值(例如,ph_collocated_ref_idx)和目标参考图像列表中激活条目的数量减1(例如,numrefidxactive[!sh_collocated_from_l0_flag]

1)之间的较小值。目标参考图像列表由句法元素1040a(例如,sh_collocated_from_l0_flag)指示,其为用于时间运动矢量预测的并置图像所从中导出的参考图像列表。当用于时间mvp的并置图像从参考图像列表0导出,目标参考图像列表为参考图像列表0。当用于时间mvp的并置图像从参考图像列表1导出,目标参考图像列表为参考图像列表1。
[0254]
在vvc(例如,vvc草案9)中,ref_pic_list_struct()可以在sps中用信号发送,或包含在句法结构ref_pic_lists()中。当在sps中用信号发送的ref_pic_list_structure()不从ph或sh中选择时,可以直接在ref_pic_lists()中用信号发送另一个ref_pic_list_structure(),其在ph或sh中用信号发送。然而,vvc(例如,vvc草案9)提供以下内容:对于listidx的每个值(等于0或1),解码器应该为总数为sps_num_ref_pic_lists[i]加1的ref_pic_list_struct(listidx,rplsidx)句法结构分配存储器,因为可能有一个ref_pic_list_struct(listidx,rplsidx)句法结构直接在当前图像的条带头中用信号发送。鉴于上述情况,这是不准确的。
[0255]
为了克服传统编码技术的这一缺陷,在本公开的一些实施例(例如下文图14a和图14b所提供的的实施例)中,对于listidx的每个值(等于0或1),对于直接在当前图像的图像头或条带头中用信号发送一个ref_pic_list_struct(listidx,rplsidx)句法结构的情况下,解码器为总数为sps_num_ref_pic_lists[i]加1的ref_pic_list_struct(listidx,rplsidx)句法结构分配存储器。
[0256]
图14a示出了根据本公开一些实施例的用于解码器分配存储器的示例性视频处理方法1400a的流程图。方法1400a可以由编码器(例如,由图2a的过程200a或图2b的过程200b)、解码器(例如图3a的过程300a或图3b过程300b)执行,或由装置(例如,图4的装置400)的一个或多个软件或硬件组件来执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1400a。在一些实施例中,方法1400a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图14a,方法1400a可以包括以下步骤1402a至1406a。
[0257]
在步骤1402a,通过将序列参数集(sps)中的参考图像列表结构的数量与1相加来导出总数。由于存在后续用信号发送附加rpl的可能性(在图像头或条带头中),因此将sps中的参考图像列表结构的数量加一个附加值1来得到总数。
[0258]
在步骤1404a,响应于在当前图像的图像头或当前条带的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器。因此,在编码/解码前通过编码器/解码器为在当前图像的图像头或当前图像的条带头中用信号发送的附加rpl分配更多的存储器,将对视频处理产生帮助。
[0259]
在步骤1406a,利用所分配的存储器处理当前图像或当前条带。由于所分配的存储器对于附加rpl来说更可靠,因此编码/解码过程可以更准确和稳健。
[0260]
图14b示出了根据本公开一些实施例的示例性语义1400b的部分。语义1400b可以用于方法1400a,相比于先前vvc的变化以斜体示出(参见框1410b)。对于后续用信号发送附加rpl的可能性(在图像头或条带头中),为附加rpl分配更多的存储器。
[0261]
在vvc(例如vvc草案9)中,句法元素530a(例如,rpl_idx[i])指定用于导出当前图像的参考图像列表i的ref_pic_list_struct(listidx,rplsidx)句法结构(listidx等于i)在sps中包括的listidx等于i的ref_pic_list_struct(listidx,rplsidx)句法结构的列表中的索引。由于参考图像列表可以从图像或条带中导出,因此这一语义可能不准确。
[0262]
在vvc(例如,vvc草案9)中,当句法元素530a不存在时,存在推断句法元素530a的值的推断规则:如果句法元素510a(例如,rpl_sps_flag[i])等于1且句法元素520a(例如,pps_rpl1_idx_present_flag)等于0,则推断rpl_idx[1]的值等于rpl_idx[0],否则推断rpl_idx[1]的值等于0。该推断规则存在一些问题。第一,仅存在rpl_idx[1]的推断规则,没有rpl_idx[0]的推断规则。第二,当句法元素510a等于1并且句法元素520a等于0时,不能保证用信号发送rpl_idx[0]。因此,在这种情况下,推断rpl_idx[1]的值等于rpl_idx[0]可能会有问题。总之,vvc(如vvc草案9)的推断规则不能保证rpl_idx[0]和rpl_idx[1]在不存在时都在解码器端得到合适的值。
[0263]
为了克服传统编码技术的这一缺陷,在本公开的一些实施例(例如,下文图15a至图15c中提供的实施例)中,提供了更新的用于句法元素530a(例如,rpl_idx[i])的语义。
[0264]
图15a示出了根据本公开一些实施例的用于确定参考图像列表中的索引的示例性视频编码方法1500a的流程图。方法1500a可以由编码器执行(例如,图2a的过程200a或图2b的过程200b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1500a。在一些实施例中,方法1500a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读
介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图15a,方法1500a可以包括以下步骤1502a至1514a。
[0265]
在步骤1502a,在图像参数集(pps)中用信号发送第一标志(例如,pps_rpl1_idx_present_flag)以指示在引用pps的当前图像的图像头句法或条带头句法中是否存在第二标志(例如,rpl_sps_flag[1])和第一索引(例如,rpl_idx[1])。第一标志(例如,pps_rpl1_idx_present_flag)指示参考图像列表1是否是基于序列参数集(sequence parameter set,sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引(例如,rpl_idx[1])是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引。然后,可以用信号发送第二标志(rpl_sps_flag[1])。
[0266]
在步骤1504a,确定是否用信号发送第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0])。第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引。
[0267]
当未用信号发送第二索引(例如,rpl_idx[0])时,第二索引(例如rpl_idx[0])的值可以通过步骤1506a确定。
[0268]
在步骤1506a,当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引(例如,rpl_idx[0])的值等于0。参考图5a,当sps_num_ref_pic_lists[0]小于或等于1时,不用信号发送rpl_idx[0]。因此,通过步骤1506a,在未用信号发送rpl_idx[0]的情况下确定了rpl_idx[0]的值,增强了推断rpl_idx[0]的可靠性。
[0269]
当未用信号发送第一索引(例如,rpl_idx[1])时,可以通过步骤1508a和1510a确定第一索引(例如,rpl_idx[0])的值。
[0270]
在步骤1508a,当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引(例如,rpl_idx[1])的值等于0。参考图5a,当sps_num_ref_pic_lists[1]小于或等于1时,不用信号发送rpl_idx[1]。因此,通过步骤1508a,在未用信号发送rpl_idx[1]的情况下确定了rpl_idx[1]的值,增强了推断rpl_idx[1]的可靠性。
[0271]
在步骤1510a,当第一标志(例如,pps_rpl1_idx_present_flag)等于0且第二标志(例如,rpl_sps_flag[1])等于1时,确定第一索引(例如,rpl_idx[1])的值等于第二索引(例如,rpl_idx[0])的值。由于如果sps_num_ref_pic_lists[0]小于或等于1,则rpl_idx[0]的值被设置为0(步骤1508a),否则(例如,sps_num_ref_pic_list[0]》1)用信号发送rpl_idx[0](参考图5a),因此为所有场景确定了rpl_idx[0]的值。因此,在这种情况下,确定rpl_idx[1]的值被设置为等于rpl_idx[0]的值。因此,对于所有场景(例如,无论是否用信号发送rpl_idx[0]),都确定了rpl_idx[1]的值。如果未用信号发送rpl_idx[i],可以保证rpl_idx[i](rpl_idx[0]和rpl_idx[1])得到合适的值。
[0272]
在确定第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0])的值后,在步骤1512a,基于第一索引和第二所引确定参考图像列表。由于无论是否用信号发送第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0]),都保证了能够确定第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0])的值,因此参考图像列表的确定可以更可靠。
[0273]
在步骤1514a,基于参考图像列表编码当前图像。因此,提高了编码过程的稳健性。
[0274]
在一些实施例中,由于当sps中存在参考图像列表0的一个参考图像列表结构时,推断rpl_idx[0]等于0(参考步骤1508a),因此步骤1510a可以被替换为“响应于sps中存在参考图像列表i的一个参考图像列表结构,确定rpl_idx[i]等于0”。可以进一步提高编码过程的效率。
[0275]
图15b示出了根据本公开一些实施例的用于确定参考图像列表的索引的示例性视频解码方法1500b的流程图。方法1500b可以由解码器执行(例如,图3a的过程300a或图3b的过程300b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1500b。在一些实施例中,方法1500b可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图15b,方法1500b可以包括以下步骤1502b至1514b。
[0276]
在步骤1502b,解码器接收视频比特流(例如,图3b中的视频比特流228),该视频比特流可以用帧间预测来编码。可以例如通过参考图像0和参考图像列表1导出参考图像,参考图像0和参考图像列表1中的每个都包括dpb(例如,图3b中的缓冲器234)中待用作参考图像的重构图像的列表。
[0277]
在步骤1504b,确定第一标志(例如,pps_rpl1_idx_present_flag)的值,第一标志指示当前图像的图像头句法或条带头句法中是否存在第二标志(例如,rpl_sps_flag[1])和第一索引(例如,rpl_idx[1])。第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引。然后,可以确定第二标志(例如,rpl_sps_flag[1])的值。
[0278]
在步骤1506b,确定是否存在第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0])。第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引。
[0279]
当不存在第二索引(例如,rpl_idx[0])时,第二索引(例如rpl_idx[0])的值可以通过步骤1508b确定。
[0280]
在步骤1508b,当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引(例如,rpl_idx[0])的值等于0。参考图5a,当sps_num_ref_pic_lists[0]小于或等于1时,不用信号发送rpl_idx[0],因此rpl_idx[0]不存在。在这种情况下,设置rpl_idx[0]等于0。因此,通过步骤1508b,在rpl_idx[0]不存在的情况下确定了rpl_idx[0]的值,增强了推断rpl_idx[0]的可靠性。
[0281]
当不存在第一索引(例如,rpl_idx[1])时,第一索引(例如,rpl_idx[1])的值可以通过步骤1510b和1512b确定。
[0282]
在步骤1510b,当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引(例如,rpl_idx[1])的值等于0。参考图5a,当sps_num_ref_pic_lists[1]小于或等于1时,不用信号发送rpl_idx[1],因此rpl_idx[0]不存在。因此,通过步骤1510b,在未用信号发送rpl_idx[1]的情况下确定了rpl_idx[1]的值,增强了推断rpl_idx[1]的可靠性。
[0283]
在步骤1512b,当第一标志(例如,pps_rpl1_idx_present_flag)等于0且第二标志(例如,rpl_sps_flag[1])等于1时,确定第一索引(例如,rpl_idx[1])的值等于第二索引(rpl_idx[0])的值。由于如果sps_num_ref_pic_lists[0]小于或等于1,则rpl_idx[0]的值被设置为0(步骤1508a),否则(例如,sps_num_ref_pic_list[0]》1)用信号发送rpl_idx[0](参考图5a),因此为所有场景确定了rpl_idx[0]的值。因此,在这种情况下,确定rpl_idx[1]的值被设置为等于rpl_idx[0]的值。因此,对于所有场景(例如,无论是否存在rpl_idx[0]),都确定了rpl_idx[1]的值。如果不存在rpl_idx[i],可以保证rpl_idx[i](rpl_idx[0]和rpl_idx[1])得到合适的值。
[0284]
在1514b,基于第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0])解码当前图像。由于无论是否存在第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0]),都保证了能够确定第一索引(例如,rpl_idx[1])和第二索引(例如,rpl_idx[0])的值,因此参考图像列表的确定可以更可靠。
[0285]
在一些实施例中,由于当sps中存在参考图像列表0的一个参考图像列表结构时,推断rpl_idx[0]等于0(参考步骤1508b),因此步骤1514b可以被替换为“响应于sps中存在参考图像列表i的一个参考图像列表结构,推断rpl_idx[i]等于0”。可以进一步提高解码过程的效率。
[0286]
图15c示出了根据本公开一些实施例的示例性语义1500c的部分。语义1500c可被用于方法1500a和方法1500b。如图15c所示,相比于先前vvc的变化以斜体示出,提议删除的句法进一步以删除线示出(参见框1510c和1520c)。提供了两种可替代的推导描述。在一些实施例中,如框1510c所示,对于rpl_idx[i]不存在的情况,如果有至多一个参考图像列表i的参考图像列表结构(例如,sps_num_ref_pic_list[i]小于或等于1),则推断rpl_idx[i]的值等于0;否则(有多于一个参考图像i的参考图像列表结构,即sps_num_ref_pic_list[i]大于1),且i等于1,即sps_num_ref_pic_list[1]大于1,则推断rpl_idx[1]的值等于rpl_idx[0]。框1520c和1510c的区别在于“否则”和“i等于1”的表述详细解释为“sps_num_ref_pic_list[1]大于1”。在一些实施例中,条件“如果sps_num_ref_pic_list[i]小于或等于1”(参见框1511c和框1521c)可以替换为“如果sps_num_ref_pic_list[i]等于1”。
[0287]
在vvc(例如,vvc草案9)中,句法元素1010a(例如,sh_num_ref_idx_active_override_flag)等于1指定句法元素sh_num_ref_idx_active_minus1[0]在条带p和b的情况下存在,且句法元素sh_num_ref_idx_active_minus1[1]在条带b的情况下存在。句法元素1010a等于0指定句法元素sh_num_ref_idx_active_minus1[0]和sh_num_ref_idx_active_minus1[1]不存在。然而,如图10a所示,当句法元素1010a等于1时,针对用信号发送sh_num_ref_idx_active_minus1[i],进一步检查num_ref_entries[i][rplsidx[i]]的值。仅当句法元素1010a等于1且num_ref_entries[i][rplsidx[i]]大于1时,用信号发送句法元素sh_num_ref_idx_active_minus1[i]。因此,句法元素1010a等于1不一定代表用信号发送sh_num_ref_idx_active_minus1[i]。
[0288]
为了克服传统编码技术中的这一缺陷,在本公开的一些实施例(例如下文图16a至图16c所提供的实施例)中,提供了更新的句法元素1010a的语义,以提高编码/解码过程的效率。
[0289]
图16a示出了根据本公开一些实施例的用于在条带头中指示存在的激活参考索引
数的示例性视频编码方法1600a的流程图。方法1600a可以由编码器执行(例如,图2a的过程200a或图2b的过程200b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1600a。在一些实施例中,方法1600a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图16a,方法1600a可以包括以下步骤1602a至1608a。
[0290]
在步骤1602,在条带头中用信号发送第一标志,以指示条带头中是否存在激活参考索引数。例如,用信号发送句法元素sh_num_ref_idx_active_override_flag以指示条带头中是否存在参考图像列表i的激活参考索引数(例如,sh_num_ref_idx_active_minus1[i])(i等于0或1)。该激活参考索引数用于导出可能用于编码当前条带的相应参考图像列表的最大参考索引。用于编码当前条带的参考索引的数量可以小于或等于从激活参考索引数中导出的最大数量。
[0291]
在步骤1604a,确定是否存在激活参考索引数。当第一标志指示存在激活参考索引数时,句法元素sh_num_ref_idx_active_minus1[0]在p和b条带的情况下存在,句法元素sh_num_ref_idx_active_minus1[1]在b条带的情况下存在。然后,执行步骤1606a和步骤1608a。
[0292]
在步骤1606a,首先确定参考图像列表0中条目的数量,如果参考图像列表0中条目的数量(例如,num_ref_entries[0][rplsidx[0]])被确定为大于1,则在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数(例如,sh_num_ref_idx_active_minus1[0])。
[0293]
在步骤1608a,首先确定参考图像列表1中条目的数量,如果参考图像列表1中条目的数量(例如,num_ref_entries[1][rplsidx[1]])被确定为大于1,则在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数(例如,sh_num_ref_idx_active_minus1[1])。
[0294]
通过步骤1606a和步骤1608a,当参考图像列表i中条目的数量(例如,num_ref_entries[i][rplsidx[i]])大于1时,在条带级别用信号发送参考图像列表i的激活参考索引数(例如,sh_num_ref_idx_active_minus1[i])。
[0295]
因此,消除了当sh_num_ref_idx_active_override_flag等于1时用信号发送sh_num_ref_idx_active_minus1[i]的不确定性,可以提高编码过程的准确性和稳健性。
[0296]
在一些实施例中,方法1600a还可以包括步骤1610a和1612a。当第一标志指示不存在激活参考索引数时,则不存在句法元素sh_num_ref_idx_active_minus1[i]。然后,执行步骤1610a和步骤1612a。
[0297]
在步骤1610a,跳过在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数(例如,sh_num_ref_idx_active_minus1[0])。也就是说,在p和b条带的情况下不在条带头中用信号发送sh_num_ref_idx_active_minus1[0]。
[0298]
在步骤1612a,跳过在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。也就是说,在b条带的情况下不在条带头中用信号发送sh_num_ref_idx_active_minus1[1]。
[0299]
因此,当不存在激活参考索引数时,通过跳过用信号发送激活参考数,使得编码过
程更有效率。
[0300]
图16b示出了根据本公开一些实施例的用于在条带头中指示激活参考索引数的示例性视频解码方法1600b的流程图。方法1600b可以由解码器执行(例如,图3a的过程300a或图3b的过程300b),或由装置(例如,图4的装置400)的一个或多个软件或硬件组件执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1600b。在一些实施例中,方法1600b可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。如图16a所示,方法1600b可以包括以下步骤1602b至1608b。
[0301]
在步骤1602b,解码器接收视频比特流(例如,图3b的视频比特流228),该视频比特流包括条带头和图像头句法,且该视频比特流可以利用帧间预测来编码。可以例如通过参考图像0和参考图像列表1导出参考图像,参考图像0和参考图像列表1中的每个都包括dpb(例如,图3b中的缓冲器234)中待用作参考图像的重构图像的列表。
[0302]
在步骤1604b,确定在条带头中用信号发送的第一标志的值,第一标志指示是否存在激活参考索引数。在一些实施例中,第一标志为句法元素h_num_ref_idx_active_override_flag,其可以指示是否存在参考图像列表i的激活参考索引(例如,sh_num_ref_idx_active_minus1[i])(i等于0或1)。该激活参考索引数用于导出可能用于解码当前条带的相应参考图像列表的最大参考索引。用于解码当前条带的参考索引的数量可以小于或等于从激活参考索引数中导出的最大数量。
[0303]
当确定第一标志的值为指示存在激活参考索引数的值时,句法元素sh_num_ref_idx_active_minus1[0]在p和b条带的情况下存在,句法元素sh_num_ref_idx_active_minus1[1]在b条带的情况下存在。然后,执行步骤1606b和步骤1608b。
[0304]
在步骤1606b,确定参考图像列表0中条目的数量(例如,num_ref_entries[0][rplsidx[0]]),如果参考图像列表0中条目的数量被确定为大于1,则在p和b条带的情况下,解码条带头中的参考图像列表0的激活参考索引数(例如,sh_num_ref_idx_active_minus1[0])。
[0305]
在步骤1608b,确定参考图像列表1中条目的数量(例如,num_ref_entries[1][rplsidx[1]]),如果参考图像列表1中条目的数量被确定为大于1,则在b条带的情况下,解码条带头中的参考图像列表1的激活参考索引数(例如,sh_num_ref_idx_active_minus1[1])。
[0306]
通过步骤1606b和步骤1608b,当参考图像列表i中条目的数量(例如,num_ref_entries[i][rplsidx[i]])大于1时,用信号发送参考图像列表i的激活参考索引数(例如,sh_num_ref_idx_active_minus1[i])。因此,消除了当sh_num_ref_idx_active_override_flag等于1时用信号发送sh_num_ref_idx_active_minus1[i]的不确定性。
[0307]
在一些实施例中,方法1600b还可以包括步骤1610b和1612b。当第一标志的值被确定为指示不存在激活参考索引数的值时,不用信号发送句法元素sh_num_ref_idx_active_minus1[i]。然后,执行步骤1610b和步骤1612b。
[0308]
在步骤1610b,跳过在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数(例如,sh_num_ref_idx_active_minus1[0])。也就是说,在b条带的情况下条带头中不存在sh_num_ref_idx_active_minus1[0]。
[0309]
在步骤1612b,跳过在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数(例如,sh_num_ref_idx_active_minus1[1])。也就是说,在b条带的情况下不存在sh_num_ref_idx_active_minus1[1]。因此,可以提高解码过程的效率。
[0310]
图16c示出了根据本公开一些实施例的示例性语义1600c的部分。语义1600b可被用于方法1600a和方法1600b。如图16c所示,相比于先前vvc的变化以斜体示出,提议删除的句法进一步以删除线示出(参见框1610c和1620c)。提供了两种可替代的描述。如框1610c所示,sh_num_ref_idx_active_override_flag等于1不一定指定在p和b条带的情况下存在句法元素sh_num_ref_idx_active_minus1[0],或者在b条带的情况下存在句法元素sh_num_ref_idx_active_minus1[1]。如框1620c所示,针对sh_num_ref_idx_active_override_flag等于1,对于p和b条带的情况下存在句法元素sh_num_ref_idx_active_minus1[0],添加“当num_ref_entries[0][rplsidx[0]大于1时”的条件,并且对于b条带的情况下存在句法元素sh_num_ref_idx_active_minus1[1],添加“当num_ref_entries[1][rplsidx]大于1时”的条件。因此,可以提高解码过程的准确性和稳健性。
[0311]
在vvc(例如,vvc草案9)中,存在比特流一致性约束,即由句法元素1050a(例如,sh_collocated_ref_idx)引用的图像对于编码图像的所有条带来说是相同的,且rprconstraintsactive[sh_collocated_from_l0_flag?0:1][sh_collocated_ref_idx]等于0。为了识别由句法元素1050a所引用的图像,需要首先决定句法元素1040a(例如,sh_collocated_from_l0_flag)和句法元素1050a(例如,sh_collocated_ref_idx)的值。然而,如图10a所示,仅对于b条带用信号发送句法元素1040a,且仅对于p和b条带用信号发送句法元素1050a。对于i条带,不用信号发送句法元素1040a和句法元素1050a。且对于i条带,不存在这两个句法元素的推断值。因此,对于i条带,未定义句法元素1050a的值。因此,编码器/解码器不能够识别由句法元素1050a引用的图像,且不能够执行一致性约束检查。
[0312]
为了克服传统编码技术的这一缺陷,在本公开的一些实施例(例如下文图17a和图17b提供的实施例)中,提供了更新的语义,以提高视频处理的准确性和稳健性。
[0313]
例如,图17a示出了用于图像处理的示例性视频处理方法1700a的流程图。方法1700a可以由编码器(例如,由图2a的过程200a或图2b的过程200b)、解码器(例如图3a的过程300a或图3b过程300b)执行,或由装置(例如,图4的装置400)的一个或多个软件或硬件组件来执行。例如,一个或多个处理器(例如,图4的处理器402)可以执行方法1700a。在一些实施例中,方法1700a可以由计算机程序产品实施,该计算机程序产品体现在计算机可读介质中,该计算机可读介质包括由计算机(例如,图4的装置400)执行的计算机可执行指令,例如程序代码。参考图24a,方法1700a可以包括步骤1702a和1704a。
[0314]
在步骤1702a,确定由并置图像的参考索引(例如,sh_collocated_ref_idx)在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像。因此,避免了sh_collocated_ref_idx和sh_collocated_from_l0_flag值的不确定性。
[0315]
在步骤1704a,基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。因此,可以提高视频处理的稳健性。
[0316]
也就是说,对于编码图像的所有非i条带,由并置图像的参考索引所引用的用于时间运动矢量预测的图像被确定为相同的。在一些实施例中,对于当前图像的所有p条带和b条带,由并置图像的参考索引所引用的用于时间运动矢量预测的图像被确定为相同的。
[0317]
图17b示出了根据本公开一些实施例的示例性语义1700b的部分。该语义1700b可被用于方法1700a。如图17b所示,相比于先前vvc的变化以斜体示出,提议删除的句法进一步以删除线示出(参见框1710b和1720b)。提供了两种可替代的描述。如框1710b所示,进一步将比特流一致性的要求细化为“所有非i条带”,而不是“所有条带”。因此,提高了解码过程的效率和稳健性。框1720b和1710b的区别在于,“非i条带”的表述替换为了“p条带和b条带”以使其更准确。
[0318]
在一些实施例中,也提供了包括指令的非暂时性计算机可读存储介质,并且该指令可以由设备(例如所公开的编码器和解码器)执行,以执行上述方法。非暂时性介质的常见形式包括,例如软盘、可折叠磁盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、cd-rom、任何其他光学数据存储介质、任何具有孔图案的物理介质、ram、prom和eprom、flash-eprom或任何其他闪存、nvram、高速缓存、寄存器、任何其他存储芯片或盒及其网络版本。该设备可以包括一个或多个处理器(cpu)、输入/输出接口、网络接口和/或存储器。
[0319]
应当注意,本文中的关系术语,诸如“第一”和“第二”等,仅用于区分一个实体或操作与另一实体或操作,并不要求或暗示这些实体或操作之间的任何实际关系或顺序。此外,词语“包括”、“具有”、“包含”和“包括”以及其他类似形式旨在具有相同的含义并且是开放式的,因为在这些词语中任何一个之后的一个或多个项目并不意味着是这一个或多个项目的详尽列表,或仅限于所列的一个或多个项目。
[0320]
如本文所用,除非另有特别说明,否则术语“或”包括所有可能的组合,除非不可行。例如,如果声明数据库可能包括a或b,则除非另有明确说明或不可行,否则数据库可能包括a、或b,或a和b。作为第二个示例,如果声明数据库可能包括a、b或c,则除非另有明确说明或不可行,否则数据库可能包括a,或b,或c,或a和b,或a和c,或b和c,或a和b和c。
[0321]
可以理解,上述实施例可以通过硬件或软件(程序代码)或硬件和软件的组合来实现。如果通过软件实现,则可以将其存储在上述计算机可读介质中。该软件当由处理器执行时,可以执行所公开的方法。本公开中描述的计算单元和其他功能单元可以通过硬件、软件或硬件和软件的组合来实现。本领域的普通技术人员还将理解,上述模块/单元中的多个可以组合为一个模块/单元,并且上述每个模块/单元可以进一步划分为多个子模块/子单元。
[0322]
实施例可以利用以下条款进行进一步描述:
[0323]
1.一种用于编码视频的计算机实现方法,包括:
[0324]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测;以及
[0325]
响应于参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0,用信号发送第一标志和第二标志,其中第一标志指示并置图像是从参考图像列表0或参考图像列表1导出的,第二标志指示是否用信号发送运动矢量差分句法结构。
[0326]
2.一种用于解码视频的计算机实现方法,包括:
[0327]
接收视频比特流;
[0328]
响应于参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0,解码第一标志和第二标志,其中第一标志指示用于时间运动矢量预测的并置图像是从参考图像列表0或参考图像列表1导出的,第二标志指示运动矢量差分句法结构是否存在于当前图像的比特流中;以及
[0329]
基于并置图像解码当前图像。
[0330]
3.一种用于编码视频的计算机实现方法,包括:
[0331]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测;以及
[0332]
在不用信号发送参考图像列表中的索引的情况下,指示比特流中的并置图像。
[0333]
4.根据条款3所述的方法,其中在不用信号发送参考图像列表中的索引的情况下,指示比特流中的并置图像还包括:
[0334]
用信号发送第一标志以指示并置图像是否是层间参考图像;以及
[0335]
响应于并置图像是层间参考图像,用信号发送第一参数以指示并置图像,其中第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。
[0336]
5.根据条款4所述的方法,其中在不用信号发送参考图像列表中的索引的情况下,指示比特流中的并置图像还包括:
[0337]
用信号发送第二标志以指示并置图像是短期参考图像还是长期参考图像;以及
[0338]
响应于并置图像是短期参考图像,用信号发送第二参数以指示并置图像,其中第二参数指示并置图像的图像顺序计数和当前图像的图像顺序计数之间的差。
[0339]
6.根据条款5所述的方法,还包括:
[0340]
响应于并置图像是长期参考图像,用信号发送第三参数和第四参数以指示并置图像,其中第三参数指示并置图像的图像顺序计数(poc)的最低有效位(lsb),第四参数指示并置图像的图像顺序计数(poc)的增量最高有效位(msb)。
[0341]
7.根据条款6所述的方法,其中第一标志、第二标志、第一参数、第二参数、第三参数和第四参数是在图像头中用信号发送的,且图像中的所有条带具有相同的并置图像。
[0342]
8.根据条款3所述的方法,其中参考图像列表是参考图像列表0或参考图像列表1。
[0343]
9.一种用于解码视频的计算机实现方法,包括:
[0344]
接收视频比特流;
[0345]
在不解码参考图像列表中的索引的情况下,确定用于时间运动矢量预测的并置图像;以及
[0346]
基于并置图像解码当前图像。
[0347]
10.根据条款9所述的方法,其中在不解码参考图像列表中的索引的情况下,确定用于时间运动矢量预测的并置图像还包括:
[0348]
解码指示并置图像是否是层间参考图像的第一标志;
[0349]
基于第一标志确定并置图像是否是层间参考图像;以及
[0350]
响应于并置图像是层间参考图像,解码第一参数,并基于第一参数确定并置图像,其中第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。
[0351]
11.根据条款10所述的方法,其中在不解码参考图像列表结构中的索引的情况下,确定用于时间运动矢量预测的并置图像还包括:
[0352]
解码指示并置图像是短期参考图像还是长期参考图像的第二标志;
[0353]
基于第二标志确定并置图像是短期参考图像还是长期参考图像;以及
[0354]
响应于并置图像是短期参考图像,解码第二参数,并基于第二参数确定并置图像,其中第二参数指示并置图像的图像顺序计数和当前图像的图像顺序计数之间的差。
[0355]
12.根据条款11所述的方法,还包括:
[0356]
响应于并置图像是长期参考图像,解码第三参数和第四参数,并基于第三参数和
第四参数确定并置图像,其中第三参数指示并置图像的图像顺序计数(poc)的最低有效位(lsb),第四参数指示并置图像的图像顺序计数(poc)的增量最高有效位(msb)。
[0357]
13.根据条款12所述的方法,其中第一标志、第二标志、第一参数、第二参数、第三参数和第四参数存在于图像头中,且图像中的所有条带具有相同的并置图像。
[0358]
14.根据条款9所述的方法,其中参考图像列表是参考图像列表0或参考图像列表1。
[0359]
15.一种用于编码视频的计算机实现方法,包括:
[0360]
确定是否在条带头中用信号发送参数以指示并置图像的参考索引;
[0361]
响应于未在条带头中用信号发送该参数,确定并置图像为由索引所引用的图像,该索引的值等于在图像头中用信号发送的并置图像的参考索引的值和目标参考图像列表中激活条目的数量减1之间的较小值;以及
[0362]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测。
[0363]
16.根据条款15所述的方法,其中目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。
[0364]
17.一种用于解码视频的计算机实现方法,包括:
[0365]
接收视频比特流;
[0366]
确定条带头中是否存在指示用于时间运动矢量预测的并置图像的参考索引的参数;
[0367]
响应于该参数不存在,将该参数的值确定为等于图像头中存在的用于时间运动矢量预测的并置图像的参考索引的值和目标参考图像列表中激活条目的数量减1之间的较小值;
[0368]
确定并置图像为其值与目标参考图像列表中的参数值相等的索引所引用的图像;以及
[0369]
基于并置图像解码当前图像。
[0370]
18.根据条款17所述的方法,其中目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。
[0371]
19.一种用于视频处理的计算机实现方法,包括:
[0372]
通过将序列参数集(sps)中的参考图像列表结构的数量与1相加来导出总数;
[0373]
响应于在当前图像的图像头或当前条带的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器;以及
[0374]
用分配的存储器处理当前图像或当前条带。
[0375]
20.一种用于编码视频的计算机实现方法,包括:
[0376]
在图像参数集(pps)中用信号发送第一标志,以指示第二标志和第一索引是否存在于引用pps的当前图像的图像头句法或条带头中;其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;
[0377]
确定是否用信号发送第一索引和第二索引,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关
联的参考图像列表结构的列表中的索引;
[0378]
响应于不用信号发送第二索引,确定第二索引的值包括:
[0379]
当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;
[0380]
响应于不用信号发送第一索引,确定第一索引的值包括:
[0381]
当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及
[0382]
当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;
[0383]
基于第一索引和第二索引导出参考图像列表;以及
[0384]
基于参考图像列表编码当前图像。
[0385]
21.一种用于解码视频的计算机实现方法,包括:
[0386]
接收视频比特流;
[0387]
确定第一标志的值,第一标志指示第二标志和第一索引是否存在于当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;
[0388]
确定第一索引和第二索引是否存在,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;
[0389]
响应于第二索引不存在,确定第二索引的值包括:
[0390]
当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;
[0391]
响应于第一索引不存在,确定第一索引的值包括:
[0392]
当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及
[0393]
当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;以及
[0394]
基于第一索引和第二索引解码当前图像。
[0395]
22.一种用于编码视频的计算机实现方法,包括:
[0396]
在条带头中用信号发送第一标志以指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出能够用于对当前条带进行编码的相应参考图像列表的最大参考索引;
[0397]
响应于第一标志指示条带头中存在激活参考索引数,
[0398]
确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数;以及
[0399]
确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。
[0400]
23.根据条款22所述的方法,还包括:
[0401]
响应于第一标志指示条带头中不存在激活参考索引数,
[0402]
跳过在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数;以及
[0403]
跳过在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。
[0404]
24.一种用于解码视频的计算机实现方法,包括:
[0405]
接收包括条带头和图像头句法的视频比特流;
[0406]
确定在条带头中用信号发送的第一标志的值,第一标志指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出能够用于对当前条带进行解码的相应参考图像列表的最大参考索引;
[0407]
响应于第一标志指示存在激活参考索引数,
[0408]
确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数;以及
[0409]
确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数。
[0410]
25.根据条款24所述的方法,还包括:
[0411]
响应于第一标志指示不存在激活参考索引数,
[0412]
跳过在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数;以及
[0413]
跳过在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数。
[0414]
26.一种用于视频处理的计算机实现方法,包括:
[0415]
确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像;以及
[0416]
基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
[0417]
27.一种用于视频处理的计算机实现方法,包括:
[0418]
确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有p条带和b条带,并置图像被确定为相同图像;以及
[0419]
基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
[0420]
28.一种用于进行视频数据处理的装置,该装置包括:
[0421]
存储器,用于存储指令;以及
[0422]
一个或多个处理器,用于执行指令以使得该装置执行:
[0423]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测;以及
[0424]
响应于参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0,用信号发送第一标志和第二标志,其中第一标志指示并置图像是从参考图像列表0或参考图像列表1导出的,第二标志指示是否用信号发送运动矢量差分句法结构。
[0425]
29.一种用于进行视频数据处理的装置,该装置包括:
[0426]
存储器,用于存储指令;以及
[0427]
一个或多个处理器,用于执行指令以使得该装置执行:
[0428]
接收视频比特流;
[0429]
响应于参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0,解
码第一标志和第二标志,其中第一标志指示用于时间运动矢量预测的并置图像是从参考图像列表0或参考图像列表1导出的,第二标志指示运动矢量差分句法结构是否存在于当前图像的比特流中;以及
[0430]
基于并置图像解码当前图像。
[0431]
30.一种用于进行视频数据处理的装置,该装置包括:
[0432]
存储器,用于存储指令;以及
[0433]
一个或多个处理器,用于执行指令以使得该装置执行:
[0434]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测;以及
[0435]
在不用信号发送参考图像列表的索引的情况下,指示比特流中的并置图像。
[0436]
31.根据条款30所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0437]
用信号发送第一标志以指示并置图像是否是层间参考图像;以及
[0438]
响应于并置图像是层间参考图像,用信号发送第一参数以指示并置图像,其中第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。
[0439]
32.根据条款31所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0440]
用信号发送第二标志以指示并置图像是短期参考图像还是长期参考图像;以及
[0441]
响应于并置图像是短期参考图像,用信号发送第二参数以指示并置图像,其中第二参数指示并置图像的图像顺序计数和当前图像的图像顺序计数之间的差。
[0442]
33.根据条款32所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0443]
响应于并置图像是长期参考图像,用信号发送第三参数和第四参数以指示并置图像,其中第三参数指示并置图像的图像顺序计数(poc)的最低有效位(lsb),第四参数指示并置图像的图像顺序计数(poc)的增量最高有效位(msb)。
[0444]
34.根据条款33所述的装置,其中第一标志、第二标志、第一参数、第二参数、第三参数和第四参数是在图像头中用信号发送的,且图像中的所有条带具有相同的并置图像。
[0445]
35.根据条款30所述的装置,其中参考图像列表是参考图像列表0或参考图像列表1。
[0446]
36.一种用于进行视频数据处理的装置,该装置包括:
[0447]
存储器,用于存储指令;以及
[0448]
一个或多个处理器,用于执行指令以使得该装置执行:
[0449]
接收视频比特流;
[0450]
在不解码参考图像列表中的索引的情况下,确定用于时间运动矢量预测的并置图像;以及
[0451]
基于并置图像解码当前图像。
[0452]
37.根据条款36所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0453]
解码指示并置图像是否是层间参考图像的第一标志;
[0454]
基于第一标志确定并置图像是否是层间参考图像;以及
[0455]
响应于并置图像是层间参考图像,解码第一参数,并基于第一参数确定并置图像,其中第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。
[0456]
38.根据条款37所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0457]
解码指示并置图像是短期参考图像还是长期参考图像的第二标志;
[0458]
基于第二标志确定并置图像是短期参考图像还是长期参考图像;以及
[0459]
响应于并置图像是短期参考图像,解码第二参数,并基于第二参数确定并置图像,其中第二参数指示并置图像的图像顺序计数和当前图像的图像顺序计数之间的差。
[0460]
39.根据条款38所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0461]
响应于并置图像是长期参考图像,解码第三参数和第四参数,并基于第三参数和第四参数确定并置图像,其中第三参数指示并置图像的图像顺序计数(poc)的最低有效位(lsb),第四参数指示并置图像的图像顺序计数(poc)的增量最高有效位(msb)。
[0462]
40.根据条款39所述的装置,其中第一标志、第二标志、第一参数、第二参数、第三参数和第四参数存在于在图像头中,且图像中的所有条带具有相同的并置图像。
[0463]
41.根据条款36所述的装置,其中参考图像列表是参考图像列表0或参考图像列表1。
[0464]
42.一种用于进行视频数据处理的装置,该装置包括:
[0465]
存储器,用于存储指令;以及
[0466]
一个或多个处理器,用于执行指令以使得该装置执行:
[0467]
确定是否在条带头中用信号发送参数以指示并置图像的参考索引;
[0468]
响应于未在条带头中用信号发送该参数,确定并置图像为由索引所引用的图像,该索引的值等于在图像头中用信号发送的并置图像的参考索引的值和目标参考图像列表中激活条目的数量减1之间的较小值;以及
[0469]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测。
[0470]
43.根据条款42所述的装置,其中目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。
[0471]
44.一种用于进行视频数据处理的装置,该装置包括:
[0472]
存储器,用于存储指令;以及
[0473]
一个或多个处理器,用于执行指令以使得该装置执行:
[0474]
接收视频比特流;
[0475]
确定条带头中是否存在指示用于时间运动矢量预测的并置图像的参考索引的参数;以及
[0476]
响应于该参数不存在,将该参数的值确定为等于图像头中存在的用于时间运动矢量预测的并置图像的参考索引的值和目标参考图像列表中激活条目的数量减1之间的较小值;
[0477]
确定并置图像为其值与目标参考图像列表中的参数值相等的索引所引用的图像;以及
[0478]
基于并置图像解码当前图像。
[0479]
45.根据条款44所述的装置,其中目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。
[0480]
46.一种用于进行视频数据处理的装置,该装置包括:
[0481]
存储器,用于存储指令;以及
[0482]
一个或多个处理器,用于执行指令以使得该装置执行:
[0483]
通过将序列参数集(sps)中的参考图像列表结构的数量与1相加来导出总数;
[0484]
响应于在当前图像的图像头或当前的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器;以及
[0485]
用分配的存储器处理当前图像或当前条带。
[0486]
47.一种用于进行视频数据处理的装置,该装置包括:
[0487]
存储器,用于存储指令;以及
[0488]
一个或多个处理器,用于执行指令以使得该装置执行:
[0489]
在图像参数集(pps)中用信号发送第一标志,以指示第二标志和第一索引是否存在于引用pps的当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;
[0490]
确定是否用信号发送第一索引和第二索引,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;
[0491]
响应于不用信号发送第二索引,确定第二索引的值包括:
[0492]
当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;
[0493]
响应于不用信号发送第一索引,确定第一索引的值包括:
[0494]
当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及
[0495]
当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;基于第一索引和第二索引导出参考图像列表;以及
[0496]
基于参考图像列表编码当前图像。
[0497]
48.一种用于进行视频数据处理的装置,该装置包括:
[0498]
存储器,用于存储指令;以及
[0499]
一个或多个处理器,用于执行指令以使得该装置执行:
[0500]
接收视频比特流;
[0501]
确定第一标志的值,第一标志指示第二标志和第一索引是否存在于当前图像的图像头句法或条带头中;其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;
[0502]
确定第一索引和第二索引是否存在,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;
[0503]
响应于第二索引不存在,确定第二索引的值包括:
[0504]
当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;
[0505]
响应于第一索引不存在,确定第一索引的值包括:
[0506]
当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及
[0507]
当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;
[0508]
以及
[0509]
基于第一索引和第二索引解码当前图像。
[0510]
49.一种用于进行视频数据处理的装置,该装置包括:
[0511]
存储器,用于存储指令;以及
[0512]
一个或多个处理器,用于执行指令以使得该装置执行:
[0513]
在条带头中用信号发送第一标志以指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出能够用于对当前条带进行编码的相应参考图像列表的最大参考索引;
[0514]
响应于第一标志指示条带头中存在激活参考索引数,
[0515]
确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数;以及
[0516]
确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。
[0517]
50.根据条款49所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0518]
响应于第一标志指示条带头中不存在激活参考索引数,
[0519]
跳过在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数;以及
[0520]
跳过在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。
[0521]
51.一种用于进行视频数据处理的装置,该装置包括:
[0522]
存储器,用于存储指令;以及
[0523]
一个或多个处理器,用于执行指令以使得该装置执行:
[0524]
接收包括条带头和图像头句法的视频比特流;
[0525]
确定在条带头中用信号发送的第一标志的值,第一标志指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出能够用于对当前条带进行解码的相应参考图像列表的最大参考索引;
[0526]
响应于第一标志指示存在激活参考索引数,
[0527]
确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数;
[0528]
以及
[0529]
确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数。
[0530]
52.根据条款50所述的装置,其中处理器还用于执行指令以使得该装置执行:
[0531]
响应于第一标志指示不存在激活参考索引数,
[0532]
跳过在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数;以及
[0533]
跳过在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数。
[0534]
53.一种用于进行视频数据处理的装置,该装置包括:
[0535]
存储器,用于存储指令;以及
[0536]
一个或多个处理器,用于执行指令以使得该装置执行:
[0537]
确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像;以及
[0538]
基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
[0539]
54.一种用于进行视频数据处理的装置,该装置包括:
[0540]
存储器,用于存储指令;以及
[0541]
一个或多个处理器,用于执行指令以使得该装置执行:
[0542]
确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有p条带和b条带,并置图像被确定为相同图像;以及
[0543]
基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
[0544]
55.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0545]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测;以及
[0546]
响应于参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0,用信号发送第一标志和第二标志,其中第一标志指示并置图像是从参考图像列表0或参考图像列表1导出的,第二标志指示是否用信号发送运动矢量差分句法结构。
[0547]
56.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0548]
接收视频比特流;
[0549]
响应于参考图像列表0中条目的数量和参考图像列表1中条目的数量均大于0,解码第一标志和第二标志,其中第一标志指示用于时间运动矢量预测的并置图像是从参考图像列表0或参考图像列表1导出的,第二标志指示运动矢量差分句法结构是否存在于当前图像的比特流中;以及
[0550]
基于并置图像解码当前图像。
[0551]
57.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0552]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测;以及
[0553]
在不用信号发送参考图像列表中的索引的情况下,指示比特流中的并置图像。
[0554]
58.根据条款57所述的非瞬时计算机可读介质,其中该方法还包括:
[0555]
用信号发送第一标志以指示并置图像是否是层间参考图像;以及
[0556]
响应于并置图像是层间参考图像,用信号发送第一参数以指示并置图像,其中第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。
[0557]
59.根据条款58所述的非瞬时计算机可读介质,其中该方法还包括:
[0558]
用信号发送第二标志以指示并置图像是短期参考图像还是长期参考图像;以及
[0559]
响应于并置图像是短期参考图像,用信号发送第二参数以指示并置图像,其中第二参数指示并置图像的图像顺序计数和当前图像的图像顺序计数之间的差。
[0560]
60.根据条款59所述的非瞬时计算机可读介质,其中该方法还包括:
[0561]
响应于并置图像是长期参考图像,用信号发送第三参数和第四参数以指示并置图像,其中第三参数指示并置图像的图像顺序计数(poc)的最低有效位(lsb),第四参数指示并置图像的图像顺序计数(poc)的增量最高有效位(msb)。
[0562]
61.根据条款60所述的非瞬时计算机可读介质,其中第一标志、第二标志、第一参数、第二参数、第三参数和第四参数是在图像头中用信号发送的,且图像中的所有条带具有相同的并置图像。
[0563]
62.根据条款57所述的非瞬时计算机可读介质,其中参考图像列表是参考图像列表0或参考图像列表1。
[0564]
63.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0565]
接收视频比特流;
[0566]
在不解码参考图像列表中的索引的情况下,确定用于时间运动矢量预测的并置图像;以及
[0567]
基于并置图像解码当前图像。
[0568]
64.根据条款63所述的非瞬时计算机可读介质,其中该方法还包括:
[0569]
解码指示并置图像是否是层间参考图像的第一标志;
[0570]
基于第一标志确定并置图像是否是层间参考图像;以及
[0571]
响应于并置图像是层间参考图像,解码第一参数,并基于第一参数确定并置图像,其中第一参数指示并置图像在当前图像所处的层的直接参考层的列表中的索引。
[0572]
65.根据条款64所述的非瞬时计算机可读介质,其中该方法还包括:
[0573]
解码指示并置图像是短期参考图像还是长期参考图像的第二标志;
[0574]
基于第二标志确定并置图像是短期参考图像还是长期参考图像;以及
[0575]
响应于并置图像是短期参考图像,解码第二参数,并基于第二参数确定并置图像,其中第二参数指示并置图像的图像顺序计数和当前图像的图像顺序计数之间的差。
[0576]
66.根据条款65所述的非瞬时计算机可读介质,其中该方法还包括:
[0577]
响应于并置图像是长期参考图像,解码第三参数和第四参数,并基于第三参数和第四参数确定并置图像,其中第三参数指示并置图像的图像顺序计数(poc)的最低有效位(lsb),第四参数指示并置图像的图像顺序计数(poc)的增量最高有效位(msb)。
[0578]
67.根据条款66所述的非瞬时计算机可读介质,其中第一标志、第二标志、第一参数、第二参数、第三参数和第四参数存在于图像头中,且图像中的所有条带具有相同的并置图像。
[0579]
68.根据条款63所述的非瞬时计算机可读介质,其中参考图像列表是参考图像列表0或参考图像列表1。
[0580]
69.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0581]
确定是否在条带头中用信号发送参数以指示并置图像的参考索引;
[0582]
响应于未在条带头中用信号发送该参数,确定并置图像为由索引所引用的图像,该索引的值等于在图像头中用信号发送的并置图像的参考索引的值和目标参考图像列表中激活条目的数量减1之间的较小值;以及
[0583]
基于并置图像编码当前图像,其中并置图像用于时间运动矢量预测。
[0584]
70.根据条款69所述的非瞬时计算机可读介质,其中目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。
[0585]
71.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0586]
接收视频比特流;
[0587]
确定条带头中是否存在指示用于时间运动矢量预测的并置图像的参考索引的参数;
[0588]
响应于该参数不存在,将该参数的值确定为等于图像头中存在的用于时间运动矢量预测的并置图像的参考索引的值和目标参考图像列表中激活条目的数量减1之间的较小值;
[0589]
确定并置图像为其值与目标参考图像列表中的参数值相等的索引所引用的图像;以及
[0590]
基于并置图像解码当前图像。
[0591]
72.根据条款71所述的非瞬时计算机可读介质,其中目标参考图像列表由标志来指示,该标志指示用于时间运动矢量预测的并置图像从哪个参考图像列表导出。
[0592]
73.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0593]
通过将序列参数集(sps)中的参考图像列表结构的数量与1相加来导出总数;
[0594]
响应于在当前图像的图像头或当前条带的条带头中用信号发送参考图像列表结构,为数量为该总数的参考图像列表结构分配存储器;以及
[0595]
用分配的存储器处理当前图像或当前条带。
[0596]
74.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0597]
在图像参数集(pps)中用信号发送第一标志,以指示第二标志和第一索引是否存在于引用pps的当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;
[0598]
确定是否用信号发送第一索引和第二索引,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;
[0599]
响应于不用信号发送第二索引,确定第二索引的值包括:
[0600]
当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;
[0601]
响应于不用信号发送第一索引,确定第一索引的值包括:
[0602]
当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及
[0603]
当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;
[0604]
基于第一索引和第二索引导出参考图像列表;以及
[0605]
基于参考图像列表编码当前图像。
[0606]
75.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0607]
接收视频比特流;
[0608]
确定第一标志的值,第一标志指示第二标志和第一索引是否存在于当前图像的图像头句法或条带头中,其中第二标志指示参考图像列表1是否是基于序列参数集(sps)中用信号发送的与参考图像列表1相关联的参考图像列表结构之一导出的,且第一索引是用于导出参考图像列表1的、与参考图像列表1相关联的参考图像列表结构在sps中包括的与参考图像列表1相关联的参考图像列表结构的列表中的索引;
[0609]
确定第一索引和第二索引是否存在,其中第二索引是用于导出参考图像列表0的、与参考图像列表0相关联的参考图像列表结构在sps中包括的与参考图像列表0相关联的参考图像列表结构的列表中的索引;
[0610]
响应于第二索引不存在,确定第二索引的值包括:
[0611]
当sps中包括至多一个与参考图像列表0相关联的参考图像列表结构时,确定第二索引的值等于0;
[0612]
响应于第一索引不存在,确定第一索引的值包括:
[0613]
当sps中包括至多一个与参考图像列表1相关联的参考图像列表结构时,确定第一索引的值等于0;以及
[0614]
当第一标志等于0且第二标志等于1时,确定第一索引的值等于第二索引的值;以及
[0615]
基于第一索引和第二索引解码当前图像。
[0616]
76.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0617]
在条带头中用信号发送第一标志以指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出能够用于对当前条带进行编码的相应参考图像列表的最大参考索引;
[0618]
响应于第一标志指示条带头中存在激活参考索引数,
[0619]
确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数;以及
[0620]
确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。
[0621]
77.根据条款76所述的非瞬时计算机可读介质,其中该方法还包括:
[0622]
响应于第一标志指示条带头中不存在激活参考索引数,
[0623]
跳过在p和b条带的情况下在条带头中用信号发送参考图像列表0的激活参考索引数;以及
[0624]
跳过在b条带的情况下在条带头中用信号发送参考图像列表1的激活参考索引数。
[0625]
78.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0626]
接收包括条带头和图像头句法的视频比特流;
[0627]
确定在条带头中用信号发送的第一标志的值,第一标志指示条带头中是否存在激活参考索引数,其中激活参考索引数用于导出能够用于对当前条带进行解码的相应参考图像列表的最大参考索引;
[0628]
响应于第一标志指示存在激活参考索引数,
[0629]
确定参考图像列表0中条目的数量,并在参考图像列表0中条目的数量大于1时,在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数;以及
[0630]
确定参考图像列表1中条目的数量,并在参考图像列表1中条目的数量大于1时,在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数。
[0631]
79.根据条款78所述的非瞬时计算机可读介质,其中该方法还包括:
[0632]
响应于第一标志指示不存在激活参考索引数,
[0633]
跳过在p和b条带的情况下解码条带头中的参考图像列表0的激活参考索引数;以及
[0634]
跳过在b条带的情况下解码条带头中的参考图像列表1的激活参考索引数。
[0635]
80.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0636]
确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有非i条带,并置图像被确定为相同图像;以及
[0637]
基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。
[0638]
81.一种非瞬时计算机可读介质,存储有指令集,该指令集由装置的一个或多个处理器执行,使得该装置执行用于进行视频数据处理的方法,该方法包括:
[0639]
确定由并置图像的参考索引在条带级别所引用的并置图像,其中对于当前图像的所有p条带和b条带,并置图像被确定为相同图像;以及
[0640]
基于并置图像对当前图像进行处理,其中并置图像用于时间运动矢量预测。在上文的说明书中,参考大量具体细节对实施例进行了描述,这些具体细节可以随实施方式而变化。所描述的实施例可以进行一定的调整和修改。考虑到本文公开的本发明的说明书和实践,其他实施例对于本领域技术人员来说是显而易见的。说明书和示例仅被认为是示例性的,本发明的真实范围和精神由所附权利要求指出。图中所示的步骤顺序也仅旨在用于说明的目的,而不旨在限定任何特定的步骤顺序。因此,本领域技术人员可以理解,在实施相同方法时,这些步骤可以以不同的顺序执行。
[0641]
在附图和说明书中已经公开了示例性实施例。然而,可以对这些实施例进行许多变化和修改。因此,尽管使用了特定的术语,但它们仅以一般性和描述性的意义来使用,而不是为了限制的目的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1