数据压缩到底在干嘛

这篇博文算是数据压缩课的一个小总结,结合之前看的信息论的论文写的。有错误希望不吝指出,一起交流。本篇博文基本没有数学公式,只是最简单的方式陈述一下前人到底在干些什么。

通信中总是提到传输文本,语音,图像,视频等等,那么问几个问题吧。

1.我们传输的到底应该是什么?

假如我有一个苹果,我想告诉别人我有,中国人说苹果,美国人说apple,照个相给别人,别人得到一个图片(像素阵列)等诸多方式,最终都是别人知道了你有一个苹果。假如有这样一群人,他们沟通只用数字,其中0就代表苹果,那是不是这种苹果的表达方式传输起来会更加的便捷呢?

说这么多只想表明一个观点,一个含义的表达方式可能有千万种,但我们要别人知道的是含义,而不是表达方式,所以选择一种合理的表达方式是我们的目标。

2.何谓合理?

a.简洁,在上面的例子中,0表示苹果显然是一种简单高效的方式,虽然生活中我们很少见到有人这么做(有时候拽两句英语都会被人吐槽,用0的话,除非你想被别人看成个二货),但是不能否认计算机可能认为这种方式不错。

b.准确,汉语中有歧义的句子太多,诸如“你看我头像牛X不?”之类的经典笑话,两种含义却归为同一种表达方式,这个可以说是汉语系统的“缺陷”,我们需要一些附加的解释来保证我们表达的是我们想要的。

3.香农与信息论

抱歉这么快就要结束愉快的瞎扯了,首先我们来考虑下第一个目标,简洁,还是拿苹果来举例吧,现在有很多很多框,你要告诉你的搭档每个框里有几个。我们用二进制数来表示,0(0),1(1),2(10),3(11),4(100)等等。

这里有一个问题,假如你的搭档现在收到了11,你本来想告诉他有个框里是有三个的,但是他想应该是两个框,一个框里一个吧。这里出现了不止一个解释(不唯一可译)。解决方法也有很多,比如仍然用二进制数表示,但加上弄个框与框之间的分隔标志,或者发明一个全新的表达方式,他就是没有歧义(唯一可译码)。

假如现在我们有了一个构造唯一可译码的方法,比如就选框与框之间有分隔符那个,考虑另外一个问题,假如现在很多框里都是装满的,99.9%的框里都是4个(框不太能装,懂就行),那么我费尽心力弄好了唯一可译码,结果除了4用的很多,其他还不怎么用,如果4的表达方式还很长,那不是亏了?这启发我们给4应该较短的表达方式,这样总长就会相对较短。在这里我们埋下了概率的种子。

到这里你应该明白了我们要做的事,概括的说,发送端有很多不同含义的消息要发送(仅仅是抽象的消息而已,应该关注的是不同含义的数量),然后经过加工成为对应的表达方式(编码),我们希望这个得到这个码唯一可译并且尽可能的短。

那么究竟能有多短呢,考虑不同数量的消息显然是没有意义的,一个消息发很多遍也会很长哟,那就考虑平均每个消息的用多少码吧。这也是香农工作的一部分。推导中很重要的一点是随机序列渐进等分性,简而言之,就是扔硬币扔很多次,正面只出现1次,2次啊这种情况出现的概率趋近于0,这样的话,消息的数量就减少了。最后需要表达的信息数目所需要的码字平摊到每个消息上就是信源的熵,这就是平均码长的最低极限。

先写这么多吧,有空再整。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值