999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

應用于JPEG2000的高性能MQ編碼器VLSI設計

2018-06-14 06:10:36陳超偉劉艷艷
西安電子科技大學學報 2018年3期
關鍵詞:優化信號結構

陳超偉, 梁 煜, 張 為, 包 娜, 劉艷艷

(1. 天津大學 微電子學院,天津 300072;2. 南開大學 電子信息與光學工程學院,天津 300071)

JPEG2000是一種被廣泛應用于各個領域的新型圖像壓縮標準.最優化嵌入式編碼(Embedded Block Coding with Optimal Truncation,EBCOT)承擔了JPEG2000的主要編碼工作,并占據了整體編碼時間的80%以上.Tier 1編碼作為EBCOT的主要部分,是優化JPEG2000整體編碼性能的關鍵.Tier 1編碼由2個編碼器完成: 位平面編碼器(Bit Plane Encoder,BPC)以及MQ編碼器.BPC根據3種編碼通道產生上下文-判決對(Contex-Decison pair,CXD),CXD對進入MQ編碼器完成編碼并最終產生壓縮碼流.

當前影響Tier 1編碼的主要瓶頸在于MQ編碼器的編碼性能較低.MQ編碼器串行工作的特點以及復雜的算法給優化工作造成了困難,傳統的MQ編碼器單位時鐘周期內只能處理1個CXD對,且編碼時間較長.目前MQ編碼器的優化思路主要有兩種:設計單位時鐘周期內能并行處理多對CXD對的編碼器;提高單位時鐘周期內處理單個CXD對的速度.根據第一種思路提出的優化結構雖然能實現多對并行處理,但是編碼器工作頻率不高,并且犧牲了大量的硬件面積以及存儲資源.此外,部分編碼器在輸入多對相同CXD對的情況下,會出現無法并行工作的問題,導致吞吐率嚴重下降[1].

針對第2種優化思路,目前也有許多優化結構被提出.文獻[2]針對編碼過程當中較為復雜的Renormalization操作進行優化,但其優化結構只能在前后輸入的CXD對不同的情況下發揮作用.文獻[3]通過附加電路處理發生概率極低的編碼操作,減少了關鍵路徑.但附加電路也占據了大量電路面積.

文中將根據第2種優化思路來優化MQ編碼器結構.此外,文中還將提出一種接口設計使得提出的MQ編碼器結構有效地運用到Tier1編碼當中,實現Tier 1整體編碼吞吐率最高3倍的提升.

1 MQ編碼器工作原理

MQ編碼器是一種二進制自適應算數編碼器,根據輸入的CXD對不斷調整編碼區間以實現編碼操作[4].每一個CXD對都與一個Index值和MPS值相關聯,兩者都被存放在Index值查找表(Index Look up Table,ILT)當中.每個Index值又指向一個存儲在概率估計值表(Probability Estimate Table,PET)里的條目.PET一共有47個條目,每個條目包括4個重要編碼參數: Qe、NMPS、NLPS和SWITCH.

編碼器根據判決值D與MPS值是否相等,從CODEMPS和CODELPS當中選擇一種作為當前的編碼模式來完成編碼工作.每一種編碼模式還包括Renormalization操作以及Byte-out操作.MQ編碼器用寄存器A和寄存器C來記錄當前編碼區間.前者用來存放編碼區間的寬度,后者用來存放編碼區間的下邊界值.

寄存器A的值必須保持在0.75≤A≤1.50這一范圍當中.寄存器C是一個28位的整型數.一旦寄存器A的值低于0.75,那么Renormalization操作就會執行,通過移位加倍使得寄存器A的值回到規定范圍內,寄存器C也會隨之移位.寄存器CT用來記錄移位次數.

編碼器通過執行Byte-out操作輸出壓縮字節.當寄存器CT的值減小到0,則輸出寄存器C當中的壓縮字節,一個CXD對最多可輸出2個壓縮字節,即進行兩次Byte-out操作.

