帧内预测

2024-08-04

帧内预测(精选7篇)

帧内预测 篇1

当前最广泛使用的视频编码技术是块基混合运动补偿DCT变换视频编码技术[1]。在这种视频编码框架中,输入图像首先被分割成16×16的块(宏块),然后宏块被按顺序依次编码。当前编码块可以参考当前帧已编码块和从前已编码帧中的块作为当前块的预测,进而减小残差,提高编码效率。仅使用当前帧已编码块作为参考的帧叫帧内编码帧;不仅使用当前帧的已编码块,而且使用从前已编码帧作为当前块预测的帧叫帧间编码帧。在混合视频编码中,当前最流行的帧内编码算法是帧内方向预测技术。在这种方法中,当前编码块的预测从其左边相邻一列像素及其上边相邻一行像素依据一定方向求出。方向信息被编入码流以至于解码器能根据这个方向信息执行和编码端中相同的帧内方向预测。本文提出一种新的根据任意一个方向,从当前块的左相邻列和上相邻行产生当前编码块的预测块的算法。

1 技术背景

帧内方向预测是一种高效的帧内编码方法。与各种基于小波变换[2]的算法相比,帧内方向预测能提供相同或更好的性能。然而,帧内编码的性能仍然不令人满意。在有些情况下,一个GOP甚至一半的码率由帧内编码帧占用。为了继续增进其性能,学者们提出了许多种算法。文献[3]中引入了帧内块运动补偿,对于当前编码块,在当前帧的已重构图像中搜索一个最匹配当前块的块,然后把相应的运动向量编入码流。这个方法能提供不错的编码性能,但是其编码端复杂度非常高。文献[4]中引入了模板基的帧内预测,这个算法也使用了帧内运动补偿,但其运动向量由当前块左上相邻块运动估计得到,这样节省了运动向量的码率,但编解码端都需要进行运动估计,复杂度极高,且模版的模式并不能准确反映当前块的模式,其补偿效率比文献[1]提及的预测方法低。文献[5]中引入了加权帧内预测,通过将两个不同方向的帧内预测型号的加权和作为一个新的预测,而残差则使用方向变换来编码,此算法很大地提高了帧内预测的性能,但方向变换比较复杂。文献[6]中引入了行基帧内预测,通过对当前编码块的每一行引入一个预测方向,这种算法能极大提高预测的效率,但是损失了大变换的效率。

在当前正在制定的国际标准HEVC中,为了提高帧内预测的效率,帧内预测的方向最多被扩展到34种,并以一种名叫角度帧内预测(ADI)的方法[7]来产生任意方向的帧内预测信号。ADI有行基和列基的两种模式,其预测方向由当前块的最后一行或最右一列相对于当前块的上面一行或左边一列的偏移来定义。对于当前编码块中的每一行(列),首先根据当前方向计算出其相对于当前块上面一行(左边一列)的位移,其值由双线性插值求出。

本文提出一种新的任意方向的帧内预测信号计算方法,它能提供与ADI相当或略优的性能。

2 任意方向帧内预测算法描述

如图1所示,最左一列的灰色像素为列重构像素L[x](x为大于等于-1的整数),最上一行的灰色像素为行重构像素T[x](x为大于等于-1的整数)。8×8白色像素块是当前编码块,当前编码块的预测信号将由重构像素依据预定的方向计算得到。预测方向A和预测方向B的预测角分别为γβ。对于当前编码块中的任意一个像素(x,y),x,y∈[0,7],可以根据预测角求得其同一个方向上的列重构像素或行重构像素的坐标。以预测方向A为例,与像素(x,y)在同一个预测方向上的列重构像素的坐标yonxeq0=y-(x+1)×tan(γ),行重构像素的坐标xonyeq0=x-(y+1)tan(γ)。由于坐标可以是小数,其值由双线性插值得出。在实际实现中,对于任意一个预测角γ,求得整数xscl=|256×tan(γ)+0.5|yscl=|256tan(γ)+0.5|,作为常量预先存储在内存中。当根据预测角γ计算当前编码块的预测块P[x,y]时,坐标的小数中取4位精度作为双线性插值的系数(下式中w0)。

当前像素的列重构像素预测PL[x,y]计算如下

yoff=(x+1)×xscl>>4 (1)

w0=yoff&15 (2)

w1=16-w0 (3)

ycrd=y-(yoff>>4)-1 (4)

PL[x,y]=(wL[ycrd]+wL[ycrd+1]+

8)>>4 (5)

式中:对于PL[x,y]中的任意一列,其w0和w1是相同的,而ycrd则依次相差1,这使得该算法非常适合并行计算。

行重构像素预测PT[x,y]计算如下

xoff=(y+1)×yscl>>4 (6)

w0=xoff&15 (7)

w1=16-w0 (8)

xcrd=x-(xoff>>4)-1 (9)

PT[x,y]=(wT[xcrd]+wT[xcrd+1]+

8)>>4 (10)

式中:对于PT[x,y]中的任意一行,其w0和w1是相同的,而xcrd则依次相差1,这使得该算法非常适合并行计算。

由于xcrdycrd不能小于-1或大于等于当前块尺寸的2倍,所以当预测角γ∈(0,90)时,由于0<min{yscl,xscl}≤256,所以必有-1≤max{xcrd,ycrd}≤blksize-1,其中blksize是当前块尺寸。所以约定当预测角γ∈(0,90)时,如果ycrdxcrd时,取P[x,y]=PL[x,y],否则P[x,y]=PT[x,y]。当预测角γ∈(90,135)时,ysclxscl为负数且|xscl|>256,|yscl|<256。此时ycrdxcrd都大于0,但ycrd可能会大于当前块尺寸的2倍,而xcrd总在合法范围内。当ycrd大于当前块尺寸的2倍时,PL[x,y]会变得不精确,故此时约定P[x,y]=PT[x,y]。同理,当预测角γ∈(135,180)时,约定P[x,y]=PL[x,y]。

3 任意方向帧内预测算法性能分析

该算法选用AVS参考软件MM 1.0作为编码实验平台。由于AVS已有5个方向预测模式,其中1个是DC模式,其余都是方向预测模式,其预测角分别为0°,45°,90°和135°。分别采用ADI算法和该算法,在(0,45)之间、(45,90)之间、(90,135)之间和(135,180)之间各插入7个新的预测方向,所以共有33个预测模式。所有符号全部采用算术编码器进行编码。为了公平比较,所有预测模式的编码全部采用类似于H.264的形式,即以左相邻块和上相邻块的帧内预测模式之间的最小值作为预测,编码一个符号来判断当前模式是否为此预测模式,若否,则用一个定长码来编码当前模式。在AVS中,由于只有5个模式,除去1个预测模式仅剩4个,所以将其二进制化为2位定长码进行算术编码。而ADI模式和该算法共有33个模式,除去一个预测模式外还有32个,所以二进制化为5位定长码进行算术编码。编码实验选用的5个1 080 p测试序列是basketballDrive,BQTerrace,Cactus,Kimono1和ParkScene,仅前10帧被编码,4个QP分别选为30,35,40和45。编码结果如图2所示,其中ACUANG为该算法,ADI33是ADI算法,AVS是AVS算法。由图2可见该算法和ADI具有非常类似的编码性能,两者都优于AVS的帧内预测算法。该算法和ADI算法相比于AVS的BD码率结果[8]如表1所示,其中ACUANG是该算法,ADI33是ADI算法。由表1可以看出,该算法和ADI算法相比于AVS的帧内预测算法都有显著的码率节省,其中该算法相比ADI33算法可以平均节省码率0.24%。

4 结束语

本文提出一种新的任意方向帧内预测算法,该算法与ADI算法相比,能提供相同或稍好的性能。

摘要:提出一种新的任意方向帧内预测算法。对于任意一个预测角度,首先求出其余切与正切值。然后对于当前编码块内任意一个像素,求出与其在同一个方向上的当前块左边一列和上边一行上像素的坐标,从而求出当前像素的左边一列预测值和上面一行的预测值。两者中与当前像素距离较近的预测值就是当前像素的最终预测值。实验结果表明该算法与角度帧内预测(ADI)相比具有相同或略优的性能。

关键词:帧内预测,任意方向,角度帧内预测

参考文献

[1]梁夫彧,李娟,门爱东.现代视频编码关键技术及其发展[J].电力系统通信,2006,161(3):1-4.

[2]林福宗.小波与小波变换[EB/OL].[2011-07-20].http://wenku.baidu.com/view/f65e562acfc789eb172dc85a.html.

[3]YU S L,CHRYSAFIS C.JVT-C151,New intra prediction using intra-macroblock motion compensation[R].[S.l.]:JCT,2002.

[4]TAN T K,BOON C S,SUZUKI Y.Intra prediction by template matching[C]//Proc.ICIP 2006.[S.l.]:IEEE Press,2006:1693-1696.

[5]YE Y,KARCZEWICZ M.Improved H.264 intra coding based on bidi-rectional intra prediction,directional transform,and adaptive coefficientscanning[C]//Proc.ICIP 2008.[S.l.]:IEEE Press,2008:2116-2119.

[6]PENG X L,XU J Z,WU F.Line-based Image Coding using AdaptivePrediction Filters[C]//Proc.ISCAS 2010.[S.l.]:IEEE Press,2010:4221-4224.

[7]UGUR K,ANDERSSON K,FULDSETH A.JCTVC-A119 description ofvideo coding technology proposal by Tandberg,Nokia,Ericsson[R].[S.l.]:JCT-VC,2010.

[8]BJONTEGAARD G.VCEG-M3 calculation of average PSNR differencesbetween RD curves[R].[S.l.]:ITU-T,2001.

快速AVS帧内预测算法 篇2

