面向360°全景视频的帧内预测编码的快速算法

2024-07-20 00:00:00金雪松王田田
无线电工程 2024年5期

摘 要:为了节省360°全景视频的编码时间,对通用视频编码标准中的编码单元划分决策过程进行了研究,提出了一种面向360°全景视频的帧内预测编码的快速算法。通过优化编码树单元(Coding Tree Unit,CTU) 的编码深度范围和编码单元的划分模式的选择过程,减少编码时间。实验结果表明,在全帧内模式下,所提算法比原始算法平均可以节省34. 33% 的时间复杂度,同时带来的BDBR 平均增量仅为1. 665% ,BDPSNR 的平均降低量仅为0. 076 dB。

关键词:通用视频编码;360°全景视频;帧内编码;快速算法

中图分类号:TP751. 1 文献标志码:A 开放科学(资源服务)标识码(OSID):

文章编号:1003-3106(2024)05-1074-09

0 引言

在通信技术和数字技术的推动下,普通二维视频和标清视频已无法满足人们日益增长的视频需求,视频应用的多样性和高清化的趋势对视频编码性能提出了更高的要求[1]。为此,国际电信联盟电信标准化部门(International TelecommunicationUnion-Telecommunication Standardization Sector,ITU-T)与国际标准化组织(International Organization forStandardization,ISO)和国际电工委员会会(Interna-tional Electrotechnical Commission,IEC )合作,于2020 年7 月正式发布了最新的视频编码标准,即通用视频编码(H. 266 / VVC)标准[2],为已有和新兴的视频应用(如360°全景视频)提供更加强大的压缩性能及更加灵活易用的功能[3]。

360°全景视频是一种包含全方位视觉信息的球体视频,具有高帧率、高分辨率和高位深等特点[4],能够给人们带来更真实、更鲜活、更丰富的体验感,但与此同时,也使得视频数据量成倍增长,需要花费的编码时间大大增加,影响了360°全景视频在实时性场景中的应用[5]。此外,由于目前尚不支持对360°全景视频直接进行编码,需要将360°全景视频的球面图像投影成二维平面图像,然后利用传统的视频编码标准框架来完成剩余的编码工作[6]。因此,面向360°全景视频的快速编码算法需在视频编码标准的基础上进行研究。

Wang 等[7]在高效视频编码(H. 265 / HEVC)标准的基础上结合等矩形投影(Equi-Rectangular Projection,ERP)格式的视频特点,利用深度信息和空间相关性对最可能模式(Most Probable Mode,MPM)过程进行了优化,减少了帧内预测模式中候选模式的数量,并利用相邻预测单元(Prediction Unit,PU)的深度信息和绝对变换差之和(Sum of AbsoluteTransform Difference,SATD)的相关性,提出了一种对PU 提前跳过和终止划分的操作算法。Wang等[8]分析了ERP 格式的采样密度的特点,基于HEVC 标准提出去除一些大于编号18 的冗余角度模式,并扩展小于编号18 的角度模式,同时修改了最可能模式的推导方法,实现了针对ERP 格式视频的帧内角度模式的快速算法。Liu 等[9]基于HEVC标准对立方体投影格式下VR 360°视频编码的编码参数进行统计分析,提出了一种基于粗略模式决策(Rough Mode Decision,RMD)和MPM 之间的候选模式修剪方法。Lin 等[10]通过分析ERP 格式的纬度特性对HEVC 标准中的帧内模式决策的影响,考虑了帧内依赖关系和率失真模型,将全局复杂度分配到所有纬度区域的问题公式化,提出了一种基于纬度的帧内编码复杂度优化算法。Beling 等[11]利用ERP 格式的拉伸模型,提出在HEVC 标准的帧内编码树单元(Coding Tree Unit,CTU)划分过程中进行自适应地提前终止。Zhang 等[12]在HEVC 标准的基础上,根据ERP 过程中的像素坐标进行自适应修正量化参数补偿,并基于深度范围和空间相关性预测实现CU 划分的提前终止,以及采用prewitt 算子自适应模式选择算法来减少编码时间。Storch等[13]利用360°全景视频的空间特性,通过减少基于帧区域评估帧内预测模式的数量,提出一种自适应的编码帧区域的评估技术。

