【摘要】 就如何采用低成本FPGA來(lái)實(shí)現(xiàn)高清晰監(jiān)視系統(tǒng)的主流方案進(jìn)行分析研究。
【關(guān)鍵詞】 FPGA;視頻監(jiān)視;HD監(jiān)視攝像機(jī)
視頻監(jiān)視這一新的視頻市場(chǎng)應(yīng)用逐步向高清晰技術(shù)(HD)過(guò)渡,需要性能相對(duì)較高的視頻處理能力。HD監(jiān)視攝像機(jī)采用高質(zhì)量H.264編碼器對(duì)圖像直接進(jìn)行編碼,圖像可以通過(guò)標(biāo)準(zhǔn)以太網(wǎng)連接實(shí)現(xiàn)無(wú)失真?zhèn)鬏敗?duì)HD視頻流實(shí)時(shí)編碼的主要類(lèi)H.264編碼器需要采用結(jié)合了高性能信號(hào)處理架構(gòu)和低成本、低功耗特性的硬件平臺(tái),最新一代低成本FPGA成為實(shí)現(xiàn)這種平臺(tái)的理想選擇。介紹HD監(jiān)視攝像機(jī)的體系結(jié)構(gòu),以及怎樣采用低成本FPGA構(gòu)建整個(gè)系統(tǒng)。
HD監(jiān)視攝像機(jī)體系結(jié)構(gòu)
新的高清晰IP攝像機(jī)是所有IP聯(lián)網(wǎng)數(shù)字系統(tǒng)的終端設(shè)備。這些IP攝像機(jī)采集HD視頻,經(jīng)過(guò)預(yù)處理、編碼,通過(guò)以太網(wǎng)發(fā)送編碼后的數(shù)據(jù)流。所有信號(hào)處理功能都必須在一個(gè)器件中實(shí)現(xiàn),以滿足這類(lèi)系統(tǒng)苛刻的成本和功耗要求。
(圖1所示為這類(lèi)攝像機(jī)的頂層體系結(jié)構(gòu))。除了編碼引擎,高性價(jià)比設(shè)計(jì)還集成了攝像傳感器預(yù)處理功能、幀緩沖存儲(chǔ)控制器、用于系統(tǒng)控制的嵌入式處理器,以及以太網(wǎng)MAC。目的是提高整個(gè)系統(tǒng)的集成度,降低成本和功耗。

這一設(shè)計(jì)包括攝像傳感器前端模塊、視頻壓縮模塊、以太網(wǎng)MAC模塊、嵌入式處理器,以及向所有其他模塊提供存儲(chǔ)功能的多端口幀緩沖。
多端口幀緩沖用作匯集器。所有其他模塊與幀緩沖進(jìn)行雙向數(shù)據(jù)傳送,和別的模塊進(jìn)行通信。攝像傳感器接收到的視頻圖像被送入攝像傳感器前端模塊。攝像傳感器前端模塊處理視頻數(shù)據(jù),將視頻存儲(chǔ)到幀緩沖中。然后,H.264編碼器讀取幀緩沖中的視頻數(shù)據(jù),完成編碼過(guò)程。H.264編碼器將壓縮后的比特流送回幀緩沖,進(jìn)行存儲(chǔ)。最后,以太網(wǎng)MAC模塊讀取幀緩沖中壓縮后的比特流,將其發(fā)送至以太網(wǎng)。
采用這種集成方式,電路板上的其他元件只有攝像傳感器、DDR2-SDRAM、閃存和以太網(wǎng)PHY芯片(圖2所示為這類(lèi)系統(tǒng)的各個(gè)組成部分)。

