Halftoning is a process by which continuous-tone images are approximated by a pattern of pixels that can achieve only a limited number of discrete intensities. An example of this is the rendering of gray tones with black and white pixels, such as in a newspaper photograph. A halftone pattern is made up of a region of pixels referred to as a halftone cell. In conventional digital halftoning (e.g., halftoning that uses rational tangent angles), a halftone cell includes a specific, repeatable pattern. The tonal range of a halftone pattern depends upon the number of pixels in the halftone cell.
A halftone cell may cover only a small number of values (e.g., 16 values for a 4×4 cell). However, it may be necessary to include a higher range of values (e.g., 256). Thus, the halftone cell may be converted to a super-cell by replicating the original cell to create a larger cell having more gray levels. The larger cell includes multiple screen dots where each dot is slightly different which increases the number of gray levels beyond the number for a single cell. Since super-cell halftones can provide up to 256 gray values, for systems which have bit depth of eight, they are usually implemented as a default for all objects that are to be printed.
Although super-cell halftones are exceptional for providing a large number of gray levels, they do not provide as much sharpness for rendering fine details as single-cell halftones. Therefore, printer users must typically sacrifice print quality in certain portions of a page in order to achieve a higher number of gray levels, or sacrifice the number of gray levels in other portions of a page to achieve fine details, since printers have only the capability of processing a page of print data using either single-cell or super-cell halftones.
Accordingly, a mechanism to automatically select between multiple halftones during rendering of a page is desired.