楊洪柏,張江安
(1.上海開放大學理工學院,上海 200433;2.上海工程技術大學高等職業技術學院,上海 200437)
近年來,隨著電子技術、信息技術的高速發展,帶有液晶(LCD)、有機發光二極管(OLED)顯示器的便攜式消費電子產品(如手機、平板電腦)得到普及,這些電子產品中顯屏驅動芯片的設計越來越受到重視。早期,顯屏驅動芯片的功能主要是接收主控芯片發送的數據流及控制信號流,為顯示屏幕提供驅動電壓/電流和陣列控制信號,實現圖像顯示功能[1-2]。隨著產品的快速升級和演化,不少顯屏驅動芯片增加了圖像色彩增強(Color Enhancement,CE)功能,其目的是通過對圖像數據進行處理,使得顯示器呈現的圖像色域更廣,視覺效果更加艷麗。該功能既可提升某些飽和度偏低圖像的顯示效果,也可彌補某些類型顯示器(如LCD 顯示器)色域不寬[3-5]的缺點。另外,在戶外使用的移動顯示系統受強光照射時,圖像飽和度降低,可視性較差。在這種情況下,色彩增強技術可改善圖像的可視性。
顯屏驅動芯片屬于專用集成電路(Application Specific Integrated Circuit,ASIC),不帶有處理器核。因此,應用于顯屏驅動芯片的色彩增強算法要求運算簡單、計算速度快、占用存儲空間少,便于以數字電路形式實現。顯然,一些已經開發出來、應用于電視、攝像機、計算機等產品的色彩增強技術[6-13]因算法復雜、需借用軟件系統實現,而不能應用于顯屏驅動芯片。近十多年來,適用于顯屏驅動芯片的色彩增強技術被研究和開發。Lai 和Tsai 等[3-4]提出一種基于特別構造的線性變換矩陣的色彩增強方法(被稱為Rich Color 法),由于其實現的簡便性而被芯片設計商采用,成為主流的色彩增強方法。羅寧[14]提出色彩矢量概念,并基于此提出一個本質上屬于顏色空間線性變換的色彩增強專利,但并未提供實現的所有細節。這兩種技術具有逐像素處理、計算簡單、硬件資源耗用少的特點,但對色彩增強程度無法進行參數化調節,對增強效果也無法準確預知,從而不便于主控芯片對增強過程進行調控。
為解決現有技術存在的上述問題,提出了一種新的對增強效果可進行精確調控的圖像色彩增強算法(直方圖分析法)。它不僅具有計算簡捷的優點,而且通過預設飽和度增高系數這一參數,實現了對色彩增強效果的直接調節。進一步地,為防止出現飽和度數值飽和的像素過多而引起圖像質量下降,通過對每幅圖像的飽和度進行直方圖的分析,計算最大許用飽和度增高系數,并最終得到適合于該圖像的實際飽和度增高系數。本文對所提出算法的效果進行了測試,并對所需的計算資源進行了評估。結果表明,該算法不僅色彩增強效果良好,而且計算資源耗用較少,適合用于顯屏驅動芯片領域。
眾所周知,在HSV 色彩空間中,飽和度S是表達像素色彩艷麗程度的參量。因此,提高像素飽和度是色彩增強的有效手段。本文所提出的色彩增強方法也以此為基礎。為使計算簡便,并使各像素飽和度之間原有的比例關系保持不變,在該方法中,各像素采用相同的飽和度增高倍數。作為調節參數,將主控芯片發送的預期增高倍數稱為預設飽和度增高系數(記為k0)。
為便于應用電路進行計算,將S量化為8 bit 整數,故其取值范圍為[0,255]。在S增大過程中,原本飽和度較高的像素可能發生飽和度數值超過255而被截止為255 的現象(即數值飽和),從而引起圖像質量降低。為將圖像質量降低程度控制在可接受范圍內,需設置像素截止率閾值(設為r),使發生截止的像素占比不大于r。為此,對于不同的圖像而言,需要對其像素飽和度數值的分布進行分析,以計算滿足截止率閾值條件的最大許用飽和度增高系數(設為k1)。最后取k0和k1之間的較小值,作為實際飽和度增高系數(設為k)。通過這種方式,使算法既具有參數可調節性,又可對圖像質量進行控制,確保了算法的有效性。
如前文所述,本文所提出的色彩增強方法需借助HSV 顏色空間[15-16]予以實現。為此,需根據圖像像素R、G、B顏色值計算色相(hue,H)、飽和度(saturation,S)和明度(value,V)(如圖1 所示)。假設R、G、B數值區間為[0,255],上述計算過程可由式(1)至式(7)的一組公式表示:

圖1 HSV 顏色空間模型

