基于邻域灰度信息误差扩散算法的电润湿电子纸研究
2019-05-14曾素云林珊玲林志贤郭太良
曾素云,林珊玲,林志贤*,郭太良,唐 彪
(1.福州大学 物理与信息工程学院,福建 福州 350116;2.华南师范大学 广东省光信息材料与技术重点实验室,广东 广州 510006)
1 引 言
电润湿电子纸显示器采用反射式技术,具有响应速度快、可视角大、能耗低且可实现视频显示优点[1],具有广泛的应用前景。然而,目前电润湿电子纸驱动芯片与驱动方式造成灰度等级实现受到限制,为实现高灰度图像在低灰度显示屏上显示,传统解决方案是直接取图像高位数据,但低灰阶数据的舍去会导致细节丢失,图像出现阶跃跳变。误差扩散算法是一种半色调技术,通过将当前像素误差扩散到邻域未处理像素,能够有效改善图像质量[2]。误差扩散算法最早运用于印刷行业,随着信息时代发展,现在误差扩散算法已广泛运用于显示、存储等许多领域,如林夏薇等在电纸书显示上运用动态误差扩散算法使显示灰度变化更柔和[3]。但是传统误差扩散算法存在图像边缘模糊、细节丢失、人工纹理等问题,针对这些问题,研究人员提出动态系数误差扩散算法,如利用边缘算子提取信息确定误差扩散滤波器的权值[4-5],多尺度误差扩散方法[6]等,但这些算法往往只解决一个问题且运行时间较长。另外研究人员从阈值模型选择提出大量改进算法,典型的有Knox等提出的采用固定乘性参数的阈值调制方法[7],Hwang等提出的采用加权函数对阈值进行调制[8],Kwark等提出的利用人眼视觉感知局部平均亮度而不感知空间信息的微小变化的特性来增强边缘[9],但Knox的算法过分强调边缘,Hwang的算法边缘容易模糊,Kwark的算法未解决中间色调人工纹理。另外也有研究人员针对已有的光栅扫描、蛇形扫描产生“蠕虫”纹理现象提出空间填充曲线扫描和间断扫描方式来降低“蠕虫”纹理现象[10],但这些改进未改善边缘模糊、细节丢失等问题。也有研究人员结合滤波器系数与阈值模型两方面改进算法,如王欣波等提出了对图像不同纹理信息区域采用不同阈值调节方法,并采用蚁群算法获得不同灰度下最优误差扩散系数,但算法计算量大,参数设置不当难以得到最优系数[11]。
本文在传统误差扩散法基础上,根据像素邻域平均灰度、像素邻域相似度和当前像素与邻域平均灰度的差异来对每个像素阈值进行调节,使算法可以保留较好的纹理细节和边缘信息,又能改善中间色调人工纹理现象。
2 经典误差扩散算法
误差扩散算法的基本思想是将当前像素与阈值相比较,得到一个输出像素,再将当前输入像素与输出像素的误差扩散到邻域未处理像素。算法原理框图如图1所示。
图1 误差扩散算法原理框图Fig.1 Principle block diagram of error diffusion algorithm
该算法分为3个步骤:
将当前输入像素点(m,n)灰度值与扩散到此像素的误差e(m,n)相加得到新的输入像素:
(1)
新的输入像素I′(m,n)与阈值Q[·]比较得到一个输出像素b(m,n):
(2)
输入像素I′(m,n)与输出像素b(m,n)的误差e(m,n)通过滤波器W(i,j)以一定系数扩散到邻近未处理区域:
e(m,n)=I′(m,n)-b(m,n),
(3)
其中Q[·]为量化阈值器,W(i,j)为误差扩散滤波器,经典滤波器有Floyd-Stein、Stenenson、Stucki、Buckers以及Jarvis滤波器等。表1是经典Floyd-Stein滤波器系数。
表1 Floyd-Stein滤波器系数Tab.1 Floyd-Stein filter coefficient
3 基于邻域灰度信息的误差扩散算法
图像的像素点之间存在灰度相关性和结构相似性,传统固定阈值设定并未考虑相邻像素之间的关系,导致边缘模糊,细节丢失等问题。因此本文结合原图像灰度信息,以Kwark的基本思想为基础,针对中间色调存在人工纹理和细节丢失等方面对Kwark的边缘增强信息进行了改进。在每个像素进行误差扩散前,计算像素邻域平均灰度、人眼视觉感知误差和像素邻域相似度,并用来调节阈值。由于每个像素量化阈值根据原图像像素空间分布特征而变化,使误差扩散后图像具有更好的视觉效果。
人眼视觉感知图像局部灰度变化受局部范围影响,不同范围人眼敏感度不同,文中选用以当前像素为中心的3×3大小区域,计算该邻域的平均灰度:
(4)
人眼不仅对图像灰度信息敏感,对图像像素结构信息也敏感。结合像素邻域相似度来提取图像像素结构信息,依据当前像素与邻近8个像素之间的平均偏差计算像素相似度,平均偏差越小,相似度越大[11]。而当前像素对于邻域像素的影响与像素之间的欧式距离相关,两像素越近影响越大,权重越大。因此用欧式距离来衡量两像素之间的偏差,计算公式如下:
(5)
计算人眼视觉感知误差ΔI(m,n),即当前像素与邻域平均灰度的差异。差异大小反映图像灰度信息,差异越大为边缘信息概率越大。
(6)
图像纹理细节与结构信息不仅与人眼视觉感知误差和邻域相似度相关,与邻域平均灰度也息息相关,最终计算邻域平均灰度与人眼视觉感知误差以及像素邻域相似度乘积作为调节阈值的信息。
(7)
其中α是控制调节阈值信息的系数,当前像素灰度值如果大于邻域平均灰度值,则阈值调节信息为正,当前像素灰度值小于邻域平均灰度值,则阈值调节信息为负。这意味着阈值与原图像像素信息紧密相关,根据原图像像素灰度局部分布特征调节阈值,从而使误差扩散后图像更好的保持与原图像的一致性。
4 实验结果分析
4.1 仿真结果
图像质量评价分为主观评价和客观评价。主观评价是人眼直接观看,大脑根据经验作相关结论。客观评价方法主要有均方根误差(MSE)、峰值信噪比(PSNR)、结构相似度(SSIM)、归一化最小平方误差(NLSE)、整体图像质量(UIQI)等[13]。本文选用峰值信噪比、结构相似度和整体图像质量来衡量各种算法误差扩散后的图像效果。
该文算法选用一些数字图像处理的经典图像进行测试,算法及相关实验测试均在matlab2015平台实现。
4.1.1 主观评价
采用经典Floyrd-Stein误差扩散算法、Knox算法、Kwark算法和本文算法对Lena测试图与Boat测试图处理结果和局部放大对比图如图2、图3所示。在图2(b)和图3(b)中,可以看出Floyd-Stein误差扩散算法结果存在人工纹理、边缘模糊,细节丢失等现象。其中图2(b)头发边界模糊,鼻子和脸颊出现人工纹理,图3(b)中船杆上线条模糊不清或丢失。从图2(c)与图3(c)中可以看出,Knox算法在经典误差扩散法基础上,对图2(c)头发与图3(c)船杆上线条有部分进行了边缘增强,但总体效果不明显且细节不足,人工纹理现象未改进。从图2(d)与图3(d)中,Kwark算法能有效增强图像边缘并呈现局部纹理细节,但在图2(d)中鼻子与脸颊部分人工纹理并未改善且帽子部分容易过度增强而出现龟纹。文中算法考虑邻域平均灰度、人眼视觉感知误差和像素邻域相似度,从灰度信息和结构上描述当前像素空间状态以调节阈值,从而保证了图像边缘信息和纹理信息,并较好改善中间色调人工纹理,见图2(e)与图3(e)。为进一步提高图像对比度,可对原图先做直方图均衡(HE),再进行文中改进算法,同时可以保留文中改进算法优点,效果见图2(f)与图3(f)。
图2 Lena不同算法的效果图Fig.2 Effect diagram of different algorithms in Lena
图3 Boat不同算法的效果图Fig.3 Effect diagram of different algorithms in Boat
4.1.2 客观评价
峰值信噪比。直接计算误差扩散后图像与原图像灰度值的误差,未考虑人眼视觉特性,定义如下:
(8)
其中,M×N表示原图像大小,I与b分别为原图像和误差扩散后图像,KPSNR越大表示误差扩散后图像失真越小。
结构相似度。从亮度、对比度和结构信息比较误差扩散后图像与原图像的相似度,比较符合人眼视觉特性。定义如下:
KSSIM=l(I,b)×c(I,b)×s(I,b),
(9)
(10)
(11)
(12)
其中,l(I,b)是亮度相似度,c(I,b)是对比度相似度,s(I,b)是结构相似度。μ1、μb分别为原图像与误差扩散后图像的均值,δ1、δb分别为原图像和误差扩散后图像的方差,δ1b为原图像与误差扩散后图像的协方差。C1、C2、C3为常数,为避免相似度计算出现0的情况,通常取C1=(K1L)2,C2=(K2L)2,C3=C2/2,K1、K2<<1,L为原图像灰度范围。KSSIM值越大表示误差扩散后图像质量越好,最大值为1。
整体图像质量。整体图像质量考虑了误差扩散后图像与原图像之间的相关损失、亮度畸变和对比度畸变。定义如下:
(13)
其中,μl、μb分别为原图像与误差扩散后图像的均值,δl、δb分别为原图像和误差扩散后图像的方差,δlb为原图像与误差扩散后图像的协方差。KUIQI为1,则原图像与误差扩散后图像一致,KUIQI值约接近1,误差扩散后图像质量越好。
表2 客观评价结果Tab.2 Objective evaluation results
对以上算法分别计算峰值信噪比、结构相似度和整体图像质量,图像质量客观评价数据结果如表2所示。
从表1数据可知,本文算法的PSNR值、SSIM值和UIQI值相比较于Floyd-Stein误差扩散算法和Kwark的误差扩散算法都有所提高,说明本文的误差扩散算法较好,改善了误差扩散后图像效果。
4.2 实际测试
本文采用的电润湿显示屏分辨率为768×768,电润湿显示屏通过源极驱动器和栅极驱动器实现数据的扫描,支持2级灰阶显示。系统搭建完毕后,采用本文改进算法优化后在电润湿显示屏上显示,图4(a)为原始图像在电润湿显示屏上的效果图,图4(b)为采用本文改进算法后的效果图。对比两幅图,我们可以看到,原图在额头、鼻子以及肩膀部分出现灰度阶跃跳变,整体图像模糊、轮廓不清,细节丢失。经过本文改进算法后,图像整体对比度有所提高,图像灰度较平滑且能有效的保留图像边缘,图像清晰且细节表现较好,如图4(a)与图4(b)的红线框出部分,图4(b)的头发轮廓更清楚,更有层次感。
(a)原图(a) original image
(b)本文改进算法后(b) After the algorithm is improved in this paper图4 采用改进算法后的视觉对比Fig.4 Visual contrast after using an improved algorithm
5 结 论
本文针对电润湿电子纸显示灰度等级不足且油墨回流导致对比度下降现象,提出以误差扩散算法来提高显示效果。并为解决误差扩散算法中纹理细节丢失、边缘模糊和中间色调人工纹理现象,提出一种基于像素邻域灰度信息的误差扩散算法,在经典误差扩散算法基础上,受Kwark的基本思想启发,结合图像像素邻域平均灰度,像素与邻域平均灰度差异和像素邻域相似度调节固定阈值。通过在Matlab平台上实现算法和实际系统显示,证明本文算法在增强纹理细节和边缘同时,改善了中间色调人工纹理现象,同时在本文算法执行前先对原图作直方图均衡能进一步提高图像对比度,取得较好的视觉效果。