《信息论与编码课程笔记》——信源编码(1)
目录
一、信源编码基本概念
1. 定义与目的
2. 编码示例
3. 编码分类
4. 唯一可译码的判断标准
5. 编码评价指标
二、香农第一定理(无失真可变长信源编码定理)
1. 核心内容
2. 关键概念与指标
3. 数据压缩的本质
4. 例子与启示
5. 定理的意义
一、信源编码基本概念
信源编码的核心:通过去除冗余(相关性或非均匀分布)提高传输效率。
1. 定义与目的
- 定义:将信源输出的符号(如文字、数字、图像等)转换为适合信道传输的信号(如二进制码、电脉冲等)。
- 目的:
- 能够传输:匹配信源与信道的特性,确保接收端能正确译码。
- 有效传输:减少冗余信息,提高传输效率(用更少的码元表示信源符号)。
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:
,其中
为码字长度。
- 编码效率 η:
,越接近1效率越高(r 为码元符号数,如二进制时 r=2)。
二、香农第一定理(无失真可变长信源编码定理)
香农第一定理揭示了信源编码的极限效率,为无损压缩提供了理论基础。通过扩展信源和变长编码,使平均码长逼近 logrH(S)。ZIP、PNG等无损压缩算法均基于此原理。
1. 核心内容
研究对象:离散无记忆信源(DMS)的N次扩展信源 。
定理表述:对 进行变长编码,平均码长
满足:
其中:
- H(S):信源的熵(单位:比特/符号)。
- r:码元符号数(如二进制时 r=2)。
:平均每信源符号分配的码元数。
物理意义:
- 下限:无失真压缩的极限为
,无法突破。
- 逼近极限:通过扩展信源(增大 N)和变长编码,可使平均码长无限接近熵限。
2. 关键概念与指标
-
平均码长
:
- 衡量编码效率的核心指标,越小越好。
- 对于定长编码,
固定;变长编码可通过概率匹配优化。
-
信息传输率 R:
- 定义:单位码元携带的信息量(单位:比特/码元)。
- 计算公式:
- 基本源编码:
。
- 扩展源编码:
。
- 基本源编码:
-
编码效率 η:
- 定义:实际信息传输率与理论最大值的比值。
- 公式:
(当 r=2 时,η=R)。
- 理想情况:η→1(平均码长逼近熵限)。
3. 数据压缩的本质
- 有记忆信源:冗余源于符号间的相关性,通过预测编码、变换编码去除。
- 无记忆信源:冗余源于符号概率的非均匀分布,通过统计编码(如Huffman)逼近熵限。
压缩途径:
- 扩展信源:增大 N 以减少统计波动(如对字母序列而非单个字母编码)。
- 变长编码:高频符号用短码,低频符号用长码(如Huffman码)。
4. 例子与启示
示例:二元信源 S={x1,x2},概率 P(x1)=0.9,P(x2)=0.1。
- 熵:
比特/符号。
- 二进制编码下限:
码元/符号。
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. 定理的意义
- 理论极限:给出了无失真压缩的最低码率(熵限)。
- 编码指导:
- 必须采用变长编码和扩展信源才能高效逼近极限。
- 实际编码(如Huffman)是定理的工程实现。
- 推广性:可扩展至平稳有记忆信源(极限熵 H∞ 替代 H(S))。