AVS作为我国第一个具有自主知识产权并达到国际先进水平的数字音视频编解码标准, 全称为《信息技术先进音视频编码》[1,2]。AVS采用包括ICT变换、量化、帧间预测编码、帧内预测编码、熵编码、环路滤波等核心模块的混合编码。相比于MPEG-2标准, AVS编码效率提高了2~3倍, 在编码高清视频信号时, 获得与先进视频编码标准AVC/H.264主要档次 (MP, Main Profile) 相当的编码效率, 但算法复杂度只有60%~70%, 实现了算法复杂度和编码效率的折衷。

AVS采用基于时间和空间的预测编码、变换编码和熵编码的混合编码结构。统计AVS各部分的编码时间, 约35%的编码时间消耗在帧内预测上。在帧内预测编码方面, AVS比H.264的预测流程更加简洁, 采用更少的预测模式, 实现复杂度也大幅度降低。但参考软件在PC平台广播档次下, 编码I帧平均要用1.5秒, P帧要3.5秒, B帧更多, 编码效率相对较低。通过分析AVS的编码原理及流程, 提出一种快速帧内预测算法, 该算法先判定全零系数块, 并联合时域SAD与频域SATD, 过滤掉不可能的预测模式, 进而提高AVS编码效率。

1 零系数块

1.1 零系数块的统计

视频编码中实际数据与预测数据之差称为残差数据, AVS编码以宏块为基本单元, 大小为16×16, 一个亮度子块由4个8×8块组成, 8×8块以下简称子块。由文献[3]定义零系数块ZB (Zero Block, 简称零块) 即子块的残差数据都为零, 在AVS参考软件GDM2.0中, 选取最优预测模式BPM (Best Prediction Mode) 是在帧内预测编码的最后阶段才进行元素cbp编码, 前面进行了一系列复杂操作, 这部分很消耗时间, 如果当前子块是零系数块, 把当前宏块cbp元素的编码放在帧内编码的最后会大大影响编码效率。

为统计零系数块的比例, 分别对football, bus, highway, mobile的CIF序列测试统计, 统计结果如表1所示, 测试条件如下:Pentium4200, 2G内存, Enable Hadamard, Enable RD optimization, Off Rate Control, Enable FME, 30 Frames, Frame Style IPPP, GOP=8。

从表1中可以看出, 零系数块在宏块中所占的比例很高, 且随着QP的增加而增加。若是能提前判定当前子块为零系数块, 进而直接编码宏块的cbp元素而避免后续复杂的编码操作, 这样能很大幅度提高编码效率。

1.2 零系数块的推导

为减少相邻像素间空间相关性, AVS采用8×8预缩放整数变换ICT (Pre-scaled Integer Cosine Transform) , 源于离散余弦变换DCT (Discrete Cosine Transform) , 是定点余弦变换的扩展, 旨在保持相当的压缩性能的同时降低计算复杂度以及避免DCT变换导致的编解码失配问题。AVS中ICT变换过程:

其中矩阵X为残差数据 (具体见第三部分) , A为AVS的ICT变换矩阵, AT为变换矩阵A转置矩阵。AVS参考软件中, 残差数据Xij经过ICT变换及尺度缩放如式 (2) :

残差变换系数量化过程如下:

其中Fq为残差X变换量化后的值, Scale M是一个以位置参数i, j为索引的二维表, Q_TAB=f (QP) , 是以量化步长QP为索引的一维常数表, 与QP值成递减关系, qp_cost为预测编码常数, 对于帧内编码qp_cost为 (1<<15) ×10/31, 对于帧间编码qp_cost为 (1<<15) ×10/62。将式 (2) 代入式 (3) , 得到如式 (4) :

式中由绝对值不等式的性质可对式 (4) 中的表达式作进一步推导:

式中, 将其代入式 (5) , 进而得到式 (6) :

由函数极限可知, 如果F (u, v) 小于1, 量化值为0, 此时得到的阈值可作为零系数块判定的充分条件, 即当表达式 (6) 和Scale M[i][j]取最大值时, 并将其代入式 (2) , 得到判定当前子块为零系数块的阈值。其中SAD值已经求出, 判定零系数块并没有增加复杂运算, 在算法的代码实现时, 做成以QP为索引的一维常量阈值数据表, 判定零系数块时只需查表即可查到阈值, 降低系统开销, 例如当QP为24时,

2 快速帧内预测

2.1 AVS帧内预测

AVS沿袭H.264帧内预测编码思路, 用相邻块的像素预测当前块的像素, 有n种代表空间纹理方向的预测模式, 但在相当的编码质量的情况下, AVS的帧内预测模式更少, 预测以子块为最小单位, 亮度有5种预测模式, 色度有3种, 以下预测皆以亮度预测分析。由文献[4-7]知, AVS的帧内预测过程有两种方案:一是使用SAD进行预测, 选取各模式下最小SAD值对应的预测模式为最佳预测模式;二是使用率失真代价函数RDO (Rate Distortion Optimization) 值[7], 选取值最小者相应的预测模式为最佳预测模式。

采用全搜索遍历各种预测模式计算比较率失真代价函数值J (m) , 计算过程如式 (7) 所示:

其中i, j为子块中像素所在的行、列号, D (m) 为源数据与重建数据之差的平方和, 计算如式 (8) , 微观上反映帧内预测的准确度。λ是拉格朗日系数, 与量化步长QP有关, 计算如式 (9) ;R (m) 为编码比特流数, 包括编码最佳预测模式、当前子块的位置参数、类型以及亮度系数所用的比特数, 计算如式 (10) :

式 (8) 中的Cij为重建数据, 计算如式 (11) 。残差数据经过ICT变换、尺度变换、量化, 得到量化后的变换系数, 量化后的变换系数经过反量化、ICT逆变换, 得到重建数据, 即由残差数据到重建数据要历经“T变换->Q量化->Q-1反量化->T-1反变换”过程。

最佳预测模式是遍历5种预测模式计算其J (m) , 选出最小者相应的预测模式为最佳预测模式。可以看出全搜索算法过程复杂, 计算量大。其中NQ (m) 是编码DCT变换系数的比特, NI (m) 是编码当前块帧内预测模式的比特数。

2.2 快速帧内预测FMD算法

由帕塞伐尔 (Parseval) 定理可知, 时域中对序列求能量与频域中求能量是一致的。由文献[7]可知SAD反映残差时域差异, SATD反映残差频域差异, 它们的计算仅用加减法及移位操作, 单独采用SAD或SATD进行预测方法相对简单, 但预测准确度不高。好的帧内预测模式应该SAD和SATD同时小, 据此可以联合时域与频域残差数据选取最优预测模式。

SAD为当前子块实际像素值与预测像素值之差的绝对值, 反映的是时域下的预测精度, 求取公式如下:

其中bk代表当前宏块的第k (1≤k≤4) 个子块, P (x, y) 代表预测像素值。

SATD为将残差经Hadamard变换的8×8子块的预测残差绝对值总和, 简单的时频变换, 求取公式如下:

其中D (x, y) 是第bk个子块的残差数据, 残差数据可由式获得, Hadamard变换只需加减与移位运算, SATD运算简单便于实现。

分别按式 (12) 和式 (13) 求取当前子块在各种预测模式下的SAD和SATD, 按大小排序, 将5种预测模式的结果存放在5×5的窗口内, 每列与每列仅有一种预测模式, 图中SATD与SAD值随着箭头方向递增。图1中的 (a) 、 (b) 和 (c) 所列出是各种情况下的排序, 从中可以看出必有一种预测模式落在3×3种框中, (a) 中有1种预测模式落入3×3框内, (b) 和 (c) 中分别为2种和3种。SAD与SATD联合判定, 排除不可能的预测模式, 至少排除2~4种预测模式, 即排除40%~80%的预测模式, 剩余的预测模式用率失真代价函数选取最优预测模式。

2.3 快速帧内预测流程

结合第一部分零系数块以及第二部分快速FMD算法, 以亮度的预测模式的为例, 得到如下快速帧内预测算法的流程:

1) 计算当前宏块中的8×8子块的SAD值, 并根据第二部分的零块的阈值判断阈值ThSAD相关, 低于阈值的则为零系数块, 直接编码元素cbp, 无需进行下面的预测判定流程。

2) 求取当前宏块中的子块在种预测模式下的SAD及其SATD值, 并分别将其从小到大排序, 将所得结果放入图1所示的矩形方块内。

3) 选取左上角3×3矩形内的预测模式, 得到1到3种预测模式, 若为1种则直接作为最佳预测模式, 否则求取所得到的预测模式的RDO值J (m) , 如式 (7) 所示, 取得J (m) 最小值对应的预测模式为最佳预测模式。

3 实验结果

为验证本文提出的算法, 结合快帧内预测和零系数块部分改进算法对AVS编码时间进行测试, 测试条件:GDM2.1参考软件, 测试机Pentium4200, 2 G内存, Enable Hadamard, Enable RD optimization, Off Rate Control, Enable FME, 30 Frames, Frame Style IPPP, GOP=8。分别选取量化步长QP=25, 30, 35, 40, Bitrate 768000bps, 相应算法改进前后测试序列的PSNR、Time、Bitrate如表2所示。

从表2中可以看出, 采用快速帧内预测选择算法后, 在PSNR降低0.25 db和码率增加2%之内, AVS编码效率明显提高了, 时间减少了40%以上。

4 结语

提出一种快速AVS帧内预测编码算法, 首先对当前块进行零系数块判定, 再根据结果, 进行结合SAD与SATD的FMD算法, 排除了40%~80%不可能的预测模式, 提高了编码效率。

