《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > FPGA時序結構的LBT變換控制器設計
FPGA時序結構的LBT變換控制器設計
2019年電子技術應用第2期
顧澤凌,楊明遠,丁紅暉,衡 燕
上海無線電設備研究所,上海200090
摘要: JPEG XR編碼算法中重疊雙正交變換(LBT)傳統的FPGA實現都是基于線性提升結構,無時序約束,存在亞穩態、碼流不受控等問題。為此,設計了一種基于FPGA時序結構的LBT變換控制器,該設計采用混合狀態機,將LBT變換算子設計為時序控制結構的數據處理模塊。數據處理模塊通過握手信號與前后控制模塊進行指令通信,并根據指令進行相應的數據處理。為了節省FPGA內部存儲空間,該設計采用單RAM循環結構,由通道選擇器來切換各個控制模塊與RAM之間的通道。各個控制模塊根據數據處理模塊反饋的應答指令實時計算圖像數據的地址,交叉對RAM進行讀寫操作。實驗結果表明,該控制器實現了對LBT變換的FPGA時序約束,處理后的圖像與MATLAB仿真圖像基本一致,達到了預期目的。
中圖分類號: TN958
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182703
中文引用格式: 顧澤凌,楊明遠,丁紅暉,等. FPGA時序結構的LBT變換控制器設計[J].電子技術應用,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.
Design of LBT transform controller based on FPGA′s timing structure
Gu Zeling,Yang Mingyuan,Ding Honghui,Heng Yan
The Institute of Shanghai Radio Equipment,Shanghai 200090,China
Abstract: For the lapped bi-orthogonal transform(LBT) in JPEG XR encoding algorithm, the traditional implement method is always using linear lift structure which has no timing constraint, and it could cause some problems such as metastable state, uncontrolled code flow. Therefore, a LBT transform controller based on FPGA′s timing structure has been designed. In this design, mixed state machines is used to make the LBT transform operators to be data dealing modules that are timing-controlling-structure. The data dealing modules communicates with front and back controlling modules through handshake signals, and processes data according to relevant instructions. Single RAM cycle structure is used in the design, so that it can save FPGA internal storage space. The channels between each controlling modules and RAM are switched via channel chooser. Each controlling module computes addresses of image data in real time and reads or writes the RAM crossways on the basis of the feedback instructions of data dealing modules. Experimental results show that the controller has realized FPGA timing constraint on LBT transform, and the images processed by it are almost same to the results on MATLAB. This design has achieved desired goals.
Key words : JPEG XR;LBT;FPGA;mixed state machine;cycle structure

0 引言

    圖像是信息傳輸的重要載體,隨著社會科技進步,人們對圖像質量要求越來越高,尤其是在航空航天、視頻安防等領域,對圖像傳輸與存儲[1]的要求更高。因此在提高傳輸帶寬的同時,對圖像壓縮的相關研究也同步開展,尤其是JPEG系列的發展[2]。2009年,JPEG XR(JPEG eXtended Range)正式發布[3],其采用重疊雙正交變換(LBT)算法,復雜度與JPEG的離散余弦變換(DCT)相當,而還原后圖像質量卻能與采用較為復雜的離散小波變換(DWT)的JPEG 2000相媲美[4],因而得到了廣泛研究,具有很好的應用前景。

    傳統基于FPGA的LBT變換都是線性提升結構,沒有時序約束,系數變換存在亞穩態,數據碼流不受控制,而且線性提升結構存在大量的乘法器、除法器和移位寄存器,對FPGA硬件資源消耗極大。本文充分利用FPGA的時序約束特性,將LBT的變換算子時序化,通過握手信號與前后控制模塊通信;為節省FPGA內部空間,設計了一種單RAM循環結構,使用通道選擇器,根據控制指令,在不同的變換模塊工作時,打開其與RAM之間的通道并關閉其他通道,根據變換順序對RAM進行循環交叉讀寫,避免變換系數出現混亂;控制模塊根據變換順序,實時計算系數地址進行讀寫操作,該設計實現了FPGA時序特性的LBT變換。

1 JPEG XR的LBT原理與分析

1.1 LBT變換的組成

    JPEG XR編碼流程與JPEG和JPEG2000類似,但其可根據圖像內容實時調整處理算法,即自適應,包括圖像預處理、LBT變換、量化、自適應預測、自適應掃描和自適應熵編碼[5],如圖1所示。

ck2-t1.gif

    JPEG XR除具有較強自適應編碼能力外,最大不同就在于其采用LBT變換,既解決了JPEG的塊效應問題,又避免DWT復雜算法,這是其相較前兩者最明顯的優勢[6]。LBT包括2個子變換,分別為用于消除圖像塊效應的圖像濾波變換(POT)和將圖像從空間域變換到頻域的圖像核心變換(PCT)[7]

