7

是否有比 JPEG 更快但得到很好支持的压缩算法?我知道 jpeg2000,但据我所知,它并没有那么快。

编辑:用于压缩。

Edit2:它应该在 Linux 32 位上运行,理想情况下它应该是 C 或 C++。

4

6 回答 6

4

Jpeg 编码和解码应该非常快。您将很难找到更快的算法。如果速度很慢,您的问题可能不是格式,而是编码器的错误实现。尝试项目libavcodec中的编码器ffmpeg

于 2010-12-29T17:44:45.300 回答
3

您的目标架构上是否有可用的 MMX/SSE2 指令?如果是这样,您可以尝试libjpeg-turbo。或者,您可以使用类似的东西压缩图像,zlib然后将实际减少的内容卸载到另一台机器上吗?图像的实际有损压缩是否必须在嵌入式设备本身上进行?

于 2010-12-29T17:13:13.330 回答
2

在什么情况下?在 PC 或便携式设备上?

根据我的经验,您有 JPEG、JPEG2000、PNG 和……嗯,这就是在广泛的上下文中“支持良好”的图像类型(有损与否!)

(万岁,GIF 即将推出。)

于 2010-12-29T16:54:46.577 回答
2

JPEG2000 一点也不快。使用 jpeg 的编码或解码速度是否不够快?只在 jpeg 上执行 4x4 FDCT 和 IDCT 可能会快很多。

很难找到有关 IJG libjpeg 的任何文档,但是如果您使用它,请尝试降低质量设置,它可能会使其更快,而且似乎有一个快速的 FDCT 选项。

有人提到使用 SIMD 指令并与常规 libjpeg 兼容的 libjpeg-turbo。如果这是您的选择,我认为您应该尝试一下。

于 2010-12-29T16:57:59.643 回答
1

如果您不需要完整的图像保真度,您可以简单地将图像调整为更小的图像。将每个 2x2 块平均为一个像素将很快将大小减小到 1/4。

于 2010-12-29T17:40:16.587 回答
1

我认为基于小波的压缩算法通常比使用 DCT 的压缩算法慢。也许你应该看看 JPEG XR 和 WebP 格式。

于 2010-12-29T17:01:01.853 回答