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

MERGE候选的改进的制作方法

2022-04-16 12:58:09 来源:中国专利 TAG:

merge候选的改进
1.相关申请的交叉引用
2.根据适用的专利法和/或巴黎公约的规定,提出本技术是为了及时要求2019年9月2日提交的国际专利申请pct/cn2019/103963的优先权和利益。通过引用将国际专利申请pct/cn2019/103963的全部公开内容并入作为本技术的公开内容的一部分。
技术领域
3.本专利文件涉及视频编码和解码。


背景技术:

4.尽管视频压缩有了进展,数字视频仍然占用了因特网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接的用户设备数量的增大,预期对数字视频使用的带宽需求将持续增长。


技术实现要素:

5.涉及数字视频编码的设备、系统和方法,具体地,涉及其中在视频编码或解码过程中使用merge(合并)候选的视频和图像编码及解码的设备、系统和方法。
6.在一个示例方面,公开了一种视频处理方法。该方法包括针对视频的视频块和视频的编码表示之间的转换,使用规则确定用于运动候选插值的插值滤波器;并且基于该确定执行转换,其中插值方案是默认插值滤波器和可选半像素(half-pel)插值滤波器之一。
7.在又一个示例方面,公开了另一种视频处理的方法。该方法包括针对视频块的编码表示和视频块的像素值之间的转换,基于在转换的过程中用于生成成对merge候选的相关联的候选的信息或在添加成对merge候选到merge列表之前merge列表中的所选运动候选的信息,确定是否在转换中使用编码工具;并且基于该确定执行转换。
8.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频块的编码表示和视频块的像素值之间的转换,确定双向预测模式用于生成包括默认运动候选的运动候选,基于条件确定是否在计算默认运动候选中使用不等权重;并且基于该确定执行转换。
9.在又一个示例方面,公开了另一种视频处理方法。该方法包括执行视频区域的编码表示和视频区域的像素值之间的转换,其中该转换使用表示用于视频区域的运动信息的候选的运动候选列表,并且其中运动候选列表使用具有指向半像素位置的运动矢量的一个或多个运动候选。
10.在又一个示例方面,公开了另一种视频处理方法。该方法包括使用规则执行视频块的编码表示和视频块的像素值之间的转换,该规则指定,由于没有具有水平或垂直半像素分辨率的当前块的运动矢量,编码表示省略在转换过程中用于merge候选计算的可选半像素滤波器的信令通知。
11.在又一个示例方面,公开了另一种视频处理方法。该方法包括在视频块的编码表示和视频块的像素值之间的转换的过程中,基于转换过程中的可选半像素插值滤波器的使
用或者编码条件,确定是否执行merge候选列表的重新排序;并且基于该确定执行转换。
12.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于用于表示是否采用可选亮度半像素插值滤波器的标志,确定可选亮度半像素插值滤波器是否应用于所有成对平均候选;并且基于该确定执行转换。
13.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于用于生成成对平均候选的相关联的候选的信息,确定对于成对平均候选启用还是禁用编码工具;并且基于该确定执行转换。
14.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于一个或多个条件,确定对于与视频块相关联的merge候选列表中的默认运动候选启用还是禁用双向预测权重中的不等权重;并且基于该确定执行转换。
15.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,推导与视频块相关联的merge候选列表;添加具有指向半像素的一个或多个半像素运动矢量(mv)候选到merge候选列表;并且基于该merge候选列表执行转换。
16.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于一个或多个条件,确定对于与视频块相关联的merge候选列表中的默认运动候选启用还是禁用半像素插值;并且基于该确定执行转换。
17.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于在添加成对平均候选到merge候选列表之前merge候选列表中的全部或所选运动列表的信息,确定对于成对平均候选启用还是禁用编码工具;并且基于该确定执行转换。
18.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于视频块的运动矢量(mv),确定用于表示是否采用可选亮度半像素插值滤波器的标志的值;并且基于该确定执行转换。
19.在又一个示例方面,公开了另一种视频处理方法。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于可选半像素插值滤波器的使用,对与视频块相关联的merge候选列表中的运动候选执行重新排序处理;并且基于重新排序的merge候选列表执行转换。
20.在另一个代表性方面,上述方法以处理器可执行代码的形式体现,并且存储在计算机可读程序介质中。
21.在另一个代表性方面,公开了配置为执行上述方法或对于执行上述方法是可操作的的设备。该设备可以包括被编程以实施该方法的处理器。
22.在另一个代表性方面,如本文所述,视频解码器装置,其可以实施本文所述的方法。
23.在另一个代表性方面,如本文所述,计算机程序产品,其存储在非暂时性计算机可读介质上,该计算机程序产品包括用于执行方法的程序代码。
24.在另一个代表性方面,如本文所述,非暂时性计算机可读介质,其上记录用于执行
方法的程序代码。
25.在另一个代表性方面,如本文所述,非暂时性计算机可读记录介质,其存储由视频处理装置执行的通过本文所述方法生成的比特流表示。
26.在附图、描述和权利要求中更详细地描述了公开的技术的以上和其他方面及特征。
附图说明
27.图1a-图1b示出了用于信令通知的示例表。图1a示出vtm-5.0表以及图1b示出提出的表。
28.图2示出了滤波器特性的图形示例。
29.图3示出了用于视频处理的硬件平台的示例实施的框图。
30.图4示出了视频处理的示例方法的流程图。
31.图5示出了其中可以实施公开的技术的示例视频处理系统的框图。
32.图6示出了视频处理的示例方法的流程图。
33.图7示出了视频处理的示例方法的流程图。
34.图8示出了视频处理的示例方法的流程图。
35.图9示出了视频处理的示例方法的流程图。
36.图10示出了视频处理的示例方法的流程图。
37.图11示出了视频处理的示例方法的流程图。
38.图12示出了视频处理的示例方法的流程图。
39.图13示出了视频处理的示例方法的流程图。
具体实施方式
40.公开的技术的实施例可以用于现有视频编码标准(例如,hevc,h.265)和将要改善压缩性能的未来标准。本文件使用的章节标题用于改善描述的可读性并且不以任何方式将本讨论或实施例(和/或实施)仅限定于各自的章节。
41.1.总结
42.公开的技术涉及视频编码技术。具体地,涉及视频编码中的merge候选。其可以用于如hevc的现有视频编码标准,或待完善的标准(多功能视频编码)。其还可以用于未来视频编码标准或视频编解码器。
43.2.介绍
44.视频编码标准主要是通过开发著名的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)的参考软件中。2018年4月,vceg(q6/16)与iso/iec jtc1 sc29/wg11(mpeg)之间成立了联合视频专家团队(jvet)以致力于研究相较于hevc有50%的比特率下降为目标的vvc标准。
45.2.1成对平均merge候选推导
46.成对平均候选是通过对现有merge候选列表中的预定义候选对求平均值生成的,该预定义对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中,数字表示对merge候选列表的merge索引。对于每个参考列表独立计算平均的运动矢量。如果一个列表中的两个运动矢量都可用,即使它们指向不同的参考图片,也对这两种运动矢量求平均值;如果仅有一个运动矢量可用,则直接使用这一个;如果没有运动矢量可用,则保持该列表无效。
47.当在添加成对平均merge候选之后merge列表未满时,在最后插入零mvp直到达到最大merge候选数量。
48.2.2具有cu级别权重的双向预测(bcw)
49.在hevc中,双向预测信令是通过对从两个不同参考图片获取的两个预测信令求平均值和/或使用两个不同运动矢量生成的。在vtm6中,将双向预测模式扩展到超出简单的求平均值以允许两个预测信令的加权求平均值。
50.p
bi-pred
=((8-w)*p0 w*p1 4)>>3
ꢀꢀꢀꢀ
(3-19)
51.在加权平均双向预测中允许五个权重,w∈{-2,3,4,5,10}。对于每个双向预测cu,以两种方式之一确定权重w:1)对于非merge cu,在运动矢量差之后信令通知权重索引;2)对于merge cu,基于merge候选索引从相邻块推断权重索引。加权平均双向预测只用于具有256或更多亮度样点的cu(即,cu宽度乘以cu高度大于或等于256)。对于低延迟的图片,使用全部五个权重。对于非低延迟的图片,只使用三个权重(w∈{3,4,5})。
[0052]-在编码器处,快搜索算法用于寻找权重索引,而不显著增加编码器复杂性。该算法总结如下。对于进一步的细节,读者可以参考vtm软件和文件。当与amvr组合时,如果当前图片是低延迟图片,对于1像素和4像素运动矢量精度,只是有条件地检查不等权重。
[0053]-当与仿射组合时,当且仅当仿射模式被选为当前最佳模式,对于不等权重执行仿射me。
[0054]-当双向预测中的两个参考图片相同时,只是有条件地检查不等权重。
[0055]-当符合某条件时,不搜索不等权重,取决于当前图片和其参考图片之间的poc距离、编码qp和时域级别。
[0056]
bcw权重索引是使用一个上下文编码二进制位编码的,接着使用旁路编码二进制位。第一上下文编码二进制位指示是否使用相等权重;并且如果使用不等权重,使用旁路编码信令通知附加的二进制位以指示使用哪个不等权重。
[0057]
加权预测(wp)是h.264/avc和hevc标准支持的编码工具以有效地编码具有褪色的(fading)视频内容。对于wp的支持也添加到了vvc标准中。wp允许对于每个参考图片列表l0和l1中的每个参考图片信令通知加权参数(权重和偏移量)。然后,在运动补偿的过程中,应用对应的参考图片的权重和偏移量。对于不同类别的视频内容设计wp和bcw。为了避免使得vvc解码器设计复杂的wp和bcw之间的交互,如果cu使用wp,则不信令通知bcw权重索引,并且w推断为4(即,应用相等权重)。对于merge cu,基于merge候选索引从相邻块推断权重索引。其能够应用于普通merge模式和继承的仿射merge模式二者。对于构建的仿射merge模式,基于最多三个块的运动信息构建仿射运动信息。以下过程用于推导用于cu的bcw索引,该cu使用构建的仿射merge模式。
[0058]
1.将bcw索引的范围{0,1,2,3,4}分成三个组{0}、{1,2,3}和{4}。如果所有的控制
点的bcw索引都来自相同组,则按照步骤2推导bcw索引;否则,将bcw索引设为2。
[0059]
2.如果至少两个控制点具有相同的bcw索引,则将该bcw索引值分配给候选;否则将当前构建的候选的bcw索引设为2。
[0060]
bcw也被已知为广义双向预测(gbi)。
[0061]
2.3可切换的插值滤波器
[0062]
2.3.1半像素amvr模式(ce4-1.1)
[0063]
提出了用于非仿射非merge帧间编码cu的附加amvr模式,其允许以半像素精确度信令通知运动矢量差。按照以下方式直截了当地扩展了当前vvc草案的现有amvr方案:直接地遵循语法元素amvr_flag,如果amvr_flag==1,则有新的基于上下文建模的二进制语法元素hpel_amvr_flag,如果hpel_amvr_flag==1,其指示新的半像素amvr模式的使用。否则,如当前vvc草案所述,即,如果hpel_amvr_flag==0,通过语法元素amvr_precision_flag指示在整像素和四像素amvr模式之间的选择。
[0064]
如图1a-图1b所示扩展amvr信令通知。图1a示出了vtm-5.0表,并且图1b示出了提出的表。
[0065]
2.3.2利用merging的可选亮度半像素插值滤波器(ce4-1.2,ce4-1.3)
[0066]
提出了可选亮度半像素插值滤波器,其中以下两个六抽头滤波器具有平滑特性,表示为flattop和gauss,其在ce4-1中被测试(见图2)。
[0067] 滤波器系数h[i] hevc[-1 4-11 40 40-11 4-1] flat top[-3 4 31 31 4-3] gauss[3 9 20 20 9 3]
[0068]
显式信令通知
[0069]
对于使用半像素运动矢量精确度(例如,半像素amvr模式)的非仿射和非merge帧间编码cu,使用可选亮度半像素插值滤波器。对于测试1.2,使用gauss亮度半像素插值滤波器。对于测试1.3,基于新的语法元素hpel_if_idx的值做出两个可选半像素插值滤波器之间的切换。只在半像素amvr模式的情况下信令通知语法元素hpel_if_idx,如下所述:
[0070]
amvr模式hpel_if_idx插值滤波器qpel,fpel,4pel未示出(推断为2)hevchpel0flattophpel1gauss
[0071]
隐式信令通知
[0072]
在使用空域merging(合并)候选的skip(跳过)/merge模式的情况下,插值滤波器应用于半像素位置的信息是从相邻块继承的。
[0073]
3.本公开的技术解决方法解决的技术问题示例
[0074]
能够进一步改进成对平均候选的当前设计,例如,如何设置其gbi索引以及是否使用可选亮度半像素插值滤波器。
[0075]
在vtm-6.0中,成对平均候选的gbi索引设为等于gbi_default(即,对于两个预测块使用相等权重)。并且如果用于生成成对merge候选的两个merge候选的可选亮度半像素插值滤波器标志相等,那么将成对merge候选的可选亮度半像素插值滤波器标志设为等于
具有更小的merge索引的merge候选的可选亮度半像素插值滤波器;否则,将其设为假。
[0076]
对于默认merge候选(即,零运动候选),添加的每个新候选的半样点插值滤波器索引hpelifidx设为等于0。添加的每个新候选的双向预测权重索引(即,gbi索引)设为等于gbi_default。
[0077]
4.实施例和技术列表
[0078]
以下项的列表应该考虑为解释一般概念的示例。这些项不应该以狭义的方式解释。此外,这些项能够以任何方式组合。
[0079]
以下,gbiidx用于表示指示bcw(即,gbi)中的使用的加权因数的gbi索引,并且usealthpelif用于表示是否采用可选亮度半像素插值滤波器(例如,当usealthpelif等于1时,使用可选亮度半像素插值滤波器;否则,不使用可选亮度半像素插值滤波器)。候选cand1和cand2用于表示用于生成成对merge候选的两个merge候选。
[0080]
1.使用可选半像素插值滤波器可以应用于所有成对候选。
[0081]
a.可选地,成对平均候选的usealthpelif标志可以设为0,例如,总是使用默认插值滤波器。
[0082]
b.可选地,此外,以上方法可以用于半像素运动矢量插值。
[0083]
2.对于成对平均候选启用还是禁用编码工具(例如,bcw/可选半像素插值滤波器)可以取决于用于生成成对merge候选的相关联的信息。
[0084]
a.在一个示例中,不同的成对merge候选可以动态确定编码工具的使用的使用或禁用。
[0085]
b.在一个示例中,成对平均候选的gbiidx可以取决于对的仅一个候选的gbiidx。
[0086]
i.在一个示例中,成对平均候选的gbiidx可以设为等于cand1的gbiidx。
[0087]
ii.在一个示例中,成对平均候选的gbiidx可以设为等于cand2的gbiidx。
[0088]
c.在一个示例中,成对平均候选的gbiidx(表示为gbiidxc)可以推导为对(表示为gbiidx1和gbiidx2)的两个候选的gbiidx的函数。
[0089]
i.在一个示例中,gbiidxc可以设为等于cand1和cand2的更小的gbiidx。
[0090]
ii.在一个示例中,gbiidxc可以设为等于cand1和cand2的更大的gbiidx。
[0091]
iii.在一个示例中,gbiidxc可以设为等于cand1和cand2的平均的gbiidx。
[0092]
iv.在一个示例中,当cand1的gbiidx不等于cand2的gbiidx时,对于成对平均候选可以禁用bcw。
[0093]
v.在一个示例中,gbiidxc=(gbiidx1==gbiidx2?gbiidx1:gbi_default)。
[0094]
d.在一个示例中,成对平均候选的usealthpelif标志可以取决于对的仅一个候选的usealthpelif标志。
[0095]
i.在一个示例中,成对平均候选的usealthpelif标志可以设为等于与一个候选(例如,cand1或cand2)相关联的usealthpelif标志。
[0096]
ii.在一个示例中,当cand1的usealthpelif不等于cand2的usealthpelif时,usealthpelif标志可以设为假。
[0097]
e.在一个示例中,成对平均候选的usealthpelif标志可以取决于对的两个候选的usealthpelif标志。
[0098]
i.在一个示例中,如果cand1和cand2的usealthpelif都等于1,那么成对平均候选
的usealthpelif标志可以设为等于1。
[0099]
ii.在一个示例中,如果cand1或cand2的usealthpelif等于1,那么成对平均候选的usealthpelif标志可以设为等于1。
[0100]
3.提出了对于默认运动候选允许不等权重,而不是在默认运动候选中的gbi(即,等于gbi_default的双向权重索引)中总是禁用不等权重。
[0101]
a.在一个示例中,是否启用/禁用不等权重可以取决于默认运动候选的索引。
[0102]
b.在一个示例中,是否启用/禁用不等权重可以取决于条/图片类别。
[0103]
c.在一个示例中,是否启用/禁用不等权重可以取决于在添加默认运动候选之前merge列表中的所有或部分的现有merge候选。
[0104]
d.在一个示例中,是否启用/禁用不等权重可以取决于来自空域/时域相邻(邻近或非邻近)块的不等权重的使用。
[0105]
4.提出了添加具有指向半像素的运动矢量的运动候选。
[0106]
a.在一个示例中,就在成对merge候选/组合双向预测merge候选的推导之后,可以添加半像素mv候选到merge候选列表。
[0107]
b.在一个示例中,在hmvp候选的推导之后,可以添加半像素mv候选到merge候选列表。
[0108]
c.在一个示例中,添加半像素mv候选还是零mv候选(当前设计中的默认项)可以从块到块发生变化,诸如基于来自先前编码块的解码信息和/或基于在添加这些默认候选之前的merge候选。
[0109]
d.在一个示例中,半像素mv候选和零mv候选(当前设计中的默认项)可以都添加到运动候选列表。
[0110]
i.在一个示例中,其可以以交错的方式添加。
[0111]
ii.在一个示例中,半像素mv候选可以在所有零mv候选之前添加。
[0112]
iii.在一个示例中,半像素mv候选可以在所有零mv候选之后添加。
[0113]
5.提出了对于默认运动候选允许半像素插值滤波器,而不是在默认运动候选中总是禁用半像素插值滤波器。
[0114]
a.在一个示例中,是否启用/禁用半像素插值滤波器可以取决于默认运动候选的索引。
[0115]
b.在一个示例中,是否启用/禁用半像素插值滤波器可以取决于条/图片类别。
[0116]
c.在一个示例中,是否启用/禁用半像素插值滤波器可以取决于在添加默认运动候选之前merge列表中的所有或部分的现有merge候选。
[0117]
d.在一个示例中,是否启用/禁用半像素插值滤波器可以取决于来自空域/时域相邻(邻近或非邻近)块的不等权重的使用。
[0118]
6.对于成对平均候选启用还是禁用编码工具可以取决于在添加成对平均候选之前merge列表中的全部或部分的运动候选(名为所选运动候选)的信息。
[0119]
a.在一个示例中,所选运动候选可以是那些空域merge候选;
[0120]
b.在一个示例中,所选运动候选可以是那些merge候选列表中的hmvp候选;
[0121]
c.在一个示例中,部分运动候选可以是hmvp表中的一个或多个hmvp候选;
[0122]
d.在一个示例中,usealthpelif标志和/或bcw索引可以取决于与所选运动候选相
关联的那些信息的函数。
[0123]
i.在一个示例中,如果存在比剩余候选更多的具有usealthpelif等于1的候选,则usealthpelif可以设为1(或0)。
[0124]
e.在一个示例中,是否启用/禁用工具可以取决于来自空域/时域相邻(邻近或非邻近)块的工具的使用。
[0125]
7.如果没有块的mv指向水平和/或垂直半像素位置,那么usealthpelif标志设为等于零。
[0126]
a.在一个示例中,当利用成对水平候选编码当前块时,如果没有块的mv指向水平和/或垂直半像素位置的,那么usealthpelif标志设为等于零。
[0127]
8.以上提及的

