基于卷积神经网络的视频编解码方法及装置与流程

文档序号:28564734发布日期:2022-01-19 17:13阅读:132来源:国知局
基于卷积神经网络的视频编解码方法及装置与流程

1.本发明涉及视频转码技术领域,尤其涉及一种基于卷积神经网络的视频编解码方法及装置。


背景技术:

2.随着对实时流媒体、视频点播和云游戏等需求的增加,对压缩视频流的需求也不断增加。此外,4k、8k和hdr等高清新技术不断普及也推动了对通过互联网发送的视频比特数的需求增加。而这些数据的传输和存储都有很大的成本,并且随着时间的推移,成本也在增加。为了应对这一趋势,近年来,视频的压缩技术不断进步,h.265和av1在原有的视频压缩标准的基础上可以进一步提高视频数据的压缩比。
3.如图1所示,目前用于压缩视频的大多数视频编解码器都遵循类似的算法。将视频的一个帧与某个参考帧进行比较。在比较时,该帧被分解成很多更小的块,并采用特定算法将其与前一帧或先前已经完成编码的块进行比较。通过分析参考帧中的信息,这些算法作为“工具”可以预测需要编码块的内容。然后使用熵编码器量化和编码猜测块和真实块之间的差异。这些算法或工具的目标是预测/创建最接近真实图像的匹配。算法越优异,其预测和真实的误差就越小,因此熵很低,可以有效地进行编码减少码率。
4.然而,这些新技术仍然跟不上高清/超高清视频快速发展的需求,需要进一步改进。为针对特定的视频质量优化编解码器是一个复杂的问题,还有着很大的发展空间。


技术实现要素:

