1. A method, comprising: receiving as input a sequence of two or more low resolution video frames; creating pixel motion trajectories for the sequence of video frames by registering the frames, the created pixel motion trajectories being relative to a current frame of the received sequence, and including: calculating a global transformation, relative to the current frame, for the received sequence of video frames, such that the creating of the pixel motion trajectories is based on the calculated global transformation; performing spatial interpolation on the registered frames from points that are not on a regular grid to points that are on a regular grid, wherein the results of the spatial interpolation comprise noisy observations on the regular grid; performing temporal approximation on the noisy observations, wherein the results of the temporal approximation are high resolution video frames; and outputting a sequence of high resolution video frames.