The Wiener process is to add continuous Gaussian noises to a clean signal, which constructs the dispersion part of a Stochastic Differential Equation (SDE). In this project, we model the image noise-adding process as a conditional Wiener process where the noisy image is an intermediate state and the transition follows a simple SDE. Naturally, we can reverse the SDE to get the initial state image. Its drift function of the reverse-time SDE can be derived from the original forward SDE with an additional score function which can be approximated with a deep convolutional neural network (CNN). We would like to evaluate this approach on various of tasks like unconditional/conditional image generation, image restoration, and image translation. This project aims to breakthrough the current frameworks of image denoising, leading to a better result in realistic image/signal restoration.