综上可知,面向360°全景视频提出的帧内预测编码的快速算法都基于HEVC 标准,目前针对360°全景视频基于最新一代的视频编码标准VVC 的研究正处于初始阶段。因此,借鉴前人工作,本文在VVC 标准的基础上,结合360°全景视频在ERP 格式映射过程中采样不均匀的特点,从CTU 编码深度和CU 划分模式两方面出发,提出面向360°全景视频的帧内预测编码的快速算法。

1 VVC 标准CU 划分模式

CU 划分模式是指对CU 进行分割的方式。根据不同类型的视频内容选择不同的划分模式可以提高视频的编码效率和预测精度。因此,为了满足高清、超高清等新兴视频的编码需求,VVC 标准不仅将CTU 尺寸扩展为128 × 128,还提供了更灵活的CU 划分模式[14]。

在VVC 标准中,共有6 种CU 划分模式,分别是四叉树(Quad Tree,QT)、水平二叉树(HorizontalBinary-tree,BH)、垂直二叉树(Vertical Binarytree,BV)、水平三叉树(Horizontal Ternary-tree,TH)、垂直三叉树(Vertical Ternary-tree,TV)和不划分。其中,BH和BV 统称为二叉树,是将一个CU 分成2 个大小相等的子CU;TH 和TV 统称为三叉树,是在水平或垂直方向产生3 个比例为1 ∶ 2 ∶ 1 的子CU[15],如图1 所示。

确定CTU 内部最优CU 划分模式的判别过程是递归过程,VVC 在递归划分CU 时需要依次计算采用不划分、QT 划分、PH 划分、BV 划分、TH 划分和TV 划分的率失真代价(Rate Distortion Cost,RD-cost),并选择RD-cost 最小的划分模式作为最优的划分方式。通过CU 划分模式判别,一帧视频图像会被划分为多个能够覆盖全帧且不重叠的CTU,并将每个CTU 作为根节点,再执行递归划分操作,得到多个CU。一个CTU 通过递归划分为多个CU 的示例如图2 所示,其中,图2 (a)展示了VVC 标准中某个大小为128 ×128 的CTU 在经历复杂的帧内预测和划分模式等过程后根据RD-cost 选出的最优划分结果;图2 (b)是对应于图2(a)的CU 划分结构的树形图,其中,黑线表示QT 划分,蓝色线表示BT 划分,黄色线表示TT划分。

2 提出的算法

该算法首先利用ERP 格式的采样特点、CTU 的纹理复杂度以及空间相关性,对编码深度范围进行优化,以实现CU 划分过程中的提前终止;然后,针对大小为32×32 的CU 利用纹理方向信息,优化CU的划分模式的选择过程,以进一步实现对CU 划分过程的简化操作。

2. 1 基于纬度的CTU 深度决策方法

360°全景视频在映射为ERP 格式的过程中,为了保证球面采样的等角特性,在不同纬度区域均采用了相同的采样点[16],造成360°全景视频在球面不同纬度区域存在不同程度的拉伸。这导致采用传统的视频编码方法对360°全景视频压缩效果并不理想,需要在传统视频编码的基础上,针对其特点进行编码优化。因此对ERP 格式的360°全景视频进行分析总结:越靠近两极,拉伸程度越重,采样率越高,且视频内容常为天空或大地,编码深度较小,编码块较大;越靠近赤道,拉伸程度越轻,采样率越低,且视频内容越丰富,编码深度较大,编码块较小;对于中间区域,情况较复杂,无法直接判定出编码块大小,但此区域的图像内容通常较为复杂,应兼顾深度较小和深度较大的情况。

基于上述分析,提出对ERP 格式的360°全景视频进行区域划分,通过CTU 所处区域判定其编码深度的范围。首先,将ERP 格式的整幅图像划分为3 个区域,分别是两极区域、赤道区域以及中间区域;然后,以CTU 的权重值作为判断当前CTU 所处区域的依据。

获取权重值的思想是以CTU 为基本单元,计算每一行像素的权重值,再将其求和并取平均,最终得到的值即为该CTU 的权重值。其中,每一行权重值wj 的计算方法如式(1)所示,j 为每个CTU 最左侧一列像素的纵坐标,H 为视频帧的高度;第i 个CTU 的权重值ωi 的计算方法如式(2)所示,CTUH为CTU 的高度。

