端到端神经视频编码=A Better Trade-off?

181 阅读13分钟

归根结底,每一种视频压缩方法都要权衡利弊

**(trade-off)**

:如果允许更大的文件大小,就可以拥有更好的图像质量;但如果想让文件非常小,那就必须要容忍错误出现的概率。但现在

(以及不久的将来)

,人们希望基于神经网络的方法能够在视频文件大小和质量之间做出更好的权衡与交换

**(a better trade-off)**

凡是有AI加持的技术都被看作明日曙光,带着神秘的未来感,让人忍不住要靠近。所幸有南大马展教授牵线搭桥,我们才得以采访到南大在读博士刘浩杰,后者参与发表的“端到端的神经视频编码

**(Neural Video Coding using Multiscale Motion Compensation and Spatiotemporal Context Model)**

” 在人工智能顶会AAAI 2020并被选为Poster Spotlight,改进之后的版本已上线GitHub,成为开源项目

(链接:https://njuvision.github.io/Neural-Video-Coding/)

刘浩杰目前在纽约大学坦顿工程学院交换,巧也不巧,他恰是在疫情初期、美国对国内封关的前一天抵达的纽约。
以下内容由LiveVideoStack与刘浩杰的采访整理而成。

01 ?for Haojie Liu

**LiveVideoStack:为什么选择机器学习、神经编码作为研究方向?**

**刘浩杰:**首先我的导师多年从事传统视频编码的研究,在视频编码这个领域有着丰富的经验和技术积累,2016年硕士入学期间,正好也是神经网络、深度学习逐渐火热起来的阶段,当时基于深度学习的编码才刚开始起步。

在这样一个双重契机下,我开始尝试将两者结合,主要研究基于深度学习的图像视频编码,我研究的主要方向及课题至今也都据此展开。

**LiveVideoStack:目前在纽约大学的研究方向?**

刘浩杰:目前在纽约大学坦顿工程学院王瑶教授的视频实验室(Video Lab)进行访问,主要是进一步深化端到端图像视频编码算法,细化整个端到端视频编码框架中每一个模块,同时更好地将神经编码和视觉任务相结合,能做出更加面向实际应用以及真实场景的研究成果。

当然,设计一些有趣的不同于传统框架的神经视频编码框架也是我一直在探索的课题。

02 ?For Neural-Video-Coding

**LiveVideoStack:能具体聊一聊神经编码端到端的解决方案吗?**

刘浩杰:

**1)**从图像编码的角度,我们的方法引入了

**非局部模块和自注意力机制**

,能更好地提取局部和非局部信息,同时隐式的自注意力机制能自适应地分配码率。

**2)**图像编码进一步地由实验室的其余同学完成了网络定点化、单模型多码率点覆盖等工作,这些更面向实际应用和落地。

**3)**结合图像分割我们也在我们自身的系统中融入了基于目标的图像编码以及分析,在极低码率下我们的算法能得到极高的主观视觉质量。

**3)**在端到端视频编码系统中,我们结合自身开发的非局部自注意力图像编码算法

**NLAIC**

,采用时域预测模型

**ConvLSTM**

来提取并聚合时域的先验,并与空间先验融合从而提供了一个更好的概率模型能显著减少码率。

**4)**在帧间预测过程中,我们结合了多尺度的运动估计生成多尺度的运动场,同时对视频特征域进行多尺度的运动补偿,逐级优化预测性能,这样的方法能更好地解决视频遮挡等较难预测的问题,得到更好的视频预测性能。

**LiveVideoStack:研究过程中印象最深的难点?**

**刘浩杰:**相比于一些纯粹的图像增强算法,视频编码涉及到的最重要的是

**对所编码特征进行码率估计并联合视频重建损失进行率失真优化**

传统视频编码中模式选择如何很好地应用在端到端系统中进行多帧优化的过程中,解决在训练过程中多帧率失真优化是一个比较困难的点。

**LiveVideoStack:就目前研究而言,仍有哪些待解决的具体问题?**

刘浩杰:

**1)**帧间编码是视频编码的一个很重要组成部分,

**在有限的码率约束下,基于已编码的视频帧得到更好的预测帧是一个很关键的问题**

**2)**基于时空信息更好地设计概率预测模型。

3)

**更好地设计多帧率失真优化**

,多帧的率失真优化问题能有效地解决实际编码过程中的误差累积和传播的问题,对于最终的编码性能有很大的影响。

