《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于JPEG2000算法的圖像編碼裝置的設(shè)計(jì)
基于JPEG2000算法的圖像編碼裝置的設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第3期
連佳佳1,王志有2,王利斌3,劉文怡1,張會(huì)新1
1.中北大學(xué) 電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原030051; 2.北京宇航系統(tǒng)工程研究所,北京100076;3.北京強(qiáng)度環(huán)境研究所,北京100076
摘要: 針對(duì)遙感圖像分辨率的不斷提高以及傳輸通道帶寬限制的問(wèn)題,提出了一種FPGA控制的專用JPEG2000標(biāo)準(zhǔn)算法集成電路的高幀頻圖像編碼裝置。原始圖像數(shù)據(jù)通過(guò)LVDS接口接收,再經(jīng)過(guò)乒乓緩存后傳給壓縮編碼模塊,極大地提高了傳輸速率。經(jīng)過(guò)實(shí)際測(cè)試,該裝置實(shí)現(xiàn)了對(duì)高幀頻圖像高壓縮倍數(shù)的要求,降低了對(duì)傳輸通道帶寬的要求,性能穩(wěn)定可靠。
中圖分類號(hào): TN911;TP274
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182839
中文引用格式: 連佳佳,王志有,王利斌,等. 基于JPEG2000算法的圖像編碼裝置的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(3):46-49.
英文引用格式: Lian Jiajia,Wang Zhiyou,Wang Libin,et al. Design and implementation of multi-interface high frame-rate image compression device[J]. Application of Electronic Technique,2019,45(3):46-49.
Design and implementation of multi-interface high frame-rate image compression device
Lian Jiajia1,Wang Zhiyou2,Wang Libin3,Liu Wenyi1,Zhang Huixin1
1.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.Beijing Institute of Astronautics System Engineering,Beijing 100076,China; 3.Beijing Institute of Structure and Environment Engineering,Beijng 100076,China
Abstract: Aiming at the problem that remote sensing image resolution continues to increase and transmission channel bandwidth limit, a high frame rate image coding device for FPGA-controlled dedicated JPEG2000 standard algorithm integrated circuit is proposed. The original image data is received through the LVDS interface, and then transmitted to the compression coding module after being pinged by the ping-pong, which also greatly increases the transmission rate. After actual testing, the device achieves high compression ratio requirements for high frame rate images, reduces the bandwidth requirements of the transmission channel, and is stable and reliable.
Key words : PGA;high frame rate;LVDS;JPEG2000;high compression ratio

0 引言

    在現(xiàn)代遙感技術(shù)中,人們對(duì)于圖像傳輸?shù)囊笤絹?lái)越高,其中速率和質(zhì)量的提高以及圖像數(shù)據(jù)的實(shí)時(shí)傳輸是現(xiàn)在最主要的研究熱點(diǎn)[1]。而伴隨著遠(yuǎn)程遙感設(shè)備采集到的圖像質(zhì)量的不斷提高,信道中攜帶的數(shù)據(jù)量也隨之增加,增加傳輸信道帶寬的方法僅僅是治標(biāo)不治本,并且信道并不能無(wú)限制使用。因此,本文基于遙感器的特殊工作環(huán)境和模式,提出了數(shù)據(jù)壓縮編碼技術(shù)的硬件實(shí)現(xiàn)方法,從根本上解決問(wèn)題[2]。

    國(guó)內(nèi)某研究所針對(duì)相關(guān)遙感項(xiàng)目提出關(guān)鍵指標(biāo):空間遙感圖像采集、壓縮速率為100幀/s,壓縮倍數(shù)為75倍,對(duì)地圖像傳輸通道波特率為2.457 6 Mb/s?;谏鲜鲋笜?biāo),本文提出了基于JPEG2000算法的圖像編碼裝置的硬件實(shí)現(xiàn)方法。

