劉 健,郭江宇,張海峰,郝志超,于佳杰
(北方自動控制技術(shù)研究所,太原 030006)
目前,移動手持設(shè)備集成的功能越來越豐富,隨之功耗也越來越大。研究表明,移動手持設(shè)備的能量消耗主要集中在射頻、CPU與LCD顯示模塊[1]。LCD顯示模塊的主要功耗來自其LED背光源,而在使用過程中,背光源不能關(guān)閉。降低背光亮度是減少移動手持設(shè)備功耗的有效方法。但是,背光亮度的降低,會造成圖像顯示質(zhì)量的降低。因此,研究LCD在低背光條件下的圖像增強(qiáng)很有必要。
LCD低背光條件下的亮度補(bǔ)償方法是:當(dāng)背光降低時(shí),通過補(bǔ)償像素的灰度值來提高液晶的光透過率,從而維持圖像亮度與降低背光前一致[2]。文獻(xiàn)[3]提出了一種 CBCS(Concurrent Brightness and Contrast Scaling)算法,通過提高圖像像素灰度值來減少背光降低造成的失真,該方法在處理有較多高灰度值的圖像時(shí),會造成高灰度區(qū)域的細(xì)節(jié)丟失。文獻(xiàn)[4]提出的算法有效避免了高灰度區(qū)域的細(xì)節(jié)丟失,該算法通過假設(shè)溢出值,對圖像進(jìn)行預(yù)處理,計(jì)算假設(shè)溢出值時(shí)的圖像失真度,來反饋調(diào)節(jié)溢出值,算法的復(fù)雜度過高,可能造成計(jì)算資源的過多占用。文獻(xiàn)[5]提出的算法將提取的灰度圖像通過低通濾波器,分別對低頻部分與高頻部分進(jìn)行像素補(bǔ)償與對比度增強(qiáng),之后恢復(fù)彩色圖像,該算法較大程度地提高了圖像亮度,但是圖像的清晰度與SSIM(structural similarity index)指標(biāo)還有提升空間。
針對LCD在低背光條件下圖像質(zhì)量降低的問題,本文提出一種基于人眼視覺感知特性的圖像增強(qiáng)算法。算法考慮了人眼在低灰度背景中的JND(Just Noticeable Difference)曲線,在高灰度區(qū)域,設(shè)計(jì)了防溢出參數(shù)避免細(xì)節(jié)丟失,并對圖像進(jìn)行了局部對比度增強(qiáng)。
LCD本身不發(fā)光,背光源的光經(jīng)過LCD液晶分子的過濾后才被人眼感知[6]。人眼最終感知的圖像像素點(diǎn)亮度L由背光源的光強(qiáng)和液晶分子的光透過率決定,液晶分子的光透過率與像素點(diǎn)亮度值近似成正比關(guān)系[6]。由式(1)表示:
其中,b表示背光調(diào)節(jié)因子,取值為0~1,B表示背光源最大光強(qiáng),t(x)表示某個(gè)液晶分子的光透過率。
當(dāng)b<1時(shí),為保持L不變,需將t(x)擴(kuò)大1/b倍,即將該像素點(diǎn)的亮度值擴(kuò)大1/b倍。像素點(diǎn)的亮度值取值范圍為0~255,對某些高亮度的像素點(diǎn)亮度值擴(kuò)大后,會導(dǎo)致亮度值溢出,造成圖像失真。
人眼視覺的感知特性表現(xiàn)為,人眼欲辨別目標(biāo),需要滿足目標(biāo)與背景的亮度差大于特定閾值的條件,該閾值稱為JND,而在不同的灰度背景中,JND有很大差異,JND曲線[7]如圖1所示。
由圖1可知,在背景灰度較小和較大的區(qū)域,人眼辨別目標(biāo)的能力較弱。例如,背景灰度為25時(shí),人眼無法分辨灰度值為30的目標(biāo)。通過灰度變換來提高圖像的平均灰度,從而提高背景灰度值。在灰度變換領(lǐng)域,采用非線性變換要優(yōu)于線性變換,非線性變換的結(jié)果更適宜人眼觀察,常使用的非線性變換有對數(shù)函數(shù)與指數(shù)函數(shù)[8]。此外,人眼視覺系統(tǒng)對圖像的局部對比度更為敏感。
由第1節(jié)可知,在高灰度區(qū)域,對圖像像素亮度的提升需要考慮溢出范圍的大小及處理,避免高灰度區(qū)域的細(xì)節(jié)丟失。在中灰度區(qū)域,圖像的像素亮度不需要太大的提升。在低灰度區(qū)域,可以對圖像像素的亮度作較大的提升,增加圖像亮度的同時(shí),增加低灰度區(qū)域的細(xì)節(jié)表現(xiàn)力。
算法主要對圖像的灰度圖進(jìn)行處理,因此,需要將原RGB顏色空間圖像轉(zhuǎn)換到Y(jié)IQ顏色空間,對Y分量進(jìn)行處理,最后恢復(fù)為RGB顏色空間圖像。YIQ空間的各個(gè)分量由式(2)計(jì)算得到。
依據(jù)文獻(xiàn)[5]對圖像的分類,由圖像Y分量的平均值μ確定溢出值θth。當(dāng)μ值較小時(shí),圖像的灰度值主要集中在較低的區(qū)域,可以選擇較小的溢出值,以增大補(bǔ)償強(qiáng)度。當(dāng)μ值較大時(shí),圖像的灰度值主要集中在較高的區(qū)域,溢出值不宜過小,否則會造成高灰度區(qū)域的細(xì)節(jié)丟失。溢出值由式(3)計(jì)算得到。
由人眼視覺感知特性可知,背景灰度在60~200的范圍內(nèi),人眼的分辨力較好。以某像素點(diǎn)領(lǐng)域內(nèi)的灰度平均值作為該點(diǎn)的背景灰度。通過提高圖像的平均灰度,來提高背景灰度?;叶茸儞Q如式(4)所示。
其中,I'(z)為某像素點(diǎn)變換后的灰度值,I(z)為該點(diǎn)變換前的灰度值。算法根據(jù)圖像亮度均值確定溢出點(diǎn)的大小,從全局上確定圖像亮度補(bǔ)償?shù)膹?qiáng)度,對于低灰度區(qū)域,為避免對數(shù)函數(shù)增幅過大,設(shè)計(jì)了增幅適當(dāng)且可以根據(jù)背光因子動態(tài)改變的非線性變換函數(shù),增幅隨背光因子的變小而增大。gl為低灰度區(qū)域臨界點(diǎn),gb為防止溢出的修正點(diǎn),a為避免增幅過大的調(diào)節(jié)參數(shù)。式(4)中相關(guān)參數(shù)由下式?jīng)Q定。
背光因子為0.75,圖像Y分量平均值為0.39時(shí)的輸入輸出像素映射曲線如圖2所示。變換函數(shù)是連續(xù)函數(shù),在灰度變換后,不會發(fā)生灰度倒序的情況。
經(jīng)過亮度補(bǔ)償,圖像的亮度會有很大提高,但是會造成局部對比度的下降。由第1節(jié)可知,人眼對圖像的局部對比度更為敏感。采用Michelson對比度[9]計(jì)算公式,如式(6)所示。
其中,Imax和Imin表示鄰域中的最高與最低灰度值。Michelson對比度更加符合人眼視覺感知特性。用式(7)對像素點(diǎn)的灰度值進(jìn)行提升或降低。
其中,μlocal為原圖像某像素點(diǎn)領(lǐng)域內(nèi)的灰度平均值。當(dāng)該點(diǎn)灰度值大于領(lǐng)域內(nèi)平均灰度值時(shí),對其進(jìn)行提升,反之,降低。經(jīng)式(7)處理后,提高了圖像的Michelson對比度。
采用文獻(xiàn)[5]算法與本文算法進(jìn)行圖像仿真處理,使用Matlab工具進(jìn)行仿真的結(jié)果如圖3與圖4所示。圖3為不降低背光時(shí)的仿真結(jié)果,其中圖3(a)為原圖像顯示效果;圖 3(b)為使用文獻(xiàn)[5]算法處理的圖像顯示效果,與原圖比較,圖像亮度有很大提高,但是圖像清晰度有所下降;圖3(c)為本文算法處理的圖像顯示效果,提升了圖像亮度與清晰度,人眼能分辨出更多細(xì)節(jié)。圖4為應(yīng)用式(1)進(jìn)行模擬背光降低25%時(shí)的仿真結(jié)果。
選取平均亮度由低到高的10幅圖像作為測試對象,應(yīng)用平均梯度與SSIM作為圖像增強(qiáng)效果的客觀質(zhì)量評價(jià)指標(biāo)。平均梯度反映圖像清晰度;SSIM衡量處理前后兩幅圖像的結(jié)構(gòu)相似性,取值為0~1,值越大,結(jié)構(gòu)失真度越?。?]。
在進(jìn)行圖像的清晰度質(zhì)量評價(jià)時(shí),需要考慮不同背光源光強(qiáng)對清晰度的影響,結(jié)合圖像平均梯度的計(jì)算方法與式(1),對不同背光因子條件下的圖像平均梯度進(jìn)行比較,比較結(jié)果如下頁表1所示,表明增強(qiáng)算法對圖像的清晰度有較好的提升。表2為不同背光因子條件下SSIM指標(biāo)大小,結(jié)果表明增強(qiáng)算法對圖像的結(jié)構(gòu)相似性保持較好。綜上所述,增強(qiáng)算法在降低背光的條件下,可以提升圖像清晰度并較好的保持圖像結(jié)構(gòu)相似性,適宜人眼感知。
在CycloneIV系列FPGA硬件平臺上實(shí)現(xiàn)了本文算法,并將處理結(jié)果與MATLAB仿真結(jié)果進(jìn)行比較,如圖 5 所示。從圖 5(c)與圖 5(a)可以看出,本文算法在降低背光的情況下與原圖在不降低背光的情況下視覺效果相近。比較圖 5(b)與圖 5(c),F(xiàn)PGA相較于MATLAB的處理精度誤差不大于1%,此外,本文算法在FPGA上每秒能夠處理1 024×768大小的圖像60幀以上,滿足實(shí)時(shí)性的要求。
表1 不同背光因子時(shí)平均梯度
表2 不同背光因子時(shí)SSIM指標(biāo)
本文依據(jù)人眼視覺感知特性,提出了LCD在低背光條件下的圖像增強(qiáng)算法。在亮度補(bǔ)償后容易發(fā)生溢出的高灰度區(qū)域,采用防止溢出的修正值代替溢出值,從而避免高灰度區(qū)域的細(xì)節(jié)丟失,在低灰度區(qū)域,設(shè)計(jì)了增幅適當(dāng)且可以根據(jù)背光因子動態(tài)改變的非線性變換函數(shù),在提高圖像整體亮度之后,對局部對比度進(jìn)行增強(qiáng),提升了增強(qiáng)后的圖像清晰度,并維持了較好的結(jié)構(gòu)相似性。