当前位置: 首页 > news >正文

《信息论与编码课程笔记》——信源编码(1)

目录

一、信源编码基本概念

1. 定义与目的

2. 编码示例

3. 编码分类

4. 唯一可译码的判断标准

5. 编码评价指标

二、香农第一定理(无失真可变长信源编码定理)

1. 核心内容

2. 关键概念与指标

3. 数据压缩的本质

4. 例子与启示

5. 定理的意义


一、信源编码基本概念

信源编码的核心:通过去除冗余(相关性或非均匀分布)提高传输效率。

1. 定义与目的

  • 定义:将信源输出的符号(如文字、数字、图像等)转换为适合信道传输的信号(如二进制码、电脉冲等)。
  • 目的
    1. 能够传输:匹配信源与信道的特性,确保接收端能正确译码。
    2. 有效传输:减少冗余信息,提高传输效率(用更少的码元表示信源符号)。

2. 编码示例

  • Morse码:用“点(·)”和“划(—)”的组合表示字母(如A=·—,B=—···)。
  • 汉字电码:每个汉字用4位阿拉伯数字编码(如“中”=0022)。
  • ASCII码:用7位或8位二进制数表示字符(如A=01000001)。

3. 编码分类

分类依据类型说明
编码范围基本源编码对单个符号编码(如字母A→01)。
扩展源编码对符号序列编码(如单词“ABC”→001011)。
信息是否损失无失真编码完全保留信息(如Huffman码),满足I(X;Y)=H(X)​。
有失真编码允许部分信息损失(如JPEG压缩),满足I(X;Y)<H(X)​。
译码唯一性唯一可译码任意码字序列只能唯一译码(如前缀码)。
非唯一可译码存在歧义(如编码{0, 01},序列“01”可译作“01”或“0”+“1”)。
码长是否固定定长编码所有码字长度相同(如ASCII码)。
变长编码码长可变(如Huffman码,高频符号用短码)。

4. 唯一可译码的判断标准

  • 等长码:若为非奇异码(所有码字互不相同),则唯一可译。
  • 变长码:若为前缀码(无码字是其他码字的前缀),则唯一可译。
    • 不是前缀码也可能唯一可译:{0, 01} 不是前缀码(“0”是“01”的前缀),译码时也不会歧义(每次出现1都表示一次01)。

 

5. 编码评价指标

  • 平均码长 L​L = \sum p(x_i) l_i,其中 l_i 为码字长度。
  • 编码效率 η​\eta = \frac{H(X)}{L \log r},越接近1效率越高(r​ 为码元符号数,如二进制时 r=2​)。

 


二、香农第一定理(无失真可变长信源编码定理)

香农第一定理揭示了信源编码的极限效率,为无损压缩提供了理论基础。通过扩展信源和变长编码,使平均码长逼近 logrH(S)​​。ZIP、PNG等无损压缩算法均基于此原理。

 

1. 核心内容

研究对象:离散无记忆信源(DMS)的N次扩展信源 S^N
定理表述:对 S^N​ 进行变长编码,平均码长 L_N满足:

\frac{H(S)}{\log r} \leq \frac{L_N}{N} < \frac{H(S)}{\log r} + \frac{1}{N}

其中:

  • ​H(S)​:信源的熵(单位:比特/符号)。
  • ​r​:码元符号数(如二进制时 r=2​)。
  • L_N/N​:平均每信源符号分配的码元数

物理意义

  • 下限:无失真压缩的极限为 \frac{H(S)}{\log r},无法突破。
  • 逼近极限:通过扩展信源(增大 N​)和变长编码,可使平均码长无限接近熵限。

 

2. 关键概念与指标

  1. 平均码长L_N/N

    • 衡量编码效率的核心指标,越小越好。
    • 对于定长编码,L_N/N​ 固定;变长编码可通过概率匹配优化。
  2. 信息传输率 R​

    • 定义:单位码元携带的信息量(单位:比特/码元)。
    • 计算公式:
      • 基本源编码:R = \frac{H(X)}{L}
      • 扩展源编码:R = \frac{H(X)}{L_N/N}
  3. 编码效率 η​

    • 定义:实际信息传输率与理论最大值的比值。
    • 公式:\eta = \frac{H(X)}{L \log r}(当 r=2​ 时,η=R​)。
    • 理想情况:η→1​(平均码长逼近熵限)。

 

