基于灰度差值的HEVC快速帧间编码研究

2015-10-13 01:06:02何小海熊淑华李向群
电视技术 2015年13期
关键词:像素点差值灰度

彭 欣,何小海,熊淑华,李向群

(四川大学 电子信息学院,四川 成都 610065)

基于灰度差值的HEVC快速帧间编码研究

彭 欣,何小海,熊淑华,李向群

(四川大学 电子信息学院,四川 成都 610065)

针对新一代视频压缩编码标准HEVC计算复杂度较高的特点,利用视频序列间时域上的相关性,提出了一种基于灰度差值的编码单元快速划分策略。该策略根据当前编码块与参考块之间的灰度差值进行运动条件判决,在进行编码之前提前确定当前编码单元的编码深度信息,减少帧间预测编码的次数,从而有效地降低了编码端的计算复杂度。实验结果表明,该算法在编码效率和峰值信噪比(PSNR)损失都很小的情况下,和HM标准中的帧间预测算法相比,平均降低了50.18%的编码时间。

HEVC;帧间预测;灰度差值;编码时间

随着视频业务的飞速发展,人们对观看高清视频的需求也越来越高,目前主流的视频压缩编码标准H.264已经不能适应高数据量下的高清视频传输。在这种趋势下,新一代视频压缩编码标准HEVC应运而生。HEVC最主要的目标是在同等视频质量下减少50%左右的码率,由此获得编码效率上的显著提高。但良好的性能也带来了计算复杂度的上升,因此,保证视频编码质量的同时降低编码的计算复杂度成为了学术界研究的热点。相对于H.264,HEVC在编码性能上有了很大程度的提升,主要体现在以下几个方面:1)采用了更加灵活的编码结构,它包括编码单元CU、预测单元PU和变换单元TU,同时将宏块的大小从H.264的16×16扩展到了64×64,以便于更好地进行高分辨率视频压缩;2)采用了更多的帧内预测方向,每种PU尺寸最多可达35种预测方向,更广范围的PU尺寸和更多的PU帧内预测方向使得HEVC帧内预测比H.264/AVC有了更高的编码效率;3)采用了更多的帧间预测模式,包含了对称PU模式和非对称PU模式,使得HEVC有了更加精确的块匹配。

在已有的HEVC快速帧间算法的研究中,文献[2]利用视频序列间的纹理信息检测出相对平坦的区域以及随时间变化较稳定的区域来提前终止四叉树的CU划分,达到减少帧间预 测计算复杂度的目的。文献[3]提出了一种低复杂度下的运动矢量合并算法,通过合并小尺寸PU的运动向量来计算更大块尺寸的PU,进而减少运算复杂度。文献[4]根据当前CU的运动特性,采取不同的优化编码方式来减少帧间预测时间。文献[5]介绍了编码单元进行合并时的各种情况,并讨论了在不同情况下如何更好地进行运动信息预测,在帧间预测中采用合并模式可以大大提高HEVC实时编码的效率。上述方法均取得了比较好的效果,但在实时性要求较高的场合,算法节省的时间还不够多,编码时间还有待优化。

1 HEVC帧间预测介绍

HEVC帧间预测是利用视频信号的时域相关性,通过运动补偿预测编码方法来消除视频图像在时间上的冗余,达到压缩视频信号的目的。在HM标准的测试模型中,配置文件支持4种类型的CU尺寸大小,分别为64×64,32×32,16×16,8×8,它们对应着编码深度0~3。在实际的编码过程中,从1个LCU开始,通过比较本层CU和下层4个子CU的率失真值(RDCost)的大小来确定当前层CU是否需要划分,以此类推进行CU的四叉树划分,直到达到最小的CU尺寸为8×8为止,具体的四叉树划分流程如图1所示。

图1 CU进行四叉树递归划分的过程

HEVC帧间预测过程如图2所示。

图2 HEVC帧间预测过程

