Upon scaling input image data and outputting the scaled image data, an address
arithmetic processor determines phase information, which indicates the distances
between the position of the pixel of interest after scaling and neighboring pixels
of an original image, in accordance with the scale of that scaling, a coefficient
arithmetic processor calculates filter coefficients in a filter process in accordance
with the determined phase information, and a filter processor executes the filter
process of the input image data by convolution operations on the basis of the calculated
filter coefficients and outputs multi-valued image data. An LUT converts the density
of the multi-valued image data in correspondence with the density characteristics
of a printer, and a binarization processor binarizes the multi-valued image data
and outputs binary image data to an image storage unit.