摘 要: 根据彩色图像" title="彩色图像">彩色图像的数据结构将图像转化为适应人类视觉系统的HSV模式" title="HSV模式">HSV模式分量,并排列组合成新的灰度图像,将该灰度图像实行粗细分层操作" title="分层操作">分层操作后分别按JPEG压缩标准" title="JPEG压缩标准">JPEG压缩标准进行压缩编码。实验表明,该算法得到的压缩图像在与JPEG同等质量的条件下,数据量要远小于JPEG压缩的数据量,操作简单快速,可实现彩色图像的高质量快速压缩和预览。
关键词:彩色图像; HSV模式; JPEG压缩标准; 分量组合" title="分量组合">分量组合; 分层操作
信息技术的迅猛发展产生了大量的图片,要把这些图片充分有效地利用起来,往往要求对其进行大量的存储和传输,而且要求在保证质量的前提下以较小的空间存储图像和较少的比特率传输图像。由此各种图像压缩编码技术应运而生。图像压缩是信源编码的目的和手段。从广义上讲,数据压缩[1]就是减少必须分配给指定信息集合或数据采样集合的信号空间的数值。数据压缩的效果好与不好,关键要看三个指标:压缩比、压缩算法和恢复效果。
对于彩色图像而言,其色彩模式和数据组合直接影响了压缩效率。本文通过对彩色图像的色彩模式的研究,针对人类视觉系统提出了一种HSV彩色图像使用分量数据排列组合进行去除冗余压缩的方法,该方法不同于常规的对彩色图像的各个色彩分量分别进行压缩的方法,而是将彩色图像的RGB三个分量转换为HSV模式下的三个分量,并将其排列组合成一幅灰度图像,对该灰度图像采取分层压缩的方法减少数据量[2],预处理后的数据借用JPEG压缩标准对其编码,以便于与JPEG压缩方法进行比较。最后得到两幅经压缩后包含三个分量的图像,一幅为三分量图像的粗略图,一幅为三分量图像的细节图,两幅图像经过解压缩可重现原始彩色图像。实验证明,使用本文方法得到的彩色压缩图像在与JPEG同等质量的条件下,数据量要小于JPEG压缩的数据量,同时可实现快速的彩色图像压缩和彩色图像预览。
1 JPEG压缩标准
JPEG 以离散余弦变换DCT(Discrete Cosine Transform)[3]为核心算法,通过调整质量系数控制图像的精度和大小。对于照片等连续变化的灰度或彩色图像,JPEG在保证图像质量的前提下,一般可以将图像压缩到原大小的1/10~1/20。如果不考虑图像质量, JPEG 甚至可以将图像压缩到“无限小”,JPEG算法的平均压缩比为15:1,当压缩比大于50时将可能出现方块效应。 JPEG编码的基本处理过程包括图像准备、图像处理、量化和熵编码。JPEG首先将图像分割成8×8小方块,然后计算每一块的DCT变换,再对DCT系数进行量化,如果量化精度少,结果图像质量可能很粗糙,失真较大;而量化级多,则结果图像质量比较精细,但所需存储的数据量也比较大。为了找到一个折中的方法,可以对低频信号赋予较多的量化级,对高频信号赋予粗糙量化级,因为人眼对低频信号的误差比较敏感。在JPEG中,对低频分量采用DPCM(Differential Pulse Code Modulation)编码,而对高频分量采用游程编码。最后对这些量化后的系数进行Huffman编码或算术编码,将数据流写入一个输出文件(*.JPG)。解压缩过程与上述过程刚好相反。
2 图像色彩模式
图像可分为灰度图像和彩色图像。随着网络和多媒体技术的飞速发展,人们对彩色图像处理的要求越来越高。彩色图像的采集、处理及显示技术在印刷工业、电视工业、医学成像等实际应用领域中都有非常重要的意义。为了用科学的手段,尤其是计算机来处理彩色信息,必须用定量方法来描述彩色信息,即建立彩色模型。然而,人眼对于彩色的观察和处理是一种生理和心理现象,目前对其机理还没有完全了解,因而对于彩色的许多结论都是建立在实验基础上的。正因为如此,出现了多种不同的颜色描述方法,而不同的颜色描述方法对应于不同的颜色空间。
从电磁波谱可以得知,电磁波波长范围很大,但只有波长在400 nm~760 nm这个范围内的电磁波才能使人产生视觉,感到明亮和颜色,这个波段称为可见光。1931年,国际照明委员会(CIE)规定用波长为700 nm、546.1 nm、435.8 nm的单色可见光作为红(R)、绿(G)、蓝(B)三原色。根据三原色原理,任意色彩的颜色方程为:F=α(R)+β(G)+γ(B),其中α、β、γ是红、绿、蓝三色的混合比例,一般称为三色系数。色彩模型指的是某个三维颜色空间中的一个可见光子集,它包含某个色彩域的所有色彩。任何一个色彩域都只是可见光的子集,所以任何一个色彩模型都无法包含所有的可见光。常见的色彩模型有RGB色彩模型、CMY色彩模型、HSV色彩模型、CIE色彩模型、YCC色彩模型等。HSV(Hue Saturation Value)颜色模型是面向用户的,有的也称为HIS,它对应于圆柱坐标系中的一个圆锥形子集,其中每一种颜色和它的补色相差180,饱和度值从0到1。圆锥的顶面对应于V=1,它包含RGB模型中的R=1、G=1、B=1 三个面,故所代表的颜色较亮,色度H由绕V轴的旋转角给定,红色对应于角度0°,绿色对应于角度120°,蓝色对应于角度240°。这种颜色模型符合人眼对颜色的感觉,同时其三个坐标是独立的,当采用RGB(或者CMY)色彩模型时,改变某一颜色的属性(例如色调)必须同时改变三个坐标,而采用HSV模型只需改变H坐标。HSV色彩模型构成的是一个均匀的颜色空间,采用线性的标尺,彩色之间感觉上的距离与HSV色彩模型坐标上点的欧几里德距离成正比。各种色彩模型均可以进行转换。RGB色彩模型到HSV色彩模型的转换最可靠的方法是:首先把RGB坐标变换为1931CIE-XYZ系统中的(X,Y,Z)坐标,然后根据(X,Y,Z)查找对应表,得到相应的(H,S,V)坐标,但这种方法需要依赖对照表,不方便。为方便在计算机上实现相应转换,可假定
反过来也可用公式实现从HSV颜色坐标到RGB颜色坐标的转换。
目前许多彩色图像处理都使用对色彩空间中各个分量分别处理的方法来实现彩色图像的有关操作。数字图像的获取实质上就是模拟信号的数字化过程,它的处理步骤大致可分为取样、分色、量化,其中在分色部分对应彩色图像中任何一种颜色使用3或4个基色表示,即每一个取样点有3或4个亮度值,整体上表现为三维或四维空间。虽然一幅三色数字图像可以认为是三个坐标(两个空间和一个光谱)的一个标量函数,但是一般情况下,将其看作是一幅普通(二维)图像,且每个像素具有三个灰度值(R、G、B)更为方便。在另外一些情况下,将其看作是三幅单色数字图像的叠加更为有用。因此三幅图像代表三个空间,彩色图像处理的重点就转移到空间的选择上。一般说来,在彩色图像中,应该在RGB格式的图像中实现颜色平衡,而大量的处理和分析则在HSV格式的图像中进行[4]。
3 HSV分量组合分层压缩
目前,图像压缩研究主要还是集中在灰度图像方面,对彩色图像压缩算法的研究则相对较少。与黑白图像相比,彩色图像的色彩部分是其特有的,并且与人眼的视觉特性关系非常紧密,因而对彩色图像的处理也应有独特的方法。显然,编码彩色图像的一个最直接的方法就是将真彩色图像看成是三个独立的灰度图例进行单独编码的SFC(Separated Fractal Coding)方法[5]。例如JPEG彩色图像压缩,就是在RGB色彩模型中分别对三原色进行JPEG压缩后统一编码。这种方法由于没有考虑彩色图像三个颜色分量之间的相关性,因而压缩比较低而且很费时。
基于彩色图像所具有的色彩信息和数据结构,并非将彩色图像按三色数据分别压缩,而是将RGB模式彩色图像转换为HSV模式,然后将其三个分量H、S、V进行排列组合成一幅灰度图像,对该灰度图像使用笔者另一篇文章中的压缩方法[2]进行分层压缩,即提取分量组合的粗略部分和细节部分分别存储以降低数据的冗余程度,减少数据量,分别将粗略图、细节图按JPEG压缩标准进行数据压缩后存储,最后得到两幅图像,分别对应分量组合粗略图和细节图。其中分量组合的粗略图能大致提供该彩色图像的内容信息,方便在搜索和预览时使用,即未打开或下载该彩色图像就可预知图像的内容,大大节省了时间和空间。同时还可通过选择分量组合粗略图的压缩质量实现不同程度的压缩比和压缩质量。
压缩时,首先按转换公式将RGB彩色图像转换为HSV模式的彩色图像,然后将其三个分量H、S、V进行排列,组合成一幅灰度图像,对该灰度图像使用DCT变换,取变换后数据的高频部分有效值,该取值的多少直接影响基准分量的清晰程度和最后的压缩比,这里按Z字形4-3-2-1排列取10个值,剩余值均设为零,利用DCT反变换后按8×8的块操作,每一块取原有64个数据的最大值,从而得到分量组合的粗略图,其大小只占原图像的1/64,大大减少了数据量。分量组合原图与恢复相同尺寸的分量组合粗略图的差值为分量组合细节图,尺寸大小与原图像相同,但大部分数据为零,压缩时能减少数据量。将这两幅图像分别按JPEG压缩标准进行数据压缩后打包就得到了压缩后的RGB彩色图像。可提取分量组合粗略图预览图像。
解压时,利用分量组合的粗略图和细节图按逆变换恢复彩色图像的分量组合原图,再利用该图恢复H、S和V三个分量,然后将H、S、V分量重组得到HSV模式彩色图像,利用转换公式重新得到RGB彩色图像。
4 实验结果
下面以彩色图像Lena(256×256×3)为例,如图1所示,按本文方法进行数据压缩处理。得到的分量组合粗略图数据大小为1.52 KB,得到的分量组合细节图数据大小为5.22 KB,总大小为6.74 KB,将两幅图像打包压缩后的数据量为5.57 KB。而具有相同彩色图像质量效果直接采用JPEG方法压缩得到的图像大小为15.8 KB,本文方法的压缩数据量减少了1/3。
同时也选取了一些其他图像进行实验,如图2所示,得到的实验数据如表1所示,对比发现,在高质量压缩的情况下(均方根误差MSE和峰值信噪比PSNR都相当高),本文压缩比都比相同质量下JPEG算法高。
本文基于JPEG压缩标准的彩色图像压缩前的图像预处理,通过对彩色图像的色彩模式的转化,将通常的RGB色彩模式转换为满足人类视觉系统的HSV模式后,实现了彩色图像的分量组合操作,对处理后得到的两幅图像直接采用JPEG压缩方法的编码部分进行数据编码。在相同图像质量效果的基础上,该方法压缩比高,压缩质量优,算法简单,反应时间短,操作容易。选取不同分量组合经DCT变换后的保留值可实现高质量下的不同压缩比。同时,如果对分量组合的粗略图采用有损编码,还可以实现更高的压缩比和较好的压缩质量,并且使用压缩后的图像集合中的分量组合粗略图还可实现对原始彩色图像的预览,大大节省了时间和空间。使用时可将压缩得到的两幅图像打包压缩,不仅能减少数据量,同时方便存储和传输。
参考文献
[1] SAYOOD K. Introduction to date compression. Second edition[M]. San Francisco: Academic Press, 2000.
[2] 文山.基于JPEG的图像无损分区压缩[J].计算机工程与设计,2007,28(20):4968-4970.
[3] XONG Z, GULERYUZ O. A comparative study of DCT and wavelet-based image coding[J]. IEEE Trans Circuits Syst Video Technol, 1999, 9(8):692-695.
[4] CASTLEMAN K R. Digital image processing[M].北京:电子工业出版社,2002.
[5] 李刚.基于JPEG-LS标准的真彩色图像改进无损压缩方法[J].中国生物医学工程学报, 2002,21(05):426-429.