HEVC上基于卷积神经网络的帧内预测外文翻译资料

 2023-03-14 18:52:17

HEVC上基于卷积神经网络的帧内预测

摘要:HEVC上传统的帧内预测方法使用最近的参考线对块进行预测,忽略了当前块与相邻块之间更丰富的上下文关系,尤其当当前块与参考线之间存在较弱的空间相关性时,会导致预测不准确。 为了克服这一问题,本文提出了一种使用卷积神经网络的帧内预测方式,该网络利用了当前块的丰富上下文信息,因此能够提高当前块的预测精度。同时,对最近的三个块的预测也有微调。根据我们的了解,这是第一篇直接将CNN应用于HEVC帧内预测的论文。实验结果验证了将CNN应用于帧内预测的有效性,与传统的帧内预测方法相比,性能有了显著提高。

1、简介

由于引入了许多先进技术,由视频编码联合协作团队最新提出的视频编码标准H.265/HEVC相比其先前的H.264/AVC,虽然提供相似的视频质量,但节省了约50%的比特率。例如,在HEVC中使用了基于四叉树的编码单元数据结构,并将角预测方向数扩展到33个。在HEVC中,更细的预测方向可以提供更准确的预测。HEVC也采用了混合视频编码框架,但与H.264/AVC相比,它已经有了很多改进。在H.264/AVC中,编码单元是一个固定大小为16x16的宏块。HEVC引入了编码树单元(CTU)、预测单元(PU)、转换单元(TU)和编码单元(CU)的概念。图像首先被划分为CTU。CTU的大小可以是16x16、32x32和64x64。对于一个CTU,它可以作为一个整体进行编码,也可以被均匀地分为四个CU。CU是最基本的帧间编码和帧内编码模块之一,其大小可以从8x8到64x64。它也可以根据图像的纹理均匀地分为四部分。PU是最基本的帧内预测单元之一,它由CU划分得到,大小从4x4到64x64。TU用于变换和量化。PU中的所有TUs将共享相同的预测信息。TU的大小从4x4到32x32。由于图像具有很强的空间相关性,较小的TU可以减小预测像素与参考像素之间的误差。

在HEVC的帧内预测中,角度预测生成结果的选择根据预测像素点与原始值之间的最小误差。但是,由于这种方法只假设纹理信息遵循一个纯方向,因此可能不会产生最优预测。此外,最近参考线上的噪声或遮挡可能会导致较大的预测偏差。为了解决这个问题,人们提出了很多改进措施。在[2]中,提出了一种模板匹配方法,在非局部参考内容中搜索编码块的模板,并选择匹配最佳模板的对应块作为内容。该方法在有许多重复图案的区域表现良好。但由于匹配过程复杂,计算复杂度较高。在[3]中提出了一种基于MMSE的位置相关滤波方法,每个位置根据其块大小或方向有自己的权值。然而,解码时需要大量额外的权重信息。为了避免这一障碍,在[4-7]中提出了基于马尔可夫过程的方法,该方法根据相邻像素之间的相关性,通过建模来细化帧内预测。图像修复是另一种广泛应用的提升帧内预测的技术。[8-9]提出了一种基于边缘的修复算法。[10-11]中也采用了基于图像修复的偏微分方程方法。上述方法大多使用最近的参考线预测一个块,而忽略当前块及其相邻块之间更丰富上下文信息,因此导致不准确的预测,尤其是在当前块和参考线之间存在弱的空间相关性时。

为了克服传统方法的缺点,本文提出了一种基于卷积神经网络的帧内预测方法,该方法利用更多的上下文信息来预测当前的PU块。具体来说,我们采用卷积神经网络来进行帧内预测。该网络可以学习当前的PU块与其最近的参考块之间的空间相关性。这种方法有几个吸引人的特性。首先,该方法可以直接嵌入到HEVC中,无需过多修改,与传统的HEVC方法相比具有较高的预测精度。其次,在预测过程中也可以改进最接近的三个重构块的预测。

