M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

时间:2024-04-07 13:03:16

文献地址:https://arxiv.org/abs/2004.10290

代码地址:https://github.com/JianpingLin/M-LVC_CVPR2020

文章入选CVPR2020,网络上已经有对本文进行了简单解读(https://blog.csdn.net/moxibingdao/article/details/105804082https://zhuanlan.zhihu.com/p/136343529),本文是对DVC的改进,因为在实际工作中,我们对DVC也进行了深入了解并复现,所以非常有必要对本文进行学习,对文献的理解做一下记录。

一、概述

因为DVC的编解码框架类似于混合编解码框架,所以减少MV和残差的码率是优化的关键,DVC框架的P帧编码是借助前一个解码帧进行运动估计、运动补偿、残差编解码等相关操作,而本文是借助借助前面多帧进行这些操作,理论上是可以提升DVC的编解码性能,可以减缓错误传播的速度。

二、本文贡献

1、对基于学习的端到端视频编解码框架增加四个模块:基于多帧的运动估计、基于多帧的运动步长、运动优化、残差优化;

2、只采用优化一个率失真损失函数和step-by-step的训练策略。

3、性能超过现有基于学习的视频编解码和H265算法(低延时)。

三、论文思想

1、本文提出的方法见下图,蓝色框为本文创新:增加的四个模块。

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

编解码流程与DVC一致,本文对光流编解码除了多参考帧和MV优化,还有另外一个改进:并不是直接编解码光流,而是对预测光流与原始光流的残差进行编解码。

2、MAMVP-Net,多尺度对齐运动预测网络

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

采用先前多个重构的MV对当前MV进行预测,上面网络图中采用先前三个重构MV进行预测。首先,对先前每个MV进行金字塔特征提取,见(a)

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

其次,考虑到先前重构MV有错误,对抽取的金字塔特征进行warp:

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

再次,利用金字塔网络从粗到细预测当前MV,见(b)。

3、光流优化网络。因为量化会引起一些压缩错误,尤其在低码率时,所以本文提出了光流优化网络。网络结构:

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

4、多参考运动补偿网络,网络结构见下图:

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

5、残差优化网络。网络结构:

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

6、训练策略

损失采用率失真:

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

作者原来是除了光流(FlowNet2.0,初始化采用原作者参数)外其他网络联合训练,发现码率严重不均衡:残差码率很大,而光流码率很小。于是他们采用这样的分步训练方法 :

               M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解   

作者这个策略让我想起在复现DVC时,联合训练也是走了一些弯路,毕竟这么多网络,一个网络参数优化方向跑偏,就会导致整个联合训练失败,最后我摸索出来的DVC训练策略是这样的:1、先固定MV参数,不引入光流编解码和光流编码熵估计网运网络,先联合训练运动补偿(原始光流进行运动补偿)和残差编解码、残差编码熵估计网络;2、然后再加入光流编解码和光流编码熵估计;3、除了光流估计网络,所有网络联合训练并迭代一些epoch后,最后放开光流网络参数固定限制,所有网络联合训练。还有一个tips:残差熵估计和光流编码熵估计网络也可以先不进行联合训练,等其他网络收敛到一定程度后,再加入熵估计网络联合训练也可以。

四、实验

1、在UVG、HEVC Class B、HEVC Class D三个数据集上,PSNR和MS-SSIM指标均有显著提高。

 

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

2、参考帧数量的探讨

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

3、消融实验

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

光流可视化:

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

 

 

M-LVC: Multiple Frames Prediction for Learned Video Compression 个人理解

4、编解码时间

在Titan Xp GPU上,分辨率352x265视频,编码帧率2.7fps,解码帧率5.9fps。

五、结论

多参考帧确实可以去掉更多的时间冗余。