1 壓縮編碼算法介紹

    相比JPEG算法,JPEG2000編碼算法具有更高的壓縮比和抗誤碼性能[3],解決了在低比特率編碼時(shí)會(huì)出現(xiàn)的方塊效應(yīng),以及比特差錯(cuò)時(shí)出現(xiàn)的嚴(yán)重?fù)p壞問(wèn)題,其主要由四部分組成,包括預(yù)處理、DWT、均勻量化和EBCOT編碼,如圖1所示。

ck2-t1.gif

    預(yù)處理:將不能滿足JPEG2000壓縮算法要求的原始圖像數(shù)據(jù)分成矩形塊,與JPEG編碼相比JPEG2000中的每個(gè)矩形塊的大小并不需要是規(guī)定且一致的,最小單位可以到像素大小,其中每個(gè)矩形塊都單獨(dú)使用自己的參數(shù)實(shí)現(xiàn)編碼[4-5]。由于在離散小波變換之前的圖像數(shù)據(jù)要求軸對(duì)稱分布,因此對(duì)于無(wú)符號(hào)數(shù)需要先進(jìn)行平移,再進(jìn)行歸一化處理,之后采取分量變換的方式以便除去彩色分量之間的相關(guān)性,以減少數(shù)據(jù)量。本文采用不可逆的實(shí)數(shù)彩色變換(ICT),這是一種將RGB圖像轉(zhuǎn)換為亮度和色差數(shù)據(jù)的一種變換方式,本文主要采用YCbCr4:2:2的方式,對(duì)亮度的采樣率是對(duì)顏色采樣率的兩倍關(guān)系,并且優(yōu)先傳輸比較重要的亮度信息,RGB到Y(jié)CbCr的變換式如式(1)所示。

    ck2-gs1.gif

    DWT:離散小波變換的主要作用是將圖像的能量收斂到權(quán)重更高的低頻子帶,其本質(zhì)是產(chǎn)生大量無(wú)限接近于0的小波系數(shù)。離散小波變換本質(zhì)上是對(duì)每個(gè)矩形塊先進(jìn)行水平方向的濾波,再對(duì)得到的每個(gè)輸出用同樣的濾波器組進(jìn)行垂直方向的濾波。圖2為一個(gè)二級(jí)小波變換示意圖,原始圖像通過(guò)第一級(jí)小波變換后會(huì)被分為代表信號(hào)中低頻成分的LL子帶和代表信號(hào)中邊緣、紋理、細(xì)節(jié)等高頻成分的LH、HL、HH子帶,而第二級(jí)的小波變換針對(duì)的就是經(jīng)過(guò)第一級(jí)變換得到的LL低頻子帶,LL低頻子帶參照第一級(jí)小波變換進(jìn)行進(jìn)一步分解。以此類推,經(jīng)過(guò)多級(jí)小波變換后,圖像數(shù)據(jù)完成了主要信息和邊緣信息的分別存儲(chǔ),為后面比特層掃描編碼和碼流優(yōu)化截?cái)嗵峁┝藯l件[6]。

