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

          新聞中心

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

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

          作者: 時間:2009-05-07 來源:網(wǎng)絡(luò) 收藏
          0 引 言
          (Portable Network Graphic Format)是流式網(wǎng)絡(luò)圖形格式的簡稱,是一種位圖文件(Bitmap File)存儲格式。文件采用壓縮率高的LZ77和Huffman兩種無損壓縮算法,支持網(wǎng)絡(luò)彩色圖像傳輸,支持Alpha通道、定義透明區(qū)域和多重透明,逐步細化地顯示圖片。
          壓縮的核心算法是采用Zip壓縮算法,該算法的特點就是先利用LZ77算法進行短語式重復(fù)的壓縮得到未匹配的字節(jié)和匹配長度、距離的組合值,然后再根據(jù)Huffman算法進行單字節(jié)重復(fù)的壓縮最終得到壓縮碼流。PNG的原理也就是壓縮的反過程,那么時可根據(jù)碼表信息和壓縮碼流還原出原始圖像數(shù)據(jù)。
          PNG文件的通常由軟件完成,軟件解碼實現(xiàn)方式靈活,但相對解碼而言,軟件解碼速度慢,能量消耗大,不利于移動設(shè)備的低功耗優(yōu)化。為此,這里討論了PNG圖像的解碼實現(xiàn)方法,其應(yīng)用對象是手機專用芯片,對低功耗和解碼速度都有較高的要求,并解決了PNG解碼的快速查表、軟協(xié)調(diào)和硬件等實現(xiàn)方法,而硬件解碼功能的主要作用是減少CPU的負擔(dān),極大加快PNG圖片顯示速度,并在一定程度上減少了功耗,延長了手機的待機時間,具有很大研究與開發(fā)的實際價值。

          1 PNG圖像解碼原理的介紹
          1.1 LZ77算法介紹

          LZ77算法可以稱為“滑動窗口壓縮”,該算法將一個虛擬的,可以跟隨壓縮進程滑動的窗口作為術(shù)語字典;要壓縮的字符串若在窗口中出現(xiàn),則輸出匹配長度和距離的組合信息,來替換前面出現(xiàn)的相同字符串,且要求最小匹配的字符串為3個字節(jié),這樣可以保證壓縮后的數(shù)據(jù)量小于原始數(shù)據(jù)。
          例如窗口的大小為15個字符,岡0剛編碼過的15個字符為:byhelloeveryone,即將編碼的字符為:helloto―e、,eryonehi??梢园l(fā)現(xiàn)有些字符串前面已經(jīng)出現(xiàn)過,則用()起來的字符串表示滑動窗口中已出現(xiàn)過的匹配串:(hello)to(everyone)hi。
          以上這些原始信息,可利用LZ77算法用匹配長度和距離的組合信息來替換有匹配的字符串,若碰到未匹配的字節(jié)則直接輸出,壓縮后的內(nèi)容為:(5,13)to(8,15)hi。在LZ77解壓縮時,只要維護好滑動窗口,隨著壓縮信息的不斷輸入,可根據(jù)匹配的組合信息從窗口中找到相應(yīng)的匹配字符串作為輸出,即可還原出原始數(shù)據(jù)。
          1.2 Huffman算法介紹
          Huffman算法屬于編碼式壓縮,利用各個單字節(jié)所使用頻率不一樣的特點,使定長編碼轉(zhuǎn)變?yōu)樽冮L的編碼,給頻率高的字節(jié)更短的編碼,使用頻率低的字節(jié)更長的編碼,起到無損壓縮的效果。這樣,經(jīng)過LZ77壓縮后的未匹配的字節(jié)和匹配的組合信息可以進一步地進行Huffman壓縮,從而得到很高的壓縮效率。
          例如,對于一組元素的字符值為s={a,b,c,d,e,f},其對應(yīng)的出現(xiàn)頻率為P={10,2,2,2,2,9}。圖1是根據(jù)以上信息建立的Huffman樹。各元素出現(xiàn)頻率和元素值如圖1所示,編碼后的各個元素長度分別為L一{1,3,3,3,3,2},可見編碼后儲存這些字符值所需的空間極大地減少了。

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

          這棵Huffman樹是根據(jù)PNG規(guī)范的Dellate原則建立的,具有以下特點:
          (1)左邊的葉子編碼為0,右邊的為1;
          (2)編碼必須滿足“前綴編碼”的要求,即較短的編碼不能是較長編碼的前綴,這保證了碼的惟一性;
          (3)每一層葉子的節(jié)點頻率按從小到大排列,而同樣頻率的節(jié)點按字符值從小到大排列,這點也是PNG采用的zip算法對Huffman算法的一種改進。因此,解碼時首先要提取出壓縮流中的碼表信息建立出Huffman樹,其中每個葉結(jié)點應(yīng)包含有碼長和字符值信息,并把最終生成的碼表保存在RAM中供給Huff_man解碼模塊查表還原出圖像原始數(shù)據(jù)。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 設(shè)計 加速 解碼 硬件 PNG 音頻

          評論


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