通过大量实验得出ωi 取0. 4、0. 9 作为3 种区域的阈值时,可以在编码效率和编码质量之间取得较好的平衡,则CTU 所属区域如下:

式中:CTUi 表示第i 个CTU,POLE、MID、EQUA 分别表示CTU 所处的区域为两极区域、中间区域和赤道区域。

在VVC 标准中,CTU 默认的最大编码深度为6,最小为0。因此,将两极区域的编码深度设置为D1 = [0,4],中间区域的编码深度设置为D2 = [2,5],赤道区域的编码深度设置为D3 = [3,6]。由于每个CTU 必然会有一个区域与之相对应,因此将CTU 所属区域的编码深度区间作为当前CTU 的编码深度区间,则每个CTU 的深度DN1 可由式(4)确定:

2. 2 基于方差的CTU 深度决策方法

由于360°全景视频通常包含很多如天空、海平面或草地等形式的平坦区域,且经实验发现在平坦区域中判断纹理复杂度时采用方差法获得的结果较为准确,因此选用方差法计算每个CTU 的纹理复杂度。具体计算方法如下:

式中:var 为方差值,(i,j)为当前CTU 中的左上顶点像素的坐标值,CU_W 和CU_H 为最大CU 的宽度和高度。

根据每个视频的图像内容自适应地选择判断纹理复杂度的阈值,并根据视频序列的帧率进行更新阈值。将CTU 根据纹理复杂程度区分为3 类,分别为简单CTU、一般CTU 和复杂CTU。当CTU 的方差高于上阈值(Tt)时,可以判定该CTU 具有丰富的图像细节,可直接计算小尺寸CU 的RD-cost 值,而不考虑适用于简单纹理的大尺寸CU;当CTU 的方差值低于下阈值(Tl)时,判定该CTU 位于图像平滑区域,此时可以终止CTU 递归到更高的编码深度,跳过对划分结构复杂和编码深度较大的CU 进行RD-cost 值的计算。

具体算法是首先将视频序列分为原始算法帧和算法优化帧,间隔为当前视频的帧率值;然后,在原始算法帧中,按照VVC 标准的帧内预测的原始算法进行编码,并在编码完成后,计算所有CTU 的方差值以及存储各个CTU 内所有CU 的深度值;最后,在算法优化帧中,去除相同的方差值,并在计算上阈值时,将去重后的方差值按照从小到大的顺序进行排列,表示为[NPmin,NPmax ],而在计算下阈值时,将去重后的方差值按照从大到小的顺序进行排列,表示为[NPmax,NPmin]。

获取上阈值的方法是首先遍历[NPmin,NPmax ],以当前NP 作为上阈值,统计满足所有CTU 的方差值大于等于当前CTU 的方差值且当前CTU 内的CU深度大于2 的CU 个数,以及不满足的CU 个数,从而计算当前NP 的划分准确率A。A 的计算如式(6)所示。式中:R 为正确划分数,指满足条件的CU 个数;E 为错误划分数,指不满足条件的CU 个数。R 和E 的初始值均为0,在原始算法帧编码结束后,根据式(7)和式(8)计算上阈值的R 和E。

获取下阈值的方法和上阈值的相类似。不同之处是遍历[NPmax,NPmin ],以当前NP 作为下阈值,统计满足所有CTU 的方差值小于等于当前CTU 的方差值且当前CTU 内的CU 深度小于5 的CU 个数,以及不满足的CU 个数。

当A 首次满足准确率的条件时,终止遍历,并选取当前的NP 的值为新的阈值,直到下一原始算法帧,重新计算NP 。为了权衡编码时间和视频质量,在产生尽可能少的失真的同时,可以最大程度地节省编码时间,本文通过大量实验总结得出不同QP下的划分准确率的条件,如表1 所示。

将简单CTU 的编码深度设置为D4 = [0,4],复杂CTU 的编码深度设置为D5 = [3,6],不更改一般CTU 的编码深度区间,则此时各个CTU 的编码深度区间可以通过式(9)确定。

式中:D4 、D5 为前文所定义的区间,DN2 为当前CTU的编码深度区间,SIMPLE、GENERAL 和COMPLEX分别为简单CTU、一般CTU 和复杂CTU。

