有关压缩的问题

在我们需要对数据进行无损压缩的时候,需要根据情况选择一种好的压缩算法,但是,不管什么样的压缩算法,当数据源的数据非常杂乱的时候,很有可能压缩后的结果比压缩前更大,这是由于压缩算法需要在压缩后的数据中加入描述信息,数据的压缩率也取决于数据的统计特性,如数据源中存在有大量重复的字节,那压缩比一定很高,如数据源的字节都不重复,或者仅有极少量的重复,这时候压缩比就很低,加上描述信息后就比压缩前大了。哈弗曼,lzma ,zlib 这些压缩算法都有这个问题。因此,在实时性要求非常高的情况下,如果数据源中的重复字节非常少,那就不要考虑无损压缩了,因为压缩和解压缩会占用大量的CPU时间,虽然压缩减少了存储空间,但是更多的CPU时间会使得程序的效率变差。

你可能感兴趣的:(有关压缩的问题)