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

视频编解码中的多假设预测当中的自适应权重的制作方法

2021-10-27 14:41:00 来源:中国专利 TAG:专利申请 引用 公开 编解码 专利法

视频编解码中的多假设预测当中的自适应权重
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求于2019年3月12日提交的国际专利申请第pct/cn2019/077838号的优先权和利益。将国际专利申请第pct/cn2019/077838号的全部公开内容以引用方式并入本文,作为本技术公开内容的一部分。
技术领域
3.本专利申请文件涉及视频编解码技术、设备和系统。


背景技术:

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


技术实现要素:

5.本文件描述了用于在视频编解码中使用多假设预测的各种实施例和技术。
6.在一个示例方面中,公开了用于在视频编解码中使用多假设预测的各种方法。
7.在另一个示例方面中,公开了一种视频处理的方法。该方法包括在当前视频区域与当前视频块的比特流表示之间的转换期间,对用于组合帧间和帧内预测模式的权重进行更新,以及基于更新执行转换。
8.在另一个示例方面中,公开了一种视频处理的方法。该方法包括:针对视频的第一块与视频的第一块的比特流表示之间的转换,确定启用还是禁用对在该转换期间要应用的组合帧内和帧间预测(ciip)模式中的权重进行更新的使用;响应于确定启用对ciip模式中的权重进行更新,更新ciip模式中应用在第一块的部分像素内的权重;以及基于更新的权重和未更新的权重执行该转换。
9.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的第一块和视频的第一块的比特流表示之间的转换,从组合帧内和帧间预测(ciip)模式内正在使用的多个权重集中确定权重集,该确定取决于存在于下述选项中的至少一者内的消息:包括序列参数集(sps)的序列级、包括条带标头的条带级、包括片组标头的片组级、包括图片标头的图片级以及包括编解码树单元(ctu)和编解码单元(cu)的块级;基于所确定的权重集,应用ciip模式,以生成第一块的最终预测;以及基于最终预测执行该转换;其中,第一块的最终预测是基于第一块的中间帧内预测和中间merge帧间预测的加权和生成的。
10.在又一个示例方面,公开了一种被配置成实现上述方法之一的视频编解码装置。
11.在又一个示例方面,公开了一种被配置成实现上述方法之一的视频解码装置。
12.在又一个方面,公开了一种计算机可读介质。计算机可读介质上存储了用于实现上述方法之一的处理器可执行代码。
13.本文中描述了这些和其他方面。
附图说明
14.图1示出了用于merge候选列表构建的示例推导过程。
15.图2示出了空域merge候选的位置的示例。
16.图3示出了针对空域merge候选的冗余检查所考虑的候选对的示例。
17.图4示出了n
×
2n分割和2n
×
n分割的第二pu的位置的示例。
18.图5是时域merge候选的运动矢量缩放的示例性说明。
19.图6示出了时域merge候选的候选位置的示例c0和c1。
20.图7示出了组合双向预测merge候选的示例。
21.图8总结了运动矢量预测候选的推导过程。
22.图9示出了空域运动矢量候选的运动矢量缩放的例示。
23.图10示出了用于推导ic参数的相邻样点。
24.图11示出了对于(a)4参数仿射和(b)6参数仿射的简化仿射运动模型。
25.图12是每子块的仿射mvf的示例。
26.图13示出了4参数仿射模型(a)和6参数仿射模型(b)。
27.图14针对继承仿射候选示出了用于af_inter的mvp。
28.图15针对构建仿射候选示出了用于af_inter的mvp。
29.图16示出了用于af_merge的候选。
30.图17示出了用于仿射merge模式的候选位置。
31.图18示出了mmvd搜索过程的示例。
32.图19示出了mmvd搜索点的示例。
33.图20示出了基于双边模板匹配的dmvr。
34.图21是dmvr中在列表0和列表1之间成镜像的mvd(0,1)的示例。
35.图22示出了可以在一次迭代中检查的mv。
36.图23示出了具有填充的所需参考样点的示例。
37.图24示出了用于实现本文件中描述的技术的示例装置。
38.图25是视频处理的示例方法的流程图。
39.图26是视频处理的示例方法的流程图。
40.图27是视频处理的示例方法的流程图。
41.在对附图的描述当中,(a)和(b)是指对应附图的左手边和右手边。
具体实施方式
42.本文件提供可由图像或视频比特流的解码器使用的各种技术,以提高解压缩或解码的数字视频或图像的质量。为了简洁起见,本文使用术语“视频”以包括图片的序列(传统称为视频)和单独的图像。此外,视频编码器也可以在编码过程期间实现这些技术,以便重建解码帧以进行进一步地编码。
43.本文件中使用了章节标题以使理解容易,并且不将实施例和技术限制到对应章节。这样一来,可以将来自一个章节的实施例与来自其他章节的实施例组合。
44.1.简要介绍
45.本专利文献涉及视频编解码技术。具体而言,本文涉及视频编解码中的候选列表
构建。其可应用于现有的视频编解码标准,如hevc、或待定案的标准(多功能视频编解码)。其也可能适用于未来的视频编解码标准或视频编解码器。
46.2.初步论述
47.视频编解码标准主要是通过开发公知的itu

t和iso/iec标准而发展起来的。itu

t制作了h.261和h.263,iso/iec制作了mpeg

1和mpeg

