Analytical halftone dot construction for a hyperacuity printer

Abstract: A printing device (10) is commanded to print a reference set of intensity values from almost white or highlight regions through almost dark or shadow regions. A measuring device (12) measures the actual outputted printer intensity levels from the printing device (10). An interpolator (14) interpolates the printer intensity levels into a best fit smooth curve plotted against the reference set of intensity levels which produces a non-linear function. A mapping means and converter (24a, 24b) calculate a set of fractional intensity values and densities which produce a linear function when mapped with the printer intensity levels. A dot area parameter calculator (28) calculates a set of dot parameters defining a configuration of a halftone dot required to fill an area within the halftone cell corresponding to each intensity level. For each position of each halftone cell, a measurement processor (30) determines a distance between a current scan position (a,b) and a nearest edge defined by the dot parameters. A gray value calculator (50) calculates a gray value for the current scan position based on the distance and angle to the nearest edge of the dot. The halftone dot is completed when a gray value is calculated for each position within the halftone cell. The gray values are stored in a look-up table (26). When a new image is to be printed, the intensity values are input (54) and the scan position is indexed (52) through all available scan positions to generate corresponding addresses in the look-up table (26), causing the corresponding gray values to be output serially in order for use by a laser diode controller (56) of a laser printer or analogous controllers in other types of printers.

