999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于GZIP 的壓縮與高效解壓系統(tǒng)

2021-05-12 02:59:48袁興峰
電子設(shè)計(jì)工程 2021年8期
關(guān)鍵詞:信息系統(tǒng)

李 博,袁興峰,李 隆

(合肥工業(yè)大學(xué)電子科學(xué)與應(yīng)用物理學(xué)院,安徽合肥 230009)

在一些嵌入式系統(tǒng)中,系統(tǒng)的正常工作需要大量的數(shù)據(jù)支持,數(shù)據(jù)量的大小和數(shù)據(jù)的傳遞速度直接影響了工作系統(tǒng)的成本和性能。采用數(shù)據(jù)壓縮的方法可以很好地緩解數(shù)據(jù)量巨大給嵌入式系統(tǒng)帶來(lái)的壓力。但是,在一般壓縮與解壓系統(tǒng)中無(wú)法滿足對(duì)任意段數(shù)據(jù)的解壓和提取[1-3],即如果需要壓縮包中的某段數(shù)據(jù)時(shí),必須對(duì)所有數(shù)據(jù)進(jìn)行解壓[4-6]。這種做法將降低解壓效率和系統(tǒng)性能。文中提出了一種優(yōu)化的壓縮與解壓系統(tǒng),提高了解壓的效率,降低了數(shù)據(jù)傳輸對(duì)帶寬的壓力。

1 系統(tǒng)構(gòu)架

該文完成的是一種軟件壓縮硬解壓的數(shù)據(jù)壓縮與解壓系統(tǒng)。數(shù)據(jù)壓縮是利用壓縮軟件完成的,解壓是在FPGA 端離線進(jìn)行的,系統(tǒng)并不需要關(guān)注軟件壓縮時(shí)的耗時(shí),如液晶儀表顯示系統(tǒng)[7-8]和識(shí)別系統(tǒng)[9-11]等。在軟件壓縮端,需要關(guān)注的是壓縮數(shù)據(jù)和校驗(yàn)碼生成的正確性。在硬件解壓端,需要關(guān)注解壓的正確性、速度和效率。系統(tǒng)框架圖如圖1 所示。

圖1 系統(tǒng)構(gòu)架

據(jù)圖1 可以看到數(shù)據(jù)首先通過(guò)PC 端進(jìn)行軟件壓縮,在壓縮過(guò)程中保證數(shù)據(jù)的準(zhǔn)確性。數(shù)據(jù)壓縮完成后,將壓縮后的數(shù)據(jù)燒錄至嵌入式系統(tǒng)中的存儲(chǔ)器件如flash 等。至此,數(shù)據(jù)完成了壓縮與存儲(chǔ)。之后的操作脫離PC 端,數(shù)據(jù)的解壓操作將在嵌入式系統(tǒng)中進(jìn)行,系統(tǒng)運(yùn)行步驟如下所示:

1)嵌入式系統(tǒng)發(fā)出指令和地址到硬件數(shù)據(jù)解壓模塊;

2)硬件解壓模塊接收指令和地址,將地址轉(zhuǎn)化為壓縮后數(shù)據(jù)存儲(chǔ)的地址;

3)硬件解壓模塊根據(jù)指令和轉(zhuǎn)化后地址從存儲(chǔ)器件中取出壓縮數(shù)據(jù);

4)硬件解壓模塊接收從存儲(chǔ)器件返回的壓縮數(shù)據(jù),并進(jìn)行解壓;

5)硬件解壓模塊將解壓后的數(shù)據(jù)輸出到嵌入式系統(tǒng),供其使用。

經(jīng)過(guò)上述流程,可在嵌入式系統(tǒng)中對(duì)壓縮后的存儲(chǔ)數(shù)據(jù)有效地進(jìn)行解壓。

2 基于軟件的數(shù)據(jù)壓縮處理

2.1 DEFLATE壓縮算法

DEFLATE 壓縮算法是一種無(wú)損壓縮算法,由LZ77 和Huffman 兩部分組成[3]。

