作者:ZTE中興多媒體業(yè)務(wù)設計開(kāi)發(fā)部 朱兆俊 H.264等視頻壓縮算法在視頻會(huì )議中是核心的視頻處理算法,它要求在規定的短時(shí)間內,編解碼大量的視頻數據,目前主要都是在DSP上運行。未來(lái)在添加4k*2k、H.265編解碼等功能,并要求控制一定成本的情況下,面臨DSP性能瓶頸的問(wèn)題,所以希望部分算法可以下放到FPGA來(lái)實(shí)現,借助FPGA并行處理的優(yōu)勢,來(lái)加速整個(gè)系統。 基于altera cyclone V soc平臺的試驗可行性分析 1.JPEG圖像壓縮算法與H.264等視頻壓縮算法,有一定的相似性,并要簡(jiǎn)單很多,有一定的借鑒意義,故本次短期試驗使用JPEG算法來(lái)驗證該SOC平臺; 2.JPEG壓縮算法如果完全在FPGA上用VerilogHDL語(yǔ)言實(shí)現,有一定難度,并且開(kāi)發(fā)周期很長(cháng),而C語(yǔ)言源碼,已經(jīng)比較成熟,移植到ARM比較簡(jiǎn)單; 3.經(jīng)考察,altera cyclone V soc平臺,擁有兩顆速度高達800Mhz的cortex A9內核,并有大容量的邏輯單元,和高速收發(fā)模塊。FPGA與ARM之間的AXI標準總線(xiàn),速度更是高達100Gbit,對傳輸高清視頻數據,即使4K*2K也是綽綽有余。 試驗過(guò)程 JPEG是Joint Photographic Experts Group的縮寫(xiě),即ISO和IEC聯(lián)合圖像專(zhuān)家組,負責靜態(tài)圖像壓縮標準的制定,這個(gè)專(zhuān)家組開(kāi)發(fā)的算法就被稱(chēng)為JPEG算法,并且已經(jīng)成為了大家通用的標準,即JPEG標準。JPEG壓縮是有損壓縮,但這個(gè)損失的部分是人的視覺(jué)不容易察覺(jué)到的部分,它充分利用了人眼對計算機色彩中的高頻信息部分不敏感的特點(diǎn),來(lái)大大節省了需要處理的數據信息。 JPEG編碼中主要涉及到的內容主要包括: 1. Color Model Conversion(色彩模型) 2. DCT(Discrete Cosine Transform離散余弦變換 3. 重排列DCT結果 4. 量化 5. RLE編碼 6. 范式Huffman編碼 7. DC的編碼 ![]() 本次試驗ARM側運行LINUX操作系統,并將Color Model Conversion部分,下發(fā)給FPGA側來(lái)實(shí)現,如上圖,黃色區域標記。其中ARM核與FPGA的數據交互運用了HPS-to-FPGA x64 Bridge,該總線(xiàn)的讀寫(xiě)操作都是在MMAP(將底層地址空間映射到用戶(hù)層)后,通過(guò)使用HWlib庫函數來(lái)實(shí)現。在FPGA側,運用Qsys工具,添加Application_logic用戶(hù)邏輯模塊,來(lái)實(shí)現Color Model Conversion功能,如下圖黃色區域標記。 ![]() 試驗結果 1. 整個(gè)編碼過(guò)程正常,以下左側為編碼前的真彩.bmp格式圖片,右側為編碼后的.jpg格式圖片。 ![]() 2. 通過(guò)調用LINUX操作系統時(shí)鐘函數gettimeofday(&tv,&tz)的方式,統計Color Model Conversion部分在A(yíng)RM側運行,和在FPGA側運行消耗的時(shí)間: ![]() 從表中可以看出,FPGA在大數據量的處理時(shí),能發(fā)揮并行的優(yōu)勢,使運算速度得到提升。因試驗開(kāi)發(fā)程度有限,所以速度提升不是很明顯。相信在將更多數據處理任務(wù)交給FPGA完成后,能獲得更高的系統性能。 試驗結論 1. cycloneV SOC有ARM核的存在,可以運用成熟的C語(yǔ)言代碼,縮短開(kāi)發(fā)時(shí)間; 2. cycloneV SOC有大量邏輯單元,可以協(xié)助處理大量數據,提高系統性能; 3. cycloneV SOC成本低廉,滿(mǎn)足成本控制要求; |