4视觉,并且两个组织联合制作了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),以针对vvc标准展开工作,目标是与hevc相比降低50%的比特率。
48.2.1 hevc/h.265中的帧间预测
49.每个帧间的预测pu都具有针对一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。还可以使用inter_pred_idc来信令通知对两个参考图片列表之一的使用。运动矢量可以被显式地编解码成相对于预测子(predictor)的增量。
50.在采用skip模式对cu编解码时,一个pu与该cu相关联,并且没有显著的残差系数,没有编解码的运动矢量增量或参考图片索引。merge模式被规定为当前pu的运动参数是从包括空域候选和时域候选的相邻pu获得的。merge模式可以被应用于任何帧间的预测pu,而不仅仅是用于skip模式的那些帧间预测的pu。merge模式的一种替代方案是运动参数的显式传输,其中,按照每个pu显示地信令通知运动矢量(更确切而言,相较于运动矢量预测子的运动矢量差(mvd))、每个参考图片列表的对应参考图片索引和参考图片列表使用。在本公开中将这样的模式称为高级运动矢量预测(amvp)。
51.在信令指示将使用两个参考图片列表之一时,pu由一个样点块生成。这被称为“单向预测”。对于p条带和b条带两者而言,单向预测都是可用的。
52.在信令指示将使用两个参考图片列表时,pu由两个样点块产生。这被称为“双向预测”。双向预测只对b条带可用。
53.下文将提供有关在hevc中规定的帧间预测模式的细节。描述将开始于merge模式。
54.2.1.1参考图片列表
55.在hevc中,术语帧间预测用于表示从参考图片而非当前解码图片的数据元素(例如,样点值或运动矢量)中推导的预测。与h.264/avc中类似,图片可以是从多个参考图片预测的。用于帧间预测的参考图片被组织在一个或多个参考图片列表当中。参考索引识别列表中的哪个参考图片应当被用于创建预测信号。
56.单个参考图片列表,即list 0被用于p条带,而两个参考图片列表,即list 0和list 1被用于b条带。应当注意,包含在list 0/1中的参考图片可以按照捕获/显示顺序来自于过去图片和未来图片。
57.2.1.2 hevc中的merge模式
58.2.1.2.1 merge模式的候选的推导
59.在使用merge模式预测pu时,从比特流中解析出指向merge候选列表中的条目的索引,并使用该索引检索运动信息。在hevc标准中规定了对这一列表的构建,可以根据以下步
骤序列对其做出总结:
60.步骤1:初始候选推导
61.步骤1.1:空域候选推导
62.步骤1.2:对空域候选的冗余检查
63.步骤1.3:时域候选推导
64.步骤2:附加候选插入
65.步骤2.1:双向预测候选的创建
66.步骤2.2:零运动候选的插入
67.还在图1中对这些步骤给出了示意性图示。对于空域merge候选推导而言,从位于五个不同位置上的候选当中选择最多四个merge候选。对于时域merge候选推导而言,从两个候选当中选择最多一个merge候选。由于在解码器处假定每个pu候选数量恒定,因而在从步骤1获得的候选的数量未达到在条带标头中信令通知的merge候选最大数量(maxnummergecand)时,生成附加的候选。由于候选的数量是恒定的,因而使用截断一元二值化(tu)对最佳merge候选的索引进行编解码。如果cu的尺寸等于8,那么当前cu的所有pu都共享单个merge候选列表,其等同于2n
×
2n预测单元的merge候选列表。
68.在下文中,将详述与前述步骤相关联的操作。
69.2.1.2.2空域候选推导
70.在空域merge候选的推导当中,在位于图2所示的位置上的候选当中选择最多四个merge候选。推导的顺序为a1、b1、b0、a0和b2。只有在位置a1、b1、b0、a0的任何pu都不可用(例如,因为其属于另一条带或片)或者是帧内编解码的时才考虑位置b2。在位置a1处的候选被添加之后,其余候选的添加要受到冗余检查,其确保从列表中排除具有相同运动信息的候选,从而提高编解码效率。为了降低计算复杂性,在所提及的冗余检查当中并未考虑所有可能的候选对。相反,仅考虑用图3的箭头联系起来的对,并且只有在用于冗余检查的对应候选不具有相同的运动信息时才将该候选添加至列表。重复运动信息的另一来源是与不同于2n
×
2n的分割相关联的“第二pu”。作为示例,图4分别示出了n
×
2n和2n
×
n情况的第二pu。在当前pu被分割成n
×
2n时,不考虑将处于位置a1处的候选用于列表构建。实际上,添加这一候选将导致两个预测单元具有相同的运动信息,其对于令编解码单元内只有一个pu而言是冗余的。类似地,在当前pu被分割成2n
×
n时,不考虑位置b1。
71.2.1.2.3时域候选推导
72.在这一步骤中,只有一个候选被添加至列表。具体地,在此时域merge候选的推导当中,基于并置的pu推导出缩放的运动矢量,该并置的pu属于给定的参考图片列表内与当前图片之间具有最小poc差的图片。在条带标头中显示地信令通知将用于并置pu的推导的参考图片列表。用于时域merge候选的缩放的运动矢量是如图5中的虚线所示获得的,其使用poc距离(tb和td)由并置pu的运动矢量缩放而成,其中,tb被定义为当前图片的参考图片与当前图片之间的poc差,并且td被定义为并置图片的参考图片与并置图片之间的poc差。时域merge候选的参考图片索引被设为等于零。在hevc规定中描述了缩放过程的实际实现。对于b条带而言,获得两个运动矢量(一个针对参考图片列表0,另一个针对参考图片列表1),并且将其结合产生双向预测的merge候选。
73.如图6所示,在属于参考帧的并置pu(y)中,在候选c0和c1之间选择时域候选的位
置。如果位置c0处的pu不可用,是帧内编解码的,或者处于当前编解码树单元(ctu,又名lcu,最大编解码单元)行之外,则使用位置c1。否则,在时域merge候选的推导当中使用位置c0。
74.时域运动矢量预测又被称为“tmvp”。
75.2.1.2.4附加候选插入
76.除了空域和时域merge候选之外,还有两种附加类型的merge候选:组合双向预测merge候选和零merge候选。组合双向预测merge候选是通过利用空域merge候选和时域merge候选生成的。组合双向预测merge候选仅用于b条带。组合双向预测候选是通过结合初始候选的第一参考图片列表运动参数与另一个的第二参考图片列表运动参数而生成的。如果这两个元组提供不同的运动假设,那么它们将形成新的双向预测候选。作为示例,图7示出了使用处于原始列表(左侧)中的两个候选(它们具有mvl0和refidxl0或者mvl1和refidxl1)来创建被添加至最终列表(右侧)的组合双向预测merge候选时的情况。关于所考虑的用以生成这些附加merge候选的组合存在很多规则。
77.零运动候选被插入以填充merge候选列表中的剩余条目,并因此达到maxnummergecand容量。这些候选具有零空域位移和开始于零并且在每次向列表添加新的零运动候选时增大的参考图片索引。最后,不对这些候选执行冗余检查。
78.2.1.3 amvp
79.amvp利用运动矢量与相邻pu的时空相关性,该时空相关性用于运动参数的显式传输。对于每个参考图片列表而言,运动矢量候选列表的构建方式是:首先检查左侧、上侧时域相邻pu位置的可用性,去除冗余候选,并且添加零矢量,从而使候选列表为恒定长度。之后,编码器可以从候选列表选择最佳预测子,并且传输指示所选候选的对应索引。与merge索引信令类似,使用截断一元码对最佳运动矢量候选的索引进行编解码。在这一情况下要被编码的最大值为2(参考图8)。在下文的章节中,将提供有关运动矢量预测候选的推导过程的细节。
80.2.1.3.1 amvp候选的推导
81.图8示出了运动矢量预测候选的示例推导过程。
82.在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导而言,基于在位于如图2所示的五个不同位置上的每个pu的运动矢量最终推导出两个运动矢量候选。
83.对于时域运动矢量候选推导而言,从基于两个不同的并置位置推导出的两个候选中选出一个运动矢量候选。在制作时空候选的第一列表之后,去除该列表中的重复运动矢量候选。如果可能候选的数量大于二,那么从列表中去除这样的运动矢量候选:其在相关联的参考图片列表内的参考图片索引大于1。如果时空运动矢量候选的数量小于二,那么向列表添加附加的零运动矢量候选。
84.2.1.3.2空域运动矢量候选
85.在空域运动矢量候选的推导当中,在五个可能的候选当中考虑最多两个候选,这五个可能候选是从位于如图2所示的位置上的pu推导出的,这些位置与运动merge的那些位置相同。针对当前pu的左侧的推导顺序被定义为a0、a1以及缩放a0、缩放a1。针对当前pu的上侧的推导顺序被定义为b0、b1、b2、缩放b0、缩放b1和缩放b2。对于每一侧,都因此存在可
以被用作运动矢量候选的四种情况,其中两种情况不要求使用空域缩放,并且两种情况使用空域缩放。这四种不同情况的总结如下:
86.无空域缩放
87.(1)相同参考图片列表,并且相同参考图片索引(相同poc)
88.(2)不同参考图片列表,但是相同参考图片(相同poc)
89.空域缩放
90.(3)相同参考图片列表,但是不同参考图片索引(不同poc)
91.(4)不同参考图片列表,并且不同参考图片(不同poc)
92.首先检查无空域缩放情况,接下来空域缩放。当poc在相邻pu的参考图片与当前pu的参考图片之间存在不同时,不管参考图片列表如何,都考虑空域缩放。如果左侧候选的所有pu都不可用或者是帧内编解码的,那么允许针对上侧运动矢量的缩放,从而有助于左侧mv候选和上侧mv候选的并行推导。否则,不允许针对上侧运动矢量的空域缩放。
93.在空域缩放过程中,如图9所示,按照与时域缩放的类似的方式对相邻pu的运动矢量进行缩放。主要不同在于当前pu的参考图片列表和索引是作为输入给出的;实际缩放过程与时域缩放的过程相同。
94.2.1.3.3时域运动矢量候选
95.除参考图片索引推导之外,时域merge候选的推导的所有过程均与空域运动矢量候选的推导的过程(参见图6)相同。将参考图片索引信令通知给解码器。
96.2.2 jem中的局部照明补偿
97.局部照明补偿(lic)以使用缩放因数a和偏移量b的用于照明变化的线性模型为基础。并且,针对每个帧间模式编解码的编解码单元(cu)自适应地启用或禁用局部照明补偿。
98.图10示出了用于推导lic参数的相邻样点。
99.在lic适用于cu时,采用最小平方误差法通过使用当前cpu的相邻样点及其对应参考样点来推导参数a和b。更具体地,如图12所示,使用cu的子采样(2∶1子采样)相邻样点和参考图片中的对应样点(通过当前cu或子cu的运动信息所识别)。
100.2.2.1预测块的推导
101.针对每个预测方向单独推导并应用lic参数。对于每个预测方向,用解码运动信息生成第一预测块,之后通过应用lic模型而获得临时预测块。之后,利用两个临时预测块推导出最终预测块。
102.在用merge模式对cu进行编解码时,以与merge模式中的运动信息复制类似的方式从相邻块复制lic标志;否则针对该cu信令通知lic标志,以指示是否应用lic。
103.在针对图片启用lic时,需要附加的cu级rd检查,以确定是是否对cu应用lic。在对cu启用lic时,将去除了均值的绝对差之和(mr

sad)以及去除了均值的绝对hadamard变换差之和(mr

satd)而非sad和satd分别用于整数像素运动细化和分数像素运动细化。
104.为了降低编码复杂性,在jem中应用下述编码方案。
105.●
当在当前图片与其参考图片之间没有明显的照明变化时,对整个图片禁用lic。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片和当前图片的每个参考图片之间的直方图差小于给定阈值,那么对当前图片禁用lic;否则,对当前图片启用lic。
106.2.3 vvc中的帧间预测方法
107.有几种用于帧间预测改进的新的编解码工具,诸如用于信令通知mvd的自适应运动矢量差分辨率(amvr)、仿射预测模式、三角形预测模式(tpm)、高级tmvp(atmvp,又称sbtmvp)、广义双向预测(gbi)、双向光流(bio)。
108.2.3.1 vvc中的编解码块结构
109.在vvc中,采取四叉树/二叉树/多叉树(qt/bt/tt)结构将图片划分成方形或矩形块。
110.除了qt/bt/tt之外,在vvc中还对i帧采取分离树(separate tree)(又称双重编解码树)。在分离树的情况下,为亮度分量和色度分量单独地信令通知编解码块结构。
111.2.3.2自适应运动矢量差分辨率
112.在hevc中,当条带标头中的use_integer_mv_flag等于0时,以四分之一亮度样点为单位信令通知(pu的运动矢量和预测运动矢量之间的)运动矢量差(mvd)。在vvc中,引入了局部自适应运动矢量分辨率(amvr)。在vvc中,能够以四分之一亮度样点、整亮度样点和四亮度样点(即,1/4

pel、1

pel、4

pel)为单位编解码mvd。在编解码单元(cu)级上控制该mvd分辨率,并且针对每个具有至少一个非零mvd分量的cu有条件地信令通知mvd分辨率标志。
113.对于具有至少一个非零mvd分量的cu而言,信令通知第一标志,以指示在cu中是否使用四分之一亮度样点mv精确度。在第一标志(等于1)指示不使用四分之一亮度样点mv精确度时,信令通知另一标志,以指示是否使用整亮度样点mv精确度或四亮度样点mv精确度。
114.在cu的第一mvd分辨率标志为零时,或者未对cu编解码该标志时(意味着cu内的所有mvd均为零),对该cu使用四分之一亮度样点mv分辨率。在cu使用整亮度样点mv精确度或者四亮度样点mv精确度时,cu的amvp候选列表中的mvp被取整到对应的精确度。
115.2.3.3仿射运动补偿预测
116.在hevc中,对于运动补偿预测(mcp)仅应用平移运动模型。而在现实世界中,则有很多种类的运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在vvc中,采用4参数仿射模型和6参数仿射模型来应用简化的仿射变换运动补偿预测。如图13所示,通过4参数仿射模型的两个控制点运动矢量(cpmv)和6参数仿射模型的3个cpmv来描述块的仿射运动场。
117.图11示出了(a)4参数仿射和(b)6参数仿射的简化仿射运动模型。
118.分别通过下述方程描述块的运动矢量场(mvf),其中,方程(1)中所采用4参数仿射模型(其中,4个参数被定义为变量a、b、e和f),并且方程2中采用6参数仿射模型(其中,6个参数被定义为a、b、c、d、e和f):
[0119][0120]
[0121]
其中,(mv
h0
,mv
h0
)是左上角控制点的运动矢量,(mv
h1
,mv
h1
)是右上角控制点的运动矢量,(mv
h2
,mv
h2
)是左下角控制点的运动矢量,所有的这三个运动矢量都被称为控制点运动矢量(cpmv),(x,y)表示代表点相对于当前块内的左上样点的坐标,(mv
h
(x,y),mv
v
(x,y))是针对位于(x,y)处的样点推导出的运动矢量。cp运动矢量可以是被信令通知的(比如在仿射amvp模式当中)或者可以是即时推导的(比如在仿射merge模式当中)。w和h是当前块的宽度和高度。在实践当中,通过右移连同取整运算实现除法。在vtm中,代表点被定义为子块的中心位置,例如,在子块的左上角的坐标相对于当前块内的左上样点的坐标为(xs,ys)时,那么代表点的坐标被定义为(xs 2,ys 2)。对于每个子块(例如,vtm中的4
×
4),均利用该代表点推导整个子块的运动矢量。
[0122]
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。为了推导每一m
×
n(在当前vvc中,m和n两者都被设置为4)子块的运动矢量,根据方程(1)和方程(2)计算每个子块的中心样点的运动矢量(如图14所示),并且被取整到1/16分数精度。然后,应用1/16像素的运动补偿插值滤波器,从而借助于推导出的运动矢量生成每个子块的预测。1/16像素的插值滤波器是由仿射模式引入的。
[0123]
在mcp之后,以与正常运动矢量相同的精度对每个子块的高精度运动矢量取整并保存。
[0124]

