基于FPGA的無損圖像壓縮系統(tǒng)設(shè)計
控制單元負責產(chǎn)生控制信號以協(xié)調(diào)各電路模塊的工作順序;上下文模型選取單元將像素值輸入存儲器進行存儲,產(chǎn)生當前像素、相鄰像素和上下文預測值Δ;預測單元根據(jù)不同的上下文模型求出像素殘余值;編碼單元對像素殘余值進行修正的二元編碼或GOLOMB-RICE編碼;并串轉(zhuǎn)換單元負責將編碼結(jié)果轉(zhuǎn)換為碼流進行輸出。
本文引用地址:http://m.butianyuan.cn/article/267434.htm 圖5所示為各個電路子模塊的接口定義及連線圖。其中上下文產(chǎn)生模塊和預測模塊功能具有連續(xù)性,用一個模塊表示,像素值以光柵掃描的順序逐行進行讀入,需要一個行存儲器對像素值進行存儲,每完成對一個像素點的編碼操作之后,將存儲器中該處的像素值更新為當前行當前列的像素值,本方案處理的圖像大小為512*512,因此只需要一個512*8比特的存儲器。修正二元編碼和GOLOMB-RICE編碼模塊算法相對復雜一些,為了加快系統(tǒng)的時鐘頻率,將算法中的計算步驟進行拆分細化。GOLOMB-RICE編碼模塊需要進行參數(shù)K的選取,若K的可能值有4個,則還需要256*8*4比特大小的存儲器作為累加表。最后,由于編碼后的碼值是變長的,為了滿足輸出端口的要求,要對編碼結(jié)果進行并串轉(zhuǎn)換操作,輸出端以碼流的形式進行輸出。
壓縮系統(tǒng)已集成在XILINX VIRTEX-5 FPGA上,并利用開發(fā)板XUPV5_LX110T進行了驗證,當工作頻率為20MHZ時, 吞吐率可達45f/s,所需存儲空間僅為13.1Kbits,每幀的功耗僅為13.67毫瓦。經(jīng)過若干經(jīng)典圖像測試后發(fā)現(xiàn)此壓縮系統(tǒng)的平均壓縮比為2.2,和主流的無損圖像壓縮算法(如JPEG-LS)相當,但壓縮效率提升約80%左右。
3 結(jié)語
科技的發(fā)展和移動終端的普及對圖像壓縮系統(tǒng)的處理效率提出了越來越高的要求。本方案中的無損圖像壓縮系統(tǒng)和傳統(tǒng)壓縮算法(如JPEG-LS, CALIC等)相比,在壓縮比相當?shù)那闆r下,算法簡單,所需的存儲器面積和處理時間也都大幅度下降,可以很好地兼容到醫(yī)療或航天圖像壓縮系統(tǒng)中。
參考文獻:
[1] Liang J Y, Chen C S, Huang C H, et al. Lossless compression of medical images using Hilbert space-filling curves [J]. Computerized Medical Imaging and Graphics, 2008, 32(3): 174-182
[2] Wu X, Memon N. Context-based, adaptive, lossless image coding[J]. Transactions On Communications, IEEE, 1997, 45(4): 437-444
[3] Lossless and Near-Lossless Coding of Continuous Still Images (JPEG-LS), ISO/IEC JTC1/SC29 WG1 ITU-T SG8 (JPEG/JBIG), CD 14495, 1998
[4] P. G. Howard and J. S. Vitter, Fast and efficient lossless image compression[C], in Proc. IEEE Int. Conf. Data Compression, 1993
[5] Tsai T H,Lee Y H,Lee Y Y. Design and analysis of high-throughput lossless image compression engine using VLSI-oriented FELICS algorithm [J]. Transactions on Very Large Scale Integration (VLSI) Systems, IEEE, 2010
[6] 薛金勇,黑勇,陳黎明.快速高效無損圖像壓縮系統(tǒng)的低功耗硬件實現(xiàn)[J].哈爾濱工程大學學報,2014
fpga相關(guān)文章:fpga是什么
評論