方建榮,蘇 暢,周曉方,俞 軍,沈 磊
(1.上海復(fù)旦微電子集團(tuán)股份有限公司,上海200433;2.復(fù)旦大學(xué)專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海200433)
·圖形圖像處理·
一種CMOS圖像傳感器信號(hào)處理自動(dòng)白平衡算法
方建榮1,蘇 暢1,周曉方2,俞 軍2,沈 磊2
(1.上海復(fù)旦微電子集團(tuán)股份有限公司,上海200433;2.復(fù)旦大學(xué)專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海200433)
針對(duì)常見(jiàn)白平衡算法存在色溫修正性不足或算法復(fù)雜度過(guò)高的問(wèn)題,提出一種基于改進(jìn)的灰度世界算法、改進(jìn)的完美反射算法和單色算法相結(jié)合的三模互補(bǔ)自動(dòng)白平衡算法。為完美反射算法增加色溫估計(jì)約束條件以增強(qiáng)色溫估計(jì)的精度,對(duì)灰度世界算法增加有效性判斷。結(jié)合完美反射算法和灰度世界算法各自的特點(diǎn),以彌補(bǔ)單個(gè)算法的不足。單色算法利用色溫曲線排除單色場(chǎng)景,避免大片單色區(qū)域造成的白平衡失效。在一個(gè)CMOS圖像傳感器的信號(hào)處理過(guò)程中實(shí)現(xiàn)該算法。在不同色溫環(huán)境以及多種場(chǎng)景下進(jìn)行測(cè)試,結(jié)果表明該算法對(duì)圖像偏色有較好的校正效果和適應(yīng)性。
CMOS圖像傳感器;圖像信號(hào)處理算法;自動(dòng)白平衡;完美反射;灰度世界;色溫曲線;單色
不同光源具有不同的光譜成分和分布,色度學(xué)上稱為色溫[1]。受光源的影響,白色物體在低色溫下偏紅,在高色溫下偏藍(lán)。在晴天、陰天、白熾燈或日光燈等實(shí)際生活的場(chǎng)景中,人看到的白色物體總是白色的,這是因?yàn)槿搜垡曈X(jué)修正的結(jié)果。人腦對(duì)物體的顏色具有一定先驗(yàn)知識(shí)[2],可依據(jù)值偵測(cè)并更正這種色差。對(duì)于CMOS圖像傳感器而言,沒(méi)有辦法直接修正這種色溫的改變,須依靠?jī)?nèi)建的白平衡功能進(jìn)行調(diào)整。
近年來(lái)國(guó)內(nèi)外對(duì)于圖像白平衡算法做了大量研究。文獻(xiàn)[3]提出了一種基于色溫估計(jì)的自動(dòng)白平衡算法,該算法的難點(diǎn)是色溫的劃分以及各個(gè)色溫下R/G和B/G范圍的確定。文獻(xiàn)[4]提出了基于Raw格式圖像的自動(dòng)白平衡算法,該算法計(jì)算圖像的平均值和方差,并進(jìn)行開(kāi)平方運(yùn)算,需要消耗大量的運(yùn)算資源。文獻(xiàn)[5]提出了一種基于邊緣檢測(cè)的圖像自動(dòng)白平衡算法,該算法的缺點(diǎn)是需要一個(gè)圖像3倍大小的存儲(chǔ)器,消耗了大量存儲(chǔ)資源。文獻(xiàn)[6]提出了使用自適應(yīng)顏色樣本的自動(dòng)白平衡算法,將數(shù)據(jù)從RGB空間轉(zhuǎn)換到Y(jié)CbCr空間計(jì)算色溫,然后又轉(zhuǎn)回到RGB空間計(jì)算增益,2次轉(zhuǎn)換損失了計(jì)算精度。文獻(xiàn)[7]提出了一種實(shí)時(shí)的自動(dòng)白平衡算法,由后端處理器參與運(yùn)算。
在CMOS圖像傳感器的圖像信號(hào)處理(Image Signal Processing,ISP)過(guò)程中實(shí)現(xiàn)自動(dòng)白平衡,需要綜合考慮算法實(shí)現(xiàn)的可行性、資源消耗情況及白平衡的效果?;谝陨峡紤],本文提出一種自動(dòng)白平衡算法。改進(jìn)的灰度世界算法相對(duì)于傳統(tǒng)灰度世界算法[8-9]增加了在YCbCr空間上色溫的有效性判斷,避免灰度世界算法在色彩不夠豐富的場(chǎng)景中失效。針對(duì)白點(diǎn)受色溫偏色的影響,改進(jìn)的完美反射算法相對(duì)于文獻(xiàn)[10-11]增加了Cb與Cr間的約束條件,提高了色溫估計(jì)的精度。另外擴(kuò)展了基于色溫曲線的自動(dòng)白平衡算法[12]的使用算法,增加單色算法避免將單色圖像處理成灰色。
完美反射算法在白點(diǎn)足夠多的場(chǎng)景中能取得不錯(cuò)的校正效果,但是接近膚色的顏色容易被誤當(dāng)成白點(diǎn);物體光滑表面過(guò)度曝光的情況下調(diào)整效果也不盡人意?;叶仁澜缢惴ㄔ谏守S富的場(chǎng)景中能取得較好的效果,但在場(chǎng)景中存在大量純色物體時(shí),校正效果會(huì)出現(xiàn)偏差。灰度世界算法與完美反射算法是基于2種不同假設(shè)的算法,在其中一種算法失效時(shí)能夠很好地互補(bǔ)。圖1為2種算法的關(guān)系示意圖。
圖1 完美反射和灰度世界關(guān)系示意圖
灰度世界算法和完美反射算法能夠滿足大部分場(chǎng)景,但對(duì)于單色場(chǎng)景卻無(wú)能為力,此時(shí)不進(jìn)行白平衡處理反而是更好的選擇。為了能夠處理單色場(chǎng)景,增加了單色算法。
2.1 完美反射算法
文獻(xiàn)[8-9]提出了一個(gè)六面體模型用于白點(diǎn)選擇,該模型考慮了Y與Cb,Cr之間的相關(guān)性,當(dāng)Y為定值時(shí),該模型實(shí)際上為正方形,沒(méi)有完全考慮白點(diǎn)受色溫影響產(chǎn)生的色偏現(xiàn)象。本文相對(duì)于文獻(xiàn)[8-9]增加了對(duì)Y上限值的限制,防止圖像中過(guò)度曝光點(diǎn)引入到白點(diǎn)統(tǒng)計(jì)中,如式(1)所示:
另外,針對(duì)白點(diǎn)受色溫影響產(chǎn)生的偏移,增加了色度信息Cb與Cr之間的約束關(guān)系,如式(2)所示:
其中,Angle1為第二象限的限制角度;Angle2為第四象限的限制角度;Bound1~Bound4分別為坐標(biāo)軸上的偏移值,改進(jìn)后的白點(diǎn)選擇區(qū)域如圖2所示。完美反射算法流程如圖3所示。
圖2 改進(jìn)的白點(diǎn)檢測(cè)區(qū)域
圖3 完美反射算法流程
根據(jù)式(1)、式(2)的約束條件統(tǒng)計(jì)圖像中的白點(diǎn),若白點(diǎn)數(shù)量大于閾值則判定統(tǒng)計(jì)結(jié)果是可靠的,其次計(jì)算圖像的色溫和R,G,B通道的增益,最后將增益作用到下一幀圖像的R,G,B通道上從而完成色溫校正。
2.2 灰度世界算法
如果輸入圖像中出現(xiàn)大片單色區(qū)域的情況,會(huì)導(dǎo)致該顏色權(quán)重過(guò)大,造成灰度世界算法失效。因此,本文只選取R,G,B 3個(gè)通道值在一定范圍內(nèi)的點(diǎn)進(jìn)行色溫統(tǒng)計(jì)。另外消除亮度過(guò)暗的點(diǎn)和過(guò)度曝光的點(diǎn)對(duì)色溫估計(jì)的影響,選擇G通道作為亮度篩選通道。樣本點(diǎn)約束條件如式(3)所示:
其中,Gmin是暗點(diǎn)的約束條件;Gmax是過(guò)度曝光點(diǎn)的約束條件;θ為R,G,B的比例系數(shù)。
為了進(jìn)一步增強(qiáng)算法的適用性,在YCbCr空間對(duì)色溫進(jìn)行有效性判斷,如式(4)所示。首先計(jì)算滿足式(3)樣本點(diǎn)的圖像平均色溫Cbmean和Crmean,然后依據(jù)式(4)進(jìn)行有效性判斷。Cbmin,Cbmax是Cbmean的約束條件,Crmin,Crmax是Crmean的約束條件。
灰度世界算法流程如圖4所示。首先在RGB空間統(tǒng)計(jì)光源色溫,在YCbCr空間進(jìn)行色溫有效性判斷。然后計(jì)算R,G,B通道的增益。最后將增益作用到下一幀圖像的R,G,B通道上從而完成色溫校正。
圖4 灰度世界算法流程
2.3 單色算法
文獻(xiàn)[12]中色溫曲線用于白點(diǎn)選擇,本文擴(kuò)展了色溫曲線的用途,將色溫曲線用于圖像單色判斷。在標(biāo)準(zhǔn)色溫?zé)粝渲袑?duì)一定色溫范圍([2 000 K,13 000 K],間隔500 K)下的24色color chart中標(biāo)準(zhǔn)白色塊的R/G與B/G進(jìn)行了統(tǒng)計(jì)測(cè)試,并且利用統(tǒng)計(jì)得到的數(shù)據(jù)擬合色溫曲線y=5.16χ2-12.19χ+ 7.95,如圖5中實(shí)線所示。在色溫曲線附近定義單色塊的識(shí)別區(qū),如圖5中2條虛線之間的區(qū)域。該識(shí)別區(qū)的范圍可通過(guò)寄存器調(diào)整。單色塊遠(yuǎn)離該識(shí)別區(qū),而在識(shí)別區(qū)里的則認(rèn)為是白色塊。
圖5 色溫曲線
該算法將一幅圖像劃分為M×N個(gè)宏塊,如圖6所示。圖像大小和宏塊分割方法可通過(guò)寄存器配置,一方面易于硬件的移植,另一方面滿足所有圖像的判斷。
圖6 圖像劃分
首先計(jì)算每個(gè)宏塊中三通道的平均值R,G,B,然后計(jì)算R/G和B/G的比值,由B/G依據(jù)色溫曲線計(jì)算得到理想的R_o/G_o,比較R/G和R_o/G_o的關(guān)系,若R_o/G_o超出了R/G的一定比例,則判定該宏塊為單色,同時(shí)累計(jì)的單色宏塊數(shù)加1。當(dāng)圖像單色宏塊的數(shù)量達(dá)到一定閾值時(shí),則判斷該圖像為單色圖像,整個(gè)算法不進(jìn)行白平衡調(diào)整。具體流程如圖7所示。
圖7 單色算法流程
2.4 三模切換控制
三模切換控制是單色算法、灰度世界算法和完美反射算法的控制核心,負(fù)責(zé)完成3種算法之間的自由切換。三模切換控制示意圖如圖8所示。共有IDLE,MC,PR,GW 4個(gè)狀態(tài)。IDLE為無(wú)效狀態(tài),MC為單色算法模式,PR為完美反射算法模式,GW為灰度世界算法模式。MC_en,PR_en,GW_en分別為單色算法模式、完美反射算法模式和灰度世界算法模式的有效控制信號(hào)。單色算法模式優(yōu)先級(jí)最高,完美反射算法模式次之,灰度世界算法模式的優(yōu)先級(jí)最低,各個(gè)模式之間可以自動(dòng)切換。
圖8 三模切換控制
為了避免各個(gè)模式頻繁切換而導(dǎo)致視覺(jué)的差異性,各個(gè)模式中增加了退出與進(jìn)入的魯棒性設(shè)計(jì)。在單色算法模式中設(shè)置2個(gè)宏塊數(shù)量判斷的閾值,分別用于進(jìn)入單色算法模式和退出單色算法模式的判斷。在完美反射算法模式中,設(shè)置2個(gè)白點(diǎn)數(shù)量判斷的閾值,分別用于進(jìn)入完美反射算法模式和退出完美反射算法模式的判斷。
為了驗(yàn)證本文算法的有效性,采用自行研發(fā)的CMOS圖像傳感器在標(biāo)準(zhǔn)色溫?zé)粝渲信臄z24色color chart樣本圖片和單色圖片,并使用Matlab構(gòu)建了其他算法的實(shí)驗(yàn)環(huán)境,以實(shí)現(xiàn)對(duì)圖像數(shù)據(jù)的讀取和白平衡等操作。
實(shí)驗(yàn)1為各個(gè)算法在D65色溫環(huán)境下調(diào)整的效果;實(shí)驗(yàn)2為各個(gè)算法在TL83色溫環(huán)境下調(diào)整的效果;實(shí)驗(yàn)3為各個(gè)算法在F色溫環(huán)境下調(diào)整的效果。各實(shí)驗(yàn)調(diào)整效果如圖9~圖11所示。
圖9 實(shí)驗(yàn)1調(diào)整效果
圖10 實(shí)驗(yàn)2調(diào)整效果
圖11 實(shí)驗(yàn)3調(diào)整效果
首先從主觀感受判斷,各個(gè)算法都對(duì)圖像進(jìn)行了白平衡調(diào)整,調(diào)整結(jié)果也基本滿足了主觀要求。其次從客觀角度進(jìn)行判斷,使用Imatest軟件對(duì)圖像進(jìn)行白平衡誤差分析,分析結(jié)果如表1所示,Gray19~Gray23分別對(duì)應(yīng)color chart中第19塊~第23塊的灰色塊。
表1 白平衡誤差ΔE
從表1中可以看出,雖然RGB最大值法和動(dòng)態(tài)值法相較于原始圖像白平衡做了較大調(diào)整,但部分調(diào)整結(jié)果沒(méi)有達(dá)到Im atest的調(diào)整要求,而本文算法調(diào)整后的誤差都小于0.1,都達(dá)到了Imatest客觀分析的要求。另外文獻(xiàn)[13]提出了基于平均Cb,Cr的白平衡度量方法,白平衡值CSWB如式(5)所示:
其中,Car是圖像特定像素的Cb的平均值;Cab是圖像特定像素的Cr平均值,而特定像素指圖中(Cr/Cb)∈[-1.5,-0.5]的像素。CSWB值越小白平衡效果越好。表2為各個(gè)算法的白平衡值的計(jì)算結(jié)果。在中間色溫的情況下,本文算法的效果和動(dòng)態(tài)值法差別不大,但在高色溫和低色溫的情況下,本文算法的優(yōu)勢(shì)更加明顯。在高色溫下提高了23%,在低色溫下提高了46%。
表2 各種算法的白平衡值
為了驗(yàn)證本文算法對(duì)于單色場(chǎng)景的處理能力,分別在紅色、綠色、藍(lán)色占主導(dǎo)的場(chǎng)景中進(jìn)行了測(cè)試。各個(gè)算法的對(duì)比測(cè)試結(jié)果如圖12~圖14所示。
圖12 實(shí)驗(yàn)4調(diào)整效果
圖13 實(shí)驗(yàn)5調(diào)整效果
圖14 實(shí)驗(yàn)6調(diào)整效果
實(shí)驗(yàn)4為綠色場(chǎng)景,實(shí)驗(yàn)5為紅色場(chǎng)景,實(shí)驗(yàn)6為藍(lán)色場(chǎng)景。從各個(gè)算法的效果可以看出,RGB最大值法和動(dòng)態(tài)值法在單色占主體顏色的場(chǎng)景下基本失效,而本文算法通過(guò)色溫曲線的判斷能夠正確識(shí)別單色場(chǎng)景,從而對(duì)圖像不做白平衡處理。
從以上圖像效果及數(shù)據(jù)可以看出,本文的三模互補(bǔ)自動(dòng)白平衡算法有很好的校正效果,可適用于不同的場(chǎng)景。
采用Verilog語(yǔ)言在A ltera的Cyclone IV E系列的器件EP4CE30F23C8L平臺(tái)上驗(yàn)證了本文算法,并且在一個(gè)CMOS圖像傳感器中實(shí)現(xiàn)了該算法。硬件實(shí)現(xiàn)框架如圖15所示。為了減少硬件資源的開(kāi)銷,在保證色溫估計(jì)準(zhǔn)確性的前提下,對(duì)輸入數(shù)據(jù)進(jìn)行了采樣,采樣的頻率可通過(guò)內(nèi)部寄存器設(shè)置,RGB轉(zhuǎn)YCbCr模塊將輸入的RGB數(shù)據(jù)轉(zhuǎn)換成YCbCr數(shù)據(jù)。單色算法模式在RGB色彩空間實(shí)現(xiàn),灰度世界算法模式在完美反射算法模式在YCbCr空間實(shí)現(xiàn),控制模塊是整個(gè)算法的狀態(tài)機(jī),根據(jù)數(shù)據(jù)的判斷決定采用哪種模式。
圖15 AW B總體架構(gòu)
頂層模塊的仿真波形如圖16所示。將色溫估計(jì)的增益GianR,GainG和GainB分別在R,G,B通道進(jìn)行增益運(yùn)算處理,運(yùn)算波形符合預(yù)計(jì)的算法約定。
圖16 AW B頂層模塊的仿真波形
本文提出了一種基于改進(jìn)的灰度世界、改進(jìn)的完美反射和單色算法相結(jié)合的三?;パa(bǔ)自動(dòng)白平衡算法?;叶仁澜缢惴ê屯昝婪瓷渌惴ň哂谢パa(bǔ)的特性,兩者結(jié)合能夠處理大部分場(chǎng)景及色溫環(huán)境,且兩者硬件實(shí)現(xiàn)簡(jiǎn)單,在CMOS圖像傳感器ISP中容易實(shí)現(xiàn),但都無(wú)法處理單色場(chǎng)景,因此,本文在此基礎(chǔ)上增加了單色處理算法。實(shí)驗(yàn)結(jié)果表明本文提出的自動(dòng)白平衡算法滿足主觀和客觀的要求。下一步工作可以在現(xiàn)有算法的基礎(chǔ)上繼續(xù)完善:?jiǎn)紊惴稍黾雍陦K在圖像中的位置信息,為每個(gè)宏塊分配一定的權(quán)重比例;完美反射算法的白點(diǎn)檢測(cè)區(qū)域可按權(quán)重進(jìn)行劃分,使色溫估計(jì)更加精準(zhǔn),從而達(dá)到更佳的白平衡效果。
[1] Bilcu R C.Multiframe Auto White Balance[J].IEEE Signal Processing Letters,2011,18(3):165-168.
[2] Barnard K,Cardei V,F(xiàn)unt B.A Comparison of Computational Color Constancy Algorithms-Part II Methodology and Experiments with Synthesized Data[J].IEEE Transactions on Image Processing,2002,11(9):972-984.
[3] 王 敏.基于色溫估計(jì)自動(dòng)白平衡算法研究和實(shí)現(xiàn)[D].天津:天津大學(xué),2011.
[4] 李 峰,印蔚蔚.基于Raw格式圖像的自動(dòng)白平衡方法[J].計(jì)算機(jī)工程,2011,37(17):211-213.
[5] 張 鈺,姚素英,胡燕翔.一種基于邊緣檢測(cè)的圖像自動(dòng)白平衡方法[J].光電子·激光,2008,19(6):804-807.
[6] Jang W,Son K,Kim J.Auto White Balance System Using Adaptive Color Samples for Mobile Devices[C]// Proceedings of IEEE Asia Pacific Conference on Circuits and Systems.Washington D.C.,USA:IEEE Press,2008.
[7] Zhang Buyue,Batur A U.A Real-time Auto White Balance Algorithm for Mobile Phone Cam eras[C]// Proceedings of IEEE International Conference on Consumer Electronics.Washington D.C.,USA:IEEE Press,2012:1-4.
[8] Huo Jun-Yan,Chang Yi-Lin,W ang Jing,et al.Robust Automatic White Balance Algorithm Using Gray Color Point in Im ages[J].IEEE Transactions on Consumer Electronics Society,2006,52(2):541-546.
[9] 周榮政,何 捷,洪志良.自適應(yīng)的數(shù)碼相機(jī)自動(dòng)白平衡算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(3):529-533.
[10] Chikane V,F(xiàn)uh Chiou-Shann.Automatic White Balance for Digital Still Camera[J].IEEE Journal of Information Science and Engineering,2006,30(22):497-509.
[11] Chen Chenglun,Lin Shaohua.Formulating and Solving a Class of Optimization Problem s for High-performance Gray World Automatic White Balance[J].App lied Soft Computing,2009,11(1):523-533.
[12] 金黃斌,自動(dòng)白平衡算法研究及軟硬件實(shí)現(xiàn)[D].杭州:杭州電子科技大學(xué),2011.
[13] 趙全友,潘保昌.改進(jìn)的LoG邊緣自動(dòng)白平衡算法[J].計(jì)算機(jī)應(yīng)用研究,2009,26(2):775-778.
編輯 顧逸斐
An Algorithm of Automatic White Balance for CMOS Image Sensor Signal Processing
FANG Jianrong1,SU Chang1,ZHOU Xiaofang2,YU Jun2,SHEN Lei2
(1.Shanghai Fudan Microelectronics Group Co.,Ltd.,Shanghai200433,China;2.State Key Laboratory of ASIC&System,F(xiàn)udan University,Shanghai 200433,China)
The common automatic white balance algorithm is lack of adaptability or too complicated.An automatic white balance algorithm based on improved gray world algorithm,improved perfect reflection algorithm and mono color algorithm is proposed.In order to enhance the precision of perfect reflection to increase color temperature estimation constraint conditions,the effectiveness of judgment is added on the gray world algorithm.The combination of perfect reflection and gray world algorithm makes up for the deficiency of the two algorithm s effectively.M ono color algorithm using color temperature avoids white balancemal function in the case of one color image.The algorithm is realized in the design of a CMOS image sensor Image Signal Processing(ISP).The test result under different light source and scene shows that the presented method can available adjust image color bias and has strong adaptability.
CMOS image sensor;Image Signal Processing(ISP)algorithm;automatic white balance;perfect reflection;gray world;color temperature curve;mono color
方建榮,蘇 暢,周曉方,等.一種CMOS圖像傳感器信號(hào)處理自動(dòng)白平衡算法[J].計(jì)算機(jī)工程,2015,41(9):245-250.
英文引用格式:Fang Jianrong,Su Chang,Zhou Xiaofang,et al.An Algorithm of Automatic White Balance for CMOS Image Sensor Signal Processing[J].Computer Engineering,2015,41(9):245-250.
1000-3428(2015)09-0245-06
A
TP391.41
10.3969/j.issn.1000-3428.2015.09.045
上海市經(jīng)信委軟件和集成電路產(chǎn)業(yè)發(fā)展專項(xiàng)基金資助項(xiàng)目(130303)。
方建榮(1983-),男,碩士,主研方向:CMOS圖像傳感器;蘇 暢,碩士;周曉方,高級(jí)工程師;俞 軍,教授級(jí)高級(jí)工程師;沈 磊,高級(jí)工程師。
2014-09-22
2014-10-16 E-m ail:jianrong_fang@163.com