摘要:针对AVS (Audio Video code Standard) 帧内预测中选择最优编码模式流程复杂的问题, 提出一种快速帧内预测编码的算法。通过分析AVS帧内预测编码的原理及其在参考软件GDM2.1中的代码实现, 推导出判定零系数块的阈值。该快速算法根据零系数块的判定阈值条件判定当前块, 对于零系数块, 直接编码cbp元素, 提前中止帧内预测编码, 避免了后续的复杂流程;对于非零系数块, 采用时域SAD (Sum of Absolute Difference) 与频域SATD (Sum of Absolute Transformed Difference) 相联合的快速选择算法, 排除了40%80%的不可能预测模式, 对余下的模式采用率失真代价函数的方法选取最佳预测模式。经实验验证, 在PSNR (Peak Signal to Noise Ratio) 降低0.25 db和码率增加2%之内, AVS编码时间减少了40%以上, 大幅度提高了编码效率。

关键词:AVS,帧内预测,零系数块,SAD,SATD

参考文献

[1]数字音视频编解码技术标准工作.AVS技术创新报告 (2002-2010) [M].北京:北京人民邮电出版社, 2011.

[2]GB/T 20090.2—201X信息技术先进音视频编码第2部分:视频[S].2011.

[3]Lee Y, Lin Y.Zero-block mode decision algorithm for H.264/AVC[J].IEEE Trans.Image Process, 2009, 18 (3) :524-533.

[4]Dae Yeon Kim, Yung Lyul Lee.A fast intra prediction mode decision using DCT and quantization for H.264/AVC[J].Signal Processing:Image Communication, 2011 (26) :455-465.

[5]Changsung Kima, Hsuan Huei Shihb, C C Jay Kuo.Fast H.264 Intraprediction mode selection using joint spatial and transform domain features[J].J Vis Commun.Image R, 2006 (7) :291-310.

[6]汪育春, 曾毓敏, 朱力.H.264帧内预测模式选择快速算法的研究[J].计算机应用与软件, 2011.28 (12) :115-118.

基于像素分组的帧内预测快速算法 篇3

关键词:HEVC,帧内预测,像素分组,快速算法

0 引言

HEVC/H.265[1], 是由ISO/IEC (MPEG) 和ITU-T的VCEG联合成立的JCT-VT正在规划的新一代视频编码标准, 它的核心目标是在H.264AVC High Profile的基础上, 压缩效率提高1倍, 即在保证相同视频图像质量的前提下, 视频流的码率减少50%。作为新一代视频编码标准, HEVC采用了更为灵活的CU、PU、TU的编码框架以及四叉树分割方式, 来进行编码、预测和变换的操作。相比于AVC, HEVC的帧内预测更加精准, 但是却带来了极大的计算复杂度。因此, 如何针对HEVC新的编码结构, 寻找降低编码复杂度的方法, 是HEVC适应实时应用的关键。

本文主要考虑将35种预测模式按照梯度方向进行分组, 然后通过本文提出的算法提取像素块的梯度方向性信息, 并且与分组信息进行比对匹配, 以达到减少粗选时间的目的;同时参考论文[2]中的统计信息, 减少参与RDO运算的模式数量。实验结果表明, 该算法在影响视频质量非常小的情况下可以减少约20%的时间。

1 HEVC帧内预测

1.1 HEVC编码结构

相对于H.264/AVC, HEVC基于四叉树的编码结构更为灵活, 提高了编码的精度。在H.264/AVC宏块 (Macro Block) 概念的基础上, HEVC提供了更大的块尺寸, 达到了 (LCU) 64×64。从LCU开始以四叉树的划分方式, 可以划分为32×32、16×16、8×8和4×4的不同尺寸[1], 具体的划分方法如图1所示。帧内预测可以使用的PU尺寸只有两种:2N×2N和N×N。通过子块划分标记Flag来确定, 若Flag=1, 则PU从2N×2N通过四叉树的方式划分为4个N×N, 然后再进一步确认子块划分标志Flag来判断是否需要再分, 如此循环直到PU尺寸为4×4为止。其中, 每个块是其更小的划分块的父块。对于64×64的LCU, 编码器通过遍历所有可能的划分方式, 最后选择率失真性能最好的一种划分组合, 然后对该LCU进行编码。

1.2 HEVC帧内预测算法

随着人们对高清视频的需求越来越高, 因此H.264/AVC的9种帧内预测模式已经不能满足压缩过程中对视频细致纹理结构的需求与码率的平衡。为了达到更精确的预测效果, 同时平衡码率对现有带宽带来的挑战, HEVC提供了更多的预测模式, 每种尺寸的块最高支持33种不同的预测方向和2种非方向性预测模式 (DC和Planar) [3], 如图2所示。在得到当前块的最佳预测方向时, 可以使用全率失真的方法 (Full RD) , 对每一个可能的预测方向和块划分方式的组合进行率失真计算, 在所有的尝试中选择率失真性能最好的一种组合作为当前编码块的帧内预测模式。理论上Full RD可以达到全局最优, 但是计算量太大。为了降低编码复杂度, 一些快速算法被相继提出并采纳到不同版本的HEVC中, 表1归纳了HEVC中先后被使用的两种快速算法。

对于Tmu C 0.7和JCTVC-C207[4], 二者均考虑先进行粗选, 然后再进行率失真计算局部最优, 只是判断规则不一样, 后者还考虑了比特率这个因素;而对于JCTVC-D283[5], 加入了预测块的空间相关性的考虑, 提出了MPM的概念。

2 基于图像特征信息的帧内预测模式的快速选择算法

HEVC帧内预测有33种方向性预测和两种非方向性预测 (DC和Planar) 。HM 12.0[6]中仍然延续JCTVC-C207提案中的判断规则, 需要从35种预测模式中粗选出N种 (N与对应的块的尺寸有关) 。但是需要对所有尺寸的PU都进行35种模式遍历, 加上后面的RDO计算, 编码复杂度仍然很高, 帧内预测时间占比仍然非常高。

基于以上分析, 同时考虑降低RMD计算复杂度和RDO计算量来降低帧内预测时间。因此, 提出基于PU的像素的方向性信息将35种预测模式分为5组:4组基于方向的 (0°、45°、90°、135°) 和一组非方向性的, 每组包括9种预测模式。分组情况如下:

在分组之前, 先对PU的方向性信息进行提取, 具体算法如下:

(1) 对于4×4的PU, 如图3所示。基于像素灰度值进行如下计算:

(2) 基于 (1) 中的计算, 然后对其分组计算, 计算过程如下:

从最大值来确定最优预测模式的分布区间。对于其他尺寸的PU, 可以参照图4来进行相应的判断。对于16×16, 首先计算每个4×4的值, 然后将得到的值代入 (1) 中循环计算。

(3) 从 (2) 中得到的9种预测方向加上DC和Planar, 最多11种预测模式来进行RMD粗选, 从SATD值中得到n种候选模式 (即SATD值最小的前n个) , 其中n的取值根据PU的尺寸的变化而不同。参考文献[2]指出:从RMD中选出的前两个模式为RDO最佳模式的概率占很大比例, 且这个值在不同的测试条件下相差很小。因此, 对应于PU的Size={4×4, 8×8, 16×16, 32×32, 64×64}, 相应n的值分别取为{4, 4, 4, 2, 2}, 与HM 12.0中{9, 9, 9, 4, 4}的取值范围相比, 要少了很多, 进一步降低了运算复杂度。然后对候选列表中的n种模式进行RDO[7]运算, 选出最佳。具体运算流程如图5所示。

3实验结果

本文算法的测试条件和软件参考配置, 服从HM最新的配置标准。选取了最具代表性的两种分辨率 (1920×1080和2560×1600) 的视频进行测试, 如表2所示。YUV序列均使用HM 12.0模型进行测试。算法的测试环境和配置参数如下:

(1) 计算机配置为Intel core i3-330M2.13GHz, 操作系统Windows7 32位, 内存3GB。

(2) 设置QP值为22, 27, 32和37, 配置文件为encode_intra_main.cfg。

(3) 每个序列取前10秒进行测试。

(4) 熵编码器使用CABAC编码, 帧内编码使用全I帧配置。

采用BD-PSNR/Rate[7]来作为编码效率的评判标准, 具体指标如下:

分析表3中数据可知, 整体上码率 (Bitrate) 上升了0.9%, 所有序列的平均BD-rate损失为1.3%, 峰值性噪比 (PSNR) 平均降低了0.02d B (降低最多为0.057d B, 最少为0.001d B) , 均在可接受范围内。其中, 对于YUV序列Park Scene在QP的值为22和27的时候, 其对应的码率 (Bitrate) 分别降低了0.09%和0.01%。但是, 相对于HM12.0来说, 编码时间平均降低了大约20%, 与预期结果一致。

4 结束语

本文提出了一种基于像素分组的帧内预测快速算法, 通过计算图像块像素的梯度方向, 并与像素的预分组信息进行匹配, 粗选获得图像块的纹理方向, 从而减少候选预测模式数量, 降低帧内预测计算的复杂度。实验结果显示, 本算法能够提高编码的速度, 同时对图像质量和码率的影响很小。

参考文献

[1]Sullivan G J, Ohm J R, Wiegand T, et al.Overview of the high efficiency video coding (HEVC) standard[J].IEEE Trans.Circuits and Systems for Video Technology, 2012, 12 (12) :1649-1667.

[2]赵川.基于HEVC下的帧内预测快速算法研究与实现[D].北方工业大学, 2013.

[3]Bross B, Han W J, High Sullivan G J, et al.High efficiency video coding (HEVC) text specification draft 10 (for FDIS&Last Call) [EB/OL].[2013-03-19].http://phenix.int-evry.fr/jct/.

[4]Piao Y J, Min J, Chen J L.Encoder improvement of unified intra prediction, C207[R].Guangzhou, CN:JCT-VC, 2010.

[5]Zhao L, Zhang L, Zhao X, et al.Further encoder improvement of intra mode decision, D283[R].Daegu, KOR:JCT-VC, 2011.

