1. A method of image encoding in a video encoder, comprising: selecting initial reference blocks in an image; predicting sets of blocks in the image successively over a plurality of stages based on a respectively plurality of templates, each of the plurality of templates including reference blocks selected from at least one of: the initial reference blocks; or previously encoded and reconstructed blocks of the image; and encoding the image in the video encoder using the initial reference blocks and the sets of blocks as predicted.