Enhancing Quality for HEVC Compressed Videos

提高HEVC压缩视频的质量

Abstract

最新的高效视频编码(HEVC)标准已越来越多地应用于在互联网上生成视频流。然而,HEVC压缩视频可能会导致严重的质量下降,尤其是在低比特率下。因此,有必要在解码器侧提高HEVC视频的视觉质量。为此,本文提出了一种质量增强卷积神经网络(QE-CNN)方法,该方法不需要修改编码器即可实现HEVC的质量增强。特别是,我们的QE-CNN方法学习QE-CNN-I和QE-CNN-P模型,以分别减少HEVC I和P/B帧的失真。该方法不同于现有的基于CNN的质量增强方法,后者仅处理帧内编码失真,因此不适用于P/B帧。实验结果验证了QE-CNN方法在提高HEVC视频I帧和P/B帧质量方面的有效性。为了将我们的QE-CNN方法应用于时间约束场景,我们进一步提出了一种时间约束质量增强优化(TQEO)方案。我们的TQEO方案控制QE-CNN的计算时间以满足目标,同时最大限度地提高质量。接下来,实验结果从不同时间约束下的时间控制精度和质量增强方面证明了我们的TQEO方案的有效性。最后,我们设计了一个原型,在实时场景中实现我们的TQEO方案。

 I. INTRODUCTION

高效视频编码(HEVC)标准[1]于2013年1月正式发布,大大提高了视频编码的效率。与之前的H.264/AVC标准相比,在主观质量相似的情况下,HEVC能够实现约60%的比特率节省[2]。然而,当以低比特率存储或传输时,HEVC视频也会产生伪影,例如阻塞伪影、振铃效果、模糊等。这种伪影可能导致解码器侧的体验质量(QoE)严重下降。因此,有必要研究如何在解码器端提高HEVC视频的视觉质量。

在过去十年中,人们对提高解码图像的视觉质量越来越感兴趣[3]-[10]。近年来,深度学习方法已成功应用于提高解码图像的视觉质量。例如,董等人[9]设计了一个四层卷积神经网络(CNN)[11],命名为AR-CNN,用于显著提高JPEG图像的质量。之后,提出了其他深度网络,例如D3[10]和TNRD[12],以减少JPEG伪影。

为了提高HEVC视频的质量,一些工作[13]-[16]开发了用于HEVC编码器的高级后处理滤波器。特别是,Park和Kim[15]设计了一个CNN来代替HEVC编码器和解码器中的采样自适应偏移(SAO)滤波器。后来,基于AR-CNN[9],Dai等人[16]提出了VRCNN结构来代替HEVC帧内编码中的环路滤波器,实现了4.6%的比特率降低。然而,[16]仅处理HEVC的帧内模式编码,其中未考虑帧间编码帧(即P/B帧)的失真。更重要的是,这些方法需要在编码器侧进行修改,因此不适合提高已压缩视频的质量。

最近,设计了一种称为DCAD[17]的深度网络,通过提高解码器端HEVC压缩视频的质量来提高HEVC的编码效率。然而,DCAD[17]方法使用相同的CNN模型来增强帧内和帧间编码帧,并且CNN模型仅从HEVC压缩图像中学习。因此,DCAD[17]方法没有考虑到帧内和帧间编码失真之间的差异,因此无法有效减少I帧和P/B帧的伪影。在本文中,我们提出了一种新的质量增强CNN(QE-CNN),用于增强解码器侧的HEVC质量。我们的QE-CNN方法分别具有HEVC帧内和帧间编码帧的特定架构。因此,QE-CNN能够提取帧内和帧间编码的失真特征,并有效地提高HEVC视频中I帧和P/B帧的质量。此外,值得指出的是,在解码器端应用我们的QE-CNN方法时,不需要修改HEVC编码器。

不幸的是,视觉质量增强的成本增加了计算时间[9],[16],尤其是对于基于CNN的方法。目前,设备的计算能力显著提高,从而实现了视频质量增强。然而,对于HEVC的质量增强,计算时间仍然有限,尤其是在实时应用或计算能力较低的设备中。因此,我们的QE-CNN方法来提高HEVC的视频质量需要考虑时间约束应用。为此,我们进一步提出了一种时间约束的质量增强优化方案。具体来说,我们通过公式对TQEO问题进行建模,其中QE-CNN的质量增强在计算时间约束下最大化。然后,开发了两个解来分别求解I和P/B框架的公式。因此,我们的QE-CNN方法的计算时间可以控制在具有最佳质量增强的目标上。

我们工作的新颖性和贡献有两个方面:

(1)提出的QE-CNN方法是第一种基于CNN的方法,分别用于学习帧内和帧间编码的失真特征。因此,可以有效地提高I帧和P/B帧的质量。具体来说,QE-CNN-I中的卷积层旨在提取帧内编码特征并提高帧内编码帧(即I帧)的质量。在QE-CNN-I的基础上,提出了QE-CNN-P,通过在均匀网络中串联编码内和编码间失真特征来提高编码间帧(即P/B帧)的压缩质量。

(2) 我们的TQEO方案是控制目标质量增强计算时间的开创性工作。在我们的TQEO方案中,我们首先建立TQEO公式,以在降低计算复杂度的约束下最大限度地减少HEVC帧的MSE。然后,采用压缩和像素域特征来预测每个连接时序单元的质量增强性能,并对QE-CNN-I\/P的计算复杂度进行建模。最后,我们求解TQEO公式,以决定是在每个CTU上禁用QE-CNN-I /P还是用QE-CNN-I替换QE-CNN-P。因此,计算复杂度可以控制为具有最佳质量增强的目标

本文是我们在2017年ICME上提交的会议论文[18]的扩展版本,包含大量的高级工作。具体来说,本文将QE-CNN-P的训练集从[18]中的26个序列扩展到81个序列。QE-CNN模型是通过采用参数校正线性单元(PReLU)和残差学习而提出的,对于I帧和P/B帧,其质量性能优于[18]。最重要的是,本文提出了TQEO方案来控制QE-CNN方法在质量增强中的计算时间,并设计了一个原型,将我们的TQEO方案应用于实时质量增强场景。

II. RELA TED WORKS

A. Related W orks for Quality Enhancement

如上所述,在过去十年中,许多作品[3]-[8]都专注于提高图像的视觉质量。具体来说,Liew和Yan[3]提出的方法使用过完备小波表示减少了压缩图像的块效应。Foi等人[4]应用逐点形状自适应离散余弦变换(SA-DCT)来减少JPEG压缩引起的阻塞和振铃效应。后来,王等人[8]建议过滤相邻块之间的边界,以减少JPEG图像的块状伪影。最近,Jancsary等人[5]利用回归树场(RTF)实现了JPEG图像去块。此外,存在一些用于消除JPEG伪影的稀疏编码方法,例如[6]和[7]

在过去十年中,深度学习在计算机视觉和图像处理任务[19]-[22]方面取得了令人瞩目的成就。最近,深度学习也被成功地应用于提高解码图像的视觉质量。董等人[9]提出了四层AR-CNN来减少JPEG编码引起的伪影。AR-CNN是基于用于超分辨率的三层CNN设计的,称为SR-CNN[23]。在[23]中,SRCNN中三层的功能定义为特征提取、非线性映射和重建。AR-CNN在SR-CNN中添加了一个特征去噪层,以提取JPEG失真的特征,从而实现JPEG图像的质量增强。然后,提出了一些其他深度网络,如D3[10]和TNRD[12],通过利用JPEG压缩的先验知识来恢复JPEG失真。如[9]和[10]所述,这些深度学习方法显著优于其他传统方法,如[4]-[6]。[9]和[10]的突出表现突出了深度学习在提高质量方面的应用前景。

对于视频,已经进行了许多工作[13]–[16]、[24]、[25],以提高最新HEVC标准的视觉质量,旨在提高编码器侧的编码效率。[24]和[25]的工作提出通过在HEVC编码器处进行率失真优化(RDO)来提高HEVC质量。Han和Cham[13]开发了一种用于HEVC的高性能环路内滤波器,该滤波器是在HEVC编码器和解码器中原始环路内滤波器之后添加的。张等人[14]提出了一种结构驱动的自适应非局部滤波器(SANF),该滤波器在去块滤波器(DF)之后和SAO滤波器之前应用于HEVC编码器和解码器两侧。Park和Kim[15]提议用重新训练的SR-CNN[23]替换HEVC中的SAO滤波器,以提高HEVC视频的质量。后来,基于AR-CNN[9],Dai等人[16]提出了VRCNN作为HEVC帧内编码中的一种先进的环路内滤波器。与传统的HEVC环路滤波器相比,VRCNN在不增加比特率的情况下提高了HEVC的视觉质量。换句话说,VRCNN能够提高HEVC的编码效率,即比特率降低4.6%。然而,这些方法需要修改HEVC编码器,因此对于现有的HEVC比特流不实用。此外,VRCNN[16]仅针对HEVC帧内编码模式设计,因此不适用于帧间编码。

