《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于FPGA的并行可變長解碼器的實現

基于FPGA的并行可變長解碼器的實現

2008-07-31
作者:蔣 勇, 羅玉平

  摘 要: 介紹了一種采用并行方式構建的多" title="的多">的多符號可變長碼解碼器。該解碼器通過增加結構的復雜性和對硬件資源的占用,換取可變長碼解碼的高吞吐量。這種結構突破了可變長碼碼字之間的前向依賴性,可并行偵測出Buffer中的所有可能的碼字。采用FPGA實現了這種結構。
  關鍵詞: 可變長解碼 現場可編程邏輯門陣列 硬件描述語言


  可變長編碼" title="變長編碼">變長編碼(VLC)是一種無損熵編碼,它廣泛應用于多媒體信息處理等諸多領域。在H.261/263、MPEG1/2/3等國際標準中,VLC占有重要地位。VLC的基本思想是對一組出現概率各不相同的信源符號,采用不同長度的碼字表示,對出現概率高的信源符號采用短碼字,對出現概率低的信源符號采用長碼字。Huffman編碼是一種典型的VLC,其編碼碼字的平均碼長非常接近于數據壓縮的理論極限——熵。
  可變長解碼(VLD)是VLC的逆過程,它從一組連續的碼流中提取出可變長碼字,并將之轉換為對應的信源符號。由于在VLC過程中,碼字之間通常不會加入任何分隔標識,這就造成了在解碼過程中識別碼字的困難。因此,在VLD過程中,變長碼字必須逐一識別,只有碼流中居前的碼字被識別之后,才能定位后序碼字的起始位置,這一點在很大程度上限制了VLD運行的效率。
  本文討論一種新型的VLD解碼結構,它通過并行偵測多路" title="多路">多路碼字,將Buffer中的多個可變長碼一次讀出,這將極大地提高VLD的吞吐量和執行效率。然后采用FPGA對這種并行VLD算法的結構進行驗證,最終得出相應結論。
1 算法描述
  由于碼流中的可變長碼之間具有前向依賴性,因此如何確定可變長碼碼字在連續碼流中的起始位置是VLD的關鍵所在。傳統的VLD解碼方案主要分為位串行解碼方案和位并行解碼方案兩種。
  在位串行解碼方案中,碼流逐位送入解碼器,解碼器通過逐位匹配實現可變長碼的解碼。這種過程實質上是一種建造Huffman樹的反過程,從根節點出發,直至葉子節點為止。由于這種方式采用逐位操作方式,而可變長碼的碼長又各不相同,使得碼字識別所需的運行周期也不相同。在解碼長較短的碼字時,其解碼速度較快,而在解碼長較長的碼字時,其解碼速度較慢。顯然,位串行解碼方案效率相對較低,解碼速度因碼字長度不同而不同,無法滿足某些對實時性要求較高的應用場合。
  針對位串行解碼方案的不足,多種位并行解碼方案被提出。位并行解碼方案采用并行方式工作,通過對可變長碼的碼字進行排序(Ordering)、分割(Partitioning)和簇化(Clustering),采用基于邏輯塊的匹配模式或基于樹的匹配模式來實現[1~3]。并行解碼方案大大提高了可變長碼的解碼效率,而且可以確保每個運行周期輸出一個解碼碼字,實現穩定的解碼輸出。在高級的位并行解碼方案中,還可以將解碼過程分解為若干階段,引入流水線操作,進一步提高解碼效率[4]。
  在傳統的VLD解碼方案的基礎之上,采用并行操作方式,增加硬件資源和相應的控制邏輯,可實現一個運行周期輸出多個解碼碼字,使可變長碼的解碼效率進一步得到提高。
  由于可變長碼長度不同,在解碼過程中碼字存在前向依賴性。如果采用多路并行操作方式,在所有可能成為可變長碼碼字的起始位置同時進行預測,然后通過后續控制篩選出合法的碼字,就可以對多個可變長碼實現同時解碼。這就是多符號可變長并行解碼方案的基本思想。

  具體說明如下:假設某個信源符號集有K個符號,K個符號所對應的變長碼字用{0,1},k=0,…,K-1表示,這些變長碼的長度為集合L,其中最長的碼長用ln表示,最短的碼長用l1表示;具有相同碼長的碼字最多為dmax個?,F采用分頁方式重新組織這些可變長碼,將具有相同碼長的碼字存入一個頁內,那么易知一個頁內最多可能擁有dmax個碼字。為了識別一個頁內的不同碼字,還需要引入頁內偏移量,然后采用線性結構將這些頁面重新組合。
  下面給出一個依據該思想重新組織信源符號的實例:
  假設可變長碼碼表如表1所示。用變長碼的長度表示頁號,用變長碼的最右一位表示頁內偏移量,重新組織符號表,如表2所示。這樣,在解可變長碼時,可以將焦點主要集中在獲取可變長碼長度和頁內偏移量的問題上來,然后再將其轉換成對應的信源符號。

