您的位置 首页 制造

一种新的H.264编码帧间猜测形式挑选算法

基于相邻帧之间的时间相关性并通过模式识别中分类统计的方法,本文提出了一种H.264编码中帧间模式选择的算法,并针对该算法给出了4种计算阈值的方法。

1 导言

在H.264视频编码中,关于帧间猜测,一个16×16的宏块(MB)可分红16×16,16×8,8×16,8×8进行运动估量,其间8×8还能够进一步分为8×4,4×8,4×4的子块。这样,每个细分的模块都去寻觅更准确的匹配块,能够添加猜测精度进步紧缩率。可是,因为每种分类都要进行运动估量,这样做直接的价值便是巨大的核算量。

针对多形式猜测带来的核算量添加的问题,近年呈现的帧间形式挑选算法得到了深化的研讨,其间运用阈值提早截止的形式挑选的思维得到十分广泛的运用,在只要较小功能丢失的价值下,减小核算复杂度。如文献[1]提出假如发现16×16形式现已适用,就直接跳过对16×8和8×16的形式查看,不然全查找;文献[2]提出运用多级阈值,且阈值依QP改变的办法等。本文的研讨也依据通过阈值预判的办法进行宏块挑选。

2 帧间形式快速挑选算法

2.1 帧间形式挑选运用自适应阈值的算法

运用阈值进行预判的确能够在视频质量下降可疏忽状况下使编码复杂度尽量下降,可是以上办法有必定的局限性。文献[1]中提出的算法只考虑了3种形式,在许多状况下仍然运用全查找,文献[2]尽管提出了可变的阈值,可是它的阈值仅仅跟着QP改变而改变的,并没有考虑到不同视频自身的特性。因为不同视频序列特色不同,即使是同一个视频序列内部的不同帧也有着不同的特色,而影响阈值的要素又较多。依据以上观念,本文提出了一种运用核算分类的办法,通过对帧间猜测形式进行分类,并选取自适应阈值对宏块形式进行挑选。

一般状况下16×16形式运用率最高并且其SAD(Sum of Absolute Difference)值必定会通过核算,所以可树立16×16形式的SAD值(文中简称sad16)和终究挑选的形式之间的联系,这是一个规范的形式分类问题。笔者通过视频中相邻帧之间的时刻相关性,通过前一帧的形式对应的sad16散布状况,练习得到下一帧的阈值,然后对下一帧的宏块形式进行挑选。具体办法如下:

1) 分类

首先将H.264的多种帧问形式分为两类:BSM(BigSize Mode),包含16×16,16×8,8×16形式,SSM(SmallSize Mode),包含8×8,8×4,4×8,4×4。通过对一些CIF格局的测验视频序列的核算能够发现,一般状况下BSM的概率要大于SSM的概率(见表1),又由上文所述,SSM的核算量更大,所以能够在BSM和SSM之间设置一个阈值T,代表了对形式猜测精度的可接受程度。假如小于阈值T则该宏块只挑选BSM,假如大于阈值T则该宏块对两种形式都进行核算。

2) 核算

别离核算两种形式下的sad16,通过测验发现sad16值遍及小于8 000,为了便于核算,将核算得到的sad16值左移7位即除以128,将sad16散布在64个取值区间内。依照原始形式挑选算法对一帧中的每个宏块进行形式挑选,记载其对应的sad16值,然后核算该帧中每个形式对应的不同sad16区间内宏块个数的散布。因为SSM的值比较小,为了便于调查,将其核算成果乘以10。公式如下

式中:k为sad16的64个取值区间,取值为[0,63];sad16∈k代表sad16值在区间k内;若该宏块被判别为BSM形式则nBSM=1,nSSM=0;若该宏块被判别为SSM形式则nSSM=1,nBSM=0。图1和图2别离为两种较具代表性的CIF序列foot-ball和foreman相邻两帧的核算散布图。


由图1,2的核算成果能够看出:取BSM形式的宏块占大多数,且对应的sad16首要散布在较小值区域,在较大值区域也存在但较少;而取SSM形式的宏块占少量,且对应的sad16首要散布在较大值区域,可是数量不多(图1,2中SSM形式已乘10)。通过其他一些测验序列也能够得到相同定论。因而,可通过取一个阈值T,在只核算sad16的状况下,判别该宏块是否可直接决定为BSM形式。当sad16T时,既核算BSM形式也核算SSM形式。由图1,2中还可看出,不管是运动较剧烈的football序列仍是运动较陡峭的foreman序列,任取的相邻两帧的散布图都十分相似,所以能够依据序列相邻两帧间的时刻相关性,运用前一帧的散布来猜测下一帧的阈值。

3) 误判率

本算法对核算量的节约较多,并且视频质量几乎没有下降,其价值是一些SSM形式的宏块被判别为BSM,而丢失了一些紧缩率。如图3所示,阈值取T时,暗影部分所示本应为SSM,但因为sad16在阈值T左边,而被判别为BSM,尽管暗影部分归于误判部分,可是因为暗影部分在阈值左边,归于sad16相对较小区域,所以终究的SAD改变较小,紧缩率丢失不大。则选取阈值的规范便是:使BSM形式尽量多地在阈值T左边,以削减断定时刻;使SSM形式尽量在阈值右面,以削减丢失的紧缩率。

2.2 4种自适应阈值选取办法

依据上文剖析的选取阈值的规范,怎么依据前一帧的核算成果设置下一帧的阈值有许多种办法,本文开始提出了4种阈值核算的办法:

1) 最小值阀值法(minimum value thresh,MVT)

该办法取BSM曲线的最大sad16,取SSM曲线的最小sad16,然后取两者之中较小的一个作为阈值,如图4所示。

