前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VP9到HEVC转码的帧内加速算法

VP9到HEVC转码的帧内加速算法

作者头像
用户1324186
发布2018-03-06 09:38:22
1.4K0
发布2018-03-06 09:38:22
举报
文章被收录于专栏:媒矿工厂媒矿工厂

在前一部分我们讨论了VP9到HEVC的帧间转码加速算法,在这一部分我们探讨帧内部分的转码加速算法。表1所示为HEVC和VP9在部分编码技术上的异同,我们可以发现相似点与不同点。对于帧内编码来说,一方面,无论是VP9还是HEVC,都仍然用四叉树的形式对编码块进行逐级划分,两者的划分方式是相似的;另一方面,从表中的帧内预测模式数目对比可以明显的发现,在帧内模式,尤其是方向模式上,VP9的方向数目较少,而HEVC的方向数目较多,这是两者比较明显的不同。我们正是从这两个方面出发对转码的帧内部分进行加速。

表1. HEVC与VP9部分技术对比

在相关文献方面,探讨转码帧内加速的文献数量要少于探讨转码帧间加速的文献数量,并且主要集中在H.264/AVC到HEVC的转码加速上。我们将一些具有代表性的相关工作列在了参考文献部分,其中文献[1,2]使用机器学习的方法对H.264/AVC到HEVC的帧内转码部分进行加速,这与许多帧间转码算法采取的思路比较相似。文献[3]采用H.264/AVC中的DCT系数和预测模式信息来共同构建深度模型,根据不同的情况对深度信息进行合并和拆分,并依据构建出的深度模型指导HEVC编码端的帧内决策。

转码算法和结果说明

上海交通大学图像所研究团队基于传统H.264/AVC到HEVC的转码方法研究,提出了VP9到HEVC转码的帧内加速算法,一定程度上加速了转码过程,此方案主要包含两个部分,分别是利用VP9的深度信息进行帧内转码加速以及利用VP9采用的帧内预测模式进行方向的映射。

VP9的帧内预测提供了丰富的深度信息,这对于优化HEVC的帧内预测模式是一个很好的入手点。要利用VP9提供的深度信息来指导HEVC再编码过程,那么VP9提供的深度信息能否有效的指导HEVC再编码过程,则成为一个关键性问题,我们首先需要对此进行说明。为了验证其有效性,就需要对比VP9和HEVC两者独立进行帧内编码时的率失真性能,如果比较相近,则我们认为VP9提供的深度信息是较为有效的,否则认为其有效性不足。文献[5]详细对比了VP9和HEVC的帧内编码效率,其提供的帧内编码数据考虑了多种因素的影响,并在尽可能消除差异因素的情况下给出了实验数据,对VP9和HEVC的帧内编码效率进行了一个很好的整理和总结,如表2所示。

表2. HM和VP9编码器全I帧编码的率失真性能比较[5]

对于利用深度信息进行加速来说,我们需要验证的是VP9划分深度决策和HEVC划分深度决策在全I帧配置下的相似程度,为此,需要排除方向差异和SAO差异带来的影响。表2提供的数据正是这种情况下的。从数据上可以看出来,仅从深度决策差异的角度来说,VP9和HEVC在全I帧模式下的编码效率是十分相近的,因此有理由认为VP9提供的深度信息能够有效的指导HEVC的再编码过程。图1所展示的部分帧的划分情况示意图更加直观的表现了这一点。

图1. VP9(左)与HEVC(右)的帧内划分示意图

因此,第一个加速方法就是利用VP9帧内划分最大深度来提前终止HEVC的帧内搜索过程。图2是该方法的流程图。VP9递归深度从64×64向下划分到4×4,相应的HEVC的CU递归深度默认配置是从64×64向下划分到8×8,对于CU8×8 会继续划分为PU4×4,因此两者的递归深度能比较好的对应,VP9的递归深度可以直接用于HEVC再编码过程的指导。该算法的流程如图2所示。参考VP9最大递归层数,HEVC帧内搜索时在四叉树划分的每一层都增加一个判断,将当前CU的划分深度与VP9相应超级块SB的最大划分深度进行比较:如果当前CU深度小于VP9的最大递归深度,则将当前CU继续分割(如果可以继续分割);否则,则停止CU的继续分割,进入回溯判决确定划分的流程。

图2. 利用VP9帧内划分最大深度的流程图

采用基于VP9最大递归层数的深度优化,算法可以在一定程度上减少不必要的搜索,加快帧内转码的速度。对该算法的性能进行一个理论上的分析,具体来说,该算法会面对两种情况:当VP9的递归深度较大的时候,算法的加速性能有限。例如,当VP9的递归深度为4的时候,算法基本上不能够提供加速,HEVC编码端依然需要进行完全递归。此时VP9对该区域的判断是一个纹理复杂的区域,需要用小块进行细致的处理,则算法也同样应该保证HEVC编码端能够递归到比较深的层次,用小块处理该区域。当VP9的递归深度很小的时候,需要分两种情况进行讨论。第一种情况是HEVC独立决策时的划分深度也很小,这是最理想的情况,这时算法不仅能够省去更深层递归带来的许多计算,而且能够保证视频的质量不受影响。这种情况的出现需要VP9和HEVC同时做出大块划分的决策,这意味着该编码区域是平坦的;第二种情况是HEVC独立决策时的划分深度较大,这就意味着VP9将编码区域视为平坦区域而HEVC将同样的区域视为纹理复杂区域。由于两者编码的是同样的区域,因此这种差异性不是由视频帧带来的,而是由标准带来的。算法在面对这种情况时,加速性能不会受到影响,因为算法依据VP9递归深度进行了提前终止搜索的操作,但是视频质量性能可能会受到损失。综合以上两点,我们通过理论分析对算法在各种情况下的性能做一个总结。对于平坦区域,本算法既能有良好的加速效果,也能有良好的视频质量保证;对于纹理复杂区域,本算法加速效果受限,但有良好的视频质量保证;对于同一个区域VP9和HEVC决策差异较大的,本算法能有良好的加速效果,但视频质量会受到影响。

