An image processing apparatus, comprising: an input unit which inputs a pixel value of a current multi-level notice pixel on a pixel to pixel basis; a first add unit which adds an error value which has been diffused from a previously treated notice pixel to the input value of the current multi-level notice pixel; a second add unit which adds a green noise value to the value output from the first add unit; a threshold processing unit which outputs a binarized output value, the output value being obtained by binarizing the value output from the second add unit by using a threshold; a green noise calculation unit which calculates the green noise value by using an output value of a previously treated notice pixel which has been binarized by the threshold processing unit and which is positioned at a predetermined position around the current notice pixel; a subtract unit which calculates an error value due to binarization by subtracting the output value of the first add unit from the binarized output value of the current notice pixel; an error diffusion unit which diffuses the calculated error value to an untreated pixel which has not yet been binarized by the threshold processing unit and which is positioned at a predetermined position around the current notice pixel; and a correction processing unit which compares a first threshold with the error value which has been diffused by the error diffusion unit from a previously treated notice pixel, and when the error value which has been diffused is smaller than the first threshold, adds a positive first offset to the error value to perform a correction and outputs the corrected error value to the first add unit. an input unit which inputs a pixel value of a current multi-level notice pixel on a pixel to pixel basis; a first add unit which adds an error value which has been diffused from a previously treated notice pixel to the input value of the current multi-level notice pixel; a second add unit which adds a green noise value to the value output from the first add unit; a threshold processing unit which outputs a binarized output value, the output value being obtained by binarizing the value output from the second add unit by using a threshold; a green noise calculation unit which calculates the green noise value by using an output value of a previously treated notice pixel which has been binarized by the threshold processing unit and which is positioned at a predetermined position around the current notice pixel; a subtract unit which calculates an error value due to binarization by subtracting the output value of the first add unit from the binarized output value of the current notice pixel; an error diffusion unit which diffuses the calculated error value to an untreated pixel which has not yet been binarized by the threshold processing unit and which is positioned at a predetermined position around the current notice pixel; and a correction processing unit which compares a first threshold with the error value which has been diffused by the error diffusion unit from a previously treated notice pixel, and when the error value which has been diffused is smaller than the first threshold, adds a positive first offset to the error value to perform a correction and outputs the corrected error value to the first add unit.