阈值核算公式为

MIN(sad16,SSM)一般是取SSM时sad16的最小值,而为了防止有些帧不存在SSM的状况,选取MAX(sad16,BSM)进行比较,取二者最小值。因为MIN(sad16,SSM)一般是不断变大的,而MAX(sad16,BSM)的值自身就很大,所以能够给它们乘以一个小于1的份额因子,以操控它的巨细。则批改后的阈值核算公式为

式中:α1,α2∈(0,1)为批改系数,可取α1=1/2,α2=3/4。

2) 面积百分比阈值法(area percent thresh,APT)

该办法核算BSM曲线的总面积,取该总面积的β%的面积所对应的sad16作为阈值,如图5所示。

阈值核算公式为

式中:β∈(0,100)为面积百分比因子,取β=75作用较好。

3) 最高点阈值法(highest point thresh,HPT)

该办法取BSM曲线中到达的最高点所对应的sad16作为阈值,如图6所示。

阈值核算公式为

4) 衰减因子阈值法(attenuation factor thresh,AFT)

该办法取BSM曲线中到达的最高点,跳过最高点后,取该高度的(1-ω)高度所对应的sad16作为阈值,如图7所示。

阈值核算公式为

式中:ω∈(0,1)为衰减因子,取ω=0.75作用较好,可取TAFT>THPT的值。

本文仅仅试验了4种核算阈值的办法,运用本文2.1得到的核算图以及形式分类思维还可运用其他核算办法得到可用的阈值。

2.3 算法流程

由上一帧宏块等级的进程4记载的每个宏块的信息,依照本文所述几种办法,核算本帧inter形式挑选需求的阈值T,并运用T对本帧中的每个宏块进行分类,具体进程如下:

1) 将16×16,16×8,8×16作为备选形式,核算sad(16×16),sad(16×8),sad(8×16),取最小值设为sadmin;

2) 若sadmin

3) 将16×16,16×8,8×16,8×8(其间8×8包含子块subblock 8×4,4×8,4×4)作为备选形式,核算sad(8×8),与之前核算的sad(16×16),sad(16×8),sad(8×16)比较,求之中的最小值,挑选该形式,跳至进程4;

4) 完毕该宏块形式挑选,记载该宏块相关信息以备核算下一帧阈值。

3 仿真成果

仿真条件:先用MPEG-2编码器对6个CIF(352×288)序列mobile,football,bus,news,table,foreman的前100帧进行MPEG-2编码,设定参数N=12,M=3,码率6 Mbit/s得到源视频。转码进程参阅MPEG-2解码器和T264编码器完成。帧率为30 f/s,OP为30,GoP为200。试验渠道为Intel P4 2.0 GHz,内存512 Mbyte,操作系统为Windows XP。运用自适应阈值算法且其间的阈值为最小值阈值办法,简称ATH_MVT,其他简称相似。经试验得到最佳经历因子:ATH_APT算法中取β=75,ATH_AFT算法中取ω=0.75。仿真成果见表2(给出3个典型序列:较多细节的mobile,运动较剧烈的football,较平稳的news的成果,其他序列成果略)。

由仿真成果可知:

ATH_MVT办法在查找时刻和编码时刻的削减上功能一般,除运动较剧烈的football序列外,其查找时刻削减大都在38%以上,其编码时刻削减大都在26%以上。该办法PSNR下降在0.01dB以内,码率(bitrate)上升在0.39%以内,功能丢失较小。

ATH_APT办法在查找时刻和编码时刻的削减上具有较好的功能,其查找时刻削减大都在45%以上,其编码时刻削减大都在30%以上,值得一提的是,关于运动相对较剧烈的football序列,它比其他办法更好的省时作用;该办法PSNR下降在0.01 dB以内,码率上升在1.1%以内,功能丢失稍大。

ATH_HPT办法在查找时刻和编码时刻的削减上关于一切序列都是最差的,其查找时刻削减最低为7%左右,其编码时刻削减最低为5%左右;该办法视频质量最佳,PSNR值不低于原始算法,码率上升在0.47%以内,功能丢失较小。

ATH_AFT办法在查找时刻和编码时刻的削减上有最好的功能,除football序列外,其查找时刻削减大都在50%以上,其编码时刻削减大都在30%以上。该办法视频质量较佳,PSNR值根本等于原始算法,码率上升在0.15%以内,功能丢失很小。

图3中的暗影部分为SSM的误判部分,运用公式

将运用了自适应阈值算法断定的SSM个数与原算法中断定的SSM的个数作比较得到的误判率见表3(仍然只列出3个典型序列)。其间TH_HPT(运用最高点阈值法的原算法)的误判率相对较小,其他3种办法的误判率相对稍大,但最大也不超越30%。

归纳考虑:TH_MVT各个方面功能体现比较平凡;TH_HPT尽管有更小的误判率,可是其查找时刻和编码时刻的节约很小,并不有用;TH_APT更适合于视频运动较剧烈且对功能丢失要求不很严厉的状况;TH_AFT办法获得的阈值在一般状况下具有最好的作用,它能使视频编码在坚持杰出功能的状况下更节约编码时刻,在4种办法中是针对一般序列的较好办法。

4 小结

依据相邻帧之间的时刻相关性并通过形式识别中分类核算的办法,本文提出了一种H.264编码中帧间形式挑选的算法,并针对该算法给出了4种核算阈值的办法。通过多个测验序列的试验证明:跟原始算法比较,本文提出的算法在功能下降可疏忽状况下使编码时刻有明显节约,其间TH_AFT的阈值选取办法针对一般序列得到的作用最佳。本文算法可进一步进行扩展,如添加多级阈值以及规划更好的阈值核算办法等。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/222008.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部