帧间快速算法论文阅读

Low complexity inter coding scheme for Versatile Video Coding (VVC)

通过分析相邻CU的编码区域,预测当前CU的编码区域,以终止不必要的分割模式。

image-20231103193258574

𝐶𝑈1、𝐶𝑈2、𝐶𝑈3、𝐶𝑈4 表示当前CU(CU0) 的相邻CU。根据空间相关性,当前CU的面积预测为

image-20231103193735697

w i w_i wi的值分别为0.3,0.2,0.3,0.2 。(考虑到水平方向和垂直方向的相关性大于对角线方向的相关性)

当预测面积高于当前CU一定程度时,说明当前CU足够小,可以提前停止分裂。反之,如果预测面积较小,则该CU可以分裂为4个子CU。公式如下:

image-20231103194110553

参数𝑚、𝑛分别设置为4和1/8。

值为1时,确定当前CU在QT结构下分裂为4个子CU

进一步利用在预测过程中生成的时间最优编码模式来缩小候选模式以加速编码过程。

在编码过程中,BT_H和BT_V先于TT_H和TT_V执行。如果选择BT_H作为二叉树结构下的最优模式,则意味着当前CU可以通过水平分裂获得更好的编码性能,所以不需要执行TT_V。

利用相邻预测模式的分布来测量当前CU的运动复杂度,基于此可以提前跳过不必要的预测模式。

在VVC帧间编码中,有五种预测模式:SKIP、inter、affine、merge_geo和intra。对于SKIP模式,没有残差和运动矢量被传输到解码器侧,这意味着当前CU的纹理和运动特征是简单的。同时,如果CU采用帧内模式编码,则表明CU的运动特征比较复杂,运动估计对于CU来说是无效的。一般来说,不同的模式对应不同的内容,具有不同的运动信息。

image-20231103194445379

image-20231103194623452

image-20231103194633935

𝑇ℎ1和𝑇ℎ2分别设置为0.5和1

算法流程图:

image-20231103195045665

实验结果:

image-20231103195547399

节省 40.08% 的时间,BDPSNR 降低 0.07 dB,BDBR 提高 1.56%。

“FoodMarket4”的时间节省最多为 48.19%,而“RaceHorses”的时间节省最少为 35.95%。

由于“FoodMarket4”中的运动复杂度相对低于“Racehorses”中的运动复杂度,因此“FoodMarket4”中节省了更多时间,并且具有更好的编码性能。

高分辨率的序列比低分辨率的序列可以节省更多的时间。例如,分辨率为 3840 × 2160 的 A1 序列可节省 45.96% 的时间,而分辨率为 416 × 240 的 D 序列可节省 36.25% 的时间。

原因是高分辨率的序列提供了更多的细节,这表明编码内容的空间相关性很高。

复杂度低??分辨率??

CNN-based Prediction of Partition Path for VVC Fast Inter Partitioning Using Motion Fields

我们提出了一种基于卷积神经网络(CNN)的方法来加速 VVC 中的内部划分过程。首先,引入了从分区路径导出的具有嵌套多类型树(QTMT)分区的四叉树的新颖表示。其次,我们开发了一个基于 U-Net 的 CNN,将多尺度运动矢量场作为编码树单元(CTU)级别的输入。 CNN 推理的目的是预测率失真优化 (RDO) 过程中的最佳划分路径。为了实现这一目标,我们将 CTU 划分为网格,并预测网格每个单元的四元树 (QT) 深度和多类型树 (MT) 分割决策。第三,引入了一种有效的分区剪枝算法,以在每个分区级别使用 CNN 预测来跳过不必要的分区路径的 RDO 评估。最后,设计了一种自适应阈值选择方案,使复杂性和效率之间的权衡具有可扩展性。实验表明,该方法在RandomAccess Group Of Picture 32(RAGOP32)配置下可以实现16.5%至60.2%的加速,而就BD速率而言,效率下降了0.44%至4.59%,超越了其他状态最先进的解决方案。此外,我们的方法是该领域最轻的方法之一,这确保了它对其他编码器的适用性。

BD速率下降??

