資料壓縮演算法 遊程編碼RLE

2021-07-15 13:13:40 字數 760 閱讀 8695

了解一下資料壓縮演算法:

壓縮演算法主要分為兩類1.有失真壓縮    2.無失真壓縮

有失真壓縮有很多種,這裡說一下無失真壓縮。

無失真壓縮演算法:行程編碼(遊程編碼)[rle(run-length encoding)]  ,哈夫曼編碼。

遊程編碼:例如:資訊單元0304,03表示其後的象素個數是3個,04表示這些象素使用的是顏色索引表中的第五項的值。壓縮資料展開後就是04 04 04 .同理04 05 可以展開為05 05 0505. 資訊單元的第乙個位元組也可以是00,這種情況下資訊單元並不表示資料單元,而是表示一些特殊的含義。這些含義通常由資訊單元的第二個位元組的值來描述。

資料壓縮例項:

資料型別

原始資料 字元

+計數值 字元

+字元計數值(去1)

字元+字元位置 資料

aaaaaabbbacc***yyyzyx

a6b3a1c2x3y3z1y1x1

a6b3ac2x3y3zyx

a0b6a9c10x12y15z18y19x20 長度

21 18

14 24

壓縮比100%

85.7%

66.7%

114.2% 優點

無一次優化

二次優化,壓縮比最低,速度快

能夠使用二分查詢快速遍歷資料,適用於陣列,對重複資料較大有較好的壓縮效果

RLE 壓縮編碼

rle全程run length encoding,翻譯為遊程編碼,又譯行程長度編碼,又稱變動長度編碼法 run coding 在控制論中對於二值影象而言是一種編碼方法,對連續的黑 白畫素數 遊程 以不同的碼字進行編碼。遊程編碼是一種簡單的非破壞性資料壓縮法,其好處是加壓縮和解壓縮都非常快。其方法是計...

資料壓縮,算術編碼

算術編碼的基本原理是將編碼的訊息表示成實數0和1之間的乙個間隔 interval 訊息越長,編碼表示它的間隔就越小,表示這一間隔所需的二進位制位就越多。算術編碼用到兩個基本的引數 符號的概率和它的編碼間隔。信源符號的概率決定壓縮編碼的效率,也決定編碼過程中信源符號的間隔,而這些間隔包含在0到1之間。...

資料壓縮演算法

之前在聽到資料壓縮的時候,想著肯定是某些高深莫測的演算法,能夠完成資料的壓縮這種事情,最近看了看,嗯,至少咱還是能看懂的.眾所周知,不管你是exe,word,txt,dmg等等,在儲存上都是以二進位制進行儲存的,所以,在討論壓縮時,忽略檔案格式即可,只要將其看做一串數字即可.開始了,上數字串 111...