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