摘 要: 提出了一种适用于RGB空间彩色图像的块截短编码技术BTCTC。BTCTC的主要思想是把图像分成4×4像素的数据块,根据图像数据之间存在空间冗余这一特性,用分块中的两个像素来表示该图像块,以达到压缩图像的目的。实验表明,此方法对于RGB彩色图像的压缩效果理想。
关键词: 块截短编码; 有损压缩; RGB; BTCTC
目前,彩色图像的压缩编码技术一般都是先将经采样量化后的RGB 数据转换成为YCrCb 或YUV色彩空间,然后对3个色彩分量利用DCT变换等进行单独编码[1],如JPEG、MPEG 和H.264/AVC,它们都建立在DCT 变换的基础上。然而,这种方法会导致压缩RGB彩色图像的工作量和处理时间是灰度图像的3倍左右,这对于多媒体实时传输领域无疑是个很大的挑战[2]。针对这种情况,本文根据块截短图像编码BTC(Block Truncation Coding))算法的思想,提出了一种快速有效的适用于RGB空间彩色图像的块截短编码BTCTC(Block Truncation Coding of True Color)方法。该方法不必按照传统方式对RGB数据进行色彩空间转换处理,而是把单个像素作为一个整体进行编码,因此相对于常用方法节省了大量的图像空间转换时间。
1 块截短编码
1.1 BTC的基本原理
BTC算法是由DEL B J和MITCHELL O R在1979年提出的[3]。BTC算法比矢量量化和变换编码易于实现,其优点是运算复杂度低、占用存储空间少、编解码速度快,这使其在实时图像传输方面有很大吸引力[4]。本质上,BTC 是一种比特自适应的矩保持预测量化器,它在量化结果中保留输入图像块的某些统计特性[5-6]。BTC算法首先将输入图像划分成不重叠的像素块,每个块X通常由n×n个像素组成,n一般取4。然后为各图像块单独设计二电平(高电平为“1”、低电平为“0”,用1 bit表示)量化器,即设置一个门限u,将X中像素按其灰度大小分成高于或低于门限u的两组像素,高于门限u的像素用高电平表示,低于门限u的用低电平表示。量化门限和两个重建电平值随着各分块的局部统计特性而变化,因此,该编码实际上是一个局部二进制处理过程。量化后图像子块用一个n×n的二元位图表示,其包含了确定各像素重建的附加信息。译码则是根据二元位图为各像素位置选定一个合适的重建电平值,是简单的逆处理过程。BTC的基本原理图如图1所示。
2 基于BTC的RGB空间彩色图像编码
2.1 BTCTC方法中的定义
计算像素之间相似度的常用方法有灰度差法和欧式距离法。灰度差法相对于欧式距离法具有计算复杂度低、速度快的优点,因此本文采用灰度差法作为计算像素之间相似度的方法。在介绍本文BTCTC算法之前,首先给出该算法中用到的定义。
定义1 像素差:指两个像素对应的3个分量的绝对灰度差之和。差值越小,表示两个像素越相似;反之,两个像素差异越大。像素差的取值范围为[0,765]。
定义2 最小像素差:把某一像素与一个特定像素组合中的每个像素作差,其差的最小绝对值即为该像素与像素组合的最小像素差。
定义3 像素相等:当两个像素对应3个分量R、G、B的灰度值分别相等时,称这两个像素相等。
2.2 BTCTC算法的实现
本文选取的图像分块大小为4×4,在每个分块中分别选取两个像素点作为其所在块的重建电平。重建电平的选择至关重要,关系着图像重建质量的好坏。本文采用了像素差衡量两个像素之间的相似度,目的是在分块中找到最具代表性的像素组合。分别计算分块中的两两像素组合与剩余的14个像素的最小像素差并求和,和值最小的两像素组合即为该图像块的两个重建电平。
对于4×4的图像块,两像素组合共有120种,查找计算量非常大。为了缩小两像素组合的查找范围和减少计算量,本文选择分块中3个固定位置的像素作为两像素组合的候选,从而使两像素组合查找范围缩小为3种,大幅减少了搜索计算量,同时又不影响图像的压缩质量。本文所选取的3个像素点的具体位置如图3所示。
算法的实现过程如下:
(1)将彩色图像分割成4×4 的无重叠块。
(2)对于每一个图像块,分别从中选出两个最具代表性的像素作为重建电平。其中,像素的3个分量之和较大的为高电平,较小的为低电平。如果两个像素相等,则高、低电平为同一个像素。
(3)分别对图像块中所有像素执行二电平量化形成一个比特位图。“0”表示与低电平的像素差较小,“1”表示与高电平的像素差较小。如果两个像素相等,则比特位图用全“1”表示。
图像的解码过程相对简单,与BTC类似。根据接收端收到的比特位图,用高电平替换位图中的“1”,用低电平替换位图中的“0”,从而形成重建图像。
3 实验结果与分析
本文选用了24位彩色图Lena和Peppers作为实验对象,使用的电脑配置为2.4 GHz CPU,DDR400 2 GB内存,编译环境为VC 6.0。本文选用峰值信噪比(PSNR)、压缩时间(Times)和压缩比(Cr)作为衡量算法性能的指标。其中彩色图像峰值信噪比计算公式为[8]:
从表1可以看出,本文算法相对于JPEG和CEZW在压缩质量方面相差不大,而压缩时间仅为JPEG的1/11,
CEZW的1/8,因此BTCTC算法适合于对时间要求更高的图像实时传输领域。本文算法相对于其他彩色图像压缩算法不仅省去了图像色彩空间的转换时间,而且在图像编解码过程中运算简单,计算量少。
本文利用图像数据之间存在空间冗余的特性,并结合BTC算法思想,提出了一种新的RGB空间彩色图像编码方法。实验表明,该算法可行, 具有较高的峰值信噪比和压缩速度, 且恢复后的图像也有较好的视觉效果。
参考文献
[1] 朱艳秋,陈贺新,等.彩色图像三维矩阵变换压缩编码[J].电子学报, 1997,25(7):16-21.
[2] 查宣威,岑峰.DC恢复算法及其在图像压缩编码中的应用[J].微型机与应用,2013,32(1):37-39.
[3] DELP E J, MITCHELLO R. Image compression using block truncation coding[J]. IEEE Transactions on Communications, 1979,27(9):1335-1342.
[4] 张海燕,王东木,宋克欧,等.图像压缩技术[J].系统仿真学报,2002,14(7):831-835.
[5] 吕梅蕾,黄云龙.基于矢量量化的高效BTC图像编码算法[J].计算机应用与软件,2004,21(8):75-77.
[6] 吕梅蕾,郑怡文.一种有效的基于中值滤波的BTC图像编码算法[J].浙江工业大学学报,2003,31(4):382-385.
[7] LEMA M, MITCHELL O R. Absolute moment block truncation coding and its application to colo rimages[J]. IEEE Transactions on Communications,1984,32(10):1148-1157.
[8] 王文宁,师磊,李慧娟.一种新的RGB空间的彩色图像压缩编码方法[J].计算机应用研究,2009,26(1):395-397.