一种视频编码方法、解码方法及装置与流程

文档序号:29934560发布日期:2022-05-07 13:23阅读:162来源:国知局
一种视频编码方法、解码方法及装置与流程

1.本技术实施例涉及计算机技术领域,尤其涉及一种视频编码方法、解码方法及装置。


背景技术:

2.近年来,随着深度学习的快速发展,计算机视觉技术也发生了革命性的变化。在视频编码方面,基于深度神经网络的端到端视频编解码技术可以获得与传统编解码方法相当甚至更高的性能,充分体现了其在处理空间冗余方面的优势。
3.现阶段,基于深度神经网络的端到端视频编解码算法中,通常是将最近的前一重建视频帧作为参考帧,对当前视频帧进行编解码,以得到对应的重建视频帧,但是,这样得到的重建视频帧,与待编码的当前视频帧相比,其纹理质量较差,同时,运动描述的精度也较低。也就是说,现有的上述视频编解码算法,得到的重建视频帧的质量较差。


技术实现要素:

4.有鉴于此,本技术实施例提供一种视频编码方法、解码方法及装置,以至少部分解决上述问题。
5.根据本技术实施例的第一方面,提供了一种视频编码方法,包括:
6.获取待编码的当前视频帧和多个重建视频帧,其中,所述多个重建视频帧均为时域位于当前视频帧之前的已重建视频帧;
7.基于当前视频帧,针对各重建视频帧进行运动估计,得到各重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧;
8.对各初始预测视频帧进行融合,得到预测视频帧;并获取所述预测视频帧和当前视频帧之间的残差信息;
9.编码所述残差信息和目标运动信息,得到视频比特流,其中,所述目标运动信息包括所述多个重建视频帧中至少一个重建视频帧的运动信息。
10.根据本技术实施例的第二方面,提供了一种视频解码方法,包括:
11.获取视频比特流和多个重建视频帧,其中,所述多个重建视频帧均为时域位于待编码的当前视频帧之前的已重建视频帧;
12.解码所述视频比特流,得到目标运动信息和残差信息;所述目标运动信息为基于所述多个重建视频帧中的至少一个重建视频帧和当前视频帧得到的运动信息;
13.基于所述目标运动信息和所述多个重建视频帧,分别得到其余重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧;
14.对各初始预测视频帧进行融合,得到预测视频帧;
15.对所述预测视频帧和所述残差信息进行加和运算,得到当前视频帧对应的目标重
建视频帧。
16.根据本技术实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的视频编码方法对应的操作,或者,如第二方面所述的视频解码方法对应的操作。
17.根据本技术实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的视频编码方法,或者,如第二方面所述的视频解码方法。
18.根据本技术实施例提供的视频编码方法以及解码方法,在编码阶段,是分别基于多个不同的重建视频帧得到对应的初始预测视频帧,再将各初始预测视频帧融合为最终的预测视频帧,以基于最终的预测视频帧对当前视频帧进行编码的;对应地,在编码阶段,也是基于多个不同的重建视频帧得到融合后的最终的预测视频帧,进而再基于融合后的预测视频帧进行解码得到当前视频帧对应的目标重建视频帧的。也就是说,本技术是基于由多个重建视频帧得到的预测视频帧对当前视频帧进行编码和解码的,由于得到的预测视频帧的纹理质量和运动信息同时参考了多个不同的重建视频帧,预测视频帧与当前视频帧之间的质量差异较小,因此,一方面,编码阶段得到的预测视频帧和当前视频帧之间的残差也较小,对残差进行编码之后的码率则较小;另一方面,在解码阶段,基于预测视频帧进行解码,最终得到的目标重建视频帧与当前视频帧之间的质量也差异较小。综上,本技术实施例提高了视频帧的重建质量,同时,降低了编码的码率。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
20.图1为基于深度学习的端到端视频编解码方法的框架示意图;
21.图2为根据本技术实施例一的一种视频编码方法的步骤流程图;
22.图3为图2所示实施例中的一种具体场景示例的示意图;
23.图4为图2所示实施例中一种得到初始预测视频帧的示意图;
24.图5为图2所示实施例中另一种得到初始预测视频帧的示意图;
25.图6为根据本技术实施例二的一种视频解码方法的步骤流程图;
26.图7为图6所示实施例中的一种具体场景示例的示意图;
27.图8为根据本技术实施例三的一种视频编码装置的结构框图;
28.图9为根据本技术实施例四的一种视频解码装置的结构框图;
29.图10为根据本技术实施例五的一种电子设备的结构示意图。
具体实施方式
30.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术
实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
31.参见图1,图1为基于深度学习的端到端视频编解码方法的框架示意图。首先结合图1对端到端视频编解码方法的基本框架进行说明:
32.该方法利用神经网络强大的非线性表达能力,提出了一种端到端的视频压缩深度模型,该模型对于编码过程中涉及的所有模型进行联合优化,具体编解码过程可以分为:运动估计与压缩、运动补偿、变换、量化与反变换、熵编码以及帧重构。具体地:
33.第一步,运动估计与压缩过程:基于光流模型获取当前视频帧x
t
与时域位于当前视频帧之前的上一重建视频帧的运动信息v
t-1
;基于运动信息编码模型对v
t-1
进行编码,得到压缩后的运动信息m
t-1

