Method for halftoning using interlocked threshold arrays or interlocked dot profiles
First Claim
1. A method for creating a plurality of interlocked dot profiles for halftoning color images, using a computer system having a processing circuit that operates on data and a memory circuit that stores data, said method comprising:
- (a) allocating sufficient memory to hold a plurality of dot profiles, wherein each one of said plurality of dot profiles corresponds to at least one color plane;
(b) repeatedly generating one of said plurality of dot profiles for each one of said at least one color plane, by;
(i) determining a quantity of dots needed for one of said at least one color plane for the present one of said plurality of dot profiles;
(ii) evaluating a numeric decision criterion for a combination of the present one of said at least one color plane and the present one of said plurality of dot profiles;
(iii) combining said numeric decision criteria for all of said at least one color plane for the present one of said plurality of dot profiles in a manner such that at least one interlocked “
newdot”
location is determined in each of said at least one color plane;
(iv) placing a dot in one of said plurality of dot profiles that corresponds to the present one of said plurality of dot profiles in at least one interlocked “
newdot”
location; and
(c) performing steps (b)(i) through (b)(iv) for each of said plurality of dot profiles until all of said dot profiles have been generated, thereby completing all dot profiles for said at least one color plane.
2 Assignments
0 Petitions
Accused Products
Abstract
A dispersed-dot stochastic dither array is provided for rendering halftone images having excellent visual quality. For color printing, a separate threshold array is generated for each of the color planes, however, the stochastic screens are interlocked so that the threshold arrays are generated while considering the other color threshold arrays. In this manner, a blue noise distribution may be produced by the individual arrays as well as by any combination of the individual arrays. When generating a single threshold array for a color plane, a particular criterion is used to determine where the next threshold value should be located, and the selection of a threshold location in each array considers the criterion for all the threshold arrays being generated. By using the interlocked threshold arrays approach, the overall visual affect will be improved for both individual threshold arrays and for a combination of more than one of the threshold arrays. The present invention also is used to generating a set of interlocked dot profiles which do not use a threshold array for halftoning. In an opposite sense, the interlocked threshold arrays can be generated without using dot profiles during the formative steps of the threshold array. More than one threshold array could be generated in this manner, and these threshold arrays could also be interlocked with respect to one another. Other alternative methodologies include globally optimizing interlocked threshold arrays by simultaneously considering all tone levels for all threshold arrays being generated to avoid locally suboptimal solutions; or regional optimization can be achieved to simultaneously considering certain portions of the tone levels. Also, interlocked threshold arrays can be created that obtain better data compression, or to embed a digital watermark.
-
Citations
57 Claims
-
1. A method for creating a plurality of interlocked dot profiles for halftoning color images, using a computer system having a processing circuit that operates on data and a memory circuit that stores data, said method comprising:
-
(a) allocating sufficient memory to hold a plurality of dot profiles, wherein each one of said plurality of dot profiles corresponds to at least one color plane;
(b) repeatedly generating one of said plurality of dot profiles for each one of said at least one color plane, by;
(i) determining a quantity of dots needed for one of said at least one color plane for the present one of said plurality of dot profiles;
(ii) evaluating a numeric decision criterion for a combination of the present one of said at least one color plane and the present one of said plurality of dot profiles;
(iii) combining said numeric decision criteria for all of said at least one color plane for the present one of said plurality of dot profiles in a manner such that at least one interlocked “
newdot”
location is determined in each of said at least one color plane;
(iv) placing a dot in one of said plurality of dot profiles that corresponds to the present one of said plurality of dot profiles in at least one interlocked “
newdot”
location; and
(c) performing steps (b)(i) through (b)(iv) for each of said plurality of dot profiles until all of said dot profiles have been generated, thereby completing all dot profiles for said at least one color plane. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for creating a plurality of interlocked threshold arrays for halftoning images, using a computer system having a processing circuit that operates on data and a memory circuit that stores data, said method comprising:
-
(a) selecting at least one numeric decision criterion for use in generating a plurality of threshold arrays;
(b) allocating sufficient memory to hold said plurality of threshold arrays;
(c) initializing each entry of each of said plurality of threshold arrays to a predetermined threshold value;
(d) repeatedly placing a numeric value into at least one entry of at least one of said plurality of threshold arrays, by;
(i) determining a current gray level;
(ii) determining a numeric value of said at least one threshold entry to be modified in one of said plurality of threshold arrays;
(iii) using said at least one numeric decision criterion, finding at least one location of said at least one threshold entry to be modified in a manner such that said at least one location is interlocked with other of said plurality of threshold arrays;
(iv) modifying said numeric value of said at least one threshold entry at said at least one location; and
(e) performing steps (d)(i) through (d)(iv) for each of said plurality of threshold arrays, until all appropriate threshold entries have been processed. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for creating a plurality of interlocked threshold arrays for halftoning images, using a computer system having a processing circuit that operates on data and a memory circuit that stores data, said method comprising:
-
(a) selecting at least one numeric decision criterion for use in generating a plurality of threshold arrays;
(b) allocating sufficient memory to hold said plurality of threshold arrays, and setting each entry of each of said plurality of threshold arrays to a predetermined threshold value;
(c) initializing a list of previously chosen gray levels;
(d) repeatedly placing a numeric value into at least one entry of at least one of said plurality of threshold arrays, by;
(i) determining a current gray level;
(ii) determining “
numchanges”
number of said threshold entries to be modified in one of said plurality of threshold arrays;
(iii) using said at least one numeric decision criterion, determining which existing numeric value of threshold entries is appropriate for modification;
(iv) combining criteria for said plurality of threshold arrays to find locations of said threshold entries to be modified in a manner such that said locations are interlocked with other of said plurality of threshold arrays;
(v) modifying a numeric value of said threshold entries at “
numchanges”
locations;
(vi) adding said current gray level to the list of previously chosen gray levels; and
(e) performing steps (d)(i) through (d)(vi) for each of said plurality of threshold arrays, until all appropriate threshold entries have been processed. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 54, 55, 56, 57)
-
-
44. A method for creating a plurality of interlocked threshold arrays for halftoning images while choosing gray levels in any desired order, using a computer system having a processing circuit that operates on data and a memory circuit that stores data, said method comprising:
-
(a) selecting at least one numeric decision criterion for use in generating a plurality of threshold arrays;
(b) allocating sufficient memory to hold said plurality of threshold arrays, and setting each entry of each of said plurality of threshold arrays to a minimum threshold value;
(c) initializing a list of previously chosen gray levels to contain a minimum gray level and a maximum gray level;
(d) repeatedly placing a numeric value into at least one entry of at least one of said plurality of threshold arrays, by;
(i) determining a current gray level, “
g_current”
;
(ii) selecting “
g_lo”
={largest previously chosen gray level<
it g_current”
};
(iii) selecting “
g_hi”
={smallest previously chosen gray level>
“
g_current”
};
(iv) determining “
numchanges”
number of said threshold entries to be modified in one of said plurality of threshold arrays, wherein “
numchanges”
is equal to;
{a number of dots desired for the current gray level−
a number of dots desired for the higher of previously chosen gray levels};
(v) using said at least one numeric decision criterion, determining which existing numeric value of threshold entries is to be modified, which is equal to {“
g_lo”
+1};
(vi) combining criteria for said plurality of threshold arrays to find locations of said threshold entries to be modified in a manner such that said locations are interlocked with other of said plurality of threshold arrays;
(vii) modifying a numeric value of said threshold entries, by setting that numeric value equal to {“
g_current”
+1} at “
numchanges”
locations;
(viii) adding said current gray level, “
g_current,”
to the list of previously chosen gray levels; and
(e) performing steps (d)(i) through (d)(vii) for each of said plurality of threshold arrays, until all appropriate threshold entries have been processed. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53)
-
Specification