【论文学习】《Neural Video Compression with Diverse Contexts》全方位超越VVC!

论文信息

原论文地址:paper
源码地址:code

摘要

对于任何视频编解码器,编码效率高度依赖于要编码的当前信号是否能够从先前的重构信号中找到相关上下文。传统的编解码器已经验证了更多的上下文带来了实质性的编码增益,但这是一种耗时的方式。然而,对于新兴的神经视频编解码器(NVC),其上下文仍然有限,导致压缩比较低。为了提高NVC,本文提出在时间和空间维度上增加上下文多样性。首先,本文指导模型学习跨帧的分层质量模式,这丰富了长期且高质量的时间上下文。此外,为了挖掘基于光流的编码框架的潜力,本文引入了基于组的偏移分集,其中提出了跨组交互以更好地挖掘上下文。此外,在并行编码潜在表示时,本文还采用了基于四叉树的分区来增加空间上下文的多样性。实验表明,本文的编解码器比以前的SOTA NVC节省了23.5%的比特率。更好的是,本文的编解码器在RGB和YUV420色彩空间的PSNR方面已经超过了正在开发中的下一代传统编解码器/ECM。

介绍

视频编解码器的原理是,对于要编码的当前信号,编解码器将从先前的重构信号中找到相关上下文(例如,作为上下文的各种预测),以减少时空冗余。相关上下文越多,节省的比特率越高。如果回顾传统编解码器的发展(从1988年的H.261到2020年的H.266),作者发现编码增益主要来自连续扩展的编码模式,其中每个模式使用特定的方式来提取和利用上下文。例如,H.264、H.265、H.264中的帧内预测方向的数目分别为9、35和65。但是,传统的方法十分耗时,计算复杂度较高。例如,对于1080p帧的编码,开发中的ECM(下一代传统编解码器的原型)需要长达半小时。尽管一些基于DL的方法提出了加速传统编解码器,但复杂度仍然很高。
相比之下,神经视频编解码器(NVC)将上下文的提取和利用从手工设计转变为自动学习方式。NVC的主流框架可分为基于残差编码基于条件编码两种方法。残差编码显式地使用预测帧作为上下文,并且上下文利用被限制为使用减法来去除冗余。相比之下,条件编码隐式地学习特征域上下文。高维上下文可以携带更丰富的信息,以便于编码、解码以及熵建模。然而,对于大多数NVC,上下文提取和利用的方式仍然有限,例如,仅使用光流来探索时间相关性。这使得NVC很容易遭受参数的不确定性或陷入局部最优。一种解决方案是将传统的类似编解码器的编码模式添加到NVC。但当使用RDO时,它带来了很大的计算复杂性。因此,这就引出了一个问题:如何更好地学习和使用上下文,同时降低计算成本?
为此,本文提出了有效增加上下文多样性以进一步提高NVC。首先,本文指导模型跨帧学习分层质量模式。在训练过程中有了这一指导,在特征传播过程中隐式地学习了对后续帧的重建至关重要的长期而高质量的上下文。这有助于进一步利用视频中的长距离时间相关性,并有效缓解大多数NVC中存在的质量退化问题。此外,本文采用偏移分集来增强基于光流的编解码器,其中多个偏移可以减少复杂或大型运动的扭曲误差。特别是,受传统编解码器中加权预测的启发,将偏移量分组,并提出了跨组融合来改进时间上下文挖掘。除了从时间维度出发,本文还提出在编码潜在表示时增加空间上下文的多样性。基于最近的棋盘模型和双空间模型,本文设计了一种基于四叉树的分区来改进分布估计。与上述的两种模型相比,相关模型的类型更为多样,因此该模型有更大的机会找到更相关的上下文。
值得注意的是,本文所有的设计都是并行高效的。为了进一步降低计算成本,本文还采用深度可分离卷积,并为不同分辨率的特征分配不相等的通道数量。
本文的主要贡献:
1.本文建议有效增加上下文多样性以提高NVC。不同的上下文是相互补充的,有更大的机会为减少冗余提供良好的参考。
2.从时间维度,本文指导模型提取高质量的上下文,以缓解质量退化问题。此外,基于组的偏移分集被设计用于更好的时间上下文挖掘。
3.从空间维度来看,本文采用基于四叉树的分区进行潜在表示。这为更好的熵编码提供了不同的空间上下文。
4.本文的编解码器比以前的SOTA NVC节省23.5%的比特率。特别是,本文的编解码器在RGB和YUV420色彩空间中都超过了最好的传统编解码器ECM,这是NVC发展的重要里程碑。