34.第二步,运动补偿过程:基于运动信息(mv)解码模型对压缩后的运动信息进行解码,从而得到解压后的运动信息v
t-1
,再通过运动补偿模型,基于v
t-1
和获取到预测视频帧p。
35.第三步,变换、量化与反变换过程:通过残差编码模型对预测视频帧p与当前视频帧x
t
间的残差r
t
非线性映射为y
t
,并对y
t
进行了量化,量化后y
t
再经过残差解码模型,从而得到重构后的残差r
t

36.第四步,熵编码过程:将第一步中得到的m
t-1
和第三步中得到的重构后的残差r
t
编码为比特流(压缩视频流),然后传输至解码器。
37.第五步,帧重构过程:第二步中的预测视频帧p和第三步中得到的重构后的残差r
t
进行加和运算,获得当前视频帧x
t
对应的目标重建视频帧
38.图1所示方法中,预测视频帧p是基于时域位于当前视频帧之前的单个重建视频帧得到的,其纹理质量和运动信息则仅是基于上述单个重建视频帧得到的,当上述单个重建视频帧与当前视频帧的信息差异较大时,则基于上述当个重建视频帧得到的预测视频帧与当前视频帧的信息差异也较大,这样,再基于该预测视频帧进行视频帧重建,得到的目标重建视频帧与当前视频帧之间的信息差异也较大,也就是说,上述方法的视频帧重建质量较低。
39.本技术实施例中,预测视频帧基于多个不同的重建视频帧得到,具体地:分别基于多个不同的重建视频帧得到对应的初始预测视频帧,再将各初始预测视频帧融合为最终的预测视频帧,再基于最终的预测视频帧进行视频帧重建,得到的目标重建视频帧。由于得到的预测视频帧的纹理质量和运动信息同时参考了多个不同的重建视频帧,预测视频帧与当前视频帧之间的质量差异较小,因此,最终得到的目标重建视频帧与当前视频帧之间的质量差异也较小,提升了视频帧的重建质量。
40.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
41.实施例一
42.参照图2,图2为根据本技术实施例一的一种视频编码方法的步骤流程图。具体地,本实施例提供的视频编码方法包括以下步骤:
43.步骤202,获取待编码的当前视频帧和多个重建视频帧。
44.其中,多个重建视频帧均为时域位于当前视频帧之前的已重建视频帧。
45.例如,假设待编码的当前视频帧为x
t
,x
t-1
、x
t-2
、x
t-3
分别为时域位于x
t
之前的前一帧、前二帧、前三帧,分别为与x
t-1
、x
t-2
、x
t-3
对应的已重建视频帧,则本步骤中,分别获取:x
t

