System for rendering color images

Information

  • Patent Grant
  • 11265443
  • Patent Number
    11,265,443
  • Date Filed
    Monday, August 31, 2020
    3 years ago
  • Date Issued
    Tuesday, March 1, 2022
    2 years ago
Abstract
An image is rendered on a display having a limited number of primary colors by (104) combining input data representing the color of a pixel to be rendered with error data to form modified input data, determining in a color space the simplex (208—typically a tetrahedron) enclosing the modified input data and the primary colors associated with the simplex, converting (210) the modified image data to barycentric coordinates based upon the primary colors associated with the simplex and (212) setting output data to the primary having the largest barycentric coordinate. calculating (214) the difference between the modified input data and the output data for the pixel, thus generating error data, applying (106) this error data to at least one later-rendered pixel, and applying the output data to the display and thus rendering the image on the display. Apparatus and computer-storage media for carrying out this process are also provided.
Description
BACKGROUND OF INVENTION

This invention relates to a method for rendering color images. More specifically, this invention relates to a method for half-toning color images in situations where a limited set of primary colors are available, and this limited set may not be well structured. The method of the present invention is particularly, although not exclusively, intended for use with color electrophoretic displays


Half-toning has been used for many decades in the printing industry to represent gray tones by covering a varying proportion of each pixel of white paper with black ink. Similar half-toning schemes can be used with CMY or CMYK color printing systems, with the color channels being varied independently of each other.


