数据压缩算法-游程编码RLE

时间:2021-11-10 03:59:16

了解一下数据压缩算法:

压缩算法主要分为两类1.有损压缩    2.无损压缩

有损压缩有很多种,这里说一下无损压缩。

无损压缩算法:行程编码(游程编码)[RLE(RUN-LENGTH ENCODING)]  ,哈夫曼编码。

RLE算法

游程编码:例如:信息单元0304,03表示其后的象素个数是3个,04表示这些象素使用的是颜色索引表中的第五项的值。压缩数据展开后就是04 04 04 .同理04 05 可以展开为05 05 0505. 信息单元的第一个字节也可以是00,这种情况下信息单元并不表示数据单元,而是表示一些特殊的含义。这些含义通常由信息单元的第二个字节的值来描述。

 

数据压缩实例:

数据类型

原始数据

字符+计数值

字符+字符计数值(去1

字符+字符位置

数据

aaaaaabbbaccxxxyyyzyx

a6b3a1c2x3y3z1y1x1

a6b3ac2x3y3zyx

a0b6a9c10x12y15z18y19x20

长度

21

18

14

24

压缩比

100%

85.7%

66.7%

114.2%

优点

一次优化

二次优化,压缩比最低,速度快

能够使用二分查找快速遍历数据,适用于数组,对重复数据较大有较好的压缩效果



数据压缩算法-游程编码RLE