总的来说,我们工作的内容有三方面:

1)我们提出了一种对HEVC进行帧内预测的方法,利用当前待预测块与其最近的三个块之间的丰富上下文信息。这种思路与传统的帧内预测方法有很大的不同,传统的帧内预测方法只依赖于使用最近的参考线来预测当前块内容。

2)我们提出了一种基于卷积神经网络的帧内预测方法,该方法利用当前块的上下文来提高其预测精度,同时改进其最近的三个块的预测。

3)实验结果验证了利用卷积神经网络进行HEVC帧内预测的有效性,为该领域的研究人员提供了利用卷积神经网络提高帧内编码性能的新思路。

本文的其余部分组织如下。第2节简要概述了相关工作。第3节详细描述了我们提出的方法。第4节介绍了实验结果。第5节将给出更多的讨论。最后,第六节对全文进行总结。

2、相关工作

2.1、HEVC中的帧内预测

HEVC中的帧内预测编码遵循一种分块方法。具体来说,HEVC将每一帧划分为不重叠的编码单元(CU),并进一步划分为预测单元(PU)。然后每个PU将根据同一帧内最近的参考像素和最佳预测模式进行预测。对于每个待编码的PU,由当前PU块周围的重构像素去创建亮度和色度预测块。预测的质量将直接影响到视频序列的比特率和PSNR。预测编码后得到残差信号,即原始分块与预测值的差值。然后进行变换和量化过程。最终,量化系数将直接输入熵编码过程。

在HEVC中,有一组35种模式,包括33种角度预测模式、一个DC模式和一个平面模式。在帧内预测中,一系列的周围像素被用来预测生成块。

2.2、基于卷积神经网络的视频编码

近年来,卷积神经网络在许多领域得到了广泛的应用。很多研究利用CNN进行超分辨率(SR)[12]、图像分类[13]和目标检测[14]。众所周知,CNN在图像处理和分类方面表现良好。然而,在视频编码中很少使用CNN。在[15-17]中,CNN用于帧内的CU划分模式决策。在这些论文中,网络的输入是一个8x8的块,输出是两个类。实际上,这是一个分类问题。该网络的结果用于判断该输入块是否被分割。在[18]中,CNN也被用于环路滤波,来提高编码效率。此外,[19]提出了一种基于CNN的HEVC帧内编码后处理方法。它灵感来自于用于减少压缩伪影的AR-CNN。然而,上述方法并不能直接用于帧内预测。

3、我们提出的方法

在本节中,将详细介绍所提出的方法。首先,对框架进行了描述。其次,全面讨论了用于训练的数据集。最后,给出了该网络的结构和训练细节。

3.1、概述

我们提出的方法包括两个过程:网络训练和帧内预测,如图1所示。对于网络训练过程,首先从原始的HEVC的帧内预测过程中获得一组训练样本,其中包括8x8的PU(粉色块)以及最近的三个8x8的重建块(绿色块)。有关获得训练样本的更多细节,将在下一小节中讨论。网络(IPCNN)的输出是输入块减去原始块而产生的剩余块。经过训练过程,构建了完整的网络。这个网络将用于帧内预测过程。

在帧内预测过程中,将一个16x16的块送入神经网络,这个块包含了8x8的PU块和它最近的三个重构块。网络将会输出16x16的残差块。然后,通过将输入块减去残差块,就得到了目标块。最后将16x16的目标块中的8x8的PU块返回给HEVC。HEVC中原来的8x8的PU块就会被目标的PU块取代。后续过程与HEVC相同,将原始块减去预测块,得到残差信号。随后进行转换和量化过程。最后,量化系数将直接输入熵编码过程。

3.2、训练数据集

为了达到更好的性能,下面将详细讨论训练集,主要讨论训练数据的两个重要属性。一个是训练数据的大小。恰当的数据大小会使CNN的性能更好。二是训练数据之间的相互关联性,它反映了训练数据所承载的信息量。

