視頻圖像信號(hào)處理(ISP)從模擬信號(hào)時(shí)代發(fā)展而來(lái),已經(jīng)經(jīng)歷了很長(zhǎng)一段時(shí)期。今天,數(shù)字信號(hào)處理實(shí)現(xiàn)了可以在位級(jí)進(jìn)行圖像數(shù)據(jù)處理,為圖像質(zhì)量提供了前所未有的控制。數(shù)字信號(hào)處理顯然不等同于數(shù)字信號(hào)處理器或DSP.雖然DSP已經(jīng)被廣泛用于視頻圖像信號(hào)處理的數(shù)字領(lǐng)域,ISP可以由各種處理器件實(shí)現(xiàn),如DSP、ASIC、ASSP和越來(lái)越多的現(xiàn)場(chǎng)可編程門(mén)陣列,即FPGA.
為什么使用FPGA?
有幾個(gè)原因推動(dòng)了FPGA的日益普及。這些原因中的兩個(gè)反映了安防攝像機(jī)的最新趨勢(shì),大大增加了需要處理的圖像數(shù)據(jù)量,第三個(gè)是經(jīng)濟(jì)方面原因,即攝像機(jī)元器件材料成本(BOM)。
安防攝像機(jī)的趨勢(shì):有兩個(gè)主要趨勢(shì)正在改變安防攝像機(jī)的結(jié)構(gòu)設(shè)計(jì)方法:
1. 百萬(wàn)像素傳感器的問(wèn)世
2. 對(duì)高(或?qū)挘﹦?dòng)態(tài)范圍(HDR/WDR)的需要
百萬(wàn)像素傳感器
曾經(jīng)有一段時(shí)間,VGA分辨率傳感器對(duì)于安防目的的攝像機(jī)來(lái)說(shuō)已經(jīng)足夠了,當(dāng)時(shí)通常由操作人員來(lái)監(jiān)查或者僅是存檔以備日后查看。然而,隨著安防攝像頭在全球范圍內(nèi)使用的數(shù)量急劇增加,沒(méi)有足夠的操作人員來(lái)監(jiān)查,所以安防產(chǎn)業(yè)已經(jīng)開(kāi)始依靠軟件來(lái)分析視頻,用以監(jiān)控是否在“關(guān)注的區(qū)域”有任何異常發(fā)生,無(wú)論是實(shí)時(shí)的或留作日后分析。復(fù)雜的視頻分析(VA)算法已發(fā)展到可以將異常情況從正常情況中分辨出來(lái);然而,為了更加切實(shí)有效,這些算法需要比VGA分辨率的攝像機(jī)所能提供的更多的細(xì)節(jié)信息。
攝像機(jī)需要更高的分辨率使得VA能夠識(shí)別出有限和/或大面積區(qū)域內(nèi)的一般活動(dòng),例如:一個(gè)停車(chē)場(chǎng)。一個(gè)攝像機(jī)需要約30像素/輸入用于車(chē)牌識(shí)別,以及約150像素/輸入用于查看更細(xì)節(jié)的活動(dòng),如確定收銀機(jī)交易。一百萬(wàn)像素涵蓋了7英尺X 7英尺范圍內(nèi)的詳細(xì)信息,并且4個(gè)VGA攝像頭才能抵得上一個(gè)一百萬(wàn)像素的攝像頭。
圖像傳感器已經(jīng)開(kāi)發(fā)出來(lái)并且已經(jīng)商業(yè)投產(chǎn),適用于1百萬(wàn)、2百萬(wàn)、5百萬(wàn)甚至1千萬(wàn)像素的分辨率。顯然,隨著像素?cái)?shù)的增加,因此必須處理的數(shù)據(jù)量也利用了更高的分辨率這一優(yōu)勢(shì)。
高動(dòng)態(tài)范圍(HDR)
HDR也稱(chēng)為寬動(dòng)態(tài)范圍(WDR),用以測(cè)量傳感器和ISP功能是否能夠很好地區(qū)分黑暗和明亮區(qū)域。我們都對(duì)業(yè)余拍攝的以太陽(yáng)為背景的家庭照片非常熟悉。雖然沐浴在陽(yáng)光下的風(fēng)景明亮清晰,但是人們的臉上都非常暗。這是因?yàn)椋ㄍǔJ亲詣?dòng))相機(jī)調(diào)整在陽(yáng)光下的場(chǎng)景的曝光。然而,這個(gè)曝光時(shí)間太短,以至于無(wú)法正確識(shí)別較暗的對(duì)象。如果手動(dòng)設(shè)定曝光或者使得光圈獲得更多的光線(xiàn),這樣就能分辨出暗部的細(xì)節(jié),但是這樣做的結(jié)果是,現(xiàn)在明亮區(qū)域的細(xì)節(jié)已經(jīng)過(guò)度曝光,甚至徹底洗白。這對(duì)于操作人員或者VA軟件來(lái)說(shuō)都不是一個(gè)好的結(jié)果,因?yàn)楹芏嚓P(guān)注區(qū)域的細(xì)節(jié)信息都已經(jīng)丟失。
HDR傳感器使用創(chuàng)造性的方式解決了這個(gè)問(wèn)題,根據(jù)不同的曝光時(shí)間拍攝多張照片,然后通過(guò)ISP流水線(xiàn)組合并融合這些圖像,保存并呈現(xiàn)所關(guān)注區(qū)域的亮部和暗部區(qū)域的細(xì)節(jié)信息。顯然,當(dāng)對(duì)于同一個(gè)圖像進(jìn)行多次曝光,造成了所需處理的數(shù)據(jù)量增加。例如,當(dāng)一臺(tái)攝像機(jī)可以輸出每秒60幀的全高清1080p圖像,帶有HDR傳感器,每幀3次曝光,在其工作時(shí),攝像機(jī)內(nèi)的ISP流水線(xiàn)實(shí)際處理的是60× 3,即相當(dāng)于180幀每秒。
FPGA和增加的處理負(fù)荷
一個(gè)百萬(wàn)像素的傳感器和HDR相結(jié)合大大提高了ISP流水線(xiàn)的處理負(fù)荷。DSP器件本質(zhì)上是“順序處理引擎”,很難負(fù)荷巨大的數(shù)據(jù)處理負(fù)載。它可能仍然可以處理我們上述示例中高端DSP中的1080p 60HDR流水線(xiàn)的數(shù)據(jù),但成本和功耗高得令人望而卻步,并且在經(jīng)濟(jì)上無(wú)法負(fù)擔(dān)。FPGA由于其固有的并行性,非常適合承擔(dān)高清、高動(dòng)態(tài)范圍圖像信號(hào)處理所增加的負(fù)載。
可編程的重要性
除了以極低的功耗和成本提供高性能之外,F(xiàn)PGA定義為可編程的,這提供了超越ASIC和ASSP的顯著優(yōu)點(diǎn)。ASIC的設(shè)計(jì)和構(gòu)造都極其昂貴,一旦完成就不能更改。基于ASSP的攝像頭設(shè)計(jì)可能會(huì)受到已經(jīng)制成的標(biāo)準(zhǔn)件功能的限制,這也就無(wú)法再進(jìn)行修改。事實(shí)上,在視頻圖像處理市場(chǎng)中的一些DSP和其它的ASSP器件,需要一個(gè)FPGA來(lái)橋接傳感器和標(biāo)準(zhǔn)部件,以適應(yīng)新的傳感器制造商正在使用的新的串行接口,用于接收其傳感器傳輸?shù)陌偃f(wàn)像素?cái)?shù)據(jù)。隨著基于FPGA的實(shí)現(xiàn)方法的出現(xiàn),攝像機(jī)制造商可以利用可編程的優(yōu)勢(shì),迅速在其設(shè)計(jì)中采用新的傳感器和技術(shù),或迅速改變他們的ISP算法。
在FPGA中實(shí)現(xiàn)帶有HDR的ISP
為了在FPGA實(shí)現(xiàn)帶有HDR的ISP,至少必須實(shí)現(xiàn)如圖1所示的圖像信號(hào)處理流水線(xiàn)中的ISP塊。
圖1 圖像信號(hào)處理流水線(xiàn)
需要以下ISP模塊:
傳感器端口,具有自動(dòng)的黑電平校正:這對(duì)于檢測(cè)和配置圖像傳感器寄存器和采集圖像數(shù)據(jù)來(lái)說(shuō)是必需的。
黑電平校正:每個(gè)顏色通道都有一個(gè)時(shí)間相關(guān)的偏移。彩色處理需要線(xiàn)性信號(hào)處理,因此所有信號(hào)必須沒(méi)有任何偏移。CMOS圖像傳感器有所謂暗行輸出來(lái)衡量每個(gè)顏色通道的平均偏移。黑電平校正減去專(zhuān)用彩色通道,基于線(xiàn)路的基準(zhǔn)噪聲,達(dá)到最佳的黑電平結(jié)果。
自動(dòng)曝光:自動(dòng)曝光模塊的目的是要不斷調(diào)整曝光,以適應(yīng)實(shí)時(shí)的不斷變化的光線(xiàn)條件。
線(xiàn)性:例如,AptinaMT9Mo24/34 HDR傳感器,每顏色通道輸出20位信息。為了盡量減少傳感器輸出的實(shí)際線(xiàn)路的數(shù)量,Aptina使用智能壓縮機(jī)制將這一數(shù)據(jù)壓縮到12位。線(xiàn)性化就是將這12位數(shù)據(jù)解壓縮恢復(fù)到原來(lái)的20位的過(guò)程。
缺陷像素校正:由于制造工藝而造成的傳感器中死的或熱像素,需要使用缺陷像素校正模塊進(jìn)行修正。此模塊使用基于相同顏色通道的相鄰像素插值法糾正了缺陷的像素值。典型的糾正方法包括冷或熱像素檢測(cè),使用當(dāng)前像素鄰域中值或平均值估計(jì)。
2-D降噪:除冷、熱噪點(diǎn)外,傳感器像素可以隨機(jī)成為幀噪聲。這意味著它們輸出與鄰近像素相比過(guò)高或過(guò)低的強(qiáng)度?;谙嗤伾ǖ赖南噜徬袼氐牟逯捣ㄟM(jìn)行2D降噪來(lái)糾正噪聲像素,與缺陷像素校正模塊的工作原理大致類(lèi)似。
De-Bayering(彩色濾波陣列插值):傳感器上的每個(gè)像素都有一個(gè)所謂的Bayer濾波器,使用三種顏色:紅色、綠色或藍(lán)色中的一種。因此,三分之二的色彩數(shù)據(jù)丟失,由此產(chǎn)生的圖像是三種顏色產(chǎn)生的馬賽克。要獲得一個(gè)全彩色圖像,各種去馬賽克算法,用于為每個(gè)像素使用插值算法得到一組完整的紅色、綠色和藍(lán)色的值。
色彩校正矩陣(CCM):圖像傳感器通常提供錯(cuò)誤的顏色再現(xiàn),由于所謂的跨色彩影響,這是由于像素間的信號(hào)串?dāng)_引起的。這種效應(yīng)會(huì)導(dǎo)致錯(cuò)誤顏色的圖像(如:偏藍(lán)的綠色)。色彩校正牽涉到復(fù)雜的像素?cái)?shù)據(jù)的矩陣乘法來(lái)達(dá)到純正的顏色。
自動(dòng)白平衡(AWB):傳感器不擅長(zhǎng)的“識(shí)別”色彩。AWB調(diào)整圖像中的其他顏色,通過(guò)所謂的“灰色世界”算法推斷出圖像中的白色從而進(jìn)行參考。AWB??通過(guò)檢查入射光頻率(或波長(zhǎng))來(lái)確定白色,并呈現(xiàn)自然色彩的圖像。
伽瑪校正:傳感器像素以線(xiàn)性的方式對(duì)入射光強(qiáng)度作出反應(yīng)。為了能夠?yàn)槌R?jiàn)視頻系統(tǒng)提供像素?cái)?shù)據(jù),如顯像管的對(duì)數(shù)響應(yīng),可能需要轉(zhuǎn)化為一個(gè)非線(xiàn)性的值編碼。伽瑪校正提供了這種轉(zhuǎn)換。#p#分頁(yè)標(biāo)題#e#
高/寬動(dòng)態(tài)范圍(HDR/WDR)處理:這就是將20個(gè)像素的傳感器數(shù)據(jù)映射為8位RGB數(shù)據(jù)的模塊,從而在顯示出來(lái)的圖像中呈現(xiàn)圖像中的明亮和黑暗區(qū)域。需要一條寬的內(nèi)部流水線(xiàn)來(lái)確保暗部的細(xì)節(jié)沒(méi)有丟失,甚至當(dāng)侵入者直接將閃光照射到攝像機(jī)鏡頭。HDR與快速自動(dòng)曝光算法密切配合工作,能在變化的光線(xiàn)條件下迅速調(diào)整曝光。
圖2 HDR處理后的圖像:強(qiáng)閃光從10英寸的距離直接射到鏡頭,沒(méi)有造成圖像丟失
下面表1顯示了在33K查找表(KLUT)、低成本、低功耗的FPGA中實(shí)現(xiàn)所有上述ISP模塊所需的FPGA資源的典型值:
除了已經(jīng)提到的ISP模塊,實(shí)際應(yīng)用的數(shù)據(jù)包括統(tǒng)計(jì)引擎、生成系統(tǒng)中特定模塊使用的圖像柱狀圖、一個(gè)Lattice Mico32軟處理器用于動(dòng)態(tài)流水線(xiàn)控制、一個(gè)I2C主控用于控制各種信號(hào)、一個(gè)HDMI PHY模塊用于直接從FPGA驅(qū)動(dòng)HDMI信號(hào),甚至標(biāo)志圖形的疊加。這說(shuō)明了可以使用低成本、低功耗的FPGA,如Lattice ECP3-35,來(lái)實(shí)現(xiàn)整個(gè)圖像信號(hào)處理流水線(xiàn)加上HDMI輸出。內(nèi)部HDR流水線(xiàn)為32位寬,可以提供192dB (20 log 2**32)的高動(dòng)態(tài)范圍。在這個(gè)實(shí)際的應(yīng)用中,使用具有120dB動(dòng)態(tài)范圍的傳感器,限制HDR為120dB--仍然是任何FPGA可實(shí)現(xiàn)的最高值。實(shí)際的應(yīng)用能夠處理每秒60幀的1080p圖像,同時(shí)提供120dB的高動(dòng)態(tài)范圍。
在HDR圖像信號(hào)處理中使用FPGA的優(yōu)點(diǎn)
低成本
如上所述,一個(gè)簡(jiǎn)單的低成本33KLUT FPGA可輕松處理一個(gè)1080p60流水線(xiàn)。使用Lattice ECP3-35實(shí)現(xiàn)的1080p60 HDR攝像機(jī)的元器件材料主要包括傳感器、FPGA和相關(guān)的時(shí)鐘振蕩器、電阻和電容、穩(wěn)壓器、一個(gè)HDMI連接器和鏡頭組裝。
高性能
顯示的實(shí)現(xiàn)提供了120dB的HDR、1080p60性能、業(yè)界最快的自動(dòng)曝光和極高質(zhì)量的自動(dòng)白平衡。
低功耗
LatticeECP3與競(jìng)爭(zhēng)對(duì)手FPGA或DSP相比,具有極低的靜態(tài)和動(dòng)態(tài)功耗。
DDR3支持:FPGA支持DDR3的使用。制造商希望在他們的設(shè)計(jì)中加入幀緩沖存儲(chǔ)器,可以利用這種功能在其攝像機(jī)設(shè)計(jì)中使用高性能、低成本的DDR3存儲(chǔ)器。
低功耗的SERDES:一個(gè)低功耗具有SERDES功能的FPGA使制造商能夠在FPGA中直接實(shí)現(xiàn)HDMI PHY,提供HDMI功能,無(wú)需增加一塊外部HDMI芯片的成本。
綜述
低成本、低功耗FPGA非常適合用于處理安防應(yīng)用中需要使用百萬(wàn)像素傳感器和攝像機(jī)中的HDR功能而引起的信號(hào)處理負(fù)荷的大量增加??删幊蘁PGA還提供了前所未有的靈活性。FPGA的實(shí)現(xiàn)提供了高動(dòng)態(tài)范圍的高性能ISP流水線(xiàn),其成本等于或低于傳統(tǒng)的圖像信號(hào)處理方法。
轉(zhuǎn)載請(qǐng)注明出處。