RLE行程长度编码概述

RLE行程长度编码概述

目前, 压缩技术已经广泛应用于各种软件、声音、影像格式等领域。总的来说, 有两种截然不同的图像格式压缩类型: 有损压缩和无损压缩[1]。有损压缩利用视觉识别的原理可以大大地压缩文件的数据, 但是会影响图像质量。无损压缩的基本原理是相同的颜色信息只需保存一次, 可以删除一些重复数据, 大大减少要在磁盘上保存的图像的容量。无损压缩方法的优点是能够比较好地保存图像的质量, 但是相对有损压缩来说这种方法的压缩率是比较低的。常用的无损压缩算法有 RLE、LZW 等。
1 RLE 压缩算法的基本原理
RLE(Run- Length Encoding 行程长度编码)压缩算法是Windows 系统中使用的一种图像文件压缩方法, 其基本思想是: 将一扫描行中颜色值相同的相邻像素用两个字节来表示, 第一个字节是一个计数值, 用于指定像素重复的次数; 第二个字节是具体像素的值[2]。主要通过压缩除掉数据中的冗余字节或字节中的冗余位,从而达到减少文件所占空间的目的。例如, 有一表示颜色像素值的字符串RRRRRGGBBBBBB,用 RLE 压缩方法压缩后可用 5R2G6B 来代替,显然后者的串长度比前者的串长度小得多。译码时按照与编码时采用的相同规则进行, 还原后得到的数据与压缩前的数据完全相同。因此, RLE 是无损压缩技术。
2 RLE 压缩算法的改进
RLE 压缩算法对于数据重复量大的情况是非常高效率的。但是, 当图像像素的颜色值出现每个相邻像素的颜色值均不同的特殊情况时, 如颜色字符串GBR, 则经此方法压缩后变成了 1G1B1R, 反而会使数据串的长度增加一倍, 这是一种“病态”情况。为了尽量避免“病态”情况的出现, 需要对 RLE 的基本方法进行改进。改进的方法是在具体实施时对计数字节和图像像素字节进行了区分, 利用计数字节的高两位作为压缩的标志。对每个相邻像素的颜色值均不同的单个像素数据, 只有当计数字节高 2位全1( 即 C0) 时才加 1 计数, 否则直接输出该像素值, 因此避免了压缩后长度增加一倍的情况。这样就使得计数字节本身的高 2 位也是全 1, 即计数字节为 C0H+n
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值