<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Q-Coder算術(shù)編碼器的IP核設(shè)計(jì)與研究

          基于Q-Coder算術(shù)編碼器的IP核設(shè)計(jì)與研究

          作者: 時(shí)間:2009-07-03 來源:網(wǎng)絡(luò) 收藏

            1 概述

          本文引用地址:http://www.ex-cimer.com/article/192005.htm

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

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

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

          JPEG2000的幾個基本模塊

            2 原理

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

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

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

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

            2.2 編碼約定和近似計(jì)算

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

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

          子區(qū)間的精確計(jì)算

            3 算術(shù)編碼器的實(shí)現(xiàn)

            3.1 算術(shù)編碼流程

            所有的設(shè)計(jì)都是用Verilog硬件描述語言編寫的,由上述描述可知,算術(shù)編碼器的輸出不僅和當(dāng)前狀態(tài)有關(guān),而且和輸入也相關(guān),所以本文選擇Mearly有限狀態(tài)機(jī)[5]來描述復(fù)雜的控制模塊。整個設(shè)計(jì)的主有限狀態(tài)機(jī)如圖2所示。

          圖2 算術(shù)編碼主有限狀態(tài)機(jī)

          圖2 算術(shù)編碼主有限狀態(tài)機(jī)


          上一頁 1 2 下一頁

          關(guān)鍵詞: Q-Coder IP核 算術(shù) 編碼器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();