一种编码解码方法、装置及相关设备制造方法及图纸

技术编号:37151645 阅读:23 留言:0更新日期:2023-04-06 22:08
本申请实施例公开了一种编码解码方法、装置及相关设备,包括:将第i个视频帧输入预先训练好的目标神经网络中,获取第i个视频帧经过目标神经网络的第j层所输出的参数集合目标神经网络为N层神经网络;判断参数集合中的参数是否满足预设条件;若不满足预设条件,则从目标神经网络的第j层开始,基于参数集合向第j

【技术实现步骤摘要】
一种编码解码方法、装置及相关设备


[0001]本申请涉及计算机
,尤其涉及一种编码解码方法、装置及相关设备。

技术介绍

[0002]现有的视频数据是基于连续多帧图像(即视频帧)形成的集合,每一帧图像包含一个高维的静态数据。其中,视频预测的任务是指通过输入过去一段时间的视频(包含多帧图像),预测未来一段时间的视频(包含多帧图像),从而可以根据已知的历史信息进行提前预警,预防突发事件,等等。
[0003]传统的视频预测方法是基于每个像素点的历史数据,建立自回归的时序预测模型,依次实现对后续图像帧的预测。然而,这种方法依赖于在高维图像空间的像素级计算,需要消耗大量的计算资源,精度也不能得到保证。近年来,随着深度学习的发展,利用神经网络实现视频的编码、解码、预测等功能已经成为业界的主流方向。基于大量视频数据以及深度神经网络的学习特性,编码和解码过程也可以做到比较准确,但是,现有的神经网络计算复杂,且神经网络中每层的计算更新频率是固定的,无法真正学习到视频中的变化规律,导致视频预测的准确率低。
[0004]因此,如何基于神经网络实现高准确率、低计算量的视频预测是亟待解决的问题。

技术实现思路

[0005]本申请实施例提供一种编码解码方法、装置及相关设备,可以大大减少计算量。
[0006]第一方面,本申请实施例提供了一种编码解码方法,包括:将第i个视频帧输入预先训练好的目标神经网络中,获取所述第i个视频帧经过所述目标神经网络的第j层所输出的参数集合所述目标神经网络为N层神经网络,N为大于或等于1的整数,j为小于或等于N的正整数;i=2、3、4
……
;判断所述参数集合中的参数是否满足预设条件;若不满足所述预设条件,则从所述目标神经网络的第j层开始,基于所述参数集合向第j

1、j
‑2……
j

j层依次解码,以获得所述第i个视频帧的解码结果;其中,所述预设条件包括所述参数集合与参数集合中的参数之间的变化量大于第一预设值;所述参数集合为第i

1个视频帧经过所述目标神经网络的第j层所输出的参数集合;所述第i

1个视频帧为在所述第i个视频帧前一时刻的视频帧。
[0007]现有技术中,可以通过建立层级结构的神经网络,输入视频数据并经过多层的编码和解码,在隐空间学习视频的变化规律,进而实现视频预测。但是,现有的层级结构中每层的更新频率是人为设定的固定值,即基于人为设定的均匀分布的时间尺度进行层级间信息的传递,使得输入视频中每一时刻的视频帧对应需要编码解码的层级数是固定的。例如,当前时刻的视频帧必须经过两层的编码和解码,而前一时刻的视频帧只能经过一层的编码和解码。如此,并不能真正学到视频的变化实质(例如分辨视频内容中快速的变化和缓慢的
变化),从而无法实现准确的视频预测。同时,基于人为设定的均匀分布的时间尺度进行层级传递,在很多情况下会进行大量无效的计算,比如在视频没有显著变化的情况下仍然需要进行上下层之间的隐空间信息传递(例如不断向上层编码),从而造成计算资源的浪费。在本申请实施例中,通过判断当前时刻的视频帧(例如第i个视频帧)在目标神经网络的当前层(例如第j层)所输出的参数相较于前一时刻的视频帧在目标神经网络输出的参数之间的变化量是否满足某一预设值(例如第一预设值),来决定当前是否需要再向上一层神经网络传递信息(例如再向上一层进行编码)等。如此,相较于现有技术,本申请中每个视频帧对应的层级结构是不同的,是可以随着视频内容的变化程度自适应调整的,变化程度大(或者说有事件发生)的视频帧可以进行更多层的编码和解码,得到更多有用的信息,而变化程度较小(或者说无事件发生)的视频帧可以仅进行一两层的编码和解码,从而避免大量的无效计算。因此,本申请可以基于事件的发生来驱动各层级间的信息传递,从而有效避免在某帧视频内容毫无变化的情况下,进行不必要信息传递等,避免无效计算,节省计算资源。同时,可以更加准确地学习到视频内容的变化情况并依此准确预测未来时刻的视频帧,也可以准确地检测出视频中是否出现特殊事件。
[0008]在一些可能的实现方式中,所述参数集合包括:所述第i个视频帧经过所述目标神经网络的第j层所输出的编码结果第一隐变量解码结果第二隐变量
[0009]在本申请实施例中,第i个视频帧经过目标神经网络的第j层所输出的参数集合中可以包括编码结果第一隐变量解码结果第二隐变量这些参数后续可以用于判断是否满足预设条件的计算,例如根据上述参数计算第i个视频帧当前的先验分布和后验分布,用于与前一时刻的视频帧的先验分布和后验分布进行比较,是否存在明显变化(即第i个视频帧中当前是否有事件发生)等等。从而高效、准确地实现由事件的发生来驱动各层级间的信息传递,避免不必要的计算,节省计算资源。同时,可以更好地分析掌握视频内容随时间的变化规律,进而后续可以实现更准确的视频预测和视频检测。
[0010]在一些可能的实现方式中,所述判断所述参数集合中的参数是否满足预设条件,包括:获取所述参数集合所述参数集合包括:所述第i

