Patent ID: 7528992

Claim:
An image processing device, comprising: an input portion receiving an input pixel value for one pixel, the input pixel value indicating either one of a first predetermined number of different first tone levels, the first predetermined number being greater than or equal to three; an input pixel value correcting portion that corrects the input pixel value for the pixel based on errors that have been generated at already-processed pixels, thereby determining a corrected input pixel value; a noise providing portion that provides a noise to either one of the corrected input pixel value and at least one threshold by executing either one of a noise value adding process and a noise value subtracting process, the noise value adding process adding a noise value to the corrected input pixel value, the noise value subtracting process subtracting the noise value from the at least one threshold; an output portion that compares a noise-value-added corrected input pixel value with at least one of the at least one threshold when the corrected input pixel value is added with the noise value and that compares the corrected input pixel value with at least one noise-value-subtracted threshold when the noise value is subtracted from the at least one threshold, thereby outputting an output pixel value based on a compared result, the output pixel value indicating either one of a second predetermined number of different second tone levels, the second predetermined number being smaller than the first predetermined number but being greater than one; and an error calculating portion that calculates a difference between the corrected input pixel value and a relative value corresponding to the output pixel value, the relative value being either one of a plurality of relative values that correspond to the second predetermined number of different second tone levels, the noise providing portion providing the noise to the either one of the corrected input pixel value and the at least one threshold when the input pixel value is equal to at least one of the plurality of relative values and at least one adjacent value that is adjacent to at least one of the relative values.