• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Q-Coder算術編碼器的IP核設計與仿真

    基于Q-Coder算術編碼器的IP核設計與仿真

    作者: 時間:2012-09-23 來源:網絡 收藏

    1 概述

    本文引用地址:http://www.czjhyjcfj.com/article/170822.htm

      JPEG2000[1,2]是新的靜止圖像壓縮標準,它具有的多種特性使得它有著廣泛的應用前景。目前為止,JPEG2000的解決方案比較少,并且其中的絕大部分是軟件解決方案:Jasper[3]軟件是經IEC JTC1/SC29/WG1小組推薦使用的實現JPEG2000的為數不多的軟件之一。

      由于軟件實現JPEG2000的時間開銷比較大,因此,JPEG2000編碼系統很難應用于實際系統中;硬件解決方案由于處理速度大大提高,因而用硬件實現JPEG2000具有廣泛的市場前景。但是,JPEG2000算法復雜,完全用硬件實現比較困難;然而使用硬件實現JPEG2000中的某些模塊,相對而言就比較容易實現,同時也能大大提高編碼效率。

      圖1為JPEG2000的幾個基本模塊。文獻[4]指出,軟件處理中,圖1中的編碼模塊的時間開銷占據了整個軟件時間開銷的40%左右,若使用硬件實現編碼模塊必然能大大提高編碼速度,對于提高JPEG2000的編碼速度有著重要的意義。

      

    JPEG2000

      2 原理

      Q-coder算術編碼是一種特殊的高效自適應二進制算術。其輸入是成對待編碼數據D(DATA)以及上下文CX(CONTEXT),數據D和上下文CX是由比特平臺(bit plane)[1]產生的;輸出則是壓縮數據CD(COMPRESSED DATA)。在JPEG2000中,上下文指D周圍8個相鄰比特的狀態(tài),這些狀態(tài)被特定的規(guī)則劃分為19類,稱為19種上下文。每種上下文都包含兩部分內容,一部分選擇了對數據D編碼時使用的概率估計值對應的索引,另一部分決定了當前大概率符號所代表的符號,這兩部分內容將在編碼后被更新。

      2.1 區(qū)間的遞歸劃分

      概率區(qū)間的遞歸劃分是二進制算術編碼的基礎。每執(zhí)行一次二元判定,當前概率區(qū)間就被劃分成為兩個子區(qū)間,并在必要的時候修改輸出碼流,使之指向該符號所在的概率子區(qū)間的下界。

      在區(qū)間劃分時,小概率符號的子區(qū)間和大概率符號的子區(qū)間這樣排序:通常取靠近0的區(qū)間作為MPS的子區(qū)間,因此,若編碼的是MPS,則應向輸出碼流中加入LPS子區(qū)間的長度。這種約定要求把編碼的符號區(qū)別為LPS或MPS,而不是0或者1。因此在對一次二元判定編碼時,必須知道該判定的LPS子區(qū)間的長度和MPS的含義。

      2.2 編碼約定和近似計算

      Q-coder算術設置兩個寄存器:一個是概率區(qū)間寬度寄存器A,用于存放子區(qū)間的寬度,另一個是碼字寄存器C,用來表示概率區(qū)間的下限。編碼過程使用固定精度的整數運算和小數的整型表示形式,即X‘8000’代表十進制小數0.75。概率區(qū)間A的范圍是,并且當A的整型值小于X‘8000’時,把A翻倍,即把A限制在十進制范圍0.75–1.5之間,這個“翻倍”過程稱為重整化。當A進行重整化時,C也必須同時翻倍。為了防止寄存器C發(fā)生上溢,每隔一段時間,應將寄存器C的高位部分移出并送至另外的寄存器中。

      將A限制在十進制范圍0.75~1.5之間,概率區(qū)間的劃分可以使用簡單的算術近似方法。如果LPS當前的概率估計值是,則子區(qū)間的精確計算如下進行:

      

    子區(qū)間的精確計算
    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 界首市| 万山特区| 五峰| 大港区| 晋宁县| 六枝特区| 西贡区| 宣恩县| 新乐市| 涪陵区| 湄潭县| 云阳县| 华亭县| 观塘区| 彭山县| 涿州市| 安西县| 衡山县| 淅川县| 海伦市| 化州市| 寻乌县| 淅川县| 唐山市| 泸溪县| 丰宁| 藁城市| 高雄县| 栾城县| 车险| 古田县| 即墨市| 兴隆县| 黔东| 胶州市| 秭归县| 洪洞县| 乌拉特后旗| 营山县| 察隅县| 宜兰县|