<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > JPEG2000數據壓縮的FPGA實(shí)現

JPEG2000數據壓縮的FPGA實(shí)現

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:高性能的可以有效的減少數據對存儲空間和通信帶寬的要求,降低通信成本。為解決圖像數據的高壓縮性能問(wèn)題,本文提出了基于標準的系統的實(shí)現方案。相對于軟件算法實(shí)現和其他硬件方法,采用硬件實(shí)現可降低系統復雜度提高性能。最終設計的IP核具有資源占用少,性能良好和便于擴展等優(yōu)點(diǎn),能夠滿(mǎn)足通信傳輸和照相設備等應用需求。
關(guān)鍵詞:;;;

近年來(lái)通信領(lǐng)域中信息的傳輸總量急速擴大。由于存儲空間有限、通信帶寬等因素的限制,數據通常需要通過(guò)壓縮才能有利于存儲和傳輸,數字圖像存儲和傳輸的昂貴費用成為其普及的最大障礙。為此必須對數字圖像壓縮編碼技術(shù)進(jìn)行研究和實(shí)現。
標準采用的是離散小波變換,具有壓縮率高和無(wú)邊緣效應等優(yōu)點(diǎn)。文中的設計采用片上系統(System On Claip)方案,可實(shí)現對分辨率1024x1024圖像的壓縮。在有效實(shí)現數據壓縮基礎上,系統還具有較好擴展性。研究利用FPGA實(shí)現圖像數據壓縮,將壓縮算法映射到專(zhuān)用集成電路(ASIC)設計,具有非常廣闊的市場(chǎng)應用前景。

1 基本原理
數字圖像的壓縮就是用一定的規律對需要處理的圖像數據進(jìn)行變換和排列,以盡可能少的數據信息來(lái)表示盡可能多的圖像信息。圖像的壓縮是通過(guò)編碼算法來(lái)完成實(shí)現的。目前常用的壓縮方法有:圖像變換技術(shù)、預測壓縮、自適應壓縮等方法。
圖像數據之所以可以進(jìn)行壓縮,主要壓縮來(lái)源于以下2點(diǎn):一是在圖像數據中存在大量信息冗余;另一點(diǎn)是人類(lèi)的視覺(jué)觀(guān)察精度是有限的通過(guò)減少數據精度來(lái)實(shí)現圖像壓縮。
在數字圖像壓縮中主要有:編碼冗余、像素相關(guān)冗余和視覺(jué)心理冗余。通過(guò)算法減少或消除冗余就能實(shí)現圖像壓縮。另外根據人類(lèi)視覺(jué)允許圖像壓縮后與原始圖像有失真。圖像壓縮就是利用圖像數據固有特性以及人類(lèi)視覺(jué)特性,經(jīng)過(guò)壓縮算法提取有效的數據信息,減少數據信息量,以便實(shí)現高效率的圖像數據傳輸和存儲。

2 系統結構
根據JPEG2000標準,一般來(lái)講基于JPEG2000標準的數據壓縮系統主要由預處理、、量化和EBCOT組成。組成結構如圖1所示。

本文引用地址:http://dyxdggzs.com/article/201610/306501.htm

a.JPG


在參考JPEG2000標準數據壓縮系統構架后,本文設計的數據壓縮系統主要包括預處理,小波變換,量化和嵌入式位平面編碼4部分,系統結構如圖2所示。

b.JPG


預處理:對圖像源數據進(jìn)行劃分,分成tile大小,之后進(jìn)行DC位移和分量變換處理。
WDT:即小波變換把圖像分解為空間頻域子帶具有能量更為集中,更好的壓縮性能,而且可以很好的消除分塊現象的優(yōu)點(diǎn)。離散小波變換的提升算法可減少內存需求,降低計算復雜度。本文主要考慮提高壓縮性能,因此采用的是9/7離散小波變換提升算法。
量化:將小波系數進(jìn)行量化處理,之后按碼塊大小(32x32)儲存量化后的小波系數,采用動(dòng)態(tài)內存控制體制(DMC),降低小波系數緩存量。
EBCOT(Tier_1):對輸入的子帶小波系數進(jìn)行底層嵌入式塊編,并輸出算術(shù)編碼比特流和塊編碼的統計信息給Tier_2。
EBCOT(Tier_2):進(jìn)行層生成及塊信息編碼,最終輸出JPEG2000碼流。
壓縮編碼過(guò)程如下:原始圖像數據經(jīng)過(guò)預處理變成許多個(gè)顏色分片(component—tile),每個(gè)分片經(jīng)過(guò)小波變換后變成小波系數,量化后送入EBCOT進(jìn)行編碼和碼率控制處理,為提高壓縮速率,嵌入式為平面編碼(EBCOT)模塊采用并行處理結構,分別完成對前級量化后的小波系數HL、HH以及LH和LL的處理,小波系數在通過(guò)EBCOT模塊進(jìn)行編碼和碼率控制處理后,最后得到的是符合JPEG2000標準格式的壓縮數據。