对于上述的最大划分深度不能进行加速的情况(例如VP9最大深度为4的情况),我们可以进一步使用深度图来对比较浅的深度进行一定的加速,这一思路和前半部分的帧间加速思路较为相似,作为一种补充。

帧内预测的第二个关键部分就是预测模式的选取,根据前述的VP9和HEVC技术对比,VP9帧内预测采取8种方向模式和2种无方向模式,与之对应的HEVC则采取了33种方向模式和2种无方向模式,如图3所示。VP9方向预测模式对应的8个角度分别为27°、45°、63°、90°、117°、135°、153°、180°,其分别对应HEVC帧内预测模式的30、26、22、18、14、10、6、2。由这种对应关系可以发现VP9提供的方向不如HEVC精细,但却也能够描述像素的最小变化方向。对于无方向的预测模式来说,VP9的两种无方向模式为DC和TrueMotion,而HEVC的两种无方向模式为DC和Planar,也能比较好的对应。

图3.VP9(左)与HEVC(右)帧内模式对比

根据这种分布关系,我们可以设计方向的映射算法,加速VP9到HEVC转码的帧内方向搜索过程,避免每次都遍历35种模式,节省一定的计算量。注意到每个VP9方向对应包含该方向在内的5个HEVC方向。因此对于相同大小的VP9和HEVC划分块,在HEVC再编码的过程中,以VP9提供的方向模式作为基础和参考,在HEVC中分别选取该预测方向顺时针的2个相邻角度、逆时针的2个相邻角度、以及该方向本身共5个候选方向进行Hadamard变换并完成后续的决策,跳过剩下的28种方向。对于不同大小的VP9和HEVC划分块,在HEVC再编码的过程中,采取方向合并的方式来估计最有可能出现的方向,方向合并的方法是计算角度的加权平均值,权重根据VP9块的相对大小来确定,块的相对尺寸越大,则该方向的权重越大,块的相对尺寸越小,则相应方向的权重越小,得到VP9方向的加权平均角度后,选取最接近该角度的方向模式、顺时针的5个相邻角度、逆时针的5个相邻角度共11个候选方向进行Hadamard变换并完成后续的决策,跳过剩下的22种方向。我们在算法设计的时候,针对这种情况,将候选方向从5个增加到11个,是因为合并得到的方向并不是VP9中真实决策的方向,因此可能带来一定的误差,为了平衡这种误差带来的决策失真,我们选取了更大的搜索范围(约60°的范围)进行一定程度的补偿,当然这种情况下遍历11个方向也相比遍历33个方向要更快。最后,对于VP9中决策为DC和TrueMotion的模式,在HEVC中我们采取对应的DC和Planar作为候选,除此之外还加入了水平方向和垂直方向两种模式,共4种候选模式。

表3. 帧内转码加速的实验结果

表3所示为VP9到HEVC转码的帧内加速的实验结果,我们可以看到单独使用方向优化在帧内加速方面仅有少量的加速效果,同时会产生较大的BD-Rate增加。根据我们的分析,在单独使用方向优化时,针对大块会产生很多方向合并的操作,这些合并出来的方向并不是VP9真实的预测方向(真实的VP9的预测方向与划分深度密不可分),所以采用这些合并方向进行判断会进一步影响HEVC最佳划分块的决策,从而产生误差的传递效果。另一方面,最大划分深度算法虽然操作非常简单,但是对于全I帧配置的VP9到HEVC转码帧内加速非常有效,转码速度平均提升到全解全编的1.57倍,转码时间平均节约了36.3%,BD-Rate损失在1.5%之内,显示出该算法在质量保持方面也有良好的效果,这也说明VP9提供的深度信息能够有效的指导HEVC的再编码过程。

图4.全解全编与转码加速曲线对比(深度)

图5.全解全编与转码加速曲线对比(方向)

上图给出了部分序列率失真曲线的对比,其中蓝色的为全解全编曲线,橙色的为转码加速曲线。通过曲线的对比,我们也可以看出,方向映射的转码加速曲线和全解全编曲线有明显的偏移,而深度优化的质量保持效果比较好。

参考文献

[1] Zhang Y, Li N, Peng Z. Learning Based Fast H.264/AVC to HEVC INTRA Video Transcoding for Cloud Media Computing[C]// International Conference on Cloud Computing and Security. Springer, Cham, 2017:385-395.

[2] Díaz-Honrubia A J, Martínez J L, Cuenca P, et al. A Fast Splitting Algorithm for an H.264/AVC to HEVC Intra Video Transcoder[C]// Data Compression Conference. IEEE, 2016:588-588.

[3] Lin C S, Yang W J, Su C W. FITD: Fast Intra Transcoding from H.264/AVC to high efficiency video coding based on DCT coefficients and prediction modes[J]. Journal of Visual Communication & Image Representation, 2016, 38:130-140.

[4] Xu X Y, Liu Z G. Fast Intra/Inter-mode Decision for Arbitrary Downsizing Video Transcoder Using H.264/AVC Standard[C]// IEEE, International Conference on Computational Science and Engineering. IEEE Computer Society, 2014:1006-1009.

[5] Sharabayko M, Ponomarev O, Chernyak R. Intra compression efficiency in VP9 and HEVC[J]. Applied Mathematical Sciences, 2013, 7(137):6803-6824.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档