2. 3 基于空间相关性的CTU 深度决策方法

由于同一帧中的空间相邻CU 通常具有相同或相似的纹理,故编码深度具有较强的空间相关性。在VVC 标准中,帧内预测按照Z 字形顺序对CU 进行编码,在对当前CTU 进行编码时,其左侧相邻的CTU 与上方相邻的CTU 已经完成编码,因此可以利用这2 个相邻CTU 的深度信息预测当前CTU 的编码深度范围,以进一步缩小当前CTU 的编码深度范围,从而实现减少RDcost 的计算次数,缩短编码时间。

当左侧相邻的CTU 与上方相邻的CTU 的最大编码深度均小于等于5,且当前CTU 的最大编码深度大于4 时,将当前CTU 的最大编码深度减1,最小编码深度不变;而当左侧相邻的CTU 与上方相邻的CTU 的最小编码深度均大于等于3,且当前CTU 的最小编码深度小于4 时,将当前CTU 的最小编码深度加1,最大编码深度不变。此时各个CTU 的编码深度区间表示方法如下:

式中:DN3 为当前CTU 的编码深度区间,Dl_max和Da_max 分别为左侧和上方相邻CTU 的最大编码深度,Dl_min 和Da_min 分别为左侧和上方相邻CTU 的最小编码深度,other 为除上述条件外的其他情况。

2. 4 基于梯度的CU 划分模式决策方法

鉴于最大二叉树尺寸和最大三叉树尺寸都是32,且小CU 不会占用太多编码时间,因此针对大小为32×32 的CU 做进一步优化。利用Sobel 梯度算子提取出的边缘特征决定是否跳过垂直或水平划分模式。

Sobel 算子使用2 个3×3 的卷积核,分别对图像进行水平和垂直方向的卷积运算。值得注意的是Sobel 算子在卷积运算时,无法对最外一圈的像素值做运算,因此,在计算梯度前先对原始视频图像的最外圈进行像素值的填充。填充方法是对最顶行、最底行、最左列和最右列中的像素采用最近原则进行填充,即在需要填充像素值的位置使用距离最近的像素值进行填充,如图3 所示,其中,W 和H 为原始视频大小的宽和高,阴影部分表示原始视频,白色部分为填充部分,每个小方块均代表一个像素。

由Sobel 算子提取边缘特征,得到边缘图后,将在边缘图中坐标为(x,y)的像素值记录为sobel(x,y)。如果sobel(x,y)不等于0,则将sobel(x,y)设为1,否则设为0;然后,使用VE 和HE 的比值来表示纹理方向的趋势是水平或垂直。

VE 和HE 的计算如下:

式中:vei 和hei 分别为y = i 和x = i 时sobel(x,y)不为0 的边缘点的数量,VE 为垂直方向上的边缘长度,HE 为水平方向上的边缘长度。

当VE/HE>1 时,说明该CU 内更多存在的是垂直方向上的纹理,更有可能采用垂直划分模式进行划分该CU,因而,提前跳过水平划分模式,即跳过BH 和TH 的划分方式;当HE/VE >1 时,说明该CU 的水平方向的纹理趋势较强于垂直方向的纹理趋势,提前跳过垂直划分模式,即跳过BV 和TV 的划分方式。

综上所述,本文所提算法的流程如图4 所示。判断360°全景视频的ERP 格式视频序列的当前帧是否为算法优化帧。若当前帧不是算法优化帧,即为原始算法帧,采用VVC 标准的原始算法。若当前帧为算法优化帧,则首先根据当前CTU 的权重值ωi判断出当前CTU 所处区域,初步确定当前CTU 的深度范围为DN1 ;其次判断CTU 的方差var 与下阈值(Tl)和上阈值(Tt )的关系,从而判定出当前CTU的纹理复杂度,得到当前CTU 的深度范围为DN2 ;然后结合左侧相邻的CTU、上方相邻的CTU 和当前CTU 的编码深度,进一步判断出当前CTU 的深度范围为DN3 ;最后判断当前CU 尺寸是否为32×32,若是,则继续判断VE 和HE 之间的比值关系,并据此抉择出是否跳过垂直或水平划分模式,若否,则本文算法至此结束。

