<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的高清低碼流H.264攝像機設計

基于FPGA的高清低碼流H.264攝像機設計

作者: 時(shí)間:2014-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:本文提出了一種基于低成本的高清低碼流安防攝像機SoC實(shí)現方式,該設計已經(jīng)完全實(shí)現,開(kāi)創(chuàng )了高清低碼流安防攝像機SoC的先河。

本文引用地址:http://dyxdggzs.com/article/247781.htm

1. 概述

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

2. 設計特點(diǎn)

與ASIC相比,的特點(diǎn)是功能強,設計靈活,隨時(shí)升級,工作成果可以積累,NRE低,但是芯片價(jià)格比ASIC貴,所以必須找到一個(gè)可以達到價(jià)格平衡的應用領(lǐng)域,我們根據這幾年智能手機和3G網(wǎng)絡(luò )發(fā)展迅猛的情況,參考電信運營(yíng)商第一代全球眼的技術(shù)指標,直接把設計指標定位在碼流小于512kbps和分辨率為1280x720x25fps,目前在市面上可以實(shí)現這些指標的攝像機幾乎沒(méi)有,這是FPGA的好機會(huì )。

512kbps的碼流限制主要是考慮到ADSL和家庭光端機的上傳能力,而且也能利用3G上傳視頻,減少了智能手機的碼流下載壓力;1280x720是智能手機的主流分辨率,自然需要相應的視頻源,如果顯示D1或CIF,效果肯定不理想。

我 們的目標是做一個(gè)可以直接用于生產(chǎn)的參考設計,除了設計指標先進(jìn),我們還要考慮價(jià)格和實(shí)用,所以我們選擇了低成本的CYCLONE IV系列,另外也實(shí)現了一般網(wǎng)絡(luò )攝像機的全部功能,如壓縮、720p25幀三碼流、雙向語(yǔ)音、重要區域和隱私區域的定義、智能分析、移動(dòng)檢測、 聲音偵測、POE供電等;

3. 實(shí)現高清低碼流H.264攝像機SoC的關(guān)鍵

一般來(lái)說(shuō),1280×720×25fps的碼流在2Mbps左右,如何降低碼流?除了使用mail profile with cabac的H.264編碼器外,還需要對視頻圖像進(jìn)行分析,而且要在幀率、分辨率、視頻質(zhì)量等方面權衡折中,在512kbps碼流下獲得最好的視頻效果,為了達到這樣的目的,需要復雜靈活的控制,FPGA可以滿(mǎn)足這樣的需求。

4. 高清低碼流H.264攝像機的結構

高清低碼流H.264攝像機的結構簡(jiǎn)圖如下:

 

 

圖1 高清低碼流H.264攝像機的結構圖

FPGA的內部結構如下圖所示:

 

 

圖2 FPGA的內部結構圖

FPGA的選用

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

圖像傳感器的選擇

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

外部存儲器

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

FPGA實(shí)現的功能

FPGA作為高清H.264攝像機的SoC實(shí)現的功能如下:

① 圖像處理

● 邊緣檢測RAW插值計算

簡(jiǎn)單的RAW插值計算會(huì )造成邊緣模糊,增加邊緣檢測判斷可以避免造成邊緣模糊;

● 3D濾波

從圖像傳感器出來(lái)的圖像包含有噪聲,去噪同時(shí)在幀間和幀內進(jìn)行;

● 2D銳化

由于鏡頭等因素影響,從圖像傳感器出來(lái)的圖像需要銳化才能清晰;

● GAMMA校正

從圖像傳感器出來(lái)的圖像灰度不正確,需要做GAMMA校正,獲得正確的灰度;

● 自動(dòng)曝光控制

根據亮度條件調節適合的曝光參數;

● OSD顯示

可以疊加2048位圖像,圖像以宏塊為單位,結構可以有128x1、64x2、32x4、16x8、8x16、4x32、2x64、1x128等選擇,在屏幕的位置可以設置;

