引言
節(jié)能環(huán)保技術是當前世界所關注的焦點,,在液晶顯示模組中,,背光源的功耗最高可占總功耗的50%以上。尤其在10in 以下顯示產品如手機,、PDA、MP3 等便攜式設備中,,基本采用電池供電,,功耗問題尤為突出。為有效降低液晶顯示器背光源的亮度,,以達到節(jié)電目的,,本文在ARM 開發(fā)平臺上實現(xiàn)了一種基于直方圖變換的背光源調光方法,,實驗證明,本文提出的方法在失真度為5%的情況下可實現(xiàn)背光節(jié)電約35%.
1 背光源調光方案
以TFT 液晶面板結構為例,,包括背光,、偏光片、液晶陣列,、彩色濾光片等部分,,人眼所感知的顯示圖像為上述各部分的綜合效果。假設背光亮度歸一化后設為b(為[0,1]區(qū)間實數(shù)),,0 對應于背光關閉情況,,1 對應于背光發(fā)光亮度最大情況。若光源為LED,則b 的調節(jié)可包括電流脈寬調制,、電流幅度調節(jié)等方法,。
假設以圖像為8bit 灰度圖進行討論,f(x,y)表示圖像中某點(x,y)的灰度值,,x,、y 為該點坐標。則該點位置的液晶透過率可表示為:
t (x,y)=f(x,y)/255 (1)
該圖像點可被觀測到的亮度L(x,y)為背光源發(fā)光和液晶透過率的綜合效果,,可表示為背光亮度b和液晶透過率t (x,y)的近似線性組合:
L(x,y) =b·t (x,y) =b·f(x,y)/255 (2)
根據(jù)視覺光效一致性的要求,,必須尋找一種方法使像素灰度值在增大(以補償背光b 變小)的時候盡量不飽和。為達到這個目的,,本文首先將圖像灰度值范圍先限制在一定區(qū)間,,然后再對直方圖進行拉伸,以實現(xiàn)像素灰度值的增大,。圖像直方圖由門限fgl 和fgh 進行裁剪,,使圖像中的某些點被鉗位于fgl 和fgh,該圖像的灰度區(qū)間限制于[fgl,fgh],背光源調光問題轉化為這幅直方圖經過裁剪的圖像應當如何進行調整,使得它的背光能盡量降低亮度,。
顯然對固定的失真度,,fgl 和fgh 可以有多種取值,這里取值方式應滿足公式(3):
min (fgh- fgl ) (3)
這樣處理的目的是將圖像灰度區(qū)間限制在一個最小范圍內,。
公式(3)實現(xiàn)后,,下一步對直方圖進行線性搬移,使灰度整體向暗區(qū)域移動fgl.這樣圖像灰度區(qū)域由[0,255]區(qū)間內的原分布,,被壓縮在[0,fgh- fgl]區(qū)間,。
假設背光變暗,此時應對圖像進行灰度拉伸,,以彌補背光導致的亮度損失,。若采取線性拉伸方法,顯然拉伸的最大倍數(shù)為255/(fgh- fgl),,此時像素灰度不會飽和,,則背光亮度可由1 降低為(fgh- fgl)/255.根據(jù)公式(2),,經過處理后的圖像在背光調節(jié)前后視覺效果不變。
2 硬件和軟件實現(xiàn)方案
本實驗采用mini2440 開發(fā)板進行驗證,,mini2440是一款低價實用的ARM9 開發(fā)板,,處理器為三星S3C2440(ARM920T,最高主頻可達532MHz)。液晶屏支持黑白,、4 級灰度,、16 級灰度、256 色,、4,096 色STN 液晶顯示,,尺寸從3.5~12.1in,屏幕分辨率可以達到1,024×768 像素,實驗采用了3.5in LED 背光TFT液晶屏,。
實驗中根據(jù)圖像算法計算圖像的灰度值,,通過對顯示圖像的直方圖進行裁剪,使之限定在一定范圍內,,其后進行直方圖拉伸,,再由計算公式(fgh- fgl)/255 計算出背光源的顯示亮度,并控制背光源脈寬調制輸出脈沖的占空比,,實現(xiàn)背光源LED 的亮度調節(jié),。硬件框圖如圖1 所示。
2.1 LED 背光源驅動設計
設計采用恒流型LED 驅動,,輸出電流穩(wěn)定,,保證了背光LED 的亮度恒定,方便通過更改相關的外圍電阻來確定輸出電流的大小,,并具有高靈敏度的開關控制功能,,能實現(xiàn)通過PWM 來控制LED 的亮度。
AMC7140 是大功率的LED 恒流驅動芯片,,寬電壓輸入DC 范圍為5~50V, 輸出電流最大達700mA, 適合驅動1W,、3W、5W 的LED 燈,,TO- 252- 5L 封裝,,帶PWM CONTROL 端(OE 引腳)。如圖2 所示是AMC7140 的引腳圖,,其中引腳1 是電源輸入;引腳2 是輸出電流的控制端,,通過一個高精度的電阻Rset 接地實現(xiàn)對電流的控制,電流Iset=1.2V/Rset,輸出電流Iout=500×Iset;引腳3 接地;引腳4 是PWM 控制端,,高電平有效;引腳5 是輸出端,。AMC7140 的應用電路如圖3 所示。
2.2 基于S3C2440 的PWM 控制的實現(xiàn)
S3C2440 有5 個16bit 定時器。定時器0,、1、2,、3 有脈寬調制功能(PWM);定時器4 是內部定時器,,沒有輸出引腳;定時器0 有死區(qū)發(fā)生器,常用于大電流設備中;定時器0,、1 共用一個8bit 預脈沖分頻器,,定時器2、3,、4 共用另外一個,。每個定時器都有一個時鐘分頻器,它可以產生5 種分頻信號(1/2,、1/4,、1/8、1/16 和TCLK),。每個定時器模塊從自己的時鐘分頻器獲取時鐘信號,,時鐘分頻器從相應的8bit 預脈沖分頻器中獲取時鐘。這個8bit 預脈沖分頻器是可編程的,,并依據(jù)TCFG0 和TCFG1 寄存器中的值對PCLK進行分頻,。定時器被使能之后,定時器計數(shù)緩沖寄存器(TCNTBn)中的初始值就被加載到遞減計數(shù)器中,, 定時器比較緩沖寄存器(TCMPBn) 中的初始值就被加載到比較寄存器中,,以便與遞減計數(shù)器的值進行比較。這種TCNTBn 和TCMPBn 的雙緩沖特點使得定時器在頻率和占空比變化時輸出的信號更加穩(wěn)定,。每個定時器都有一個自己的時鐘驅動的16bit 遞減計數(shù)器,,當計數(shù)器減到0 時,產生一個定時器中斷請求,,以通知CPU 定時器操作完成,,同時定時器計數(shù)緩沖寄存器的值被再次自動加載到遞減計數(shù)器繼續(xù)下次操作。然而,,如果在正常模式下清除定時器TCONn 的使能位,,TCNTBn的值將不再加載進計數(shù)器,TCNTBn 的值常用于PWM.當遞減計數(shù)器的值等于比較寄存器的值,,定時器控制邏輯改變輸出電平,,因此,比較寄存器決定了PWM 輸出的開啟和關閉,。
設置一個定時器,,首先初始化TCNTBn 和TCMPBn,在初始化定時器時,主要設定以下幾個寄存器(以定時器0 為例):
定時器輸出時鐘頻率= PCLK/(prescaler value+1)/(divider value)
TCFG0 寄存器設置:TCFG0=99;//prescaler value="99"
TCFG1 寄存器設置:TCFG1=0x03;//divider value="1/16"
這樣,,當PCLK=400M 時,,定時器輸出頻率為6.25M.
定時器初值的設置包括:
TCNTB0 寄存器設置:TCNTB0=62500;// 裝入初值1s 中斷一次
TCMPB0 寄存器設置:TCMPB0=rTCNTB0》1;//50%
接著就可以啟動定時器,,第一次必須手動裝載:TCON=1《1;
裝載后, 改為自動裝載,, 并啟動定時器:TCON=0x09.
2.3 基于S3C2440 的圖像算法設計
S3C2440 芯片內部集成了LCD 控制器,,用來向LCD 傳輸圖像數(shù)據(jù),并提供必要的控制信號,,比如VFRAME,、VLINE、VCLK,、VM 等,,可以支持STNLCD和TFTLCD.mini2440 采用3.5in(分辨率為240×320像素)的TFT 液晶顯示屏,配置為常用的16BPP(5:6:5)模式,。要顯示圖像,,只要向LCD_BUFFER 寫入像素數(shù)據(jù)(R(5):G(6):B(5)),LCD 控制器就會自動通過DMA讀取數(shù)據(jù)送往TFTLCD顯示,。
圖像算法是基于圖像直方圖進行數(shù)據(jù)變換的,,所以,首先應編寫子程序并先計算形成顯示圖像的灰度直方圖,,算法如下所示(其中bmp 為原始的灰度圖像,,bmp_2 為灰度值數(shù)組):
for( y = 0;y < 320;y++ )
{for(x = 0; x < 240; x++)
{bmp_2 [bmp[p]] ++;
p = p + 1;
}
}
假設取5%的失真度,那么需要變換的像素點數(shù)量為240×320×5%=3,840 點,,然后根據(jù)上述算法原理采用逐點計算的方法使fgl 從灰度0 開始分別計算出對應的(fgh- fgl ),,最后比較求出min(fgh - fgl)。
下一步對直方圖進行線性搬移,,使灰度整體向暗區(qū)域移動fgl,這樣圖像灰度區(qū)域由[0,255]區(qū)間內的原分布,,被壓縮在[0,fgh- fgl]區(qū)間。接下來應對圖像進行灰度拉伸,,以彌補背光導致的亮度損失,。若采取線性拉伸方法, 顯然拉伸的最大倍數(shù)為255/ (fgh- fgl),。算法如下所示(其中bmp 為原始的灰度圖像,,bmp_new 為更新圖像,min= min(fgh - fgl)):
for(y = 0;y < 320;y++)
{for(x = 0;x < 240;x++ )
{if (bmp[p]>= fgl )
bmp_new[p] = (bmp[p] - fgl )*255/min;
else
bmp_new[p] =0;
p++;
}
}
此時像素灰度不會飽和,,則背光亮度可由1 降低為(fgh- fgl)/255,由LED 驅動電路通過PWM 實現(xiàn)相應亮度的控制,。
3 實驗結果
如圖4 所示為測試圖像,圖4(a)為原始圖像,,圖4(b),、(c)、(d)為采用直方圖裁剪與拉伸算法的試驗結果圖。
測試圖4 (b) 的失真度為5% ,節(jié)能比例為35% ;測試圖4(c)的失真度為10% ,節(jié)能比例為55% ;測試圖4(d)的失真度為20% ,節(jié)能比例為67%.由實驗結果可知,,在一定的失真度下,,顯然直方圖裁剪的灰度范圍越小,背光亮度可降低的幅度越大,。原始測試圖像與經過直方圖裁剪和拉伸的圖像相比,,在失真度5%的約束下,由于圖像進行了直方圖搬移,,整體亮度有所變化,總的來說圖像質量沒有明顯損失,。
4 結論
本文提出了基于視覺特性的液晶顯示器背光源節(jié)電調光方法,,建立了直方圖裁剪和拉伸的處理框架,并在此基礎上利用ARM 平臺加以驗證,,證明本文的方法在失真度為5%的情況下可實現(xiàn)約35%的背光節(jié)電效果,,且圖像質量沒有明顯損失。