所提出的方法

为了实现更高的压缩比,本文的编解码器基于更灵活的条件编码而不是残差编码。本文的编解码器的框架如图所示。
在这里插入图片描述

值得注意的是,所提出的编解码器设计用于低延迟编码,因为它可以应用于更多场景,例如实时通信。所提出的编码管道包含三个核心步骤: f m o t i o n f_{motion} fmotion f t c o n t e x t f_{tcontext} ftcontext f f r a m e f_{frame} fframe。对于当前帧 x t x_{t} xt,首先,F_motion使用光流网络来估计运动向量(MV) v t v_{t} vt,然后 v t v_{t} vt被编码并解码为 v t ^ \hat{v_{t}} vt^。其次,基于** v t ^ \hat{v_{t}} vt^和来自前一帧的传播特征Ft−1,Ft上下文提取运动对齐的时间上下文特征Ct。最后,以Ct为条件,F_frame将 x t x_{t} xt编码为量化的潜在表示 y t ^ \hat{y_{t}} yt^**。熵编码后,通过解码器和帧生成器重建输出帧 x t ^ \hat{x_{t}} xt^。同时,Ft也被生成并传播到下一帧。

分级质量结构

传统的编解码器广泛采用分层质量结构,将帧分配到不同的层,然后使用不同的QPs(量化参数)。这种设计源自可缩放视频编码,但也从两个方面改进了一般低延迟编码的性能。一种是周期性地提高质量可以缓解错误传播。在帧间预测期间,高质量参考帧使得编解码器能够在运动估计期间找到更准确的MV。同时,运动补偿预测也是高质量的,导致较小的预测误差。另一方面是,由多个参考帧选择和加权预测机制提供支持,来自最近参考帧和长距离高质量参考帧的预测组合更加多样。工作研究了关于帧质量和参考帧选择的许多设置,并得出结论,同时参考最近帧和更远高质量帧的分层质量结构实现了最佳性能。
受传统编解码器成功的启发,本文正在考虑是否可以为NVC配备分级质量结构,并让NVC也享受到好处。考虑到最近的神经编解码器也支持单个模型中的可变比特率,一种简单的解决方案是遵循传统的编解码器,并在NVC推断过程中直接分配分层QPs。然而,与传统编解码器使用定义良好的规则来执行运动估计和运动补偿(MEMC)不同,NVC使用神经网络,MEMC通常在特征域中。对于NVC,这种设计的优点是它是自动学习的,并且具有更大的潜力来实现更好的性能。缺点是它对分布外质量模式具有鲁棒性和泛化能力。因此,如果在测试期间直接向NVC提供分级QP,它可能不能很好地适应分层质量模式,并且MEMC可能获得次优性能。为此,本文建议指导NVC在培训期间学习分层质量模式。具体而言,本文为速率失真损失中的每个帧添加权重wt,如图所示。wt的设置遵循层次结构。通过这种分层失真损失,周期性地生成高质量输出帧x^t和包含许多高频细节的特征Ft。它们非常有助于提高MEMC的有效性,然后缓解许多其他NVC所面临的错误传播问题。此外,通过跨多个帧的级联训练,形成了特征传播链。对于以下帧的重建至关重要的高质量上下文将自动学习并长期保存。因此,对于xt的编码,Ft−1不仅包含从xt−1中提取的短期上下文,而且还提供来自许多先前帧的长期和持续更新的高质量上下文。这种多样的Ft−1有助于进一步利用多帧之间的时间相关性,然后提高压缩比。

基于组的偏移分集

