1. A method, comprising: receiving as input a sequence of two or more low resolution video frames, wherein one of the low resolution video frames is a current frame; calculating a global transformation, relative to the current frame, for the sequence of video frames; determining whether unexplained relative motion remains following calculation of the global transformation; responsive to identifying the unexplained relative motion, calculating an independent object motion, relative to the current frame, for the sequence of video frames; determining whether unexplained relative motion remains following calculation of the global transformation and any independent object motion; responsive to identifying the unexplained relative motion, calculating an optical flow, relative to the current frame, for the sequence of video frames; creating pixel motion trajectories, relative to the current frame, for the sequence of video frames, based on the calculated global transformation, any calculated independent object motion and any calculated optical flow; interpolating an enhanced resolution frame for the current frame from the pixel motion trajectories using spatio-temporal interpolation; and outputting the enhance resolution frame.