仿射预测的信令
[0125]
与平移运动模型类似,还有两种对归因于仿射预测的侧信息进行信令通知的模式。它们是affine_inter模式和affine_merge模式。
[0126]

af_inter模式
[0127]
对于宽度和高度两者均大于8的cu,可以应用af_inter模式。在比特流中信令通知cu级中的仿射标志,以指示是否使用af_inter模式。
[0128]
在此模式当中,对于每个参考图片列表(list 0或list 1),采用三种类型的仿射运动预测子按照下述顺序构建仿射amvp候选列表,其中,每个候选包括当前块的估计cpmv。信令通知在编解码器侧发现的最佳cpmv(例如,图15中的mv
0 mv
1 mv2)与估计cpmv之间的差。此外,进一步信令通知从中推导估算的cpmv的仿射amvp的索引。
[0129]
1)继承的仿射运动预测子
[0130]
检查顺序与hevc amvp列表构建中的空域mvp的检查顺序类似。首先,从被仿射编解码并且具有与当前块中相同的参考图片的{a1,a0}中的第一块推导出左侧继承仿射运动预测子。其次,从被仿射编解码并且具有与当前块中相同的参考图片的{b1,b0,b2}中的第一块推导出上侧继承仿射运动预测子。图16中描绘了五个块a1、a0、b1、b0、b2。
[0131]
一旦发现相邻块是采用仿射模式编解码的,那么就使用覆盖相邻块的编解码单元的cpmv推导出当前块的cpmv的预测子。例如,如果a1是采用非仿射模式编解码的并且a0是采用4参数仿射模式编解码的,那么将从a0推导出左侧继承仿射mv预测子。在这种情况下,利用覆盖a0的cu的cpmv(如图16)中的左上cpmv的和图16中的右上cpmv的所表示的)来推导当前块的估算cpmv,其由当前块的左上位置(具有坐标(x0,y0))、右上位置(具有坐标(x1,y1))和右下位置(具有坐标(x2,y2))的有坐标(x1,y1))和右下位置(具有坐标(x2,y2))的所表示的。
[0132]
2)构建仿射移动预测子
[0133]
构建仿射移动预测子由从相邻帧间编解码的块推导的控制点运动矢量(cpmv)构成,如图15所示,这些帧间编解码的块具有相同的参考图片。如果当前仿射运动模型是4参数仿射,那么cpmv的数量为2,否则如果当前仿射运动模型为6参数仿射,那么cpmv的数量为3。左上cpmv是由被帧间编解码并且具有与当前块中相同的参考图片的组{a,b,c}中的第一块处的mv推导出的。右上cpmv是由被帧间编解码并且具有与当前块中相同的参考图片的组{d,e}中的第一块处的mv推导出的。左下cpmv是由被帧间编解码并且具有与当前块中相同的参考图片的组{f,g}中的第一块处的mv推导出的。
[0134]
如果当前仿射运动模型是4参数仿射,那么仅当和两者均被发现,也就是说和被用作当前块的左上(具有坐标(x0,y0))位置和右上(具有坐标(x1,y1))位置的估计cpmv时,才将构建仿射运动预测子插入到候选列表中。
[0135]
如果当前仿射运动模型是6参数仿射,那么仅当和全部被发现,也就是说,和被用作当前块的左上位置(具有坐标(x0,y0))、右上位置(具有坐标(x1,y1))和右下位置(具有坐标(x2,y2))的估计cpmv时,才将构建仿射运动预测子插入到候选列表当中。
[0136]
在将构建仿射移动预测子插入到候选列表当中时不应用裁剪过程。
[0137]
3)正常amvp运动预测子
[0138]
以下适用,直到仿射运动预测子的数量达到最大值为止。
[0139]
1)通过将所有cpmv设为等于(如果可用的话)而推导仿射运动预测子。
[0140]
2)通过将所有cpmv设为等于(如果可用的话)而推导仿射运动预测子。
[0141]
3)通过将所有cpmv设为等于(如果可用的话)而推导仿射运动预测子。
[0142]
4)通过将所有cpmv设为等于hevc tmvp(如果可用的话)而推导仿射运动预测子。
[0143]
5)通过将所有cpmv设为零mv而推导仿射运动预测子。
[0144]
注意,在构建仿射运动预测子中已经推导出了
[0145]
图14针对继承仿射候选示出了用于af_inter的mvp。
[0146]
图15针对构建仿射候选示出了用于af_inter的mvp。
[0147]
在af_inter模式下,当适用4/6参数仿射模式时,需要2/3个控制点,因此需要为这些控制点对2/3个mvd进行编解码,如图15所示。建议按照如下推导mv,即,由mvd0预测mvd1和mvd2。
[0148][0149][0150][0151]
如图15中所示,其中,mvd
i
和mv1分别是左上像素(i=0)、右上像素(i=1)或左下像素(i=2)的预测的运动矢量、运动矢量差和运动矢量。请注意,两个运动矢量(例如,mva(xa,ya)和mvb(xb,yb))的相加等于单独地对两个分量的求和,也就是说newmv=mva mvb,并且newmv的两个分量被分别设为(xa xb)和(ya yb)。
[0152]

