Digital color halftoning with generalized error diffusion vector green-noise masks

Information

  • Patent Grant
  • 6798537
  • Patent Number
    6,798,537
  • Date Filed
    Monday, January 24, 2000
    25 years ago
  • Date Issued
    Tuesday, September 28, 2004
    21 years ago
Abstract
Disclosed are two novel techniques for digital color halftoning with green-noise stochastic dither patterns generated by homogeneously distributing minority pixel clusters. The first technique employs error diffusion with output-dependent feedback such that the overlapping of pixels of different colors can be regulated for increased color control. The second technique uses a green-noise mask which is a dither array designed to create green-noise halftone patterns. The green-noise mask is constructed to also regulate the overlapping of different colored pixels. As is the case with monochrome image halftoning, both techniques are tunable, allowing for large clusters in printers with high dot-gain characteristics, and small clusters in printers with low dot-gain characteristics.
Description




BACKGROUND OF THE INVENTION




A. Field of the Invention




The present invention relates generally to halftoning of images, and, more particularly to digital color halftoning with generalized error diffusion and vector green-noise masks.




B. Description of the Related Art




Digital halftoning is a technique used by binary display devices to create, within the human eye, the illusion of continuous tone. Designed to mimic analog techniques, dot-clustered ordered dithering or amplitude modulated (AM) halftoning produces this illusion by varying the size of round printed dots which are arranged along an ordered grid. When using AM halftoning, the parameters of particular importance are the lines-per-inch (Ipi), i.e., the number of rows/columns of the regular grid and the screen angle or the orientation of the regular grid relative to the horizontal axis. Typically, monochrome screens have an angle of 45° since the human visual system is least sensitive to diagonal artifacts.




In color printers, the illusion of continuous shades of color is produced by superimposing the binary halftones of cyan, magenta, yellow and black (CMYK) inks. As the dots of an AM halftone form a regular grid, clustered-dot dithering suffers from “moiré”—the secondary interference patterns created by superimposing two or more regular patterns. To minimize the appearance of moiré, the screens of cyan, magenta, yellow and black are typically oriented at the angles of 15°, 75°, 45°, and 0°, creating a pleasant rosette pattern.




The problems of moiré and screen angles are avoided in frequency-modulated halftoning where continuous tone is produced by varying the distance between printed dots and not varying the size. Typically, FM halftones are produced by error diffusion which creates a stochastic arrangement of dots. Besides avoiding moiré, FM halftoning, by isolating minority pixels, maximizes the spatial resolution of the printed image relative to the printer. Unfortunately, this distribution also maximizes the perimeter-to-area ratio of printed dots, making FM halftones more susceptible to printer distortions such as dot-gain, and causing the printer halftone to appear darker than the original ratio of white-to-black pixels. In printers with high dot-gain characteristics, AM halftoning may be the preferred technique, with its lower spatial resolution, moiré, and perimeter-to-area ratio of its clustered-dots.




An alternative to AM and FM halftoning is disclosed in R. Levien, “Output dependent feedback in error diffusion halftoning,”


IS


&


T's Eighth International Congress on Advances in Non


-


Impact Printing Technologies


, pp. 280-282 (1992). Error diffusion with output-dependent feedback is an AM-FM hybrid which creates the illusion of continuous tone by producing a stochastic patterning of dot clusters which vary in both their size and in their separation distance. The major advantage of this technique over prior error diffusion schemes, is that by adjusting a single parameter, the output is tunable, that is, capable of creating halftones with large clusters in printers with high dot-gain characteristics and small clusters in printers with low dot-gain characteristics. Error diffusion with output-dependent feedback, therefore, sacrifices halftone visibility for printer robustness.




In U.S. patent application Ser. No. 09/228,573, filed Jan. 11, 1999, which was based upon provisional Serial No. 60/071,649, filed Jan. 16, 1998, the inventors of the present invention disclosed a technique that creates patterns described in terms of their spectral content as green-noise-containing no low or high frequency spectral components. This green-noise model is presented in accordance with a blue-noise model that describes the spectral characteristics of the ideal error-diffused halftone patterns as having no low-frequency content. Furthermore, just as the spectral characteristics of blue-noise generate the blue-noise mask and a binary dither array reduces the computational complexity associated with FM halftoning, the present inventors, using the spatial and spectral characteristics of green-noise, introduced the green-noise mask.




The problem yet to be addressed in the evolution of green-noise halftoning is its application to color. FM halftoning has been studied in great detail with respect to color printing. The techniques introduced range from simply halftoning each color independently, to complex model-based techniques which transform the CMYK color space to alternate spaces, and even using a blue-noise mask for color halftoning.




SUMMARY OF THE INVENTION




An object of the invention is to address the problems associated with the related art.




A further object is to provide an apparatus capable of digital color halftoning with generalized error diffusion and vector green-noise masks.




Additional objects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.




To achieve the objects and in accordance with the purpose of the invention, as embodied and broadly described herein, the invention comprises an apparatus and method of color printing using green-noise halftoning, the method comprising the step of: extending error diffusion with output-dependent feedback to cluster pixels of like color and to regulate the clustering of pixels of different colors, wherein the halftoning of different colors is correlated such that the superimposing of different inks is increased or decreased, offering greater control of resulting halftone patterns.




To further achieve the objects, the present invention comprises an apparatus and method of color printing using green-noise halftoning, the method comprising the step of: incorporating a desired correlation between colors to construct a vector green-noise mask, wherein the mask maintains all the desirable attributes of a monochrome mask, such as isotropic and tunable coarseness, while regulating the overlapping of pixels of different colors.




To still further achieve the objects, the present invention comprises an apparatus and method of color printing, comprising the step of: extending error diffusion to regulate the overlapping of different colored pixels, wherein the halftoning of different colors is correlated such that the superimposing of different inks is increased or decreased, offering greater control of the resulting halftone pattern.




To further achieve the objectives, the present invention comprises an apparatus and method of color printing, where {φ


i,gi


: i=1, 2, . . . , C} is an initial set of empty M×N arrays, and C, M and N are integers, the method comprising the steps of: creating a set of M×N arrays, { U


1


, U


2


, . . . , U


C


}, of uniformly distributed random numbers such that U


i


[m, n]∈(0, 1) is the probability that φ


i,gi


will become a minority pixel; for each pattern φ


i,gi


, where the ratio of the total number of minority pixels to the total number of pixels is less than a gray level g


i


, performing the following substeps: constructing a concentration matrix CM


i


using a user-defined mapping of, {H


LP


{circle around (x)}φ


i,gi


}, the output after filtering φ


i,gi


with the low-pass filter H


LP


using circular convolution, locating the majority pixel in φ


i,gi


with the highest modified probability, and replacing that pixel, φ


i


,


gi


[m, n], with a minority pixel, and given the new minority pixel, φ


i


,


