Methods of controlling dot size in digital halftoning with multi-cell threshold arrays

Abstract: A method of equalizing the shape and size of halftone dots in a supertile having digital cells, corresponding ideal cells and pixels to faithfully reproduce an image having predetermined gray levels. Various techniques include: (1) adding offset vectors to the coordinates of pixels in digital cells; (2) determining twice as many smaller digital cells as original digital cells; and (3) determining a model digital cell and ranking pixels in remaining digital cells to mimic the ranking of pixels in the model cell.

Description: FIELD OF THE INVENTION This invention relates to the creation of a threshold array that contains more than one halftone cell for the creation of halftone images. A threshold array that contains more than one halftone cell will cause apparent spots or bands in the image being reproduced unless measures are taken to equalize the sizes of halftone dots representing similar gray areas in the image. BACKGROUND OF THE INVENTION Continuous tone images do not print well on most printing devices, so the image is usually printed as pattern of dots based on a grid. The grid consists of an array of halftone cells, each of which represents one section of continuous tone in the original image. When reproducing a halftoned image in this way using a digital recording device, a halftone cell consists of a plurality of device pixels. A portion of display pixels of each halftone cell are turned black to form dots relatively larger or smaller to represent darker or lighter portions of the original continuous tone image. A dark halftone cell will have most of its pixels turned black while a light halftone cell will have most of its pixels turned white. A complete grid of the original image is composed of many such halftone cells, each of which has an independent density of displayed pixels and therefore a different apparent darkness when viewed from a distance. A common prior art method of selecting which dots in each halftone cell to turn black works as follows: For a given halftone cell, the original image is sampled at each display pixel location in said halftone cell to obtain a gray value. This gray value is represented digitally as a number in a fixed range, typically 0 to 255. The gray value is then compared to a threshold value in the same range and the display pixel is turned white if the image gray value is greater than the threshold value; otherwise it remains black. The threshold values, in turn, are supplied by means of a threshold array which contains a separate threshold value for each pixel in the halftone cell, and are computed prior to processing the image. This process is carried out for each halftone cell of the image. This method works best when the same threshold array can be used for all halftone cells in the image. One advantage is that only one threshold array needs to be calculated and stored for the entire image. Another advantage is that a gray area of a given intensity will produce dots of the same size and shape no matter where it occurs in the image. However, in order for this to work, the set of display pixels corresponding to each halftone cell in the image must be exactly the same size and shape as the set of display pixels corresponding to any other halftone cell. This requirement is most often met by requiring the halftone cells to be parallelograms whose corners all fall exactly on integral coordinates in display pixel space. U.S. Patent US-A-4.185.304 , shows one embodiment of this method. One problem with the above method is that the number of different halftone screens that can be reproduced is limited by the requirement that the corners of the halftone cells must fall on integer coordinates in display pixel space. For example, the screens rotated through 15° or 75° commonly used in color printing cannot be accurately reproduced. This shortcoming is addressed in a first copending U.S. Patent Application Serial Number 434 924 (US-A-5 235 435), filed November 8, 1989. by the same inventor and assigned to the same assignee as this invention (hereafter called the first copending application). Where it is shown how a threshold array that consists of multiple halftone cells can be used to increase the number of available halftone screens to the point where any arbitrary screen can be approximated to within adequate tolerances. When the threshold array contains more than one ideal cell, it is desirable that this fact be invisible to the user. This means that all the halftone dots produced by one copy of the threshold array, for a given gray level, must be of the same size and equally spaced. Unfortunately the multiple halftone cells in such a threshold array generally have to be of differing shapes and sizes when those halftone cells are represented by display pixels. This means that the dots produced by the different halftone cells may also be of different shapes and sizes even when they represent the same gray value. Depending on the degree of the differences in the size and shape of halftone dots, these differences may or may not be visible to the human eye. When they are visible, one sees a mottled variation in gray intensity in the form of repeating spots or bands where the original image contained only a constant gray. Such patterns do not faithfully reproduce the original image and are thus undesirable. The following terms are defined for clarity. An ideal half-tone cell, or ideal cell for short, will be a halftone cell such as the ones discussed above: an element of the halftone grid consisting of an area bounded by a rotated square or a parallelogram. In contrast, a digital halftone cell, or digital cell for short, will be a set of pixels used to approximate an ideal half-tone cell. Thus each digital halftone cell is associated with a specific ideal halftone cell that it approximates. Also, in keeping with the above-mentioned copending U.S. Patent Application Serial No. 434,924 (US-A-5 235 435), a threshold array that consists of multiple halftone cells will be referred to as a "supertile". In the prior art method of generating a supertile as disclosed in the copending application a digital halftone cell consists of all the pixels in the supertile whose geometric centers fall within the associated ideal cell. This method creates digital halftone cells of satisfactory consistency for certain half-tone screens, but for other screens, an unsatisfactory variation in digital cell size results. These variations occur because, although each ideal cell has the same shape, its placement with respect to the pixel grid varies by fractional amounts of pixels. Thereby, in some cases, more pixel centers fall inside an ideal cell and in other cases fewer pixels centers fall inside an ideal cell. The resulting variations in the size of the digital half-tone cells causes corresponding variations in the size of half-tone dots when certain values of gray are reproduced. This is called the unequal cell size problem, addressed in a second copending U.S. Patent Application Serial Number 652,927 (US-A-5 285 291), filed 8.2.91. , by the same inventor and assigned to the same assignee as this invention. Another type of error is caused at certain gray levels where a given black or a white halftone dot crosses the boundaries of its digital halftone cell and overlaps pixels on neighboring digital cells. A single black or white halftone dot might be split into two or more pieces, each piece residing in a separate digital halftone cell, as shown in Figure 1. Because a digital halftone cell 130A-F may be asymmetric relative to the corresponding ideal halftone cell 120A-F, the various pieces of a half-tone dot 70A-F in an ideal cell 120A-F may also get pixels allocated asymmetrically. When the digital halftone cells 130A-F are put together and whole halftone dots 70A-F are formed, the pieces that are used to form a given halftone dot may be too small or too large relative to a predetermined expected size even though the correct total halftone dot pixels within each digital cell. For example each of the digital cells 130A-F of Figure 1 are assigned ten black pixels (shown cross hatched); the remaining pixels are white. The black pixels create dots 70A-F. Dot 70A is the correct predetermined size. It includes ten black pixels, nine pixels are primarily within digital cell 130A and one is primarily in digital cell 130B. However, dot 70B includes only eight black pixels, one of which is primarily in digital cell 130C. Dot 70E includes twelve black pixels of which nine are primarily in cell 130E, two are primarily in digital cell 130B and one is primarily in digital cell 130F. This problem is called the multi-cell dot (MCD) problem. It is a principal object of this invention to correct the above multi-cell dot problem. SUMMARY OF THE INVENTION According to the present invention there is provided a method as set forth in claim 1 appended hereto. The method of this invention can be practiced using any of several hardware devices which may include a scanner, a computer and some type of raster display device. An original image is mechanically or electronically scanned, calculated, manipulated or otherwise prepared for reproduction. When a very accurate representation of a halftone screen requires that a threshold array be used containing multiple digital halftone cells of slightly different shapes, the techniques described ensure that each half-tone cell is printed or displayed in a manner to balance the number of pixels. This is accomplished by a combination of the use of smaller pixels and the requirement that any halftone dot made up of a portion of these pixels which lies in two or more digital cells does not gain or lose pixels to adjacent digital halftone cells. This ensures that all halftone dots representing a given gray level are nearly equal in size as possible. The first technique corrects lopsidedness that is caused, for example, when generic pixels are added to one side of the digital cell and taken away from the other side. This lopsidedness can cause generic pixels to be distributed unevenly when the halftone dot is divided between digital cells. This lopsidedness is reduced when the center of gravity of each digital cell is used as the origin relative to which the generic pixel coordinates are transferred into ideal cell space coordinates for the spot function to take place. According to a second technique, the MCD problem is reduced when each ideal halftone cell is split into two equal parts, a white part and a black part, when building the threshold array. This second technique is restricted to certain spot functions, normally those giving rise to a perfect checker-board pattern rotated 45° with respect to the original halftone grid when a 50% gray level is requested. This second technique is covered in more detail in EP-A-0499738 and in a divisional of this application. The third technique offsets the spot function by the vector (1/2, 1/2) in cell space relative to all halftone cells, which further reduces the MCD problem. By doing so, neither black nor white dots are centred exactly at the four corner areas of any ideal cell. However, at certain gray levels, when the black and white dots first cross the edge of the selected ideal halftone cell, dot sizes can vary due to varying contributions from different digital cells. However, because the dots already have a large number of generic pixels in them, these variations are not as noticeable as before. The fourth technique creates a data structure that includes information in the form of lists of pixels representing how a halftone dot may be split by a digital cell at various gray levels. Thereafter, the pixels in a selected cell are ranked in a way that models the loss or the gain of pixels relative to a predetermined model cell. Halftoning systems currently in the market allow a limited number of spot functions and are specially optimised to work with a fixed set of built in spot functions. The techniques described herein produce high quality halftoning with a wider range of spot functions than was previously possible. BRIEF DESCRIPTION OF THE DRAWINGS A complete understanding of the present invention and other advantages and features thereof may be gained from a consideration of the following description of the preferred techniques taken in conjunction with the accompanying drawings in which: Figure 1 illustrates a display system of the prior art, wherein dots are displayed with incorrect number of pixels; Figure 2 illustrates the relationship of an ideal cell to its associated digital cell and the relationship of a cell dot to the digital cell containing it; Figure 3 illustrates relationship of one supertile to the ideal halftone cells contained in it to other supertiles; and Figure 4 illustrates a checkerboard pattern of digital cells produced by two halftone grids. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The techniques will be explained in terms of their implementation as computer programs running on a digital computer. Whenever the implementation of some part of the techniques might not be clear to one skilled in the art, explicit computer source code will be provided in the C programming language. A reference for the C-language is The C Programming Language , by Brian W. Kerninghan and Dennis M. Ritchie, published by Prentice-Hall Inc.. Mathematical expressions in the C-language are similar to usual mathematical notation. The "*" symbol is used to denote multiplication. Comments in the source code are delimited by "/*" and "*/". The implementation of the invention as a computer program requires that certain mathematical functions be available to the program as subroutines. These functions are defined in the next section. Mathematical Functions Used in The Invention Floor(x) is the greatest integer smaller than or equal to the floating point value x. Ceil(x) is the smallest integer larger than or equal to the floating point number x. Sqrt(x) is the positive square root of x. Terminology In the following specification and drawings, references are made to the terms which are defined here as: Device Space: An area of a two-dimensional plane in which the recording device can make black marks on a white background, or vice versa. Device Pixel: The recording device can only mark certain discrete areas in device space. Each such area is a device pixel or a generic pixel. Device Coordinates: A coordinate system used to describe the locations of device pixels. The device pixels of any device can be assumed to reside in a rectangular array. The pixel coordinates (x,y) refers to the pixel in the y-th row and the x-th column. The origin of the device coordinate system is labeled 00 in Figure 3. To avoid ambiguity, a device pixel at location (x,y) will be assumed to be the pixel that covers the area of a square whose corners are given by (x,y), (x+1,y), (x+1,y+1), (x,y+1), where x and y are integers. Most marking devices are not this precise but the above convention will be useful in explaining the processes described below. Halftone Grid: A grid of squares, larger than the device pixels and generally rotated with respect to the device coordinate system. This grid controls the placement of halftone dots. In an analog system halftone dots are circles centered exactly in the middle of squares in the halftone grid. The techniques of the invention described below will also work if the halftone grid is a made up of parallelograms instead of squares. Ideal Halftone Cell: A single square in the halftone grid. Ideal Cell Space or Cell Space: a coordinate system based on a selected ideal cell. Such a coordinate system will have its origin in the center of the ideal cell and will be further scaled so that the corners of the ideal cell have coordinates (1,1), (1, -1), (-1, -1), (-1, 1). The technique of conversion between such a coordinate system and the device coordinate system will be obvious to those skilled in the art. (Reference: Fundamentals of Computer Graphics , by Foley and Van Dam, chapter 7) Note that there is a different cell space coordinate system for each different ideal cell. Digital Halftone Cell or Digital Cell: A group of generic pixels that approximates in shape and size an associated ideal cell. Since the sides of an ideal cell do not in general coincide with the boundaries of pixels, a digital cell can only approximate an ideal cell to within one generic pixel in accuracy. A particular digital cell is "associated" with an ideal cell, or vice versa, if the ideal cell is the one approximated by the digital cell. Halftone Dot: For a given gray level, a contiguous set of generic pixels turned black (or white for a white dot) that is perceived by the human eye as a black (or white) dot in the pattern of dots comprising a halftoned image. Note that this definition is made in terms of human perception. Therefore this term will only be used in describing desired or actual properties of certain halftoning techniques, not to define how such techniques are carried out. Black (or white) Cell Dot: The set of black (or white) generic pixels in a digital cell that are turned black (or white) at a given gray level. The term cell dot by itself may be used where a black or white cell dot is meant. Note that the term cell dot has a rigorous definition, as opposed to the halftone dot. But the pixels comprising a cell dot may not be the pixels that the human eye perceives as a halftone dot. For example, in Figure 2, the black cell dot of digital cell 130 is made up of separate pieces: 80A, 80B, 80C and 80D. As another example, in Figure 1, the digital cell 130A has a black cell dot that includes nine black generic pixels in halftone dot 70A and one black generic pixel proximity in halftone dot 70D. The human eye would not see this group of two pixel as a single dot. Black (or white) Dot Piece: The various contiguous pieces into which a black (or white) cell dot is divided. For example, in Figure 2, the black cell dot of digital cell 130 includes three black generic pixels in dot piece 80A, one black generic pixel in dot piece 80B, and three black generic pixels in dot piece 80C and one black generic pixel dot piece 80D. Supertile 140 (Figure 3): For a given halftone grid 220, the first copending application, shows how to construct supertile 140. Supertile 140 is a set of device pixels 110 with the following properties: (1) The supertile 140 can be replicated by translation to cover each generic pixel 110 in device space exactly once; (2) If the screen grid (in this application halftone grid 220) is superimposed on supertile 140, it divides it up into an integral number of ideal halftone cells 120. Some of these ideal cells 120 may be split into pieces by the boundary of the supertile 140; and (3) When supertiles 140 are assembled by tiling, any split pieces of halftone cells at the edges of a supertile are reassembled, as shown in Figure 3. For the purposes of this disclosure, a particular supertile with dimensions "sx" and "sy" is constructed as shown in Figure 3. These dimensions indicate that the supertile consists of pixels in an sx-by-sx square whose lower left corner coincides with the origin 00 in device coordinates along with the pixels in an sy-by-sy square whose upper left corner coincides with the origin in device coordinates 00. Thus a generic pixel, having device coordinates (x, y) in the sx-by-sx square will have both x and y greater than or equal to 0 and less than or equal to sx-1. Such a pixel in the sy-by-sy square will have x greater than or equal to 0 and less than or equal to sy- 1, and would have a y less than 0 and greater than or equal to -sy. Supertile Translation Vectors 141A and 141B: As mentioned above, the supertile can be translated to cover device space. Any such translation of the supertile can be accomplished via successive translations using the two supertile translation vectors. The two vectors have values (sx,sy) for vector 141A and (-sy,sx) for vector 141B, respectively, in device coordinates as shown in Figure 3. Equivalent Cells: Any two ideal cells, called c1 and c2, are said to be equivalent if one cell can exactly be superimposed on the other through a succession of translations by the two supertile vectors. Another way of understanding this is by taking one supertile and labeling all the ideal cells within that supertile uniquely. By tiling all space with that supertile, the ideal cells produced by this tiling will be exactly equivalent when they have the same label. Threshold Array (Figure 3): A term used commonly in halftoning to denote a set of generic or device pixels 110 that tile the plane (i.e. condition number 1 under the definition of supertile 140) wherein each generic pixel 110 is given a "threshold value". Such threshold arrays are used to generate halftoned images in the following way: First, the plane is tiled with the threshold array. Thus, each generic pixel 110 is covered by a copy of the threshold array so that it can be associated with the threshold value of the generic pixel 110 covering it in this copy of the threshold array. Next the desired gray value for the generic pixel 110 is computed from the image being halftoned, and compared to the threshold value. If the gray level is greater than the threshold value, the generic pixel 110 is left white; otherwise it is marked black. Supertile 140 mentioned above is calculated in order to define the set of pixels comprising the threshold array in the present invention. Since a supertile encompasses multiple ideal cells, so will the threshold array. Spot Function: In the actual implementation of digital halftoning, a digital cell is selected and then all pixels that lie in that digital cell are put into a list. A spot function is then called for each pixel in the list. The cell space coordinates of the pixel are inputted into this spot function and it returns a value that is used to rank that pixel relative to the other pixels. This ranking determines the order in which pixels change from black to white in the ideal cell as the desired gray level changes from darker values to lighter values. Thus the ranking is used to determine the threshold values in the threshold array (supertile). In this way the spot function is used to control the shape of the halftone dots at various gray levels. When the coordinates of a pixel are passed to the spot function, the coordinates are transformed to a the cell space for the ideal cell being processed. Still referring to Figure 3, the following techniques are applied after the number of generic pixels 110 assigned for each ideal cell 120 is known to be equal, as illustrated by the various techniques of the second copending application. The first three techniques alter how the spot function is called in the process of creating a digital halftone. This in turn alters the values in the threshold array when it is created by the techniques explained above. The fourth technique does extensive processing on the values returned by the spot function, which are then used to create the threshold array. The output of the invention is an altered threshold array, based on a supertile, which may then be used to create halftoned images free of spurious gray bands or spots. The Spot Offset Correction Scheme The first technique of correcting patterns caused by the multi cell dot MCD problem deals with modifying how the spot function is called for each ideal cell 120. Still referring to Figure 3, in assigning generic pixel 110 to ideal cells 120, digital cells 130 are created that only approximate the shape of the ideal cell 120. For example, a surplus of generic pixels 110 may be added to one side of the digital cell so as to leave it lopsided relative to the shape of the associated ideal cell 120. This lopsidedness can cause generic pixels 110 to be distributed unevenly when the halftone dot is divided between digital cells 130A-F shown in Figure 2. The following technique, described with reference to Figures 1 and 2 reduces these effects. This technique is used in the same way for each digital cell in the supertile. Thus it will be explained only in reference to an arbitrary selected digital cell of the supertile. The following information is available: a list of generic pixels in the digital cell; and the coordinates of the center of the corresponding ideal halftone cell in device space coordinates, denoted (cx, cy). The center of gravity of the selected digital cell 130 is computed as described below from the generic pixels 110 that were actually assigned to it. Then the center of gravity (gx, gy) is subtracted from the geometric center of the ideal cell (cx, cy) to produce an offset vector (fx, fy). This offset vector (fx, fy) is added to the coordinates of generic pixels 110 in device space before transforming the coordinates into cell space coordinates for the spot function. This can be summarized as follows: fx = cx - gx; fy = cy - gy; Then for each generic pixel coordinate (x, y): x = x + fx; y = y + fy; The center of gravity is computed by taking the device coordinates (x,y) of each generic pixel 110 in the digital cell 130, converting those coordinates to cell space coordinates (u,v) and averaging the resulting u and v coordinate values separately to obtained an averaged u-coordinate and an averaged v-coordinate. However, a digital cell 130A-F may be divided into pieces by an arbitrary supertile 140 shown in Figure 3. For example digital cell 130B is divided by arbitrary boundary 140B of supertile 140 into two pieces DR and DL. If this occurs,the averaging of coordinates will not execute correctly. The following steps are taken to prevent this. If any generic pixel in the digital cell with device coordinates (x,y) is at a distance d from the center of the ideal halftone cell (cx, cy), where d is greater than a predetermined distance equal to the length of one side of an ideal cell, then the generic pixel coordinates (x, y) are translated by the supertile translation vectors until the generic pixel coordinates (x, y) are within the predetermined distance of the coordinates (cx, cy). The translated coordinates are then used in the averaging process instead of the original generic pixel coordinates. The sequence of supertile vector translations used in the above process can be calculated directly. Note that the order of translations does not matter, only the number of times each of the two supertile translation vectors are used. Let n1 denote the number of times supertile translation vector 141A with the value (sx, sy) is used, and let n2 denote the number of times supertile translation vector 141B with the value (-sy, sx) is used. Either n1 or n2 may be negative to indicate that the corresponding supertile translation vector is negated when used for translating. The following C-language code segment 1a computes n1 and n2, where x and y are the device coordinates of a generic pixel for which the translation is being computed: The actual translation of (x, y) is then computed by code segment 1b to be: After this is done, the x and y coordinates are converted to cell space coordinates (u, v) and passed to the spot function. In the above technique the coordinates passed to the spot function were offset by an amount calculated from the locations of the various generic pixels in the selected digital cell. Such offsets can be calculated in other ways. For example, a random number generator could be used to provide such offsets. This can be useful when it is intended to obscure a regular pattern of lopsidedness in the allocation of generic pixels to digital cells with a random pattern. The Split Cell Correction Scheme The second technique of correcting patterns caused by the multi cell dot MCD problem is described in EP-A-0499738 and now in a divisional of the present application. Third Technique of Correcting the MCD Problem The third technique of correcting patterns caused by the MCD problem will now be described. Some spot functions have a minimum or maximum value, where the four corners of ideal cells meet, thus causing black or white halftone dots to be centred where four ideal halftone cells meet. When a halftone dot is split into four pieces in this way, as opposed to two or three pieces, the MCD problem becomes worse. Another problem with such a spot function is that the splitting of a halftone dot occurs when the halftone dot is very small. Thus an error of a few pixels in size is large relative to the total size of the halftone dot. Experience shows that in these cases, the errors are more visible to the human eye. Therefore it is the purpose of this third technique to reduce the problems caused by such spot functions by altering the execution of the spot function. As before the coordinates of generic pixels in a digital cell are converted to the cell space coordinates (x, y) for the corresponding ideal cell. Next the following C-language code segment 3 is used to modify x and y before x and y are passed to the spot function: This transformation of the x and y coordinates moves the minimum or maximum of the spot function away from the four-corners area of the ideal cell grid and toward the interior of an ideal cell. The resulting halftone dots will still cross ideal cell boundaries for certain gray levels, but they will be larger when they do so, thus making relative errors not so noticeable. The half-tone dots in Figure 1 have been offset in such a fashion. In code segment 3 above the pixel coordinates are offset by adding the vector (1/2, 1/2). Any such vector may be used to some advantage if after adding the vector to the coordinates of the pixel, the coordinates of the pixel are then brought back into the range of coordinates that include the ideal cell. If the coordinates in an ideal cell are in the range from A to B, then the repeated addition or subtraction of the value B-A to each pixel coordinate is used to bring that coordinate into the range from A to B. In the example in code segment 3, A is equal to -1 and B is equal to 1, then the value 2=1-(-1) is subtracted if necessary to bring the pixel coordinates, x and y, into the range from -1 to 1. The Fourth Technique of Correcting the MCD Problem The fourth technique of correcting patterns caused by the MCD problem is described in detail in EP-A-0499738 and is not repeated here. The various techniques of the invention described above may be used together or separately. Certain combinations of these technique are more useful at certain ranges of angles and frequencies than others. A software program may decide which technique or combination of techniques apply to a specific task based on the imagesetter resolution, the frequency of requested halftone grid and the angle of the requested halftone grid.

