社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

TIP 2019论文:一种基于深度学习的HEVC多帧环路滤波方法

PaperWeekly • 6 年前 • 586 次点击  

本文概述的是作者近期在 IEEE TIP 期刊上发表的论文:《A Deep Learning Approach for Multi-Frame In-Loop Filter of HEVC》,主要思想是利用深度学习方法,发掘HEVC中连续多帧的图像信息,将其用于环路滤波器的设计,以显著提高滤波后的图像质量,进而提高HEVC编码效率。

此论文是北京航空航天大学博士生李天一,在导师徐迈的指导下,完成的一项工作。

论文链接:

A Deep Learning Approach for Multi-Frame In-Loop Filter of HEVC

A Deep Learning Approach for Multi-Frame In-Loop Filter of HEVCieeexplore.ieee.org

数据库和代码链接:

tianyili2017/HIF-Databasegithub.com图标

对视频编码的一些理解

本文主要涉及的是视频编码与深度学习。介绍本文之前,先在这里写一下对视频编码的粗浅理解,已有了解的可以跳过这部分。我们平时看到的视频,原始数据量往往非常庞大,尤其对高清视频而言,如果直接存储和传输原始信息,需要占用大量的空间和带宽(例如1080p@30Hz&24-bit,数据量高达11.2GB/min)。为解决这个问题,学术界和工业界制定出了多代视频编码标准,用于将原始视频数据压缩成体积较小的比特流。压缩,可以利用无损和有损的方式进行,但无损压缩的压缩比往往很有限,目前关注的绝大部分是有损压缩方式。这种方式允许压缩后恢复出的视频存在失真,但只要没有使视频质量明显降低,还能够被人眼接受,那么这种有损压缩就是合理的。不同的有损压缩方法(例如各种压缩标准之间、同一标准中的不同配置)性能一般不同,而在作者看来,需要关注的性能,主要在于“多快好省”的后三个字:

•“快”:编码时间。与视频播放时间无关,此指标是把原始视频编码成比特流所需的时间,即编码器的运行时间。编码时间越短,往往意味着消耗计算资源越少,说明这种编码方法越有希望得到广泛应用。

•“好”:压缩后的视频质量。最常用的,可以用所有帧平均PSNR来表示。或者用其他客观指标如SSIM等描述,也可用人的主观打分来衡量。

•“省”:压缩后的码率。即比特流体积与视频时间之比。

以上三项中,编码时间描述的是过程,视频质量和码率描述的是结果,显然,过程和结果都需要我们关注。其中,形容结果的两项指标往往联合使用,因为单纯的高质量和单纯的低码率都很难说明编码性能如何,一般公认的是固定单一变量来对比另一个变量,例如相同视频质量下的码率变化率(BD-BR)或相同码率下的PSNR变化量(BD-PSNR)。这种“好”和“省”,更科学地说,称为“率-失真性能”,即反映码率和失真两项指标的综合性能。

随着编码标准的发展,例如H.264/AVC->H.265/HEVC->H.266/VVC,率失真性能在不断地优化,但代价是时间复杂度成倍提高,这主要因为后续的编码标准往往支持更灵活的分块/预测/变换等策略,使得编码器能在更广大的策略空间中搜索最优解,用更多的搜索时间换取率-失真性能。对于一种编码标准,研究者改进的目标也往往基于复杂度或率失真性能,因此,据本人有限了解,编码领域至少有以下几类研究:

1. 保证率-失真性能前提下,节省编码时间:可以理解为减小编码时间的均值(一阶性能)

2. 在编码时间可接受的前提下,优化率-失真性能:可以理解为优化BD-BR或BD-PSNR的均值(一阶性能)

3. 复杂度控制,减小编码时间复杂度的波动:即减小编码时间的方差(二阶性能)

4. 码率控制,减小编码过程中的码率波动:即减小码率的方差(二阶性能)

对于不断发展的编码标准,提案/论文/专利等可以说是浩如烟海,但往往可以归结为对复杂度、码率与视频质量的追求,按照这个思路,就比较容易理解了。作者曾在2018年TIP中提出过基于深度学习的HEVC复杂度优化方法,属于上表中比较基本的第1类研究;对本文而言,利用HEVC多帧信息进行环路滤波,则属于第2类研究。当然,第3、4类或者其他类型的工作,在作者所属的课题组,以及其他编码相关的课题组,也都有涉及,就暂不详细说明了。