3 实验结果

为验证本文方法的性能,将本文提出的算法在JVET 提供的集成了360Lib 的官方参考软件360Lib12. 0-VTM11. 0 上进行测试。在全帧内模式和通用测试条件[17]下对JVET 推荐的360°全景视频序列进行测试。编码配置的量化参数QPs 指定为{22,27,32,37}。采用被广泛认可的客观评价指标BDPSNR 和BDBR 来评价本文提出的算法的编码性能,同时,采用Time Reduction(TR)来表示编码器复杂度的降低[18],计算如下:

式中:TVTM11. 0 表示原始算法的VVC 编码器所耗费的编码时间,TP 表示所提算法的VVC 编码器所耗费的编码时间。

所提算法和原始算法的对比结果如表2 所示。可以看出,相对于原始算法,所提算法在BDBR 平均增加1. 665% 和BDPSNR 平均损失0. 076 dB 的前提下,编码时间平均缩减了34. 33% 。在编码效率损失方面,所提算法的编码效率损失最低为0. 924% ,最高为2. 256% ;在时间节省方面,所提算法的时间节省最低为25. 21% ,最高为44. 50% ,平均为34. 33% ,说明所提算法针对不同类型的视频序列均可以有效降低编码的计算复杂度,提升编码速度,并保证图像质量几乎不变。

为了更直观地表示编码器性能的损失,将所提算法与VVC 原始算法的率失真曲线进行比较,如图5 所示。与VTM11. 0 标准算法相比,所提算法的率失真曲线和原始算法的率失真曲线非常接近。这表明对于不同分辨率大小且视频内容完全不同的测试序列,该算法对编码时间均有不同程度的缩减,都降低了编码复杂度,且视频质量损失可忽略不计。

人眼是视频信号的最终接收方,因此,除客观质量评价指标外,视频的主观质量评价也较为重要。由于QP 越大,视频质量越低,使得通过主观判断原始算法和本文所提算法之间的差异越困难,本文截取了PoleVault_le 测试序列在QP 为22 时的解码帧图像,如图6 所示。从图6 中的原始算法和本文所提算法的解码帧的对比图以及相对应的细节放大图中,可以看出天空、房屋、树木、人物及车辆等部分几乎完全一样。说明使用本文所提算法进行编解码的视频序列在视频质量方面所造成的影响微乎其微。

4 结束语

为解决360°全景视频编码时间过长的问题,本文在VVC 标准的基础上结合360°全景视频在ERP格式映射过程中采样不均匀的特点,提出了一种面向360°全景视频的帧内预测编码的快速算法。该算法首先将视频划分为3 个区域,根据CTU 所处区域初步判定当前CTU 的编码深度范围;然后,根据各个CTU 的方差值和自适应更新的双阈值对每个CTU 按照纹理复杂度进行分类,以进一步限制当前CTU 的编码深度范围;最后,利用编码深度信息的空间相关性,将相邻CTU 的深度范围作为参考,完成对当前CTU 编码深度范围的最终决策。同时,针对大小为32 ×32 的CU,利用纹理信息跳过垂直或水平划分模式,以优化CU 划分模式的选择过程。实验结果表明,与原始算法相比,在全帧内模式下,该算法有效简化了360°全景视频的帧内编码CU 划分决策过程,平均可以节省34. 33% 的时间复杂度,同时带来的BDBR 平均增量仅为1. 665% ,BDPSNR的平均降低量仅为0. 076 dB。在几乎不损失视频质量的情况下,所提算法降低了360°全景视频的编码复杂度,有效缩短了编码时间。

参考文献

[1] 帅鑫,卿粼波,何小海,等. 一种基于卷积神经网络的VVC 去压缩伪影半盲方法[J]. 无线电工程,2022,52(10):1702-1709.

[2] ZHANG H C,YU L,LI T S,et al. Fast GLCMbased IntraBlock Partition for VVC [C]∥ 2021 Data CompressionConference (DCC). Snowbird:IEEE,2021:382.

[3] 万帅,霍俊彦,马彦卓,等. 新一代通用视频编码H.266 / VVC:原理,标准与实现[M]. 北京:电子工业出版社,2022.