在对CU进行编码的同时,每个CU又将分成若干个预测单元PU,所有和预测相关的操作都是以PU为单位进行。HEVC中定义了8种不同的帧间预测PU模式,根据预测的类型提供了4种对称模式(2N×2N,2N×N,N×2N,N×N)和4种非对称模式(2N×nU,2N×nD,nL×2N,nR×2N)。对于各个编码深度下的CU都将遍历完属于该尺寸下的PU模式,通过比较RD-Cost,最终确定CU的尺寸和PU的模式。

2 本文算法

在HEVC标准的视频编码框架中,编码单元CU的划分占据了帧间预测的大部分时间,每一个LCU最终划分方式确定要通过递归比较每一层不同尺寸CU的RDCost来得出。而HEVC采用了4种CU尺寸和8种PU预测模式,在每种CU尺寸和PU模式下均对其进行率-失真代价值的计算,总体的计算复杂度是巨大的。若不考虑非对称模式,每层深度的CU在进行帧间预测模式时,需要计算1个skip模式、1个merge模式、1个2N×2N帧间模式、2个2N×N帧间模式、2个N×2N帧间模式和1个2N×2N帧内模式的率失真代价,当深度为3时需要再计算4个N×N帧内模式的率失真代价。以1个LCU为例,即使不考虑非对称模式,仍然需要计算936次率失真代价。统计HM13.0中各个模块的运行总时间,结果如表1所示,HEVC在优化编码单元树上花费了巨大的时间,直接影响着编码器的总体性能。

2.1 灰度差值

灰度差值是一种提取相邻图像之间变化量的方法,在视频序列中,前后两帧有高度的相关性,后一帧延续了前一帧中的运动趋势,这些相邻帧在背景区域上是相似的,这些背景区域可以视为图像中的静止区域。若当前帧相对前一帧是静止状态的,则两帧之间对应位置块的灰度差值会非常小;相反,若当前帧相对前一帧运动比较剧烈,则两帧之间对应位置块的灰度差值会比较大。根据以上分析,相邻两帧对应位置上的灰度差值可以反映一帧图像中的运动区域,因此可以将灰度差值作为运动区域检测的判据,其模型定义为

Dm(x,y)=Fm(x,y)-

Fm-1(x,y)

(1)

式中:x和y分别为当前帧中像素点的坐标;m为视频序列的第几帧;Fm(x,y)为当前帧图像在坐标

表1 HM13.0 各个模块编码时间比例

为(x,y)位置像素点的灰度值;Dm(x,y)为两帧图像对应位置的灰度差值。取BQMall序列的相邻两帧作为原始输入图像,对BQMall序列的第二帧图像与第三帧图像按式(1)进行灰度差值后,得到的效果如图3所示。

图3 相邻两帧灰度差值的图像(BQMall)

根据式(1),可以得到指定位置的灰度差值,但是图像帧中的像素值会受到噪声和波动的影响,这会影响到最后的判定。因此,可以设定一个阈值,当灰度差值小于这个阈值时,可以认为两帧图像中对应位置变化不大,判定为静止区域,当灰度差值大于该阈值时,则对应位置可判定为运动区域。根据这个判定条件,对灰度差值后得到的图像进行二值化处理。

在这里,阈值的选取至关重要,已有的最大类间方差法(OTSU)虽然能够对图像进行自适应的阈值选取,但该方法是以整帧图像为单位,对局部图像块的阈值选取上会有一定的误差。本文考虑到图像块的阈值精度,提出了一种双重阈值选取方法。

首先以整帧图像为单位,假定分割阈值为T,从当前图像中的最小灰度值到最大灰度值对T进行遍历。设一幅图像中的灰度值为1~k级,灰度值为i的像素点数为ni,利用式(2)得到该幅图像中的总像素数N与各灰度值所占概率pi的关系为

(2)

pi=ni/N

(3)

在每次遍历中,利用T将像素点分为前景与背景。设前景占整幅图像的比例为PF,其平均灰度为wF;背景占整幅图像的比例为PB,平均灰度为wB,利用以下公式求出整幅图像的平均灰度W

(4)

(5)

W=PF×WF+PB×WB

(6)