3. 数据压缩的本质

  • 有记忆信源:冗余源于符号间的相关性,通过预测编码变换编码去除。
  • 无记忆信源:冗余源于符号概率的非均匀分布,通过统计编码(如Huffman)逼近熵限。

压缩途径

  1. 扩展信源:增大 N​ 以减少统计波动(如对字母序列而非单个字母编码)。
  2. 变长编码:高频符号用短码,低频符号用长码(如Huffman码)。

 

4. 例子与启示

示例:二元信源 S={x1​,x2​}​,概率 P(x1​)=0.9​,P(x2​)=0.1​。

  • H(S) = -0.9 \log 0.9 - 0.1 \log 0.1 \approx 0.469 比特/符号。
  • 二进制编码下限\frac{H(S)}{\log 2} \approx 0.469码元/符号。
1. 单符号编码(N=1)
  • 编码方式:直接对每个符号独立编码
    • 示例:x₁→0,x₂→1

平均码长计算: L = 1×P(x₁) + 1×P(x₂) = 0.9×1 + 0.1×1 = 1 码元/符号

编码效率: η = H(S)/L = 0.469/1 = 46.9%

 

2. 扩展信源编码(N=2)
  • 编码对象:符号对(共4种组合)

    • 概率分布:
      符号对概率
      x₁x₁0.81
      x₁x₂0.09
      x₂x₁0.09
      x₂x₂0.01

Huffman编码示例: 

 x₁x₁ → 0       (码长1)x₁x₂ → 10      (码长2) x₂x₁ → 110     (码长3)x₂x₂ → 111     (码长3)

平均码长计算:L₂ = 0.81×1 + 0.09×2 + 0.09×3 + 0.01×3 = 1.29 码元/2符号
→ L = 1.29/2 ≈ 0.645 码元/符号

效率提升:η = 0.469/0.645 ≈ 72.7%
 

3. 极限情况(N→∞)

理论结果:当 N→∞ 时,L → H(S) = 0.469 码元/符号,η → 100%

5. 定理的意义

  1. 理论极限:给出了无失真压缩的最低码率(熵限)。
  2. 编码指导
    • 必须采用变长编码扩展信源才能高效逼近极限。
    • 实际编码(如Huffman)是定理的工程实现。
  3. 推广性:可扩展至平稳有记忆信源(极限熵 H∞​​ 替代 H(S)​)。
http://www.xdnf.cn/news/337105.html

相关文章:

  • 动态SQL与静态SQL
  • threejs 添加css3d标签 vue3
  • [数据处理] 6. 数据可视化
  • 商业中的人工智能 (AI) 是什么?
  • 从0到1:用Lask/Django框架搭建个人博客系统(4/10)
  • 每日学习:DAY24
  • 第三节第一部分:Static修饰类变量、成员变量
  • pip下载tmp不够
  • ASP.NET Core 中实现 Markdown 渲染中间件
  • 信创生态核心技术栈:数据库与中间件
  • 《智能网联汽车 自动驾驶功能场地试验方法及要求》 GB/T 41798-2022——解读
  • Mac 平台 字体Unicode范围分析器
  • 使用迁移学习的自动驾驶汽车信息物理系统安全策略
  • MySQL数据库创建、删除、修改
  • Android NDK版本迭代与FFmpeg交叉编译完全指南
  • ubuntu24.04安装anaconda
  • SwiftData 数据持久化解决方案
  • 如何使用极狐GitLab 软件包仓库功能托管 python?
  • git设置tabsize
  • Kubernetes client-go 客户端类型与初始化指南
  • 驱动开发硬核特训 · Day 30(上篇):深入理解 I2C 总线驱动模型(以 at24 EEPROM 为例)
  • Dynamic Causal Modeling在医疗AI领域的编程案例与应用研究
  • 〖 Linux 〗解决 VS Code 远程连接服务器的常见问题
  • iPhone手机连接WiFi异常解决方法
  • 【hadoop】案例:Sqoop迁移仓库数据
  • 5、开放式PLC梯形图编程组件 - /自动化与控制组件/open-plc-programming
  • Lua学习笔记
  • 无刷电机控制算法策略
  • AI驱动的制造工艺:系统化探索与创新
  • 【hadoop】Hbase java api 案例