A Review of Fast Decision Algorithms for CU Partitioning Patterns for VVC Standard
Video coding is a fundamental technology for digital video transmission and storage. With the rapid growth of mobile Internet and video streaming, video coding faces increasing challenges. Versatile Video Coding (VVC) represents the new generation of video coding standards, aiming to provide higher compression efficiency to meet the rising demands of video transmission and storage. A critical step in VVC coding is the Coding Unit (CU) partitioning, which involves partitioning the video frame into differently sized chunks for various coding and processing operations. The development of a fast and accurate CU partitioning algorithm is pivotal in enhancing coding efficiency. In this paper, we review fast CU partitioning algorithms for the VVC standard, categorizing them into two groups: algorithms based on Machine Learning (ML) and other algorithms. We also discuss their respective advantages and disadvantages. In conclusion, we provide a brief summary and future prospect for CU fast partitioning algorithms.
Video Coding
视频在时代的发展中成为了大众媒体、生活娱乐所必要的传播媒介。无论是短视频平台,还是影视剧亦或者是电影院线等,都在追求更高清的画质。然而,现如今常见的相对完善的高效视频编码(High Efficient Video Coding, HEVC)标准主要面向高清(720P、1080I、1080P)视频编码,无法满足当前超高清、高动态范围、360˚视频、VR等新兴视频编码的要求
VVC中采用了大量先进的视频编码技术,如CU划分的四叉树嵌套多类型树(Quad-Tree Plus Multi-type Tree, QTMT)结构、更精细的粒度角预测、多参考线和自适应运动矢量分辨率等
在同样条件下编码同一视频,与HEVC相比,VVC的压缩效率提高了50%,在节省传输流量的同时,还能保证视频的质量。但VVC的编码复杂度是HEVC的10倍,解码复杂度是HEVC的两倍,使VVC在现实应用中难以普及。4K、8K及更高分辨率的视频的推广以及多通道视频的兴起,手机等移动设备上实时视频聊天的广泛应用,都离不开大量的视频数据,同时也需要更加快速、高效的视频编解码器。研究发现,VVC标准中的CU划分模式的决策过程耗费了近99%的编码时间
本文归纳了多种CU划分算法,主要分为机器学习(Machine Learning, ML)下的算法和其他模式下的算法两个部分,ML下的算法分别基于卷积神经网络(Convolutional Neural Network, CNN)、支持向量机(Support Vector Machine, SVM)、决策树(Decision Tree, DT)、时序预测模型和深度强化学习进行CU划分。其他模式下的算法基于跨块差分、梯度和纹理以及解码器进行CU划分。从算法的基本原理、分类方法进行客观的分析,最后总结CU划分算法的目前挑战和对未来发展的展望。
图1. 基于QTMT的六种划分模式
基于卷积网络的CU划分算法中含有CNN以及轻量级卷积神经网络(lightweight Convolutional Neural Network, lightweight CNN)和全局卷积网络(Global Convolutional Network, GCN),目前这些方法可以进行快速CU划分,但是在算法的性能、不同模型的兼容性等方面还有提升空间,希望未来可以进一步完善升级。以下是关于卷积网络的CU划分算法。
特征分析法基于像素的方差,CU中的像素方差可以用于测量纹理复杂度,因此利用像素方差来分别确定MTT划分。为了减少繁重的计算和避免小区域变化的影响,利用了特征图转换,将每个32 × 32大小的CU划分为16个8 × 8大小的像素块,每个8 × 8大小的方差被作为一个新单位,称作特征图,特征图转换将大多数32 × 32大小的CU都能在编码增益损失小的情况下被分类。
DL应用了CNN进行分类。CNN用于确定那些未被分类的MTT划分。接着使用了监督学习的算法,将两类图像数据(变换的基础大小或者目标变换的基础大小)用CNN标注,并且经过一定的CNN模型训练,得出了先用变换块图像训练神经网络模型,其次用TT图像数据更新训练好的神经网络模型。CNN对32 × 32大小的CU的MTT划分进行水平或者垂直划分分类。
此算法的好处在于利用了现有算法的优势,同时用一种新颖的算法将它们结合在一起,缩短了VVC内部编码的时间,同时保持了视频编码质量。不过仍然需要提高CNN的性能,包括分类的准确性以及VTM的兼容性和模型的数量。
Li等
预决策算法是利用基于纹理复杂度的算法来判断大尺寸的CU能否划分。根据MTT划分的非对称性改进了CNN模型,提高了模型提取非对称性的能力。在设计过程中使用了对称卷积核和非对称卷积核来提取不同方向的特征。并且在损失函数的部分,使用交叉熵函数训练CNN模型,为了提高模型准确度。最后通过候选列表中设置适当的阈值,可以减少编码时间,保持高质量视频的同时,提高了编码效率。此模型用于预测划分模式的概率,可有效降低编码复杂度。首先得到需要输入CNN的CU,通过不同卷积层提取CU特征,并将提取的特征拼接成为特征向量,通过不同的连接层,最后输出一个1 × n (n的大小为CU划分模式数)的预判定概率向量。通过产生相应模式的概率,构成候选列表。为了提高模型准确性,需要更新列表,即通过对列表进行排序,然后根据阈值决定列表中的最佳划分模式。
与CNN相比,预决策算法不需要构建网络,也不需要经过大量数据训练,节省了大量时间。在对不同分辨率的标准视频序列进行编码时,发现VVC采用的新编码结构方式能够适应不同的视频序列。此算法适应性更强,速度明显更快,比传统的VVC算法节省更多的编码时间。但是此算法在高QP条件下无法保持高质量的视频画面。
基于lightweight CNN的算法
文中提出了一种基于lightweight CNN的快速CU内部划分算法,跳过一些划分模式的检查,降低编码的复杂度。使用两个二元分类器进行预测选择模式。首先提出了基于lightweight CNN的多种划分网络架构,如
此算法在编码效率和节省时间之间实现了很好的折衷,并且优于许多先进的算法。虽然算法可以有效地加速VVC编码,但是它消耗了一定的时间开销。不过虽然划分或NS和水平划分或垂直划分分类器准确率比较高,还是会有一些分类误差存在。
通过使用具有大核尺寸卷积、GCN模块,捕捉CU中的全局信息,从而使得在QTMT中更加精准地预测划分模式
首先在VVC帧内模式中使用此算法进行CU划分。由于所提出的基于GCN模式的网络首先应用于64 × 64的CU,所以将一个128 × 128的CTU分为4个64 × 64的CU。将CU输入网络内预测划分模式为NS模式或QT划分模式。在排除QTMT编码结构中冗余的CU划分模式后,只计算其他划分率失真成本(RD cost),最后选择最小的RD cost模式作为最优模式,如此降低了VVC的及计算复杂度。
基于GCN的模式网络结构(见
实验结果表明,当在加速模式内VVC的CU划分过程,此网络中的特征提取模块和GCN模块都能保持良好的编码性能。在预设为慢速和中速时,所提出的算法优于最先进的快速CU划分算法和原始VVC。并且此算法可以根据用户的偏好,以不同的策略实现编码性能和计算复杂度之间的权衡。此算法能在可容忍编码性能下降的情况下大大降低计算复杂。在复杂性和性能权衡方面,优于其他最先进的算法。但是这种基于GCN模式内VVC快速CU划分算法仅适用于CU亮度通道。
多特征引导的快速CU划分和拉普拉斯引导的快速模式选择
首先特征提取,使用更多的特征会带来更好的编码性能,但是同时也会加大编码的时间。因此,要手动选择一系列的特征,并且采用衡量分类模型性能的综合指标(可独立计算每个特征对于分类的影响)来评估每个特征对于分类的用处。其次对于文中的整体快速CU划分算法流程如
实验结果表明,所提出的算法明显优于现有算法,很大程度上缩短了编码时间。日后将进一步研究如何将所提出的模型与神经模型相结合,以获得更好的性能。
Zhang等
Li等
探索基于时间相关性的快速四叉树决策法,提前终止QTMT划分。根据CU的位置,来判断编码帧相对应位置的最佳CU划分信息。然后,根据时间CU划分信息建立时间预测模型,预测当前CU划分。最后,进一步提取CU的运动矢量差来减少时间预测模型的累积误差,以确定QTMT划分是否可以提前终止。与DL算法相比,提出的算法既不需要建立额外的大型数据集进行训练,也不需要额外的复杂训练来获取决策参数。但要注意这种基于时序预测模型的算法
使用两个具有计算特征的额外树(ExtraTrees, ET)模型。其中第一个模型确定是否提前终止划分和最佳划分方向,第二个模型在BT和TT划分模式之间选择更好的划分模式。这种ET算法是一种比较新的基于随机DT的ML算法,运用了随机森林中的原理,使用随机的特征子集中的最佳特征和相应的值来划分节点,并且训练每个基本估计器的功能。而且ET用整个训练数据集来训练每个回归树,所以它有优于随机森林的随机性。ET虽然减少了方差,增加了偏差,但不一定导致错误率的提升,所以ET的表现还是很好的。与其它的算法相比,Wang等
把用于划分的32 × 32 CU看作马尔可夫决策过程,将某一节点CU划分的情况看作状态,将划分模式决策当作行动,将RD cost的减少或增加看作直接奖惩,奖励即初始CU的RD cost与其子CU在各子CU级别上的RD cost之和的差额。如果这个差额是负值,那便成了惩罚。然后将编码器视为代理,依此对编码做出决策。深度强化学习把DL的感知能力和强化学习的决策能力结合在一起,就能够直接根据输入的图像进行控制。独立模块与CU划分算法相结合,实现了快速编码。与现有的大部分快速算法相比,深度强化学习的这种算法
基于跨块差分的VVC编码快速CU划分算法是为了降低VVC在实现了比HEVC更高的Rate Distortion性能后更高的复杂性。根据CU划分中采用的QTMT结构使块划分更加灵活和更具有内容自适应
方法 |
节省编码时间百分比 |
BDBR增加百分比 |
Fang等
|
28.94% |
0.83% |
Li等
|
55.90% |
1.79% |
Xu等
|
62.33% |
Bitrate提高2.36% |
Zhang等
|
61.15% |
1.52% |
Ding等
|
54.84%/40.39% |
1.74%/1.33% |
Zhang等
|
53.92% |
1.74% |
Li等
|
10.0% |
0.91% |
Li等
|
23.19% |
0.97% |
Wang等
|
34.68%~46.70% |
0.81%~1.65% |
Zhao等
|
CTR提高了约54.38% |
BDBR可忽略不计 |
性,能加快CU划分的确定,能大大降低VVC复杂性。总结之前人们提出的基于学习和非基于学习的算法来实现VVC内编码的快速CU划分,得出可以利用块方差和梯度来加速矩形划分。
基于QTMT的划分中有六种划分模式,分别是BTH、BTV、TTH、TTV、QT划分和NS。为了通过跳过子块之间的水平和垂直划分的差异来实现快速模式确定,Liu等
(1)
如
(2)
(3)
当前编码块被QT划分为4个子CU (CU1, CU2, CU3, CU4),CU的相似度如
MGSSIM表示当前CU的四个子CU的平均相似度,当相似度值小于某个阈值(设为TH1)时,即四个子CU之间的差异相对较大,划分为QT效果更好,编码时跳过当前CU的递归遍历,直接进入四个子CU的递归遍历。当相似度值大于某个阈值(设为TH2)时,四个子单元极其相似。不进行划分编码,编码效果会更好。内部预测模式直接通过当前CU的大小。编码时,当前CU的递归遍历结束。
上述算法所使用的两个阈值,即TH1和TH2,都与QP有关。阈值(4)和(5)的定义如下:
(4)
(5)
其中,α和β为可调参数。
除此之外,相似度介于阈值TH1和TH2之间时,利用垂直方向和水平方向的标准差来进一步减少划分模式。根据不同方向上的当前编码块的标准偏差来确定CU的纹理方向。如果垂直方向的标准差大于水平方向的标准差,则说明CU的纹理特征主要是在水平方向上。当前的CU可以跳过后续的垂直划分,包括BTV和TTV。相反,当前的CU可以跳过后续的BTH和TTH。该算法具有良好的编码性能,并且BDBR上升较小。另外,在图像细节的提取方面具有良好的性能。需要根据编码块的纹理方向进行判断,并且阈值的选取也影响算法的结果。
(6)
在使用二进制划分执行CU之前,利用两个子CU的平均绝对偏差的差值来分析纹理特征。此时发现固定的阈值无法适应特定配置下的不同编码内容,增加一个阈值计算(7):
(7)
两个算法均实现了编码速度的提高,纹理复杂度更低。但快速四叉树决策法如果不能在计算复杂度和编码性能之间做出权衡,选定合适的阈值,这会导致算法预测误差增加,编码性能下降。快速四叉树决策法难以提前跳过某些QT,节省的时间较少。使用快速多类型树决策法编码时要注意CU所用的区块编码,用多个区块编码的CU的纹理复杂度相对较高,需要更多的编码,导致RD cost会更高。
QTMT的CU决策是一个主要特征。Wei等
Wei等
表2. 其他CU划分算法编码效率比较
方法 |
节省编码时间百分比 |
BDBR增加百分比 |
Liu等
|
41.64% |
BD率仅增加了0.97% |
Jing等
|
49.32% |
1.38% |
Shang等
|
51.89% |
1.42% |
Wei等
|
10.0% |
1.81% |
视频编码作为数字视频传输和储存的核心之一,对未来的视频的技术和发展有着重大意义
总而言之,CU划分模式快速决策算法尚未落地应用,其符合未来较高的处理效率和编码质量需求,同时也面临着数据量大、CNN的处理复杂度高、划分精度和效率的平衡以及边界处理等多方面的挑战,仍有极大的发展空间
由于对视频编码的需求不断提升,传统的算法已经不能够满足当前的需求。随着快速CU划分技术的发展,越来越多的算法技术被提出,这同时也意味着视频编码将面临更严峻的技术挑战
1) 实时性能:VVC标准对于视频编码的要求更高,因此快速CU划分算法需要在实时性能方面做到高效处理。这意味着算法需要在有限的时间内完成复杂的计算任务,以确保视频编码的流畅性和时效性。对于任何一个编码系统,质量和速度的平衡始终是一个核心的挑战。减少编码时间的算法优化可能会降低编码质量,如何适当平衡这两者,以实现快速且高质量的CU划分,是一个关键问题。
2) 空间复杂度:VVC用于处理高清甚至是超高清视频的编码,处理的数据量巨大,复杂度高,算法需要在有限的时间和空间范围内,完成大量的运算任务和信息存储,挑战性极大
3) 边界处理:由于CNN的介入,边界处理成了一个新的挑战。在快速CU划分算法中,如何快速且准确地处理边界区域,避免边界区域的编码错误,是一个重要的研究内容。
4) 复杂度控制:VVC标准提供了多种CU划分模式,如QT划分和BT划分等。快速CU划分算法需要能够根据复杂度要求进行适当的划分选择。这可能需要对划分模式进行评估和优化,以找到最佳的划分策略。
5) 可适应性:VVC标准允许进行多种编码配置和参数调整,以满足不同应用场景的需求。快速CU划分算法需要具备良好的适应性,以便在不同配置和参数设置下依然能够保持高效性能。
总的来说,快速CU划分算法需要较高的处理效率和编码质量,但同时也面临着数据量大、CNN的处理复杂度高、划分精度和效率的平衡以及边界处理等多方面的挑战。
基于当下对视频编码的需求,面向VVC标准的快速CU划分算法是未来视频编码和传输的重要技术方向,以下是对其前景的展望。
1) 视频编码的快速和高效:不论是时下热点的ML,还是其他的跨块差分或基于梯度和纹理的CU划分法,都以提高编码效率为方向,简化或者跳过不必要的步骤,同时确保视频质量不受到影响。进一步提高VVC的编码效率和质量,便于日常生活的应用。
2) 优化方式多元化:卷积网络、神经网络的方式可以进行CU划分算法,跨块差分、基于纹理梯度也可以对CU算法进行划分。就此看来,VVC编码优化方式是多元化的,未来新的算法也可以加速VVC标准的快速CU划分。这证明这一版块还有巨大的空间给研究者们探索。
3) 改善视频传输压力:VVC编解码器与HEVC相比能缩减视频数据50%大小。在5G时代下,这意味着更加高速地传输,能为观看视频的用户带来更好的体验感。
4) 拓宽应用领域:面向VVC标准的快速CU划分算法技术将在更多的领域得到应用,例如远程医疗、远程教育、通信技术、VR应用等。需要研究者取得更多突破性进展,这是新的挑战,也是新的机遇。
综上所述,面向VVC标准的快速CU划分算法技术有着广阔的前景。视频编码更快速高效、多元化的CU划分算法、5G时代下更轻的视频传输压力、更加广泛的应用领域,这些都能为用户提供更好的体验,也是研究者继续努力的方向。这项技术在未来必定会为生活、为社会、为世界创造更好的条件。
国家级大学生创新创业训练计划项目(项目编号:202310876025)。