itslabtime.com

信息 · 计算机 · 数据表示

无损压缩与信息熵

压缩利用数据中重复或频率的差异,以用更少的符号来表示数据。然而,没有一种单一的方法可以始终将所有输入都减少到更小的尺寸。

相关实验:数据压缩 →
数据压缩
数据压缩实验场景 →

意义与机制

无损压缩必须能够精确地从压缩后的表示中恢复原始数据。 运行长度编码利用连续重复,而霍夫曼编码利用符号频率的差异。

重要的是为经常出现的符号分配简短的代码,但这些代码不能造成歧义。对于数据,如果使用重复长度,则由于信息频率,可能会增加数据大小。

关系与条件

熵 H 是衡量理想平均符号分布信息量的参考。 在二进制 Huffman 编码中,当有多个符号时,平均码长 L 可以与 H ≤ L < H+1 比较。

实验不使用有限字母集,也不使用固定数量的原始比特,并且不包括霍夫曼表存储成本。在实际文件中,还需要考虑标题和字典的成本,以及区块的成本。

观察实验中需要注意的事物

重复性和符号频率决定压缩效率。

输入使用四个符号。原始数据每符号使用 8 位;RLE 使用一个 8 位符号和一个计数。汉夫表开销不计。

关键关系与符号

H ≤ L < H + 1 · ratio = compressed / original

符号及公式中使用的单位
符号含义单位
H每个符号的信息熵bit/符号
L平均代码长度bit/符号
压缩比例压缩大小/原始大小无单位

工作实例

Huffman 编码如何对频繁符号进行编码?

通常更短 · 重复以及符号频率决定压缩效率。

常见误解

  • 代码本身变得更小,并不意味着整个实际保存的文件也随之减少了相同的比例。

通过实验探索这个概念

参考文献

OpenStax ·《计算机科学导论》(英文)