《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > HEVC中Merge模式候选决策的探究和优化
HEVC中Merge模式候选决策的探究和优化
2016年微型机与应用第15期
辛亚坤
(上海海事大学 信息工程学院,上海 201306)
摘要: 针对Merge模式中存在的运算时间长且计算复杂度高的问题,通过对候选PU的合并过程进行研究,提出了优化的候选决策算法。基于时域候选和空域候选决策算法在不同情况下对当前块的影响程度不同,自适应地改变候选决策列表来减少计算复杂度和提高预测精度。与标准算法相比,该算法在视频序列的PSNR值略有增高、码率减少的情况下,编码时间得到有效减少。而且该算法在提高HEVC编码率失真性能的同时有效降低了计算复杂度。
Abstract:
Key words :

  辛亚坤

  (上海海事大学 信息工程学院,上海 201306)

       摘要:针对Merge模式中存在的运算时间长且计算复杂度高的问题,通过对候选PU的合并过程进行研究,提出了优化的候选决策算法。基于时域候选和空域候选决策算法在不同情况下对当前块的影响程度不同,自适应地改变候选决策列表来减少计算复杂度和提高预测精度。与标准算法相比,该算法在视频序列的PSNR值略有增高、码率减少的情况下,编码时间得到有效减少。而且该算法在提高HEVC编码率失真性能的同时有效降低了计算复杂度。

  关键词高效视频编码;Merge模式;自适应候选;帧间预测

  0引言

  近年来,随着高清、超高清视频应用逐步走进人们的视野,对网络带宽提出了更高的要求。因此,国际电联(ITUT)、国际标准化组织(ISO)、国际电工委员会(IEC)联合发起联合视频编码小组(Joint Collaborative Team on Video Coding,JCTVC) 制定下一代的视频编码标准HEVC (High Efficiency Video Coding)。此标准相比H.264/AVC视频压缩标准,在相同的视觉质量下能节约50%的比特率[1] 。

  在大多数图像和视频中,一个运动物体可能会覆盖多个运动补偿块,因此空间域相邻块的运动向量具有较强的相关性。若使用相邻已编码块对当前块运动矢量(Motion Vector,MV)进行预测,将二者差值进行编码,则会大幅度节省编码MV所需的比特数。同时,由于物体运动具有连续性,因此相邻图像同一位置像素块的MV也具有一定相关性。H.265/HEVC在MV的预测方面提出了Merge技术[2]和AMVP技术[3]。

  Merge技术使用了空域和时域MV预测的思想,通过建立MV列表,选取性能最优的一个作为当前预测单元(Prediction Unit,PU)预测MV。Merge可以看成一种编码模式,在该模式下,当前PU的MV直接由空域(或时域)上邻近的PU预测得到,不存在运动矢量残差MVD。

1Merge模式

  Merge模式会为当前PU建立一个MV候选列表[4],列表中存在5个候选MV(及其对应的参考图像)。通过遍历这5个候选MV,并进行率失真代价的计算,最终选取率失真代价最小的一个作为该Merge模式的最优MV。若编码端和解码端按照相同的方式建立该候选列表,则编码器只需要传输最优MV在候选列表中的索引即可,这样大幅度节省了运动信息的编码比特数。Merge模式建立的MV候选列表中包括了空域和时域两种情况,以下将分别介绍。

  1.1空域候选列表的建立

001.jpg

  空域MV候选列表的建立如图1所示,图中A1表示当前PU左侧最下方的PU,B1表示当前PU上方最右侧的PU,B0和A0分别表示当前PU右上方和左下方距离最近的PU,B2表示当前PU左上方距离最近的PU。H.265/HEVC标准规定,空域候选最多提供4个候选MV,即最多使用上述5个侯选块中4个候选块的运动信息,列表按照A1→B1→B0→A0→(B2)的顺序建立,其中B2为替补,即当A1、B1、B0、A0中一个或多个不存在时,则需要使用B2的运动信息。

  1.2时域候选列表的建立

002.jpg

  时域MV候选列表的建立利用了当前PU在邻近块已编码图像中对应位置PU[57](即同位PU)的运动信息。H.265/HEVC规定,时域最多只提供1个候选MV,如图2所示,图中H位置同位PU的MV经伸缩得到。若H位置同位PU不可用,则用C3位置的同位PU进行替换。需要注意的是,若当前MV候选列表中候选MV的个数达不到5个时,需要使用(0,0)进行填补以达到规定的数目。

