RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用FPGA技術(shù)的無損圖像壓縮系統(tǒng)實現(xiàn)方案

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-04-24 08:38 ? 次閱讀

引言

隨著信息技術(shù)的巨大革新,數(shù)據(jù)存儲和傳輸開始在人類生活中變得越來越重要,數(shù)據(jù)壓縮技術(shù)因而應運而生,它不僅能減少數(shù)據(jù)存儲所需的空間還可以緩解傳輸帶寬的壓力。數(shù)據(jù)壓縮可以分為有損壓縮和無損壓縮兩種,其中有損壓縮技術(shù)可以獲得較高的壓縮比,但是會丟失一些圖片信息,可以應用在對圖像質(zhì)量要求不高的領(lǐng)域,但是在醫(yī)療圖像、航天圖像等特殊領(lǐng)域中,則要求圖像壓縮算法是無損的。

無損壓縮技術(shù)可以去除冗余信息并保證重建的步驟不會對原始信息帶來任何損失。這樣一來,解碼后的信息就和原始信息精確相等。CALIC和JPEG-LS等諸多算法都已經(jīng)被廣泛應用在這一領(lǐng)域。另外,離散小波變換(DWT)算法也常被用來放松對開環(huán)視頻編碼系統(tǒng)存儲空間和帶寬的要求。但是,這些算法大多對數(shù)據(jù)具有嚴重的依賴性并且編碼步驟較為復雜,因此限制了其在高速產(chǎn)品中的應用??焖俑咝o損圖像壓縮系統(tǒng)(FELICS)于1993年由P.G.howard提出,這是一種以編碼效率見長的無損圖像壓縮算法,并且編碼時對數(shù)據(jù)沒有依賴性,因此能應用在高速壓縮系統(tǒng)中。幾種壓縮算法的壓縮比和壓縮時間對比如圖1所示,可以看出FELICS算法壓縮比適中,但壓縮效率的優(yōu)勢較為明顯。

采用FPGA技術(shù)的無損圖像壓縮系統(tǒng)實現(xiàn)方案

接下來將詳細分析FELICS算法的優(yōu)勢和具體的編碼步驟,最后將針對這一壓縮算法提出一種基于FPGA硬件實現(xiàn)方案。

1 整體算法設(shè)計

FELICS算法中應用到三種主要的技術(shù)手段:像素點分布模型的選取、修正的二元編碼和GOLOMB-RICE熵編碼。

采用FPGA技術(shù)的無損圖像壓縮系統(tǒng)實現(xiàn)方案

1.1 像素點分布模型

整幅圖像前兩個像素點不進行編碼處理直接輸出,從第三個像素點開始選取與之相鄰的兩個像素點作為參考像素點,參考像素點的選取規(guī)則如圖3所示,用i和j來表示行號和列號,P,N1和N2表示當前像素點和兩個參考像素點,選取規(guī)則如下:

If (i==1 && j2) N1=P[i,j-1],N2=P[i,j-2];

If (i》1 && j==1) N1=P[i-1,j],N2=P[i-1,j+1];

If (i》1 && j》1) N1=P[i,j-1],N2=P[i-1,j];

選出參考像素點N1與N2之后,將二者進行比較,記較大者為H,較小者為L,Δ為H-L。

依照當前像素點P位于區(qū)間[L,H]的位置信息,分為三種情況采用不同的編碼方式:

If (L≤P≤H) 選用修正的二元編碼,并用1比特’0’來表示P落于[L,H]內(nèi),殘余值R=P-L;

If (P≤L) 選用GOLOMB-RICE編碼,并用2比特’10’表示P落于小于下界L的區(qū)間內(nèi),殘余值R=L-P-1;

If (H≤P) 同樣選用GOLOMB-RICE編碼,并用2比特’11’表示P落于大于上界H的區(qū)間內(nèi),殘余值R=P-H-1。

1.2 修正的二元編碼

在修正二元編碼的編碼區(qū)間[L,H]內(nèi),中間部分和兩邊部分相比,有像素點出現(xiàn)的概率要略高一些,所以對二進制編碼進行修正,對中間部分像素點的殘余值R賦予較短的編碼,對兩邊部分像素點的殘余值R賦予較長的編碼。例如當△為5時,P值的可能值為0、1、2、3、4、5。在編碼時,將處在區(qū)間中央的2、3分別編碼為00和11,而將0、1、4、5分別編碼為110、111、100和101。

1.3 GOLOMB-RICE熵編碼

GOLOMB-RICE熵編碼是GOLOMB編碼的一種特殊情況,屬于指數(shù)編碼的一種。FELICS算法中像素點概率分布模型在小于下界L和大于上界H的部分是以指數(shù)形式分布的,符合GOLOMB-RICE編碼的適用范圍,因此選用這種編碼方法。編碼步驟如下:

(1)選定參數(shù)K

