二维码|一个二维码能装10T电影?我来科普压缩是怎么回事儿!( 二 )
但是在仔细观察后 , 可以发现在字符串中存在着多个重复的字符串「 abc 」 , 「 aac 」以及「 abd 」 。
那么只要我们建立一个对照翻译表 , 用「 1 」代替字符串「 abc 」 , 用数字「 2 」代替字符串「 aac 」 , 用数字「 3 」代替字符串「 abd 」 。
整个字符串可以简化为了「 112323 」的数字串 , 相较于原始字符串已经精简了许多 。
如果更进一步 , 用「Ⅰ」代表「 11 」 , 用「Ⅱ」代表「 23 」 , 这样字符串还可以精简为「 Ⅰ Ⅱ Ⅱ 」 。
电脑里的压缩文件过程原理大概就是如此 , 只不过实际上文件不是只有字符串 , 而且数据量比这个大得多 。
解压缩的原理自然也很容易想到 , 回到前面的例子中 , 我们只需要对照翻译表将数字重新还原 , 就能够得到原始字符串 。
这样一套操作逻辑就叫做字典编码算法 , 所谓的翻译对照表也就是算法中的「 字典 」 , 不论是什么压缩算法 , 都得带着这本「 字典 」 , 也就是解码参数 。
当然聪明的你可能已经发现了 , 这本字典完全可以换个方式写:我们还可以将字符串分解成 abc abc acca bd acca bd, 就又得到了一种全新的压缩方式 。
不同的压缩方式对应不同的文件格式 , 我们常见的有 rar/zip/7z 等等 , 其实就是在告诉电脑这是用什么方式压缩的 。
【二维码|一个二维码能装10T电影?我来科普压缩是怎么回事儿!】而相应的的翻译工具 , 则就是常见的压缩软件 , 相信不少人都被这张图骚扰过↓
理论上来说 , 我们可以搞一波智障操作 , 这么写翻译表:abcabcaacabdaacabd = 1, 整个字符串只用一个数字就能代替了 。
但这么干的话 , 字典本身的大小就和原文一样了 , 再加上压缩后的数字 , 信息量反倒变大了 。
换成现实比方 , 就意味着你把一个 1 KB 的文件反向压缩成了一个 1.1 KB 的玩意儿 , 所以说这是波智障操作 。。。
所以说这事儿挺不简单的 , 目前为止工程师们研究出了很多方法 , 最快的压缩效率也只是接近 2 : 1。
所以才说开头那个万亿分之一的消息惊得让我摔在了地上 。
事实上 , 工程师怎么实现是一回事 , 压缩的极限比例其实能用数学工具算出来 。
这就不得不提到一位天降猛男 , 信息论之父——克劳德 · 香农 。
作为一个伟大的科学家 , 克劳德 · 香农提出了信息熵函数 , 而在后续学者的配合下 , 终结了这个疑问 。
信息熵公式▼
总而言之 , 在这个宇宙里 , 信息压缩的比例是存在理论上限的 , 和信息的复杂程度有关 , 但是远远达不到万亿分之一 , 这个专利要真能达到万亿分之一 , 香农的棺材板都要压不住了 。。。
所以关于这篇专利的说法是真的吗?为了求证 , 我去查看了一下专利的原始文档 。
果然 , 在文章并没有与万亿级相关的字眼和描述 , 取而代之的则是千分之一和万分之一的描述 。
所以 。。。 又是一场营销号折腾出来的闹剧吗?
也不是 , 尽管在文章中没有提到万亿级压缩 , 但是申请者对自己的专利也是信心满满:理论上任何数据都可以压缩到只剩 2 个比特和解码参数 。
还记得前面提到的智障操作吗? 。。。 压缩到 2 个比特情况下没提解码参数有多大 , 这不耍流氓么?
而且就算不谈万亿级别的压缩率 , 仅仅是万分之一的压缩率可以实现吗?
可以 , 很简单 , 但没有任何意义:
假设我有个由 100 万个 a 组成的字符串 , 那我就只需要用「 100 万个 a 」这句话 , 就完成了这波极限操作 。
说白了 , 这都是重复信息 , 原有信息那 100 万个 a 看着长 , 根本就不包含有意义的内容 。
还记得差评君以前介绍过的压缩炸弹吗?一个 42 KB 文件通过自我复制 N 遍达到 4.5 PB, 这玩意儿就是压缩比高得吓人 , 但一点卵用都没 。
推荐阅读
- 神秘的世界|你的身体就是一个神秘的世界,它已经30亿岁了
- 春风故事会|现在的中国人都得感谢他,曹操曾做了一个重要的决定
- 数码八叔|华为麒麟1020成本可能比苹果A14还高,带给花粉一个不好的消息
- 数码八叔|1020 成本可能比苹果 A14 还高,带给花粉一个不好的消息,华为麒麟
- 太阳系|地球不绕着太阳转?科学家:太阳系所有天体绕一个看不见的点转!
- 暖日时尚视野凯帆|哪一个朝代的“武力值”最高?不是汉朝、更不是元朝,在中国
- 华为|华为人均工资110万,华为普工一个月的工资是多少?
- 朵小喵儿|让半导体行业重新进入一个新起点,5G通讯
- 风月无关|万物互联在近40年前就有了?一起看一个故事,网络移动支付服务
- 台积电|台积电终于表明对美态度,留了两个“杀手锏”,一个是为了华为
