曾素云,林珊玲,林志賢*,郭太良,唐 彪
(1.福州大學 物理與信息工程學院,福建 福州 350116;2.華南師范大學 廣東省光信息材料與技術重點實驗室,廣東 廣州 510006)
電潤濕電子紙顯示器采用反射式技術,具有響應速度快、可視角大、能耗低且可實現視頻顯示優點[1],具有廣泛的應用前景。然而,目前電潤濕電子紙驅動芯片與驅動方式造成灰度等級實現受到限制,為實現高灰度圖像在低灰度顯示屏上顯示,傳統解決方案是直接取圖像高位數據,但低灰階數據的舍去會導致細節丟失,圖像出現階躍跳變。誤差擴散算法是一種半色調技術,通過將當前像素誤差擴散到鄰域未處理像素,能夠有效改善圖像質量[2]。誤差擴散算法最早運用于印刷行業,隨著信息時代發展,現在誤差擴散算法已廣泛運用于顯示、存儲等許多領域,如林夏薇等在電紙書顯示上運用動態誤差擴散算法使顯示灰度變化更柔和[3]。但是傳統誤差擴散算法存在圖像邊緣模糊、細節丟失、人工紋理等問題,針對這些問題,研究人員提出動態系數誤差擴散算法,如利用邊緣算子提取信息確定誤差擴散濾波器的權值[4-5],多尺度誤差擴散方法[6]等,但這些算法往往只解決一個問題且運行時間較長。另外研究人員從閾值模型選擇提出大量改進算法,典型的有Knox等提出的采用固定乘性參數的閾值調制方法[7],Hwang等提出的采用加權函數對閾值進行調制[8],Kwark等提出的利用人眼視覺感知局部平均亮度而不感知空間信息的微小變化的特性來增強邊緣[9],但Knox的算法過分強調邊緣,Hwang的算法邊緣容易模糊,Kwark的算法未解決中間色調人工紋理。另外也有研究人員針對已有的光柵掃描、蛇形掃描產生“蠕蟲”紋理現象提出空間填充曲線掃描和間斷掃描方式來降低“蠕蟲”紋理現象[10],但這些改進未改善邊緣模糊、細節丟失等問題。也有研究人員結合濾波器系數與閾值模型兩方面改進算法,如王欣波等提出了對圖像不同紋理信息區域采用不同閾值調節方法,并采用蟻群算法獲得不同灰度下最優誤差擴散系數,但算法計算量大,參數設置不當難以得到最優系數[11]。
本文在傳統誤差擴散法基礎上,根據像素鄰域平均灰度、像素鄰域相似度和當前像素與鄰域平均灰度的差異來對每個像素閾值進行調節,使算法可以保留較好的紋理細節和邊緣信息,又能改善中間色調人工紋理現象。
誤差擴散算法的基本思想是將當前像素與閾值相比較,得到一個輸出像素,再將當前輸入像素與輸出像素的誤差擴散到鄰域未處理像素。算法原理框圖如圖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
圖像的像素點之間存在灰度相關性和結構相似性,傳統固定閾值設定并未考慮相鄰像素之間的關系,導致邊緣模糊,細節丟失等問題。因此本文結合原圖像灰度信息,以Kwark的基本思想為基礎,針對中間色調存在人工紋理和細節丟失等方面對Kwark的邊緣增強信息進行了改進。在每個像素進行誤差擴散前,計算像素鄰域平均灰度、人眼視覺感知誤差和像素鄰域相似度,并用來調節閾值。由于每個像素量化閾值根據原圖像像素空間分布特征而變化,使誤差擴散后圖像具有更好的視覺效果。
人眼視覺感知圖像局部灰度變化受局部范圍影響,不同范圍人眼敏感度不同,文中選用以當前像素為中心的3×3大小區域,計算該鄰域的平均灰度:
(4)
人眼不僅對圖像灰度信息敏感,對圖像像素結構信息也敏感。結合像素鄰域相似度來提取圖像像素結構信息,依據當前像素與鄰近8個像素之間的平均偏差計算像素相似度,平均偏差越小,相似度越大[11]。而當前像素對于鄰域像素的影響與像素之間的歐式距離相關,兩像素越近影響越大,權重越大。因此用歐式距離來衡量兩像素之間的偏差,計算公式如下:

(5)

計算人眼視覺感知誤差ΔI(m,n),即當前像素與鄰域平均灰度的差異。差異大小反映圖像灰度信息,差異越大為邊緣信息概率越大。

(6)
圖像紋理細節與結構信息不僅與人眼視覺感知誤差和鄰域相似度相關,與鄰域平均灰度也息息相關,最終計算鄰域平均灰度與人眼視覺感知誤差以及像素鄰域相似度乘積作為調節閾值的信息。

(7)
其中α是控制調節閾值信息的系數,當前像素灰度值如果大于鄰域平均灰度值,則閾值調節信息為正,當前像素灰度值小于鄰域平均灰度值,則閾值調節信息為負。這意味著閾值與原圖像像素信息緊密相關,根據原圖像像素灰度局部分布特征調節閾值,從而使誤差擴散后圖像更好的保持與原圖像的一致性。
圖像質量評價分為主觀評價和客觀評價。主觀評價是人眼直接觀看,大腦根據經驗作相關結論。客觀評價方法主要有均方根誤差(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的誤差擴散算法都有所提高,說明本文的誤差擴散算法較好,改善了誤差擴散后圖像效果。
本文采用的電潤濕顯示屏分辨率為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
本文針對電潤濕電子紙顯示灰度等級不足且油墨回流導致對比度下降現象,提出以誤差擴散算法來提高顯示效果。并為解決誤差擴散算法中紋理細節丟失、邊緣模糊和中間色調人工紋理現象,提出一種基于像素鄰域灰度信息的誤差擴散算法,在經典誤差擴散算法基礎上,受Kwark的基本思想啟發,結合圖像像素鄰域平均灰度,像素與鄰域平均灰度差異和像素鄰域相似度調節固定閾值。通過在Matlab平臺上實現算法和實際系統顯示,證明本文算法在增強紋理細節和邊緣同時,改善了中間色調人工紋理現象,同時在本文算法執行前先對原圖作直方圖均衡能進一步提高圖像對比度,取得較好的視覺效果。