?


  對于存儲在Buffer中的等待解碼的數據碼流X,用滑動窗口從中截取前N位,這里的N應當大于或等于可變長碼中最長碼字的碼長,即N≥ln。由于可變長碼最短的碼長為l1,因此在這N位碼流中,最多可包含M=[N/l1]個可變長碼。為了表示方便,這里用Wi(i=0,1,…,M-1)表示這M個可變長碼。
  顯然,對于W0,其起始位置必然為0;如果W0的碼長為L0,那么W1的起始位置則為L0;如果W1的碼長為L1,那么W2的起始位置為L0+L1,依此類推。由于在解碼開始時,L0的取值無法明確,其可能取值范圍是l1≤L0≤Ln,因此每個Wi的可能起始位置分別由一組值組成。
  為了實現并行解碼,采用多個可變長碼檢測單元從所有可能的起始位置同時偵測,一旦W0的碼長L0被偵測出,就可以從所有已解碼的可能的變長碼中找出W1,并確定W1的碼長L1,由此W2的起始位置也就得以確定。依此類推,最多可逐次將Wi(i=0,1,…,M-1)個變長碼解出。
  每個Wi的解碼過程只比Wi-1的解碼過程多一個加法操作的延遲,相對于變長碼的識別,加法操作的延遲非常的小。當然,如果滑動窗口N的取值過大,每個Wi之間的加法操作的延遲將累加,這將降低解碼的整體效率。因此對于滑動窗口N的選擇,需要結合實際應用中可變長碼編碼的特點來權衡。
  設某個待解碼流為B={110110100011000011001111, ...}。這里采用長度N=12的滑動窗口進行碼流提取,由于變長碼的長度從2~8不等,因此每個運行周期至少可以解碼出1個碼字,最多可解碼出6個碼字,這6個變長碼字可能的起始位置分別為W0:{0};W1:{2,3,4,5,6,7,8};W2:{4,5,6,7,8,9,10};W3:{6,7,8,9,10};W4:{8,9,10};W5:{10}。
  綜合起來,可能成為該可變長碼起始位置的集合為{0,2,3,4,5,6,7,8,9,10},因此在應用上共需要10個可變長碼檢測單元并行執行。
2 實現與驗證
  多碼字并行解碼方法實現的關鍵在于解碼過程的并行性,采用硬件方案實現起來并不難。上例中10個可變長碼檢測單元可采用經典的位并行解碼方案實現,因為位并行解碼方案能夠保證不同長度碼字的輸出時間基本相同,為其后的操作帶來便利。在本文中,采用基于查找表" title="查找表">查找表的方式來實現。
  碼字檢測單元所檢測到的可變長碼的碼長及頁內偏移量(這里采用碼字的最右位作為頁內偏移量),在識別過程中可能存在沒有任何有效碼字的情況。為此,增加了一位有效狀態位,作為輸出是否有效的標志。變長碼檢測單元CD的結構框圖如圖1所示。
  由于前一個有效碼字Wi-1的碼長控制著碼字Wi的選取,而對應Wi-1的檢測單元CDi-1輸出了Wi-1的碼長,因此在實現上可以采用將CDi-1的輸出作為有效碼字Wi選取的控制位,它通過控制一個多路選擇器MUX,從所有對應可能是Wi起始位置的CD輸出中選取有效的輸出作為有效碼字Wi。在有效碼字Wi被成功識別后,需要將其碼長即CDi的輸出與CDi-1的輸出相加,作為有效碼字選擇的控制。這些功能通過一個復合的多路復用器" title="多路復用器">多路復用器-加法器MA實現,多路復用器-加法器MA的結構如圖2所示。


  在所有有效碼字的起始位置被識別后,根據對應CD單元的輸出,即碼長信息和頁內偏移量,可以通過查表將對應的碼長數據轉換成相應的信源符號或存儲相應信源符號的地址。這些功能由信號轉換單元SYMBOL完成。
  根據上面的討論,設計出用于上例的多符號并行解碼器,其結構圖如圖3所示。


  為了驗證這種這種結構,采用FPGA器件實現它,選擇的是一片Xilinx xc2s400e-6ft256器件,其規模為145000門。在這里,采用VHDL語言進行RTL級描述,利用XST進行綜合,并在ModelSim5.8中進行仿真。結果驗證正確,其仿真結果如圖4所示。


  實驗表明,系統允許最大時鐘頻率為44.172MHz,占用了197個Slice(4%),74個Slice Flip Flops(<1%),347個四輸入查找表(12%)和1個全局時鐘(25%)。