af_merge模式
[0153]
当在af_merge模式下应用cpu时,其从有效邻居重建块得到采用仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图16中所示(由按顺序的a、b、c、d、e表示)。例如,如果邻居左下块是以仿射模式编解码的(如图16中由a0所表示的),那么提取含有块a的相邻cu/pu的左上角、右上角和左下角的控制点(cp)运动矢量mv
0n
、mv
1n
和mv
2n
。基于mv
0n
、mv
1n
和mv
2n
计算当前cu/pu的左上角/右上/左下的运动矢量mv
0c
、mv
1c
和mv
2c
(其仅用于6参数仿射模型)。应当注意在vtm

2.0中,如果当前块是仿射编解码的,那么位于左上角的子块(例如,vtm中的4
×
4块)存储mv0,位于右上角的子块存储mv1。如果当前块是采用6参数仿射模型编解码的,那么位于左下角的子块存储mv2;否则(采用4参数仿射模型),lb存储mv2’。其他子块存储用于mc的mv。
[0154]
在推导出当前cu的cpmv mv
0c
、mv
1c
和mv
2c
之后,根据简化仿射运动模型方程(1)和(2),生成当前cu的mvf。为了识别出当前cu是否是采用af_merge模式编解码的,当存在至少一个以仿射模式编解码的邻居块时,在比特流中信令通知仿射标志。
[0155]
仿射merge候选列表是通过下述步骤构建的:
[0156]
1)插入继承仿射候选
[0157]
继承仿射候选是指:候选是从其有效邻居仿射编解码的块的仿射运动模型推导出的。最多两个继承仿射候选是从邻居块的仿射运动模型推导出的,并且被插入到候选列表当中。对于左侧预测子而言,扫描顺序为{a0,a1};对于上侧预测子而言,扫描顺序为{b0,b1,b2}。
[0158]
2)插入构建仿射候选
[0159]
如果仿射merge候选列表中的候选的数量小于maxnumaffinecand(例如,5),那么构建仿射候选被插入到候选列表内。构建仿射候选是指:候选是通过结合每个控制点的邻居运动信息来构建的。
[0160]
a)控制点的运动信息首先由图17所示的指定的空域邻居和时域邻居推导出的。cpk(k=1,2,3,4)表示第k个控制点。a0、a1、a2、b0、b1、b2和b3是用于预测cpk(k=1,2,3)的空域位置;t是用于预测cp4的时域位置。
[0161]
cp1、cp2、cp3和cp4的坐标分别为(0,0)、(w,0)、(h,0)和(w,h),其中,w和h是当前块的宽度和高度。
[0162]
每个控制点的运动信息是根据下述优先权顺序获得的:
[0163]

对于cp1,检查优先权为b2

>b3

>a2。如果b2可用,那么适用b2。否则,如果b2不可用,那么使用b3。如果b2和b3两者都不可用,那么使用a2。如果所有的三个候选都不可用,那么不能获得cp1的运动信息。
[0164]

对于cp2,检查优先权为b1

>b0。
[0165]

对于cp3,检查优先权为a1

>a0。
[0166]