成对平均候选’可以由其它新的种类的运动候选替换,所述新的种类的运动候选(诸如组合双向预测merge候选)是从在其之前添加的现有的候选推导的。
[0128]
9.基于可选半像素插值滤波器的使用候选可以重新排序merge候选列表中的运动。
[0129]
a.在一个示例中,具有启用的可选半像素插值滤波器的候选可以置于具有禁用的可选半像素插值滤波器的候选之前。
[0130]
b.在一个示例中,具有启用的可选半像素插值滤波器的候选可以置于具有禁用的可选半像素插值滤波器的候选之后。
[0131]
c.在一个示例中,基于解码信息(诸如相邻(邻近或非邻近)块可选半像素插值滤波器的使用)具有启用的可选半像素插值滤波器的候选的顺序和具有禁用的可选半像素插值滤波器的候选的顺序可以自适应地变化。
[0132]
d.可选地,此外,提出的方法可以只用于空域merge候选。
[0133]
e.可选地,此外,提出的方法可以只用于空域merge候选和hmvp候选。
[0134]
5.实施例
[0135]
以删除线突出显示删除的部分,并且以下划线突出显示新添加的部分。
[0136]
5.1.usealthpelif上的实施例#1
[0137]
成对平均候选的usealthppelif标志可以等于假。
[0138]
8.5.2.4成对平均merging候选的推导过程
[0139]
该过程的输入是:
[0140]-merging候选列表mergecandlist,
[0141]-mergecandlist中的每个候选n的参考索引refidxl0n和refidxl1n,
[0142]-mergecandlist中的每个候选n的预测列表使用标志predflagl0n和predflagl1n,
[0143]-mergecandlist中的每个候选n的1/16分数样本精确度mvl0n和mvl1n的运动矢量
[0144][0145]-mergecandlist中的元素数量numcurrmergecand。
[0146]
该过程的输出是:
[0147]-merging候选列表mergecandlist,
[0148]-mergecandlist中的元素数量numcurrmergecand,
[0149]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的参考索引refidxl0avgcand和refidxl1avgcand,
[0150]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的预测列表使用标志predflagl0avgcand和predflagl1avgcand,
[0151]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的1/16分数样本精确度mvl0avgcand和mvl1avgcand的运动矢量,
[0152]-在该过程的调用的过程中,添加到mergecandlist的每个候选avgcand的半样点插值滤波器索引hpelifidxavgcand。
[0153]
如下推导变量numreflists:
[0154]
numreflists=(slice_type==b)?2:1
ꢀꢀ
(8-344)
[0155]
做出以下分配,其中在merging候选列表mergecandlist中p0cand为位置0处的候选并且p1cand为位置1处的候选:
[0156]
p0cand=mergecandlist[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-345)
[0157]
p1cand=mergecandlist[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-346)
[0158]
将候选avgcand添加到mergecandlist的最后,即,mergecandlist[numcurrmergecand]设为等于avgcand,并且如下推导avgcand的参考索引、预测列表使用标志和运动矢量,并且numcurrmergecand增加1:
[0159]-对于具有x的范围从0到(numreflists-1)的每个参考图片列表lx,应用以下:
[0160]

