Patent ID: 8810851

Claim:
An image processing apparatus comprising: a processor configured to function as: a generating unit configured to generate print data indicating whether a dot having one of a plurality of sizes is formed or not, by performing a halftone process on original image data, wherein the print data includes partial data for printing in a unit region on a recording sheet, wherein the unit region is a region to be printed during one main scanning, which is a movement of a print head in a main scanning direction, and wherein the partial data includes edge part data for printing in an edge region of the unit region; a correcting unit configured to generate corrected print data by correcting the print data, the correcting unit including: a dividing unit configured to divide the edge part data into a plurality of block data, each block data including a plurality of dot data corresponding to a plurality of dots to be printed and arranged in the main scanning direction on the recording sheet, and each dot data including size information indicating one of the plurality of sizes; an index value determining unit configured to determine an index value for each block data, the index value being determined in accordance with an amount of ink to be used for printing all of the plurality of dots corresponding to the plurality of dot data included in the respective block data; and a changing unit configured to change, for each block data, the size information of at least one of the plurality of dot data included in the respective block data based on the index value such that a first amount of ink is less than a second amount of ink, wherein the first amount of ink is an amount of ink to be used for printing all of the plurality of dots for the respective block data in accordance with the changed size information of the at least one of the plurality of dot data included in the respective block data, and wherein the second amount of ink is an amount of ink that would have been used for printing all of the plurality of dots for the respective block data in accordance with the size information before changing the size information of the at least one of the plurality of dot data included in the respective block data; and a supplying unit configured to supply the corrected print data, wherein the changing unit includes: a first unit configured to change the size information of the at least one of the plurality of dot data in the respective block data from a first size to a second size less than the first size; and a second unit configured to change the size information of the at least one of the plurality of dot data in the respective block data from the second size to a third size less than the second size, wherein the first unit is configured to change the size information prior to the second unit.