1. A method for upscaling an input image, comprising tile steps off interpolating the input image to produce a first intermediate image; sharpening edges in the first intermediate by replacing patches of pixels with a combination of reference patches to obtain a second intermediate image; decomposing tile second intermediate image into an edge layer and a detail layer; enhancing the detail layer using a mapping function to produce an enhanced detail layer; and merging the edge layer and tile enhanced detail layer to produce an output image at a larger resolution than the input image, wherein the steps are performed in a processor; 
 (1âˆ’Î±){tilde over ( I )}+Î±âˆ«({tilde over ( D )})=Îµ({tilde over ( I )}), wherein Ä¨ is the first intermediate image, Î± is a blending factor during the merging, Æ’ is the mapping function, {tilde over (D)} is the enhanced detail layer, and Îµ is an overall detail-enhancement operator.