一、研究背景

作为一种比较先进的视频压缩方法,HEVC标准相比于上一代AVC标准,能够在相同质量下降低约50%码率,使编码效率进一步提高。但也需要考虑到,AVC、HEVC等基于块的编码方法通常用于有损压缩而不是完全无损的,因此不可避免会带来了多种失真(如块失真、模糊和振铃效应等),尤其在低码率情况下,这些失真更为显著。为了减轻编码过程中的失真,人们提出了多种滤波算法。尽管具体方法不同,这些滤波算法具有一个共同点:都对编码后的每帧视频进行质量增强,并且已经增强过的帧又作为参考帧,为后续帧的编码过程提供帧间预测信息。可见,这类滤波算法既作用于当前帧的输出,又作用于后续帧的输入,逻辑上形成一个闭环,因此统称为环路滤波。合理设计的环路滤波器,使得视频编码的效率可以进一步提高。

首先,HEVC标准的制定过程涉及到三种环路滤波器,包括去块滤波器(Deblocking filter,DBF)、样本自适应偏移(Sample adaptive offset,SAO)滤波器以及自适应环路滤波器(Adaptive loop filter,ALF)。其中,DBF首先用于消减压缩视频中的块效应;然后,SAO滤波器通过对每个采样点叠加自适应的偏移量,来减少压缩失真;最后,ALF则基于维纳滤波算法,进一步降低失真程度。最终,DBF和SAO被纳入HEVC标准。

除了HEVC标准环路滤波器,另有多种启发式的和基于深度学习的环路滤波方法,也被陆续提出。启发式方法是根据一些先验特征(如纹理复杂度和相似视频块个数等)对压缩失真构建统计模型,再根据此模型设计滤波器,例如非局域均值(Non-local means,NLM)滤波器[Matsumura, JCTVC-E206, 2011]和基于图像块矩阵奇异值分解的滤波器[Ma, MM 2016][Zhang, TCSVT 2017]等。启发式方法能在一定程度上提高编码效率,但模型中的先验特征需要手动提取,这高度依赖于研究者的经验,并且难以利用多种特征进行准确建模,因此在一定程度上限制了滤波器的性能。从2016年开始,基于深度学习的方法显著提高了环路滤波性能。此类方法一般通过构建卷积神经网络(convolutional neural network,CNN)来学习视频帧中的空间相关性。例如,文献[Dai, MMM 2017]设计了一种可变滤波器尺寸的残差CNN(Variable-filter-size residue-CNN,VRCNN),以替换帧内模式中的标准DBF和SAO。文献[Zhang, TIP 2018]则提出一种带有捷径的残差CNN(Residual highway CNN,RHCNN),用于帧内或帧间模式的标准SAO过程之后。上述基于深度学习的方法有效发掘了单帧内容的空间相关性,然而却没有发掘多帧内容中的时间相关性。实际上,压缩视频一般存在明显的质量波动,而且其中的连续多帧往往包含相似的事物或场景。因此,低质量帧中的视频内容可以由临近的高质量帧推测得到,这即为本文的出发点:基于深度学习的HEVC多帧环路滤波。

二、数据分析

对于本文的环路滤波问题,首先构建一个大规模数据库,以便在设计算法之前进行必要分析,并为本文或后续的相关工作提供数据支撑。本数据库由182个无损视频组成,分别来自Xiph.org网站、视频质量专家组(Video quality experts group,VQEG)网站和作者所在的团队之前建立的人脸视频库[Xu, JSTSP 2014],如下表所示:

表1 环路滤波数据库构成

库中的182个视频包括训练集(120个视频)、验证集(40个视频)以及测试集(40个视频)三个不重叠的部分。此外,JCT-VC标准推荐的所有18个视频也参与测试,但因为版权不全开放,就没有计入本文构建的数据库中。所有182个开源视频都利用HM 16.5在4个QP下进行编码,并包含LDP、LDB和RA三种帧间配置。在编码过程中,提取出所有的未滤波重建帧(Unfiltered reconstructed frame,URF)和对应的无损帧,作为神经网络的输入和输出信息。另外,考虑到CTU分割结构会显著影响压缩失真,所有帧的CU和TU分割情况也被提取出来,作为辅助信息。因此,数据库中的每个帧级别样本都包括四部分:一个URF、对应的无损帧,以及表示CU和TU分割深度的两个矩阵。最终,根据3种不同配置和4种不同QP值,总共构建出12个子数据库。完整的数据库共包含了约60万个帧级别样本,每个帧级别样本又可以拆分成多个块级别样本(取自视频帧中的任意位置),能够为数据分析和模型训练提供充足的数据支撑。