我们提出了一种新颖的基于分区路径的 CTU 级别 QTMT 分区表示,作为 QT 深度图加上三个 MT 分区图,很好地适应了 VVC 中复杂的分区方案。

在 QTMT 分区内,需要注意的是,MT 分割的子节点禁止 QT 分割。因此,VVC 中最优分割路径的搜索可以被概念化为一个连续的两步决策过程,包括一系列 QT 分割和随后的一系列 MT 分割

MT 分割的子节点禁止 QT 分割

考虑到VTM中QT分割和MT分割的最大数量通常设置为4和3,任何分区都可以通过一个QT深度图(即QTdepthMap)和三个MT分割图(即MTsplitMap)依次有效地描述。 QTdepthMap 和 MTsplitMap 中的每个元素对应于 8x8 和 4x4 区域,该区域与 VTM 中 QT 分割和 MT 分割的最小子 CU 的尺寸对齐

image-20231105094345917

image-20231105095441873

所以训练网络的目的就是为了得到QTdepthMap和3个 MTsplitMap。 MTsplitMap 的每个元素被分为五个类,对应于五种分割类型,从而产生三个尺寸为 32x32x5 的 MT 输出。

我们设计了一个基于 U-Net 的 CNN 模型,以运动向量的多尺度场作为输入,以有效预测 QT 深度图以及不同 MT 级别的分割决策

image-20231105095730674

image-20231105100544499

由于每个级别的分割取决于先前的分割,因此我们采用分层多分支预测机制。 QTdepthMap是在通过四个卷积层从U-Net提取的特征后进行预测的。对于 MT 分支,模块的两个输入是 U-Net 提取的特征和先前分区级别的输出。

MT分支模块包含内核大小MxN、LxL和NxM的分支。 (M,N,L)的值对于分支MT0设置为(5,7,9),对于分支MT1设置为(3,5,7),对于分支MT2设置为(1,3,3)。在更深的 MT 级别上,会在较小的 CU 上进行拆分。因此,应用较小的内核尺寸来提取更精细的特征。

Multi-Scale Motion Vector Field

In this paper, we have introduced a CNN model based on a novel input feature called MS-MVF.Our MS-MVF at five scales is presented as Input 3-7 in Figure 8. To compute MS- MVF, we divide the 128x128 CTU into multiple scale sub- blocks ranging from 4x4 pixels to 64x64 pixels, and perform motion estimation on these sub-blocks.Each motion vector of sub-block comprises a vertical and horizontal motion value, along with the associated Sum of Absolute Differences (SAD) cost value as the third element.By concatenating elements pointing to reference frame of L0 with those of L1, each sub- block corresponds to 6 elements in the motion vector field.For example, the motion vector field input for 8x8-pixel scale has dimensions of 16x16x6

在本文中,我们介绍了一种基于称为 MS-MVF 的新颖输入特征的 CNN 模型。我们在五个尺度上的 MS-MVF 显示为图 8 中的输入 3-7。为了计算 MS-MVF,我们将 128x128 CTU 划分为从 4x4 像素到 64x64 像素的多个尺度子块,并对这些子块执行运动估计- 块。子块的每个运动向量包括垂直和水平运动值,以及作为第三元素的相关绝对差和(SAD)成本值。通过将指向L0的参考帧的元素与L1的参考帧的元素连接起来,每个子块对应于运动矢量场中的6个元素。例如,8x8 像素尺度的运动矢量场输入的尺寸为 16x16x6

4到64,所以有5个输入

分区间预测的一个重大挑战是大运动搜索空间,它跨越 RAGOP32 配置中不同参考帧的多达 6 个 384x384 像素区域。**最先进的方法通常采用来自参考帧的运动场或像素作为机器学习模型的输入特征。**值得注意的是,在[19]和[21]中,使用的一个关键特征是运动场,它包括为每个 4x4 子块计算的运动向量,引用最近的帧。如[19]中所述,这个运动场与最佳分区密切相关。在另一种方法中,Tissier 等人在 [15] 中选择在最近的帧中利用两个参考 CTU