对于cp4,使用t。
[0167]
b)其次,使用控制点的组合来构建仿射merge候选。
[0168]
i.需要三个控制点的运动信息来构建6参数仿射候选。这三个控制点可以选自下述四个组合之一({cp1,cp2,cp4}、{cp1,cp2,cp3}、{cp2,cp3,cp4}、{cp1,cp3,cp4})。组合{cp1,cp2,cp3}、{cp2,cp3,cp4}、{cp1,cp3,cp4}将被转换成由左上控制点、右上控制点和
左下控制点表示的6参数运动模型。
[0169]
ii.需要两个控制点的运动信息来构建4参数仿射候选。这两个控制点可以选自两个组合({cp1,cp2}、{cp1,cp3})之一。这两个组合将被转换成由左上控制点和右上控制点表示的4参数运动模型。
[0170]
iii.构建仿射候选的组合被按照下述顺序插入到候选列表中:{cp1,cp2,cp3}、{cp1,cp2,cp4}、{cp1,cp3,cp4}、{cp2,cp3,cp4}、{cp1,cp2}、{cp1,cp3}
[0171]
i.对于每个组合,检查每个cp的列表x的参考索引,如果它们全部相同,那么此组合具有用于列表x的有效cpmv。如果组合没有用于列表0和列表1两者的有效cpmv,那么将此组合标记为无效。否则,其有效,并且cpmv被放到子块merge列表中。
[0172]
3)用零运动矢量进行填充
[0173]
如果仿射merge候选列表中的候选的数量小于5,那么将具有零参考索引的零运动矢量插入到候选列表内,直到列表满了为止。
[0174]
更具体地,对于子块merge候选列表而言,4参数merge候选具有被设为(0,0)的mv以及被设为来自列表0的单向预测(对于p条带)和双向预测(对于b条带)的预测方向。
[0175]
在vtm4中,仿射cu的cpmv被存储到单独的缓冲器内。所存储的cpmv仅用于为最近编解码的cu生成仿射merge模式和仿射amvp模式中的继承cpmvp。从cpmv推导出的子块mv用于运动补偿、平移mv的merge/amvp列表的mv推导和去方块。为了避免对附加cpmv的图片行缓冲器,对来自于源自上方ctu的cu的仿射运动数据继承与来自正常相邻cu的继承做不同对待。如果用于仿射运动数据继承的候选cu在上方ctu行内,那么将行缓冲器中的左下和右下子块mv(而非cpmv)用于仿射mvp推导。通过这种方式,cpmv仅被存储到本地缓冲器内。如果候选cu是6参数仿射编解码的,那么仿射模型被降级至4参数模型。
[0176]

采用运动矢量差的merge(mmvd)
[0177]
将介绍最终运动矢量表达(umve,又称为mmvd)。umve用于采用所提出的运动矢量表达方法的skip模式或merge模式。
[0178]
umve重新使用与vvc中包含在常规merge候选列表当中的那些merge候选相同的merge候选。在这些merge候选当中,可以选择基本候选,并且通过所提出的运动矢量表达方法对基本候选做进一步扩充。
[0179]
umve提供了一种新的运动矢量差(mvd)表示方法,其中,采用起始点、运动幅度和运动方向表示mvd。
[0180]
所提出的这种技术照原样使用merge候选列表。但是对于umve扩充仅考虑默认merge类型(mrg_type_default_n)的候选。
[0181]
基本候选索引定义起始点。基本候选索引指示列表内的候选当中的最佳候选,如下文所述。
[0182]
表1基本候选idx
[0183]
基本候选idx0123第n mvp第1 mvp第2 mvp第3 mvp第4 mvp
[0184]
如果基本候选的数量等于1,那么不信令通知基本候选idx。
[0185]
距离索引是运动幅度信息。距离索引指示距起始点信息的预定义距离。预定义距离如下:
[0186]
表2距离idx
[0187][0188]
方向索引表示mvd相对于起始点的方向。方向索引可以表示如下文所示的四个方向。
[0189]
表3方向idx
[0190]
方向idx00011011x轴

n/an/ay轴n/an/a

[0191]
在发送skip标志或mergemerge标志之后立即信令通知umve标志。如果skip或merge标志为真,那么对umve标志进行解析。如果umve标志等于1,那么对umve语法进行解析。但是,如果不等于1,那么对affine标志进行解析。如果affine标志等于1,其为affine模式,但是如果不等于1,那么针对vtm的skip/merge模式对skip/merge索引进行解析。
[0192]
不需要因umve候选引起的附加行缓冲器。因为软件的skip/merge候选被直接用作基本候选。在使用输入umve索引的情况下,对mv的补充是刚好在运动补偿之前决定的。没有必要为此保持长的行缓冲器。
[0193]
在当前的普通测试条件下,可以选择merge候选列表中的第一merge候选或者第二merge候选作为基本候选。
[0194]
umve又被称为采用mv差的merge(mmvd)。
[0195]
此外,在条带标头中向解码器信令通知是否使用分数距离的标志tile_group_fpel_mmvd_enabled_flag。在禁用分数距离时,默认表中的距离全都乘以4,即,使用距离表{1,2,4,8,16,32,64,128}像素。由于距离表的尺寸未改变,因而距离索引的熵编解码未改变。
[0196]

解码器侧运动矢量细化(dmvr)
[0197]
在双向预测操作中,对于一个块的区域的预测而言,结合分别使用列表0的运动矢量(mv)和列表1的mv形成的两个预测块,以形成单个预测信号。在解码器侧运动矢量细化(dmvr)方法中,进一步细化双向预测的两个运动矢量。
[0198]

jem中的dmvr
[0199]
在jem设计中,通过双边模板匹配过程来细化运动矢量。在解码器中应用双边模板匹配来执行双边模板与参考图片中的重建样点之间的基于失真的搜索,从而在无需传输附加的运动信息的情况下获得细化的mv。在图20中示出了一个示例。如图20所示,双边模板被生成为两个预测块的加权组合(即,平均值),这两个预测块分别来自于列表0的初始mv0和列表1的初始mv1。模板匹配操作由计算所生成的模板和参考图片中的样点区域(围绕初始预测块)之间的成本度量构成。对于两个参考图片的每者而言,得到最低模板成本的mv被视为该列表的更新mv,以替代原始的那个。在jem中,针对每个列表搜索九个mv候选。这九个mv候选包括原始mv和8个在水平方向上或垂直方向上或两者上相对于原始mv具有一个亮度样点偏移量的周围mv。最后,两个新mv,即如图20所示的mv0’和mv1’被用于生成最终双向预测
结果。绝对差之和(sad)被用作成本度量。请注意,在计算由一个周围mv生成的预测块的成本时,使用被取整的mv(到整像素程度)而非实际mv来获得预测块。
[0200]
图20示出了基于双边模板匹配的dmvr。
[0201]

vvc中的dmvr
[0202]
对于vvc中的dmvr,假定列表0和列表1之间的mvd镜像如图21所示,并且执行双边匹配来细化mv,即在几个mvd候选当中找到最佳mvd。通过mvl0(l0x,l0y)和mvl1(l1x,l1y)来表示两个参考图片列表的mv。列表0的可以使成本函数(例如,sad)最小化的由(mvdx,mvdy)表示的mvd被定义为最佳mvd。对于sad函数而言,其被定义为列表0的参考块与列表1的参考块之间的sad,列表0的参考块是采用列表0参考图片中的运动矢量(l0x mvdx,l0y mvdy)推导的,列表1参考块是采用列表1参考图片中的运动矢量(l1x

mvdx,l1y

mvdy)推导的。
[0203]
运动矢量细化过程可以迭代两次。如图22所示,在每次迭代中,可以在两个步骤中检查最多6个mvd(具有整像素精确度)。在第一步骤中,检查mvd(0,0)、(

1,0)、(1,0)、(0,

1)、(0,1)。在第二步骤中,可以选择检查mvd(

1,

1)、(

1,1)、(1,

1)或(1,1)之一,并对其做进一步检查。假设函数sad(x,y)返回mvd(x,y)的sad值。如下决定在第二步骤中检查的由(mvdx,mvdy)表示的mvd:
[0204]
mvdx=

1;
[0205]
mvdy=

