www.亚洲男人天堂_欧美最顶级的aⅴ艳星_国产精品免费网站_欧美日韩在线一区_欧美床上激情在线观看_日韩av色在线_国产精品亚洲综合天堂夜夜_欧美做爰性生交视频_国产成人高潮免费观看精品_久久天天躁夜夜躁狠狠躁2022_国产美女久久精品香蕉69_亚洲专区在线视频_国产精品夜间视频香蕉_国产成人综合一区二区三区_国产精品69av_岛国av午夜精品

網絡消費網 >  5G > > 正文
哈夫曼編碼的HDL實現
時間:2022-02-03 14:22:01

作者 / 黃傳 黃尚川 劉旭陽 北京航空航天大學 電子信息工程學院(北京 100191)

*第一屆(2016-2017)全國大學生集成電路創新創業大賽全國總決賽FPGA設計方向獲獎作品

Huffman編碼是一種可變字長的無損壓縮編碼。根據字符出現的概率得到的可變字長編碼表是Huffman編碼的核心。概率低的字符使用較短的編碼,概率高的字符使用的長的編碼。

Huffman編碼的具體方法是將序列中的信源符號先按出現的頻次排序,把兩個最小的頻次相加,作為新的頻次和剩余的頻次重新排序,再把最小的兩個頻次相加,再重新排序,直到最后變成序列的總長度。每次挑出的最小兩個頻次所對應的信源符號或信源符號集構成二叉樹的左右兩支,對這左右兩支賦予“0”和“1”的權重。符號的編碼從樹的根部開始一直到達符號所在的葉節點, 將路線上所遇到的“0”和“1”按最低位到最高位的順序排好,就是該符號的哈夫曼編碼

編碼示例如表 1和圖1所示。

表1 編碼示例1

圖1哈夫曼編碼示例

2設計

2.1算法

算法核心思想就是利用哈夫曼編碼過程中需要合并頻次最小的兩個符號集并且每次合并符號集不相交的特點,先用“獨熱碼”對符號進行預編碼(信源符號“0”用0000000001編碼,信源符號“1”用0000000010編碼…),在合并符號集時對兩符號集的編碼進行抑或,使新符號集的編碼能反映符號集中的元素。比如一個符號集的編碼是0000010011,按照之前的規定,這個符號集就含有“0”,“1”,“4”這三個信源符號。這樣做的好處就是能通過對檢測符號集編碼中“1”的位置得到符號集中元素,從而在對符號的哈夫曼編碼過程轉化為對一個個符號集整體編碼。

編碼示例如表2和圖2所示。

表2 編碼示例2

圖2 硬件編碼示例

注意到每個符號集被合并時都會將參與合并的兩個符號集的預編碼相異或,并將結果作為新符號集的預編碼。并行化處理就體現在這排序和編碼可以同時進行。

在每次參與合并的兩個符號集上都帶有其相應的預編碼,預編碼不為0的位體現了這個符號集包含的信源符號。在每次排序完成后,將0和1分別賦予這兩個符號集內包含的元素,便可以在排序完成后立即得到所有元素的碼字。

對于碼字長度最小方差問題,對幾個符號集頻次相同的情況,優先合并符號集中所包含符號數量少的兩個符號集。算法選擇的下圖中第二種算法,碼長方差最小。

圖3 兩種哈夫曼編碼

2.2硬件設計

圖4 頂層模塊

頂層模塊為Huffman Coding,其中包含五個子模塊,分別為:

1)Receiver:統計頻次信息,并控制shift register緩存這些信息,統計完成后輸出頻次信息;

2)Sorter:根據頻次信息進行9次排序,每次排序輸出相應的數據到code_gen;

3)Code gen:根據sorter數據生成編碼表,并輸出到encoder;

4)Shift register:256x4 bit的移位寄存器。(此模塊為Xilinx IP 核);

5)Encoder:控制移位寄存器輸出并根據編碼表輸出數據。

3實現

3.1 接收模塊

圖5 接收模塊

功能:統計各個符號出現的頻次,并控制移位寄存器保存輸入序列,統計完成后,在輸出端口串行輸出信息。

頻次的統計使用簡單的寄存器操作即可完成,具體不贅述。在統計過程中,使能移位寄存器信號為高,統計完成后,valid信號產生高電平脈沖,示意排序器開始工作,同時在輸出端將各個符號出現的頻次按時鐘節拍依次送入排序器。

