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