如果predflaglxp0cand等于1并且predflaglxp1cand等于1,如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0161]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-347)
[0162]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-348)
[0163]

利用设置为等于mvlxp0cand[0] mvlxp1cand[0]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[0]作为输出。
[0164]

利用设置为等于mvlxp0cand[1] mvlxp1cand[1]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[1]作为输出。
[0165]

否则,如果predflaglxp0cand等于1并且predflaglxp1cand等于0,如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0166]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-349)
[0167]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-350)
[0168]
mvlxavgcand[0]=mvlxp0cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-351)
[0169]
mvlxavgcand[1]=mvlxp0cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-352)
[0170]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0171]
refidxlxavgcand=refidxlxp1cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-353)
[0172]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-354)
[0173]
mvlxavgcand[0]=mvlxp1cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-355)
[0174]
mvlxavgcand[1]=mvlxp1cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-356)
[0175]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0176]
refidxlxavgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-357)
[0177]
predflaglxavgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-358)
[0178]
mvlxavgcand[0]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-359)
[0179]
mvlxavgcand[1]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-360)
[0180]-当numreflists等于1,应用以下:
[0181]
refidxl1avgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-361)
[0182]
predflagl1avgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-362)
[0183]-如下推导半样点插值滤波器索引hpelifidxavgcand:
[0184][0185]