46.本领域技术人员可以理解,本技术实施例中,对于重建视频帧的数量不做限定,可以根据实际需要进行设定。上述例子中仅以3个重建视频帧为例进行说明,并不构成对本技术中重建视频帧数量的限定。
47.步骤204,基于当前视频帧,针对各重建视频帧进行运动估计,得到各重建视频帧的运动信息。
48.步骤206,基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧。
49.步骤208,对各初始预测视频帧进行融合,得到预测视频帧;并获取预测视频帧和当前视频帧之间的残差信息。
50.本技术实施例中,对于具体的融合方式,也不做限定,例如:
51.可以采用传统的线性加权算法,对各初始预测视频帧进行融合,从而得到预测视频帧,具体地:可以先分别设置各初始预测视频帧对应的权重值;之后,基于各权重值,对各初始预测视频帧进行线性加权处理,从而得到预测视频帧。
52.也可以借助机器学习模型,对各初始预测视频帧进行融合,从而得到预测视频帧,具体地:将各初始预测视频帧输入融合模型,以使融合模型输出预测视频帧。本技术实施例中,对于融合模型的具体结构和参数值不做限定,可以根据实际需要进行设定,例如:可以采用基于深度残差的网络(如resnet等)作为融合模型。
53.步骤210,编码残差信息和目标运动信息,得到视频比特流。
54.其中,目标运动信息可以包括多个重建视频帧中至少一个重建视频帧的运动信息。
55.具体地,目标运动信息可以仅包括一个重建视频帧的运动信息,也可以包括多个重建视频帧或者全部重建视频帧的运动信息。
56.例如:为了提高视频帧的重建质量,可以将残差信息和每个重建视频帧的运动信息均进行编码,从而得到视频比特流,以便于解码端基于上述残差信息和每个重建视频帧的运动信息进行视频帧重建;又如:为减少视频编码的码率,则可以从多个重建视频帧中选择其中一个重建视频帧的运动信息作为目标运动信息(由于通常情况下,重建时间最晚的重建视频帧与待编码的当前视频帧之间的信息差异较小,因此,可以将重建时间最晚的重建视频帧的运动信息作为目标运动信息进行编码,以得到视频比特流,这样,可以在减少视频编码码率的前提下,进一步地提升视频帧的重建质量)。
57.可以分别对残差信息和目标运动信息进行编码,从而得到视频比特流,以传输至解码端。
58.具体地,在获取到残差信息之后,可以采用残差编码模型(用于对残差信息进行编码的机器学习模型)对残差信息进行编码,再对编码后的残差信息进行量化处理,从而得到量化后的残差信息;在获取到目标运动信息之后,可以采用运动信息编码模型(用于对运动
信息进行编码的机器学习模型)对目标运动信息进行编码,再对编码后的目标运动信息进行量化处理,从而得到量化后的目标运动信息,将量化后的残差信息和量化后的目标运动信息作为视频比特流,以传输至解码端。
59.参见图3,图3为图2所示实施例中的一种具体场景示例的示意图,以下,将参考图3所示的示意图,以一个具体场景示例,对本技术实施例进行说明:
60.获取当前视频帧x
t
和多个重建视频帧:(本场景中以3个重建视频帧为例,并不构成对本技术实施例中重建视频帧数量的限定),基于当前视频帧x
t
,针对各重建视频帧通过光流模型得到各重建视频帧的运动信息:v
t-1
、v
t-2
、v
t-3
,并基于各重建视频帧和对应的运动信息v
t-1
、v
t-2
、v
t-3
,通过运动补偿模型进行运动补偿,得到各重建视频帧对应的初始预测视频帧:p
t-1
、p
t-2
、p
t-3
;通过融合模型对p
t-1
、p
t-2
、p
t-3
进行融合,得到预测视频帧p;并获取预测视频帧p和当前视频帧x
t
之间的残差信息r
t
;通过残差编码模型,编码残差信息r
t
;将编码后的r
t
和编码后的v
t-1
(在图3所示的场景中,以重建时间最晚的重建视频帧的运动信息,即第一运动信息,作为目标运动信息进行举例说明,并不构成对目标运动信息的具体限定)作为视频比特流。
61.具体地,参见图2,先基于当前视频帧x
t
和第一重建视频帧通过光流模型进行运动估计,得到第一运动信息v
t-1
,通过运动信息编码模型对第一运动信息v
t-1
编码,得到m
t-1
,再对m
t-1
进行量化以及解码(通过运动信息解码模型),得到第一运动信息v
t-1
,基于第一运动信息v
t-1
和第一重建视频帧进行运动补偿,得到第一初始预测视频帧p
t-1
;基于第一初始预测视频帧p
t-1
,分别对通过光流模型进行运动估计,从而得到v
t-2
、v
t-3
,再基于v
t-2
和通过运动补偿模型进行运动补偿,得到p
t-2
;基于v
t-3
和通过运动补偿模型进行运动补偿p
t-3
,至此,所有的初始预测视频帧:p
t-1
、p
t-2
、p
t-3
均已得到;之后,可以通过融合模型对p
t-1
、p
t-2
、p
t-3
进行融合,得到预测视频帧p;并获取预测视频帧p和当前视频帧x
t
之间的残差信息r
t
;通过残差编码模型,编码残差信息r
t
;将编码后的r
t
和编码后的v
t-1
作为视频比特流。
62.另外,结合图3对视频帧编码阶段涉及到的模型的训练过程进行简单说明:
63.具体地,为了提高模型训练的效率,可以先基于当前视频帧样本和单个第一重建视频帧样本,对光流模型、运动信息编码模型、运动信息解码模型、运动补偿模型、残差编模型以及残差解码模型进行初步训练,得到过渡光流模型、过渡运动信息编码模型、过渡运动信息解码模型、过渡运动补偿模型、过渡残差编模型以及过渡残差解码模型;之后,在上述模型参数固定的情况下,基于当前视频帧样本和多个重建视频帧样本,对融合模型进行训练,从而得到过渡融合模型;最后,再基于当前视频帧样本和多个重建视频帧样本,对视频帧编码阶段涉及到的所有的过渡模型(过渡光流模型、过渡运动信息编码模型、过渡运动信息解码模型、过渡运动补偿模型、过渡残差编模型、过渡残差解码模型以及过渡融合模型)进行再次训练,从而得到训练完成的各模型:光流模型、运动信息编码模型、运动信息解码模型、运动补偿模型、残差编模型、残差解码模型以及融合模型。
64.进一步地,本技术实施例中,可以采用不同的方式获得各重建视频帧对应的初始预测视频帧:
65.第一种方式:可以先基于当前视频帧,对重建时间最晚的第一重建视频帧进行运动估计,从而得到第一运动信息,并基于第一运动信息,对第一重建视频帧进行运动补偿,得到第一初始预测视频帧;进而再基于第一初始预测视频帧,分别对其余的重建视频帧(第二重建视频帧)进行运动估计,从而得到其余的重建视频帧的运动信息,并基于其余的重建视频帧和对应的运动信息,进行运动补偿,得到其余的重建视频帧的初始预测视频帧(第二初始预测视频帧)。
66.为便于理解,下面结合图4,对上述得到各初始预测视频帧的具体过程进行解释说明:
67.基于当前视频帧x
t
和第一运动信息v
t-1
进行运动补偿,得到第一初始预测视频帧p
t-1
;基于第一初始预测视频帧p
t-1
和第二重建视频帧进行运动估计,得到第二运动信息v
t-2
;基于第二重建视频帧和第二运动信息v
t-2
进行运动补偿,得到第二初始预测视频帧p
t-2
;基于第一初始预测视频帧p
t-1
和第三重建视频帧进行运动估计,得到第三运动信息v
t-3
;基于第三重建视频帧和第三运动信息v
t-3
进行运动补偿,得到第三初始预测视频帧p
t-3

