本发明涉及的是一种数字图像处理领域的技术,具体是一种基于多网络联合构建与自适应选择的视频压缩编码环路滤波实现方法。
背景技术:
现有的视频压缩算法均采用有损压缩的方案,即压缩视频的图像与原始视频存在一定失真。尤其在压缩率较高时,图像的扭曲、失真更为严重。因此在保持较高压缩率的前提下,压缩视频的图像环路滤波具有重要意义。现有的视频编码标准中已经有了基于传统方法的环路滤波器,比如hevc(高效率视频编码)中的sao和deblockfilter。现已有一些基于卷积神经网络实现的环路滤波器,与传统的环路滤波器相比效果更好。但已有的基于卷积神经网络的环路滤波实现方法均是基于单个卷积神经网络,在较为复杂的编码和图像失真情况下,模型的鲁棒性不够。
技术实现要素:
本发明针对现有技术存在的上述不足,提出一种基于多网络联合构建与自适应选择的环路滤波实现方法,该方法使用多个卷积神经网络来进行视频压缩编码算法中的环路滤波,具有更强的鲁棒性和拓展性,能够在现有的基于卷积神经网络的压缩视频环路滤波器实现方法的基础上进一步地改进它们的性能,提升视频压缩算法的编码效率。
本发明是通过以下技术方案实现的:
本发明涉及一种基于多网络联合构建与自适应选择的环路滤波实现方法,首先通过联合构建包含一个多分类网络和多个滤波网络的卷积神经网络,然后采用压缩视频的视频帧作为训练数据对该卷积神经网络进行迭代训练,最后在视频压缩过程中进行自适应选择的环路滤波。
所述的卷积神经网络包括:一个分类网络和多个滤波网络,其中:分类网络采用但不限于k.simonyan等人在《verydeepconvolutionalnetworksforlarge-scaleimagerecognition》一文中描述的vgg-16网络或k.he等人在《deepresiduallearningforimagerecognition》提出的resnet分类网络;滤波网络采用但不限于y.dai等人在《aconvolutionalneuralnetworkapproachforpost-processinginhevcintracoding》中提出的vrcnn网络或r.yan等人在《enhancingqualityforhevccompressedvideos》中提出的qecnn网络。
所述的多分类网络的分类类别与滤波网络的数量匹配一致,优选为2的幂次个分类类别。
所述的迭代训练中的每一次迭代,通过将训练数据的视频帧首先输入多分类网络,经预测得到输入视频帧的类别i后,将该视频帧输入n个滤波网络,通过比较并记滤波效果最好的第j个网络的序号j作为该视频帧的类别标注进行该网络的参数更新,再使用该视频帧和其对应的未压缩的原始视频帧来更新第i滤波网络的参数。
所述的滤波效果,采用但不限于峰值信噪比(psnr)作为图像质量的评价指标。
所述的视频压缩过程中的环路滤波,采用以下任意一种方式实现:
1)在视频压缩的编解码环路中,先将压缩后的视频帧输入训练后的n分类网络,得到预测的类别i*,然后将该视频帧输入第i*个训练后的滤波网络,该滤波网络的输出即最终的滤波后的视频帧;
2)在视频压缩的编解码环路中,将压缩视频帧分别输入n个训练后的滤波网络,根据图像质量的评价指标比较n个滤波网络输出的滤波后的视频帧,选取质量最好的第j*个滤波网络输出的视频帧作为最终的滤波后的视频帧,然后通过二进制表示j*,并写到编码得到的码流中。
技术效果
与现有技术相比,本发明利用联合构建的多个卷积神经网络来实现压缩视频的环路滤波,与传统的基于单一神经网络的方法相比,具有更好的鲁棒性和增强效果。基于单一神经网络的环路滤波器的实现方法不能高效地学习到压缩视频中不同程度的复杂的图像失真,本发明中训练构建的多个模型能够更好地捕捉上述的由压缩算法带来的复杂的图像失真现象,从而实现更好的质环路滤波效果。
附图说明
图1为实施例多网络联合构建模块示意图;
图2a和图2b分别为实施例两种环路滤波示意图;
图3为实施例系统结构示意图。
具体实施方式
如图3所示,为本实施例涉及的实现环路滤波的系统,包括:多网络联合构建模块和与之相连的自适应选择的环路滤波模块,其中:多网络联合构建模块输出网络模型至自适应选择的环路滤波模块,自适应选择的环路滤波模块跟据网络模型在视频压缩编码算法中进行压缩视频帧的环路滤波。
所述的多网络联合构建模块包括:用于构建包含一个分类网络和多个滤波网络的卷积神经网络的网络生成单元和与之相连的网络联合训练单元。
所述的环路滤波模块包括:用于进行滤波方式选择的滤波选择单元,该滤波选择单元采用多网络联合构建模块构建并训练得到的卷积神经网络实现。
所述的环路滤波模块优选嵌入视频编码算法中。
本实施例具体实现步骤包括:
步骤1.1)使用视频编解码软件hm-16.0对数据集中的视频进行压缩编码,最终得到解码后的多个压缩视频。对于每一个压缩视频,将它的视频帧和其对应的压缩前的视频帧,作为训练数据,且只采用图像的y通道。
步骤1.2)基于tensorflow开源软件构建神经网络,其中n=4分类网络采用vgg-16网络,4个滤波网络均采用vrcnn网络,并使用训练数据对其进行有监督的训练,最终完成网络参数的优化。
所述的训练为迭代循环,具体包括:
i)网络参数随机的初始化;
ii)对于训练阶段的每一次迭代,得到所述4分类网络预测所述训练数据的输入视频帧的类别i,然后将该视频帧输入4个滤波网络,计算输出视频帧的psnr,记psnr增益最高的为第j个网络;
iii)以j作为该视频帧的类别标注进行该分类网络的参数更新,然后使用该视频帧和其对应的未压缩的原始视频帧来更新第i个滤波网络的参数。
所述的参数更新,使用数据对分别计算网络的代价函数(loss),该数据对包括:分类网络的预测类别i及其标注类别j、滤波网络输出的滤波后的视频帧和未压缩的原始视频帧,计算得到代价函数后进行通用的神经网络所使用的梯度的后向传播,然后更新网络的参数。
所述的分类网络的代价函数采用但不限于softmaxloss,具体为:
所述的滤波网络采用的代价函数采用但不限于meansquarederror,具体为:
步骤1.3)将训练得到的网络部署到视频编码算法中,本实施例采用两种方式进行环路滤波,分别如图1和图2所示:
如图1所示,在编码算法中,压缩视频帧输入训练得到的4分类网络vgg-16,得到预测类别i*;然后将该视频帧输入第i*个训练得到的滤波网络vrcnn,得到滤波后的视频帧。
如图2所示,在编码算法中,将压缩视频帧分别输入n个训练后的滤波网络,根据图像质量的评价指标比较n个滤波网络输出的滤波后的视频帧,选取质量最好的第j*个滤波网络输出的视频帧作为最终的滤波后的视频帧,然后通过二进制表示j*,并写到编码得到的码流中。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。