Is there an algorithm which can take advantage of a previous image in order to compress the next image with a level of compression / quality than otherwise?
I have an app which takes a photo of the sky ever few minutes and then uploads that to a single server. The camera is immovable.
It occurs to me that if I could references (previous image) then I should be able to compress losslessly at a higher rate.
So, I expect that when my local app starts it would upload the full image. The next time it takes an image it would feed (previous_image, new_image) to the compression algorithm, and I'd basically get the diff between the two. The algorithm should be intelligent about subtle color changes and movement (e.g., a cloud). Now local_app and server both have a copy of new_image (local_app has the original and server has the re-constructed) and in the next cycle local_app would feed (new_image, newer_image) to the algorithm.
I assume that this is much how video compression work, but short of recreating a two-frame video and then using a standard video compression algorithm, I haven't found an approach for this.
Something already implemented in python would be ideal. :)