基于学习的编码(二):使用CNN对intra frame进行环路滤波

155 篇文章 138 订阅
66 篇文章 23 订阅

基于学习的编码(二):使用CNN对intra frame进行环路滤波

本文算法来自JVET-O0157

介绍

为了取代VVC环路滤波中的去方块滤波(DBF)提出来一种下采样的CNN滤波器。该CNN滤波器在降低神经网络复杂度的同时能保持编码效率。它是一个轻量级CNN网络,能够高效的控制CNN滤波强度以应对不同量化参数。只用于intra frame

滤波过程

下图展示了针对intra frame加入CNN后的环路滤波过程,DBF被CNN替换了。对于inter frame环路滤波和VTM中一样。

 

网络结构

下图展示了该CNN的网络结构。其中N表示下采样步长,M表示卷积核通道数。核心思想是通过下采样减少计算量,通过控制强度使单个网络可以用于不同QP。

 

 

CNN过程:

  1. (N,N,M)卷积层(N倍下采样)用于提取特征。

  2. 将特征传给多个residual block来加强滤波。

  3. (3,3,NxN)卷积层输出NxN的特征图,DepthToSpace 函数将特征图映射为和输入图像尺寸一致。

滤波强度

网络中除以和乘以Qstep 的目的是控制滤波强度。

 

对不同Qstep 进行round操作会造成不同水平的失真。所以重建图像在传给CNN之前除以正则化的Qstep 来控制失真水平,CNN处理后乘以正则化的Qstep

正则化的Qstep求解过程如下:

 

训练

使用DIV2K数据集(含800幅图像)生成训练数据。首先将每幅图像由RGB转为YUV。然后禁用VTM5.0的环路滤波在All Intra(AI)配置下生成重建图像。然后在Y分量随机裁剪800000块,UV分量随机裁剪800000块,训练两组参数。

 

实验结果

下面是N=4,M=32下的测试结果:

 

下面是一个主观比较,可以看到脖子处的块效应被消除了。

 

该方法在VTM5.0中用预训练的CNN模型取代DBF,在AI配置下Y、U、V的BD-Rate分别-1.44%,-2.51%,-3.39%。解码时间为1040%。

感兴趣的请关注微信公众号Video Coding

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值