朱燕萍,程朋飛,王福斌,潘金燕
(華北理工大學(xué)電氣工程學(xué)院,河北唐山 063210)
目前,發(fā)光二極管(light emitting diode,LED)顯示屏具有色彩鮮艷、圖像清晰、亮度高、驅(qū)動(dòng)電壓低、功耗小、耐震動(dòng)、價(jià)格低廉和使用壽命長(zhǎng)等優(yōu)勢(shì)[1]。LED顯示圖像的非均勻度是衡量LED顯示屏顯示質(zhì)量的指標(biāo),非均勻度過(guò)高,會(huì)導(dǎo)致LED顯示圖像出現(xiàn)明暗不均的情況,影響顯示效果,降低LED顯示屏的顯示質(zhì)量[2-4]。因此,對(duì)于LED模塊的亮度和灰度不一致問(wèn)題,已提出很多的非均勻度校正方法,普遍使用的是基于CCD(charge-coupled device)的校正技術(shù)[5]。根據(jù)CCD采集到的亮度信息,通過(guò)一系列算法,得到用于校正的系數(shù)矩陣,然后把校正系數(shù)和顯示圖像的灰度信息在LED顯示屏上表現(xiàn)出來(lái),從而實(shí)現(xiàn)非均勻度的校正。
由模塊拼接而成的LED顯示屏,在拼接過(guò)程中模塊的位置在垂直或者水平方向會(huì)發(fā)生偏離理想位置的情況形成位置畸變[6]。由于此時(shí)LED顯示屏是一個(gè)畸變的光學(xué)系統(tǒng),所以顯示圖像會(huì)產(chǎn)生失真和灰度畸變,而原因就是非均勻度過(guò)高。因此必須對(duì)LED顯示屏進(jìn)行適當(dāng)?shù)幕叶刃U僛7]。本文在FPGA中進(jìn)行非均勻度的校正處理,基于Cyclone Ⅱ系列的芯片EP2C8Q208C來(lái)實(shí)現(xiàn)由于灰度畸變而進(jìn)行的LED屏顯示圖像非均勻度校正,并對(duì)整個(gè)系統(tǒng)進(jìn)行了仿真。
LED顯示屏創(chuàng)建的圖像在特定條件下工作于不同環(huán)境中時(shí),顯示畫(huà)面時(shí)常會(huì)出現(xiàn)太亮或太暗的極端情況,因此需要對(duì)LED顯示系統(tǒng)靈活地進(jìn)行灰度畸變調(diào)節(jié)[8]。首先,需定義一個(gè)用于表征顯示像素點(diǎn)灰度值的灰度矩陣G,如式(1)所示。
(1)
(2)
式中:Mij表示LED顯示屏的第i行第j列個(gè)模塊;k為一個(gè)模塊內(nèi)所包含的像素點(diǎn)數(shù)。
如果一個(gè)模塊內(nèi)只有一個(gè)像素點(diǎn)時(shí),灰度矩陣就可以表示為
(3)
同樣也適用于各像素點(diǎn)的灰度的非均勻度校正,因而可以得到校正后的灰度矩陣,如式(4)所示:
(4)
該方法是以模塊為單位對(duì)像素點(diǎn)灰度的非均勻度進(jìn)行校正的,即以相同的校正方式對(duì)同一模塊內(nèi)的像素點(diǎn)進(jìn)行校正,此方法并未真正實(shí)現(xiàn)對(duì)灰度值的逐點(diǎn)校正。當(dāng)模塊內(nèi)只有一個(gè)像素點(diǎn)的時(shí)候,如式(5)所示的校正后得到的灰度校正公式,此時(shí)才是真正意義上實(shí)現(xiàn)了對(duì)灰度值的逐點(diǎn)校正,因此,僅當(dāng)模塊內(nèi)只有一個(gè)像素點(diǎn)時(shí),才能實(shí)現(xiàn)逐點(diǎn)校正。
(5)
在對(duì)像素點(diǎn)的灰度值進(jìn)行校正時(shí),為能更好地反映像素點(diǎn)間的亮度差異,一般取像素點(diǎn)的最高灰度值作為修正對(duì)象,此時(shí)的灰度矩陣如式(6)所示:
(6)
將式(6)代入式(5)即可得到各像素點(diǎn)的灰度值修正結(jié)果,如式(7)所示:
G′相當(dāng)于一張對(duì)LED顯示屏做灰度畸變校正的系數(shù)表,LED顯示屏將該矩陣中的信息和顯示圖像的灰度信息同時(shí)顯現(xiàn)出來(lái)。具體的灰度校正過(guò)程為:將各像素點(diǎn)的灰度校正結(jié)果G′和顯示圖像各像素點(diǎn)的灰度信息對(duì)應(yīng)元素相乘,即可完成灰度校正。
LED顯示屏的數(shù)據(jù)來(lái)源是計(jì)算機(jī)顯示卡的DVI接口,它有紅、綠、藍(lán)各8位共24位彩色圖像數(shù)據(jù),包括使能數(shù)據(jù)、同步和混合數(shù)據(jù),這些數(shù)據(jù)與顯示屏是完全同步的[9]。本文介紹的基于FPGA的Look-Up Table技術(shù),具有高速精準(zhǔn)的優(yōu)點(diǎn),例如系統(tǒng)使用EP2C8Q208C的訪問(wèn)時(shí)間為10 ns,理論上可以實(shí)現(xiàn)100M的查表速度,在2個(gè)時(shí)鐘周期以后,查找表便可輸出查找到的結(jié)果[10]。
本設(shè)計(jì)是LED顯示系統(tǒng)的一部分,系統(tǒng)框圖見(jiàn)圖1。該系統(tǒng)從計(jì)算機(jī)顯示卡的DVI接口輸出圖像信號(hào),包括3路的RGB信號(hào),經(jīng)過(guò)DVI解碼電路變成3路8位數(shù)字信號(hào)。然后在FPGA中進(jìn)行非均勻度的校正處理,之后將校正后的圖像數(shù)字信號(hào)輸入到驅(qū)動(dòng)控制電路,最后由驅(qū)動(dòng)控制LED顯示屏,使其更好地顯示圖像。
圖1 校正系統(tǒng)的框圖
在FPGA中的具體實(shí)現(xiàn)過(guò)程為:首先使用Altera自帶的IP核,實(shí)例化3個(gè)數(shù)據(jù)寬度為8 bit,數(shù)據(jù)深度為256的雙端口RAM作為查找表。系統(tǒng)啟動(dòng)時(shí),初始化模塊首先從外部EEPROM中讀出256個(gè)配置數(shù)據(jù),初始化RAM查找表。初始化完成后,灰度變換模塊將24 bit RGB數(shù)據(jù)分離成3個(gè)8 bit數(shù)據(jù)作為RAM地址,讀出數(shù)據(jù)作為轉(zhuǎn)換后的灰度值。當(dāng)需要修改值時(shí),通過(guò)PC機(jī)軟件生成新的校正表,然后通過(guò)串口發(fā)送到FPGA,在灰度變換模塊的控制下將數(shù)據(jù)寫(xiě)入RAM。
將整個(gè)系統(tǒng)包括校正模塊構(gòu)成的頂層文件經(jīng)過(guò)Quartus Ⅰ全編繹,并得到SignalTap Ⅱ中對(duì)灰度校正模塊調(diào)試的時(shí)序圖,如圖2所示,從時(shí)序圖中看出初始化模塊從RAM中讀出數(shù)據(jù)寫(xiě)入EEPROM中。3個(gè)RAM中存放的是相同的校正數(shù)據(jù),所以初始化模塊可以同時(shí)對(duì)3個(gè)RAM初始化,在從RAM中讀出配置數(shù)據(jù)時(shí)也只需要其中一個(gè)RAM中的值。通過(guò)本方法結(jié)合PC機(jī)軟件可以實(shí)現(xiàn)上述的灰度畸變的非均勻度校正。
圖2 灰度校正模塊時(shí)序
本論文設(shè)計(jì)使用的是CycloneⅡ系列的芯片EP2C8Q208C,QuartusⅡ是綜合性的可編程邏輯器件的開(kāi)發(fā)軟件,內(nèi)嵌有綜合器及仿真器,能夠?qū)崿F(xiàn)從開(kāi)發(fā)輸入到配置硬件內(nèi)部邏輯元素的整個(gè)開(kāi)發(fā)流程[11]。圖3為FPGA控制系統(tǒng)內(nèi)部結(jié)構(gòu),當(dāng)圖像數(shù)據(jù)傳送到FPGA內(nèi)部,需進(jìn)行一系列的數(shù)據(jù)處理才能輸出給LED顯示,主要有:圖像數(shù)據(jù)的獲取、對(duì)獲取的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換、實(shí)現(xiàn)三基色256灰度級(jí)的調(diào)節(jié)、灰度畸變校正和輸出LED顯示的控制信號(hào)。
圖3 FPGA控制系統(tǒng)內(nèi)部結(jié)構(gòu)
采用雙端口RAM形式的圖像數(shù)據(jù)獲取模塊,在獲取圖像數(shù)據(jù)后對(duì)其進(jìn)行暫時(shí)的存儲(chǔ)。雙端口RAM每個(gè)端口能夠獨(dú)立地采用時(shí)鐘信號(hào)邊沿觸發(fā)方式讀取圖像數(shù)據(jù)。圖4為圖像數(shù)據(jù)獲取模塊的原理圖,當(dāng)DE和HSYNC同時(shí)有效時(shí),RAN計(jì)數(shù)器開(kāi)始工作,此時(shí)RAM將保持與從解碼電路輸出的像素頻率相同的頻率讀入數(shù)據(jù)。在雙端口讀寫(xiě)下一行圖像存儲(chǔ)數(shù)據(jù)之前需保證本次讀寫(xiě)已完成。在將圖像數(shù)據(jù)輸出給驅(qū)動(dòng)LED顯示屏之前需將從解碼電路輸出的并行24位圖像數(shù)據(jù)信號(hào)轉(zhuǎn)換為紅、藍(lán)、綠3路并行數(shù)據(jù)信號(hào)。在數(shù)據(jù)轉(zhuǎn)換完成后還需要用橫向?qū)懭?、縱向讀取的方式實(shí)現(xiàn)圖像數(shù)據(jù)權(quán)值的讀寫(xiě),將圖像中8位數(shù)據(jù)按其不同的權(quán)值對(duì)應(yīng)不同占空比,確保實(shí)現(xiàn)紅、藍(lán)、綠三基色256灰度級(jí)。
圖4 圖像數(shù)據(jù)獲取原理圖
讀SRAM模塊是通過(guò)灰度級(jí)的存儲(chǔ)實(shí)現(xiàn)模塊數(shù)據(jù)的輸出,RAM按從低位到高位的順序輸出內(nèi)部數(shù)據(jù),因此,SARM按行存儲(chǔ)每個(gè)像素點(diǎn)的三基色信號(hào),按列讀取輸出給LED顯示屏的驅(qū)動(dòng)信號(hào)。在場(chǎng)同步信號(hào)上升沿到來(lái)時(shí),各計(jì)數(shù)器進(jìn)行變量初始化,SRAM時(shí)鐘上升沿到來(lái)時(shí),開(kāi)始讀取數(shù)據(jù),輸出高電平,計(jì)數(shù)器的輸出值作為地址輸出。當(dāng)SRAM內(nèi)部數(shù)據(jù)讀取完之后,將輸出低電平的使能信號(hào)給下級(jí)并將計(jì)數(shù)器清零。
在導(dǎo)通時(shí)間的控制中,若將圖像的數(shù)據(jù)周期256等分,LED的點(diǎn)亮?xí)r間就是每份最低權(quán)值對(duì)應(yīng)的導(dǎo)通時(shí)間,從而得到最低導(dǎo)通時(shí)間。當(dāng)圖像數(shù)據(jù)從SRAM中讀出后開(kāi)始啟動(dòng)計(jì)數(shù)器,在時(shí)鐘信號(hào)的控制下,圖像數(shù)據(jù)通過(guò)移位寄存器輸出給LED驅(qū)動(dòng)信號(hào),在輸出過(guò)程中移位信號(hào)需要比使能信號(hào)延遲一個(gè)周期,以確保能夠讀取出全部的圖像信號(hào),并且為了避免信號(hào)的覆蓋,需要暫存輸出的數(shù)據(jù)。當(dāng)讀出圖像數(shù)據(jù)到鎖存器中時(shí),本模塊會(huì)輸出一個(gè)使能,使得鎖存器中的數(shù)據(jù)按特定權(quán)值驅(qū)動(dòng)LED,移位信號(hào)延遲一個(gè)周期后,回到穩(wěn)定狀態(tài)輸出下一幀圖像,循環(huán)執(zhí)行下去。
時(shí)鐘控制模塊主要功能是利用鎖相環(huán)(PLL)為系統(tǒng)各模塊提供時(shí)鐘信號(hào),時(shí)鐘信號(hào)由鎖相環(huán)內(nèi)部的自振蕩器產(chǎn)生,該信號(hào)作為反饋傳送到相頻檢測(cè)電路,該電路會(huì)通過(guò)比較器確定時(shí)鐘信號(hào)大小,從而調(diào)節(jié)輸出的時(shí)鐘周期。
對(duì)一塊分辨率為128 pixel×128 pixel的LED顯示屏進(jìn)行顯示圖像的非均勻度校正,該顯示屏每個(gè)顯示模塊對(duì)應(yīng)一個(gè)像素點(diǎn)。依據(jù)LED顯示屏的亮度分布情況,同時(shí)根據(jù)《LED顯示屏測(cè)試方法》SJ/T 11281—2003中提供的計(jì)算LED顯示圖像的非均勻度的方法,通過(guò)式(8)可以得出校正前和采用本文所述非均勻度校正后亮度分布圖,兩者對(duì)比即可驗(yàn)證本文設(shè)計(jì)方法的有效性[12]:
(8)
式中:Iadv為L(zhǎng)ED顯示屏的平均亮度;Iij為第i行第j列的像素點(diǎn)的亮度[13]。
校正前、校正后LED顯示屏亮度分布如圖5、圖6所示。圖5中,由于LED顯示圖像的非均勻度過(guò)高,顯示圖像產(chǎn)生了失真和一定的灰度畸變。圖6中,經(jīng)過(guò)非均勻度校正后的圖像畸變消失。計(jì)算結(jié)果如表1所示。由表1可知,經(jīng)過(guò)校正,顯示圖像的非均勻度由原來(lái)的67.9%降低到0.96%,因此該非均勻度校正方法是有效的。
本文所采用的FPGA開(kāi)發(fā)板是EP2C8Q208C芯片,由于條件限制,僅將灰度級(jí)實(shí)現(xiàn)模塊、導(dǎo)通時(shí)間控制模塊和SRAM模塊下載到開(kāi)發(fā)板進(jìn)行驗(yàn)證,將已有的計(jì)算機(jī)中的圖像經(jīng)數(shù)據(jù)轉(zhuǎn)換后存儲(chǔ)到FPGA內(nèi)部存
圖5 校正前LED顯示屏亮度分布
圖6 校正后LED顯示屏亮度分布
表1 2種情況下LED顯示圖像的非均勻度 %
儲(chǔ)單元,經(jīng)過(guò)模塊的數(shù)據(jù)處理將結(jié)果顯示在開(kāi)發(fā)板的液晶屏上。
圖7為驗(yàn)證FPGA開(kāi)發(fā)板的有效性設(shè)計(jì)顯示的圖案,將程序輸入QuartusⅡ軟件進(jìn)行編譯后無(wú)錯(cuò)誤,可見(jiàn)模塊設(shè)計(jì)的邏輯是無(wú)錯(cuò)誤的,將程序下載到開(kāi)發(fā)板后,如圖8所示,可見(jiàn)開(kāi)發(fā)板液晶顯示器依次顯示圖7所示的圖片,即基于FPGA非均勻度校正方法是可行的。
圖7 顯示的圖片
圖8 開(kāi)發(fā)板的顯示結(jié)果
本文提出了一種基于FPGA的LED顯示圖像的非均勻度校正方法。首先,解決了由于LED顯示屏在拼接過(guò)程中出現(xiàn)的LED顯示圖像灰度畸變而造成的非均勻度過(guò)高的問(wèn)題,通過(guò)分析得到了校正LED顯示屏的灰度校正矩陣,其次,給出了一種基于FPGA的Look-Up Table技術(shù)的非均勻度校正的設(shè)計(jì)方法及系統(tǒng)構(gòu)成,實(shí)現(xiàn)了在FPGA內(nèi)部進(jìn)行非均勻度校正的功能。采用Cyclone Ⅱ系列的芯片EP2C8Q208C來(lái)實(shí)現(xiàn),并對(duì)整個(gè)系統(tǒng)進(jìn)行了仿真。結(jié)果表明,基于FPGA的Look-Up Table技術(shù)的非均勻度校正方法能夠有效地消除圖像的灰度畸變。