1. A method of generating a high-resolution image from a generic low-resolution image, the method comprising: extracting a plurality of low-frequency primitives from a low-resolution image; and replacing one or more respective ones of the plurality of low-frequency primitives with corresponding primitives from stored training data to provide a high-frequency primitive layer of the low-resolution image.