Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

CVPR2020又一篇基于深度学习的端到端视频编解码框架。

论文链接 https://arxiv.org/abs/2003.01966

课题主页 https://github.com/RenYang-home/HLVC

个人主页 https://renyang-home.github.io/

知乎上已经有人进行解读:https://zhuanlan.zhihu.com/p/120518754。本文的框架虽然是新的,但是从实验结果看,依然只是比H265(x265,Low-Delay P very fast模式)效果略好,还是没有大幅超过H265,现在正是基于学习的端到端视频编解码框架并起的时候,每个方法都有很多值得学习的地方。

本文咋一看框架结构,分层结构与vcii(见笔者的文献解读https://blog.****.net/cs_softwore/article/details/86511075)很相似,都是将一个GOP中的帧分为三层,但是本文还是有很多不同的工作,下面进行解读。

目录

一、概述

二、层级结构的优势

三、论文思想

四、实验

五、总结


一、概述

提出层级式视频压缩(Hierarchical Learned Video Compression,HLVC),包括双向深度预测(Bi-Directional Deep Compression,(BDDC) )和单运动深度压缩(Single Motion Deep Compression,SMDC),BDDC主要用于压缩第二层视频帧,SMDC采用单个运动向量预测多个帧,可以节省运动信息的码率。在解码端,利用加权递归质量增强(Weighted Recurrent Quality Enhancement,WRQE)网络,此网络将压缩帧和比特流作为输入。

二、层级结构的优势

                                  Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

这种分层结构有如下优势:

(1)高质量的视频帧可以给其它帧提供更多的参考信息;

(2)由于相邻帧之间的高相关性,在解码器端,可以通过利用高质量帧中的有利信息来增强低质量帧。

三、论文思想

1、算法框架

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

上图是视频帧的第一个GOP的示例,其它所有GOP都是同样的结构,这个结构图很清晰,看这个图基本上就能理解作者的思想了。

本文对层级结构一共分三层。

(1)第一层采用图片压缩技术进行压缩。

(2)第二层采用BDDC网络进行压缩。

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

首先也要进行光流估计(采用spyNet网络),然后两个光流一起送到光流压缩编码网络中,编码后的特征采用算术编码进行编码,再进行round量化。根据我们的经验,算术编码可以用基于深度学习的熵编码替换,效果可能会有提升。再然后送到运动后处理网络,这其实就是DVC框架中运动补偿网络。最后进行残差压缩。

这还是DVC的一整套方案,唯一不同的就是运动压缩和运动补偿网络是前后两帧和运动矢量一起喂给网络。MP和RC网络还是balle的含有GDN的网络,MP网络结构:

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

(3)第三层采用SMDC网络进行压缩。

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

这里需要提下的是,如上图,x0->x2的光流需要网络估计,x1的相关光流就是在运动均匀假设的情况下进行估算:

                                     Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

                                    Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

                                    Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

(4)增强网络(加权递归增强)

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

基于QG-ConvLSTM网络设计的网络结构。

(5)训练策略

损失采用率失真函数,BDDC和SMDC的损失如下:

                   Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

                   Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

对于BDDC和SMDC损失的距离函数,采用MSE训练,对于MS-SSIM需要优化利用(1-MS-SSIM)优化。

这里我有个疑问,难道作者比较PSNR和MS-SSIM指标用的难道不是同一个模型,比较MS-SSIM指标还需要微调网络?

增强网络损失:

                                   Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

作者没有提到联合训练,根据训练策略中提到的损失,应该是分步训练的。

四、实验

1、实验比对

率失真曲线:

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

码率节省:

Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解2、消融实验

                        Learning for Video Compression with Hierarchical Quality and Recurrent Enhancement 个人理解

五、总结

个人觉得这篇文献依然是没有大的突破,而且根据文献的描述,这个框架并不是很简单,第二层的复杂度和DVC相当,再加上第三层和后增强网络,这个框架还是很复杂的,尤其增强网络是LSTM。另外,第三层网络利用一个光流预测多帧,直观上看是节省了一些光流,这个实验我们在自己的工作中也有尝试过,其实大多数情况下,光流所占的比特还是很小的,然而这种方法会使利用估算光流编码的帧的指标有所下降,这个方法对光流估算要求还是挺高。

本文利用高质量帧辅助编解码低质量帧,且进行后增强,也许会对编码过程中的错误传播抑制有用。