构建数据库后,利用其中的训练集和验证集上的160个视频,分析编码过程中的视频内容相似度和质量波动情况。首先,图2反应了不同帧间距离下的Y、U、V三通道内容相似度,用每个通道两帧矩阵之间的线性相关系数(CC)来衡量。

图1 帧间内容相似度

总体上,随着帧间距离增大,以CC衡量的相似度逐渐减小。一般而言,距离10帧以内,每个通道的CC都大于0.7,说明邻近帧的内容相似性较大,这是本文多帧环路滤波方法的前提。

另外,对于压缩视频的质量波动,可以用PSNR的标准差来衡量。下图以两个视频为例,表示出同一个视频中帧间PSNR存在显著变化,同样,其他视频中也存在相似的现象。

图2 HEVC编码视频质量波动示例
表2 PSNR波动与标准滤波器的PSNR增量

为更全面地衡量HEVC中的视频质量波动,表2进一步比较了所有视频PSNR的波动情况,和标准环路滤波器DBF和SAO所带来的PSNR增量。可见,在LDP、LDB和RA配置下,PSNR的标准差平均为0.891 dB、0.882 dB和0.929 dB,远高于由标准滤波器带来的提升(0.064 dB、0.048 dB和0.050 dB)。这说明在HEVC的不同编码配置下,视频质量波动提供了设计多帧滤波器的潜力(用高质量帧补偿邻近的低质量帧),但标准环路滤波器没有有效地利用这种潜力。这也不难理解,因为标准滤波器没有直接利用多帧信息。本文则把握住这种潜力,设计出一个基于多帧信息的环路滤波器。

三、研究内容

3.1 方法框架

本文中多帧环路滤波器(Multi-frame in-loop filter, MIF)的框架如下图所示。

图3 方法框架

图中上半部分是标准编码步骤:每个原始视频帧通过帧内或帧间预测、离散变换和量化等必要步骤进行编码。预测得到的帧与残差帧之和,构成一个未滤波的重建帧URF。下半部分则是本文的贡献:利用每个URF及其临近帧的信息,增强URF的视觉质量。首先,由参考帧选择器(Reference frame selector, RFS)选出一些高质量且内容相似的帧,作为当前URF的参考帧。之后,根据参考帧的数量,在以下两种可能情况中选择一种,对URF进行增强。

· 模式1:MIF-Net。设多帧增强方法需要M个参考帧。对于一个URF,如果RFS选出了至少M个参考帧,当前URF将通过MIF-Net进行增强。在MIF-Net中,首先通过一个运动补偿网络,将每个参考帧的内容与URF对齐。之后,将URF和所有对齐后的参考帧通过一个质量增强网络,输出重建之后的帧。

· 模式2:IF-Net。对于一个URF,如果RFS未能选出M个参考帧,将利用IF-Net对URF进行质量增强。与MIF-Net不同,IF-Net的输入只有URF,无需考虑多帧信息。

最终,编码器比较MIF-Net/IF-Net与标准滤波器DBF+SAO的性能,并将PSNR最佳的方案作为实际的选择,以保证整体性能。

3.2 RFS的设计

RFS为每个URF选取参考帧的原理如图。

图4 RFS原理

假设当前帧URF是第 n 帧,RFS将之前编码过最近的 N 帧做为参考帧池,即从第 (n-N) 帧到第 (n-1) 帧,都有可能作为第 n 帧的参考帧。对参考帧池中的每帧,计算出6个反映视频质量和内容相似度的指标,包括:

· Y、U、V三个通道上,参考帧相对于当前URF的PSNR增量;

· Y、U、V三个通道上,参考帧和当前URF内容的相关系数CC。

