问:
如果一个序列中不同的数出现频率相同,那么算数编码是不是就无法实现压缩的效果了?
答:
算术编码与符号频率的关系
均匀分布的情况
- 当序列中不同数字出现的频率相同时(均匀分布)
- 算术编码无法实现压缩效果
- 原因:
- 算术编码基于符号出现的概率分配编码空间
- 均匀分布时,每个符号获得相等的编码空间
- 这相当于使用固定长度的编码
具体例子
- 4个符号(0,1,2,3)
- 每个符号出现概率 = 1/4
- 算术编码分配:
- 每个符号获得1/4的编码空间
- 相当于使用2位二进制数(00,01,10,11)
- 无法实现压缩
压缩实现的条件
- 符号出现概率不均匀时才能实现压缩
- 高频符号:分配更大的编码空间
- 低频符号:分配更小的编码空间
- 整体上实现压缩效果
结论
序列中不同数字出现频率相同时算术编码无法实现压缩效果,需要使用其他压缩方法