基于ADV212的無人機遙感紅外視頻壓縮系統設計
作者 宋哲 朱鐵林 張志芳 天津航天中為數據系統科技有限公司(天津 300457)
本文引用地址:http://www.104case.com/article/201805/380758.htm宋哲(1987-),男,碩士,工程師,研究方向:圖像處理、無線通信。
摘要:針對無人機遙感紅外相機傳輸視頻實時性以及機載存儲空間有限等問題,提出了一種FPGA結合專用芯片ADV212的視頻壓縮處理方案,該方案可對720×576分辨率的紅外視頻進行實時壓縮并可通過串口接收外部命令調整視頻壓縮比,FPGA配置ADV212初始化以及接收ADV212壓縮后的視頻數據,數據經過FPGA處理后傳輸到機載收發信機并傳回地面設備。測試結果表明,系統工作穩定可控,視頻壓縮實時性強,可廣泛應用于無人機遙感領域。
0 引言
無人機在高空飛行時,機載遙感相機實時采集的視頻數據量十分龐大,對其處理方法通常有兩種:一是利用無人機機載存儲設備直接存儲視頻數據,待無人機降落后再處理,然而機載存儲空間畢竟有限,因此需將視頻數據進行壓縮后再存儲;二是通過無線數據鏈設備實時地將視頻數據傳回地面,而實際可用的無線通信帶寬非常有限,為了滿足實時性的要求,必須將視頻數據進行壓縮后再進行無線傳輸[1]。傳統的視頻壓縮方法,如MPEG-4、H.264是利用視頻的幀間相關性進行壓縮的,其解碼時間長,對實時性要求較高的系統不適合[2-3]。而JPEG2000是把運動的視頻序列作為連續的靜止圖像來處理,對每一幀圖像單獨壓縮,圖像恢復的實時性較好。
ADI公司的ADV212芯片是目前市場上為數不多的能夠單芯片支持JPEG2000編/解碼功能的芯片[4],它們能對動/靜態視頻圖像實時壓縮與解壓縮,并能獲得高清晰度的實時圖像,同時也能提供很好的圖像傳輸靈活性和可擴縮性。由于具有彈性的界面,ADV212可用來與多種形式視頻和靜態影像格式搭配使用。ADV212的一個突出優點就是它可以多芯片并行工作,進而提高其編解碼效率,同時也支持更高格式的影像。相對其它的硬件解決方案,ADV212的解決方案更完整,功能更全面,適用于多種視頻和靜態圖像格式。
本文提出了基于ADV212和FPGA的紅外視頻壓縮系統,AD轉換芯片ADV7189實時采集模擬視頻信號并轉換成10 bit數字信號輸出到ADV212,通過FPGA對ADV212芯片進行初始化配置,ADV212以1:100的壓縮率對輸入的視頻信號進行壓縮,壓縮后的數據經機載射頻收發信機發送到地面接收設備。
1 系統總體設計
整個系統包含三個模塊:ADV7189負責模數轉換,ADV212負責視頻數據的壓縮,FPGA負責芯片的配置和數據的接收,圖1給出了視頻壓縮系統的總體架構。ADV7189芯片具有模擬視頻信號的采集和模數轉換的功能,其支持NTSC、PAL、SECAM等制式的模擬視頻輸入,數據格式包括CVBS、S-Video和YPrPb等。輸出數字信號支持8、10、16和20位ITU-R BT.656 YCrCb數據。本系統紅外模擬視頻輸入信號采用PAL制式YPbPr,分辨率為720×576,隔行掃描25 幀/s。FPGA通過I2C總線對ADV7189進行配置,工作時鐘為27 MHz,輸出數據位寬為10 bit,輸出數據格式YCrCb為4:2:2,編碼格式為EAV/SAV。
ADV212芯片具有實時壓縮和解壓縮標清和高清視頻信號的功能[5],支持最高6級的9/7和5/3小波變換;圖像的尺寸可編程,3顏色分量4:2:2隔行掃描情況下寬帶可達2048像素,單顏色分量情況下寬帶可達4096像素;不可逆模式像素輸入最大速率為65 MS/s,可逆模式像素輸入最大速率為40 MS/s[6]。本系統中ADV212采用5級的5/3小波變換,每塊圖像的尺寸為128×32像素點,輸入數據為ADV7189輸出的數據,速率為20 MS/s,即160 Mbps。ADV212配置壓縮比為100:1,即輸出數據的速率為1.6 Mbps,輸出數據的格式為JP2。
FPGA選用Xilinx公司的Virtex-5系列XC5VFX70T[7],其具有11200個Slice,5 MB Block RAM,6個時鐘管理單元,640個用戶I/O,全局時鐘由外部40 MHz晶振提供,完全可實現對ADV7189和ADV212的配置及數據的讀寫。
2 ADV212的工作原理及芯片配置流程
2.1 ADV212的工作原理
ADV212芯片內部工作原理如圖2所示。該芯片由主機接口、像素接口、小波變換引擎、存儲器系統、熵編碼器和量化器、嵌入式處理器和內外部DMA等組成[8]。本系統工作在ADV212的主控編碼模式(Normal Host),具體的工作流程為:視頻數據通過像素接口輸入到小波變換引擎中,進入小波變換引擎的數據,每個128×32的圖塊將通過5/3濾波器分解成許多頻率不同的子帶,將對應的小波系數寫入內部存儲器中。小波變換后的系數通過3個熵編碼器被分解為獨立的碼塊單元,采用量化、率失真優化和關聯性建模等方式對數據進行壓縮,壓縮結束后以JPEG2000碼流形式送回內部存儲器。存儲在內部存儲器中的JPEG2000碼流通過內部DMA引擎傳輸到編碼FIFO中,編碼FIFO作為高速內部存儲器和低速主機接口間的緩存器,當編碼FIFO達到設定的閾值時,JPEG2000碼流便可以通過HDATA總線輸出到芯片外部。
2.2 ADV212芯片配置流程
如圖3所示,FPGA配置ADV212直接寄存器PLL_HI和PLL_LO,將ADV212內部時鐘JCLK和HCLK配置為108 MHz,延時20 ms后設置ADV212為非主機啟動模式,設置ADV212數據總線寬度為32 bit,間接寄存器訪問模式為32 bit。FPGA通過間接地址寄存器IADDR和間接數據寄存器IDATA加載ADV212固件,固件參數來自ADI官方提供的.sea文件,存放在FPGA內部的32 KB Block RAM中[9]。固件加載完畢后,配置ADV212,進行軟件重啟,再次設置數據總線寬度和間接寄存器的訪問模式,并設置視頻編碼參數和編碼FIFO的閾值。所有的寄存器配置完畢后,通過EIRQIE寄存器使能FIFO中斷,即當FIFO中的數據達到閾值時,系統會產生中斷。通過檢測系統的ID來判斷固件程序是否加載正確,芯片處于壓縮編碼工作的ID為0xFF82。當芯片開始進行壓縮編碼正常工作時,系統不斷檢測FIFO中的數據是否達到閾值,達到閾值并產生中斷后,FIFO中的數據將被讀取到FPGA中。
3 FPGA與ADV212之間通信及仿真測試
FPGA配置ADV212初始化和FPGA讀取ADV212壓縮后的數據過程中,FPGA與ADV212之間均采用異步通信方式,FPGA通過改變發送的地址來讀寫ADV212不同的寄存器值,下面給出具體的讀寫操作方式。
3.1 FPGA寫操作
FPGA向ADV212寫數據的時序如圖4所示,ADDR為地址總線,CS_為片選信號,WE_為寫使能信號,ACK_為ADV212握手信號,以上信號均為低電平有效,HDATA為數據總線。由圖4可以看出,ADV212在WE_的上升沿對HDATA總線上的數據進行采樣,采樣前后需要確保建立時間tSD和保持時間tHD內數據不變。FPGA寫操作具體流程如下:
首先,FPGA向ADV212發出地址和片選使能,下一個時鐘周期FPGA將寫使能WE_拉低并將數據寫入HDATA數據總線,等待ADV212響應寫請求ACK_有效。若ACK_有效,將WE_拉高,當WE_由低電平(有效)跳變為高電平(無效)時,ADV212對HDATA數據線進行采樣。WE_拉高后,FPGA數據線和地址線均需保持一個周期,以確保數據正確輸入到ADV212中。
3.2 FPGA讀操作
圖5給出了FPGA從ADV212讀數據的時序,RD_為讀使能信號,其他信號與寫操作相同。FPGA讀操作具體流程如下:
首先,FPGA向ADV212發出地址和片選使能,下一個時鐘周期FPGA將寫使能RD_拉低,等待ADV212響應寫請求ACK_有效,此時FPGA不采樣HDATA數據總線上的數據。當ACK_有效時,將RD_拉高,RD_由低電平(有效)跳變為高電平(無效)的時刻,FPGA對HDATA數據線進行采樣。RD_拉高后,FPGA數據線和地址線均需保持一個周期,以保證數據正確采樣到FPGA中。
FPGA讀寫ADV212直接寄存器和間接寄存器的區別有兩點:第一,讀寫直接寄存器時,FPGA接收到ADV212握手信號ACK_需要一個時鐘周期,而讀寫間接寄存器時,FPGA需要一個或兩個時鐘周期;第二,FPGA讀寫間接寄存器需要通過數據總線HDATA來發送和接收間接地址,即完成一次數據的操作需要對HDATA進行兩次操作,先發送或接收間接地址,再發送或接收間接數據。因此,FPGA操作直接寄存器至少需要三個時鐘周期,而操作間接寄存器至少需要八個時鐘周期。
3.3 測試與仿真
基于Xilinx ISE建立FPGA工程,通過ISE自帶的ISim仿真軟件對系統進行仿真,如圖6所示,HDATA為FPGA與ADV212之間的數據總線,其端口類型為inout型,即雙向端口。當HDATA作為輸入端口時,需要屏蔽HDATA對外輸出值,即將HDATA的輸出賦值為高阻態。當IRQ_為低電平時,表明FIFO中的數據已達到閾值,FPGA開始從地址1中讀取FIFO的數據。
4 結論
JPEG2000算法可對視頻進行高效壓縮,然而其算法復雜度高、硬件實現困難、實現的系統規模大等一系列問題限制了其在無人機遙感領域的應用。ADV212專用芯片逐一解決了這一系列問題,該芯片體積小、功耗低、性能穩定,與FPGA共同搭建視頻壓縮處理系統可廣泛應用于無人機遙感領域。經測試,本系統工作性能穩定,具有壓縮比可調、實時性好、壓縮數據易恢復和成本低等優點。
參考文獻:
[1]謝清鵬.無人機序列圖像壓縮方法研究[D].武漢:華中科技大學, 2005.
[2]石迎波.MPEG-4視頻編碼系統的研究與實現[D].西安:西安電子科技大學, 2005.
[3]李楓.基于H.264的航拍視頻實時壓縮系統[D].北京:北京理工大學, 2011.
[4]Analog Devices Inc. ADV212 JPEG2000 Video Processor User’s Guide (Revision 1.1)[EB/OL].www.analog.com, 2006.
[5]劉春風,王惠平,潘利明.基于ADV212的高清視頻壓縮系統設計[J].電子設計工程, 2010, 18(3), 65-67.
[6]薛旭成,張淑艷,李洪法,等.基于ADV202的遙感圖像實時壓縮系統設計[J]. 微電子學與計算機, 2008, 25(5):197-199.
[7]Xilinx. Virtex-5 Family Overview [EB/OL]. www.xilinx.com, 2009.
[8]劉永征,劉學斌,胡柄樑,等.基于ADV212的JPEG2000靜態圖像壓縮系統設計[J].電子器件, 2009, 32(3), 504-508.
[9]Analog Devices Inc. ADV212 JPEG2000 Programming Guide (Revision 2.0) [EB/OL]. www.analog.com, 2007.
本文來源于《電子產品世界》2018年第6期第40頁,歡迎您寫論文時引用,并注明出處。
評論