对于某个参考帧,若至少在一个通道上,满足PSNR增量大于0且CC大于一个阈值,则认为此参考帧可能有潜力提高URF的质量,即该参考帧有效。否则,认为此参考帧无效。若有效的参考帧超过 M 个,则进一步将每个参考帧的6个指标组成一个6维向量,输入到一个两层全连接网络RFS-Net中,以求得一个输出标量,表示此参考帧对提升URF质量的潜力。之后,从有效参考帧中选取潜力最大的 M 帧,即为RFS的输出。

3.3 网络结构与训练过程

RFS的运行结果,为绝大多数的URF选出了具有足够数量的参考帧;对于少数URF,也存在参考帧不足的可能。本文核心内容在于,对以上两种情况(尤其是参考帧足够的情况),分别设计合适的深度神经网络,以显著增强URF的质量。首先会比较详细地介绍MIF-Net的结构及其训练方法,之后将指出IF-Net和MIF-Net的不同之处。

图5 MIF-Net或IF-Net结构,由箭头型号区分代表两种网络。

MIF-Net的结构如上图所示。其输入包括一个URF和它的 M 个参考帧,输出为增强后的帧。首先,MIF-Net的输入端整合了来自 M 条平行支路 \{\mathbf{B}_{m}\}_{m=1}^M 的信息,其中每条支路 \mathbf{B}_m 处理其对应的一个参考帧中的信息。在支路中,首先将参考帧的内容与URF进行对齐,得到一个运动补偿后的帧,即图中的compensated frame。然后,将URF和补偿后的帧,共同输入到由CTU分块信息所引导块适应卷积层(block-adaptive convolution)中,利用CU和TU分割情况,从不同来源的输入信息中提取较低层特征。之后,考虑到DenseNet的高效性,将这些低层特征通过两个连续的密集单元(dense units)进行处理,以提取更加复杂的特征。最后,来自 M 条支路的这些特征被连接到一起,再经过两个连续的dense units,以获得一些高级特征,最终输出一个单通道特征图。为训练方便,除了局部的dense units外,MIF-Net也加入了全局捷径,将最终dense unit输出的单通道特征图视为一个残差帧,即:所求的质量增强帧等于残差帧与输入的URF之和。接下来,将阐述MIF-Net各个部分的结构。

图6 运动补偿网络

运动补偿网络。MIF-Net中的运动补偿网络,是基于文献[Caballero, CVPR 2017]中的空间变换运动补偿(Spatial transformer motion compensation,STMC)模型改进得到,以实现参考帧和URF的内容对齐,如图6所示。若直接利用此文献的方法,则STMC的输入为参考帧和URF,输出为一个运动补偿后的帧(图中的 \mathbf{F}_{m,n}^\mathrm{STMC})。此文献中的STMC包含×4和×2两条降采样支路,以预测不同精度的运动矢量(Motion vector,MV)图。之后,将×2降采样支路生成的MV图作用到参考帧上,即得到 \mathbf{F}_{m,n}^\mathrm{STMC}。这种STMC适合在不同空间尺度上进行运动估计,然而,其中的降采样导致精度有限,而且STMC的结构还有一些可以改进之处。对此,本文提出一种改进版运动补偿网络,与文献[Caballero, CVPR 2017]中的STMC具有如下区别:

· 在×4和×2降采样支路的基础上,增加一个原尺寸支路,以提升MV的估计精度;

· 受ResNet启发,在已有的卷积层旁边增加了6条捷径(图中6个加号附近),以提高网络容量并使网络更容易训练;

· 将原先所有的ReLU激活层替换成PReLU,使网络可以学习激活函数负半轴的斜率。

进行上述改进之后,根据新增的原尺寸支路得到两个新的MV图,寻找补偿后的帧中每个像素在参考帧中的对应坐标,再根据双线性插值法,计算出运动补偿后的帧,即图中的 \mathbf{F}_{m,n}^\mathrm{C}

块适应卷积层。 此层的输入由三个特征图相连得到,包括一个URF、一个运动补偿后的帧和两者之差。CU和TU分割信息用两张特征图表示(图中的 \mathbf{C}_n\mathbf{T}_n),其中的每张特征图都与URF的大小相同,各个像素的取值取决于CTU分割信息:CU或TU边缘的像素赋值为1,其余像素赋值为-1。而后,块适应卷积层的目标在于:给定3个输入特征图,在另外2个引导特征图的作用下,生成一定数量的输出特征图。为解决这一问题,我们提出一种带有引导信息的卷积运算,包括两个主要步骤:生成中介图,以及利用中介图进行卷积。

