黃振興, 黃 苒, 趙博華*, 蘇 暢, 杜 寰
(1. 中國科學(xué)院 微電子研究所,北京 100029; 2. 中國科學(xué)院大學(xué),北京 101408)
硅基有機(jī)發(fā)光二極管(OLED)微型顯示器是一種近年來隨著VR/AR技術(shù)的發(fā)展而成為顯示領(lǐng)域研究熱門的新型顯示器,將有機(jī)發(fā)光二極管直接與單晶硅集成電路集成,以單晶硅作為OLED發(fā)光器件的基底,且利用成熟的CMOS工藝完成發(fā)光器件的像素驅(qū)動(dòng)和外圍驅(qū)動(dòng)系統(tǒng)[1]。
伽馬校正最初起源于陰極射線管(Cathode Ray Tube, CRT)顯示器中電光轉(zhuǎn)換的非線性[2],射線管產(chǎn)生的電子束及其生成的圖像亮度與輸入電壓呈指數(shù)的對應(yīng)關(guān)系。而對于OLED顯示器,發(fā)光亮度與流過OLED器件的電流是線性的,但實(shí)際上人眼視覺系統(tǒng)對于亮度變化的感覺也是非線性的[3]。伽馬校正正是為了克服這種非線性而引入的一種傳輸函數(shù),在視頻流、計(jì)算機(jī)圖形學(xué)以及其他成像系統(tǒng)中應(yīng)用廣泛。流行的伽馬矯正方法有兩種:一種是對顯示系統(tǒng)的伽馬特性進(jìn)行數(shù)字建模,計(jì)算出矯正后的視頻驅(qū)動(dòng)數(shù)據(jù),預(yù)先存儲(chǔ)在存儲(chǔ)器中,顯示過程中采用查找表法(Look Up Table, LUT)實(shí)現(xiàn)圖像的伽馬矯正,該方法為數(shù)字校正,但需要占用較大的存儲(chǔ)空間[4];另一種方法是利用驅(qū)動(dòng)電路外圍的精密電阻和運(yùn)算放大器組成灰度級(jí)電壓產(chǎn)生電路,提供多級(jí)參考電壓,與顯示驅(qū)動(dòng)電路一起實(shí)現(xiàn)圖像信號(hào)的伽馬矯正,該方法相當(dāng)于采用了非線性數(shù)模轉(zhuǎn)換器(Digital to Analog Converter, DAC)實(shí)現(xiàn),隨著灰度級(jí)數(shù)的增加,額外需要的模擬電路復(fù)雜程度也大大增加[5]。本文基于第一種方法提出適用于硅基OLED微顯示器的數(shù)字伽馬校正方法,該校正方法在精度和實(shí)現(xiàn)面積上均較傳統(tǒng)方法有一定優(yōu)勢,且可以實(shí)時(shí)根據(jù)OLED發(fā)光情況對顯示器進(jìn)行校正,對于顯示器顯示質(zhì)量的提高具有重要意義。
顯示器不同亮度的實(shí)現(xiàn)可以主要分為空間灰度調(diào)制、時(shí)間灰度調(diào)制以及幅值灰度調(diào)制3種方式。空間灰度調(diào)制是指從像素單元的發(fā)光面積對灰度階梯進(jìn)行控制;時(shí)間灰度調(diào)制是指在單元時(shí)間內(nèi)控制像素的發(fā)光時(shí)間長短來對灰度進(jìn)行控制;幅值灰度調(diào)制是通過控制顯示器件的驅(qū)動(dòng)電壓或驅(qū)動(dòng)電流大小從而控制灰度。我們選擇的是通過幅值灰度調(diào)制控制OLED發(fā)光的亮度。圖1為微顯示芯片顯示驅(qū)動(dòng)系統(tǒng)的結(jié)構(gòu)[6]。它主要由視頻數(shù)據(jù)處理模塊、線性數(shù)模轉(zhuǎn)換器、像素驅(qū)動(dòng)電路以及OLED陣列組成。視頻數(shù)據(jù)處理模塊接收來自芯片外的視頻信號(hào)進(jìn)行處理并產(chǎn)生控制微顯示芯片正常工作所需的各種時(shí)序信號(hào),DAC將數(shù)字視頻信號(hào)線性轉(zhuǎn)換成對應(yīng)的模擬電壓,像素驅(qū)動(dòng)電路根據(jù)該電壓控制OLED器件的發(fā)光亮度。
圖1 顯示驅(qū)動(dòng)系統(tǒng)的結(jié)構(gòu)Fig.1 Structure of display driving system
對于某一灰度級(jí)別的顯示,視頻數(shù)據(jù)若不進(jìn)行伽馬校正處理,OLED器件的發(fā)光亮度與輸入的視頻數(shù)據(jù)的灰度值呈線性關(guān)系。而通過人眼視覺系統(tǒng)我們的大腦感受到的灰度級(jí)別實(shí)際上與發(fā)光器件的亮度呈1/γ的指數(shù)關(guān)系,即
Y=K1·L1/γ,
(1)
其中:L為實(shí)際發(fā)光亮度,Y為大腦感受到的灰度級(jí)別,K1為常數(shù)。在低亮度環(huán)境中,人眼對亮度變化敏感,能夠感知很小的亮度差異;在高亮度環(huán)境中,對亮度變化不敏感,亮度值變化較大時(shí),人眼才能分辨,這種特性稱為人眼的伽馬特性[7]。因此,大腦感受到的灰度級(jí)Y與輸入視頻數(shù)據(jù)的灰度值X也呈1/γ的指數(shù)關(guān)系。
為了保證對于均勻變化的灰度級(jí)別大腦能夠獲得均勻變化的亮度感受,需要對原始的視頻數(shù)據(jù)進(jìn)行伽馬校正處理。伽馬校正其實(shí)是一種為了克服大腦對于亮度變化的非線性感受的一種傳輸函數(shù),其表達(dá)式為
G=K2·Xγ,
(2)
其中:X為原始的視頻數(shù)據(jù),G為通過伽馬校正后的輸出視頻數(shù)據(jù),K2為常數(shù)。校正后的數(shù)據(jù)通過顯示器發(fā)光的實(shí)際亮度為
L=C·Xγ,
(3)
將式(3)代入式(1)則有:
Y=K3·X,
(4)
上式C和K3均為常數(shù)。因此通過對原始視頻數(shù)據(jù)進(jìn)行伽馬校正處理,使得我們的大腦感受到的灰度級(jí)別與視頻數(shù)據(jù)的灰度級(jí)別為線性關(guān)系,達(dá)到了我們的校正目的。上述伽馬校正的推導(dǎo)過程如圖2所示。
圖2 伽馬校正的原理Fig.2 Principle of gamma correction
基于前面的顯示驅(qū)動(dòng)系統(tǒng),由于DAC的參考電壓確定,最大灰度數(shù)據(jù)對應(yīng)的OLED驅(qū)動(dòng)電壓也是確定的。也就是說,對于伽馬校正前后的兩組數(shù)據(jù),對應(yīng)的最小驅(qū)動(dòng)電壓和最大驅(qū)動(dòng)電壓是相同的。如果想完成從輸入數(shù)據(jù)到輸出數(shù)據(jù)的非線性映射,需要對輸出數(shù)據(jù)進(jìn)行位寬拓展[8],則低位寬數(shù)據(jù)的中間碼值可以對應(yīng)的是多個(gè)高位寬數(shù)據(jù)的中間碼值,如圖3所示。但是要求低位寬數(shù)據(jù)與高位寬數(shù)據(jù)之間的映射無交叉,通過這樣的映射關(guān)系,可以保證隨著輸入數(shù)據(jù)的遞增輸出數(shù)據(jù)也是遞增的,但是增加的幅度是可以調(diào)整的,這樣就實(shí)現(xiàn)了非線性映射。
圖3 位寬拓展示意圖Fig.3 Diagram of bit width extension
下面用4 bit映射到6 bit的數(shù)據(jù)來說明如何通過位寬拓展來實(shí)現(xiàn)非線性。4 bit數(shù)據(jù)與6 bit數(shù)據(jù)之間的一一映射如表1所示。圖4所示的曲線橫軸表示4 bit輸入數(shù)據(jù),縱軸表示6 bit輸出數(shù)據(jù),拓展的位寬越多,輸出曲線能夠更加平滑。從圖4可以看到通過位寬拓展可以很好地實(shí)現(xiàn)非線性。
表1 4 bit數(shù)據(jù)到6 bit數(shù)據(jù)映射關(guān)系Tab.1 Mapping relations between 4 bits and 6 bits data
圖4 4 bit數(shù)據(jù)到6 bit數(shù)據(jù)映射曲線Fig.4 Mapping curves of 4 bits and 6 bits data
對于我們的一款XGA039單色OLED微顯示芯片,分辨率為1 024×768,輸入數(shù)據(jù)為8 bit,表示的灰度值范圍為0~255。我們將輸入數(shù)據(jù)進(jìn)行位寬拓展到10 bit來實(shí)現(xiàn)非線性。通過查找表的方式完成低位寬數(shù)據(jù)到高位寬數(shù)據(jù)的映射,是實(shí)現(xiàn)伽馬校正最簡單直接的方式[9-10]。但是若對256個(gè)灰度級(jí)數(shù)據(jù)進(jìn)行查找表操作,且輸出為10 bit,則實(shí)際需要的RAM存儲(chǔ)空間的大小為256×10 bit,即需要256個(gè)位寬為10 bit的寄存器,這對于芯片實(shí)現(xiàn)來說太過于耗費(fèi)面積[11]。若將伽馬校正曲線用17個(gè)點(diǎn)來擬合,相鄰兩點(diǎn)之間的曲線近似為直線,就得到了16段線性分段函數(shù)。由于通過位寬拓展獲得的10 bit數(shù)據(jù)的最大值和最小值已經(jīng)確定,即對應(yīng)OLED的最大發(fā)光亮度和最小發(fā)光亮度,所以僅需要通過設(shè)置中間的15個(gè)點(diǎn)來控制伽馬曲線的形狀。
由于人眼的伽馬特性,在低亮度環(huán)境下對灰度級(jí)變化敏感,在高亮度環(huán)境下對于灰度級(jí)變化不敏感,我們希望在低亮度區(qū)域用更多的灰度級(jí)來實(shí)現(xiàn)擬合,達(dá)到更高的精度?;谶@種考慮,在選擇上述的用于擬合曲線的15個(gè)點(diǎn)時(shí),可以不以等間距選擇相鄰兩點(diǎn)對應(yīng)的輸入灰度級(jí),而是在低灰度級(jí)區(qū)域選擇更多的點(diǎn),高灰度級(jí)區(qū)域選擇少數(shù)幾個(gè)點(diǎn)。使用I2C總線配置模塊內(nèi)部寄存器的值來選擇這15個(gè)點(diǎn)在伽馬曲線中的位置,這樣使得伽馬曲線擬合的分段情況可調(diào),在芯片制作完成后可以根據(jù)實(shí)際OLED的發(fā)光情況調(diào)整伽馬曲線的形狀,以此獲得更好的顯示效果[12]。
上述15個(gè)中間灰度級(jí)對應(yīng)的輸出值通過LUT操作獲得;而對于相鄰兩點(diǎn)之間的灰度級(jí),首先需要判斷該點(diǎn)位于哪兩點(diǎn)之間,然后通過線性插值計(jì)算獲得輸出,計(jì)算公式為
(5)
其中KIN為8 bit輸入數(shù)據(jù),KOUT為10 bit輸出數(shù)據(jù),X(n)與X(n+1)為KIN相鄰兩點(diǎn)的輸入灰度值,KLUT(n)與KLUT(n+1)為這兩點(diǎn)對應(yīng)輸出值,這4個(gè)參數(shù)值均通過I2C總線配置。這樣的插值計(jì)算不僅滿足實(shí)際伽馬校正的精度需求,且需要的寄存器數(shù)量僅為15個(gè)點(diǎn)所對應(yīng)輸入和輸出值的數(shù)據(jù)位寬,大幅減小了實(shí)現(xiàn)面積。
圖5 伽馬校正調(diào)試流程Fig.5 Gamma correction debugging process
根據(jù)式(3)得發(fā)光亮度L與原始視頻數(shù)據(jù)X的γ冪次成正比關(guān)系,比例系數(shù)為C。γ的取值一般在1~4之間,取1意味著沒有校正,輸入輸出保持直線關(guān)系,圖像質(zhì)量沒有改善。取值越大,圖像的暗區(qū)灰度等級(jí)越細(xì)膩,黑白反差也變大,但γ取值過大圖像整體質(zhì)量下降,所以一般取1.6~3.4 之間,實(shí)踐中取1.6、2.2、2.8、3.4 這4個(gè)值進(jìn)行調(diào)試比較合適[13]。對于一個(gè)確定的γ取值,調(diào)試過程如圖5所示。
針對上述的調(diào)試過程,我們的XGA039 OLED微顯示器實(shí)際發(fā)光的最大亮度為20 000 cd/m2,γ取值分別為1.6,2.2,2.8,3.4四個(gè)值時(shí)的亮度L與原始數(shù)據(jù)灰度值X的關(guān)系曲線如圖6所示。根據(jù)實(shí)際的顯示情況,在γ=2.2時(shí)獲得最適應(yīng)人類視覺系統(tǒng)感知的顯示效果。
圖6 不同γ取值的伽馬曲線Fig.6 Gamma curves with different γ
上面的4簇曲線是在將伽馬曲線均勻分段的情況下測得的,為了更好地?cái)M合γ=2.2時(shí)的曲線,采用了可調(diào)分段擬合的方法,即在低灰度級(jí)選擇更多的點(diǎn)。具體分段方式如圖7所示,低灰度級(jí)區(qū)域相鄰兩點(diǎn)對應(yīng)輸入灰度級(jí)的間距為8或16,高灰度級(jí)區(qū)域相鄰兩點(diǎn)對應(yīng)輸入灰度級(jí)的間距為16或32,即中間15個(gè)灰度級(jí)的選擇為8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 144, 160, 192, 224,測試實(shí)際校正數(shù)據(jù)如表2所示,通過伽馬校正在低亮度區(qū)域?qū)?yīng)了更高的灰度級(jí)。這樣,如圖8曲線在低灰度區(qū)域的放大圖所示,在人眼更為敏感的低亮度區(qū)域達(dá)到了更高的擬合精度。當(dāng)顯示一張包含256個(gè)灰度級(jí)逐漸變化的圖片,通過這種方法校正前后芯片的顯示效果對比如圖9所示,校正之后灰階的變化明顯,更適應(yīng)人眼感知的需求。
圖7 γ=2.2時(shí)采用可調(diào)分段擬合的伽馬曲線Fig.7 Gamma curve with adjustable segmentation of γ=2.2
圖8 低灰度區(qū)域伽馬曲線放大圖Fig.8 Magnified view of gamma curve in low gray level region
表2 灰度級(jí)-亮度測試數(shù)據(jù)Tab.2 Gray-luminance test data (cd·m-2)
續(xù) 表
圖9 伽馬校正前后對比Fig.9 Comparison before and after the gamma correction
本文提出了一種適用于硅基OLED微型顯示器的數(shù)字伽馬校正方法,用于改善人眼視覺系統(tǒng)對于亮度感知的非線性。該非線性函數(shù)通過分段線性函數(shù)擬合而成,基于查找表和線性插值算法實(shí)現(xiàn),并且通過I2C總線配置內(nèi)部寄存器值,根據(jù)實(shí)際發(fā)光情況做到分段可調(diào),可在低亮度區(qū)域獲得更高的校正精度以適應(yīng)伽馬特性。相對于傳統(tǒng)的數(shù)字查找表法不僅提高了在低灰度區(qū)域的精度而且大大節(jié)省了實(shí)現(xiàn)面積;而相對于使用非線性DAC的模擬校正方法,外圍模擬電路的復(fù)雜程度也得到降低。在使用XGA039芯片進(jìn)行實(shí)際發(fā)光調(diào)試下,測得的最大發(fā)光亮度為20 000 cd/m2,當(dāng)伽馬系數(shù)取值為2.2時(shí),分段方式采用可調(diào)非均勻分段時(shí)獲得了較為適應(yīng)人眼視覺系統(tǒng)感知的顯示效果。