1;
[0206]
if(sad(1,0)<sad(

1,0))
[0207]
mvdx=1;
[0208]
if(sad(0,1)<sad(0,

1))
[0209]
mvdy=1;
[0210]
在第一次迭代中,起始点是信令通知的mv,并且在第二次迭代中,起始点是信令通知的mv加第一次迭代中的所选择的最佳mvd。仅在一个参考图片是在先图片并且另一参考图片是随后图片并且这两个参考图片具有距当前图片相同的图片顺序计数距离时,dmvr适用。
[0211]
图21是dmvr中在列表0和列表1之间成镜像的mvd(0,1)的示例。
[0212]
图22示出了可以在一次迭代中检查的mv。而且,vvc中的dmvr首先执行如上文所述的整数mvd细化。这是第一步骤。其后,有条件地执行分数精确度上的mvd细化,从而对运动矢量进一步细化。这是第二步骤。是否执行第二步骤的条件基于当前迭代之后的mvd是否是零mv。如果其为零mv(mv的垂直分量和水平分量为0),那么将执行第二步骤。
[0213]
如下给出分数mvd细化的细节。应当注意,mvd表示在运动补偿中使用的初始运动矢量和最终运动矢量之间的差。
[0214]
使用整数距离位置以及在这些位置上评估的成本来拟合参数误差表面,之后其被用于确定1/16像素精确度子像素偏移量。
[0215]
下面将总结所提出的方法:
[0216]
1.仅当中心位置是给定迭代中的最佳成本位置时才计算参数误差表面拟合。
[0217]
2.中心位置成本和距中心(

1,0)、(0,

1)、(1,0)和(0,1)位置上的成本用于拟合下述形式的2

d抛物线误差表面方程
[0218]
e(x,y)=a(x

x0)2 b(y

y0)2 c
[0219]
其中,(x0,y0)对应于具有最低成本的位置,c对应于最低成本值。通过求解5个未知数当中的5个方程,(x0,y0)被计算为:
[0220]
x0=(e(

1,0)

e(1,0))/(2(e(

1,0) e(1,0)

2e(0,0)))
[0221]
y0=(e(0,

1)

e(0,1))/(2((e(0,

1) e(0,1)

2e(0,0)))
[0222]
可以通过调整执行除法的精确度(即,计算商的多少位)来将(x0,y0)计算到任何所需的子像素精确度计算。对于1/16像素精度而言,只需计算商的绝对值中的4个比特,这适用于基于快速移位减法实现每个cu所需的2个除法。
[0223]
3.所计算的(x0,y0)被加到整数距离细化mv上,从而得到子像素精确细化增量mv。
[0224]
所推导出的分数运动矢量的幅度被局限为小于或者等于半个像素
[0225]
为了进一步简化dmvr的过程,提出了对jem中的设计的几项变化。更具体地,被vtm

4.0(将很快发布)采纳的dmvr设计具有下述主要特征:
[0226]

在列表0和列表1之间的(0,0)位置sad小于阈值时提早终止。
[0227]

当对于某一位置而言列表0和列表1之间的sad为零时提早终止。
[0228]

dmvr的块尺寸:w
×
h>=64&&h>=8,其中,w和h是块的宽度和高度。
[0229]

对于cu尺寸>16
×
16的dmvr而言,将cu划分成多个16
×
16子块。当只有cu的宽度或高度大于16时,仅在垂直方向或水平方向上对其进行划分。
[0230]

参考块尺寸(w 7)
×
(h 7)(对于亮度而言)。
[0231]

基于25点sad的整像素搜索(即,(

)2细化搜索范围,单个阶段)
[0232]

基于双线性插值的dmvr。
[0233]

基于“参数误差表面方程”的子像素细化。仅当在最后一次mv细化迭代中最低sad成本不等于零并且最佳mvd为(0,0)时执行此过程。
[0234]

亮度/色度mc w/参考块填充(如果需要的话)
[0235]

仅用于mc和tmvp的细化的mv。
[0236]

dmvr的使用
[0237]
在下述条件均为真时,可以启用dmvr:
[0238]

sps中的dmvr启用标志(即,sps_dmvr_enabled_flag)等于1。
[0239]

tpm标志、帧间仿射标志和子块merge标志(要么atmvpmerge,要么仿射merge)标志全都等于0。
[0240]

merge标志等于1。
[0241]

当前块是双向预测的,并且当前图片与列表1中的参考图片之间的poc距离等于列表0中的参考图片与当前图片之间的poc距离。
[0242]

当前cu高度大于或等于8
[0243]

亮度样点的数量(cu宽度
×
高度)大于或等于64
[0244]

dmvr中的所需参考样点
[0245]
对于具有尺寸w
×
h的块而言,假设最大允许mvd值是 /

偏移量(例如,vvc中为2),并且滤波器尺寸为filtesize(例如,在vvc中对于亮度为8并且对于色度为4),那么需要(w 2
×
offset filtersize

1)
×
(h 2
×
offset filtersize

1)个参考样点。为了降低存储器带宽,仅提取中心的(w filtersize

1)
×
(h filtersize

1)个参考样点,并且通过重复所
提取的样点的边界来生成其他像素。在图23中示出了8
×
8块的示例。
[0246]
在运动矢量细化期间,使用这些参考样点执行双线性运动补偿。与此同时,还使用这些参考样点执行最终运动补偿。
[0247]
图23示出了采用填充的所需参考样点的示例。
[0248]

组合帧内和帧间预测(ciip)
[0249]
提出了多假设预测,其中,组合帧内和帧间预测是一种生成多个假设的方式。
[0250]
在应用多假设预测改善帧内模式时,多假设预测结合了一种帧内预测和一种merge索引预测。在merge cu中,针对merge模式信令通知一个标志,从而在该标志为真时从帧内候选列表选择帧内模式。对于亮度分量而言,帧内候选列表是从包括dc模式、平面模式、水平模式和垂直模式在内的4种帧内预测模式推导的,并且帧内候选列表的尺寸可以是3或4,取决于块形状。当cu宽度大于cu高度的二倍时,水平模式被排除在帧内模式列表之外,并且当cu高度大于cu宽度的二倍时,垂直模式被从帧内模式列表中去除。使用加权平均来结合通过帧内模式索引选择的一种帧内预测模式和通过merge索引选择的一种merge索引预测。对于色度分量而言,总是应用dm,而无需多余的信令。如下描述用于结合预测的权重。在选择dc或平面模式,或者cb宽度或高度小于4时,应用相等权重。对于那些具有大于或者等于4的cb宽度和高度的cb而言,在选择水平/垂直模式时,一个cb首先被垂直/水平划分成四个等面积区域。被表示为(w_intra
i
,w_inter
i
)的每个权重集将被应用于对应区域,其中,i从1到4,并且(w_intra1,w_inter1)=(6,2),(w_intra2,w_inter2)=(5,3),(w_intra3,w_inter3)=(3,5),(w_intra4,w_inter4)=(2,6)。(w_intra1,w_inter1)用于最接近参考样点的区域,而(w_intra4,w_inter4)用于离参考样点最远的区域。之后,可以通过对两个加权预测求和并且右移3个比特来计算组合预测。此外,可以将用于预测子的帧内假设的帧内预测模式保存起来,以供接下来的相邻cu的参考。
[0251]
在vtm4中,当cu是以merge模式编解码的时,并且如果cu含有至少64个亮度样点(也就是说,cu宽度乘以cu高度等于或者大于64),那么信令通知附加的标志,以指示是否对当前cu应用组合帧间/帧内预测(ciip)。
[0252]
3.问题
[0253]
ciip采用帧内预测和帧间预测之间的加权组合,这在对具有清晰边缘的屏幕内容进行编解码时可能不太有效率。其可能使预测信号模糊,并进一步损害编解码性能。
[0254]
4.实施例和技术的示例列举
[0255]
提出了在针对一个块启用ciip时,该块内的某些样点可以仅从帧内预测来预测,而其他的则可以仅从帧间预测来预测。
[0256]
下文的详细列举应被视为解释一般概念的示例。不应狭义地解释这些技术。此外,这些发明可以以任何方式组合。
[0257]
除了下文提及的ciip之外,下文描述的方法还可以适用于其他解码器运动信息推导技术。
[0258]
1.针对预测单元/编解码块/区域在ciip模式中可以=更新权重。
[0259]
a.在一个示例中,可以将ciip模式中的被表示为(w_intra
i
,w_inter
i
)(其中i从1到4)的权重集更新为(w_intra1,w_inter1)=(n,0),(w_intra2,w_inter2)=(0,n),(w_intra3,w_inter3)=(0,n)和(w_intra4,w_inter4)=(0,n)
[0260]
b.在一个示例中,可以将ciip模式中的被表示为(w_intra
i
,w_inter
i
)(其中i从1到4)的权重集更新为(w_intra1,w_inter1)=(n,0),(w_intra2,w_inter2)=(n,0),(w_intra3,w_inter3)=(0,n)和(w_intra4,w_inter4)=(0,n)
[0261]
c.在一个示例中,可以将ciip模式中的被表示为(w_intra
i
,w_inter
i
)(其中i从1到4)的权重集更新为(w_intra1,w_inter1)=(n,0),(w_intra2,w_inter2)=(n,0),(w_intra3,w_inter3)=(n,0)和(w_intra4,w_inter4)=(0,n)
[0262]
d.在一个示例中,根据上述方法更新仅一些部分的权重,并且其他部分仍然使用当前权重。
[0263]
e.在一个示例中,上方的k行像素可以具有(intra,inter)权重(n,0),并且其他行可以具有权重(0,n)。
[0264]
f.在一个示例中,左侧的k列像素可以具有(intra,inter)权重(n,0),并且其他列可以具有权重(0,n)。
[0265]
g.在一个示例中,n被设为1。替代地,当最终预测块是两个预测块的平均值除以8时,n被设为8。
[0266]
h.在一个示例中,在使用上述更新的权重集时,在ciip模式中加权预测可以被实现成块复制。
[0267]
i.在一个示例中,针对预测单元/编解码块/区域的ciip模式中的更新的权重的值可以取决于例如,在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的消息(例如,标志),。
[0268]
2.对针对预测单元/编解码块/区域的ciip模式中的权重进行更新的使用的指示可以取决于例如,在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的消息(例如,标志)。
[0269]
a.在一个示例中,在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的标志(例如,tile_group_mhintra_scc_weight_enabled_flag)为真,那么可以更新ciip模式中的权重。换言之,当在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的标志为真时,可以更新ciip中的权重。
[0270]
b.在一个示例中,在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的标志(例如,tile_group_mhintra_scc_weight_enabled_flag)为假,那么可以不更新ciip模式中的权重。换言之,当在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的标志为假时,可以不更新ciip内的权重。
[0271]
c.在一个示例中,对ciip模式中的权重进行更新的使用的指示可以被推断出,并且其可以取决于
[0272]
a)当前块维度
[0273]
b)当前量化参数
[0274]
c)变换类型
[0275]
d)帧间运动矢量指向的块的编解码模式
[0276]
e)运动矢量精确度
[0277]
f)ciip中使用的merge索引
[0278]
g)ciip中使用的帧内预测模式
[0279]
h)ciip中使用的运动矢量的幅度
[0280]
i)相邻块使用哪一权重集的指示
[0281]
d.在一个示例中,对ciip模式中的权重进行更新的使用的指示可以在子块级上被信令通知。
[0282]
e.在一个示例中,对ciip模式中的权重进行更新的使用的指示可以在子块级上被推断。
[0283]
3.在ciip模式下可以提供多个权重集。针对预测单元/编解码块/区域使用哪一权重集的指示可以取决于例如,在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知的消息(例如,标志)。
[0284]
a.在一个示例中,可以在序列(例如,sps)/条带(例如,条带标头)/片组(例如,片组标头)/图片级(例如,图片标头)/块级(例如,ctu或cu)中信令通知消息(例如,标志),以指示在ciip模式中可以使用哪一权重集。
[0285]
b.替代性地,在一个示例中,在ciip模式中使用哪一权重集的指示可以被推断,此外,在一个示例中,对其的推断可以基于
[0286]
a)当前块维度
[0287]
b)当前量化参数
[0288]
c)ciip中使用的merge索引
[0289]
d)ciip中使用的帧内预测模式
[0290]
e)ciip内使用的运动矢量的幅度
[0291]
f)对相邻块使用哪一权重集的指示
[0292]
c.在一个示例中,在ciip模式中使用哪一权重集的指示可以在子块级上被信令通知。
[0293]
d.在一个示例中,在ciip模式中使用哪一权重集的指示可以在子块级上被推断。
[0294]

