【发布时间】:2013-03-28 22:08:29
【问题描述】:
我们正在动态地对大量图像进行 JPEG 压缩。
这是一个服务器端进程,用于以交互方式准备要发送到客户端浏览器的图像。
使用渐进式压缩可以改善用户体验。
我知道这种压缩需要更多的解压计算,但这不是问题。
我想知道渐进式压缩是否也更昂贵以及多少(无需运行我自己的一系列测试和基准测试)。
【问题讨论】:
-
什么成本(时间/大小)?渐进式 JPEG 肯定需要更多的 CPU 时间来实现;这是您要问的还是要问文件是否会更大?
-
我说的是 CPU 时间。
-
取决于你如何实现它,它不一定是一个巨大的差异,它取决于你为每个图像创建多少扫描。渐进式编码也需要更多的临时内存,因为 FDCT 转换的 MCU 必须保存在内存中。每次扫描都必须遍历每个 MCU 的每个系数并提取正确的位,然后对它们进行熵编码。渐进式编码所需的实际内存和 CPU 数量对于每个编解码器都是唯一的,因为有不止一种方法可以做到这一点。
-
我正在使用 MAC OS X 的核心图形 API 来做这件事。而且我的压缩时间明显增加。我肯定会运行一些基准测试。然而,令我惊讶的是,我注意到一些浏览器不会逐个扫描呈现渐进式 jpeg,其中一个是 Safari(移动设备和桌面设备)。
-
我对 Mac 不熟悉,所以无法发表评论。某些浏览器不会逐步显示图像是有道理的,因为它需要编解码器和浏览器渲染引擎之间的交互。如果使用的编解码器是外部库,则可能无法在解码时接收较低分辨率的图像。