數(shù)據(jù)壓縮協(xié)議概述
數(shù)據(jù)壓縮是指在不丟失有用信息的前提下,縮減數(shù)據(jù)量以減少存儲(chǔ)空間,提高其傳輸、存儲(chǔ)和處理效率,或按照一定的算法對(duì)數(shù)據(jù)進(jìn)行重新組織,減少數(shù)據(jù)的冗余和存儲(chǔ)的空間的一種技術(shù)方法。數(shù)據(jù)壓縮包括有損壓縮和無損壓縮。在計(jì)算機(jī)科學(xué)和信息論中,數(shù)據(jù)壓縮或者源編碼是按照特定的編碼機(jī)制用比未經(jīng)編碼少的數(shù)據(jù)位元(或者其它信息相關(guān)的單位)表示信息的過程。例如,如果我們將“compression”編碼為“comp”那么這篇文章可以用較少的數(shù)據(jù)位表示。一種流行的壓縮實(shí)例是許多計(jì)算機(jī)都在使用的ZIP 文件格式,它不僅僅提供了壓縮的功能,而且還作為歸檔工具(Archiver)使用,能夠?qū)⒃S多文件存儲(chǔ)到同一個(gè)文件中。
對(duì)于任何形式的通信來說,只有當(dāng)信息的發(fā)送方和接受方都能夠理解編碼機(jī)制的時(shí)候壓縮數(shù)據(jù)通信才能夠工作。例如,只有當(dāng)接受方知道這篇文章需要用英語字符解釋的時(shí)候這篇文章才有意義。同樣,只有當(dāng)接受方知道編碼方法的時(shí)候他才能夠理解壓縮數(shù)據(jù)。一些壓縮算法利用了這個(gè)特性,在壓縮過程中對(duì)數(shù)據(jù)進(jìn)行加密,例如利用密碼加密,以保證只有得到授權(quán)的一方才能正確地得到數(shù)據(jù)。數(shù)據(jù)壓縮能夠?qū)崿F(xiàn)是因?yàn)槎鄶?shù)現(xiàn)實(shí)世界的數(shù)據(jù)都有統(tǒng)計(jì)冗余。例如,字母“e”在英語中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。無損壓縮算法通常利用了統(tǒng)計(jì)冗余,這樣就能更加簡練地、但仍然是完整地表示發(fā)送方的數(shù)據(jù)。如果允許一定程度的保真度損失,那么還可以實(shí)現(xiàn)進(jìn)一步的壓縮。例如,人們看圖畫或者電視畫面的時(shí)候可能并不會(huì)注意到一些細(xì)節(jié)并不完善。同樣,兩個(gè)音頻錄音采樣序列可能聽起來一樣,但實(shí)際上并不完全一樣。有損壓縮算法在帶來微小差別的情況下使用較少的位數(shù)表示圖像、視頻或者音頻。由于可以幫助減少如硬盤空間與連接帶寬這樣的昂貴資源的消耗,所以壓縮非常重要,然而壓縮需要消耗信息處理資源,這也可能是費(fèi)用昂貴的。所以數(shù)據(jù)壓縮機(jī)制的設(shè)計(jì)需要在壓縮能力、失真度、所需計(jì)算資源以及其它需要考慮的不同因素之間進(jìn)行折衷。一些機(jī)制是可逆的,這樣就可以恢復(fù)原始的數(shù)據(jù),這種機(jī)制稱為無損數(shù)據(jù)壓縮;另外一些機(jī)制為了實(shí)現(xiàn)更高的壓縮率允許一定程度的數(shù)據(jù)損失,這種機(jī)制稱為有損數(shù)據(jù)壓縮。然而,經(jīng)常有一些文件不能被無損數(shù)據(jù)壓縮算法壓縮,實(shí)際上對(duì)于不含可以辨別樣式的數(shù)據(jù)任何壓縮算法都不能壓縮。試圖壓縮已經(jīng)經(jīng)過壓縮的數(shù)據(jù)通常得到的結(jié)果實(shí)際上是擴(kuò)展數(shù)據(jù),試圖壓縮經(jīng)過加密的數(shù)據(jù)通常也會(huì)得到這種結(jié)果。實(shí)際上,有損數(shù)據(jù)壓縮也會(huì)最終達(dá)到不能工作的地步。我們來舉一個(gè)極端的例子,壓縮算法每次去掉文件最后一個(gè)字節(jié),那么經(jīng)過這個(gè)算法不斷的壓縮直至文件變空,壓縮算法將不能繼續(xù)工作。
數(shù)據(jù)壓縮的方式非常多,不同特點(diǎn)的數(shù)據(jù)有不同的數(shù)據(jù)壓縮方式(也就是編碼方式),下面從幾個(gè)方面對(duì)其進(jìn)行分類。 [1] (1)即時(shí)壓縮和非即時(shí)壓縮比如打IP電話,就是將語音信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),同時(shí)進(jìn)行壓縮,然后通過Internet傳送出去,這個(gè)數(shù)據(jù)壓縮的過程是即時(shí)進(jìn)行的。即時(shí)壓縮一般應(yīng)用在影像、聲音數(shù)據(jù)的傳送中。即時(shí)壓縮常用到專門的硬件設(shè)備,如壓縮卡等。非即時(shí)壓縮是計(jì)算機(jī)用戶經(jīng)常用到的,這種壓縮在需要的情況下才進(jìn)行,沒有即時(shí)性。例如壓縮一張圖片、一篇文章、一段音樂等。非即時(shí)壓縮一般不需要專門的設(shè)備,直接在計(jì)算機(jī)中安裝并使用相應(yīng)的壓縮軟件就可以了。
(2)數(shù)據(jù)壓縮和文件壓縮其實(shí)數(shù)據(jù)壓縮包含了文件壓縮,數(shù)據(jù)本來是泛指任何數(shù)字化的信息,包括計(jì)算機(jī)中用到的各種文件,但有時(shí),數(shù)據(jù)是專指一些具有時(shí)間性的數(shù)據(jù),這些數(shù)據(jù)常常是即時(shí)采集、即時(shí)處理或傳輸?shù)摹6募嚎s就是專指對(duì)將要保存在磁盤等物理介質(zhì)的數(shù)據(jù)進(jìn)行壓縮,如一篇文章數(shù)據(jù)、一段音樂數(shù)據(jù)、一段程序編碼數(shù)據(jù)等的壓縮。(3)無損壓縮與有損壓縮無損壓縮利用數(shù)據(jù)的統(tǒng)計(jì)冗余進(jìn)行壓縮。數(shù)據(jù)統(tǒng)計(jì)冗余度的理論限制為2:1到5:1,所以無損壓縮的壓縮比一般比較低。這類方法廣泛應(yīng)用于文本數(shù)據(jù)、程序和特殊應(yīng)用場合的圖像數(shù)據(jù)等需要精確存儲(chǔ)數(shù)據(jù)的壓縮。有損壓縮方法利用了人類視覺、聽覺對(duì)圖像、聲音中的某些頻率成分不敏感的特性,允許壓縮的過程中損失一定的信息。雖然不能完全恢復(fù)原始數(shù)據(jù),但是所損失的部分對(duì)理解原始圖像的影響較小,卻換來了比較大的壓縮比。有損壓縮廣泛應(yīng)用于語音、圖像和視頻數(shù)據(jù)的壓縮。