· 首先,将引导特征图通过普通卷积层进行处理,生成若干个中介特征图。在此步骤的处理中,需要保持特征图尺寸不变。

· 之后,在对输入特征图进行卷积的过程中,根据中介特征图来生成输出特征图。

图7给出一个例子,说明带有引导信息的卷积计算过程。假设一种简单情况,输入、输出特征图的尺寸均为3×2,卷积核大小为3×3。与普通卷积的区别,在于新增的中介特征图(图中的intermediate feature map)。考虑引导信息,用原本的卷积核3*3权重,乘以中介特征图里各个像素周围3*3感受野中的数值,逐元素相乘,得到修改后的权重。此时,各个像素对应的3*3权重都可能不同,即卷积核权重可以受到中介特征图控制。之后的运算则与普通卷积类似,由输入特征图每个像素周围的3*3感受野,与对应的3*3权重做内积,得到输出特征图的对应像素值。

比较而言,考虑每个输入通道向每个输出通道做卷积的过程,传统卷积中的权重与位置无关,具有空间不变性;带引导的卷积中,卷积核权重会受到中介特征图控制,即带有一定程度的空间相关性。尽管这里的卷积核权重与位置相关,但并不会像全连接层那样完全随机,这是因为中介特征图也是通过卷积得到的,而不是杂乱无章。并且,只需增加少量的可训练参数,即可实现带引导信息的卷积,不会导致明显的过拟合。这些特点使得带有引导信息的卷积,可以利用更丰富的额外信息(如本文中的CU和TU分割情况),提高神经网络的建模能力。

图7 带有引导信息的卷积示例

用于质量增强的密集单元。作为普通CNN的改进版,文献[Huang, CVPR 2017]提出的DenseNet包含了多种长度的层间连接,能有效缓解梯度消失问题,并促进网络不同位置的参数共享。考虑到这些优势,MIF-Net中引入了 (2M+2) 个密集单元(dense units),包括每条支路中的2个dense units,以及网络末端用来整合各路信息的2个dense units。每个dense unit的结构如图8所示,可见,4层的dense unit即包含10处帧间连接,远多于4层的普通CNN只包含4处帧间连接,这有利于发挥dense unit灵活拓补结构的优势。

图8 dense unit 结构

MIF-Net训练过程。考虑到运动补偿和质量增强两大部分,MIF-Net难以作为一个整体直接训练。因此,本文采用了中间监督方法,在不同步骤引入各自的代价函数,进行训练。首先,可以用URF和每个参考帧内容的差距来衡量运动补偿网络的性能,即基于MSE loss定义一个中间代价函数 L_\mathrm{INT} 。接下来,可以用增强后的帧和无损帧之间的差距来衡量MIF-Net的整体性能,同样基于MSE loss,定义全局代价函数 L_\mathrm{GLO} 。最终,训练MIF-Net所采用的代价函数为:L=\alpha \cdot L_\mathrm{INT} + \beta \cdot L_\mathrm{GLO} 。其中,\alpha\beta 是可以调节的正值参数。考虑到质量增强网络的需要训练好的运动补偿网络作为支撑,训练之初,设置 \alpha >> \beta ,以着重优化 L_\mathrm{INT};待 L_\mathrm{INT} 收敛后,设置 \beta >> \alpha ,以倾向于优化全局代价函数 L_\mathrm{GLO}

3.4 IF-Net和MIF-Net的区别

两个网络的区别在于MIF-Net的输入包含了 M 个参考帧,而IF-Net不包含。因此,在IF-Net中只存在质量增强部分的1条支路,而没有运动补偿部分,如图5中的粉红色箭头所示。MIF-Net中用于整合 M 条支路信息的连接操作,在IF-Net中也不存在。尽管IF-Net的结构比较简单,但它仍然保留本文所提出的块适应卷积操作和4个dense units,能够保证充足的网络容量。在训练方面,IF-Net没有中间代价函数 L_\mathrm{INT} ,因此直接优化全局代价函数 L_\mathrm{GLO} 即可。

四、实验结果

首先考虑环路滤波器的一种基本性能,即客观率失真性能,一般用BD-BR和BD-PSNR来衡量。利用JCT-VC标准推荐的所有18个视频来测试,包括Class A~E,QP设置为22、27、32和37。在三种帧间模式中,以最接近实用的RA模式为例,下表给出了标准环路滤波器、两种对比算法和本文算法的性能。

