如何压缩一批图像?

时间:2014-05-20 17:26:24

标签: java image performance compression

我们不断在海外转移数十亿字节的压缩Tiff,每批图像需要很长时间才能传输。批次转移需要6个多小时并不罕见。我想减少转移一批图像的时间。

据我所知,视频压缩效果非常好,因为每个帧的大部分时间通常与前一帧非常相似,压缩算法会利用这一点。在我们的场景中,图像通常看起来彼此相似。我是否可以使用任何图像压缩库来利用图像中存在大量冗余的事实?理想情况下,我希望无损压缩。

如果我在传输图像之前将图像转换为视频然后将图像转换回另一侧的图像,是否会有效?如果这样可行,您会推荐哪些图书馆?我需要能够从Java调用它,最好在Linux上运行它,但是库不需要用Java编写。 Windows也可能是一种可能性。

1 个答案:

答案 0 :(得分:1)

我会先尝试一下:

uncompressed tiff开始(否则,很难找到相似之处)。

tar他们在一起(因此他们包含在单个文件中,当然可以是特定范围的图片。)

然后使用您选择的压缩算法来查看哪一个产生最佳结果(在单个文件上)。

很容易尝试而不需要太多努力。它的工作原理取决于源图像本身(以及使用的压缩算法)。

如果上述结果不能产生足够的结果,则采用替代方法:

  1. 确保您拥有所有未压缩的图片。

  2. 发送第一张图片。

  3. 对下一张图片执行binary diff(或者可能将hexdump区分)。

  4. 发送diff文件并将其应用于接收端以重建图像。

  5. 每张图片重复3-4次。

  6. 我个人认为您不会通过使用视频压缩算法轻松获得良好(无损)结果(毕竟,它们专门针对不同目的而定制)。