由于帧之间的各种运动,直接使用未处理的Ft−1而不进行运动对齐对于编解码器来说很难捕捉时间对应。因此,本文遵循现有NVC,并使用光流网络通过 f t c o n t e x t f_{tcontext} ftcontext(fT−1; v t ^ \hat{v_{t}} vt^)提取运动对齐的时间上下文Ct,其中 v t ^ \hat{v_{t}} vt^是解码的MV。然而,在大多数现有NVC中, f t c o n t e x t f_{tcontext} ftcontext仅是单个MV的扭曲操作。这种基于单次运动的对齐对复杂运动或遮挡不鲁棒。由于可变形对准的训练并不稳定,偏移的溢出会降低性能。此外,偏移量的数量受限于可变形卷积核的大小。因此,本文采用了更灵活的设计,称为偏移分集。同时,解码的MV被用作基础偏移以稳定训练。如图所示,本文的 f t c o n t e x t f_{tcontext} ftcontext由两个核心子模块组成:偏移预测和跨组融合。首先,偏移预测使用解码的MV v t ^ \hat{v_{t}} vt^来预测残差偏移dt,其中 x t − 1 ^ \hat{x_{t-1}} xt1^和Ft−1也被扭曲并作为辅助信息馈送。dt将基础偏移量 v t ^ \hat{v_{t}} vt^相加,以获得最终偏移量ot。同时,偏移预测还生成调制掩码mt,其可以被视为反映偏移的置信度的关注。值得注意的是,Ft−1沿通道维度分为G组,每组具有单独的N个偏移量。因此,总共有G×N个偏移量。不同的偏移量相互补充,有助于编解码器处理复杂的运动和遮挡。此外,受改善CNN主干中信息流的频道洗牌操作的激励,本文定制了组级交互机制,以进一步挖掘NVC的偏移分集潜力。特别是,在用多个偏移扭曲每个组并应用相应的掩码之后,本文将在融合之前重新排序所有组,如图所示。
在这里插入图片描述

如果使用gij表示第j个偏移量扭曲的第i个组,则重新排序之前的特征为g00;::;g0N−1;g10;::;g1N−1;··;gG0−1;::;gG-1N−1,其中偏移顺序是主要的,组顺序是次要的。然后本文将它们重新排序为g00;:::;gG0−1;g11;::;gG1−1;··;g0N−1;::;gG-1N−1,其中组顺序是主要的。以下融合操作将每N个相邻组融合为一个组。因此,在这个过程中,组重新排序可以实现更多的跨组交互,而不会增加复杂性。这种设计还享有与传统编解码器中来自不同参考帧的加权预测类似的优点。通过跨组融合,引入了从不同组中提取时间上下文的更多样的组合,进一步提高了偏移分集的效率。

基于四叉树划分的熵编码

在通过我们的偏移分集模块获得时间上下文Ct之后,输入帧xt将被编码并量化为 y t ^ \hat{y_{t}} yt^,条件是Ct,如图2所示。我们需要估计 y t ^ \hat{y_{t}} yt^的概率质量函数(PMF),以便进行算术编码。在这个过程中,如何建立一个精确的熵模型来估计 y t ^ \hat{y_{t}} yt^的PMF对于压缩效率至关重要。许多神经编解码器采用自回归模型作为熵模型。然而,它严重降低了编码速度。相比之下,棋盘模型建议首先对 y t ^ \hat{y_{t}} yt^的偶数位置进行编码,然后使用它们来并行预测奇数位置的PMF。最近,双空间模型通过利用沿信道维度的相关性对其进行了改进。然而,与自回归模型相比,这些方法中用于熵建模的邻域仍然有限。因此,本文通过四叉树分区提出了一种更**细粒度的编码方式,**其中利用不同的空间上下文来改进熵建模。
在这里插入图片描述

如图所示,本文首先沿通道维度将 y t ^ \hat{y_{t}} yt^分成四组。然后将每个组在空间维度上划分为不重叠的2×2补丁。整个熵编码分为四个步骤,每个步骤编码与图中相应索引相关的不同位置。在第0步,同时对所有补丁的索引为0的所有位置进行编码。值得注意的是,对于四组,索引为0的位置彼此不同。因此,对于每个空间位置,有四分之一(一组)被编码。在随后的第一、第二、第三步,在先前步骤中编码的所有位置用于预测在当前步骤中编码位置的PMF,并且在每个步骤中针对不同的组编码不同的空间位置。在此过程中,利用了更多样化的邻居。如果考虑一个位置的8个空间邻居,如果不考虑边界区域,自回归模型对每个位置使用4个(左、左上、右上)邻居。棋盘和双空间模型分别为第0步和第1步使用0和4个(左、上、右、下)邻居。相比之下,本文的模型在四个步骤中分别使用0、4、4和8个邻居。平均而言,本文模型中的邻居数是棋盘和双空间模型的2倍,并且与自回归模型相同。然而,本文的模型比自回归模型更省时,因为每个步骤中的所有位置都可以并行编码。此外,本文的模型还利用了交叉通道相关性。例如,在第三步中,对于组的一个特定位置,**相同位置的其他信道已经在先前的步骤中从不同的组中编码,并且它们可以用作该步骤中熵建模的上下文。这有助于进一步压缩冗余。**总体而言,我们基于四叉树分区的解决方案使熵编码受益于更细粒度和多样化的上下文,这充分挖掘了空间和通道维度的相关性。

实施细节

