基于低成本FPGA的高清低碼流H.264攝像機(jī)SoC參考設(shè)計(jì)
FPGA的內(nèi)部結(jié)構(gòu)如下圖所示:
本文引用地址:http://m.butianyuan.cn/article/221557.htm圖2 FPGA的內(nèi)部結(jié)構(gòu)圖
FPGA的選用
在高清低碼流H.264攝像機(jī)的結(jié)構(gòu)中,除了圖像傳感器、存儲(chǔ)器、電源和模擬接口外,所有的功能如圖像處理、H.264編碼、協(xié)議處理、參數(shù)管理、媒體流發(fā)送等都由FPGA實(shí)現(xiàn),F(xiàn)PGA就是高清低碼流H.264攝像機(jī)的 SoC;目前世界上FPGA的生產(chǎn)商只有幾個(gè),可選擇的產(chǎn)品也不多,要用FPGA實(shí)現(xiàn)高清低碼流H.264攝像機(jī)的SoC,選擇一款合適的FPGA非常重要,F(xiàn)PGA的選擇主要考慮三方面的因素:速度、成本和結(jié)構(gòu);每個(gè)FPGA生產(chǎn)商都有多個(gè)FPGA系列,每個(gè)系列的速度、性能和價(jià)格都不同,要使高清低碼流H.264攝像機(jī)SoC的成本盡可能低,應(yīng)該選擇成本最低的系列,像我們選擇的FPGA是Altera公司的CYCLONE IV系列,型號(hào)是EP4CE115F23C8,CYCLONE IV是低成本系列,在同樣是低成本系列的FPGA中,CYCLONE IV的速度是最快的; FPGA的結(jié)構(gòu)對圖像處理也很重要,尤其是存儲(chǔ)器和乘法器的數(shù)量,H.264算法是以宏塊為單位,在處理過程中必然會(huì)涉及到宏塊的輸入輸出和緩存,1個(gè)宏 塊的數(shù)據(jù)為384字節(jié)(256字節(jié)亮度數(shù)據(jù)和128字節(jié)色度數(shù)據(jù)),如果考慮到輸入輸出和處理的并行,必須設(shè)置雙份,即768字節(jié),用CYCLONE IV的1個(gè)M9K存儲(chǔ)塊正好,從上面的分析可以看出適合圖像處理的FPGA對內(nèi)部存儲(chǔ)器的要求是存儲(chǔ)塊容量小(如1KB)、存儲(chǔ)塊數(shù)量多,另外,對乘法器的要求也是數(shù)量多;在我們選擇FPGA的時(shí)候,CYCLONE IV是在所有低成本FPGA中有最大的存儲(chǔ)器邏輯比和乘法器邏輯比,很適合做圖像處理。
圖像傳感器的選擇
為 了滿足1280x720x25fps的要求,只需要選擇百萬像素的傳感器就可以了,我們最終選擇了300萬像素的AR0331,還可以實(shí)現(xiàn) 1920x1088x11fps,在實(shí)現(xiàn)1280x720x25fps時(shí)還有電子PTZ功能,AR0331還有寬動(dòng)態(tài)功能,便于攝像機(jī)以后擴(kuò)充寬動(dòng)態(tài)功 能。
外部存儲(chǔ)器
外部存儲(chǔ)器有2片LP DDR SDRAM和1片串行FLASH,串行FLASH用于存儲(chǔ)FPGA的配置數(shù)據(jù)和NIOS的數(shù)據(jù)程序,1片LP DDR SDRAM用于存儲(chǔ)圖像數(shù)據(jù)和編碼結(jié)果,1片LP DDR SDRAM用于NIOSII運(yùn)行ucLinux。
FPGA實(shí)現(xiàn)的功能
FPGA作為高清H.264攝像機(jī)的SoC實(shí)現(xiàn)的功能如下:
① 圖像處理
● 邊緣檢測RAW插值計(jì)算
簡單的RAW插值計(jì)算會(huì)造成邊緣模糊,增加邊緣檢測判斷可以避免造成邊緣模糊;
● 3D濾波
從圖像傳感器出來的圖像包含有噪聲,去噪同時(shí)在幀間和幀內(nèi)進(jìn)行;
● 2D銳化
由于鏡頭等因素影響,從圖像傳感器出來的圖像需要銳化才能清晰;
● GAMMA校正
從圖像傳感器出來的圖像灰度不正確,需要做GAMMA校正,獲得正確的灰度;
● 自動(dòng)曝光控制
根據(jù)亮度條件調(diào)節(jié)適合的曝光參數(shù);
評論