hpelifidxavgcand设为等于0。
[0186]
5.2.usealthpelif上的实施例#2
[0187]
成对平均候选的usealthpelif标志可以等于cand1的usealthpelif。
[0188]
8.5.2.4成对平均merging候选的推导过程
[0189]
该过程的输入是:
[0190]-merging候选列表mergecandlist,
[0191]-mergecandlist中的每个候选n的参考索引refidxl0n和refidxl1n,
[0192]-mergecandlist中的每个候选n的预测列表使用标志predflagl0n和predflagl1n,
[0193]-mergecandlist中的每个候选n的1/16分数样本精确度mvl0n和mvl1n的运动矢量
[0194]-mergecandlist中的每个候选n的半样点插值滤波器索引hpelifidx,
[0195]-mergecandlist中的元素数量numcurrmergecand。
[0196]
该过程的输出是:
[0197]-merging候选列表mergecandlist,
[0198]-mergecandlist中的元素数量numcurrmergecand,
[0199]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的参考索引refidxl0avgcand和refidxl1avgcand,
[0200]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的预测列表使用标志predflagl0avgcand和predflagl1avgcand,
[0201]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的1/16分数样本精确度mvl0avgcand和mvl1avgcand的运动矢量,
[0202]-在该过程的调用的过程中,添加到mergecandlist的每个候选avgcand的半样点插值滤波器索引hpelifidxavgcand。
[0203]
如下推导变量numreflists:
[0204]
numreflists=(slice_type==b)?2:1
ꢀꢀꢀꢀ
(8-344)
[0205]
做出以下分配,其中在merging候选列表mergecandlist中p0cand为位置0处的候选并且p1cand为位置1处的候选:
[0206]
p0cand=mergecandlist[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-345)
[0207]
p1cand=mergecandlist[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-346)
[0208]
将候选avgcand添加到mergecandlist的最后,即,mergecandlist[numcurrmergecand]设为等于avgcand,并且如下推导avgcand的参考索引、预测列表使用标志和运动矢量,并且numcurrmergecand增加1:
[0209]-对于具有x的范围从0到(numreflists-1)的每个参考图片列表lx,应用以下:
[0210]

如果predflaglxp0cand等于1并且predflaglxp1cand等于1,如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0211]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-347)
[0212]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-348)
[0213]

利用设置为等于mvlxp0cand[0] mvlxp1cand[0]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[0]作为输出。
[0214]

利用设置为等于mvlxp0cand[1] mvlxp1cand[1]的mvx、设置为等于1的rightshift,和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[1]作为输出。
[0215]

否则,如果predflaglxp0cand等于1并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0216]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-349)
[0217]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-350)
[0218]
mvlxavgcand[0]=mvlxp0cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-351)
[0219]
mvlxavgcand[1]=mvlxp0cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-352)
[0220]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0221]
refidxlxavgcand=refidxlxp1cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-353)
[0222]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-354)
[0223]
mvlxavgcand[0]=mvlxp1cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-355)
[0224]
mvlxavgcand[1]=mvlxp1cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-356)
[0225]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0226]
refidxlxavgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-357)
[0227]
predflaglxavgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-358)
[0228]
mvlxavgcand[0]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-359)
[0229]
mvlxavgcand[1]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-360)
[0230]-当numreflists等于1,应用以下:
[0231]
refidxl1avgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-361)
[0232]
predflagl1avgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-362)
[0233]-如下推导半样点插值滤波器索引hpelifidxavgcand:
[0234]

hpelifidxavgcand设为等于hpelifidxp0cand。
[0235]

