新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > JPEG2000中53離散小波多層變換FPGA實現研究

        JPEG2000中53離散小波多層變換FPGA實現研究

        作者: 時間:2011-07-26 來源:網絡 收藏

        摘要:基于新一代圖像壓縮國際標準JPEG 2000,介紹一種快速、有效的多層5/3小渡變換的VLSI設計結構,該方法使用兩組一維變換實現,用移位-相加代替乘法操作,整體設計采用了流水線設計。利用雙端口RAM和地址生成模塊的調度完成小波變換的分裂、邊界延拓工作,不需另外增加模塊。二維變換濾波器結構的設計采用Verilog HDL進行RTL級描述,已經通過了驗證,并可作為單獨的IP棱應用于圖像編解碼芯片中。
        關鍵詞:JPEG 2000標準;變換;;RAM

        0 引言
        隨著多媒體應用領域的快速發展,新一代靜止圖像壓縮標準JPEG 2000己在2000年11月完成了標準的制定。與原有的JPEG標準相比,JPEG 2000具有許多優勢。例如更高的壓縮性能,支持單分量或者多分量的有損和無損壓縮,可以提供質量和分辨率漸進傳輸,以及感興趣區域編碼等。典型的JPEG 2000編碼中的傳統的變換由卷積完成,因此在實現中需要巨大的計算和存儲量。I.Daubechies和W.Sweldens等人提出的提升算法解決了這些問題,該算法采用采用移位-相加操作代替卷積操作,大大降低了DWT運算硬件實現的難度,因此JPEG 2000采用基于提升的DWT作為圖像壓縮的第一步。JPEG 2000推薦5/3及9/7小波分別用于無損和有損壓縮,本文針對5/3濾波器,提出了一種高效高速的二維三層小波變換的硬件平臺,整體結構采用流水操作。

        1 離散小波提升算法
        離散小波提升算法主要有三個步驟:分裂(Split)、預測(Predict)和更新(Update)。分裂是把輸入信號x(n)分成奇偶兩個子信號集,即由其采樣后的偶序列子信號組成xe=x(2n),奇序列子信號組成x0=x(2n+1)。預測是偶序列信號乘上一個預測參數P,來預測奇信號,原來的奇序列信號與預測值的差即為高頻系數d(n)。更新是高頻系數乘以更新系數Q與偶序列信號的和,獲得低頻系數s(n)。
        5/3雙正交小波對應的提升方法如圖1所示,用于JPEG 2000中的無損壓縮過程,硬件實現可分為兩步,如式(1),式(2)所示:
        a.JPG

        2 5/3小波內嵌延拓提升算法
        由式(1)和式(2)可以看出,在圖像邊界處進行小波變換時需要進行延拓處理,否則無法正確進行小波變換,對原始圖像邊界數據的處理通常使用對稱周期延拓方式,5/3小波變換的延拓需要在序列前延拓兩個數據,在序列后延拓一個數據,圖2為5/3小波變換時8點數據序列周期對稱延拓示意圖。

        b.JPG


        本文是通過雙端口RAM的讀/寫實現分裂過程,在小波變換過程中通過對讀地址的操作實現對稱周期性數據延拓:用對計數器的計算操作實現邊界數據延拓和生成讀取地址與寫入地址,從原圖像中讀取,經變換后寫入相應的地址,以8×8圖像為例,行方向上延拓后的讀取地址順序應該是2,1,0,1,2,3,4,5,6,7,6,10,9,8,9,10,…;列方向上延拓后讀取地址順序是16,8,0,8,16,24,32,40,48,56,48,17,9,…。

        3 硬件設計
        3.1 總體結構框圖
        二維DWT實質上相當于先對圖像數據做一維行方向小波變換,再對變換后的結果進行一維列方向上的小波變換,總體結構如圖3所示。輸入的圖像數據是在原始RAM上存儲,通過行地址模塊生成的行變換地址讀出圖像數據,通過一維行向量的小波變換模塊處理,將中間數據放入中間RAM中,再通過列地址模塊生成的列變換地址讀出中間圖像數據,通過一維列向量的小波變換模塊處理,最后將輸出的小波分解系數寫入外部存儲器,然后由控制單元判斷是否進行下一級小波分解,如果需要做下一層分解的話,將在上一層小波變換的結果中取出LL低頻子帶進行下一個循環,每對圖像進行一次二維小波變換,產生的結果同樣存儲在外部存儲器IM—RAM上,即下一級的小波變換結果覆蓋在上一級的LL子帶上。

        c.JPG


        上一頁 1 2 下一頁

        關鍵詞: JPEG2000 FPGA 離散小波

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 教育| 临沂市| 廉江市| 宁海县| 丰镇市| 辽中县| 九龙坡区| 绥芬河市| 舞阳县| 敖汉旗| 巴彦淖尔市| 娄烦县| 绥芬河市| 尚志市| 南丰县| 陆川县| 沂南县| 界首市| 高要市| 淮阳县| 朝阳县| 垣曲县| 施秉县| 紫金县| 海伦市| 前郭尔| 安化县| 万全县| 余庆县| 汤原县| 德阳市| 肃宁县| 永顺县| 临西县| 庐江县| 金溪县| 郑州市| 易门县| 琼结县| 镇安县| 桃园市|