文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.182703
中文引用格式: 顧澤凌,楊明遠(yuǎn),丁紅暉,等. FPGA時(shí)序結(jié)構(gòu)的LBT變換控制器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(2):45-49.
英文引用格式: Gu Zeling,Yang Mingyuan,Ding Honghui,et al. Design of LBT transform controller based on FPGA′s timing structure[J]. Application of Electronic Technique,2019,45(2):45-49.
0 引言
圖像是信息傳輸?shù)闹匾d體,隨著社會科技進(jìn)步,人們對圖像質(zhì)量要求越來越高,尤其是在航空航天、視頻安防等領(lǐng)域,對圖像傳輸與存儲[1]的要求更高。因此在提高傳輸帶寬的同時(shí),對圖像壓縮的相關(guān)研究也同步開展,尤其是JPEG系列的發(fā)展[2]。2009年,JPEG XR(JPEG eXtended Range)正式發(fā)布[3],其采用重疊雙正交變換(LBT)算法,復(fù)雜度與JPEG的離散余弦變換(DCT)相當(dāng),而還原后圖像質(zhì)量卻能與采用較為復(fù)雜的離散小波變換(DWT)的JPEG 2000相媲美[4],因而得到了廣泛研究,具有很好的應(yīng)用前景。
傳統(tǒng)基于FPGA的LBT變換都是線性提升結(jié)構(gòu),沒有時(shí)序約束,系數(shù)變換存在亞穩(wěn)態(tài),數(shù)據(jù)碼流不受控制,而且線性提升結(jié)構(gòu)存在大量的乘法器、除法器和移位寄存器,對FPGA硬件資源消耗極大。本文充分利用FPGA的時(shí)序約束特性,將LBT的變換算子時(shí)序化,通過握手信號與前后控制模塊通信;為節(jié)省FPGA內(nèi)部空間,設(shè)計(jì)了一種單RAM循環(huán)結(jié)構(gòu),使用通道選擇器,根據(jù)控制指令,在不同的變換模塊工作時(shí),打開其與RAM之間的通道并關(guān)閉其他通道,根據(jù)變換順序?qū)AM進(jìn)行循環(huán)交叉讀寫,避免變換系數(shù)出現(xiàn)混亂;控制模塊根據(jù)變換順序,實(shí)時(shí)計(jì)算系數(shù)地址進(jìn)行讀寫操作,該設(shè)計(jì)實(shí)現(xiàn)了FPGA時(shí)序特性的LBT變換。
1 JPEG XR的LBT原理與分析
1.1 LBT變換的組成
JPEG XR編碼流程與JPEG和JPEG2000類似,但其可根據(jù)圖像內(nèi)容實(shí)時(shí)調(diào)整處理算法,即自適應(yīng),包括圖像預(yù)處理、LBT變換、量化、自適應(yīng)預(yù)測、自適應(yīng)掃描和自適應(yīng)熵編碼[5],如圖1所示。
JPEG XR除具有較強(qiáng)自適應(yīng)編碼能力外,最大不同就在于其采用LBT變換,既解決了JPEG的塊效應(yīng)問題,又避免DWT復(fù)雜算法,這是其相較前兩者最明顯的優(yōu)勢[6]。LBT包括2個(gè)子變換,分別為用于消除圖像塊效應(yīng)的圖像濾波變換(POT)和將圖像從空間域變換到頻域的圖像核心變換(PCT)[7]。
1.2 LBT的變換算子及其原理
對于單通道圖像,LBT的2個(gè)子變換又包含若干個(gè)變換算子。其中,POT又分為2類,分別是4點(diǎn)濾波(Tpre4)和4×4濾波(T4mul4),其中T4mul4由5個(gè)變換算子構(gòu)成,分別是:
(1)2×2哈達(dá)瑪濾波變換[8](Hadamard Transform),算子符號為THEnc;
(2)2點(diǎn)前向縮放,算子符號為TS;
(3)2點(diǎn)前向旋轉(zhuǎn),算子符號為TR;
(4)2×2前向旋轉(zhuǎn),算子符號為TOddOdd;
(5)2×2哈達(dá)瑪變換,算子符號為TH。
而Tpre4只包含上述的TS和TR,但它本身也有部分運(yùn)算[9]。
PCT只有一種,具有3個(gè)變換算子,分別是:
(1)2×2哈達(dá)瑪變換,算子符號為TH,與T4mul4的TH相同;
(2)一維旋轉(zhuǎn)變換,算子符號為TOdd;
(3)二維旋轉(zhuǎn)變換,算子符號為TOddOdd,與T4mul4的TOddOdd不同。
1.3 LBT的變換在圖像上的分布
在JPEG XR中,圖像若沒有被分割成瓦片(Tile)進(jìn)行處理,LBT操作范圍是整個(gè)圖像;若圖像被分割成Tile,那LBT操作范圍就是整個(gè)Tile,處理完一個(gè)Tile再去處理下一個(gè)[10]。為方便下文闡述,將圖像或Tile統(tǒng)稱為處理對象。其中,POT在處理對象邊緣進(jìn)行Tpre4,在其內(nèi)部進(jìn)行T4mul4;而PCT的操作范圍始終是整個(gè)處理對象[11],圖2是LBT的POT和PCT在處理對象上的分布示意圖。
2 FPGA時(shí)序特性的變換算子
2.1 與傳統(tǒng)變換的對比分析變換算子的封裝
本文參考ITU編碼建議書LBT各個(gè)子變換偽代碼,提出了基于FPGA時(shí)序結(jié)構(gòu)的優(yōu)化與改進(jìn)。表1是建議書的TH算子偽代碼和FPGA時(shí)序特性的TH算子對比,Step代表FPGA狀態(tài)機(jī)中的一個(gè)狀態(tài),其后面的計(jì)算是該狀態(tài)內(nèi)的數(shù)據(jù)處理過程,而建議書偽代碼一行計(jì)算就代表一個(gè)步驟,可以發(fā)現(xiàn),F(xiàn)PGA時(shí)序特性下的TH算子運(yùn)算步數(shù)少于建議書偽代碼,這就減少了LBT變換運(yùn)算時(shí)間。
2.2 變換算子的封裝
圖3是TH算子模塊,控制模塊將要進(jìn)行變換的系數(shù)送到輸入端口后向TH發(fā)送請求,TH收到請求接收數(shù)據(jù)向控制模塊發(fā)送應(yīng)答;TH變換完成將數(shù)據(jù)送到輸出端口,向控制模塊發(fā)送處理完成請求,控制模塊收到請求接收數(shù)據(jù)并向TH發(fā)送接收完成應(yīng)答。至此,TH變換任務(wù)完成,等待下一組變換數(shù)據(jù)輸入請求。
3 FPGA設(shè)計(jì)與邏輯分析
3.1 FPGA頂層模塊設(shè)計(jì)
系統(tǒng)采用FPGA內(nèi)部ROM作為模擬圖像源,用MATLAB將圖4所示的6個(gè)64×64像素測試圖生成存儲初始化文件存放到ROM中。圖5是FPGA的頂層模塊設(shè)計(jì),包括模擬源、變換控制、RAM及通道控制和并轉(zhuǎn)串模塊。
3.2 LBT變換模塊設(shè)計(jì)
在變換模塊中,又分為單RAM循環(huán)結(jié)構(gòu)的LBT變換控制器和RAM通道選擇器,后者根據(jù)變換控制器的通道控制指令對各個(gè)子變換與RAM之間的通信進(jìn)行交叉控制。變換控制器根據(jù)LBT的4個(gè)子變換(第一階段的POT和PCT、第二階段的POT和PCT)分為4個(gè)部分,每個(gè)部分都有一個(gè)指令來控制通道選擇器。因?yàn)镽AM讀寫是不能同時(shí)進(jìn)行的,所以要考慮RAM控制器對通道控制指令的交錯(cuò),即交叉對RAM進(jìn)行操作,因此不能同時(shí)打開RAM通道,圖6是RAM讀寫模塊對通道控制的時(shí)序分析,為了避免兩個(gè)控制模塊同時(shí)打開RAM通道,在寫模塊關(guān)閉通道后,讀模塊空等一個(gè)周期(狀態(tài))再打開RAM通道。
3.3 FPGA控制模塊工作流程
圖7是POT讀模塊流程圖,按照先處理圖2中最上側(cè)Tpre4;再按每4行中先處理左邊2次Tpre4、中間的T4mul4、右邊2次Tpre4;最后再處理最下側(cè)Tpre4的先后順序從ROM中讀取圖像數(shù)據(jù)。POT讀模塊處理完4個(gè)Tpre4或16個(gè)T4mul4就會向POT寫模塊發(fā)送最后一個(gè)變換系數(shù)地址,后者接收到POT變換后的系數(shù),再按該地址逆序?qū)⒔Y(jié)果保存到RAM中。PCT讀模塊收到POT結(jié)束指令后,開始從RAM中按光柵掃描順序讀取4×4個(gè)系數(shù)進(jìn)行PCT變換,如圖8所示。PCT讀模塊處理完成后就會向PCT變換寫模塊發(fā)送第一個(gè)變換系數(shù)的地址,后者接收到PCT變換后的系數(shù)后,再按光柵掃描順序?qū)⒆儞Q結(jié)果保存到RAM,如圖9所示。
4 FPGA仿真與結(jié)果分析
4.1 FPGA在線仿真
本文采用Signal Tap進(jìn)行FPGA設(shè)計(jì)驗(yàn)證,圖10是模擬源模塊部分?jǐn)?shù)據(jù)地址仿真,A中是第1到第4個(gè)系數(shù),這也是第一次Tpre4的變換系數(shù);B中是第一次T4mul4的16個(gè)變換系數(shù)。
以TR算子為例,圖11是POT的TR算子變換仿真圖,A中是控制模塊發(fā)來的輸入請求和TR算子的應(yīng)答,B中是TR算子變換完成發(fā)出的請求和控制模塊返回的應(yīng)答。
圖12是RAM控制模塊工作仿真,A中是T4mul4模塊向RAM寫控制模塊發(fā)送的寫請求后,模塊打開RAM通道控制器,在B中將POT變換結(jié)果寫入RAM,在C中將通道關(guān)閉。通過Signal Tap進(jìn)行仿真驗(yàn)證,表明FPGA時(shí)序約束下的LBT變換受控。
4.2 LBT變換結(jié)果對比分析
第二次PCT變換完成,整個(gè)LBT變換結(jié)束,此時(shí)RAM中存放最終的變換結(jié)果,并轉(zhuǎn)串模塊從RAM中讀取且以9 600 b/s的速度通過CP2102發(fā)送到上位機(jī)串口調(diào)試助手;將數(shù)據(jù)保存為txt文件,使用MATLAB對數(shù)據(jù)進(jìn)行重構(gòu)。圖13各分圖中,左圖是測試圖MATLAB的LBT仿真結(jié)果,右圖是FPGA的LBT處理結(jié)果。測試結(jié)果表明,F(xiàn)PGA的LBT變換結(jié)果與MATLAB仿真結(jié)果相似, FPGA時(shí)序結(jié)構(gòu)的LBT變換基本實(shí)現(xiàn)。
5 結(jié)論
本文提出了一種基于FPGA時(shí)序特性的單RAM循環(huán)存儲結(jié)構(gòu)的LBT變換算法。相較于傳統(tǒng)的線性提升結(jié)構(gòu),該算法能對變換過程進(jìn)行實(shí)時(shí)控制,利用混合狀態(tài)機(jī)按時(shí)序進(jìn)行,避免出現(xiàn)碼流混亂,最終得到了LBT變換結(jié)果。但由于該設(shè)計(jì)的系數(shù)精度不夠,而且僅支持單通道圖像變換,通過提高變換系數(shù)的精度和實(shí)現(xiàn)多通道圖像(彩色圖像)變換以提高LBT變換質(zhì)量與速度將是下一步的研究方向。
參考文獻(xiàn)
[1] 祁志恒,姜喆,張為.基于ADV212的雷達(dá)圖像壓縮傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2015,41(11):78-80,84.
[2] 張慧慧.基于FPGA的JPEG壓縮編碼器的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2017.
[3] 劉致遠(yuǎn),陳耀武.基于主觀質(zhì)量的JPEG XR量化參數(shù)選擇[J].計(jì)算機(jī)工程,2014,40(1):239-245.
[4] HORVATH K,STOGNER H,UHL A.Effects of JPEG XR compression settings on iris recognition systems[C].Computer Analysis of Images and Patterns,International Conference,Caip 2011,Seville,Spain,August 29-31,2011,Proceedings.DBLP,2011:73-80.
[5] PAN C,CHIEN C,CHAO W,et al.Architecture design of full HD JPEG XR encoder for digital photography applications[J].IEEE Transactions on Consumer Electronics,2008,54(3):963-971.
[6] 鄔春明,焦龍龍,張金強(qiáng).基于圖像紋理特征的JPEG-XR幀內(nèi)預(yù)測技術(shù)[J].東北師大學(xué)報(bào)(自然科學(xué)),2016(1):54-59.
[7] IIDA K,KOBAYASHI H,KIYA H.Secure identification based on fuzzy commitment scheme for JPEG XR images[C].Signal Processing Conference.IEEE,2016:968-972.
[8] ZHONG G,CHENG L,CHEN H.Integer lapped biorthogonal transform[C].International Conference on Image Processing.IEEE,2001:471-474.
[9] MALVAR H S.Lapped biorthogonal transforms for transform coding with reduced blocking and ringing artifacts[C].IEEE International Conference on Acoustics,Speech,and Signal Processing.IEEE,1997:2421-2424.
[10] YU L.Evaluating and implementing JPEG XR optimized for video surveillance[D].Sweden:Linkopings University,2010.
[11] SUZUKI T,YOSHIDA T.Lower complexity lifting structures for hierarchical lapped transforms highly compatible with JPEG XR standard[J].IEEE Transactions on Circuits & Systems for Video Technology,2017,27(12):2652-2660.
作者信息:
顧澤凌,楊明遠(yuǎn),丁紅暉,衡 燕
(上海無線電設(shè)備研究所,上海200090)