68.第二种方式:按照各重建视频帧的重建时间顺序,对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息;基于后一重建视频帧的运动信息和后一重建视频帧进行运动补偿,得到后一重建视频帧对应的初始预测视频帧;基于后一重建视频帧对应的初始预测视频帧,对前一重建视频帧进行运动估计,得到前一重建视频帧的运动信息;基于前一重建视频帧的运动信息和前一重建视频帧进行运动补偿,得到前一重建视频帧对应的初始预测视频帧。
69.进一步地,当后一重建视频帧为所述第一重建视频帧时,所述对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息,包括:基于当前视频帧,对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息;当后一重建视频帧为第二重建视频帧时,所述对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息,包括:基于该后一重建视频帧之后的重建视频帧对应的初始预测视频帧,对该后一重建视频帧进行运动估计,得到该后一重建视频帧的运动信息。
70.为便于理解,下面结合图5,对上述得到各初始预测视频帧的第二种方式的具体过程进行解释说明:
71.基于当前视频帧x
t
和第一运动信息v
t-1
进行运动补偿,得到第一初始预测视频帧p
t-1
;基于第一初始预测视频帧p
t-1
和第二重建视频帧进行运动估计,得到第二运动信息v
t-2
;基于第二重建视频帧和第二运动信息v
t-2
进行运动补偿,得到第二初始预测视频帧p
t-2
;基于第二初始预测视频帧p
t-2
和第三重建视频帧进行运动估计,得到第三运动信息v
t-3
;基于第三重建视频帧和第三运动信息v
t-3
进行运动补偿,得到第三初始预测视频帧p
t-3