LZ77 算法是一種基于字典查找的壓縮算法。在一個(gè)文件中往往存在大量重復(fù)出現(xiàn)的字符串,有效地消除這些冗余的字符串,可以達(dá)到壓縮效果。在壓縮過(guò)程中,數(shù)據(jù)可以放入兩個(gè)窗口中,第一個(gè)窗口為已處理數(shù)據(jù),第二個(gè)窗口為未處理數(shù)據(jù),可以將已處理數(shù)據(jù)窗口中的數(shù)據(jù)看做字典。在未處理數(shù)據(jù)窗口中,將找到與已處理數(shù)據(jù)窗口中匹配長(zhǎng)度最長(zhǎng)的數(shù)據(jù)字符串,用一對(duì)有用的信息來(lái)描述這串字符串,這對(duì)有用的信息往往是相對(duì)距離和匹配長(zhǎng)度。通過(guò)這對(duì)信息,就可以快速且準(zhǔn)確找到它所匹配的數(shù)據(jù)。將文件中的所有數(shù)據(jù)經(jīng)過(guò)兩個(gè)窗口處理[12],即可完成LZ77 壓縮。

經(jīng)過(guò)LZ77 算法處理后的數(shù)據(jù)依然存在很大的壓縮空間。DEFLATE 壓縮算法的Huffman 編碼[5]部分對(duì)經(jīng)過(guò)LZ77 算法壓縮后的數(shù)據(jù)進(jìn)行進(jìn)一步壓縮。Huffman 編碼也是無(wú)損壓縮算法的一種[13]。其核心思想是對(duì)文件中的數(shù)據(jù)進(jìn)行重新編碼,給出現(xiàn)頻率高的字符賦予碼長(zhǎng)較短的編碼,給出現(xiàn)頻率低的字符賦予碼長(zhǎng)較長(zhǎng)的編碼,以此來(lái)達(dá)到平均碼長(zhǎng)最短的效果。

2.2 數(shù)據(jù)壓縮流程與數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

壓縮后的數(shù)據(jù),按照固定的方式進(jìn)行排序,這樣有利于硬件解壓的實(shí)現(xiàn)。通過(guò)壓縮算法的介紹,可以明顯地看出,DEFLATE 壓縮算法利用了數(shù)據(jù)前后的關(guān)聯(lián)性。因此,數(shù)據(jù)的解壓也必須是對(duì)一個(gè)完整的數(shù)據(jù)包進(jìn)行解壓[6]。一個(gè)系統(tǒng)在提取數(shù)據(jù)時(shí),可能從內(nèi)存中的任何一個(gè)位置開(kāi)始,考慮到系統(tǒng)的兼容性和解壓的效率,可以首先將原始數(shù)據(jù)分為固定大小的數(shù)據(jù)包,然后,對(duì)這些數(shù)據(jù)包依次進(jìn)行壓縮。當(dāng)需要內(nèi)存中間某段數(shù)據(jù)時(shí),不必從頭開(kāi)始進(jìn)行解壓,只需要通過(guò)解析地址提取出包含需要信息的一個(gè)或者幾個(gè)壓縮包進(jìn)行解壓即可。下面將以一個(gè)16 kB的原始數(shù)據(jù)包為例,并配合壓縮軟件流程圖對(duì)壓縮數(shù)據(jù)的格式進(jìn)行說(shuō)明。

壓縮軟件流程圖如圖2 所示。首先將待壓縮數(shù)據(jù)以16 kB 為一個(gè)壓縮包進(jìn)行切割,最后不滿16 kB的數(shù)據(jù)包用0 進(jìn)行補(bǔ)齊。然后,依次將數(shù)據(jù)包送入壓縮函數(shù)進(jìn)行壓縮。在一個(gè)數(shù)據(jù)包進(jìn)行壓縮后,需要判斷壓縮后的數(shù)據(jù)量比未壓縮前是否變小,如果沒(méi)有,即此數(shù)據(jù)包不進(jìn)行壓縮添加校驗(yàn)碼后直接輸出,如果變小了,即此數(shù)據(jù)包進(jìn)行壓縮并在添加校驗(yàn)碼后進(jìn)行輸出。之后,需要將此數(shù)據(jù)包的基本信息添加到查找表中,信息中包括是否壓縮、存放位置、壓縮后數(shù)據(jù)大小。為了方便查找表信息的記錄,壓縮后的數(shù)據(jù)需要進(jìn)行1 kB 對(duì)齊操作。最后,需要判斷處理的數(shù)據(jù)包是否為最后一個(gè)數(shù)據(jù)包,如果不是,則重復(fù)上述流程對(duì)剩余數(shù)據(jù)包進(jìn)行處理,如果是,則軟件壓縮流程結(jié)束。通過(guò)軟件壓縮流程操作后,得到按照固定格式排放的壓縮數(shù)據(jù)和查找表。

