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; 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.