首页 > 范文大全 > 正文

基于AVS整数变换的全零块判决方法的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于AVS整数变换的全零块判决方法的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:AVS中的运动搜索和变换域编码是运算量很大的部分,也影响了系统的实时编码效率。该文重点介绍了全零块判决方法的改进,即在运动搜索中对差值块先进行全零块判决,以减少整数变换和相应的量化运算,从而提高了编码效率,以及DCT的相关知识。利用VC6.0对源代码和修改后的代码进行了仿真实验,验证了改进后的代码比源代码在全零块判决效率上有了很大的提高。

关键词:AVS;全零块判决;整数DCT变换;绝对误差和

中图分类号:TP391 文献标识码:A文章编号:1009-3044(2010)09-2161-02

AVS-based Integer Transform Research of The All-zero Blocks Decision Method

ZHANG Ming-ming

(Information Engineering Department, ShangHai Maritime University, Shanghai 200015, China)

Abstract: The computation in video codec mainly concentrates on transformation and motion search,which are the bottlenecks of realization of real time video codec in AVS. This paper focuses on the improvement of the all-zero blocks decision method ,that is for sum of the absolute differences (SAD) block of the first all-zero blocks decision during motion search to reduce the integer transform and the corresponding quantization operation,thereby increasing the coding efficiency as well as DCT-relevant knowledge.Using VC6.0 to the source code and modified code processes simulation experiment,testing the modified source code having great improvement than the efficiency in the all-zero block judgments.

Key words: AVS; all-zero blocks decision; integer DCT transform; sum of the absolute differences(SAD)

AVS中采用的8*8的整数变换在获得比较高的压缩率和主观图像质量的同时,也增加了算法的复杂性和时间开销。本文重点介绍了在AVS整数变换的技术上通过对AVS代码中的整数变换部分和全领块部分进行改进,达到优化整数变换和提高编码速度的目的。通过在Visual C++ 6.0上进行仿真后,就得到需要的结果。

1 AVS中的整数变换

2006年2月底,AVS标准被正式批准为国家标准,该标准的建立对我国的音视频产业的发展具有重要意义。离散余弦变换(DCT变换)自从1974年提出以后,在图像和视频编码领域得到了广泛的应用。DCT变换就是进行如(1)式运算:

其中:u=0,1,2,……M-1;v=0,1,2,……,N。M,N为图像块的行、列值

对于DCT反变换,需要对DCT频率域值进行如式(2)计算:

其中:u=0,1,2,……M-1;v=0,1,2,……,N。M,N为图像块的行、列值。

由于DCT变换矩阵使用浮点数表示,运算量较大,且占用较多的系统资源。为了提高变换效率,DCT有发展出用定点或较大的整型变换逼近浮点运算,由于存在精度误差,即使没有经过量化,反变换后也不能完全恢复图像数据,所以编码的可逆性不强。因此,通过运用蝶形算法对DCT进行蝶式运算,在对蝶式运算进行加权后就可得到DCT的提升格式。由于消除了浮点运算和除法运算,因此便于整数运算。在整数化的时候,需充分考虑到视频图像的特征,通过以上所述的整数变换,就可以得到很好的压缩效果。

2 基于整数变换全零块判决和绝对误差和

2.1 基于整数变换全零块判决

对于运动补偿后的差值,在做变换域之前先进行全零块判决,如果能够实现判决为全零块,那么就可以避免相应的变换域编码和量化。下面分析整数变换和量化为全零的块,首先确定变换之前数据最大值,并把此最大值作为判决门限,然后利用前述的整数变换,先对差值做一维的行整数变换,再做一维的列整数变换,也就是经过两个系数矩阵互为转置的滤波器对图像进行变换,该变换矩阵可表示为 Y=KHXHT (3)

这里,K=?WKi,j是加权矩阵, 是整数变换的系数矩阵,X是图像差值矩阵。

由(3)变换的结果再通过量化,最终可得到公式 (4)

这样只要8*8块中的数据满足(4)式,就可判断当前块为全零块。

2.2 绝对误差和

avs中,运动搜索是针对8*8块的运动,采取块匹配法来将当前帧中的待匹配块在搜索窗中搜索,若找到绝对误差和SAD最小的匹配块,则该块所对应的块位移即为运动矢量,绝对误差和定义为

这里,Xi,j 表示当前宏块和待匹配宏块第(i,j) 点像素值之差。运动搜索后,还需对预测误差Xi,j 进行变换域编码和量化。本判决方法只需存储器保存各模块的绝对误差和SAD的值,然后再整数变换以前加以判决即可。

3 仿真结果与分析

本文使用整数变换对是否进行全零块判决作出了判决速度的比较,这里通过在原有的AVS代码的基础上,对其进行全领块部分的修改和优化,使得全零块判决的速度有了很大程度的提高,也大大提高了编码的速度。通过实验仿真我们可以得到表1的结果。

从表1我们可以看到全零块判决的优点首先是编码速度有了很大提高,这种判决方法减少了整数变换和量化运算的多少,也就是反映了运算速度的快慢。若帧内量化参数QP越大,且小于80QP宏块的绝对误差和SAD的值越多,则运算量减少的幅度越大,由此可见,全零块判决方案的编码效率受制于量化系数。

4 结束语

本文主要是对已有的代码中修改得到改进的算法,提高了编码速度和全零块判决效率。一方面有整数变换代替浮点DCT,消除了浮点运算。另一方面,整数变换下的全零块判决,有提高了编码的效率。由于此判决方法是运动搜索中的SAD的值来进行全零块判决,没有增加额外的运算,所以能保证图像的质量。因此。整数变换将代替浮点DCT变换而成为视频编码标准变换域编码的主要方法,而这种全零块判决方法则可以同样的提高相应视频标准的编码效率。

参考文献:

[1] 周巍.一种基于H.264的全零模块预判决算法[J].西北工业大学学报,2006,24(5):586-589.

[2] 宋彬.H.264整数变换零块的预先判决算法[J].西安电子科技大学学报:自然科学版,2005,32(4):75-77.

[3] 魏芳,李学明.H.264中整数余弦变换和周期量化的原理与分析[J].计算机应用研究,2004(12):26-28.

[4] Zhou X,Yu Z H,Yu S Y.Methed for detecting all-zaro DCT coefficients ahead of discrete cosine transform and quantization[J].Electron Lett,1998,34(19):1839-1840.

[5] 成运,戴葵,王志英,等.一种新的基于H.264/AVC的全零块判决方法[J].计算机研究与发展,2005,42(10):1758-1762.

[6] Zong Yonghong,Cheng Lizhi,Bi Guoan,et al.Integer DCTs and Fast Algorithms[J].IEEE Transcations on Signal Processing,2001,49(11):2274-2784.

[7] 朱光喜,王溪,金欣.一种新的视频编码变换与量化方法研究[J].计算机与数字工程,2005,33(12):1-4.