楊洪柏,張江安
(1.上海開放大學理工學院,上海 200433;2.上海工程技術大學高等職業(yè)技術學院,上海 200437)
近年來,隨著電子技術、信息技術的高速發(fā)展,帶有液晶(LCD)、有機發(fā)光二極管(OLED)顯示器的便攜式消費電子產(chǎn)品(如手機、平板電腦)得到普及,這些電子產(chǎn)品中顯屏驅(qū)動芯片的設計越來越受到重視。早期,顯屏驅(qū)動芯片的功能主要是接收主控芯片發(fā)送的數(shù)據(jù)流及控制信號流,為顯示屏幕提供驅(qū)動電壓/電流和陣列控制信號,實現(xiàn)圖像顯示功能[1-2]。隨著產(chǎn)品的快速升級和演化,不少顯屏驅(qū)動芯片增加了圖像色彩增強(Color Enhancement,CE)功能,其目的是通過對圖像數(shù)據(jù)進行處理,使得顯示器呈現(xiàn)的圖像色域更廣,視覺效果更加艷麗。該功能既可提升某些飽和度偏低圖像的顯示效果,也可彌補某些類型顯示器(如LCD 顯示器)色域不寬[3-5]的缺點。另外,在戶外使用的移動顯示系統(tǒng)受強光照射時,圖像飽和度降低,可視性較差。在這種情況下,色彩增強技術可改善圖像的可視性。
顯屏驅(qū)動芯片屬于專用集成電路(Application Specific Integrated Circuit,ASIC),不帶有處理器核。因此,應用于顯屏驅(qū)動芯片的色彩增強算法要求運算簡單、計算速度快、占用存儲空間少,便于以數(shù)字電路形式實現(xiàn)。顯然,一些已經(jīng)開發(fā)出來、應用于電視、攝像機、計算機等產(chǎn)品的色彩增強技術[6-13]因算法復雜、需借用軟件系統(tǒng)實現(xiàn),而不能應用于顯屏驅(qū)動芯片。近十多年來,適用于顯屏驅(qū)動芯片的色彩增強技術被研究和開發(fā)。Lai 和Tsai 等[3-4]提出一種基于特別構(gòu)造的線性變換矩陣的色彩增強方法(被稱為Rich Color 法),由于其實現(xiàn)的簡便性而被芯片設計商采用,成為主流的色彩增強方法。羅寧[14]提出色彩矢量概念,并基于此提出一個本質(zhì)上屬于顏色空間線性變換的色彩增強專利,但并未提供實現(xiàn)的所有細節(jié)。這兩種技術具有逐像素處理、計算簡單、硬件資源耗用少的特點,但對色彩增強程度無法進行參數(shù)化調(diào)節(jié),對增強效果也無法準確預知,從而不便于主控芯片對增強過程進行調(diào)控。
為解決現(xiàn)有技術存在的上述問題,提出了一種新的對增強效果可進行精確調(diào)控的圖像色彩增強算法(直方圖分析法)。它不僅具有計算簡捷的優(yōu)點,而且通過預設飽和度增高系數(shù)這一參數(shù),實現(xiàn)了對色彩增強效果的直接調(diào)節(jié)。進一步地,為防止出現(xiàn)飽和度數(shù)值飽和的像素過多而引起圖像質(zhì)量下降,通過對每幅圖像的飽和度進行直方圖的分析,計算最大許用飽和度增高系數(shù),并最終得到適合于該圖像的實際飽和度增高系數(shù)。本文對所提出算法的效果進行了測試,并對所需的計算資源進行了評估。結(jié)果表明,該算法不僅色彩增強效果良好,而且計算資源耗用較少,適合用于顯屏驅(qū)動芯片領域。
眾所周知,在HSV 色彩空間中,飽和度S是表達像素色彩艷麗程度的參量。因此,提高像素飽和度是色彩增強的有效手段。本文所提出的色彩增強方法也以此為基礎。為使計算簡便,并使各像素飽和度之間原有的比例關系保持不變,在該方法中,各像素采用相同的飽和度增高倍數(shù)。作為調(diào)節(jié)參數(shù),將主控芯片發(fā)送的預期增高倍數(shù)稱為預設飽和度增高系數(shù)(記為k0)。
為便于應用電路進行計算,將S量化為8 bit 整數(shù),故其取值范圍為[0,255]。在S增大過程中,原本飽和度較高的像素可能發(fā)生飽和度數(shù)值超過255而被截止為255 的現(xiàn)象(即數(shù)值飽和),從而引起圖像質(zhì)量降低。為將圖像質(zhì)量降低程度控制在可接受范圍內(nèi),需設置像素截止率閾值(設為r),使發(fā)生截止的像素占比不大于r。為此,對于不同的圖像而言,需要對其像素飽和度數(shù)值的分布進行分析,以計算滿足截止率閾值條件的最大許用飽和度增高系數(shù)(設為k1)。最后取k0和k1之間的較小值,作為實際飽和度增高系數(shù)(設為k)。通過這種方式,使算法既具有參數(shù)可調(diào)節(jié)性,又可對圖像質(zhì)量進行控制,確保了算法的有效性。
如前文所述,本文所提出的色彩增強方法需借助HSV 顏色空間[15-16]予以實現(xiàn)。為此,需根據(jù)圖像像素R、G、B顏色值計算色相(hue,H)、飽和度(saturation,S)和明度(value,V)(如圖1 所示)。假設R、G、B數(shù)值區(qū)間為[0,255],上述計算過程可由式(1)至式(7)的一組公式表示:
圖1 HSV 顏色空間模型
根據(jù)HSV 模型,色調(diào)H反映了顏色在色盤中所處的角度。在本文提出的算法中,為了防止圖像發(fā)生色偏,將各像素的色調(diào)保持不變。為便于計算,引入如下與H相關的量:
式中:d為像素R、G、B三個顏色值中除M、m之外的中間值,即m≤d≤M。顯然,對于同一像素,色調(diào)保持不變即意味著Hp保持不變,因此式(4)、(5)的計算可由式(8)替代。在保持Hp不變的同時,本文算法保持m、d、M與R、G、B之間的對應關系始終不變。
引入Hp參量后,從HSV 空間到RGB 空間的轉(zhuǎn)換公式也得到簡化。當色彩增強過程中像素的S和V值被更新后,可由以下公式計算m、d、M的更新值:
根據(jù)m、d、M的更新值以及它們與R、G、B之間的對應關系,即可得到增強后像素的顏色值(R′、G′、B′),從而完成從HSV 空間到RGB 空間的轉(zhuǎn)換。
如前文所述,在一定的飽和度截止率r條件下,對于具有不同飽和度分布的圖像,其飽和度可提升的程度可能不同。通過對特定圖像飽和度直方圖的分析,可計算出該圖像的最大許用飽和度增高系數(shù)。步驟如下:
(1)計算圖像的飽和度直方圖數(shù)組h(S),S=0,1,…,255。h(S)表示飽和度等于S的像素個數(shù)。
(2)按L=255,254,…,1,0 的順序計算累積數(shù)組A(L),直至A(L)>N·r時停止(N為像素總數(shù)),記錄此時L的值。其中A(255)=h(255),A(L)遞推公式為:A(L)=A(L+1)+h(L)。
(3)計算最大許用飽和度增高系數(shù)k1。若L=0,則令k1=1;否則,令
圖2、圖3 所示為色彩增強的一個實例。圖3(a)為圖2(a)所示原始圖片的飽和度直方圖。在r=0.05 條件下,計算得L=202,k1≈1.262。圖2(b)為圖2(a)在飽和度增高k1倍后的效果圖(像素亮度遵循變化最小準則),圖3(b)為圖2(b)的飽和度直方圖。顯然,經(jīng)過色彩增強后,飽和度直方圖整體向S軸正方向擴展。
圖2 色彩增強實例(N=76 800,r=0.05,k1≈1.262)
圖3 圖2 中圖片的飽和度直方圖
得到k1之后,取k=min(k0,k1)。對于圖像的每個像素,增強后的飽和度為
飽和度增高的過程可能引起像素亮度的改變,從而改變圖像原有的視覺效果。這對色彩增強算法的應用是不利的。因此,有必要在算法中增加“最小像素亮度變化”這一準則作為約束條件。鑒于YCbCr顏色空間的Y分量被廣泛用于圖像亮度表達,在本文提出的算法中也采用該參量計算像素的亮度。
由RGB 空間顏色值計算亮度Y的公式如下[3]:
根據(jù)式(1)~(8),將式(15)改寫為
上式中系數(shù)wm、wd、wM的值根據(jù)該像素m、d、M與R、G、B之間的對應關系選取。
為進一步利用最小像素亮度變化準則,現(xiàn)推導Y與M的關系。不妨忽略公式中的圓整操作,由式(10)、(11)可得
由式(8)可得d=Hp(M-m)+m,將式(17)代入并化簡,得
將式(17)、(18)代入式(16),并利用關系式wm+wd+wM=1,化簡得
假設經(jīng)過色彩增強,像素顏色值由(R,G,B)變?yōu)?R′,G′,B′),相應地(m,d,M)變?yōu)?m′,d′,M′)。設理想情況下像素亮度保持Y不變,根據(jù)式(19)和新飽和度值S′,得M′在此理想情況下的值為
由于0≤Hp≤1,可得Mi≥0。另一方面,Mi可能超出255。為防止數(shù)值溢出,取
得到M′以后,根據(jù)式(17)、(18),應用新飽和度值S′,可分別算出m′、d′。由于m′、d′、M′與R′、G′、B′之間對應關系保持不變,即可得到增強后的R′、G′、B′值。式(9)~(12)所示的空間轉(zhuǎn)換計算實際上被隱含在上述求解過程中。
前文分析了色彩增強的計算過程,它可分為圖像分析和增強計算兩個階段。在第一階段包括圖像像素顏色空間轉(zhuǎn)換、圖像飽和度直方圖計算、最大飽和度增高系數(shù)計算、實際飽和度增高系數(shù)選定等操作。第二階段的任務是在第一階段分析結(jié)果的基礎上,逐像素地進行色彩增強操作。圖4 為該色彩增強算法流程圖。
圖4 色彩增強算法流程圖
本文對所提出的色彩增強方法——直方圖分析法,進行了大量的實驗測試。實驗選用的圖片包括自然景物照片、人像圖片、卡通圖片、手機操作界面等。實驗結(jié)果表明,本文所提出的方法有效。借助于參數(shù)k0和r,算法可以對色彩增強效果進行精確的調(diào)控。k1則反映了算法對圖片內(nèi)容的自適應能力:在r值允許的前提下提供最大的飽和度增高倍數(shù)。當k=k0時,系統(tǒng)按照主控芯片的指令進行增強操作;當k=k1時,系統(tǒng)雖然沒達到主控芯片指令(k0)的要求,但在保證圖像質(zhì)量的前提下實現(xiàn)了增強效果最大化。因此,該算法兼顧了圖像質(zhì)量和增強效果兩方面的要求。
顯然,當k0和r增大時,色彩增強效果將會提高,但圖像質(zhì)量下降的風險變大,主要表現(xiàn)為圖像局部飽和度過高而丟失細節(jié)。大量測試結(jié)果表明,當1≤k0≤1.5 并且0<r≤0.05 時,增強效果較好且圖像質(zhì)量無明顯下降,因此這是k0和r優(yōu)先選擇的范圍。
圖5、圖6 所示為采用直方圖分析法對“小鳥”圖片進行色彩增強的實例。在此例中,r=0.05。計算得到k1=1.308。當k0分別取1.1、1.2 和1.3 時,均得到k=k0。
圖5 小鳥圖片色彩增強實例(r=0.05)
圖6 “小鳥”圖片的飽和度直方圖
在色彩增強算法中,圖像色彩增強的效果常采用CIE1931 空間的色域圖大小變化進行評估[3-4]。圖7 為“小鳥”圖片色彩增強前后的色域圖。在基于飽和度調(diào)節(jié)的色彩增強算法中,飽和度為零的灰色像素在色域上的位置是保持不變的。由此,選取亮度最大的白色像素在色域上的對應點作為基準點,計算圖像色域所有像素至該基準點的平均距離D。顯然,D可作為色域大小的評價指標。設原始圖像和增強后圖像色域像素到基準點的平均距離分別為Di和De,定義色域擴展系數(shù)如下:
圖7 “小鳥”圖片的色域
表1 列出了“小鳥”圖片增強后的色域擴展系數(shù)。從該表可見,色域擴展系數(shù)隨著k增大而增大。這說明本文提出的色彩增強算法是有效的,并且能夠?qū)υ鰪娦ЧM行精確調(diào)控。
表1 “小鳥”圖片增強后的色域擴展系數(shù)
本文所提出的直方圖分析法在以下兩方面優(yōu)于Rich Color 法:(1)前者可利用參數(shù)k,對色彩增強效果進行調(diào)節(jié);而后者的增強效果依賴調(diào)節(jié)因子s的取值,而其取值由經(jīng)驗數(shù)據(jù)決定,不便于調(diào)節(jié)。(2)前者可保持圖像質(zhì)量基本不變,而后者關于s的表格數(shù)據(jù)平滑性不好,對于顏色緩變的圖片可能產(chǎn)生不期望的條紋,從而導致圖像質(zhì)量下降。對第(2)點,舉例說明如下。
構(gòu)造一個點陣為179×128 的顏色緩變圖像,其中每個像素的G分量均為240。每一行像素顏色值相同,并且R和B分量相等。第1 行像素R和B分量的值為42,此后逐行加1,直至第240 行R和B等于220,如圖8(a)所示。圖8(b)所示為采用本文所提出直方圖分析法得到的增強效果,由于其各像素飽和度增高系數(shù)相同,因而其顏色保持了平滑緩變的效果。圖8(c)所示為采用Rich Color 法得到的增強效果,其上部區(qū)域出現(xiàn)了明顯的條紋,圖像質(zhì)量較差。
圖8 顏色緩變圖增強效果對比
如前文所述,本文所提出的色彩增強方法面向顯屏驅(qū)動芯片應用,以電路形式實現(xiàn)。隨著平面顯示器分辨率不斷提高,其驅(qū)動芯片為了節(jié)省成本,逐漸以“無幀存儲器(RAMless)”的設計為主流方案。這要求色彩增強算法在圖像傳輸?shù)耐瑫r完成所有計算。圖9 為滿足此要求的色彩增強系統(tǒng)模塊圖。在此系統(tǒng)中,由于直方圖分析模塊需要在一幀圖像傳輸結(jié)束后,才能輸出該幀圖像的k值,因此該值在飽和度增高計算中的應用將延遲一個幀傳輸周期(如圖10 所示)。
圖9 色彩增強系統(tǒng)模塊圖
圖10 色彩增強系統(tǒng)內(nèi)部時序示意圖
由于主流平面顯示器刷新頻率為60 frame/s,而所顯示圖像和視頻處于靜止狀態(tài)或相對而言變化較慢,因此上述的k值延遲不會對圖像色彩增強效果帶來明顯負面影響。通過在平板電腦、智能手機上對有k值延遲和無k值延遲兩種視頻的對比實驗,二者無明顯差別。
本文所提出的算法運算簡單,其所耗用的硬件資源也較少(參見圖9),主要由RGB 與HSV 空間轉(zhuǎn)換計算電路、直方圖分析電路和存儲器三大部分組成。RGB 至HSV 和HSV 至RGB 轉(zhuǎn)換計算均需用到除法運算。由于硬件除法器不僅計算耗時,而且需要較多硬件資源,故在進行電路設計時,將所有除法轉(zhuǎn)化為乘法運算,即乘以除數(shù)的倒數(shù)。為此,建立了一個長為255 byte 的倒數(shù)表,存放在只讀存儲器(ROM)中。直方圖數(shù)據(jù)字長為16 bit,儲存于隨機存取存儲器(RAM)中。由于實際應用中一般k<2,128≤L≤255,因此直方圖數(shù)組h(S)只需128 項,RAM 空間選取128 Word 即可??刂茀?shù)r、k0、k1、k等以及其他中間變量字長為8 bit,存儲于18 個寄存器中。表2 為該系統(tǒng)存儲空間統(tǒng)計表。
表2 系統(tǒng)存儲空間統(tǒng)計表
本文面向顯屏驅(qū)動芯片應用,提出了一種圖像色彩增強方法,其中包括飽和度直方圖分析、RGB與HSV 顏色空間之間的快速轉(zhuǎn)換等步驟。該方法突出的優(yōu)點是,在確保圖像質(zhì)量的前提下,可對增強效果進行精確的調(diào)控,便于主控芯片對該功能的使用和控制。同時,它運算簡便,耗用硬件資源少,便于以算法模塊的形式在各種顯屏驅(qū)動芯片中應用,以增強產(chǎn)品的功能和競爭力。