• [源编码]概述


    概述

    大纲

    1. 无损编码
      1. Huffman 编码
      2. 算术编码
      3. 字典编码
    2. 有损编码
      1. 标量量化
      2. 向量量化
      3. 预测编码
      4. 变换编码、JPEG
      5. 子带编码
      6. 小波编码、JPEG2000
      7. 分析-综合编码
    3. 音视频编码
      1. 音频编码
      2. 视频编码

    教学目标

    1. 理解基本数学原理
      1. 为什么能工作
      2. 在什么情况下能工作
      3. 对给定情况,什么算法能工作得最好
    2. 深入理解算法
      1. 算法到底如何工作
    3. 动手实现算法

    为什么需要压缩

    1. 对物理世界:没有足够空间
    2. 对数字世界:数据增长比物理存储(带宽)增长得更快

    如果没有压缩,很多应用/服务不可行,如视频流服务,很多应用/服务更贵,比如模拟移动电话、数字移动电话。

    为什么可以压缩

    数据大多数是冗余的:任何非随机选择的数据都有一定结构,可利用这种结构得到数据的更紧致表示。

    1. 统计冗余: 某些值经常出现,而另外一些值很少出现,那么,这种由于取值上统计的不均匀性就构成了统计冗余
    2. 字母冗余:英文中字母E最常出现,而Z很少出现
    3. 文本冗余:字母Q后常跟有字母U
    4. 图像冗余:自然图像中相邻像素的颜色往往比较相近
    5. 时间冗余:视频图像前后几帧内容变化不大,位置可能不同,可用运动估计方法找到对应位置
    6. 结构冗余:图像中物体表面纹理等结构

    基本术语

    • 无损编码:(x=x^{prime}),也称熵编码 ( (entropy quad coding) ) 或可逆编码 ( $ reversible quad coding$ )
    • 有损编码:(x e x^{prime}),也称不可逆编码 ( (irreversible quad coding) )
    • 压缩率:(frac{|x|}{|y|})(|x|) 表示编码 (x) 需要的比特数
    • 码率:(frac{比特}{样本}),如 ASCII是 8 比特/字符
    • 质量:对有损编码而言。人类感知到 (x)(x^{prime}) 之间的差异或在数学上(x)(x^{prime}) 之间的差异
    • 复杂度:(1) 算法的运算量和存储量 (2) 编码器和解码器的复杂度
    • 时延

    开发压缩算法的步骤

    建模

    • 提取冗余信息
    • 冗余 ( ightarrow) 可预测性

    编码

    • 用二进制表示模型与观测数据之间的差异,也称为残差 (residual)
  • 相关阅读:
    Android将ScrollView移动到最底部
    Android权限之sharedUserId和签名
    python接口使用及工具函数
    python模块(json、os、sys、random、string、time、hashlib)
    python内置函数
    python模块、函数变量及递归
    python数据类型集合及函数
    python文件操作及修改
    python字符类型操作及文件操作
    jmeter压测
  • 原文地址:https://www.cnblogs.com/ColleenHe/p/11723104.html
Copyright © 2020-2023  润新知