詳細(xì)設(shè)計(jì)
H.264編碼器模塊
該設(shè)計(jì)中使用的H.264編碼器是EyeLytics公司提供的IP內(nèi)核,它針對(duì)監(jiān)視應(yīng)用進(jìn)行了優(yōu)化。這一內(nèi)核具有很多監(jiān)視功能,包括多通道支持、恒定質(zhì)量速率控制、幀內(nèi)/幀間模式、QPEL、CABAC,并且邏輯門(mén)數(shù)量較少。
“Raster to Block”模塊(圖3左側(cè)所示)按照光柵掃描順序讀取來(lái)自幀緩沖的圖像,以宏模塊格式重新排列這些圖像。然后,將其發(fā)送至運(yùn)動(dòng)估算引擎和空間估算引擎。運(yùn)動(dòng)估算引擎讀取來(lái)自幀緩沖的參考圖像,搜索參考圖像,找到當(dāng)前宏模塊的運(yùn)動(dòng)矢量。運(yùn)動(dòng)估算引擎還確定了每一宏模塊所使用的最佳劃分。

H.264規(guī)范支持4種不同的幀間預(yù)測(cè)宏模塊劃分以及4種不同的子宏模塊劃分。最佳運(yùn)動(dòng)矢量和最佳劃分以及相應(yīng)的估算宏模塊編碼成本被送至模式確定模塊。最佳運(yùn)動(dòng)矢量和最佳劃分信息還被送至運(yùn)動(dòng)補(bǔ)償引擎。運(yùn)動(dòng)補(bǔ)償引擎獲得相應(yīng)的參考區(qū),完成半象素和四分之一象素濾波,為當(dāng)前宏模塊產(chǎn)生幀間預(yù)測(cè)。
空間估算引擎使用同一圖像中相鄰象素值,找到當(dāng)前宏模塊的最佳估算值。H.264規(guī)范共定義了9種幀內(nèi)4x4亮度模式、4種幀內(nèi)16x16亮度模式和4種幀內(nèi)色度模式。空間估算引擎確定當(dāng)前宏模塊中使用的最佳亮度和色度模式。最佳模式以及相應(yīng)的估算宏模塊編碼成本被送至模式確定模塊。模式確定模塊比較宏模塊編碼成本,確定要使用的最佳預(yù)測(cè)。預(yù)測(cè)可以是幀內(nèi)或者幀間預(yù)測(cè)。最佳幀內(nèi)模式被發(fā)送至幀內(nèi)預(yù)測(cè)引擎。幀內(nèi)預(yù)測(cè)引擎使用鄰近象素值為當(dāng)前宏模塊產(chǎn)生幀內(nèi)預(yù)測(cè)。
基于模式確定結(jié)果,變換和量化引擎從當(dāng)前宏模塊中提取出預(yù)測(cè)值。然后,它進(jìn)行變換和量化,產(chǎn)生量化系數(shù)。宏模塊信息采集器收集量化系數(shù)和其他宏模塊信息,例如,運(yùn)動(dòng)矢量、幀間預(yù)測(cè)模式和幀內(nèi)預(yù)測(cè)模式等。采集信息被送至CABAC模塊,產(chǎn)生最終的比特流。使用基于前后關(guān)系的自適應(yīng)二進(jìn)制算法編碼來(lái)完成這一工作。得到的比特流被送至幀緩沖。
通過(guò)以下三步來(lái)產(chǎn)生運(yùn)動(dòng)估算引擎和運(yùn)動(dòng)補(bǔ)償引擎使用的參考圖像:逆量化、逆變換和解塊。解塊模塊減少了圖像中的塊狀假象。將處理后的圖像發(fā)送至幀緩沖,用作下一幀周期的參考圖像。
目前基于DSP SoC的方案在監(jiān)控市場(chǎng)占主流地位。一些FPGA廠商希望能在差異化和客戶定制化方面顯示出自己的優(yōu)勢(shì)。通過(guò)針對(duì)監(jiān)控應(yīng)用將FPGA器件和MPU/DSP結(jié)合在一起,設(shè)計(jì)師能從可編程協(xié)處理器的固有靈活性中得到好處,還可利用FPGA將精力集中在開(kāi)發(fā)算法上,以充分利用MPU/DSP的處理能力。