However, there are many color systems in which the color channels cannot be varied independently of one another, in as much as each pixel can display any one of a limited set of primary colors (such systems may hereinafter be referred to as “limited palette displays” or “LPD's”); the ECD patent color displays are of this type. To create other colors, the primaries must be spatially dithered to produce the correct color sensation. It is known to effect such spatial dithering by using, for any desired color, only the primary colors at the vertices of a tetrahedron which contains the desired color; see, for example:

    • Arad, N., Shaked, D., Baharav, Z., & Lin, Q. (1999). Barycentric Screening and Ostromoukhov, Victor, and Roger D. Hersch. “Multi-color and artistic dithering.” Proceedings of the 26th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1999.


      Both these documents effect dithering by means of a threshold-array based screening method, which is a simple dithering method that has been found not to give good results in ECD patent displays.


Standard dithering algorithms such as error diffusion algorithms (in which the “error” introduced by printing one pixel in a particular color which differs from the color theoretically required at that pixel is distributed among neighboring pixels so that overall the correct color sensation is produced) can be employed with limited palette displays. However, such standard algorithms are typically intended for use with a limited palette which is “well structured”, in the sense that the distances in the appropriate color space between the primary colors are substantially constant. There is considerable literature on the problems of designing optimal color palettes that perform well with error diffusion; see, for example:

    • Kolpatzik, Bernd W., and Charles A. Bouman. “Optimized Universal Color Palette Design for Error Diffusion.” Journal of Electronic Imaging 4.2 (1995): 131-143.


      However, in ECD and similar limited palette displays, in which the limited palette is defined by the colors capable of being generated by the system, the limited palette may not be well structured, i.e., the distances between the various primaries in the color space may differ greatly from one another.



FIG. 1 of the accompanying drawings is a schematic flow diagram of a prior art palette based error diffusion method, generally designated 100. At input 102, color values xi,j are fed to a processor 104, where they are added to the output of an error filter 106 (described below) to produce a modified input ui,j. The modified inputs ui,j are fed to a quantizer 108, which also receives details of the palette {Pk} of the output device. The quantizer 108 determines the appropriate color for the pixel being considered, given by:







y

i
,
j


=

arg



min

P
k







u

i
,
j


-

P
k











and feeds to appropriate colors to the device controller (or stores the color values for later transmission to the device controller). Both the modified inputs ui,j and the outputs yi,j are fed to a processor 110, which calculates error values ei,j, where:

ei,j=ui,j−yi,j

The error values ei,j are then fed to the error filter 106, which serves to distribute the error values over one or more selected pixels. For example, if the error diffusion is being carried out on pixels from left to right in each row and from top to bottom in the image, the error filter 106 might distribute the error over the next pixel in the row being processed, and the three nearest neighbors of the pixel being processed in the next row down. Alternatively, the error filter 106 might distribute the error over the next two pixels in the row being processed, and the nearest neighbors of the pixel being processed in the next two rows down. It will be appreciated that the error filter need not apply the same proportion of the error to each of the pixels over which the error is distributed; for example when the error filter 106 distributes the error over the next pixel in the row being processed, and the three nearest neighbors of the pixel being processed in the next row down, it may be appropriate to distribute more of the error to the next pixel in the row being processed and to the pixel immediately below the pixel being processed, and less of the error to the two diagonal neighbors of the pixel being processed.


Unfortunately, it has been found that if one attempts to use conventional error diffusion methods such as that shown in FIG. 1 to ECD and similar limited palette displays, severe artifacts are generated which may render the resultant images unusable. For example, in one type of artifact, (hereinafter called a “transient” artifact) when stepping from one input color to a next very different color, the spatial transient can be so long that the output never settles to the correct average even across the size of object being rendered. In another type of artifact (hereinafter called a “pattern jumping” artifact), for a constant color input image, the output jumps between two different sets of primaries at a seemingly random position in the image. Although both sets of primaries should ideally produce output close to the color being requested, the resultant output is not robust because small changes in the system can cause these switching between the two sets and the texture change at such a jump is also noticeable and unpleasant.


The present invention seeks to provide a method of rendering color images which can be used with palettes which are not well structured, and may be large, without producing transient and pattern jumping artifacts to which standard error diffusion methods are susceptible.


SUMMARY OF THE INVENTION

In one aspect, this invention provides a method of rendering an image on a display, the method comprising:

    • receiving input data representing the color of a pixel to be rendered;
    • combining the input data with error data generated from a least one pixel previously rendered to form modified input data;
    • determining in a color space the simplex enclosing the modified input data, and the display primary colors associated with the simplex;
    • converting the modified image data to barycentric coordinates based upon the simplex and setting output data to the primary having the largest barycentric coordinate;
    • calculating the difference between the modified input data and the output data for the pixel and thereby generating error data for the pixel;
    • applying the error data thus generated to at least one later-rendered pixel; and
    • supplying the output data for a plurality of pixels to the display and thereby rendering the image on the display.


In one form of this process, the modified input data is tested to determine whether it is within the color gamut of the display and, if the modified input data is outside this color gamut, the modified input data is further modified by being projected on to the color gamut. This projection may be effected towards the neutral axis of the color space along lines of constant lightness and hue. Alternatively, the projection may be effected towards to the color represented by the input data for the pixel until the gamut boundary is reached. Typically, the color space used will be three-dimensional, so that the simplex will be a tetrahedron. The error data may, and typically will be, spread over more than one pixel. For example, if the method of the present invention is effected using a top-to-bottom and left-to-right order of pixel processing, the error data will normally be spread over at least the pixel to the right of, and the pixel below, the pixel being rendered. Alternatively, the error data may be spread over the pixel to the right of, and the three pixels below and adjacent the pixel being rendered. Especially, in the latter case, it is not necessary that an equal proportion of the error data be spread over all the pixels to which it is dispersed; for example, when the error is spread over the pixel to the right of, and the three adjacent pixels in the next row, it may be advantageous to assign more of the error data to the two pixels which share an edge with the pixel being rendered, as opposed to the two pixels which only share a vertex.


The present invention extends to an apparatus comprising a display device having a plurality of pixels, each of which is arranged to display any one of a plurality of primary colors, and a computing device capable of carrying out the method of the present invention and supplying its output data to the display device, thereby causing the display device to display an image.


The present invention also extends to a non-transitory computer storage medium comprising instructions that when executed by a processor cause the processor to carry out the method of the present invention.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 of the accompanying drawings is a schematic flow diagram of a prior art palette based error diffusion method.



FIG. 2 is a schematic flow diagram, similar to that of FIG. 1, but illustrating a preferred method of the present invention.





DETAILED DESCRIPTION

The present invention is based upon the recognition that the transient and pattern jumping artifacts discussed above result from the fact that the quantizer (108 in FIG. 1) has available to it an under-constrained list of primaries. In a three dimensional color space, any color in the device gamut can be rendered by dithering only four primaries, and the present invention is based upon constraining the choice of primaries in an appropriate way to ensure that only a restricted set of primaries are used during quantization.


The subset of primaries that can used in a dither pattern to represent a given color is not unique; for example in a three dimensional color space, any set of four or more primaries which define a volume in the color space enclosing the given color can be used in a dither pattern. Even if one restricts the subset of primaries to only four, any set of four primaries which define a tetrahedron enclosing the given color can be used. However, to avoid pattern jumping artifacts, the assignment of subsets of primaries to particular colors should be made in such a way that any parametric path through color space results in a smooth change in proportions of the various primaries used with respect to the parameter. This can be achieved by decomposing the total gamut of the system (the convex hull of all the primaries) into tetrahedra with primaries as vertices and then assigning to each color to be rendered the subset of primaries corresponding to the vertices of its enclosing tetrahedron. This may be effected by Delaunay triangularization, which decomposes the convex hull of the primaries into a set of tetrahedra, the circumspheres of which do not enclose any vertex from another tetrahedron. This is convenient, but other decompositions of the color gamut may also be beneficial; for example, to reduce halftone graininess, the subsets of primaries could be chosen to have low variation in lightness. It will be appreciated that the decomposition methods can be generalized to color spaces of any number of dimensions by the use of the appropriate simplexes for the numbers of dimensions involved instead of using tetrahedra in a three dimensional space.


A preferred embodiment of the process of the invention is illustrated in FIG. 2 of the accompanying drawings, which is a schematic flow diagram generally similar to FIG. 1. As in the prior art method illustrated in FIG. 1, the method illustrated in FIG. 2 begins at an input 102, where color values xi,j are fed to a processor 104, where they are added to the output of an error filter 106 to produce a modified input ui,j. (Again, this description assumes that the input values xi,j are such that the modified inputs ui,j are within the color gamut of the device.) If this is not the case, some preliminary modification of the inputs or modified inputs may be necessary to ensure that they lie within the appropriate color gamut.) The modified inputs ui,j are, however, fed to a gamut projector 206.


