读数据压缩入门笔记01_数据压缩导读
Posted 躺柒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读数据压缩入门笔记01_数据压缩导读相关的知识,希望对你有一定的参考价值。
建立在数据压缩上的世界
1. 建立在数据压缩上的世界
1.1. 数据压缩技术最让人惊异之处在于,它与过去40年里个人计算的很多重大改变有关,但很少有人知道这一点
1.2. 我们当下生活在其中的这个计算世界,完全建立在数据压缩算法之上
1.3. 图像的压缩
1.3.1. 1978年
1.3.2. 图像语料库
1.3.2.1. 1972年11月《花花公子》杂志中莱娜•瑟德贝里(Lena Söderberg)
1.4. 音乐的压缩
1.4.1. 1996年
1.4.2. WAV
1.4.2.1. MP3
1.4.2.1.1. Napster音乐共享平台
1.4.2.1.2. iPod
1.4.2.1.2.1. iTunes
1.4.2.1.2.2. iPhone
1.5. 视频的压缩
1.5.1. 2001年
1.5.2. YouTube
1.5.2.1. MOV
1.6. 基因图谱
1.6.1. 2008年
1.6.2. 单个基因组序列就包含了大量的数据,仅仅是描述人类基因组成的数据就超过了14GB
1.6.3. BWT是最有效的存储DNA信息的压缩格式,甚至无须解压就能对数据进行操作
1.7. 压缩与经济
1.7.1. 压缩后的文件会变得更小
1.7.1.1. 同样的数据传输所需的时间会变短,相应的费用也会减少
1.7.1.2. 分发者的分发成本会降低,消费者的支出也会减少
2. 克劳德•香农
2.1. 硕士论文题为《继电器与开关电路的符号分析》
2.1.1. 为基于开关的现代电路计算奠定了基础
2.2. 1948年发表了《通信的数学理论》
2.2.1. 论述了发送者怎样对要发送的信息进行编码才能达到最佳效果
2.2.2. 开创了信息论(information theory)这一全新的学术领域
2.3. 发明了一种度量消息所携带信息内容的方法
2.3.1. 信息熵(information entropy)
3. 什么是数据压缩
3.1. 用最紧凑的方式来表示数据
3.2. “在保证信息能恢复的前提下,我们能将消息变得多么紧凑”
3.3. 根据现代信息论的观点,在压缩数据以减少总二进制位数的时候存在一个临界点,如果超过了这个值,我们就不能将压缩后的数据唯一正确地恢复为原来的数据流。
3.3.1. 我们的压缩目标就是尽可能地减少总二进制位数以接近这个临界值,并且不超过这个值
4. 消息编码方式
4.1. 对每一个特定的消息来说,都有一个最佳的编码方式,这里的“最佳”指的是传递消息时用到的字母或者符号(也可以说是二进制位,即信息的单位)最少
4.2. “字母表”与“摩尔斯码”是其中常见的两种
5. 数据压缩思路
5.1. 减少数据中不同符号的数量
5.1.1. 即让“字母表”尽可能小
5.2. 用更少的位数对更常见的符号进行编码
5.2.1. 即最常见的“字母”所用的位数最少
6. 数据压缩考虑因素
6.1. 不同数据的处理方法不同
6.1.1. 压缩一本书中的文字和压缩浮点型的数
6.2. 有些数据必须经过转换才能变得更容易压缩
6.3. 数据可能是偏态的
6.3.1. 夏天的整体气温偏高
6.3.1.1. 高气温出现的频率比接近零度的气温出现的频率高很多
7. 数据压缩算法
7.1. 变长编码(variable-length codes,VLC)
7.2. 统计压缩(statistical compression)
7.3. 字典编码(dictionary encodings)
7.4. 上下文模型(context modeling)
7.5. 多上下文模型(multicontext modeling)
读《程序是怎么跑起来的》第六章有感
第六章亲自尝试压缩数据,知道了文件是字节数据的集合体,LZH是用LHA等工具压缩过的扩展名,例如AAABB这个数据压缩后就是A3B2,半角英文数字是用1个字节来表示的,汉字等全角字符是用两个字节来表示的,知道了压缩后数据能复原的就是可逆压缩,不能复原的就是非可逆压缩。
文件是以字节(B=Byte)为单位来储存的,文件就是字节数据的集合,RLE的算法机制,简称为把文件内容用“数据×重复次数的形式”来表示的压缩方法。但是RLE的算法也有缺点,在实际的文本文件中,同样字符多次出现的文件并不多见,要知道RLE不适合文本文件的压缩,然后在了解哈弗曼算法之前要抛弃掉之前“半角英文数字的1个字符是1个字节的数据”这一概念。文本文件是由不同类型的字符组合而成的,而不同的字符出现的次数也是不同的。还要知道磁盘是以字节为单位来保存数据的。之前认为的“莫尔斯编码的短点是0,长点是1,其中1个字符用8为来表示”,这是一种不成熟的做法,实际上根据字符种类的不同,莫尔斯电码符号的长度也有不同。
哈夫曼算法是指,为各压缩对象文件,分别构造最佳的编码体系,并以该编码体系为基础进行压缩,但是该程序要比RLE算法要复杂的多。但是该算法能大幅度提升压缩比例。最后的可逆压缩和非可逆压缩也不难理解,在文章的开始已经解释过了。
以上是关于读数据压缩入门笔记01_数据压缩导读的主要内容,如果未能解决你的问题,请参考以下文章