在HEVC中,PU块的最小尺寸是4x4,这个尺寸太小,不能作为训练数据。因为它携带的信息是不充分的。第二小的PU块尺寸是8x8。它比上面讨论的4x4更好。然而,当前PU的预测是由顶部的参考像素和左边的参考像素生成的。块越小,参考像素越少,会导致部分信息丢失。因此,显而易见,最近参考像素是不可缺少的。相反,如果PU块和参考像素越大,计算复杂度就越高。最后,对于CNN的输入数据,本文选取的大小为16x16,其中包括一个8x8的PU块和最接近的三个8x8的重构块,如图2所示。8x8的PU块(图2中的红色区域)是根据参考像素并使用HEVC中最好的帧内模式进行预测的得到的。对于输出数据,它也是一个16x16的块,这是输入数据和原始数据之间的残差。综上所述,有三个要求:a)本文所提方法中当前PU块尺寸为8x8;b)利用HEVC中最优模式预测PU块初始值;c)重建块是用于预测PU块的参考。

选择16x16的块大小进行预测,由如下原因:

1)它包含了当前的PU块和三个最近的参考块,这些参考块将为网络提供更多的信息进行预测。因此,对模型的学习是有益的。

2)网络学习PU块中的模式,将为HEVC中预测块的准确性提供依据。

3)将左上角的三个参考块的重建模式提供给HEVC中网络,可以使重建处理更准确。

3.3、我们的网络结构和训练细节

事实上,重建误差和预测误差都可以看作是图像中的噪声。因此,输入图像可以认为是一个有噪声的图像Y = X V,其中X代表原始图像,V代表噪声。该网络的目标是学习一个映射函数F(Y) = X来预测原始图像。我们将学习残差映射R(Y)asymp;V,而不是直接学习映射F。最后,通过Xasymp;Y - R(Y)得到估计的原始图像。

在本节中,我们首先介绍帧内预测神经网络(IPCNN)的架构,如图3所示。IPCNN由10个权重层组成。IPCNN架构中有三种网络层次:Conv ReLU、Conv BN ReLU和Conv (i) Conv ReLU:第一层使用64个大小为3times;3times;c的卷积核生成64个特征图。(ii): Conv BN ReLU:对于第2 ~ 9层,使用64个尺寸为3times;3times;64的卷积核,在卷积和ReLU之间加入批归一化。(iii): Conv:最后一层,使用c个大小为3x3x64的卷积核重构输出。利用残差学习和批归一化来提高训练速度和性能。

在训练网络时,一些经验性的设置有利于获得更好的性能。首先,学习速度应该限制在一个小范围内。可能由于预测的PU块和原来的块相差很大,如果学习率过大,会导致网络的不稳定性。第二,在训练过程中逐步减少批大小。在本文中,批大小每10代减少一半,从128到32。

4、实验结果

本节将通过实验验证本文提出的方法的有效性。此外,也对网络学习到的模式进行了分析。

4.1、实验设置

在该实验中,利用训练数据的PU块(图2中的红色块)在HEVC中进行帧内预测。此外,我们使用深度学习框架MatConvnet来训练我们的网络。我们的神经网络很容易嵌入到HEVC参考软件中。为了验证所提方案的性能,我们在HM-14.0中进行了实现。测试序列包括大范围的HEVC标准测试视频序列。我们的训练数据集来自4个不同量化参数(22、27、32和37)的10个序列,且只考虑亮度分量。对于每个QP,单独训练一个网络。与HEVC原来的结果相比,采用BD-Rate[20]进行评价,负数表示比特率的节省,正数表示比特率增加。在对比了BD-Rate的结果后,我们还分析了网络学习到的模式,并给出了一些详细的图表。

4.2、实验结果 剩余内容已隐藏,支付完成后下载完整资料


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


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

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

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