再根据方差的定义,利用式(7),求出前景和背景图象的方差。方差可以作为阈值分割的一种度量,方差值越大对应着构成图像的两部分差别越大,此时的二值化效果最明显。所以当方差G最大时,此时的灰度T即为最佳的分割阈值。

G=PF×(WF-W)2+PB×(WB-W)2

(7)

得到以整帧图像为单位的自适应阈值T1后,重复进行式(3)~(7),以目标子图像块(LCU的大小64×64)为基本单位,得到阈值T2,对每个局部块利用式(8)进行二值化处理

(8)

根据式(8)可以得到只有黑白两种颜色的二值图像,如图4所示,该图像可作为接下来进行判定的依据。考虑到二值化后的图像会存在一些小的噪声,反映到二值图像上即为零星的白色噪点,本文利用中值滤波来进行处理

G(x,y)=med{F(x-k,y-l),k,l∈W}

(9)

式中:F(x,y),G(x,y)分别为原始图像和处理后图像;W为二维模板。本文使用3×3的模板对原二值图像进行中值滤波来消除图像块中的噪点,滤波后的实验效果如图5所示。

图4 二值化后的图像

图5 滤波后的图像

为验证算法可行,在HM13.0标准编码下,设定QP为32,打印BQMall序列第二帧图像与第三帧图像的CU分割特性,如图6~8所示。静止区域基本与CU分割特性相符,即参照了前一帧的对应位置块的划分。

图6 滤波后的局部块

图7 第二帧局部块CU分割

图8 第三帧局部块CU分割

2.2 基于灰度差值的快速CU划分

每一帧图像由很多像素点组成,如果穷尽考虑图像帧中的每一个像素点,需要处理的数据量是巨大的。本文算法以1个LCU为单位进行分析。由于1个LCU可以分为64个 8×8 大小的SCU,本文取每个SCU块的中心像素点进行跟踪,对每个LCU跟踪64个像素点,保存这64个像素点的灰度差值,为接下来的CU划分提供依据。

由于灰度差值后的二值图像会存在一些检测误差,这里设置一个门限Th来减少这些误差,对一个LCU保存下来的64个灰度差值而言,如果灰度值为255的像素点数量大于等于Th,可以判定该LCU相对于前一帧对应位置的LCU为运动剧烈的,因此需要用HM标准算法进行预测编码。如果小于Th,则该LCU相对于前一帧对应位置的LCU为静止的,即假定的背景区域,可直接参照前一帧对应位置的LCU进行CU划分。为了算出合理的Th,进行了大量的实验统计,分别使用了不同分辨率共8个视频序列的前100帧进行测试。经过数据分析,将Th设定为10,以此作为划分判定。具体统计流程如图9所示。

图9 运动区域统计流程

考虑到某些分辨率大小的视频序列在边界处的LCU不完整,这里只参考每帧图像中完整的LCU,这样可以保证每个LCU中有64个像素点是可以被跟踪的。对于416×240的视频序列,完整的LCU个数为6×3=18个。在实际的编码过程中,HM对这种情况的处理是将边界不完整的LCU补全为1个LCU进行编码操作,即该分辨率下的实际LCU个数为 7×4 =28个。对BQSquare序列的第10帧图像进行CU结构划分,从图10可以看到,位于边界上的LCU不是完整的。

图10 1帧图像中LCU的划分情况(BQSquare)

针对不同分辨率的视频序列进行运动特性统计。在编码当前帧时,通过灰度差值与前一帧进行对比,得到当前编码块的运动特性,统计结果如表2所示。

表2 各种分辨率视频序列运动特性统计

2.3 算法的具体流程

基于以上的分析,本文算法的具体流程(见图11)为:

图11 本文算法整体流程

1)判断当前编码帧是否为第一帧,若为第一帧,跳过接下来的步骤,直接进入xCompressCU函数进行HM标准的四叉树递归划分。

2)判断当前LCU是否为第一个LCU,若为第一个LCU,进入灰度差值处理函数,否则,跳过步骤3)。

3)将当前帧图像与前一帧图像进行灰度差值,对灰度差值后的图像进行自适应二值化处理,得到需要跟踪像素点的灰度值。