圖2 壓縮軟件流程圖

壓縮后數(shù)據(jù)結(jié)構(gòu)圖如圖3 所示。在壓縮后數(shù)據(jù)結(jié)構(gòu)中,前256 kB 用來(lái)保存查找表信息,文中規(guī)定一個(gè)16 kB 的數(shù)據(jù)包的數(shù)據(jù)是否壓縮,存儲(chǔ)大小,起始位置信息記錄到4個(gè)字節(jié)中,通過(guò)這種方式,256 kB查找表最多可記錄1 GB 的原始數(shù)據(jù)經(jīng)壓縮數(shù)據(jù)后的信息。查找表信息后存放壓縮后數(shù)據(jù),每個(gè)數(shù)據(jù)包包含校驗(yàn)包頭、壓縮處理后,數(shù)據(jù)以及4 字節(jié)的校驗(yàn)碼。

圖3 壓縮后數(shù)據(jù)結(jié)構(gòu)圖

2.3 Zlib函式庫(kù)介紹

Zlib 是提供數(shù)據(jù)壓縮功能的函式庫(kù)[13],此函式庫(kù)為自由軟件,使用Zlib 授權(quán)。Zlib 支持DEFLATE 算法,可以通過(guò)配置參數(shù),實(shí)現(xiàn)上文介紹的LZ77 和靜態(tài)Huffman 壓縮算法流程。通過(guò)Zlib 函式庫(kù),可以對(duì)上述算法流程進(jìn)行快速且可靠的開(kāi)發(fā)。

3 基于硬件的數(shù)據(jù)解壓模塊設(shè)計(jì)

通過(guò)軟件壓縮系統(tǒng),得到了壓縮數(shù)據(jù)包。數(shù)據(jù)包中包含了解壓需要的查找表和壓縮后數(shù)據(jù)。在硬件端,需要將查找表的信息進(jìn)行解析,根據(jù)查找表的信息,查詢壓縮數(shù)據(jù)包的大小位置以及壓縮方式,通過(guò)解壓策略對(duì)數(shù)據(jù)進(jìn)行正確的解壓,并保證解壓出的數(shù)據(jù)與原始數(shù)據(jù)的一致性。

3.1 解壓策略

在壓縮過(guò)程中,數(shù)據(jù)首先經(jīng)過(guò)LZ77 算法處理,再經(jīng)過(guò)Huffman 算法處理,得到壓縮后數(shù)據(jù)[14]。對(duì)于壓縮數(shù)據(jù)包的解壓過(guò)程,與此過(guò)程相反。首先,需要對(duì)壓縮數(shù)據(jù)包進(jìn)行靜態(tài)Huffman 解壓,之后需要進(jìn)行LZ77 算法解壓。經(jīng)過(guò)兩次數(shù)據(jù)處理,即可得到解壓后與原數(shù)據(jù)相同的數(shù)據(jù)。

靜態(tài)Huffman 的解壓策略如下:需要處理的數(shù)據(jù)是完整的壓縮數(shù)據(jù)包,數(shù)據(jù)包中包含的數(shù)據(jù)是經(jīng)過(guò)靜態(tài)Huffman 編碼之后的數(shù)據(jù)。在解壓時(shí),每一段不同的二進(jìn)制編碼都可能代表著一個(gè)原始數(shù)據(jù)、一個(gè)長(zhǎng)度數(shù)據(jù)或者一個(gè)距離數(shù)據(jù)。解壓過(guò)程需要依賴靜態(tài)Huffman 表[1]。首先,對(duì)照字符-長(zhǎng)度Huffman編碼表[1],對(duì)其進(jìn)行解碼。在這一步中,可能得到的結(jié)果有兩種:第一種是通過(guò)解碼得到一個(gè)字符數(shù)據(jù),此時(shí)需要將此數(shù)據(jù)記錄下來(lái),并且設(shè)置標(biāo)志位以表示此位為一個(gè)原始字符;第二種是通過(guò)解碼得到一個(gè)長(zhǎng)度數(shù)據(jù),設(shè)置一個(gè)標(biāo)志位以表示此位為一個(gè)匹配長(zhǎng)度信息,同時(shí)還包含了另一個(gè)重要信息:在此位置的下一個(gè)數(shù)據(jù)是一個(gè)匹配距離編碼。因此,在對(duì)此位的下一組二進(jìn)制數(shù)進(jìn)行解碼時(shí),需要使用距離編碼表[1]中的映射關(guān)系進(jìn)行解碼。通過(guò)上述解碼過(guò)程,即可對(duì)原始數(shù)據(jù)壓縮包進(jìn)行靜態(tài)Huffman 解壓操作,并且生成LZ77 解壓流程所需數(shù)據(jù)。