根據HSV 模型,色調H反映了顏色在色盤中所處的角度。在本文提出的算法中,為了防止圖像發生色偏,將各像素的色調保持不變。為便于計算,引入如下與H相關的量:

式中:d為像素R、G、B三個顏色值中除M、m之外的中間值,即m≤d≤M。顯然,對于同一像素,色調保持不變即意味著Hp保持不變,因此式(4)、(5)的計算可由式(8)替代。在保持Hp不變的同時,本文算法保持m、d、M與R、G、B之間的對應關系始終不變。
引入Hp參量后,從HSV 空間到RGB 空間的轉換公式也得到簡化。當色彩增強過程中像素的S和V值被更新后,可由以下公式計算m、d、M的更新值:

根據m、d、M的更新值以及它們與R、G、B之間的對應關系,即可得到增強后像素的顏色值(R′、G′、B′),從而完成從HSV 空間到RGB 空間的轉換。
如前文所述,在一定的飽和度截止率r條件下,對于具有不同飽和度分布的圖像,其飽和度可提升的程度可能不同。通過對特定圖像飽和度直方圖的分析,可計算出該圖像的最大許用飽和度增高系數。步驟如下:
(1)計算圖像的飽和度直方圖數組h(S),S=0,1,…,255。h(S)表示飽和度等于S的像素個數。
(2)按L=255,254,…,1,0 的順序計算累積數組A(L),直至A(L)>N·r時停止(N為像素總數),記錄此時L的值。其中A(255)=h(255),A(L)遞推公式為:A(L)=A(L+1)+h(L)。
(3)計算最大許用飽和度增高系數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)的飽和度直方圖。顯然,經過色彩增強后,飽和度直方圖整體向S軸正方向擴展。

圖2 色彩增強實例(N=76 800,r=0.05,k1≈1.262)

圖3 圖2 中圖片的飽和度直方圖
得到k1之后,取k=min(k0,k1)。對于圖像的每個像素,增強后的飽和度為

飽和度增高的過程可能引起像素亮度的改變,從而改變圖像原有的視覺效果。這對色彩增強算法的應用是不利的。因此,有必要在算法中增加“最小像素亮度變化”這一準則作為約束條件。鑒于YCbCr顏色空間的Y分量被廣泛用于圖像亮度表達,在本文提出的算法中也采用該參量計算像素的亮度。
由RGB 空間顏色值計算亮度Y的公式如下[3]:

根據式(1)~(8),將式(15)改寫為

上式中系數wm、wd、wM的值根據該像素m、d、M與R、G、B之間的對應關系選取。
為進一步利用最小像素亮度變化準則,現推導Y與M的關系。不妨忽略公式中的圓整操作,由式(10)、(11)可得

由式(8)可得d=Hp(M-m)+m,將式(17)代入并化簡,得

將式(17)、(18)代入式(16),并利用關系式wm+wd+wM=1,化簡得

假設經過色彩增強,像素顏色值由(R,G,B)變為(R′,G′,B′),相應地(m,d,M)變為(m′,d′,M′)。設理想情況下像素亮度保持Y不變,根據式(19)和新飽和度值S′,得M′在此理想情況下的值為

由于0≤Hp≤1,可得Mi≥0。另一方面,Mi可能超出255。為防止數值溢出,取

得到M′以后,根據式(17)、(18),應用新飽和度值S′,可分別算出m′、d′。由于m′、d′、M′與R′、G′、B′之間對應關系保持不變,即可得到增強后的R′、G′、B′值。式(9)~(12)所示的空間轉換計算實際上被隱含在上述求解過程中。
前文分析了色彩增強的計算過程,它可分為圖像分析和增強計算兩個階段。在第一階段包括圖像像素顏色空間轉換、圖像飽和度直方圖計算、最大飽和度增高系數計算、實際飽和度增高系數選定等操作。第二階段的任務是在第一階段分析結果的基礎上,逐像素地進行色彩增強操作。圖4 為該色彩增強算法流程圖。