4)若当前LCU在边界上,跳过接下来的步骤,直接进入xCompressCU函数进行HM标准的四叉树递归划分,否则,以一个LCU为单位,遍历每个 LCU跟踪像素点的灰度值,根据设定的门限对当前LCU的运动剧烈程度进行判定。

5)若当前LCU判定为运动剧烈区域,则进入xCompressCU函数进行HM标准的四叉树递归划分;否则,直接参考前一帧图像对应位置LCU的划分情况,对当前编码的LCU按设定的深度进行划分。

6)进入xCompressCU后,遍历由灰度差值确定的CU编码深度下的PU预测模式。

3 实验结果与算法性能分析

本文实验所选取的测试模型为HM13.0,配置文件采用低延时编码结构当中的encoder_lowdelay_P_main.cfg。实验的测试环境遵从HM13.0测试标准,选取了从416×240到 1 920×1 080不同分辨率的共8个视频序列的前100帧进行测试,量化参数QP设置为22,27,32,37。测试序列的实验平台的CPU为Intel(R)Core(TM)i5-3470 CPU @ 3.20 GHz,内存为4.00 Gbyte。本文算法的性能优劣是通过PSNR(峰值信噪比),比特率及编码时间相对于标准算法的变化情况来衡量,其计算如下

ΔPSNR=PSNRnew-PSNRHM

(10)

(11)

(12)

式中:ΔPSNR表示本文算法与HM13.0标准算法峰值信噪比的差值;ΔBR表示本文算法与HM13.0标准算法比特率差值的百分率;ΔT表示本文算法与HM13.0标准算法时间差值的百分率。根据以上配置进行试验,实验结果统计如表3和图12所示。

表3 实验统计结果

图12 率失真曲线

实验结果表明,本文提出的算法与HM13.0标准算法相比,在PSNR与比特率变化不大的情况下,帧间编码的时间平均节省了50.18%,而且本文提出的算法与HM13.0标准算法的率失真曲线基本重合,证明了本文算法的普遍性,基本符合了高清视频编码的特性。

为体现本文算法在性能提升方面的优势,对文献[6-9]提出的4种帧间快速算法进行对比,从表4(ΔP,ΔB,ΔTi分别表示与标准算法相比变化的信噪比、比特率与编码时间)数据对比中可以看出,在PSNR与比特率相差不大的情况下,本文算法能够节省较多的编码时间。

表4 本文算法与文献[6-9]快速算法性能对比

4 总结

本文利用视频序列在相邻帧中时域相关性强的特点,提出了一种基于灰度差值的快速CU划分算法,在编码当前CU时利用参考帧中对应位置处的CU作为参考,进行当前CU的快速划分,提前确定当前CU的编码深度,从而达到减少遍历编码层数,降低计算复杂度的目的。通过实验数据可以明显发现,本文的算法与标准算法相比平均能够节省50.18%的时间,在实时性要求较高的场合具有良好的编码性能,这也体现了本文算法的优越性。

[1] WIEGAND T,OHM J R,SULLIVAN G J,et al. Special section on the joint call for proposals on High Efficiency Video Coding (HEVC) standardization[J]. IEEE Trans. Circuits and Systems for Video Technology,2010,20(12):1661-1666.

[2] 张强,袁春. 基于图形信息的HEVC帧间预测快速算法[J].计算机科学与探索,2014,8(5):537-542.[3] BAMPI S, GRELLERT M,AGOSTINI L. Motion vectors merging: low complexity prediction unit decision heuristic for the inter-prediction of HEVC encoders[C]//Proc. 2012 IEEE International Conference on Multimedia & Expo (ICME’12). [S.l.]:IEEE Press,2012:657-662.

[4] 胡锦雯,滕国伟,成益龙,等.基于运动特征的快速HEVC帧间预测算法[J].上海大学学报:自然科学版,2013,19(3):245-249.

[5] HELLE P, OUDIN S,BROSS B. Block merging for quad-tree based partitioning in HEVC[J]. IEEE Trans. Circuits and Systems for Video Technology,2012,22(12):1720-1731.

