法的原理就是将一扫描行中颜色值相同的相邻像素,用一个计数值和那些像素
的颜色值来代替。主要通过压缩除掉数据中的冗余字节或字节中的冗余位,而
达到减少文件所占空间的目的。
例如,有一表示颜色像素值的字符串 aaaaaabbcccddddddddeeeeee,用 RLE
压缩方法压缩后,用 6a2b3c8d6e 来代替,显然后者的串长度比前者的串长度小
得多。但是,图像像素的颜色值出现特殊情况时,如每个相邻像素的颜色值均
不同,则经此方法压缩后,反而会使数据串的长度增加一倍,为了尽量避免前
述特殊数据的出现,RLE 方法在具体实施时对计数字节和图像像素字节进行了
区分,对每个相邻像素的颜色值均不同的单个像素数据,只有当高 2 位全 1 时
才加 1 计数,否则直接输出该像素值,因此避免了压缩后长度增加一倍的情况。
RLE 算法有很多变体,常在 WinZip、WinRAR 这些软件中用到。
1.2 字典编码
1.2.1 LZ77 与 LZ78
1977 年 Jacob Ziv 和 Abraham Lempel 提出被称为 LZ77、LZ78 的基于字典的
压缩技术。为了改进 LZ77 的性能,James Strorer 和 Thomas Szymanski 与 1982
年提出了 LZSS 算法。1984 年,Terry Wclch 给出了 LZ78 算法的一种实现技术
称之为 LZW 算法。随后许多研究者又提出了很多改进方案。
其主要实现思想是如果文件中有两块内容相同的话,那么只要知道前一块
的位置和大小,我们就可以确定后一块的内容。所以我们可以用(两者之间的
评论4
最新资源