gi


[m, n], adjusting the probability of each and every majority pixel, φ


i


,


gi


[o, p] for l=1, 2, . . . , C, such that: (U


l


[o, p])


new


=(U


l


[o, p])


old


×R


l, i


(r) where r is the minimum wrap-around distance from the majority pixel φ


i


,


gi


[o, p] to the new minority pixel φ


i,gi


[m, n]; and obtaining the desired color dither pattern given by the set {φ


i,gi


: i=1, 2, . . . , C} if for all colors i, the ratio of the total number of minority pixels to the total number of pixels in φ


i,gi


is equal to g


i


, otherwise, returning to the locating substep.




It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.











BRIEF DESCRIPTION OF THE DRAWINGS




The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and together with the description, serve to explain the principles of the invention. In the drawings:





FIG. 1

is a diagram showing a spatial ring used to calculate a pair correlation for a binary dither pattern;





FIG. 2

are graphs showing the pair correlations for white noise (left), blue-noise (center), and green-noise (right) dither patterns;





FIG. 3

is a schematic diagram showing the error diffusion algorithm introduced by Floyd-Steinberg;





FIG. 4

is a schematic diagram showing the error diffusion with output-dependent feedback algorithm introduced by Levien;





FIG. 5

is a schematic diagram showing the generalized error diffusion algorithm in accordance with a preferred embodiment of the present invention;





FIG. 6

are graphs showing the pair correlations for CMYK halftone patterns with no diffusion between colors using Floyd-Steinberg error diffusion weights and no hysteresis (left), Levien diffusion with small hysteresis constant (h=0.5) (center), and Levien diffusion with medium hysteresis constant (h=1.0) (right);





FIG. 7

are graphs showing the pair correlations for CMYK halftone patterns using Levien diffusion with high hysteresis constant (h=1.5) with a negative interference term (S


i≠i


=−0.2) (left), no interference term (S


i≠i


=0) (center), and a positive interference term (S


i≠i


=+0.2) (right);





FIG. 8

is a graph showing a pair correlation shaping function used to construct green-noise;





FIG. 9

is graph showing a mapping function used to construct a concentration matrix from an output after filtering with a low-pass filter using circular convolution;





FIG. 10

is a graph showing a pair correlation shaping functions used to construct color green-noise with decreased overlap of minority pixels of different colors;





FIG. 11

are graphs showing CMYK dither patterns created using a VBIPPCCA algorithm with decreased overlapping (left), uncorrelated overlapping (center), and increased overlapping (right);





FIG. 12

shows CMYK dither patterns created via Floyd-Steinberg error diffusion (a), created via generalized error diffusion (b-f), and created via VBIPPCCA (g-i);





FIG. 13

shows CMYK green-noise masks constructed from VBIPPCCA that minimizes dot overlap (a), has uncorrelated overlap (b), maximizes overlap (c), and maximizes overlap for colors cyan and yellow (d);





FIG. 14

shows CMYK halftoned images of an original color photograph (shown at (a)) using generalized error diffusion (b-d) and vector green-noise masks (e-h);





FIG. 15

is a flow chart showing the steps involved in the VBIPPCCA process; and





FIG. 16

is a schematic diagram showing a computing device capable of use with the methods and processes of the present invention.











DESCRIPTION OF THE PREFERRED EMBODIMENTS




Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.




A. Halftone Statistics




Point process statistics have a long history in stochastic geometry and were recently introduced to digital halftoning by the present inventors for the study of aperiodic dither patterns. In this framework, Φ, is a stochastic model governing the location of points in


2


. φ, a sample of Φ, is the set {x


i


: i=1, 2, . . . } where x


i


is a point in


2


, and the scalar quantity φ(B) represents the number of x


1


's in B, a subset of


2


. In terms of a monochrome digital halftone pattern, a point is defined to be a minority pixel (a white pixel (1) for gray level 0≦g<½ and a black pixel (0) for ½≦g≦1).




So given I


g


, a binary dither pattern representing a monochrome image of constant gray level g, φ[n]=1 indicates that the pixel I


g


[n] is a minority pixel, otherwise, φ[n]=0. As a random quantity, the first order moment or the expected value of φ[n] is its intensity I[n], which is the unconditional probability that I


g


[n] is a minority pixel with I[n]=g for 0≦g≦½ and I[n]=1−g for ½≦g≦1. For a stationary point process where the statistical properties of Φ are independent of n, I[n]=I.




A second metric for characterizing the statistical properties of Φ is the reduced second moment measure K[n;m] defined as:










K


[

n
;
m

]


=






E


(

Φ


[
n
]




&RightBracketingBar;



Φ


[
m
]



=
1

)


E


(

Φ


[
n
]


)







(
1
)













the ratio of the probability that pixel I


g


[n] is a minority pixel under the condition that I


g


[m] is a minority pixel to the unconditional probability that I


g


[n] is a minority pixel. K[n;m] can be interpreted as a measure of the influence of a minority pixel at m on the pixel I


g


[n] with K[n;m]>1 indicating that I


g


[n] is more likely to be a minority pixel given I


g


[m] and K[n;m]<1 indicating that I


g


[n] is less likely to be a minority pixel. K[n,m]=1 indicates that I


g


[m] has no influence on I


g


[n], and in the case of a dither pattern constructed from uncorrelated (white) noise, K[n;m]=1 for all n and m.




For a stationary point process, K[n;m]=K(r, θ), where r is the distance from m to n and θ is the direction. For an isotropic point process, the statistical properties of Φ are invariant to rotation, and therefore, K(r,θ) for an isotropic process is written as R(r) and is referred to as the pair correlation. R(r) is explicitly defined as:










R






(
r
)


=


E






(



φ






(


R
m







(
r
)


)


|

φ


[
m
]



=
1

)



E






