午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng)的制作方法

文檔序號(hào):9432379閱讀:629來(lái)源:國(guó)知局
一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)壓縮技術(shù),尤其涉及一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng)。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)通信技術(shù)高速發(fā)展的時(shí)代,數(shù)據(jù)無(wú)損壓縮技術(shù)逐漸體現(xiàn)出其獨(dú)特的重要性,使其廣泛應(yīng)用在云存儲(chǔ)、互聯(lián)網(wǎng)通信中,如壓縮文件系統(tǒng)、數(shù)據(jù)備份、網(wǎng)頁(yè)前端服務(wù)等。數(shù)據(jù)無(wú)損壓縮技術(shù)能夠在不影響數(shù)據(jù)重構(gòu)質(zhì)量的前提下降低數(shù)據(jù)冗余度、減少信息在存儲(chǔ)中占用的資源,客觀上提高數(shù)據(jù)傳輸效率。
[0003]無(wú)損數(shù)據(jù)壓縮技術(shù)主要分為兩類(lèi),分別是基于字典的無(wú)損數(shù)據(jù)壓縮技術(shù)以及基于統(tǒng)計(jì)的無(wú)損數(shù)據(jù)壓縮技術(shù);基于字典的無(wú)損數(shù)據(jù)壓縮的代表為L(zhǎng)Z77壓縮算法,因?yàn)樵撍惴ú粌H有著適中的壓縮率同時(shí)與基于統(tǒng)計(jì)的無(wú)損壓縮算法相比有著更快的壓縮速率;另外LZ77算法作為基于字典的無(wú)損壓縮算法的基礎(chǔ),有著不錯(cuò)的靈活性,如經(jīng)過(guò)LZ77壓縮算法處理過(guò)的數(shù)據(jù),再次經(jīng)過(guò)Huffman編碼可以實(shí)現(xiàn)Gzip壓縮,經(jīng)過(guò)區(qū)間編碼可以得到LZMA壓縮,經(jīng)過(guò)特定格式輸出可以實(shí)現(xiàn)LZO壓縮等等,而且這些壓縮算法性能的好壞很大程度上收到LZ77壓縮效果的影響。
[0004]當(dāng)前,數(shù)據(jù)壓縮一般通過(guò)軟件算法的實(shí)現(xiàn)方式進(jìn)行數(shù)據(jù)的壓縮處理,但是軟件算法進(jìn)行壓縮處理的效率較低,而且會(huì)占用大量的CPU資源,那么在處理大量數(shù)據(jù)時(shí),軟件算法的劣勢(shì)將更加明顯。
[0005]為了減少信息存儲(chǔ)所消耗的資源以及處理壓縮時(shí)所消耗的CPU資源,提高數(shù)據(jù)傳輸效率,使用硬件電路來(lái)實(shí)現(xiàn)數(shù)據(jù)的壓縮有著極大的優(yōu)勢(shì)。一方面硬件電路在工作時(shí)有著高度并行性,能夠極大的提升壓縮速率;另一方面能夠大量減少CPU資源的消耗,只需要在傳輸數(shù)據(jù)時(shí)使用占用CPU資源;加之,通過(guò)配置相應(yīng)的參數(shù)來(lái)調(diào)整壓縮率和壓縮速率之間的平衡點(diǎn),同軟件實(shí)現(xiàn)相比壓縮性能有著極大的提升。
[0006]綜上所述,實(shí)現(xiàn)一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng)在提高數(shù)據(jù)傳輸效率,減少存儲(chǔ)資源、CPU資源消耗上面有著廣泛的應(yīng)用前景。并且該系統(tǒng)今后可以和Huffman編碼系統(tǒng),區(qū)間編碼系統(tǒng)等級(jí)聯(lián),作為專(zhuān)用的硬件壓縮系統(tǒng),實(shí)現(xiàn)硬件與軟件的兼容。

【發(fā)明內(nèi)容】