**LiveVideoStack:如何看待“神经编码有着better trade-off”的说法?**

**刘浩杰:**我认为这个是两面性的。

**对于图像编码来说**

,端到端的图像编码技术日趋成熟,由于基于学习的算法能同时优化编码器和解码器,并且在特征变换、概率估计、量化等方法的不断优化的情况下,使得整个端到端框架能很好地进行率失真优化。

**而对于视频编码来说**

,传统视频编码中有着复杂的块划分以及模式选择等来优化整个编解码系统,而目前端到端的视频编码系统很难用一个模型来完美地去解决所有的问题。如何在训练中对多帧的视频编码器进行优化,以及是否采用多模型,帧内帧间的RD选择等很多问题都需要在这样的系统中解决。因此,

**如何在端到端视频编码中设计一个比较好的率失真优化策略能带来很大的性能增益**

**LiveVideoStack:对国内做相关研究的机构、平台有哪些了解?**

**刘浩杰:**国内例如上海交通大学、中科大、北京大学、腾讯、阿里巴巴都在这个领域有着很多优秀的研究成果。

上海交大提出了最早的端到端的视频编码框架DVC,并在此基础上有提出了DVC_pro,进一步地提升了编码的性能;

中科大刘东老师团队在传统视频编码框架上引入了很多深度学习算法来提升对应的模块极大地提高了传统编码框架的性能,同时他们提出的基于神经网络小波变换的端到端图像压缩算法,利用集成学习的方法针对特定图像纹理优化特定压缩模型,在端到端视频编码框架中利用多参考帧的MLVC有着很高的压缩性能;

北京大学团队提出了层级的概率先验表达,进一步优化了端到端系统中的概率模型,在更高效编码图像的同时也有着更低的编解码复杂度。

工业界腾讯所提出的Multi-frequency的特征变换方法,在图像编码中有着比VVC更好的性能。

**LiveVideoStack:对国外神经编码相关的研究有关注吗?**

**刘浩杰:**Google的编码团队在整个端到端系统上做出了很多基础性的工作,从最早的基于递归模型的图像编码开始,以及之后的基于Variational autoencoder

(VAE)

变分自编码器的压缩模型成为了目前大多数工作的基础,在此基础上很多工作对于特征变换、量化、以及多层级的概率模块来得到更好的压缩性能。

苏黎世联邦理工ETH的视觉实验室所提出的很多工作,包括soft-to-hard的量化方法、3D概率模型、极低码率的图像压缩方法以及他们所提出的端到端视频编码系统都对神经编码这个领域有着很大的贡献,同时他们还

**复现并开源了端到端视频编码DVC的工作**

,给很多研究人员带来了极大的便利。

我也有关注Disney的方法,他们发表于ICCV 2019的文章,利用视频内插

(video interpolation)

的思路,

**引入了编码的约束来得到中间帧,同时他们提出了从特征域去做残差补偿的编码方法**

,最终得到很好的编码性能。

**LiveVideoStack:有关中间编码的应用?**

刘浩杰:由于神经编码的变换一般通过特征提取的方式得到量化的特征,而很多计算机视觉任务一般也通过特征提取和表达来进行一些视觉任务,因此在进行一些视觉任务时,可以通过中间编码的特征直接去做一些视觉任务而极大减少解码还原成图像的时间成本和复杂度。这样的方法能很好地应用在一些机器视觉的方法中,并提高这些方法的应用效率。

03 ?For Traditional Video Coding

**LiveVideoStack:传统编码的局限性有哪些?**

刘浩杰:

**1)**传统视频编码框架延续了基于块的混合编码框架已经近20多年了,并取得了很大的成功,其成功很大程度地受益于硬件的不断发展。

**但受限于摩尔定律,硬件发展逐渐陷入瓶颈,通过计算复杂度来进一步换取编码性能日益困难,硬件设计的成本和难度也不断提高。**

**2)**此外,如今视频编码已经不仅仅局限于满足用户端的观看需求,在用户需求不断增长和变化的当下,

**视频编码传输后的分析和其他视觉应用也更加丰富**

,对于一些新颖的视频编码算法和框架的探索和发展显得尤为重要。

**3)**传统编码主要集中在基于像素的预测,无法更好利用特征域的相关性更好地解决数据间的去冗余,此外基于学习的视频编解码能端到端地优化编解码器以及相关的模块。

