您好、欢迎来到现金彩票网!
当前位置:双彩网 > 行程长度编码 >

行程长度编码的RLE 压缩算法的改进

发布时间:2019-05-25 20:22 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  RLE 压缩算法对于数据重复量大的情况是非常高效率的。但是, 当图像像素的颜色值出现每个相邻像素的颜色值均不同的特殊情况时, 如颜色字符串GBR, 则经此方法压缩后变成了 1G1B1R, 反而会使数据串的长度增加一倍, 这是一种“病态”情况。为了尽量避免“病态”情况的出现, 需要对 RLE 的基本方法进行改进。改进的方法是在具体实施时对计数字节和图像像素字节进行了区分, 利用计数字节的高两位作为压缩的标志。对每个相邻像素的颜色值均不同的单个像素数据, 只有当计数字节高 2位全1( 即 C0) 时才加 1 计数, 否则直接输出该像素值, 因此避免了压缩后长度增加一倍的情况。这样就使得计数字节本身的高 2 位也是全 1, 即计数字节为 C0H+n( 像素数据连续相同的字节数)。当单个图像数据的值大于或等于C0 时, 则先输出 C1, 再输出该图像数据值, 否则直接输出该数据。如有以下一系列数据: D2,20,30,30,30,C0,C1,C1,E2,E2,E2,…,E2(132个),E0,E0,D4,经压缩后数 据 为 : C1,D2,20,C3,30,C1,C0,C2,C1,FF,E2,FF,E2,C6,E2,C2,E0,C1,D4,从这个压缩过程可以看到,单个的图像数据 D2、C0、D4 前面带有计数字节 C1, 而 20 前没有。这样可以有效避免压缩后膨胀的异常情况。在上述改进的基础上, 我们发现, 由于一个字节最大只能为 FFH, 因此 n 最大只能为 FFH- C0H=3FH=(63)10, 故当 n63 时, 则需要分多次压缩。例如132个数据 E2 用了 6个字节 (FF,E2,FF,E2,C6,E2)来表示。为了减少大批量重复数据所需的字节数, 我们对其进行更进一步的改进: 规定紧跟 FF 后的字节, 依然是计数字节。如上述数据: D2,20,30,30,30,C0,C1,C1,E2,E2,E2,…,E2(132个),E0,E0,D4,经压缩后数据为:C1,D2,20,C3,30,C1,C0,C2,C1,FF,45,E2,C2,E0,C1,D4。比较两组数据, 现在 132个数据 E2 用了 3个字节(FF,45,E2)就可以表示了, 有效地减少了数据量。一种极端的情况是某个数据刚好重复的次数是 FF 次, 对于这种特殊情况, 我们在 FF 字节后增加一个 00 的字节来区别表示。通过这样的改进, 并不会增加压缩和解压缩太多的复杂性, 却改善了压缩的效率。

http://7milediver.com/xingchengchangdubianma/14.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有