如何用FPGA構(gòu)建IP監(jiān)視攝像機(jī)的參考設(shè)計(jì)
目前的視頻監(jiān)視市場在發(fā)展過程中遇到了很多要解決的難題,包括從模擬到數(shù)字?jǐn)z像機(jī)的過渡、轉(zhuǎn)換到高清(HD)視頻、應(yīng)用寬動(dòng)態(tài)范圍(WDR)傳感器,以及實(shí)現(xiàn)進(jìn)行數(shù)據(jù)傳輸和控制的互聯(lián)網(wǎng)協(xié)議(IP)鏈接等。針對這些問題,本文介紹了如何采用FPGA構(gòu)建IP監(jiān)視攝像機(jī)的參考設(shè)計(jì),展示了怎樣采用低成本AlteraCycloneIIIFPGA構(gòu)建完整的系統(tǒng)。
引言
在視頻監(jiān)視市場領(lǐng)域,對更高質(zhì)量視頻、高分辨率以及靈活性和功能的需求促進(jìn)了從模擬到數(shù)字?jǐn)z像機(jī)的過渡。在定義上,高清(HD)視頻必須是數(shù)字的,因此,采用HD標(biāo)準(zhǔn)也就意味著過渡到數(shù)字傳感器。HD視頻標(biāo)準(zhǔn)支持更高的幀速率和分辨率,需要H.264等新壓縮方法,促使攝像機(jī)具有更強(qiáng)的處理能力。
在各種照明條件(強(qiáng)光和暗光、強(qiáng)對比度)下都要求能夠提取出所有圖像內(nèi)容,因此,數(shù)字?jǐn)z像機(jī)采用了新一類WDR傳感器,攝像機(jī)也要求在數(shù)字域中實(shí)現(xiàn)動(dòng)態(tài)范圍壓縮。攝像機(jī)中數(shù)字?jǐn)?shù)據(jù)通路的另一優(yōu)點(diǎn)是可以在攝像機(jī)內(nèi)部進(jìn)行“分析”處理。
IP監(jiān)視攝像機(jī)參考設(shè)計(jì)
IP監(jiān)視攝像機(jī)參考設(shè)計(jì)的頂層結(jié)構(gòu)圖和硬件,它主要面向新一代HD(>1MP)WDR傳感器。IP監(jiān)視攝像機(jī)參考設(shè)計(jì)結(jié)合了Altera以及多家合作伙伴的硬件和軟件知識產(chǎn)權(quán)。圖1.IP監(jiān)視攝像機(jī)參考設(shè)計(jì)結(jié)構(gòu)圖。
參考設(shè)計(jì)的硬件平臺,基于CycloneIIIEP3C120開發(fā)板。AptinaWDR傳感器像素?cái)?shù)據(jù)被送入Apical的圖像傳感器流水線(ISP)。輸出數(shù)據(jù)是YUV4:2:0格式,寫入到外部DDR2SDRAM的幀緩沖中,它使用了Altera視頻和圖像處理(VIP)套裝提供的組件。然后,使用EyeLytics提供的內(nèi)核,以H.264格式對視頻數(shù)據(jù)進(jìn)行編碼,支持(在這一應(yīng)用中)3級基線/主要類視頻流,通過以太網(wǎng)在遠(yuǎn)程主機(jī)上觀看。散射收集直接存儲器訪問(SGDMA)控制器支持Altera三速以太網(wǎng)(TSE)MegaCore?功能,將編碼后的視頻流通過以太網(wǎng)傳送到遠(yuǎn)程客戶端。圖2.IP監(jiān)視攝像機(jī)參考設(shè)計(jì)硬件
寬動(dòng)態(tài)范圍傳感器
AptinaMT9M033是0.33"720p60WDRCMOS傳感器,主要用于監(jiān)視攝像機(jī)市場。傳感器和鏡頭組合安裝在“頂板”上,通過I/O轉(zhuǎn)換板將其連接至CycloneIIIEP3C120開發(fā)板。圖像傳感器流水線CMOSWDR傳感器沒有片內(nèi)圖像流水線處理功能,以RAW/Bayer格式輸出圖像數(shù)據(jù),每像素為20比特。可以采用下式來計(jì)算傳感器輸出的大量原始數(shù)據(jù):20比特/像素x(1280x720)像素/幀x60幀/s=>1Gbit/s由于數(shù)據(jù)量過大,因此,很難將新一代WDR傳感器連接至監(jiān)視解決方案中經(jīng)常使用的ASSP。因此,F(xiàn)PGA是高效處理數(shù)據(jù)的理想選擇。Apical的ISP包括以下功能:
■去除熱點(diǎn)像素,抑制噪聲(提供空間和時(shí)域IP內(nèi)核)。
■使用Apical獲獎(jiǎng)的專利IridixIP內(nèi)核實(shí)現(xiàn)單位像素高級色調(diào)映射功能
■高級去馬賽克和顏色校正
ISP輸出可以作為參考設(shè)計(jì)的一個(gè)選項(xiàng),通過BitecDVI輸出電路板連接至CycloneEP3C120開發(fā)板的第二個(gè)HSMC連接器(顯示在圖2的左側(cè)硬件中)。
視頻和圖像處理套裝
AlteraVIP套裝匯集了MegaCore功能,設(shè)計(jì)人員可以利用它方便的開發(fā)定制視頻和圖像處理設(shè)計(jì)。VIP套裝含有MegaCore功能,從顏色空間轉(zhuǎn)換等簡單的構(gòu)建模塊功能到可編程多相縮放等復(fù)雜的視頻縮放功能。這些功能適合用在多種圖像處理和顯示應(yīng)用中,例如視頻監(jiān)視、廣播、視頻會(huì)議、醫(yī)療和軍事成像等。
在IP監(jiān)視攝像機(jī)參考設(shè)計(jì)中,采用了多種VIP內(nèi)核進(jìn)行顏色空間轉(zhuǎn)換,采用色度重新采樣功能將ISP的RGB編碼視頻轉(zhuǎn)換為H.264編碼器要求的YUV4:2:0編碼輸入。如圖5所示,內(nèi)核連接至應(yīng)用了Avalon-ST視頻協(xié)議的Avalon?流(Avalon-ST)接口。使用Avalon存儲器映射(Avalon-MM)接口,Y和C視頻分量被寫入外部DDR2存儲器的幀緩沖。
在H.264編碼之前,跳過視頻間隔幀,在幀緩沖寫入器中,720p60傳感器幀速率被轉(zhuǎn)換為720p30,而不是將其寫入幀緩沖中。
視頻壓縮
該設(shè)計(jì)中使用的H.264編碼器是EyeLytics公司提供的IP內(nèi)核,它針對監(jiān)視應(yīng)用進(jìn)行了優(yōu)化。這一內(nèi)核具有很多監(jiān)視功能,包括多通道支持、恒定質(zhì)量速率控制、幀內(nèi)/幀間模式、QPEL、前后關(guān)系自適應(yīng)二進(jìn)制算法編碼(CABAC)/前后關(guān)系自適應(yīng)長度可變編碼(CAVLC),并且使用了較少的邏輯門。內(nèi)核同時(shí)支持主要類和基線類。
三速以太網(wǎng)MAC
AlteraTSEMegaCore功能結(jié)合了10-/100-/1000-Mbps以太網(wǎng)介質(zhì)訪問控制器(MAC)和1000BASE-X物理編碼子層(PCS),以及可選物理介質(zhì)附加子層(PMA)。CycloneIIIEP3C120開發(fā)板包括10/100/1000base-T和自動(dòng)協(xié)商以太網(wǎng)PHY,其簡化千兆位介質(zhì)無關(guān)接口(RGMII)連接至TSE功能。
Avalon總線架構(gòu)和DDR2幀緩沖存儲器采用了一塊具有150MHz32位數(shù)據(jù)總線的外部DDR2SDRAM,由AlteraDDR和DDR2SDRAM高性能II控制器MegaCore功能對其進(jìn)行控制,它用于應(yīng)用程序代碼和數(shù)據(jù)存儲、輸入和輸出幀緩沖以及H.264編碼器的中間幀緩沖。為達(dá)到時(shí)序和性能目標(biāo),Avalon-MM總線架構(gòu)是75MHz128位寬。Avalon仲裁共享功能應(yīng)用于連接DDR2存儲器控制器的每一Avalon-MM總線主機(jī),以保證不中斷的高效訪問H.264編碼器的突發(fā)數(shù)據(jù)。整個(gè)系統(tǒng)采用了時(shí)鐘交叉橋接、定時(shí)器和并行I/O等多種標(biāo)準(zhǔn)Avalon組件。
工具流
使用AlteraSOPCBuilder工具,以完整的芯片系統(tǒng)(SOC)來實(shí)現(xiàn)IP監(jiān)視攝像機(jī)參考設(shè)計(jì)。使用SOPCBuilder,設(shè)計(jì)人員在GUI中設(shè)定系統(tǒng)組件,由SOPCBuilder自動(dòng)產(chǎn)生互聯(lián)邏輯。SOPCBuilder產(chǎn)生定義系統(tǒng)中所有組件的HDL文件,然后,頂層HDL文件將所有組件連接起來。在VerilogHDL中生成IP監(jiān)視攝像機(jī)參考設(shè)計(jì),而SOPCBuilder能夠同時(shí)生成VerilogHDL和VHDL。
ISP和H.264編碼器可以是具有Avalon-MM接口的SOPCBuilder組件,易于集成到Altera具有標(biāo)準(zhǔn)外設(shè)的系統(tǒng)中,以及第三方IP和設(shè)計(jì)人員自己的組件構(gòu)成的系統(tǒng)中。SOPCBuilder含在AlteraQuartus?II開發(fā)軟件中,提供了全面的多平臺設(shè)計(jì)環(huán)境,很容易滿足特殊的設(shè)計(jì)需求。QuartusII軟件為FPGA和CPLD設(shè)計(jì)的所有階段提供解決方案:
■設(shè)計(jì)輸入
■綜合
■布局布線
■時(shí)序分析
■仿真
■編程和配置
使用AlteraNios?II嵌入式設(shè)計(jì)套裝進(jìn)行軟件開發(fā)。基于SOPCBuilder設(shè)計(jì)中的組件,生成電路板支持包(BSP),包括所有必須的器件驅(qū)動(dòng)程序等。
軟件應(yīng)用
采用NiosII嵌入式處理器來設(shè)置不同模塊中的各種寄存器,同時(shí)運(yùn)行RTP堆棧,傳送壓縮視頻。采用以太網(wǎng)MAC模塊來控制ISP,嵌入式處理器運(yùn)行Micrium的uC/OSII實(shí)時(shí)內(nèi)核、InterNiche技術(shù)公司的NicheStack和RTP堆棧,以及Altera參考設(shè)計(jì)的視頻流應(yīng)用程序和網(wǎng)絡(luò)服務(wù)器應(yīng)用程序。處理器還處理ISP的自動(dòng)曝光和自動(dòng)白平衡控制功能。
視頻流應(yīng)用程序響應(yīng)H.264編碼器的中斷,重新裝入各種緩沖指針。重新裝入功能使其能夠準(zhǔn)備要編碼的下一視頻幀,將剛剛編碼后的幀通過以太網(wǎng)傳送至RTP堆棧,以便繼續(xù)傳輸。通過網(wǎng)絡(luò)服務(wù)器應(yīng)用程序,支持ISP進(jìn)行簡單的控制,使傳感器在正常和WDR模式之間切換,使能和禁止Iridix。這種控制功能具有實(shí)時(shí)顯示ISP的優(yōu)勢。網(wǎng)絡(luò)服務(wù)器應(yīng)用程序還支持對編碼器進(jìn)行配置,包括比特率和質(zhì)量等,在CABAC和CAVLC之間進(jìn)行選擇。
主機(jī)軟件
運(yùn)行VLC媒體播放器(或者類似的)的主機(jī)PC用于查看IP監(jiān)視攝像機(jī)參考設(shè)計(jì)的流視頻輸出。如圖7所示,主機(jī)和EP3C120開發(fā)套件之間需要的唯一鏈接是以太網(wǎng)電纜。
性能:IP監(jiān)視攝像機(jī)參考設(shè)計(jì)的性能指標(biāo)包括速度、延時(shí)、功耗和資源利用率。
速度:在CycloneIIIEP3C120I7開發(fā)板上實(shí)現(xiàn)參考設(shè)計(jì)時(shí),DDR時(shí)鐘頻率為150MHz,足以使用H.264基線類或者主要類來壓縮720p30視頻幀。Avalon-MM總線架構(gòu)運(yùn)行在75MHz,H.264編碼器內(nèi)核運(yùn)行在150MHz。DDR2存儲器控制器、Avalon-MM總線架構(gòu)以及H.264內(nèi)核通過同步半速率橋接進(jìn)行連接,以減小時(shí)鐘域之間的延時(shí)。NiosII處理器和TSE的時(shí)鐘為125MHz。采用了NiosII/F(快速)版的NiosII處理器,具有8-Kbyte指令高速緩存、8-Kbyte數(shù)據(jù)高速緩存,并且支持浮點(diǎn)。
延時(shí):從傳感器輸入到ISP,直至H.264編碼器輸出的延時(shí)小于兩幀,它主要來自圖像數(shù)據(jù)的雙緩沖。在對以前的幀進(jìn)行編碼時(shí)總是將新輸入幀寫入存儲器。
功耗:參考設(shè)計(jì)總功耗包括所有的輔助模塊和I/O的功耗,達(dá)到2.7W。表1顯示了參考設(shè)計(jì)中使用的每一主要模塊的功耗。其余的700mW來自Avalon總線架構(gòu)、顏色空間轉(zhuǎn)換和參考設(shè)計(jì)的I/O附件。
資源利用率:在CycloneEP3C120中實(shí)現(xiàn)整個(gè)參考設(shè)計(jì)時(shí),其資源利用率為:
■107K邏輯單元(LE)(90%器件利用率)■410M9K嵌入式存儲器(95%器件利用率)■140個(gè)嵌入式乘法器9位單元(24%器件利用率)
靈活性
基于FPGA的體系結(jié)構(gòu)非常靈活,可以進(jìn)行定制,完全能夠在大家都了解的標(biāo)準(zhǔn)硬件平臺上實(shí)現(xiàn)。通過這種靈活性,可以增強(qiáng)和修改系統(tǒng)體系結(jié)構(gòu),以適應(yīng)不同的系統(tǒng)需求。由于采用了標(biāo)準(zhǔn)HDL來實(shí)現(xiàn)設(shè)計(jì),因此,很容易提高攝像機(jī)分辨率,增加定制視頻處理功能或者視頻分析引擎。而且,還可以通過以太網(wǎng)進(jìn)行遠(yuǎn)程更新。例如,把新的FPGA編程文件發(fā)送至NiosII嵌入式處理器,然后將文件寫入閃存,從而重新配置系統(tǒng)或者改變傳感器和ISP設(shè)置。在單片F(xiàn)PGA中集成整個(gè)IP監(jiān)視攝像機(jī)參考設(shè)計(jì)減少了芯片數(shù)量,節(jié)省了PCB空間。
不需要與外部器件進(jìn)行通信,從而減少了I/O鏈接,降低了動(dòng)態(tài)功耗,解決了散熱問題。針對個(gè)性化需求,使用不同的FPGA圖像(例如,分辨率、幀速率和壓縮選項(xiàng)),在一個(gè)系統(tǒng)設(shè)計(jì)中便能夠支持多種個(gè)性化攝像機(jī)。通過縱向移植,可以在同一封裝中使用不同邏輯密度的器件。而且,設(shè)計(jì)可以在任意FPGA上實(shí)現(xiàn),采用開放設(shè)計(jì)方案使設(shè)計(jì)人員能夠針對最新的FPGA進(jìn)行設(shè)計(jì),有了更新的FPGA系列后,可以進(jìn)一步提高性能,降低成本和功耗。
結(jié)論
Altera的CycloneIII和CycloneIV系列低成本FPGA解決了目前最新IP監(jiān)視系統(tǒng)設(shè)計(jì)人員所面臨的難題。通過IP監(jiān)視攝像機(jī)參考設(shè)計(jì),Altera及其合作伙伴提供了從圖像采集到IP包封的全面解決方案,使用集成在AlteraSOPCBuilder工具中的系列MegaCore功能來提供靈活的解決方案,促使產(chǎn)品及時(shí)面市。
評論