The gamut projector 206 is provided to deal with the possibility that, even though the input values xi,j are within the color gamut of the system, the modified inputs ui,j may not be, i.e., that the error correction introduced by the error filter 106 may take the modified inputs ui,j outside the color gamut of the system. In such a case, it would not be possible to choose a subset of primaries for the modified input ui,j since it would lie outside all defined tetrahedra. Although other ways of this problem can be envisioned, the only one which has been found to give stable results is to project the modified value ui,j on to the color gamut of the system before further processing. This projection can be done in numerous ways; for example, projection may be effected towards the neutral axis along constant lightness and hue. However, the preferred projection method is to project towards the input color until the gamut boundary is reached.


The projected input u′i,j values are fed to a simplex finder 208, which returns the appropriate subset of primaries {Pks}, to a processor 210, which also received the projected input u′i,j values, and converts them to barycentric coordinates of the tetrahedron (or other simplex) defined by the subset of primaries {Pks}. Although it might appear that the subset of primaries {Pks} should be based on those assigned to the input pixel color xi,j, this will not work; the subset of primaries must be based upon the projected input u′i,j values. The output λ of processor 210 is supplied to a quantizer 212, the function of which is very different from that of the quantizer 108 shown in FIG. 1. Instead of performing conventional error diffusion, the quantizer 212 chooses the primary associated with the largest barycentric coordinate. This is equivalent to a barycentric thresholding with the threshold (⅓, ⅓, ⅓)(see the aforementioned Arad et al. document), which is not equivalent to the minimum distance determination carried out by quantizer 108 in FIG. 1. The output yi,j from quantizer 212 is then sent to the device controller in the usual manner, or stored.


The output yi,j values, and either the modified input values ui,j or the projected input values u′i,j (as indicated by the broken lines in FIG. 2), are supplied to a processor 214, which calculates error values ei,j by:

ei,j=u′i,j−yi,j or
ei,j=ui,j−yi,j

(depending upon which set of input values are being used) and passes this error signal on to the error filter 106 in the same way as described above with reference to FIG. 1.


In theory, it would appear that the error values ei,j should be calculated using the original modified input values ui,j rather than the projected input values u′i,j, since it is the former which accurately represents the difference between the desired and actual colors of the pixel; in effect, using the latter values “throws away” the error introduced by the projection step. Empirically, it has been found that which set of input values is used does not have a major effect on the accuracy of the color representation. Furthermore, in deciding whether to use the input values before or after the projection in the error calculation, it is necessary to take account of the type of projection effected by the gamut projector 206. Some types of projection, for example projection along lines of constant hue and lightness, provide a continuous and fixed extension of the quantizer domain boundaries to the out-of-gamut volume, and thus permit the use of the unprojected input values in the error calculation without risk of instability in the output values. Other types of projection do not provide both a continuous and fixed extension of the quantizer domain boundaries; for example, projection towards the input color until the gamut boundary is reached fails to provide a fixed extension of the quantizer domain boundaries but instead the quantizer domains change with input values, and in these cases the projected input values should be used to determine the error value, since using the unprojected values could result in an unstable method in which error values could increase without limit.