实施例
[0295]
7.3.2原始字节序列有效负载、结尾比特(trailing bit)和字节对准语法
[0296]
7.3.2.1序列参数集rbsp语法
[0297][0298][0299]
sps_scc_mhintra_weight_enabled_flag指定对ciip模式中的权重进行更新。sps_scc_mhintra_weight_enabled_flag等于0指定对ciip模式中的权重不进行更新。如果不存在sps_scc_mhintra_weight_enabled_flag,那么推断其为0。
[0300]
7.3.4片组标头语法
[0301]
7.3.4.1一般片组标头语法
[0302][0303][0304]
8.5.7.6用于组合merge和帧内预测的加权样点预测过程
[0305]
对这一过程的输入为:
[0306]

当前编解码块的宽度cbwidth,
[0307]

当前编解码块的高度cbheight,
[0308]

两个(cbwidth)x(cbheight)阵列predsamplesinter和predsamplesintra
[0309]

帧内预测模式predmodeintra
[0310]

指定颜色分量索引的变量cidx
[0311]
这一过程的输出是预测样点值的(cbwidth)
×
(cbheight)阵列predsamplescomb
[0312]
变量bitdepth的推导如下:
[0313]

如果cidx等于0,那么bitdepth被设为等于bitdepth
y

[0314]

否则,bitdepth被设为等于bitdepth
c

[0315]
预测样点predsamplescomb[x][y](其中,x=0..cbwidth

1并且y=0..cbheight

1)的推导如下:
[0316]

权重w的推导如下:
[0317]

如果下述条件中的一者或多者为真,那么w被设为等于4:
[0318]

cbwidth小于4。
[0319]

cbheight小于4。
[0320]

predmodeintra等于intra_planar
[0321]

predmodeintra等于intra_dc。
[0322]

否则,如果predmodeintra为intra_angular50,那么在表8

11中规定了w,其中,npos等于y并且nsize等于cbheight。
[0323]

否则,如果predmodeintra为intra_angular18,那么在表8

11中规定了w,其中,npos等于x并且nsize等于cbwidth。
[0324]

否则,w被设为等于4。
[0325]

预测样点predsamplescomb[x][y]的推导如下:
[0326]

if tile_group_mhintra_scc_weight_enabled_flag is 1,
[0327][0328]

if tile_group_mhintra_scc_weight_enabled_flag is 0,
[0329][0330]
表格8

11

作为位置np和尺寸ns的函数的w1的规定
[0331][0332]
表格8

12