● 區域管理

可以定義隱私區域、運動(dòng)檢測區域等;

② 編碼處理

● 編碼格式

用H.264 main profile with cabac算法編碼,可以提高壓縮率,減少碼流;由于完全實(shí)現H.264的全部算法需要大量的資源,需要很大容量的FPGA,這是不現實(shí)的,如我們用1個(gè)測試序列做過(guò)測試,2個(gè)參考幀比1個(gè)參考幀的壓縮率提高了5%,但是2個(gè)參考幀的處理要比1個(gè)參考幀的處理需要多遠不止5%的資源,對于一些很復雜而壓縮 率提高不多的方法我們暫時(shí)不采用,降低碼流是1個(gè)系統性的工作,需要從多個(gè)環(huán)節考慮;另外我們必須保證算法的準確,以免在解碼端產(chǎn)生誤差;

● 編碼能力

最大為1280x720x25fps,如果需要同時(shí)編碼多路碼流,需要考慮3路碼流的每秒宏塊編碼數量之和不能大于90000,如 1280x720x23fps+320x180x23fps,1136x640x24fps+568x320x24fps+284x160x24fps 等;

● 圖像質(zhì)量控制

編碼量化參數調整范圍:24~41,值小碼流大,圖像質(zhì)量好,值大碼流小,圖像質(zhì)量差;

● 碼流控制

碼流控制方式為CBR,控制平均碼流;

③ 網(wǎng)絡(luò )處理

● 網(wǎng)絡(luò )速度峰值

目前網(wǎng)絡(luò )接口使用全雙工100M以太網(wǎng),由于圖像的編碼數據量是不均勻的,I幀的編碼數據量大,P幀的編碼數據量小,所以數據量呈脈沖式分布,在傳輸I幀的 編碼數據時(shí)盡量采用大的網(wǎng)絡(luò )速度有利于減少延遲,但是應該考慮到ADSL的承受能力,可以設置1~70M的網(wǎng)絡(luò )速度峰值;

● 碼流均值

碼流均值是1秒種傳送的數據量,可以設置16Kbps~8128Kbps的碼流均值;CBR的碼流控制方式就是根據碼流均值來(lái)進(jìn)行的;

● 碼流緩沖

由于編碼數據量呈脈沖式分布,當編碼的數據產(chǎn)生速度高于網(wǎng)絡(luò )速度峰值時(shí),編碼數據就需要緩存在LP DDR SDRAM,否則就會(huì )丟失;

● 協(xié)議

TCP、RTP、RTSP、DHCP、NTP、HTTP、FTP、SMTP和DDNS;

④ 管理

● NIOS II

NIOS II是內置CPU,運行ucLinux,負責媒體流數據的緩沖和打包發(fā)送;

● 參數(通過(guò)WEB提供)

接收參數設置和更新,保留2份參數,1份是出廠(chǎng)時(shí)的參數,1份是實(shí)際使用的參數,在正常加電時(shí)實(shí)際使用的參數起作用,按復位鍵時(shí)出廠(chǎng)時(shí)的參數起作用;

● 升級(通過(guò)WEB提供)

FLASH里面保存兩個(gè)配置數據,1個(gè)是出廠(chǎng)時(shí)的配置數據,1個(gè)是升級后的配置數據,當按復位鍵和升級配置數據加載失敗時(shí)按出廠(chǎng)時(shí)的配置數據進(jìn)行加載,否則按升級配置數據加載;

● 報警接口(通過(guò)WEB提供)

提供報警信號的上傳功能;

⑤ 音頻

支持雙向64kbits ALaw和16kbits/32kbitsADPCM的收發(fā),聲音偵測。

5. 結束語(yǔ)

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

fpga相關(guān)文章:fpga是什么


存儲器相關(guān)文章:存儲器原理




關(guān)鍵詞: FPGA H.264

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>