2 高性能MQ編碼器結構

2.1 MQ編碼器

圖1所示為文中提出的高性能MQ編碼器結構.該結構包含兩部分: Index值預測模塊以及主體編碼模塊.

圖1 高性能MQ編碼器結構

2.1.1 Index值預測模塊

在MQ編碼器編碼過程中,如果執行了Renormalization操作,ILT可能會發生更新.因此,為了得到正確的Index值,后一個輸入CXD對往往必須等待前者編碼完全結束,從而大大增加了編碼等待時間.

文中運用Index預測模塊來提前獲得待編碼CXD對的Index值.一旦預測工作結束,該模塊將生成一個Start=MQ信號,將Index值傳遞給主體編碼模塊,并通知其可以開始后續編碼,從而無需等待前一個CXD對編碼結束,縮短了等待時間,同時也使得流水線結構得以運用到后續編碼當中.此外,由于MPS值與對應Index值的最低位相等,因此,無需在ILT當中進行額外存儲,從而減小了ILT的存儲需求.Renorm信號由主體編碼模塊給出,用于標記是否執行Renormalization操作.

圖2所示為Index值預測模塊的電路結構.Index 1表示當前編碼CXD對的Index值.Index 2表示為待編碼的CXD對預測的Index值.根據當前編碼CXD對的判決值D1與對應的MPS值是否相等來判斷當前編碼模式.Index 2有兩個可能值:從未更新的ILT中獲取的原始值(Index=original);前一個CXD對在編碼過程中產生的更新值(Index=update).預測模塊將從中選出一個作為預測Index值,同時更新ILT.預測模塊預測工作偽代碼如下所示:

Index 2=((CX1==CX2) && Renorm)? Index=update: Index=original

Index=update=(D1==MPS)? NMPS: NLPS

圖2 Index值預測模塊的電路結構

Index值預測模塊為待編碼CXD對提供Index值,預測的Index值是從ILT以及PET中選取的,這兩個查找表都由JPEG2000標準規定,因此,只要預測模塊正常工作,Index值的預測就不會出現錯誤.針對Index預測模塊的功能驗證,文中將預測模塊與主體編碼模塊結合之后形成完整MQ編碼器進行整體功能驗證,從而保證驗證結果的準確性和全面性.詳細驗證方案將在下文介紹.

圖3 主體編碼模塊4級流水線結構

2.1.2 主體編碼模塊的流水線結構

如圖3所示,主體編碼模塊是一個4級流水線結構.下面對各級流水線的工作進行說明.

(1) 第1級流水線.編碼器從PET當中獲得Qe等編碼參數.為了減小存儲需求,文中對Qe的存儲進行了優化.此外,PET當中還存儲了寄存器A在CODELPS編碼模式下發生重歸一化時所要移位的次數LZ.

(2) 第2級流水線.本級流水線主要進行寄存器A的更新,并產生Renorm信號將傳遞給Index值預測模塊.如果當前編碼模式為CODELPS,那么寄存器A的移位可根據上一級流水線查表得到的LZ值實現一次性移位.

(3) 第3級流水線.為了避免因使用28位加法器導致關鍵路徑變長,寄存器C的更新被拆分成低16位C16和高12位C12,分兩級進行.其中低16位C16更新在本級流水線完成.

(4) 第4級流水線.完成寄存器C高12位C12的更新,并執行Byte-out操作.文中對寄存器C最終更新當中所用到的MASK信號產生電路進行了優化.

表1 Qe的分類

注:表中a、b、c表示每組當中各個Qe數值不同的位.

2.1.3 主體編碼模塊的優化

(1) Qe存儲的優化 . Qe的位寬是15 . 文中將PET當中的47個Qe分成3組,每組當中的每個Qe有8位是相同的.因此, 只需存儲剩余的連續7位,從而節省了53%的存儲空間.表1所示即為Qe的分類.