參考文獻
1 Hashemian R. Design and Hardware Implementation of a Memory Efficient Huffman Decoding. IEEE Consumer Elec., 1994;40(3):345~352
2 S M Lei and M T Sun.An Entropy Coding System for Digital HDTV Applications. IEEE Trans. Circuits Syst.Video Technol., 1991;(3):147~155
3 S B Choi and M H Lee.High speed pattern matching for a fast Huffman decoder. IEEE Trans. Consurmer Electron,1995; 41(2):97~103
4 M K Rudberd and L Wanhammar. New Approaches to High Speed Huffman Decoding. IEEE Int.Symp. Circuits Syst., 1996;2(5):149~152
5 Nikara, Vassiliadis, Takala, Sima, Liuha. Parallel Multiple-Symbol Variable-Length Decoding.Computer Design: VLSI in Computers and Processors, 2002:126~131
6 黎 文,李蜀雄,朱維樂.采用多級查找表的定/變長解碼引擎. 信號處理,2002;6(12)
7 Spartan-IIE Data Sheet. Xilinx, 2003

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲精品在线视频观看| 亚洲欧美日韩在线观看a三区| 国产精品成人va在线观看| 一区二区三区视频在线看| 西西人体一区二区| 牛人盗摄一区二区三区视频| 欧美一级专区免费大片| 美玉足脚交一区二区三区图片| 午夜激情亚洲| 欧美高清视频免费观看| 99re6热只有精品免费观看| 欧美日韩在线影院| 中文亚洲免费| 一区二区三区国产在线| 国产精品久久网| 亚洲精品女av网站| 激情久久五月| 亚洲国产精品ⅴa在线观看| 国内久久精品| 欧美国产日韩一区二区三区| 久久这里只有| 在线免费精品视频| 国产欧美在线观看一区| 国产精品欧美日韩久久| 久久精品视频在线播放| 久久国产免费看| 亚洲欧美在线免费观看| 欧美日韩一区二区三| 91久久在线播放| 国产一区二区三区最好精华液| 欧美1区2区| 国产精品视频yy9099| 亚洲一区中文字幕在线观看| 日韩视频二区| 欧美日韩精品免费看| 国产视频观看一区| 亚洲一区二区三区777| 一本久久知道综合久久| 亚洲精品日韩一| 亚洲免费大片| 美女在线一区二区| 欧美成人一区二区三区| 久久精品中文| 欧美日韩免费在线观看| 在线免费观看视频一区| 麻豆国产精品一区二区三区| 国产精品高潮呻吟久久av黑人| 久久精品一区二区三区中文字幕| 国产日韩一区二区三区在线播放| 欧美精品一区二区精品网| 亚洲欧美日韩在线不卡| 欧美在线视频a| 亚洲精品一二区| 国产精品久久久久久久app| 尤妮丝一区二区裸体视频| 在线看日韩欧美| 亚洲欧美日韩综合aⅴ视频| 欧美日韩亚洲另类| 尤妮丝一区二区裸体视频| 亚洲精品视频在线看| 亚洲片区在线| 国产偷国产偷精品高清尤物| 亚洲美洲欧洲综合国产一区| 99综合在线| 欧美高清在线精品一区| 亚洲精品免费在线观看| 午夜精品福利一区二区三区av| 亚洲欧美日韩视频一区| 久久精品一区二区三区不卡| 亚洲桃色在线一区| 久久伊人免费视频| 欧美尤物巨大精品爽| 亚洲韩国精品一区| 亚洲成人在线观看视频| 欧美日韩一本到| 国产毛片一区| 亚洲欧美日韩系列| 性欧美精品高清| 国产精品色在线| 国产精品视频免费一区| 欧美精品成人一区二区在线观看| 久久久午夜视频| 亚洲日本va午夜在线电影| 欧美日韩国产免费观看| 亚洲国产精品日韩| 亚洲黄色免费| 欧美精品一区二区三区在线播放| 欧美xxx成人| 国产精品久久午夜| 91久久精品美女| 国产日本欧美一区二区三区在线| 久久久久久久久一区二区| 欧美国产精品专区| 国产久一道中文一区| 亚洲精品国产欧美| 一区二区毛片| 亚洲一区网站| 欧美日韩在线电影| 一本色道精品久久一区二区三区| 国产精品欧美日韩一区二区| 欧美日韩国产高清视频| 久久国产精品黑丝| 欧美高清在线一区| 久久精品一区二区三区四区| 国产在线观看91精品一区| 国产欧美日韩麻豆91| 欧美成人中文| 亚洲精品一区二区三区不| 一区二区欧美视频| 国产精品久久二区| 国产精品久久久久久久久动漫| 久久综合一区| 欧美成人国产va精品日本一级| 亚洲一区二区三区免费在线观看| 欧美成人情趣视频| 国产乱码精品一区二区三区五月婷| 国产亚洲欧美一区在线观看| 一区二区三区|亚洲午夜| 亚洲国产成人不卡| 欧美黑人多人双交| 激情偷拍久久| 久久久综合视频| 亚洲国产日韩欧美一区二区三区| 亚洲精品视频啊美女在线直播| 欧美一级二区| 国产欧美日本一区视频| 欧美性生交xxxxx久久久| 国产欧美日韩亚州综合| 狠狠操狠狠色综合网| 久久一区激情| 宅男噜噜噜66一区二区66| 含羞草久久爱69一区| 亚洲国产精品久久久久婷婷884| 欧美日韩一区二区三区免费| 国产欧美亚洲视频| 在线日韩精品视频| 亚洲精品网站在线播放gif| 亚洲精品国偷自产在线99热| 亚洲国产精品美女| 一区二区日韩| 久久国产精品久久久久久久久久| 亚洲日本成人女熟在线观看| 免费日韩视频| 国产一区二区三区精品欧美日韩一区二区三区| 欧美国产日韩一二三区| 久久婷婷国产麻豆91天堂| 在线观看亚洲一区| 欧美激情1区2区3区| 免费观看亚洲视频大全| 欧美一区二区三区在线播放| 国产日韩欧美综合在线| 久久综合久久美利坚合众国| 欧美伦理视频网站| 国产一区二区黄| 9l视频自拍蝌蚪9l视频成人| 亚洲一区一卡| 亚洲精品美女在线观看| 欧美日韩视频在线观看一区二区三区| 欧美午夜国产| 欧美日韩aaaaa| 国产欧美精品久久| 久久美女性网| 一本大道久久a久久精品综合| 亚洲影院污污.| 亚洲国内精品| 欧美影院午夜播放| 亚洲国产精品久久久久秋霞不卡| 99国产精品久久久久久久久久| 老**午夜毛片一区二区三区| 欧美v国产在线一区二区三区| 香蕉成人伊视频在线观看| 能在线观看的日韩av| 国产欧美精品在线观看| 久久久久久夜精品精品免费| 国语自产偷拍精品视频偷| 亚洲福利国产精品| 亚洲毛片网站| 午夜久久久久| 久久久久高清| 欧美视频免费在线观看| 国产在线成人| 国产精品成人一区二区网站软件| 韩国免费一区| 久久伊人精品天天| 亚洲欧美区自拍先锋| 欧美一区二区免费观在线| 老司机久久99久久精品播放免费| 美女在线一区二区| 在线观看一区二区视频| 欧美激情一区二区三级高清视频| 欧美精品色一区二区三区| 99天天综合性| 欧美v亚洲v综合ⅴ国产v| 国产主播一区二区三区四区| 欧美mv日韩mv国产网站app| 国产一区二区三区四区老人| 一区二区三区波多野结衣在线观看| 免费成人美女女| 最新国产の精品合集bt伙计| 欧美成人亚洲成人日韩成人| 有坂深雪在线一区| 欧美国产日本高清在线| 久久亚洲精品网站| 欧美亚洲日本网站| 久热精品视频在线免费观看| 国产精品另类一区| 99re66热这里只有精品3直播| 黄色在线成人| 午夜性色一区二区三区免费视频| 亚洲国产精品女人久久久| 亚洲激情网站免费观看| 亚洲一区二区不卡免费| 欧美成人性生活| 久久中文精品| 久久精精品视频| 久久综合色一综合色88| 亚洲第一级黄色片| 91久久久国产精品| 亚洲一区视频在线| 久久免费视频一区| 久久精品中文字幕一区二区三区| 国产视频一区二区在线观看| 亚洲一区综合| 欧美一区二区三区在线免费观看| 国产亚洲观看| 国产亚洲一区二区三区在线播放| 国产精品啊v在线| 久久精品日韩一区二区三区| 亚洲精品一区二区三区蜜桃久| 影音先锋中文字幕一区| 日韩一二在线观看| 国产精品美女主播| 在线欧美日韩精品| 免费成人网www| 亚洲一区二区三区免费观看| 国产精品第一区| 99精品热视频| 国产情侣久久| 欧美一区二区三区在线观看视频| 亚洲国产视频一区二区| 亚洲精品一区二区三区蜜桃久| 亚洲一二三区在线| 欧美美女操人视频| 久久精品99国产精品| 亚洲男人的天堂在线aⅴ视频| 亚洲图片欧洲图片av| 久久夜色精品国产| 国产一区欧美| 欧美不卡激情三级在线观看| 国产精品国产三级国产专区53| 黄网站免费久久| 国产一区二区精品久久99| 国产精品超碰97尤物18| 欧美日韩大陆在线| 久久久xxx| 欧美精品久久一区二区| 午夜亚洲视频| 一二三区精品福利视频| 久久精品噜噜噜成人av农村| 国产精品你懂得| 国产精品色一区二区三区| 亚洲一区二区不卡免费| 欧美乱在线观看| 欧美极品一区| 亚洲一二三区在线观看| 亚洲一区二区av电影| 国产亚洲精品一区二区| 亚洲国产成人av好男人在线观看| 欧美日韩成人免费| 亚洲综合久久久久| 国产欧美精品日韩| 国产精品女同互慰在线看| 久久九九免费| 欧美激情网站在线观看| 国产精品自拍三区| 久久精品五月婷婷| 久久精品99国产精品日本| 亚洲综合激情| 亚洲区一区二区三区| 欧美网站在线观看| 久久久久五月天| 国产日韩久久| 欧美日韩成人在线| 欧美成人精品三级在线观看| 国产精品夜夜夜一区二区三区尤| 国产在线精品一区二区夜色| 亚洲娇小video精品| 亚洲第一区在线观看| 欧美人成在线| 久久精品国产亚洲5555| 亚洲网站在线| 午夜免费日韩视频| 久久国产99| 欧美成人精品1314www| 在线免费观看成人网| 一区二区三区中文在线观看| 久久人人精品| 1000部国产精品成人观看| 美女性感视频久久久| 国产欧美一区视频| 在线观看亚洲精品| 中国女人久久久| 亚洲在线免费| 国产一区二区三区日韩| 亚洲精品视频啊美女在线直播| 中文日韩在线| 国产精品主播| 国内精品视频在线观看| 亚洲夜晚福利在线观看| 免费观看久久久4p| 日韩亚洲国产精品| 亚洲黑丝在线| 国产精品视区| 亚洲图片欧美午夜| 欧美日韩一区二区三区在线看| 国产精品久久久久久久久久免费看| 在线观看欧美| 国产一区日韩欧美| 久久久免费精品| 国产综合欧美在线看| 一区二区三区四区五区在线| 国产精品成人国产乱一区| 欧美成人日本| 香蕉久久夜色精品| 国产视频一区在线观看一区免费| 久久精品成人一区二区三区| 欧美成人蜜桃| 亚洲午夜精品视频|