[0236]
5.3.usealthpelif上的实施例#3
[0237]
成对平均候选的usealthpelif标志可以等于cand2的usealthpelif。
[0238]
8.5.2.4成对平均merging候选的推导过程
[0239]
该过程的输入是:
[0240]-merging候选列表mergecandlist,
[0241]-mergecandlist中的每个候选n的参考索引refidxl0n和refidxl1n,
[0242]-mergecandlist中的每个候选n的预测列表使用标志predflagl0n和predflagl1n,
[0243]-mergecandlist中的每个候选n的1/16分数样本精确度mvl0n和mvl1n的运动矢量
[0244]-mergecandlist中的每个候选n的半样点插值滤波器索引hpelifidx,
[0245]-mergecandlist中的元素数量numcurrmergecand。
[0246]
该过程的输出是:
[0247]-merging候选列表mergecandlist,
[0248]-mergecandlist中的元素数量numcurrmergecand,
[0249]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的参考索引refidxl0avgcand和refidxl1avgcand,
[0250]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的预测列表使用标志predflagl0avgcand和predflagl1avgcand,
[0251]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的1/16分数样本精确度mvl0avgcand和mvl1avgcand的运动矢量,
[0252]-在该过程的调用的过程中,添加到mergecandlist的每个候选avgcand的半样点插值滤波器索引hpelifidxavgcand。
[0253]
如下推导变量numreflists:
[0254]
numreflists=(slice_type==b)?2:1
ꢀꢀꢀꢀ
(8-344)
[0255]
做出以下分配,其中在merging候选列表mergecandlist中p0cand为位置0处的候选并且p1cand为位置1处的候选:
[0256]
p0cand=mergecandlist[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-345)
[0257]
p1cand=mergecandlist[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-346)
[0258]
将候选avgcand添加到mergecandlist的最后,即,mergecandlist[numcurrmergecand]设为等于avgcand,并且如下推导avgcand的参考索引、预测列表使用标志和运动矢量,并且numcurrmergecand增加1:
[0259]-对于具有x的范围从0到(numreflists-1)的每个参考图片列表lx,应用以下:
[0260]

如果predflaglxp0cand等于1并且predflaglxp1cand等于1,那么如下推导变量
refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0261]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-347)
[0262]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-348)
[0263]

利用设置为等于mvlxp0cand[0] mvlxp1cand[0]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[0]作为输出。
[0264]

利用设置为等于mvlxp0cand[1] mvlxp1cand[1]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[1]作为输出。
[0265]

否则,如果predflaglxp0cand等于1并且predflaglxp1cand等于0,如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0266]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-349)
[0267]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-350)
[0268]
mvlxavgcand[0]=mvlxp0cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-351)
[0269]
mvlxavgcand[1]=mvlxp0cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-352)
[0270]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0271]
refidxlxavgcand=refidxlxp1cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-353)
[0272]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-354)
[0273]
mvlxavgcand[0]=mvlxp1cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-355)
[0274]
mvlxavgcand[1]=mvlxp1cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-356)
[0275]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0276]
refidxlxavgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-357)
[0277]
predflaglxavgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-358)
[0278]
mvlxavgcand[0]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-359)
[0279]
mvlxavgcand[1]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-360)
[0280]-当numreflists等于1,应用以下:
[0281]
refidxl1avgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-361)
[0282]
predflagl1avgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-362)
[0283]-如下推导半样点插值滤波器索引hpelifidxavgcand:
[0284]

hpelifidxavgcand设为等于
[0285]

[0286]
5.4 gbiidx上的实施例#4
[0287]
成对平均候选的gbiidx可以等于cand1的gbiidx。
[0288]
8.5.2.4成对平均merging候选的推导过程
[0289]
该过程的输入是:
[0290]-merging候选列表mergecandlist,
[0291]-mergecandlist中的每个候选n的参考索引refidxl0n和refidxl1n,
[0292]-mergecandlist中的每个候选n的预测列表使用标志predflagl0n和predflagl1n,
[0293]-mergecandlist中的每个候选n的1/16分数样本精确度mvl0n和mvl1n的运动矢量
[0294]-mergecandlist中的每个候选n的半样点插值滤波器索引hpelifidx,
[0295][0296]-mergecandlist中的元素数量numcurrmergecand。
[0297]
该过程的输出是:
[0298]-merging候选列表mergecandlist,
[0299]-mergecandlist中的元素数量numcurrmergecand,
[0300]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的参考索引refidxl0avgcand和refidxl1avgcand,
[0301]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的预测列表使用标志predflagl0avgcand和predflagl1avgcand,
[0302]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的1/16分数样本精确度mvl0avgcand和mvl1avgcand中的运动矢量,
[0303]-在该过程的调用的过程中,添加到mergecandlist的每个候选avgcand的半样点插值滤波器索引hpelifidxavgcand,
[0304][0305]
如下推导变量numreflists:
[0306]
numreflists=(slice_type==b)?2:1
ꢀꢀꢀꢀ
(8-344)
[0307]
做出以下分配,其中在merging候选列表mergecandlist中p0cand为位置0处的候选并且p1cand为位置1处的候选:
[0308]
p0cand=mergecandlist[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-345)
[0309]
p1cand=mergecandlist[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-346)
[0310]
将候选avgcand添加到mergecandlist的最后,即,mergecandlist[numcurrmergecand]设为等于avgcand,并且如下推导avgcand的参考索引、预测列表使用标志和运动矢量,并且numcurrmergecand增加1:
[0311]-对于具有x的范围从0到(numreflists-1)的每个参考图片列表lx,应用以下:
[0312]

如果predflaglxp0cand等于1并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0313]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-347)
[0314]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-348)
[0315]

利用设置为等于mvlxp0cand[0] mvlxp1cand[0]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[0]作为输出。
[0316]

利用设置为等于mvlxp0cand[1] mvlxp1cand[1]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[1]作为输出。
[0317]

否则,如果predflaglxp0cand等于1并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0318]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-349)
[0319]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-350)
[0320]
mvlxavgcand[0]=mvlxp0cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-351)
[0321]
mvlxavgcand[1]=mvlxp0cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-352)
[0322]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0323]
refidxlxavgcand=refidxlxp1cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-353)
[0324]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-354)
[0325]
mvlxavgcand[0]=mvlxp1cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-355)
[0326]
mvlxavgcand[1]=mvlxp1cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-356)
[0327]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0],和mvlxavgcand[1]:
[0328]
refidxlxavgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-357)
[0329]
predflaglxavgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-358)
[0330]
mvlxavgcand[0]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-359)
[0331]
mvlxavgcand[1]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-360)
[0332]-当numreflists等于1,应用以下:
[0333]
refidxl1avgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-361)
[0334]
predflagl1avgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-362)
[0335]-如下推导半样点插值滤波器索引hpelifidxavgcand:
[0336]

如果hpelifidxp0cand等于hpelifidxp1cand,hpelifidxavgcand设为等于hpelifidxp0cand。
[0337]

