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