《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 基于低成本FPGA的高清低碼流H.264攝像機SoC參考設(shè)計

基于低成本FPGA的高清低碼流H.264攝像機SoC參考設(shè)計

2013-07-19
關(guān)鍵詞: FPGA SOC 攝像機
一.概述

目前高清H.264攝像機的核心SoC基本上都是ASIC,,而FPGA作為近年來發(fā)展迅速的可編程器件,,在高清H.264攝像機的SoC領(lǐng)域如何能有一席之地,?這是我們的設(shè)計需要實現(xiàn)的目標。


二.設(shè)計特點
與ASIC相比,,F(xiàn)PGA的特點是功能強,設(shè)計靈活,,隨時升級,,工作成果可以積累,NRE低,,但是芯片價格比ASIC貴,,所以必須找到一個可以達到價格平衡的應(yīng)用領(lǐng)域,我們根據(jù)這幾年智能手機和3G網(wǎng)絡(luò)發(fā)展迅猛的情況,,參考電信運營商第一代全球眼的技術(shù)指標,,直接把設(shè)計指標定位在碼流小于512kbps和分辨率為1280x720x25fps,目前在市面上可以實現(xiàn)這些指標的攝像機幾乎沒有,,這是FPGA的好機會,。
512kbps的碼流限制主要是考慮到ADSL和家庭光端機的上傳能力,而且也能利用3G上傳視頻,,減少了智能手機的碼流下載壓力,;1280x720是智能手機的主流分辨率,自然需要相應(yīng)的視頻源,,如果顯示D1或CIF,,效果肯定不理想。
我們的目標是做一個可以直接用于生產(chǎn)的參考設(shè)計,,除了設(shè)計指標先進,,我們還要考慮價格和實用,所以我們選擇了低成本的CYCLONE IV系列,,另外也實現(xiàn)了一般網(wǎng)絡(luò)攝像機的全部功能,,如H.264壓縮、720p25幀三碼流,、雙向語音,、重要區(qū)域和隱私區(qū)域的定義、智能分析,、移動檢測,、聲音偵測、POE供電等,;


三.實現(xiàn)高清低碼流H.264攝像機SoC的關(guān)鍵
一般來說,,1280×720×25fps的碼流在2Mbps左右,,如何降低碼流,?除了使用mail profile with cabac的H.264編碼器外,還需要對視頻圖像進行分析,而且要在幀率,、分辨率,、視頻質(zhì)量等方面權(quán)衡折中,在512kbps碼流下獲得最好的視頻效果,,為了達到這樣的目的,,需要復(fù)雜靈活的控制,F(xiàn)PGA可以滿足這樣的需求,。


四.高清低碼流H.264攝像機的結(jié)構(gòu)
高清低碼流H.264攝像機的結(jié)構(gòu)簡圖如下:

1.FPGA的選用
在高清低碼流H.264攝像機的結(jié)構(gòu)中,,除了圖像傳感器、存儲器,、電源和模擬接口外,,所有的功能如圖像處理、H.264編碼,、協(xié)議處理,、參數(shù)管理、媒體流發(fā)送等都由FPGA實現(xiàn),,F(xiàn)PGA就是高清低碼流H.264攝像機的SoC,;目前世界上FPGA的生產(chǎn)商只有幾個,可選擇的產(chǎn)品也不多,,要用FPGA實現(xiàn)高清低碼流H.264攝像機的SoC,,選擇一款合適的FPGA非常重要,F(xiàn)PGA的選擇主要考慮三方面的因素:速度,、成本和結(jié)構(gòu),;每個FPGA生產(chǎn)商都有多個FPGA系列,每個系列的速度,、性能和價格都不同,,要使高清低碼流H.264攝像機SoC的成本盡可能低,應(yīng)該選擇成本最低的系列,,像我們選擇的FPGA是Altera公司的CYCLONE IV系列,,型號是EP4CE115F23C8,CYCLONE IV是低成本系列,,在同樣是低成本系列的FPGA中,,CYCLONE IV的速度是最快的; FPGA的結(jié)構(gòu)對圖像處理也很重要,,尤其是存儲器和乘法器的數(shù)量,,H.264算法是以宏塊為單位,在處理過程中必然會涉及到宏塊的輸入輸出和緩存,,1個宏塊的數(shù)據(jù)為384字節(jié)(256字節(jié)亮度數(shù)據(jù)和128字節(jié)色度數(shù)據(jù)),,如果考慮到輸入輸出和處理的并行,必須設(shè)置雙份,即768字節(jié),,用CYCLONE IV的1個M9K存儲塊正好,,從上面的分析可以看出適合圖像處理的FPGA對內(nèi)部存儲器的要求是存儲塊容量小(如1KB),、存儲塊數(shù)量多,,另外,對乘法器的要求也是數(shù)量多,;在我們選擇FPGA的時候,,CYCLONE IV是在所有低成本FPGA中有最大的存儲器邏輯比和乘法器邏輯比,很適合做圖像處理,。


2.圖像傳感器的選擇
為了滿足1280x720x25fps的要求,,只需要選擇百萬像素的傳感器就可以了,我們最終選擇了300萬像素的AR0331,,還可以實現(xiàn)1920x1088x11fps,,在實現(xiàn)1280x720x25fps時還有電子PTZ功能,AR0331還有寬動態(tài)功能,,便于攝像機以后擴充寬動態(tài)功能,。