否则,hpelifidxavgcand设为等于0。
[0338]-如下推导双向预测权重索引bcwidxavgcand:
[0339]
bcwidxavgcand设置为等于bcwidxp0cand。
[0340]
5.5 gbiidx上的实施例#5
[0341]
成对平均候选的gbiidx可以等于cand2的gbiidx。
[0342]
8.5.2.4成对平均merging候选的推导过程
[0343]
该过程的输入是:
[0344]-merging候选列表mergecandlist,
[0345]-mergecandlist中的每个候选n的参考索引refidxl0n和refidxl1n,
[0346]-mergecandlist中的每个候选n的预测列表使用标志predflagl0n和predflagl1n,
[0347]-mergecandlist中的每个候选n的1/16分数样本精确度mvl0n和mvl1n的运动矢量
[0348]-mergecandlist中的每个候选n的半样点插值滤波器索引hpelifidx,
[0349]-mergecandlist中的每个候选n的双向预测权重索引bcwidxn,
[0350]-mergecandlist中的元素数量numcurrmergecand。
[0351]
该过程的输出是:
[0352]-merging候选列表mergecandlist,
[0353]-mergecandlist中的元素数量numcurrmergecand,
[0354]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的参考索引refidxl0avgcand和refidxl1avgcand,
[0355]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的预测列表使用标志predflagl0avgcand和predflagl1avgcand,
[0356]-在该过程的调用的过程中,添加到mergecandlist的候选avgcand的1/16分数样本精确度mvl0avgcand和mvl1avgcand的运动矢量,
[0357]-在该过程的调用的过程中,添加到mergecandlist的每个候选avgcand的半样点插值滤波器索引hpelifidxavgcand,
[0358]-在该过程的调用的过程中,添加到mergecandlist的每个候选avgcand的双向预测权重索引bcwidxavgcand。
[0359]
如下推导变量numreflists:
[0360]
numreflists=(slice_type==b)?2:1
ꢀꢀꢀꢀ
(8-344)
[0361]
做出以下分配,其中在merging候选列表mergecandlist中p0cand为位置0处的候选并且p1cand为位置1处的候选:
[0362]
p0cand=mergecandlist[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-345)
[0363]
p1cand=mergecandlist[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-346)
[0364]
将候选avgcand添加到mergecandlist的最后,即,mergecandlist[numcurrmergecand]设为等于avgcand,并且如下推导avgcand的参考索引、预测列表使用标志和运动矢量,并且numcurrmergecand增加1:
[0365]-对于具有x的范围从0到(numreflists-1)的每个参考图片列表lx,应用以下:
[0366]

如果predflaglxp0cand等于1并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0367]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-347)
[0368]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-348)
[0369]

利用设置为等于mvlxp0cand[0] mvlxp1cand[0]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[0]作为输出。
[0370]

利用设置为等于mvlxp0cand[1] mvlxp1cand[1]的mvx、设置为等于1的rightshift和设置为等于0的leftshift作为输入,调用条目8.5.2.14中指定的用于运动矢量的取整过程,并且取整的mvlxavgcand[1]作为输出。
[0371]

否则,如果predflaglxp0cand等于1并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0372]
refidxlxavgcand=refidxlxp0cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-349)
[0373]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-350)
[0374]
mvlxavgcand[0]=mvlxp0cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-351)
[0375]
mvlxavgcand[1]=mvlxp0cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-352)
[0376]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于1,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0377]
refidxlxavgcand=refidxlxp1cand
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-353)
[0378]
predflaglxavgcand=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-354)
[0379]
mvlxavgcand[0]=mvlxp1cand[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-355)
[0380]
mvlxavgcand[1]=mvlxp1cand[1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-356)
[0381]

否则,如果predflaglxp0cand等于0并且predflaglxp1cand等于0,那么如下推导变量refidxlxavgcand、predflaglxavgcand、mvlxavgcand[0]和mvlxavgcand[1]:
[0382]
refidxlxavgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-357)
[0383]
predflaglxavgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-358)
[0384]
mvlxavgcand[0]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-359)
[0385]
mvlxavgcand[1]=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-360)
[0386]-当numreflists等于1,应用以下:
[0387]
refidxl1avgcand=-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-361)
[0388]
predflagl1avgcand=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-362)
[0389]-如下推导半样点插值滤波器索引hpelifidxavgcand:
[0390]

如果hpelifidxp0cand等于hpelifidxp1cand,那么hpelifidxavgcand设为等于hpelifidxp0cand。
[0391]

