• 计算机速成课 第二十一集 压缩


    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 视频编码

    • 常见标准,可以比原文件小 20 倍道 200 倍

    9. 总结:

    • 压缩对大部分文件类型都有用
    • 学习压缩非常重要,因为可以高效存储图片、音乐、视频
  • 相关阅读:
    ORB Test Hanson
    ajax异步传输中的乱码问题
    调用淘宝API遇到的问题
    doc命令查看电脑配置大全
    从关联数组中取得键名
    php图片上传
    doc命令查看电脑配置
    一个空间配置多个虚拟主机
    淘客网站中系统信息获取
    opendir(path,context)
  • 原文地址:https://www.cnblogs.com/zxxsteven/p/16215857.html
Copyright © 2020-2023  润新知