The present invention further improves gradation characteristics from a highlight region to a high-density region. First, the correction processing receives image data, and an image attribute discrimination discriminates whether the data are related to a character/thin line or others on the basis of attribute information on a pixel of interest. If it is discriminated that the data are related to a character/thin line, a pattern matching to data stored in a line buffer is performed to obtain a pixel distance, and in accordance with the pixel distance, a correction amount is determined on the basis of an LUT set in a correction amount determination. Subsequently, on the basis of the determined correction amount, corrected image data are generated and output to the following step.