一種自動(dòng)白平衡的方法及電路的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種自動(dòng)白平衡的方法及電路,該方法包括如下步驟:步驟一,收集當(dāng)前圖像RGB各通道的直方圖信息,并提取各個(gè)直方圖中具有代表性的位置數(shù)據(jù);步驟二,利用該些位置數(shù)據(jù)之間的比較來(lái)計(jì)算各個(gè)通道的增益系數(shù);步驟三,對(duì)各通道的直方圖利用計(jì)算獲得的增益系數(shù)進(jìn)行線性變換,獲得自動(dòng)白平衡后的圖像,本發(fā)明通過(guò)收集前一幀圖像的直方圖信息來(lái)分析計(jì)算下一幀圖像的各通道增益,在保持良好的矯正性能及矯正可靠性的同時(shí),最大程度地節(jié)省硬件資源開(kāi)銷(xiāo)。
【專(zhuān)利說(shuō)明】—種自動(dòng)白平衡的方法及電路
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字圖像處理領(lǐng)域,特別是涉及一種低硬件開(kāi)銷(xiāo)且具較好性能及穩(wěn)定性的自動(dòng)白平衡的方法及電路。
【背景技術(shù)】
[0002]自動(dòng)白平衡(Auto White Balance)是數(shù)字圖像預(yù)處理系統(tǒng)中非常重要的一個(gè)環(huán)節(jié)。所謂白平衡可以理解為將白色物體的照片顏色還原為白色。物體有各自的顏色是因?yàn)槠浔砻孢x擇性地吸收和反射了部分波長(zhǎng)區(qū)段的可見(jiàn)光,其中反射部分的光線即為物體所表現(xiàn)的顏色。當(dāng)光源的光線并非自然光,而帶有一定的顏色時(shí),物體所反射的光線不僅僅是其自身的顏色,同時(shí)還帶有光源的顏色。人眼具有很強(qiáng)的適應(yīng)能力,在有色光源的環(huán)境中能夠自動(dòng)屏蔽一部分光源的顏色,即從人的感知上來(lái)說(shuō)物體還是大致呈現(xiàn)其本身的顏色。然而數(shù)碼相機(jī)的傳感器沒(méi)有這種色彩適應(yīng)能力,它會(huì)采集光源的顏色,導(dǎo)致照片也帶上了同樣的色彩偏移。為了讓照片效果跟人眼的感知相近,必要時(shí)需去除或削弱光源色彩的影響,這就是所謂的白平衡。而自動(dòng)白平衡即在拍照時(shí)自動(dòng)地檢測(cè)照片的色偏情況,適時(shí)采取措施調(diào)整RGB各個(gè)顏色通道的強(qiáng)弱比例,來(lái)達(dá)到白平衡的效果。
[0003]經(jīng)典的自動(dòng)白平衡算法包括灰度世界法、完美反射法等,它們均借由采集圖像某些統(tǒng)計(jì)信息來(lái)分析圖像特征,從而求得矯正的方法。然而經(jīng)典方法在性能、穩(wěn)定性和硬件開(kāi)銷(xiāo)上,總是無(wú)法兼顧,都存在各自較為嚴(yán)重的缺陷。
【發(fā)明內(nèi)容】
[0004]為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明之目的在于提供一種自動(dòng)白平衡的方法及電路,其通過(guò)收集前一幀圖像的直方圖信息來(lái)分析計(jì)算下一幀圖像的各通道增益,在保持良好的矯正性能及矯正可靠性的同時(shí),最大程度地節(jié)省硬件資源開(kāi)銷(xiāo)。
[0005]為達(dá)上述及其它目的,本發(fā)明提出一種自動(dòng)白平衡的方法,包括如下步驟:
[0006]步驟一,收集當(dāng)前圖像RGB各通道的直方圖信息,并提取各個(gè)直方圖中具有代表性的位置數(shù)據(jù);
[0007]步驟二,利用該些位置數(shù)據(jù)之間的比較來(lái)計(jì)算各個(gè)通道的增益系數(shù);
[0008]步驟三,對(duì)各通道的直方圖利用計(jì)算獲得的增益系數(shù)進(jìn)行線性變換,獲得自動(dòng)白平衡后的圖像。
[0009]進(jìn)一步地,于步驟一中,提取直方圖的位置數(shù)據(jù)時(shí),從低到高對(duì)直方圖各階的像素量進(jìn)行累加,當(dāng)累加的像素量達(dá)到圖像總像素?cái)?shù)的一定比例時(shí)認(rèn)為當(dāng)前的像素值為直方圖的重要信息點(diǎn)。
[0010]進(jìn)一步地,該重要信息點(diǎn)包括直方圖的下界和直方圖的上界,該直方圖的下界為從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)1%的那一階對(duì)應(yīng)的像素值;該直方圖上界為從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)99%的那一階對(duì)應(yīng)的像素值。[0011]進(jìn)一步地,于步驟二中,計(jì)算增益系數(shù)時(shí)將各個(gè)通道的上下界的值相互拉近一定的比例,但并不完全拉到相同位置。
[0012]進(jìn)一步地,該重要信息點(diǎn)還包括直方圖的中界,該直方圖的中界為從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)50%的那一階對(duì)應(yīng)的像素值。
[0013]進(jìn)一步地,在步驟一中,若條件((R_UB_R_MB≤ a ) && (R_MB_R_LB ≤ α ) && (G_UB_G_MB ≤ a )&&(G_MB-G_LB ≤ α )&&(B_UB_B_MB ≤ α )&&(B_MB_B_LB ≤ α ))成立,則進(jìn)行如下運(yùn)算,得到新的各通道上界為
[0014]r_ub=R_UB+ β r/3X (G_UB+B_UB - 2XR_UB)
[0015]g_ub=G_UB+ β g/3 X (R_UB+B_UB - 2 X G_UB)
[0016]b_ub=B_UB+βb/3X (R_UB+G_UB - 2 X B_UB)
[0017]得到新的各通道下界為
[0018]r_lb=R_LB+βr/3X (G_LB+B_LB - 2 X R_LB)
[0019]g_lb=G_LB+ β g/3 X (R_LB+B_LB - 2 X G_LB)
[0020]b_lb=B_LB+βb/3X (R_LB+G_LB - 2 X B_LB)
[0021]其中,R_UB、R_MB、R_LB分別為輸入數(shù)據(jù)R通道的上界、中界和下界,G_UB、G_MB、G_LB分別為G通道的上界、中界和下界分別為G_UB、G_MB、G_LB, B_UB、B_MB、B_LB分別為B通道的上界、中界和下界,r_Ub、r_mb、r_lb分別為直方圖拉伸后R通道的上界、中界和下界,g_ub、g_mb、g_lb分別為直方圖拉伸后G通道的上界、中界和下界,b_ub、b_mb、b_lb分別為直方圖拉伸后B通道的上界、中界和下界,α為圖像色彩單一的判定閾值,
分別為RGB通道的拉伸力度。
[0022]進(jìn)一步地,在步驟二中,RGB通道的增益系數(shù)KK、Ke、KB計(jì)算如下:
[0023]Ke=(r_ub-r_lb)/(R_UB_R_LB)
[0024]Kg=(g_ub-g_lb)/(G_UB_G_LB)
[0025]Kb= (b_ub_b_lb) / (B_UB_B_LB)。
[0026]為達(dá)到上述目的,本發(fā)明還提供一種自動(dòng)白平衡電路,至少包括:
[0027]直方圖統(tǒng)計(jì)模塊,用于逐點(diǎn)將像素信息錄入直方圖,然后在每幀圖像到最后一行時(shí)對(duì)直方圖進(jìn)行遍歷,分析出各個(gè)通道的界值信息;
[0028]像素矯正計(jì)算模塊,在每幀頭處更新一次用于矯正的增益系數(shù),并對(duì)每個(gè)進(jìn)入模塊的像素依據(jù)增益系數(shù)進(jìn)行更新。
[0029]進(jìn)一步地,該直方圖統(tǒng)計(jì)模塊包括控制單元、存儲(chǔ)單元、讀寫(xiě)邏輯單元及遍歷單元,該直方圖統(tǒng)計(jì)模塊具有數(shù)據(jù)錄入模式和遍歷輸出模式兩種工作模式,模式的切換由該控制單元借助行計(jì)數(shù)器完成,對(duì)每幀圖像,從收到幀頭信號(hào)起直到最后一行的開(kāi)頭,該直方圖統(tǒng)計(jì)模塊工作于數(shù)據(jù)錄入模式,在數(shù)據(jù)錄入模式下,該控制單元將輸入像素的信息作為地址傳遞給該存儲(chǔ)單元,該讀寫(xiě)邏輯單元提取出該地址的當(dāng)前值后加一寫(xiě)回同一地址,表示色度為該值的像素?cái)?shù)加一;遍歷輸出模式工作于每幀圖像的最后一行,當(dāng)該控制單元的行計(jì)數(shù)器計(jì)到最后一行時(shí),調(diào)整存儲(chǔ)單元地址為從O值起逐周期加I;該讀寫(xiě)邏輯單元把該存儲(chǔ)單元輸出傳遞給該遍歷單元,同時(shí)強(qiáng)制寫(xiě)回O以清空內(nèi)存;該遍歷單元從O地址起累加每個(gè)地址的輸出,當(dāng)和值達(dá)到設(shè)定的界對(duì)應(yīng)的數(shù)量時(shí)即輸出當(dāng)前所在地址。
[0030]進(jìn)一步地,該像素矯正計(jì)算模塊包括系數(shù)計(jì)算和作用模塊,該系數(shù)計(jì)算和作用模塊用于計(jì)算用于矯正的增益系數(shù)以及像素更新,增益系數(shù)的計(jì)算是組合邏輯實(shí)時(shí)進(jìn)行的,但僅當(dāng)收到幀頭信號(hào)時(shí),該像素矯正計(jì)算模塊才會(huì)更新一次增益系數(shù)的保存值,像素更新也是實(shí)時(shí)的,每進(jìn)一個(gè)像素,即根據(jù)保存的增益系數(shù)處理后輸出更新后的值。
[0031]與現(xiàn)有技術(shù)相比,本發(fā)明一種自動(dòng)白平衡的方法及電路通過(guò)收集前一幀圖像的直方圖信息來(lái)分析計(jì)算下一幀圖像的各通道增益,在保持良好的矯正性能及矯正可靠性的同時(shí),最大程度地節(jié)省了硬件資源開(kāi)銷(xiāo)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0032]圖1為本發(fā)明一種自動(dòng)白平衡的方法的步驟流程圖;
[0033]圖2為本發(fā)明一種自動(dòng)白平衡電路的電路架構(gòu)示意圖;
[0034]圖3為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例各輸入輸出端口定義示意圖;
[0035]圖4為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例的結(jié)構(gòu)示意圖;
[0036]圖5為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例的處理流程圖;
[0037]圖6為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例像素矯正計(jì)算模塊的計(jì)算流程圖。
【具體實(shí)施方式】
[0038]以下通過(guò)特定的具體實(shí)施例并結(jié)合【專(zhuān)利附圖】
【附圖說(shuō)明】本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點(diǎn)與功效。本發(fā)明亦可通過(guò)其它不同的具體實(shí)例加以施行或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)亦可基于不同觀點(diǎn)與應(yīng)用,在不背離本發(fā)明的精神下進(jìn)行各種修飾與變更。
[0039]圖1為本發(fā)明一種自動(dòng)白平衡的方法的步驟流程圖。如圖1所示,本發(fā)明一種自動(dòng)白平衡的方法,用于數(shù)碼相機(jī)圖像的預(yù)處理,包括如下步驟:
[0040]步驟101,收集圖像各個(gè)通道的直方圖信息并提取各個(gè)直方圖中具有代表性的位置數(shù)據(jù)。
[0041]直方圖是對(duì)圖像像素信息的一種抽象表示方式。對(duì)于一幅灰度圖像,直方圖表征了圖中每個(gè)灰度階所含的像素?cái)?shù)目的信息。嚴(yán)格來(lái)說(shuō),灰度圖像的直方圖是一個(gè)離散函數(shù)(或一維數(shù)組),可以表示為:
[0042]H(n)=fn n=0, 1,2,...,N-1
[0043]其中η表示某個(gè)灰度值,N為圖像的灰度階數(shù)(對(duì)8bit圖像來(lái)說(shuō)N=256),fn表示灰度值為η的像素在整幅圖像中出現(xiàn)的次數(shù)。而對(duì)于彩色圖像來(lái)說(shuō),RGB三個(gè)通道各有一個(gè)直方圖,分別表征RGB通道的像素分布情況。
[0044]直方圖是圖像一個(gè)重要的統(tǒng)計(jì)信息,它體現(xiàn)了圖像的亮度、對(duì)比度等特征。改變直方圖將對(duì)圖像效果產(chǎn)生明顯的影響,如向右平移灰度圖像的直方圖,將使圖像亮度增加。假如對(duì)一幅灰度圖像每個(gè)像素都乘以一個(gè)大于I的增益系數(shù),則從形態(tài)上看,直方圖就被向右拉伸了一定的比例;反之若按規(guī)定比例拉伸直方圖,則相當(dāng)于對(duì)圖像上每個(gè)像素都乘以了一個(gè)因數(shù),因此可以通過(guò)研究和改變圖像的直方圖來(lái)實(shí)現(xiàn)對(duì)圖像的調(diào)節(jié)。對(duì)彩色照片來(lái)說(shuō),RGB三通道的直方圖有各自的特點(diǎn),分別調(diào)節(jié)三個(gè)直方圖就能相應(yīng)地分別調(diào)整各個(gè)顏色通道的強(qiáng)度,從而起到顏色矯正的作用,這是通過(guò)直方圖拉伸法實(shí)現(xiàn)白平衡的基本原理。[0045]對(duì)一個(gè)8bit的彩色圖像來(lái)說(shuō),總計(jì)有三個(gè)長(zhǎng)度為256的直方圖,信息量很大,不便于處理。自動(dòng)白平衡方法需要實(shí)時(shí)地平衡RGB三個(gè)通道的強(qiáng)度,因此必須從直方圖信息中快速提取通道強(qiáng)度的信息。對(duì)此,本發(fā)明提取了直方圖中兩個(gè)關(guān)鍵的點(diǎn):從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)1%的那一階對(duì)應(yīng)的像素值,稱(chēng)為直方圖的下界;從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)99%的那一階對(duì)應(yīng)的像素值,稱(chēng)為直方圖的上界。下界用LB (lower bound)表示,上界用UB (upper bound)表示,上界和下界的位置通常能夠說(shuō)明該顏色通道的相對(duì)強(qiáng)度。滿足灰度世界假設(shè)的圖片,一般來(lái)說(shuō)RGB通道各自直方圖的上下界都很接近。假如說(shuō)某個(gè)通道的上界或下界比其他通道高(或者低)很多,則這個(gè)通道有相當(dāng)大的概率出現(xiàn)了過(guò)強(qiáng)(或過(guò)弱)的情況,而這種情況很有可能是由光源有色導(dǎo)致的?;谶@種認(rèn)識(shí),就可以著手對(duì)直方圖進(jìn)行拉伸 。
[0046]嚴(yán)格來(lái)說(shuō),充分的自動(dòng)白平衡要求將RGB三個(gè)通道的上下界值拉伸到一致的位置,例如三個(gè)通道界值的平均值處(可以大致保持圖像的亮度)。然而在很多情況下,圖片本身的色彩比例并不平衡,就如灰度世界的假設(shè)并不成立,此時(shí)嚴(yán)格地將三個(gè)通道的直方圖拉到相同的位置,可能會(huì)導(dǎo)致矯正過(guò)度。本發(fā)明在算法穩(wěn)定性和矯正能力之間進(jìn)行了權(quán)衡,決定適當(dāng)降低直方圖拉伸的幅度。舉例來(lái)說(shuō),若拉至平均值處,界值移動(dòng)的距離為D,則在處理時(shí)只拉伸到D/2的位置,這樣如果原直方圖界值的錯(cuò)位是由偏色引起,則偏色就在一定程度上得到了削弱;如果原圖自身存在色彩不平衡的情況,那矯正也不會(huì)引起嚴(yán)重的變色。實(shí)際操作時(shí),注意到人眼對(duì)綠色通道的變化最為敏感,且自然環(huán)境下色溫引起的綠色通道的偏移也最小,故對(duì)綠色通道的矯正最弱;而對(duì)紅色和藍(lán)色通道的矯正較強(qiáng)。硬件工作中拉伸幅度是可以根據(jù)需要進(jìn)行調(diào)節(jié)。
[0047]此外,很多照片本身就存在嚴(yán)重的偏色,如茂盛的樹(shù)林、海面、單色靜物特寫(xiě)等等,這些圖片事實(shí)上不需要也不能進(jìn)行自動(dòng)白平衡處理。本設(shè)計(jì)通過(guò)大量測(cè)試,做出如下判斷:自身存在嚴(yán)重偏色的圖片,其直方圖往往存在密集而尖銳的峰區(qū),大量像素聚集在較小的區(qū)間內(nèi);反過(guò)來(lái)說(shuō),若直方圖分布出現(xiàn)了這種非常不均勻的狀況,一般是景物自身而非光源的作用。為此,本文在設(shè)計(jì)中加入了第三個(gè)特征點(diǎn)——中界。規(guī)定從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)50%的那一階對(duì)應(yīng)的像素值,為直方圖的中界。中界類(lèi)似數(shù)組的中位數(shù),它的位置表征的是直方圖的重心。設(shè)計(jì)中作如下規(guī)定:假如中界與上下界中任一個(gè)的位置過(guò)于靠近,則表明圖片中存在大面積的色塊或者整體的色偏,此時(shí)不進(jìn)行直方圖的拉伸。對(duì)于動(dòng)態(tài)范圍為O~255的圖片來(lái)說(shuō),矯正判斷的閾值默認(rèn)為15。硬件工作中閾值可以根據(jù)傳感器的實(shí)際特性進(jìn)行修改。
[0048]如此,可以用偽代碼和公式的形式對(duì)步驟101進(jìn)行進(jìn)一步說(shuō)明。設(shè)輸入數(shù)據(jù)R通道的上界、中界和下界分別為R_UB、R_MB、R_LB, G通道的上界、中界和下界分別為G_UB、G_MB、G_LB,R通道的上界、中界和下界分別為B_UB、B_MB、B_LB ;直方圖拉伸后,R通道的上界、中界和下界分別為r_ub、r_mb、r_lb, G通道的上界、中界和下界分別為g_ub、g_mb、g_lb, B通道的上界、中界和下界分別為b_ub、b_mb、b_lb ;且規(guī)定圖像色彩單一的判定閾值為α,拉伸力度為βρ β8、Pb,則處理流程如下:
[0049]若條件((R_UB_R_MB≥ α ) && (R_MB-R_LB ≥ α ) && (G_UB_G_MB ≥ a )&&(G_MB_G_LB≥a )&&(B_UB-B_MB≥α )&&(B_MB-B_LB≥α ))成立,則進(jìn)行如下運(yùn)算,得到新的各通道上界為[0050]r_ub=R_UB+ β r/3X (G_UB+B_UB - 2XR_UB)
[0051 ] g_ub=G_UB+ β g/3 X (R_UB+B_UB - 2 X G_UB)
[0052]b_ub=B_UB+βb/3X (R_UB+G_UB - 2 X B_UB)
[0053]得到新的各通道下界為
[0054]r_lb=R_LB+ β r/3 X (G_LB+B_LB - 2 X R_LB)
[0055]g_lb=G_LB+ β g/3 X (R_LB+B_LB - 2 X G_LB)
[0056]b_lb=B_LB+βb/3X (R_LB+G_LB - 2 X B_LB)
[0057]步驟102,利用位置數(shù)據(jù)之間的比較來(lái)計(jì)算各個(gè)通道的增益系數(shù)。
[0058]根據(jù)拉伸后的上下界值,可以計(jì)算出用于矯正各通道的相應(yīng)的系數(shù)KK、Kg, &如下:
[0059]Ke=(r_ub-r_lb)/(R_UB_R_LB)
[0060]Kg=(g_ub-g_lb)/(G_UB_G_LB)
[0061 ] Kb= (b_ub_b_lb) / (B_UB_B_LB)
[0062]步驟103,對(duì)各通道的直方圖利用計(jì)算獲得的增益系數(shù)進(jìn)行線性變換,獲得自動(dòng)白平衡后的圖像。各通道的直方圖在利用這些增益系數(shù)進(jìn)行線性變換以后,在位置上變得靠近,從而達(dá)到消除或削弱偏色的效果。
[0063]對(duì)于某個(gè)像素(R,G, B),套用增益系數(shù)后變?yōu)?r,g, b),公式如下:
[0064]r= (R - R_LB) X KE+r_lb
[0065]g= (G - G_LB) X KG+g_lb
[0066]b= (B - B_LB) X KB+b_lb
[0067]圖2為本發(fā)明一種自動(dòng)白平衡電路的電路架構(gòu)示意圖。圖3為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例各輸入輸出端口定義示意圖,圖4為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例的結(jié)構(gòu)示意圖。本發(fā)明較佳實(shí)施例中,本發(fā)明一種自動(dòng)白平衡電路(AWB)包含如下輸入輸出端口:size (大小)、Pixel_input (像素輸入)、Valid_in、Pixel_start、line_start、Rst_n、Clk、Manual_Coef、R_coef_in、G_coef_in、B_coef_in、Pixel_output、Valid_out、Pi_start_out及Li_start_out。如圖2及圖4所示,本發(fā)明一種自動(dòng)白平衡電路,至少包括:直方圖統(tǒng)計(jì)模塊20及像素矯正計(jì)算模塊21。
[0068]其中,直方圖統(tǒng)計(jì)模塊20,用于逐點(diǎn)將像素信息錄入直方圖,然后在每幀圖像到最后一行時(shí)對(duì)直方圖進(jìn)行遍歷,分析出各個(gè)通道的界值信息;像素矯正計(jì)算模塊21,在每幀頭處更新一次矯正系數(shù),并對(duì)每個(gè)進(jìn)入模塊的像素依據(jù)矯正系數(shù)進(jìn)行更新。
[0069]具體地說(shuō),直方圖統(tǒng)計(jì)模塊20包括控制單元201、存儲(chǔ)單元202、讀寫(xiě)邏輯單元203及遍歷單元204。直方圖統(tǒng)計(jì)模塊20具有兩種工作模式:數(shù)據(jù)錄入模式和遍歷輸出模式,模式的切換由控制單元201借助行計(jì)數(shù)器來(lái)完成。對(duì)每幀圖像,從收到幀頭信號(hào)起直到最后一行的開(kāi)頭,直方圖統(tǒng)計(jì)模塊20工作于數(shù)據(jù)錄入模式,在本模式下,控制單元201將輸入像素的信息作為地址(Address)傳遞給存儲(chǔ)單元202,在本發(fā)明較佳實(shí)施例中,存儲(chǔ)單元202為內(nèi)存,讀寫(xiě)邏輯單元203提取出該地址的當(dāng)前值后加一寫(xiě)回(write_in)同一地址,表示色度為該值的像素?cái)?shù)加一;遍歷輸出模式工作于每幀圖像的最后一行,當(dāng)控制單元201的行計(jì)數(shù)器計(jì)到最后一行時(shí),它會(huì)無(wú)視輸入,調(diào)整內(nèi)存地址為從O值起逐周期加I ;讀寫(xiě)邏輯單元203把內(nèi)存輸出傳遞(Read_out)給遍歷單元204,同時(shí)強(qiáng)制寫(xiě)回O以清空內(nèi)存;遍歷單元204從O地址起累加每個(gè)地址的輸出,當(dāng)和值達(dá)到設(shè)定的界對(duì)應(yīng)的數(shù)量時(shí)即輸出當(dāng)前所在地址,也即界值(Bound )。
[0070]像素矯正計(jì)算21包括系數(shù)計(jì)算和作用模塊210,它有兩項(xiàng)計(jì)算任務(wù):計(jì)算矯正系數(shù)以及像素更新。矯正系數(shù)的計(jì)算是組合邏輯實(shí)時(shí)進(jìn)行的,但僅當(dāng)收到幀頭信號(hào)時(shí),模塊才會(huì)更新一次矯正系數(shù)的保存值。像素更新也是實(shí)時(shí)的,每進(jìn)一個(gè)像素,當(dāng)即根據(jù)保存的系數(shù)處理以后輸出更新后的值。從外部看,進(jìn)入自動(dòng)白平衡及對(duì)比度增強(qiáng)模塊的數(shù)據(jù),僅在幾個(gè)周期的延遲后就會(huì)輸出矯正以后的值。
[0071]圖5為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例的處理流程圖,圖6為本發(fā)明一種自動(dòng)白平衡電路之較佳實(shí)施例像素矯正計(jì)算模塊的計(jì)算流程圖。以下將配合圖5及圖6進(jìn)一步介紹本發(fā)明之自動(dòng)白平衡電路的處理流程。
[0072](I)像素值以系統(tǒng)時(shí)鐘頻率輸入(Pixel_in),其值(若對(duì)12位的輸入則截取高8位)作為地址傳入直方圖統(tǒng)計(jì)內(nèi)存(Block RAM),內(nèi)存調(diào)出該地址保存的數(shù)據(jù),加I后存回原址,表示像素?cái)?shù)加I ;
[0073](2)行起始信號(hào)與每行第一個(gè)像素一起輸入,行計(jì)數(shù)器根據(jù)行起始信號(hào)(line_start)進(jìn)行計(jì)數(shù),當(dāng)數(shù)據(jù)輸入達(dá)到最后一行時(shí),直方圖內(nèi)存停止接收外部數(shù)據(jù),轉(zhuǎn)為自動(dòng)從O址起每周期依次輸出各地址保存的數(shù)據(jù)(即每個(gè)像素值的像素?cái)?shù)目),同時(shí)將已經(jīng)讀數(shù)的內(nèi)存區(qū)域清零;
[0074](3)直方圖內(nèi)存的輸出進(jìn)入遍歷單元后,遍歷單元內(nèi)的累加器根據(jù)設(shè)定求取各個(gè)界值(Bounds),并傳遞給計(jì)算模塊計(jì)算用于各通道矯正的系數(shù)(coefficients);
[0075](4)像素矯正計(jì)算模塊在每次收到幀起始信號(hào)時(shí)更新系數(shù)寄存器(REG),然后對(duì)當(dāng)前每一個(gè)輸入的像素套用矯正系數(shù)后輸出(Pixel_out),從而實(shí)現(xiàn)自動(dòng)白平衡。
[0076]本發(fā)明之較佳實(shí)施例在Xilinx (賽靈思)開(kāi)發(fā)板Vertex50t上進(jìn)行實(shí)現(xiàn),能夠達(dá)到170MHz的工作頻率;Slice (FPGA的組成單元)資源開(kāi)銷(xiāo)為7%,另外消耗三片Block RAM和三個(gè)DSP乘法器(調(diào)用IP core).原型機(jī)測(cè)試結(jié)果顯示本發(fā)明能正常工作,如期實(shí)現(xiàn)了自動(dòng)白平衡的功能。
[0077]綜上所述,本發(fā)明一種自動(dòng)白平衡的方法及電路通過(guò)收集前一幀圖像的直方圖信息來(lái)分析計(jì)算下一幀圖像的各通道增益,在保持良好的矯正性能及矯正可靠性的同時(shí),最大程度地節(jié)省了硬件資源開(kāi)銷(xiāo),經(jīng)過(guò)FPGA開(kāi)發(fā)板級(jí)的驗(yàn)證,本發(fā)明中設(shè)計(jì)的電路可以正常工作并實(shí)現(xiàn)了相應(yīng)的目的。
[0078]上述實(shí)施例僅例示性說(shuō)明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修飾與改變。因此,本發(fā)明的權(quán)利保護(hù)范圍,應(yīng)如權(quán)利要求書(shū)所列。
【權(quán)利要求】
1.一種自動(dòng)白平衡的方法,包括如下步驟: 步驟一,收集當(dāng)前圖像RGB各通道的直方圖信息,并提取各個(gè)直方圖中具有代表性的位置數(shù)據(jù); 步驟二,利用該些位置數(shù)據(jù)之間的比較來(lái)計(jì)算各個(gè)通道的增益系數(shù); 步驟三,對(duì)各通道的直方圖利用計(jì)算獲得的增益系數(shù)進(jìn)行線性變換,獲得自動(dòng)白平衡后的圖像。
2.如權(quán)利要求1所述的一種自動(dòng)白平衡的方法,其特征在于:于步驟一中,提取直方圖的位置數(shù)據(jù)時(shí),從低到高對(duì)直方圖各階的像素量進(jìn)行累加,當(dāng)累加的像素量達(dá)到圖像總像素?cái)?shù)的一定比例時(shí)認(rèn)為當(dāng)前的像素值為直方圖的重要信息點(diǎn)。
3.如權(quán)利要求2所述的一種自動(dòng)白平衡的方法,其特征在于:該重要信息點(diǎn)包括直方圖的下界和直方圖的上界,該直方圖的下界為從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)1%的那一階對(duì)應(yīng)的像素值;該直方圖上界為從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)99%的那一階對(duì)應(yīng)的像素值。
4.如權(quán)利要求3所述的一種自動(dòng)白平衡的方法,其特征在于:于步驟二中,計(jì)算增益系數(shù)時(shí)將各個(gè)通道的上下界的值相互拉近一定的比例,但并不完全拉到相同位置。
5.如權(quán)利要求3所述的一種自動(dòng)白平衡的方法,其特征在于:該重要信息點(diǎn)還包括直方圖的中界,該直方圖的中界為從O起累加直方圖中每階的像素?cái)?shù)目,達(dá)到或超過(guò)總像素?cái)?shù)50%的那一階對(duì)應(yīng)的像素值。
6.如權(quán)利要求5所述的一種自動(dòng)白平衡的方法,其特征在于:在步驟一中,若條件((R_UB_R_MB ≥ a)&&(R_MB_R_LB ≥ α)&&(G_UB_G_MB ≥ α)&&(G_MB_G_LB ≥ a)&&(B_UB-B_MB≥ a )&&(B_MB-B_LB ≥ α))成立,則進(jìn)行如下運(yùn)算,得到新的各通道上界為
r_ub=R_UB+βr/3X (G_UB+B_UB - 2 X R_UB)
g_ub=G_UB+β g/3X (R_UB+B_UB - 2 X G_UB)
b_ub=B_UB+βb/3X (R_UB+G_UB - 2 X B_UB) 得到新的各通道下界為 r_lb=R_LB+βr/3X (G_LB+B_LB - 2 X R_LB) g_lb=G_LB+ β g/3X (R_LB+B_LB - 2XG_LB) b_lb=B_LB+βb/3X (R_LB+G_LB - 2 X B_LB) 其中,R_UB、R_MB、R_LB分別為輸入數(shù)據(jù)R通道的上界、中界和下界,G_UB、G_MB、G_LB分別為G通道的上界、中界和下界分別為G_UB、G_MB、G_LB,B_UB.B_MB.B_LB分別為B通道的上界、中界和下界,r_ub.r_mb.r_lb分別為直方圖拉伸后R通道的上界、中界和下界,g_ub、g_mb、g_lb分別為直方圖拉伸后G通道的上界、中界和下界,b_ub、b_mb、b_lb分別為直方圖拉伸后B通道的上界、中界和下界,α為圖像色彩單一的判定閾值,βρ Pb分別為RGB通道的拉伸力度。
7.如權(quán)利要求6所述的一種自動(dòng)白平衡的方法,其特征在于,在步驟二中,RGB通道的增益系數(shù)KR、Ke、KB 計(jì)算如下:
Ke=(r_ub-r_lb)/(R_UB_R_LB)
Kg=(g_ub-g_lb)/(G_UB-G_LB)
Kb=(b_ub-b_lb)/(B_UB_B_LB)。
8.—種自動(dòng)白平衡電路,至少包括: 直方圖統(tǒng)計(jì)模塊,用于逐點(diǎn)將像素信息錄入直方圖,然后在每幀圖像到最后一行時(shí)對(duì)直方圖進(jìn)行遍歷,分析出各個(gè)通道的界值信息; 像素矯正計(jì)算模塊,在每幀頭處更新一次用于矯正的增益系數(shù),并對(duì)每個(gè)進(jìn)入模塊的像素依據(jù)增益系數(shù)進(jìn)行更新。
9.如權(quán)利要求8所述的一種自動(dòng)白平衡電路,其特征在于:該直方圖統(tǒng)計(jì)模塊包括控制單元、存儲(chǔ)單元、讀寫(xiě)邏輯單元及遍歷單元,該直方圖統(tǒng)計(jì)模塊具有數(shù)據(jù)錄入模式和遍歷輸出模式兩種工作模式,模式的切換由該控制單元借助行計(jì)數(shù)器完成,對(duì)每幀圖像,從收到幀頭信號(hào)起直到最后一行的開(kāi)頭,該直方圖統(tǒng)計(jì)模塊工作于數(shù)據(jù)錄入模式,在數(shù)據(jù)錄入模式下,該控制單元將輸入像素的信息作為地址傳遞給該存儲(chǔ)單元,該讀寫(xiě)邏輯單元提取出該地址的當(dāng)前值后加一寫(xiě)回同一地址,表示色度為該值的像素?cái)?shù)加一;遍歷輸出模式工作于每幀圖像的最后一行,當(dāng)該控制單元的行計(jì)數(shù)器計(jì)到最后一行時(shí),調(diào)整存儲(chǔ)單元地址為從O值起逐周期加I ;該讀寫(xiě)邏輯單元把該存儲(chǔ)單元輸出傳遞給該遍歷單元,同時(shí)強(qiáng)制寫(xiě)回O以清空內(nèi)存;該遍歷單元從O地址起累加每個(gè)地址的輸出,當(dāng)和值達(dá)到設(shè)定的界對(duì)應(yīng)的數(shù)量時(shí)即輸出當(dāng)前所在地址。
10.如權(quán)利要求8所述的一種自動(dòng)白平衡電路,其特征在于:該像素矯正計(jì)算模塊包括系數(shù)計(jì)算和作用模塊,該系數(shù)計(jì)算和作用模塊用于計(jì)算用于矯正的增益系數(shù)以及像素更新,增益系數(shù)的計(jì)算是組合邏輯實(shí)時(shí)進(jìn)行的,但僅當(dāng)收到幀頭信號(hào)時(shí),該像素矯正計(jì)算模塊才會(huì)更新一次增益系數(shù)的保存值,像素更新也是實(shí)時(shí)的,每進(jìn)一個(gè)像素,即根據(jù)保存的增益系數(shù)處理后輸出更新后的值。
【文檔編號(hào)】H04N9/04GK103517049SQ201310482821
【公開(kāi)日】2014年1月15日 申請(qǐng)日期:2013年10月15日 優(yōu)先權(quán)日:2013年10月15日
【發(fā)明者】華洪略, 金威, 何衛(wèi)鋒, 洪亮, 李琛, 趙宇航, 賀光輝 申請(qǐng)人:上海交通大學(xué), 上海集成電路研發(fā)中心有限公司