(

φ






(


R
m







(
r
)


)









(
2
)













the ratio of the expected number of minority pixels located in the ring R


m


(r)={n:r<|n−m|≦r+dr}, see

FIG. 1

, under the condition that I


g


[m] is a minority pixel to the unconditional expected number of minority pixels located in R


m


(r).




R(r) offers an especially useful tool for characterizing aperiodic dither patterns as illustrated in

FIG. 2

, where three dither patterns representing gray level g={fraction (15/16)} are shown with their corresponding pair correlations (both the calculated and the ideal). The first pattern (left) is a white-noise dither pattern, and as such has a pair correlation R(r)=1 for all r as the value of any single pixel in I


g


is independent of all other pixels. The name (white-noise) derives from the fact that the resulting power spectrum remains constant for all frequencies.




The second pattern (center) is composed of blue-noise which represents gray level g by distributing the minority pixels within I


g


as homogeneously as possible-resulting in a dither pattern where minority pixels are placed, on average, a distance of λ


b


apart where:










λ
b

=

{





D
/

g


,


for





0

<
g


1
/
2









D
/


(

1
-
g

)



,


for






1
/
2


<
g

1










(
3
)













and D is the minimum distance between addressable points on the display. Referred to as the principle wavelength of blue-noise, λ


b


is illustrated in R(r) as series of peaks at integer multiples of λ


b


. The term “blue-noise” denotes that the spectral components of a blue-noise dither pattern lie almost exclusively in the high (blue) frequency range.




The final pattern (right) is green-noise where gray level g is represented by homogeneously distributed minority pixel clusters. These clusters are separated, center-to-center, by an average distance of λ


g


, the principle wavelength of green-noise, where:










λ
g

=

{





D
/


g
/

M
_




,


for





0

<
g


1
/
2









D
/



(

1
-
g

)

/

M
_




,


for






1
/
2


<
g

1










(
4
)













and {overscore (M)} is the average number of minority pixels per cluster. In R(r), it is the separation of clusters λ


g


that leads to a series of peaks at integer multiples of λ


g


, and the clustering of minority pixels that leads to a non-zero component for r near zero with R(r)>1 for 0<r<r


c


. The parameter r


c


is the cluster radius and is related to {overscore (M)} as:






π


r




2




c




={overscore (M)}


  (5)






where πr


2




c


is the area covered by a circle with radius r


c


. Principle wavelength λ


g


is most apparent in R(r) when the variation in cluster size is small as increasing the variation leads to a “whitened” dither pattern where the peaks and valleys of R(r) become blurred. The term “green” refers to the resulting patterns' predominantly mid-frequency spectral components with the blue-noise model a limiting case ({overscore (M)}=1).




1. Color Halftoning




In the case of a color halftone, the monochrome model I


g


must be revised as a dither pattern composed of C colors where, for generality, the quantity C is an arbitrary integer. For RGM and CMYK, where images are composed of the additive colors red, green and blue or the subtractive colors cyan, magenta, yellow and black, C=3 and 4, respectively. So for color images, the halftone pattern I


g


is now composed of the monochrome binary dither patterns I


g


, I


g2


, . . . , I


gc


where g


i


is the gray level of pattern I


gi


and φ


i


is the corresponding point process.




In this new framework, the quantity K


i,j


[n;m] is a reduced second moment measure between colors such that:











K

i
,
j




[

n
;
m

]


=


E






(




φ
gi



[
n
]


|


φ
gi



[
m
]



=
1

)



E






(


φ
gi



[
n
]


)







(
6
)













is the ratio of the conditional probability that φ


gi


[n] is a minority pixel given that a minority pixel exists at sample m of φ


gi


to the unconditional probability that φ


gi


[n] is a minority pixel. Similar to K[n;m], K


i,j


[n;m]=1 indicates that the location of minority pixels in colors i and j are uncorrelated. The pair correlation between colors g


i


and g


j


follows as:











R

i
,
j








(
r
)


=


E






(




φ
gi







(


R
m







(
r
)


)


|


φ
gi



[
m
]



=
1

)



E






(


φ
gi







(


R
m







(
r
)


)









(
7
)













the ratio of the expected number of minority pixels of color g


i


located in the ring R


m


(r)={n:r<|n−m|≦r+dr} under the condition that φ


gi


[m] is a minority pixel to the unconditional expected number of minority pixels with color g


i


located in R


m


(r).




B. Generalized Error Diffusion




1. Monochrome




In error diffusion (FIG.


3


), the output pixel y[n] is determined by adjusting and thresholding the input pixel x[n] such that:










y


[
n
]


=

{




1
,


if






(


x


[
n
]


+


x
e



[
n
]



)



0







0
,
else













(
8
)













where x


e


[n] is the diffused quantization error accumulated during previous iterations as:











x
e



[
n
]


=




i
=
1

M








b
i
*








y
e



[

n
-
i

]








(
9
)













with y


e


[n]=y[n]−(x[n]+x


e


[n]) and Σ


M




i=1


b


i


=1. Using vector notation, Equation (9) becomes:








x




e




[n]=b




T




y




e




[n]


  (10)






where b=[b


1


, b


2


, . . . , b


M


]


T


and y


e


[n]=[y


e


[n−1], y


e


[n−2], . . . , y


e


[n−M]]


T


.




As shown in

FIG. 4

, adding an output-dependent feedback term, to Equation (8) provides:










y


[
n
]


=

{








1
,


if






(


x


[
n
]


+


x
e



[
n
]


+


x
h



[
n
]



)



0







0
,
else













(
11
)













where x


h


[n] is the hysteresis or feedback term defined as:











x
h



[
n
]


=

h





i
=
1

M








a
i
*







y


[

n
-
i

]









(
12
)













with Σ


N




i=0


α


i


=1 and h is an arbitrary constant. Referred to as the hysteresis constant, h acts as a tuning parameter with a larger h value leading to coarser output textures as h increases (h>0) or decreases (h<0) the likelihood of a minority pixel if the previous outputs were also minority pixels. Equation (12) can also be written in vector notation as:








x




h




[n]=ha




T




y[n]


  (13)






where a=[α


1


, α


2


, . . . , α


N


]


T


and y[n]=[y[n−1], y[n−2], . . . , y[n−N]]


T


. The calculation of the parameters y


e


[n] and x


e


[n] remains unchanged. The binary output pixel y[n] is determined as:










y


[
n
]


=

{








1
,


if






(


x


[
n
]


+


b
T




y
e



[
n
]



+

h






a
T



y


[
n
]




)



0







0
,
else













(
14
)













where y


e


[n]=[y


e


[n−1], y


e


[n−2], . . . , y


e


[n−N]]


T


such that y


e


[n]=y[n]−(x[n]+x


e


[n]) and y[n]=[y[n−1], y[n−2], . . . , y[n−N]]


T


.




2. Color




Now consider the C-channel case where an output pixel is not the binary pixel y[n] but the C-dimensional vector {overscore (y)}[n] such that:











y
_



[
n
]


=

[





y
1



[
n
]








y
2



[
n
]













y
c



[
n
]





]





(
15
)













where y


i


[n] is the binary output pixel of color i. Assuming all C channels are halftoned independently, the binary output pixel y


i


[n] is determined as:











y
i



[
n
]


=

{








1
,


if






(



x
i



[
n
]


+


x
i
e



[
n
]


+


x
i
h



[
n
]



)



0








0
,
else


















(
16
)













where x


e




i


and x


h




i


[n] are the error and hysteresis terms respectively for the i


th


color. The error term, being a vector, is calculated as:











x
e



[
n
]


=


[




b

T
1




0





0




0



b

T
2







0


















0


0






b

T
C





]



[





y

e
1




[
n
]








y

e
2




[
n
]













y

e
C




[
n
]





]






(
17
)













where b


i


are the filter weights regulating the diffusion of error in the i


th


channel and y


e




i


[n] is the vector [y


e




i


[n−1], y


e




i


[n−2], . . . , y


e




i


[n−N]]


T


composed exclusively from errors in channel i such that y


e




i


[n]=y


i


[n]−(x


i


[n]+x


e




i


[n]). The hysteresis term {overscore (x)}


h


[n], also a vector, is calculated as:












x
_

h



[
n
]


=



[




h
1



0





0




0



h
2






0


















0


0






h
C




]



[




a
1



0





0




0



a
2






0


















0


0






a
C




]




[





y
1



[
n
]








y
2



[
n
]













y
c



[
n
]





]






(
18
)













where a


i


are the filter weights and h


i


is the hysteresis constant that regulates the diffusion of feedback in the i


th


channel.




Generalized even further, Equation (17) becomes:











x
e



[
n
]


=


[




b

T

1
,
1






b

T

1
,
2









b

T

1
,
C








b

T

2
,
1






b

T

2
,
2









b

T

2
,
C






















b

T

C
,
1






b

T

C
,
2









b

T

C
,
C






]



[





y

e
1




[
n
]








y

e
2




[
n
]













y

e
C




[
n
]





]






(
19
)













where quantization error can now be diffused between channels through b


i,j


, the error filter weights which regulate the diffusion of error from channel j to channel i, and Equation (18) becomes:












x
_

h



[
n
]


=



[




h

1
,
1





h

1
,
2








h

1
,
C







h

2
,
1





h

2
,
2








h

2
,
C





















h

C
,
1





h

C
,
2








h

C
,
C





]



[




a

1
,
1

T




a

1
,
2

T







a

1
,
C

T






a

2
,
1

T




a

2
,
2

T







a

2
,
C

T




















a

C
,
1

T




a

C
,
2

T







a

C
,
C

T




]




[





y
1



[
n
]








y
2



[
n
]













y
C



[
n
]





]






(
20
)













where the previous outputs of channel j can impact all other channels where h


i,j


≠0 for i≠j as a


i,j


and h


i,j


regulate the diffusion of feedback from channel j to i.




Another modification to error diffusion, as shown in

FIG. 5

, comprises first defining the thresholding function T(·) as:














y
_



[
n
]


=



T






(



x
_



[
n
]


+



x
_

e



[
n
]


+



x
_

h



[
n
]



)








=



T






(



x
_

a



[
n
]


)









(
21
)













where {overscore (x)}


u


[n]={overscore (x)}[n]+{overscore (x)}


e


[n]+{overscore (x)}


h


[n] is the accumulated input pixel. The C×C interference matrix S is added to Equation (21) as:








{overscore (y)}[n]=T


(


S {overscore (x)}




u




[n


])  (22)






such that S


i,j


is the influence on the thresholding function of color i by the accumulated input of color j. The effect of S


i,j


is to increase (S


i,j


>0) or decrease (S


i,j


<0) the likelihood of a minority pixel at y


i


[n] based on the likelihood of a minority pixel at y


j


[n]. Finally, error diffusion is summarized by the generalized error diffusion equation:








{overscore (y)}[n]=T


(


S


(


{overscore (x)}[n]+By




e




[n]+HAY[n


])).  (23)






3. Simulations




FIG.


12


(


a


) shows the resulting CMYK dither patters created by halftoning a 96×96 pixel color image of a constant color value {overscore (x)}[n]=[⅞, ⅞, ⅞, ⅞]


T


using the Floyd-Steinberg error filter weights with no hysteresis and no dependencies between colors. Before halftoning, low-level white-noise (VAR=0.01) was added to the first scan line of the original color image in order to minimize edge effects and also to unsynchronize the resulting dither patterns. Since this configuration involves colors that are halftone exactly the same way and with each color of the original image identical to the other colors, the resulting pattern of each color will also be identical (synchronized) to the other patterns. Therefore, adding a single or even a few lines of low-level noise eliminates this synchronization between colors, and adding several columns of white-noise also minimizes edge effects. Dither patterns created by error diffusion according to the present invention are the result of using a serpentine (left-to-right and right-to-left) raster scan on a continuous-tone image where low-level white-noise has been added to both the edge rows and columns. The halftoned images are then cropped to exclude those same rows and columns.




For a statistical analysis of the resulting dither pattern,

FIG. 6

(left) shows four plots labeled cyan, magenta, yellow and black corresponding to the CMYK dither pattern in FIG.


12


(


a


). Shown in the first plot (labeled cyan) is the pair correlation between colors cyan versus cyan (R


c,c


(r)), cyan versus magenta (R


c,m


(r)), cyan versus yellow R


c,y


(r)) and cyan versus black (R


c,k


(r)). The small diamonds placed along the horizontal axis indicate the principle wavelengths and cluster radii for R


c,c


(r). As would be expected for a monochrome image, the pair correlation R


c,c


(r) exhibits blue-noise characteristics as the pair correlation shows: (i) R


c,c


(r)<1 for r near zero, (ii) a frequent occurrence of the interpoint distance λ


g


, and (iii) a decreasing influence with increasing r. Having no diffusion between colors and zero interference (S=I, the identity matrix), the pair correlation between channels are predominantly flat as minority pixels of color i have no influence on minority pixels of color j. The remaining plots show similar relationships for colors magenta, yellow and black.




Also shown in

FIG. 6

(center) are the resulting pair correlations for the CMYK dither pattern shown in FIG.


12


(


b


) where Levien's error diffusion scheme has been implemented with a low hysteresis constant h=0.5, no diffusion between colors, and zero interference. With a low hysteresis constant, this scheme generates blue-noise patterns very similar to that generated using the Floyd-Steinberg filter weights.





FIG. 6

(right) (corresponding to the resulting pair correlations of the CMYK dither pattern shown in FIG.


12


(


c


)) shows Levien's error diffusion scheme with a medium hysteresis constant h=1.0 where the patterns begin to exhibit clustering as the average size of a minority pixel cluster is 1.95 pixels. In each color, the pair correlation exhibits strong green-noise characteristics as each plot shows: (i) clustering as indicated by R


i,j


(r)≧1 for r≦r


c


(r


c


=0.790, (ii) a frequent occurrence of the intercluster distance λ


g


=3.95 and (iii) a decreasing influence with increasing r. As before with zero influence and no diffusion between colors, the pair correlations between colors remains predominantly flat for all values of r.




The dither patterns of

FIG. 7

illustrate the effects of S, the interference matrix, with

FIG. 7

(left) (corresponding to the resulting pair correlations of the CMYK dither pattern shown in FIG.


12


(


d


)) showing the case where S is the matrix defined by S


i,j


=1 for i=j and S


i,j


=−0.2 for i≠j. In this specific instance, S has the effect of minimizing the superposition of minority pixels of different colors. That is, given that a cyan pixel is very likely to be printed, minority pixels for magenta, yellow and black are less likely to be printed at the same pixel location. This behavior is well illustrated in the pair correlations where R


i,j


<1 for R


i,j


>1. For comparison,

FIG. 7

(center) (corresponding to the resulting pair correlations of the CMYK dither pattern shown in FIG.


12


(


e


)) shows the case where S is the identity matrix (no interference) with a flat pair correlation between minority pixels of different colors. For further comparison,

FIG. 7

(center) (corresponding to the resulting pair correlations of the CMYK dither pattern shown in FIG.


12


(


f


)) shows the case where S is the matrix defined by S


i,j


=1 for i=j and S


i,j


+0.2 for i≠j. Here, the effect of S is to increase the superposition of minority pixels, such that a minority pixel of color i with a high likelihood of being printed, makes a minority pixel of any color j more likely.




C. Vector Green-Noise Masks




The green-noise mask is a novel approach to dither array screening where a continuous-tone image is converted to a binary halftone image by performing a pixel-wise comparison between the original and the dither array or mask. Previously, halftoning with green-noise has employed error diffusion-based methods which although are tunable (capable of creating halftone patterns with large clusters for printers with high dot-gain characteristics and small clusters for printers with low dot-gain characteristics) carry a high computational cost. Now through the use of a green-noise mask, halftoning can create a stochastic patterning of dots with adjustable coarseness but with the same computational freedom as ordered-dither halftoning schemes.




As set forth in U.S. patent application Ser. No. 09/228,573 for monochrome images, the disclosure of which is herein incorporated by reference, the green-noise mask is defined by the set, {φ


g


: 0≦g≦1}, of M×N binary green-noise dither patterns with one pattern, φ


g


, corresponding to each possible discrete gray level g (256 patterns for 8-bit gray-scale images). This set satisfies the stacking constraint that for any two gray-levels k and g with k<g, φ


k


⊂φ


g


(if φ


k


[m, n]=1, then φ


g


[m, n]=1). As a consequence, a pixel of the M×N dither array or mask DA[m, n ] is defined simply as the minimum g of which φ


g


[m, n]=1. The size parameters {overscore (M)} and N are arbitrary integers with larger masks constructed by tiling edge-to-edge the original M×N mask such that the output pixel, y[m, n], after halftoning the input pixel, x[m, n], is defined as:








y[m, n]=T


(


x[m, n]=DA


[mod


M


(


m


), mod


N


(


n


)])  (24)






where T is the thresholding function of Equation (21).




For color halftoning, the vector green-noise mask is defined by the set {φ


c, g


: c=1, 2, . . . , C and 0<g<1}, where φ


c, g


is the binary green-noise dither pattern for color c and intensity level g (for 24-bit RGB color this corresponds to 256 patterns per channel or 3×256 total patterns). Like the monochrome set, this set must also satisfy the stacking constraint but only within a given color such that φ


c, g


[m, n]=1 if φ


c, k


[m, n]=1 for color c and intensity levels k and g with k<g. A pixel, {overscore (D)}A[m, n], of the vector green-nosie mask is therefore defined as:











D
_







A


[

m
,
n

]



=

[




min


{


g
:


φ

1
,
g




[

m
,
n

]



=
1

}







min


{


g
:


φ

1
,
g




[

m
,
n

]



=
1

}












min


{


g
:


φ

1
,
g




[

m
,
n

]



=
1

}





]





(
25
)













where the output after halftoning is defined by:







{overscore (y)}[m, n]=T


(


{overscore (x)}[m, n]−{overscore (D)}A


[mod


M


(


m


), mod


N


(


n


)])  (26)




1. Monochrome BIPPCCA




The physical construction of binary dither patterns for the monochrome green-noise mask is done through Binary Pattern Pari Correlation Construction Algorithm (“BIPPCCA”). The basic premise of BIPPCCA is to take an empty array (containing no minority pixels), and assign to each element a probability of that element becoming a minority pixel. BIPPCCA then converts the most likely elements to minority pixels, one at a time, until the ratio of black to white pixels is g, the desired gray level. The most likely element is the majority pixel with the highest probability during the current iteration. In order for the resulting dither pattern to have the desired statistical properties (i.e., a desired pair correlation), BIPPCCA adjusts, at each iteration, the probability of each majority pixel in the array according to the current set of minority pixels.




In BIPPCCA, the initial assignment of probabilities is done in an uncorrelated manner, but as each new minority pixel is added, the probabilities of all neighboring majority pixels are adjusted according to the desired pair correlation of the resulting pattern. As R (r) is a function of the radial distance between pixels, a majority pixel's probability is increased if its radial distance from the newest minority pixel r corresponds to R(r)>1 and decreased if r corresponds to R(r)<1. As an example, consider using BIPPCCA to construct a blue-noise pattern where the pair correlation is zero for r near zero. This feature of R(r) is achieved in BIPPCCA if for each new minority pixel, the probability of every element directly adjacent thereto is set to zero, and as R(r) has a peak at blue-noise principle wavelength λ


b


, all elements a distance λ


b


from each new minority pixel are increased to ensure a peak exists in the pair correlation of the final pattern.




In BIPPCCA, how much to increase or decrease a given probability is defined according to pair correlation shaping function R(r). R(r) is a user-defined function based on the desired pair correlation.

FIG. 8

shows the shaping function used by the present inventors to construct green-noise dither patterns. This function has peaks at integer multiples of the green-noise principle wavelength λ


g


, and valleys halfway between. The parameter G is a tuning parameter that creates visually pleasing patterns when G=1.1. Being piecewise linear, this pair correlation shaping function is an especially simple approximation of the pair correlation of the ideal green-noise pattern for a given gray level and cluster size, but when used alone the resulting dither patterns tend to look noisy and non-stationary.




Because stationarity is a necessary property for digital halftoning, the most likely pixel will no longer be the majority pixel with the highest probability, but instead be the majority pixel with the highest product U[m, n]×CM[m, n]. U[m, n] is the probability of a given pixel, and CM[m, n] is a function of the density of minority pixels within the surrounding area. Referred to as the concentration matrix, CM makes majority pixels more likely to become minority pixels in areas of low minority pixel concentration and less likely in areas of high minority pixel concentration.




In BIPPCCA, the concentration of minority pixels is measured as the output after applying a low-pass filter, H


LP


, using circular convolution. In U.S. patent application Ser. No. 09/228,573, the present inventors construct green-noise patterns using the Gaussian filter, H


LP


, defined as:











H
LP







(
r
)


=

exp






(

-


r
2


λ

2
g




)






(
27
)













where H


LP


, has a wide-spread impulse response for large λ


g


, clusters are far apart, and a narrow-spread impulse response for small λ


g


, where clusters are close together. The user then determines the increase or decrease in a probability according to the minority pixel concentration by mapping the filtered output to the concentration matrix.

FIG. 9

shows the mapping of concentration values used in Ser. No. 09/228,573 to determine CM, where {H


LP


{circle around (x)}φ


g


} represents the output after filtering the binary dither pattern of the current iteration, φ


g


with the low-pass filter H


LP


. In this mapping, values of {H


LP


{circle around (x)}φ


g


} are scaled in a linear fashion such that max {H


LP


{circle around (x)}φ


g


}→0 and min {H


LP


{circle around (x)} φ


g


}→1.




In summary, the steps for monochrome BIPPCCA are performed as follows where φ


g


is initially an M×N array with no minority pixels:




Step 1: Create an M×Narray, U, of uniformly distributed random numbers such that U[m, n]∈[0, 1] is the probability that φ


g


[m, n] will become a minority pixel.




Step 2: Construct the concentration matrix CM using a user-defined mapping of {H


LP


{circle around (x)}φ


g


}, the output after filtering φ


g


with the low-pass filter H


LP


using circular convolution, and then locate the majority pixel in φ


g


with the highest modified probability (the majority pixel φ


g


[m, n] such that U[m, n]×CM[m, n]>U[o, p]×CM[o, p] for all 1≦o≦M and 1≦p≦N where φ


g


[o,p] is also a majority pixel). Replace that pixel, φ


g


[m, n], with a minority pixel.




Step 3: Given the new minority pixel, φ


g


[m, n], adjust the probability of each and every majority pixel, φ


g


[o, p], such that:






(


U[o,p


])


new


=(


U[o,p


])


old




×R


(


r


)  (28)






where r is the minimum wrap-around distance from the majority pixel φ


g


[o,p] to the new minority pixel φ


g


[m, n] defined for an M×N array as:







r


={square root over (min(|


m−o|,M−|m−o


|)


2


+min(|


n−p|,N−|n−p|)





2


)}  (29)




Step 4: If the ratio of the total number of minority pixels to the total number of pixels in φ


g


is equal to the desired gray-level g, then quit with the desired dither pattern given by φ


g


; otherwise, return to step 2.




BIPPCCA should be constrained to create a pattern φ


g


constructed to have as a subset, all constructed patterns φ


k


for which k<g. φ


g


must also be a subset of all constructed patterns φ


l


for which l>g.




The first of these two constraints is satisfied by first initializing φ


g


to φ


k


and applying step 3 for each and every minority pixel in φ


k


probability matrix U of uniformly distributed random numbers. BIPPCCA then continues at step 4. The second constraint is satisfied in step 2 of BIPPCCA when locating the maximum likely majority pixel by considering only those majority pixels in φ


g


which correspond to minority pixels in the constructed patterns, by for which l>g.




In applying this constrained BIPPCCA to mask design, the patterns composing the set {φ


g


: 0≦g≦1} can be constructed in an order and that order has an impact on the construction of each pattern as φ


g


is constrained by the constructed pattern corresponding to the maximum gray level which is less than g and constrained by the constructed pattern corresponding to the minimum gray level which is greater than g. As an example, when constructing green-noise masks, use the inter-leaved ordering:






0
,
1
,

1
4

,

1
-





(

1
4

)


,


1
4

+
Δ

,

1
-

(


1
4

+
Δ

)


,






1
4

+

2





Δ


,

1
-

(



1
4

+

2





Δ


,





,

1
2

,


1
4

-
Δ

,

1
-

(


1
4

-
Δ

)


,






1
4

-

2





Δ


,

1
-

(


1
4

-

2





Δ


)


,





,
Δ
,

1
-
Δ














where Δ=1/255.




2. Color BIPPCCA




The physical construction of binary dither patterns for the vector green-noise mask is done through Vector Binary Pair Correlation Construction Algorithm (“VBIPPCCA”). In color, a binary dither pattern representing the color g=[g


1


, g


2


, . . . , g


C


]


T


is defined by the set of monochrome images {φ


1


,


g1


, φ


2


,


g2


, . . . , φ


C


,


gC


} where φ


i,gi


is the binary dither pattern corresponding to the i


th


color with intensity g


i


. VBIPPCCA constructs these monochrome images according to the previous algorithm. However, unlike BIPPCCA, when a minority pixel is added to the i


th


color, the probabilities corresponding to majority pixels of color j are adjusted according to R


j,i


(r), the desired pair correlation between minority pixels of color j and i. For each minority cyan pixel added to a CMYK dither pattern, BVIPPCCA uses the user-defined shaping functions R


c, c


(r), R


m, c


(r), R


y, c


(r) and R


k, c


(r) to adjust the probabilities of majority pixels in the cyan, magenta, yellow and black colors, respectively.




Because stationarity is also a desired property for digital color halftoning, VBIPPCCA applies CM just as in the monochrome case with each color filtered independently of the others. Returning to the CMYK case, this implies that the maximum likely majority pixel of the cyan color is the majority pixel of the cyan color with the highest product U


c


[m, n]×CM


c


[m, n], where U


c


[m, n] is the probability array for cyan pixels, and CM


c


[m, n] is the concentration matrix formed by applying a user-defined mapping to the concentration of minority cyan pixels.




In summary, the steps for VBIPPCCA as shown in

FIG. 15

, are performed as follows, where {φ


i,gi


: i=1, 2, . . . , C} is the initial set of empty M×N arrays:




Step 1: Create a set of M×N arrays, {U


1


, U


2


, . . . , U


C


}, of uniformly distributed random numbers such that U


i


[m, n]∈(0, 1) is the probability that φ


i,gi


will become a minority pixel.




Step 2: For each pattern φ


i,gi


, where the ratio of the total number of minority pixels to the total number of pixels is less than g


i


:




(a) Construct the concentration matrix CM


i


using a user-defined mapping of {H


LP


{circle around (x)} φ


i,gi


}, the output after filtering φ


i,gi


with the low-pass filter H


LP


using circular convolution.




(b) Locate the majority pixel in φ


i,gi


with the highest modified probability (the majority pixel φ


i,gi


[m, n] such that U


i


[m, n]×Cm


i


[m, n]>U


i


[o, p]×Cm


i


[o, p] for all 1≦o≦M and 1≦p≦N where φ


i,gi


[o, p] is also a majority pixel), and replace that pixel, φ


i,gi


[m, n], with a minority pixel.




(c) Given the new minority pixel, φ


i,gi


[m, n], adjust the probability of each and every majority pixel, φ


l,gl


[o, p] for l=1, 2, . . . , C, such that:






(


U




l




[o,p


])


new


=(


U




l




[o,p


])


old




×R




l, i


(


r


)  (30)






where r is the minimum wrap-around distance from the majority pixel φ


l,gl


[o, p] to the new minority pixel φ


i,gi


[m, n].




Step 3: If for all colors i, the ratio of the total number of minority pixels to the total number of pixels in φ


i,gi


is equal to g


i


, the desired intensity of color i, then quit with the desired color dither pattern given by the set {φ


i,gi


: i=1, 2, . . . , C}; otherwise, continue at step 2b.




VBIPPCCA should satisfy the same constraints as BIPPCCA in order to be used for mask construction. The first of these two constraints, φ


i,gi


⊂φ


i


,


ki


is satisfied by initializing φ


i,gi


to φ


i


,


ki


and applying Step 2(c) for each and every minority pixel in φ


i


,


ki


. VBIPPCCA can then continue to Step 3. The second constraint is satisfied in Step 2(b) of VBIPPCCA when locating the maximum likely majority pixel in color i by considering only those majority pixels in φ


i,gi


that correspond to minority pixels in the constructed patterns, φ


i


,


li


for which l>g. Note that with these constraints, patterns of the vector green-noise mask can be constructed in any order, and the order with which patterns of any color i are constructed need not be the same as any other color j.




3. Simulations





FIG. 10

shows a set of pair correlation shaping functions where the function R


i, i


(r) shapes the pair correlation between pixels of the same color and the function R


i,j


(r) shapes the pair correlation between pixels of different colors. This set of shaping functions is used to reduce the amount of overlap between pixels of different colors, as shown in FIG.


12


(


g


). Using this same set of shaping functions but with R


i,j


(r)=1 for all r, patterns with no correlation between channels (see FIG.


12


(


h


)) can be constructed. To create a pattern where the overlapping of pixels of different colors is increased, the function R


i,j


(r) is set to have the same shape as R


i, i


(r) (see FIG.


12


(


i


)).




The BIPPCCA-generated patterns shown in

FIGS. 12

(


g


)-


12


(


i


), generated by BIPPCCA, were constructed to represent a 91×91 pixel input image of constant color {overscore (x)}[n]=[⅞, ⅞, ⅞, ⅞]


T


with an average of 5 pixels per cluster (λ


g


=6.32 pixels). The statistical measures of the spatial relationships between pixels for these three patterns are shown in FIG.


11


. The results demonstrate BIPPCCA's ability to capture the same spatial relationships between pixels as those created in FIGS.


12


(


a


)-


12


(


c


), via generalized error diffusion. The key is in the shaping functions, and since them the same relationships between minority pixels can be encouraged in the design of green-noise masks.




Mask design can be seen in

FIG. 13

(left) where the three design criteria: (1) decreased, (2) uncorrelated, and (3) increased pixel overlap are employed in masks (a), (b) and (c), respectively. Mask (d) is a special mask designed to demonstrate the range of possibilities for dither array generation. In mask (d), the colors cyan and yellow are designed to overlap while not overlapping with black or magenta. These colors black and magenta are uncorrelated with respect to each other. The CMYK-color scales shown in

FIG. 13

(right) are given to further illustrate the clustering behavior of each mask. By design, each mask has an average cluster size of 2 pixels at extreme gray levels (g=0, 1) and an average cluster size of 12 pixels at g=½.




The present invention offers two new techniques for superior color reproduction. One need only optimize the parameters of green-noise for specific output devices. The advantage to using green-noise is that it is tunable, allowing for various cluster sizes for various dot-gain characteristics. Previous techniques such as error diffusion with output-dependent feedback and the green-noise mask could only be optimized or tuned within a given channel/color. Now both can consider the interactions of the component colors.





FIG. 14

shows a continuous tone CMYK image of flowers (FIG.


14


(


a


)) with its corresponding halftone reproductions (FIGS.


14


(


b


)-


14


(


h


)). The generalized error diffusions scheme give its best reproduction in FIG.


14


(


d


), where the amount of overlap is increased, relative to the uncorrelated overlap of FIG.


14


(


c


) and the decreased overlap of FIG.


14


(


b


). In these three instances, the configurations of parameters (A, B, H and S) are exactly the same as those of Section C.3 and FIG.


7


.




In FIGS.


14


(


e


)-


14


(


g


), the same comparison of overlap is made using the vector green-noise masks of FIGS.


13


(


a


)-


13


(


c


), respectively, where increased overlap gives the best color reproduction. Although these patterns appear “grainy” relative to their error-diffused counterparts, this shortcoming is not a function of masks in general, but rather of the design criteria used in the construction of these specific masks. That is, these masks are composed of clusters which are too large for the quality of printer being used (Tektronix Phaser 440 dye-sublimation), resulting in halftone patterns with visually disturbing artifacts such as the annoying cyan clusters in the predominantly magenta flower pedals.




A mask such as that used in FIG.


14


(


h


) is much better suited to this printer as the spatial relationship between minority pixels is closer to blue-noise. Furthermore, this mask also takes into account the improved color reproduction achieved by increasing the overlap of minority pixels of different colors. As this mask makes good use of the printers ability to print individual pixels, it is a clear example of the tunability of green-noise for color halftoning.




A computing device may be used to perform any of the processes or methods of the present invention previously described. Such a computing device is shown generally as reference numeral


100


in FIG.


16


.




Computing device


100


includes a bus


200


interconnecting a processor


202


, a read-only memory (ROM)


204


, a main memory


206


, a storage device


208


, an input device


210


, an output device


212


, and a communication interface


214


. Bus


200


is a network topology or circuit arrangement in which all devices are attached to a line directly and all signals pass through each of the devices. Each device has a unique identity and can recognize those signals intended for it. Processor


202


includes the logic circuitry that responds to and processes the basic instructions that drive computing device


100


. ROM


204


includes a static memory that stores instructions and date used by processor


202


.




Computer storage is the holding of data in an electromagnetic form for access by a computer processor. Main memory


206


, which may be a RAM or another type of dynamic memory, makes up the primary storage of computing device


100


. Secondary storage of computing device


100


may comprise storage device


208


, such as hard disks, tapes, diskettes, Zip drives, RAID systems, holographic storage, optical storage, CD-ROMs, magnetic tapes, and other external devices and their corresponding drives.




Input device


210


may include a keyboard, mouse, pointing device, sound device (e.g. a microphone, etc.), biometric device, or any other device providing input to computing device


100


. Output device


212


may comprise a display, a printer, a sound device (e.g. a speaker, etc.), or other device providing output to computing device


100


. Communication interface


214


may include network connections, modems, or other devices used for communications with other computer systems or devices, as shown by reference numeral


102


.




As described above, a computing device


100


consistent with the present invention may perform any of the methods or processes of the present invention. Computing device


100


performs these tasks in response to processor


202


executing sequences of instructions contained in a computer-readable medium, such as main memory


206


. A computer-readable medium may include one or more memory devices and/or carrier waves.




Execution of the sequences of instructions contained in main memory


206


causes processor


202


to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software.




Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.



Claims
  • 1. A method of color printing using green-noise halftoning, the method comprising the step of:extending error diffusion with output-dependent feedback to cluster pixels of like color and to regulate the clustering of pixels of different colors, wherein the halftoning of different colors is correlated such that the superimposing of different inks is increased or decreased, offering greater control of resulting halftone patterns.
  • 2. A method of color printing using green-noise halftoning, the method comprising the step of:incorporating a desired correlation between colors to construct a vector green-noise mask, wherein the mask maintains all the desirable attributes of a monochrome mask, including isotropic and tunable coarseness, while regulating the overlapping of pixels of different colors.
  • 3. A method of color printing, using green-noise halftoning, comprising the step of:extending error diffusion to regulate the overlapping of different colored pixels, wherein the halftoning of different colors is correlated such that the superimposing of different inks is increased or decreased, offering greater control of the resulting halftone pattern.
  • 4. A method of color printing, where {φi,gi: i=1, 2, . . . , C} is an initial set of empty M×N arrays, and C, M and N are integers, the method comprising the steps of:creating a set of M×N arrays, {U1, U2, . . . , UC}, of uniformly distributed random numbers such that Ui[m, n]∈(0, 1) is the probability that φi,gi will become a minority pixel; for each pattern φi,gi, where the ratio of the total number of minority pixels to the total number of pixels is less than a gray level gi, performing the following substeps: constructing a concentration matrix CMi using a user-defined mapping of, {HLP{circle around (x)}φi,gi}, the output after filtering φi,gi with the low-pass filter HLP using circular convolution, locating a majority pixel in φi,gi with a highest modified probability, and replacing that pixel, φi,gi[m, n], with a minority pixel, wherein the majority pixel with the highest modified probability is a majority pixel φg[m, n] such that U[m, n]×CM[m, n]>U[o, p]×CM[o, p] for all 1≦o≦M and 1≦p≦N where φg[o, p] is also a majority pixel, and given the new minority pixel, φi,gi[m, n], adjusting the probability of each and every majority pixel, φl,gl[o, p] for l=1, 2, . . . , C, such that: (Ul[o, p])new=(Ul[o, p])old×Rl, i(r) where r is the minimum wrap-around distance from the majority pixel φl,gl [o, p] to the new minority pixel φi,gi [m, n]; and obtaining the desired color dither pattern given by the set {φi,gi: i=1, 2, . . . , C} if for all colors i, the ratio of the total number of minority pixels to the total number of pixels in φi,gi is equal to gi, otherwise, returning to the locating substep.
  • 5. An apparatus for color printing using green-noise halftoning, comprising:storage means for storing data on a storage medium; and a computer processor means for processing data from the storage means, and for extending error diffusion with output-dependent feedback to cluster pixels of like color and to regulate the clustering of pixels of different colors, wherein the halftoning of different colors is correlated such that the superimposing of different inks is increased or decreased, offering greater control of resulting halftone patterns.
  • 6. An apparatus for color printing using green-noise halftoning, comprising:storage means for storing data on a storage medium; and a computer processor means for processing data from the storage means, and for incorporating a desired correlation between colors to construct a vector green-noise mask, wherein the mask maintains all the desirable attributes of a monochrome mask, including isotropic and tunable coarseness, while regulating the overlapping of pixels of different colors.
  • 7. An apparatus for color printing using green-noise halftoning, comprising:storage means for storing data on a storage medium; and a computer processor means for processing data from the storage means, and for extending error diffusion to regulate the overlapping of different colored pixels, wherein the halftoning of different colors is correlated such that the superimposing of different inks is increased or decreased, offering greater control of the resulting halftone pattern.
  • 8. An apparatus for color printing, where {φi,gi: i=1, 2, . . . , C} is an initial set of empty M×N arrays, and C, M and N are integers, comprising:storage means for storing data on a storage medium; and a computer processor means for processing data from the storage means, the processor means performing the following the steps: creating a set of M×N arrays, {U1, U2, . . . , UC}, of uniformly distributed random numbers such that Ui[m, n]∈(0, 1) is the probability that φi,gi will become a minority pixel; for each pattern φi,gi, where the ratio of the total number of minority pixels to the total number of pixels is less than a gray level gi, performing the following substeps: constructing a concentration matrix CMi using a user-defined mapping of, {HLP{circle around (x)}φi,gi}, the output after filtering φi,gi with the low-pass filter HLP using circular convolution, locating a majority pixel in φi,gi with a highest modified probability, and replacing that pixel, φi,gi[m, n], with a minority pixel, wherein the majority pixel with the highest modified probability is a majority pixel φg[m, n] such that U[m, n]×CM[m, n]>U[o, p]×CM[o, p] for all 1≦o≦M and 1≦p≦N where φg[o, p] is also a majority pixel, and given the new minority pixel, φi,gi[m, n], adjusting the probability of each and every majority pixel, φl,gl[o, p] for l=1, 2, . . . , C, such that: (Ul[o, p])new=(Ul[o, p])old×Rl, i(r) where r is the minimum wrap-around distance from the majority pixel φl,gl[o, p] to the new minority pixel φi,gi[m, n]; and obtaining the desired color dither pattern given by the set {φi,gi: i=1, 2, . . . , C} if for all colors i, the ratio of the total number of minority pixels to the total number of pixels in φi,gi is equal to gi, otherwise, returning to the locating substep.
Parent Case Info

This application claims the benefit of Provisional application Ser. No. 60/117,415 filed Jan. 27, 1999.

US Referenced Citations (9)
Number Name Date Kind
5055942 Levien Oct 1991 A
5111310 Parker et al. May 1992 A
5317418 Lin May 1994 A
5341228 Parker et al. Aug 1994 A
5477305 Parker et al. Dec 1995 A
5649083 Barkans et al. Jul 1997 A
5726772 Parker et al. Mar 1998 A
6493112 Arce et al. Dec 2002 B1
20030038953 Damera-Venkata Feb 2003 A1
Non-Patent Literature Citations (5)
Entry
Lau D. L. et al, Green Noise Digital Halftoning, Oct. 1998, Proceedings International Conference on Image Processing, vol. 2 39-43.*
Lau D. L. et al., Blue- and Green-Noise Halftoning Models, Jul. 2003, Signal Processing Magazine IEEE, vol. 20, Issue 4, 28-38.*
Lau, D. L., et al., Green-noise digital halftoning, Dec. 1998, Proceedings of the IEEE, vol. 86 Issue 12, 2424-2444.*
Lau, D. L. et al., Digital Color Halftoning with Generalized Error Diffusion and Multichannel Green-Noise Mask, May 2000, IEEE Transactions on Image Processing, vol.: 9 Issue 5, 923-935.*
R. Levien, “Output Dependent Feedback in Error Diffusion Halftoning,” Recent Progress In Digital Halftoning, vol. 1, pp. 106-109 (1994).
Provisional Applications (1)
Number Date Country
60/117415 Jan 1999 US