www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]討論P(yáng)NG圖像解碼的硬件實(shí)現(xiàn)方法,針對(duì)PNG文件的圖像數(shù)據(jù)使用的LZ77和Huffman兩種無(wú)損壓縮算法提出一種補(bǔ)充碼表的方法實(shí)現(xiàn)快速的硬件解碼,并采用較優(yōu)的軟硬件協(xié)調(diào)機(jī)制,在節(jié)省功耗的前提下實(shí)現(xiàn)PNG硬件解碼的加速設(shè)計(jì)。該設(shè)計(jì)經(jīng)Modelsim 6.3仿真測(cè)試和Matlab工具比較驗(yàn)證,證明可以完全無(wú)失真地恢復(fù)PNG圖像。

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

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

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

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

2 PNG解碼的軟硬件協(xié)調(diào)機(jī)制
    整個(gè)PNG硬件解碼過(guò)程都是由軟件來(lái)調(diào)度的,在硬件解碼中若校驗(yàn)到圖片數(shù)據(jù)出錯(cuò)或解碼完成時(shí),則PNG硬件模塊通過(guò)配置專(zhuān)門(mén)的寄存器給軟件檢查做中斷處理;當(dāng)軟件檢測(cè)到這個(gè)寄存器信號(hào)使能時(shí)就產(chǎn)生中斷,就能即使關(guān)閉PNG硬件解碼模塊,在數(shù)據(jù)有誤的情況下節(jié)省了硬件解碼的功耗。
    解碼前后數(shù)據(jù)的搬運(yùn)機(jī)制是通過(guò)公用的AVI模塊(相當(dāng)于FIF0實(shí)現(xiàn)輸入輸出數(shù)據(jù)的緩存)實(shí)現(xiàn)了PNG數(shù)據(jù)的搬運(yùn):解碼前,軟件通過(guò)調(diào)配AVI模塊從內(nèi)存中搬取壓縮數(shù)據(jù)給PNG硬件模塊做解碼;解碼后的數(shù)據(jù)經(jīng)過(guò)Resize模塊縮放后又可以利用AVI搬運(yùn)給VGA做顯示,這種較優(yōu)的軟件調(diào)配機(jī)制,解決了該設(shè)計(jì)的軟硬件協(xié)調(diào)問(wèn)題,可以在節(jié)省功耗的前提下實(shí)現(xiàn)高效率的解碼,具體的軟件硬件協(xié)調(diào)原理如圖2所示。

3 PNG解碼的總體硬件結(jié)構(gòu)
    PNG硬件解碼加速的整體結(jié)構(gòu)主要由Bytesshift字符容器、PNG頭信息處理模塊、Inflate table建Huffman表模塊、Inflate fast快速解碼模塊、Lz77尋找匹配串模塊、Filter反濾波反交織模塊和Resize放大縮小模塊7大模塊組成。具體PNG解碼的硬件流程圖如圖3所示。

    如圖3可見(jiàn),PNG解碼的基本流程為:通過(guò)AVI模塊從總線上搬取壓縮數(shù)據(jù)到Bytesshift字符容器進(jìn)行緩存,并轉(zhuǎn)換為壓縮比特流;通過(guò)PNG頭信息處理模塊保留下文件的頭信息,通過(guò)控制Inflate table模塊讀取碼長(zhǎng)信息來(lái)建立Huffman表,并對(duì)壓縮數(shù)據(jù)進(jìn)行解碼;解碼后的數(shù)據(jù)經(jīng)過(guò)Filter模塊進(jìn)行反濾波和反交織等處理,然后發(fā)給Resize模塊做放大縮小處理后,并通過(guò)AVI模塊將最終解碼后的數(shù)據(jù)傳輸出去。其中,解碼核心模塊和Filter模塊通過(guò)采用了數(shù)據(jù)的流水線處理方式,也極大地提高了.PNG的解碼效率。

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

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

港交所擬修改主板上市規(guī)則,以便利尚未有盈利或業(yè)績(jī)支持的先進(jìn)技術(shù)企業(yè)融資。港交所刊發(fā)有關(guān)特專(zhuān)科技公司上市制度的咨詢(xún)文件,提議對(duì)《上市規(guī)則》進(jìn)行修訂,建議設(shè)立新渠道,以讓特專(zhuān)科技公司于聯(lián)交所主板上市,并就此征詢(xún)市場(chǎng)意見(jiàn)。新規(guī)...

關(guān)鍵字: 信息技術(shù) 新能源 硬件

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專(zhuān)屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷(xiāo)售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開(kāi)幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

流水賬式的推文比較亂,不夠系統(tǒng),也形成不了好的宣傳效應(yīng),所以我整理了一個(gè)硬件基礎(chǔ)知識(shí)框架,后面推文會(huì)圍繞這個(gè)展開(kāi),中間也會(huì)穿插一些項(xiàng)目和實(shí)際應(yīng)用例程。

關(guān)鍵字: 硬件 項(xiàng)目 例程

消費(fèi)電子

95878 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