劉敏慧 高楓 劉文怡
摘 要: 在JPEG2000專用編解碼芯片ADV212的基礎(chǔ)上,設(shè)計(jì)了以FPGA與ADV212為核心的彩色圖像數(shù)據(jù)實(shí)時(shí)壓縮系統(tǒng)。系統(tǒng)以FPGA為主控單元實(shí)現(xiàn)了對(duì)圖像數(shù)據(jù)的接收、壓縮、發(fā)送,對(duì)ADV212寄存器進(jìn)行了配置、數(shù)據(jù)輸入,并將壓縮數(shù)據(jù)實(shí)時(shí)上傳到上位機(jī)。經(jīng)過實(shí)際測(cè)試,該系統(tǒng)滿足對(duì)彩色圖像壓縮實(shí)時(shí)性的要求,且系統(tǒng)穩(wěn)定,失真度小,具有較高的實(shí)用價(jià)值。
關(guān)鍵詞: ADV212; FPGA; 彩色圖像; 數(shù)據(jù)實(shí)時(shí)壓縮; 上位機(jī); JPEG2000
中圖分類號(hào): TN911.73?34; TP274 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)22?0088?03
Abstract: On the basis of the decoding chip ADV212 dedicatedly used for JPEG2000, a color image data real?time compression system taking FPGA and ADV212 as its cores was designed. The FPGA is taken as the main control unit of the system to receive, compress and send the image data. The ADV212 register is configured, and the data is input into it. After that the compressed data is uploaded to the host computer in real time. The actual test results show that the system can meet the real?time requirement for the color image compression, which is stable, and has small distortion and high practical value.
Keywords: ADV212; FPGA; color image; data real?time compression; host computer; JPEG2000
隨著我國(guó)導(dǎo)彈、航天事業(yè)的飛速發(fā)展,航天系統(tǒng)的功能更加完善,需要測(cè)試的內(nèi)容不斷增多,精度不斷提高,數(shù)據(jù)量也以幾何量級(jí)擴(kuò)大,因此對(duì)無線傳輸帶寬的要求越來越高。由于圖像信息具有數(shù)據(jù)海量性的特點(diǎn),尤其是彩色圖像,在一定的環(huán)境條件下受傳輸時(shí)間、存儲(chǔ)空間和信道帶寬的影響,難以被快速傳輸或存儲(chǔ)[1?2]。為了緩解帶寬壓力,提高遙測(cè)系統(tǒng)無線帶寬的利用率,本文提出并設(shè)計(jì)了一種彩色圖像實(shí)時(shí)壓縮系統(tǒng)。利用FPGA實(shí)現(xiàn)邏輯控制,通過編解碼芯片ADV212實(shí)現(xiàn)彩色圖像壓縮,具有實(shí)時(shí)性好,靈活性高,速度快、穩(wěn)定性高、壓縮比可靈活調(diào)整等優(yōu)點(diǎn)。該系統(tǒng)可以很好地緩解現(xiàn)階段圖像信息難以被快速傳輸或存儲(chǔ)的問題。
1 系統(tǒng)總體設(shè)計(jì)
該系統(tǒng)由前端攝像頭采集圖像數(shù)據(jù),ADV212壓縮芯片對(duì)采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)壓縮后,通過RS 422接口實(shí)時(shí)傳送到上位機(jī)并顯示出來。系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。系統(tǒng)將前端攝像頭已經(jīng)處理成LVDS信號(hào)的圖像源通過LVDS解碼芯片MAX9250解碼出來,F(xiàn)PGA判別數(shù)據(jù)幀頭以讀取有效圖像數(shù)據(jù),并將有效數(shù)據(jù)寫入到用于緩存數(shù)據(jù)的FIFO中,經(jīng)過ADV212壓縮芯片壓縮后,通過RS 422接口實(shí)時(shí)傳送到上位機(jī)并顯示出來。
2 主要硬件設(shè)計(jì)與實(shí)現(xiàn)
硬件設(shè)計(jì)主要包括圖像接收模塊、圖像壓縮模塊、圖像傳輸模塊和電源模塊4個(gè)部分。其中圖像接收模塊是對(duì)外部的LVDS接口信號(hào)進(jìn)行處理,處理成25 f/s輸出到壓縮模塊。圖像傳輸模塊是將壓縮后的彩色圖像經(jīng)過RS 422接口傳輸至上位機(jī)軟件。電源模塊功能是將輸入電壓轉(zhuǎn)化為各種芯片所需電壓,為各芯片提供電源。而實(shí)現(xiàn)壓縮功能的主要是圖像壓縮模塊。
圖像壓縮模塊包括幀頭判別模塊、圖像壓縮主模塊。圖像壓縮主模塊的核心是壓縮芯片ADV212,負(fù)責(zé)對(duì)彩色圖像進(jìn)行壓縮處理。
2.1 幀頭判別模塊
幀頭選擇模塊由5個(gè)移位寄存器和1個(gè)比較器組成,把多個(gè)字節(jié)組成較長(zhǎng)的字節(jié),然后與固定的幀頭值判斷是否是幀的起始,如果是幀頭則使能寫。其中該模塊的輸入?yún)?shù)為移位時(shí)鐘、移位數(shù)據(jù),輸出參數(shù)為aeb,如圖2所示。
比較器的時(shí)序圖如圖3所示。該模塊由5個(gè)移位寄存器與1個(gè)比較器組成,當(dāng)判別到幀頭55AAFAF9時(shí),輸出低電平。
2.2 圖像壓縮主模塊
圖像壓縮主模塊在QuartusⅡ中的名稱為encoder。該模塊的主要功能是對(duì)壓縮芯片進(jìn)行配置,緩存圖像數(shù)據(jù)并適時(shí)寫入壓縮芯片,讀取壓縮后的數(shù)據(jù),并把壓縮后的數(shù)據(jù)寫入到后續(xù)的數(shù)據(jù)選擇模塊中,如圖4所示。
該模塊的流程圖如圖5所示,圖像壓縮模塊主要是初始化壓縮芯片,把輸入的圖像數(shù)據(jù)寫入到壓縮芯片,再把壓縮后的圖像讀出來寫入后端的FIFO。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要通過FPGA內(nèi)編程控制及ADV212內(nèi)部固件參數(shù)定義實(shí)現(xiàn),主要分為圖像接收模塊、圖像壓縮模塊、圖像傳輸模塊3個(gè)功能模塊。
3.1 圖像接收模塊
圖像接收模塊中LVDS接口接收的圖像數(shù)據(jù)格式為640×480×8 b,即LVDS接口的數(shù)據(jù)寬度為8 b。LVDS接口的通信時(shí)序圖如圖6所示。
圖像數(shù)據(jù)在幀同步信號(hào)為高時(shí)有效,對(duì)應(yīng)圖像數(shù)據(jù)的一幀,行同步信號(hào)為高時(shí)有效,每次幀同步信號(hào)有效期間的每次行同步信號(hào)有效,對(duì)應(yīng)圖像數(shù)據(jù)的一行。圖像數(shù)據(jù)的寬度為8 b,即D0~D7。數(shù)據(jù)的同步時(shí)鐘為上升沿時(shí),讀取LVDS接口圖像數(shù)據(jù)。endprint
圖像接收過程中,為了確保每次都能正確地把圖像數(shù)據(jù)寫入后面的FIFO中,在第一個(gè)幀同步信號(hào)中添加幀頭55AAFAF900,數(shù)據(jù)比較器在圖像數(shù)據(jù)中識(shí)別幀頭時(shí),使能后面的FIFO,把后面的圖像數(shù)據(jù)寫入FIFO中。
3.2 圖像壓縮模塊
本系統(tǒng)中,圖像壓縮模塊主要通過FPGA實(shí)現(xiàn)對(duì)JPEG2000壓縮芯片ADV212的初始化,初始化過程包括直接寄存器的配置、間接寄存器的配置以及固件的加載[3?4]。本系統(tǒng)中壓縮芯片設(shè)置為HIPI模式,其初始化的具體流程如圖7所示。
ADV212編碼固件參數(shù)視頻標(biāo)準(zhǔn)設(shè)置為用戶自定義模式。在小波引擎中,每個(gè)圖塊或幀將通過9/7濾波器分解成許多自帶。生成的小波系數(shù)寫入內(nèi)部寄存器中。輸出的碼流格式為YCbCr的JP2格式。ADV212僅支持YCbCr的4∶2∶2格式。在ADV212中,對(duì)于YCbCr視頻,樣本值是每行像素值的2倍。因此,壓縮一副480×640的彩色圖像,固件參數(shù)應(yīng)當(dāng)設(shè)置為240×320。
3.3 數(shù)據(jù)傳輸模塊
數(shù)據(jù)傳輸模塊主要是把前端的壓縮數(shù)據(jù)轉(zhuǎn)化為異步串行數(shù)據(jù)。其中TX422發(fā)送模塊用于向主控機(jī)發(fā)送壓縮后的圖像數(shù)據(jù)或原始圖像數(shù)據(jù)。
TX422發(fā)送模塊的輸入為FIFO的輸出信號(hào),輸出為差分信號(hào),波特率為2.457 6 Mb/s;采用異步串行口通信協(xié)議,1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位;數(shù)據(jù)以數(shù)據(jù)幀的形式按周期循環(huán)發(fā)送,發(fā)送周期為40 ms,每幀最大傳輸量為9 830 B,而壓縮后的數(shù)據(jù)量共有6 671 B,滿足傳輸要求。
異步串行接口發(fā)送圖像數(shù)據(jù)的約定如下:數(shù)據(jù)以數(shù)據(jù)幀的形式按周期循環(huán)發(fā)送,發(fā)送周期約為40 ms±0.5 ms;圖像數(shù)據(jù)按幀發(fā)送,幀與幀之間間隔大于2 ms;每幀圖像數(shù)據(jù)包含幀頭和幀尾,用于區(qū)分圖像幀;每幀圖像數(shù)據(jù)包含幀計(jì)數(shù)、幀長(zhǎng)度內(nèi)容,分別用于校準(zhǔn)該幀圖像數(shù)據(jù)的相對(duì)時(shí)間信息和幀長(zhǎng)度信息。
4 系統(tǒng)測(cè)試
該系統(tǒng)設(shè)計(jì)完成后,前端采集到的彩色圖像經(jīng)過壓縮芯片ADV212壓縮后,上傳到上位機(jī),用編寫好的圖像顯示軟件顯示壓縮的圖像,圖8(a)為原始圖像,圖8(b)為壓縮后圖像。圖9為測(cè)試數(shù)據(jù),用HexEdit軟件打開,其中55AAFAF900為每包數(shù)據(jù)幀頭,001A07為壓縮數(shù)據(jù)長(zhǎng)度,C000010203為狀態(tài)字,F(xiàn)FFFFFF1為壓縮格式幀頭,00000131為壓縮幀計(jì)數(shù),F(xiàn)9FA為每包數(shù)據(jù)幀尾。
5 結(jié) 論
本文設(shè)計(jì)了以FPGA與ADV212為核心的彩色圖像數(shù)據(jù)實(shí)時(shí)壓縮系統(tǒng)。測(cè)試表明,該系統(tǒng)可以可靠穩(wěn)定地壓縮前端傳來的彩色圖像,系統(tǒng)滿足對(duì)彩色圖像壓縮實(shí)時(shí)性的要求,且系統(tǒng)穩(wěn)定、失真度小,具有較高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 郭清文,張大鵬,宋曉東.基于ADV212的圖像壓縮系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2013(11):152?154.
[2] 張會(huì)新,曹翱翔,胡海風(fēng),等.基于FPGA和ADV212的圖像實(shí)時(shí)壓縮系統(tǒng)設(shè)計(jì)[J].電子器件,2016(2):483?486.
[3] 王丹,楊允基.ADV212編解碼芯片原理及應(yīng)用[J].艦船電子工程,2008(5):112?115.
[4] 王占秋.JPEG2000標(biāo)準(zhǔn)及其編解碼芯片ADV212的研究[J].數(shù)字通信,2009(2):21?24.
[5] 鄧宸偉,趙保軍.基于ADV212的實(shí)時(shí)圖像壓縮系統(tǒng)[J].電視技術(shù),2008(12):35?37.
[6] 歐民,譚金林,張國(guó)華.一種基于FPGA和ADV212的遙感衛(wèi)星圖像JPEG2000實(shí)時(shí)解壓縮方法[J].空間電子技術(shù),2014(1):11?14.
[7] 于巍巍,馬曉東,孫娟,等.基于多片ADV212芯片的圖像壓縮系統(tǒng)設(shè)計(jì)[J].空間電子技術(shù),2014(1):15?18.
[8] 祁志恒,姜喆,張為.基于ADV212的雷達(dá)圖像壓縮傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2015(11):78?80.
[9] 劉永征,劉學(xué)斌,胡炳樑,等.基于ADV212的JPEG2000靜態(tài)圖像壓縮系統(tǒng)設(shè)計(jì)[J].電子器件,2009(3):504?508.
[10] 劉永征,劉學(xué)斌,胡炳樑,等.基于ADV212的圖像壓縮系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,2008(12):92?95.
[11] 王振宇.基于JPEG2000的衛(wèi)星圖像壓縮/解壓技術(shù)[D].武漢:華中科技大學(xué),2013.endprint