Methods for reducing image artifacts during partial updates of electrophoretic displays

11557260 · 2023-01-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for driving electro-optic displays so as to reduce visible artifacts are described. Such methods include driving extra pixels where the boundary between a driven and undriven area would otherwise lead to artifact by providing paired sets of driving instructions, allowing the undriven area to be driven while maintain the desired (undriven) optical state.

Claims

1. A method of driving a bistable electro-optic display including a controller, the bistable electro-optic display having a matrix of pixels arranged in rows and columns and including: a primary pixel that undergoes a transition from a first optical state to a second optical state, a secondary pixel immediately adjacent the primary pixel, wherein the secondary pixel undergoes a transition from a third optical state to a fourth optical state, and a tertiary pixel immediately adjacent the secondary pixel, the secondary pixel being between the primary pixel and the tertiary pixel in a row or in a column, wherein the tertiary pixel does not undergo an optical state transition, the method comprising: a) providing from the controller to the bistable electro-optic display a first update including a first waveform to the primary pixel, a third waveform to the secondary pixel, and a fifth waveform to the tertiary pixel; and b) providing from the controller to the bistable electro-optic display a second update including a second waveform to the primary pixel, a fourth waveform to the secondary pixel, and no waveform to the tertiary pixel, wherein the first and second optical states are different in color or gray scale and the third and fourth optical states are different in color or gray scale, and wherein the third waveform, the fourth waveform, and the fifth waveform all produce identical optical states when provided to a pixel in the absence of stray electric fields.

2. The method of claim 1, further comprising c) providing from the controller to the bistable electro-optic display a third update including a sixth waveform to the primary pixel, the third waveform to the secondary pixel, and no waveform to the tertiary pixel.

3. The method of claim 1, wherein the bistable electro-optic display is an electrophoretic display.

4. The method of claim 3, wherein the electrophoretic display includes an electrophoretic medium comprising at least three different types of electrophoretic particles.

5. The method of claim 3, wherein the electrophoretic display comprises an electrophoretic medium disposed in a microcapsule layer.

6. The method of claim 3, wherein the electrophoretic display comprises an electrophoretic medium disposed in microcells.

7. The method of claim 1, wherein the bistable electro-optic display comprises a color filter array.

8. The method of claim 1, wherein the bistable electro-optic display comprises at least 10 primary pixels, at least 10 secondary pixels, and at least 10 tertiary pixels.

9. The method of claim 8, wherein the primary pixels define an edge of an image displayed on the bistable electro-optic display.

10. The method of claim 8, wherein the bistable electro-optic display comprises at least 1000 pixels.

11. The method of claim 1, wherein the bistable electro-optic display is capable of producing at least 16 different colors or gray levels.

12. The method of claim 1, wherein the bistable electro-optic display is capable of producing at least 32 different colors.

13. The method of claim 2, wherein the second waveform and the sixth waveform produce identical optical states when provided to a pixel in the absence of stray electric fields.

14. A method of driving a bistable electro-optic display including a controller, the bistable electro-optic display having a matrix of pixels arranged in rows and columns and including: a primary pixel that undergoes a transition from a first optical state to a second optical state, wherein 20% or fewer of the pixels of the bistable electro-optic display are primary pixels (number of primary pixels/total number of pixels in display), a secondary pixel immediately adjacent the primary pixel, wherein the secondary pixel undergoes a transition from a third optical state to a fourth optical state, and a tertiary pixel immediately adjacent the secondary pixel, the secondary pixel being between the primary pixel and the tertiary pixel in a row or in a column, wherein the tertiary pixel does not undergo an optical state transition, the method comprising: a) providing from the controller to the bistable electro-optic display a first update including a first waveform to the primary pixel, a third waveform to the secondary pixel, and a fifth waveform to the tertiary pixel; and b) providing from the controller to the bistable electro-optic display a second update including a second waveform to the primary pixel, a fourth waveform to the secondary pixel, and no waveform to the tertiary pixel, wherein the first and second optical states are different in color or gray scale, and the third and fourth optical states are different in color or gray scale.

15. The method of claim 14, wherein the third waveform, the fourth waveform, and the fifth waveform all produce identical optical states when provided to a pixel in the absence of stray electric fields.

16. The method of claim 14, wherein the bistable electro-optic display is an electrophoretic display.