3.外部存儲器
外部存儲器有2片LP DDR SDRAM和1片串行FLASH,串行FLASH用于存儲FPGA的配置數(shù)據(jù)和NIOS的數(shù)據(jù)程序,,1片LP DDR SDRAM用于存儲圖像數(shù)據(jù)和編碼結(jié)果,,1片LP DDR SDRAM用于NIOSII運行ucLinux。


4.FPGA實現(xiàn)的功能
FPGA作為高清H.264攝像機的SoC實現(xiàn)的功能如下:
① 圖像處理
● 邊緣檢測RAW插值計算
簡單的RAW插值計算會造成邊緣模糊,,增加邊緣檢測判斷可以避免造成邊緣模糊,;
● 3D濾波
從圖像傳感器出來的圖像包含有噪聲,去噪同時在幀間和幀內(nèi)進行,;
● 2D銳化
由于鏡頭等因素影響,,從圖像傳感器出來的圖像需要銳化才能清晰;
● GAMMA校正
從圖像傳感器出來的圖像灰度不正確,,需要做GAMMA校正,,獲得正確的灰度;
● 自動曝光控制
根據(jù)亮度條件調(diào)節(jié)適合的曝光參數(shù),;
● OSD顯示
可以疊加2048位圖像,,圖像以宏塊為單位,結(jié)構(gòu)可以有128x1,、64x2,、32x4、16x8,、8x16,、4x32,、2x64、1x128等選擇,,在屏幕的位置可以設(shè)置;
● 區(qū)域管理
可以定義隱私區(qū)域,、運動檢測區(qū)域等,;
② 編碼處理
● 編碼格式
用H.264 main profile with cabac算法編碼,可以提高壓縮率,,減少碼流,;由于完全實現(xiàn)H.264的全部算法需要大量的資源,需要很大容量的FPGA,,這是不現(xiàn)實的,,如我們用1個測試序列做過測試,2個參考幀比1個參考幀的壓縮率提高了5%,,但是2個參考幀的處理要比1個參考幀的處理需要多遠不止5%的資源,,對于一些很復(fù)雜而壓縮率提高不多的方法我們暫時不采用,降低碼流是1個系統(tǒng)性的工作,,需要從多個環(huán)節(jié)考慮,;另外我們必須保證算法的準確,以免在解碼端產(chǎn)生誤差,; 
● 編碼能力
最大為1280x720x25fps,,如果需要同時編碼多路碼流,需要考慮3路碼流的每秒宏塊編碼數(shù)量之和不能大于90000,,如1280x720x23fps+320x180x23fps,,1136x640x24fps+568x320x24fps+284x160x24fps等;
● 圖像質(zhì)量控制
編碼量化參數(shù)調(diào)整范圍:24~41,,值小碼流大,,圖像質(zhì)量好,值大碼流小,,圖像質(zhì)量差,;
● 碼流控制
碼流控制方式為CBR,控制平均碼流,;
③ 網(wǎng)絡(luò)處理
● 網(wǎng)絡(luò)速度峰值
目前網(wǎng)絡(luò)接口使用全雙工100M以太網(wǎng),,由于圖像的編碼數(shù)據(jù)量是不均勻的,I幀的編碼數(shù)據(jù)量大,,P幀的編碼數(shù)據(jù)量小,,所以數(shù)據(jù)量呈脈沖式分布,在傳輸I幀的編碼數(shù)據(jù)時盡量采用大的網(wǎng)絡(luò)速度有利于減少延遲,,但是應(yīng)該考慮到ADSL的承受能力,,可以設(shè)置1~70M的網(wǎng)絡(luò)速度峰值,;
● 碼流均值
碼流均值是1秒種傳送的數(shù)據(jù)量,可以設(shè)置16Kbps~8128Kbps的碼流均值,;CBR的碼流控制方式就是根據(jù)碼流均值來進行的,;
● 碼流緩沖
由于編碼數(shù)據(jù)量呈脈沖式分布,當編碼的數(shù)據(jù)產(chǎn)生速度高于網(wǎng)絡(luò)速度峰值時,,編碼數(shù)據(jù)就需要緩存在LP DDR SDRAM,,否則就會丟失;
● 協(xié)議
TCP,、RTP,、RTSP、DHCP,、NTP,、HTTP、FTP,、SMTP和DDNS,;
④ 管理
● NIOS II
NIOS II是內(nèi)置CPU,運行ucLinux,,負責媒體流數(shù)據(jù)的緩沖和打包發(fā)送,;
● 參數(shù)(通過WEB提供)
接收參數(shù)設(shè)置和更新,保留2份參數(shù),,1份是出廠時的參數(shù),,1份是實際使用的參數(shù),在正常加電時實際使用的參數(shù)起作用,,按復(fù)位鍵時出廠時的參數(shù)起作用,;
● 升級(通過WEB提供)
FLASH里面保存兩個配置數(shù)據(jù),1個是出廠時的配置數(shù)據(jù),,1個是升級后的配置數(shù)據(jù),,當按復(fù)位鍵和升級配置數(shù)據(jù)加載失敗時按出廠時的配置數(shù)據(jù)進行加載,否則按升級配置數(shù)據(jù)加載,;
● 報警接口(通過WEB提供)
提供報警信號的上傳功能,;
⑤ 音頻
支持雙向64kbits ALaw和16kbits/32kbitsADPCM的收發(fā),聲音偵測,。


五.結(jié)束語
用FPGA作為SoC的高清低碼流H.264攝像機已經(jīng)完成設(shè)計,,達到設(shè)計目標,視頻質(zhì)量清晰流暢,,完全滿足智能手機作為監(jiān)控終端的要求,。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。