經(jīng)過(guò)Huffman 解壓后的數(shù)據(jù)主要包含兩部分,一部分是需要進(jìn)行解壓的數(shù)據(jù),另一部分是這段數(shù)據(jù)的標(biāo)志位。此階段的解壓需要兩部分信息共同操作完成。在進(jìn)行解壓時(shí),首先需要根據(jù)標(biāo)志位置判斷此數(shù)據(jù)時(shí)原始字符數(shù)據(jù)還是長(zhǎng)度數(shù)據(jù)。如果是字符數(shù)據(jù),則直接進(jìn)行輸出;如果是長(zhǎng)度數(shù)據(jù),需要同時(shí)讀取此數(shù)據(jù)位的下一個(gè)數(shù)據(jù),即與此長(zhǎng)度信息相匹配的距離數(shù)據(jù)。根據(jù)長(zhǎng)度距離信息對(duì)進(jìn)行匹配數(shù)據(jù),將對(duì)應(yīng)數(shù)據(jù)復(fù)制到此長(zhǎng)度距離信息對(duì)位置,即可完成LZ77 解壓。在解壓完成后會(huì)產(chǎn)生一個(gè)校驗(yàn)碼,若此校驗(yàn)碼和壓縮時(shí)所產(chǎn)生的校驗(yàn)碼一致,則表明壓縮數(shù)據(jù)包讀取無(wú)誤,數(shù)據(jù)已進(jìn)行正確解壓。否則,則表明壓縮數(shù)據(jù)包讀取有誤,此次數(shù)據(jù)解壓結(jié)果錯(cuò)誤[15]。

3.2 解壓的硬件實(shí)現(xiàn)

解壓流程在FPGA 平臺(tái)實(shí)現(xiàn),硬件解壓結(jié)構(gòu)圖如圖4 所示。

圖4 硬件解壓結(jié)構(gòu)圖

數(shù)據(jù)解壓模塊首先需要接收到原始數(shù)據(jù)地址信息和指令,通過(guò)地址解析模塊后,即可將原始地址信息解析為壓縮后的數(shù)據(jù)包地址信息。這部分的邏輯如下:計(jì)算需要提取的數(shù)據(jù)在原始數(shù)據(jù)包中的位置。將該位置信息進(jìn)行解析,根據(jù)解析值提取相應(yīng)的查找表信息即可明確相應(yīng)壓縮數(shù)據(jù)包的位置、數(shù)據(jù)包大小、是否壓縮。根據(jù)上述信息即可得索引壓縮包地址。

從存儲(chǔ)器件讀入的壓縮數(shù)據(jù)包首先需要進(jìn)入靜態(tài)Huffman 解壓模塊。在進(jìn)行Huffman 解壓時(shí),需要根據(jù)靜態(tài)Huffman 解壓表對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行查找處理。主要硬件思想:輸入足夠的數(shù)據(jù)位首先需要判斷查找到的數(shù)據(jù)是字符還是長(zhǎng)度,如果是字符數(shù)據(jù),即可將其存儲(chǔ)至字符和長(zhǎng)度FIFO 中并附加一位標(biāo)識(shí)位0,表明此數(shù)據(jù)為字符,拼接在數(shù)據(jù)的最高位。如果是長(zhǎng)度數(shù)據(jù),需要根據(jù)靜態(tài)Huffman 字符-長(zhǎng)度編碼表[1]進(jìn)行解碼,將解析出來(lái)的長(zhǎng)度數(shù)據(jù)同樣存儲(chǔ)到字符和長(zhǎng)度FIFO 中并附加一位標(biāo)識(shí)位1,標(biāo)識(shí)此數(shù)據(jù)為長(zhǎng)度數(shù)據(jù)。如果在字符-長(zhǎng)度編碼表中未找到相匹配的數(shù)據(jù),即可對(duì)數(shù)據(jù)進(jìn)行距離靜態(tài)Huffman表[1]的解壓,將距離數(shù)據(jù)存儲(chǔ)到存儲(chǔ)距離FIFO 中。當(dāng)解析出停止標(biāo)識(shí)位后,靜態(tài)Huffman 解壓結(jié)束[16]。