本文的NVC专注于利用不同的环境来进一步提高性能。此外,本文还进行了以下小改进,以在性能和复杂性之间获得更好的折衷。首先,考虑到深度可分离卷积[可以减少计算成本,同时减轻过度拟合,本文广泛使用它来代替基本块设计中的正常卷积。第二个是,本文对具有不同分辨率的特征使用不相等的通道数设置,其中,较高分辨率的特征分配了较小的通道数用于加速。第三,我们提出在编码器中将部分量化操作移动到更高分辨率,这有助于实现更精确的比特分配。编码和量化的协调也带来了一些压缩比的改进。特别是,本文的NVC在YUV420色彩空间方面也已经优于ECM。不像传统的编解码器在设计不同颜色空间的编码工具时需要许多手工制作的更改,本文的NVC只需要基于现有的针对RGB训练的NVC进行简单的调整。不需要修改网络结构,本文只对UV进行上采样,以使用RGB的统一输入接口。相应地,在获得重建帧之后,在UV上对其进行下采样。此外,本文的YUV420模型只需要基于为RGB训练的模型进行简单的微调训练。

实验设置

对于培训,本文遵循大多数现有NVC,并使用Vimeo-90k[59]。为了测试YUV420视频,使用HEVC B~E、UVG和MCL-JCV。它们的原始格式是YUV420,因此在将它们提供给NVC之前没有任何更改。为了测试RGB视频,由于这些测试集没有RGB格式,大多数现有的NVC使用BT.601(FFmpeg中的默认值)将它们从YUV420转换为RGB。实际上,**JPEG AI采用BT.709,因为使用BT.709可以在类似的视觉质量下获得更高的压缩比。**因此,本文遵循JPEG AI,并在测试RGB期间对所有编解码器使用BT.709。值得注意的是,不同编解码器之间的相对比特率比较在BT.601和BT.709中是相似的。补充材料显示了使用BT.601的结果。此外,在测试RGB视频时,本文遵循并测试HEVC RGB数据集,并且没有格式更改,因为HEVC RGB的数据集本身是RGB格式。

本文遵循并测试每个视频的96帧,帧内周期设置为32。与大多数现有作品一样,使用低延迟编码设置。BD Rate用于测量压缩比,其中负数表示比特率节省,正数表示比特率增加。本文的基准包括HM和VTM,它们分别代表了最佳的H.265和H.266编码器。特别是,本文还与ECM进行了比较,ECM是下一代传统编解码器的原型。对于编解码器设置,本文遵循[29,50],并在测试RGB时进一步使用10位作为中间表示,这导致三种传统编解码器的压缩比更好。详细设置见补充资料。至于NVC基准,本文将其与最近的SOTA模型进行比较,包括CANF-VC[21]、Sheng 2021[50]和DCVC MM22[29]。

本文采用多阶段培训策略。本文的模型还支持单个模型中的可变比特率,因此在不同的优化步骤中使用不同的λ值。本文使用4个λ值(85、170、380、840)。但与在损耗中使用恒定失真权重不同,本文建议对失真项使用wt上的分级权重设置。考虑到本文的训练集Vimeo-90k对于每个视频只有7帧,本文参考了传统的编解码器设置,并将模式大小设置为4。4个连续帧的权重设置为(0.5、1.2、0.5、0.9)

实验结果

在这里插入图片描述
在这里插入图片描述

消融研究

在这里插入图片描述
在这里插入图片描述
与DCVC_MM22相比。然而,实际编码和解码时间更高。这是因为在相同的MAC条件下,深度卷积的计算密度目前不如正常卷积高。但通过定制优化,未来可以进一步加速

总结和展望

本文介绍了如何利用不同的上下文来进一步提高NVC。从时间维度上,该模型被引导来提取长期且高质量的上下文,以减轻错误传播并利用长距离相关性。具有跨组交互的偏移分集提供了互补的运动对齐以处理复杂的运动。从空间维度出发,提出了基于细粒度四叉树的分区,以增加空间上下文的多样性。在本文的技术支持下,NVC的压缩比达到了新的高度。本文的编解码器在RGB和YUV420色彩空间方面都超过了ECM,这是NVC发展的重要里程碑。在训练过程中,为了学习分层质量模式,本文仍然使用与传统编解码器中类似的固定失真权重。这可能不是NVC的最佳选择。事实上,强化学习善于解决这类时间序列权重决策问题。在未来,作者将研究利用强化学习来帮助NVC在考虑时间依赖性的情况下做出更好的权重决策

补充(网络细节图)

在这里插入图片描述
在这里插入图片描述

结束~

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值