1.2 LBT的變換算子及其原理

    對于單通道圖像,LBT的2個子變換又包含若干個變換算子。其中,POT又分為2類,分別是4點濾波(Tpre4)和4×4濾波(T4mul4),其中T4mul4由5個變換算子構成,分別是:

    (1)2×2哈達瑪濾波變換[8](Hadamard Transform),算子符號為THEnc

    (2)2點前向縮放,算子符號為TS

    (3)2點前向旋轉,算子符號為TR

    (4)2×2前向旋轉,算子符號為TOddOdd

    (5)2×2哈達瑪變換,算子符號為TH

    而Tpre4只包含上述的TS和TR,但它本身也有部分運算[9]

    PCT只有一種,具有3個變換算子,分別是:

    (1)2×2哈達瑪變換,算子符號為TH,與T4mul4的TH相同;

    (2)一維旋轉變換,算子符號為TOdd

    (3)二維旋轉變換,算子符號為TOddOdd,與T4mul4的TOddOdd不同。

1.3 LBT的變換在圖像上的分布

    在JPEG XR中,圖像若沒有被分割成瓦片(Tile)進行處理,LBT操作范圍是整個圖像;若圖像被分割成Tile,那LBT操作范圍就是整個Tile,處理完一個Tile再去處理下一個[10]。為方便下文闡述,將圖像或Tile統稱為處理對象。其中,POT在處理對象邊緣進行Tpre4,在其內部進行T4mul4;而PCT的操作范圍始終是整個處理對象[11],圖2是LBT的POT和PCT在處理對象上的分布示意圖。

ck2-t2.gif

2 FPGA時序特性的變換算子

2.1 與傳統變換的對比分析變換算子的封裝

    本文參考ITU編碼建議書LBT各個子變換偽代碼,提出了基于FPGA時序結構的優化與改進。表1是建議書的TH算子偽代碼和FPGA時序特性的TH算子對比,Step代表FPGA狀態機中的一個狀態,其后面的計算是該狀態內的數據處理過程,而建議書偽代碼一行計算就代表一個步驟,可以發現,FPGA時序特性下的TH算子運算步數少于建議書偽代碼,這就減少了LBT變換運算時間。

ck2-b1.gif

2.2 變換算子的封裝

    圖3是TH算子模塊,控制模塊將要進行變換的系數送到輸入端口后向TH發送請求,TH收到請求接收數據向控制模塊發送應答;TH變換完成將數據送到輸出端口,向控制模塊發送處理完成請求,控制模塊收到請求接收數據并向TH發送接收完成應答。至此,TH變換任務完成,等待下一組變換數據輸入請求。

ck2-t3.gif

3 FPGA設計與邏輯分析

3.1 FPGA頂層模塊設計

    系統采用FPGA內部ROM作為模擬圖像源,用MATLAB將圖4所示的6個64×64像素測試圖生成存儲初始化文件存放到ROM中。圖5是FPGA的頂層模塊設計,包括模擬源、變換控制、RAM及通道控制和并轉串模塊。

ck2-t4.gif

ck2-t5.gif

3.2 LBT變換模塊設計

    在變換模塊中,又分為單RAM循環結構的LBT變換控制器和RAM通道選擇器,后者根據變換控制器的通道控制指令對各個子變換與RAM之間的通信進行交叉控制。變換控制器根據LBT的4個子變換(第一階段的POT和PCT、第二階段的POT和PCT)分為4個部分,每個部分都有一個指令來控制通道選擇器。因為RAM讀寫是不能同時進行的,所以要考慮RAM控制器對通道控制指令的交錯,即交叉對RAM進行操作,因此不能同時打開RAM通道,圖6是RAM讀寫模塊對通道控制的時序分析,為了避免兩個控制模塊同時打開RAM通道,在寫模塊關閉通道后,讀模塊空等一個周期(狀態)再打開RAM通道。

ck2-t6.gif

3.3 FPGA控制模塊工作流程

    圖7是POT讀模塊流程圖,按照先處理圖2中最上側Tpre4;再按每4行中先處理左邊2次Tpre4、中間的T4mul4、右邊2次Tpre4;最后再處理最下側Tpre4的先后順序從ROM中讀取圖像數據。POT讀模塊處理完4個Tpre4或16個T4mul4就會向POT寫模塊發送最后一個變換系數地址,后者接收到POT變換后的系數,再按該地址逆序將結果保存到RAM中。PCT讀模塊收到POT結束指令后,開始從RAM中按光柵掃描順序讀取4×4個系數進行PCT變換,如圖8所示。PCT讀模塊處理完成后就會向PCT變換寫模塊發送第一個變換系數的地址,后者接收到PCT變換后的系數后,再按光柵掃描順序將變換結果保存到RAM,如圖9所示。

