1. A method of halftoning a digital image in a digital image processing system, the digital image having an x,y array of pixel values each pixel having N.sub.o levels for output to a device having N.sub.q levels, where N.sub.o &gt;N.sub.q &gt;1, comprising the steps of: a. providing a memory containing a matrix of dither values generated by minimizing a visual cost function, wherein said visual cost function is a combination of costs for a plurality of threshold values; b. modularly addressing said memory containing said dither matrix with the location of a pixel in said digital image to obtain an addressed dither value; c. adding the addressed dither value to the value of said pixel to obtain a sum; d. quantizing said sum to N.sub.q levels to produce a multi-level halftone image; and e. repeating steps b through d for every pixel in the digital image.