U.S. patent application number 15/139714 was filed with the patent office on 2016-10-27 for methods and apparatuses for driving display systems.
The applicant listed for this patent is E Ink Corporation. Invention is credited to Kenneth R. CROUNSE.
Application Number | 20160314733 15/139714 |
Document ID | / |
Family ID | 57148120 |
Filed Date | 2016-10-27 |
United States Patent
Application |
20160314733 |
Kind Code |
A1 |
CROUNSE; Kenneth R. |
October 27, 2016 |
Methods and Apparatuses for Driving Display Systems
Abstract
Methods and apparatus for image processing are provided. A
method for image processing includes: (a) accessing, in a lookup
table, a current pattern index for a current pixel based on a
current pixel input value and a previous pattern index; (b)
accessing, in a dither mask array, a threshold value for the
current pixel based on a location of the current pixel; (c)
comparing the current pattern index with the threshold value; (d)
determining a current pixel output value for activation of the
current pixel based on a result of the comparing; (e) storing the
current pattern index to serve as the previous pattern index for a
next image; and (f) repeating acts (a)-(e) for each pixel in the
image.
Inventors: |
CROUNSE; Kenneth R.;
(Somerville, MA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
E Ink Corporation |
Billerica |
MA |
US |
|
|
Family ID: |
57148120 |
Appl. No.: |
15/139714 |
Filed: |
April 27, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62153452 |
Apr 27, 2015 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G09G 3/344 20130101;
G09G 2320/0209 20130101; G09G 2320/0285 20130101; G09G 3/2055
20130101; G09G 2340/16 20130101; G09G 3/2003 20130101 |
International
Class: |
G09G 3/20 20060101
G09G003/20; G09G 3/34 20060101 G09G003/34 |
Claims
1. A method for image processing comprising: (a) accessing, in a
lookup table, a current pattern index for a current pixel based on
a current pixel input value and a previous pattern index; (b)
accessing, in a dither mask array, a threshold value for the
current pixel based on a location of the current pixel; (c)
comparing the current pattern index with the threshold value; (d)
determining a current pixel output value for activation of the
current pixel based on a result of the comparing; (e) storing the
current pattern index to serve as the previous pattern index for a
next image; and (f) repeating acts (a)-(e) for each pixel in an
image.
2. The method for image processing as defined in claim 1, further
comprising repeating acts (a)-(f) for a plurality of images.
3. The method for image processing as defined in claim 1, wherein
determining the current pixel output value comprises determining a
first output value or a second output value.
4. The method for image processing as defined in claim 3, wherein
determining the pixel state comprises determining the first output
value if the current pattern index is greater than the threshold
value and otherwise determining the second output value.
5. The method for image processing as defined in claim 1, wherein
determining the current pixel output value comprises determining
one of three or more pixel output values.
6. The method for image processing as defined in claim 1, wherein
storing the current pattern index comprises storing the current
pattern index in a pattern index buffer.
7. The method for image processing as defined in claim 6, wherein
the pattern index buffer has a location for each pixel in the
image.
8. The method for image processing as defined in claim 1, wherein
the dither mask array is addressed by the location of the current
pixel mod k,l, where k and l are dimensions of the dither mask
array.
9. The method for image processing as defined in claim 1, wherein
comparing the current pattern index comprises determining if the
current pattern index is between a first threshold value and a
second threshold value.
10. The method for image processing as defined in claim 1, further
comprising activating the current pixel of an electrophoretic
display in accordance with the determined current pixel output
value.
11. Apparatus for image processing comprising: a memory device
storing a lookup table configured to provide a current pattern
index for a current pixel based on a current pixel input value and
a previous pattern index; a dither mask array configured to provide
a threshold value based on a location of the current pixel; a
comparator circuit configured to compare the current pattern index
with the threshold value and to provide a result indicative of a
current pixel output value for activation of the current pixel; and
a pattern index buffer configured to store the current pattern
index as the previous pattern index for each pixel of an image and
to provide the previous pattern index for the current pixel based
on the location of the current pixel.
12. The apparatus for image processing as defined in claim 11,
further comprising a display control unit configured to control the
apparatus to provide the result indicative of the current pixel
output value for each pixel in an image.
13. The apparatus for image processing as defined in claim 12,
wherein the display control unit is configured to control the
apparatus to provide the result indicative of the current pixel
output value for a plurality of images.
14. The apparatus for image processing as defined in claim 11,
wherein the comparator circuit is configured to provide the result
indicative of a first output value or a second output value.
15. The apparatus for image processing as defined in claim 14,
wherein the comparator circuit is configured to provide the first
output value if the current pattern index is greater than the
threshold value and otherwise to provide the second output
value.
16. The apparatus for image processing as defined in claim 11,
wherein the comparator circuit is configured to provide the result
indicative of one of three or more pixel output values.
17. The apparatus for image processing as defined in claim 11,
wherein the pattern index buffer has a location for each pixel in
the image.
18. The apparatus for image processing as defined in claim 11,
wherein the dither mask array is addressed by the location of the
current pixel mod k, l, where k and l are dimensions of the dither
mask array.
19. The apparatus for image processing as defined in claim 11,
wherein the comparator circuit is configured to determine if the
current pattern index is between a first threshold value and a
second threshold value.
20. The apparatus for image processing as defined in claim 11,
wherein the comparator circuit is configured to provide the result
indicative of the current pixel output value of an electrophoretic
display.
21. A method for image processing comprising: determining a current
dither pattern for a current pixel based on a current pixel input
value and a previous dither pattern; determining an output value of
the current pixel based on the current dither pattern and a
threshold value; and activating the current pixel in accordance
with the determined output value.
22. The method for image processing as defined in claim 21, wherein
the threshold value is obtained from a dither mask array.
Description
TECHNICAL FIELD
[0001] This disclosure relates to electro-optical devices and
methods and, more particularly, to electrophoretic display systems
and methods which employ half-toning, or dithering, so that the
display device appears to an observer to have a large number of
gray tone levels.
BACKGROUND
[0002] The driving waveforms for electrophoretic displays provide
transitions from a known optical state to another optical state.
The controller driving such a display typically offers a fixed
number of such optical states, called gray tones, via these
waveforms. The gray tones are selected according to criteria such
as visual spacing, graininess, transition appearance, update time,
etc. The number of possible gray tones in current systems is
typically low (2-16) due to limitations such as discreteness of
driving pulses imposed by the frame rate of the display drivers and
temperature sensitivity. For that reason, it may be desirable to
halftone (dither) the image to be displayed so that the display
device appears to an observer to have a larger number of gray tone
levels.
[0003] When driving adjacent pixels of an electrophoretic display
with different signals, it is common that an edge artifact is
introduced between the adjacent pixels by cross-talk. The edge
artifact can be manifested in several ways such as light or dark
ridges along the edge, blooming into one of the pixels, smoothed
edges, lightened or darkened whole pixel response, etc. In the case
of half-toning, the fraction of an area of pixels assigned to
various optical states is modified by the artifact, making it
difficult to predict the resulting average reflectance. Edge
artifacts can be reduced by waveform tuning, but cannot be
eliminated completely.
[0004] A conventional approach for managing edge artifacts in
half-toning is to compensate the halftone dither pattern by input
mapping or pattern modification so that the mapping of image levels
is acceptable. For example, the mean reflectance of a number of
displayed dither patterns can be measured to produce a tone
reproduction curve, which can then be inverted to supply an input
mapping. This can work well on an electrophoretic display if the
prior display state is fixed. However, if the prior display state
is an arbitrary image, the compensation method generally does not
work because the edge artifacts not only depend on the current
state of the pixel pairs but also depend on the prior state of the
pixel pairs. This is commonly called "differential blooming",
wherein the blooming of a pixel pair is different depending on the
prior states of the pixel pair.
[0005] Visually, the effect of differential blooming appears as
ghosting. For example, a page of black text on a white background
may be switched to a page containing a gray scale image containing
a smooth gray area such as the sky. In this smooth gray area, the
rasterized pattern blooms differently in areas that were previously
text compared to white background areas. This leads to a ghost of
the text appearing in the sky portion of the image.
SUMMARY
[0006] The inventor has recognized that a dither pattern can be
utilized to display a current image level based on the dither
pattern used to display the previous image level so that
differential blooming is compensated. This can be considered as a
remapping of the current image pixel level as a function of the
remapping used to display the previous image pixel level. Ghosting
caused by differential blooming is substantially reduced or
eliminated.
[0007] Thus, aspects of the disclosed technology include methods
and apparatus for image processing where differential blooming is
compensated. The method includes accessing a current pattern index
for a current pixel based on a current pixel input value and a
previous pattern index. The previous pattern index is the pattern
index used for the same pixel of the previous image. The previous
pattern index may be stored in a pattern index buffer and used to
access a lookup table containing the current pattern index. In
addition, the method includes accessing a threshold value for the
current pixel based on a location of the current pixel. The
threshold value may be contained in a dither mask array containing
threshold values corresponding to different pixel locations.
[0008] The current pattern index is compared with the threshold
value, and the result is used to determine a current pixel output
value for activation of the current pixel. For example, the current
pixel output value may be white if the current pattern index is
greater than the threshold value, and otherwise may be black. The
current pattern index may be stored in the pattern index buffer at
a location corresponding to the current pixel and serves as the
previous pattern index for a next image. The method is repeated for
each pixel in the image and then is repeated for each subsequent
input image. By basing the current pixel output value in part on
the previous pattern index, the ghosting caused by differential
blooming is substantially reduced or eliminated.
[0009] According to a first aspect of the disclosed technology, a
method for image processing comprises (a) accessing, in a lookup
table, a current pattern index for a current pixel based on a
current pixel input value and a previous pattern index; (b)
accessing, in a dither mask array, a threshold value for the
current pixel based on a location of the current pixel; (c)
comparing the current pattern index with the threshold value; (d)
determining a current pixel output value for activation of the
current pixel based on a result of the comparing; (e) storing the
current pattern index to serve as the previous pattern index for a
next image; and (f) repeating acts (a)-(e) for each pixel in an
image.
[0010] According to a second aspect of the disclosed technology, an
apparatus for image processing comprises a memory device storing a
lookup table configured to provide a current pattern index for a
current pixel based on a current pixel input value and a previous
pattern index; a dither mask array configured to provide a
threshold value based on a location of the current pixel; a
comparator circuit configured to compare the current pattern index
with the threshold value and to provide a result indicative of a
current pixel output value for activation of the current pixel; and
a pattern index buffer configured to store the current pattern
index as the previous pattern index for each pixel of an image and
to provide the previous pattern index for the current pixel based
on the location of the current pixel.
[0011] According to a third aspect of this disclosed technology, a
method for image processing comprises determining a current dither
pattern for a current pixel based on a current pixel input value
and a previous dither pattern; determining an output value of the
current pixel based on the current dither pattern and a threshold
value; and activating the current pixel in accordance with the
determined output value.
BRIEF DESCRIPTION OF DRAWINGS
[0012] Various aspects and embodiments of the application will be
described with reference to the following figures. It should be
appreciated that the figures are not necessarily drawn to scale.
Items appearing in multiple figures are indicated by the same
reference number in all the figures in which they appear.
[0013] FIG. 1 is a schematic block diagram of a display system in
accordance with embodiments;
[0014] FIGS. 2A & 2B are schematic block diagrams of image
processing apparatus in accordance with embodiments;
[0015] FIG. 3 shows an example of the contents of the lookup table
shown in FIG. 2A;
[0016] FIG. 4 shows an example of the contents of the dither mask
array shown in FIG. 2A;
[0017] FIG. 5 shows an example of a 16.times.16 dither pattern
having 24 black pixels;
[0018] FIG. 6 shows an example of a 16.times.16 dither pattern
having 128 black pixels;
[0019] FIG. 7 shows an example of a 16.times.16 dither pattern
having 155 black pixels; and
[0020] FIG. 8 is a flowchart of a method for image processing in
accordance with embodiments.
DETAILED DESCRIPTION
[0021] The term "electro-optic", as applied to a material or a
display, is used herein in its conventional meaning in the imaging
art to refer to a material having first and second display states
differing in at least one optical property, the material being
changed from its first to its second display state by application
of an electric field to the material. Although the optical property
is typically color perceptible to the human eye, it may be another
optical property, such as optical transmission, reflectance,
luminescence or, in the case of displays intended for machine
reading, pseudo-color in the sense of a change in reflectance of
electromagnetic wavelengths outside the visible range.
[0022] The term "gray state" is used herein in its conventional
meaning in the imaging art to refer to a state intermediate two
extreme optical states of a pixel, and does not necessarily imply a
black-white transition between these two extreme states. For
example, several of the E Ink patents and published applications
referred to below describe electrophoretic displays in which the
extreme states are white and deep blue, so that an intermediate
"gray state" would actually be pale blue. Indeed, as already
mentioned, the change in optical state may not be a color change at
all. The terms "black" and "white" may be used hereinafter to refer
to the two extreme optical states of a display, and should be
understood as normally including extreme optical states which are
not strictly black and white, for example the aforementioned white
and dark blue states. The term "monochrome" may be used hereinafter
to denote a drive scheme which only drives pixels to their two
extreme optical states with no intervening gray states.
[0023] Numerous patents and applications assigned to or in the
names of the Massachusetts Institute of Technology (MIT) and E Ink
Corporation describe various technologies used in encapsulated
electrophoretic and other electro-optic media. Such encapsulated
media comprise numerous small capsules, each of which itself
comprises an internal phase containing electrophoretically-mobile
particles in a fluid medium, and a capsule wall surrounding the
internal phase. Typically, the capsules are themselves held within
a polymeric binder to form a coherent layer positioned between two
electrodes. The technologies described in these patents and
applications include:
[0024] (a) Electrophoretic particles, fluids and fluid additives;
see for example U.S. Pat. Nos. 7,002,728 and 7,679,814;
[0025] (b) Capsules, binders and encapsulation processes; see for
example U.S. Pat. Nos. 6,922,276 and 7,411,719;
[0026] (c) Films and sub-assemblies containing electro-optic
materials; see for example U.S. Pat. Nos. 6,982,178 and
7,839,564;
[0027] (d) Backplanes, adhesive layers and other auxiliary layers
and methods used in displays; see for example U.S. Pat. Nos.
7,116,318 and 7,535,624;
[0028] (e) Color formation and color adjustment; see for example
U.S. Pat. Nos. 7,075,502 and 7,839,564;
[0029] (f) Methods for driving displays; see for example U.S. Pat.
Nos. 5,930,026; 6,445,489; 6,504,524; 6,512,354; 6,531,997;
6,753,999; 6,825,970; 6,900,851; 6,995,550; 7,012,600; 7,023,420;
7,034,783; 7,116,466; 7,119,772; 7,193,625; 7,202,847; 7,259,744;
7,304,787; 7,312,794; 7,327,511; 7,453,445; 7,492,339; 7,528,822;
7,545,358; 7,583,251; 7,602,374; 7,612,760; 7,679,599; 7,688,297;
7,729,039; 7,733,311; 7,733,335; 7,787,169; 7,952,557; 7,956,841;
7,999,787; 8,077,141; 8,125,501; 8,139,050; 8,174,490; 8,289,250;
8,300,006; 8,305,341; 8,314,784; 8,384,658; 8,558,783; and
8,558,785; and U.S. Patent Applications Publication Nos.
2003/0102858; 2005/0122284; 2005/0253777; 2007/0091418;
2007/0103427; 2008/0024429; 2008/0024482; 2008/0136774;
2008/0291129; 2009/0174651; 2009/0179923; 2009/0195568;
2009/0322721; 2010/0220121; 2010/0265561; 2011/0193840;
2011/0193841; 2011/0199671; 2011/0285754; and 2013/0194250;
[0030] (g) Applications of displays; see for example U.S. Pat. Nos.
7,312,784 and 8,009,348; and
[0031] (h) Non-electrophoretic displays, as described in U.S. Pat.
Nos. 6,241,921; 6,950,220; 7,420,549, 8,994,705 and 8,319,759; and
U.S. Patent Application Publication No. 2012/0293858.
[0032] Much of the discussion below will focus on methods for
driving one or more pixels of an electro-optic display through a
transition from an initial gray level to a final gray level (which
may or may not be different from the initial gray level). The term
"waveform" will be used to denote the entire voltage against time
curve used to effect the transition from one specific initial gray
level to a specific final gray level. Typically such a waveform
will comprise a plurality of waveform elements; where these
elements are essentially rectangular (i.e., where a given element
comprises application of a constant voltage for a period of time);
the elements may be called "pulses" or "drive pulses". The term
"drive scheme" denotes a set of waveforms sufficient to effect all
possible transitions between gray levels for a specific display. A
display may make use of more than one drive scheme; for example,
the aforementioned U.S. Pat. No. 7,012,600 teaches that a drive
scheme may need to be modified depending upon parameters such as
the temperature of the display or the time for which it has been in
operation during its lifetime, and thus a display may be provided
with a plurality of different drive schemes to be used at differing
temperature etc. A set of drive schemes used in this manner may be
referred to as "a set of related drive schemes." It is also
possible, as described in several of the aforementioned MEDEOD
applications, to use more than one drive scheme simultaneously in
different areas of the same display, and a set of drive schemes
used in this manner may be referred to as "a set of simultaneous
drive schemes."
[0033] The inventor has recognized that a dither pattern can be
utilized to display a current image level based on the dither
pattern used to display the previous image level so that
differential blooming is compensated. In the case of a fixed
pattern mask, this can be considered as a remapping of the current
image pixel level as a function of the remapping used to display
the previous image pixel level. Ghosting caused by differential
blooming is substantially reduced or eliminated.
[0034] Thus, aspects of the disclosed technology include methods
and apparatus for image processing where differential blooming is
compensated. The method includes accessing a current pattern index
for a current pixel based on a current pixel input value and a
previous pattern index. The previous pattern index is the pattern
index used for the same pixel of the previous image. The previous
pattern index may be stored in a pattern index buffer and used to
access a lookup table containing the current pattern index. In
addition, the method includes accessing a threshold value for the
current pixel based on a location of the current pixel. The
threshold value may be contained in a dither mask array containing
threshold values corresponding to different pixel locations.
[0035] The current pattern index is compared with the threshold
value, and the result is used to determine a current pixel output
value for activation of the current pixel. For example, the current
pixel output value may be white if the current pattern index is
greater than the threshold value, and otherwise may be black. The
current pattern index may be stored in the pattern index buffer at
a location corresponding to the current pixel and serves as the
previous pattern index for a next image. The method is repeated for
each pixel in the image and then is repeated for two or more
images. By basing the current pixel output value in part on the
previous pattern index, the ghosting caused by differential
blooming is substantially reduced or eliminated.
[0036] An example of a display system 10 suitable for incorporating
embodiments and aspects of the present disclosure is shown in FIG.
1. The display system 10 may include an image source 12, a display
control unit 16 and a display device 26. The image source 12 may,
for example, be a computer having image data stored in its memory,
a camera, or a data line from a remote image source. The image
source 12 may supply image data representing an image to the
display control unit 16. The display control unit 16 may generate a
first set of output signals on a first data bus 18 and a second set
of signals on a second data bus 20. The first data bus 18 may be
connected to row drivers 22 of display device 26, and the second
data bus 20 may be connected to column drivers 24 of display device
26. The row and column drivers control the operation of display
device 26. In one example, display device 26 is an electrophoretic
display device. For example, the display device 26 may include a
display having front and back electrodes and a plurality of
capsules within a display layer, where the capsules comprising
white and black electrophoretic pigment particles. The front
electrode may represent the viewing side of the display, in which
case the front electrode may be a transparent conductor, such as
Indium Tin Oxide (ITO) (which in some cases may be deposited onto a
transparent substrate, such as polyethylene terephthalate (PET)).
Furthermore, the display layer can be a particle-based display
medium between the front and back electrodes that includes a
plurality of capsules. Within each capsules may be a liquid medium
and one or more types of colored pigment particles that include
white pigment particles and black pigment particles. The pigment
particles may be controlled (displaced) with an electric field
(e.g., produced by the front and back electrodes), thus making the
display operate as an electrophoretic display when addressed. In
some use cases, both the black and white pigments may be configured
to be displaced within an electric field. For example, one of
pigments (e.g., black or white) may be positively charged and the
other pigment may be negatively charged, such that an electric
field applied across a capsule may cause the pigment particles to
separate to opposing sides of the capsule. By adjusting the
direction of the electric field, the pigment that is located on the
viewing side of the display may be selected, thereby producing
either a white or a black state as viewed by a user of the display.
In some use cases, one or both of pigments may move within, or
otherwise respond to, a magnetic field. For example, one or both
types of pigment particles may align along magnetic field lines,
and/or may form chains of particles. In such cases, neither, one or
both of pigments may be electrically charged. Furthermore, the
display control unit 16 may include dither apparatus as described
below.
[0037] A block diagram of image processing apparatus 200 in
accordance with embodiments of the disclosure is shown in FIGS. 2A
and 2B. The image processing apparatus, implemented as a dither
apparatus 200, applies a dither pattern to display a current image
level based on the dither pattern used to display the previous
image level so that differential blooming is compensated by the
applied pattern density. In the case of a fixed pattern mask, this
can be considered as a remapping of the current image pixel level
as a function of the previous image pixel level. Using this
approach, the ghosting caused by differential blooming is
substantially reduced or eliminated.
[0038] As shown in FIG. 2A, dither apparatus 200 includes a memory
device storing a lookup table (LUT) 210, a dither mask array 220, a
comparator 230 and a pattern index buffer 240. The dither apparatus
200 of FIG. 2 implements one-bit dithering. The lookup table 210 is
used to provide a current pattern index M for a current pixel based
on the previous pattern index at that pixel and the current pixel
input value. The current pattern index M is compared to a threshold
value T provided by the dither mask array 220 to determine if the
pixel is black or white. The current pattern index for current
image n is stored in the pattern index buffer 240 and serves as the
previous pattern index for a next image n+1.
[0039] Referring to FIG. 2A, the lookup table 210 is addressed, in
part, input by a current pixel input value for a current pixel at
location i,j of image n. The pixel at location i,j is the pixel at
line i, column j of the image and is sometimes referred to herein
as "pixel i,j". In the example of FIG. 2, the current pixel input
value may have one of 16 gray tone values. The lookup table 210 is
also addressed by the previous pattern index of the pixel at
location i,j. As shown, the previous pattern index is provided by
pattern index buffer 240.
[0040] The current pattern index M for the pixel at location i,j of
image n is supplied by the lookup table 210 to one input of
comparator 230. A second input of comparator 230 is provided by
dither mask array 220. The dither mask array 220 may have
dimensions of k.times.l, and the dither mask array 220 is addressed
by the location i,j of the pixel mod k,l, where k is a line and l
is a column of the dither mask array 220. The mod function serves
to tile the dither mask array over the area of the image. The
dither mask array 220 typically has a smaller number of pixels than
the image and, in an example described below, may have dimensions
of 16.times.16 pixels.
[0041] The dither mask array 220 provides the threshold value T to
a second input of comparator 230. The comparator 230 compares the
current pattern index M from lookup table 210 with the threshold
value T from dither mask array 220. If the current pattern index M
of pixel i,j is greater than the threshold value T from dither mask
array 220, the output value for the current pixel is white;
otherwise the output value is black. It will be understood that the
assignment of white and black values is arbitrary and can be
reversed. The output value is provided to the display device 26
(FIG. 1) or to additional processing circuitry in display control
unit 16.
[0042] The pattern index buffer 240 may store one pattern index for
each pixel in the image. The pattern index buffer 240 is addressed
by the location of the pixel being processed. Thus, the pattern
index buffer 240 receives pixel location i,j. In operation, the
current pattern index for pixel i,j of image n is stored in pattern
index buffer 240 at location i,j. The stored current pattern index
for each pixel becomes the previous pattern index and is read out
from the pattern index buffer 240 when processing the next image.
Thus, the current pattern index depends in part on the previous
pattern index for the pixel at location i,j.
[0043] The values in lookup table 210 may be obtained by measuring
the average reflectance of sets of dither pattern pairs. Because
the dither pattern array is applied periodically in a fixed
position, a pattern pair will always contain the same sets of
pairwise neighbor transitions and so the blooming effect is
accounted for in this measurement.
[0044] To fill the table, first determine a desired reflectance for
each gray level to be reproduced on the display. The desired gray
level for black and white should be no darker or whiter
respectively than the best possible states that can be reproduced.
All other gray tones are typically chosen to be equally spaced by
some metric, such as L*. Now choose a previous pattern index and an
input gray tone. In the most straightforward approach, set the
display to the pattern of this constant previous pattern index and
then update the display to an image or images of all available
patterns for the current pattern index. Measure the reflectance of
each of these and determine the current pattern index which most
closely matches the target reflectance for the chosen gray tone.
This pattern index is put into the table at the position associated
with the previous pattern index and chosen gray tone. This process
needs to be repeated for all previous pattern indices and gray
tones.
[0045] Clearly the number of measurements required to fill this
table can be reduced by various algorithms. For example, a search
method though the current pattern index possibilities can be
applied such as a divide and conquer approach. Also, because the
table entries are expected to have some continuous relationship,
values of adjacent entries can be used as a starting place for a
search. Furthermore, more advanced methods could build up a model
of the neighborhood interactions in order to predict the
reflectance of the previous and current pattern pair based on only
restricted number of model parameters that would need to be
determined by measurement.
[0046] FIG. 2B shows an alternative implementation of the dither
process shown in FIG. 2A where the whole pattern for each level is
stored in a LUT 250 and accessed without doing a computation. This
implementation still uses the dither process, such that there's a
fixed spatial output produced for a fixed input gray tone.
[0047] An example of lookup table 210 is shown in FIG. 3. The
example of lookup table 210 in FIG. 3 is organized as a table with
different pixel input values listed horizontally across the top of
the table and different previous pattern index values listed
vertically along the left side of the table. In the example of FIG.
3, the pixel may have 1 of 16 input values corresponding to
different gray tone values ranging from white to black. The
previous pattern index may have values ranging from 1 to 256
corresponding to different dither patterns as discussed below. It
will be understood that the pixels may have more or fewer input
values and that the previous pattern index may have more or fewer
values than the example of FIG. 3. For simplicity of illustration,
FIG. 3 illustrates only a few of the entries in the lookup table
210. The complete lookup table 210, according to the example of
FIG. 3, has 16.times.256 entries.
[0048] The values in lookup table 210 may be obtained by measuring
the average reflectance of sets of dither pattern pairs. Because
the dither pattern array is applied periodically in a fixed
position, a pattern pair will always contain the same sets of
pairwise transitions and so the edge behavior can be accounted for
in regions switching from one constant gray level to a second
constant gray level by this measurement. In particular, paired
images of constant pattern index are displayed one after the other
and the reflectance is measured until a good prediction of
lightness can be made for (previous, current) pattern pairs. An
interpolation into this data can be based on a model of the
neighborhood types present in the image pairs. Since the blooming
artifacts are local, it is sufficient to model the effect on
lightness of the 55 possible (up to symmetry) 2.times.2 previous
and current neighborhood configurations. The interpolation is
inverted with respect to the current pattern index to obtain the
current pattern required to provide a desired lightness based on
the input pixel value and the previous pattern index.
[0049] Examples will now be described with reference to the lookup
table 210 of FIG. 3. In a first example, the pixel at location 5,9
of image n (the pixel at line 5, column 9 of image n) has a pixel
input value of 4. The previous pattern index having a value of 21
is supplied by pattern index buffer 240. The pixel input value of 4
and the previous pattern index of 21 are used to address the lookup
table 210 of FIG. 3. The lookup table 210 contains a current
pattern index of 49 at a pixel input value of 4 and a previous
pattern index of 21. The current pattern index of 49 is provided to
the comparator 230 (FIG. 2A) for comparison with the threshold
value. Also the current pattern index 49 is stored in pattern index
buffer 240 at pixel location 5,9 and serves as the previous pattern
index for the next image.
[0050] In a next image n+1, the pixel at location 5,9 has a pixel
input value of 6. The pattern index buffer 240 provides the
previous pattern index of 49 at pixel location 5,9. The pixel input
value of 6 and the previous pattern index of 49 are used to access
the lookup table 210 of FIG. 3, providing a current pattern index
of 83.
[0051] In a further example, assume that the pixel at location 5,9
for the next image n+1 has a pixel input value of 2. As in the
previous example, the previous pattern index has a value of 49. The
lookup table 210 of FIG. 3 provides a current pattern index value
of 19 for a pixel input value of 2 and a previous pattern index
value of 49. It may be observed that the current pattern index used
to determine the current state of the current pixel depends not
only on the current pixel input value, but also on the previous
pattern index value.
[0052] An example of dither mask array 220 is shown in FIG. 4. The
dither mask array 220 is organized as a table with pixel columns l
across the top of the table and pixel lines k down the left side of
the table. In the example of FIG. 4, the dither mask array 220 has
dimensions of 16.times.16, with each location in the table
containing a threshold value to be compared with the current
pattern index value. As indicated above, the pixel location i,j in
the image is applied to dither mask array 220 mod k,l, thus tiling
the dither mask array 220 over the area of the image.
[0053] The dither mask array 220 is an implementation of ordered
dithering which produces a fixed spatial pattern for each gray
scale level. The spatial patterns, discussed below, can be
specified for each different gray scale level. Conversion of the
original gray scale image to a halftone image is equivalent to
assigning each pixel a black or white level based on looking up
that pixel's position in the gray scale pattern for that pixel's
particular gray level. Thus, the pixel input value can be
considered a pattern index which selects a predefined black and
white pattern and the pixel's position is used to index the dither
mask array to determine whether the output should be black or
white.
[0054] Referring to the examples described above, the pixel at
location 5,9 for image n has a current pattern index value of 49.
Using the pixel location 5,9 to address dither mask array 220,
where k=5 and l=9, provides a threshold value of 14. The threshold
value of 14 is compared by comparator 230 with the current pattern
index value of 49. Since the current pattern index is greater than
the threshold value, the output value of the pixel at location 5,9
is white.
[0055] An example of a 16.times.16 dither pattern 510 having 24
black pixels is shown in FIG. 5. The dither pattern 510 may have a
pattern index of 24.
[0056] An example of a 16.times.16 dither pattern 610 having 128
black pixels is shown in FIG. 6. The dither pattern 610 may have a
pattern index of 128.
[0057] An example of a 16.times.16 dither pattern 710 having 155
black pixels is shown in FIG. 7. The dither pattern 710 may have a
pattern index of 155.
[0058] Each of the dither patterns 510, 610, 710 represents a
16.times.16 array of pixels wherein selected pixels are black and
the remaining pixels are white. The number of black pixels in the
dither pattern, when averaged by the viewer's eye, represents a
particular gray tone level. Thus, the dither pattern 510 of FIG. 5
is a lighter gray tone than the dither pattern 710 of FIG. 7. The
black pixels in each dither pattern may be more or less uniformly
distributed over the area of the dither pattern for best
results.
[0059] A flow chart of a method for image processing in accordance
with embodiments of the disclosure is shown in FIG. 8. The image
processing method of FIG. 8 may be performed by the image
processing apparatus shown in FIG. 2 and described above, or other
suitable processing apparatus.
[0060] Referring to FIG. 8, a current pixel input value of image n
is received in act 810. A current pattern index M is accessed based
on the current pixel input value and a previous pattern index in
act 812. As discussed above, the current pattern index M may be
accessed in lookup table 210. A threshold value T is accessed in
act 814 based on a location of the current pixel. As discussed
above, the threshold value T may be accessed in dither mask array
220 based on the current pixel location.
[0061] The current pattern index M is compared with the threshold
value T in act 816. The comparison may be performed by comparator
230 shown in FIG. 2 and described above. The current pixel output
value is determined in act 818 based on a result of the comparison
of act 816. For example, if the current pattern index M is greater
than the threshold value T then the current pixel output value is
white; otherwise the current pixel output value is black. In act
820, the current pattern index of image n is stored as the previous
pattern index of image n+1. The previous pattern index may be
stored in pattern index buffer 240 shown in FIG. 2 and described
above.
[0062] In act 830, a determination is made as to whether the
current pixel is the last pixel in image n. If the current pixel is
determined in act 830 not to be the last pixel in image n, the
process proceeds to act 832 and increments to the next pixel of
image n. The process then returns to act 810 for receiving another
pixel value of image n. If the current pixel is determined in act
830 to be the last pixel in image n, the process proceeds to act
834 and increments to the next image n+1. The process then returns
to act 810 and receives a pixel input value of the next image
n+1.
[0063] The dither apparatus 200 of FIG. 2A and the dither apparatus
205 of FIG. 2B and the method for image processing of FIG. 8 have
been described in terms of processing one pixel at a time. In some
implementations, several pixels may be processed in parallel. For
example, multiple pixels in a line of the display device may be
processed in parallel.
[0064] The image processing methods and apparatus described above
produce a black or white output value for each pixel. The image
processing methods and apparatus described herein can also be
applied in the case of display devices capable of generating
multiple gray tone levels for each pixel. It is also true in the
multi-level dithering process that if the input is a constant
image, a fixed output pattern is produced by the half-toning
process. Since there is a fixed relationship between the
neighborhoods in the current and next pattern, the average effect
of blooming can likewise be predicted.
[0065] In one implementation, the dither mask array is used to
dither between adjacent output levels of a N-level display device.
For example, assume that the display device may receive pixel
values [1, 100, 200, 256]. If the current pattern index M is in a
range between 100 and 200, the current pattern index is scaled and
is compared with the threshold value to choose output level 200 or
output level 100.
[0066] The above-described embodiments can be implemented in any of
numerous ways. One or more aspects and embodiments of the
disclosure involving the performance of processes or methods may
utilize program instructions executable by a device (e.g., a
computer, a processor, or other device) to perform, or control
performance of, the processes or methods. Various concepts and
features may be embodied as a computer-readable storage medium or
multiple computer-readable storage media (e.g., a computer memory,
one or more compact discs, floppy disks, compact discs, optical
disks, magnetic tapes, flash memories, circuit configurations in
field programmable gate arrays or other semiconductor devices, or
other tangible computer storage medium) encoded with one or more
programs that, when executed on one or more computers or other
processors, perform methods that implement one or more of the
various embodiments described above. The computer-readable medium
or media can be transportable and may be non-transitory media.
[0067] When the embodiments are implemented in software, the
software code can be executed on any suitable processor or
collection of processors. A computer may be embodied in any of a
number of forms, such as a rack-mounted computer, a desktop
computer, a laptop computer, or a tablet computer, as non-limiting
examples. Additionally, a computer may be embedded in a device not
generally regarded as a computer but with suitable processing
capabilities, including a personal digital assistant, a Smart phone
or any other suitable portable or fixed electronic device.
[0068] Having thus described at least one illustrative embodiment
of the disclosure, various alterations, modifications and
improvements will readily occur to those skilled in the art. Such
alterations, modifications, and improvements are intended to be
part of this disclosure, and are intended to be within the spirit
and the scope of the present disclosure. Accordingly, the foregoing
description is by way of example only and is not intended to be
limiting. The various inventive aspects are limited only as defined
in the following claims and the equivalents thereto.
* * * * *