选择使用 MS-MVF 作为 CNN 输入而不是运动场和参考像素是基于以下原因。首先,MS-MVF 包含当前 CTU 的关键运动信息,这对于帧间预测和帧间分区都至关重要。与使用参考像素作为 CNN 输入相比,CNN 模型可以更有效地解释此信息。其次,MS-MVF 的多尺度性质与 U-Net 的多级结构非常吻合,并且可以有效地利用这种结构。本质上,MS-MVF 表示不同分辨率下的运动特征,允许与相同分辨率尺度下从 CTU 像素提取的特征相结合

为了证明 MS-MVF 输入的有效性,我们进行了一项涉及两个 CNN 模型训练的实验。这些模型之间的唯一区别在于它们的输入:第一个模型 PIX-CNN 将两个参考 CTU 的像素作为输入,而第二个模型 MVF-CNN 使用我们提出的 MS-MVF 作为输入。两个模型共享与图 7 相同的架构。训练数据集包含从 [33] 的 200 个序列的 RAGOP32 编码中随机选择的 250k 个样本,分辨率为 540p。图 9 中的性能评估基于通用测试条件 (CTC) 的 C 类序列。结果一致表明,MVF-CNN 在所有四个数据点上均优于 PIX-CNN,这证明了使用 MS-MVF 输入相对于像素输入的优势

image-20231104140657179

CNN 预测的后处理,权衡速度和编码损失

image-20231105103315091

我们引入两个参数Thm和QTskip来调节加速损失权衡。具体来说,Thm是分裂概率的阈值。QTskip代表我们是否应该加速RDO QT 分割与否。增加 Thm 值并将 QTskip 设置为 true 将导致更大的加速,但代价是增加编码损失

第一步怎么算呢

在图10的流程图中,如果算法1执行后SkipMT为真,我们直接检查CandSplit。在这种情况下,编码器对CU进行RDO,并用QT分割CU,因为CandSplit仅包含NS和QT。如果 SkipMT 为 false,那么我们将验证 NS 是否是 CandList 中的唯一选择。如果是这种情况,我们会将概率最高的 MT 分割添加到列表中。接下来,如果由于CU形状或快捷方式而不允许QT拆分CU,我们直接进行CandSplit的检查。如果QT拆分可行,我们参考QTskip来决定是否将QT添加到CandList中。将 QTskip 设置为 true 表示我们将始终检查 QT(如果可能)。这是为了纠正预测 QTdepthpred 值小于实际地面实况值的潜在错误。然而,这是以牺牲一些加速度为代价的。最后,我们在 CU 上执行 RDO,并按 CandSplit 列表中的 split 类型对其进行分区。然后对下一个 CU 重复分区搜索,并重新应用上述算法。

这里在MT划分后又加了QT划分,那前面的那个MT后不进行QT是什么意思

A.预测精度评估

在CU层面,我们的算法可以分为两个决策:SkipMT的决策和CandSplit列表的决策。为了评估基于模型输出的决策精度,我们执行了编码,收集了真实数据划分和 CNN 输出。分析是在所有 CTC 序列的前 64 帧上进行的,不包括具有 QP 22、27、32、37 的 D 类。表 II 和图 12 中呈现的这些决策的准确性是通过对四个 QP 和各种测试序列进行平均来计算的。

image-20231105132836126

正确肯定(True Positive,TP)︰预测为真,实际为真

正确否定(True Negative,TN)︰预测为假,实际为假

错误肯定(False Positive,FP)︰预测为真,实际为假

错误否定(False Negative,FN)︰预测为假,实际为真

  • 正确率 —— 提取出的正确信息条数 / 提取出的信息条数
  • 召回率 —— 提取出的正确信息条数 / 样本中的信息条数

如果当前CU需要进一步分割QT并且SkipMT等于False,则SkipMT的这个决策被分类为假阴性(FN)

TP:skipMT等于true,CU需要进一步分割QT

TN:skipMT等于false,CU不需要进一步分割QT

FP:skipMT等于false,CU需要进一步分割QT

image-20231105133818610

image-20231105133824430

image-20231105141648790