72.本技术实施例中,在编码阶段,是分别基于多个不同的重建视频帧得到对应的初始预测视频帧,再将各初始预测视频帧融合为最终的预测视频帧,以基于最终的预测视频
帧对当前视频帧进行编码的。也就是说,本技术是基于由多个重建视频帧得到的预测视频帧对当前视频帧进行编码和解码的,由于得到的预测视频帧的纹理质量和运动信息同时参考了多个不同的重建视频帧,预测视频帧与当前视频帧之间的质量差异较小,因此,编码阶段得到的预测视频帧和当前视频帧之间的残差也较小,对残差进行编码之后的码率则较小。
73.本技术实施例一提供的视频编码方法,可以由视频编码端(编码器)执行,用于对视频文件进行编码,以实现对视频文件的数字宽带进行压缩。其可以适用与多种不同的场景,如:常规的电影、视频游戏的存储和流式传输,具体地:可以通过本技术实施例提供的视频编码方法对电影视频帧或者游戏视频帧进行编码压缩,形成对应的视频码流,以在视频流服务或者其他类似的应用中存储和传输;又如:视频会议、视频直播等低延时场景,具体地:可以通过本技术实施例提供的视频编码方法对视频采集设备采集到的视频数据进行编码压缩,形成对应的视频码流,并发送至会议终端,通过会议终端对视频码流进行解码从而得到对应的视频画面;还如:虚拟现实场景,可以通过本技术实施例提供的视频编码方法对视频采集设备采集到的视频数据进行编码压缩,形成对应的视频码流,并发送至虚拟现实相关设备(如vr虚拟眼镜等),通过vr设备对视频码流进行解码从而得到对应的视频画面,并基于视频画面实现对应的vr功能,等等。
74.实施例二
75.参照图6,图6为根据本技术实施例二的一种视频解码方法的步骤流程图。具体地,本实施例提供的视频解码方法包括以下步骤:
76.步骤602,获取视频比特流和多个重建视频帧。
77.其中,多个重建视频帧均为时域位于待编码的当前视频帧之前的已重建视频帧。
78.例如,假设待编码的当前视频帧为x
t
,x
t-1
、x
t-2
、x
t-3
分别为时域位于x
t
之前的前一帧、前二帧、前三帧,分别为与x
t-1
、x
t-2
、x
t-3
对应的已重建视频帧,则本步骤中,分别获取:x
t

