发信人: champaign (原野), 信区: ECE
标  题: 块截断的数字图像压缩编码算法
发信站: 紫 丁 香 (Sat Jan  8 19:08:41 2000), 转信

发信人: fangf (方方), 信区: DSP
标  题: 块截断的数字图像压缩编码算法
发信站: 饮水思源站 (Sun Jul 25 23:02:04 1999) , 站内信件

摘要:
 块截断(Block Truncation Coding)算法是一种常用的数字图像压缩算法。BTC算法采用
二阶(1bit)的量化器来表征图像的视觉特性。该算法简便易行,抗噪声能力很强,适合
在信道种传送。经过改进后,也能达到较大的压缩比。本文将描述该算法的详细实现及
其改进。并给出模拟仿真结果。
导言:
 自从在图像处理方面引入数字技术以来,图像压缩一直是一个令人关注的问题。许多有
效的算法已经被提了出来。
 BTC算法是由普度大学(Purdue University)在七十年代末发展起来的[1]。该算法采用
二阶(1bit)的量化器来表征图像的局部,能很好的保持图像的统计特性。
 在本文中,我们将描述基本的BTC算法及其改进。并给出计算机的模拟仿真结果。
基本算法:
 在以下的论述中,我们总是将图像分成4 4的象素块,而量化器是二阶的。
 将图像分成n n(本文中,n=4)的象素块后,每个象素块单独编码,每个象素都被量化成
1bit的值。设m= ,  为象素块中各个象素的灰度值。
 算法1如下:
 首先计算象素块的均值与方差:
我们将门限 设为 ,然后对象素块中每个象素进行量化:
if       1
if   <     0
for i=1,2,···,m。
然后将 ( i=1,2,···,m)与以8bit量化的 , 发送出去。编码即告完成。
 在接收端,重建图像 如下:
 =a+(b-a)·
其中:
a= -
b= +
q为象素块中大于或等于门限 的象素数目。
该算法能保持原图中的一阶矩与二阶矩,能很好的保持原图中的重要的视觉特性
 算法2:
 我们仍将门限 设为 ,计算象素块的上均值与下均值:
a=
                                 b=
q为象素块中大于或等于门限 的象素数目。
然后对象素块中每个象素进行量化:
if       1
if   <     0
for i=1,2,···,m。
然后将 ( i=1,2,···,m)与以8bit量化的a,b发送出去。编码即告完成。
 在接收端,重建图像 如下:
 =a+(b-a)·
 该算法可使原图与重建图象之间的均方差(MSE)最小,也能保持原图的一阶矩,它的视
觉效果比算法1稍差,但实现更为简单。
 以上两个算法是基本的BTC算法。它们的每个象素比特数如下:
其中, 为象素块的象素数(即n n),a,b分别为两个量化参量的比特数。
 在本文中, =16,a=8,b=8, =2.0。若原图为8bit量化,则压缩比为4。
改进的BTC算法:
 基本的BTC算法的压缩比不能算很高,经过改进后,可以有很大的提高。
 改进1:参数的矢量量化[2]
若采用基本算法2,象素块的上均值与下均值均用8bit量化是很浪费的。经过Vishwas R
. Udpikar与Jewan P. Raina对大量图象的统计,每一象素块的上均值与下均值基本一致
,即二者并不是在二维平面上的均匀分布,而是集中在二维平面上x=y的一条直线上。因
此,可以将每个象素块一对的上均值与下均值看成一个二维矢量,来进行矢量量化。这
样,象素块的上均值与下均值可以量化成码书中256个矢量之一,传输时,只需传送该矢
量在码书中的序号即可。这样,每个象素比特数如下:
 仍为16,a+b=8, =1.5。
 矢量量化方法详见Vishwas R. Udpikar与Jewan P. Raina[2]。
 改进2:亚抽样与中值滤波插值恢复[3]
图象存在很多的空间冗余度,可以通过亚抽样来进一步压缩图象。B. Zeng Y. Neuvo与
A. N. Venetsanopoulos提供了两种亚抽样的方法(Quincunx sub-sampling与Second on
e on every-other-row-and-every-other-column sub-sampling)。在接收端,利用中值
滤波来插值恢复图像。该算法可以进一步压缩图象。另外,由于中值滤波有很大的抗冲
积噪声的能力,该改进算法很适合图像通信中使用。该算法的BTC编码在噪声信道中的误
码率可参见B. Zeng Y. Neuvo与A. N. Venetsanopoulos[3]。
模拟仿真结果:
 模拟中使用得图象为512 512,8bit量化的灰度图Lenna.Raw。将图像分成4 4的象素块
,进行BTC编码。
 图1为原图,图2为用基本算法1 BTC编码的效果图,图3为用基本算法2 BTC编码的效果
图。由于基本算法1 能保持原图中的一阶矩与二阶矩,能很好的保持原图中的重要的视
觉特性,所以与原图看不出有什么差别。而基本算法2 只保持原图的一阶矩,它的视觉
效果比算法1稍差,但实现更为简单。
 模拟仿真是在Intel MMX166 PC机上用Microsoft Visual C++5.0进行的。
参考书目:
 [1] Edward J. Delp and O. Robert Mitchel, "Image Compression Using Block Tr
uncation Coding",IEEE Trans. Commun.,vol.COM27,No.9,SEPTEMBER 1979。
 [2] Vishwas R. Udpikar and  Jewan P. Raina,"BTC Image Coding Using Vector
Quantization",IEEE Trans. Commun.,vol.COM35,No.3,MARCH 1987。
 [3] B. Zeng Y. Neuvo and A. N. Venetsanopoulos,"Iinterpolative BTC Image C
oding",IEEE Trans ICASSP ,vol 3,pp493-496。
 [4] R.C.Gonzalez and P. Wintz,"Digital Image Processing",Addison_Wesley P
ublishing Company,Inc.,1977。
 [5] 余松煜,数字图像处理,电子工业出版社,1989。

--
    感情是一个难以驯服的野马
    理智却是一个严厉的马夫

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.228.139]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:7.178毫秒