第1286章 新成像与压缩技术 (3 / 3) 首页

字体:      护眼 关灯

上一章 目录 下一章


第1286章 新成像与压缩技术 (3 / 3)
        现在我们只使用2位二进制码,来简单地演示由4个符号组成的字符串的压缩过程。

        假设我们有这么一串20个字母的数据:默认情况下,用2位2进制码来表示这四个字母:

        &00011011每个字符在字符串中各自出现的次数并不相等:

        a:6次b:10次c:3次d:1次而在计算机中,数据则是以2进制码的形式储存在硬盘上的:

        0000010000010110010001010110010100011110整理一下得到新编码:

        原编码:0000010000010110010001010110010100011110新编码:1010010100011001000011000100111110看!数据成功被压缩。这一段40位长度的内容被压缩到了34位,压缩率是85%。

        回顾过程容易发现压缩的秘密:出现频率最多的‘b‘由一位二进制码“0”来表示,而出现频率较低的‘c‘和‘d‘,则由长度增加了的三位二进制码来表示。通过合理分配不同长度的编码,肯定可以对数据进行一定程度的压缩。

        另外可以证明,霍夫曼树就是此类编码替代的最优化的方案之一。因为假如存在一个字符的出现频率高于另一个字符,而它的变长码长度却长于另一个字符,那么必然可以通过交换两者的位置,使得输出结果的总长度变短。有限次操作后可以达到无法再交换的情况,也就是霍夫曼树规则下的情况。

        还有一个有趣的问题是:虽然把40字节的内容压缩到了34字节,但需要将相应的码表一并发送给接收方(没有对应码表,无法解压)。这不反而使得压缩后的数据比压缩前的还要长?

        但这不意味了算法错误。这是因为“n”过小(例子中为2,实际通常为8)导致的。

        总长度的不够使得节省出来的那部分容量还不足以弥补码表本身的储存空间。实际应用中,如果你非要去压缩一个只有几个字节的文件,得到的压缩包也经常会大于文件本身。通常,压缩软件会在每压缩4数据后,重新生成并保存一个霍夫曼树。

        ()

        【本章阅读完毕,更多请搜索新笔趣阁;https://wap2.xinbiquge.org 阅读更多精彩小说】
新笔趣阁阅读网址:wap.xinbiquge.org
加入书签我的书架


上一章 目录 下一章