视频数据的帧间预测方法、装置、电子设备及存储介质与流程

文档序号:32071489发布日期:2022-11-05 02:39阅读:125来源:国知局
视频数据的帧间预测方法、装置、电子设备及存储介质与流程

1.本公开涉及视频编码技术领域,尤其涉及一种视频数据的帧间预测方法、装置、电子设备及存储介质。


背景技术:

2.随着视频编解码领域的发展,出现多种视频编码标准,例如高效率视频编码(high efficiency video coding,hevc)以及通用视讯编码(versatile video coding,vvc)标准。
3.相关技术中,在hevc标准以及vvc标准中,可以采用帧间融合预测模式对视频帧数据进行预测,在帧间融合预测模式下,通常会复用目标编码块周围的已编码块的编码信息来对该目标编码块进行预测。具体地,当前编码块需要在该块相邻的空域、时域等位置确定多个已经进行编码的候选块,并通过率失真优化的方法,在多个已经进行编码的候选块中确定编码性能最优的候选块,这样,当前编码块可以将该编码性能最优的候选块的索引值写进码流中,并基于码流中的索引值进行预测。
4.然而,通过确定编码性能最优的候选块,并将该候选块的索引值写进码流中进行预测的预测模式,导致编码块的编码效率较低。


技术实现要素:

5.本公开提供一种视频数据的帧间预测方法、装置、电子设备及存储介质,以至少解决相关技术中编码块的编码效率较低的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种视频数据的帧间预测方法,包括:在视频数据的当前编码块的帧间预测模式是帧间融合预测模式的情况下,获取所述当前编码块的多个空域候选块的运动信息;基于各所述空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目;在所述目标数目大于或者等于预设阈值的情况下,根据所述目标空域候选块的运动信息,确定所述当前编码块的目标运动信息,并基于所述当前编码块的目标运动信息,对所述当前编码块进行预测。
6.在其中一个实施例中,所述运动信息包括预测数据以及运动矢量数据,所述预测数据是用于视频数据进行帧间预测过程中所使用到的数据;所述基于各所述空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目,包括:针对于所述当前编码块的多个空域候选块中的每一所述空域候选块,基于预设的运动矢量数据与象限的对应关系,确定所述空域候选块的运动矢量数据对应的目标象限;在所述当前编码块的多个空域候选块中,确定预测数据相同且所述目标象限相同的目标空域候选块;
确定所述目标空域候选块的目标数目。
7.在其中一个实施例中,所述运动信息包括预测数据以及运动矢量数据,所述预测数据是用于视频数据进行帧间预测过程中所使用到的数据;所述根据所述目标空域候选块的运动信息,确定所述当前编码块的目标运动信息,包括:将目标空域候选块的预测数据作为所述当前编码块的预测数据;对多个所述目标空域候选块的运动矢量数据进行均值处理,确定所述均值为所述当前编码块的运动矢量数据;基于所述当前编码块的预测数据以及所述当前编码块的运动矢量数据,得到所述当前编码块的目标运动信息。
8.在其中一个实施例中,所述基于所述当前编码块的目标运动信息,对所述当前编码块进行预测,包括:基于所述当前编码块的目标运动信息,确定所述当前编码块对应的预测参考视频帧,以及在所述预测参考视频帧包含的多个参考变换块中,确定预测参考变换块以及所述预测参考变换块的像素数据,所述预测参考变换块为用于预测当前编码块的像素数据的数据块;基于所述预测参考变换块的像素数据预测所述当前编码块的像素数据,得到所述当前编码块的预测像素数据。
9.在其中一个实施例中,所述运动矢量数据包括第一方向矢量对应的数值以及第二方向矢量对应的数值;所述基于预设的运动矢量数据与象限的对应关系,确定所述空域候选块的运动矢量数据对应的目标象限,包括:在所述空域候选块的第一方向矢量对应的数值大于目标值,且所述空域候选块的第二方向矢量对应的数值大于目标值的情况下,确定所述空域候选块的运动矢量数据对应的象限为第一象限,确定所述第一象限为目标象限;在其中一个实施例中,所述方法还包括:在所述空域候选块的第一方向矢量对应的数值小于或者等于目标值,且所述空域候选块的第二方向矢量对应的数值小于或者等于目标值情况下,确定所述空域候选块的运动矢量数据对应的象限为第三象限,并确定所述第三象限为目标象限。
10.在其中一个实施例中,所述方法还包括:在所述目标数目小于所述预设阈值的情况下,在所述当前编码块的多个候选块中,根据预设的率失真优化策略,确定目标候选块;确定所述目标候选块在所述当前编码块的多个候选块中的目标索引值,编码所述目标索引值,并基于编码后的所述目标索引值对所述当前编码块进行帧间预测。
11.根据本公开实施例的第二方面,提供一种视频数据的帧间预测装置,包括:获取单元,被配置为执行在视频数据的当前编码块的帧间预测模式是帧间融合预测模式的情况下,获取所述当前编码块的多个空域候选块的运动信息;第一确定单元,被配置为执行基于各所述空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目;
第二确定单元,被配置为执行在所述目标数目大于或者等于预设阈值的情况下,根据所述目标空域候选块的运动信息,确定所述当前编码块的目标运动信息,并基于所述当前编码块的目标运动信息,对所述当前编码块进行预测。
12.在其中一个实施例中,所述运动信息包括预测数据以及运动矢量数据,所述预测数据是用于视频数据进行帧间预测过程中所使用到的数据;所述第一确定单元,包括:第一确定子单元,被配置为执行针对于所述当前编码块的多个空域候选块中的每一所述空域候选块,基于预设的运动矢量数据与象限的对应关系,确定所述空域候选块的运动矢量数据对应的目标象限;第二确定子单元,被配置为执行在所述当前编码块的多个空域候选块中,确定预测数据相同且所述目标象限相同的目标空域候选块;确定所述目标空域候选块的目标数目。
13.在其中一个实施例中,所述运动信息包括预测数据以及运动矢量数据,所述预测数据是用于视频数据进行帧间预测过程中所使用到的数据;所述第二确定单元,包括:第三确定子单元,被配置为执行将目标空域候选块的预测数据作为所述当前编码块的预测数据;均值子单元,被配置为执行对多个所述目标空域候选块的运动矢量数据进行均值处理,确定所述均值为所述当前编码块的运动矢量数据;基于所述当前编码块的预测数据以及所述当前编码块的运动矢量数据,得到所述当前编码块的目标运动信息。
14.在其中一个实施例中,所述第二确定单元,还包括:第四确定子单元,被配置为执行基于所述当前编码块的目标运动信息,确定所述当前编码块对应的预测参考视频帧,以及在所述预测参考视频帧包含的多个参考变换块中,确定预测参考变换块以及所述预测参考变换块的像素数据,所述预测参考变换块为用于预测当前编码块的像素数据的数据块;预测子单元,被配置为执行基于所述预测参考变换块的像素数据预测所述当前编码块的像素数据,得到所述当前编码块的预测像素数据。
15.在其中一个实施例中,所述运动矢量数据包括第一方向矢量对应的数值以及第二方向矢量对应的数值;所述第一确定子单元,具体用于:在所述空域候选块的第一方向矢量对应的数值大于目标值,且所述空域候选块的第二方向矢量对应的数值大于目标值情况下,确定所述空域候选块的运动矢量数据对应的象限为第一象限,确定所述第一象限为目标象限;在所述空域候选块的第一方向矢量对应的数值小于或者等于目标值,且所述空域候选块的第二方向矢量对应的数值小于或者等于目标值情况下,确定所述空域候选块的运动矢量数据对应的象限为第三象限,并确定所述第三象限为目标象限。
16.在其中一个实施例中,所述装置还包括:第三确定单元,被配置为执行在所述目标数目小于所述预设阈值的情况下,在所
述当前编码块的多个候选块中,根据预设的率失真优化策略,确定目标候选块;第四确定单元,被配置为执行确定所述目标候选块在所述当前编码块的多个候选块中的目标索引值,编码所述目标索引值,并基于编码后的所述目标索引值对所述当前编码块进行帧间预测。
17.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的视频数据的帧间预测方法。
18.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面中任一项所述的视频数据的帧间预测方法。
19.根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如第一方面中任一项所述的视频数据的帧间预测方法。
20.本公开的实施例提供的技术方案至少带来以下有益效果:在视频数据的当前编码块的帧间预测模式是帧间融合预测模式的情况下,获取编码块的多个空域候选块的运动信息;基于各空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目;在目标数目大于或者等于预设阈值的情况下,根据目标空域候选块的运动信息,确定编码块的目标运动信息,并基于编码块的目标运动信息,对编码块进行预测。通过采用本公开,可以在编码块的多个空域候选块高度相似的情况下,根据空域候选块的运动信息确定视频数据的编码块的运动信息,并对编码块进行预测,无需对索引值进行编码,也不需要将索引值写入码流中,可以降低对编码块的码率消耗,有效地提高帧间融合预测模式的编码性能,提高编码效率。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
22.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
23.图1是根据一示例性实施例示出的一种视频数据的帧间预测方法的流程图。
24.图2是根据一示例性实施例示出的当前编码块的空域候选块的位置示意图。
25.图3是根据一示例性实施例示出的一种视频数据的帧间预测方法中确定目标数目步骤的流程图。
26.图4是根据一示例性实施例示出的一种视频数据的帧间预测方法中确定目标运动信息步骤的流程图。
27.图5是根据一示例性实施例示出的一种视频数据的帧间预测方法中确定像素数据步骤的流程图。
28.图6是根据一示例性实施例示出的一种视频数据的帧间预测方法中预测步骤的流
程图。
29.图7是根据一示例性实施例示出的一种视频数据的帧间预测装置的框图。
30.图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
31.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
32.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
33.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
34.视频编码技术包括帧内/帧间预测、变换、量化、熵编码等技术。在hevc视频编码标准以及vvc视频编码标准中,预测可以包括帧内预测和帧间预测,其中,帧间预测包含普通帧间预测模式和帧间融合预测模式(merge模式),编码信息可以包括运动信息以及其他信息。在普通帧间预测模式中,当前编码块需要将该编码块的运动信息以及参考帧索引等信息写进码流中;在帧间融合预测模式中,当前编码块可以对该当前编码块周围的已经进行编码的编码块的编码信息进行复用。
35.具体地,可以在空间维度上与该当前编码块相邻的位置上构造多个候选块,还可以在时间维度上与该当前编码块相邻的位置上构造多个候选块,多个维度分别对应的多个候选块可以组成候选列表。该候选列表可以按照顺序依次排列,在一个示例中候选列表可以是0,1,