(2) Renorm信號的產生.Renorm信號用來標記是否執行Renormalization操作.該信號的產生電路如圖4所示.通過比較判決值D與MPS值也就是Index值最低位即可判斷當前編碼模式.在編碼模式CODELPS中,Renormalization操作一定執行.而對于編碼模式CODEMPS,在A- Qe< 0.75的情況下,Renormalization操作才執行.

(3) MASK信號生成的優化.編碼器執行Byte-out操作之后,寄存器C的保留位由MASK信號決定,并得到最終更新值.為了實現Byte-out操作與寄存器C最終更新的并行完成,文中對MASK信號生成電路進行優化.如圖5所示,MASK值被初始化為0xFFFFFFF,并根據Byte-out操作輸出的字節數以及Flush信號進行移位更新.移位有3種可能: 輸出1個壓縮字節時的移位(shift_1)、輸出2個壓縮字節時的移位(shift_2)以及執行Flush操作時的移位(shift_flush).CT_add1表示第1個字節輸出后CT被重置的值,CT_add2表示第2個字節輸出后CT被重置的值,兩者都為7或8.LZ表示寄存A的前移0個數.

2.2 BPC與MQ編碼器的接口設計

針對BPC輸出的特點,文中設計了一種高效的接口結構.如圖6(a)所示,BPC輸出3種通道類型的數據,經分開之后通過對應先入先出(First In First Out,FIFO)通道傳遞給指定的MQ編碼器,3個通道的MQ編碼器并行工作.

2.2.1 BPC輸出特點

BPC通過3種不同的編碼通道產生3種CXD對.3種編碼通道分別為: 重要性通道(Significance Propagation Pass,SP)、幅度細化通道(Magnitude Refinement Pass,MRP)以及清除通道(Clean up Pass,CP).3種CXD對有所差異,每個CXD對的最高兩位將用來指示其所屬編碼通道,可用來作為區分依據,分開后的3種CXD對分別為bpc_out_sp、bpc_out_mrp以及bpc_out_cp.

圖4 Renorm信號產生電路圖5 MASK信號生成電路

圖6 BPC-MQ編碼器連接設計

2.2.2 接口設計

針對3種CXD對,接口設計包括3套FIFO通道,每套FIFO通道當中有多個fifo單元.fifo的數目根據對應編碼通道在單位時鐘周期內所能產生最大CXD對數目而定.由于BPC和MQ編碼器存在吞吐率差異,FIFO采用異步讀寫,配備了寫控制模塊和讀控制模塊.

寫控制模塊采用從低到高循環并行寫入fifo的方式.如圖6(b)所示,設置一個寫信號“write_fifo”,其位寬與fifo數目相同,每一位表示對應的fifo是否寫入數據.同時設置一個寫指針“start_point”,用來指向下一個將要寫入數據的空fifo.進入寫控制模塊的所有CXD對將并行寫入對應空fifo當中.讀控制模塊設置讀指針“read_fifo”,每個時鐘周期從所有fifo中取出一個并輸出,然后在下一個周期指向下一個fifo.

3 結果與討論

3.1 MQ編碼器

文中將提出的高性能MQ編碼器在Xilinx Virtex 5 XC5VLX330 FPGA上進行驗證.測試結果表明,該MQ編碼器能夠取得的最大工作頻率為 181.434 MHz,吞吐率達到 181.434 Msymbol/sec,所用Slices數目為210,關鍵路徑延時為 2.432 ns.

圖7 改進MQ編碼器結構驗證方案