2Merge候选决策的探究

  通过对Merge模式候选决策的过程研究[8]发现:

  (1)在建立候选列表时需要进行至少5次率失真计算来选取率失真代价最小的一个。由于A1和A0、B1和B0是相邻块,所以往往包含着共同的运动信息,如果在含有相同信息的情况下进行率失真计算,会增加计算复杂度和降低预测精度。

  (2)率失真计算过程中,有多个重要因素需要考虑,其中编码参数和运动矢量传输到编码端所需要的比特数,这两个因素尤其重要。HEVC中编码Merge_idx时采用的是一元截断码,Merge模式中候选顺序是按照先空域后时域的方法,来分配截断码的位数,这样时域在进行率失真计算时得到的结果会受到影响,从而在与空域的率失真结果进行比较时处于劣势。

  (3)通过对PU在不同尺寸中出现的概率的研究结果发现,A1、B1和时域候选T出现的概率最高并且所占之和高达90%以上。出现这种现象的原因是由于A1、B1所占的bin位数较低,因而在率失真计算中往往能作为最优结果。另一方面,在A1和A0、B1和B0带有相同运动信息时,A0和B0将无法出现在最优结果的候选中。

  对于T候选在bin位数较高的情况下,依然有较高的出现率,这是因为以下两个原因:(1)Merge模式中的时域预测主要运用了自然界物体匀速运动的思想,间隔数幅图像的两幅图像之间的运动向量一旦确定,则期间每一幅图像的运动向量预测值都能利用当前图像与两端参考图像的距离计算得出。因而,对于很多运动缓慢的视频序列,时域相关性往往强于空域相关性。正因为如此,虽然时域候选T的bin位数在较高的情况下,依然在率失真计算中占有了优势。(2)当编码单元(Code Unit,CU)划分方式为N×2N,NL×2N或nR×2N时,第二个PU的候选列表中不能存在A1的运动信息。这是由于第二个PU一旦使用了A1(即第一个PU)的信息,则会使第一个PU和第二个PU的MV一致,这与2N×2N划分方式无异。同理,对于CU划分方式为2N×N、2N×nU或2N×nD,第二个PU的候选列表中也不能存在B1的运动信息。基于以上两种情况,时域候选T在bin位数较高的情况下,依然有了较高的出现率。

  (4)在H.265/HEVC标准中,对于时域候选T,若H位置同位PU不可用,则用C3位置的同位PU进行替换。但研究发现,这样用C3位置替换后,降低了T的预测准确度。因此可以利用当前块下方相邻块和右方的相邻块来提高时域候选T的预测精度。

3优化后的Merge候选决策

  本文对Merge模式的候选决策进行了以下优化和改进:

  (1)首先判断当前帧相对于前一帧是否发生了剧烈运动,具体方法采用基于灰度的算法[910]。在场景切换帧位置,图像像素灰度的绝对差比前一帧图像要大很多,灰度值平均绝对差公式:

  VFC_UZ0N7OUXPQ7FDWOGXS6.png

  式中DMVD(n)为第n帧的灰度平均绝对值差,fn(i,j)和fn-1(i,j)分别为第n帧与第n-1帧(i,j)位置的亮度分量值,M和N分别为图像的宽和高。DMVD(n)的取值范围为0~255,经过大量实验发现,DMVD(n)>40时,当前帧相较于前一帧发生了剧烈运动。因此,若DMVD(n)>40,则判定第n帧发生了剧烈运动。

  (2)若当前帧没有发生剧烈运动,则说明当前帧的时域相关性大于空域相关性。更改Merge候选顺序,将时域候选T放到空域候选之前,这样时域候选T就能分配到较小的bin位数,从而使得时域相关性在率失真计算时能够得到充分应用。并且减少空域候选的个数,将空域候选个数由4个减少为2个,并且按照A1→B1→B0→A0→(B2)的顺序进行选择,直到数目达到两个为止。这样做的目的是,由于时域相关性大于空域相关性并且A0和B0的出现概率较低,因而减少数目后不会影响预测精度反而会大大降低编码时间。若当前MV候选列表中候选MV的个数达不到3个,需要使用(0,0)进行填补以达到规定的数目。

  (3)若当前帧发生了剧烈运动,则可以判断空域相关性大于时域相关性。此时,按照H.265/HEVC标准规定,空域提供4个候选MV,以A1→B1→B0→A0→(B2)的顺序建立,其中B2为补位,即当A1、B1、 B0、A0中有一个或多个不存在时,则需要用B2的运动信息填补。若当前MV候选列表中候选MV的个数达不到5个时,需要使用(0,0)进行填补以达到规定的数目。

  (4)若时域候选中右下方编码块H不可用时,则检测参考帧中与当前帧位置相同的下方块和右方块以及时域候选中心位置C3。若下方块和右方块都存在,则取它们三个的平均值作为时域候选项。若右方块和下方块只存在一个,则取两个的平均值。若右方块和下方块都不存在,则直接使用C3。这样做既充分利用了右方块和下方块的运动信息,又提高了时域候选的利用率,使预测精度得到了提高,同时也提高了视频的再现质量也即提高了信噪比。

