200801
本篇是学习信息论的入门笔记,希望能与各位分享进步!这是第四章:数据压缩~
4. 数据压缩
4.1 编码的基本概念
- 贝尔实验室的Shannon 和 MIT 的 Fano几乎同时提出了最早的对符号进行有效编码从而实现数据压缩的 Shannon-Fano 编码方法。
- 可以证明,算术编码得到的压缩效果可以最大地减小信息的冗余度,用最少量的符号精确表达原始信息内容。算术编码是部分匹配预测(PPM)技术的变体
-
定义4.1.1 关于随机变量 X X X的信源编码 C C C是从 X X X的取值空间到 D ∗ D^\ast D∗的一个映射,其中 D ∗ D^\ast D∗表示字母表 D D D上有限长度的字符串所构成的集合。用 C ( x ) C(x) C(x)表示 x x x的码字,并用 l ( x ) l(x) l(x)表示 C ( x ) C(x) C(x)的长度。
-
定义4.1.2 设随机变量 X ∼ p ( x ) X\sim p(x) X∼p(x),信源编码 C ( x ) C(x) C(x)的期望长度为
L ( c ) = ∑ x ∈ X p ( x ) l ( x ) L(c) = \sum_{x\in \mathcal{X}}p(x)l(x) L(c)=x∈X∑p(x)l(x)
其中 l ( x ) l(x) l(x)表示对应于 x x x的码字长度。
-
定义4.1.3 如果编码将 X X X的取值空间中的每个元素映射成 D ∗ D^\ast D∗中不同的字符串,即 x ≠ x ′ ⇒ C ( x ) ≠ C ′ ( x ) x \neq x^\prime \Rightarrow C(x) \neq C^\prime(x) x=x′⇒C(x)=C′(x)则称这个编码是非奇异的。
-
定义4.1.4 编码 C C C的扩展 C ∗ C^\ast C∗是从 X X X上的有限长字符串到 D D D上的有限长字符串的映射,定义为
C ( x 1 , x 2 , . . . , x n ) = C ( x 1 ) C ( x 2 ) . . . C ( x n ) C(x_1,x_2,...,x_n)=C(x_1)C(x_2)...C(x_n) C(x1,x2,...,xn)=C(x1)C(x2)...C(xn)
C ( x i ) C(x_i) C(xi))表示相应码字的串联。
-
定义4.1.5 如果一个编码的扩展码是非奇异码,则称该编码是唯一可译的。信息序列与码字序列一一对应。
-
定义4.1.6 若码中无任何码字是其它码字的前缀,则称该码为前缀码。
-
每一码字传输完毕,即可译码,称为即时码。
4.2 Kraft不等式
- 定理4.2.1(Kraft不等式,前缀码存在定理) 含有 D D D个码字的编码系统,当且仅当各个码字长度
l 1 , l 2 , . . . , l m l_1,l_2,...,l_m l1,l2,...,lm满足Kraft不等式
∑ k = 1 m D − l k ⩽ 1 \sum_{k=1}^m D^{-l_k} \leqslant 1