1. A method, comprising: using one or more processors to perform down-sampling an input blurred image to generate a downsized image; convolving the downsized image with a blur kernel to obtain a smoothed image; for each of a plurality of patches of the input blurred image, finding a corresponding patch in the smoothed image; computing high frequency components between each of the plurality of corresponding patches in the smoothed image and corresponding patches of the downsized image; and applying the high frequency components to the plurality of patches of the input blurred images to generate a deblurred version of the input blurred image.