ck2-t2.gif

    量化:JPEG2000編碼標(biāo)準(zhǔn)提供了一種死區(qū)標(biāo)量量化的處理方式,所謂“死區(qū)”就是在零點(diǎn)附近的輸入?yún)^(qū)間內(nèi)量化步長(zhǎng)寬度是其他輸入?yún)^(qū)間的兩倍,應(yīng)注意小波變換后的子帶已經(jīng)是最小單元,因此每個(gè)子帶都只采用一個(gè)量化步長(zhǎng)。量化的公式如式(2)所示,該處理方式主要是根據(jù)小波子帶的視覺(jué)特性或者碼率控制的要求分析得出量化步長(zhǎng)Δ,將步長(zhǎng)Δ帶入式(2)即可得到量化后的值q[7]。

    ck2-gs2.gif

    EBCOT編碼:經(jīng)過(guò)離散小波變換和量化之后的小波系數(shù)并不能完全消除它們之間的相關(guān)性,因此需要進(jìn)行EBCOT編碼進(jìn)一步地消除。先將經(jīng)過(guò)量化的小波系數(shù)劃分為尺寸是2的整數(shù)次冪大小的矩形碼塊,以矩形碼塊為最小單位編碼。EBCOT編碼分為兩步進(jìn)行:(1)Tier1部分包括比特層掃描編碼和算數(shù)編碼,比特層掃描編碼是以碼塊為單位從最高有效位平面開(kāi)始編碼,通過(guò)對(duì)每一層分別進(jìn)行3次掃描,將其根據(jù)一定的規(guī)則分為3個(gè)通道分別進(jìn)行處理并生成上下文、決策位,這3個(gè)通道數(shù)據(jù)再通過(guò)算數(shù)編碼器,最后針對(duì)每個(gè)碼塊就生成了嵌入式編碼碼流。(2)在Tier2部分,具有截?cái)帱c(diǎn)的編碼碼流根據(jù)失真率優(yōu)化原則,將權(quán)重較低的碼流數(shù)據(jù)舍棄,并對(duì)截?cái)帱c(diǎn)的位置信息進(jìn)行編碼,最終將保留下的各比特層的數(shù)據(jù)碼流打包,輸出最終的JPEG2000圖像數(shù)據(jù)碼流[8-10]。

2 系統(tǒng)設(shè)計(jì)

    本圖像壓縮裝置采用FPGA+JPEG2000標(biāo)準(zhǔn)芯片結(jié)構(gòu),以FPGA為主控芯片實(shí)現(xiàn)對(duì)各模塊的邏輯控制以及數(shù)據(jù)通信,實(shí)現(xiàn)運(yùn)用JPEG2000標(biāo)準(zhǔn)編碼算法進(jìn)行圖像壓縮的硬件設(shè)計(jì)。總體方案如圖3所示,本裝置主要包括以下5個(gè)模塊:系統(tǒng)控制、圖像接收、圖像緩存、壓縮編碼以及數(shù)據(jù)傳輸。

ck2-t3.gif

    本裝置中系統(tǒng)采集到的原始圖像數(shù)據(jù)通過(guò)圖像接收模塊(LVDS接口)接收,并且進(jìn)行解串之后,為了解決由于傳輸速率過(guò)快可能導(dǎo)致的數(shù)據(jù)丟失問(wèn)題,需要先進(jìn)行數(shù)據(jù)緩存,再將數(shù)據(jù)無(wú)失真地傳輸給壓縮編碼模塊。最后為了測(cè)試圖像壓縮編碼后的效果,通過(guò)數(shù)據(jù)傳輸模塊(RS422)把壓縮編碼后的數(shù)據(jù)轉(zhuǎn)化為異步串行數(shù)據(jù)傳輸?shù)缴衔粰C(jī)[11],再經(jīng)過(guò)MATLAB解碼可以查看到圖片是否失真。

2.1 LVDS圖像采集接口設(shè)計(jì)

    采集接口采用了LCD Panel通用的接口標(biāo)準(zhǔn)LVDS低壓差分信號(hào)接口,信號(hào)的傳輸速率可達(dá)幾百M(fèi)b/s,是在TTL電平方式傳輸寬帶高碼率數(shù)據(jù)時(shí),為了降低系統(tǒng)功耗以及消除EMI電磁干擾而被研究出來(lái)的一種數(shù)字視頻信號(hào)傳輸方式。

    圖4為L(zhǎng)VDS信號(hào)實(shí)際測(cè)試波形圖,圖中的幀同步信號(hào)、行同步信號(hào)和同步時(shí)鐘信號(hào)都是高電平有效,當(dāng)幀同步信號(hào)有效時(shí)讀取圖像數(shù)據(jù)中的一幀,行同步信號(hào)有效時(shí)讀取圖像數(shù)據(jù)中的一行。只有幀同步信號(hào)、行同步信號(hào)同時(shí)為高電平時(shí),在時(shí)鐘的上升沿觸發(fā)下才可以讀取到LVDS接口原始圖像數(shù)據(jù)。

