High Quality Image Updates in Bi-Stable Displays
20170236473 · 2017-08-17
Inventors
Cpc classification
G09G2300/08
PHYSICS
G09G2310/08
PHYSICS
G09G2340/16
PHYSICS
International classification
Abstract
A bi-stable electronic display driving technique drives an image refresh on a bi-stable electronic display, such as an electrophoretic display, using a driving integrated circuit with a single and limited in size image buffer, in a manner that does not require a simultaneous blanking or erasing of the display and in a manner that operates to drive the pixel elements of the display to their final value associated with the new image more quickly during an image refresh cycle. This technique results in an image refresh that is of higher quality and that is more pleasing to the eye while still using a driving integrated circuit with limited memory and processing power.
Claims
1. An electronic display device, comprising: a processor; a computer readable memory coupled to the processor; a bi-stable electronic display having a set of pixels defining an image area; and a driving integrated circuit coupled between the processor and the bi-stable electronic display to drive the bi-stable electronic display, the driving integrated circuit including a frame buffer memory having a memory location for each of the set of pixels of the bi-stable electronic display, a look-up table, and a controller which is coupled to the processor; wherein the computer readable memory stores instructions that, when executed on the processor, causes the processor to compare, on a pixel-by-pixel basis, pixel values for a previously displayed image displayed on the bi-stable electronic display and pixel values for a new image to be displayed on the bi-stable electronic display to produce a difference matrix; wherein the look-up table stores information defining a set of recipes, each recipe adapted to be used by the driving integrated circuit to drive a pixel of the bi-stable electronic display from a first image level to a second image level during a refresh cycle of the bi-stable electronic display; and wherein the controller operates during a refresh cycle of the bi-stable electronic display to store, in the frame buffer memory, a set of pointers developed from the difference matrix, wherein the pointer at each different memory location of the frame buffer memory points to one of a set of memory locations in the look-up table to define a recipe to be used during the frame refresh cycle to change a pixel from a first image level to a second image levels associated with the new image.
2. The electronic display device of claim 1, wherein the difference matrix defines an image level pair for each of the set of pixels, with an image level pair defined for each element of the difference matrix, each image level pair including a first image level associated with a previously displayed image and a second image level associated the new image, and wherein the controller stores, in the frame buffer memory, a pointer to an address of the look-up table at each location of the frame buffer memory based on the image level pair of an associated element of the difference matrix.
3. The electronic display device of claim 2, wherein the processor converts an image level pair for each of the elements of the difference matrix to a number that uniquely identifies an image level pair as one of a possible set of image level pairs, and wherein the controller stores the numbers for the different elements of the difference matrix in the frame buffer memory as pointers to addresses of the look-up table.
4. The electronic display device of claim 2, wherein the controller stores an image level pair at each location of the frame buffer memory as a pointer to an address in the look-up table.
5. The electronic display device of claim 1, wherein the bi-stable electronic display include an electronic switch at each of the set of pixels, the electronic switches operable to provide one of a set of different voltages at the each of the set of pixels at a given time, wherein each recipe defines a set of voltages to be applied at a pixel in sequence during a refresh cycle by the electronic switch at the pixel, wherein the driving integrated circuit includes one or more drivers coupled to the electronic switches and a timing controller that controls the operation of the one or more drivers to cause voltages as defined by the recipes to be applied in sequence at the pixels by the electronic switches during a refresh cycle.
6. The electronic display device of claim 1, wherein the bi-stable electronic display is an electrophoretic display.
7. The electronic display device of claim 1, wherein the bi-stable electronic display includes a set of pixels that can each be driven to four or more gray level image values.
8. The electronic display device of claim 1, wherein the bi-stable electronic display includes a set of pixels that can each be driven to different ones of a multiplicity of color image values.
9. The electronic display device of claim 1, wherein the bi-stable electronic display includes a set of pixels that each includes a first image component and a second image component, wherein each of the first image component and the second image component can be driven separately to different image levels.
10. The electronic display device of claim 9, wherein the first image component is a black/white image component that can be driven to any of a plurality of gray level image values and wherein the second image component is a color image component that can be driven to any of a multiplicity of color image values.
11. The electronic display device of claim 9, wherein the processor executes to define a first difference matrix for driving changes in the first image components and to define a second difference matrix for driving changes in the second image components.
12. The electronic display device of claim 9, wherein the look-up table stores a first set of recipes for driving the first image components of the electronic display and stores a second set of recipes for driving the second image components of the electronic display.
13. The electronic display device of claim 1, wherein the processor operates to perform the pixel comparison to produce two or more difference matrixes to be used during a particular refresh cycle, and wherein the controller stores, in the frame buffer memory, a different set of pointers to the look-up table, during the particular refresh cycle, wherein the different sets of pointers are based on different ones of the two or more difference matrixes.
14. The electronic display device of claim 13, wherein the processor operates to produce a first difference matrix by performing a first pixel comparison to transition each pixel value of a current image to one of a set of intermediate pixel values and the processor operates to produce a second difference matrix by performing a second pixel comparison to transition each pixel value from one of a set of intermediate pixel values to a new image value.
15. The electronic display device of claim 14, wherein the processor operates to produce a third difference matrix by performing a third pixel comparison to transition each pixel value from one of a first set of intermediate pixels values to one of a second set of intermediate pixel values.
16. The electronic display device of claim 1, wherein the processor operates to select a recipe for each of the set of pixels based on a corresponding element of the difference matrix, wherein each selected recipe is a set of two or more recipe fragments, wherein the look-up table stores information defining the set of recipe fragments, and wherein the controller stores, in the frame buffer memory, for a particular image pixel, a pointer to a first location in the look-up table defining a first recipe fragment of the set of recipe fragments for use during a first phase of the refresh cycle and stores, in the frame buffer memory, for the particular image pixel, a pointer to a second location in the look-up table defining a second recipe fragment of the set of recipe fragments for use during a second phase of the refresh cycle.
17. The electronic display device of claim 1, wherein the processor operates to compare, on a pixel-by-pixel basis, pixel values for a multiplicity of previously displayed images displayed on the bi-stable electronic display with a pixel value for a new image to be displayed on the bi-stable electronic display to produce the difference matrix.
18. The electronic display device of claim 17, wherein the multiplicity of previously displayed images includes the currently displayed image and an image displayed on the image display at some time prior to the currently displayed image.
19. The electronic display device of claim 1, wherein the processor operates to create the difference matrix so that each element of the difference matrix defines a particular recipe to be used to drive an image pixel from a first image level associated the currently displayed image to the second image level associated with the new image.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0015]
[0016]
DETAILED DESCRIPTION
[0017]
[0018] Of course, the microprocessor 10 of
[0019] As indicated in
[0020] As noted above, driving ICs which only have a single frame buffer, such as the driving IC 14 of
[0021] A new driving methodology described herein performs the old/new image comparison computations directly, on a pixel-by-pixel basis, in the CPU 10 (instead of on the driving IC 14). In one case, the CPU 10 performs the comparison to identify a difference between the current pixel value or gray level of a pixel (i.e., associated with the current or old image) and the new pixel value or gray level of the same pixel (i.e., associated with the new image to be written to the display 18) to produce an identifier that identifies one of a finite set of gray level pairs (old to new). A different recipe may be used for each such identifier or possible pair. The CPU 10 performs this comparison for each pixel in the image to produce a difference matrix that has an element associated with each pixel in the image. The results of the comparison are then used to create pointers that are stored into the frame image buffer 28 on the driving IC 14 while the recipes are stored in the look-up table 30 on the driving IC 14. If desired, pointers to the recipes may instead be stored in the look-up table 30 that point to a position in RAM 12 that stores the recipe itself. Thereafter, during the image refresh cycle, the controller 24 may simply use the recipe, as stored in the look-up table 30, that is defined or identified for a pixel within the image frame buffer 28 for each pixel, to thereby control the source driver circuit 40 to provide the appropriate voltage level to the source electrodes of the transistors of the pixels elements in the display 18. In this manner, the part of the computational power needed to perform the pixel-by-pixel comparison is performed in the CPU 10 (instead of on the driving IC 14) which reduces the processing power requirement of the controller 24. However, as this comparison only needs to be performed once per image refresh, or at most a limited number of times during an image refresh cycle, this computation does not put any or much additional requirements on the CPU 10 over and above those that the CPU 10 already must satisfy, as this comparison step is not very sensitive to the display 18 timing schedule associated with the frame scans. Moreover, the CPU 10 may convert the elements of the difference matrix into pointers to (e.g., addresses of) the look-up table 30 to define for the controller 24 which recipe to use to update each pixel in the image during a particular refresh cycle.
[0022] More particularly, during operation, the CPU 10 compares the current image or pixel value at each pixel of the display 18 to the new image or pixel value at each pixel of the display, and creates a difference chart (matrix) that defines the gray level changes between the old image and the new image. In one case, in which there are 16 gray levels, the differences may be written as a two-byte value pointing to an address within the look-up table 30, with the first bite being a row of the look-up table 40 and the second byte being a column of the look-up table 30. These addresses may then be written to the frame buffer memory 28 for use in defining how each pixel element associated with each location of the frame buffer memory 28 is to be changed or driven during a particular refresh cycle. Here, the first byte indicates the old image gray level value, and the second byte indicates the new image gray level value. Of course, the look-up table memory location defined by any particular image frame buffer value stores a recipe (or a pointer to a recipe) to be used to drive the pixel element associated with the image frame buffer location from the old gray level to the new gray level during the successive frame scans of an image refresh cycle. In this manner, the image frame buffer 28 may store a pointer to a look-up table address value (wherein each address value combines a row pointer, which may be indicative of the old gray level value, with a column pointer, which may be indicative of the new gray level value), and the pointer may point to, or identify a recipe stored in the look-up table 30 that defines how to set the voltages of a pixel element transistor during each of the frame scans of an image refresh cycle to go between those two levels. In another case, the CPU 10 may encode each identified pair (old pixel value/new pixel value) as a unique number or identifier (e.g., 0-255 for a system having 16 gray levels) and store the unique identifier in the frame memory or image frame buffer 28. This unique identifier will then point to a particular location or address within the look-up table 30 at which the recipe for this old/new gray level pair will be stored. This encoding step may limit or reduce the memory size that is needed for each location of the frame buffer 28. In any event, this image refresh operation allows the controller 24 to drive the display 18 from the current pixel values (associated with a current or old image) directly to the new pixel values (associated with a new image to be written to the display 18) without having to go through an erase or a blanking state first. This operation thereby makes for a smoother transition in the display, as well as provides for a faster image refresh.
[0023]
[0024] Using this methodology, the driving IC 14 can store, within the image frame buffer 28, a single value during the entire image refresh cycle, which value points to a single recipe that defines the voltage sequence to be provided to the source electrode input of the transistor for that pixel during each frame scan of the image refresh cycle. This feature, in turn, uniquely drives a pixel in the display from an old pixel gray level to a new pixel gray level, without necessarily driving all of the pixel values to an erase state first. This methodology thus enables a full image update without the use of an erase phase (wherein each of the pixels is simultaneously at an erase state). This methodology also enables the use of a driving IC with a single image frame buffer to refresh an EPD in a manner that appears cleaner (with no or less blanking), and in a manner that is faster, while also off-loading some processing power to the CPU (i.e., away from the driving IC controller).
[0025] As will be understood, this methodology requires an image frame buffer that is able to store a byte sized (8-bits) pointer to the look-up table 30, in a display system that uses 16 gray levels. Thus, in this case, the image frame buffer 28 needs to have a byte worth of storage for each pixel of the display 18. Moreover, this system requires a look-up table 30 that can store a number of recipes equal the square of number of gray levels. However, in many cases, the driving IC 14 may not include a frame buffer or a look-up table that includes that much memory space. It is, however, possible to reduce size of the image frame buffer 28 and the size of the look-up table 30 (to, for example, less than a byte for a 16 gray level display) by driving each pixel of the display to a new value in various phases, such as in two phases, three phases, etc. In this case, the CPU 10 may define a new difference value for each pixel in the display at each phase and may reload a new look-up table pointer in the image frame buffer 28 and a new set of recipes into the look-up table 30 at the beginning of each phase. In another case, the different sets of recipes for each phase of a refresh cycle may be stored in separate or separately addressable look-up tables or look-up table sections on the driving IC 14, for example, to reduce the need to reload a particular look-up table during the refresh cycle. In this case, the separate or separately addressable look-up tables on the driving IC 14 are considered to be “a look-up table” as used herein. Here, the frame buffer memory 28 may be reloaded with new pointers (to a new look-up table section) for each phase, or may use the same pointers, but the controller 26 may access the recipes from a different look-up table or look-up table section during each different phase. This latter technique reduces the need to reload the frame buffer memory 28 during a particular refresh cycle having multiple phases. For example, the CPU 10 may, at a first phase, develop a comparison chart or difference matrix (and define an associated set of recipes) that drives the pixel values from the old image to one of a limited number of intermediate gray levels, for example, to one of four intermediate gray levels of the 16 possible gray levels. Then, during the next phase, the CPU 10 may develop a new comparison chart or difference matrix (and an associated set of recipes) associated with driving the values of each of the pixel elements from one of the limited number of intermediate of gray levels to any of the possible final gray levels and may store these pointers and recipes in the image frame buffer 28 and the look-up table 30, respectively. While this methodology will result in a slower image refresh, as long it uses two or more phases, this methodology does not result in a simultaneous blanking or erase of the display (as the pixels of the display will still take one of two, four, eight, etc., intermediate levels in a pseudo-random manner, at the end of the first phase). However this methodology will reduce the memory size needed for both the image frame buffer 28 and the look-up table 30 by reducing the number of possible transition pairs used at each phase (and thus the size of the identifier needed to be stored in the image frame buffer 28 and the number or recipes needed to be stored in the look-up table 30).
[0026] Still further, this multi-phase methodology can be extended to any number of phases and to any number of intermediate gray levels. Thus, for example, an image pixel can be driven from an old image value to a new image value by being driven, during a first phase, from its current value to one of a limited number of intermediate gray levels, being driven, during a second phase, from one of the limited number of intermediate gray levels to another of a set of intermediate gray levels, and being driven, in a third phase, from one of the another set of intermediate gray levels to any of the possible final gray level values. Here, each subsequent intermediate gray-level value through which a pixel element passes will presumably be closer to the final gray-level value for that pixel. In any case, in each of these situations, each of the pixel values of the image does not reach an erase state simultaneously, and thus presents a more crisp or cleaner display update. Moreover, if desired, the CPU 10 may compute a separate difference matrix to define the pixel transitions in each phase and the controller 24 may store new pointers in the frame buffer memory 28 and may store new recipes (if desired) in the look-up table during each phase.
[0027] In a still further case, the CPU 10 may perform a comparison from the old gray level to the new gray level values to define a comparison chart such as that described above and illustrated in, for example,
[0028] In any event, using one or more of the techniques described above, EPD or other bi-stable display driver ICs can be used that combine gate, source and display controller features into one IC while including only a single image frame buffer and a single look-up table, with limited memory space. These techniques are particularly useful for devices with small form factors and for low cost products where IC size and component size is important. Moreover, these techniques are useful with driver ICs with only a single image frame buffer and only a limited amount of on-chip memory space, which are the types of ICs that are readily available using CMOS technology, which is a high-voltage technology needed for the gate drivers (and to a certain extent the source drivers) of the IC portion of the integrated component of EPDs, as the cost to add more complex functions in the IC that uses this high-voltage technology is higher and does not permit the use of a double image buffer.
[0029] It should be noted that, while the image driving technique described herein is described with reference to changing pixels of a bi-stable electronic display between different gray-level values (i.e., different gray-level image values), the technique could additionally or alternatively be used to drive a color bi-stable electronic display by changing pixels of such a bi-stable electronic display between different color values (i.e., different color level image values). Such different color image values could define different colors (e.g., a different combination of red, green and blue, for example) or could define different levels of a single color (e.g., different brightness or amount of blue, for example).
[0030] In some cases, each image pixel of a “color” bi-stable display may have separate image components (e.g., particles or media) that effect or control the gray level of a pixel (i.e., the black/white image value) and that effect or control one or more color levels of the pixel (e.g., red or blue or green). In these cases, a different recipe may be stored and used to drive each such image component of a pixel during a particular refresh cycle. That is, a first recipe may be used to drive the black/white image component of a pixel during a refresh cycle to drive the pixel from one gray level to another gray level and a second recipe may be used to drive a color image component (e.g. red) of the same pixel from one “red” level to a second “red” level. These recipes may be stored separately in the image look-up table 30 on the driving IC 14 and may have different pointers thereto stored in the image frame buffer 28 (also referred to herein as a frame buffer memory) during a particular refresh cycle. If desired, the different sets of recipes for different image components could be stored in separate look-up tables on the driving IC 14 or in the same look-up table that has separately addressable regions for these different types of recipes. In any case, the separate look-up tables may be considered “a look-up” table, as used herein. Likewise, the driving IC 14 may have a frame buffer 28 that has two or more memory locations for each pixel, with a pointer to the different sets of recipes (e.g., to a black/white recipe and to a color recipe) being stored in the different memory locations for each pixel. Of course, the frame buffer 28 may be divided into separate and distinct frame buffer sections that are separately addressable, but that make up a common “frame buffer memory” as used herein. In any event, in this case two different recipes may be used simultaneously during an image refresh cycle to drive the different image components of a single pixel. The CPU 10 may additionally compute or determine a separate difference matrix for each of the image components and may develop a separate set of recipe pointers for storage in the frame buffer memory 28 from each of these difference matrixes. Of course, any number of image or color components and separate set of recipes therefor could be used to control a color display, with any number of look-up table and frame buffer memory components being placed on the driving IC 14 to support the manipulation of these image or color components.
[0031] On the other hand, a single recipe may be stored for a pixel that effects or defines the manner in which the different image components of a color pixel may be driven. For example, a certain set of voltages may be used to drive a first image component (such as +15, 0, and −15 volts being used to drive the black/white image component to produce a gray level for the pixel) and a second set of voltages may be used to drive a second image component (such as +3, 0, and −3 volts being used to drive a color image component, such as red). In this case the same recipe may effect both image components of a pixel by varying between these different voltage levels at different times during a refresh cycle. If desired, a recipe may have different phases to be instituted at different times during an image refresh cycle, with a first phase used to define and drive movement of one of the image components (e.g., the black/white image component) and a second phase used to define and drive movement of a second one of the image components (e.g., the color image component, such as the red image component). In one particular example which uses different levels of voltages to drive the different image components, the recipe could have a first phase made up of a series of voltage levels to drive a black/white component (e.g., +15, 0, +15, −15, +15) and may have a second phase made up of a series of second voltage levels to drive a color component (e.g., −3, −3, +3, 0, +3). These first and second phases of the recipe may be instituted at different times of a refresh cycle.
[0032] Still further, while the description of the driving technique provided herein assumes that the difference matrix will be established by the processor 10 of
[0033] Although the forgoing text sets forth a detailed description of numerous different embodiments of the invention, it should be understood that the scope of the invention may be defined by the words of the claims set forth at the end of this patent and their equivalents. The detailed description is to be construed as exemplary only and does not describe every possible embodiment of the invention because describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention. Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present invention. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the invention.