作为位置np和尺寸ns的函数的w2的规定
[0333][0334]
图24是视频处理装置1000的框图。装置1000可用于实施本文所述的一种或多种方法。装置1000可包含在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置1000可
包括一个或多个处理器1002、一个或多个存储器1004和视频处理硬件1006。(一个或多个)处理器1002可以被配置为实现本文件中描述的一种或多种方法。(一个或多个)存储器1004可用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1006可用于在硬件电路系统中实现本文件中描述的一些技术。
[0335]
图25是视频处理的示例方法2500的流程图。方法2500包括在当前视频区域与当前视频块的比特流表示之间的转换期间更新(2502)用于组合帧间和帧内预测模式的权重,以及基于更新执行(2504)转换。
[0336]
在权利要求章节和第4章中描述了附加的特征。
[0337]
图26是视频处理的示例方法2600的流程图。方法2600包括:针对视频的第一块与视频的第一块的比特流表示之间的转换,确定(2502)启用还是禁用对在该转换期间要应用的组合帧内和帧间预测(ciip)模式中的权重进行更新的使用;响应于确定启用对ciip模式中的权重进行更新,更新(2504)ciip模式中应用在第一块的部分像素中的权重;以及基于更新的权重和未更新的权重执行(2506)转换。
[0338]
在一些示例中,应用ciip模式,从而基于第一块的中间帧内预测和中间merge帧间预测的加权和来推导第一块的最终预测。
[0339]
在一些示例中,在该转换期间针对预测单元、编解码块和区域中的至少一者应用ciip模式。
[0340]
在一些示例中,ciip模式中应用在第一块的部分像素中的权重包括一个或多个权重集,并且每个权重集(w_intra
i
,w_inter
i
)包括用于帧内模式的权重(w_intra
i
)和用于帧间模式的权重(w_inter
i
),并且被应用于对应的预测单元或编解码块或区域,其中,i为整数。
[0341]
在一些示例中,i为从1到4。
[0342]
在一些示例中,权重集(w_intra1,w_inter1)用于最接近参考样点的区域,并且(w_intra4,w_inter4)用于离参考样点最远的区域。
[0343]
在一些示例中,将ciip模式中的权重集更新为(w_intra1,w_inter1)=(n,0)、(w_intra2,w_inter2)=(0,n)、(w_intra3,w_inter3)=(0,n)和(w_intra4,w_inter4)=(0,n),n为整数。
[0344]
在一些示例中,将ciip模式中的权重集更新为(w_intra1,w_inter1)=(n,0)、(w_intra2,w_inter2)=(n,0)、(w_intra3,w_inter3)=(0,n)和(w_intra4,w_inter4)=(0,n),n为整数。
[0345]
在一些示例中,将ciip模式中的权重集被更新为(w_intra1,w_inter1)=(n,0)、(w_intra2,w_inter2)=(n,0)、(w_intra3,w_inter3)=(n,0)和(w_intra4,w_inter4)=(0,n),n为整数。
[0346]
在一些示例中,用于第一块的上方k行处的像素的权重集(w_intra,w_inter)具有权重(n,0),并且用于其他行的权重集(w_intra,w_inter)具有权重(0,n),k为整数。
[0347]
在一些示例中,用于第一块的左侧k列处的像素的权重集(w_intra,w_inter)具有权重(n,0),并且用于其他列的权重集(w_intra,w_inter)具有权重(0,n),k为整数。
[0348]
在一个示例中,n被设为1。
[0349]
在一些示例中,在最终预测块是两个预测块的加权平均值除以8时,n被设为8。
[0350]
在一些示例中,当在该转换期间使用更新的权重集时,加权预测在ciip模式中被实现成块复制。
[0351]
在一些示例中,ciip模式中应用在第一块的部分像素中的权重的值取决于在下述选项中的至少一者中信令通知的消息:包括序列参数集(sps)的序列级、包括条带标头的条带级、包括片组标头的片组级、包括图片标头的图片级以及包括编解码树单元(ctu)和编解码单元(cu)的块级。
[0352]
在一些示例中,该确定基于对ciip模式中的权重进行更新的使用的指示。
[0353]
在一些示例中,对ciip模式中的权重进行更新的使用的指示取决于在下述选项中的至少一者中信令通知的消息:包括序列参数集(sps)的序列级、包括条带标头的条带级、包括片组标头的片组级、包括图片标头的图片级以及包括编解码树单元(ctu)和编解码单元(cu)的块级。
[0354]
在一些示例中,该消息包括存在于比特流表示中的标志。
[0355]
在一些示例中,当该标志为真时,启用对ciip模式中的权重进行更新的使用。
[0356]
在一些示例中,在该标志为假时,禁用对ciip模式中的权重进行更新的使用。
[0357]
在一些示例中,该标志是tile_group_mhintra_scc_weight_enabled_flag。
[0358]
在一些示例中,对ciip模式中的权重进行更新的使用的指示是被推断出的。
[0359]
在一些示例中,对ciip模式中的权重进行更新的使用的指示取决于下述选项中的至少一者:
[0360]
a)当前块维度;
[0361]
b)当前量化参数;
[0362]
c)变换类型;
[0363]
d)帧间运动矢量指向的块的编解码模式;
[0364]
e)运动矢量精确度;
[0365]
f)ciip模式中使用的merge索引;
[0366]
g)ciip模式中使用的帧内预测模式;
[0367]
h)ciip模式内使用的运动矢量的幅度;
[0368]
i)第一块的相邻块使用哪一权重集的指示。
[0369]
在一些示例中,对ciip模式中的权重进行更新的使用的指示是在子块级上被信令通知的。
[0370]
在一些示例中,对ciip模式中的权重进行更新的使用的指示是在子块级上被推断的。
[0371]
图27是视频处理的示例方法2700的流程图。方法2700包括:针对视频的第一块与视频的第一块的比特流表示之间的转换,从组合帧内和帧间预测(ciip)模式中正在使用的多个权重集中确定(2702)权重集,所述确定取决于存在于下述选项中的至少一者中的消息:包括序列参数集(sps)的序列级、包括条带标头的条带级、包括片组标头的片组级、包括图片标头的图片级以及包括编解码树单元(ctu)和编解码单元(cu)的块级;基于所确定的权重集,应用(2704)ciip模式,以生成第一块的最终预测;以及基于最终预测执行(2706)该转换;其中,第一块的最终预测是基于第一块的中间帧内预测和中间merge帧间预测的加权和生成的。
[0372]
在一些示例中,在该转换期间针对预测单元、编解码块和区域中的至少一者应用该ciip模式中的多个权重集中的至少一者。
[0373]
在一些示例中,该消息包括存在于比特流表示中的标志。
[0374]
在一些示例中,信令通知该消息,以指示要在ciip模式下使用哪一权重集。
[0375]
在一些示例中,对在ciip模式中正被使用的多个权重集中的哪一权重集的指示是被推断的。
[0376]
在一些示例中,对在ciip模式中正被使用的所述多个权重集中的哪一权重集的指示取决于下述选项中的至少一者:
[0377]
a)当前块维度;
[0378]
b)当前量化参数;
[0379]
c)ciip模式中使用的merge索引;
[0380]
d)ciip模式中使用的帧内预测模式;
[0381]
e)ciip模式中使用的运动矢量的幅度;
[0382]
f)第一块的相邻块使用哪一权重集的指示。
[0383]
在一些示例中,对在ciip模式中正被使用的多个权重集中的哪一权重集的指示是在子块级上被信令通知的。
[0384]
在一些示例中,对在ciip模式中正被使用的多个权重集中的哪一权重集的指示是在子块级上被推断的。
[0385]
在一些示例中,该转换由比特流表示生成视频的第一块。
[0386]
在一些示例中,该转换由视频的第一块生成比特流表示。
[0387]
本文中所公开的和描述的其他方案、示例、实施例、模块和功能操作可以在数字电子电路系统、或计算机软件、固件或硬件,包括本文中所公开的结构及其结构等效体,或其中一个或多个的组合中实现。公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即编解码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机。除硬件外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编解码信息以供传输到合适的接收器设备。
[0388]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0389]
本文中描述的过程和逻辑流可以通过一个或多个可编程处理器来执行,该处理器
执行一个或多个计算机程序,通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0390]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接以从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0391]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求的范围的限制,而应解释为对特定技术的特定实施例专有的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施例中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是来自要求保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求保护的组合可针对子组合或子组合的变体。
[0392]
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或先后顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
[0393]
仅描述了一些实现方式和示例,其他实现方式、增强和变体可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