p-1,其中,p可以是hevc编码标准以及vvc编码标准规定的候选列表的最大个数。
36.基于此,该当前编码块可以通过率失真优化的方法,在候选列表中确定编码性能最优的目标候选块,并确定目标候选块在候选列表中的索引值,将该索引值作为merge索引值进行编码,使该merge索引值写入码流中,该merge索引值表示当前编码块复用了哪一个块的编码信息。然而,相关技术中并没有考虑复用的编码信息之间的相关性,导致编码性能较低,编码效率也较低。
37.因此,本公开提出了一种可以提高编码效率的视频数据的帧间预测方法。
38.图1是根据一示例性实施例示出的一种视频数据的帧间预测方法的流程图,如图1所示,视频数据的帧间预测方法可以应用于电子设备中,包括以下步骤。
39.在步骤s110中,在视频数据的当前编码块的帧间预测模式是帧间融合预测模式的情况下,获取当前编码块的多个空域候选块的运动信息。
40.其中,视频数据可以是视频帧数据,该视频帧数据可以是音视频数据中的视频数据,该视频帧数据可以包括多个编码块。当前编码块是在当前时刻正在进行编码处理的视
频帧数据块,视频帧数据中的编码块的尺寸信息可以是根据当前编码块对应的视频数据编码标准确定的;空域候选块是在空间维度上位于该当前编码块周围的多个位置上视频帧数据块,可以理解的是,当前编码块还包括在时间维度上位于当前编码块周围的多个位置上的视频帧数据块。
41.在实施中,电子设备可以预先确定当前编码块的帧间预测模式,在当前编码块的帧间预测模式是帧间融合预测模式的情况下,电子设备可以根据预设的视频数据编码标准对应的候选块确定策略,确定该当前编码块对应的空域候选块的数目、以及各空域候选块的位置信息。基于以上方案,电子设备可以分别获取各空域候选块的运动信息,其中,在不同的视频数据编码标准下,该当前编码块以及该当前编码块的多个空域候选块的运动信息不同。
42.可选地,图2可以是当前编码块的多个空域候选块(可分别记为a0、a1、b0、b1、b2)与该当前编码块(可记为a)的相对位置的示意图。
43.在步骤s120中,基于各空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目。
44.具体地,电子设备可以获取当前编码块的所有空域候选块的运动信息,并对各空域候选块的运动信息进行比较,在当前编码块的多个空域候选块中,确定运动信息满足预设相似条件的空域候选块,作为目标空域候选块。这样,电子设备可以对目标空域候选块的数目进行统计,得到目标数目。其中,预设相似条件可以是各空域候选块的运动信息相同。
45.在步骤s130中,在目标数目大于或者等于预设阈值的情况下,根据目标空域候选块的运动信息,确定当前编码块的目标运动信息,并基于当前编码块的目标运动信息,对当前编码块进行预测。
46.其中,预设阈值可以是根据实际应用场景确定的,也可以是根据该当前编码块对应的多个空域候选块的数目确定的,例如电子设备可以根据多个空域候选块的数目以及预设权重进行加权计算,得到预设阈值。在一个示例中,在多个空域候选块的数目是5的情况下,电子设备可以确定预设权重为百分之八十,这样,计算得到的预设阈值可以是4。
47.在实施中,电子设备可以将多个目标空域候选块的目标数目与预设阈值进行比较,得到比较结果。在比较结果为目标数目大于或者等于预设阈值的情况下,当前编码块对应的多个空域候选块中,有较多数目个运动信息一致的空域候选块,那么可以确定当前编码块的运动信息与上述运动信息一致的空域候选块的运动信息一致的概率较大。这样,电子设备可以基于各空域候选块的运动信息,确定当前编码块的目标运动信息。在确定当前编码块的目标运动信息之后,电子设备可以基于该目标运动信息,对当前编码块的像素数据进行预测,得到当前编码块的预测像素数据。
48.上述视频数据的帧间预测方法中,在视频数据的当前编码块的帧间预测模式是帧间融合预测模式的情况下,获取当前编码块的多个空域候选块的运动信息;基于各空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目;在目标数目大于或者等于预设阈值的情况下,根据目标空域候选块的运动信息,确定当前编码块的目标运动信息,并基于当前编码块的目标运动信息,对当前编码块进行预测。通过采用本公开,可以在当前编码块的多个空域候选块高度相似的情况下,根据空域候选块的运动信息确定视频帧数据对应的当前编码块的运动信息,并对当前编码块进行预测,无需对索引
值进行编码,也不需要将索引值写入码流中,降低对编码块的码率消耗,有效提高帧间融合预测模式的编码性能,提高编码效率。
49.在一示例性实施例中,运动信息包括预测数据以及运动矢量数据。
50.其中,预测数据是用于对视频数据进行预测的数据,在不同的视频数据编码标准下,预测数据所包含的信息种类不同。运动矢量数据包括第一方向矢量对应的数值以及第二方向矢量对应的数值。在一个示例中,当前编码块的运动矢量数据可以是(x,y),表示的含义可以是在第一方向上向该第一方向的正方向偏移x个单位,在第二方向上向第二方向的正方向偏移y个单位。例如,第一方向可以是水平方向,第二方向可以是垂直方向,第一方向的正方向可以是向右的方向,第二方向的正方向可以是向上的方向。
51.在一个示例中,如果当前编码块是处于在hevc编码标准下的帧间融合预测模式,则预测数据可以包括帧间预测方向(inter direction,id)以及参考索引(reference idx,ri);在另一个示例中,如果当前编码块是处于在vvc编码标准下的帧间融合预测模式,则预测数据可以包括帧间预测方向(inter direction,id)、参考索引(reference idx,ri)、双向权重预测索引(bi-prediction with cu-level weight idx,bi)、像素插值索引(half-pel interpolation filter,hf)以及自适应运动矢量精度索引(adaptive mv resolution idx,ai)。
52.相应地,如图3所示,在步骤s120中,基于各空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目具体可以通过以下步骤实现:在步骤s121中,针对于当前编码块的多个空域候选块中的每一空域候选块,基于预设的运动矢量数据与象限的对应关系,确定空域候选块的运动矢量数据对应的目标象限。
53.在实施中,这样,电子设备可以对当前编码块的多个空域候选块中的每一空域候选块,根据预设的运动矢量数据与象限的对应关系,确定该空域候选块的运动矢量数据对应的象限。
54.在步骤s122中,在当前编码块的多个空域候选块中,确定预测数据相同且目标象限相同的目标空域候选块。
55.在实施中,在当前编码块的多个空域候选块中,电子设备可以筛选预测数据相同的空域候选块且目标象限一致的空域候选块,并将该多个空域候选块作为目标空域候选块,在步骤s123中,确定目标空域候选块的目标数目。
56.在实施中,电子设备可以对目标空域候选块的数量进行统计,得到目标空域候选块的目标数目。
57.在一个示例中,基于目标象限,电子设备可以对当前编码块的多个空域候选块进行划分,将目标象限相同的空域候选块划分至同一空域候选块集中。经过对当前编码块的多个空域候选块的目标象限的判断,电子设备可以得到至少一个空域候选块集,其中,每一个空域候选块集内包含的多个空域候选块的目标象限是相同的,各个空域候选块集之间的分别对应的目标象限是不同的。
58.基于以上方案,针对于每一个空域候选块集,电子设备可以对其包含的多个空域候选块的预测数据是否相同进行判断,在该空域候选块集中,电子设备可以将预测数据相
同的空域候选块划分至同一子集中。这样,经过对该空域候选块集中包含的多个空域候选块的预测数据的判断,电子设备可以得到至少一个子集,这样,电子设备可以对各子集包含的空域候选块的数量进行统计,得到多个子集分别包含的空域候选块的数量,电子设备可以确定其中最大的数量对应的子集,进而将该子集包含的空域候选块作为目标空域候选块,并将该最大的数量作为目标数目。
59.在另一个示例中,电子设备可以基于预测数据对当前编码块的多个空域候选块进行划分,将预测数据相同的空域候选块划分至同一空域候选块集中。经过对当前编码块的多个空域候选块的预测数据的判断,电子设备可以得到至少一个空域候选块集,其中,每一个空域候选块集内包含的多个空域候选块的预测数据是相同的,各个空域候选块集之间的分别对应的预测数据是不同的。
60.这样,针对于每一个空域候选块集,电子设备可以对其包含的多个空域候选块的目标象限是否相同进行判断,在该空域候选块集中,电子设备可以将目标象限相同的空域候选块划分至同一子集中。这样,经过对该空域候选块集中包含的多个空域候选块的目标象限的判断,电子设备可以得到至少一个子集,这样,电子设备可以对各子集包含的空域候选块的数量进行统计,得到多个子集分别包含的空域候选块的数量,电子设备可以确定其中最大的数量对应的子集,进而将该子集包含的空域候选块作为目标空域候选块,并将该最大的数量作为目标数目。
61.在本实施例中,可以对当前编码块是否满足预设的判断条件进行判断,提高对当前编码块的多个空域候选块的相似性的判断的准确度。
62.在一示例性实施例中,如以上实施例的包括预测数据以及运动矢量数据的运动信息,相应地,如图4所示,在步骤s130中,根据目标空域候选块的运动信息,确定当前编码块的目标运动信息,具体可以通过以下步骤实现:在步骤s1311中,将目标空域候选块的预测数据作为当前编码块的预测数据。
63.在实施中,由于各个目标空域候选块的预测数据相同,这样,电子设备可以在多个目标空域候选块中随机确定一个目标空域候选块,将该目标空域候选块的预测数据作为当前编码块的预测数据。
64.在一个示例中,如果当前编码块是处于在hevc编码标准下的帧间融合预测模式,则电子设备可以将目标空域候选块的id值以及ri值,作为当前编码块的id值以及ri值。
65.在步骤s1312中,计算多个目标空域候选块的运动矢量数据的均值,确定均值为当前编码块的运动矢量数据。
66.在实施中,电子设备可以获取满足预设相似条件的各目标空域候选块分别对应的运动矢量数据,这样,电子设备可以对满足预设相似条件的各目标空域候选块分别对应的运动矢量数据进行均值计算,得到均值数据,该均值数据是满足预设相似条件的各目标空域候选块的运动矢量数据的平均运动矢量数据,电子设备可以将均值数据作为当前编码块的运动矢量数据。
67.在步骤1313中,基于当前编码块的预测数据以及当前编码块的运动矢量数据,得到当前编码块的目标运动信息。
68.在实施中,由于运动信息包括预测数据以及运动矢量数据,基于此,电子设备可以将当前编码块的预测数据以及当前编码块的运动矢量数据,作为当前编码块的目标运动信
息。
69.在本实施例中,可以方便、准确地确定当前编码块的运动信息,无需消耗额外的编码资源。
70.在一示例性实施例中,如图5所示,在步骤s130中,基于当前编码块的目标运动信息,对当前编码块进行预测,具体可以通过以下步骤实现:在步骤s1321中,基于当前编码块的目标运动信息,确定当前编码块对应的预测参考视频帧,以及在预测参考视频帧包含的多个参考变换块中,确定预测参考变换块以及预测参考变换块的像素数据。
71.其中,预测参考视频帧中包括多个变换块,电子设备可以在预测参考视频帧中包含的多个变换块中,确定预测参考变换块;预测参考变换块是当前编码块进行帧间预测时参考的数据块,目标运动信息可以包括预测数据以及运动矢量数据,该预测数据可以包括参考索引值以及帧间预测方向。
72.在实施中,电子设备可以基于参考索引值以及帧间预测方向,在当前编码块对应的多个参考视频帧中确定预测参考视频帧。在一个示例中,电子设备可以获取该当前编码块对应的参考视频帧序列,基于参考索引值以及帧间预测方向,可以在该参考视频帧序列中确定当前编码块对应的预测参考视频帧。
73.预测参考视频帧可以预先被划分为多个像素块,这样,电子设备在确定预测参考视频帧之后,可以获取到该预测参考视频帧包含的多个像素块,即得到多个参考变换块。基于此,电子设备可以基于当前编码块在当前编码块对应的视频帧中的位置信息,在预测参考视频帧中确定初始参考变换块。这样,电子设备可以在该初始参考变化块位置处,基于该运动矢量数据进行运动补偿处理,即在预测参考视频帧中进行位移,得到预测参考变换块,并获取该预测参考变换块的像素数据。
74.在一个示例中,预测数据可以还包括双向权重预测索引、像素插值索引以及自适应运动矢量精度索引。这样,电子设备可以基于参考索引值以及帧间预测方向,在当前编码块对应的多个参考视频帧中确定预测参考视频帧,在确定预测参考视频帧的步骤后,预测参考视频帧可以被划分为多个像素块,即得到多个参考变换块。电子设备可以基于当前编码块在当前编码块对应的视频帧中的位置信息,在预测参考视频帧中确定初始参考变换块,电子设备可以在该初始参考变化块处,基于该运动矢量数据以及双向权重预测索引、像素插值索引以及自适应运动矢量精度索引,进行运动补偿处理,即在预测参考视频帧中进行位移,得到预测参考变换块,并获取该预测参考变换块的像素数据。
75.在步骤s1322中,基于预测参考变换块的像素数据预测当前编码块的像素数据,得到当前编码块的预测像素数据。
76.在实施中,电子设备可以获取该预测参考变换块的像素数据对当前编码块的像素数据进行预测,得到当前编码块的预测像素数据。
77.在本实施例中,可以有效地减少视频帧数据中的冗余信息,提高运动估计以及运动补偿的效率以及提高准确度。
78.在一示例性实施例中,运动矢量数据包括第一方向矢量对应的数值以及第二方向矢量对应的数值。
79.相应地,在步骤s121中,基于预设的运动矢量数据与象限的对应关系,确定空域候
选块的运动矢量数据对应的目标象限,具体可以通过以下步骤实现:在空域候选块的第一方向矢量对应的数值大于目标值,且空域候选块的第二方向矢量对应的数值大于目标值的情况下,确定空域候选块的运动矢量数据对应的象限为第一象限,并确定第一象限为目标象限。
80.其中,目标值可以是根据实际应用场景的需求确定的,例如可以是零。
81.在实施中,电子设备可以对空域候选块对应的第一方向矢量对应的数值以及第二方向矢量对应的数值分别与目标值进行比较,如果空域候选块的第一方向矢量对应的数值大于目标值,且空域候选块的第二方向矢量对应的数值大于目标值,电子设备可以确定空域候选块的运动矢量数据对应的象限为第一象限,这样,电子设备可以确定第一象限为目标象限,即电子设备而可以确定该空域候选块的运动矢量数据对应的目标象限是第一象限。
82.在本实施例中,可以高效地确定空域候选块的运动信息对应的象限。
83.在一示例性实施例中,该视频数据的帧间预测方法还包括:在空域候选块的第一方向矢量对应的数值小于或者等于目标值,且空域候选块的第二方向矢量对应的数值小于或者等于目标值的情况下,确定空域候选块的运动矢量数据对应的象限为第三象限,并确定第三象限为目标象限。
84.在实施中,电子设备可以对空域候选块对应的第一方向矢量对应的数值以及第二方向矢量对应的数值分别与目标值进行比较,如果空域候选块的第一方向矢量对应的数值小于或者等于目标值,且空域候选块的第二方向矢量对应的数值也小于目标值,则电子设备可以确定空域候选块的运动矢量数据对应的象限为第三象限,这样,电子设备可以并确定第三象限为目标象限,即电子设备而可以确定该空域候选块的运动矢量数据对应的目标象限是第三象限。
85.在一个示例中,电子设备可以对空域候选块对应的第一方向矢量对应的数值以及第二方向矢量对应的数值分别与目标值进行比较,如果空域候选块的第一方向矢量对应的数值小于或者等于目标值,且空域候选块的第二方向矢量对应的数值大于目标值,则电子设备可以确定空域候选块的运动矢量数据对应的象限为第二象限,这样,电子设备可以将第二象限作为目标象限,即电子设备而可以确定该空域候选块的运动矢量数据对应的目标象限是第二象限。
86.同样地,电子设备可以对空域候选块对应的第一方向矢量对应的数值以及第二方向矢量对应的数值分别与目标值进行比较,如果空域候选块的第一方向矢量对应的数值大于目标值,且空域候选块的第二方向矢量对应的数值小于或者等于目标值,则电子设备可以确定空域候选块的运动矢量数据对应的象限为第四象限,这样,电子设备可以将第四象限作为目标象限,即电子设备而可以确定该空域候选块的运动矢量数据对应的目标象限是第四象限。
87.可选地,确定目标象限的过程还可以包括:如果第一方向矢量对应的数值等于目标值,第二方向矢量对应的数值大于目标值,电子设备可以确定空域候选块的运动矢量数据对应的象限为第一坐标轴的第一方向;如果第一方向矢量对应的数值等于目标值,第二方向矢量对应的数值小于目标值,电子设备可以确定空域候选块的运动矢量数据对应的象限为第一坐标轴的第二方向;如果第一方向矢量对应的数值大于目标值,第二方向矢量对
应的数值等于目标值,电子设备可以确定空域候选块的运动矢量数据对应的象限为第二坐标轴的第一方向;如果第一方向矢量对应的数值小于目标值,第二方向矢量对应的数值等于目标值,电子设备可以确定空域候选块的运动矢量数据对应的象限为第二坐标轴的第二方向;如果第一方向矢量对应的数值等于目标值,第二方向矢量对应的数值等于目标值,电子设备可以确定空域候选块的运动矢量数据对应的象限为原点。
88.在本实施例中,可以高效地确定空域候选块的运动信息对应的象限。
89.在一示例性实施例中,如图6所示,该视频数据的帧间预测方法还包括:在步骤s610中,在目标数目小于预设阈值的情况下,在当前编码块的多个候选块中,根据预设的率失真优化策略,确定目标候选块;其中,当前编码块的多个候选块可以包括基于多个维度分别确定的多个候选块,例如,可以包括位置维度上确定的多个空域候选块,还可以包括时间维度上确定的多个时域候选块等等。
90.在实施中,电子设备可以在位置维度上确定的多个空域候选块,还可以在时间维度上确定的多个时域候选块,确定该当前编码块对应的候选块列表。这样,电子设备可以对候选块列表中包含的多个候选块进行遍历,基于预设的率失真优化策略,分别计算各候选块分别对应的率失真优化代价,基于计算出的率失真优化代价,在候选块列表中包含的多个候选块中确定编码性能最优的候选块,作为目标候选块。
91.在步骤s620中,确定目标候选块在当前编码块的多个候选块中的目标索引值,编码目标索引值,并基于编码后的目标索引值对当前编码块进行帧间预测。
92.在实施中,电子设备可以确定目标候选块在当前编码块对应的候选块列表中的索引值,作为该当前编码块的目标索引值(可记为merge索引值),这样,电子设备可以对该目标索引值进行编码操作,以使该目标索引值写入当前编码块的码流中,即在码流中传递merge索引值。这样,电子设备可以基于编码后的目标索引值对当前编码块的像素数据进行预测,得到当前编码块的预测像素数据。
93.在本实施例中,可以对当前编码块进行前置判断,在目标数据小于预设阈值的情况下,将目标索引值进行编码,提高本公开所提供的视频数据的帧间预测方法的兼容性。
94.以下,可以结合一个实施例详细描述本公开所提供的视频数据的帧间预测方法的具体执行过程:在本公开所提供的视频数据的帧间预测方法中,可以根据当前编码块对应的视频数据编码标准中的候选块确定策略,确定当前编码块的多个空域候选块,例如可以是5个空域候选块,该5个空域候选块与当前编码块的相对位置可以是如图2所示,在当前编码块的预测模式是帧间融合预测模式(merge模式)的情况下,电子设备可以对上述5个空域候选块的运动信息的相似性进行判断,如果当前编码块的多个空域候选块满足预设的判断条件,则无需对merge索引值进行编码以及传递,如果当前编码块的多个空域候选块不满足预设的判断条件,则需要在当前编码块的多个候选块中确定目标候选块,基于该目标候选块确定merge索引值,以及对该merge索引值进行编码以及传递。
95.具体的判断条件与当前编码块对应的视频数据编码标准有关。
96.在一个示例中,如果当前编码块对应的视频数据编码标准是vvc标准,当前编码块的多个空域候选块可以分别记为a0、a1、b0、b1、b2,在a0、a1、b0、b1、b2五个位置对应的空域
候选块中,如果有m(m》=n)个位置的候选块对应的ri值、bi值、id值、ai值、hf值均相等,且mv位于同一象限内,则可以确定当前编码块的多个空域候选块满足预设的判断条件。这样,电子设备可以确定当前编码块的ri值、bi值、id值、ai值、hf值与上述m个位置的候选块的ri值、bi值、id值、ai值、hf值相等,以及电子设备可以计算上述m个位置的候选块的mv值的平均值,并将该平均值作为当前编码块的mv值。其中,n是根据当前编码块的空域候选块的数量确定的预设阈值,例如,在当前编码块的空域候选块的数量是5的情况下,预设阈值可以是4。
97.在一个示例中,如果当前编码块对应的视频数据编码标准是hevc标准,当前编码块的多个空域候选块可以分别记为a0、a1、b0、b1、b2,在a0、a1、b0、b1、b2五个位置对应的空域候选块中,如果有m(m》=n)个位置的候选块对应的ri值、id值均相等,且mv位于同一象限内,则可以确定当前编码块的多个空域候选块满足预设的判断条件。这样,电子设备可以确定当前编码块的ri值、id值与上述m个位置的候选块的ri值、id值相等,以及电子设备可以计算上述m个位置的候选块的mv值的平均值,并将该平均值作为当前编码块的mv值。其中,n是根据当前编码块的空域候选块的数量确定的预设阈值,例如,在当前编码块的空域候选块的数量是5的情况下,预设阈值可以是4。
98.在一种可能的实现方式中,如果当前编码块的帧间预测模式是merge模式,则在该种情况下的帧间融合预测模式标志值为1(可记为merge_flag=1),在电子设备确定merge_flag等于1的情况下,电子设备需要对当前编码块(可记为当前cu块)进行判断,判断该当前编码块的多个空域候选块是否满足预设的判断条件。如果电子设备确定当前存在m个空域候选的运动信息满足预设的判断条件,则电子设备可以确定目标标志值为1(可记为implicit_flag=1),这样,电子设备可以按照上述实施例中的方法确定当前编码块的目标运动信息,也不需要确定merge索引值以及对merge索引值进行编码;如果电子设备确定当前不存在m个空域候选的运动信息满足预设的判断条件,则电子设备可以确定目标标志值为0(可记为implicit_flag=0),这样,电子设备可以在当前编码块的多个候选块中,根据预设的率失真优化策略,确定目标候选块,以及确定目标候选块在当前编码块的多个候选块中的目标索引值,编码目标索引值,并基于编码后的目标索引值对当前编码块进行帧间预测。
99.本公开所提供的视频数据的帧间预测方法的适用范围较为广泛,在多种编码标准中均可降低具有高度空域相似性的编码块的编码信息(例如运动信息)的码率消耗,提高编码性能。
100.应该理解的是,虽然图1-图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
101.图7是根据一示例性实施例示出的一种视频数据的帧间预测装置的装置框图。参照图7,该视频数据的帧间预测装置700包括获取单元702,第一确定单元704和第二确定单
元706。
102.获取单元702,被配置为执行在视频数据的当前编码块的帧间预测模式是帧间融合预测模式的情况下,获取当前编码块的多个空域候选块的运动信息;第一确定单元704,被配置为执行基于各空域候选块的运动信息,确定运动信息满足预设相似条件的目标空域候选块的目标数目;第二确定单元706,被配置为执行在目标数目大于或者等于预设阈值的情况下,根据目标空域候选块的运动信息,确定当前编码块的目标运动信息,并基于当前编码块的目标运动信息,对当前编码块进行预测。
103.在一示例性实施例中,运动信息包括预测数据以及运动矢量数据,预测数据是用于视频数据进行帧间预测过程中所使用到的数据;第一确定单元704,包括:第一确定子单元,被配置为执行针对于当前编码块的多个空域候选块中的每一空域候选块,基于预设的运动矢量数据与象限的对应关系,确定空域候选块的运动矢量数据对应的目标象限;第二确定子单元,被配置为执行在当前编码块的多个空域候选块中,确定预测数据相同且目标象限相同的目标空域候选块;确定目标空域候选块的目标数目。
104.在一示例性实施例中,运动信息包括预测数据以及运动矢量数据,预测数据是用于视频数据进行帧间预测过程中所使用到的数据;第二确定单元706,包括:第三确定子单元,被配置为执行将目标空域候选块的预测数据作为当前编码块的预测数据;均值子单元,被配置为执行对多个目标空域候选块的运动矢量数据进行均值处理,确定均值为当前编码块的运动矢量数据;基于当前编码块的预测数据以及当前编码块的运动矢量数据,得到当前编码块的目标运动信息。
105.在一示例性实施例中,第二确定单元706,还包括:第四确定子单元,被配置为执行基于当前编码块的目标运动信息,确定当前编码块对应的预测参考视频帧,以及在预测参考视频帧包含的多个参考变换块中,确定预测参考变换块以及预测参考变换块的像素数据,预测参考变换块为用于预测当前编码块的像素数据的数据块;预测子单元,被配置为执行基于预测参考变换块的像素数据预测当前编码块的像素数据,得到当前编码块的预测像素数据。
106.在一示例性实施例中,运动矢量数据包括第一方向矢量对应的数值以及第二方向矢量对应的数值;第一确定子单元,具体用于:在空域候选块的第一方向矢量对应的数值大于目标值,且空域候选块的第二方向矢量对应的数值大于目标值情况下,确定空域候选块的运动矢量数据对应的象限为第一象限,确定第一象限为目标象限;
在空域候选块的第一方向矢量对应的数值小于或者等于目标值,且空域候选块的第二方向矢量对应的数值小于或者等于目标值情况下,确定空域候选块的运动矢量数据对应的象限为第三象限,并确定第三象限为目标象限。
107.在一示例性实施例中,该视频数据的帧间预测装置700还包括:第三确定单元,被配置为执行在目标数目小于预设阈值的情况下,在当前编码块的多个候选块中,根据预设的率失真优化策略,确定目标候选块;第四确定单元,被配置为执行确定目标候选块在当前编码块的多个候选块中的目标索引值,编码目标索引值,并基于编码后的目标索引值对当前编码块进行帧间预测。
108.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
109.图8是根据一示例性实施例示出的一种用于视频数据的帧间预测的电子设备800的框图。例如,电子设备800可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
110.参照图8,电子设备800可以包括以下一个或多个组件:处理组件802、存储器804、电源组件806、多媒体组件808、音频组件810、输入/输出(i/o)的接口812、传感器组件814以及通信组件816。
111.处理组件802通常控制电子设备800的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
112.存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
113.电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
114.多媒体组件808包括在电子设备800和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
115.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括麦克风(mic),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被
配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括扬声器,用于输出音频信号。
116.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
117.传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800组件的位置改变,用户与电子设备800接触的存在或不存在,设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
118.通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
119.在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
120.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
121.在示例性实施例中,还提供一种计算机程序产品,计算机程序产品中包括指令,上述指令可由电子设备800的处理器820执行以完成上述方法。
122.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
123.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
124.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1