欢迎来到学术参考网

图像块平坦测度与系数扫描方式选择

发布时间:2015-07-04 09:30

摘要:本文介绍了图像块平坦测度的概念,提出图像的水平测度和垂直测度,并在此基础上提出了简单有效的扫描方式选择策略。

关键词:图像块 平坦测度 扫描模式 h.263

1. 问题的提出

在众多的图像编码建议中,如h.261/h.263帧内图像编码都需要通过dct变换,将图象从空间的表达式/空间域转化为频谱表达式/频率域。这样变换后,只需要少量的数据点就可以表示图象。并且dct产生的系数很容易被量化,可获得好的块压缩。在量化后,图像矩阵中的大多数dct系数都被截取为零值。在这些图像块的dct系数的游程编码前,一般都要按一定并且可选的方式对系数进行重新排列,排列的目的是增加游程编码的效率,使得尽可能多的零相连。在h.263建议中,在高级帧内编码模式中给出了一些指导性的建议和扫描的顺序,但是建议本身并不提供如何实际地选择系数扫描模式。而且是不是只有在高级帧内编码模式中才能应用多种扫描模式,建议并未指明。

本人在实际的视频压缩编码研究和应用中发现,扫描方式的选择与图像的平坦测度有直接的关系,并且通过平坦测度测定和图像块方差可以简单地确定系数扫描方式。并且正确选择率较高。同时把这一扫描模式选择推广到任何帧内编码宏块。

2. 块的平坦测度

块的平坦测度(flatness measurement)指块的像素在水平和垂直两个方向上的综合分布特点。假定块的大小为 大小。块的平坦测度定义如下:

其中和分别是块的垂直和水平平坦测度,a、b是比例因子,它们的作用是调节水平和垂直平坦测度以获得子块的综合平坦测度。一般,和分别定义如下:

其中:和定义如下:

其中fm()为相邻像素平坦测度函数,定义如下:

t是控制阈值,控制阈值的确定由人类视觉系统对于像素亮度变化的敏感度决定。一般而言,阈值可以由实验的出。对于控制阈值的选择是获得优良编码性能的关键,控制阈值的选择依赖于图像块本身的起伏特性,图像的起伏特性可以由图像像素的方差表征。如果图像的像素的方差较大,则阈值也要较大,否则,方差较小,阈值也小。方差的计算可以由下式完成:

其中:

在实际计算时可以简化为:


得到方差后就可以用实验的方法获得控制阈值t,本人在实验中得到的经验公式为:

另外控制阈值与量化参数也有一定的关系,直观的分析表明,控制阈值大,子块的平坦度小,控制阈值小,子块的平坦度大,,因为控制阈值与图像的方差为线性关系。通过对hvs(human visual system)的分析,hvs对平坦区域比对非平坦区域更加敏感,因此如果一个块的平坦测度较大,就要采用精细量化,反之则采用粗糙量化。通过平坦度和控制阈值的关系我们可以调整量化参数,从而有效地分配码位,达到较好的图像质量。

3. 系数扫描方式的选择策略

可以通过测度图像块的平坦测度来决定对于子块的扫描方式。在h.263标准的高级帧内编码方式中有三种扫描方式:zigzag scan(暂且称之为z形扫描)、alternate-horizontal scan(称之为轮流水平扫描) 和alternate-vertical scan(称之为轮流垂直扫描)。但是我们可以把这种做法推广到一般的编码块中。一般而言,对于原始图像块采用这种扫描选择策略获得的较好的编码性能,而帧差信号的分布随机性较大,一般适合z形扫描。当然,如果采用也可以在一定程度上提高编码效率。

z形扫描 子块中所有频率分量都比较均匀,这种情况适合z形扫描。扫描路径见图1。


轮流水平扫描 如果块中包含较强的水平频率分布,也就是非零dct系数主要集中垂直方向的低频部分。表现在像素亮度上则是块在垂直方向上较为平坦。扫描路径见图2。


轮流垂直扫描 如果子块中包含较强的垂直频率分布,也就是非零dct系数主要集中水平方向的低频部分。表现在像素亮度上则是块在水平方向上较为平坦。扫描路径见图3。

具体确定扫描方式的策略如下:

1) 如果水平平坦测度和垂直平坦测度之差小于dist,采用zigzag扫描。否则转2。之所以采取这种方案是因为几乎一半以上的图像块适合zigzag扫描。

2) 如果水平平坦测度和垂直平坦测度之差大于等于dist,则选择较小的平坦测度作为扫描的方式。例如,水平测度小于垂直测度,就选择水平扫描方式。

dist称为测度失真,它表征在平坦度测定过程中可能出现的误差。这里有个问题就是如何确定dist,dist一般在通过实验得到,量化参数和图像方差


决定它的取值,其值一般在[5,9]中间取值。通过dist的选取能明显提高扫描模式的选择的正确率。dist值取得大,有利于zigzag扫描的正确选择,而dist取值小,有利于另外两种扫描的正确选择。

以上对于dist的选择是静态的。另外,可以设计一个函数,,其中是图像的垂直和水平平坦测度,是图像的方差,q是图像的量化参数。

由于平坦程度的测定比较粗糙,控制阈值的确定也只是从统计意义上得出,因此通过上述方法得到的扫描模式不可能保证总是效率最好的编码,有时候会出现相反的情况,但是将上述方法应用于帧内编码宏块时命中率一般大于65%。

方差的计算量较大,难以在实时应用中使用。但是考虑到原始图像的连续性可以计算宏块的方差,在实际操作时只抽取部分像素作为样本,从而减少算量。例如可以采用下图的方法在计算图像的方差是可以采取隔行列,这样获得方差计算量可以减少到1/4,计算出的方差用于四个子块的平坦度测定。通过对方差以及平坦测度的计算可以明显看出其算法规律性强,适合于利用mmx技术指令实现,从而大大提高速度。

一般将平坦度测定用于帧内编码的图像宏块中,而在帧间编码的宏块中统一采用zigzag扫描,因为,帧间编码图像宏块像素分布随机性大,采用其他两种类型的扫描策略编码效果不明显,并且采用上述扫描方式选择方法命中率较低,而复杂的选择策略显著影响编码速度。

通过对6000帧图像中所有的i宏块进行统计,得到下表

方法平均位数(bit) 单纯z形扫描 18.97 平坦测度选择扫描 16.63 扫描方式对编码性能的影响

4. 总结

通过平坦测度来选择扫描模式具有简单、有效和可操作性强的特点,便于在实际应用中采用。

参考文献

1. 贾志科,崔慧娟,唐昆,冯重熙。"h.263活动图像编码器码率控制研究",1997,通信学报
2. sung deuk kim,jaeyoun yi,hyun mun kim,and jong beom ra."ieee transactions on circuits and systems for video thchenology",february 1999,volume 9,number 1.


上一篇:计算机网络系统在制碱工业中的应用

下一篇:企业应用数据库维护方法探讨