3.2 排序模塊

圖6 排序模塊

為了便于描述,我們將排序器的操作對象定義為“節點”。一個“節點”中包含有一組待編碼的符號,“節點”的頻次為這些符號的頻次之和。

該排序器的功能是輸出具有兩個最小頻次的節點信息。data_0表示最小頻次對應的節點信息,data_1表示次小頻次對應的節點信息。

初始時,每個節點中僅有一個符號。排序器每次將具有最小頻次的兩個節點的信息輸出(為data_0和data_1),然后將這兩個節點合并成一個新的節點。如表3所示,對于5個節點進行排序的例子可以說明該排序器的工作原理。

表3 第一次排序之前

第一次輸出頻率最小的兩個符號的data,即A和E對應的data,分別為00001和10000;然后這兩組符號被合并為同一個節點,即有表4結果。

表4 第二次排序之前

類似上一次,第二次輸出分別為10001和00010,然后這兩組符號被合并,即有表5結果。

表5 第三次排序之前

類似上一步,第三次輸出分別為10011和01000,仍然將它們合并,即有表6結果。

表6 第四次排序之前

則第四次輸出為00100和11011。這也是最后一次輸出。所以輸出結果如表7所示。

表7 data輸出結果

類似地,對于此項目中10個符號的情況,只要用10位二進制數來表示相應的節點信息即可。

3.3 編碼生成模塊

圖7 產生編碼模塊

功能是根據排序器排序模塊輸出的數組生成編碼表。

在本工程中,根據設計需求,可以算出,每個字符的編碼位數最長可能為9位,最短為1位。所以存儲編碼表的寄存器應該至少有9位,每一位的可能狀態有三種:“0”,“1”,“-”,分別表示“該位編碼為0”、“該位編碼為1”和“該位沒有存儲編碼信息”。因此,我們使用兩個比特來表示一位編碼。

編碼是根據data_0和data_1生成的,初始時,所有位都被置為“-”,然后根據data_0和data_1進行操作。對于data_0中的每一個符號,為其增加一位編碼“0”;對于data_0中的每一個符號,為其增加一位編碼“1”。表8為圖1中的數據生成編碼的過程。

表8 生成編碼示例

3.4 移位寄存器

圖8 產生編碼表模塊

功能是一個移位寄存器,在CE為高時工作。

注:此模塊采用Xilinx IP核——RAM-based Shift Register。

3.5 編碼模塊

圖9 編碼模塊

功能是把編碼表和輸入序列的編碼串行輸出。

輸出格式:在output_start置高電平后、output_done置高電平前,output_data端為有效的輸出數據。這些數據包含了霍夫曼編碼表,以及對輸入數據進行編碼后的結果。

哈夫曼編碼表按順序存放了0~9的霍夫曼編碼。對于某特定的符號,其哈夫曼編碼表示為:該符號的的碼字長度(長度為4比特),緊接著是該符號的碼字。

哈夫曼編碼表之后是輸入數據的編碼結果。具體的格式如下圖所示:

圖10 輸出序列示例

4結果

4.1電路功能

先通過MATLAB程序產生用來測試電路的256個數據,這些數據根據一個概率向量p來生成,再利用Vivado仿真工具加載數據到電路輸入端,并把電路輸出的有效數據輸出到文件中。

利用MATLAB對輸出數據進行解碼并和原始數據進行比對(編碼正確性測試),還利用MATLAB內置的哈夫曼編碼函數計算平均碼長與電路得出的平均碼長進行對比(平均碼長測試)。下表是在不同概率向量p下得到的測試結果如表9所示。

表9 功能測試

根據測試結果,可以證明電路功能的正確性。

4.2電路性能

4.2.1消耗時鐘周期數

對于不同的輸入序列有不同的編碼長度,所以電路的Total Cycle是不確定的。但是從start到output_start的周期間隔是確定的,為272個時鐘周期,如下圖所示。

圖11 輸出波形示例

4.2.2資源占用

在選擇目標器件為xc7a100tcsg324-1進行綜合、布線之后,資源消耗情況如表10所示。

表10 資源占用

4.2.3最高時鐘頻率

經過時序約束后,在時鐘頻率為125M的情況,滿足約束條件。

參考文獻:

[1]David A. Huffman. A Method for the Construction of Minimum-Redundancy Codes. Proceedings of the IRE. 40(9): 1098–1101. doi:10.1109/JRPROC.1952.273898

[2]Sutherland, Stuart, Davidmann, Simon, Flake, Peter. SystemVerilog for Design Second Edition. Springer US: 2006

[3]Joshua Vasquez.(January 20,2016)“SORT FASTER WITH FPGAS”, http://hackaday.com/2016/01/20/a-linear-time-sorting-algorithm-for-fpgas/

[4]高亞軍.Vivado從此開始[M].北京;電子工業出版社,2017.                [5]Donald E. Thomas, Philip R. Moorby. The Verilog? Hardware Description Language,Fifth Edition. Kluwer Academic Publishers; 2002.

關鍵詞: 哈夫曼編碼 HDL

版權聲明:
    凡注明來網絡消費網的作品,版權均屬網絡消費網所有,未經授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明"來源:網絡消費網"。違反上述聲明者,本網將追究其相關法律責任。
    除來源署名為網絡消費網稿件外,其他所轉載內容之原創性、真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考并自行核實。
熱文

網站首頁 |網站簡介 | 關于我們 | 廣告業務 | 投稿信箱
 

Copyright © 2000-2020 www.yushuoyun.cn All Rights Reserved.
 

中國網絡消費網 版權所有 未經書面授權 不得復制或建立鏡像
 

聯系郵箱:920 891 263@qq.com

備案號:京ICP備2022016840號-15

營業執照公示信息