在整幅圖像編碼開始之前,建立一個U×V×T比特大小的累加表,其中U,V和T分別代表背景值Δ的個數(shù)、備選K值的個數(shù)和每一個K值下累計編碼的長度。在每一次進行GOLOMB-RICE編碼之前,按照Δ的數(shù)值定位到累加表的相應行,選出累計編碼長度最短的K值作為當前像素殘余值GOLOMB-RICE編碼的K值。

(2)分別確定一進制和二進制編碼

一進制編碼:unary=R/2K的整數(shù)部分;

二進制編碼:binary=R/2K的余數(shù)部分;

最終的GOLOMB-RICE編碼由三部分組成:unary個’1’,binary的二進制形式和1比特’0’,其中’0’置于一進制編碼和二進制編碼之間,作為解碼時的標志位。

(3)更新累加表

編碼完成之后要依次用備選的K值對殘余值R進行GOLOMB-RICE編碼,計算出編碼的長度并累加到累加表中K值相應的位置處,以用于后續(xù)像素點進行GOLOMB-RICE編碼時K值的選取。

2 壓縮系統(tǒng)硬件設(shè)計

設(shè)計采用 4 級流水線結(jié)構(gòu),系統(tǒng)只有一個主時鐘CLK作為工作時鐘。硬件實現(xiàn)包括控制單元、上下文模型選取單元、預測單元、熵編碼單元和并串轉(zhuǎn)換單元,硬件結(jié)構(gòu)框圖如圖 4。

采用FPGA技術(shù)的無損圖像壓縮系統(tǒng)實現(xiàn)方案

控制單元負責產(chǎn)生控制信號以協(xié)調(diào)各電路模塊的工作順序;上下文模型選取單元將像素值輸入存儲器進行存儲,產(chǎn)生當前像素、相鄰像素和上下文預測值Δ;預測單元根據(jù)不同的上下文模型求出像素殘余值;編碼單元對像素殘余值進行修正的二元編碼或GOLOMB-RICE編碼;并串轉(zhuǎn)換單元負責將編碼結(jié)果轉(zhuǎn)換為碼流進行輸出。

圖5所示為各個電路子模塊的接口定義及連線圖。其中上下文產(chǎn)生模塊和預測模塊功能具有連續(xù)性,用一個模塊表示,像素值以光柵掃描的順序逐行進行讀入,需要一個行存儲器對像素值進行存儲,每完成對一個像素點的編碼操作之后,將存儲器中該處的像素值更新為當前行當前列的像素值,本方案處理的圖像大小為512*512,因此只需要一個512*8比特的存儲器。修正二元編碼和GOLOMB-RICE編碼模塊算法相對復雜一些,為了加快系統(tǒng)的時鐘頻率,將算法中的計算步驟進行拆分細化。GOLOMB-RICE編碼模塊需要進行參數(shù)K的選取,若K的可能值有4個,則還需要256*8*4比特大小的存儲器作為累加表。最后,由于編碼后的碼值是變長的,為了滿足輸出端口的要求,要對編碼結(jié)果進行并串轉(zhuǎn)換操作,輸出端以碼流的形式進行輸出。