[4] TSANG S H,CHAN Y L. 360degree Intra Coding Modefor Equirectangular Projection Format Videos[C]∥2020IEEE International Symposium on Circuits and Systems(ISCAS). Seville:IEEE,2020:1-5.

[5] 吴志强,郁梅,姜浩,等. 基于感兴趣区域的360° 全景视频编码[J]. 激光与光电子学进展,2018,55 (6):191-197.

[6] HE Y,VISHWANATH B. AHG8:Algorithm Description ofInterdigital’s Projection Format Conversion Tool (PCT360)[C]∥Joint Video Exploration Team (JVET)of ITUT SG16 WP 3 and ISO/ IEC JTC 1/ SC 29/ WG 11. Chengdu:[s.n. ],2016:560-569.

[7] WANG Y B,LI Y M,YANG D Q,et al. A Fast Intra Prediction Algorithm for 360degree Equirectangular PanoramicVideo[C]∥2017 IEEE Visual Communications and ImageProcessing (VCIP). St. Petersburg:IEEE,2018:1-4.

[8] WANG Y B,CHEN Z Z,LIU S. EquirectangularProjection Oriented Intra Prediction for 360degree VideoCoding[C]∥2020 IEEE International Conference on Visual Communications and Image Processing (VCIP ).Macau:IEEE,2020:483-486.

[9] LIU Z,XU C,ZHANG M M,et al. Fast Intra PredictionAlgorithm for Virtual Reality 360 Degree Video Based onImproved RMD[C]∥2019 Data Compression Conference(DCC). Snowbird:IEEE,2019:593.

[10] LIN J L,LIN L Q,LI W M,et al. Latitudebased FlexibleComplexity Allocation for 360degree Video Coding[J].IEEE Transactions on Broadcasting,2022,68 (3 ):572-581.

[11] BELING B,STORCH I,AGOSTINI L,et al. ERPbasedCTU Splitting Early Termination for Intra Prediction of360 Videos[C]∥2020 IEEE International Conference onVisual Communications and Image Processing (VCIP ).Macau:IEEE,2020:359-362.

[12] ZHANG M M,ZHANG J,LIU Z,et al. An EfficientCoding Algorithm For 360degree Video Based onImproved Adaptive QP Compensation and Early CU Partition Termination[J]. Multimedia Tools and Applications,2019,78(1):1081-1101.

[13] STORCH I,ZATT B,AGOSTINI L,et al. SpatiallyAdaptive Intra Mode Preselection for ERP 360 VideoCoding [C ]∥ 2020 IEEE International Conference onAcoustics,Speech and Signal Processing (ICASSP). Barcelona:IEEE,2020:2178-2182.

[14] LI W,FAN C X,REN P. Fast Intrapicture Partitioningfor Versatile Video Coding[C]∥2020 IEEE 5th International Conference on Signal and Image Processing (ICSIP). Nanjing:IEEE,2020:108-111.

[15] BOSSEN F,SUHRING K,WIECKOWSKI A,et al. VVCComplexity and Software Implementation Analysis [J].IEEE Transactions on Circuits and Systems for VideoTechnology,2021,31(10):3765-3778.

[16] YE Y,BOYCE J M,HANHART P. Omnidirectional 360°Video Coding Technology in Responses to the Joint Callfor Proposals on Video Compression with CapabilityBeyond HEVC [J]. IEEE Transactions on Circuits andSystems for Video Technology,2019,30(5):1241-1252

[17] BOYCE J M,ALSHINA E,ABBAS A,et al. JVETD1030:JVET Common Test Conditions and EvaluationProcedures for 360° Video[C]∥ITUT SG 16 WP 3 andISO / IEC JTC 1 / SC 29 / WG 11 7th Meeting. Torino:[s.n. ],2016:1205-1213.

[18] ZHANG M L,CHEN Y S,LU X,et al. Fast Coding UnitPartition Decision for Intra Prediction in Versatile VideoCoding[C]∥The 11th International Conference on Imageand Graphics (ICIG 2021). Haikou:ACM,2021:700-711.

作者简介

金雪松 男,(1975—),博士,教授。主要研究方向:图像处理与模式识别、深度学习。

王田田 女,(1997—),硕士研究生。主要研究方向:视频编码。

基金项目:黑龙江省自然科学基金(F2018020)