[發(fā)明專利]基于Gzip硬件實現(xiàn)文本壓縮方法有效
| 申請?zhí)枺?/td> | 201710255484.8 | 申請日: | 2017-04-19 |
| 公開(公告)號: | CN107135003B | 公開(公告)日: | 2019-07-02 |
| 發(fā)明(設(shè)計)人: | 雷杰;陳奕彤;李云松;王紹虎;趙靜 | 申請(專利權(quán))人: | 西安電子科技大學(xué) |
| 主分類號: | H03M7/30 | 分類號: | H03M7/30 |
| 代理公司: | 陜西電子工業(yè)專利中心 61205 | 代理人: | 田文英;王品華 |
| 地址: | 710071 陜*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 gzip 硬件 實現(xiàn) 文本 壓縮 方法 | ||
1.一種基于Gzip硬件實現(xiàn)文本壓縮方法,包括以下步驟:
(1)讀入待壓縮文本:
(1a)依次將待壓縮文本中自定義緩存深度大小的文本塊,讀入到緩存器1中;
(1b)依次將未讀入的自定義緩存深度大小的文本塊,讀入到緩存器2中的同時,將緩存器1中的文本塊讀入到文本壓縮處理器中;
(1c)用依次讀入自定義緩存深度大小的文本塊更新緩存器1中存儲的文本塊,在更新緩存器1的同時,將緩存器2中的文本塊讀入到文本壓縮處理器中;
(1d)重復(fù)以上三個步驟,直到將待壓縮文本中所有文本塊讀入到文本壓縮處理器中;
(2)計算字典存儲地址:
(2a)依次將讀入文本塊中長度為八字節(jié)的自定義個數(shù)字符串進行編號,取出每個字符串中的前六個字符作為計算單元,對計算單元中的前六個字符同時進行異或運算,得到字符串存放的索引值;
(2b)將索引值按照存放字符串的字典位置數(shù)進行取余操作,將得到的余數(shù)作為字符串在字典中對應(yīng)的存儲地址標(biāo)號;
(3)標(biāo)記存儲地址標(biāo)號有效信息:
(3a)判斷同時處理的自定義個數(shù)字符串是否存在一樣的存儲地址標(biāo)號,若是,執(zhí)行步驟(3b),否則,執(zhí)行步驟(3c);
(3b)將存儲地址標(biāo)號一樣的字符串中編號最小的字符串對應(yīng)的存儲地址信息標(biāo)記為有效信息,將其余存儲地址信息標(biāo)記為無效信息;
(3c)將所有字符串的存儲地址標(biāo)號標(biāo)記為有效信息;
(4)查找歷史字符串:
(4a)在字典存儲器內(nèi)查找與有效信息的字典存儲地址對應(yīng)的歷史字符串;
(4b)將查找到歷史字符串作為待匹配字符串;
(5)更新字典信息:
(5a)將字典存儲器內(nèi)與有效信息的字典存儲地址對應(yīng)的信息更新為讀入的文本塊中長度為八字節(jié)的自定義個數(shù)字符串;
(5b)將地址存放存儲器內(nèi)與有效信息的字典存儲地址對應(yīng)的信息更新為當(dāng)前待壓縮字符串的位置信息;
(6)判斷在字典存儲器查找中是否存在待匹配字符串,若是,則執(zhí)行步驟(7),否則,直接執(zhí)行步驟(9);
(7)匹配字符串:
(7a)取出步驟(4b)中的待匹配字符串;
(7b)將當(dāng)前待壓縮字符串與待匹配字符串兩者之間連續(xù)相同字符的個數(shù)記為匹配長度;
(7c)讀出步驟(5b)中地址存放存儲器內(nèi)與有效信息的字典存儲地址對應(yīng)的位置信息,作為待匹配位置信息;
(7d)對待壓縮字符串的位置信息與待匹配位置信息做差,將其值作為匹配距離;
(7e)找出所有匹配長度大于或等于三的待壓縮字符串作為匹配成功字符串;
(8)修剪匹配字符串:
(8a)將匹配成功字符串對應(yīng)編號值與其自身的匹配長度求和,將和值作為匹配延伸距離;
(8b)將同時處理自定義個數(shù)的計算單元中,匹配延伸距離最長的匹配成功字符串,作為最長匹配字符串;
(8c)將匹配成功字符串中的字符與最長匹配字符串中字符相互重疊的個數(shù),作為重疊數(shù);
(8d)對重疊數(shù)不為零的匹配成功字符串的匹配長度與其重疊數(shù)作差,將差值作為修剪匹配長度;
(8e)找出修剪匹配長度大于或等于三對應(yīng)的匹配成功字符串作為壓縮字符串;
(8f)將壓縮字符串對應(yīng)的修剪匹配長度和匹配距離組成修剪匹配對;
(8g)用修剪匹配對替換匹配成功字符串,得到修剪后的匹配字符串;
(8h)將修剪后的匹配字符串與待壓縮字符串組成匹配壓縮文本;
(9)將得到的匹配壓縮文本輸入到哈夫曼編碼處理器,進行碼流壓縮處理;
(10)獲得長度哈夫曼碼流:
(10a)對未匹配替換的待壓縮字符串中的字符,用信息交換標(biāo)準(zhǔn)代碼ASCII轉(zhuǎn)換為對應(yīng)的數(shù)值,將該數(shù)值作為靜態(tài)哈夫曼長度查找表的字符索引值;
(10b)對修剪后的匹配字符串,將匹配長度值作為靜態(tài)哈夫曼長度查找表的長度索引值;
(10c)將未匹配替換的待壓縮字符串和修剪后的匹配字符串作為待處理字符串;
(10d)將靜態(tài)哈夫曼長度查找表中字符索引值的碼字,作為步驟(10c)中待處理字符的字符哈夫曼碼字;
(10e)將靜態(tài)哈夫曼長度查找表中長度索引值的碼字,作為步驟(10c)中待處理字符的長度哈夫曼碼字;
(11)獲得距離哈夫曼碼流:
(11a)將未匹配替換的待壓縮字符串中的字符的匹配距離設(shè)置為零;
(11b)將待處理字符串的匹配距離值作為靜態(tài)哈夫曼距離查找表的距離索引值;
(11c)將靜態(tài)哈夫曼距離查找表中距離索引值對應(yīng)的碼字作為距離哈夫曼碼字;
(12)輸出壓縮碼流:
(12a)將待處理字符串的長度哈夫曼碼字和距離哈夫曼碼字組成匹配壓縮文本的壓縮碼流;
(12b)將壓縮碼流輸出到壓縮文件存儲器。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安電子科技大學(xué),未經(jīng)西安電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710255484.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
H03M 一般編碼、譯碼或代碼轉(zhuǎn)換
H03M7-00 把用給定序列的數(shù)字或給定數(shù)目的數(shù)字來表示信息的碼,轉(zhuǎn)換到用不同序列的數(shù)字或不同數(shù)目的數(shù)字來表示相同信息的碼
H03M7-02 .轉(zhuǎn)換到加權(quán)代碼或相反轉(zhuǎn)換,即對一數(shù)字的加權(quán)與該數(shù)字在信息組或代碼字中的位置有關(guān)
H03M7-14 .轉(zhuǎn)換到非加權(quán)代碼或相反轉(zhuǎn)換
H03M7-26 .轉(zhuǎn)換到隨機碼或相反轉(zhuǎn)換
H03M7-28 .可編程序結(jié)構(gòu),即代碼轉(zhuǎn)換器所包括的設(shè)備其算符是可變的,以調(diào)整轉(zhuǎn)換程序
H03M7-30 .壓縮
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