17. The method of claim 16, wherein the electrophoretic display includes an electrophoretic medium comprising at least three different types of electrophoretic particles.

18. The method of claim 14, wherein the bistable electro-optic display comprises a color filter array.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 illustrates how a set of pixels in a small region of a display may be differentially effected during a partial update, in this case a pull-down menu over a fixed image.

(2) FIG. 2A illustrates a first method for updating a set of pixels in a small region of a display undergoing a partial update.

(3) FIG. 2B illustrates a second method for updating a set of pixels in a small region of a display undergoing a partial update.

(4) FIG. 3 illustrates exemplary waveform updates for six adjacent pixels undergoing three updates, wherein different pixels receive different waveforms according to the invention.

DETAILED DESCRIPTION

(5) The method of the present invention seeks to reduce or eliminate edge artifacts which occur along a straight edge between driven and undriven pixels. The human eye is especially sensitive to linear edge artifacts, especially ones which extend along the rows or columns of a display. In this method, a number of pixels lying adjacent an edge between the driven and undriven areas are in fact driven, such that any edge effects caused by the transition are hidden or otherwise minimized.

(6) As discussed above, partial updates are typically used when only a portion of the image requires updating, such as pull-down menus, scrolling text, or simplified animation. An example is shown in FIG. 1, wherein a pull-down menu is advanced over an existing image. A subset of pixels 100 in a small area of the display will undergo disparate color transitions as the pull-down menu is advanced. For example, some pixels will change from dark to light and some pixels will not change their optical state. Some of the pixels will be near neighbors to pixels that are being updated, while some pixels will be sufficiently far away that they are unlikely to be effected by update artifacts such as blooming or ghosting. For the purposes of explanation, the subset of pixels 100 has been magnified 120, allowing a greater understanding of the phenomena with respect to FIGS. 2A and 2B.

(7) One issue with partial updates is that pixels that border updated pixels may actually change color due to the driving of nearby neighbors, e.g., due to the presence of a nearby electric field, i.e., blooming. Moreover, while blooming during partial updates causes fuzzy edges in a black and white device, similar amounts of blooming in a color display, for example in an Advanced Color Electrophoretic Paper (ACeP®) medium, will result in actual color shifts in nearby pixels. Such color shifts are unwelcome by most users. Such color shifts are especially pronounced when dithering is used in the next image and some of the pixels in the dither pattern are the same color as those in the current display pixels. The effect can be so strong as to result in significant color loss.

(8) In a true partial update of the display, the controller will not update a pixel (i.e., provide a new set of voltages according to the look-up voltage list) if that pixel in image I.sub.2 has not changed from image I.sub.1. However, to avoid the artifacts discussed above, it is preferable to update certain pixels nearby the updated pixels with a new waveform that achieves the same color state. Compare FIGS. 2A and 2B. As shown in FIG. 2A, even though only the upper right-hand pixel 210 is being updated, the stray electric field lines from the update of pixel 210 can cause blooming 225 in the surrounding pixels because even though the surrounding pixels are held at a constant voltage, the electro-optic medium associated with those pixels is “seeing” the voltage from updated pixel 210. By implementing the techniques described below, the blooming can be essentially erased in one or two following updates, as shown in FIG. 2B.

(9) In the instance of an ACeP-type electrophoretic display (i.e., four-particle electrophoretic medium including white, cyan, yellow, and magenta particles), a typical waveform has a 5-bit lookup: i.e., there are 32 different possible colors. However, it is often sufficient to use merely 16 different colors, which allows for duplication of the 16 different color waveforms. In such a system, e.g., waveforms 1 and 2 are both assigned to the color black, waveforms 3 and 4 both result in blue, etc. until we reach waveforms 31 and 32, which are both white. Each waveform in each of these pairs has the same voltage list.

(10) The duplication of identical waveforms as different “colors” allows, e.g., a white pixel (waveform 32) bordering an updated pixel in a first image to then be assigned waveform 31 in the second image. When implemented as described herein, a controller would update all the pixels involved with an image as well as some near neighbors that would otherwise not be updated in a partial update. Nonetheless, because the near neighbor pixels are transitioning between the same color waveform those pixels would not change optical state. But because they are, in fact being updated, those pixels would have any blooming due to nearby switching pixels erased. This same logic could be applied to reduce artifacts in a black and white display, for example, by using a 4-bit lookup, and creating 8 unique gray levels by way of 8 sets of paired waveforms for each gray level.

(11) The technique can be implemented by starting with the area of the image and stamping in over it the element to be added, for example a menu or swipe band. During this composition, it is possible to examine the area where the new element is being added, and identify pixels where the self-transition is occurring. To force the controller to update those pixels, the solution is to change the state of the pixel in the next state image to be the mirror state, i.e. the other state with the same meaning. Note the current state of the pixel could be either parity (even or odd) because we don't know if this substitution has occurred before, however by alternating between paired waveforms during the various required updates, the un-updated pixels maintain the correct optical state.

(12) It should be noted that the state labeling scheme with odd and even states described above is just an example and the same thing could be accomplished with many different definitions for the equivalent states. For example if the standard states were defined as 1-16 then the equivalent states could be defined as respectively as the states 17-32 in any random order. Clearly a scheme should be chosen which is simplest to implement in a given controller design. The method is not restricted to 16 states, but the only requirement is the controller can manage twice the number of nominal states.

(13) The described methods could also be used in a “fade” update, where a series of intermediate images is provided between a first image I.sub.1 and second image I.sub.2, or generally I.sub.1->2[1] through I.sub.1->2[n]. In each of these intermediate images only a selected portion of the image area is changed from image I.sub.1 to image I.sub.2. For example, in I.sub.1->2(1) perhaps 10% of the pixels are what they would be in I.sub.2, while 90% remain what they are in I.sub.1. The controller will only update the 10% 12 pixels when asked to make a partial update. In I.sub.1->2(2) the next 10% are updated, and so on. By the time we reach I.sub.1->2(10), for example, the image update is complete.

(14) Like the above example of a new edge on a pull-down menu, many pixels that are updated will be bordered by other pixels that do change between I.sub.1 and I.sub.2. As above, the un-updated (e.g., white) pixels will experience the fringe fields from the neighboring updates and will change color from the desired (e.g., white) state. To prevent this from occurring, there must be no states in image I.sub.1 that are the same as in image I.sub.2, even if they have the same color. This can be achieved by assigning two lookups for the same color in the waveform, and providing the alternative lookup during the course of the fade. In some instances, an “undriven” pixel, will thus be updated 2-3 times in the course of a transition, in order to maintain a consistent color in the un-updated area.

(15) Returning to the figures of the application, the influence of the method of the invention can be visualized. As shown in FIG. 1, some subset of pixels 100 in FIG. 1 will updated. For the purposes of explanation, six pixels in two rows and three columns will be discussed, however the invention is broadly applicable to any number of pixels where the targeted updates (e.g., primary pixels) create an edge of an image being updated, typically over a field of another color or gray level. For the purpose of explanation, the pixels are numbered 1-6, with circles surrounding the pixel numbers in FIG. 2A. The pixel numbers are not carried through for simplicity.

(16) In a conventional method, the update of pixel 210 (alone) from Color 1 to Color 2 would simply be a matter of the controller implementing Lookup 2, as shown in FIG. 2A. Because pixel 210, i.e., pixel number 3, is intentionally being updated with the state change, pixel 210 is a primary pixel. Because the neighboring (secondary) pixels (pixel 2, 5, 6) are not updated, all of the neighboring (secondary) pixels undergo some amount of blooming 225, which may be detrimental to the user experience. In other words, all of the neighboring pixels, 220, 230, 240 are at risk of blooming if not updated, similar to FIG. 2A. (Importantly, for the purpose of explanation, pixels 250 and 260, i.e., pixels 1 and 4 in FIG. 2A. are not neighboring pixels, but rather tertiary pixels, and typically are not ask risk for blooming when pixel 210 is updated). Looking at FIG. 2B, however, because pixel 220 is updated at the same time as pixel 210, pixel 220 maintains the same optical state as before, but without blooming 225.

(17) In a different embodiment, and for the sake of comparison, the update may toggle every secondary pixel to a first or a second identical waveform with each update. For example, as shown in FIG. 2B, pixels 230 and 240 may have already been in the state achieved by the set of Lookup 1B, even though another secondary pixel (22) was in state Lookup 1A. Because pixels 230 and 240 would not have been updated when all “A” states are switched to “B” states, the update of the primary pixel (210) may give rise to blooming pixels 230, 240, as shown in the middle pixel set of FIG. 2B. However, after one additional update, this time from “B” to “A”, the blooming 225 has been cleared, so that updating pixels 210, 220, 230, and 240 results in some (but not as much blooming) 225, as shown in FIG. 2B. This method provides the benefit that the actual state of each pixel does not need to be tracked by the controller. Rather, after two updates, all secondary pixels should have been updated at least once, allowing for the clearing of any unwanted blooming. In other words, for each subsequent update, the primary pixel optical states can be advanced without a need to compare those update states to the update states of the secondary pixels. In the end, all of the primary and second pixels, i.e., 210, 220, 230, and 240 are updated from Lookup XB to Lookup XA, thereby removing the blooming and keeping the image true.

(18) A further illustration of the invention, exemplary waveforms that are provided by the controller to each of pixels 1-6 are shown in FIG. 3. It is to be appreciated that the waveforms of FIG. 3 are generalizations and do not correspond to achieving a specific color or gray level. Furthermore, waveforms sent by the controller to the various pixels are typically more intricate and may include things such as, for example, preparatory state-erasing pulse, DC-balance pulses, post drive clean-up pulses, etc. Additionally the waveforms shown in FIG. 3 are generalized representations of voltage as a function of time and would typically include both positive and negative voltages.

(19) The pixels in discussion begin from a common starting point, indicated as “0”. With a first update, the controller delivers a first waveform to the primary electrode, which causes the primary pixel to change optical states. Meanwhile, the secondary as well as the tertiary pixels are updated with third and fifth waveforms, respectively. In the second update, the primary pixel is updated by the controller with a second different waveform, while the second pixels are updated with a fourth waveform that is the same waveform as the third waveform. The tertiary pixels, however, do not receive any update, as would typically happen with a direct update refresh, in which only the pixels that are directed to change optical states are updated. As a result, the primary pixel transitions from a first to a second optical state, that is the optical state of the primary pixel after the first update is different from the optical state of the primary pixel after the first update. However, the optical states of the secondary and tertiary pixels are the same with the second update. However, because the secondary pixels actually received a waveform from the controller, the pixels adjacent the primary pixels are “flashed” so that they maintain the correct optical state without ghosting. In some embodiments, a further third update may be provided, whereby the primary pixel and/or the secondary pixels receive yet another waveform. Typically, for both the primary and secondary pixels, the third update will be a waveform of one of the previous update states, typically the immediate previous update state. This assures that all blooming is removed from secondary pixels.

(20) As will readily be apparent from the foregoing description, many of the methods of the present invention require or render desirable modifications in prior art display controllers. The inventions require a small amount of additional power as compared to lower power direct updates, but the overall viewer experience is improved. Certainly, the power consumption for the display implementing the invention is far less than if all pixels were updated with every update, as is done in full update mode. Various modifications of the display controller can be used to allow for the storage of transition information. For example, the image data table which normally stores the gray levels of each pixel in the final image may be modified to store one or more additional bits designating the class to which each pixel belongs. For example, an image data table which previously stored four bits for each pixel to indicate which of 16 gray levels the pixel assumes in the final image might be modified to store five bits for each pixel, with the most significant bit for each pixel defining which of two states (black or white) the pixel assumes in a monochrome intermediate image. Obviously, more than one additional bit may need to be stored for each pixel if the intermediate image is not monochrome, or if more than one intermediate image is used.

(21) Alternatively, the different image transitions can be encoded into different waveform modes based upon a transition state map. For example, waveform Mode A would take a pixel through a transition that had a white state in the intermediate image, while waveform Mode B would take a pixel through a transition that had a black state in the intermediate image. Since each individual transition in waveform Mode A and waveform Mode B is the same, but simply delayed by the length of their respective first pulse, the same outcome may be achieved using a single waveform. Here the second update (global update in previous paragraph) is delayed by the length of the first waveform pulse. Then Image 2 is loaded into the image buffer and commanded with a global update using the same waveform. The same freedom with rectangular regions is necessary.

(22) Another option is to use a controller architecture having separate final and initial image buffers (which are loaded alternately with successive images) with an additional memory space for optional state information. These feed a pipelined operator that can perform a variety of operations on every pixel while considering each pixel's nearest neighbors' initial, final and additional states, and the impact on the pixel under consideration. The operator calculates the waveform table index for each pixel and stores this in a separate memory location, and optionally alters the saved state information for the pixel. Alternatively, a memory format may be used whereby all of the memory buffers are joined into a single large word for each pixel. This provides a reduction in the number of reads from different memory locations for every pixel. Additionally a 32-bit word is proposed with a frame count timestamp field to allow arbitrary entrance into the waveform lookup table for any pixel (per-pixel-pipelining). Finally a pipelined structure for the operator is proposed in which three image rows are loaded into fast access registers to allow efficient shifting of data to the operator structure.

(23) The frame count timestamp and mode fields can be used to create a unique designator into a mode's lookup table to provide the illusion of a per-pixel pipeline. These two fields allow each pixel to be assigned to one of 15 waveform modes (allowing one mode state to indicate no action on the selected pixel) and one of 8196 frames (currently well beyond the number of frames needed to update the display). The price of this added flexibility achieved by expanding the waveform index from 16-bits, as in prior art controller designs, to 32-bits, is display scan speed. In a 32-bit system twice as many bits for every pixel must be read from memory, and controllers have a limited memory bandwidth (rate at which data can be read from memory). This limits the rate at which a panel can be scanned, since the entire waveform table index (now comprised of 32-bit words for each pixel) must be read for each and every scan frame.

(24) A memory and controller architecture which meets this requirement reserves a (region) bit in image buffer memory to designate any pixel for inclusion in a region. The region bit is used as a “gatekeeper” for modification of the update buffer and assignment of a lookup table number. The region bit may in fact comprise multiple bits which can be used to indicate separate, concurrently updateable, arbitrarily shaped regions that can be assigned different waveform modes, thus allowing arbitrary regions to be selected without creation of a new waveform mode.

(25) Of course, the above description of the use of alternate paired instruction sets for removing blooming along the edges of an image in a device incorporating partial updates can be expanded to account for other factors that may influence blooming performance, such as prior state information (gray scale, color, dither), device temperature, device age, front light illumination intensity or spectrum. It is known that some electro-optic media display a memory effect and with such media it is desirable, when generating the output signal, to take into account not only the initial state of each pixel but also (at least) the first prior state of the same pixel, in which case alternative state instructions become a look-up table will be multi-dimensional. In some cases, it may be desirable to take into account more than one prior state of each pixel, thus resulting in a look-up table having three, four, five, six, or seven dimensions or more.

(26) From a formal mathematical point of view, implementation of such methods may be regarded as comprising an algorithm that, given information about the initial, final and (optionally) prior states of an electro-optic pixel, as well as information about the physical state of the display (e. g., temperature and total operating time), will produce a function V(t) which can be applied to the pixel to effect a transition to the desired final state. From this formal point of view, the controller of the present invention may be regarded as essentially a physical embodiment of this algorithm, the controller serving as an interface between a device wishing to display information and an electro-optic display.

(27) Ignoring the physical state information for the moment, the algorithm is, in accordance with the present invention, encoded in the form of a look-up table or transition matrix. This matrix will have one dimension each for the desired final state, and for each of the other states (initial and any prior states) are used in the calculation. The elements of the matrix will contain a function V(t) that is to be applied to the electro-optic medium. In the alternate paired instruction set method, each V(t) may have an alternate V(t) that accounts for, e.g., prior states or temperature, but allows the controller to effectively update neighboring pixels to maintain the correct optical state which avoiding unwanted blooming.

(28) The elements of the look-up table or transition matrix may have a variety of forms. In some cases, each element may comprise a single number. For example, an electro-optic display may use a high precision voltage modulated driver circuit capable of outputting numerous different voltages both above and below a reference voltage, and simply apply the required voltage to a pixel for a standard, predetermined period. In such a case, each entry in the look-up table could simply have the form of a signed integer specifying which voltage is to be applied to a given pixel. In other cases, each element may comprise a series of numbers relating to different portions of a waveform. For example, there are described below embodiments of the invention which use single- or double-prepulse waveforms, and specifying such a waveform necessarily requires several numbers relating to different portions of the waveform. Alternatively, pulse length modulation may be implemented by using a predetermined voltage to a pixel during selected ones of a plurality of sub-scan periods during a complete scan. In such an embodiment, the elements of the transition matrix may have the form of a series of bits specifying whether or not the predetermined voltage is to be applied during each sub-scan period of the relevant transition.

(29) 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.