1. An apparatus comprising: a first obtaining unit configured to obtain image data, which represents an image, to be executed an image process; a second obtaining unit configured to obtain information associated with image nonuniformity which appears in an image printed on a printing medium by an output device, the image nonuniformity being caused by characteristics variations of the output device; a partition unit configured to partition at least part of the image data obtained by the first obtaining unit into a plurality of processing blocks, based on the information obtained by the second obtaining unit, size of each of the plurality of processing blocks being determined in accordance with the image nonuniformity of the information, sizes of processing blocks adjacent to each other being different from each other; a determination unit configured to determine an attribute value for each processing block partitioned by the partition unit, based on the information, so as to reduce image nonuniformity which will appear in an image printed on a printing medium by the output device based on the image data, wherein the attribute value specifies processing content to be executed to one or more pixels of the image data, and wherein an identical attribute value is set for pixels included in one processing block; and an image processing unit configured to execute the image process to the image data based on the attribute value determined for each processing block, wherein at least one processor includes the partition unit, the determination unit and the image processing unit.