实时压缩32位RGBA图像数据

时间:2012-10-07 02:07:46

标签: c compression rgba

压缩RGBA 32位图像数据的最快算法是什么?我在C工作,但很高兴其他编程语言的例子。

现在我正在使用LZ4,但我正在考虑运行长度/增量编码。

无损编码,现实生活中的图像和计算机生成/剪贴画图像的混合。 Alpha通道始终存在,但通常是不变的。

3 个答案:

答案 0 :(得分:3)

我最后只使用了LZ4。没有其他任何东西接近快速,LZ4通常至少减少50%的尺寸。

答案 1 :(得分:1)

有损还是无损?
“真实”图像或计算机图形?
你真的有一个alpha通道吗?

如果您需要无损(或半无损),那么转换为YUV并压缩它可能会减少大约1/2(在已经达到2字节/像素之后)尝试Huffyuv

如果你有真实的图像,那么H264可以进行非常高的压缩,并且有支持的库和硬件支持,所以它可以非常快。

如果您的计算机图形类型图像颜色很少但需要保留边缘,或者您实际上有A通道,则运行长度可能会很好 - 请先尝试将图像分割为每个颜色的帧。

答案 2 :(得分:0)

LZ4是LZ77系列,这是几行代码,但我自己从未做过,但我猜你是正确的长度或delta代码是最快的,也适用于图像。还有一个快速的算法。最近我尝试使用exdupe实用程序来压缩我的虚拟机。这件事也很快:http://www.exdupe.com。 exdupe似乎使用了一个rzip的东西:http://encode.ru/threads/1354-Data-deduplication