資料編碼理論/資料壓縮
在傳輸數字資料時,我們發現我們往往無法像我們希望的那樣快速地傳送資訊。特定的限制,例如夏農通道容量,限制了可以在給定通道上傳輸的數字資訊量。因此,如果我們想要傳輸更多資料,我們需要找到一種方法來使我們的資料更小。
為了使資料更小,我們實施了許多稱為資料壓縮的技術。存在許多不同的壓縮演算法,但它們都可以分解為兩類:無損演算法和有損演算法。
壓縮的基本功能是去除冗餘,其中冗餘是所有可以去除或以不同方式表達的內容,但不會去除其含義。
有損演算法是可以用來傳輸資料“相當好”版本的技術。對於有損演算法,在轉換中總是會丟失一定量的資料。有損演算法比無損演算法提供更高的壓縮率,但缺點是必須丟失資訊才能獲得這些高壓縮率。有失真壓縮演算法的一個例子是 .jpeg 圖片檔案或 mp3 音樂檔案。如果有損演算法足夠好,接收者可能無法察覺到損失。
無損演算法減小給定訊號的大小,同時不丟失任何原始資訊。因此,無失真壓縮演算法優於有損演算法,尤其是在資料需要完整到達接收者時。無失真壓縮演算法的例子包括 ZIP 檔案和 GIF 圖片。
遊程編碼 (RLE) 可能是最著名的壓縮技術之一。以下是它的工作原理:假設我們有一些輸入資料:'aaaabbbc' 現在 RLE 透過表達每個符號出現的次數來壓縮它,如果它出現超過 2 次。這被 '壓縮' 為 '4a3bc',這意味著 4 x a,3 x b,1 x c。如果資料項出現兩次或只有一次,我們不會明確地表達它。我們只會浪費空間。
霍夫曼編碼是一種非常強大的壓縮技術,可以用作最佳的無損編碼技術。它試圖用更少的位數分配給最常出現的詞語(資料),而用更多的位數分配給最不常出現的詞語。
維基百科上的霍夫曼編碼:w:霍夫曼編碼
資料壓縮雖然與編碼理論相關,但嚴格來說不屬於本書的範圍,因此我們在這裡不再深入討論。
- 資料壓縮
- hydrogenaudio 維基有一個 流行無損音訊壓縮編解碼器比較。
- 資料壓縮維基
- 資料壓縮維基