**LiveVideoStack:如何评价VVC等新一代的传统编解码器?**

**刘浩杰:**就整体上VVC仍然遵循着相同的混合编码框架,包括块划分、帧内预测、帧间预测、变换与量化、熵编码、滤波等,在每一个特定的技术点上,VVC都比原有技术有着进一步的提升。

客观质量而言,对于SDR视频能比HEVC最高节省超过40%的码率,并且对HDR以及VR视频也有着相同的增益,其主观性能也明显高于HEVC。

**LiveVideoStack:神经编码与传统编码的相同与不同?**

**刘浩杰:**神经编码和传统编码从本质上都是通过利用视频的时空相关性和对应的先验信息来去冗余,从而能更紧凑地表达视频信息,通过率失真优化尽可能用有限的信息来得到更高的视频重建。

从复杂度方面来讲,由于目前传统编码和神经视频编码依赖的计算平台有区别,同时神经编码在工程化和硬件化领域上的发展远远不够成熟,相信随着人工智能芯片的发展,神经网络量化定点化的成熟,神经编码在各方面的优势会逐渐体现。

目前已有很多研究成果在GPU上能实现实时的图像编解码算法,并有较好的主观图像重建性能。

04 ?For the Very Close Future

**LiveVideoStack:端到端的神经编码的相关应用场景?**

刘浩杰:

**1)**基于目标的端到端图像编码,我们在研究过程中发现其在监控场景下的车牌识别、行人识别任务上有着很好的表现和性能。

**2)**在极低码率下得到很高精度的重建图像视频,能在一些带宽极其受限的场景下有着广阔的应用场景,例如深海探测,航空通信等。

**LiveVideoStack:神经编码应用的落地及普及需要哪些条件?**

刘浩杰:

**1)**有更多的团队来共同来对神经编码去制定一些统一的标准。

**2)**更多的代码开源以及更多的开放接口便于其他模块接入。

**3)**神经网络硬件的成熟和发展。

**LiveVideoStack:有关神经编码本身有哪些仍需要被解决的难题?**

刘浩杰:

**1)**由于神经编码后续模块的不断增加,如何更好地对多模块进行端到端训练是一个需要解决的问题。

**2)**神经编码目前性能比较的基准没有一个比较好的统一标准。

**3)**多帧间的率失真优化和码率分配问题在训练过程中往往很难解决,一个模型很难在所有序列上达到整体的最优性能,模式选择以及训练多模型对于性能来说也尤其重要。

**LiveVideoStack:机器学习在视频编解码中的应用前景?**

刘浩杰:

**1)**利用机器学习的方法替代传统视频编码中的相关模块,机器学习或者深度学习在图像视频预测、去噪去块等方法都有着比传统方法更优越的性能,用相对应的模块去做替换能极大的提升传统编码的性能。

**2)**设计一个全新的端到端的基于学习的视频编码框架,如更好的图像变换,帧内帧间预测模块、量化、概率模型等。

**3)**机器学习能拓展视频编码应用的边界,从最早的只服务于用户端的观看需求,到如今服务于各种机器视觉任务,以及面向更高效的客户端的视频处理和分析。

**LiveVideoStack:如何看待神经编码未来的发展?**

**刘浩杰:**在研究端到端视频编码框架的同时,我们实验室也提出了一些面向硬件的神经网络编码定点化,同时我们的算法也有基于一些神经网络芯片进行简化并在上面进行测试。

**AI芯片以及面向这些芯片如何去优化设计端到端的编码系统是一个重要的问题,这也关系到神经编码的未来落地应用。**

此外,刘浩杰所在实验室的端到端图像编码算法参加了Google举办的第二届图像编码比赛

(https://openaccess.thecvf.com/content_CVPRW_2019/papers/CLIC%202019/Liu_Practical_Stacked_Non-local_Attention_Modules_for_Image_Compression_CVPRW_2019_paper.pdf)

**其中MS-SSIM指标在所有提交算法中排名第二,后续开源模型在客观和主观指标上能稳定超过BPG算法,在一定图像上达到并超过VVC的性能**

。其相关成果支持基于目标的编码、特征域的多种视觉任务

(PCM best paper finallist)

、极低码率的高质量图像重建等,在对视频预测方面也提出了多种方法进一步提升帧间预测的性能和效率。

编辑:Coco Liang