图像处理 无损压缩-哈夫曼编码(可变字长符号编码)

有损压缩

概念

按照压缩方法是否丢失信息分为有损压缩和无损压缩,有损压缩解压缩后的数据与原始数据完全相同。 解压缩后获得的数据是原始数据的副本,是一种不可逆压缩。

主要算法

消除编码冗余: 哈夫曼编码和算术编码。
消除像素间冗余:LZW编码,位平面编码,行程编码和无损预测编码。

哈夫曼编码

定义

哈夫曼编码,又称为霍夫曼编码,是一种字符编码。

在计算机数据压缩处理中,霍夫曼编码使用变长编码表()对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现几率的方法得到的,出现几率高的字母使用较短的编码,反之出现几率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

性质

  • 可变字长编码(VLC)
  • 源符号出现的频率越高,使用的代码字长越少。
  • 一致的编码方法(也称为“熵编码方法”),用于数据的无损压缩。

信息熵

英文entoropy,反映图像中的平均信息量。

定长和变长编码比较

定长编码:fixed length coding (FLC),如定长一字节或者定长二字节
变长编码:virable length coding(VLC)

示例

SymbolProbabilityFLCVLC1VLC2VLC3
K1/20001110
L1/401101101
P1/8101101001
C1/811111010

对 KLKPLCKK 用上述四个方式编码

方式表示编码长度length
FLC00 01 00 10 11 00 002*8 =16 bits
VLC10 10 0 110 10 111 0 01+2+1+3+2+3+2 = 14 bits
VLC2111 110 111 10 110 0 111 1113+3+3+2+3+1+3+3 = 21 bits
VLC30 1 0 01 1 10 0 01+1+1+2+1+2+1+1 = 10 bits

总结 根据最后编码长度,VLC3 的长度最短,符合出现概率高的字母使用较短的编码,因此是哈夫曼码。

信息熵:反映图像中的平均信息量,用H(entoropy)表示,小于等于Lavg(average length)

示例

在这里插入图片描述

生成哈夫曼编码

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kxwang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值