DVC: 一种端到端的深度视频压缩框架外文翻译资料

 2023-03-14 18:50:27

DVC: 一种端到端的深度视频压缩框架

摘要

传统的视频压缩方法使用预测性编码体系结构和根据对应的运动信息(motion information)和残差信息进行编码。在本文中,我们利用传统视频压缩方法中的经典架构和神经网络强大的非线性表示能力,提出了一个联合优化了视频压缩组件的端到端视频压缩深度模型。具体来说,使用基于学习的光流估计法用于获取运动信息并重建当前帧,然后使用两种自动编码风格(auto-encoder style)的神经网络来压缩相应地运动信息和残差信息。所有模块都是通过一个单一的损失函数共同学习的。在这个损失函数中,他们通过考虑减少压缩比特数和提高解码视频质量之间的权衡来相互协作。实验结果表明,所提出的方法可以在峰值信噪比(PSNR)上优于广泛使用的视频编码标准H.264,在多尺度结构相似性(MS-SSIM)上甚至可以与最新的标准H.265相提并论。代码开源在:https://github.com/GuoLusjtu/DVC.

  1. 引言

现如今,视频占据了互联网流量中的80% [26],而且这一比例也将进一步增加。因此构建一个高效的视频压缩系统并在给定的网络带宽预算下生成更高质量的视频帧至关重要。此外,大多数视频对象检测或视频对象跟踪等相关计算机视觉任务对压缩视频的质量息息相关,所以高效的视频压缩可能可以为其他计算机视觉任务带来益处。视频压缩技术同时也有助于动作识别[41]和模型压缩[16]。但是在过去的几十年中,视频压缩算法[39, 31]依赖于手工制作的模块,例如以减少视频序列中的冗余的基于块匹配的运动估计和离散余弦变换 (DCT) 。尽管每个模块都经过精心设计,但整个压缩系统并未进行端到端的优化。希望通过联合优化整个压缩系统来进一步提高视频压缩性能。

图1:来自不同视频压缩系统的重建帧的视觉质量。(a)是原始帧。(b)-(d)是从H.264、H.265和我们的方法重建的帧。通过MS-SSIM方法测量时,我们提出的方法在实现最佳观感质量(0.961)的情况下仅消耗0.052pp。(彩色观看效果更显著)

最近基于深度神经网络 (DNN) 的图像压缩自动编码器[34, 11, 35, 8, 12, 19, 33, 21, 28, 9]取得了与JPEG[37]、JPEG2000[29]、BPG[1]等传统图像编码器相当甚至更好的性能。一种可能的解释是,基于DNN的图像压缩技术可以利用传统方法中未使用的大规模端到端训练和高度非线性变换。

然而直接应用这些技术来构建视频压缩的端到端学习系统并非易事。首先,学习如何生成为视频压缩而定制的运动信息仍然是一个悬而未决的问题。视频压缩技术高度依赖运动信息来减少视频序列中的时间冗余。一个直接的解决方案是使用基于学习的光流法来表示运动信息。但是当前基于学习的光流方法的目标是生成尽可能准确的流场。但是对于特定的视频任务[42],精确的光流通常不是最优的。而且与传统压缩系统中的运动信息相比,光流法的数据量显著增加。直接应用[39, 31]中现有的压缩方法来压缩光流值将显著增加存储运动信息的比特数。其次,目前还不清楚如何通过最小化残差信息和运动信息的基于速率失真目标来构建基于DNN的视频压缩系统(by minimizing the rate-distortion based objective for both residual and motion information)。速率失真优化 (RDO) 对视频压缩性能很重要,旨在给定用于压缩的比特数(或比特率)时实现更高质量的重构帧(即失真更小)。为了利用基于学习的压缩系统的端到端的训练能力,需要使用RDO策略来优化整个系统。

在本文中,我们提出了第一个端到端视频深度压缩 (DVC) 模型,它联合学习了运动估计、运动压缩和残差压缩。该网络的有点可以总结如下:

  • 视频压缩中的所有关键组件,即运动估计、运动补偿、残差压缩、运动压缩、量化和比特率估计,都是通过端到端神经网络实现的。
  • 视频压缩中的关键组件通过单个损失函数基于速率-失真权衡进行联合优化,从而提高压缩效率。
  • 传统视频压缩方法的组件与我们提出的DVC模型之间存在一对一的映射。这项工作为从事视频压缩、计算机视觉和深度模型设计的研究人员搭建了桥梁。例如更好的光流估计和图像压缩模型可以很容易地插入到我们的框架中。在这些领域的研究人员可以使用我们的DVC模型作为他们未来研究的起点。

实验结果表明,使用我们基于神经网络的方法估计和压缩运动信息可以显著提高压缩性能。我们的框架在通过PSNR测量时优于广泛使用的视频编码器H.264,在通过对尺度结构相似性指数 (MS-SSIM) [38]测量时与最新的视频编解码器H.265相当。

  1. 相关工作
    1. 图像压缩

在过去的几十年中,已经提出了很多图像压缩算法 [37, 29, 1]。但这些算法极度依赖手工技术。例如JPEG标准通过使用DCT将像素线性映射到另一种表示,并在熵编码之前量化相应的系数[37]。这个算法的其中一个缺点是这些模块是单独优化的,可能无法达到最佳的压缩性能。

