新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > 基于FPGA的無損圖像壓縮系統設計

        基于FPGA的無損圖像壓縮系統設計

        作者:于瀟 時間:2014-12-29 來源:電子產品世界 收藏
        編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨后詳細分析了該算法的編碼步驟和硬件實現方案,最后公布了基于該方案的FPGA性能指標。和其他壓縮算法相比該方案可極大地減小無損圖像壓縮系統所需的存儲空間和壓縮時間。   引言   隨著信息技術的巨大革新,數據存儲和傳輸開始在人類生活中變得越來越重要,數據壓縮技術因而應運而生,它不僅能減少數據存儲所需的空間還可以緩解傳輸帶寬的壓力。數據壓縮可以分為有損壓縮和無損壓縮兩種,其中有損壓縮技

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

        本文引用地址:http://www.104case.com/article/267434.htm

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

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

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

          1.2 修正的二元編碼

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

          1.3 熵編碼

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

          (1)選定參數K

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

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

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

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

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

          (3)更新累加表

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

          2 壓縮系統硬件設計

          設計采用 4 級流水線結構,系統只有一個主時鐘CLK作為工作時鐘。硬件實現包括控制單元、上下文模型選取單元、預測單元、熵編碼單元和并串轉換單元,硬件結構框圖如圖 4。

        fpga相關文章:fpga是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 灵山县| 德清县| 探索| 赞皇县| 衢州市| 九台市| 屏东县| 江油市| 金华市| 岗巴县| 唐海县| 濮阳市| 广河县| 通河县| 南京市| 封丘县| 定远县| 上思县| 珠海市| 新安县| 卢氏县| 锡林浩特市| 右玉县| 固镇县| 黄浦区| 大荔县| 九寨沟县| 龙陵县| 岳西县| 沁源县| 津市市| 东阳市| 瑞丽市| 淮北市| 皮山县| 牡丹江市| 金堂县| 孟村| 灵石县| 建始县| 昌宁县|