4实验结果及分析

  仿真实验采用的是最新的HM16.0代码,实验平台是操作系统为Windows 7的计算机,内存为4 GB。实验结果如表1所示。可以看出,本文优化后的Merge候选决策算法与高效视频编码标准之间的对比结果。

003.jpg

  从表1中可以发现,优化后的Merge候选决策算法与原标准的结果相比,编码时间得到了有效的减少;因为优化后的Merge候选决策的预测精度得到了提高,使得Merge在与AMVP竞争时,PU使用Merge模式的概率得到了进一步提高,从而降低了比特率,降低程度从0.33%~5.16%不等;由于增加了Merge模式的候选决策中改进的第(4)点,即充分利用了右方块和下方块的运动信息,提高了时域候选的利用率,也使预测精度得到了提高,同时还提高了视频的再现质量以及信噪比。峰值信噪比(Power SignaltoNoise Ratio,PSNR)的增加从0.006 6~0.815 dB不等。

  本文算法首先使用目前最常用且最简单的基于灰度的算法来判断当前帧是否发生了剧烈运动,根据当前帧相比于前一帧是否发生了剧烈运动来更加合理地优化Merge候选决策的顺序。优化后的Merge候选决策顺序更加合理,而且使得时域相关性得到了充分应用,从而提高了Merge模式的预测精度,增加了Merge模式在与AMVP模式的竞争中的优势,提高了Merge模式的利用率。由于Merge模式是一种编码模式,在该模式下不存在MVD;而AMVP是一种MV预测技术,编码器只需要对实际MV与预测MV的差值进行编码,是存在MVD的。提高了Merge模式的利用率后,相比于使用AMVP技术,会大幅节省运动信息的编码比特数,从而降低了比特率。

  另一方面,通过调整时域候选的位置,分配给T较小的bin位数,使得在时域相关性大于空域相关性时,能够充分利用时域候选,从而使得预测结果更加准确且消耗较少的比特数。

  本文通过减少候选模式的个数和改变最优的候选顺序来减少计算复杂度,通过优化标准中的Merge候选决策,来降低计算复杂度和提高预测精度,这是一个全新的方向和视角。

5结束语

  本文首先分析了标准中Merge模式的候选决策过程,然后针对原标准中存在的计算复杂度高的问题,提出了一种优化的Merge候选决策算法。实验结果表明,优化后的算法在信噪比略有升高的情况下,可使比特率降低,编码时间减少。

  参考文献

  [1] SULLIVAN G J, OHM J, HAN W J, et al. Overview of the high efficiency video coding(HEVC) standard[J].IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12):16491668.

  [2] 彭金虎,岑峰. HEVC帧间运动归并技术的研究[D].上海:同济大学,2013.

  [3] LI B, LI H Q, LI L, et al. Rate control by Rlambda model for HEVC[C].Proc. the 11th JCTVC Meeting, 2012:38413854.

  [4] 朱秀昌, 李欣, 陈杰. 新一代视频编码标准——HEVC[J].南京邮电大学学报:自然科学版, 2013, 33(3):111.

  [5] WIEGAND T.Draft ITUT recommendation and final draft international standard of joint video specification[Z].ITUT Rec. H.264|ISO/IEC 1449610 AVC, 2003:12241229.

  [6] 万帅,杨付正.新一代高效视频编码H.265/HEVC:原理、标准与实现[M].北京:电子工业出版社,2014.

  [7] 黄朝明. 下一代视频压缩标准HEVC的模式选择快速算法研究[D].成都:西南交通大学, 2012.

  [8] 张娜.下一代视频编码标准中MERGE模式相关技术的研究[D].哈尔滨:哈尔滨工业大学,2012.

  [9] 史久根,许林,张超. 一种场景自适应的H.264帧层码率控制算法[J].计算机应用研究,2010,27(5):19681969.

  [10] 胡乾乾,沈礼权,赵振军.基于场景切换的 HEVC 码率控制算法[J].电视技术,2015,39(5):13,25.


此内容为AET网站原创,未经授权禁止转载。