79.本领域技术人员可以理解,本技术实施例中,对于重建视频帧的数量不做限定,可以根据实际需要进行设定。上述例子中仅以3个重建视频帧为例进行说明,并不构成对本技术中重建视频帧数量的限定。
80.步骤604,解码视频比特流,得到目标运动信息和残差信息。
81.其中,目标运动信息为基于多个重建视频帧中的至少一个重建视频帧和当前视频帧得到的运动信息。
82.步骤606,基于目标运动信息和多个重建视频帧,分别得到其余重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧。
83.步骤608,对各初始预测视频帧进行融合,得到预测视频帧。
84.本技术实施例中,对于具体的融合方式,也不做限定,例如:
85.可以采用传统的线性加权算法,对各初始预测视频帧进行融合,从而得到预测视频帧,具体地:可以先分别设置各初始预测视频帧对应的权重值;之后,基于各权重值,对各初始预测视频帧进行线性加权处理,从而得到预测视频帧。
86.也可以借助机器学习模型,对各初始预测视频帧进行融合,从而得到预测视频帧,具体地:将各初始预测视频帧输入融合模型,以使融合模型输出预测视频帧。本技术实施例中,对于融合模型的具体结构和参数值不做限定,可以根据实际需要进行设定,例如:可以采用基于深度残差的网络(如resnet等)作为融合模型。
87.步骤610,对预测视频帧和残差信息进行加和运算,得到当前视频帧对应的目标重建视频帧。
88.参见图7,图7为图6所示实施例中的一种具体场景示例的示意图,以下,将参考图7所示的示意图,以一个具体场景示例,对本技术实施例进行说明:
89.获取视频比特流和多个重建视频帧(本场景中以3个重建视频帧为例,并不构成对本技术实施例中重建视频帧数量的限定);解码视频比特流(通过运动信息解码模块进行解码)得到目标运动信息v
t-1
(在图7所示的场景中,以基于重建时间最晚的第一重建视频帧和当前视频帧得到的第一运动信息,作为目标运动信息进行举例说明,并不构成对目标运动信息的具体限定)和(通过残差解码模型进行解码得到)残差信息r
t
;基于所述目标运动信息v
t-1
和分别得到其余重建视频帧的运动信息:v
t-2
和v
t-3
;并基于各重建视频帧和对应的运动信息v
t-1
、v
t-2
、v
t-3
进行运动补偿,得到各重建视频帧对应的初始预测视频帧:p
t-1
、p
t-2
、p
t-3
;对p
t-1
、p
t-2
、p
t-3
进行融合,得到预测视频帧p;对所述预测视频帧p和所述残差信息r
t
进行加和运算,得到当前视频帧对应的目标重建视频帧
90.具体地,参见图7,先基于目标运动信息v
t-1
和第一重建视频帧通过运动补偿模型进行运动补偿,得到第一初始预测视频帧p
t-1
;基于第一初始预测视频帧p
t-1
,分别对通过光流模型进行运动估计,从而得到v
t-2
、v
t-3
,再基于v
t-2
和通过运动补偿模型进行运动补偿,得到p
t-2
、p
t-3
,至此,所有的初始预测视频帧:p
t-1
、p
t-2
、p
t-3
均已得到;之后,可以通过融合模型对p
t-1
、p
t-2
、p
t-3
进行融合,得到预测视频帧p;对预测视频帧p和残差信息r
t
进行加和运算,得到当前视频帧对应的目标重建视频帧
91.本技术实施例中,在编码阶段,是分别基于多个不同的重建视频帧得到对应的初始预测视频帧,再将各初始预测视频帧融合为最终的预测视频帧,以基于最终的预测视频帧对当前视频帧进行编码的;对应地,在解码阶段,也是基于多个不同的重建视频帧得到融合后的最终的预测视频帧,进而再基于融合后的预测视频帧进行解码得到当前视频帧对应的目标重建视频帧的。也就是说,本技术是基于由多个重建视频帧得到的预测视频帧对当前视频帧进行编解码的,由于得到的预测视频帧的纹理质量和运动信息同时参考了多个不同的重建视频帧,预测视频帧与当前视频帧之间的质量差异较小,在解码阶段,基于预测视频帧进行解码,最终得到的目标重建视频帧与当前视频帧之间的质量也差异较小。
92.进一步地,当目标运动信息为基于重建时间最晚的第一重建视频帧和当前视频帧得到的第一运动信息时,与视频帧编码方法中类似,本技术实施例中,也可以采用不同的方式获得各重建视频帧对应的初始预测视频帧:
93.第一种方式:基于所述第一运动信息,对所述第一重建视频帧进行运动补偿,得到
第一初始预测视频帧;基于所述第一初始预测视频帧,分别对各第二重建视频帧进行运动估计,得到第二运动信息;其中,所述第二重建视频帧为除所述第一重建视频帧之外的其他重建视频帧;根据各第二运动信息,对各第二重建视频帧进行运动补偿,得到各第二初始预测视频帧。
94.第二种方式:基于所述第一运动信息,对所述第一重建视频帧进行运动补偿,得到第一初始预测视频帧;按照各重建视频帧的重建时间顺序,基于后一重建视频帧对应的初始预测视频帧,对前一重建视频帧进行运动估计,得到前一重建视频帧的运动信息;基于前一重建视频帧的运动信息和前一重建视频帧进行运动补偿,得到前一重建视频帧对应的初始预测视频帧。
95.上述两种方式的具体实现细节,可以参考视频帧编码方法中的对应内容,此处不再赘述。
96.本实施例的视频解码方法可以由任意适当的具有数据能力的电子设备执行,包括但不限于:服务器、pc机等。
97.为了验证本技术实施例提供的视频编码及解码方法的有效性,本技术中采用常用的编解码测试集classb、classc和classd,分别对本技术实施例提供的视频编码及解码方法、目前传统较为传统的hevc、以及dvc编解码方法进行了性能测试,下表1为三种方法分别能够节省的bdrate(bjontegaard delta rate,表示在同一视频客观质量的情况下,所优化后算法与原始算法相比的速率增加量。bd速率为负则表示优化后算法的编码性能得到了提高):
98.表1(节省的bdrate比较)
[0099] 与hevc相比与dvc相比classb-16.99%-0.80%classc-12.44%-0.92%classd-19.36%-1.51%
[0100]
上述测试结果中,与hevc相比,本技术在classb、classc和classd上的bdrate分别节省了-16.99%、-12.44%以及-19.36%;与dvc相比,对应地bdrate分别节省了-0.80%、-0.92%以及-1.51%。通过上述测试结果可以看出,本技术实施例提供的视频编码及解码方法所提出的方法可以进一步提高编解码性能。
[0101]
实施例三
[0102]
参见图8,图8为根据本技术实施例三的一种视频编码装置的结构框图。本技术实施例提供的视频编码装置包括:
[0103]
当前视频帧获取模块802,用于获取待编码的当前视频帧和多个重建视频帧,其中,多个重建视频帧均为时域位于当前视频帧之前的已重建视频帧;
[0104]
第一初始预测视频帧得到模块804,用于基于当前视频帧,针对各重建视频帧进行运动估计,得到各重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧;
[0105]
第一融合模块806,用于对各初始预测视频帧进行融合,得到预测视频帧。
[0106]
残差信息得到模块808,用于获取预测视频帧和当前视频帧之间的残差信息;
[0107]
编码模块810,用于编码残差信息和目标运动信息,得到视频比特流,其中,目标运
动信息包括多个重建视频帧中至少一个重建视频帧的运动信息。
[0108]
可选地,在其中一些实施例中,第一初始预测视频帧得到模块804,具体用于:
[0109]
基于当前视频帧,对第一重建视频帧进行运动估计,得到第一运动信息;第一重建视频帧为重建时间最晚的重建视频帧;
[0110]
根据第一运动信息,对第一重建视频帧进行运动补偿,得到第一初始预测视频帧;
[0111]
基于第一初始预测视频帧,分别对各第二重建视频帧进行运动估计,得到第二运动信息;其中,第二重建视频帧为除第一重建视频帧之外的其他重建视频帧;
[0112]
根据各第二运动信息,对各第二重建视频帧进行运动补偿,得到各第二初始预测视频帧。
[0113]
可选地,在其中一些实施例中,第一初始预测视频帧得到模块804,具体用于:
[0114]
按照各重建视频帧的重建时间顺序,对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息;
[0115]
基于后一重建视频帧的运动信息和后一重建视频帧进行运动补偿,得到后一重建视频帧对应的初始预测视频帧;
[0116]
基于后一重建视频帧对应的初始预测视频帧,对前一重建视频帧进行运动估计,得到前一重建视频帧的运动信息;
[0117]
基于前一重建视频帧的运动信息和前一重建视频帧进行运动补偿,得到前一重建视频帧对应的初始预测视频帧。
[0118]
可选地,在其中一些实施例中,当后一重建视频帧为重建时间最晚的第一重建视频帧时,第一初始预测视频帧得到模块804在执行步骤对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息,具体用于:基于当前视频帧,对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息;
[0119]
当后一重建视频帧为第二重建视频帧时,第一初始预测视频帧得到模块804在执行步骤对后一重建视频帧进行运动估计,得到后一重建视频帧的运动信息,具体用于:基于该后一重建视频帧之后的重建视频帧对应的初始预测视频帧,对该后一重建视频帧进行运动估计,得到该后一重建视频帧的运动信息。
[0120]
可选地,在其中一些实施例中,第一融合模块806,具体用于:
[0121]
获取各初始预测视频帧对应的权重值;
[0122]
基于各权重值,对各初始预测视频帧进行线性加权处理,得到预测视频帧。
[0123]
可选地,在其中一些实施例中,第一融合模块806,具体用于:
[0124]
将各初始预测视频帧输入融合模型,以使融合模型输出预测视频帧。
[0125]
本实施例的视频编码装置用于实现前述多个方法实施例中相应的视频编码方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的视频编码装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
[0126]
实施例四
[0127]
参见图9,图9为根据本技术实施例四的一种视频解码装置的结构框图。本技术实施例提供的视频解码装置包括:
[0128]
视频比特流获取模块902,用于获取视频比特流和多个重建视频帧,其中,多个重建视频帧均为时域位于待编码的当前视频帧之前的已重建视频帧;
[0129]
解码模块904,用于解码视频比特流,得到目标运动信息和残差信息;目标运动信息为基于多个重建视频帧中的至少一个重建视频帧和当前视频帧得到的运动信息;
[0130]
第二初始预测视频帧得到模块906,用于基于目标运动信息和多个重建视频帧,分别得到其余重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧;
[0131]
第二融合模块908,用于对各初始预测视频帧进行融合,得到预测视频帧;
[0132]
目标重建视频帧得到模块910,用于对预测视频帧和残差信息进行加和运算,得到当前视频帧对应的目标重建视频帧。
[0133]
可选地,在其中一些实施例中,目标运动信息为基于重建时间最晚的第一重建视频帧和当前视频帧得到的第一运动信息;第二初始预测视频帧得到模块906,具体用于:
[0134]
基于第一运动信息,对第一重建视频帧进行运动补偿,得到第一初始预测视频帧;
[0135]
基于第一初始预测视频帧,分别对各第二重建视频帧进行运动估计,得到第二运动信息;其中,第二重建视频帧为除第一重建视频帧之外的其他重建视频帧;
[0136]
根据各第二运动信息,对各第二重建视频帧进行运动补偿,得到各第二初始预测视频帧。
[0137]
可选地,在其中一些实施例中,目标运动信息为基于重建时间最晚的第一重建视频帧和当前视频帧得到的第一运动信息;第二初始预测视频帧得到模块906,具体用于:
[0138]
基于第一运动信息,对第一重建视频帧进行运动补偿,得到第一初始预测视频帧;
[0139]
按照各重建视频帧的重建时间顺序,基于后一重建视频帧对应的初始预测视频帧,对前一重建视频帧进行运动估计,得到前一重建视频帧的运动信息;
[0140]
基于前一重建视频帧的运动信息和前一重建视频帧进行运动补偿,得到前一重建视频帧对应的初始预测视频帧。
[0141]
可选地,在其中一些实施例中,第二融合模块908,具体用于:
[0142]
获取各初始预测视频帧对应的权重值;
[0143]
基于各权重值,对各初始预测视频帧进行线性加权处理,得到预测视频帧。
[0144]
可选地,在其中一些实施例中,第二融合模块908,具体用于:
[0145]
将各初始预测视频帧输入融合模型,以使融合模型输出预测视频帧。
[0146]
本实施例的视频解码装置用于实现前述多个方法实施例中相应的视频解码方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的视频解码装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
[0147]
实施例五
[0148]
参照图10,示出了根据本技术实施例五的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
[0149]
如图10所示,该会议终端可以包括:处理器(processor)1002、通信接口(communications interface)1004、存储器(memory)1006、以及通信总线1008。
[0150]
其中:
[0151]
处理器1002、通信接口1004、以及存储器1006通过通信总线1008完成相互间的通信。
[0152]
通信接口1004,用于与其它电子设备或服务器进行通信。
[0153]
处理器1002,用于执行程序1010,具体可以执行上述视频编码方法,或者,视频解码方法的相关步骤。
[0154]
具体地,程序1010可以包括程序代码,该程序代码包括计算机操作指令。
[0155]
处理器1002可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0156]
存储器1006,用于存放程序1010。存储器1006可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0157]
程序1010具体可以用于使得处理器1002执行以下操作:获取待编码的当前视频帧和多个重建视频帧,其中,所述多个重建视频帧均为时域位于当前视频帧之前的已重建视频帧;基于当前视频帧,针对各重建视频帧进行运动估计,得到各重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧;对各初始预测视频帧进行融合,得到预测视频帧;并获取所述预测视频帧和当前视频帧之间的残差信息;编码所述残差信息和目标运动信息,得到视频比特流,其中,目标运动信息包括多个重建视频帧中至少一个重建视频帧的运动信息。
[0158]
或者,
[0159]
程序1010具体可以用于使得处理器1002执行以下操作:获取视频比特流和多个重建视频帧,其中,多个重建视频帧均为时域位于待编码的当前视频帧之前的已重建视频帧;解码所述视频比特流,得到目标运动信息和残差信息;目标运动信息为基于多个重建视频帧中的至少一个重建视频帧和当前视频帧得到的运动信息;基于目标运动信息和所述多个重建视频帧,分别得到其余重建视频帧的运动信息;并基于各重建视频帧和对应的运动信息进行运动补偿,得到各重建视频帧对应的初始预测视频帧;对各初始预测视频帧进行融合,得到预测视频帧;对预测视频帧和所述残差信息进行加和运算,得到当前视频帧对应的目标重建视频帧。
[0160]
程序1010中各步骤的具体实现可以参见上述视频编码方法,或者,视频解码方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0161]
通过本实施例的电子设备,在编码阶段,是分别基于多个不同的重建视频帧得到对应的初始预测视频帧,再将各初始预测视频帧融合为最终的预测视频帧,以基于最终的预测视频帧对当前视频帧进行编码的;对应地,在解码阶段,也是基于多个不同的重建视频帧得到融合后的最终的预测视频帧,进而再基于融合后的预测视频帧进行解码得到当前视频帧对应的目标重建视频帧的。也就是说,本技术是同时将多个重建视频帧作为参考帧,对当前视频帧进行编码及解码,以得到对应的目标重建视频帧的,目标重建视频帧的纹理质量和运动信息同时参考了多个不同的重建视频帧,因此,目标重建视频帧与当前视频帧之间的质量差异较小。综上,本技术实施例提高了视频帧的重建质量。
[0162]
本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一方法对应的操作。
[0163]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
[0164]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的视频编码方法,或者,视频解码方法。此外,当通用计算机访问用于实现在此示出的视频编码方法,或者,视频解码方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的视频编码方法,或者,视频解码方法的专用计算机。
[0165]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0166]
以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1