圖4 色彩增強算法流程圖
本文對所提出的色彩增強方法——直方圖分析法,進行了大量的實驗測試。實驗選用的圖片包括自然景物照片、人像圖片、卡通圖片、手機操作界面等。實驗結果表明,本文所提出的方法有效。借助于參數k0和r,算法可以對色彩增強效果進行精確的調控。k1則反映了算法對圖片內容的自適應能力:在r值允許的前提下提供最大的飽和度增高倍數。當k=k0時,系統按照主控芯片的指令進行增強操作;當k=k1時,系統雖然沒達到主控芯片指令(k0)的要求,但在保證圖像質量的前提下實現了增強效果最大化。因此,該算法兼顧了圖像質量和增強效果兩方面的要求。
顯然,當k0和r增大時,色彩增強效果將會提高,但圖像質量下降的風險變大,主要表現為圖像局部飽和度過高而丟失細節。大量測試結果表明,當1≤k0≤1.5 并且0<r≤0.05 時,增強效果較好且圖像質量無明顯下降,因此這是k0和r優先選擇的范圍。
圖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 為“小鳥”圖片色彩增強前后的色域圖。在基于飽和度調節的色彩增強算法中,飽和度為零的灰色像素在色域上的位置是保持不變的。由此,選取亮度最大的白色像素在色域上的對應點作為基準點,計算圖像色域所有像素至該基準點的平均距離D。顯然,D可作為色域大小的評價指標。設原始圖像和增強后圖像色域像素到基準點的平均距離分別為Di和De,定義色域擴展系數如下:

圖7 “小鳥”圖片的色域

表1 列出了“小鳥”圖片增強后的色域擴展系數。從該表可見,色域擴展系數隨著k增大而增大。這說明本文提出的色彩增強算法是有效的,并且能夠對增強效果進行精確調控。

表1 “小鳥”圖片增強后的色域擴展系數
本文所提出的直方圖分析法在以下兩方面優于Rich Color 法:(1)前者可利用參數k,對色彩增強效果進行調節;而后者的增強效果依賴調節因子s的取值,而其取值由經驗數據決定,不便于調節。(2)前者可保持圖像質量基本不變,而后者關于s的表格數據平滑性不好,對于顏色緩變的圖片可能產生不期望的條紋,從而導致圖像質量下降。對第(2)點,舉例說明如下。
構造一個點陣為179×128 的顏色緩變圖像,其中每個像素的G分量均為240。每一行像素顏色值相同,并且R和B分量相等。第1 行像素R和B分量的值為42,此后逐行加1,直至第240 行R和B等于220,如圖8(a)所示。圖8(b)所示為采用本文所提出直方圖分析法得到的增強效果,由于其各像素飽和度增高系數相同,因而其顏色保持了平滑緩變的效果。圖8(c)所示為采用Rich Color 法得到的增強效果,其上部區域出現了明顯的條紋,圖像質量較差。

圖8 顏色緩變圖增強效果對比
如前文所述,本文所提出的色彩增強方法面向顯屏驅動芯片應用,以電路形式實現。隨著平面顯示器分辨率不斷提高,其驅動芯片為了節省成本,逐漸以“無幀存儲器(RAMless)”的設計為主流方案。這要求色彩增強算法在圖像傳輸的同時完成所有計算。圖9 為滿足此要求的色彩增強系統模塊圖。在此系統中,由于直方圖分析模塊需要在一幀圖像傳輸結束后,才能輸出該幀圖像的k值,因此該值在飽和度增高計算中的應用將延遲一個幀傳輸周期(如圖10 所示)。

圖9 色彩增強系統模塊圖

圖10 色彩增強系統內部時序示意圖
由于主流平面顯示器刷新頻率為60 frame/s,而所顯示圖像和視頻處于靜止狀態或相對而言變化較慢,因此上述的k值延遲不會對圖像色彩增強效果帶來明顯負面影響。通過在平板電腦、智能手機上對有k值延遲和無k值延遲兩種視頻的對比實驗,二者無明顯差別。
本文所提出的算法運算簡單,其所耗用的硬件資源也較少(參見圖9),主要由RGB 與HSV 空間轉換計算電路、直方圖分析電路和存儲器三大部分組成。RGB 至HSV 和HSV 至RGB 轉換計算均需用到除法運算。由于硬件除法器不僅計算耗時,而且需要較多硬件資源,故在進行電路設計時,將所有除法轉化為乘法運算,即乘以除數的倒數。為此,建立了一個長為255 byte 的倒數表,存放在只讀存儲器(ROM)中。直方圖數據字長為16 bit,儲存于隨機存取存儲器(RAM)中。由于實際應用中一般k<2,128≤L≤255,因此直方圖數組h(S)只需128 項,RAM 空間選取128 Word 即可。控制參數r、k0、k1、k等以及其他中間變量字長為8 bit,存儲于18 個寄存器中。表2 為該系統存儲空間統計表。

表2 系統存儲空間統計表
本文面向顯屏驅動芯片應用,提出了一種圖像色彩增強方法,其中包括飽和度直方圖分析、RGB與HSV 顏色空間之間的快速轉換等步驟。該方法突出的優點是,在確保圖像質量的前提下,可對增強效果進行精確的調控,便于主控芯片對該功能的使用和控制。同時,它運算簡便,耗用硬件資源少,便于以算法模塊的形式在各種顯屏驅動芯片中應用,以增強產品的功能和競爭力。