[6]JCT-VC.JCT-VC HM software edition 12.0[EB/OL].[2013-08-10].https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-12.0/.

帧内预测 篇4

关键词:边缘方向直方图,模式选择,帧内预测,视频压缩

0引言

H.264/AVC是ITU-T和MPEG联合制定的最新视频压缩标准。与以往视频压缩标准相比,H.264/AVC更注重各功能模块的技术细节[1],有效地提高了编码效率和网络适配性,改善了视频质量,与此同时算法复杂度也随之增加。H.264/AVC帧内预测编码中,为了获得高质量视频,采用了拉格朗日率失真优化RDO(Rate-Distortion Optimization)的方法来求最优预测模式,该方法有效地降低了空间冗余,提高了压缩效率;但为了得到一个最优帧内预测模式需要进行592种组合模式的RD(Rate-Distortion)运算为代价[2];大幅度增加了运算复杂度,不适合应用于实时通信场景。为减少帧内预测编码时间,文献[3]利用绝对值残差之和对intra_4×4方式预判,根据变换域绝对残差之和特征排除可能性小的intra_4×4预测方式;文献[4]基于像素之间相关性,筛选可能性较小的预测模式;文献[5]提出了利用多阈值的半路停止算法,较大程度降低4×4块复杂度。本文提出一种新的帧内预测算法,该算法简单有效,在编码性能和编码时间上取得了较好的平衡。

1帧内预测

1.1帧内预测模式

帧内预测利用空间相关性消除空间域冗余达到压缩目的,通过宏块的上边和左边相邻的像素进行预测,然后预测宏块和原始宏块作差得到残差块并对残差宏块变换、量化、熵编码。H.264视频压缩标准中定义了两种亮度预测方式:intra_4×4和intra_16×16,一种色度预测方式:intra_8×8。intra_4×4亮度预测方式共有9种预测模式,即8种方向型预测模式和DC预测模式,DC预测模式是对参考像素求均值进行预测; intra_16×16亮度预测方式和intra_8×8色度预测方式分别有4种预测模式[1]。图1中小写字母为待预测像素,大写字母为该4×4待预测宏块的预测参考像素;intra_4×4亮度预测方式的8种方向型预测模式的预测方向如图2所示。

1.2帧内预测最优模式选择

H.264/AVC原始算法中,每个16×16亮度宏块预测要经过9种intra_4×4候选模式和4种intra_16×16的候选模式的预测,然后利用率失真RD代价函数进行选择最优模式,拉格朗日代价函数公式如下:

JMode(SK,IKQP,λMode)=SSD+ λMode×R(SK,IKQP) (1)

式中QP为量化参数,R(·)是所选模式的码率,λMode为拉格朗日系数,一般取λMode=0.85×2(QP-12)/3,SSD是原始块和预测块的像素值的平方差之和,SK为编码宏块,IK为编码模式。该算法为了得到最优预测模式,以色度块作外循环,通过拉格朗日代价函数计算出色度宏块和亮度宏块组合的最小代价作为最优模式,因此每得到一个最优预测模式就要经过4×(9×16+4)=592种组合模式的运算量为代价。

2Pan算法

最优的预测模式和图像纹理是息息相关的, Pan等人提出基于Sobel算子来提取边缘方向信息,并建立边缘方向直方图,使边缘方向和预测方向相同时得出最优预测模式或次优预测模式[6] ,即利用同一边缘方向上已经预测的像素来预测待预测的像素。

2.1构建边缘方向直方图

Pan算法采用Sobel算子来取得局部边缘方向信息,该算子是基于一阶微分的边缘检测方法。对于离散数据处理有两个卷积核,分别反映垂直和水平方向的变化程度[7]。原始视频与两个卷积核卷积后,像素P(i,j)产生相应的水平强度dxi,j和垂直强度dyi,j如下:

因此边缘矢量为:

Di,j={ dxi,j , dyi,j } (4)

边缘矢量强度近似为:

Amp(Di,j)=dxi,j+dyi,j (5)

边缘矢量方向:

Ang(Di,j)=180°π×arctan(dyi,jdxi,j) (6)

基于上述公式,对宏块中像素分别求边缘矢量和边缘矢量强度;根据预测模式的预测方向不同,分别对预测模式划分方向区间,每个像素点的边缘矢量方向对应到各预测模式的方向区间里,然后该区间对应的预测模式矢量强度增加该像素点的矢量强度。例如intra_4×4方式中预测模式4的方向区间为(-54.2°,-35.8°],即dy/dx的比值在(0.668,1.497]区间内,若第一个像素P0,0的dy0,0/dx0,0=0.9,则模式4的矢量强度幅值histo(4)+=Amp(D0,0),遍历剩余像素作上述运算,建立边缘方向直方图。

2.2Pan算法策略

Pan算法是基于边缘方向直方图对候选模式进行筛选。首先构建边缘方向直方图,对于intra_4×4亮度预测方式选用边缘方向直方图幅值最大的模式和相邻的两个方向预测模式,以及DC模式为候选模式;对于intra_16×16亮度预测方式和intra_8×8色度预测方式选用边缘方向直方图中幅值最大的模式和DC模式为候选模式;然后对候选模式采用全搜索算法求最优预测模式,因此Pan算法将最大模式组合下降到3×(4×16+2)=198种,有效地提高了编码速度。

3新型帧内预测算法

3.1宏块预测方式的预判

对于亮度预测而言,若能确定选用intra_16×16或者intra_4×4预测方式,则减少了候选模式,从而降低了计算复杂度。16×16宏块适合平坦宏块的预测,4×4宏块更适合细节纹理宏块的预测。基于此,本文提出利用灰度直方图能量分布特性对预测宏块方式预判;为不失一般性,选用claire.bmp作为讨论对象,该灰度图像既包含了平坦区域(图像背景)又包含了纹理区域(人物头部)以及特征不明显的区域(人物衣服),因此可以客观地证明该预判算法的可行性。图3为claire.bmp分割成64个16×16宏块,每个分割宏块的灰度直方图如图4所示。

从图3、图4中可以看出平坦宏块的灰度直方图中能量大多集中于某一处,宏块中像素值单一,大多为相同像素值,即16×16宏块中频次不为0的灰度级个数较少;纹理细节宏块的直方图中能量更加分散,宏块中像素值较多不同,即宏块中频次不为0的灰度级个数较多。对此本文提出一种基于灰度直方图能量分布特性的快速intra_4×4和intra_16×16预测方式判决。为了避免对特征不明显的宏块误判,采用双阈值预判。首先确定宏块中频次不为0的灰度级个数的下限阈值为T1、上限阈值为T2;然后计算宏块中频次不为0的灰度级个数N,若N<T1,则采用intra_16×16预测方式;若N>T2,则采用intra_4×4预测方式;若N在两阈值之间,则不作处理,并按原算法计算。阈值的选取影响了计算复杂度,同时也影响了解码后的图像质量;当下限阈值过高与上限阈值过低时,计算复杂度较小,解码图像质量低;若下限阈值过低,上限阈值过高,则计算复杂度较大,解码图像质量高。经过测试大量视频序列,得出经验阈值T1=10,T2=50时,综合效果最优。图5为QP=28,foreman_qcif视频序列的第一帧预判结果以及标准算法和本文算法的最终预测方式,其中(a)为预判结果,黑色区域为intra_16×16预测方式,白色区域为intra_4×4预测方式,灰色区域由于特征不明显,按照标准算法计算,白色区域和黑色区域只需计算intra_4×4或intra_16×16中的一种预测方式的率失真,这将大大减少了计算量;(b)、(c)分别为标准算法和本文算法的最终预测方式,小格部分为intra_4×4预测方式,大格部分为intra_16×16预测方式,从图中可以看出两种算法的最终预测方式是一致的;表1为阈值T1=10,T2=50时各视频序列的预判准确率和宏块筛选率,其中预判准确率为标准算法和本文算法中各宏块所选用的预测方式相一致的概率,宏块筛选率表示宏块中灰度级个数N<T1或N>T2的概率,即只需计算一种预测方式率失真的概率。与此同时,由于图像平坦程度不断变化,对阈值的选取也不断变化;采用以下策略对阈值自适应化:N<T1时,更新T1=T1/2+N/2;N>T2时,更新T2=T2/2+N/2;N在两个阈值之间则不作更新。

3.2对Pan算法的改进

Pan算法利用边缘方向矢量有效地筛选了可能性较小的候选模式,减少了计算量,但没有充分利用空域相关性以及边缘方向直方图特性进一步减少计算复杂度,针对存在的缺陷提出几点改进。

3.2.1 相邻像素相关性

构建边缘方向直方图时,对宏块中每个像素求边缘方向矢量强度,计算量较大,由于相邻像素之间相关性很强,不需要对所有像素求边缘矢量,本文采用亚采样方案对像素求边缘矢量,即对互相间隔的像素求边缘矢量以及边缘矢量强度。4×4宏块采样模型如图6所示,其中A表示此像素计算边缘矢量,B表示不计算。实验证明,亚采样后的数据对算法性能影响极小,可以忽略不计,却大大降低了计算复杂度。

3.2.2 边缘方向直方图特性

Pan算法在任何情况下都要计算DC模式的率失真代价,而DC模式只有在方向性不明显的情况下才适用,因而增加了算法复杂度。在边缘方向直方图中,方向型预测模式一般都有明显的高峰特性,利用此特性可以对候选模式进一步筛选,若特性明显,可以直接排除DC预测模式,若不明显则按照原算法计算。

图7、图8分别为4×4宏块的两种典型情况的边缘方向直方图。图7中每个预测模式的边缘矢量强度histo(k)较小,说明宏块内部的像素值近似,采用DC模式更为合理。从图8可以看出高峰特性明显,方向型预测模式可能性很大,可以直接排除DC模式。以4×4宏块为例,本文采用算法步骤如下:

a) 设置阈值T3,若边缘方向直方图中最大幅值Histo(max)<T3,表明宏块像素值近似,变化不明显,则采用DC预测模式并终止计算,否则转入b)。

b) 对边缘方向直方图的最大幅值Histo(max)和次大幅值Histo(s_max)求差,即V=Histo(max)-Histo(s_max);设置阈值T4,若V>T4,表明高峰特性明显,排除DC预测模式,选剩余候选模式进行下一步计算,否则按原算法计算。

3.2.3 邻近4×4宏块相关性

由于邻近4×4宏块具有高度相关性,邻近宏块的预测模式也高度相关。因此当4×4预测宏块的上边宏块和左边宏块具有相同的预测模式情况下,并且候选模式中包括了该预测模式,则该预测模式为预测宏块的最终预测模式,提前终止计算。

3.2.4 亮度预测模式和色度预测模式相关性

经过大量实验统计表明,当宏块采用intra_16×16方式中的一种预测模式时,色度预测模式具有与该亮度预测模式相一致的概率非常大[8]。据此规律,该宏块的intra_8×8色度预测模式可以直接从intra_16×16亮度预测模式与intra_8×8色度预测模式的对应关系上得到。

3.3新型算法具体描述

对上述的宏块预测方式的预判方法和改进后的Pan算法归纳,新型算法步骤如下:

(1) 编码某一I帧前,首先计算帧中每个16×16宏块中频次不为0的灰度级个数N。若N<T1,对宏块标记为intra_16×16,更新T1=T1/2+N/2;若N>T2,标记为intra_4×4,更新T2=T2/2+N/2;否则标记为0。

(2) 读取宏块标记,若标记为intra_4×4,则转入(3);若标记为intra_16×16,则转入(4);若标记为0,则转入(5)。

(3) 采用亚采样方案构建intra_4×4亮度边缘方向直方图,并确定最大幅值对应的预测模式和相邻的两个预测模式以及DC模式为候选模式。若最大幅值Histo(k)<T3,则直接采用DC模式为最终预测模式;否则计算V,若V>T4,则排除DC模式,选剩余候选模式转入(6),否则直接将候选模式转入(6)。

(4) 采用亚采样方案构建intra_16×16亮度边缘方向直方图,并确定最大幅值对应的预测模式和DC模式为候选模式。若最大幅值Histo(k)<T5,则直接采用DC模式为最终预测模式;否则计算V,若V>T6,排除DC预测模式,选择幅值最大的预测模式为最终预测模式;若V<T6,则转入(7)。由于intra_16×16亮度预测模式和intra_8×8色度预测模式的相关性,从而确定了色度预测模式。

(5) 采用亚采样方案构建边缘方向直方图,按照Pan算法策略求候选模式并转入(7)。

(6) 若该4×4宏块的上边块和左边块的预测模式一致,且该宏块的剩余候选模式中包含此预测模式,则此预测模式为最终预测模式;否则转入(7)。

(7) 对候选模式采用全搜索算法求出最优预测模式。

4实验结果和分析

实验平台为AMD A6-3400M APU with redeon(tm) HD Graphics 1.4GHz,1G,XP操作系统,Microsoft Visual C++ 6.0编译环境。选用JM8.6版本的测试模型,选用常用的2个QCIF格式(foreman和news)和2个CIF(mobile和bus)格式的视频序列。实验参数:全部选定I帧编码,选用Baseline profile,编码100帧,量化参数QP=28,32。实验指标:编码时间,输出比特率和峰值信噪比PSNR。表2、表3是新型算法与全搜索算法的实验数据比较;表4、表5为新型算法和Pan算法的实验数据比较;Foreman_qcif序列的率失真曲线如图9所示,可以看出编码时间的减少是以略微降低峰值信噪比,与I帧的编码比特数增加为代价的。由实验数据可知在PSNR少量降低,比特率略微增加的情况下,该算法与全搜索算法相比平均编码时间减少了68.9%,与Pan算法相比编码时间减少最大超过37%,较好地平衡了编码性能和编码时间。

5结语

本文讨论了H.264/AVC标准中的帧内预测算法和Pan算法的技术细节。基于灰度直方图能量分布特性对帧内预测方式intra_4×4与intra_16×16进行预判,然后在Pan算法基础上,利用空间域相关性和边缘方向直方图特性进一步优化算法并减少候选模式;在图像主观质量基本不变,牺牲少量压缩比的情况下,较大程度地提高了编码速率。

参考文献

[1]毕厚杰.新一代视频压缩编码标准:H.264/AVC[M].北京:人民邮电出版社,2009.

[2]Till Halbach.Performance comparison:H.26L intra coding vs.JPEG2000[R].ISO/IEC JTC1/SC29/WG11and ITU-T SG16Q.6,JVT4 th Meeting Klagenfurt,Austria,2002.

[3]谢翠兰,郑艺玲.基于SAD和SATD的H.264快速帧内预测算法[J].计算机工程,2008,34(10):215-217.

[4]王启文,黄东军.H.264中4×4块的快速帧内预测算法[J].计算机工程,2010,36(2):217-219.

[5]Meng B,Auoc,Wong C W,et al.Efficient intra prediction algorithm in H.264[C]//Proceedings of International Conference on Image Pro-cessing Barcelona.IEEE Press,2003:837-840.

[6]Pan Feng,Lin Xiao.Fast mode decision algorithm for intra prediction in H.264/AVC video coding[J].IEEE Transaction on Circuits and Sys-tem for Video Technology,2005,25(7):813-822.

[7]章毓晋.图像处理与分析[M].北京:清华大学出版社,2004.

[8]Schaferr.H.264JVT Reference Software Version8.6[CP/OL].(2007).ht-tp://iphome.hhi.de/suehring/tml/download/old_jm/.

[9]Joint Video Team.JVT-G050Draft ITU-T Recommendation and Final Draft International Standard of Joint Vedio Specification[S].2003.

帧内预测 篇5

关键词:帧内预测,差值,预测类型,H.264

0 引 言

新的视频编码标准H.264由于压缩效率高、网络适应性好等优点获得广泛的关注和应用。H.264性能大幅度的提高与使用了一些新技术密不可分。在新技术中,帧间预测和帧内预测模式分别使用可变块和多方向预测技术。帧内预测利用相邻宏块对当前待编码宏块进行预测,然后用预测值与当前待编码块的原始像素相减,得到残差,再对残差进行变换编码,可获得较低的码率,提高压缩率,对编码器性能提高具有重要作用。为了确定最优的预测模式,H.264使用了率失真优化(Rate Distortion Optimization,RDO)技术,RDO的计算复杂度非常高,占用大量的编码时间。虽然RDO技术使图像质量大幅提高,但很难用于实时性较高的场合。因此,提高帧内预测速度有很重要的应用价值。

近些年出现了一些帧内预测模式选择快速算法。一类是简化率失真函数,另一类是缩小预测模式范围。目前,研究的热点是在保证基本编码性能不变的情况下,通过缩小选择范围快速选出最优的几个预测模式。

1 H.264帧内预测

为了充分利用视频图像的空间相关性,降低空域的冗余,H.264引入了基于空域的帧内预测方法,即利用邻块的像素进行预测(相邻块关系如图1所示,A、B和E代表左、上和当前块),从而提高视频编码的压缩率。

H.264的亮度帧内预测用两种预测块 intra_4×4和intra_16×16: intra_4×4用于预测细节比较多的宏块;intra_16×16用于比较平滑的宏块。为提高帧内预测的精度,H.264支持多种不同的帧内预测模式[1],对4×4的亮度块有9种预测模式,包含8种方向模式和DC模式(模式2);对16×16的亮度块和8×8的色度块预测方法类似,各有4种预测模式,只是模式的顺序不同,见图2和图3。

H.264采用了RDO判优准则,利用率失真代价函数选出最优帧内预测模式。率失真代价函数为

RDCostΜΟDE=DΜΟDE+λ×RΜΟDE(1)

式中:DMODE和RMODE分别表示在某模式下宏块的失真和码率;λ为量化参数(QP);RDCostMODE为该模式下的率失真代价。选择RDCost值最小的模式为宏块的最优预测模式。参考模型JM8.6以色度模式为外循环,共需要执行592次RDCost计算才能确定一个宏块的帧内预测模式,RDCost计算量很大,是影响H.264编码速率的主要因素之一。

2 图像平坦程度的计算

在H.264中,虽然RDO可以保证获得最佳的压缩效率和图像质量,但其运算非常耗时。绝大部分视频图像中都包含大量的冗余信息,特别是在那些图片内容变化不大的视频图像中[2],那些变化不是很剧烈的宏块,如果采用16×16大小的模块进行预测,图像的质量不会有明显地下降。因此,可以省去那些4×4大小模块的RDO运算过程,从而减少整个视频图像的编码时间。为了衡量一个宏块内部的变化剧烈程度,采用式(2)进行计算[3]

D=x=015y=015(Lxy-(x=015y=015Lxy/256))2(2)

式中:Lxy表示一个宏块中像素点的亮度值。D值小说明这个宏块内部的变化比较缓慢,只需进行intra_16×16的计算即可。一个宏块内部信息的变化剧烈程度描述了宏块中的内部差异,可以用一个门限值来决定采用16×16还是4×4的模块大小来进行预测。由于式中含有平方计算,较为复杂,文献[4]用式(3)来计算宏块内部信息的变化剧烈程度

ΜAD=116×16i=015j=015|Ι(x+i,y+j)-Ιmean|(3)

式中:I(x+i,y+j)表示一个宏块中像素点的亮度值,Imean表示块内像素的均值,当MAD大于门限值TMAD时,只进行intra_4×4类型的预测计算;反之,只进行intra_16×16类型的计算。

3 根据图像的差值信号统计分布判断预测类型