否则,hpelifidxavgcand设为等于0。
[0392]-如下推导双向预测权重索引bcwidxavgcand:
[0393]
bcwidxavgcand设置为等于bcwidxp0cand。
[0394]
图5是示出了可以实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施可以包括系统1900的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式接收,例如,8或10比特多个分量像素值,或可以以压缩或编码格式。输入1902可以表示网络接口、外部总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(pon)等)和无线接口(诸如wi-fi或蜂窝接口)。
[0395]
系统1900可以包括可以实施本文件描述的各种编码或译码方法的编码组件1904。编码组件1904可以减少从输入1902到编码组件1904的输出的视频的平均比特率以产生视频的编码表示。因此,编码技术有时被称作视频压缩或视频转码技术。编码组件1904的输出可以是存储的,或经由通信连接发送的,如组件1906所表示。在输入1902处接收的视频的存储的或通信的比特流(或编码的)表示可以由组件1908使用用于生成发送到显示接口1910的像素值或可显示的视频。从比特流表示生成用户可视的视频的过程有时被称作视频解压缩。此外,尽管某些视频处理操作表示为“编码”操作或工具,应该理解的是,编码工具或操作用于编码器处,并且对应的解码工具或反向编码结果的操作将由解码器执行。
[0396]
外部总线接口或显示接口的示例可以包括通用串行总线(usb)或高分辨率多媒体接口(hdmi)或显示端口(displayport)等。存储接口的示例包括sata(串行高级连接技术)、
pci、ide接口等。本文件中描述的技术可以体现在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
[0397]
图3是视频处理装置300的框图。装置300可以用于实施本文描述的一个或多个的方法。装置300可以体现在智能电话、平板、计算机、物联网(iot)接收器等中。所述装置300可以包括一个或多个处理器302、一个或多个存储器304和视频处理硬件306。所述(多个)处理器302可以配置为实施本文件描述的一个或多个方法。所述(多个)存储器304可以用于存储用于实施本文描述的方法和技术的数据及代码。所述视频处理硬件306可以用于在硬件电路中实施本文件描述的一些技术。
[0398]
以下解决方法可以作为在一些实施例中的优选的解决方法实施。
[0399]
以下解决方法可以和在先前章节中列出的项(例如,项1)中描述的附加的技术一起实施。
[0400]
1.一种视频处理的方法(例如,图4描绘的方法400),包括针对视频的视频块和视频的编码表示之间的转换,使用规则确定(402)用于运动候选插值的插值滤波器;并且基于该确定执行(404)转换,其中插值方案是默认插值滤波器和可选半像素插值滤波器之一。
[0401]
2.根据解决方法1所述的方法,其中由于视频块在视频区域中,所述规则指定对于视频块使用可选半像素插值滤波器。
[0402]
3.根据解决方法1-2中的任何一个所述的方法,其中所述确定对应于编码表示的标志,其中所述标志的第一值指示默认插值滤波器的使用,并且所述标志的第二值指示可选插值滤波器的使用。
[0403]
以下解决方法可以与先前章节中列出的项(例如,项2,6)描述的附加的技术一起实施。
[0404]
4.一种视频处理的方法,包括针对视频块的编码表示和视频块的像素值之间的转换,基于在转换的过程中用于生成成对merge候选的相关联的候选的信息或在添加成对merge候选到merge列表之前的merge列表中的所选运动候选的信息,确定在转换中是否使用编码工具;并且基于该确定执行转换。
[0405]
5.根据解决方法4所述的方法,其中编码工具包括用于生成成对merge候选的广义双向预测权重的使用。
[0406]
6.根据解决方法4所述的方法,其中编码工具包括使用用于生成成对merge候选的可选半像素插值滤波器。
[0407]
7.根据解决方法4-6的任何一个所述的方法,其中将成对merge候选的索引推导为用于生成成对merge候选的候选的索引的函数。
[0408]
8.根据解决方法4-6的任何一个所述的方法,其中是否将半像素计算用于生成merge候选取决于在确定该对中的一个或两个候选的的半像素计算的使用。
[0409]
9.根据解决方法8所述的方法,其中,包括编码表示中的标志以指示半像素计算的使用。
[0410]
10.根据解决方法4所述的方法,其中所选运动候选包括空域merge候选。
[0411]
11.根据解决方法4所述的方法,其中所选运动候选包括基于历史的运动矢量预测候选。
[0412]
以下解决方法可以与先前章节中列出的项(例如,项3)描述的附加的技术一起实
施。
[0413]
12.一种视频处理的方法,包括针对视频块的编码表示和视频块的像素值之间的转换,确定双向预测模式用于生成包括默认运动候选的运动候选,基于条件确定在计算默认运动中是否使用不等权重;并且基于该确定执行转换。
[0414]
13.根据解决方法12所述的方法,其中条件取决于默认运动候选的索引。
[0415]
14.根据解决方法12所述的方法,其中条件取决于包含视频块的条或图片类别。
[0416]
15.根据解决方法12所述的方法,其中条件取决于计算默认运动候选之前的列表中的已经现有的merge候选。
[0417]
以下解决方法可以与先前章节中列出的项(例如,项4)描述的附加的技术一起实施。
[0418]
16.一种视频处理的方法,包括执行视频区域的编码表示和视频区域的像素值之间的转换,其中转换使用表示用于视频区域的运动信息的运动候选的列表,并且其中运动候选的列表使用一个或多个具有指向半像素位置的运动矢量的运动候选。
[0419]
17.根据解决方法16所述的方法,其中在成对merge候选或组合双向预测merge候选的推导之后,立即将一个或多个运动矢量添加到merge候选列表。
[0420]
18.根据解决方法16所述的方法,其中在基于历史的运动矢量预测候选之后,立即将一个或多个运动矢量添加到merge候选列表。
[0421]
19.根据解决方法16所述的方法,其中将一个或多个运动矢量和零运动矢量候选一同添加到列表。
[0422]
以下解决方法可以与先前章节中列出的项(例如,项5)描述的附加的技术一起实施。
[0423]
20.根据解决方法1-19中的任何一个所述的方法,其中基于编码条件对于使用可选半像素插值滤波器,启用默认运动候选。
[0424]
21.根据解决方法20所述的方法,其中编码条件包括默认运动候选的索引。
[0425]
22.根据解决方法20所述的方法,其中编码条件包括视频块的位置。
[0426]
以下解决方法可以与先前章节中列出的项(例如,项7)描述的附加的技术一起实施。
[0427]
23.一种视频处理的方法,包括使用规则执行视频块的编码表示和视频块的像素表示之间的转换,该规则指定,由于没有具有水平或垂直半像素分辨率的当前块的运动矢量,编码表示省略在转换过程中用于merge候选计算的可选半像素滤波器的信令通知。
[0428]
以下解决方法可以与先前章节中列出的项(例如,项8)描述的附加的技术一起实施。
[0429]
24.根据解决方法1-23中的任何一个所述的方法,其中成对平均候选包括使用预先定义的运动候选计算方案计算的候选。
[0430]
以下解决方法可以与先前章节中列出的项(例如,项9)描述的附加的技术一起实施。
[0431]
25.一种视频处理的方法,包括在视频块的编码表示和视频块的像素值之间的转换的过程中,确定merge候选列表的重新排序是基于转换过程中的可选半像素插值滤波器的使用还是基于编码条件执行;并且基于该确定执行转换。
[0432]
26.根据解决方法25所述的方法,其中重新排序将具有启用的可选半像素插值滤波器的候选置于具有禁用的可选半像素插值滤波器的那些之前。
[0433]
27.根据解决方法25所述的方法,其中重新排序将具有启用的可选半像素插值滤波器的候选置于具有禁用的可选半像素插值滤波器的那些之后。
[0434]
28.根据解决方法25-27的任何一个所述的方法,其中编码条件指定仅空域merge候选的重新排序。
[0435]
29.根据解决方法25-28的任何一个所述的方法,其中编码条件指定仅空域merge和基于历史的运动矢量预测候选的重新排序。
[0436]
30.根据解决方法1到29的任何一个所述的方法,其中所述转换包括将视频编码为编码表示。
[0437]
31.根据解决方法1到29的任何一个所述的方法,其中所述转换包括解码编码表示以生成视频的像素值。
[0438]
32.视频解码装置包括配置为实施解决方法1到31所述的一个或多个方法的处理器。
[0439]
33.视频编码装置包括配置为实施解决方法1到31所述的一个或多个方法的处理器。
[0440]
34.计算机程序产品,其具有存储其上的计算机代码,当由处理器执行时,该代码使得处理器实施解决方法1到31的任何一个所述的方法。
[0441]
35.本文件描述了一种方法、装置或系统。
[0442]
图6示出了视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于用于表示是否采用可选亮度半像素插值滤波器的标志,确定(602)可选亮度半像素插值滤波器是否应用于所有成对平均候选;并且基于该确定执行(604)转换。
[0443]
在一些示例中,当所述标志具有第一值,可选亮度半像素插值滤波器应用于所有成对平均候选。
[0444]
在一些示例中,当所述标志具有不同于第一值的第二值,默认插值滤波器应用于所有成对平均候选。
[0445]
在一些示例中,所述第一值为1并且所述第二值为0,并且所述标志是usealthpelif标志。
[0446]
在一些示例中,该方法进一步包括:基于用于表示是否采用半像素运动矢量插值的第二标志,确定半像素运动矢量插值是否应用于所有成对平均候选。
[0447]
图7示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于用于生成成对平均候选的相关联的候选的信息确定(702)对于成对平均候选启用还是禁用编码工具;并且基于该确定执行转换。
[0448]
在一些示例中,所述编码工具包括具有cu级别权重的双向预测(bcw)和可选半像素插值滤波器中的至少一个。
[0449]
在一些示例中,不同的成对平均候选动态确定编码工具的使用或使用的禁用。
[0450]
在一些示例中,成对平均候选的gbiidx取决于用于生成成对平均候选的候选对的仅一个候选的gbiidx,其中gbiidx用于表示指示bcw中所使用的加权因数的广义双向预测
(gbi)索引。
[0451]
在一些示例中,成对平均候选的gbiidx设为等于候选对的第一候选的gbiidx。
[0452]
在一些示例中,成对平均候选的gbiidx设为等于候选对的第二候选的gbiidx。
[0453]
在一些示例中,将表示为gbiidxc的成对平均候选的gbiidx推到为用于生成成对平均候选的候选对的gbiidx的函数,其中所述候选对的gbiidx分别为gbiidx1和gbiidx2。
[0454]
在一些示例中,gbiidxc设为等于gbiidx1和gbiidx2的更小者。
[0455]
在一些示例中,gbiidxc设为等于gbiidx1和gbiidx2的更大者。
[0456]
在一些示例中,gbiidxc设为等于gbiidx1和gbiidx2的平均。
[0457]
在一些示例中,当gbiidx1不等于gbiidx2时,对于成对平均候选,禁用bcw。
[0458]
在一些示例中,gbiidxc=(gbiidx1==gbiidx2?gbiidx1:gbi_default),其中gbi_default指示对于两个预测块使用了相等权重。
[0459]
在一些示例中,用于表示是否采用可选亮度半像素插值滤波器的usealthpelif标志取决于候选对的两个usealthpelif标志。
[0460]
在一些示例中,如果候选对的两者的usealthpelif标志等于1,成对平均候选的usealthpelif标志设为等于1。
[0461]
在一些示例中,如果候选对之一的usealthpelif标志等于1,成对平均候选的usealthpelif标志设为等于1。
[0462]
图8示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于一个或多个条件,确定(802)对于与视频块相关联的merge候选列表中的默认运动候选启用还是禁用双向预测权重中的不等权重;并且基于该确定执行(804)转换。
[0463]
在一些示例中,所述一个或多个条件包括默认运动候选的索引。
[0464]
在一些示例中,所述一个或多个条件包括条或图片类别。
[0465]
在一些示例中,所述一个或多个条件包括在添加默认运动候选之前merge列表中的现有merge候选的全部或部分。
[0466]
在一些示例中,所述一个或多个条件包括来自空域和/或时域相邻的邻近或非邻近块的使用。
[0467]
图9示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,推导(902)与视频块相关联的merge候选列表;添加(904)具有指向半像素的一个或多个半像素运动矢量(mv)候选到merge候选列表;并且基于该merge候选列表执行(906)转换。
[0468]
在一些示例中,就在成对merge候选和/或组合双向预测merge候选的推导之后,将所述一个或多个半像素mv候选添加到merge候选列表。
[0469]
在一些示例中,就在基于历史的运动矢量预测(hmvp)merge候选的推导之后,将所述一个或多个半像素mv候选添加到merge候选列表。
[0470]
在一些示例中,基于来自先前编码的块的解码信息和/或基于添加这些候选之前的merge候选列表中的merge候选,是否将一个或多个半像素mv候选或一个或多个零mv候选添加到merge候选列表是从块到块发生变化的。
[0471]
在一些示例中,将一个或多个半像素mv候选以及一个或多个零mv候选两者添加到
merge候选列表。
[0472]
在一些示例中,将一个或多个半像素mv候选以及一个或多个零mv候选两者以交错的方式添加到merge候选列表。
[0473]
在一些示例中,在所有零mv候选之前添加一个或多个半像素mv候选。
[0474]
在一些示例中,在所有零mv候选之后添加一个或多个半像素mv候选。
[0475]
图10示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于一个或多个条件,对于与视频块相关联的merge候选列表中的默认运动候选,确定(1002)启用还是禁用半像素插值滤波器;并且基于该确定执行(1004)转换。
[0476]
在一些示例中,所述一个或多个条件包括默认运动候选的索引。
[0477]
在一些示例中,所述一个或多个条件包括条或图片类别。
[0478]
在一些示例中,所述一个或多个条件包括在添加默认运动候选之前merge列表中的现有merge候选的全部或部分。
[0479]
在一些示例中,所述一个或多个条件包括来自空域和/或时域相邻的临近或非邻近块的使用。
[0480]
图11示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于添加成对平均候选到merge候选列表之前的merge候选列表中的全部或所选运动候选的信息,确定(1102)对于成对平均候选启用还是禁用编码工具;并且基于该确定执行(1104)转换。
[0481]
在一些示例中,所述所选运动候选是那些在merge候选列表中的空域merge候选。
[0482]
在一些示例中,所述所选运动候选可以是那些在merge候选列表中的基于历史的运动矢量预测(hmvp)候选。
[0483]
在一些示例中,所述所选运动候选是hmvp表中的一个或多个hmvp候选。
[0484]
在一些示例中,用于成对平均候选的usealthpelif标志和/或具有cu级别权重的双向预测(bcw)索引取决于那些与所选运动候选相关联的信息的函数。
[0485]
在一些示例中,如果存在比剩余候选更多的具有usealthpelif等于1的候选,将用于成对平均候选的usealthpelif设为1或0。
[0486]
在一些示例中,启用/禁用工具取决于来自空域或时域相邻的邻近或非邻近块的工具的使用。
[0487]
图12示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于视频块的运动矢量(mv),确定(1202)用于表示是否采用可选半像素插值滤波器的标志的值;并且基于该确定执行(1204)转换。
[0488]
在一些示例中,所述标志是usealthpelif标志。
[0489]
在一些示例中,如果没有视频块的mv指向水平和/或垂直半像素位置,usealthpelif标志设为零。
[0490]
在一些示例中,当使用成对平均候选编码视频块时,如果没有所述视频块的mv指向水平和/或垂直半像素位置,将usealthpelif标志设为零。
[0491]
在一些示例中,该方法应用于一个或多个新种类的运动候选,所述一个或多个新种类的运动候选是从在merge候选列表中的新种类的运动候选之前添加的现有候选推导
的。
[0492]
图13示出了用于视频处理的示例方法的流程图。该方法包括针对视频的视频块和视频块的比特流表示之间的转换,基于可选半像素插值滤波器的使用,对与视频块相关联的merge候选列表中的运动候选执行(1302)重新排序处理;并且基于重新排序的所述merge候选列表执行(1304)转换。
[0493]
在一些示例中,将具有启用的可选半像素插值滤波器的候选置于那些具有禁用的可选半像素插值滤波器的候选之前。
[0494]
在一些示例中,将具有启用的可选半像素插值滤波器的候选置于那些具有禁用的可选半像素插值滤波器的候选之后。
[0495]
在一些示例中,基于包括相邻的邻近或非邻近块中的可选半像素插值滤波器的使用的解码信息,自适应地改变具有启用和禁用的可选半像素插值滤波器的候选的顺序。
[0496]
在一些示例中,只对空域merge候选执行重新排序处理。
[0497]
在一些示例中,只对空域merge候选和基于历史的运动矢量预测merge候选执行重新排序处理。
[0498]
在一些示例中,所述转换从比特流表示生成视频的视频块。
[0499]
在一些示例中,所述转换从视频的视频块生成比特流表示。
[0500]
在以上解决方法中,所述转换的执行包括使用先前的决定步骤(例如,使用或不使用某编码或解码步骤)的结果以达到转换结果。
[0501]
本文件所描述的公开的和其他解决方法、示例、实施例、模块和功能操作可以在数字电子电路中实施,或计算机软件、固件或硬件中实施,其包括本文中所公开的结构及其结构等价方案,或其中一者或多者的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,该装置还可以包括为提及的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或者它们当中的一者或多者的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以便传输到合适的接收器装置。
[0502]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中、专用于该程序的单个文件中或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
[0503]
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过
程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0504]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的必要元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个用于存储数据的大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0505]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求的范围的限制,而应解释为对特定技术的特定实施例专有特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施例中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可涉及子组合或子组合的变型。
[0506]
类似地,虽然操作在附图中以特定次序示出,但不应将这种情况理解为需要以相继次序或所示的特定次来执行此类操作,或者需要执行所有所示的操作以实现期望的结果。此外,在本专利文件中描述的实施例当中对各种系统组件的划分不应被理解为在所有实施例中都要求这样的划分。
[0507]
仅描述了几种实施方式和示例,其他实施、增强和变化可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献