Image Denoising and Restoration