MQ編碼器通過查表的方式完成編碼,一旦出現編碼錯誤是難以恢復的.為了使得改進MQ編碼器結構能運用到JPEG2000編碼器當中,必須保證改進結構功能的正確.為了驗證預測模塊的功能,文中采用了Jasper作為驗證標準.Jasper是一款JPEG2000編碼器的開源軟件,可以作為改進結構編碼結果的參照.文中采用的功能驗證方案如圖7所示.測試圖像首先通過Jasper完成JPEG2000前期的預處理、離散小波變換、量化、BPC編碼過程,最終生成CXD對數據存放于TXT文件當中.然后將數據文件導入至改進MQ編碼器當中進行編碼,同時Jasper繼續進行編碼,最終對比兩者的編碼結果來確定改進MQ編碼器結構是否能夠正確完成編碼.功能驗證結果表明,改進結構能完成編碼,得到正確的壓縮字節.

文中還將所提出的MQ編碼器結構與部分文獻的優化結構進行性能比較,對比結果如表2所示.為了提高對比的全面性,引入了FoM參數,其計算公式如式(1)所示,式中的Throughput表示編碼器吞吐率,Slices/LEs表示編碼器所用Slice或者LE的數目,Memory(bits)表示編碼器所用存儲資源大小.為了保證結果的準確性,比較雙方均使用同樣的FPGA.

(1)

3.2 Tier 1編碼

文中將提出的MQ編碼器運用到Tier 1編碼當中,并在Xilinx Virtex 5 XC5VLX330 FPGA上進行驗證.通過多份測試數據統計表明,大部分位平面均能通過BPC產生3個編碼通道的CXD對,因此,3個MQ編碼器可以并行工作,從而實現Tier 1編碼吞吐率的3倍提升.但部分位平面會出現個別編碼通道不產生CXD對的情況.此時,無CXD對輸入的MQ編碼器沒有工作,Tier 1整體編碼吞吐率未達到最理想值.

表2 編碼器性能比較

注:文獻[1-2,5,7,9]未提供所用存儲數據,無法計算FoM,故表中未列出比較;文獻[1]的結構在輸入的兩個CXD對相同的情況下,無法實現并行編碼,吞吐率下為最高值的一半(155.95).

4 結 束 語

文中提出了一種運用于JPEG2000的高性能MQ編碼器.通過Index預測等優化方法,實現編碼速度提升以及存儲消耗的減少.同時,文中還將提出的MQ編碼器運用到Tier 1編碼當中,提出一種高效的接口設計來實現BPC和MQ編碼器的并行工作.在BPC的3種編碼通道均輸出CXD對的情況下,Tier 1編碼整體吞吐率可以實現3倍的提升.

[1] CAO H, ZHANG Y F, JIANG H X. A High-throughput MQ Coder Architecture Based on Dependence Extraction Method[C]//Proceedings of the 2014 IEEE International Conference on Image Processing. Piscataway: IEEE, 2015: 1203-1207.

[2] LIU W S, ZHU E, LIN Y, et al. Design of JPEG2000 Arithmetic Coder Using Optimized Renormalization Procedure[C]//Proceedings of the 2011 International Conference on Multimedia and Signal Processing. Piscataway: IEEE, 2011: 41-45.

[3] RHU M, PARK I C. A Novel Trace-pipelined Binary Arithmetic Coder Architecture for JPEG2000[C]//Proceedings of the 2009 IEEE Workshop on Signal Processing Systems. Piscataway: IEEE, 2009: 243-248.

[4] 曹斌, 李云松, 劉凱, 等. JPEG2000中MQ編碼器的VLSI結構[J]. 西安電子科技大學學報, 2004, 31(5): 714-718.

CAO Bin, LI Yunsong, LIU Kai, et al. Parallel Architecture in VLSI Implementation of the MQ-coder for JPEG2000[J]. Journal of Xidian University, 2004, 31(5): 714-718.

[5] KUMAR N R, XIANG W, WANG Y. Two-symbol FPGA Architecture for Fast Arithmetic Encoding in JPEG 2000[J]. Journal of Signal Processing Systems, 2012, 69(2): 213-224.

