RLE压缩算法

  • RLE压缩算法形成长度压缩算法,Run Length Encoding.
  • 主要用途:对黑白图像和基于调色板的单调图像有很高的压缩性能。

压缩算法基本思想

基本:数据块的长度设定为1Bite,表示块数的的属性为1Bite,所以对于小于256色的图像文件或文本文件,块长度选择1Bite比较合适

连续的重复数据块

两个字节表示原来多个字节重复数据

[data][data][data][data][data] => [5][data]
若重复次数超过一字节所能计数,则重头开始

连续非重复数据块

方法1

将每个不重复的数据当做只重复一次的连续重复数据处理

问题:对于连续出现的不重复数据,会因为插入太多块属性字节而数据膨胀一倍,数据足够随机的话,只会恶化
[data1][data2][data3][data4][data5] =>>[1][data1][1][data2][1][data3][1][data4][1][data5]
岂止是恶化简直是崩溃

方法2

将数据分为连续的重复数据和连续的非重复数据,连续的非重复数据不处理直接把数据扔进去,通过一个长度属性的最高位来标识后续是什么类型,长度属性的其余位来标识有多少的数位(高位1后续位连续数据块,高位0后续位非连续数据块)

case:[data][data][data][data1][data2][data3][data4][data4] =>
[131][data][3][data1][data2][data3][130][data4]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • RLE压缩算法的主要思想: 对于连续重复的数据 假如原始数据有5字节的连续重复数据[A][A][A][A][A] ...
    treelake阅读 2,464评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,112评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 实时消息协议---流的分块 版权声明: 版权(c)2009 Adobe系统有限公司。全权所有。 摘要: 本备忘录描...
    一个人zy阅读 1,929评论 0 9
  • 英雄之旅—自律 【出发】S和大多数女孩一样,普通、平凡,随时都会淹没在茫茫人海。从小依照父母意愿,过...
    陈澜Serena阅读 242评论 0 2