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