Claims: A method of equalizing the shape and size of halftone dots in a supertile that includes K digital cells, K corresponding ideal cells and a plurality of more than K pixels having coordinates in device space, to reproduce an image having predetermined gray levels by performing the steps comprising: a) creating a list of pixels in a digital cell; b) determining from the pixel coordinates in device space the x and y coordinates of the pixels in the said digital cell in ideal cell space, ideal space being defined as a coordinate system based on a selected ideal cell; c) determining an offset vector from a list of generic pixels and the coordinates of the corresponding ideal halftone cell in device space coordinates, the offset vector having x and y coordinates to be applied to said pixel coordinates in ideal cell space of that digital cell; d) adding said offset vector to the coordinates of said pixels in said list; e) ranking said pixels in said list according to the value resulting from applying a predetermined mathematical function to their coordinates; and f) displaying selected ones of said pixels using said ranking to determine which pixels to display in order to properly reproduce said predetermined gray levels of the image being reproduced. The method of claim 1 further, wherein said ranking representing the order in which said pixels change from black to white as a predetermined gray level changes from a darker value to a lighter value in said supertile. The method of claim 1 wherein said offset vector is the difference between the geometric center of the ideal cell associated with said digital cell and the geometric center of gravity of said digital cell. The method of claim 3 wherein said center of gravity is computed by converting device coordinate values of said pixels to ideal cell space coordinates and averaging the resulting coordinate values separately to obtain the respective average coordinate values. The method of claim 1 wherein the x and y coordinates of said offset vector are determined by a random number generator. The method of claim 1 wherein said offset vector has the same value for all digital cells in said supertile, and after adding said offset vector to said coordinates of said pixels, if the total is outside a predetermined range, the sum is adjusted to lie within said predetermined range. The method of claim 6 where said offset vector is (1/2, 1/2) and said predetermined range is from -1 to +1. The method of claim 1 wherein said supertile further includes translation vectors that are used to translate the device coordinate values of pixels in said digital cell that lie further away than a predetermined distance from the center of the ideal cell associated with said digital cell so that the resultant translated pixel coordinate values result in pixels having a distance from said center of said ideal cell smaller than said predetermined distance. The method of claim 8 wherein said center of gravity is computed by converting said resultant translated pixel coordinate values to ideal cell space coordinate values and averaging the resulting ideal cell space coordinate values to obtain the average coordinate values.

Inventors: KNUTH DONALD E, SCHILLER STEPHEN N, KNUTH, DONALD E., SCHILLER, STEPHEN N.
Applicants: ADOBE SYSTEMS INC, ADOBE SYSTEMS INC.
Application year: 1991
Main classification: H04N1
IPC codes: G06T5, H04N1, B41J2