二进制数据的最佳压缩技术?

Jim*_*Jim 9 compression

我有一个大的二进制文件,代表图像中每个像素的alpha通道 - 0表示透明,1表示其他任何像素.这个二进制数据需要从文本文件中动态加载,并且在其中获得最大可能的压缩将是有用的.解压缩时间并不重要(除非我们说的是一分钟到一小时的跳跃),但文件需要尽可能小.

到目前为止我们尝试的方法是使用行程编码,然后是霍夫曼编码,然后将二进制数据转换为base64,并运行长度编码,但使用一个数字值和零字母等价物区分零和一(似乎给出最好的结果).但是,我们想知道是否有比这两种方案更好的解决方案,因为我们从逻辑的角度来看待它,而不是查看所有可能的方法.

Jim*_*Jim 14

由于外部库存在问题,我为此创建了一个自定义解决方案.系统使用行程长度编码来压缩数据,然后RLE编码数据用base32表示(零为32个字符,1为匹配集).这使我们能够代表大约5MB的文件,只有大约30KB,没有任何损失.

  • 介意提供一些代码? (7认同)