紧凑的位图差异/补丁

时间:2013-12-08 13:45:26

标签: bitmap compression diff vnc

我需要计算2个位图之间的差异并将其存储为补丁/差异,当应用于位图1时将导致位图2.反之则不是必需的。我希望补丁尽可能小,但无损。

一个简单的实现方法是找到所有更改的像素,确定它们的组合边界框并将位图2的内容存储在该框中。但是,如果例如图像的两个相对角上只有很小的变化,这将存储整个图像,浪费了大量空间。相反,最好分别包含2个更改。

我想已经存在一个很好的算法,用于例如VNC和视频压缩,但我无法找到它。你知道吗,它叫什么?

(在这种情况下,位图代表类似蠕虫的游戏中的可破坏地形。)

1 个答案:

答案 0 :(得分:2)

嗯,我想出了一些不错的东西,至少对于位掩码(黑/白)图像。

获取位图1:

enter image description here

和位图2:

enter image description here

将他们排在一起:

enter image description here

裁剪边缘:

enter image description here

用PNG或其他无损图像编解码器压缩它,它应该处理大的黑色区域。