在LZ77 解壓模塊,根據(jù)解壓策略可知,需要根據(jù)一個(gè)字典進(jìn)行解壓,因此,需要一塊RAM 進(jìn)行存儲(chǔ)字典數(shù)據(jù)。主要硬件思想:LZ77 會(huì)向字符和距離FIFO 申請(qǐng)數(shù)據(jù),得到數(shù)據(jù)后首先需要根據(jù)數(shù)據(jù)最高位即標(biāo)識(shí)位判斷數(shù)據(jù)是字符數(shù)據(jù)還是長(zhǎng)度數(shù)據(jù),如果是字符數(shù)據(jù)即標(biāo)識(shí)位為0,對(duì)數(shù)據(jù)進(jìn)行輸出,同時(shí)還需要將數(shù)據(jù)寫(xiě)入字典RAM 中,對(duì)字典進(jìn)行更新。如果是長(zhǎng)度數(shù)據(jù)即標(biāo)識(shí)位為1,需要向距離FIFO 中申請(qǐng)一個(gè)距離數(shù)據(jù),根據(jù)此長(zhǎng)度距離數(shù)據(jù)對(duì)在RAM中進(jìn)行查找數(shù)據(jù),長(zhǎng)度和距離即可表示為數(shù)據(jù)在RAM 中存儲(chǔ)的地址。RAM 的大小,應(yīng)該與LZ77 壓縮時(shí)已處理數(shù)據(jù)窗口的大小一致。

RAM 的存儲(chǔ)策略:假設(shè)一個(gè)指針指向最先進(jìn)來(lái)的數(shù)據(jù),距離數(shù)據(jù)的判斷即為與此指針位置的距離。在找到匹配數(shù)據(jù)后,需要將相應(yīng)的數(shù)據(jù)進(jìn)行復(fù)制輸出,同時(shí)用這段數(shù)據(jù)更新RAM 中的字典數(shù)據(jù)。

4 系統(tǒng)實(shí)現(xiàn)與驗(yàn)證

系統(tǒng)的壓縮部分實(shí)現(xiàn)平臺(tái)為Visual Studio 2012,在此平臺(tái)上可以根據(jù)Zlib 函式庫(kù),結(jié)合上述壓縮流程開(kāi)發(fā)出壓縮軟件。系統(tǒng)的解壓部分通過(guò)ISE 和modelsim 進(jìn)行設(shè)計(jì)和聯(lián)合仿真驗(yàn)證,并在spartan6-xc6slx16上進(jìn)行實(shí)現(xiàn)。

在硬件解壓端,首先需要進(jìn)行靜態(tài)Huffman 解壓。靜態(tài)Huffman 解壓模塊接口中,clk 為工作時(shí)鐘,頻率為125 MHz。經(jīng)過(guò)靜態(tài)Huffman 解壓操作,需要向字符長(zhǎng)度FIFO 傳輸寫(xiě)指令(即模塊中l(wèi)iteral_length_wr)和距離FIFO 中的寫(xiě)指令(即模塊中的distance_out_wr),對(duì)應(yīng)于上述兩個(gè)寫(xiě)指令的分別是輸出的字符和長(zhǎng)度的組合數(shù)據(jù)(literal_length_out)和距離數(shù)據(jù)(distance)。Bit_cost 信號(hào)表示一次靜態(tài)Huffman 解壓操作具體消耗的位寬,由于不同的數(shù)據(jù)消耗位寬不同,需要通過(guò)此信號(hào)判斷下一次解壓的起始位置。Unzip_done 信號(hào)是當(dāng)檢查到連續(xù)出現(xiàn)七位零數(shù)據(jù)時(shí)進(jìn)行拉高,表示此次數(shù)據(jù)壓縮包靜態(tài)Huffman 解壓操作完成。

