1. A method of generating a high-resolution frame from a plurality of adjacent low-resolution frames in a video sequence, the method comprising: generating, with at least one processor, initial estimates for a plurality of quantities including blur kernel, noise level, motion, and the high-resolution frame; refining the initial estimates for the plurality of quantities using an iterative process to generate refined estimates for the plurality of quantities including a refined estimate for the high-resolution frame, wherein the refined estimate for the high-resolution frame is based at least in part on estimates for the blur kernel, noise level, and motion, and the refined estimates for the motion and the noise level are based at least in part on estimates for the high-resolution frame and the blur kernel; and outputting the refined estimate for the high-resolution frame when it is determined that an estimate of the refined estimates has a quality metric above a threshold.