1. A method for generating an Approximate Nearest Neighbor Field for images of an input video, the method comprising steps of generating a plurality of downscaled versions of the images of the input video at different spatial, temporal or spatio-temporal scales; generating an Inverse Approximate Nearest Neighbor Field for the input video by finding for each patch of the downscaled images one or more similar patches in the input video, wherein the patches of the downscaled images and the patches of the input video have a same size being a first size; generating an Approximate Nearest Neighbor Field for the input video by reversing the Inverse Approximate Nearest Neighbor Field, and filling gaps in the Approximate Nearest Neighbor Field by searching nearest neighbors for those patches of the input video that are not in the Inverse Approximate Nearest Neighbor Field.