www.亚洲男人天堂_欧美最顶级的aⅴ艳星_国产精品免费网站_欧美日韩在线一区_欧美床上激情在线观看_日韩av色在线_国产精品亚洲综合天堂夜夜_欧美做爰性生交视频_国产成人高潮免费观看精品_久久天天躁夜夜躁狠狠躁2022_国产美女久久精品香蕉69_亚洲专区在线视频_国产精品夜间视频香蕉_国产成人综合一区二区三区_国产精品69av_岛国av午夜精品

        在线成人av| 欧美日韩性视频在线| 午夜国产欧美理论在线播放| 欧美大片在线看免费观看| 欧美日韩国产经典色站一区二区三区| 国产九九精品视频| 欧美精品成人一区二区在线观看| 亚洲免费视频中文字幕| 国产毛片精品视频| 国产欧美一区二区三区视频| 亚洲第一在线综合网站| 欧美精品一区二区三区一线天视频| 亚洲国产第一页| 99riav1国产精品视频| 欧美激情综合五月色丁香小说| 国产精品99久久久久久久久久久久| 欧美国产欧美综合| 国产精品一区免费观看| 欧美亚洲成人精品| 国产伦精品一区二区三区照片91| 国产精品日日摸夜夜添夜夜av| 亚洲欧美激情一区| 亚洲视频精品| 一区二区三区日韩欧美| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品一区二区三区观看| 亚洲国产精品热久久| 一区二区三区黄色| 亚洲影院高清在线| 亚洲国产高清视频| 亚洲欧美另类综合偷拍| 亚洲一区精彩视频| 亚欧美中日韩视频| 亚洲国产精品va在线看黑人| 欧美日韩大片| 亚洲全黄一级网站| 亚洲欧美影院| 国产精品久久久久久久久| 在线看视频不卡| 国产精品久久久久久久久| 一区二区三区欧美视频| 狠狠噜噜久久| 久久色中文字幕| 一本久道久久综合中文字幕| 欧美日韩国产成人高清视频| 亚洲一区二区三区在线观看视频| 国产精品视频专区| 亚洲精选成人| 亚洲国产精品一区二区久| 性色av一区二区三区红粉影视| 久久综合色一综合色88| 亚洲免费视频在线观看| 99精品99| 国内精品视频久久| 久久久人成影片一区二区三区| 国产一级精品aaaaa看| 国产三级精品三级| 国产精自产拍久久久久久蜜| 日韩一区二区精品视频| 欧美日韩免费在线视频| 精品成人在线| 久久久777| 夜久久久久久| 国产一区日韩一区| 欧美激情按摩在线| 国产伦精品一区二区三区四区免费| 久久av在线看| 国产一级揄自揄精品视频| 一区二区三区精密机械公司| 亚洲人妖在线| 日韩一级黄色大片| 狠狠色狠狠色综合日日tαg| 久久精品国产77777蜜臀| 国产精品二区二区三区| 国内精品美女av在线播放| 欧美aa在线视频| 欧美高清视频免费观看| 国内成人精品视频| 在线观看日韩国产| 国产永久精品大片wwwapp| 欧美不卡激情三级在线观看| 欧美精品一区二区三区一线天视频| 欧美成人三级在线| 国产欧美精品国产国产专区| 欧美精品激情在线观看| 欧美专区在线播放| 欧美777四色影视在线| 亚洲视频精品在线| 亚洲精品免费在线观看| 午夜精品久久久| 亚洲免费av网站| 影音先锋中文字幕一区| 国产一区二区视频在线观看| 久久久久久久一区| 欧美色欧美亚洲另类二区| 欧美精品www| 亚洲一区美女视频在线观看免费| 亚洲精品日本| 欧美区日韩区| 欧美日韩国产精品一区| 欧美在线啊v| 亚洲激情女人| 久久精品久久99精品久久| 亚洲欧美另类在线观看| 日韩视频在线观看一区二区| 国产精品v欧美精品v日韩精品| 国产欧美一区二区三区视频| 亚洲欧洲偷拍精品| 亚洲欧美国产va在线影院| 亚洲综合日本| 欧美精品午夜视频| 欧美日一区二区三区在线观看国产免| 久久久久一区二区| 国产精品五月天| 136国产福利精品导航| 久久久久一区| 一本一本久久a久久精品牛牛影视| 久久视频免费观看| 国产三级欧美三级日产三级99| 久久婷婷亚洲| 黄色另类av| 欧美精品在线一区二区| 久久天天躁狠狠躁夜夜av| 国产精自产拍久久久久久| 久久精品国产第一区二区三区| 久热精品视频在线观看一区| 国产一区在线视频| 国产亚洲a∨片在线观看| 国产亚洲欧美aaaa| 国产精品高精视频免费| 欧美成人综合在线| 国模精品一区二区三区色天香| 91久久精品久久国产性色也91| 久久精品国产精品亚洲精品| 国产精品理论片在线观看| 亚洲一区欧美二区| 欧美日韩另类一区| 日韩视频二区| 亚洲伦理中文字幕| 久久视频国产精品免费视频在线| 亚洲一区日韩在线| 久久久久一区二区三区| 亚洲视频电影在线| 欧美午夜免费影院| 国产欧美视频在线观看| 亚洲欧美国产不卡| 国产精品二区三区四区| 在线观看国产欧美| 欧美片在线播放| 国产一区二区三区直播精品电影| 欧美日韩成人精品| 亚洲欧美日韩国产综合精品二区| 国产精品久久久久影院色老大| 欧美成人免费观看| 国产精品女主播在线观看| 欧美日韩高清一区| 亚洲欧美激情一区二区| 欧美日韩麻豆| 激情亚洲一区二区三区四区| 99在线观看免费视频精品观看| 国内不卡一区二区三区| 欧美精品一区二区高清在线观看| 久久精品中文字幕免费mv| 亚洲色图在线视频| 日韩手机在线导航| 久久国产乱子精品免费女| 欧美巨乳在线观看| 极品尤物久久久av免费看| 亚洲一区二区三区高清| 欧美日韩午夜| 欧美午夜精品久久久| 这里是久久伊人| 国产精品乱子久久久久| 亚洲精品一区在线观看香蕉| 亚洲欧美成aⅴ人在线观看| 亚洲天堂av高清| 午夜精品福利在线| 亚洲日本欧美日韩高观看| 久久9热精品视频| 国产精品老牛| 久久综合久色欧美综合狠狠| 欧美伦理在线观看| 一本大道久久a久久精二百| 午夜一区二区三区不卡视频| 欧美激情一区二区三区| 亚洲激情视频网站| 国产一区二区在线观看免费| 亚洲精品国精品久久99热| 午夜欧美大尺度福利影院在线看| 亚洲免费观看高清完整版在线观看| 久久福利视频导航| 欧美肉体xxxx裸体137大胆| 欧美另类视频在线| 亚洲人成在线播放网站岛国| 欧美xx视频| 免费av成人在线| 欧美成人日韩| 国产有码在线一区二区视频| 国产欧美一区二区精品仙草咪| 久久超碰97人人做人人爱| 国产欧美韩国高清| 久久午夜电影| 亚洲欧美高清| 国产偷国产偷精品高清尤物| 欧美在线啊v| 欧美成人精品在线视频| 黄色成人片子| 亚洲国产综合在线看不卡| 国产精品伦子伦免费视频| 国产美女精品视频免费观看| 国产精品你懂的在线欣赏| 国产精品久久久久天堂| 一区二区三区欧美| 国产精品久久久久免费a∨大胸| 欧美激情视频网站| 国产精品天天摸av网| 国产精品任我爽爆在线播放| 欧美精品在线免费播放| 亚洲电影激情视频网站| 国产精品狼人久久影院观看方式| 欧美国产综合视频| 国产欧美日韩在线观看| 一区二区高清视频| 国产日韩精品一区观看| 日韩一级在线| 国产精品美女在线| 欧美色欧美亚洲另类七区| 久久精品夜夜夜夜久久| 亚洲大胆美女视频| 日韩视频免费| 欧美一区深夜视频| 亚洲深夜av| 久久成人一区二区| 欧美国产日本高清在线| 韩国女主播一区| 亚洲综合视频一区| 国产婷婷色一区二区三区在线| 欧美午夜宅男影院在线观看| 国产一区 二区 三区一级| 午夜一区二区三区在线观看| 久久亚洲精品视频| 欧美亚洲不卡| 久久精品国产999大香线蕉| 韩国v欧美v日本v亚洲v| 国产日韩精品综合网站| 新狼窝色av性久久久久久| 亚洲大片在线观看| 亚洲精品综合在线| 激情五月***国产精品| 99riav久久精品riav| 欧美日韩精品一区二区三区| 久久深夜福利免费观看| 国产中文一区二区| 久久在线视频| 久久激情中文| 99精品欧美一区二区三区| 午夜久久久久久久久久一区二区| 亚洲一区二区成人在线观看| 国产精品r级在线| 亚洲第一综合天堂另类专| 亚洲欧美日本视频在线观看| 欧美人牲a欧美精品| 国产精品成人一区二区三区吃奶| 欧美激情中文字幕在线| 欧美国产精品中文字幕| 午夜精品久久久久久| 99ri日韩精品视频| 欧美一区二区免费视频| 欧美一区二区精品久久911| 亚洲国产成人av在线| 亚洲精品国产品国语在线app| 午夜精品一区二区三区在线播放| 亚洲欧美激情视频在线观看一区二区三区| 亚洲人成人一区二区在线观看| 一本一本久久a久久精品综合麻豆| 国产精品电影网站| 精品白丝av| 亚洲综合第一| 亚洲校园激情| 国产精品av免费在线观看| 狠狠色综合色综合网络| 欧美日韩成人免费| 性欧美办公室18xxxxhd| 欧美18av| 欧美精品大片| 亚洲三级毛片| 亚洲欧美日韩精品久久久| 激情五月***国产精品| 久久婷婷国产综合精品青草| 亚洲国产精品123| 影音先锋成人资源站| 欧美一区二区三区视频免费| 狠狠干成人综合网| 国产欧美va欧美va香蕉在| 日韩网站在线看片你懂的| 欧美在线观看视频一区二区| 亚洲最新在线视频| 亚洲欧美日韩国产中文在线| 欧美日韩成人在线视频| 国产精品劲爆视频| 欧美3dxxxxhd| 亚洲视频在线看| 一本久道久久久| 欧美69视频| 欧美性猛交xxxx乱大交退制版| 午夜精品99久久免费| 韩国视频理论视频久久| 久热精品视频| 亚洲欧洲日韩在线| 国产精品久久中文| 亚洲综合丁香| 欧美国产亚洲精品久久久8v| 国产精品99久久久久久久vr| 欧美成人精品一区二区| 亚洲永久免费视频| 久久九九热re6这里有精品| 久久婷婷激情| 一色屋精品视频免费看| 精品51国产黑色丝袜高跟鞋| 午夜精品影院在线观看| 一区二区三区产品免费精品久久75| 欧美午夜理伦三级在线观看| 国产精品久久婷婷六月丁香| 国产精品女同互慰在线看| 欧美日韩三级在线| 国产精品久久夜| 国产精品久久久久国产a级| 亚洲精品一区二区三区樱花|