Chinaunix

标题: 请教压缩算法 [打印本页]

作者: VIP_fuck    时间: 2015-11-18 09:19
标题: 请教压缩算法
RT

各位大牛研究过压缩算法吗?为什么同一个压缩工具zip,压缩一个1.2g的文本文档之后,可能是20M+,而压缩一个400M的文档后,变成一个30M+的压缩文件。


作者: hellioncu    时间: 2015-11-18 09:47
不同的文件内容压缩率不一样
作者: lxyscls    时间: 2015-11-18 09:50
你要压缩照片,原来是多大,压完还是多大
作者: VIP_fuck    时间: 2015-11-18 09:52
回复 3# lxyscls


    我说的是文本文件。看清楚了?
作者: VIP_fuck    时间: 2015-11-18 09:53
回复 2# hellioncu


    多谢,刚刚下载了一本压缩类的书,抽时间看看。
作者: heguangwu    时间: 2015-11-18 09:54
这个取决于文件中的片段重复率,比如一个1.2G的全部是是“AAA”的字符串甚至可以压缩到非常小,而某些视频文件由于重复率低可能压缩文件比原始文件还大
压缩算法一言难尽,如一万个A可被压缩为A10000,再比如将出现的字符串编码成字典,这样在后面带一个字典,而实际的数据中的都用字典值来替代,当然实际压缩算法更复杂
作者: VIP_fuck    时间: 2015-11-18 10:19
回复 6# heguangwu


    多谢,我估计也是重复率比较高,1.2G的文本文档,有90%是重复数据。400M+的重复数据相对少些。
作者: likeytom    时间: 2015-11-18 12:55
heguangwu 发表于 2015-11-18 09:54
这个取决于文件中的片段重复率,比如一个1.2G的全部是是“AAA”的字符串甚至可以压缩到非常小,而某些视频文 ...


赞同!
还有楼楼上说的照片,其实也是一样道理,因为图片本身已经压缩过,所以几乎没有重复的,再压缩也不会变小多少~
作者: seanking1987    时间: 2015-11-18 13:53
6楼解释的靠谱,有道理
作者: neodreamerus    时间: 2015-11-19 14:38
回复 1# VIP_fuck

虽然有1.2G但是信息量却只有20M
另一个有400M,信息量是30M。
要想理解的透彻,可以学学信息论。

你可以试试压缩一个1G的内容全为0的文件, 我刚刚试了下,
用gzip压缩后只有1M


   
作者: VIP_fuck    时间: 2015-11-20 08:40
回复 10# neodreamerus


    请看7楼
作者: dorodaloo    时间: 2015-11-24 12:39
回复 1# VIP_fuck

赞同!

有道理
我刚刚试了下,6楼解释的靠谱,
作者: action08    时间: 2015-11-25 20:34
信息量什么是专门讲这个,有个人才香农的人开辟的这块领域
作者: yulihua49    时间: 2015-11-26 10:54
本帖最后由 yulihua49 于 2015-11-26 10:56 编辑
action08 发表于 2015-11-25 20:34
信息量什么是专门讲这个,有个人才香农的人开辟的这块领域

压缩掉的是信息冗余。就是挤掉水分。不同的数据含水量不同。不同的挤压器,挤干的程度也不同。
香农的理论,指出了挤到最干能有多干。实现,想办法逼近这个值。
作者: action08    时间: 2015-11-26 12:09
回复 14# yulihua49


    大学教我们这门科的老师是个女研究生,平时对学生蛮凶,所以
作者: yulihua49    时间: 2015-11-26 12:49
action08 发表于 2015-11-26 12:09
回复 14# yulihua49

要是美女你就更记不住了,只记得美女了。
作者: action08    时间: 2015-11-26 14:15
yulihua49 发表于 2015-11-26 12:49
要是美女你就更记不住了,只记得美女了。


在俺们学校绝对属于校花级别的,然后留校读研了,真是便宜了学校那帮禽兽叫兽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2