表3 RA模式率失真性能比较

表格中,所有数据都是和去掉环路滤波器的HM-16.5编码器相比的,例如,可以看出标准环路滤波器DBF+SAO带来了5.031%的码率节省,也代表相同码率下0.162dB的质量提升。表中的[10]和[20]代表一种基于图像块矩阵SVD分解的启发式算法[Zhang, TCSVT 2017]和一种基于高速残差CNN的深度学习算法[Zhang, TIP 2018],与标准算法相比,性能都有所提高。表格右侧的多帧环路滤波算法,从BD-BR和BD-PSNR两项指标来看,都优于其他三种算法,证明了本文方法的客观率失真性能。

图9 RA模式下主观率失真性能对比

在主观质量方面,本文也进行了对比,例如图9中,多帧环路滤波相比于其他滤波方法,能观察到马尾边缘更清晰、行人和街道图像上的块效应更轻、人的手指更容易分辨,等等。这种质量提升,在一定程度上得益于高质量帧补偿低质量帧的思想,尤其在内容运动明显、质量波动剧烈的地方,优势更明显。限于篇幅,论文难以对比所有图像局部的主观质量,但本文方法在18个标准视频上所有的编码结果,已经上传到数据库网站 github.com/tianyili2017,以便观察完整的主观质量。

为了进一步验证多帧环路滤波方法各个部分的作用,本文加入了溶解性实验,如图10所示。溶解性实验从完整方法(考虑多帧信息、网络中存在块适应卷积和dense units)开始,每次去掉一个主要部分,测量这种情况的BD-BR和BD-PSNR。图10中,完整方法为配置1,去掉多帧网络MIF-Net后成为配置2,再去掉块适应卷积后成为配置3,接着把dense units换成普通卷积层后成为配置4(即深度学习方法的最简情况)。最终,不带深度学习的标准环路滤波器,为配置5。可以看出,图中每对相邻的配置都只改变一个变量,构成一组对比实验,并且存在着明显的性能差别。这就验证了本文方法的各个主要成分,都起到了一定的作用,同时也说明了,多帧思想的引入和网络结构的改进,都有助于提升环路滤波器的性能。

图10 溶解性分析

除了率失真性能,算法的复杂度也是需要考虑的因素,尤其对于深度学习方法而言,时间复杂度影响着算法的实用性。在表4中,本文以RA模式为例,在Intel(R) Core (TM) i7-7700K CPU @4.2 GHz,Ubuntu 16.04平台上,给出了标准编码器HM16.5在纯CPU模式下的每帧编码时间 T_\mathrm{HM},同时比较了每种滤波算法额外引入的时间 T_\mathrm{f},以比值的形式评估时间复杂度。表中的[20],即[Zhang, TIP 2018],是一种有代表性的深度学习方法。本文方法与其对比,无论在纯CPU情况或是GPU支持的情况,复杂度均比较低(例如,GPU支持下,滤波器平均运行时间仅为标准编码时间的0.078倍)。可见,本方法为基于深度学习的环路滤波,提供了一种有效方案。当然,时间复杂度上也存在优化的空间,后续可以通过一些网络剪裁算法,在保持滤波器性能的前提下,显著缩短运行时间。

表4 RA模式时间复杂度分析

小结

本文主要贡献包括:

  • 构建一个大规模的环路滤波数据库,为本方法提供足够的数据支撑,也可用于对HEVC环路滤波的后续研究。
  • 根据视频内容和质量波动情况的分析,提出一种参考帧选择算法RFS。
  • 提出一种多帧环路滤波网络MIF-Net,同时利用时间和空间信息,显著提升视频帧的质量。其中包含了本文新提出的块适应卷积、改进版运动补偿网络,以及引入DenseNet先进结构设计出的质量增强网络。

在作者看来,未来还可以做些进一步工作。例如,在基于深度学习的环路滤波器中,引入更多样的信息,如跳过模式(skip mode)、PU分块信息、编码器估计出的运动矢量和残差帧信息等。另外,可以利用一些网络加速算法对深度神经网络进行简化,提高本方法或未来环路滤波方法的实用性,并促进硬件实现。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38336
 
586 次点击