1个视频帧经过所述目标神经网络的第j层所输出的编码结果第一隐变量解码结果第二隐变量根据所述参数集合与所述参数集合获取所述参数集合与所述参数集合中的参数之间的变化量;根据所述变化量和所述预设值,判断所述参数集合中的参数是否满足预设条件。
[0011]在本申请实施例中,可以基于第i个视频帧在当前层(例如第j层)的各项参数,以及前一时刻的视频帧(例如第i

1个视频帧)在当前层的各项参数之间是否存在明显变化,来判断第i个视频帧在第j层对应的参数是否满足预设条件,即实现判断第i个视频帧中当前是否有事件发生,是否有进一步向上层进行计算的必要。从而高效、准确地实现基于事件的发生来驱动各层级间的信息传递,避免不必要的计算,节省计算资源。同时,可以更好地分析掌握视频内容随时间的变化规律,进而后续可以实现更准确的视频预测和视频检测。
[0012]在一些可能的实现方式中,所述根据所述参数集合与所述参数集合获取所述参数集合与所述参数集合中的参数之间的变化量,包括:根据所述编码结果所述第一隐变量和所述解码结果确定所述第二隐变量的先验分布;根据所述第一隐变量所述解码结果和所述编码结果确定所述第二隐变量的后验分布;根据所述第一隐变量和所述解码结果确定所述第二隐变量的先验分布;根据所述解码结果所述编码结果和所述第一隐变量确定所述第二隐变量的后验分布;计算所述的先验分布与所述的后验分布之间的第一差异,以及所述的先验分布与所述的后验分布之间的第二差异,并获取所述第二差异与所述第一差异之间的所述变化量。
[0013]在本申请实施例中,具体可以通过第i个视频帧在目标神经网络的第j层的参数集合,计算得到该第i个视频帧在第j层的第二隐变量的先验分布和后验分布,进一步再计算该先验分布和后验分布之间的差异(例如可以计算两者之间的KL散度(kullback

leibl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种编码解码方法,其特征在于,包括:将第i个视频帧输入预先训练好的目标神经网络中,获取所述第i个视频帧经过所述目标神经网络的第j层所输出的参数集合所述目标神经网络为N层神经网络,N为大于或等于1的整数,j为小于或等于N的正整数;i=2、3、4
……
;判断所述参数集合中的参数是否满足预设条件;若不满足所述预设条件,则从所述目标神经网络的第j层开始,基于所述参数集合向第j

1、j
‑2……
j

j层依次解码,以获得所述第i个视频帧的解码结果;其中,所述预设条件包括所述参数集合与参数集合中的参数之间的变化量大于第一预设值;所述参数集合为第i

1个视频帧经过所述目标神经网络的第j层所输出的参数集合;所述第i

1个视频帧为在所述第i个视频帧前一时刻的视频帧。2.根据权利要求1所述的方法,其特征在于,所述参数集合包括:所述第i个视频帧经过所述目标神经网络的第j层所输出的编码结果第一隐变量解码结果第二隐变量3.根据权利要求2所述的方法,其特征在于,所述判断所述参数集合中的参数是否满足预设条件,包括:获取所述参数集合所述参数集合包括:所述第i

1个视频帧经过所述目标神经网络的第j层所输出的编码结果第一隐变量解码结果第二隐变量根据所述参数集合与所述参数集合获取所述参数集合与所述参数集合中的参数之间的变化量;根据所述变化量和所述预设值,判断所述参数集合中的参数是否满足预设条件。4.根据权利要求3所述的方法,其特征在于,所述根据所述参数集合与所述参数集合获取所述参数集合与所述参数集合中的参数之间的变化量,包括:根据所述编码结果所述第一隐变量和所述解码结果确定所述第二隐变量的先验分布;根据所述第一隐变量所述解码结果和所述编码结果确定所述第二隐变量的后验分布;根据所述第一隐变量和所述解码结果确定所述第二隐变量的先验分布;根据所述解码结果所述编码结果和所述第一隐变量确定所述第二隐变量的
后验分布;计算所述的先验分布与所述的后验分布之间的第一差异,以及所述的先验分布与所述的后验分布之间的第二差异,并获取所述第二差异与所述第一差异之间的所述变化量。5.根据权利要求1

4任意一项所述的方法,其特征在于,所述方法还包括:若所述参数集合中的参数不满足所述预设条件,则复制参数集合参数集合
……
参数集合并将所述参数集合所述参数集合
……
所述参数集合分别作为所述第i个视频帧经过所述目标神经网络的第j+1层、第j+2层
……
第N层所输出的参数集合;其中,所述参数集合所述参数集合
……
所述参数集合分别为所述第i

1个视频帧经过所述目标神经网络的第j+1层、第j+2层
……
第N层所输出的参数集合。6.根据权利要求1

5任意一项所述的方法,其特征在于,所述第i

1个视频帧为原始视频数据中的最后一帧;所述方法还包括:获取第i

1个视频帧经过所述目标神经网络的第1层所输出的第一隐变量和第二隐变量并基于所述第一隐变量和所述第二隐变量计算得到所述第i个视频帧的初始第一隐变量和初始第二隐变量根据所述初始第一隐变量和所述初始第二隐变量通过所述目标神经网络中的解码器得到所述第i个视频帧;其中,所述第i个视频帧对应的解码结果为对所述第i个视频帧的预测结果。7.根据权利要求1

5任意一项所述的方法,其特征在于,所述第i个视频帧为原始视频数据中的一帧;所述方法还包括:若所述参数集合中的参数满足所述预设条件,则更新所述第i个视频帧当前的索引集合K={(i,j)};若所述K={(i,j)}满足视频检测条件,则输出所述第i个视频帧;所述视频检测条件包括所述K={(i,j)}中的j大于第二预设值;所述第i个视频帧为所述原始视频数据中的关键帧。8.根据权利要求1

7任意一项所述的方法,其特征在于,所述方法还包括:若所述参数集合中的参数满足所述预设条件,且j小于N,则依次经过所述目标神经网络的第j+1层、第j+2层
……
第N层,并依次输出相应的参数集合;若所述参数集合中的参数满足所述预设条件,且j等于N,则从所述目标神经网络的第j层开始,基于所述参数集合向第j

1、j
‑2……
j

j层依次解码,以获得所述第i个视频帧的解码结果。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:构建初始神经网络;将视频训练集中的多个视频帧按时间顺序输入至所述初始神经网络,输出所述多个视频帧中的每个视频帧对应的预测结果;计算所述每个视频帧与所述每个视频帧对应的预测结果之间的损失。10.根据权利要求7所述的方法,其特征在于,所述方法还包括:构建初始神经网络;将视频训练集中的多个视频帧按时间顺序输入至所述初始神经网络,输出所述多个视频帧中的关键帧;计算所述关键帧与预设的视频帧之间的损失;所述预设的视频帧为所述多个视频帧中事先定义的关键帧。11.根据权利要求9

10任意一项所述的方法,其特征在于,所述方法还包括:根据所述损失,对所述初始神经网络中的一个或多个权重进行修改,并更新所述初始神经网络,反复循环,直至所述损失小于第三预设值或者训练次数大于第四预设值,则结束训练,得到训练好的所述目标神经网络。12.一种编码解码装置,其特征在于,包括:第一获取单元,用于将第i个视频帧输入预先训练好的目标神经网络中,获取所述第i个视频帧经过所述目标神经网络的第j层所输出的参数集合所述目标神经网络为N层神经网络,N为大于或等于1的整数,j为小于或等于N的正整数;i=2、3、4
……
;判断执行单元,用于判断所述参数集合中的参数是否满足预设条...

【专利技术属性】
技术研发人员:郭青海扎菲里奥斯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1