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

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > PNG的硬件解碼加速設(shè)計(jì)

          PNG的硬件解碼加速設(shè)計(jì)

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

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

          4 核心模塊的結(jié)構(gòu)
          由于編碼長度可變和編碼長度不統(tǒng)一,時(shí)若按位比較來查找Huffman表會(huì)消耗很多時(shí)間,且數(shù)據(jù)流中Huffman編碼的最長碼長為9。因此,為了實(shí)現(xiàn)快速查表,本算法中將碼長小于9的Huffman樹的葉結(jié)點(diǎn)作為父結(jié)點(diǎn)來擴(kuò)展到9層,即擴(kuò)展出來的葉結(jié)點(diǎn)信息都同父結(jié)點(diǎn)一樣,每次用固定的9比特壓縮數(shù)據(jù)作為地址去查表。這樣可以保證在每一個(gè)時(shí)鐘內(nèi)都可以查找到相應(yīng)的字符值,就可以極大地提高解碼的效率。以前面的Huffman樹為例子(如圖4所示),簡單地將第4層以內(nèi)的葉結(jié)點(diǎn)補(bǔ)充到第4層,即把整個(gè)Huffman二叉樹補(bǔ)滿,則在第4層的子葉結(jié)點(diǎn)的長度和字符信息都同父結(jié)點(diǎn)一樣。

          這種擴(kuò)展Huffman樹的方法,可以實(shí)現(xiàn)迅速查找Huffman表,得到相應(yīng)的字符值和匹配的組合信息值,對(duì)解出匹配的組合信息值,則根據(jù)LZ77原則還原出解碼數(shù)據(jù)作為輸出。
          中的解碼核心模塊可參考圖5。這種硬件結(jié)構(gòu)的優(yōu)點(diǎn)是利用擴(kuò)展碼表的方法實(shí)現(xiàn)快速解碼。核心解碼的基本流程為:每次用固定的9 b壓縮數(shù)據(jù)作為地址去查表,查出包含有碼長和字符信息的葉結(jié)點(diǎn),并根據(jù)碼長信息從字符容器模塊移出使用過的壓縮數(shù)據(jù),并等待新進(jìn)的壓縮數(shù)據(jù)與字符容器剩余的壓縮數(shù)據(jù)組成新的9 b數(shù)據(jù)作為查表地址。在下一個(gè)時(shí)鐘重復(fù)查表的過程,以此方式反復(fù)查表直至Huffman解碼結(jié)束。

          5 仿真和綜合結(jié)果
          經(jīng)Modelsim 6.3仿真提取出解碼后數(shù)據(jù),在Matlab工具中進(jìn)行對(duì)原圖顯示與該解碼后提取出的圖像數(shù)據(jù)進(jìn)行對(duì)比,比較結(jié)果完全一致,并且在驗(yàn)證平臺(tái)上比較其對(duì)應(yīng)的原始圖像數(shù)據(jù)也完全吻合,因此,該硬件能夠完全不失真的恢復(fù)圖像數(shù)據(jù)。
          在設(shè)計(jì)中,使用臺(tái)積電90 nlTl的工藝庫,在100 MHz的頻率下對(duì)PNG解碼核心模塊用DC進(jìn)行綜合,結(jié)果如表1所示。(其中面積大小和功耗不包括RAM的面積和讀寫RAM的功耗)

          6 結(jié) 語
          這里討論了PNG解碼的硬件實(shí)現(xiàn)方法。其中分析了LZ77和Huffman兩種算法的硬件解碼原理,以及采用補(bǔ)滿Huffman樹的機(jī)制實(shí)現(xiàn)快速查表解碼,并運(yùn)用較優(yōu)的軟硬件協(xié)調(diào)機(jī)制,在節(jié)省功耗前的前提下實(shí)現(xiàn)PNG硬件解碼


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(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); })();