1. A method for determining a high resolution output image comprising: (a) receiving a low resolution image having a first resolution; (b) determining a first intermediate high resolution image having a second resolution based upon said low resolution image, where the second resolution is greater than the first resolution; (c) determining a second intermediate high resolution image having a third resolution based upon said input image, where said third resolution is greater than said first resolution; (d) detecting semantic features of said second intermediate high resolution image and selecting corresponding semantic components from a database based upon said detected semantic features; (e) modifying said first intermediate high resolution image based upon information from said corresponding semantic components to determine said high resolution output image having a fourth resolution, where the fourth resolution is greater than the first resolution.