从图像的一维和二维自相关函数的实际测量结果可知,在水平方向(行扫描方向)或垂直方向上,图像的相邻像素之间具有较强的相关特性。对于常见的绝大多数图像而言,相邻两个像素之间的差值,是指同一行相邻的两个像素f(i,j)和f(i,j+1)的差值dH(i,j)=f(i,j)-f(i,j+1),或同一列相邻的两个像素f(i+1,j)和f(i,j)的差值dV(i,j)=f(i,j)-f(i+1,j),其值为零或绝对值较小者的概率较大。1966年,O’Neal用计算机计算[5],测得图像水平差值信号的概率分布,他选用三张(100×100像素)的典型人物头肩像,得出的概率分布如图4所示。

从图中可以看出,图像差值信号绝对值较小者的概率较大,为零者的概率最大,而绝对值较大者的概率极小,这表明,对于一般的人物头肩像,图像内容为平坦区(亮度变化值较小)占绝大多数,从很多类型图像的实际测量表明,差值信号绝对值的80%~90%以上落在16~18个量化层(总数为256个量化层)的范围内。

文中选取foreman.yuv视频序列中第一帧图像进行分析,对图像的亮度做水平差值信号分析。将第一帧图像分成16×16像素块 99个,选取两个宏块做差值统计分析,如图5所示。

从图中可以看出平坦部分的块的差值几乎都落在-5到+5之间,而非平坦部分的块的差值分布没有规律性。我们可以根据这个统计特性,提出一个计算比较简单的算法,用来提前判断块的预测类型。对一个待预测的宏块,计算宏块内每个像素与其相邻像素(四周相邻的8个像素)的亮度值的差值,再取这个差值的绝对值,统计差值d的绝对值大于5的个数N,判决方法为:当N大于门限值T1时,宏块直接用intra_4×4的类型来预测;当N小于门限值T2时,宏块直接用intra_16×16的类型来预测;其他情况,两种预测类型都要计算。

4 实验结果

为了验证本算法的有效性,将所提出的算法嵌入JVT(Joint Video Team)提供的参考程序JM8.6[6]中实现,并与参考软件JM8.6在编码时间、峰值信噪比(PSNR)和输出码率指标上进行测试比较。采用全I帧的编码方式、RDO技术和Hadarmad变换,选取Foreman的QICF格式视频序列分别进行测试,每个序列编码30帧,量化参数QP为28、32、40,如表1所示。

对表1中PSNR、输出码率、编码时间进行对比可以看出,文献[4]的方法和本文改进的方法在保证原编码质量的条件下,编码时间有所减少,大约12%左右。

表2中数据是各种方法使用intra_16×16和intra_4×4两种类型的个数,通过比较,本文改进方法预测误差较小,预测类型比较准确。

5 结束语

本文根据待预测宏块内部信息的变化剧烈程度来决定亮度部分预测模块的大小,避免了一些不必要的计算,通过对图像差值信号进行统计分析,提出一种比较简单而且有效的判断宏块内部信息变化剧烈程度的方法。本文改进算法与JVT 提供的JM8.6参考编解码模块相比,在信噪比、比特率基本不变的条件下,节省帧内预测编码时间约12%。

参考文献

[1]毕厚杰.新一代视频压缩编码标准——H.264/AVC[M].北京:人民邮电出版社,2005:210-217.

[2]JVT-G013.Fast Mode Decision Algorithm for JVT Intra Pre-diction[S].2003.

[3]李文杰,李刚,曹斌,等.一种H.264帧内预测模式的快速选择算法[J].中国图象图形学报,2009(6):1114-1118.

[4]GANGULY A,MAHANTA A.Fast mode decision algorithmfor H.264/AVC intra prediction[C]//2009 IEEE Region 10Conference,2009:1-5.

[5]JAINAK.数字图像处理基础[M].韩博,徐枫,译.北京:清华大学出版社,2006:279-284.

帧内预测 篇6

HEVC是由MPEG与VCEG联合成立的视频联合专家组JCT-VC制定的[1,2]。HEVC的目标是在H. 264 /AVC[3]的基础上,提高一倍的压缩效率,也就是说要在保证视频质量不变的情况下减少50% 的码率。

HEVC延用了H. 264 / AVC的联合预测编码和熵编码的混合分块编码框架[4,5]。在帧内预测过程中,HEVC将帧内预测模式从H. 264 /AVC的9 种增加到35 种; 相比H. 264 /AVC采用16 × 16 像素尺寸的编码宏块,HEVC则采用最大尺寸为64 × 64像素的树状块划分算法。更高的精度和更大的块尺寸满足了高清视频的需求,使压缩性能不断提高,但是随之而来的也是不断增加的编码复杂度。

为了满足视频传输的实时性需求,因此在保证HEVC编码性能不下降的前提下,不断降低编码复杂度成为了现在视频压缩领域的研究热点。例如文献[6]提出了最佳预测模式MPM( Most Probable Mode) 的概念,并改变了粗选RMD( Rough Mode Decision) 后的模式数量,将最有可能模式加入到通过RMD算法筛选后的粗选子集中得出最终的模式集合,然后对最终的模式集合进行率失真代价RD-Cost( Rate-Distortion Cost) 的比较选择。文献[7]则提出了减少RMD算法筛选后的子集数目和减少预测单元的分割次数的方法来降低帧内预测复杂度。文献[8]则提出了先进行色度预测再利用色度预测的信息进行亮度预测的方法来降低亮度预测的计算复杂度,从而达到降低帧内预测复杂度的目的。文献[9]则在分析了RMD算法筛选得出的模式集合的共同特征后,提出了基于分组自适应的帧内快速预测算法。

本文提出基于局部边界特性的帧内快速预测算法,能够在纹理简单区域直接采用较大尺寸CU进行预测编码,而在纹理复杂区域则根据纹理的方向性快速选择预测模式,从而达到降低编码复杂度的目的。

1 HEVC帧内编码相关介绍

1. 1 HEVC的四叉树编码

在编码单元尺寸方面,相比H. 264 /AVC使用16 × 16 尺寸的宏块进行编码,HEVC采用四叉树编码单元递归分割模式。即初始的编码单元LCU( Larger Coding Unit) 的尺寸为64 × 64。对LCU进行编码时,HEVC采用递归方式将LCU划分为4 个等大的子CU,并且每个CU同样可以递归划分为四个子CU,直至CU的尺寸为8 × 8。递归过程中定义了递归深度Depth,即LCU的深度Depth定义为0,每递归分割一次深度加1,直至深度为3,这样CU的尺寸范围就达到了8 × 8 像素至64 × 64 像素。HEVC通过比较四叉树中父亲CU( 上层CU) 的RD-Cost和4 个子CU的RD-Cost之和的大小来决定CU是否需要继续划分。

1. 2 帧内预测

HEVC的帧内预测相比H. 264 / AVC最大的性能提升就来自于更多更精准的预测模式,不同于H. 264 只有9 种预测模式,HEVC为了提高预测精度,提供了35 种各不相同的预测模式,其中包括2 种非角度预测模式( DC模式和Planar模式) 和33 种角度预测模式,角度预测模式如图2 所示。

HEVC帧内预测模式选择的过程大致可以分为以下三个部分。首先,对所有模式( 35 种) 进行粗选RMD,计算所有可能的预测模式的率失真代价RD-Cost,并将所有预测模式按RD-Cost的递增顺序排列,然后选取前N个预测模式即为粗选子集。其中的率失真代价RD-Cost定义为:

其中,SATD是经过哈达玛变换后的预测残差的绝对值之和,可以反映出残差所需的比特率情况; λ 是拉格朗日因子; R为该模式下的码流比特率。其次,搜索相邻参考块的最优预测模式,也就是最有可能模式MPM,如果最有可能模式不包含在粗选子集中,则将其加入。最后,对粗选子集中的每个预测模式进行率失真优化RDO( Rate-Distortion Optimization) 比较,代价最小的模式即被选为当前编码单元( CU) 的最优预测模式。

2 提出的算法

HEVC标准算法进行帧内预测采用穷尽搜索法,从上述帧内预测的过程可以看出,对每个LCU编码都要进行1 + 4 + 16 +64 = 85 个不同尺寸CU的编码,每个CU都要穷尽搜索35 种预测模式,计算量是非常大的,难以满足实时性需求。

显而易见的是,编码器最终选取的预测模式和CU尺寸都是符合视频纹理特性的。比如在平坦区域经常采用大尺寸的CU,而在有明显纹理的区域,一般会被分割成小尺寸的CU,并且最终选取的预测模式有极大可能是沿着纹理方向的。本文提出的算法通过计算各像素点的梯度值来分析CU的纹理特性,极大的利用了上述特性,从而达到降低编码复杂度的目的。

2. 1 提取局部边界信息

在对每个CU进行编码时,本文通过索贝尔算子( 如图1 所示) 计算CU内部每一像素点( 不包括CU的边界像素点) 的梯度值,因为梯度信息可以极大程度上反应局部边界信息。

如下计算CU内部每一像素点的梯度信息{ Dxi,j,Dyi,j} ( i,j为当前像素点相对CU左上点的横纵坐标) ,其中:

经过大量实验数据统计,如果一个像素点的Dxi,j的绝对值大于阈值50,那么认为这个点为横向局部边界点; 同理,如果一个像素点的Dyi,j的绝对值大于阈值50,那么认为这个点为纵向局部边界点。每个局部边界点的梯度方向应该为:

而该点的最有可能预测方向MPPD( Most Probable Prediction Direction) 应该沿着边界纹理方向,也就是与梯度方向垂直,所以该局部边界点的最佳预测方向的正切值为:

很明显,可以从正切值直接计算出最有可能预测方向MPPD,但是为了更大地减少计算复杂度,本文不通过正切值直接计算角度,而是通过比较每一种角度预测模式的正切值的大小,找出模式区间( 2. 2 节中具体介绍) 。由于视频中水平和垂直的纹理出现概率非常高,为了进一步提高精度,HEVC的33 种角度预测模式在水平和垂直方向较为密集,在其他方向稍显稀疏,具体角度如图2 所示。每个模式Mode的角度Angle和角度正切值Tan Ang可通过表1 对应。

2. 2 深度快速决策和快速模式选择

如果当前CU的横向局部边界点的个数Num X大于CU宽度值Width或者纵向局部边界点的个数Num Y大于CU的高度值Height ,则认为当前CU纹理较为复杂更适合采用小尺寸的CU进行编码,反之则认为当前CU较为平坦。那么就不再将当前CU划分为更小块的CU。

对纹理较为复杂的CU,分析其纹理进行快速模式选择( 虽然快速选择会一定程度降低预测精度,但是由于纹理较为复杂,当前CU尺寸的预测模式被选为最优模式的概率微乎其微,所以这点预测精度的下降对最终比特率的上升可忽略不计) ,具体方法如下:

1) 针对每个局部边界点的最有可能预测方向MPPD的正切值Tan Angi,j,根据表1 找到对应的预测模式区间,并取区间中值。例如Tan Angi,j= 0. 423,则对应的预测模式区间为( 5,6) ,取其中值PMode = 5. 5 。

2) 计算出当前CU所有PMode的均值Avg PMode 。

3) 将floor ( Avg PMode) 和floor ( Avg PMode + 1) 这两个预测模式设置为粗选子集( floor为取整函数) 。

4) 检查相邻CU的MPM( Most Probable Mode) 是否在粗选子集中,若不在,将其加入子集中。

5) 对最终的粗选子集中的预测模式进行率失真优化比较。

2. 3 算法总流程

本文算法每次开始对一个CU( 不论是LCU还是子CU) 进行预测编码时,先判断当前CU是否为三层四叉树非叶节点CU,也就是判断深度Depth是不是小于3。如果深度Depth不小于3,那么当前CU不能被再次分割,直接对当前CU执行标准算法。如果深度Depth小于3,则用索贝尔算子提取当前CU的局部边界信息并计算出横向局部边界点个数Num X和纵向局部边界点个数Num Y。如果横向局部边界点个数Num X大于CU宽度值Width或者纵向局部边界点个数Num Y大于CU高度值Height ,那么本文认为当前CU含有明显的局部边界信息,采取快速模式选择,并进一步进行子块划分。反之,本文认为当前CU纹理平坦,不再进行子块划分。算法总流程( 如果没有明确说明跳至那一步,则按顺序执行下一步) 如下:

1) 开始编码当前CU,并判断当前CU的分割深度Depth是否小于3,如果Depth < 3 执行下一步骤,否则执行步骤10。

2) 用索贝尔算子提取当前CU的局部边界信息,并计算出横向局部边界点个数Num X和纵向局部边界点个数Num Y 。

3) 若Num X > Width或者Num Y > Height ,则执行下一步骤,否则跳至步骤11。

4) 计算每个局部边界点的最佳预测角度的正切值Tan Angi,j 。

5) 找出每个Tan Angi,j的模式区间,并计算出当前CU所有边界点的模式区间中值的均值Avg PMode 。

6) 将粗选子集设置为:

7) 检查相邻CU的MPM是否在粗选子集中,若不在,将其加入。

8) 对粗选子集中的所有预测模式进行率失真优化RDO比较。

9) 将当前CU划分为4 个子CU,返回步骤1 编码下一CU。

10) 当前CU为四叉树叶子节点,对当前CU执行标准算法,返回步骤1 编码下一CU。

11) 当前CU为四叉树非叶节点,对当前CU执行标准预测算法。

12) 不分割当前CU,返回步骤1 编码下一CU。

3 算法实现

采用测试模型HM11. 0 对本文算法进行测试实验,实验环境参数如下:

1) 测试机为Intel ( R) Core ( TM) i5-2450 CPU主频2. 50GHz,安装内存( RAM) 4. 00GB;

2) 选用encoder_intra_main. cf配置文件;

4) 选取四个测试序列Basketball Drive_1920 × 1080_50、Oldtowncross_1280 × 720 _50、Flowervase_832 × 480 _30、Highway_352× 288_30( 序列名后面跟的是分辨率和帧率) ;

5) 对每个测试序列分别选取量化参数QP( quantization parameter) : 22、27、32 和37;

5) 对所选四个测试序列的前两个进行全I帧编码50 帧,后两个全I帧编码100 帧。

本文算法和HM11. 0 标准算法相比较下的比特率变化和峰值信噪比PSNR( Peak Signal to Noise Ratio) 变化以及编码时间变化用如下公式计算:

测试序列编码后的率失真RD( Rate Distortion) 值能够体现出编码的质量,由于篇幅限制,这里就提供一幅测试序列Basketball Drive的率失真折线图。如图3 所示,灰色实线为HM11.0 标准算法的率失真折线,黑色虚线为采用本文算法后的率失真折线,两条线基本重合证明本文算法能够保持视频压缩质量基本不变。四个测试序列的实验结果如表2 所示。

从表2 中的实验结果中可以看出本文所提出的快速算法在比特率方面( Bitrate) 平均增加约0. 93% ,在图像质量( PSNR) 方面基本不变,而在编码时间方面平均大幅下降了约48. 28% 。序列Oldtowncross包含有极多复杂的细节,所以编码时间下降较少,约为30% ,而纹理较为简单的Flowervase编码时间则下降了约56% 。总的来说,本文提出的快速帧内预测算法能在保证视频质量不变的情况下,减少一半左右的编码时间。

4 结语

本文提出的快速帧内算法通过分析当前编码CU的局部边界信息,跳过几乎使用不到的编码下层深度,并对上层深度纹理明显的CU进行快速方向预测,从而达到降低编码复杂度的目的。实践证明,本文算法在保证编码质量基本不变的情况下平均节省48. 28% 的编码时间。对于纹理简单的视频,本算法能有更卓越的表现。

摘要:HEVC(High Efficiency Video Coding)的编码性能足可以达到H.264/AVC的两倍。在帧内编码方面HEVC的性能提高主要来自于更精准的预测模式和更灵活的分块大小,同时带来了巨大的计算复杂度。为了大幅降低编码复杂度,提出的算法利用视频的局部纹理特性,首先用索贝尔算子提取当前编码单元CU(Coding Unit)的局部边界信息。分析边界信息后,停止不包含明显边界的CU的子块划分,对包含明显边界的CU快速选择预测方向为边界纹理方向。实验结果证明,提出的算法可以在视频质量基本不变的情况下,使帧内编码复杂度降低近一半。

关键词:HEVC,视频编码,局部边界,帧内预测

参考文献

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

[2]Bross B,Han W J,Sullivan G J,et al.High efficiency video coding(HEVC)text specification draft 10(JCTVCL1003)[C]//JCT-VC Meeting(Joint Collaborative Team of ISO/IEC MPEG&ITU-T VCEG).2013.

[3]Wiegand T,Sullivan G J,Bjontegaard G,et al.Overview of the H.264/AVC video coding standard[J].Circuits and Systems for Video Technology,IEEE Transactions on,2003,13(7):560-576.

[4]蔡晓霞,崔岩松,邓中亮,等.下一代视频编码标准关键技术[J].电视技术,2012,36(2):80-84.

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

[6]Zhao L,Zhang L,Ma S,et al.Fast mode decision algorithm for intra prediction in HEVC[C]//Visual Communications and Image Processing(VCIP),2011 IEEE.IEEE,2011:1-4.

[7]Kim J,Yang J,Lee H,et al.Fast intra mode decision of HEVC based on hierarchical structure[C]//Information,Communications and Signal Processing(ICICS)2011 8th International Conference on.IEEE,2011:1-4.

[8]Chen W J,Su J,Li B,et al.Reversed intra prediction based on chroma extraction in HEVC[C]//Intelligent Signal Processing and Communications Systems(ISPACS),2011 International Symposium on.IEEE,2011:1-5.

帧内预测 篇7

1 HEVC预测编码

HEVC预测编码包括帧内预测编码和帧间预测编码。帧内预测编码消除了大量空域冗余,它是利用同一帧已编码完成的像素点对即将编码的像素点进行预测。HEVC帧内预测模式由原有的9 种增加到35 种,即DC模式( 模式0) ,Planar平面模式( 模式1) ,和33 种角度预测模式( 模式2 ~ 35) 。33种角度预测方向与其对应的预测模式编号分别如图1 和图2所示。

预测模式的增加大大提高了帧内预测的准确性,但同时也带来了非常高的计算复杂度。HEVC帧内预测通过采用粗模式选择( Rough Mode Decision,RMD) 和最有可能预测模式( Most Probable Mode,MPM) 相结合的方法来减少预测过程中所需的预测模式,从而降低计算复杂度。HEVC帧内预测编码过程首先要进行RMD,遍历35 种预测模式,对每一种预测模式进行代价函数的计算,筛选出N个代价值较小的预测模式作为候选模式,候选模式N的数目在文献[5]中提出,如表1所示。MPM分别利用当前编码块的左方预测块与上方预测块的最佳预测模式来预测当前块的MPM,同时判断当前块的MPM是否已经包含在RMD的候选模式集中,若没有包含在内,则将当前块的MPM加入到候选模式集中一起进行高精度的率失真优化(Rate Distortion Optimization,RDO)计算,最终选择出最优帧内预测模式。

