100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > matlab实现数据压缩 【Matlab】Huffman编码如何实现数据压缩

matlab实现数据压缩 【Matlab】Huffman编码如何实现数据压缩

时间:2024-02-23 05:40:11

相关推荐

matlab实现数据压缩 【Matlab】Huffman编码如何实现数据压缩

Huffman编码可用于数据压缩已经是人所共知的事实。但是具体说到如何实现编码,至少作者在实验中是遇到问题了的!

对数值串:

[2 2 44004 87999 175989] --1*5

进行huffman编码,下面左列是要编码的数值,右列是编码结果。

2 [1]

44004 [0 0 1]

87999 [0 0 0]

175989[0 1]

则原数值列的编码结果为:

[1 1 0 0 1 0 0 0 0 1] -- 1*10

到这里为止应该没什么问题!

在进行压缩比的计算时,必须考虑Matlab(或者其他你处理数据的平台)中数据类型的问题。

比如:【数据类型】【占用存储】【数值范围】

uint8 8bit 0~255

uint1616bit 0~65525

int8 8bit -128~127

int16 16bit -32768~32767

!matlab中是没有bit类型的,也就是说,即使是编码结果(0-1串),最少也需要占用10*sizeof(uint8) = 80bit.

而原数据需要的存储空间为5*sizeof(uint16) = 80bit. 可以看到:完全没有实现数据压缩。

当然,作为Huffman编码结果的0-1串如果能实现按位存储,那么毫无疑问地会节省存储空间&#x

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。