ck2-t7.gif

ck2-t8.gif

ck2-t9.gif

4 FPGA仿真與結果分析

4.1 FPGA在線仿真

    本文采用Signal Tap進行FPGA設計驗證,圖10是模擬源模塊部分數據地址仿真,A中是第1到第4個系數,這也是第一次Tpre4的變換系數;B中是第一次T4mul4的16個變換系數。

ck2-t10.gif

    以TR算子為例,圖11是POT的TR算子變換仿真圖,A中是控制模塊發來的輸入請求和TR算子的應答,B中是TR算子變換完成發出的請求和控制模塊返回的應答。

ck2-t11.gif

    圖12是RAM控制模塊工作仿真,A中是T4mul4模塊向RAM寫控制模塊發送的寫請求后,模塊打開RAM通道控制器,在B中將POT變換結果寫入RAM,在C中將通道關閉。通過Signal Tap進行仿真驗證,表明FPGA時序約束下的LBT變換受控。

ck2-t12.gif

4.2 LBT變換結果對比分析

    第二次PCT變換完成,整個LBT變換結束,此時RAM中存放最終的變換結果,并轉串模塊從RAM中讀取且以9 600 b/s的速度通過CP2102發送到上位機串口調試助手;將數據保存為txt文件,使用MATLAB對數據進行重構。圖13各分圖中,左圖是測試圖MATLAB的LBT仿真結果,右圖是FPGA的LBT處理結果。測試結果表明,FPGA的LBT變換結果與MATLAB仿真結果相似, FPGA時序結構的LBT變換基本實現。

ck2-t13.gif

5 結論

    本文提出了一種基于FPGA時序特性的單RAM循環存儲結構的LBT變換算法。相較于傳統的線性提升結構,該算法能對變換過程進行實時控制,利用混合狀態機按時序進行,避免出現碼流混亂,最終得到了LBT變換結果。但由于該設計的系數精度不夠,而且僅支持單通道圖像變換,通過提高變換系數的精度和實現多通道圖像(彩色圖像)變換以提高LBT變換質量與速度將是下一步的研究方向。

參考文獻

[1] 祁志恒,姜喆,張為.基于ADV212的雷達圖像壓縮傳輸系統[J].電子技術應用,2015,41(11):78-80,84.

[2] 張慧慧.基于FPGA的JPEG壓縮編碼器的設計與實現[D].太原:中北大學,2017.

[3] 劉致遠,陳耀武.基于主觀質量的JPEG XR量化參數選擇[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] 鄔春明,焦龍龍,張金強.基于圖像紋理特征的JPEG-XR幀內預測技術[J].東北師大學報(自然科學),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.



作者信息:

顧澤凌,楊明遠,丁紅暉,衡  燕

(上海無線電設備研究所,上海200090)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美粗大猛烈老熟妇| 香蕉在线精品视频在线观看6| 成年男女男精品免费视频网站| 亚洲国产精品日韩在线| 精品剧情v国产在线麻豆| 国产婷婷成人久久av免费高清 | 欧美老人巨大xxxx做受视频| 国产98色在线| 欧美日韩亚洲成色二本道三区 | 亚洲国产精品无码久久| 精品久久久久久无码专区| 国产亚洲美女精品久久久| 你懂的在线视频| 夜夜夜精品视频免费| 中文字幕一区二区在线播放| 中文字幕乱码一区二区免费 | 欧美激情第1页| 十六以下岁女子毛片免费| 韩国v欧美v亚洲v日本v| 国产精品亚洲а∨无码播放不卡 | 亚洲av午夜成人片精品网站| 污视频免费在线观看网站| 午夜免费1000部| 蜜桃臀av高潮无码| 国产成视频在线观看| 2022天天操| 大香伊蕉国产av| 一级做a爰片性色毛片16美国| 日本在线高清视频日本在线观看成人小视频 | 日本免费成人网| 亚洲av最新在线观看网址| 欧美熟妇VDEOSLISA18| 人人色在线视频播放| 精品人妻无码专区中文字幕| 日本伦理电影网伦理在线电影| 人人爽人人爽人人片av免费| 精品日韩一区二区| 国产一级毛片高清视频完整版| 黄色一级一毛片| 国产精品一区二区三区免费 | 亚洲欧美在线视频|