摘要:
近年来,端到端视频压缩作为一种新兴且有前景的解决方案开始在视频压缩领域受到关注。本文对端到端视频编码和解码技术的发展与现状进行了全面的综述,详细介绍了传统混合编码器 和端到端编码器 的基本原理。本研究深入探讨了从传统视频压缩算法到基于深度学习的创新方法的演变,包括深度神经网络(Deep Neural Networks, DNN)在优化策略和关键技术中的应用进展。
本文特别关注端到端视频压缩框架(如DVC、DCVC以及基于Transformer的模型)的发展,这些框架显著提升了视频压缩的效率和质量。此外,本文总结了该领域的最新研究成果,并对未来研究方向进行了简要展望。
paper: https://ieeexplore.ieee.org/abstract/document/10592556
code: 无
引言:
A.背景
在数字媒体和通信行业中,视频压缩技术的重要性不容忽视。它显著提升了存储和传输效率,使得处理大规模数字视频内容成为可能。通过视频压缩技术,可以减少视频文件的体积,在有限的存储空间内容纳更多内容,并实现更高效的网络传输。此外,视频压缩技术还提高了在不同设备和平台上访问视频内容的能力,特别是在移动设备和低带宽环境中。
技术进步推动视频压缩技术从最基本的编码方法演变到多个标准化阶段,包括 MPEG-1、H.264/AVC、H.265/HEVC 和 H.266/VVC,这些标准在压缩效率和视频质量方面取得了显著提升。近年来,深度学习技术的兴起为视频压缩领域带来了新的机遇。通过深度学习技术,可以更智能地处理视频数据,从而显著提高压缩效率和质量。这种将深度学习融入视频压缩的方式不仅对传统方法提出了挑战,还为该领域的未来发展开辟了无限可能。
B. 当前状态
在过去的几十年中,传统视频压缩算法(如 H.264 和 H.265)实现了高效的压缩性能。然而,由于这些算法是手动设计的,它们缺乏端到端的联合优化能力 。近年来,深度神经网络(DNN)带来了新的可能性,优化了传统视频压缩算法中的多个模块(如帧内预测、残差编码、模式决策、熵编码和后处理)。
尽管如此,大多数基于 DNN 的方法仍依赖于传统的基于块的运动估计 ,未能实现运动估计和压缩的联合优化。2019 年,Lu 等人提出了第一个端到端视频压缩模型(DVC),用网络替代了传统混合编解码器的所有模块。2020 年,Lin 等人将这一概念扩展到了多参考帧。同年,Yang 等人引入了一种基于循环神经网络(RNN)的残差编码器和解码器,用以有效利用累积的时间信息。
与传统的残差编码方法不同,Li 等人在 2021 年提出的 DCVC 模型通过上下文编码解决了残差编码的不足。2022 年,Mentzer 等人提出了一种简化的"手工设计"视频压缩网络,去除了显式的运动估计、变形和残差编码等常见组件,采用了基于 Transformer 的时间模型。同年,Li 等人提出了 DCVC-HEM,设计了一种强大的并行友好型熵模型,用于改进概率分布预测,并引入了一种多粒度量化机制,实现了在单一模型中平滑调整码率的能力。2023 年,Li 等人进一步提出了 DCVC-DC 模型,在 RGB 和 YUV420 色彩空间中超越了最佳传统编解码器 ECM。
相关工作:视频压缩技术与其神经网络应用
A. 传统视频压缩方法
传统视频压缩框架的目标是将输入帧生成一个码流,而解码器则从码流中重建视频帧。经典框架(如图 1(a) 所示)遵循"预测-变换"架构,具体步骤如下:
给定输入帧 x t x_t xt,首先将其划分为相等大小的块(如 8 × 8 8 \times 8 8×8)。通过运动估计步骤 ,计算当前帧 x t x_t xt 和上一重构帧 x ^ t − 1 \hat{x}_{t-1} x^t−1 之间的运动,获得运动向量 v t v_t vt 。在运动补偿 阶段,使用运动向量生成预测帧 x ˉ t \bar{x}_t xˉt,并计算原始帧和预测帧之间的残差 r t r_t rt。之后,在变换和量化步骤 中,残差 r t r_t rt 被压缩为更小的表示:
y ^ t = Quantize ( DCT ( r t ) ) \hat{y}_t = \text{Quantize}(\text{DCT}(r_t)) y^t=Quantize(DCT(rt))
在解码阶段,通过逆量化和逆变换重建残差 r ^ t \hat{r}_t r^t:
r ^ t = IDCT ( InverseQuantize ( y ^ t ) ) \hat{r}_t = \text{IDCT}(\text{InverseQuantize}(\hat{y}_t)) r^t=IDCT(InverseQuantize(y^t))
最后,通过将预测帧 x ˉ t \bar{x}_t xˉt 和重构的残差 r ^ t \hat{r}_t r^t 相加,得到重构帧 x ^ t \hat{x}_t x^t:
x ^ t = x ˉ t + r ^ t \hat{x}_t = \bar{x}_t + \hat{r}_t x^t=xˉt+r^t
B、神经网络在视频压缩中的应用
- 卷积神经网络(CNN) CNN 通过学习复杂的运动模式和捕获空间特征,改进了帧间预测,提升了视频压缩的效率。CNN
能够提取帧的高级特征,从而减少对传统运动估计方法的依赖。 - 循环神经网络(RNN)和长短期记忆网络(LSTM) RNN 和 LSTM
在时间序列数据处理方面表现优异,能够理解帧间的相关性,从而更准确地预测潜在码的概率分布。这显著提高了视频内容的保真度和压缩效率。 - 生成对抗网络(GAN) GAN 的应用日益广泛。利用生成器和判别器之间的竞争机制,GAN
能够生成高质量的视频内容,尤其在重建压缩失真的视频时表现出色,从而有效减少压缩引起的伪影。 - Transformer 模型 Transformer
利用自注意力机制,能够建模视频帧间的长距离依赖关系,为视频压缩提供了全新的技术视角。
C、端到端视频压缩框架
端到端视频压缩框架通过深度学习优化整个压缩过程,其核心思想是利用神经网络替代传统方法中的所有模块。典型端到端框架的流程如下:
- 运动估计与编码
利用卷积神经网络(CNN)估计光流,即运动信息 v t v_t vt。为进一步压缩光流值,设计了运动向量(MV)编码器和解码器,分别将运动向量编码为压缩表示 m t m_t mt,再解码为重构运动信息 v ^ t \hat{v}_t v^t:
m t = MVEncoder ( v t ) , v ^ t = MVDecoder ( Quantize ( m t ) ) m_t = \text{MVEncoder}(v_t), \quad \hat{v}_t = \text{MVDecoder}(\text{Quantize}(m_t)) mt=MVEncoder(vt),v^t=MVDecoder(Quantize(mt))
- 运动补偿
结合上一帧的重构帧 x ^ t − 1 \hat{x}_{t-1} x^t−1 和重构运动信息 v ^ t \hat{v}_t v^t,通过运动补偿生成当前帧的预测帧 x ˉ t \bar{x}_t xˉt:
x ˉ t = MC ( x ^ t − 1 , v ^ t ) \bar{x}t = \text{MC}(\hat{x}{t-1}, \hat{v}_t) xˉt=MC(x^t−1,v^t) - 残差编码与解码
通过残差编码器,计算当前帧 x t x_t xt 和预测帧 x ˉ t \bar{x}_t xˉt 之间的残差 r t r_t rt,并将其映射到潜在表示 y t y_t yt,随后量化为 y ^ t \hat{y}_t y^t: r t = x t − x ˉ t , y t = Encoder ( r t ) , y ^ t = Quantize ( y t ) r_t = x_t - \bar{x}_t, \quad y_t = \text{Encoder}(r_t), \quad \hat{y}_t = \text{Quantize}(y_t) rt=xt−xˉt,yt=Encoder(rt),y^t=Quantize(yt)
在解码阶段,通过解码器将 y ^ t \hat{y}_t y^t 映射回残差 r ^ t \hat{r}_t r^t: r ^ t = Decoder ( y ^ t ) \hat{r}_t = \text{Decoder}(\hat{y}_t) r^t=Decoder(y^t) - 重构帧生成
通过将预测帧 x ˉ t \bar{x}_t xˉt 和解码后的残差 r ^ t \hat{r}_t r^t 相加,生成当前帧的重构帧:
x ^ t = x ˉ t + r ^ t \hat{x}_t = \bar{x}_t + \hat{r}_t x^t=xˉt+r^t
端到端视频压缩的关键技术
A、潜在编码生成与图像重建
在图像和视频压缩的研究中,将数据映射到编码空间是一个关键步骤,其目的是通过减少信息冗余来实现高效的存储和传输。在图像压缩中,这一过程涉及提取图像的核心特征,并将其转换为低维表示,从而显著减少数据量,同时保留图像的主要视觉内容以满足存储需求和数据传输效率。
在视频压缩中,由于涉及时间序列信息,方法通常是对连续帧之间的残差信息进行压缩 ,而不是直接压缩当前帧。例如,在 Lin 等人的研究中,通过手动的减法操作减少当前帧和通过运动补偿网络得到的预测帧之间的信息冗余,使用运动向量 v ^ t \hat{v}t v^t 和上一重构帧 x ^ t − 1 \hat{x}{t-1} x^t−1,具体为:
r t = x t − x ˉ t r_t = x_t - \bar{x}_t rt=xt−xˉt
相比之下,Hu 等人的研究在特征级别执行残差操作 ,以减少像素级操作产生的伪影,同时更高效地压缩视频数据。然而,对于给定的预测帧 x ˉ t \bar{x}_t xˉt,传统的残差编码方法并非最优,因为它仅使用手动的减法操作来消除帧间冗余。从信息论的角度来看:
H ( x t − x ˉ t ) ≥ H ( x t ∣ x ˉ t ) H(x_t - \bar{x}_t) \geq H(x_t|\bar{x}_t) H(xt−xˉt)≥H(xt∣xˉt)
其中, H H H 表示 Shannon 熵。
因此,在 Li 和 Xiang 等人的工作中,传统的显式残差被转化为隐式残差操作 ,利用更高维的上下文信息提供更丰富的信息,从而实现更高的压缩率并提高重构帧的质量。
在端到端视频压缩框架的图像恢复阶段,这一过程通常对应于潜在编码生成的逆过程。例如,在 DVC 框架中,解码得到的潜在编码信息与预测帧 x ˉ t \bar{x}_t xˉt 相加,然后通过解码网络生成当前帧的重构帧:
x ^ t = x ˉ t + r ^ t \hat{x}_t = \bar{x}_t + \hat{r}_t x^t=xˉt+r^t
B. 熵编码
熵编码是一种高效的数据压缩技术,其通过为数据元素分配可变长度的编码来最小化存储空间或传输带宽的需求 。在视频压缩中,准确估计概率分布是实现高效编码的关键。
对于数据序列 y t t = 1 T {y_t}{t=1}^T ytt=1T,算术编码被用来进行传输,其期望比特率由真实概率质量函数(PMF) p ( y t ) p(y_t) p(yt) 和估计 PMF q ( y t ) q(y_t) q(yt) 之间的交叉熵 H ( p , q ) H(p, q) H(p,q) 决定,表示为:
H ( p , q ) = E y t ∼ p [ − log 2 q ( y t ∣ c ) ] H(p, q) = \mathbb{E}{y_t \sim p}[-\log_2 q(y_t|c)] H(p,q)=Eyt∼p[−log2q(yt∣c)]
其中, c c c 表示 y t y_t yt 的条件信息,包含了超先验信息、时间上下文以及空间自回归上下文。
Ballé 等人首次提出了超先验模型(建模潜在特征的概率分布) ,用于估计高斯尺度混合模型(GSM)中潜在特征的参数。Hu 等人进一步优化了多尺度表示中的熵模型,通过层级超先验来提升模型性能。此外,自回归网络(根据解码的信息进一步预测当前解码特征从而更加精准预测概率被应用于学习空间信息,这些方法已成为深度图像压缩中的常见先验形式。
然而,在视频数据压缩中,潜在编码还包含时间相关性。通过整合空间上下文和时间上下文信息,可以显著提高压缩效率。例如:
DCVC:使用先前帧的重构信息和运动流信息作为时间上下文。
VCTA:利用最近两帧的量化潜在编码信息。
MIMT:使用卷积 LSTM(ConvLSTM)处理除当前帧以外的所有前序帧潜在编码。
如图 3 所示,熵编码的框架在演进过程中经历了显著的优化。例如,传统的自回归模型有效地提升了率失真(Rate-Distortion, RD)性能,其通过已解码的数据来预测当前解码元素的概率 。然而,自回归模型的严格顺序解码限制了并行处理能力 。因此,DCVC-HEM 引入了一种并行高效的双棋盘模型,大大提升了操作速度。此外,VCTA 采用基于 Transformer 的熵模型,通过将潜在空间划分为非重叠的 n × n n \times n n×n 块,在每个块上执行自回归,以平衡预测精度和并行处理能力。
在 2023 年,Li 等人进一步在 DCVC-DC 框架中实现了基于四叉树划分的熵编码方法,从而更加精确地估计概率分布。Xiang 等人在探索空间上下文信息方面也取得了重大进展,提出了一种新方法,该方法利用已解码区域的信息来辅助预测未解码区域,同时优先处理置信度较高的区域。
最终,通过将这些上下文信息整合为初始概率分布,并结合部分解码信息,来优化剩余潜在编码的概率分布,从而实现更高效的视频数据压缩。
实验:性能实验与评估
A、评价指标
视频压缩的目标是以最低的比特率实现最佳的重构质量 。在训练阶段,损失函数通常包括两项指标:
λ D + R = λ d ( x t , x ^ t ) + ( H ( m ^ t ) + H ( y ^ t ) ) \lambda D + R = \lambda d(x_t, \hat{x}_t) + (H(\hat{m}_t) + H(\hat{y}_t)) λD+R=λd(xt,x^t)+(H(m^t)+H(y^t))
其中:
d ( x t , x ^ t ) d(x_t, \hat{x}_t) d(xt,x^t) 表示失真,衡量当前帧 x t x_t xt 与其重构帧 x ^ t \hat{x}_t x^t 之间的差异。
H ( . ) H(.) H(.) 表示编码所需的比特数。
λ \lambda λ 是拉格朗日乘子,用于平衡视频压缩中的比特数和失真。
常用的失真测量指标包括:
峰值信噪比(PSNR):衡量重构帧与原始帧的像素级差异。
结构相似性(SSIM):结合人类视觉特性,衡量视频帧的感知质量。
此外,为了优化不同目标,还可以使用多种损失函数。例如,Ren 等人采用了循环条件生成对抗网络(cGAN),通过训练生成更真实的空间效果和更流畅的时间连续性 ,以确保帧间过渡的平滑。具体而言,该方法除了包含上述损失项外,还引入了一项新的函数,用于区分真实视频和重构视频,以提升重构视频的感知真实性和时间一致性。
B. 实验结果
本节介绍了端到端视频压缩技术在标准化测试集上的最新性能,并对 VTM-17.0 进行了基准测试。利用 BD-Rate、PSNR 和 SSIM 等指标,我们比较了各种先进的压缩方法。在本测试方案中,我们遵循参考文献中概述的方法,严格评估每个视频的 96 帧,将帧内周期设置为 32。BD-Rate 被用作衡量压缩比的主要指标,负值表示比特率节省,正值表示比特率增加。
我们对不同视频内容的效率和视觉质量保持的深入探索,揭示了端到端视频压缩在复杂性和动态场景处理方面的最新进展。从表 1 和表 2 可以看出,基于端到端方式的视频编码和解码正在迅速发展。具体来说,DCVC-DC 不仅在端到端视频编码和解码领域遥遥领先,而且在 PSNR 和 SSIM 指标方面也超过了最好的传统编解码器 ECM。这是 NVC(神经网络视频压缩)发展的一个重要里程碑。
结论:
本文深入探讨了传统混合编码的基本原理和局限性,并对基于神经网络的端到端视频编解码技术进行了全面的研究。具体来说,它详尽地讨论了端到端技术的关键方面,如潜在代码生成和熵模型中的各种先验,总结了该领域的最新研究。展望未来,本文建议充分挖掘端到端技术和传统方法的潜力,增强单个模块的性能,从而提高整体编码性能。考虑到端到端视频压缩的高复杂性给高能效移动平台带来的挑战,本文主张在降低复杂度的同时平衡模型效率。
总结: