An image processing apparatus which removes noise in an input image by adding a reference image to the input image, said image processing apparatus comprising: a motion estimation unit configured to generate motion information indicating a motion estimated for the input image with reference to the reference image; a motion compensation unit configured to generate a second image corresponding to a first image by performing motion compensation using the generated motion information, the second image being a reference image after motion compensation, and the first image being a reference image before motion compensation; characterized in that image processing apparatus further comprises: a flatness degree calculation unit configured to calculate a flatness degree of the input image such that the flatness degree becomes higher as a pixel value variation or an edge amount of the input image becomes smaller; a rate calculation unit configured to calculate addition rates for the input image, the first image, and the second image, using the calculated flatness degree; and a pixel addition unit configured to generate an image that is to be an output image by adding the input image, the first image, and the second image according to the addition rates calculated for the respective images that are the input image, the first image, and the second image. a motion estimation unit configured to generate motion information indicating a motion estimated for the input image with reference to the reference image; a motion compensation unit configured to generate a second image corresponding to a first image by performing motion compensation using the generated motion information, the second image being a reference image after motion compensation, and the first image being a reference image before motion compensation; characterized in that image processing apparatus further comprises: a flatness degree calculation unit configured to calculate a flatness degree of the input image such that the flatness degree becomes higher as a pixel value variation or an edge amount of the input image becomes smaller; a rate calculation unit configured to calculate addition rates for the input image, the first image, and the second image, using the calculated flatness degree; and a pixel addition unit configured to generate an image that is to be an output image by adding the input image, the first image, and the second image according to the addition rates calculated for the respective images that are the input image, the first image, and the second image. a flatness degree calculation unit configured to calculate a flatness degree of the input image such that the flatness degree becomes higher as a pixel value variation or an edge amount of the input image becomes smaller; a rate calculation unit configured to calculate addition rates for the input image, the first image, and the second image, using the calculated flatness degree; and a pixel addition unit configured to generate an image that is to be an output image by adding the input image, the first image, and the second image according to the addition rates calculated for the respective images that are the input image, the first image, and the second image.