From the foregoing, it will be seen that the present invention can provide improved color in limited palette displays with fewer artifacts than are obtained using conventional error diffusion techniques. The present invention may be used in display systems capable of displaying a continuum of colors (or at least a very large number of colors) but in which the available primaries are not evenly spread throughout the color gamut; for example interference based displays which control a gap width can display a large number of colors at each pixel, but with a pre-determined structure among the primaries, which lie on a one-dimensional manifold. The present invention may also be used with electrochromic displays.


For further details of color display systems to which the present invention can be applied, the reader is directed to the aforementioned ECD patents (which also give detailed discussions of electrophoretic displays) and to the following patents and publications: U.S. Pat. Nos. 6,017,584; 6,545,797; 6,664,944; 6,788,452; 6,864,875; 6,914,714; 6,972,893; 7,038,656; 7,038,670; 7,046,228; 7,052,571; 7,075,502; 7,167,155; 7,385,751; 7,492,505; 7,667,684; 7,684,108; 7,791,789; 7,800,813; 7,821,702; 7,839,564; 7,910,175; 7,952,790; 7,956,841; 7,982,941; 8,040,594; 8,054,526; 8,098,418; 8,159,636; 8,213,076; 8,363,299; 8,422,116; 8,441,714; 8,441,716; 8,466,852; 8,503,063; 8,576,470; 8,576,475; 8,593,721; 8,605,354; 8,649,084; 8,670,174; 8,704,756; 8,717,664; 8,786,935; 8,797,634; 8,810,899; 8,830,559; 8,873,129; 8,902,153; 8,902,491; 8,917,439; 8,964,282; 9,013,783; 9,116,412; 9,146,439; 9,164,207; 9,170,467; 9,170,468; 9,182,646; 9,195,111; 9,199,441; 9,268,191; 9,285,649; 9,293,511; 9,341,916; 9,360,733; 9,361,836; 9,383,623; and 9,423,666; and U.S. Patent Applications Publication Nos. 2008/0043318; 2008/0048970; 2009/0225398; 2010/0156780; 2011/0043543; 2012/0326957; 2013/0242378; 2013/0278995; 2014/0055840; 2014/0078576; 2014/0340430; 2014/0340736; 2014/0362213; 2015/0103394; 2015/0118390; 2015/0124345; 2015/0198858; 2015/0234250; 2015/0268531; 2015/0301246; 2016/0011484; 2016/0026062; 2016/0048054; 2016/0116816; 2016/0116818; and 2016/0140909.


It will be apparent to those skilled in the art that numerous changes and modifications can be made in the specific embodiments of the invention described above without departing from the scope of the invention. Accordingly, the whole of the foregoing description is to be interpreted in an illustrative and not in a limitative sense.

Claims
  • 1. A system for producing a color image, the system comprising: a display device having a plurality of pixels, each of which is arranged to display any one of a plurality of primary colors; anda computing device in communication with the display device, the computing device being configured to render color images on the display device by: receiving input data representing colors to be displayed at each of the plurality of pixels;combining the input data with error data to create modified input data;determining in a color space a simplex enclosing the modified input data, wherein the vertices of the simplex comprise a subset of the display primary colors that is smaller than the complete set of display primary colors, hereafter a simplex primary color;setting output data for a first pixel corresponding to one of the simplex primary colors; andcalculating a difference between the modified input data for the first pixel and the output data for the first pixel, thereby generating new error data for the first pixel;combining input data for a second pixel with the new error data for the first pixel to create new modified input data for the second pixel;determining in the color space a new simplex enclosing the modified input data and the new modified input data for the second pixel, wherein the vertices of the new simplex comprise a subset of the display primary colors that is smaller than the complete set of display primary colors, hereafter a new simplex primary color; andsetting output data for the second pixel corresponding to one of the new simplex primary colors.
  • 2. The system of claim 1, wherein the computing device evaluates the modified input data to determine whether it is within a measured color gamut of the display and, if the modified input data is outside the measured color gamut of the display, further modifies the modified input data by projecting the modified input data on to the measured color gamut of the display to produce projected input data which are used in place of the modified input data.
  • 3. The system of claim 2, wherein the projection of the modified input data is effected towards the neutral axis of the color space along a line of constant lightness and hue.
  • 4. The system of claim 2, wherein the projected input data is used for the generation of the error data.
  • 5. The system of claim 1, wherein the color space is three-dimensional so that the simplex is a tetrahedron.
  • 6. The system of claim 1, wherein the new error data for the first pixel is used in the processing of input data for a third pixel.
  • 7. The system of claim 1, wherein the display device is an electrophoretic display.
  • 8. The system of claim 1, wherein the display device includes a controller, and the computing device sends the output data for the first pixel and the output data for the second pixel to the controller.
REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 16/731,160 filed Dec. 31, 2019, to be issued as U.S. Pat. No. 10,771,652, which is a continuation of application Ser. No. 16/280,306, filed Feb. 20, 2019, now U.S. Pat. No. 10,554,854, which is a continuation of application Ser. No. 15/592,515, filed May 11, 2017, now U.S. Pat. No. 10,270,939, which claims benefit of provisional Application Ser. No. 62/340,803, filed May 24, 2016. This application is also related to application Ser. No. 14/277,107, filed May 14, 2014 (Publication No. 2014/0340430, now U.S. Pat. No. 9,697,778, issued Jul. 4, 2017); application Ser. No. 14/866,322, filed Sep. 25, 2015 (Publication No. 2016/0091770); U.S. Pat. No. 9,383,623, issued Jul. 5, 2016 and U.S. Pat. No. 9,170,468, issued Oct. 27, 2015. Other related applications and patent will be discussed below. The entire contents of these copending applications and patent (which may hereinafter be referred to the “ECD” patents), and of all other U.S. patents and published and copending applications mentioned below, are herein incorporated by reference.

US Referenced Citations (308)
Number Name Date Kind
4843460 Le Guet et al. Jun 1989 A
5930026 Jacobson Jul 1999 A
5933150 Ngo et al. Aug 1999 A
5936633 Aono et al. Aug 1999 A
6017584 Albert et al. Jan 2000 A
6144773 Kolarov Nov 2000 A
6268939 Klassen et al. Jul 2001 B1
6304333 Shaked Oct 2001 B1
6373489 Lu et al. Apr 2002 B1
6445489 Jacobson et al. Sep 2002 B1
6504524 Gates et al. Jan 2003 B1
6512354 Jacobson et al. Jan 2003 B2
6531997 Gates et al. Mar 2003 B1
6545797 Chen et al. Apr 2003 B2
6577317 Duluk, Jr. et al. Jun 2003 B1
6664944 Albert et al. Dec 2003 B1
6753999 Zehner et al. Jun 2004 B2
6788452 Liang et al. Sep 2004 B2
6825970 Goenaga et al. Nov 2004 B2
6864875 Drzaic et al. Mar 2005 B2
6891548 Alcorn et al. May 2005 B2
6900851 Morrison et al. May 2005 B2
6914714 Chen et al. Jul 2005 B2
6937365 Gorian et al. Aug 2005 B2
6972893 Chen et al. Dec 2005 B2
6995550 Jacobson et al. Feb 2006 B2
7012600 Zehner et al. Mar 2006 B2
7023420 Comiskey et al. Apr 2006 B2
7027660 Hersch et al. Apr 2006 B2
7034783 Gates et al. Apr 2006 B2
7038656 Liang et al. May 2006 B2
7038670 Liang et al. May 2006 B2
7046228 Liang et al. May 2006 B2
7052571 Wang et al. May 2006 B2
7053894 Grzeszczuk et al. May 2006 B2
7054038 Ostromoukhov et al. May 2006 B1
7061166 Kuniyasu Jun 2006 B2
7061662 Chung et al. Jun 2006 B2
7062419 Grzeszczuk et al. Jun 2006 B2
7075502 Drzaic et al. Jul 2006 B1
7116466 Whitesides et al. Oct 2006 B2
7119772 Amundson et al. Oct 2006 B2
7167155 Albert et al. Jan 2007 B1
7177066 Chung et al. Feb 2007 B2
7193625 Danner et al. Mar 2007 B2
7202847 Gates Apr 2007 B2
7236649 Fenney Jun 2007 B2
7242514 Chung et al. Jul 2007 B2
7259744 Arango et al. Aug 2007 B2
7265870 Velde et al. Sep 2007 B2
7304787 Whitesides et al. Dec 2007 B2
7312794 Zehner et al. Dec 2007 B2
7327511 Whitesides et al. Feb 2008 B2
7330193 Bhattacharjya Feb 2008 B2
7355597 Laidlaw et al. Apr 2008 B2
7385751 Chen et al. Jun 2008 B2
7408548 Guenter Aug 2008 B2
7408699 Wang et al. Aug 2008 B2
7423791 Tin Sep 2008 B2
7453445 Amundson Nov 2008 B2
7466314 Loop et al. Dec 2008 B2
7492339 Amundson Feb 2009 B2
7492505 Liang et al. Feb 2009 B2
7528822 Amundson et al. May 2009 B2
7545358 Gates et al. Jun 2009 B2
7583251 Arango et al. Sep 2009 B2
7602374 Zehner et al. Oct 2009 B2
7612760 Kawai Nov 2009 B2
7623739 Hersch et al. Nov 2009 B2
7659920 Cohen et al. Feb 2010 B2
7667684 Jacobson et al. Feb 2010 B2
7679599 Kawai Mar 2010 B2
7679813 Liang et al. Mar 2010 B2
7683606 Kang et al. Mar 2010 B2
7684108 Wang et al. Mar 2010 B2
7688297 Zehner et al. Mar 2010 B2
7728845 Holub Jun 2010 B2
7729039 LeCain et al. Jun 2010 B2
7733311 Amundson et al. Jun 2010 B2
7733335 Zehner et al. Jun 2010 B2
7737989 Pettitt et al. Jun 2010 B2
7787169 Abramson et al. Aug 2010 B2
7787653 Rhoads Aug 2010 B2
7791789 Albert et al. Sep 2010 B2
7800628 Harville et al. Sep 2010 B2
7800813 Wu et al. Sep 2010 B2
7821702 Liang et al. Oct 2010 B2
7839564 Whitesides et al. Nov 2010 B2
7854518 Culbertson et al. Dec 2010 B2
7859742 Chiu et al. Dec 2010 B1
7868887 Yhann Jan 2011 B1
7907792 Harville Mar 2011 B2
7910175 Webber Mar 2011 B2
7911651 Ostromoukhov et al. Mar 2011 B2
7924278 Loop et al. Apr 2011 B2
7952557 Amundson May 2011 B2
7952790 Honeyman May 2011 B2
7956841 Albert et al. Jun 2011 B2
7982479 Wang et al. Jul 2011 B2
7982941 Lin et al. Jul 2011 B2
7999787 Amundson et al. Aug 2011 B2
7999966 Fritz et al. Aug 2011 B2
8040357 Hutchins et al. Oct 2011 B1
8040594 Paolini, Jr. et al. Oct 2011 B2
8054526 Bouchard Nov 2011 B2
8077141 Duthaler et al. Dec 2011 B2
8085438 Hersch et al. Dec 2011 B2
8098418 Paolini, Jr. et al. Jan 2012 B2
8125501 Amundson et al. Feb 2012 B2
8139050 Jacobson et al. Mar 2012 B2
8159636 Sun et al. Apr 2012 B2
8174490 Whitesides et al. May 2012 B2
8213076 Albert et al. Jul 2012 B2
8243013 Sprague et al. Aug 2012 B1
8274472 Wang et al. Sep 2012 B1
8289250 Zehner et al. Oct 2012 B2
8300006 Zhou et al. Oct 2012 B2
8300979 Ordentlich et al. Oct 2012 B2
8305341 Arango et al. Nov 2012 B2
8314784 Ohkami et al. Nov 2012 B2
8363299 Paolini, Jr. et al. Jan 2013 B2
8373649 Low et al. Feb 2013 B2
8384658 Albert et al. Feb 2013 B2
8422116 Sprague et al. Apr 2013 B2
8441714 Paolini, Jr. et al. May 2013 B2
8441716 Paolini, Jr. et al. May 2013 B2
8456414 Lin et al. Jun 2013 B2
8462102 Wong et al. Jun 2013 B2
8466852 Drzaic et al. Jun 2013 B2
8503063 Sprague Aug 2013 B2
8514168 Chung et al. Aug 2013 B2
8514932 Stefanowski et al. Aug 2013 B2
8537105 Chiu et al. Sep 2013 B2
8558783 Wilcox et al. Oct 2013 B2
8558785 Zehner et al. Oct 2013 B2
8558786 Lin Oct 2013 B2
8558833 Moreton Oct 2013 B1
8558855 Sprague et al. Oct 2013 B2
8576164 Sprague et al. Nov 2013 B2
8576259 Lin et al. Nov 2013 B2
8576470 Paolini, Jr. et al. Nov 2013 B2
8576475 Huang et al. Nov 2013 B2
8576476 Telfer et al. Nov 2013 B2
8593396 Amundson et al. Nov 2013 B2
8593708 Monga et al. Nov 2013 B2
8593721 Albert et al. Nov 2013 B2
8605032 Liu et al. Dec 2013 B2
8605354 Zhang et al. Dec 2013 B2
8619085 Keall et al. Dec 2013 B2
8630022 Lin et al. Jan 2014 B2
8643595 Chung et al. Feb 2014 B2
8649084 Wang et al. Feb 2014 B2
8665206 Lin et al. Mar 2014 B2
8665296 Zulch Mar 2014 B2
8670174 Sprague et al. Mar 2014 B2
8681191 Yang et al. Mar 2014 B2
8704756 Lin Apr 2014 B2
8717664 Wang et al. May 2014 B2
8730153 Sprague et al. May 2014 B2
8786935 Sprague Jul 2014 B2
8797634 Paolini, Jr. et al. Aug 2014 B2
8810525 Sprague Aug 2014 B2
8810899 Sprague et al. Aug 2014 B2
8830559 Honeyman et al. Sep 2014 B2
8873129 Paolini, Jr. et al. Oct 2014 B2
8902153 Bouchard et al. Dec 2014 B2
8902491 Wang et al. Dec 2014 B2
8917439 Wang et al. Dec 2014 B2
8922580 Morovic Dec 2014 B2
8928562 Gates et al. Jan 2015 B2
8928641 Chiu et al. Jan 2015 B2
8941662 Pfeifle Jan 2015 B2
8964282 Wang et al. Feb 2015 B2
8976444 Zhang et al. Mar 2015 B2
9013394 Lin Apr 2015 B2
9013783 Sprague Apr 2015 B2
9019197 Lin Apr 2015 B2
9019198 Lin et al. Apr 2015 B2
9019318 Sprague et al. Apr 2015 B2
9082352 Cheng et al. Jul 2015 B2
9116412 Lin Aug 2015 B2
9137504 Gelb et al. Sep 2015 B2
9146439 Zhang Sep 2015 B2
9164207 Honeyman et al. Oct 2015 B2
9170467 Whitesides et al. Oct 2015 B2
9170468 Lin et al. Oct 2015 B2
9171508 Sprague et al. Oct 2015 B2
9182646 Paolini, Jr. et al. Nov 2015 B2
9195111 Anseth et al. Nov 2015 B2
9199441 Danner Dec 2015 B2
9218773 Sun et al. Dec 2015 B2
9224338 Chan et al. Dec 2015 B2
9224342 Sprague et al. Dec 2015 B2
9224344 Chung et al. Dec 2015 B2
9230492 Harrington et al. Jan 2016 B2
9251736 Lin et al. Feb 2016 B2
9262973 Wu et al. Feb 2016 B2
9268191 Paolini, Jr. et al. Feb 2016 B2
9269311 Amundson Feb 2016 B2
9285649 Du et al. Mar 2016 B2
9293511 Jacobson et al. Mar 2016 B2
9299294 Lin et al. Mar 2016 B2
9311890 Morovic et al. Apr 2016 B2
9341916 Telfer et al. May 2016 B2
9360733 Wang et al. Jun 2016 B2
9361836 Telfer et al. Jun 2016 B1
9383623 Lin et al. Jul 2016 B2
9412197 Goel et al. Aug 2016 B2
9423666 Wang et al. Aug 2016 B2
9459510 Lin Oct 2016 B2
9495918 Harrington et al. Nov 2016 B2
9501860 Barringer et al. Nov 2016 B2
9513527 Chan et al. Dec 2016 B2
9530241 Engh-Halstvedt et al. Dec 2016 B2
9541814 Lin et al. Jan 2017 B2
9564088 Wilcox et al. Feb 2017 B2
9612502 Danner et al. Apr 2017 B2
9620048 Sim et al. Apr 2017 B2
9620067 Harrington Apr 2017 B2
9671668 Chan et al. Jun 2017 B2
9672766 Sjodin Jun 2017 B2
9691333 Cheng et al. Jun 2017 B2
9697778 Telfer et al. Jul 2017 B2
9721495 Harrington et al. Aug 2017 B2
9740076 Paolini, Jr. et al. Aug 2017 B2
9759980 Du et al. Sep 2017 B2
9792861 Chang et al. Oct 2017 B2
9792862 Hung et al. Oct 2017 B2
9812073 Lin et al. Nov 2017 B2
9966018 Gates et al. May 2018 B2
10162242 Wang et al. Dec 2018 B2
10209556 Rosenfeld et al. Feb 2019 B2
10229641 Yang et al. Mar 2019 B2
10319313 Harris et al. Jun 2019 B2
10339876 Lin et al. Jul 2019 B2
10353266 Bouchard et al. Jul 2019 B2
10672350 Amundson et al. Jun 2020 B2
20030021437 Hersch et al. Jan 2003 A1
20030102858 Jacobson et al. Jun 2003 A1
20040246562 Chung et al. Dec 2004 A1
20050253777 Zehner et al. Nov 2005 A1
20050254073 Braun Nov 2005 A1
20060132815 Lofthus Jun 2006 A1
20070091418 Danner et al. Apr 2007 A1
20070103427 Zhou et al. May 2007 A1
20070176912 Beames et al. Aug 2007 A1
20070216930 Jacobs Sep 2007 A1
20080024429 Zehner Jan 2008 A1
20080024482 Gates et al. Jan 2008 A1
20080043318 Whitesides et al. Feb 2008 A1
20080048970 Drzaic et al. Feb 2008 A1
20080136774 Harris et al. Jun 2008 A1
20080186390 Sato Aug 2008 A1
20080303780 Sprague et al. Dec 2008 A1
20090174651 Jacobson et al. Jul 2009 A1
20090195758 Sobel et al. Aug 2009 A1
20090202150 Fradkin et al. Aug 2009 A1
20090213144 Dokken Aug 2009 A1
20090225398 Duthaler et al. Sep 2009 A1
20090322721 Zehner et al. Dec 2009 A1
20100085452 Hirakawa Apr 2010 A1
20100156780 Jacobson et al. Jun 2010 A1
20100194733 Lin et al. Aug 2010 A1
20100194789 Lin et al. Aug 2010 A1
20100220121 Zehner et al. Sep 2010 A1
20100265561 Gates et al. Oct 2010 A1
20100283883 Sato Nov 2010 A1
20110043543 Chen et al. Feb 2011 A1
20110063314 Chiu et al. Mar 2011 A1
20110175875 Lin et al. Jul 2011 A1
20110193840 Amundson et al. Aug 2011 A1
20110193841 Amundson et al. Aug 2011 A1
20110199671 Amundson et al. Aug 2011 A1
20110221740 Yang et al. Sep 2011 A1
20110221804 Kohne Sep 2011 A1
20120001957 Liu et al. Jan 2012 A1
20120076516 Rapkin et al. Mar 2012 A1
20120076518 Rapkin Mar 2012 A1
20120098740 Chiu et al. Apr 2012 A1
20120326957 Drzaic et al. Dec 2012 A1
20130063333 Arango et al. Mar 2013 A1
20130242378 Paolini, Jr. et al. Sep 2013 A1
20130249782 Wu et al. Sep 2013 A1
20130278995 Drzaic et al. Oct 2013 A1
20140009817 Wilcox et al. Jan 2014 A1
20140055840 Zang et al. Feb 2014 A1
20140078576 Sprague Mar 2014 A1
20140204012 Wu et al. Jul 2014 A1
20140240210 Wu et al. Aug 2014 A1
20140253425 Zalesky et al. Sep 2014 A1
20140293398 Wang et al. Oct 2014 A1
20140362213 Tseng Dec 2014 A1
20150109355 Wang et al. Apr 2015 A1
20150118390 Rosenfeld et al. Apr 2015 A1
20150262255 Khajehnouri Sep 2015 A1
20150262551 Zehner et al. Sep 2015 A1
20150268531 Wang et al. Sep 2015 A1
20150301246 Zang et al. Oct 2015 A1
20160012131 Epstein Jan 2016 A1
20160026062 Zhang Jan 2016 A1
20160048054 Danner Feb 2016 A1
20160140910 Amundson May 2016 A1
20160148426 Son et al. May 2016 A1
20160323556 Luginbuhl et al. Nov 2016 A1
20180276790 Mantor et al. Sep 2018 A1
20190130058 Thomas May 2019 A1
20190188871 Fletcher et al. Jun 2019 A1
20200059564 Case Feb 2020 A1
Non-Patent Literature Citations (5)
Entry
Arad, Nur et al., “Barycentric Screening”, Hewlett Packard Computer Peripherals Laboratory, HPL-97-103(R.1), Nov. 1999).
Ostromoukhov, Victor et al., “Multi-Color and Artistic Dithering”, Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, ACM Press / Addison-Wesley Publishing Co. (1999).
Kolpatzik, Bernd W. et al., “Optimized Universal Color Palette Design for Error Diffusion”, Journal of Electronic Imaging, vol. 4, No. 2, pp. 131-142 (Apr. 1995).
Federal Institute of Industrial Property; PCT/US2017/032148; International Search Report and Written Opinion Russian Federation; dated Sep. 14, 2017.
European Patent Office, EP Appl. No. 17803278.5, European Search Report, dated May 3, 2019.
Related Publications (1)
Number Date Country
20200404121 A1 Dec 2020 US
Provisional Applications (1)
Number Date Country
62340803 May 2016 US
Continuations (3)
Number Date Country
Parent 16731160 Dec 2019 US
Child 17007390 US
Parent 16280306 Feb 2019 US
Child 16731160 US
Parent 15592515 May 2017 US
Child 16280306 US