資源描述:
《基于低成本FPGA的高清低碼流H.264編碼器》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、基于低成本FPGA的高清低碼流H.264攝像機SoC參考設計時間:2013年07月19日關鍵詞:FPGASoC攝像機一.概述目前高清H.264攝像機的核心SoC基本上都是ASIC,而FPGA作為近年來發(fā)展迅速的可編程器件,在高清H.264攝像機的SoC領域如何能有一席之地?這是我們的設計需要實現(xiàn)的目標。二.設計特點與ASIC相比,F(xiàn)PGA的特點是功能強,設計靈活,隨時升級,工作成果可以積累,NRE低,但是芯片價格比ASIC貴,所以必須找到一個可以達到價格平衡的應用領域,我們根據(jù)這幾年智能手機和3G網(wǎng)絡發(fā)展迅猛的情況,參考電信運營商第一代全球眼的技術指標,直接把設計指標定位在碼流小于512kbp
2、s和分辨率為1280x720x25fps,目前在市面上可以實現(xiàn)這些指標的攝像機幾乎沒有,這是FPGA的好機會。512kbps的碼流限制主要是考慮到ADSL和家庭光端機的上傳能力,而且也能利用3G上傳視頻,減少了智能手機的碼流下載壓力;1280x720是智能手機的主流分辨率,自然需要相應的視頻源,如果顯示D1或CIF,效果肯定不理想。我們的目標是做一個可以直接用于生產(chǎn)的參考設計,除了設計指標先進,我們還要考慮價格和實用,所以我們選擇了低成本的CYCLONEIV系列,另外也實現(xiàn)了一般網(wǎng)絡攝像機的全部功能,如H.264壓縮、720p25幀三碼流、雙向語音、重要區(qū)域和隱私區(qū)域的定義、智能分析、移動檢測
3、、聲音偵測、POE供電等;三.實現(xiàn)高清低碼流H.264攝像機SoC的關鍵一般來說,1280×720×25fps的碼流在2Mbps左右,如何降低碼流?除了使用mailprofilewithcabac的H.264編碼器外,還需要對視頻圖像進行分析,而且要在幀率、分辨率、視頻質量等方面權衡折中,在512kbps碼流下獲得最好的視頻效果,為了達到這樣的目的,需要復雜靈活的控制,F(xiàn)PGA可以滿足這樣的需求。四.高清低碼流H.264攝像機的結構高清低碼流H.264攝像機的結構簡圖如下:1.FPGA的選用在高清低碼流H.264攝像機的結構中,除了圖像傳感器、存儲器、電源和模擬接口外,所有的功能如圖像處理、H
4、.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的選擇主要考慮三方面的因素:速度、成本和結構;每個FPGA生產(chǎn)商都有多個FPGA系列,每個系列的速度、性能和價格都不同,要使高清低碼流H.264攝像機SoC的成本盡可能低,應該選擇成本最低的系列,像我們選擇的FPGA是Altera公司的CYCLONEIV系列,型號是EP4CE115F23C8,CYCLONEIV是低成本系列,在同樣是低成本
5、系列的FPGA中,CYCLONEIV的速度是最快的;FPGA的結構對圖像處理也很重要,尤其是存儲器和乘法器的數(shù)量,H.264算法是以宏塊為單位,在處理過程中必然會涉及到宏塊的輸入輸出和緩存,1個宏塊的數(shù)據(jù)為384字節(jié)(256字節(jié)亮度數(shù)據(jù)和128字節(jié)色度數(shù)據(jù)),如果考慮到輸入輸出和處理的并行,必須設置雙份,即768字節(jié),用CYCLONEIV的1個M9K存儲塊正好,從上面的分析可以看出適合圖像處理的FPGA對內(nèi)部存儲器的要求是存儲塊容量?。ㄈ?KB)、存儲塊數(shù)量多,另外,對乘法器的要求也是數(shù)量多;在我們選擇FPGA的時候,CYCLONEIV是在所有低成本FPGA中有最大的存儲器邏輯比和乘法器邏輯比
6、,很適合做圖像處理。2.圖像傳感器的選擇為了滿足1280x720x25fps的要求,只需要選擇百萬像素的傳感器就可以了,我們最終選擇了300萬像素的AR0331,還可以實現(xiàn)1920x1088x11fps,在實現(xiàn)1280x720x25fps時還有電子PTZ功能,AR0331還有寬動態(tài)功能,便于攝像機以后擴充寬動態(tài)功能。3.外部存儲器外部存儲器有2片LPDDRSDRAM和1片串行FLASH,串行FLASH用于存儲FPGA的配置數(shù)據(jù)和NIOS的數(shù)據(jù)程序,1片LPDDRSDRAM用于存儲圖像數(shù)據(jù)和編碼結果,1片LPDDRSDRAM用于NIOSII運行ucLinux。4.FPGA實現(xiàn)的功能FPGA作為高
7、清H.264攝像機的SoC實現(xiàn)的功能如下:①圖像處理●邊緣檢測RAW插值計算簡單的RAW插值計算會造成邊緣模糊,增加邊緣檢測判斷可以避免造成邊緣模糊;●3D濾波從圖像傳感器出來的圖像包含有噪聲,去噪同時在幀間和幀內(nèi)進行;●2D銳化由于鏡頭等因素影響,從圖像傳感器出來的圖像需要銳化才能清晰;●GAMMA校正從圖像傳感器出來的圖像灰度不正確,需要做GAMMA校正,獲得正確的灰度;●自動曝光控制根據(jù)亮度