ck2-t4.gif

    本裝置中LVDS接口輸入的圖像為YCbCr4:2:2格式,它的主要功能是將輸入的圖像數(shù)據(jù)進(jìn)行處理,為提升系統(tǒng)速度,充分利用時(shí)鐘資源,使存入到SRAM的數(shù)據(jù)為16 bit,數(shù)據(jù)在FPGA內(nèi)部用時(shí)鐘打2拍[11]

2.2 圖像緩存設(shè)計(jì)

    本裝置選用兩片SRAM進(jìn)行乒乓緩存,以提升傳輸速率,數(shù)據(jù)處理流程如下:系統(tǒng)上電后,緩存模塊初始化選擇SRAM0,當(dāng)檢測(cè)到有數(shù)據(jù)輸入時(shí),SRAM0寫(xiě)請(qǐng)求信號(hào)使能有效,開(kāi)始存儲(chǔ)數(shù)據(jù),數(shù)據(jù)從SRAM0的地址0開(kāi)始寫(xiě)入,當(dāng)寫(xiě)入的數(shù)據(jù)量達(dá)到已設(shè)置好的容量后,地址計(jì)數(shù)器給出SRAM0滿標(biāo)志信號(hào),停止寫(xiě)入數(shù)據(jù),同時(shí)將SRAM0的寫(xiě)地址計(jì)數(shù)器清零,等待壓縮模塊讀取圖像數(shù)據(jù)。此時(shí)SRAM1寫(xiě)請(qǐng)求信號(hào)使能有效寫(xiě)入數(shù)據(jù),同時(shí)SRAM0讀請(qǐng)求信號(hào)使能有效[12]。原理圖如圖5所示。

ck2-t5.gif

2.3 壓縮編碼模塊設(shè)計(jì)

    ADV212是一款專用壓縮編解碼芯片,具有實(shí)時(shí)壓縮和解壓縮的功能。在工作時(shí)具有延遲小、功耗低、工作模式靈活可控的優(yōu)點(diǎn)[13]。

    本裝置中圖像壓縮模塊的工作流程如圖6所示。首先在系統(tǒng)正常工作前需要對(duì)ADV212進(jìn)行參數(shù)配置,即對(duì)內(nèi)部的直接寄存器和間接寄存器進(jìn)行初始化操作,其中對(duì)間接寄存器的配置需要通過(guò)把要調(diào)用的地址寫(xiě)入直接寄存器IADDR和STAGE中,再把數(shù)據(jù)寫(xiě)入到寄存器IDATA中。本模塊的主要功能是將從存儲(chǔ)模塊讀取到的原始圖像數(shù)據(jù)進(jìn)行JPEG2000標(biāo)準(zhǔn)編碼處理,然后通過(guò)接收讀取數(shù)據(jù)命令,回讀編碼后的數(shù)據(jù)[14]。

ck2-t6.gif

    本裝置中,選用9/7濾波器將每個(gè)矩形塊分解成許多子帶,同時(shí)將產(chǎn)生的小波系數(shù)寫(xiě)入到相應(yīng)寄存器中[15],其中輸出的碼流格式為包含亮度和色彩數(shù)據(jù)的YCbCr格式。在本模塊中,對(duì)于YCbCr格式,樣本值是每行像素值的兩倍。因此,壓縮一幅320×240的彩色圖像,固件參數(shù)應(yīng)當(dāng)設(shè)置為160×120。

3 系統(tǒng)測(cè)試

    測(cè)試和控制該裝置接收和存儲(chǔ)壓縮編碼數(shù)據(jù)的地面測(cè)試軟件操作界面如圖7所示,上位機(jī)軟件正在接收經(jīng)過(guò)壓縮模塊的圖像數(shù)據(jù)。

ck2-t7.gif

ck2-t7-x1.gif