[6] LIU K, ZHOU Y, SONG LI Y, et al. A High Performance MQ Encoder Architecture in JPEG2000[J]. Integration, the VLSI Journal, 2010, 43(3): 305-317.

[7] RAMULU G, CHANDRA S S, KUMAR A T R, et al. VLSI Architecture for MQ Coder in JPEG2000[C]//Proceedings of the 2012 Asia Pacific Conference on Postgraduate Research in Microelectronics and Electronics. Piscataway: IEEE, 2012: 106-110.

[8] SARAWADEKAR K, BANERJEE S. Area Efficient, High Speed EBCOT Architecture for Digital Cinema[J]. Isrn Signal Processing, 2012, 2012: 714176.

[9] EL-SHARKASY W M, RAGAB M E. Hardware Modelling of JPEG2000 MQ-encoder[C]//Proceedings of the 2012 4th International Conference on Intelligent and Advanced Systems: A Conference of World Engineering, Science and Technology Congress. Piscataway: IEEE, 2012: 707-712.

[10] DI Z, HAO Y, SHI J, et al. A High-throughput VLSI Architecture Design of Arithmetic Encoder in JPEG2000[J]. Journal of Signal Processing Systems, 2014, 81(2): 227-247.

猜你喜歡
優化信號結構
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
論《日出》的結構
主站蜘蛛池模板: 国产成人永久免费视频| 永久免费精品视频| 久久五月天综合| 一本色道久久88亚洲综合| 操美女免费网站| 中国国产A一级毛片| 日韩人妻无码制服丝袜视频| Jizz国产色系免费| 亚洲不卡av中文在线| 亚洲欧洲日韩综合色天使| 无码电影在线观看| 国产91在线免费视频| 免费激情网址| 色悠久久久久久久综合网伊人| 国产无码精品在线播放| 最新日本中文字幕| 波多野结衣在线一区二区| 欧美福利在线观看| 99re热精品视频国产免费| 久久这里只有精品免费| 精品一区二区三区中文字幕| 国产精品视频a| 国产日韩欧美黄色片免费观看| 欧美在线视频不卡第一页| 国产成+人+综合+亚洲欧美| 9966国产精品视频| 国产精品久久久精品三级| 国产精品自拍露脸视频| 日本高清有码人妻| 国产爽爽视频| 最新国产网站| 亚洲精品免费网站| 精品综合久久久久久97超人| 无码精品国产dvd在线观看9久 | 亚洲精品中文字幕无乱码| 日本精品中文字幕在线不卡| 视频一本大道香蕉久在线播放| 国产国模一区二区三区四区| 在线色综合| 99久久国产综合精品2020| 国产jizz| 亚洲国产高清精品线久久| 国产精品原创不卡在线| 无码日韩精品91超碰| 欧美日韩亚洲综合在线观看 | 丰满人妻中出白浆| 在线播放国产99re| 毛片在线播放网址| 国产视频a| 国产91蝌蚪窝| 国产精品美女自慰喷水| 狠狠干综合| 国产精品网址你懂的| 欧美伦理一区| 亚洲欧美一区二区三区图片| 99久久99这里只有免费的精品| 国产乱子伦精品视频| 香蕉视频在线观看www| 1级黄色毛片| 91精品国产情侣高潮露脸| 97一区二区在线播放| 国产精品自在拍首页视频8| 国产一区二区三区日韩精品| 九色在线视频导航91| 亚洲性日韩精品一区二区| 国产高清自拍视频| 久久综合九色综合97婷婷| 欧美狠狠干| 最新国产网站| 欧美精品三级在线| 国产永久在线观看| 全部毛片免费看| Aⅴ无码专区在线观看| 人人澡人人爽欧美一区| 毛片手机在线看| 九九久久精品免费观看| 国产手机在线小视频免费观看| a级毛片免费网站| 欧美亚洲国产精品第一页| 国产在线欧美| 国产精品手机在线观看你懂的| 色精品视频|