一般来说,我们的模型在 QT 深度范围从 0 到 2 时表现出很强的性能,如表 II 所示。随着 QT 深度的增加,精度和 F1 分数都会降低。在 QT 深度 3 处,精度和 F1 分数分别下降至 25% 和 40%,这表明该级别的 SkipMT 决策不太可靠。这些观察结果可以用两个原因来解释

首先,决策规模随着 QT 深度的增加而减小。更明确地说,QT 深度 0 处的 SkipMT 决策是通过计算 QTdepthMap 中 256 个值的平均值在 CTU 尺度上做出的。然而,QT 深度 3 的决策仅依赖于 16x16 CU 内 QTdepthMap 的 4 个值。因此,较小尺度的决策对错误预测的 QT深度映射值的弹性较差,导致较高 QT 深度的总体精度较低

其次,较高 QT 深度的决策明显比较低 QT 深度的决策更不平衡。 QT 深度为 3 时,真实情况的正例仅占 0.02%,而 QT 深度为 0 时,正例的比例为 49.65%。总之,模型的训练方式使其在 QT 较大时倾向于做出负面的 SkipMT 决策深处。这解释了随着 QT 深度增加而精度下降的原因。

值得注意的是,加速水平可能会根据不同的序列类别(例如分辨率)而变化,这与其他基于 CNN 的方法是一致的。正如[6]中所讨论的,超出图片边界的CTU被称为部分CTU。与常规 CTU 相比,这些部分 CTU 需要不同的分区搜索方案。因此,部分 CTU 的编码不会加速,因为基于 CNN 的方法不适用于它们。一般来说,对于较低的分辨率,部分CTU占据的帧区域的比例较大,导致在较小的分辨率上使用快速分区方法时加速较小。这可以部分解释在 D 类中观察到的有限加速度,该加速度被排除在整体性能计算之外。更具体地说,我们的方法往往在较高分辨率(例如 A 类和 B 类)上表现更好,而在较低分辨率(例如 C 类、D 类和 E 类)上比最先进的方法获得的加速更少。研究和改进这方面可能是未来工作的重点。

image-20231105143957103

VIII. CONCLUSION

In this study, we propose a machine learning-based method to accelerate VVC inter partitioning.Our method leverages a novel representation of the QTMT partition structure based on partition path, consisting of QTdepthMap and MTsplitMaps.Our work is structured as follows.Firstly, we have built a large scale inter partition dataset.Secondly, a novel Unet- based model that takes MS-MVF as input is trained to predict the partition paths of CTU.Thirdly, we develop a scalable acceleration algorithm based on thresholds to utilize the output of the model.Finally, we speed up the VTM10 encoder under RAGOP32 configuration by 16.5%∼60.2% with BD-rate loss of 0.44%∼4.59%.This performance surpasses state-of-the- art methods in terms of coding efficiency and complexity trade-off.Notably, our method is among the most lightweight methods in the field, making it possible to adapt our approach to faster codecs.

在本研究中,我们提出了一种基于机器学习的方法来加速 VVC 间分区。我们的方法利用基于分区路径的 QTMT 分区结构的新颖表示,由 QTdepthMap 和 MTsplitMap 组成。我们的工作结构如下。首先,我们建立了一个大规模的分区间数据集。其次,训练一种以 MS-MVF 作为输入的基于 Unet 的新型模型来预测 CTU 的分区路径。第三,我们开发了一种基于阈值的可扩展加速算法来利用模型的输出。最后,我们将 RAGOP32 配置下的 VTM10 编码器加速了 16.5%∼60.2%,BD 速率损失为 0.44%∼4.59%。在编码效率和复杂性权衡方面,这种性能超越了最先进的方法。值得注意的是,我们的方法是该领域最轻量级的方法之一,使得我们的方法能够适应更快的编解码器。

For future work, we intend to investigate how video resolution influences partitioning acceleration, aiming to boost the speed-up of our method on lower resolutions.Furthermore, there is still acceleration potential lying in the selection of inter coding modes at the CU level, as discussed in [44].An extension of our approach could be the incorporation of fast inter coding mode selection algorithm into our method to further accelerate the inter coding process.