[6] 李元,何小海,钟国韵,等. 一种基于时域相关性的高性能视频编码快速帧间预测单元模式判决算法[J]. 电子与信息学报,2013,35(10):2365-2370.

[7] HE Juan,HE Xiaohai,LI Xiangqun,et al. Fast inter-mode decision algorithm for high-efficiency video coding based on textural features[J]. Journal of Communications,2014, 9(5): 441-447.

[8] SHEN L,LIU Z,ZHANG X,et al. An effective cu size decision method for HEVC encoders [J]. IEEE Trans. Multimedia,2013, 15(2): 465-470.

[9] XIONG Jian,LI Hongliang,WU Qingbo,et al. A fast HEVC inter cu selection method based on pyramid motion divergence[J]. IEEE Trans. Multimedia,2014,16(2):559-564.

[10] 刘昱,胡晓爽,段继忠. 新一代视频编码技术HEVC算法分析及比较[J].电视技术,2012,36(20):45-49.

[11] SHIAU Y,CHANG T. Fast prediction unit selection for HEVC fractional pel motion estimation design[C]//Proc. 2013 IEEE Workshop on Signal Processing Systems (SiPS).Taipei:IEEE Press,2013:247-250.

[12] YOO H M,SUH J W. Fast coding unit decision algorithm based on inter and intra prediction unit termination for HEVC[C]//Proc. 2013 IEEE International Conference on Consumer Electronics (ICCE). Las Vegas:IEEE Press,2013:300-301.

[13] PAN Z,KWONG S,SUN M,LEI J. Early MERGE mode decision based on motion estimation and hierarchical depth correlation for HEVC[J]. IEEE Trans. Broadcasting,2014,60(2):405-412.

[14] LEE P J,KUO K T,HUANG S H,et al. Coding mode determination using fuzzy reasoning in H.264 motion estimation[J]. IET. Signal Processing,2011,5(2):242-250.

[15] LIN Jianliang,CHEN Yiwen,HUANG Yuwen,et al. Motion vector coding in the HEVC standard[J]. IEEE Journal of Selected Topics in Signal Processing,2013,6(7):957-968.

责任编辑:时 雯

Research of Inter Frame for High Efficiency Video Coding Based on Gray Value Difference

PENG Xin,HE Xiaohai,XIONG Shuhua,LI Xiangqun

(SchoolofElectronicsandInformationEngineering,SichuanUniversity,Chengdu610065,China)

With respect to the computational complexity of the High Efficiency Video Coding(HEVC), a rapid partitioning strategy of coding unit(CU) which is based on the gray value difference algorithm by using the strong temporal correlation in video sequences is proposed. The method is to determine the depth of the current coding unit before coding process, according to the differences of gray level between the current coding block and referencing block, which can reduce the number of times of inter-frame prediction and lower the computation complexity of the encoding. As a result, in the cases that both coding efficiency and PSNR are tiny, the coding time is decreased by 50.18% when compared with the inter prediction algorithm recommended in HM standard.

HEVC; inter frame prediction; gray value difference; coding time

【本文献信息】彭欣,何小海,熊淑华,等.基于灰度差值的HEVC快速帧间编码研究[J].电视技术,2015,39(13).

国家自然科学基金项目(61471248);四川省教育厅2014年研究生教育改革创新项目(2014-教-034)

TN919.81

A

10.16280/j.videoe.2015.13.001

2015-03-12

猜你喜欢
像素点差值灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于灰度拉伸的图像水位识别方法研究
高技术通讯(2021年3期)2021-06-09 06:57:48
差值法巧求刚体转动惯量
基于canvas的前端数据加密
枳壳及其炮制品色差值与化学成分的相关性
中成药(2017年6期)2017-06-13 07:30:35
基于最大加权投影求解的彩色图像灰度化对比度保留算法
自动化学报(2017年5期)2017-05-14 06:20:56
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于灰度线性建模的亚像素图像抖动量计算
基于Node-Cell结构的HEVC帧内编码
电视技术(2014年11期)2014-12-02 02:43:28
基于区域最大值与平均值差值的动态背光调整