專利名稱:一種基于動(dòng)態(tài)刷新機(jī)制的壞點(diǎn)檢測(cè)電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種壞點(diǎn)檢測(cè)(DPD)電路。
背景技術(shù):
在圖像采集和處理的電路中,需要配備圖像傳感器(sensor),其作用就是將光信號(hào)轉(zhuǎn)換成電信號(hào)輸送到處理設(shè)備中。圖1是一個(gè)帶有sensor的圖像處理設(shè)備的原理框圖。如圖所示,圖像處理電路通過(guò)總線向sensor發(fā)送控制信號(hào),而sensor接收到光信號(hào)并將其轉(zhuǎn)換成電信號(hào),在特定的總線協(xié)議下,將圖像數(shù)據(jù)傳送給圖像處理電路。
可以將sensor送給圖像處理電路的數(shù)據(jù)看成一個(gè)二維數(shù)組,F(xiàn)=d0,0d0,1···d0,m-1d1,0d1,1···d1,m-1············dn-1,0dn-1,1···dn-1,m-1]]>其中,每一個(gè)數(shù)據(jù)di,j都表示一個(gè)像素點(diǎn),每個(gè)像素點(diǎn)用多少個(gè)bit表示由特定的sensor決定,m和n表示圖像的長(zhǎng)和寬,例如對(duì)一個(gè)300萬(wàn)像素的sensor而言,m和n分別等于2048和1536。
由于制造或者使用的原因,sensor所采到的圖像中往往含有一個(gè)或多個(gè)壞點(diǎn),即dead pixel,這樣的點(diǎn)不能正確地將光信號(hào)轉(zhuǎn)換成電信號(hào),從圖像處理設(shè)備來(lái)看,得到的圖像中有異常亮度的點(diǎn),這樣的點(diǎn)就影響到了圖像的質(zhì)量。
為了避免這種情況,目前的做法通常是設(shè)計(jì)一個(gè)壞點(diǎn)檢測(cè)電路(deadpixel detect circuit),通過(guò)對(duì)sensor采到的數(shù)據(jù)進(jìn)行分析,來(lái)判斷哪個(gè)或者哪些點(diǎn)屬于壞點(diǎn)。這樣的電路我們稱為DPD電路。DPD電路可以包括在sensor內(nèi)部的電路中,也可以包括在圖像處理電路中。
目前普遍的DPD算法是檢測(cè)某個(gè)點(diǎn)是否為壞點(diǎn),需要其相鄰的幾個(gè)點(diǎn)的數(shù)據(jù),其中的一種算法為采用一個(gè)7乘7的矩陣來(lái)檢測(cè)中心點(diǎn)是否為壞點(diǎn),例如有一個(gè)矩陣p=p0,0p0,1p0,2p0,3p0,4p0,5p0,6p1,0p1,1p1,2p1,3p1,4p1,5p1,6p2,0p2,1p2,2p2,3p2,4p2,5p2,6p3,0p3,1p3,2p3,3p3,4p3,5p3,6p4,0p4,1p4,2p4,3p4,4p4,5p4,6p5,0p5,1p5,2p5,3p5,4p5,5p5,6p6,0p6,1p6,2p6,3p6,4p6,5p6,6]]>其元素是上述矩陣F中一個(gè)7乘7的子陣,那么矩陣P中p3,3是否為壞點(diǎn)就可以用算法來(lái)計(jì)算出來(lái),也就是說(shuō),對(duì)于矩陣P,如果我們想檢測(cè)P33是否為壞點(diǎn),需要得到其他的48個(gè)像素點(diǎn)的值。由于DPD算法不是本發(fā)明關(guān)心的內(nèi)容,這里不詳細(xì)介紹。
DPD電路在實(shí)現(xiàn)時(shí)的難點(diǎn)在于sensor往往是一行一行的將像素點(diǎn)的數(shù)據(jù)從總線上送過(guò)來(lái),而DPD算法需要的卻是一個(gè)二維矩陣,如果需要檢測(cè)某一個(gè)點(diǎn),必須在得到幾行的像素點(diǎn)之后才能進(jìn)行,這樣就必須將前面若干行的數(shù)據(jù)都保存下來(lái),對(duì)于一個(gè)圖像尺寸比較大的sensor來(lái)說(shuō),保存若干行數(shù)據(jù)所耗費(fèi)的電路資源是比較大的,例如一個(gè)300萬(wàn)像素的sensor,假定平均每個(gè)像素點(diǎn)占用一個(gè)字節(jié),那么保存7行數(shù)據(jù)需要2048×7=4096Byte,從電路規(guī)模的角度,需要進(jìn)行優(yōu)化。
另外一種做法是預(yù)先不進(jìn)行壞點(diǎn)檢測(cè),先將圖像數(shù)據(jù)采集進(jìn)來(lái),由處理器來(lái)計(jì)算出壞點(diǎn),將壞點(diǎn)的信息用記憶性的存儲(chǔ)單元如EEPROM或FLASH保存,這種做法的缺點(diǎn)在于,在計(jì)算壞點(diǎn)的過(guò)程無(wú)法進(jìn)行圖像的采集,同時(shí)記憶性的存儲(chǔ)單元的控制電路比較復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提出一種壞點(diǎn)檢測(cè)方法及其電路,可以實(shí)時(shí)地進(jìn)行壞點(diǎn)檢測(cè),且具有較小的電路規(guī)模。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于動(dòng)態(tài)刷新機(jī)制的壞點(diǎn)檢測(cè)方法,用于對(duì)圖像傳感器所采集的大小為m×n的圖像進(jìn)行壞點(diǎn)檢測(cè),其中m為每行的像素點(diǎn)數(shù),n為每列的像素點(diǎn)數(shù),先選定對(duì)每幀圖像處理的列數(shù)為q,以及壞點(diǎn)檢測(cè)算法所用矩陣的大小為K×K且K=2k+1,令S(j)=q×(j-1)-2k(j-1)和0中的大值,令E(j)=q×j-2k(j-1)-1和m中的小值,j為每幀圖像的序號(hào),j=1,2,...,J,J等于(m-2k)除以(q-2k)的商再向上取整;從第1幀圖像開(kāi)始,在圖像傳感器逐行送出第j幀圖像的數(shù)據(jù)時(shí),進(jìn)行以下處理先將該幀圖像的前2k行從第S(j)列到第E(j)列的數(shù)據(jù)保存在存儲(chǔ)器中,構(gòu)成一個(gè)2k×q矩陣Q;當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),i=K,K+1,......,n-1,將矩陣Q和第i行從第S(j)列到第E(j)列的數(shù)據(jù)組成了一個(gè)K×q矩陣,逐一對(duì)其中第i-(k+1)行從第S(j)+3列至第E(j)-3列的像素點(diǎn)做檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就記錄該點(diǎn)的位置,檢測(cè)完后用第i行從第S(j)列到第E(j)列的數(shù)據(jù)替換存儲(chǔ)器中保存的第i-2k行的數(shù)據(jù);如此逐行處理,直到處理完第j幀圖像的所有數(shù)據(jù);處理完所有J幀圖像數(shù)據(jù)后,就檢測(cè)出了整個(gè)圖像上所有壞點(diǎn)的位置。
進(jìn)一步地,上述壞點(diǎn)檢測(cè)方法還可具有以下特點(diǎn)所述存儲(chǔ)器為可保存2k×q個(gè)像素點(diǎn)數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器。
進(jìn)一步地,上述壞點(diǎn)檢測(cè)方法還可具有以下特點(diǎn)所述k取值為3。
本發(fā)明提供的基于動(dòng)態(tài)刷新機(jī)制的壞點(diǎn)檢測(cè)電路包括同步檢測(cè)模塊、檢測(cè)控制模塊、像素保存模塊、壞點(diǎn)檢測(cè)運(yùn)算模塊和壞點(diǎn)位置保存模塊,其中所述同步檢測(cè)模塊,用于根據(jù)圖像傳感器傳送過(guò)來(lái)的信號(hào),判斷出每一幀圖像的起始點(diǎn)在哪里,將檢測(cè)的結(jié)果送給檢測(cè)控制模塊;所述檢測(cè)控制模塊,用于根據(jù)同步檢測(cè)模塊的檢測(cè)結(jié)果判斷出幀的起始位置,確定需要保存的數(shù)據(jù)的位置并將數(shù)據(jù)保存到所述像素保存模塊,同時(shí)控制壞點(diǎn)檢測(cè)運(yùn)算模塊進(jìn)行運(yùn)算;所述像素保存模塊,用于保存用于進(jìn)行壞點(diǎn)檢測(cè)運(yùn)算的數(shù)據(jù);
所述壞點(diǎn)檢測(cè)運(yùn)算模塊,根據(jù)檢測(cè)控制模塊發(fā)過(guò)來(lái)的控制信號(hào),把像素保存模塊中保存的數(shù)據(jù)讀出來(lái),和當(dāng)前到來(lái)的數(shù)據(jù)組成檢測(cè)用的矩陣,然后進(jìn)行壞點(diǎn)檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就將該點(diǎn)的位置記錄到壞點(diǎn)位置保存模塊;所述壞點(diǎn)位置保存模塊,用于保存壞點(diǎn)檢測(cè)運(yùn)算模塊檢測(cè)到的壞點(diǎn)的位置信息。
進(jìn)一步地,上述壞點(diǎn)檢測(cè)電路還可具有以下特點(diǎn)假定要檢測(cè)的圖像傳感器所采集的圖像大小為m×n,對(duì)每幀圖像處理的列數(shù)為q,壞點(diǎn)檢測(cè)算法所用矩陣的大小為K×K且K=2k+1,令S(j)=q×(j-1)-2k(j-1)和0中的大值,令E(j)=q×j-2k(j-1)-1和m中的小值;j為每幀圖像的序號(hào),j=1,2,......,J;J等于(m-2k)除以(q-2k)的商再向上取整,則有所述檢測(cè)控制模塊在圖像傳感器逐行送出第j幀圖像的數(shù)據(jù)時(shí),先將該幀圖像的前2k行從第S(j)列到第E(j)列的數(shù)據(jù)保存到所述像素保存模塊,構(gòu)成了一個(gè)2k×q的矩陣Q;當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),i=K,K+1,......,n-1,啟動(dòng)壞點(diǎn)檢測(cè)運(yùn)算模塊完成壞點(diǎn)運(yùn)算,檢測(cè)完后用第i行從第S(j)列到第E(j)列的數(shù)據(jù)替換所述像素保存模塊存儲(chǔ)器中保存的第i-2k行的數(shù)據(jù),如此逐行處理,直到處理完第j幀圖像的所有數(shù)據(jù);所述壞點(diǎn)檢測(cè)運(yùn)算模塊,根據(jù)檢測(cè)控制模塊發(fā)過(guò)來(lái)的控制信號(hào),把像素保存模塊中保存的矩陣Q讀出來(lái),與當(dāng)前到來(lái)的第i行從第S(j)列到第E(j)列的數(shù)據(jù)組成一個(gè)K×q矩陣,按檢測(cè)算法逐一對(duì)其中第i-(k+1)行從第S(j)+3列至第E(j)-3列的像素點(diǎn)做檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就將該點(diǎn)的位置記錄到壞點(diǎn)位置保存模塊。
進(jìn)一步地,上述壞點(diǎn)檢測(cè)電路還可具有以下特點(diǎn)所述像素保存模塊為一容量為可保存2k×q個(gè)像素點(diǎn)數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器。
進(jìn)一步地,上述壞點(diǎn)檢測(cè)電路還可具有以下特點(diǎn)所述k取值為3。
由上可知,本發(fā)明的DPD電路規(guī)模小,壞點(diǎn)檢測(cè)可以動(dòng)態(tài)實(shí)時(shí)地進(jìn)行,且靈活性好。
圖1是圖像采集/處理電路的原理框圖。
圖2是本發(fā)明實(shí)施例DPD電路的示意圖。
具體實(shí)施例方式
壞點(diǎn)形成的原因,通常是因?yàn)閭鞲衅鞲泄饷娴哪骋稽c(diǎn)或若干點(diǎn)出了問(wèn)題,導(dǎo)致感光不正確。這些點(diǎn)往往是因?yàn)槔匣仍斐傻?,而不是隨機(jī)的。這樣,對(duì)于同一傳感器來(lái)說(shuō),其傳輸?shù)拿繋瑘D像上的壞點(diǎn)位置在相當(dāng)一段時(shí)間內(nèi)是相同的,并不需要對(duì)每幀圖像都進(jìn)行獨(dú)立的判斷。這樣,本發(fā)明的DPD電路就可以采用動(dòng)態(tài)刷新的辦法,將圖像按列劃分成多個(gè)部分,每部分有q列并且相鄰兩部分有若干列相互重疊。對(duì)sensor送出的J幀圖像,每一幀檢測(cè)其中的一部分,并將壞點(diǎn)的信息保存到如SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)(也可以用其它類型的存儲(chǔ)器,如SDAM、FLASH等等)中,這樣完成J幀圖像的檢測(cè)后就可以得到整個(gè)圖像上壞點(diǎn)的位置,用于后期的處理。由于一次只需對(duì)圖像中的一部分進(jìn)行檢測(cè),因此所需的存儲(chǔ)空間較小,從而可以減小電路的規(guī)模。
假定要檢測(cè)的圖像傳感器所采集的圖像大小為m×n,對(duì)每幀圖像處理的列數(shù)為q,壞點(diǎn)檢測(cè)算法所用矩陣的大小為K×K且K=2k+1,令S(j)=q×(j-1)-2k(j-1)和0中的大值,令E(j)=q×j-2k(j-1)-1和m中的小值;j為每幀圖像的序號(hào),j=1,2,......,J。
J的取值與m的大小以及壞點(diǎn)檢測(cè)算法有關(guān),如果壞點(diǎn)檢測(cè)矩陣大小為2k+1,說(shuō)明要想檢測(cè)一個(gè)點(diǎn)是否為壞點(diǎn),必須知道其左側(cè)k列的像素點(diǎn)以及右側(cè)k列像素點(diǎn)的值。因此每幀圖像處理的列數(shù)為q時(shí),我們能夠檢測(cè)的是各除去兩側(cè)k列之后,中間的q-2k列的像素點(diǎn)。對(duì)于一幅圖片而言,由于算法的要求,整幅左右兩側(cè)各k列是無(wú)法進(jìn)行檢測(cè)的,所以總的需要檢測(cè)的列數(shù)為m-2k。據(jù)此,我們可以得到J等于(m-2k)除以(q-2k)的商再向上取整。需要說(shuō)明的是,本發(fā)明不針對(duì)特定的壞點(diǎn)檢測(cè)算法。也就是說(shuō),不同壞點(diǎn)檢測(cè)算法要求待測(cè)點(diǎn)左側(cè)和右側(cè)像素點(diǎn)的列數(shù)可能會(huì)不同,不過(guò)上述J的值得計(jì)算法法是通用的。對(duì)于一個(gè)m=2048的sensor,q=140,取7×7的陣列來(lái)進(jìn)行壞點(diǎn)檢測(cè),則J=(2048-2*3)/(140-2*3)=16,“”表示向上取整運(yùn)算。
如圖2所示,本實(shí)施例DPD電路包括以下模塊同步檢測(cè)模塊,根據(jù)sensor傳送過(guò)來(lái)的信號(hào),判斷出每一幀圖像的起始點(diǎn)在哪里,將檢測(cè)的結(jié)果送給檢測(cè)控制模塊。用來(lái)確定用用數(shù)據(jù)的位置。
檢測(cè)控制模塊,這個(gè)模塊是本發(fā)明的中心控制部件,這個(gè)模塊根據(jù)同步檢測(cè)模塊的檢測(cè)結(jié)果判斷出幀的起始位置,確定需要保存的數(shù)據(jù)的位置并將數(shù)據(jù)保存到像素保存模塊,構(gòu)成了一個(gè)2k×q的矩陣Q,同時(shí)控制壞點(diǎn)檢測(cè)運(yùn)算模塊進(jìn)行壞點(diǎn)運(yùn)算。具體地,在圖像傳感器逐行送出第j幀圖像的數(shù)據(jù)時(shí),先將該幀圖像的前2k行從第S(j)列到第E(j)列的數(shù)據(jù)保存在像素保存模塊;當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),i=K,K+1,......,n-1,啟動(dòng)壞點(diǎn)檢測(cè)運(yùn)算模塊完成壞點(diǎn)運(yùn)算,檢測(cè)完后用第i行從第S(j)列到第E(j)列的數(shù)據(jù)替換像素保存模塊中保存的第i-2k行的數(shù)據(jù),如此逐行處理,直到處理完第j幀圖像的所有數(shù)據(jù)。
像素保存模塊,用于保存用于進(jìn)行壞點(diǎn)檢測(cè)運(yùn)算的數(shù)據(jù),本實(shí)施例中該模塊為一個(gè)最小容量為2k×q的SRAM,在進(jìn)行壞點(diǎn)檢測(cè)運(yùn)算前保存的數(shù)據(jù)構(gòu)成了一個(gè)2k×q的矩陣Q。
壞點(diǎn)檢測(cè)運(yùn)算模塊,根據(jù)檢測(cè)控制模塊發(fā)過(guò)來(lái)的控制信號(hào),把像素保存模塊中保存的矩陣Q讀出來(lái),與當(dāng)前到來(lái)的第i行從第S(j)列到第E(j)列的數(shù)據(jù)組成一個(gè)K×q矩陣,按檢測(cè)算法逐一對(duì)其中第i-(k+1)行從第S(j)+3列至第E(j)-3列的像素點(diǎn)做檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就將該點(diǎn)的位置記錄到壞點(diǎn)位置保存模塊。
壞點(diǎn)位置保存模塊,用于保存壞點(diǎn)檢測(cè)運(yùn)算模塊檢測(cè)到的壞點(diǎn)的位置信息,供后續(xù)模塊讀取和處理。
本實(shí)施例中,假定m=2048,q=140,圖像被劃分為16部分,壞點(diǎn)檢測(cè)算法所用矩陣的大小為7×7,這樣劃分出的相鄰兩部分有3列相重疊,根據(jù)每幀圖像的數(shù)據(jù)對(duì)劃分出的不同部分進(jìn)行壞點(diǎn)檢測(cè),則經(jīng)過(guò)16幀圖像,就可以完成整個(gè)圖像的壞點(diǎn)檢測(cè)。由于壞點(diǎn)并不是隨機(jī)變化時(shí),該檢測(cè)方法可以滿足后續(xù)校正的要求。注意,最后一部分的列數(shù)可能并沒(méi)有q列,此時(shí)只需取到最后一列即可。
圖3是本實(shí)施例壞點(diǎn)檢測(cè)的流程圖,如圖所示,包括以下步驟步驟一,當(dāng)sensor送出第一幀圖象的前6行時(shí),將前6行從第0列到q-1列的數(shù)據(jù)F
保存在SRAM中,構(gòu)成一個(gè)6×q矩陣Q
,即Q=q0,0q0,1···q0,q-1q1,0q1,1···q1,q-1············q6,0q6,1···q6,q-1]]>步驟二,當(dāng)?shù)趇行數(shù)據(jù)到來(lái)時(shí),i=7,8,......,n-1;將矩陣Q和第i行從第0列至第q-1列的數(shù)據(jù)F[i-1]
組成了一個(gè)7×q矩陣,就可以逐一對(duì)其中第i-4行從第3列至第q-4列的像素點(diǎn)F[i-4][3:q-4]做檢測(cè),如果發(fā)現(xiàn)某個(gè)點(diǎn)為壞點(diǎn),就將這個(gè)點(diǎn)的位置記錄到一個(gè)序列中,檢測(cè)完后用第i行數(shù)據(jù)F[i-1]
替換SRAM中保存的第i-6行數(shù)據(jù)F[i-7]
;步驟三,重復(fù)這個(gè)過(guò)程,當(dāng)?shù)谝粠瑘D像傳送完的時(shí)候,就完成了對(duì)圖像中第一部分的壞點(diǎn)檢測(cè),需要說(shuō)明的是DPD算法不對(duì)邊緣的像素點(diǎn)做壞點(diǎn)檢測(cè),因此,上述壞點(diǎn)檢測(cè)是對(duì)圖像中第一部分除邊界點(diǎn)外的其它像素點(diǎn)進(jìn)行的,這里的邊界點(diǎn)包括最上面和最下面的3行以及最左邊和最右邊的3列上的像素點(diǎn);步驟四,當(dāng)?shù)趈幀圖像數(shù)據(jù)到來(lái)時(shí),j=2,3,......15,首先將該幀圖像的前6行第q×(j-1)-6(j-1)列到第q×j-6(j-1)-1列的數(shù)據(jù)保存在RAM中,構(gòu)成一個(gè)6×q矩陣Q
[q×(j-1)-6(j-1):q×j-6(j-1)-1];例如,當(dāng)?shù)?楨來(lái)時(shí),首先將其前6行數(shù)據(jù)F
[q-6:2q-7]保存在SRAM中,當(dāng)?shù)?楨來(lái)時(shí),首先將其前6行數(shù)據(jù)F
[2q-12:3q-13]保存在SRAM中,依此類推。
步驟五,當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),i=7,8,......,n-1;將矩陣Q和第i行從第q×(j-1)-6(j-1)列到第q×j-6(j-1)-1列的數(shù)據(jù)組成了一個(gè)7×q矩陣,就可以逐一對(duì)其中第i-4行從第q×(j-1)-6(j-1)+3列至第q×j-6(j-1)-4列的像素點(diǎn)做檢測(cè),如果發(fā)現(xiàn)某個(gè)點(diǎn)為壞點(diǎn),就將這個(gè)點(diǎn)的位置記錄到一個(gè)序列中,檢測(cè)完后用第i行從第q×(j-1)-6(j-1)列到第q×j-6(j-1)-1列的數(shù)據(jù)替換SRAM中保存的第i-7行數(shù)據(jù);如此逐行處理,直當(dāng)?shù)趈幀圖像送完;按步驟四和五的方法完成對(duì)第2幀到第14幀圖像的處理。由于每幀圖像取數(shù)據(jù)時(shí)都包括了前一幀圖像的最后3列數(shù)據(jù),所以只有整個(gè)圖像的上、下、左、右邊界上的像素點(diǎn)無(wú)法檢測(cè)。
步驟六,對(duì)第16幀圖像,由于最多只有2048列,因此,先將該幀圖像的前6行第2010列到第2048列的數(shù)據(jù)保存在RAM中,構(gòu)成一個(gè)6×q矩陣Q
[2010:2048],然后當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),將矩陣Q和第i行從第2010列到第2048列的數(shù)據(jù)組成了一個(gè)7×q矩陣,對(duì)其中第i-4行從第2013至第2045列的像素點(diǎn)做檢測(cè),如發(fā)現(xiàn)壞點(diǎn)則記錄其位置,然后用第i行從第2010列到第2048列的數(shù)據(jù)替換SRAM中保存的第i-7行數(shù)據(jù),如此逐行處理,直到將該幀圖像處理完,結(jié)束。
在上述第1至16幀圖像處理過(guò)程中記錄的所有壞點(diǎn)位置,就是要檢測(cè)的整個(gè)圖像上的壞點(diǎn)位置。
綜上所述,本發(fā)明具有以下特點(diǎn)1、減小了電路的規(guī)模假設(shè)m=2048,平均每個(gè)像素點(diǎn)用1個(gè)byte表示,q=140,則經(jīng)過(guò)16幀圖像,就可以完成壞點(diǎn)檢測(cè)。那么需要的存儲(chǔ)空間是140*6=840Bytes。此外,本發(fā)明需要的存儲(chǔ)空間還應(yīng)該包括用來(lái)保存壞點(diǎn)位置的存儲(chǔ)空間,以2048×1536的sensor為例,記錄一個(gè)壞點(diǎn)需要約3Bytes的空間,假定一個(gè)sensor中壞點(diǎn)個(gè)數(shù)最多有5個(gè),還需要增加15Bytes的存儲(chǔ)空間。
2、SRAM刷新的機(jī)制使得壞點(diǎn)檢測(cè)幾乎可以動(dòng)態(tài)實(shí)時(shí)地進(jìn)行如上所述,對(duì)于一個(gè)30幀/秒的sensor,只需要0.5秒就可以進(jìn)行一次前面的壞點(diǎn)檢測(cè)。
3、靈活性好本發(fā)明中,q的取值可以根據(jù)具體的應(yīng)用來(lái)確定,同時(shí)需要的存儲(chǔ)空間也要相應(yīng)的調(diào)整。
本發(fā)明在上述實(shí)施例的基礎(chǔ)上還可以有各種變換例如上述實(shí)施例的DPD算法是用一個(gè)7×7的矩陣來(lái)檢測(cè)中心點(diǎn)是否為壞點(diǎn),但在其它實(shí)施例中,也可以采用其它如5×5或9×9矩陣。假設(shè)是一個(gè)(2k+1)×(2k+1)矩陣,則需要將上述實(shí)施例中的代表某一邊界行數(shù)或列數(shù)的3修改為k即可。
權(quán)利要求
1.一種基于動(dòng)態(tài)刷新機(jī)制的壞點(diǎn)檢測(cè)方法,用于對(duì)圖像傳感器所采集的大小為m×n的圖像進(jìn)行壞點(diǎn)檢測(cè),其中m為每行的像素點(diǎn)數(shù),n為每列的像素點(diǎn)數(shù),先選定對(duì)每幀圖像處理的列數(shù)為q,以及壞點(diǎn)檢測(cè)算法所用矩陣的大小為K×K且K=2k+1,令S(j)=q×(j-1)-2k(j-1)和0中的大值,令E(j)=q×j-2k(j-1)-1和m中的小值,j為每幀圖像的序號(hào),j=1,2,…,J,J等于(m-2k)除以(q-2k)的商再向上取整;從第1幀圖像開(kāi)始,在圖像傳感器逐行送出第j幀圖像的數(shù)據(jù)時(shí),進(jìn)行以下處理先將該幀圖像的前2k行從第S(j)列到第E(j)列的數(shù)據(jù)保存在存儲(chǔ)器中,構(gòu)成一個(gè)2k×q矩陣Q;當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),i=K,K+1,……,n-1,將矩陣Q和第i行從第S(j)列到第E(j)列的數(shù)據(jù)組成了一個(gè)K×q矩陣,逐一對(duì)其中第i-(k+1)行從第S(j)+3列至第E(j)-3列的像素點(diǎn)做檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就記錄該點(diǎn)的位置,檢測(cè)完后用第i行從第S(j)列到第E(j)列的數(shù)據(jù)替換存儲(chǔ)器中保存的第i-2k行的數(shù)據(jù);如此逐行處理,直到處理完第j幀圖像的所有數(shù)據(jù);處理完所有J幀圖像數(shù)據(jù)后,就檢測(cè)出了整個(gè)圖像上所有壞點(diǎn)的位置。
2.如權(quán)利要求1所述的壞點(diǎn)檢測(cè)方法,其特征在于,所述存儲(chǔ)器為可保存2k×q個(gè)像素點(diǎn)數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器。
3.如權(quán)利要求1所述的壞點(diǎn)檢測(cè)方法,其特征在于,所述隨機(jī)存取存儲(chǔ)器為靜態(tài)隨機(jī)存取存儲(chǔ)器。
4.如權(quán)利要求1所述的壞點(diǎn)檢測(cè)方法,其特征在于,所述k取值為3。
5.一種基于動(dòng)態(tài)刷新機(jī)制的壞點(diǎn)檢測(cè)電路,其特征在于,包括同步檢測(cè)模塊、檢測(cè)控制模塊、像素保存模塊、壞點(diǎn)檢測(cè)運(yùn)算模塊和壞點(diǎn)位置保存模塊,其中所述同步檢測(cè)模塊,用于根據(jù)圖像傳感器傳送過(guò)來(lái)的信號(hào),判斷出每一幀圖像的起始點(diǎn)在哪里,將檢測(cè)的結(jié)果送給檢測(cè)控制模塊;所述檢測(cè)控制模塊,用于根據(jù)同步檢測(cè)模塊的檢測(cè)結(jié)果判斷出幀的起始位置,確定需要保存的數(shù)據(jù)的位置并將數(shù)據(jù)保存到所述像素保存模塊,同時(shí)控制壞點(diǎn)檢測(cè)運(yùn)算模塊進(jìn)行運(yùn)算;所述像素保存模塊,用于保存用于進(jìn)行壞點(diǎn)檢測(cè)運(yùn)算的數(shù)據(jù);所述壞點(diǎn)檢測(cè)運(yùn)算模塊,根據(jù)檢測(cè)控制模塊發(fā)過(guò)來(lái)的控制信號(hào),把像素保存模塊中保存的數(shù)據(jù)讀出來(lái),和當(dāng)前到來(lái)的數(shù)據(jù)組成檢測(cè)用的矩陣,然后進(jìn)行壞點(diǎn)檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就將該點(diǎn)的位置記錄到壞點(diǎn)位置保存模塊;所述壞點(diǎn)位置保存模塊,用于保存壞點(diǎn)檢測(cè)運(yùn)算模塊檢測(cè)到的壞點(diǎn)的位置信息。
6.如權(quán)利要求5所述的壞點(diǎn)檢測(cè)電路,其特征在于,假定要檢測(cè)的圖像傳感器所采集的圖像大小為m×n,對(duì)每幀圖像處理的列數(shù)為q,壞點(diǎn)檢測(cè)算法所用矩陣的大小為K×K且K=2k+1,令S(j)=q×(j-1)-2k(j-1)和0中的大值,令E(j)=q×j-2k(j-1)-1和m中的小值;j為每幀圖像的序號(hào),j=1,2,……,J;J等于(m-2k)除以(q-2k)的商再向上取整,則有所述檢測(cè)控制模塊在圖像傳感器逐行送出第j幀圖像的數(shù)據(jù)時(shí),先將該幀圖像的前2k行從第S(j)列到第E(j)列的數(shù)據(jù)保存到所述像素保存模塊,構(gòu)成了一個(gè)2k×q的矩陣Q;當(dāng)該幀第i行數(shù)據(jù)到來(lái)時(shí),i=K,K+1,……,n-1,啟動(dòng)壞點(diǎn)檢測(cè)運(yùn)算模塊完成壞點(diǎn)運(yùn)算,檢測(cè)完后用第i行從第S(j)列到第E(j)列的數(shù)據(jù)替換所述像素保存模塊存儲(chǔ)器中保存的第i-2k行的數(shù)據(jù),如此逐行處理,直到處理完第j幀圖像的所有數(shù)據(jù);所述壞點(diǎn)檢測(cè)運(yùn)算模塊,根據(jù)檢測(cè)控制模塊發(fā)過(guò)來(lái)的控制信號(hào),把像素保存模塊中保存的矩陣Q讀出來(lái),與當(dāng)前到來(lái)的第i行從第S(j)列到第E(j)列的數(shù)據(jù)組成一個(gè)K×q矩陣,按檢測(cè)算法逐一對(duì)其中第i-(k+1)行從第S(j)+3列至第E(j)-3列的像素點(diǎn)做檢測(cè),如發(fā)現(xiàn)壞點(diǎn)就將該點(diǎn)的位置記錄到壞點(diǎn)位置保存模塊。
7.如權(quán)利要求6所述的壞點(diǎn)檢測(cè)方法,其特征在于,所述像素保存模塊為一容量為可保存2k×q個(gè)像素點(diǎn)數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器。
8.如權(quán)利要求7所述的壞點(diǎn)檢測(cè)方法,其特征在于,所述隨機(jī)存取存儲(chǔ)器為靜態(tài)隨機(jī)存取存儲(chǔ)器。
9.如權(quán)利要求6所述的壞點(diǎn)檢測(cè)方法,其特征在于,所述k取值為3。
全文摘要
一種壞點(diǎn)檢測(cè)方法及其電路,用于對(duì)圖像傳感器采集的大小為m×n的圖像進(jìn)行壞點(diǎn)檢測(cè),該電路包括同步檢測(cè)模塊、檢測(cè)控制模塊、像素保存模塊、壞點(diǎn)檢測(cè)運(yùn)算模塊和壞點(diǎn)位置保存模塊。先選定對(duì)每幀圖像處理的列數(shù)q和壞點(diǎn)運(yùn)算矩陣大小K×K且K=2k+1,S(j)=q×(j-1)-2k(j-1)和0中的大值,E(j)=q×j-2k(j-1)-1和m中的小值;從第1幀圖像開(kāi)始,在收到第j幀圖像的數(shù)據(jù)時(shí),將該幀圖像的前2k行從S(j)到E(j)列的數(shù)據(jù)保存在存儲(chǔ)器中,構(gòu)成矩陣Q;再將矩陣Q和該幀第i行從S(j)到E(j)列的數(shù)據(jù)組成一K×q矩陣,完成壞點(diǎn)檢測(cè),然后用第i行數(shù)據(jù)替換存儲(chǔ)器中的第i-2k行數(shù)據(jù);對(duì)多幀圖像處理后,就完成了整個(gè)圖像的壞點(diǎn)檢測(cè)。本發(fā)明可實(shí)時(shí)進(jìn)行壞點(diǎn)檢測(cè),電路規(guī)模較小。
文檔編號(hào)H04N17/02GK1889696SQ20061001212
公開(kāi)日2007年1月3日 申請(qǐng)日期2006年6月6日 優(yōu)先權(quán)日2006年6月6日
發(fā)明者楊柱, 劉健, 高曉宇, 周天夷 申請(qǐng)人:北京中星微電子有限公司