5.本发明要解决的技术问题是如何提高视频压缩性能,本发明提出一种基于卷积神经网络的视频编解码方法及装置。
6.根据本发明实施例的基于卷积神经网络的视频编码方法,包括:
7.通过当前帧图像创建缩放参考图像并通过图像编码网络进行编码得到压缩图像;
8.通过图像解码网络对所述压缩图像进行解码得到解压图像,并将所述解压图像还原为所述当前帧图像的原始尺寸,得到基线预测图像;
9.通过所述当前帧图像和所述基线预测图像获取基线残差图像;
10.选择一个或多个重建的已编码图像作为参考帧,采用帧间编码的方式,进行运动估算,在所述当前帧图像和每个所述参考帧中获取运动向量映射,同时生成多个参考残差图像;
11.在所述基线残差图像和多个所述参考残差图像中使用残差生成器,生成最优残差图像,同时获取对应的运动向量映射,所述运动向量映射用于确定所述最优残差图像中每个块对应来源的所述参考帧或所述压缩图像,以及对应的位置;
12.通过残差编码网络对所述最优残差图像进行编码得到残差压缩图像;
13.将所述压缩图像、所述残差压缩图像及所述运动向量映射进行编码后输出或直接输出;
14.其中,所述图像编码网络、所述图像解码网络和所述残差编码网络均为卷积神经网络。
15.根据本发明的一些实施例,基于所述基线残差图像和多个通过运动矢量扫描获生成的所述参考残差图像,通过残差生成器生成所述最优残差图像。
16.在本发明的一些实施例中,所述方法还包括:通过残差解码网络对所述残差压缩图像进行解码,获取残差解压图像。
17.根据本发明的一些实施例,对所述压缩图像、所述残差压缩图像及所述运动向量映射进行熵编码后分别获得原始编码、残差编码和映射编码并输出。
18.根据本发明实施例的基于卷积神经网络的视频编码装置,包括:
19.尺寸缩放模块,用于通过当前帧图像创建缩放参考图像;
20.图像压缩模块,用于将所述缩放参考图像通过图像编码网络进行编码,得到压缩图像;
21.图像解码模块,用于通过图像解码网络对所述压缩图像进行解码,得到解压图像,所述图像压缩模块将所述解压图像还原为所述当前帧图像的原始尺寸,得到基线预测图像;
22.残差计算模块,用于通过所述当前帧图像和所述基线预测图像获取基线残差图像;及用于选择一个或多个重建的已编码图像作为参考帧,采用帧间编码的方式,进行运动估算,在所述当前帧图像和每个所述参考帧中获取运动向量映射,同时生成多个参考残差图像;
23.残差生成器,用于基于所述基线残差图像和多个所述参考残差图像,生成最优残差图像,同时获取对应的运动向量映射,所述运动向量映射用于确定所述最优残差图像中每个块对应来源的所述参考帧或所述压缩图像,以及对应的位置;
24.残差压缩模块,用于通过残差编码网络对所述最优残差图像进行编码得到残差压缩图像;
25.编码输出模块,用于将所述压缩图像、所述残差压缩图像及所述运动向量映射进行编码后输出或直接输出;
26.其中,所述图像编码网络、所述图像解码网络和所述残差编码网络均为卷积神经网络。
27.根据本发明的一些实施例,所述残差生成器通过所述基线残差图像和多个所述参考残差图像,获取最小残差块,基于所述最小残差块生成所述最优残差图像。
28.在本发明的一些实施例中,所述装置还包括:残差重构模块,用于通过残差解码网络对所述残差压缩图像进行解码,获取残差解压图像。
29.根据本发明的一些实施例,所述编码输出模块为熵编码模块,用于对所述压缩图像、所述残差压缩图像及所述运动向量映射进行熵编码后分别获得原始编码、残差编码和映射编码并输出。
30.根据本发明实施例的基于卷积神经网络的解码方法,所述解码方法对采用如上所述的基于卷积神经网络的视频编码方法编码后的视频进行解码,所述方法包括:
31.对所述图像编码、所述残差编码和所述映射编码分别进行熵解码;
32.通过图像解码网络对熵解码后的所述图像编码进行解码,得到解压图像,并将所
述解压图像进行尺寸还原;
33.通过残差解码网络对熵解码后的所述残差编码进行解码,获取残差解压图像;
34.基于尺寸还原后的所述解压图像、所述残差解码图像、解码后的映射及已解码帧的图像进行图像重构,完成当前帧的图像解码和重构。
35.根据本发明实施例的基于卷积神经网络的解码装置,所述解码装置对采用如上所述的基于卷积神经网络的视频编码方法编码后的视频进行解码,所述装置包括:
36.熵解码模块,用于对所述原始编码、所述残差编码和所述映射编码分别进行熵解码;
37.图像解码模块,用于通过图像解码网络对熵解码后的所述原始编码进行解码,得到解压图像;
38.尺寸调整模块,用于将所述解压图像进行尺寸还原;
39.残差解码模块,用于通过残差解码网络对熵解码后的所述残差编码图像进行解码,获取残差解压图像;
40.帧重构模块,用于基于尺寸还原后的所述解压图像、所述残差解压图像、解码后的映射及已解码帧图像进行图像重构,完成当前帧的图像解码和重构。
41.本发明提出的基于卷积神经网络的视频编解码方法及装置具有如下有益效果:
42.本发明提出了一种有效的视频压缩和解压的方法,可以很容易地训练到特定的目标,比基于软件的算法更容易在硬件中实现。而且,使用本发明的视频压缩方法,对于给定视频质量非常高的比特率,可以实现高视频压缩性能,同时关注于视频流的可感知质量。
附图说明
43.图1为现有技术中视频压缩方法流程图;
44.图2为根据本发明实施例的基于卷积神经网络的视频编码器的视频编码示意图;
45.图3为根据本发明实施例的基于卷积神经网络的视频编码方法流程图;
46.图4为根据本发明实施例的基于卷积神经网络的视频编码装置的组成示意图;
47.图5为根据本发明实施例的基于卷积神经网络的视频解码器的视频解码示意图;
48.图6为根据本发明实施例的基于卷积神经网络的视频解码方法流程图;
49.图7为根据本发明实施例的基于卷积神经网络的视频解码装置的组成示意图。
50.附图标记:
51.编码装置100,
52.尺寸缩放模块110,图像压缩模块120,解码模块130,残差计算模块140,残差生成器150,残差压缩模块160,编码输出模块170,残差重构模块180,
53.解码装置200,
54.熵解码模块210,图像解码模块220,尺寸调整模块230,残差解码模块240,帧重构模块250。
具体实施方式
55.为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
56.本发明中说明书中对方法流程的描述及本发明说明书附图中流程图的步骤并非必须按步骤标号严格执行,方法步骤是可以改变执行顺序的。而且,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
57.在过去几十年,一直使用传统的视频编码算法。虽然现在其还在不断发展,然而,这些方法有着严重的局限性。首先,它们目前是以软件为中心实现的,这使得硬件加速和并行化更加困难。其次,它们需要为给定的指标进行手动优化,无论是psnr、ssim还是其他指标。并且,没有有效的方法保证优化的效果。
58.近年来,随着人工智能新技术的不断发展,以深度学习为代表的人工智能技术在图像处理领域获得了极大的突破。而新型的图像压缩方法现在已经开始发展。和传统的着眼于优化一组固定的复杂算法/工具不同,新的视频压缩方法可以使用卷积神经网络来优化视频的质量。这些卷积神经网络是由多层神经元连接而成的。权重应用于层之间的连接,卷积用于在不同层之间传播。通过使用这样的卷积神经网络,并定义合适的目标函数,可以训练神经网络进行许多不同的优化。
59.目前,基于cnn(卷积神经网络)的视频编码的技术还远远没有普及。此类技术大多处于实验阶段,并无法简化硬件实现。其实现仍然以软件为中心,在执行算法时没有来自可用硬件的并行化支持。此外,这些实现的速度和质量仍有待开发和改进。
60.本发明提出了一种新型的基于卷积神经网络的视频编码方法,以进一步提高视频压缩性能,同时关注于视频流的可感知质量。
61.如图2和图3所示,根据本发明实施例的基于卷积神经网络的视频编码方法,包括:
62.s100,通过当前帧图像创建缩放参考图像并通过图像编码网络进行编码得到压缩图像;
63.s200,通过图像解码网络对压缩图像进行解码得到解压图像,并将解压图像还原为当前帧图像的原始尺寸,得到基线预测图像;
64.s210,通过当前帧图像和基线预测图像获取基线残差图像;
65.s220,选择一个或多个重建的已编码图像作为参考帧,采用帧间编码的方式,进行运动估算,在当前帧图像和每个参考帧中获取运动向量映射,同时生成多个参考残差图像;
66.需要说明的是,参考残差图像不是简单的当前帧图像和参考帧之差,而是通过对当前帧图像中的每个块进行运动估算,在参考帧中找到对应的位置,然后与之相减得到的结果。
67.s300,在基线残差图像和多个参考残差图像中使用残差生成器,生成最优残差图像,同时获取对应的运动向量映射,运动向量映射用于确定最优残差图像中每个块对应来源的参考帧或压缩图像,以及对应的位置;
68.需要说明的是,如果视频场景中发生剧烈变化(或者i帧中,没有使用参考帧),当前帧图像中的块在多个参考帧中使用运动估算都不能找到合适的对应块。最优残差图像可以选择步骤s210中的基线残差图像。
69.如果视频完全不动,此时当前帧图像信息可以从参考帧中获取,则可能用不到基线残差图像,也就用不到步骤s100中的压缩图像。此时也可以不传输压缩图像(或者传输空的压缩图像)以进一步降低码率。
70.在上述两种情况之间,当前帧图像中的某些块在多个参考帧中使用运动估不能找
到合适的对应块,最优残差图像可以选择步骤s200中的基线残差图像。而有些块可以通过运动估算在参考帧中找到合适的对应位置,则选择步骤s220中的某个最优的参考残差图像。
71.s400,通过残差编码网络对最优残差图像进行编码得到残差压缩图像;
72.s500,将压缩图像、残差压缩图像及运动向量映射进行编码后输出或直接输出;
73.其中,图像编码网络、图像解码网络和残差编码网络及下文提及的图像解码网络均为卷积神经网络。
74.根据本发明的一些实施例,基于基线残差图像和多个通过运动矢量扫描获生成的参考残差图像,通过残差生成器生成最优残差图像。需要说明的是,先前解码的帧也可以与当前帧相减以产生参考残差图像。在这种情况下,为了在参考帧中寻找和当前帧中块最为类似的块,会执行运动向量扫描:在搜索距离内相对于单前帧来移动已解码的参考帧来实现的。当移动后的参考帧某些块和单前帧中的某些块吻合,其产生的残差的最小,这样就找到了这些块的运动向量。扫描过程是在整个画面上进行的。
75.在本发明的一些实施例中,如图2所示,方法还包括:通过残差解码网络对残差压缩图像进行解码,获取残差解压图像。可以理解的是,获取的重构帧可以在后续帧的解码中作为参考帧。
76.根据本发明的一些实施例,对压缩图像、所述残差压缩图像及运动向量映射进行熵编码后分别获得原始编码、残差编码和映射编码并输出。
77.根据本发明的一些实施例,缩放参考图像的尺寸与当前帧图像的尺寸之比为以下之一:1/2、1/4、1/6、1/8。需要说明的是,通过对原始图像进行尺寸缩减,可以减少后续图像编码压缩处理计算量,但为了保留原始图像的图像信息,不宜对原始图像缩减的过小。例如,缩放参考图像的尺寸可以为当前帧图像的尺寸的1/4,本发明对缩放尺寸不做具体限制。
78.如图4所示,根据本发明实施例的基于卷积神经网络的视频编码装置100,包括:尺寸缩放模块110、图像压缩模块120、第一解码模块130、残差计算模块140、残差生成器150、残差压缩模块160及编码输出模块170。
79.其中,尺寸缩放模块110用于通过当前帧图像创建缩放参考图像;
80.图像压缩模块120用于将缩放参考图像通过图像编码网络进行编码,得到压缩图像;
81.解码模块130用于通过图像解码网络对压缩图像进行解码,得到解压图像,图像压缩模块120将解压图像还原为当前帧图像的原始尺寸,得到基线预测图像;
82.残差计算模块140用于通过当前帧图像和基线预测图像获取基线残差图像;及用于选择一个或多个重建的已编码图像作为参考帧,采用帧间编码的方式,进行运动估算,在当前帧图像和每个参考帧中获取运动向量映射,同时生成多个参考残差图像;
83.残差生成器150用于基于基线残差图像和多个参考残差图像,生成最优残差图像,同时获取对应的运动向量映射,运动向量映射用于确定最优残差图像中每个块对应来源的参考帧或压缩图像,以及对应的位置;
84.残差压缩模块160用于通过残差编码网络对最优残差图像进行编码得到残差压缩图像;
85.编码输出模块170用于将压缩图像、残差压缩图像及运动向量映射进行编码后输出或直接输出;
86.其中,图像编码网络、图像解码网络和残差编码网络均为卷积神经网络。
87.根据本发明的一些实施例,残差生成器150通过基线残差图像和多个参考残差图像,获取最小残差块,基于最小残差块生成最优残差图像。需要说明的是,先前解码的帧也可以与当前帧相减以产生参考残差图像。在这种情况下,为了在参考帧中寻找和当前帧中块最为类似的块,会执行运动向量扫描:在搜索距离内相对于单前帧来移动已解码的参考帧来实现的。当移动后的参考帧某些块和单前帧中的某些块吻合,其产生的残差的最小,这样就找到了这些块的运动向量。扫描过程是在整个画面上进行的。
88.在本发明的一些实施例中,如图4所示,装置还包括:残差重构模块180,用于通过残差解码网络对残差压缩图像进行解码,获取残差解压图像。可以理解的是,获取的重构帧可以在后续帧的解码中作为参考帧。
89.编码输出模块为熵编码模块,用于对压缩图像、所述残差压缩图像及运动向量映射进行熵编码后分别获得原始编码、残差编码和映射编码并输出。
90.根据本发明的一些实施例,缩放参考图像的尺寸与当前帧图像的尺寸之比为以下之一:1/2、1/4、1/6、1/8。需要说明的是,通过对原始图像进行尺寸缩减,可以减少后续图像编码压缩处理计算量,但为了保留原始图像的图像信息,不宜对原始图像缩减的过小。例如,缩放参考图像的尺寸可以为当前帧图像的尺寸的1/4,本发明对缩放尺寸不做具体限制。
91.如图5和图6所示,根据本发明实施例的基于卷积神经网络的解码方法,解码方法对采用如上的基于卷积神经网络的视频编码方法编码后的视频进行解码,方法包括:
92.d100,对图像编码、残差编码和映射编码分别进行熵解码;
93.d210,通过图像解码网络对熵解码后的图像编码进行解码,得到解压图像,并将解压图像进行尺寸还原;
94.d220,通过残差解码网络对熵解码后的残差编码进行解码,获取残差解压图像;
95.d300,基于尺寸还原后的解压图像、残差解码图像、解码后的映射及已解码帧的图像进行图像重构,完成当前帧的图像解码和重构。
96.如图7所示,根据本发明实施例的基于卷积神经网络的解码装置200,解码装置200对采用如上的基于卷积神经网络的视频编码方法编码后的视频进行解码,装置包括:熵解码模块210、第二解码模块220、尺寸调整模块230、残差解码模块240及第二重构模块250。
97.熵解码模块210用于对原始编码、残差编码和映射编码分别进行熵解码;
98.图像解码模块220用于通过图像解码网络对熵解码后的原始编码进行解码,得到解压图像;
99.尺寸调整模块230用于将解压图像进行尺寸还原;
100.残差解码模块240用于通过残差解码网络对熵解码后的残差编码图像进行解码,获取残差解压图像;
101.帧重构模块250用于基于尺寸还原后的解压图像、残差解压图像、解码后的映射及已解码帧图像进行图像重构,完成当前帧的图像解码和重构。
102.本发明提出的基于卷积神经网络的视频编解码方法及装置具有如下有益效果:
103.本发明提出了一种有效的视频压缩和解压的方法,可以很容易地训练到特定的目标,比基于软件的算法更容易在硬件中实现。而且,使用本发明的视频压缩方法,对于给定视频质量非常高的比特率,可以实现高视频压缩性能,同时关注于视频流的可感知质量。
104.下面参照附图详细描述根据本发明的基于卷积神经网络的视频编解码方法及装置。值得理解的是,下述描述仅是示例性描述,而不应理解为对本发明的具体限制。
105.本发明提出的基于cnn的视频编码方法,主要分为两个组成部分使用cnn来实现。
106.如图2所示,首先,创建缩放参考图像。目前的实现建议1/4,然而理论上可使用适合于应用的任何缩放。然后将该图像通过卷积神经网络(cnn)进行编码,该网络可以为任何适用于图像压缩的卷积神经网络方法实现。例如,一个实现可以采用toderici提出的递归神经网络(rnn)。本发明不限定具体应用于图像压缩的神经网络,本领域技术人员可以使用任何有效的神经网络实现。
107.然后,通过逆卷积神经网络对缩放后的图像进行解码。该操作可以理解为上述图像压缩网络的逆操作,将压缩后的图像恢复成为原始图像(可能有误差,其误差大小由cnn网络编码好坏相关)。与编码器一样,解码神经网络的实现可以通过任何有效恢复图像质量的实现来完成。然后将解码生成的图像重新放大为全尺寸以产生解码图像。其然后从原始帧中减去该帧以创建剩余图像。
108.此外,先前解码的帧也可以与当前帧相减以产生残差。在这种情况下,为了在参考帧中寻找和当前帧中块最为类似的块,会执行运动向量扫描:在搜索距离内相对于当前帧来移动已解码的参考帧来实现的。当移动后的参考帧某些块和单前帧中的某些块吻合,其产生的残差的最小,这样就找到了这些块的运动向量。扫描过程是在整个画面上进行的。
109.这样的比较对象可与单个先前帧、多个先前帧或在某些实现中可使用未来帧之间进行。用于运动向量扫描的帧数可以是一个或多个。然后,残差生成器为帧的每个块找到最低残差。根据不同实现的优化方式,块可以是任意数量的像素。然后创建描述哪个块对应于哪个参考帧的运动向量的映射,以便解码器可以重新创建图像。
110.残差图像、缩放图像和映射使用诸如huffman编码之类的算法进行熵编码,然后将其放置在比特流中以创建压缩比特流。
111.在编码器中也会重建某些帧,以便它们可以作为参考帧用于将来的帧。由于在编码过程中并非所有帧都需要参考帧,因此,可以通过仅解码要用作参考帧的帧来实现性能优化。
112.得到的残差图像经残差卷积神经网络进行压缩。
113.基于已经解码的参考帧(可能为多个)以及对缩放图像帧使用逆卷积网络,然后再放大到原始尺寸的帧,解码器利用残差cnn逆卷积网络生成残差图像以及运动向量映射的信息来从新构建原始帧。
114.由于本发明通过分别为图像cnn和残差cnn训练卷积神经网络来实现。这允许每个cnn针对通常提供的不同类型的信息进行优化。需要说明的是,本发明中使用的残差网络和图像网络,可以针对不同的目标参数,为每条路径创建一组不同的权值。例如psnr或mssim,通过改变其目标函数,这些cnn可以训练以针对不同目标优化比特流。
115.需要说明的是,本发明可以使用任何图像卷积神经网络来实现。如本发明中所述,特定卷积网络对本发明不是关键的。熵编码器可以通过多种不同的方式实现,也可以完全
去除,比特流可以直接从卷积神经网络中输出。
116.运动向量扫描可以使用许多不同的扫描实现方法,包括基于块的扫描方法、二叉树搜索方法,或用其他在前帧中查找运动向量映射的算法。
117.综上所述,本发明提出了一种有效的压缩视频的方法,可以很容易地训练到特定的目标,比基于软件的算法更容易在硬件中实现。而且,使用本发明的视频压缩方法,给定比特率的视频质量可以非常高。
118.通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1