經(jīng)過(guò)靜態(tài)Huffman 解壓之后,利用存儲(chǔ)在兩個(gè)FIFO 中的數(shù)據(jù)即可進(jìn)行LZ77 解壓操作。LZ77 解壓模塊接口中,unzip_data_en 為解壓數(shù)據(jù)輸出使能,unzip_data 為解壓數(shù)據(jù)輸出端口,dis_fifo_empty 信號(hào)是從距離FIFO 中輸入到LZ77 解壓模塊的信號(hào),表示此FIFO 中是否有數(shù)據(jù),dis_fifo_rd 是從距離FIFO中讀數(shù)據(jù)的使能信號(hào),dis_fifo_data 表示從距離FIFO中讀到的數(shù)據(jù)。len_fifo_empty 信號(hào)是從字符長(zhǎng)度FIFO 中輸入到LZ77 解壓模塊的信號(hào),表示此FIFO中是否有數(shù)據(jù),len_fifo_rd 是從字符距離FIFO 中讀數(shù)據(jù)的使能信號(hào),len_fifo_data 表示從字符長(zhǎng)度FIFO中讀到的數(shù)據(jù)。

通過(guò)上述流程,在進(jìn)行上板驗(yàn)證之前,先經(jīng)過(guò)beyond compare 對(duì)比軟件,將原始數(shù)據(jù)包和經(jīng)過(guò)軟件壓縮和硬件解壓之后的數(shù)據(jù)進(jìn)行對(duì)比。兩邊數(shù)據(jù)完全一致,驗(yàn)證了系統(tǒng)邏輯的正確性。

實(shí)物驗(yàn)證圖如圖5 所示,圖(a)為原始數(shù)據(jù)顯示圖片,圖(b)為經(jīng)過(guò)壓縮和解壓處理后得到驗(yàn)證圖。此次驗(yàn)證在FPGA 實(shí)驗(yàn)板上進(jìn)行,通過(guò)液晶屏進(jìn)行顯示。

圖5 實(shí)物驗(yàn)證圖

在驗(yàn)證功能的正確性之后,需要驗(yàn)證壓縮率。測(cè)試結(jié)果如表1 所示,不同文件(圖像紋理)的壓縮率不同。因?yàn)橄到y(tǒng)使用的壓縮算法是由靜態(tài)Huffman 和LZ77 組合而成,這兩種算法雖然都可以完成無(wú)損壓縮,但是在壓縮率上是不定的,壓縮效果的好壞與原始數(shù)據(jù)的結(jié)構(gòu)和不同字符出現(xiàn)的頻率有關(guān)。而且在壓縮數(shù)據(jù)包中,存在一個(gè)32 kB 的查找表,所占空間大小固定。原始數(shù)據(jù)量越大,壓縮效果越好。

表1 壓縮效果對(duì)比數(shù)據(jù)

表2 為傳輸數(shù)據(jù)量對(duì)比表。使用測(cè)試向量與表1 相同。其中系統(tǒng)傳輸數(shù)據(jù)量為嵌入式系統(tǒng)解壓出數(shù)據(jù)中任意連續(xù)的16 kB 數(shù)據(jù)時(shí)所需要從存儲(chǔ)器件中讀取的數(shù)據(jù)量。一般系統(tǒng)是指直接使用GZIP 算法進(jìn)行壓縮[1],其中Huffman 算法設(shè)定為使用靜態(tài)Huffman 算法。一般系統(tǒng)傳輸數(shù)據(jù)量即為壓縮包總量,該文系統(tǒng)傳輸數(shù)據(jù)量為可能的最大傳輸量。解壓效率為目標(biāo)數(shù)據(jù)量在解壓出的總數(shù)據(jù)量所占比重。

表2 系統(tǒng)性能對(duì)比表

