本發明專利技術提供了一種LZ77壓縮算法的硬件解碼實現系統及方法,該系統包括:字符類別判決模塊,用于判斷待解碼數據的屬性;字符類別判決結果反饋模塊,用于根據待解碼數據的屬性進行解碼操作;緩存模塊,用于緩存解碼后的字符,并統計緩存的字符數目;緩存字符數結果反饋模塊,用于根據所述字符數目從緩存模塊中移位相應字符到字典模塊中進行存儲,并返回字符類別判決模塊繼續解碼直至解碼結束,其中字典模塊用于存儲緩存模塊中的字符以備后續解碼使用。本發明專利技術能夠有效的提高現有Gzip解壓縮算法核心組成部分LZ77算法的解碼效率。
【技術實現步驟摘要】
本專利技術涉及數據解壓縮技術,尤其涉及一種LZ77壓縮算法的硬件解碼實現系統及方法。
技術介紹
在數據壓縮領域,LZ77算法是眾所周知的,該算法是由Abraham Lempel與JacobZiv在1977年發表的,采用“滑動窗口”的原理實現數據的壓縮。近年來,LZ77算法出現了許多變型,同時出現了一些LZ77算法和其它壓縮算法結合的壓縮方法,這些壓縮方法表現出更優越的壓縮效果。其中,比較著名的是LZ77算法與Huffman算法結合實現的Gzip壓縮算法,該算法先利用LZ77算法將數據進行一級壓縮(字典模式壓縮),然后利用Huffman算法將壓縮后的數據進行二級壓縮(統計模式壓縮),無疑,經結合后的算法在壓縮效果上將更為優越。正是由于Gzip壓縮算法的這種優勢,使得該算法大量運用在大數據處理中,諸如互聯網數據處理和近年興起的云計算方面。數據經Gzip壓縮算法處理之后,一方面,可以大幅度提高磁盤的有效容量,提高讀寫操作時的輸入輸出(I/O)有效帶寬,從而有效的降低互聯網和云計算數據處理的成本;另一方面,壓縮后的數據起到加密的作用,在一定程度上保護了數據的安全性。然而,調查發現,通過軟件實現Gzip壓縮解壓縮算法的方式進行數據處理時的效率較低,同時Gzip解壓縮的算法一般都采用軟件實現。分析發現,作為Gzip壓縮算法核心組成部分的LZ77算法對壓縮解壓縮效果影響明顯,尤其是在解壓縮過程中,LZ77算法的解碼效率直接影響Gzip解壓縮效率。測試發現,以主頻約2. 7GHz的CPU為例,其進行壓縮的帶寬約為6MB/s,而解壓縮的帶寬約為25MB/S。因而,在互聯網或者近年熱門的云計算當中,當面對大規模數據處理時,待壓縮解壓縮的數據流將巨增,采用CPU進行壓縮解壓縮處理數據必然會占用大量的CPU資源,而在進行解壓縮過程時,CPU資源被大量占用的問題更為明顯。因此,如何大幅度提高Gzip解壓縮的處理效率,成為現有Gzip解壓縮技術所亟待解決的技術問題,尤其是針對性的提出提高Gzip算法核心組成部分LZ77算法的解碼方案。
技術實現思路
本專利技術的專利技術目的是提供一種LZ77壓縮算法的硬件解碼實現系統及方法,能夠有效的提高現有Gzip解壓縮算法核心組成部分LZ77算法的解碼效率。為實現上述目的,本專利技術提供了一種LZ77壓縮算法的硬件解碼實現系統,包括字符類別判決模塊,用于判斷待解碼數據的屬性;字符類別判決結果反饋模塊,用于根據待解碼數據的屬性進行解碼操作;緩存模塊,用于緩存解碼后的字符,并統計緩存的字符數目;緩存字符數結果反饋模塊,用于根據所述字符數目從緩存模塊中移位相應字符到字典模塊中進行存儲,并返回字符類別判決模塊繼續解碼直至解碼結束,其中字典模塊用于存儲緩存模塊中的字符以備后續解碼使用。進一步的,所述字符類別判決結果反饋模塊中若是新字符,則直接緩存該新字符;若是重復字符,則從待解碼數據中獲取重復字符長度,從待解碼數據中獲取所述重復字符的指回距離,并判斷所述重復字符所處的位置;根據所述重復長度和所述指回距離到所述位置處拷貝并緩存所述重復字符。進一步的,所述字符類別判決結果反饋模塊中若是結束字符標志,則解碼結束。進一步的,所述硬件解碼實現系統還包括數據存儲模塊,用于存儲解碼后的字符;移位模塊,用于丟棄所述數據存儲模塊中已經移位到字典模塊中的字符。為實現上述目的,本專利技術還提供了一種LZ77壓縮算法的硬件解碼實現方法,包括步驟1,字符類別判決模塊判斷待解碼數據的屬性;步驟2,字符類別判決結果反饋模塊根據待解碼數據的屬性進行解碼操作;步驟3,緩存模塊緩存解碼后的字符,并統計緩存的字符數目;步驟4,緩存字符數結果反饋模塊根據所述字符數目從緩存模塊中移位相應字符到字典模塊中進行存儲,并返回步驟I繼續解碼直至解碼結束,其中字典模塊用于存儲緩存模塊中的字符以備后續解碼使用。進一步的,所述步驟2中若是新字符,則直接緩存該新字符;若是重復字符,則從待解碼數據中獲取重復字符長度,從待解碼數據中獲取所述重復字符的指回距離,并判斷所述重復字符所處的位置;根據所述重復長度和所述指回距離到所述位置處拷貝并緩存所述重復字符。進一步的,所述步驟2中若是結束字符則解碼結束。進一步的,所述硬件解碼實現方法還包括步驟5,數據存儲模塊存儲解碼后的字符;步驟6,移位模塊根據所述字符數目丟棄數據存儲模塊中已經移位到字典模塊中的字符。本專利技術的有益功效在于,1.該系統及方法可應用于Gzip解壓縮算法核心組成部分LZ77解碼算法中,采用可編程邏輯器件(FPGA)實現LZ77解碼功能,通過采用緩存模塊和字典模塊實現一次解碼多個字符的功能,從而提高了現有Gzip解壓縮算法的處理效率。2.通過適當的改進和結構變化,該系統和方法也可用于其它含有LZ77相同或相似算法的應用中。以下結合附圖和具體實施例對本專利技術進行詳細描述,但不作為對本專利技術的限定。附圖說明圖1A為本專利技術的一種LZ77壓縮算法的硬件解碼實現系統示意圖;圖1B為本專利技術的一種LZ77壓縮算法的硬件解碼實現系統流程圖1C為本專利技術的第一實施例提供的一種LZ77壓縮算法的硬件解碼實現系統的結構示意圖;圖2為本專利技術的第二實施例提供的一種LZ77壓縮算法的硬件解碼實現系統示意圖;圖3為本專利技術的第一實施例提供的一種LZ77壓縮算法的硬件解碼實現系統的解碼模塊示意圖;圖4為本專利技術的第三實施例提供的一種LZ77壓縮算法的硬件解碼實現系統示意圖;圖5為本專利技術的一實施例提供的一種LZ77壓縮算法的硬件解碼實現系統的緩存豐旲塊不意圖;圖6為本專利技術的第一實施例提供的一種LZ77壓縮算法的硬件解碼實現方法流程圖;圖7為本專利技術的第二實施例提供的一種LZ77壓縮算法的硬件解碼實現方法流程圖;圖8為本專利技術的第三實施例提供的一種LZ77壓縮算法的硬件解碼實現方法流程圖;圖9為本專利技術的第四實施例提供的一種LZ77壓縮算法的硬件解碼實現方法流程圖。具體實施例方式下面參照附圖用本專利技術的示例性實施例對本專利技術進行更全面的描述和說明。圖1A為本專利技術的一種LZ77壓縮算法的硬件解碼實現系統示意圖。如圖1A所示,該系統包括字符類別判決模塊100,用于判斷待解碼數據的屬性;字符類別判決結果反饋模塊200,用于根據待解碼數據的屬性進行解碼操作;緩存模塊300,用于緩存解碼后的字符,并統計緩存的字符數目;緩存字符數結果反饋模塊400,用于根據所述字符數目從緩存模塊中移位相應字符到字典模塊中進行存儲,并返回字符類別判決模塊繼續解碼直至解碼結束,其中字典模塊用于存儲緩存模塊中的字符以備后續解碼使用。進一步的,所述字符類別判決結果反饋模塊200中若是新字符,則直接緩存該新字符;若是重復字符,則從待解碼數據中獲取重復字符長度,從待解碼數據中獲取所述重復字符的指回距離,并判斷所述重復字符所處的位置;根據所述重復長度和所述指回距離到所述位置處拷貝并緩存所述重復字符。進一步的,所述字符類別判決結果反饋模塊200中若是結束字符,則解碼結束。進一步的,所述硬件解碼實現系統還包括數據存儲模塊,用于存儲解碼后的字符;移位模塊,用于丟棄所述數據存儲模塊中已經移位到字典模塊中的字符。圖1B為本專利技術的一種LZ77壓縮算法的硬件解碼實現系統流程圖。如圖1B所示,該方法包括步驟1,字符類別判決模塊本文檔來自技高網...
【技術保護點】
一種LZ77壓縮算法的硬件解碼實現系統,其特征在于,包括:字符類別判決模塊,用于判斷待解碼數據的屬性;字符類別判決結果反饋模塊,用于根據待解碼數據的屬性進行解碼操作;緩存模塊,用于緩存解碼后的字符,并統計緩存的字符數目;緩存字符數結果反饋模塊,用于根據所述字符數目從緩存模塊中移位相應字符到字典模塊中進行存儲,并返回字符類別判決模塊繼續解碼直至解碼結束,其中字典模塊用于存儲緩存模塊中的字符以備后續解碼使用。
【技術特征摘要】
1.一種LZ77壓縮算法的硬件解碼實現系統,其特征在于,包括: 字符類別判決模塊,用于判斷待解碼數據的屬性; 字符類別判決結果反饋模塊,用于根據待解碼數據的屬性進行解碼操作; 緩存模塊,用于緩存解碼后的字符,并統計緩存的字符數目; 緩存字符數結果反饋模塊,用于根據所述字符數目從緩存模塊中移位相應字符到字典模塊中進行存儲,并返回字符類別判決模塊繼續解碼直至解碼結束, 其中字典模塊用于存儲緩存模塊中的字符以備后續解碼使用。2.如權利要求1所述的硬件解碼實現系統,其特征在于,所述字符類別判決結果反饋模塊中: 若是新字符,則直接緩存該新字符; 若是重復字符,則從待解碼數據中獲取重復字符長度,從待解碼數據中獲取所述重復字符的指回距離,并判斷所述重復字符所處的位置;根據所述重復長度和所述指回距離到所述位置處拷貝并緩存所述重復字符。3.如權利要求1所述的硬件解碼實現系統,其特征在于,所述字符類別判決結果反饋模塊中若是結束字符,則解碼結束。4.如權利要求1所述的硬件解碼實現系統,其特征在于,所述硬件解碼實現系統還包 括: 數據存儲模塊,用于存儲解碼后的字符; 移位模塊,用于丟棄所述數據存儲模塊中已經移位到字典模...
【專利技術屬性】
技術研發人員:尚壯壯,隋秀峰,郭彥鋒,李冰,
申請(專利權)人:中國科學院計算技術研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。