1. A computer implemented method for performing a signal-processing task of blind deblurring on an input signal, the method comprising: estimating a blur kernel associated with said input signal, by utilizing recurrence of signal patches across multiple scales inside a reference signal, wherein said reference signal is a related version of said input signal, and said blur kernel is a blur function relating said input signal and a sharper output version of said input signal having same scale; and utilizing said estimate of said blur kernel for deblurring said input signal; wherein said estimating comprises steps of: generating a down-scaled signal by down-scaling said reference signal; generating an estimate of said sharper output; and generating said estimate of said blur kernel; wherein patches in said estimate of said sharper output are similar to patches in said down-scaled signal; and wherein convolving said estimate of said sharper output with said estimate of said blur kernel is similar to said input signal.