在帧内预测过程中,RMD要对全部的预测模式进行代价函数计算,其运算量非常巨大。如果可以通过预先判断,在进行代价函数计算之前减少预测模式的数量,就能够有效地降低帧内预测的计算复杂度。很多学者就此提出了一些优化算法。文献[6]提出跳过变换量化等步骤,通过预处理提前排除一些可能性极小的预测模式。文献[7]提出了一种基于边缘信息的快速算法,利用图像处理中的索贝尔算子( Sobel op-erator) 对4 × 4 的子块进行边缘检测,然后通过边缘方向的灰度直方图来确定最后的预测模式。文献[8]在文献[7]的基础上进行改进,提出一种基于显著边沿强度的快速模式选择算法,采用了不同的边缘检测算子,结果说明比文献[7]中的算法有了一定的提升。

文献[9]提出了一种基于梯度的HEVC帧内预测快速模式选择算法。主要利用Sobel算子计算当前PU每个像素的梯度向量角。然后,在35 种预测模式里找到与梯度向量角最接近的角度对应的预测模式; 与此预测模式垂直的预测模式就是此像素的最优预测模式。该算法在减少20% 的编码时间同时,平均增加1% 的码率。

文献[10]在帧内预测快速预处理阶段定义了一种简单的代价函数计算公式,并结合基于贝叶斯决策原理在帧内预测模式选择过程中训练的基于SATD( Hadamard transformed SAD) 的率失真代价最佳阈值,最终将进行RMD的35 种预测模式减少到9 种。这种低复杂度的帧内预测算法减少了近一半的编码时间,信噪比PSNR减少了0. 12 d B,但是这种方法与原编码相比平均增加了2. 4% 的码率。

在连续的视频图像中,相邻帧之间的图像纹理具有很强的相关性,根据这一特点文献[11]提出利用Co-located PU及相邻PU块的预测模式进行预判,来减少RMD过程的预测模式数量,使得RMD选择过程中预测模式数量减少到17 种,但是这种方法引起了码率明显的升高。

文献[12]使用边缘匹配检测器对预测模式进行选择,利用类似统计直方图的核密度估计方法来提高边缘匹配检测器的准确度,平均降低了36. 7% 的编码时间,与原有的算法相比增加了1. 65% 的码率。

文献[13]利用变换域边缘检测来缩小预测模式的选择范围。根据不同尺寸的PU,采用不同的类别系数,计算选取的类别系数绝对值之和,根据和值选取对应的权重对帧内预测模式进行选择。这样,只对一部分的预测模式进行计算,然而,这种方法使码率增加了2. 8% 。

以上几种快速算法都是利用一些额外的编码信息来减少计算复杂度。虽然算法的性能极其逼近标准算法,但是编码时间减少的幅度并不大,并且码率的增加也比较明显,均在1% 以上。本文在不引进额外编码信息的基础上对RMD过程进行优化,充分利用候选模式集中排列第一的预测模式与最优预测模式之间的强相关性,提出一种基于模式分组的帧内预测模式快速选择算法。该算法有效地降低了HEVC帧内预测算法的计算复杂度,与HEVC的测试模型HM10. 0 相比,所提出的算法在基本不改变图像的质量下,编码时间平均减少了41. 8% ,而码率仅增加0 . 78 % 。

2 快速帧内预测模式选择算法

2. 1 帧内预测模式选择可优化处的分析

HEVC的测试模型( HEVC Test Model) HM[14]是由JCT-VC编写的一个标准代码库,可以对不同的测试场景进行仿真编码。在HM中,RMD过程的候选列表和其对应的代价值列表分别存放在uiRd Mode List和Cand Cost List数组中。其中,Cand Cost List按照代价值从小到大进行排列,uiRd Mode List存放的预测模式是按照其对应的代价值的大小进行排序,即候选列表uiRd Mode List中第1 个候选模式的代价值最小,第2个次之。一般情况下,代价值小的预测模式所对应的率失真代价值也低。因此,uiRd Mode List中排列第一的预测模式被选为最优预测模式的概率最高。为此,本文对uiRd Mode List排列前3 位预测模式分别被选为最优预测模式的比例进行了统计,结果如图3 所示,排列第一的预测模式作为最优预测模式的比例为75. 4% ,第2 个模式和第3 模式平均比例分别为24. 2% 和0. 04% 。

为了使预测结果更加精确,HEVC还将MPM模式加入到uiRd Mode List中。接下来对最优预测模式在MPM中的PU比例进行统计,实验发现MPM成为最优预测模式的概率高达85. 1% 。实验数据如表2 所示。

由于uiRd Mode List中排列第一的预测模式及MPM被作为最优预测模式的概率非常高,因此可以利用这一特性对算法进行优化,减少不必要的率失真代价的计算,从而提高编码效率。

2. 2 基于模式分组的帧内预测模式快速选择算法

根据1. 1 节的统计分析,得到MPM以及uiRd Mode List中排列第一的预测模式被作为最优预测模式的比例非常高。因此如何在35 种预测模式中快速精确地找到成为候选模式集中排列第一的预测模式对降低帧内预测的计算复杂度至关重要。针对这一问题,本文提出了一种基于模式分组的快速模式选择算法。具体算法流程如下:

1) 初次筛选: 选取编号从3 开始,且编号为3 的倍数的所有角度预测模式进入初始的RMD筛选模式列表。由于平面模式0、DC模式1、水平预测模式10 以及垂直预测模式26 的预测值的计算比较特殊,所以将这4 种模式添加到筛选模式列表中。初始的RMD筛选模式列表集为{ 0,1,3,6,9,10,12,15,18,21,24,26,27,30,33} 。然后计算筛选模式列表中各模式的代价值,按照代价值从小到大的顺序将对应的模式加入到uiRd Mode List中。

2) 再次筛选: 由于相邻的角度预测模式间的预测值很接近,为了更加精确地找到最小代价值所对应的预测模式,本文继续对存放在uiRd Mode List中前3 个最小代价值对应的模式进行筛选。筛选过程如下: 假设uiRd Mode List的前3 个预测模式分别为A,B,C,对应的代价值用CX表示,X表示模式序号。分别对如下3 个组的模式进行计算: ( A - 1,A,A + 1)( B - 1,B,B + 1) ( C - 1,C,C + 1) 。比较每组3 个模式的代价值之和与其标准差的和的大小,记为gi; 即比较g1= ( CA - 1+CA+ CA + 1+ δ1) ,g2= ( CB - 1+ CB+ CB + 1+ δ2) ,g3= ( CC - 1+CC+ CC + 1+ δ3) 的大小,即

其中: δj为每组3 个代价值x1,x2,x3的标准差,μ 为它们的均值。

3) 找出g1,g2,g3的最小值,该最小值所对应的组则包含可能的最优预测方向。将该组的3 个模式再次进行代价值的计算,直到找出代价值最小的模式作为uiRd Mode List中第1个预测模式,并将MPM添加到uiRd Mode List中作为第2 个预测模式一起进行RDO计算,最终选择出最优的预测模式。算法流程如图4 所示。

本文提出的快速算法首先对35 种预测模式进行初次筛选,选取15 个预测模式进入RMD计算,这样大大减少了代价函数的运算量; 经过再次筛选保证了每个预测模式都能被覆盖到,确保了算法对所有预测模式的适用性。经过这两步筛选,最终快速精确的求出候选列表uiRd Mode List中排列第一的预测模式。

3 仿真与验证

为了验证文中所提算法的有效性,将优化的算法集成到HEVC的测试环境HM10. 0 上。在全I帧的结构下,采用18个通用视频标准序列进行实验,量化参数QP取值分别为22,27,32,37,分别测试10 帧。这里主要从所提算法节省的编码时间以及付出的相应代价—峰值信噪比与编码码率来考虑算法的性能,具体包括 Δtime,Δbitrate和 ΔY_PSNR[15]。

1) Δtime指本文所提出的方法与HM的编码时间之差的百分比,编码器计算复杂度的度量采用编码器平均执行时间的减少量 Δtime表示,定义如下

2) Δbitrate指本文所提出的方法与HM的编码码率之差的百分比,定义如下

其中: bitrateproposed( QPi) 表示文中方法的编码码率; bitrateHM( QPi) 表示HM编码器得到的编码码率; 编码码率越小说明视频图像的压缩效率越好。

3) ΔY_PSNR指本文所提出的方法与HM的峰值信噪比的百分比,定义为

式中: Y_PSNRpro( QPi) 表示文中方法的亮度峰值信噪比;Y_PSNRHM( QPi) 表示HM编码器得到的亮度峰值信噪比。PSNR表示视频图像的质量,PSNR越高,表明图像的质量越好。

由于本文的快速算法是略过部分编码模式来达到降低计算复杂度的目的,所以从原理上讲选择出来的最终预测模式有可能不是最优的,必然会导致编码性能的降低———PSNR的下降或者输出的码率增大。但所提出的算法在明显的降低编码时间的同时只有极小码率增加和很小的PSNR下降。表3 的数据可以看出本文所提出的方法与HM-10. 0 相比,编码时间平均减少了41. 8% ,而Y_PSNR降低了0. 12 d B,bitrate仅增加了0. 78% 。对比文献[9-13],码率的增加幅度平均在1% 以上,本文所提的算法在大幅度降低编码时间的同时,码率仅控制在0. 78% 的增加。因此,本文的方法在保证视频质量基本不变的前提下,有效地降低了编码时间,提高了编码效率。

为了更直观地表示本文所提出的算法对HEVC编码器性能造成的影响。图5、图6 和图7 分别对CLASS A( 2 560 ×1 600) 、CLASS B( 1 920 × 1 080) 和CLASS E( 1 280 × 720 ) 的RD曲线进行比较。横坐标表示输出的码率,纵坐标表示亮度峰值信噪比。

从图中可以看出,本文中的算法与HM-10. 0 原有的算法RD曲线几乎重叠,表明本文算法与HEVC算法相比,两者编码性能差异极小。由此证明了本文所提出的算法的有效性。

4 小结

上一篇:合理认知论文下一篇:想象作文