An image processing method for executing a quantization process of image
data by error diffusion, executes a step of generating first image data
by adding a quantization error to input image data, a step of generating
second image data by quantizing the first image data by comparing the
first image data with a predetermined threshold value, a step of
generating third image data by dequantizing the second image data, a
calculation step of calculating a quantization error for each pixel on
the basis of the difference between the first and third image data, a
storage step of storing information indicating a positive/negative sign
of the calculated quantization error for a predetermined number of pixels
in a storage unit, and a correction value generation step of generating a
correction value used to correct at least one of the first image data and
the threshold value on the basis of the information which is stored in
the storage unit and indicates the positive/negative sign.