黄丽君,文志强
(湖南工业大学 计算机与通信学院,湖南 株洲 412007)
图像半调是一种利用人眼的低通性,将噪声引入连续色调图,从而将连续色调图变为等感观半色调图像的技术,该半色调图像通常称为二值图像[1]。该技术利用了人眼的低通性,即当人眼在一定距离下观察图像时,人眼会将图像在空间上比较接近的部分区域看作是一个整体,而这个局部的整体平均灰度与原图像的局部平均灰度很相近,令人眼产生一种从一定距离看该经过处理后的半调图像时仍然是连续图像的错觉[2]。
目前,对于灰度图像的半调处理技术已经较为成熟。但是,随着数码相机等彩色信息采集设备的诞生及其处理技术的实用性,彩色图像已成为主流信息处理对像。因此,图像的处理技术已从对灰度图像的处理转为对彩色图像的处理,更具有适用性、实用性。彩色图像的半调技术可由灰度图像半调技术推广而来。当前主要的灰度图像逆半调方法有滤波方法、机器学习方法和最优化估计方法3类[3]。如J. Z. C. Lai在文献[4]中提出了一种使用矢量量化分类的彩色图像逆半调方法,利用该方法重构的彩色图像可以存储为压缩图像,而不需要另外执行压缩操作;且在文献[5]中扩展并修改了该矢量量化分类,运用这种方法,有效地保障了插值图像的质量,并且图像各通道的峰值信噪比(peak signal to noise ratio,PSNR)值比矢量量化分类方法的高。
M. Mese等人[6]利用查找表(look-up table,LUT)对彩色图像逆半调进行了研究,其构建的LUT彩色图像逆半调中,将彩色半调图像分为3个独立的颜色通道,并分别运用灰度图像LUT映射表建立方法进行建表。实验结果表明,该方法是可行的,但利用该方法建立的映射表尚存在以下不足:
1)LUT表中存储的数据都是从半调图像映射到连续图像的,如果对原图像加入的噪声较多时,半调图像的色彩区域很可能与原连续图像的色彩完全不同,而这时的半调索引值所对应的连续值也是完全不可取的;
2)当半调值相同时,存储的值为所有连续值的平均值,但如果1)发生时,这个平均值就有可能与原连续值存在较大偏离,使LUT表中值与原值大相径庭,从而降低逆半调图像的质量;
3)建表时虽考虑了图像3个通道的相关性,并分别对3个通道采用了不同的训练模板,但并没有将彩色图像在建表时各通道值的组合叠加性区别于灰度图像单通道特性。
为改进以上问题,本文提出了一种基于色彩分类的查找表逆半调(color classic LUT inverse halftone,CC-LIH)方法,即基于色彩分类存储的LUT彩色图像逆半调方法,它根据三基色及其互补色将色彩分为红(R)、墨绿(M)、绿(G)、洋红(S)、蓝(B)、黄(Y)、黑(D)、白(W)8类[7],并且将相同或相近的色彩存储于同一空间中,以减少半调噪声对映射表的影响,提高逆半调图像色彩与原图像色彩的相似度。实验结果表明,该方法能有效提高彩色逆半调图像的质量。
LUT方法是一种查表完成图像处理的方法,于2000年由Murat Mese首次提出[4]。LUT逆半调方法是一种典型的机器学习方法,它不需要任何的线性滤波器,也没有固定的图像模型。LUT逆半调方法以一组半调图及其多级灰度图为参考样本,并对所选定的样本图像集进行训练,生成一张半调值到连续值映射表[8],图像逆半调的过程即查表取值的过程,LUT的建表思路如图1所示。
图1 经典LUT建表思路图Fig.1 Classic LUT constructing diagram
图1所示经典LUT建表思路中,O’为半调图像中当前处理的像素,O为O’对应的连续值,R为训练模板,索引值由R模板在半调图像中对应位置像素的二进制值组合确定,v用于存储当前处理像素半调值所对应的连续值。
在建表过程中,半调图集与连续图集是事先收集好的训练图集,图集中图像的数量越多,则LUT表中“空值”的数量越少,逆半调图像的质量越好,但是LUT表所需要的存储空间越大。LUT表的空间大小由模板R的大小决定,若R中像素的个数为num,则LUT表所需要的存储空间为2num。逆半调时,需先根据模板R计算出索引值,然后通过查询LUT表,以表中该索引值对应的连续值来确定逆半调值v。对半调图像中所有的像素点重复查表取值,将得到最终的逆半调图。
基于LUT的彩色图像逆半调方法由灰度图像的LUT逆半调方法扩展而来。本文提出的将色彩分类存储的LUT彩色图像逆半调方法,是在文献[6]的基础上,加入了色彩分类操作,以减少半调噪声对逆半调图像的影响,并改变了以往由半调图像到连续图像建立索引的顺序,减少了半调噪声对LUT表精确度的影响。
在LUT逆半调中,所需要的模板有训练模板与估值模板。本文中所选用的训练模板为Murat Mese在文献[6]中所采用的优化模板,该模板中的取值顺序如图2所示;估值模板为19位低通滤波,如图3所示。
图2 训练模板Fig.2 Training template
图3 估值模板Fig.3 Estimation template
训练模板中,“0”所处的位置为当前像素点,其它数字依次为邻域读取的顺序。估值模板中,“12”所处的位置为当前像素点。
基于LUT的图像逆半调方法中,LUT映射表的建立对图像的逆半调起着至关重要的作用,而映射表的建立则依赖于对图像的训练,CC-LIH训练示意图如图4所示。
图4中,O和O’分别为当前像素点的连续值与半调值,C和C’分别为连续值与半调值所表示的颜色类型,C(C’)∈{R,MR,G,DG,B,Y,D,W},S为根据模板对应的半调值组合而成的索引值,X.r表示连续图X的当前点O的R通道值,X.g表示连续图X的当前点O的G通道值,X.b表示连续图X的当前点O的B通道值,CRLut[S],CGLut[S],CBLut[S]分别用于存储颜色分类为C、索引号为S的像素所对应的R,G,B 3个分量的值,详细步骤见式(1)和式(2)。
上述分类中,r,g,b分别为RGB的3个分量值,I为黑、白区域的域值,J为相似颜色的弹性域值。本文中,I的取值为127,J的取值为5。
若3个分量中,r值最大,且r与g,b之间的差值大于设定的域值,则将该像素颜色划分为R类。
若3个分量中,r值最小,且r与g,b之间的差值大于设定的域值,则将该像素颜色划分为DG类。
若3个分量中,g值最大,且g与r,b之间的差值大于设定的域值,则将该像素颜色划分为G类。
若3个分量中,g值最小,且g与r,b之间的差值大于设定的域值,则将该像素颜色划分为MR类。
若3个分量中,b值最大,且b与r,g之间的差值大于设定的域值,则将该像素颜色划分为B类。
若3个分量中,b与r,g之间的差值大于设定的域值,且r与g的差值小于域值,则将该像素颜色划分为Y类。
若3个分量中,各分量值之间的差值小于设定的域值,且都大于I,则将该像素颜色划分为W类。
若3个分量中,各分量值之间的差值小于设定的域值,且都小于I,则将该像素颜色划分为D类。
如果连续值的色彩类型与半调值的色彩类型相同,则按式(3)~(5)将连续值存入LUT映射表中,如果不同,则将该值存入替补表中。
以上各式中:C为(i,j)像素的颜色类型;
S为索引值;
m为训练图像的个数;
M,N分别为图像的宽度与高度;
Xn(i,j)表示第n幅连续图像的(i,j)位置;
R,G,B分别表示r,g,b分量值;
SUMS[S]用于统计索引值S相同时被加入到映射表中的连续值的个数。若S从未出现过,则该索引没有可对应的连续,这些不存在于映射表中的值被称为“空值”。
为完善映射表,采用文献[6]中的19位低通滤波对替补表中的“空值”进行估值。
建表是一个图像值到映射表的过程,图像逆半调则是一个查表取值的过程,在基于色彩分类存储的LUT彩色图像逆半调方法中,图像的逆半调分为以下几个步骤:
1)对当前像素半调值进行色彩分类,得到类型C’,分类方法与建表时的分类方法相同;
2)选择合适的模板,以确定索引值S,此处设为与建表时所用模板一致,索引值的计算与建表时索引值的计算方法相同;
3)通过索引值S查找C’类型的RLUT[],GLUT[],BLUT[]映射表,将相应的连续值做为逆半调图像中当前点的三分量值;
4)重复步骤1)~3),直到图像的每个像素点都完成查表操作。
为了验证所提出的基于色彩分类的LUT逆半调算法,本文以30幅宽与高均为176像素的误差分散半调图及其连续图为训练图集,实验结果如图5~7所示,各项评价指标如表1和表2所示。
在图5~7中,Lena与Girl的LTU-IH逆半调效果图与CC-LIH逆半调图没有明显的区别,但对比Pepper的图b)与c),可以看出图c)比图b)要清晰,且从视觉上更接近Pepper原图。
表1 Lena, Pepper, Girl的PSNR值比较Table1 The PSNR value comparison for Lena, Pepper and Girl
表1为Lena, Pepper, Girl半调图分别以LUT-IH逆半调、CC-LIH逆半调的效果图的PSNR值比较。从表1中可以看出,本文所使用的方法所得效果图的PSNR值均比LUT方法的要高。
表2 Lena , Pepper , Girl的CRD与CT值比较Table2 The CRD value and CT value comparison for Lena,Pepper and Girl
表2为Lena, Pepper, Girl半调图分别以LUT逆半调、CC-LIH逆半调的效果图的色彩还原程序(color reduction degree,CRD)、色彩倾向(color trendency,CT)值的比较。其中,CRD值越大,还原的色彩越接近于连续图;CT值越大,还原过程中失真的色彩就越少。从表2中可以看出,本文所提CC-LUT逆半调方法所得效果图的CRD与CT值均高于LUT方法所得逆半调图,尤其是Pepper CC-LIH的评价值比LUT的评价值高出很多,所以在图5中,Pepper的CCLIH逆半调图比LUT-IH逆半调图更接近原图。
将灰度图像的LUT逆半调方法扩展到彩色图像的逆半调时,所建映射表中的值若简单地以半调值为索引、连续值为映射值,会使得映射表中的数据与原始数据间存在差异,导致半调噪声对逆半调图像质量产生影响。因此,本文提出了一种首先对连续值与半调值进行色彩配比,然后比较配比值:如果两值相等或相近,则将以该像素点领域的半调值为索引,将对应的连续值映射到LUT表中;如两值不相近,则将其存入一个替补表中,作为LUT表中“空值”估值的依据。实验结果表明,该方法能够得到比LUT方法稍好的效果图,但是图像质量还有待进一步提高。
[1] 郑海红,孔月萍,曾 平,等. 误差分散类逆半调技术综述[J]. 中国图象图形学报,2008,13(1):1-6.Zheng Haihong,Kong Yueping,Zeng Ping,et al. A Review of Inverse Halftoning Algorithms for Error Diffusion[J]. Journal of Image and Graphics,2008,13(1):1-6.
[2] 王延威. 数字半色调技术的研究[D]. 长春:吉林大学,2010.Wang Yanwei. The Research of Digital Color Half-Toning Technology[D]. Changchun:Jilin University,2010.
[3] 耿 烨,孔月萍,刘 欣. 基于查找表的误差分散半调图像的混合压缩算法[J]. 计算机应用,2011,31(5):1221-1223.Geng Ye,Kong Yueping,Liu Xin. Mixed Compression Algorithm for Error-Diffusion Halftone Image Based on Look-Up Table[J]. Journal of Computer Applications,2011,31(5):1221-1223.
[4]Lai J Z C,Yen J Y. Inverse Halftoning of Color Images Using Classified Vector Quantization[J]. Journal of Visual Communication and Image Representation,1998,9(3):223-233.
[5]Lai J Z C,Liaw Y C. Improvement of Interpolated Color Filter Array Image Using Modified Mean-Removed Classified Vector Quantization[J]. Pattern Recognition Letters,2005,26(8):1047-1058.
[6]Mese M,Vaidyanathan P P. Look-Up Table(LUT)Method for Inverse Halftoning[J]. Image Processing,IEEE Transaction on,2000,10(10):1566-1578.
[7] 胡威捷,赵达尊. 基于CRT的非对称视觉匹配实验中对立色的显示方法研究[J]. 光学技术,2008,34(3):462-468.Hu Weijie,Zhao Dazun. A Display Method of the Opponent Color Applied in Visual Asymmetric Matching Experiment Based on CRT[J]. Optical Technique,2008,34(3):462-468.
[8] 孔月萍. 图像逆半调及其质量评价技术研究[D].西安:西安电子科技大学,2008.Kong Yueping. A Study of Inverse Halftoning and Quality Assessment Schemes[D]. Xi’an:Xidian University,2008.