当前位置: 首页 > 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)​)。

相关文章:

  • chili调试笔记14 画线 页面布置 线条导出dxf
  • linux nginx配置访问目录,访问文件直接下载,linux配置nginx直链下载
  • UVa1065/LA3809 Raising the Roof
  • 将通过qDebug、qWarning等输出的信息保存到日志文件中
  • 用递归实现各种排列
  • Java 显式锁与 Condition 的使用详解
  • MySQL 数据库
  • VBA -- 学习Day2
  • STM32系统定时器以及微秒延时函数分析
  • 在openEuler系统下编译安装Redis数据库指南
  • JavaSE核心知识点02面向对象编程02-02(封装、继承、多态)
  • 基于Partial Cross Entropy的弱监督语义分割实战指南
  • Python开发之os.path的常用操作
  • 2025年3月青少年机器人技术等级考试(二级)理论综合真题试卷
  • 【使用switch结构输出季节】2021-11-23
  • Wubuntu安装时创建分区失败解决方案
  • 贝叶斯定理
  • [python] 函数1-函数基础
  • uniapp index.html怎么改都不生效
  • Java 异常
  • 欧盟委员会计划对950亿欧元美国进口产品采取反制措施
  • 教育部、国家发改委联合启动实施教师教育能力提升工程
  • 观察|印巴交火开始升级,是否会升级为第四次印巴战争?
  • 俄乌互相空袭、莫斯科机场关闭,外交部:当务之急是避免局势紧张升级
  • A股三大股指集体高开大涨超1%,券商、房地产涨幅居前
  • 五一假期上海两大机场客流量超193万人次,创历年同期最高