Description: The present invention relates to the halftoning arts. It finds particular application in conjunction with printing devices having halftone patterns for simulating gray value intensities and will be described with particular reference thereto. Conventionally, printers do not produce true gray values. Rather, they only produce dots of black ink. In order to create a variety of gray tints, bunches of dots are outputted at various frequencies. The lower the number of black dots per unit area, the lighter the gray tone. The larger the number of black dots per unit area, the darker the resulting gray tone. The frequency controls the graininess of the gray tone area. There is a tradeoff between the number of gray tone levels available in human vision space. A halftone cell is a predetermined number of dots used to simulate a level of gray. Dots are arranged in a particular manner within the halftone cell to define a desired halftone spot shape (e.g., circle, square, triangle, etc.) or the dots are randomly scattered. Within each halftone cell, different gray level intensities are produced by changing the size of the halftone spot. A complete halftone pattern is formed from a multiplicity of halftone cells ranging from a cell with no dots on representing white to a halftone cell with all dots on representing black. Between the white and black cell, there is a variety of halftone spot sizes creating the different levels of gray. When the halftone cells are outputted by a printer, the human eye integrates the black dots and perceives gray areas, instead of the individual black dots. The quality of images produced by a printer will depend on the proper arrangement of dots within each halftone cell of the halftone pattern. To this end, many printing devices use customized halftone patterns. A customized halftone pattern improves the quality of a printer's images since the printer does not produce a linearly distributed range of intensities without the use of the halftone pattern. By considering the printer's hardware capabilities and limitations for producing image intensities, a skilled halftone artist typically creates the halftone pattern by hand. Viewing the printer characteristics on a computer terminal, the artist turns on each bit of each halftone cell to create halftone shapes which visually appears to give the fewest artifacts for the specific printer. This process is laborious and time-consuming. It is also prone to human errors based on the subjective nature of creating each halftone cell. Typically, each halftone cell is broken down into a fine grid, e.g., a 32x32 grid of scan positions which can be black or white. By turning appropriate scan positions on and off, a dot of the preselected size and shape, e.g., circle, square, triangle, etc. is defined. In a laser printer, the scanning laser is turned on and off to determine whether each scan position is black or white. In an ink jet printer, an ink drop is ejected or not to determine whether each position is black or white. US 4651287A discloses a method and apparatus related to image reproduction by displays and printers capable of different dot size or different spot intensity generations. The image processing algorithm assigns to each pixel location an appropriate printing or display dot size to reproduce an image closely resembling the original. US 5414531A discloses an image forming apparatus including an image forming unit for forming an image on a recording medium, and a measurement unit which measures the density of the image formed on the recording medium. A control unit determines an operation condition of the image forming unit on the basis of the measurement result from the measurement unit. A storage unit stores the operation condition determined by the control unit, and a display unit reads out the operation condition at a predetermined time for display. The control means controls a subsequent operation of the image forming apparatus according to the stored operation condition. EP 0580151A2 discloses an apparatus and method for generating a multi-level halftone image from a digitally sampled continuous tone image. A control unit instructs a preference matrix to select a specific look-up table from a look-up table stack. The selected table is used to convert an intensity value into multi-level pixel values in the halftone image. Each look-up table contains a quantized one-dimensional transfer function having as an input the magnitude of the intensity value. A similar apparatus and method is disclosed in EP 0578110A2. US 5287209A discloses an image forming device which performs tone reproduction by changing the size of dots according to input image data comprising a plurality of pixels, each of which has an image density. A tone modulation portion determines priorities corresponding to predetermined positions of the pixels within each of the blocks and changes the size of the dots according to the image densities of the pixels within the block. The tone modulation portion increases the size of the dots corresponding to the pixels in such a manner that the size of one of the dots corresponding to one of the pixels is larger than that of another one of the dots corresponding to another one of the pixels having a lower priority than one of the pixels but having the same image density. EP 0428409A2 discloses a halftone conversion system for converting digital pixels to binary pixels in which individual matrices in a memory are addressed by an address composed of a block of x pixels including the pixel being processed, a block of y lines including the line containing the pixel being processed, and the digital value of the pixel being processed. The pixel located at the x, y coordinates of the address matrix provides the binary pixel output. US 5029107A discloses an apparatus and an accompanying method for converting a relatively high resolution halftone bit mapped monochromatic document, such as illustratively a halftone separation which exists in a CDPF print file, into a relatively low resolution continuous tone gray scale document which, when the latter is applied to a display screen of a video monitor having appropriate gray scale capability, would provide a readable display page. One problem with prior art printing devices is that the pigment or gray scale intensity within each scan position varies from device to device. While manual adjustment and calibration help standardize the images from various printing devices, such manual adjustment is still time-consuming and still leaves variations. In accordance with one aspect of the present invention, this problem is solved by a halftone dot pattern constructing system as defined in claim 1. In accordance with a more limited aspect of the present invention, this problem is solved by a halftone dot pattern constructing system as defined in claim 2. In accordance with yet another aspect of the present invention, this problem is solved by a halftone dot pattern printing system as defined in claim 3. In accordance with yet another aspect of the present invention, this problem is solved by a method for constructing halftone dot patterns as defined in claim 4. In accordance with a more limited aspect of the present invention, this problem is solved by a method for constructing halftone dot patterns as defined in claim 5. In accordance with yet another aspect of the present invention, this problem is solved by a method of halftone dot pattern printing as defined in claim 6. Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: FIGURE 1 is a diagrammatic illustration of a halftoning apparatus in accordance with the present invention; FIGURE 2A is a plot of the measured intensity values superimposed on a linear or ideal relationship between input and output gray scales; FIGURE 2B is a plot of a continuous curve through the actually measured values of FIGURE 2A; FIGURE 2C is a plot of area to intensity of a halftone dot of a circle-diamond-circle halftone pattern; FIGURE 3 illustrates a tone reproduction curve in accordance with the circle-diamond-circle halftone pattern; FIGURE 4A is a diagrammatic illustration of a series of halftone cells used to determine gray values; FIGURE 4B is an illustration of determining a gray value of a scan position within the halftone cell; FIGURE 4C is an illustration of determining the gray value in equation space; FIGURES 5A-5D illustrate how a dot grows from a circle into a diamond into a black region with circular white voids in a preferred circle-diamond-circle embodiment; and, FIGURE 6 illustrates intensity variations for a variety of halftoning patterns. With reference to FIGURES 1 and 2A, a hard copy output device, such as a printer 10, responds to input intensity or gray scale commands to produce a corresponding hardcopy dot. Although laser and inkjet printers are preferred, other halftone printers and devices such as computer generated engraving plate devices, electrostatic printers, and the like are also contemplated. Typically, the printer has a preselected range of gray scale commands, e.g., 0 to 255. Initially, the printer is given a series of input intensity commands corresponding to reference intensity values v, e.g., v=0, v=13, v=26, ..., v=255 to produce a corresponding set of hardcopy dots or gray scale samples. An intensity measuring device 12, preferably a microdensitometer, measures each of the gray scale samples to determine its actual intensity L. If L equals v, for all v and L, an ideal or linear relationship 14 would be achieved. However, due to printer characteristics, hardware and software designs, manufacturing tolerances, when the actually measured values of L are plotted against v, the resultant points 16 fall off the linear curve 14. An interpolator 20, preferably a cubic spline interpolator, provides a best fit smooth curve 22 through the points 16. A mapping algorithm or means 24a uses curve 22 to determine a v value corresponding to each of a preselected set of the L values, preferably the integer values of L from 0 to 255. As illustrated in FIGURE 28, for a typical integer value of L, the mapping algorithm projects up to the curve 22 and over to the v axis. Typically, the integer values of L produce corresponding fractional values of v. In the illustrated example, L = 200 produces a corresponding v 199.15. For each of the new intensity values v, which are now typically fractional values, an intensity to density converter 24b determines a corresponding density value based on the linear mapping of FIGURE 2C. The density value for an intensity value v represents an area of the halftone cell required to be filled by a halftone dot creating the intensity value v. The new density values are loaded into a look-up table 26. In a second pass, the look-up table is addressed in equal steps L to retrieve the corresponding fractional v. For each v, there is a corresponding memory plane. That is, in halftoning, each halftone cell is divided into a grid of 1's and 0's or ink on and off spots. In the preferred embodiment, the grid is a 32x32 grid. Each grid or memory plane is addressed by a 5-bit x-value along one axis and a 5-bit y-value along the other axis. In the second pass, the 5-bit x and y-values for each of the fractional v memory planes are generated efficiently in equation space. In a circle-diamond tone reproduction curve of FIGURE 3, the vertical axis represents the density values f(x' n ) and the horizontal axis represents the corresponding radius x' n of a circular halftone dot required to produce the corresponding density. x" m represents a power value used to transform the circle halftone dot into a diamond halftone dot in the highest density range from 0.8 to 1.0 (80% to 100% of cell is filled in). It is to be appreciated that other halftone patterns may be used which would require a different tone reproduction curve based on the shape of the halftone dot. For the preferred circle-diamond-circle pattern, a mapping of intensity level to area of the black halftone dot circle corresponding to the intensity level increases linearly from 0 to 127, and the area of the white dot decreases linearly from 127 to 255 as shown in FIGURE 2C. For the circle-diamond-circle pattern, the circle inverses in the high intensity range, i.e., all but white circles are blackened in the high intensity range. With further reference to FIGURE 1, dot area parameter calculator 28 calculates parameters for each halftone dot of each intensity level v based on the tone reproduction curve. For circle-diamond-circle halftone dot pattern, the dot parameters calculated are radius r and power p. Power p controls the transformation of the circle to the diamond shape. Alternately, for a different halftone dot pattern, the dot area parameter calculator 28 would calculate a different set of dot parameters based on the selected configuration of the halftone dot. The dot parameters for each halftone cell are inputted to a measurement processor 30. With reference to FIGURE 4A, the 8-bit value v represents the selected halftone intensity range which, in the preferred embodiment, has 256 values from 0 to 255, some of which may be fractional values after being adjusted by the spline tone adjuster. Each of 256 halftone cells 32 represents one plane or intensity of the intensity range. A 5-bit x-address and a 5-bit y-address define a 32x32 halftone cell. Analogously, a 6-bit x-address and y-address would define a 64x64 halftone cell. With reference to FIGURES 1 and 48, to construct a halftone dot for each halftone cell 32, a position scanner 34 traverses each x,y-coordinate or scan position in a scan direction S in the halftone cell. The measurement processor 30 locates a nearest edge E of the halftone dot for the current intensity v defined by the dot parameters of the circular, square, triangular, or other selected shape dot to a current scan position (a,b). Halftones are printed at a variety of screen angles , e.g.,  = 45°, where the screen angle is the angle between the scan direction S and the x-coordinate direction. The nearest edge of interest E to the current scan position (a,b) is located in the screen angle direction. The nearest edge is defined by an edge normal E n which intersects the current scan position (a,b) and a point (x,y) on the edge or surface of the dot, for the given intensity value v. With reference to FIGURES 5A-5D, the halftone cell is created on the basis of a predetermined halftone dot pattern. In the exemplary embodiment, the halftone dot pattern has a circular dot 36 in highlight regions (FIGURE 5A). As the regions become darker, larger numbers of the 32x32 scan positions are turned on to define circular dots of larger diameters, such as circular dots 36' and 36". With reference to FIGURE 5B, the circular dots continue getting larger to a mid-range in which the circular dot 38 is tangent to a square or diamond 40 that fills half of the region of the halftone cell 32. Thereafter, as the dot becomes larger, it becomes a diamond or square with progressively less rounded corners 42, 42', 42" constrained within the diamond 40. With reference to FIGURE 5C, the halftone cell is half black when the diamond 40 is completely filled. Thereafter, the black region fills out along patterns 44, 44', 44", progressively. The shape of the expansion is such that where four cells come together, a white circle is defined, when all four halftone cells have the same intensity (FIGURE 5D). With reference to FIGURE 6, dots of various other shapes may be selected. FIGURE 6 illustrates for each of the dot shapes or patterns, halftone cells with a minimal frequency or intensity on the left and a maximal intensity or frequency on the right. Typically, the family of 256 cells, in the preferred embodiment, spans the range illustrated in FIGURE 6 and further. With reference to FIGURE 4B, for the circle-diamond-circle halftone pattern of FIGURES 5A-5D, the measurement processor 30 calculates the x,y-coordinates of the nearest edge by: In this manner, g(x) evaluates to the difference in slopes of the normal to the edge E at (x,y), and a line through both (x,y) and (a,b). The root of the g(x) function gives the x-coordinate for the nearest edge E of the halftone dot. In Equation (1): x represents the x-coordinate of edge E; (a,b) represents the x,y-coordinate of the scan position; r represents the radius of the halftone circle for the current intensity level v; and, p is a power value, that controls a transition rate among the circle, diamond, and circle dot patterns. The y-coordinate of the nearest edge E is determined by: y = (r p - x p ) 1 p With further reference to FIGURE 4B, for a given intensity level v, (e.g., v=120), the nearest edge E to the scan position (a,b) is located based on the predetermined circle-diamond-circle halftone pattern at the given intensity level v = 120 and the size and shape of the corresponding halftone dot defined by the dot parameters. The intensity level v = 120 being just under half of the 256 possible levels of the preferred embodiment, one can expect a dot shape generally as shown in FIGURE 5B by dot 42". Having determined the x and y-coordinate of the nearest edge from Equation (1), the measurement processor 30 calculates a Euclidean distance from the scan position (a,b) along the edge normal E n to the (x,y) on the edge. An angle  by which the edge normal E n is offset from the screen angle  is also determined with the scan position (a,b) being the vertex. With reference to FIGURE 4C, alternately, the position of the nearest edge E is located by mapping the (x,y) coordinate system of the halftone cell 32 into equation space. A corresponding equation space map 46 shows the relative positions of the scan position and edge E mapped into equation space. A line 48 represents an edge in equation space of the halftone dot shape for the v = 120 intensity level. In particular, line 48 corresponds to one corner of the circle dot as it expands into the diamond shape of the mid-range intensity levels (FIGURE 5B). With reference to FIGURE 1, the edge distance and edge angle  are inputted to a gray value calculator 50. A gray value for the intensity level v at scan position (a,b) is calculated as a function of the edge angle and edge distance in equation space. For example, the gray value is determined by: where: dist represents the Euclidean distance of the edge intersection point (x,y) from the scan position (a,b) in equation space; and fastlnc and slowlnc represent fast scan direction and slow scan direction components of a scaling factor which relates the distance measured in scans or spot size to the size of a memory location. Alternately, the gray value can be determined by: where: fastbias is a position (left-right) bias which controls where the black-white transition occurs in the fast scan direction; and Inc is a scaling factor measured in scans or spot size which relates the distance to the size of a memory location. It is to be appreciated that other gray functions are contemplated in accordance with advantages desired by those of ordinary skill in the art. The position scanner 34 cycles through all possible permutations of the 5-bit x-coordinate of each halftone cell, the 5-bit y-coordinate, and the 8-bit intensity value, i.e., 32x32x256 or 2 18 permutations. A gray value, typically 0 through 15, is produced for each permutation. A look-up table 26 stores the determined gray values. In the preferred embodiment, the look-up table has 2 18 memory locations. Each memory location is accessed by an address which is a combination of the 5-bit x-coordinate of a halftone cell, the 5-bit y-coordinate of the halftone cell, and the 8-bit intensity value v for the halftone cell, together providing an 18-bit address. The completed look-up table contains the gray values for each halftone cell for the selected intensity range. Alternately, the entire dot construction process may be repeated to generate more accurate halftone dots. In real time, a screen generator counter 52 inputs a series of x,y-coordinates to define the positions within each halftone cell as an input image 54 provides a corresponding series of intensity levels v. The look-up table 26 is connected with the screen generator counters 52 and the intensity lines of the input image data 54. The screen counters 52 count for the x and y-coordinates along a predetermined screen angle, for example 45°. Thus, the counters count at the sine and cosine of 45° through the halftone look-up table 26. A corresponding gray value from a location corresponding to the combined values of (x,y,v) is outputted from the look-up table 26 to a laser diode controller 56 of printer 10 for printing the particular intensities and screen positions, i.e., printing the spots which, taken together over the whole cell, form the dot of proper size and shape. The gray value, again typically 0-15, can be fed to a digital-to-analog converter directly or can be converted to a code to drive a pulse width and position modulator (PWPM). In another embodiment, the input image 54 and the screen counter 52 are connected to an address generator which generates the look-up table address and outputs the address to the look-up table 26.

Claims: A halftone dot pattern constructing system, where each intensity value is represented by a halftone cell defining one halftone dot of the halftone dot pattern, the system comprising: a measuring device (12) for measuring printer intensity levels of a printing device output in response to printer commands specifying selected input intensity levels; an interpolator (20) for interpolating the measured printer intensity levels into a best fit smooth curve (22) of printer intensity levels versus input intensity levels; a mapping means (24a, 24b) for generating a set of input intensity levels, each corresponding to one printer intensity level, the correspondence between printer intensity levels and input intensity levels being defined by said best fit smooth curve (22) characterized by a dot area parameter calculator (28) for calculating parameters (r, p) specifying size and shape of a halftone dot for each intensity level of the set of input intensity levels; a gray value calculator (50) for determining a gray value for each of a plurality of scan positions within each of the halftone cells based on said calculated parameters; a look-up table memory (26) for storing said gray values. The system of claim 1 further including: a position scanner for scanning through said plurality of scan positions in each halftone cell along a scan angle direction; a measurement processor (30) for calculating an edge distance, based on the dot parameters, from each scan position to a nearest edge (E) of the halftone dot of the corresponding halftone cell in the scan angle direction and for calculating an edge angle () from the scan angle direction to the nearest edge (E) and wherein; said gray value calculator (50) combines at least the edge distance and the edge angle to determine said gray value for each scan position in each halftone cell. A halftone dot pattern printing system comprising: a halftone dot pattern constructing system as claimed in claim 1; an image input device (54) for inputting a series of intensity levels; a screen counter (52) for providing a series of scan positions within a halftone cell for each intensity level; an address generator for converting each scan position and the intensity level of the corresponding halftone cell into a look-up table address to address the look-up table of said halftone dot pattern constructing system to retrieve a corresponding gray value; a controller for controlling a printer (10) in accordance with each retrieved gray value to cause a corresponding spot to be printed. A method for constructing halftone dot patterns where each intensity value is represented by a halftone cell defining one halftone dot of the halftone dot pattern, comprising the steps of: measuring printer intensity levels of a printing device output in response to printer commands specifying selected input intensity levels; interpolating the measured printer intensity levels into a best fit smooth curve 22 of printer intensity levels versus input intensity levels; generating a set of input intensity levels, each corresponding to one printer intensity level, the correspondence between printer intensity levels and input intensity levels being defined by said best fit smooth curve 22; the method being determined by calculating parameters (r, p) specifying size and shape of a halftone dot for each intensity level of the set of input intensity levels; determining a gray value for each of a plurality of scan positions within each of the halftone cells based on said calculated parameters; storing said gray values in a look-up table (26). The method of claim 4 further including scanning through said plurality of scan positions in each halftone cell along a scan angle direction; calculating an edge distance, based on dot parameters, from each scan position to a nearest edge (E) of the halftone dot of the corresponding halftone cell in the scan angle direction; calculating an edge angle () from the scan angle direction to the nearest edge (E); combining at least the edge distance and the edge angle () to determine said gray value for each scan position in each halftone cell. A method of halftone dot pattern printing comprising the steps of: constructing halftone dot patterns using the method according to claim 4, inputting a series of intensity levels specifying an image; providing a series of scan positions within a halftone cell for each intensity level; converting each scan position and the intensity level of the corresponding halftone cell into a look-up table address; addressing the look-up table memory where the halftone dot patterns are stored to retrieve a corresponding gray value; controlling a printer in accordance with each retrieved gray value to cause a corresponding spot to be printed.

Inventors: CURRY DOUGLAS N, CURRY, DOUGLAS N.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1996
Main classification: H04N1
IPC codes: G06T5, G06F3, H04N1