[0007]本發(fā)明要解決的一個(gè)技術(shù)問(wèn)題是提供一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng),能夠有效地解決執(zhí)行無(wú)損數(shù)據(jù)壓縮時(shí)的效率問(wèn)題,提高壓縮性能。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng),包括:
[0009]字典維護(hù)模塊,包括若干個(gè)Ram,構(gòu)成字典以及字典緩沖區(qū);所述字典緩沖區(qū)用于存放待壓縮文件的數(shù)據(jù)塊;
[0010]數(shù)據(jù)請(qǐng)求模塊,向待壓縮文件請(qǐng)求新的待壓縮文件的數(shù)據(jù)塊并將新的數(shù)據(jù)塊寫(xiě)入字典維護(hù)模塊的字典緩沖區(qū)中;
[0011 ] 壓縮配置模塊,根據(jù)不同的壓縮級(jí)別配置壓縮偏好;能夠根據(jù)不同的壓縮偏好選擇相應(yīng)的Hash(哈希)函數(shù),調(diào)整壓縮率與壓縮速率之間的平衡點(diǎn);
[0012]Hash計(jì)算模塊,從字典維護(hù)模塊的字典緩沖區(qū)中獲取待壓縮文件的數(shù)據(jù)塊,將待壓縮文件的數(shù)據(jù)塊每3個(gè)字符的字符串作為當(dāng)前字符串;根據(jù)壓縮配置模塊配置的壓縮偏好計(jì)算當(dāng)前字符串對(duì)應(yīng)的Hash值并產(chǎn)生該Hash值在字典維護(hù)模塊的字典緩沖區(qū)中的地址;并根據(jù)該Hash值判斷字典維護(hù)模塊的字典中是否存在與之具有相同Hash值的匹配串并輸出相應(yīng)的匹配結(jié)果;
[0013]匹配計(jì)算模塊,接收Hash計(jì)算模塊輸出的匹配結(jié)果;若存在匹配字符串,從字典維護(hù)模塊的字典緩沖區(qū)中獲取相互匹配的當(dāng)前字符串與匹配字符串并進(jìn)行匹配比較;若匹配,則發(fā)送匹配信息給數(shù)據(jù)輸出模塊;若未匹配,則發(fā)送未匹配字符串給數(shù)據(jù)輸出模塊;若不存在未匹配字符串,從字典維護(hù)模塊的字典緩沖區(qū)中獲取未匹配字符串并發(fā)送給數(shù)據(jù)輸出模塊;在輸出字符串時(shí),可以同時(shí)執(zhí)行匹配計(jì)算工作,兩項(xiàng)工作可以并行執(zhí)行。
[0014]數(shù)據(jù)輸出模塊,接收匹配計(jì)算模塊的匹配信息以及未匹配字符串?dāng)?shù)據(jù)并輸出到指定的緩沖FIFO中。
[0015]所述的字典維護(hù)模塊進(jìn)一步包括:
[0016]Ram狀態(tài)檢測(cè)模塊,用于檢測(cè)每個(gè)Ram的使用狀態(tài);
[0017]字典緩沖模塊,采用4個(gè)16KB的Block Ram構(gòu)成字典緩沖區(qū),用于存放待壓縮文件的數(shù)據(jù);當(dāng)LZ77的字典窗口不再占用使用過(guò)的Ram時(shí),向該Ram寫(xiě)入新數(shù)據(jù),保證文件連續(xù)地輸入系統(tǒng);
[0018]讀寫(xiě)仲裁模塊,規(guī)定匹配計(jì)算模塊在讀取數(shù)據(jù)時(shí)match讀信號(hào)、literal讀信號(hào)、hash讀信號(hào)的優(yōu)先級(jí),并按照讀寫(xiě)優(yōu)先級(jí)順序發(fā)送對(duì)應(yīng)的讀寫(xiě)信號(hào)。
[0019]所述字典緩沖模塊最多占用3個(gè)Ram,最少占用I個(gè)Ram。所以能夠保證剩余一個(gè)Ram在獲取新的數(shù)據(jù),這樣使得文件連續(xù)讀入字典緩沖區(qū)內(nèi),有利于壓縮率的提升,避免了文件切塊這種方法在重新構(gòu)建字典時(shí)壓縮率的損失。
[0020]所述的數(shù)據(jù)請(qǐng)求模塊進(jìn)一步包括:
[0021]請(qǐng)求信號(hào)控制模塊,根據(jù)每個(gè)Ram的使用狀態(tài),為已使用過(guò)的Ram發(fā)送獲得新數(shù)據(jù)的請(qǐng)求信號(hào),并將新數(shù)據(jù)塊寫(xiě)入該Ram中;在當(dāng)前數(shù)據(jù)塊處理的同時(shí),通過(guò)不斷為已使用過(guò)的Ram請(qǐng)求新的數(shù)據(jù)塊,避免了等待新數(shù)據(jù)塊所帶來(lái)的時(shí)間消耗;
[0022]數(shù)據(jù)塊計(jì)數(shù)模塊,用于計(jì)算已輸入的數(shù)據(jù)塊個(gè)數(shù)并判斷最后一個(gè)數(shù)據(jù)塊存放于哪個(gè)Ram當(dāng)中。
[0023]所述的壓縮配置模塊配置的壓縮偏好為5種:壓縮率最優(yōu)、壓縮率較好、默認(rèn)、速率較好、速率最優(yōu)。不同的壓縮級(jí)別對(duì)應(yīng)不同的參數(shù)配置,不同的參數(shù)配置又會(huì)影響壓縮處理時(shí)對(duì)壓縮率和壓縮速率的偏好。
[0024]所述的Hash計(jì)算模塊進(jìn)一步包括:hash讀數(shù)據(jù)模塊、地址產(chǎn)生模塊、hash模塊以及hash鏈更新模塊;
[0025]hash讀數(shù)據(jù)模塊,從字典維護(hù)模塊的字典緩沖區(qū)中獲取新的數(shù)據(jù),以每3個(gè)字符一組作為當(dāng)前字符串輸出給hash模塊計(jì)算其hash值;
[0026]地址產(chǎn)生模塊,產(chǎn)生每組當(dāng)前字符串輸出時(shí)對(duì)應(yīng)的字典內(nèi)的地址;
[0027]hash模塊,接收hash讀數(shù)據(jù)模塊讀取的當(dāng)前字符串并計(jì)算每組當(dāng)前字符串的hash 值;
[0028]hash鏈更新模塊,以當(dāng)前字符串的hash值為地址從字典維護(hù)模塊的字典中的head ram中獲取數(shù)據(jù),若head ram中有數(shù)據(jù)則說(shuō)明字典中存在匹配串并輸出匹配結(jié)果。
[0029]所述hash模塊計(jì)算每組字符的Hash值根據(jù)不同的壓縮偏好選擇雙hash函數(shù)或者單hash函數(shù)進(jìn)行計(jì)算,產(chǎn)生兩個(gè)15位的hash值或者一個(gè)15位的hash值。Hash計(jì)算模塊提供的雙hash函數(shù)可以極大的消除偽匹配信息。
[0030]所述的匹配計(jì)算模塊進(jìn)一步包括:
[0031]match讀數(shù)據(jù)模塊,用于根據(jù)Hash計(jì)算模塊中相互匹配的當(dāng)前串地址和匹配串地址發(fā)送讀信號(hào),從字典維護(hù)模塊的字典緩沖區(qū)中獲取當(dāng)前字符串以及匹配字符串;
[0032]match接收數(shù)據(jù)模塊,用于接收match讀數(shù)據(jù)模塊獲取的當(dāng)前字符串或者匹配字符串?dāng)?shù)據(jù),并根據(jù)起始地址進(jìn)行微調(diào),使得當(dāng)前字符串和匹配字符串?dāng)?shù)據(jù)頭對(duì)齊;
[0033]匹配模塊,用于計(jì)算當(dāng)前字符串和匹配字符串的匹配長(zhǎng)度和匹配距離并發(fā)送;匹配信息發(fā)送模塊,用于存儲(chǔ)匹配模塊計(jì)算出的最大匹配長(zhǎng)度和其對(duì)應(yīng)的匹配距離,待所有匹配工作完成后發(fā)送匹配信息;
[0034]literal讀數(shù)據(jù)模塊,用于根據(jù)Hash計(jì)算模塊中產(chǎn)生的未匹配字符串的起始地址和結(jié)束地址發(fā)送讀信號(hào),從字典緩沖區(qū)中獲取待輸出的未匹配字符串;
[0035]literal發(fā)送模塊,用于發(fā)送literal讀數(shù)據(jù)模塊獲取的未匹配的字符串以及所有數(shù)據(jù)處理完成后的EOB標(biāo)志位。
[0036]本發(fā)明提供一種基于硬件的可配置的數(shù)據(jù)壓縮系統(tǒng)與現(xiàn)有技術(shù)相比具有如下優(yōu)占.V.
[0037]1、本發(fā)明使用可編程邏輯器件(FPGA)來(lái)實(shí)現(xiàn)數(shù)據(jù)壓縮功能,附加相關(guān)與PC機(jī)通信的模塊來(lái)實(shí)現(xiàn)該數(shù)據(jù)壓縮系統(tǒng),通過(guò)采用LZ77無(wú)損壓縮算法,并根據(jù)該算法設(shè)計(jì)合理的硬件電路結(jié)構(gòu),從而有
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1