-
计算机速成课 第二十一集 压缩
1. 压缩的好处
- 文件小一点,能存大量文件,传输也会快一些
- 把数据占用的空间压得更小,用更少的位(bit)来表示数据
2. 游程编码(Run-length Encoding)
- 消除冗余:减少重复信息
- 适合经常出现相同值的文件
- 属于「无损压缩」
3. 无损压缩(lossless compression)
- 没有损失/丢失任何数据
- 可以轻易恢复到原来的数据
- 解压缩后,数据和压缩前完全一样
- 另一种无损压缩:用更紧凑的方式表示数据块
- 举例 “别忘了变厉害” 简写为 DFTBA (笔者注:Don't forget to be awesome)
- 字典编码: 需要一个字典:存储「代码」和「数据」间的对应关系,属于「无损压缩」
- 举例:紧凑代码(compact codes)
- 音频格式:WAV, FLAC
4. 霍夫曼树(Huffman Tree)
- 1950 年,麻省理工学院的学生大卫·霍夫曼,发明的一种高效编码方式
- 算法方式
- 核心:变成一棵树,按频率排列,频率低的在下面
- 把树变成字典
- 「消除冗余」和「用更紧凑的表示方法」,这两种方法通常会组合使用。几乎所有无损压缩格式都用了它们,比如:GIF, PNG, PDF, ZIP
5. 有损压缩
- 有些人类看不到的数据被清除,不影响阅读
- 举例:
- 人的耳朵只能收听到一定频率,例如超声波是听不到的。
- 如果录音乐,超声波数据都可以扔掉
- 你在电话里的声音和现实中不一样,压缩音频是为了让更多人能同时打电话
- 如果网速变慢了,压缩算法会删更多数据,进一步降低声音质量,所以 Skype 通话有时听起来像机器人
- 有损音频压缩
- 用不同精度编码不同频段
- 听不出什么区别,不会明显影响体验
- 举例:压缩音频文件 MP3,比无损压缩 WAV, FLAC 能小 10 倍甚至更多,省了很多空间
6. 感知编码(perceptual coding)
- 定义:删掉人类无法感知的数据的方法
- 它依赖于人类的感知模型,模型来自「心理物理学」领域
- 它是各种「有损压缩图像格式」的基础,最著名的是 JPEG
- 视觉系统
- 像听力一样,人的视觉系统也不是完美的
- 更善于看到尖锐对比,比如物体的边缘,但看不出颜色的细微变化
- 视频只是一长串连续图片,所以图片的很多方面也适用于视频
- 更高级的视频压缩格式:找出帧和帧之间相似的补丁,然后用简单效果实现,比如移动和旋转,变亮和变暗,
7. 时间冗余
- 视频里不用每一帧都存相同的像素(例如主持人的背景板),可以只存变了的部分
- 这是利用了帧和帧之间的相似性
8. MPEG-4 视频编码
9. 总结:
- 压缩对大部分文件类型都有用
- 学习压缩非常重要,因为可以高效存储图片、音乐、视频
-
相关阅读:
ORB Test Hanson
ajax异步传输中的乱码问题
调用淘宝API遇到的问题
doc命令查看电脑配置大全
从关联数组中取得键名
php图片上传
doc命令查看电脑配置
一个空间配置多个虚拟主机
淘客网站中系统信息获取
opendir(path,context)
-
原文地址:https://www.cnblogs.com/zxxsteven/p/16215857.html
Copyright © 2020-2023
润新知