与之前的 H.264 标准相比,HEVC 显著降低了比特率,但以极高的编码复杂性为代价。而四叉树CU划分的递归过程对编码时间的贡献最大。本文提出了一种基于卷积神经网络 (CNN) 和长短期记忆 (LSTM) 网络的深度学习方法来预测 CU 划分,以降低帧内和帧间模式下的 HEVC 复杂度。
论文题目:Reducing Complexity of HEVC: A Deep Learning Approach
作者:徐迈、李天一等
论文链接:https://arxiv.org/abs/1710.01218v3
内容整理:杨晓璇
本文的主要贡献总结如下:
- 在帧内和帧间模式下为 HEVC 的 CU 划分建立了一个大型数据库,通过分层 CU 划分图 (HCPM) 有效地表示 CTU 的 CU 划分。这可能有助于深度学习在降低 HEVC 复杂性方面的应用。
- 提出一种提前终止的分层 CNN (ETH-CNN) 的深度 CNN 结构,以 HCPM 的形式预测 CU 划分的结构化输出,以降低帧内模式 HEVC 的复杂性。
- 开发一个提前终止的分层 LSTM (ETH-LSTM) 的深度 LSTM 结构,学习 CU 划分的时空相关性,以降低 HEVC 在帧间模式的复杂性。
分层 CU 划分图
一个 CTU 的大小默认为64×64像素,一个 CTU 既可以包含一个 CU ,也可以根据四叉树结构被递归划分成多个更小的 CU 。一个 CU 的最小尺寸是在编码前配置的,默认为 8×8。因此,CTU 中的 CU 是多样化的。每个 CTU 中的 CU 的大小都是通过 RDO 暴力搜索来确定的,其中包括一个自上而下的检查过程和一个自下而上的比较过程。当划分后的子 CU 总 RD 成本小于父 CU 的 RD 成本,则父 CU 被划分,反之则不被划分。搜索过程复杂且耗时。
**HEVC 的帧内 CU 划分数据库 (The CPH-Intra database)**:从原始图像数据集 (RAISE) 中选择了 2000 张分辨率为 4928 × 3264 的图像,并选取部分图片下采样获得其他分辨率。图片被随机分为训练集、验证集和测试集。所有图像都由 HEVC 参考软件 HM 16.5 进行编码。四个 QP {22、27、32、37} 被应用于 All-Intra (AI) 配置中进行编码,可以得到所有 CU 的表示分裂(=1)和不分裂(=0)的二进制标签,每个 CU 及其相应的二进制标签就是我们数据库中的一个样本。最后,CPH-Intra 数据库中共收集了 110,405,784 个样本。
**HEVC 的帧间 CU 划分数据库 (The CPH-Inter database)**:选择了 111 个播放时间为 10s 的原始视频序列,包含不同分辨率,被分为不重叠的训练、验证和测试集。CPH-Inter 数据库中的所有序列都是由 HM 16.5 在四个 QP{22, 27, 32, 37} 下编码的。它们分别用 Low Delay P、Low Delay B 和 Random Access 配置进行压缩。因此,每种配置都有12个子数据库,对应于不同的 QP 和 CU 大小。最后,在 CPH-Inter 数据库中为 LDP 配置收集了总共 307,831,288 个样本,为 LDB 配置收集了 275,163,224 个样本,为 RA 配置收集了 232,095,164 个样本。
**分层 CU 划分图 (HCPM)**:传统的 CU 划分预测,一般是把CU划分过程视为各自独立的三级分类器,每次预测只能得到一个 CU 的划分结果。在本文的 HCPM 中,可直接将一个 CTU,用 U 表示,输入到网络中,得到 1+4+16 个节点的结构化输出,来预测 CTU 中所有可能分割的 CU 的结果。通过数据库得到的 CU 划分真值用 表示,1代表分割、0代表不分割、“-”表示不存在,即上一级 CU 已停止分割。CTU 通过深度网络处理得到相应的 HCPM 预测值用 y 表示。网络的训练就是使 HCPM 预测值尽可能接近真值。
ETH-CNN 降低帧内 CU 划分的复杂性
开发一个深度 ETH-CNN 结构来学习 HCPM,以预测 HEVC 帧内的 CU 划分。ETH-CNN 被输送了一个完整的CTU,能够分层生成三个分支的结构化输出,表示三个级别的 HCPM 的所有预测。ETH-CNN 引入了提前终止机制,可以在第二个和第三个分支处提前终止三个全连接层。除了三个全连接层外,ETH-CNN 结构还由两个预处理层、三个卷积层和一个连接层组成。
- 预处理层:对 CTU 原始亮度矩阵进行去均值和降采样等预处理操作,对应三个级别的 HCPM。在每个分支,输入 CTU 减去平均强度值以减少输入 CTU 样本的变化。在 B1、 B2分支,对去均值的亮度矩阵进一步降采样,将矩阵尺寸转化为 16×16 和 32×32,保证后续卷积层的输出尺寸与HCPM的三级输出标签数相一致。
- 卷积层:在每个分支 B1 中,所有经过处理的数据都流过三个卷积层,不同分支的卷积核大小相同。首先,数据在第一个卷积层用 4×4 核( 16 个滤波器)进行卷积以提取低级特征;在第二层和第三层,特征图用2×2核(第二层 24 个滤波器,第三层 32 个滤波器)依次卷积两次,生成更高层次的特征。
- 拼接层:从第二个和第三个卷积层产生的三个分支的所有特征图被连接在一起,然后展平为向量a ,获得各种全局和局部特征。
- 全连接层:向量 中的所有特征在三个分支 B1 中处理,也对应三个级别的HCPM。在每个分支中,连接层的矢量化特征通过三个全连接层,包括两个隐藏层和一个输出层,最终的输出即为HCPM预测值。此外,QP 也有对 CU 划分有显着影响。随着 QP 的降低,更多的 CU 倾向于分裂,反之亦然。因此,在全连接的特征向量中补充 QP 作为外部特征,使得 ETH-CNN 在预测 HCPM 时能够适应各种 QP。提前终止可能会导致跳过第 2 层和第 3 层的全连接层的计算,从而节省计算时间。
鉴于上述 ETH-CNN 结构,文章专注于训练用于预测 HCPM 的 ETH-CNN 模型的损失函数。假设有 R 个训练样本。 表示真实值和预测值之间的交叉熵。
然后,可以通过优化所有训练样本的损失函数来训练 ETH-CNN 模型:
采用带动量的随机梯度下降算法训练ETH-CNN模型。最后,经过训练的 ETH-CNN 模型可用于以 HCPM 的形式预测 HEVC 的 CU 划分。
ETH-LSTM 降低帧间 CU 划分的复杂性
通常,相邻视频帧在视频内容上表现出相似性,并且这种相似性随着两个相邻帧的时间距离增加而衰减。同样的现象也可能适用于 HEVC 帧间 CU 划分。下图显示了跨具有不同时间距离的相邻帧的 CU 划分的示例。在此图中,我们将第一列视为参考。然后,将具有不同距离的后续帧的 CU 划分与参考进行比较。在每个 CU 中,我们以红色突出显示相同的 CU 深度。相邻帧的 CU 划分存在较高的相似性,并且相似性随着时间距离的增加而下降。
因此,文章提出了 ETH-LSTM 方法,该方法学习跨帧的 CU 划分的长期和短期依赖性。
首先向 ETH-CNN 输入每个 CTU 亮度信息的残差,残差是通过对当前帧进行预编码获得的,其中 CU 和 PU 大小都被强制为 64×64。接下来,为帧 t 提取 ETH-CNN 第 7 层的特征,送入到 ETH-LSTM。
在 ETH-LSTM 中,第 1、2、3 级各有一个 LSTM 单元。每个 LSTM 单元接受当前时刻的输入向量(即 CNN 处理后的特征),以及上一时刻 LSTM 产生的状态向量,由此来更新当前时刻 LSTM 的状态向量和输出向量。LSTM 单元的输出向量,再依次通过两个全连接层做进一步处理,最终得到 HCPM 所需的二值化 CU 分割概率。与帧内模式类似,此处的每个全连接层也考虑了外部特征:QP值和当前帧在 GOP 中的帧顺序,以适应不同编码质量和帧位置对 CU 分割的影响。与 ETH-CNN 类似,ETH-LSTM 中同样引入提前终止机制,以减少 ETH-LSTM 中的计算冗余。最终,将 ETH-LSTM 中三个级别的输出联合起来,即可得到 HCPM 预测值。
应用交叉熵作为损失函数,与 ETH-CNN 中定义的相同。令 Lr (t) 为帧 t 处第 r 个训练 CU 样本的损失。然后,可以通过优化 R 个训练样本的 T 帧的损失来训练 ETH-LSTM 三个级别中的每个 LSTM 单元
由带动量的随机梯度下降算法求解。最后,给定经过训练的 LSTM 单元,ETH-LSTM 可用于生成 HCPM 以预测帧间的 CU 划分。
实验结果
在帧内 CU 划分中,200个图像在 AI 配置和四个 QP 值下编码,ETH-CNN 在第 1、2 和 3 层预测帧内模式 CU 划分的平均准确率分别为 90.98%、86.42% 和 80.42%。
本文的方法与当时两种最先进帧内 CU 划分预测的方法进行比较:基于 SVM 的方法 [8](Machine learning-based coding unit depth decisions for flexible complexity allocation in high efficiency video coding) 和基于 CNN 的方法 [9](CU partition mode decision for HEVC hardwired intra encoder using convolution neural network)。 说明了测试图片的复杂度降低率。本文的方法比其他两种方法实现了更好的复杂性降低。HEVC 帧间的复杂性降低是以 RD 性能损失为代价的。在这里,文章比较了和其他两种方法在 BD-BR 和 BD-PSNR 方面的 RD 性能,其中原始 HM 作为锚点。本文的方法在 RD 性能方面在三种方法中表现最好。
在帧间 CU 划分中,本文评估了在 LDP 配置下使用 HEVC 压缩 18 个测试序列时 ETH-LSTM 预测的 CU 划分的精度。实验结果表明,模式间CU划分在三个层次上的平均准确率分别为93.89%、88.01%和80.91%,且帧间间 CU 划分的准确率高于帧内 CU 划分的准确率。本文的方法与帧间 CU 划分预测 [8]、[7](Fast HEVC encoding decisions using data mining) 和 [10](Content-adaptive feature-based CU size prediction for fast low-delay video encoding in HEVC) 的最新方法进行了比较。本文的方法能够在不同 QP 和分辨率下对大多数序列比其他三种方法降低复杂性更强,且比其他方法更稳健。在所有四种方法中,本文的方法在 RD 方面表现最好。这主要归因于 ETH-LSTM 预测的 CU 划分的高精度。
结论
在本文中,提出了一种深度学习方法来降低 HEVC 帧内和帧间的编码复杂性,该方法学习预测最佳 CU 划分而不是使用传统的暴力 RDO 搜索。为了深化深度学习方法的网络,建立了 CPH-Intra 和 CPH-Inter 数据库,分别由 HEVC 帧内和帧间的 CU 划分的大规模数据组成。然后,提出了两种深度学习架构,即 ETH-CNN 和 ETH-LSTM 来预测 CU 分区,以降低 HEVC 帧内和帧间的编码复杂性。这些架构的输出是 HCPM,它分层表示 CTU 中的 CU 划分。在 ETH-CNN 和 ETH-LSTM 中引入了提前终止机制以节省计算时间。实验结果表明,我们的深度学习方法在降低复杂度和 RD 性能方面比其他最先进的方法表现得更好。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。