采用FPGA技術(shù)的無損圖像壓縮系統(tǒng)實現(xià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)中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602986
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7484

    瀏覽量

    163762
  • 醫(yī)療
    +關(guān)注

    關(guān)注

    8

    文章

    1822

    瀏覽量

    58737
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA實現(xiàn)滑動平均濾波算法和LZW壓縮算法

    采集數(shù)據(jù)中的量化噪聲,在進行數(shù)據(jù)壓縮采用濾波的預處理技術(shù)。介紹LZW算法和滑動濾波算法的基本理論,詳細闡述用單片FPGA實現(xiàn)兩種算法的方法
    發(fā)表于 04-24 09:05

    CCSDS星載圖像壓縮模塊的FPGA

    CCSDS星載圖像壓縮模塊摘 要:  根據(jù)航天應用的需要,采用CCSDS122. 02B21推薦的新一代空間圖像壓縮算法,基于
    發(fā)表于 08-11 11:45

    FPGA圖像壓縮設(shè)計開發(fā)

    FPGA 2支持算法SPIHT 3壓縮性能支持有損壓縮無損壓縮 4數(shù)據(jù)處理能力數(shù)據(jù)率:≥30M samples/s 5圖像數(shù)據(jù)支持串行和1
    發(fā)表于 08-01 15:27

    基于FPGA的高性能無損數(shù)據(jù)解壓縮IP

    LZOAccel-DLZO Data Decompression CoreLZOAccel-D是一個無損數(shù)據(jù)解壓縮引擎的FPGA硬件實現(xiàn),兼容LZO 2.10標準。Core接收
    發(fā)表于 12-21 23:12

    如何采用FPGA和CMOS數(shù)字傳感器實現(xiàn)圖像數(shù)據(jù)傳輸?shù)?b class='flag-5'>圖像監(jiān)測系統(tǒng)

    本文提出一種采用FPGA和CMOS數(shù)字傳感器實現(xiàn)前端數(shù)據(jù)采集、利用單片機進行圖像鑒別和壓縮、通過以太網(wǎng)控制器
    發(fā)表于 05-26 06:58

    基于FPGA+PowerPC的高分辨率圖像實時壓縮系統(tǒng)的設(shè)計

    為解決機載高分辨率圖像的實時壓縮問題,提出了一個基于FPGA+PowerPC的高分辨率圖像實時壓縮系統(tǒng)
    發(fā)表于 09-15 11:45 ?40次下載

    基于FPGA/CPLD和USB技術(shù)無損圖像采集卡

    摘要: 介紹了外置式USB無損圖像采集卡的設(shè)計和實現(xiàn)方案,它用于特殊場合的圖像處理及其相關(guān)領(lǐng)域。針對圖像
    發(fā)表于 06-20 14:33 ?1003次閱讀
    基于<b class='flag-5'>FPGA</b>/CPLD和USB<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>無損</b><b class='flag-5'>圖像</b>采集卡

    基于FPGA的數(shù)據(jù)實時無損壓縮系統(tǒng)

    提出了一種基于FPGA的驗光儀的數(shù)據(jù)實時無損壓縮系統(tǒng),采用LZW算法。首先通過對比分析常用數(shù)據(jù)無損壓縮算法的特點得出LZW算法在實時性、
    發(fā)表于 03-21 10:53 ?63次下載

    基于FPGA_CPLD和USB技術(shù)無損圖像采集卡

    Xilinx FPGA工程例子源碼:基于FPGA_CPLD和USB技術(shù)無損圖像采集卡
    發(fā)表于 06-07 15:07 ?4次下載

    機載圖像無損無損壓縮方案及其FPGA實現(xiàn)

    機載圖像無損無損壓縮方案及其FPGA實現(xiàn)
    發(fā)表于 08-29 15:02 ?5次下載

    神經(jīng)網(wǎng)絡(luò)圖像壓縮算法的FPGA實現(xiàn)技術(shù)研究

    神經(jīng)網(wǎng)絡(luò)圖像壓縮算法的FPGA實現(xiàn)技術(shù)研究,下來看看
    發(fā)表于 09-17 07:29 ?19次下載

    如何使用FPGA實現(xiàn)機載圖像無損和近無損壓縮方案

    問題。該算法采用了一種快速有效的熵編碼器Golomb,在圖像數(shù)據(jù)輸入輸出速度不變的情況下,提出了一種有效的壓縮比控制策略,給出了一種完整可行的機載圖像編碼和傳輸
    發(fā)表于 02-03 16:26 ?3次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>機載<b class='flag-5'>圖像</b><b class='flag-5'>無損</b>和近<b class='flag-5'>無損壓縮</b><b class='flag-5'>方案</b>

    如何使用FPGA實現(xiàn)圖像動態(tài)范圍壓縮算法

    灰度動態(tài)范圍壓縮是一種基本的圖像增強處理方法,廣泛應用于圖像識別,視頻監(jiān)控等領(lǐng)域中。結(jié)合這一應用,提出了一種基于非線性變換的動態(tài)范圍壓縮算法,并且以
    發(fā)表于 02-05 17:00 ?22次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>圖像</b>動態(tài)范圍<b class='flag-5'>壓縮</b>算法

    分析遙測噪聲數(shù)據(jù)無損壓縮關(guān)鍵技術(shù)實現(xiàn)

    提出了采用DSP+FPGA架構(gòu)搭建硬件平臺,通過ARC算法實現(xiàn)對多路噪聲數(shù)據(jù)無損壓縮的設(shè)計方法。對設(shè)計中關(guān)鍵技術(shù)(如模
    的頭像 發(fā)表于 04-08 13:49 ?1794次閱讀
    分析遙測噪聲數(shù)據(jù)<b class='flag-5'>無損壓縮</b>關(guān)鍵<b class='flag-5'>技術(shù)</b><b class='flag-5'>實現(xiàn)</b>

    基于門控線性網(wǎng)絡(luò)(GLN)的高壓縮無損醫(yī)學圖像壓縮算法

    實現(xiàn)基于門控線性網(wǎng)絡(luò)(GLN)的高壓縮無損醫(yī)學圖像壓縮算法,以提高醫(yī)學圖像存儲和分發(fā)
    的頭像 發(fā)表于 04-08 10:29 ?655次閱讀
    基于門控線性網(wǎng)絡(luò)(GLN)的高<b class='flag-5'>壓縮</b>比<b class='flag-5'>無損</b>醫(yī)學<b class='flag-5'>圖像</b><b class='flag-5'>壓縮</b>算法
    RM新时代网站-首页