新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > JPEG2000中位平面編碼的存儲優化方案設計

        JPEG2000中位平面編碼的存儲優化方案設計

        作者: 時間:2011-08-18 來源:網絡 收藏

        1引言

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

         的兩大核心模塊(見圖1),小波變換和EBCOT[2](基于截斷點的嵌入式塊)其運算開銷很大,占據了整個器處理時間的一半以上。因此,有必要研究合理的實現方式,一般來說采取軟件實現方式相對比較簡單,比如的參考代碼jasper[3],但實時處理的能力較差,即使采用嵌入式系統的方案,如使用DSP或ARM等通用處理器,基本上也是通過軟件的方式來實現,速度提升不大,必須針對塊本身的特點設計高效的硬件結構單元。只有這樣,才能使在實時處理的應用中發揮其作用。

        JPEG2000編碼器框圖

          2.的實現方案

          JPEG2000的嵌入式塊編碼是基于位的編碼,其對象是小波變換后頻域系數組成的相對較小的碼塊,大小一般是32×32或64×64。碼塊中的系數包含符號信息和許多個不同權值的幅度信息。位編碼的思想就是將最重要的信息先進行編碼,也就是權值較大的幅度信息先編碼,這樣配合后續的碼流組織(見圖1)即可使最終的碼流獲得漸進傳輸的特性。

          根據標準[1],編碼過程中除了用到符號和幅度信息外,還需要每個比特位的顯著信息,細化信息和訪問信息。因此,對于一個32×32的碼塊,編碼一個位時,總共需要5×1024位的信息。另外,由于編碼是以一列中的4位為單位,所以通常將每塊編碼信息為256×4的形式(見表1)。

          但是事實上這種存儲結構是低效的,因為根據標準[1],編碼一個比特位包括兩個步驟,即判斷通道歸屬和編碼原操作。在這兩個步驟中,需要訪問的信息包括當前位的顯著、符號、幅度、細化和訪問信息,以及當前位的周圍8個比特位的顯著和符號信息。對于基于列的編碼方式,如果按照上面的方案存儲信息,即將符號和顯著信息以字長為4存儲,則實際上每次編碼一列,需要讀入前一編碼帶(通常將每4行稱為一個編碼帶)、當前編碼帶和后一編碼帶的共12位顯著和符號信息,但是事實上只有其中的6位是有用的,其余6位是冗余信息。由于編碼是基于比特位的操作,因此會頻繁地訪問存儲區域,每次編碼一列必須讀出相應的各信息位,編碼完成一列數據還要將相應的編碼信息再次寫回存儲區域,以達到更新編碼信息的目的。可見,采取上述4位字長的方案是非常低效的。

          所以,本文設計了一種相對合理的存儲方案,即在碼塊的最上面一行和最下面一行各添加一行全0數據(這是對顯著和符號平面而言),構成34×32的塊,然后以兩行為一組,并按交錯存儲的方式,即A,B,C,B,A,。。。,C,B,A,將信息分配至三塊存儲區域MEMA,MEMB和MEMC(見表2)。

          另外,從顯著和符號信息緩存寫數據至相應的寄存器(6×3bit)時,也要根據相應的編碼帶進行切換,對于奇數編碼帶(假設第一個編碼帶記為零),順序為ABC,對于偶數的編碼帶,順序為CBA(見表3)。而且,從表三可以看出,用于訪問MEMA、MEMB、MEMC的地址信號的變化也不盡相同,其中訪問MEMB的地址順序增長,而MEMA的地址在從奇編碼帶過渡到偶編碼帶的過程中保持不變,從偶編碼帶過渡到奇編碼帶的過程中增長,對于MEMC的情況正好和MEMA相反。

          因此,必須設計相應的控制電路和地址產生電路來配合這個存儲方案。

          3.硬件架構

          根據上面的分析,提出相應的位平面編碼器的硬件架構,如圖2所示,本架構針對32×32的碼塊。

        內存優化的位平面編碼器的硬件架構

          圖2。基于內存方案的位平面編碼器的硬件架構

          圖2中的位平面編碼器主要包括幾個部分,即內部緩存,寄存器組,地址產生模塊,判斷通道歸屬模塊,編碼原操作模塊,狀態機模塊,計數器模塊。

          地址產生模塊包括兩個,地址產生模塊1負責產生讀取外部DWT系數緩存的地址信號;地址產生模塊2負責產生讀取內部5塊緩存區域的相應地址。

          判斷通道歸屬模塊,根據當前寄存器組中相應的編碼信息,判斷比特位是否屬于當前的編碼通道,如果屬于當前的編碼通道,則進行相應的編碼原操作,否則跳過該比特位,繼續編碼下一個比特位。

          編碼原操作模塊包括4部分,即零值編碼、符號編碼、細化編碼和游程編碼。一般的實現方式采用查找表來實現編碼原操作,而本設計中均采用組合電路的形式來實現,這樣可以提高產生CX(編碼模式)和D(編碼比特位)的速度。

          狀態機模塊決定了整個編碼器的編碼流程,編碼主要分為兩個階段,即預處理階段和模式產生階段。預處理階段主要用于完成5塊緩存區域內容的初始化,模式產生階段則按照顯著、細化和清除通道的順序依次進行編碼,輸出編碼模式給后續的算術編碼模塊。狀態機模塊還接收來自計數器的輸出,決定當前處于什么狀態,在每個位平面編碼完成后必須轉到預處理階段,更新下一位位平面的幅度信息,并清零訪問緩存的內容。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 信丰县| 常山县| 涟源市| 子长县| 揭阳市| 承德市| 腾冲县| 阿拉善右旗| 定襄县| 固镇县| 甘孜县| 锦屏县| 福海县| 特克斯县| 廊坊市| 襄垣县| 丰镇市| 英超| 雷波县| 壤塘县| 长垣县| 额济纳旗| 辰溪县| 左权县| 萨嘎县| 竹山县| 大名县| 南部县| 黑龙江省| 灯塔市| 炉霍县| 阜新市| 镇原县| 偃师市| 甘肃省| 迁安市| 克什克腾旗| 中江县| 壤塘县| 大名县| 抚远县|