通過(guò)表2 可以得到:第一點(diǎn),在解壓數(shù)據(jù)中連續(xù)16 kB 數(shù)據(jù)時(shí),該文系統(tǒng)的數(shù)據(jù)傳輸量遠(yuǎn)低于一般系統(tǒng),有效緩解了數(shù)據(jù)傳輸?shù)膸拤毫Γ坏诙c(diǎn),該系統(tǒng)的解壓效率普遍達(dá)到50%,遠(yuǎn)高于一般系統(tǒng),有效減少了系統(tǒng)的無(wú)用功,提高了系統(tǒng)性能;第三點(diǎn),有效解壓數(shù)據(jù)量占原始數(shù)據(jù)量越小,一般系統(tǒng)的解壓效率越低,該文系統(tǒng)可根據(jù)數(shù)據(jù)需求量進(jìn)行分塊傳輸,減少了有效解壓數(shù)據(jù)量對(duì)解壓效率的影響。

5 結(jié)束語(yǔ)

該文首先講解了所使用壓縮算法的基本原理和改進(jìn)方法,并提出相應(yīng)的解壓策略和其硬件實(shí)現(xiàn)思想。然后,實(shí)現(xiàn)了基于Visual Studio 2012 平臺(tái)的壓縮功能和基于FPGA 的解壓功能。在壓縮時(shí)按照固定格式排列并生成了查找表,為穩(wěn)定地進(jìn)行解壓操作提供了保證。在解壓側(cè),利用FPGA 的并行性,進(jìn)行快速且準(zhǔn)確的解壓操作。最后,通過(guò)實(shí)驗(yàn)驗(yàn)證了該文系統(tǒng)的解壓效率高于一般系統(tǒng),以及高效解壓的穩(wěn)定性。

猜你喜歡
信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會(huì)信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产在线拍偷自揄拍精品| 精品日韩亚洲欧美高清a| 在线视频亚洲色图| 国产成人免费高清AⅤ| 天天爽免费视频| 国产成人免费手机在线观看视频| 亚洲天堂免费观看| 国产真实乱子伦精品视手机观看 | 91精品国产91久无码网站| 欧美日韩中文字幕二区三区| 97se亚洲综合在线韩国专区福利| 亚洲无码精彩视频在线观看| 国产在线观看第二页| 色婷婷在线播放| 国产成人一区免费观看| 亚洲中文精品久久久久久不卡| 亚洲一区免费看| 欧美日本视频在线观看| 成人国产三级在线播放| 久久精品无码国产一区二区三区| 一级高清毛片免费a级高清毛片| 国产99精品久久| 国产成人精品第一区二区| 毛片免费视频| 国产精品一区二区国产主播| 亚洲精品午夜无码电影网| 亚洲精品午夜天堂网页| 日韩大片免费观看视频播放| 国产91无码福利在线| 色综合久久久久8天国| 草逼视频国产| 亚洲日韩精品欧美中文字幕| 亚洲AⅤ永久无码精品毛片| 思思热在线视频精品| 国产AV毛片| 欧美激情,国产精品| 成人在线天堂| 国产免费怡红院视频| 亚洲色图欧美激情| 日韩无码视频专区| 91麻豆国产精品91久久久| 99精品免费在线| 亚洲欧美自拍中文| 久久国产V一级毛多内射| 伊人狠狠丁香婷婷综合色| 蜜桃视频一区二区| 成人av手机在线观看| 狠狠干欧美| 孕妇高潮太爽了在线观看免费| 日本欧美一二三区色视频| 国产一区亚洲一区| 欧美一级99在线观看国产| 青草视频久久| 激情成人综合网| 4虎影视国产在线观看精品| 夜色爽爽影院18禁妓女影院| 国产黄网永久免费| 日韩成人午夜| 伊人久久精品无码麻豆精品 | 国产精品久久久久久久久| 黄色三级网站免费| 内射人妻无码色AV天堂| 国产美女精品人人做人人爽| 国产精品久久久久久影院| 免费人成网站在线高清| 97精品伊人久久大香线蕉| 2020极品精品国产| 亚洲福利视频网址| 欧美中文字幕在线二区| 熟妇丰满人妻av无码区| 九九热免费在线视频| 亚洲成肉网| 69av在线| 亚洲无码一区在线观看| 久久国产精品电影| 无码精品福利一区二区三区| 国产成人喷潮在线观看| 欧美精品成人| 国产日韩精品欧美一区灰| 秋霞国产在线| 国产乱子伦视频在线播放| 免费不卡视频|