基于VFW的成像聲納視頻壓縮存儲設計
摘要:針對聲納系統圖像實時存儲過程中的大數據量問題,本文提了一種聲納視頻壓縮存儲的工程實現方法。采用MPEG-4視頻編碼標準[1]及Xvid編碼器,基于VFW數字視頻軟件開發包,在VS2010開發環境下實現了對聲吶視頻的高壓縮率、高壓縮質量的實時壓縮存儲。經過實際測試,本文設計方案能夠滿足成像聲納系統在100m滿量程條件下,最高幀率15Hz的應用需求。
本文引用地址:http://www.104case.com/article/267428.htm引言
聲納成像在海洋資源開發和海洋防衛等方面有著重要的意義,具有作用距離遠、直觀顯示觀測區域狀況和識別目標等特點,被廣泛地應用于軍事、經濟領域。在成像聲納系統的設計過程中,為了實現對目標更為細膩的刻畫,系統的角度和距離分辨率指標往往都很高。本文設計的成像聲納的相關技術指標為:量程100m,視角90°×20°,波束數538,波束間距0.17°,量程分辨率:2.5cm,最高幀率:15Hz。在工程實踐中,我們需要對聲納的實時畫面進行存儲,以便后期的查閱和分析,在15Hz的幀速率下,每小時產生的圖像需要占據的存儲空間為3600X[15X(100X40X538)]Byte=116.2085GB,對系統存儲能力的要求將會非常苛刻,亟需引入圖像壓縮技術來解決這一問題。
1 VFW軟件開發包
VFW(Video for Windows)是微軟推出的關于數字視頻的一個軟件開發包,它圍繞AVI文件標準,推出了一整套完整的視頻采集、壓縮解壓縮、回放和編輯API。它可以實現從傳統模擬視頻源得到視頻剪輯,還可以實現影像壓縮和影音播放。由于AVI文件格式在數字視頻技術中被廣泛使用,因此VFW在將來一段時間內仍會有較高的實用價值。用戶不必專門安裝VFW,Windows系統本身就包含了VFW技術。安裝Windows的時候VFW所需的相關組件就會同時被安裝上。VS2010中提供了VFW的頭文件Vfw.h和庫文件Vfw32.lib。在VS2010開發環境中調用VFW,只需要將Vfw32.lib加入工程,并在主對話框源文件HAICADlg.cpp中包含Vfw.h文件。
2 聲吶圖像壓縮存儲的實現
要進行聲吶圖像壓縮存儲,在選擇了Xvid編碼器的基礎上,還要進行一系列操作,主要包括:AVI文件的初始化、壓縮參數設置、壓縮前后位圖格式設置、判斷壓縮支持、圖像壓縮和存儲。軟件實現流程如圖 1所示。
2.1 壓縮前位圖格式的設置
本文成像聲吶系統無需進行視頻采集,而是直接接收前端信號處理FPGA上傳的數據。濕端設備上傳的數據是波束形成后得到的,每個距離點處有538個波束,距離像上的點數由探測量程決定,距離分辨率為2.5cm。圖像數據是一個矩陣。
c++相關文章:c++教程
評論