霍夫曼编码计算图片压缩率

  • Post author:
  • Post category:其他


给定一个包含0,1,2,3像素值的灰度图像,其像素值的比例分别为70%,15%,12%,3%,求对其进行霍夫曼编码后相对于原始8bit存储的压缩率是多少?

记符号为 0, 1, 2, 3

频率为 0.7,0.15,0.12,0.03

按照下列步骤构造哈夫曼树:

  1. 将符号按频率排序,选取频率最小的两个符号("3"和"2")作为树的左右子节点
  2. 将 "3"和"2"的频率合并得0.15,重新对合并的结果进行频率排序
  3. 迭代1和2,得到哈夫曼树
  4. 将哈夫曼树各级左子树标记为0,右子树标记为1
  5. 得到哈夫曼编码为3:111,2:110,1:10,0:0

在这里插入图片描述

压缩率为




1

(

(

0.03

3

+

0.12

3

+

0.15

2

+

0.7

1

)

/

(

0.03

2

+

0.12

2

+

0.15

2

+

0.7

2

)

)

=

0.275

1-((0.03*3+0.12*3+0.15*2+0.7*1)/(0.03*2+0.12*2+0.15*2+0.7*2))=0.275






1













(


(


0


.


0


3













3




+








0


.


1


2













3




+








0


.


1


5













2




+








0


.


7













1


)


/


(


0


.


0


3













2




+








0


.


1


2













2




+








0


.


1


5













2




+








0


.


7













2


)


)




=








0


.


2


7


5






版权声明:本文为andyjkt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。