huffman encode
哈夫曼编码,website http://www.data-compression.com
数据压缩技术的理论基础是信息论。
根据信息论的原理,可以找到最佳数据压缩编码方法,数据压缩的理论极限是信息码。
如果要求在编码过程中不丢失信息量,即要求保存信息码,这种信息保持编码又叫做码保存编码,或者叫哈夫曼编码。
哈夫曼编码是无失真数据压缩,用这种编码结果经解码后可无失真地恢复出原图像。
当考虑到人眼对失真不易觉察的生理特征时,有些图像编码不严格要求码保存,
信息可允许部分损失以换取高的数据压缩比,这种编码是有失真数据压缩,通常运动图像的数据压缩是有失真编码。
JPEG压缩算法使用了两种哈夫曼编码方法:哈夫曼编码和算术编码。
在此我们只介绍哈夫曼编码。
哈夫曼编码Huffman方法于1952年问世,迄今为止仍经久不衰,
广泛应用于各种数据压缩技术中,且仍不失为哈夫曼编码中的最佳编码方法。
哈夫曼编码的理论依据是变字长编码理论。
在变字长编码中,编码器的编码输出码字是字长不等的码字,按编码输入信息符号出现的统计概率,给输出码字分配以不同的字长。
对于编码输入中,出现大概率的信息符号,赋以短字长的输出码字;
对于编码输入中,出现小概率的信息符号,赋以长字长的输出码字。可以证明,按照概率出现大小的顺序,
对输出码字分配不同码字长度的变字长编码方法,其输出码字的平均码长最短,与信源码值最接近,编码方法最佳。
哈夫曼编码的具体步骤归纳如下:
.概率统计(如对一幅图像,或m幅同种类型图像作灰度信号统计),得到n个不同概率的信息符号。
.将n个信源信息符号的n个概率,按概率大小排序。
.将n个概率中,最后两个小概率相加,这时概率个数减为n-1个。
.将n-1个概率,按大小重新排序。
.重复③,将新排序后的最后两个小概率再相加,相加和与其余概率再排序。
.如此反复重复n-2次,得到只剩两个概率序列。
.以二进制码元(0.1)赋值,构成哈夫曼码字。编码结束。
哈夫曼码字长度和信息符号出现概率大小次序正好相反,即大概信息符号分配码字长度短,小概率信息符号分配码字长度长。
大分类是有损压缩和无损压缩,
无损压缩比如文件压缩用的zlib,rar,huffman
有损压缩,主要用于图像和视频处理,比如小波,MPEG-x等
哈夫曼编码,website http://www.data-compression.com
数据压缩技术的理论基础是信息论。
根据信息论的原理,可以找到最佳数据压缩编码方法,数据压缩的理论极限是信息码。
如果要求在编码过程中不丢失信息量,即要求保存信息码,这种信息保持编码又叫做码保存编码,或者叫哈夫曼编码。
哈夫曼编码是无失真数据压缩,用这种编码结果经解码后可无失真地恢复出原图像。
当考虑到人眼对失真不易觉察的生理特征时,有些图像编码不严格要求码保存,
信息可允许部分损失以换取高的数据压缩比,这种编码是有失真数据压缩,通常运动图像的数据压缩是有失真编码。
JPEG压缩算法使用了两种哈夫曼编码方法:哈夫曼编码和算术编码。
在此我们只介绍哈夫曼编码。
哈夫曼编码Huffman方法于1952年问世,迄今为止仍经久不衰,
广泛应用于各种数据压缩技术中,且仍不失为哈夫曼编码中的最佳编码方法。
哈夫曼编码的理论依据是变字长编码理论。
在变字长编码中,编码器的编码输出码字是字长不等的码字,按编码输入信息符号出现的统计概率,给输出码字分配以不同的字长。
对于编码输入中,出现大概率的信息符号,赋以短字长的输出码字;
对于编码输入中,出现小概率的信息符号,赋以长字长的输出码字。可以证明,按照概率出现大小的顺序,
对输出码字分配不同码字长度的变字长编码方法,其输出码字的平均码长最短,与信源码值最接近,编码方法最佳。
哈夫曼编码的具体步骤归纳如下:
.概率统计(如对一幅图像,或m幅同种类型图像作灰度信号统计),得到n个不同概率的信息符号。
.将n个信源信息符号的n个概率,按概率大小排序。
.将n个概率中,最后两个小概率相加,这时概率个数减为n-1个。
.将n-1个概率,按大小重新排序。
.重复③,将新排序后的最后两个小概率再相加,相加和与其余概率再排序。
.如此反复重复n-2次,得到只剩两个概率序列。
.以二进制码元(0.1)赋值,构成哈夫曼码字。编码结束。
哈夫曼码字长度和信息符号出现概率大小次序正好相反,即大概信息符号分配码字长度短,小概率信息符号分配码字长度长。
大分类是有损压缩和无损压缩,
无损压缩比如文件压缩用的zlib,rar,huffman
有损压缩,主要用于图像和视频处理,比如小波,MPEG-x等