In the field of imaging, a halftone screen is used to convert a continuous tone image into a halftone image suitable for use with a halftone imaging device. The present invention relates to generating a stochastic screen and using that screen to reproduce halftone images representing the continuous tone image.
Halftone screens provide the appearance of varying tone by varying the number of enabled pixels in an area according to the desired tone. Two main types of screens are known in the art. Amplitude modulated (AM) halftone screens are one type wherein the size of a halftone dot increases as the desired tone increases. Stochastic or frequency modulated (FM) halftone screens are the other type wherein the number of halftone dots increases as the desired tone increases. Other types of screens, such as hybrid AM-FM screens are also known.
AM screens are further characterized by placing halftone dots on a grid having a screen angle and a screen frequency and increasing the size of a halftone dot according to a spot function (i.e. dot growth pattern) as the image tone increases in the area represented by the halftone dot. AM screening systems have traditionally allowed various characteristics, such as screen angle, screen frequency and spot function, to be specified by an end user to customize the screen effects. AM screening systems could then dynamically generate an AM screen based on the user input and apply that screen to a supplied continuous tone (contone) image.
User-defined AM screening has been practical for many reasons. One is because the relationship between control values and the screen result are generally easy to understand. Another is that many AM screens are computationally easy to generate. Also, because AM halftone dots comprise clustered pixels, the resulting halftone screens are relatively insensitive to variations in the image reproduction process.
For example,
The inherent dot gain in some print reproduction systems can be easily corrected to desired values by preprocessing the image data to vary the continuous tone values according to measured dot gain/loss characteristics of the reproduction process. This is known as dot gain compensation. Process variations can lead to similar shifts in dot area. However, it is often impractical to use tonal compensation to correct for variation. User screening controls, such as screen ruling have a significant impact on dot gain whereas screen angle and/or spot function, tend to have little impact on dot gain/loss. User screening controls also tend to have little impact on dot gain compensation methods.
Stochastic or FM screening is further characterized by halftone dots having a similar and small size (relative to most AM dots) distributed throughout an area represented by the stochastic screen. In contrast with AM screening, wherein halftone pixels cluster according to a spot function, a stochastic screen typically disperses halftone dots throughout an area.
Although finer stochastic screens generally have more visually pleasing characteristics than conventional AM screens, due to their finer structures and randomness, they tend to be more susceptible to variations in the image reproduction process. For example,
Worse, dot gain and other visual characteristics may not be consistent throughout the tonal range for some FM screens. For example, in the mid-tones, pixels dispersed in close proximity that suffer dot gain can begin to unintentionally cluster producing visible non-uniform structures and/or an overall uneven or grainy appearance in addition to a tone shift. A small shift in operating conditions for a reproduction process may result in a sudden onset of unwanted visual artifacts.
Prior art stochastic screen systems have employed predefined screens instead of user-defined screens. This is probably due to low demand and barriers such as complexity, usability and performance.
With respect to demand, stochastic screens have been prevalent for halftone imaging devices with relatively low resolution (i.e. device pixel size), and/or addressability (i.e. device pixel position), such as inkjet and xerographic reproduction systems. These systems typically have a limited number of supported operating conditions (e.g. resolution, colorants and paper) which can be characterized during the development of the system. User inputs may be typically limited to selecting a supported operating condition and/or a tradeoff between quality and speed. A predefined screen can be associated with an operating condition and/or user input combination to provide optimal results.
For higher resolution printing systems, such as offset, flexographic, and gravure printing systems, adoption of stochastic screens has been slow. Experience suggests that poor control over reproduction process operating conditions is a leading reason why printing firms fail to successfully adopt stochastic screens. For example, exposure non-uniformities, dot gain and poor ink transfer are more critical with finer screens and require tighter control over variations in plate sensitivity, exposure, developer strength, and printing press operating conditions, as well as with the formulation of the ink and paper it consumes.
Increased adoption rates for predefined screens have been achieved by teaching printing firms to monitor process variables and implement process controls to reduce their variation. Further, providing equipment and consumables that are less susceptible to process variation can simplify the printing firm's task. Further, some stochastic screens have characteristics that make them less susceptible to process limitations and variations than other stochastic screens.
As stochastic screening adoption rates have increased, the shortcoming of predefined screens is becoming apparent. Some printing firms have a range of reproduction processes that provide a large number of associated operating conditions. Also, each reproduction process may be subject to a different magnitude of variations in those operating conditions. A stochastic screen that is optimal for one operating condition may not be optimal for another.
For example, a new printing press that is routinely maintained may be able to reproduce fine screens without difficulty whereas an older printing press, in need of maintenance, may be unable to reliably reproduce fine screens without excessive effort. Since work done with finer screens is competitively advantageous, providing an optimal range of stochastic screens that can cater to a wider range of operating conditions is seen as beneficial. On the other hand, using an older printing press with less extensive process control may be more cost effective and coupling that with a stochastic screen that is less sensitive to variations in process operating conditions may allow the printer to produce differentiated printing at competitive costs. Providing end-user control of the screen design is preferable to enable creating a screen to match a particular reproduction process.
The prior art discloses a range of techniques for adapting stochastic screens for various operating conditions. For example, so-called blue-noise screens, disclosed in “Digital Halftoning” by Ulichney, 1987, and in U.S. Pat. No. 5,726,722 (Uehara et al.), produce highly dispersed dots with a relatively uniform but seemingly random distribution. These screens are characterized as having significant high frequency components that can be difficult to accurately reproduce for some reproduction processes. As another example, so-called green-noise or clustered screens, such as those disclosed in U.S. Pat. Nos. 5,784,049, 5,579,457 (both to Hall), and 6,493,112 (Arce et al.) seek to reduce the high-frequency component of blue-noise screens in the mid-tones by causing halftone dots to intentionally cluster rather than disperse. As another example, some prior art discloses modeling the halftone reproduction process when generating the screen to compensate for effects such as dot gain and dot overlap. As another example, some prior art discloses applying models of the human visual system when generating the screen to further reduce the visibility of halftone dot structure.
Given the emerging demand for a wider range of stochastic screens and preferably user-defined screens, several challenges still remain. One challenge is reducing the complexity of stochastic screens so that end users can understand how to match screen characteristics with a reproduction process. End users may easily grasp the characteristics of an AM screen and the relationship between those characteristics and some operating conditions. For example, a characteristic spot function and screen angle are visually intuitive and tend to have low correlation with certain operating conditions (e.g. good results over a wide range of resolutions, media sensitivities, exposure profiles, dot reproduction accuracies). Screen frequency is more correlated with operating conditions but the relationship is relatively simple (e.g. higher screen frequencies require reproduction processes that can more accurately resolve fine detail).
However, many end users may have difficulty understanding stochastic screen characteristics and their relationship with reproduction process operating conditions. For example, stochastic screens are traditionally characterized by one aspect such as their dot size at one point in the tone scale. However, the way in which the screen disperses dots throughout the tone scale affects how well the screen will be reproduced by a particular reproduction process.
Frequency domain characteristics of a screen are more useful in determining suitability for a reproduction process but they are less intuitive and are comparatively more complex and more variable for a stochastic screen than for an AM screen. For example, AM screens have power spectra based on the screen frequency and its harmonics. The power of the AM screen frequency component tends to dominate throughout the tone scale. In contrast, stochastic screens can have power spectra with more frequency components and with power spectra profiles that vary widely from screen to screen and/or vary at different points in the tone scale for the same screen.
Assuming that complexity challenges can be overcome, performance challenges also exist. Rather than performing relatively simple geometric operations as is the case for many AM screens, generating stochastic screens can involve complex spatial domain convolutions or frequency domain transforms, visual cost minimizations, and/or physical process modeling calculations. Thus, the computing resources and/or time required to dynamically generate a customized stochastic screen can be a problem. Given that current offset plate imaging times are on the order of a minute or two, end users would want to be able generate a stochastic screen within a few seconds or at most a minute or two so that significant imaging latency does not occur.
The present invention provides a screen processor that can generate a wide range of stochastic screens to meet a wide range of operating conditions for one or more reproduction processes.
According to one aspect of the present invention, a dither matrix is dynamically generated by the screen processor and stored for later use in producing halftone image data. Multiple dither matrices can be generated with each matrix associated with one or more colors identified in the contone image data to provide a more visually pleasing halftone representation.
According to one embodiment of the invention, a dither matrix can take the form of a threshold array, including a matrix of threshold values wherein each threshold value can be used to determine a halftone pixel value by comparing a corresponding contone pixel value with a corresponding threshold value.
According to one embodiment of the invention, a dither matrix can take the form of a plurality of dot profiles wherein each dot profile represents a matrix of halftone pixel values for an area for a specified contone value. A halftone image pixel value can be determined by looking up a halftone value in a pixel position of a dot profile corresponding to a contone image pixel position and contone value.
According to one embodiment, a screen generator can dynamically produce dither matrices of varying dimensions (e.g. matrix of size N×M dimensions) and can produce them quickly enough so that latency in an imaging process is not substantially increased. For example, typically sized dither matrices (e.g. approximately 250,000 pixels) and large dither matrices (e.g. at least 1,000,000 pixels) can be generated quickly. In particular, dither matrices can be generated so that the time required to generate a dither matrix is proportional to the product of the dither matrix dimension and the natural logarithm of the dither matrix dimension. Further, the time required to generate a typically sized dither matrix is less than 1 second. In some embodiments, a newly generated screen can be cached for later use when the same screen generation parameters are used.
According to one embodiment of the invention, a parameterized algorithm controls generation of a stochastic screen. Screen generation parameters are configured by an end-user at an interface to the screen processor. The screen generation parameters either coincide directly with the algorithm parameters or can be used to derive values for the algorithm parameters. A customized screen is generated by providing parameter values to the screen generation algorithm. Screen generation parameters can be configured to produce predefined screens or can be dynamically configured by a user for an image, a job or some other collection of images.
According to one embodiment of the invention, the screen generator and image processor are coupled with a halftone imaging device which has sufficient accuracy to support a wide range of stochastic screens that can be generated. In particular, the halftone imaging device preferably has sufficiently high addressability and resolution to support the wide range of screens. For one exemplary imaging device, pixel addressability of at least 2400 DPI and halftone dot resolution at least 1200 DPI is preferred. For another exemplary imaging device, imaging addressability of at least 4800 DPI and imaging resolution of at least 2400 DPI is preferred.
According to one embodiment, reproducing an image from halftone image data includes one or more reproduction processes including at least one process having an element designed to be relatively insensitive to variations in the reproduction process so that a given screen has a greater probability of producing desired results. For example, the halftone imaging device can be designed to be relatively insensitive to variations in the imaging process.
According to one embodiment, a system can be configured to dynamically generate a halftone image having characteristics that respect a dimensional constraint. For example, screen size and image resolution can be dynamically configured to enable a portion of the halftone image to satisfy the constraint without compromising the visually pleasing properties of the halftone screen. Exemplary constraints include repeat length for a cylindrical imaging media and image segment dimension for a lenticular lens.
Depending on the type of blank imaging medium 41, imaged medium 42 may be further processed by medium processor 50 to produce a processed medium 51. For example, a lithographic plate may require initial heating, chemical developing, final heating, mechanical processing or on-press developing as part of a post-imaging activity.
Again, depending on the type of blank imaging medium 41, imaged medium 42 or processed medium 51 may be the final product or may be used in a reproduction device 60, such as a printing press, to produce a plurality of halftone image reproductions 62 from consumables 61 such as paper stock and ink.
Job data 11 can be configured, for example, as part of a prepress workflow system which incorporates or feeds information to RIP 20. Job data 11 can include contone images 12 for multi-page documents whose contents are printed on one or both surfaces of a printed sheet (e.g. paper, cardboard, or metal foil). One or more images can be ganged together for printing on a surface and subsequent folding and/or cutting. An end-user may desire to screen each image independently (e.g. configure a screen for each image) or may desire to screen parts of an image independently. Thus, for any given print job, a plurality of halftone screens 32 may need to be generated.
Contone image 12 can include contone raster data and/or page description language specifying text, artwork and the like. Processing instructions 13 can include a wide variety of instructions related to prepress and other processing functions. Processing instructions 13 can include end-user configured screen parameters 15 which are used by screen generator 31 to produce halftone screen 32. Exemplary screen parameters 15 and screen generator 31 are described in greater detail below.
RIP 20 screens contone image 12 according to methods that are well understood in the art. Briefly, image interpreter 21 can first interpret image data (e.g. page description language) to produce data (e.g. object list) that contone renderer 22 can use to generate a consolidated contone raster representing image 12. Halftone generator 23 then applies halftone screen 32 to the contone raster to form halftone image data 24. Screen processor 30 can be a standalone processor or be part of RIP 20. In some embodiments, screen processor 30 can also be used independent of job 11 to produce halftone screens 32 for RIP 20.
Square halftone dot matrix 102 of
Enabled halftone dots 104A-104E depict a stochastic screen that takes partial advantage of the higher addressability. That is, halftone dots still have 2400 DPI resolution but are not restricted to positions on a 2400 DPI matrix. This can allow for greater enabled dot density while still maintaining some separation (e.g. one halftone dot width). Enabled halftone dots 105-107 illustrate a stochastic screen taking further advantage of higher addressability. That is, halftone dots have variable resolution (e.g. 1-4 device pixels) that allow even greater flexibility in representing a continuous tone while still retaining at least some separation between halftone dots.
An exemplary method for generating a screen is now described with reference to
One exemplary set of basic shaping functions is illustrated in Table 2. Shaping functions S1-S4 operate relative to a radius (R) from a newly identified minority pixel. The radius is computed as the Euclidian distance from the center of a device pixel in a mainscan (x) direction and a subscan (y) direction.
S1-S4 each exert a repulsion force that diminishes as the radius increases. These tend to disperse minority pixels in a uniform fashion. S4 exerts a reduced repulsion force at pixels adjacent to the minority pixel which favors clustering there when dispersion becomes difficult. Shaping functions S1-S4 are used to compute a force field value at majority pixel locations with an area bounded by a maximum radius specified for each function.
According to one embodiment, one function is selected for computing force field values at a time. Selection is based on a dynamically computed average separation for minority pixels and a minimum separation specified for each function. When few minority pixels have been selected at low tone values, the average separation is relatively large and S1 is selected. As minority pixels are added, the average separation reduces and S2-S4 are selected in order. In some embodiments, when switching from one function to the next, unselected force field array values can be re-initialized so that selection of minority pixel locations is only based only on the current function.
S3 and S4 incorporate subordinate functions f1-f3. Function f3, for example, provides for the reduced force field value proximal the minority pixel. Tile size is described below. Note that S1-S4 are Gaussian functions but other types of functions that diminish as radius increases can be appropriate.
S1-S4 characteristics were empirically determined to produce visually pleasing dot profiles at constant tone levels. Using a subset of functions, such as S1-S4 without f3, produces visually pleasing blue noise dot profiles while using S1-S4 produces visually pleasing green noise dot profiles. S1-S4 can be a starting point for parameterized shaping functions that are described further below. For clarity, shaping functions S1-S4 will be used to describe the method of
The method of
Tiles 301 are identified at block 222 based on the computed size of the threshold array 300 and the tile size data of the corresponding shaping function. For example, one tile (not shown) can be created for S1, representing the entire threshold array 300 for both halves of the tonal range, and four tiles 301A-301D can be created for S2, each representing a quarter of the threshold array 300 for both halves of the tonal range. For each tile 301-301D, such as exemplary tile 301A, tile data 320 is created for each half of the tonal range. Each tile data 320A, 320B includes a count of the number of minority pixels currently assigned in the associated part of the threshold array (e.g. non-zero threshold array value). Tile data 320A, 320B can also include a list of available majority pixel locations that are preferably sorted by the force field values from corresponding locations in the associated force field array 310A, 310B.
For example, tile 301A, shown with a hatched fill, is identified as one of four tiles associated with S2 and in association with arrays 300, 310A and 310B of
Finally at step 222, the number of tonal steps can be determined based on the number of pixels identified for threshold array 300. For the example of threshold array 300, the first tonal step will be 1/64 or 1.5625%, and the second last step will be 63/64 or 98.4375%. In practice, much larger arrays, on the order of 1000×1000 pixels may be desired which allow for much finer steps (e.g. 0.0001%). As another alternative, a tone step size can be established as a predefined or user-defined value (e.g. 0.1%) and a corresponding number of pixels (e.g. 1000) can be identified for each tone step in the 1000×1000 array. Each tone step includes approximately the same number of minority pixels with the same threshold array value. The number of pixels per step may not be the same if the threshold array size is not an integer multiple of the tone step size.
Table 3 describes an exemplary set of user-defined screen generation parameters that can be used with a set of shaping functions with or adapted from S1-S4. The relevance of each parameter is described below in the context of their usage.
Having completed initialization, the method proceeds to block 224 where seed pixels can be established for the first and second last tonal steps. The user-defined seed tone step parameter can identify how many seed pixel pixels should be established. Both black minority pixels above 0% and white minority pixels below 100% for this step can be established as seed pixels. A default value of 0.2% can be established, as an example, in lieu of a user-defined value. Note that the description that follows is based on the assumption that screen data for both the high and low tonal ranges are simultaneously built for each tonal step. Other methods, where different parts of the tonal range are built in sequence can be accommodated by the invention.
The distribution of seed pixels can be established by uniformly distributing the seed pixels according to a Bayer dither (i.e. regular dispersion) pattern. In one embodiment, a degree of randomness can be introduced to the Bayer dither pattern locations to reduce the anisotropy of the screen at low tone levels. For example, each minority seed pixel can be shifted by some randomized radial distance at a randomized angle. The user-defined max seed noise parameter is used to limit the magnitude of a randomized radial shift in each seed pixel location.
When a minority pixel 302A, 302B is identified, information in corresponding force field array 310A-, 310B and each tile data 320A, 320B (for each tile 301A-301D) can be updated. For example, selecting black minority pixel 302A can result in force field value 303A in force field array 310A (
As another example, selecting white minority pixel 302B can result in force field value 303B in force field array 310B (
The method proceeds next to block 226 where the shaping functions are applied for each minority pixel 302A, 302B that has just been selected. Experiments found that applying shaping functions dominate the utilization of computing resources for the method. In particular, the generation time was on the order of N2 for an N×N threshold array.
According to one improved performance embodiment of the invention, each shaping function is used to create one or more masks which can then be positioned relative to the location of a new minority pixel 302 and the mask's values added to current force field values 303 for available majority pixels in a force field array. Each mask can be calculated once and reused throughout the method.
Note that force field values 303C and 303D were updated by shaping mask 400 so that the resultant screen has good wraparound properties. In one embodiment, that further improves performance by reducing address calculations, the coordinate system of threshold array 300, force field arrays 301A and 301B as well as shaping mask 400 are cylindrical rather than linear.
After applying shaping functions at block 226, the method proceeds to block 228 where a tile 301 is selected as the source of a next minority pixel 302. According to one embodiment of the invention, selection of a tile 301 is based on evaluating the minority pixel count of associated tile data 320. For example, the tile 301 with the lowest minority pixel count can be selected. As another example, if more than one tile 301 has the minimum number of minority pixels one tile 301 can be selected at random from those having the minimum count.
The method proceeds next to block 230 where the next minority pixel 302 is selected from the selected tile 301. According to one embodiment, the location of a pixel can be determined from tile data 320 for selected tile 301. The pixel location from tile data 320 having the minimum positive force field value is chosen as the next minority pixel 302. “Available majority pixel locations” data of tile data 320 can be advantageously used to identify the pixel location if it is sorted as described above. According to one embodiment, if more than one location has a minimum value, one can be chosen at random. According to another embodiment, isotropy can be improved by randomly selecting a location from amongst a subset of available majority pixel locations of a tile having the smallest values. For example, the subset can be identified as some percentage (e.g. 0.2%) of all available pixels for a tile having the lowest values. Thus, as the number of available majority pixel locations is reduced, the subset size decreases and eventually includes only one lowest valued available majority pixel location.
Threshold array 300, force field arrays 301, and tile data 320 are updated based on the location of selected minority pixel 302. Threshold array 300 can be updated with the threshold value for the current tone level. Force field arrays 301 and tile data 320 can be updated as described above. A count of the total number of minority pixels selected for the current tone level is also incremented.
The method proceeds next to block 231 where a decision is made regarding the need to identify additional minority pixels for the current tone step. If additional minority pixels must be identified, the method proceeds to block 228. Note that for blocks 226, 228, 230, and 231, the methods are applied to both black and white minority pixels.
Otherwise the method proceeds to block 232 where a decision is made regarding the need to identify a next tone step. If an additional tone step remains, the current tone levels and threshold values for both tonal ranges are adjusted according to the tonal step size, the minority pixel counts for the current tone level are reset and the method proceeds to block 226.
Otherwise the method proceeds to block 234 where threshold array 300, which now has non-negative values at each pixel location, can be stored as halftone screen 32. As an alternative, threshold array 300 can be compared with each tone level and a corresponding dot profile for each tone level produced. The collection of dot profiles for each tone level can be indexed and stored as halftone screen 32. Halftone screen 32 can be cached for use in subsequent requests that include identical screen parameters 15.
Different embodiments can vary aspects of the method. For example, screen data for the two tonal ranges can be generated serially instead of simultaneously. As another example, different seeding patterns can be established. As another, example, different shaping functions can be used for the lower and upper tonal ranges so that asymmetrical screens are produced. Other exemplary variations in shaping functions are described below.
Corresponding power spectra and anisotropy graphs (not shown) indicate that the screen produces isotropic dot profiles with green noise power spectra. Experiments have shown that halftone images produced with this screen will be relatively insensitive to process variations and will produce visually pleasing results. It may be desirable, however, to control the shape of the edge/area ratio curve for a screen.
In one embodiment of the present invention, the shaping functions are modified according to Table 4 to allow greater user-defined control.
Enhanced shaping functions E1-E5 incorporate a number of changes relative to basic functions S1-S4. Firstly, tiles 301 are of a fixed instead of a proportional size since most practical tiles are at least 200×200 pixels. Secondly, cluster shaping parameter (σ) is introduced in g2 and g3 to provide user control over the onset of pixel clustering. This is discussed in more detail below. Thirdly, a model of the human visual response (e.g. contrast sensitivity function) is incorporated into g3 through the use of parameters K, α, and θ. Empirical tests have shown that a value for K of 1.46 produces good results that are similar to S1-S4. In some embodiments, it may be desirable to allow this scalar value to be adjusted. θ represents a radial angle from a minority pixel to a majority pixel location. Use of a sin2θ term causes g3 to preferentially cluster pixels with a diagonal orientation.
Diagonal bias parameter (α) can be user-defined but defaults to a value of 0.19. Lastly, the size of halftone dots is controlled by a user-defined cluster size (C) parameter. Cluster size can be limited to values of 1, 2 or 3, representing 1×1, 2×2 and 3×3 clusters, for example. Cluster size may be useful for reproduction processes where high addressability exists but where dots below a certain size cannot be faithfully reproduced.
When a user defines a cluster size parameter 452A-452C (e.g. value 3 defining a 3×3 cluster size), the method of
A corresponding change must be made to blocks 228 and 230 so that tiles with negative force field values are selected preferentially and that majority pixel value locations with negative force field values are preferentially selected as minority pixels and that locations with small negative values are selected before those with large negative values. The algorithm can require, for example, that each halftone dot is grown to a cluster size before another halftone dot is grown. As an alternative, the algorithm can require that halftone dots are grown in parallel (e.g. according to the magnitude of negative force field values).
Referring again to
Empirical tests made with screens generated using enhanced shaping functions E1-E5 showed that some improvements in mid-tone graininess could still be made. In one embodiment, the application of shaping functions E1-E5 at block 226 was further adapted to take into account anticipated dot gain of minority pixels. Anticipated dot gain can be measured, for example, by reproducing test images and measuring effective dot gain of the overall reproduction process. The anticipated dot gain can be used in conjunction with shaping function E1-E5 to adjust the intensity and position of a force field exerted by a minority pixel and thus alter the manner in which the dots are dispersed.
After dot gain, pixel 502A grows to a size depicted by gained pixel 503A. The model for gained pixel 503A includes a number of gained edge areas 504 and a number of gained corner areas 505. In the example of
Each of shaping functions E1-E5 is based on a pixel having a unit area. With dot gain, each function can be modified to include a dot gain weighting factor that is computed for each minority pixel as it is identified (e.g. in blocks 224 and 230). For example, shaping function E1 for gained pixel 503A becomes 1.93*exp(−R2/(2*(8*C)2)). Modeled dot center 506A of gained pixel 503A is the same as that for nominal pixel 502A since modeled growth is symmetrical.
The area of gained pixel 503D includes reduced nominal area, illustrated with dark color, and gained area, illustrated with light gray cross hatching. Thus, the area of gained pixel 503D is modeled as 4×5 units (reduced nominal area)+[4+5+4] units (gained edge area)+2*0.78 units (gained corner area). The total area of gained pixel 503D is summed as 34.56 units. This area is 1.38 times the nominal area of 25 units of nominal pixel 502D and this dot gain weighting factor can be used with shaping functions E1-E5.
Modeled dot center 506D is shifted left from the nominal dot center 506E of nominal pixel 502D because of the asymmetric gain and reduced nominal area. The position of modeled dot center 506D can also be used in shaping function E1-E5 to achieve a more homogenous dispersal of dots. Dot gain weighting factor and modeled dot center values can be calculated at block 222 based on various combinations of enabled adjacent pixels and the calculated elements reused to improve performance. According to one embodiment, multiple masks for each function, corresponding to permutations of modeled dot centers and gain factors, can be pre-computed to further enhance performance.
The value for edge growth “g” can be derived from the user-defined anticipated dot gain parameter. For example, for a square pixel of unit edge length, anticipated dot gain is equated with (4g+πg2)*100%, which can be solved for “g” and this value used to compute weighting factors and dot gain centers. For pixels with rectangular aspect ratios, anticipated dot gain can be equated with a different formula based on edge growth “g.”
Different models of dot gain can be used, but this particular model was empirically determined to be effective for halftone imaging devices 40 that produce rectangular dots by exposing pixels with steep exposure profiles. For example, a circular model of dot gain could be advantageous for devices 40 that produce round dots with Gaussian exposure profiles.
In one embodiment, a system including at least RIP 20, screen processor 30 and halftone imaging device 40 are mutually configurable to support a reproduction process where the exposed halftone image has a dimensional constraint.
One exemplary constraint is a repeat length for the exposed halftone image. An example of a process with a repeat length constraint is contiguous printing of an image on a roll of paper (e.g. printing wallpaper). One method for contiguous printing of an image is to expose the halftone image data 24 on a cylindrical blank image medium 41 with a circumference equal to the repeat length. One challenge with this type of process is to ensure that halftone data abutting at the repeat boundary does not produce visual artifacts.
One way to prevent artifacts at the repeat boundary is to ensure that the repeat length dimension is integer divisible by the aligned dimension of a portion of the exposed halftone image corresponding to threshold array 300. Since the dimension of the portion of exposed halftone image is determined by the resolution of halftone imaging device 40 and a dimension of threshold array 300, an optimal solution can be determined by configuring appropriate values for resolution (e.g. at halftone imaging device 40 and RIP 20) and screen parameters affecting the dimension of threshold array 300 (e.g. at screen processor 30 as described above). Variable resolution in prior art RIPs 20 is well known. Variable resolution in halftone imaging devices 40 is less common. Certain models of the Trendsetter, Lotem and Magnus family of CTP devices, manufactured by Eastman Kodak, have this capability by providing a mainscan and/or subscan scaling adjustment in the imaging components.
Selecting the optimal combination of resolution and threshold array dimension can be automated based on certain rules. Alternatively, various solutions can be presented to a user for selection. As another alternative, user input may constrain the optimal solutions. For example, a user could specify a range of desired resolutions or a range of threshold array dimensions.
Another exemplary constraint is an image segment dimension for the exposed halftone image. An example of a process with a segment dimension constraint is lenticular printing where halftone image data is broken into segments and interleaved with other images so that only one of the halftone images (in its entirety) is visible when viewed through an array of lenses at a particular viewing angle. Similar to above, it is desirable that each segment be based on halftone image data 24 generated by an integer multiple of threshold arrays 300.
Embodiments of the present invention may comprise any medium which carries a set of computer-readable signals comprising instructions which, when executed by a computer processor, cause the computer processor to execute a method of the invention. Embodiments may be in any of a wide variety of forms. Embodiments may comprise, for example, physical media such as magnetic storage media including floppy diskettes, hard disk drives, optical data storage media including CD ROMs, DVDs, electronic data storage media including ROMs, flash RAM, or the like or transmission-type media such as digital or analog communication links. The instructions may optionally be compressed and/or encrypted on the medium.
The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the scope of the invention.
1 device pixel address grid
2 device pixel
3 halftone dot
10 printing system
11 job data
12 contone image
13 processing instructions
14 RIP parameters
15 screen parameters
20 raster image processor (RIP)
21 image interpreter
22 contone renderer
23 halftone generator
24 halftone image data
30 screen processor
31 screen generator
32 halftone screen
40 halftone imaging device
41 blank imaging medium
42 imaged medium
50 medium processor
51 processed medium
60 reproduction device
61 consumables
62 halftone image reproductions
100 device pixel matrix
101 device pixel
102 square halftone dot matrix
103A-103E halftone dot
104A-104E halftone dot
105 halftone dot
106 halftone dot
107 halftone dot
110 area
120 area
200 nominal Gaussian exposure profile
201 increased Gaussian exposure profile
202 switch threshold
203 dot diameter
204 dot diameter
210 nominal steep exposure profile
211 increased steep exposure profile
213 dot dimension
214 dot dimension
220 screen generation method block
222 screen generation method block
224 screen generation method block
226 screen generation method block
228 screen generation method block
230 screen generation method block
231 screen generation method block
232 screen generation method block
233 screen generation method block
234 screen generation method block
300 threshold array
301A-301D tile
302A minority pixel
302B minority pixel
303A-303I force field value
310A force field array
310B force field array
320A tile data
320B tile data
506D modeled dot center
506E modeled dot center
600A-600J dot profiles
400 shaping mask
401 mask center
403 maximum function radius
450A-450I edge/area vs. tone graph
451A-451I cluster shaping parameter value
452A-452C cluster size parameter
460A-460C edge/area vs. cluster shaping graph
461A data point
462A edge/area value
470 data structure
471 pixel growth order
472 negative force field value
472A negative force field value
472B negative force field value
472H negative force field value
473 growth pixel offset
473A growth pixel offset
473B growth pixel offset
473H growth pixel offset
500 nominal pixel grid
501 sub-pixel grid
502A nominal pixel
502C nominal pixel
502D nominal pixel
503A gained pixel
503C gained pixel
503D gained pixel
504 gained edge area
505 gained corner area
505A gained corner area
505B gained corner area
506A modeled dot center
Reference is made commonly-assigned copending U.S. patent application Ser. No. ______ (Attorney Docket No. 94147/NAB), filed herewith, entitled STOCHASTIC HALFTONE IMAGES BASED ON SCREENING PARAMETERS, by Blondal et al., the disclosure of which is incorporated herein.