对于未来的工作,我们打算研究视频分辨率如何影响分区加速,旨在提高我们的方法在较低分辨率下的速度。此外,如[44]中所讨论的,CU级别帧间编码模式的选择仍然存在加速潜力。我们的方法的扩展可以是将快速帧间编码模式选择算法合并到我们的方法中,以进一步加速帧间编码过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/162094.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 排序,分组,Limit的优化策略

目录 1. MySQL 中的两种排序方式 2. 排序优化策略 2.1 对排序字段添加索引 2.2 可以和WHERT字段创建联合索引 2.3 优化 FilerSort 排序方式 3. 分组优化策略 3.1 能WHERE不HAVING 3.2 减少ORDER BY,GROUP BY,DISTINCT 3.3 遵照最左前缀法则 4.…

FPGA的元素组件

注意:关于FPGA的元素这一块儿内容,稍有出入。例如:吉姆莱丁 著,陈会翔 译,由清华大学出版社出版的《构建高性能嵌入式系统》中提到:FPGA通常由查找表、触发器、块RAM、DSP切片、及其他功能元件等元素组成。…

民宿酒店服务预约小程序的作用

民宿往往是旅游者们前往某个城市感受风情常住的地方,也因此在景区或特定地方,总是不乏大小民宿品牌,但除了市场高需求外,商家们所遇的痛点也不少: 1、获客引流难 民宿生意虽然需求量高,但各家品牌众多&am…

c++11中的线程库和包装器

c11 1. 线程库1.1 线程库1.2 锁mutex 2. 包装器2.1 funciton2.2 bind 1. 线程库 1.1 线程库 C11中的线程库提供了一种方便的方式来创建和管理线程。其中,std::thread是一个重要的类,它允许我们创建新线程并控制它们的执行。以下是std::thread的一些重要…

畜牧知识展示宣传小程序的作用是什么

养殖畜牧商家众多,无论企业还是个人都需要科学养殖,对个人商家来说,科学方法或经验很难获取,网上搜索也是五花八门,更没有合适的咨询渠道,而对农场或专业技术公司来说,也需要知识传播取得进一步…

辐射骚扰整改思路及方法:辐射超标与问题定位 ?

某产品首次EMC测试时,辐射、静电、浪涌均失败。本篇文章就“辐射超标与问题定位”问题进行详细讨论。 一、辐射超标 50MHz 、100MHz 、130MHz 、200MHz,4个频点明显超标,其中130MHz 左右最明显,超出 19dB;后将电路板…

电脑怎么恢复删除的文件?恢复文件必备3个方法分享!

“由于我经常需要处理大量的文件,我在电脑里建了一个文件夹放比较重要的文件,但不知道由于我误操作还是什么原因,文件夹里的部分文件消失了,我现在很是烦恼,有什么方法可以帮我恢复删除的文件吗?” 处理电脑…

使用vscode开发uniapp项目常用的辅助插件,提升开发效率

为什么不使用hbuilder开发呢?因为hbuilder对ts和vue3语法支持并不友好,而且代码提示不智能,也不能使用最近很流行的coplit和CodeGeex智能提示,所以就换掉hbulider,使用我们熟悉的vscode开发吧。 第一个:un…

【m98】abseil-cpp的cmake构建

m79的代码有些头文件没有,比如#include "absl/numeric/bits.h"使用m98版本里的代码,支持cmake构建cmake版本 WIN32 DEBUG configure Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22621. The CXX compiler identification is MSVC 19.37.32…

Find My遥控器|苹果Find My技术与遥控器结合,智能防丢,全球定位

在日常生活中,遥控器是很重要的部分。使用遥控器去操作各种不同的设备,不仅可以省心和省力,同时还能有效增加效率。遥控器是一种无线发射装置,通过现代的数字编码技术,将按键信息进行编码,通过红外线二极管…

RLHF的替代算法之DPO原理解析:从Zephyr的DPO到Claude的RAILF

前言 本文的成就是一个点顺着一个点而来的,成文过程颇有意思 首先,如上文所说,我司正在做三大LLM项目,其中一个是论文审稿GPT第二版,在模型选型的时候,关注到了Mistral 7B(其背后的公司Mistral AI号称欧洲…

figma-如何批量修改字体

一.选择字体 二.批量替换 编辑—>替换相同字体