ck2-t8.gif

    通過(guò)地面測(cè)試臺(tái)發(fā)送原始彩色圖像,如圖9所示,其尺寸為150 KB。再將接收到的壓縮編碼圖像數(shù)據(jù)通過(guò)圖像解碼顯示軟件解碼顯示,如圖10所示,一幀圖像大小約為2 KB。對(duì)比發(fā)現(xiàn),系統(tǒng)實(shí)際實(shí)現(xiàn)的壓縮比約為75:1,通過(guò)實(shí)際測(cè)試發(fā)現(xiàn),解碼后的圖像失真度較小,壓縮效果較好,滿足系統(tǒng)要求。

ck2-t9+t10.gif

4 結(jié)束語(yǔ)

    本文基于箭載的航天背景,設(shè)計(jì)并實(shí)現(xiàn)了一種基于JPEG2000算法的高幀頻圖像壓縮編碼裝置。最后通過(guò)系統(tǒng)測(cè)試平臺(tái)對(duì)壓縮編碼裝置進(jìn)行了系統(tǒng)測(cè)試,經(jīng)過(guò)分析,該裝置滿足了預(yù)期要求的壓縮倍數(shù)和壓縮速率。結(jié)果表明,本文設(shè)計(jì)的圖像壓縮編碼裝置在滿足高幀頻的同時(shí)可以實(shí)現(xiàn)高壓縮比的要求,并且系統(tǒng)穩(wěn)定,具有極高實(shí)用價(jià)值。

參考文獻(xiàn)

[1] 翁天陽(yáng),莊宇,于瑋,等.基于HPS和FPGA的圖像壓縮感知編解碼系統(tǒng)[J].電子技術(shù)應(yīng)用,2017,43(5):90-93.

[2] 祁志恒,姜喆,張為.基于ADV212的雷達(dá)圖像壓縮傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2015,41(11):78-80,84.

[3] 朱秀昌,劉峰,胡棟.數(shù)字圖像處理與圖像通信[M].北京:北京郵電大學(xué)出版社,2016.

[4] 祁志恒.基于ADV212的JPEG2000圖像壓縮系統(tǒng)設(shè)計(jì)[D].天津:天津大學(xué), 2016.

[5] CHRYSAFITS C,ORTEGA A.Line-based, reduced memory,wavelet image compression[J].IEEE Transactions on Signal Process,2000,9(3):378-389.

[6] 姜喆.高性能JPEG2000圖像編碼器的VLSI設(shè)計(jì)[D].天津:天津大學(xué),2012.

[7] 王丹,楊允基.ADV212編解碼芯片原理及應(yīng)用[J].艦船電子工程,2008(5):106-109.

[8] 孫寶海.基于TI DM8148構(gòu)架的視頻編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2017.

[9] 黃德祥,湯愛(ài)武,徐升,等.基于ADV212的無(wú)人機(jī)實(shí)時(shí)視頻解碼系統(tǒng)設(shè)計(jì)[J].無(wú)線電工程,2014,44(10):59-63.

[10] 晁富邦.基于ARM的嵌入式視頻采集與壓縮系統(tǒng)設(shè)計(jì)與研究[D].重慶:重慶大學(xué),2009.

[11] 劉敏慧,高楓,劉文怡.基于FPGA和ADV212的彩色圖像實(shí)時(shí)壓縮系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2017,40(22):88-90,94.

[12] 藺志強(qiáng).大容量緩存壓縮裝置的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2013.

[13] 齊鳳梅,孫立成.機(jī)載高速相機(jī)圖像準(zhǔn)實(shí)時(shí)下傳方法[J].飛行器測(cè)控學(xué)報(bào),2012,31(4):25-28.

[14] 王剛,陳曉曙.面向無(wú)線傳輸?shù)膶?shí)時(shí)視頻壓縮編碼系統(tǒng)設(shè)計(jì)[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34(12):1819-1822.

[15] 關(guān)曉磊,孟立凡.JPEG2000的近距離無(wú)線視頻傳輸系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(11):41-44.



作者信息:

連佳佳1,王志有2,王利斌3,劉文怡1,張會(huì)新1

(1.中北大學(xué) 電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原030051;

2.北京宇航系統(tǒng)工程研究所,北京100076;3.北京強(qiáng)度環(huán)境研究所,北京100076)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。