So I divided the project into three main parts:-
1) Replicate Efros and Leung's Texture Synthesis algorithm for a standard BMP image.
2) Write a class to check and record the difference between two similar images (the grown image and the original image) which should be of the same format and resolution (to be able to verify this), and be able to regenerate the original image given just this difference and the seed image. This algorithm should be publicly available and should run independent of Step 1.
3) To be able to use modules 1 and 2 to compress an image, storing only the seed blocks, and the image differences (Compression Part) and to evaluate the Compression Ratio.