An image stream is a number of consequent images.
Most of these images are similar, with small differences. Sometimes differences between the images are small, but sometimes almost whole images are completely different.
Examples for image streams:
a) recorded video, captured from Windows desktop.
b) video stream (captured from web cam)
We have implemented our own compression but we are looking for a better algorithm and implementation that will:
1. work faster
2. compress more
3. decompressed images quality should be good. There should be no visual artefacts like in JPEG compression in high compression modes.
The compression module you will implement has to meet the following requirements:
1. compress the image pixels
2. decompress the image pixels
3. compression can be lossy or lossless, but it should preserve a good image quality.
4. because this is a stream of images, compression of one image should consider the previous one or more images and encode only the differences. When compressing the first image we can consider the previous ones are black.
5. source code in C++ that can be built with MS Visual C++ 6.0
6. do not use third-party commercial or open source libraries
7. works fast - faster than our own implementation.
8. high compression level - better than our own implementation.
9. there should be no visual artefacts in decompressed images.
We have created an application framework to test the compression performance. Each compression algorythm is implemented as a Win32 DLL. You have to implement your algorythm in Win32 DLL too.
We will provide:
1. a framework application that will test the performance of your compression.
2. our implemetation as a Win32 DLL
3. example (empty) DLL in source code. You should implement your algorythm in this DLL
4. set of pictures to test our and your compression.