最近,基于DNN的图像压缩方法越来越受关注[34, 35, 11, 12, 33, 8, 21, 28, 24, 9]。在[34, 35, 19]中,循环神经网络 (RNN) 用于构建渐进式图像压缩方案。其他方法使用CNN来设计图像压缩的自动编码器样式网络[11, 12, 13]。为了优化神经网络,[34, 35, 19]中的仅尝试最小化原始帧和重建帧之间的失真(例如均方误差),而不考虑用于压缩的位数。在[11, 12, 33, 21]中采用引入比特数来提高压缩效率。为了估计比特率,在[28, 21, 24]中为自适应算法编码学习上下文模型,而在[11, 33]中使用非自适应算法编码。此外,其他技术如广义除法归一化 (GDN) [11]、多尺度图像分解[28]、对抗训练[28]、重要性图[21, 24]和帧内预测[25, 10]建议提高图像压缩性能,这些现有的技术是我们视频压缩网络的重要组成部分。

    1. 视频压缩

在过去的几十年中,已经提出了几种传统的视频压缩算法,例如 H.264 [39] 和 H.265 [31]。这些算法中的大多数都遵循预测编码架构。尽管它们提供了高效的压缩性能,但它们是手动设计的,无法以端到端的方式进行联合优化。

对于视频压缩任务,已经提出了许多基于 DNN 的方法用于帧内预测、残差编码 [13]、模式决策 [22]、熵编码 [30]和后处理 [23]。这些算法用于提高传统视频压缩算法的一个特定模块的性能,而不是构建端到端的压缩方案。在[14]中,陈等人提出了一种基于块的视频压缩学习方法。但是,它不可避免地会在块之间的边界产生块状伪影。此外,他们使用了通过传统的基于块的运动估计从先前重建的帧传播的运动信息,这会降低压缩性能。蔡等人提出了一种自动编码器网络来压缩来自特定域视频的 H.264 编码器的残差 [36]。这项工作不使用深度模型进行运动估计、运动补偿或运动压缩。

最相关的工作是 [40] 中基于 RNN 的方法,其中视频压缩被表述为帧插值。然而,他们方法中的运动信息也是由传统的基于块的运动估计生成的,它是由现有的基于非深度学习的图像压缩方法编码的[5]。换句话说,运动的估计和压缩不是由深度模型完成的,而是与其他组件联合优化的。此外,[40] 中的视频编解码器仅旨在最小化原始帧和重建帧之间的失真(即均方误差),而不考虑训练过程中的速率失真权衡。相比之下,在我们的网络中,运动估计和压缩是通过 DNN 实现的,它通过考虑整个压缩系统的额定失真权衡与其他组件联合优化。

    1. 运动估计

运动估计是视频压缩系统中的关键组成部分。传统的视频编解码器使用基于块的运动估计算法[39],它很好地支持硬件实现。

在计算机视觉任务中,光流被广泛用于利用时间关系。最近,已经提出了许多基于学习的光流估计方法[15,27,32,17,18]。这些方法促使我们将光流估计集成到我们的端到端学习框架中。与现有视频压缩方法中基于块的运动估计方法相比,基于学习的光流方法可以提供像素级的准确运动信息,也可以以端到端的方式进行优化。然而,如果光流值通过传统的视频压缩方法进行编码,则需要更多的比特来压缩运动信息。

  1. 提出的方法

符号介绍 令表示当前视频序列,其中是时间步 t 处的帧。预测帧表示为 ,重构/解码帧表示为 。表示原始帧和预测帧 之间的残差(误差)。表示重构/解码的残差。为了减少时间冗余,需要运动信息。其中,表示运动矢量或光流值。 是其对应的重构版本。可以使用线性或非线性变换来提高压缩效率。因此,残差信息转化为,运动信息可以转化为,和分别是对应的量化版本。

    1. 视频压缩简要介绍

在本节中,我们将要简要介绍视频压缩。感恩过细节在[39,31]中提供。通常,视频压缩编码器根据输入的当前帧生成比特流。解码器根据接收到的比特流重构视频帧。在图2中,所有模块都包含在编码器端,而蓝色模块不包含在解码器端。

图2 (a) 中的经典视频压缩框架遵循预测转换架构。具体来说,输入帧被分成相同大小的一组块,即正方形区域。传统视频压缩算法在编码器端的编码过程如下所示。

步骤 1. 运动估计。估计当前帧 和前一个重构帧 之间的运动。获得每个块的对应运动矢量。

步骤 2. 运动补偿。根据步骤 1 中定义的运动向量 将前一重建帧中的对应像素复制到当前帧得到预测帧 。原始帧 和预测帧 之间的残差 为 。

步骤 3. 变换和量化。来自步骤 2 的残差 被量化为 。在量化之前使用线性变换(例如 DCT)以获得更好的压缩性能。

步骤 4. 逆变换。步骤 3 中的量化结果 通过逆变换得到重构的残差 。

步骤 5. 熵编码。步骤 1 中的运动向量 和步骤 3 中的量化结果 都通过熵编码方法编码为比特并发送到解码器。

步骤 6. 帧重建。重构帧 由步骤 2 中的 和步骤 4 中的 相加得到,即 。在步骤 1 中,第 (t 1) 帧将使用重建的帧进行运动估计。对于解码器,在步骤5根据编码器提供的比特,在步骤2进行运动补偿,在步骤4进行逆量化,然后在步骤6进行帧重构,得到重构帧

    1. 提出方法概述

      剩余内容已隐藏,支付完成后下载完整资料


      英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


      资料编号:[596212],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版