蔣明敏 喻金華 蔣玲
摘要:LCD的亮度響應特性與CRT不同,而人的視覺對于亮度靈敏特性幾乎和CRT的輸出特性相反,為達到符合人眼視覺特性的特性曲線,需要對LCD進行伽馬校正。該課題介紹了LCD伽馬特性,研究了伽馬校正公式,采用Xilinx公司的Kintex-7 FPGA開發(fā)板為平臺,提出了一種基于FPGA的LCD顯示屏的伽馬校正系統(tǒng)來補償液晶本身的S形透過率特性曲線。通過該系統(tǒng),明顯改善了LCD的色彩顯示,減小了色彩誤差,并且可用于顯示屏色彩的批量校正。
關鍵詞:LCD;伽馬校正;FPGA
中圖法分類號:TP302 文獻標識碼:A 文章編號:1009-3044(2015)26-0189-04
Study of Gamma Correction for Liquid Crystal Display
JIANG Ming-min1, YU Jin-hua2,JIANG Ling3
(1.School of Information and Science Technology, Nanjing Forestry University, Jintan 213200, China;2. Nanjing SWIT Electronics Co., Ltd, Nanjing 210038, China)
Abstract: LCD and CRT luminance response characteristics are different. The human visual sensitivity characteristic for the luminance contrast to CRT output characteristics. To achieve the characteristic curve of human visual characteristic, we need gamma correction for LCD. This paper describes the characteristics of the LCD gamma, studies gamma correction formula by using Xilinxs Kintex-7 FPGA development board as a platform. This paper puts forward a LCD display gamma correction system based on FPGA to compensate for a transmittance characteristic S-shaped curve. This system significantly improves LCD color display, reduces errors of color, and can be used for the color correction batch of the display.
Key words: LCD; Gamma correction; FPGA
陰極射線管 (Cathode-Ray Tube, CRT)可視角度非常寬廣,而且可以產(chǎn)生的顏色比同等尺寸的液晶顯示器(Liquid Crystal Display,LCD)要豐富。但CRT的不足之處在,CRT輻射大,LCD相對而言小得多;由于CRT是顯像管發(fā)光,所以無論刷新頻率多高都會產(chǎn)生產(chǎn)生閃爍,從而導致人眼的疲勞。隨著顯示技術的發(fā)展,液晶顯示器以其獨具的低壓、低功耗特性在人們的生產(chǎn)生活中得到廣泛的普及和應用。
為了正確的顯示灰階,人眼要求顯示器的gamma是2.2上下,而巧合的是,老式的CRT顯示器剛好自帶一個2.35-2.55左右的物理gamma,已經(jīng)非常接近2.2了。所以當一個被提亮過的圖片輸入到一個完全沒有經(jīng)過調校的CRT顯示器里的時候,經(jīng)過抵消,我們看上去,圖片只是稍微有點暗,稍微一補償,給一個0.85左右的提亮gamma,畫面看起來就對了。
經(jīng)過模擬用戶使用環(huán)境,測試,最終把顯示器調到一個看起來舒服的值,最終試驗出來是2.2,據(jù)此,微軟和惠普于1996年發(fā)布了sRGB標準,規(guī)定了8位圖片的標準是gamma=2.2,從此,本來百花齊放的顯示器和攝像機的gamma就都沿用了2.2。
由于液晶透過率與液晶上所加電壓的特性關系是非線性的,大致呈S形,并且人類視覺系統(tǒng)對于亮度的感覺大致成對數(shù)關系,而物理輸出設備(例如CRT和LCD)對亮度的顯示也是非線性的,顯示器的亮度值大約與輸入的模擬信號電壓的γ次方成正比。CRT或LCD顯示器的伽馬值一般為2.2~2.5。
gamma的定義“用來描述顯示設備非線性程度的專有名詞”,和電壓及光強度沒有關系。Gamma校正是為了克服這些非線性關系而引入的一種傳輸函數(shù)。傳統(tǒng)的色彩校正方法采用單片機和PC校正軟件,但使用的設備多,調整時間較慢,很難適應越來越快的視頻處理速度,很難達到實時校正和批量校正的作用。本文建立了一種基于FPGA的LCD伽馬校正系統(tǒng),可用于提高顯示屏的性能以及生產(chǎn)效率,具有很大的靈活性和實用性。
1 LCD的伽馬響應特性
Gamma是用來表示顯示器亮度響應特性的一個參數(shù),亮度響應特性用曲線來表示近似一條指數(shù)曲線,如圖1所示。
圖1 顯示器亮度響應曲線
在圖1中,水平方向表示灰階,垂直方向表示顯示的亮度。通常對輸入輸出進行歸一化處理,得到如圖2所示的曲線。
圖2 歸一化的亮度響應曲線和指數(shù)函數(shù)y=x^2.2曲線
可以看出該響應曲線與y=x2.2的曲線非常接近,因此,顯示屏的亮度響應曲線可以用指數(shù)函數(shù)表示為:
[Y=Xγ] (1)
其中,Y表示歸一化的顯示的亮度,X表示歸一化的輸入灰階,γ即為Gamma校正系數(shù)。
傳統(tǒng)的CRT顯示器的Gamma值是2.2,這樣的顯示特性符合人眼的視覺特性。如果Gamma偏大,則圖像會整體偏暗,暗場中的細節(jié)容易丟失;如果Gamma偏小,則圖像整體偏亮,圖像會變得朦朧而缺乏層次感。
計算機在內(nèi)部處理的時候,是首先把8位/通道圖像的255白映射到1,把色階面板中的input gamma換算成倒數(shù)數(shù)值來計算的,input gamma輸入2.2,實際參與計算的是1/2.2≈0.454.那么此時區(qū)間換算成0-1,gamma也自然是小于1提亮,大于1壓暗。
由于LCD的發(fā)光原理與CRT不同,其亮度響應特性也不同,典型的LCD響應特性曲線是一條S形的曲線,具有較高的Gamma值,如圖3所示。
圖3 LCD響應特性曲線
一般的液晶顯示設備都模仿CRT的亮度響應特性,使輸出的光照強度與輸入電信號的強度成指數(shù)關系。為達到接近CRT特性的亮度響應曲線,必須對LCD進行Gamma校正。
2 LCD伽馬校正
2.1 Gamma校正系統(tǒng)
本文提出了一種基于FPGA的LCD顯示屏的Gamma校正系統(tǒng),該校正系統(tǒng)由信號發(fā)生器、液晶顯示屏、色彩分析儀、PC和Xilinx公司提供的Kintex-7 FPGA開發(fā)板組成。如圖4所示。
圖4 Gamma校正系統(tǒng)
由信號發(fā)生器Leader LT450發(fā)出標準灰階測試信號給9寸液晶顯示屏進行顯示,采用柯尼卡美能達色彩分析儀CA-310測量顯示屏的亮度數(shù)據(jù)并傳輸給PC,PC運用公式生成Gamma校正表通過SPI通信將查找表(Look-Up Table,LUT)寫入FLASH,并且驅動顯示屏顯示校正后正確的亮度。顯示屏重新開啟或再次顯示影像時,PC通過控制芯片讀取LUT加載校正后的Gamma數(shù)據(jù),從而實現(xiàn)該顯示器的Gamma校正功能。
2.2 Gamma的校正原理
伽馬校正基于校正公式,不過在具體的實現(xiàn)方式上和最終的實現(xiàn)效果有所差異。目前常用的校正方式有直接公式計算法、分段線性擬合法、查找表法等。
公式計算法直接將每一個需要校正的像素值帶入校正公式,通常經(jīng)過三個步驟來實現(xiàn):第一,將待校正像素值進行歸一化處理,使其為范圍在0~1之間的實數(shù);第二根據(jù)校正的公式代入求解;第三反歸一化,就是第一步操作的逆運算。使用該方法的優(yōu)點是能夠得到顯示屏單個像素的實時伽馬校正值;缺點也是顯而易見的:運算過程十分復雜,需要對每一個像素點進行檢測和校正,實現(xiàn)難度大,效率低,且涉及浮點數(shù)的乘法運算并不適合FPGA實現(xiàn)。
分段曲線擬合法將伽馬曲線分段進行擬合,段數(shù)的劃分看實際的需要,可以等分也可以按照曲線的特征劃分,這樣可以比較好的擬合伽馬曲線。該方法降低了公式計算的難度和復雜度,另一方面也帶來了校正精度降低的弊端,也不易于硬件實現(xiàn)。
查找表法是基于RAM的方法,將輸入輸出的對應關系固化在一個靜態(tài)的表中方便直接讀取。上面的直接公式法和曲線擬合法實質上都是經(jīng)過歸一化、預補償、反歸一化三個步驟來達到校正的目的,但是實際上對整幅圖像的校正不是對單個像素的簡單重復處理。對于確定取值范圍內(nèi)的像素點,圖像中任何一個像素點必然是在某一個確定范圍內(nèi)某一個確定的整數(shù),在已知伽馬值的條件下,進行公式處理后的值也是確定的,所以我們只需要為這個范圍內(nèi)的每一個整數(shù)進行一次校正,并且將校正后的值寫入預先建立的查找表中,從而利用讀取該查找表對任意輸入的圖像進行伽馬校正。該方法實現(xiàn)速度快,無需計算直接得到結果;唯一的不足是會占用一定的存儲空間,尤其是當圖像的取值范圍較大時。
對于一個8位/通道的圖像,即紅、綠、藍三通道均包含了256個伽馬數(shù)據(jù),如果采用手動調整是十分耗時耗力且難以實現(xiàn)的。綜合以上方法的實現(xiàn)效果和性能,結合本課題方案的具體實施,最后采用查找表的方法來實現(xiàn)本文的伽馬校正功能。
Gamma的校正原理,就是利用RGB映射表,即Gamma LUT,將輸入的數(shù)據(jù)進行逐點變換,使得在LCD上呈現(xiàn)的亮度響應曲線符合給定的指數(shù)曲線。通過LUT的數(shù)據(jù)轉換,可以補償LCD的Gamma非線性響應。
為適應用戶在不同的工作環(huán)境下不同的觀看愛好,通常設定多個γ值,制作多個LUT,由用戶自行選擇。
當γ增大,畫面對比度提高,層次清晰的同時,將會降低對比度的級數(shù),降低視頻信號顯示的能力。對輸出信號取整會引起亮度信息的丟失,因此通常在一定范圍內(nèi)提高查找表的輸出位數(shù),使得在輸入級數(shù)不變的情況下,隨著輸入值的增加,可以獲得更佳的色彩表現(xiàn)能力,減小誤差,增強顯示效果。
具體實現(xiàn)過程如下:
首先運用公式
和EXCEL表格分別計算三組不同伽馬值(2.2,2.4,2.6)所對應的不同灰階的亮度輸出值。其中,
X:8位R/G/B輸入信號灰階(Gray Level)值,范圍0~255;
Y:校正后的R/ G/B輸出信號亮度(Luminance);
γ:灰度校正系數(shù),即伽馬值;
Round:對校正結果取整。
然后將三組輸出值轉換為二進制數(shù),三組不同的伽馬值對應的伽馬校正值分別存放在地址0~255,256~511,512~767中,如下所示:
Sample Single Port Gamma Coefficients
Gamma set to 1.00, 1.09, 1.18 for 2.2/2.4/2.6
Address to access different gamma values in the LUT are generated by adding the offset values
the LUTs are arranged as shown redgreendualport (values from this LUT will be used for red and green data)
--------
| 0|
| | gamma corrected values for value 2.2
| 255 |
|------|
| 256 |
| | gamma corrected values for value 2.4
| 511 |
|------|
| 512 |
| | gamma corrected values for value 2.6
| 767 |
|------|
其中,Gamma set to 1.00, 1.09, 1.18 for 2.2/2.4/2.6,由于人的視覺對于亮度靈敏特性(gamma大約為1/2.2)幾乎和CRT的輸出特性相反,所以只要保證設備輸出的亮度和電壓特性,保持gamma=2.2、2.4、2.6。
最終的人眼看到的結果是亮度隨著電壓/灰階線性變化的。
然后,將轉換后的二進制數(shù)編輯成.txt格式的查表文件,文件內(nèi)容如下:
memory_initialization_radix=2;
memory_initialization_vector=
0000000000,
0000000100,
0000001000,
0000001100,
…
1111110010,
1111110101,
1111111001,
1111111100;
最后,將.txt文件的后綴名改為.coe文件,加載到IP核中,得到最終的查找表。
實際上,LUT就是三組可編程的SRAM,按照輸入的R/G/B值尋址,得到對應的10/12bit的R/G/B,然后經(jīng)過圖像抖動(Dither)處理,轉換成LCD顯示需要的bit數(shù),如圖5所示。
圖5 Gamma LUT和圖像抖動框圖
3 結束語
1)顯示屏采用上述系統(tǒng)進行Gamma 校正后,用色彩分析儀CA-310來檢測校正后的結果,R、G、B三通道光強誤差范圍基本在±1%以內(nèi)。造成誤差的原因是測量誤差和查找表誤差。
2)Gamma校正是液晶顯示的一個必不可少的環(huán)節(jié),它影響著顯示屏最終顯示的圖像質量。
3)在批量生產(chǎn)過程中,對于同一型號同一批次的顯示屏,只對其中一個顯示屏進行伽馬校正,然后將經(jīng)校正后的伽馬表編譯生成固件程序,將所有的顯示器都燒寫這一個程序,提高處理效率且操作方便快捷,能保證每臺顯示器最后顯示出來的色彩正確。
4)本文介紹了一種基于FPGA的LCD顯示屏的伽馬校正系統(tǒng),通過該系統(tǒng),明顯改善了LCD的色彩顯示,減小了色彩誤差,成本低,效率高,可用于顯示屏色彩的批量校正,在生產(chǎn)中具有很強的實用性。
參考文獻:
[1] 魏永毅, 李海峰, 劉旭. 液晶投影機自動Gamma校正系統(tǒng)[J]. 浙江大學學報:工學版, 2005, 39(11), 27-29.
[2] 趙建森, 視頻通信中的伽瑪校正[J]. 電子科技,2006(7): 43-50.
[3] Martin Kykta, 代永平. 高清顯示中的伽馬校正、亮度和明視度探索[J]. 現(xiàn)代顯示,2009(12): 13-18.
[4] 馬曉陽. LCD的γ校正研究[J].電子科技,2009, 22(12): 78-80.
[5] 姜亨潤. TFT LCD伽瑪曲線設計與調校之研究[Z]. 臺灣, 1996.
[6] 何德文. 一種LCD監(jiān)視器批量GAMMA校正方法與系統(tǒng)[P]. 中國, 201310206824. X, 2013(05): 29.
[7] 呂秋珍. 一款基于液晶電視GAMMA校正及色溫自動調整系統(tǒng)——GAMMA曲線對光色顯示特性的影響[J]. 職業(yè), 2011(3): 183-184.
[8] 衡杰. 基于FPGA的工業(yè)相機圖像處理系統(tǒng)設計[D].蘇州:蘇州大學, 2013.
[9] 李熹霖. 全彩色LED大屏的亮度非線性修正[J]. 現(xiàn)代顯示, 2005(1): 30.
[10] 萬睿. LED全彩大屏幕關鍵技術的應用研究[D]. 重慶: 重慶大學,2008.
[11] David Katz, Rick Gentile. 嵌入式視頻處理基本原理[EB/OL]. http://wenku.baidu.com/link?url=DEaRFyVIAH4kZ7TolplfFhFhmAk3gFaNSOH7XPzfTnCWY4CBfCAKSoCuY_yinRE4XdOxlIlQnLjxVi3o5PWYq1H0CyDn6b6wUjRFaDwQFT7 .
[12] Digital Display Panel IP Reference Design Using LVDS or DVI——Reference for Spartan-3E Display Development Kit HW-SPAR3E-DISP-DK-UNI-G[EB/OL].( 2007-04-19). http://www.xilinx.com.
[13] LogiCORE IP Gamma Correction v7.0——Product Guide for Vivado Design Suite[EB/OL]. (2013-03-20). http://www.xilinx.com.
[14] Gamma Correction v1.0[EB/OL].(2009-04-24) . http://www.xilinx.com.
[15] LogiCORE IP AXI Quad Serial Peripheral Interface (AXI Quad SPI) v2.00a[EB/OL].( 2012-12-18). http://www.xilinx.com.
[16] Arthur Yang. Using SPI Flash with 7 Series FPGAs[EB/OL].(2013-02-01). http://www.xilinx.com.
[17] Arthur Khu. 用 SPI Flash 存儲器配置 Spartan-3E FPGA[EB/OL] .(2007-09-17). http://www.xilinx.com.