最近,王等人[17]提出了一种深度网络来提高解码器端的HEVC质量,可以直接应用于现有视频流。然而,在[17]中,由HEVC帧内编码图像训练的相同深度网络结构用于提高帧内和帧间编码帧的质量。因此,[17]的网络不能同时处理帧内和帧间编码失真,因为没有分别针对I帧和P/B帧的特定设计。实际上,很少有人关注减少帧间编码失真,以进一步提高帧间的视觉质量。

B. Related Works on HEVC Complexity Control

此外,据我们所知,没有控制视频质量增强的计算时间的工作。最近的工作是HEVC复杂性控制方法,其目的是使HEVC的编码或解码时间满足约束。具体而言,在编码器方面,Corrêa等人[26]提出通过跳过某些帧的编码树单元(CTU)分区计算来降低HEVC编码复杂度。相反,这些帧的CTU分区与先前帧的分区相同。然后,可以通过设置在CTU分区上跳过计算的帧数来控制编码复杂度。后来,邓等人[27]提出了一种HEVC编码的复杂性控制方法。在他们的方法中,一些CTU的最大深度受到限制,以将计算复杂度降低到目标的质量损失最小。最近,邓等人[28]提出通过深度网络降低HEVC编码的复杂性。

在解码器方面,Langroodi等人[29]开发了一种用于H.264\/a VC解码的复杂度控制方法。在[29]中,解码器将其计算资源需求发送到编码器侧。然后,根据接收到的需求调整编码器的设置,以便可以控制相应的解码复杂度。Y ang等人[30]、[31]提出了一种控制HEVC解码复杂度的方法,而不是调整编码器。在他们的方法中,通过禁用测向和简化运动补偿(MC),以质量损失为代价,降低了HEVC的解码复杂度。然后,通过禁用DF和简化非显著CTU的MC,将HEVC解码复杂度控制到某个目标,并使感知质量损失最小。与上述方法类似,还可以研究计算时间控制以在时间约束下增强视频质量。不幸的是,据我们所知,这方面不存在任何工作。

III. THE PROPOSED QUALITY ENHANCEMENT METHOD

在本节中,我们讨论了拟议的QE-CNN方法,以提高解码HEVC视频的质量。在第三节A中,我们简要回顾了AR-CNN的总体架构,这是我们QE-CNN方法的基础。在第III-B和III-C节中,我们详细介绍了我们提出的QE-CNN方法的网络架构,包括用于提高HEVC I帧的视觉质量的QE-CNN-I和用于HEVC P/B帧的QE-CNN-P。

A. Overview of AR-CNN

在[9]中,开发了AR-CNN以提高编码JPEG图像的视觉质量。AR-CNN实现了JPEG编码图像的质量改进,可以视为我们方法的基础。在这里,我们简要回顾了AR-CNN的体系结构。在AR-CNN中,有四个卷积层,没有任何池或完全连接层。具体来说,如[9]中所述,AR-CNN的四层实现了特征提取、特征去噪、非线性映射和重建的功能。AR-CNN设计为端到端框架,以JPEG压缩图像为输入,直接输出恢复图像。在训练过程中,AR-CNN的所有四层都被联合优化。

输入图像表示为Y,第i卷积层的输出定义为Fi(Y)。然后,AR-CNN的架构可以表示为:

[9]中报告的实验结果验证了AR-CNN在提高编码图像质量方面优于传统方法,例如SA-DCT[4]和RTF[5]。受AR-CNN的启发,我们设计了QE-CNN,以提高HEVC解码视频的质量,同时也利用了CNN。

B. The Proposed QE-CNN-I

我们现在重点关注拟议的QE-CNN-I网络,该网络能够处理HEVC帧内编码引起的失真,以提高HEVC I帧的质量。接下来,我们从数据集、结构和损失函数方面介绍了QE-CNN-I。

......

2) 架构:QE-CNN-I的架构是根据以下观察结果设计的

观察1:HEVC帧内编码引起的失真比JPEG具有更多的特征

分析1:我们从理论和实验两个方面分析了这一观察结果。理论上,HEVC帧内编码比JPEG更复杂。例如,HEVC支持不同大小的离散余弦变换(DCT),包括4×4、8×8、16×16和32×32[1],而JPEG仅采用8×8 DCT[33]。此外,HEVC帧内预测具有33个不同的方向方向[1],这比JPEG中的直流(DC)预测要复杂得多[33]。因此,在HEVC帧内编码中比在JPEG中存在更多的失真源;因此,HEVC帧内编码引起的失真比JPEG具有更多的特征