3 系統各組成模塊的設計
本系統主要實(shí)現數據的壓縮處理,源圖像通過(guò)預處理模塊對圖像源數據進(jìn)行劃分,分成tile(512x512)大小,之后經(jīng)過(guò)小波變換和EBCOT模塊完成數據壓縮處理,輸出壓縮碼流。
3.1 預處理模塊
由于原始圖像數據較大,通過(guò)預處理模塊可以大大降低數據對系統存儲空間的要求。本文采用的預處理有:分片和電平平移,通過(guò)分片將原始圖像分割成tile(512x512)大小的區塊,每個(gè)分片進(jìn)行獨立壓縮;電平平移使得圖像數據關(guān)于零對稱(chēng),有利于編碼處理。
3.2 小波變換模塊
采用離散小波變換對圖像進(jìn)行處理,得到圖像的小波系數分為L(cháng)L、LH、HL、HH 4個(gè)子帶。通過(guò)級聯(lián),進(jìn)行多級小波變換,小波系數中,高頻數據分量表示圖像中局部區域如圖像的邊緣,低頻分量表示圖像中的低頻信息如圖像的背景信息??梢?jiàn)通過(guò)小波變換,即使比特率不高的情況下,也能保證圖像中較多的細節信息。圖像通過(guò)小波變換時(shí)可進(jìn)行不同級數的編解碼處理,進(jìn)而得到具有不同空間分辨率的圖像信息。為實(shí)現較好壓縮效果,需要對小波變換進(jìn)行多次層分解,主要分解形式有:Mallat、Spacl和Packet,如圖3所示。

c1.jpg


其中最為常用的分解方式為Mallat分解,每次分解實(shí)在對上一層的低頻分量(LL)繼續做Mallat分解,如圖4所示。

c.JPG


一般來(lái)講,多數設備是串行工作方式,圖像數據普遍采用逐行的掃描方式,因此,在本文設計的數據壓縮系統中,圖像數據以逐行掃描方式輸入變換模塊,小波變換采用9/7有損壓縮,分解結構采用5層Mallat分解。
3.3 量化處理
人的視覺(jué)可分辨的圖像是有一定范圍的,因此通過(guò)適當量化減小數據精度實(shí)現對壓縮。設計的量化步長(cháng)決定了壓縮效果的好壞。對圖像量化操作是有損壓縮,會(huì )產(chǎn)生一定的量化誤差。量化后的圖像數據都是由符號和幅值表示,量化后的系數在進(jìn)行下一步的編碼處理。
3.4 嵌入式塊編碼
在JPEG2000系統中,將量化后的子帶劃分成小的碼塊,認為碼塊間相互獨立,以碼塊為單元,進(jìn)行嵌入式編碼。嵌入式編碼的基本思想是通過(guò)計算適當的碼流截斷點(diǎn),將壓縮生成的碼流劃分成若干子集,每一子集表示對源圖像的一個(gè)壓縮。嵌入式碼流可在任意一處被截斷,得到具有不同碼率或質(zhì)量的重構圖像。
在本設計中,模塊采用了并行處理的方式來(lái)提高處理能力,嵌入式塊編碼分為T(mén)ier1和Tier2兩部分:
Tier1模塊主要處理模塊有:流程控制模塊、比特平面編碼、過(guò)程編碼模塊和算術(shù)編碼模塊,結構如圖5所示。

d.JPG


工作流程是:首先,小波系數暫存于小波系數存儲器中,然后進(jìn)入EBCOT模塊,對小波系數進(jìn)行比特平面編碼和過(guò)程掃描編碼,進(jìn)過(guò)處理的比特信息送入算術(shù)編碼模塊進(jìn)行基于上下文的二進(jìn)制算術(shù)編碼。
Tier2模塊主要功能模塊有:率失真計算模塊、碼率控制模塊和碼流組織模塊,結構如圖6所示。
工作過(guò)程是:率失真模塊完成編碼塊的失真率計算,傳給后級模塊,碼率控制模塊據此進(jìn)行碼流截斷控制,之后給編碼模塊進(jìn)行碼流組織,不同子帶方向上的碼流合并輸出JPEG2000壓縮碼流。

4 測試驗證
文中設計的JPEG2000數據壓縮系統在FPGA開(kāi)發(fā)板上進(jìn)行了驗證,最終結果顯示,可支持處理512x512大小16灰度級的tile圖像分片,碼塊大小是32x32,實(shí)現對1 024x1 024的16灰度級的圖像壓縮處理,輸入是圖像數據信息,輸出是符合JPEG2000標準的壓縮碼流。仿真時(shí)采用的工作時(shí)鐘是50 MHz,對于1 024x1 024的16灰度級的圖像完成16:1的壓縮率,結果顯示需要大約1 s左右的時(shí)間,滿(mǎn)足設計要求。

5 結論
文中首先對JPEG2000標準進(jìn)行了介紹,并詳細分析了數據壓縮的實(shí)現原理,之后給出系統總體方案對各個(gè)模塊進(jìn)行了設計。由測試結果可知達到了設計要求,設計的IP核采用以離散小波變換(DWT)算法,具有明顯的性能優(yōu)勢,可代替JPEG標準廣泛應用于網(wǎng)絡(luò )傳輸和無(wú)線(xiàn)通訊等領(lǐng)域。但由于JPEG2000算法較為復雜,系統的壓縮速率和壓縮比還有提升空間,因此需要進(jìn)一步對算法進(jìn)行研究和改進(jìn),通過(guò)研究其FPGA實(shí)現方法,映射為專(zhuān)用集成電路,最終設計實(shí)現具有自主知識產(chǎn)權的JPEG2000數據壓縮IP核,具有重要研究?jì)r(jià)值。



關(guān)鍵詞: JPEG2000 數據壓縮 FPGA DWT

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>