An image processing device that generates a pixel value of a pixel placed at a predetermined position and interpolates the pixel with the pixel value, the image processing device comprising: a periodicity determining unit configured to determine whether a halftone area including the pixel is a periodic area based on whether variation of pixel values in the area has periodicity; a boundary determining unit; a first pixel value generating unit configured to generate a first pixel value of the pixel using a first interpolation method; a second pixel value generating unit configured to generate a second pixel value of the pixel using a second interpolation method, the second interpolation method being different from the first interpolation method; a control unit configured to determine whether the first pixel value generating unit is to be used to generate the first pixel value or the second pixel value generating unit is to be used to generate the second pixel value, based on a determination result of the periodicity determining unit and a determination result of the boundary determining unit; and a pixel value inputting unit configured to input one of the first pixel value generated by the first pixel value generating unit and the second pixel value generated by the second pixel value generating unit to the pixel, the one of the first pixel value and the second pixel value being determined by the control unit; characterized in that the boundary determining unit is configured to determine, when the periodicity determining unit determines that an area is a periodic area, whether the pixel belongs to the periodic area or a non-periodic area, wherein the boundary determining unit is configured to define reference areas at positions that are separated from the pixel by a predetermined distance to left and to right, configured to obtain, for each of the reference areas, a difference between a largest component value and a smallest component value of the pixels within the corresponding reference area, and configured to determine that the pixel belongs to the periodic area when the differences are greater than or equal to a predetermined threshold value. a periodicity determining unit configured to determine whether a halftone area including the pixel is a periodic area based on whether variation of pixel values in the area has periodicity; a boundary determining unit; a first pixel value generating unit configured to generate a first pixel value of the pixel using a first interpolation method; a second pixel value generating unit configured to generate a second pixel value of the pixel using a second interpolation method, the second interpolation method being different from the first interpolation method; a control unit configured to determine whether the first pixel value generating unit is to be used to generate the first pixel value or the second pixel value generating unit is to be used to generate the second pixel value, based on a determination result of the periodicity determining unit and a determination result of the boundary determining unit; and a pixel value inputting unit configured to input one of the first pixel value generated by the first pixel value generating unit and the second pixel value generated by the second pixel value generating unit to the pixel, the one of the first pixel value and the second pixel value being determined by the control unit; characterized in that the boundary determining unit is configured to determine, when the periodicity determining unit determines that an area is a periodic area, whether the pixel belongs to the periodic area or a non-periodic area, wherein the boundary determining unit is configured to define reference areas at positions that are separated from the pixel by a predetermined distance to left and to right, configured to obtain, for each of the reference areas, a difference between a largest component value and a smallest component value of the pixels within the corresponding reference area, and configured to determine that the pixel belongs to the periodic area when the differences are greater than or equal to a predetermined threshold value.