在实验方面,我们通过在不同配置下的验证集上测试CNN来进一步分析观察结果1。首先,基于AR-CNN,我们设计了具有大量卷积滤波器的AR-CNN-1。然后,我们在验证集上比较了AR-CNN-1和AR-CNN在QP=42时的性能。AR-CNN-1的配置及其性能如表二所示。如表二所示,具有更多滤波器的AR-CNN-1在HEVC I帧的峰值信噪比方面优于AR-CNN。注意,表2中的结果是在验证集上评估的.

此外,图1显示了AR-CNN(由JPEG训练)和AR-CNN-1(由HEVC训练)中第一卷积层(W1)的权重矩阵,以可视化JPEG和HEVC的失真特征。从图1-(a)可以看出,JPEG的失真特征小于64,因为64个滤波器中的一些(在图1-(a)的最后一个raw中)没有学习有效特征。相比之下,图1-(b)显示HEVC视频比JPEG具有更多的失真特性。最后,可以验证观察结果1

分析2:回顾AR-CNN是一个4层网络,其中Conv 1用于提取特征,Conv 2用于特征去噪[9]。对于HEVC,我们将AR-CNN-1扩展到AR-CNN-2,其中包括Conv 2之后的一个附加层,以进一步去噪特征。AR-CNN-2的配置如表二所示。因此,AR-CNN-2有5个卷积层。然后,我们在QP=42的验证集上测试AR-CNN-2。如表二所示,AR-CNN-2在增强I帧的HEVC质量方面优于AR-CNN-1。因此,可以证实,Conv 3成功地对HEVC编码图像的特征图进行了进一步去噪。

然而,表二还表明,当在AR-CNN-1中添加多个层时,即AR-CNN-4和AR-CNN-5,峰值信噪比改善降低。这可能是因为太多的附加层引入了冗余参数,导致过度拟合问题。总之,AR-CNN-1加上一个卷积层可以获得更好的性能。最后,验证了观察结果2。

观察3:参数整流线性单元(PReLU)作为激活函数而不是ReLU,可以进一步提高AR-CNN-2的性能。分析3:PReLU是一个可学习的激活函数,它被证明比ReLU[34]和泄漏ReLU具有更好的性能。PReLU定义如下:

根据观察结果1、2和3,我们使用AR-CNN-3作为QE-CNN-I结构,以提高解码HEVC视频的I帧质量。QE-CNN-I的架构如图2所示,其配置如表三所示。QE-CNN-I的公式表示为:

......

我们还评估了将在较高QP(QP=27)下训练的模型应用于验证集中QP=22的序列的性能。然而,只能实现峰值信噪比=0.0049 dB。这表明由低质量视频训练的模型对高质量视频无效。因此,在本文中,我们训练了6个QE-CNN模型,分别对应于QP=22、27、32、37、42和47。

C. The Proposed QE-CNN-P

接下来,我们介绍了拟议的QE-CNN-P网络,该网络设计用于处理HEVC编码内和编码间失真。因此,它能够提高HEVC P/B帧的质量。接下来,我们介绍了QE-CNN-P的数据集、体系结构和损失函数。

2) 架构:在HEVC中,仅在I帧中使用帧内编码,而在P帧中同时应用帧内和帧间编码[1]。因此,我们学习了HEVC内部和内部编码的特征,以提高P帧的视觉质量。

因此,我们设计了包含9个卷积层的QE-CNN-P,如图3所示。在QE-CNN-P中,Conv 1-4层的架构与QE-CNN-I中的架构相同,它们有望提取和处理帧内编码的失真特征。此外,Conv 5用于提取HEVC帧间编码的失真特征。回想一下,Conv 1用于提取帧内编码特征。然后,将Conv 1和Conv 5的输出串联起来,并由Conv 6进行卷积。因此,Conv 6消除了帧内和帧间编码的特征。QE-CNN-P中的Conv 7-9以类似的方式设计。最后,使用QE-CNN-P中的Conv 9进行重建。注意,由于QE-CNN-P中的Conv 1-3用于提取帧内编码特征,因此其参数根据学习的QE-CNN-I的Conv 1-3进行微调.

 3) 训练过程和损失函数:由于QE-CNN-P比QE-CNN-I包含更多的层,我们遵循[16]和[36]使用原始和编码视频之间的残差作为训练的基本事实,而不是原始视频本身。[16]和[36]已经证实,学习原始帧和畸变帧之间的残差可以更快地收敛和更准确地重建。此外,我们还将学习速率衰减应用于训练QE-CNN-P。在本文中,学习率每40个时代衰减10倍。同时,为了避免大学习率(γ)引起的爆炸,我们还采用了可调梯度剪裁方法[36]

......

猜你喜欢

转载自blog.csdn.net/mytzs123/article/details/126023210