新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于统计分析的H.264快速模式选择算法

基于统计分析的H.264快速模式选择算法

作者:时间:2009-09-18来源:网络收藏
0 引 言
H.是由ISO/IEC(国际标准化组织/国际电子技术委员会)的MPEG和ITU-T(国际电信联盟)联合成立的JVT(联合视频专家组)制定的新一代数字视频压缩标准。H.采用很多新的技术,包括可变宏块大小分割、多参考帧、1/4像素精度运动估计、帧内预测、环形滤波等,大大提高了编码性能。从统计的角度和宏块纹理预测的角度出发,提出了一种综合的快速,大大地减少了编码时间。

1 宏块选择
对于每一个宏块,H.可以选择SKIP,inter16×16,inter16×8,inter8×16,inter8×8五种帧间和intra16×16,intra4×4两种帧内模式。而其中in-ter8×8又进一步可分成inter8×8,inter8×4,inter4×8,inter4×4四种子模式;intra16×16和intra4×4又分别有4种和9种预测模式。在JM 8.6参考软件中,选择所有模式中率失真代价值最小的模式作为最佳模式。其中率失真代价函数定义如下:

本文引用地址:http://www.eepw.com.cn/article/188620.htm


式中:SK为相应宏块;IK为相应的编码模式;Q为量化参数;DREC是失真度;RREC为码率。
从而每个宏块都要经过168次率失真代价值的计算,才能最终选出一种最佳模式,且每次率失真代价值计算都要对残差进行整数DCT变换、量化、熵编码、熵解码、反量化、逆整数DCT变换。因此,参考软件对于模式选择的计算量非常大。

2 宏块模式的统计特征分析
表1是JM 8.6模型中,未采用任何快速模式选择,并且运动搜索采用全搜索的情况下,各序列所采用的编码模式的百分比。其中编码帧数为100帧,I帧周期为30帧,码率为73 Kb/s,QP=28。

由表1可知,无论哪种序列,7种编码模式所占的比重并不均衡,SKIP模式和inter16×16模式占据了很大的比重。这说明图像细节还是占据了一帧图像的少部分,视频序列中大部分依然由缓慢变化的背景组成。而选中概率大的SKIP模式的率失真代价计算很简单,因为没有残差,也就不存在DCT变换,且没有多参考帧的选择、运动搜索;inter16×16模式稍显复杂,但也远远没有其他几种模式复杂。相反,出现概率很小的其他模式运算量却非常大,尤其是inter8×8(inter8×8的运动搜索运算量非常大且子模式多)和intra4×4(预测模式非常多)。因此,对所有模式进行遍历选择时,实际上很大一部分时间是消耗在并未最后起决定作用的几种模式的代价值计算上。因此如果能对概率非常大的几种模式进行早期判决,或者对运算量非常大但选中概率非常小的inter8×8和intra4×4缩小选择范围,从整体编码的性能上来讲,应该能节省大量的编码时间,提高编码速度。

3 SKIP模式快速判决算法
3.1 SKIP模式的特征

在对当前宏块采用SKIP模式进行编码时,它具有以下4个特征:
(1)它不在5帧备选参考帧中进行选择。只以第0个参考帧作为参考帧;
(2)它并不进行运动搜索,因此它的运动矢量经过相邻宏块的运动矢量的预测得到预测值MVp后,并没有运动矢量的残差MVD;
(3)在对它进行运动矢量的预测的时候,是以16×16(即一个宏块)大小为单位;
(4)它经过帧间预测后,并不编码残差,那么也就没有整数DCT变换,或者可以看成它的DCT值为0。
在采用SKIP模式编码后,性能是否最佳,通常情况下要用率失真代价值跟其他模式进行比较才能决定。但是,如果在采用其他正常方式进行编码后,反过来,发现整个宏块的编码数据具有上述的某些或全部特征后,或许可以作为提前判断当前编码宏块模式为SKIP模式的依据,即将上述4个必要条件的某几个作为判断当前宏块最佳模式为SKIP模式的充分条件。当然,这样处理的结果并不准确,但是如果准确率较高,应该对编码效果的影响并不大。
3.2 SKIP模式快速判决方法分析
文献[1]提出了一种以DCT系数是否为全0作为判断条件来进行判断。这种方法比较简单,从理论上讲应该有一定的准确性,因为除了SKIP模式,其他模式的DCT系数为全零可能性并不大。文献[2]则提出提出了一种比较苛刻的方法,它利用SKIP模式的所有特征,然后作为判决条件,即当一个宏块满足第3.1节的4个条件时,便判断为SKIP模式。表2是对两种方法进行实验后判断准确性的统计值。

由表2可知,这两种方法准确性比较高,尤其是方法2,因为它的条件非常苛刻,这也符合文献[2]中的叙述。但是这两种方法判断正确性高,文献中却忽略了一个重要参数,即漏判决率。该两方法对于已经判决出的模式,正确性非常高,但是由于条件比较苛刻,它却未判断出很多本该是SKIP模式的宏块,那么这些宏块依然需要使用最原始的方法进行判断,快速判决也就失去了其意义。
3.3 该文的SKIP模式快速判决方法
基于前一节的考虑,在此对文献[2]提出的方法,将整数DCT系数为全0这一条件舍去,实验结果显示如表3中方法3所示。由表3可知,漏判率有所下降,但是依然很高。

最终,摒弃了采用SKIP模式的某几种特征的组合作为判决条件,依然采用率失真代价来判断。但是实验中利用SKIP模式的率失真代价跟inter16×16模式的率失真代价值比较作为判决条件,即当满足RDcost (SKIP)≤RDcost(inter16×16)时,认为当前宏块的最佳模式为SKIP模式。这出于这样的假设,即在分块大小都为16×16的情况下,如果没有采用多参考帧选择、运动估计以及对残差进行编码这样非常简陋的模式的率失真代价值依然比采用了相关技术的inter16×16模式的率失真代价值还小,则说明这一宏块的细节非常少,该宏块为SKIP模式的概率应该非常大。当然不排除一种情况就是当前宏块采用SKIP模式和inter16×16模式本身失真都非常严重,远远高于其他采用更细的分块模式。此时率失真值主要由码率决定,那么由于SKIP模式的码率要低得多,从而SKIP的率失真值比inter16×16要小,导致误判。表3是经实验得到的准确度表。由该表看出,该方法(方法4)判断准确性也很高,但却没有一个漏判,这是因为此方法本身用的是率失真代价值与inter16×16的比较,符合所有模式中率失真代价值最低必然符合比inter16×16模式的代价低这一条件。因此这里采用此方法作为SKIP模式的快速判决方法。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