Modulation scheme for driving digital display systems
09824619 ยท 2017-11-21
Assignee
Inventors
Cpc classification
G09G2360/08
PHYSICS
G09G2300/0465
PHYSICS
G09G3/2037
PHYSICS
G09G2310/0218
PHYSICS
G09G3/2014
PHYSICS
G09G3/002
PHYSICS
G09G2300/0804
PHYSICS
International classification
G09G3/20
PHYSICS
Abstract
A display device and modulation scheme for applying image data to an imager is disclosed. The display may use a modulation scheme wherein spacing of row write actions on the rows creates gray scale modulation, wherein one row spacing between sequential row write actions is at a first distance while another row spacing between sequential row write actions is at a distance greater than said first distance. The modulation scheme may create a series of write pointers that create a corresponding series of write planes. In some embodiments, modulation efficiency is increased allowing the use of lower frequency imaging circuits to achieve the same display image.
Claims
1. A method of modulating an array of pixels, wherein the array of pixels responds to changes in data on a pixel by changing a modulation of a light by said pixel responsive to said data, the method comprising: determining a row write sequence comprising a pattern of at least two virtual write pointers operative to point said data to a same number of rows on said array of pixels according to a time ordered sequence, wherein a first virtual write point in said row write sequence is separated from a second virtual write pointer in said row write sequence by a non-zero number of rows, and wherein each of said virtual write pointers points to a row of said array of pixels that is separate from other rows of said array of pixels that are pointed to by temporally adjacent virtual write pointers by a pre-determined number of rows; and applying said row write sequence comprising said pattern of at least two virtual write pointers to a set of rows, wherein said first virtual write pointer points data for a first row to said first row and said second virtual write pointer points data for a second row to said second row, continuing until all virtual write pointers in said row write sequence have pointed data for said remaining rows, if any, to said remaining rows, wherein all virtual write pointers of said row write sequence point said data to all rows comprising said set of rows within a time period equal to an interval of time beginning when data corresponding to a first modulation duration is written to a row and ending when data is next written to that same row to end that first modulation duration, and wherein all virtual write pointers progress from row to row on said display at a same velocity so that row spacings determined in said row write sequence are proportional to a modulation time required to achieve a desired modulation level on each pixel of each row.
2. The method of claim 1 wherein said row write sequence comprises a pattern of at least three virtual write pointers, wherein said first virtual write pointer points to a first row separated by a first, non-zero number of rows from a second row pointed to by said second virtual write pointer, and wherein said second row pointed to by said second virtual write pointer is separated from said third row pointed to by said third write pointer by a second non-zero number of rows, and wherein said first number of non-zero rows differs from said second number of non-zero rows.
3. A pulse width modulated array of pixels, wherein said array of pixels is divided into at least two sections, each comprising a plurality of rows wherein said array of pixels responds to changes in data on a pixel by changing a modulation of a light by said pixel responsive to said data, said array of pixels comprising: an array of pixels operative to receive data directed to a row by a virtual write pointer, wherein the row structure of said array of pixels comprises an addressable row scheme, operative to address rows individually; wherein said array of pixels receives data directed to rows of the array of pixels based on a pattern of virtual write pointers, wherein said pattern of virtual write pointers is operative to direct data to a first row in each section of said array of pixels according to a predetermined order of said sections; and wherein said pattern of virtual write pointers is operative to direct data to a second row in each section of said array of pixels according to said predetermined order of said sections; and wherein each said first row in a section is separated from each said second row in the same section by a number of rows comprising at least one row, and wherein said first virtual write pointer in each section is separated from said second virtual write pointer in that same section by a non-zero number of rows, and wherein each of said virtual write pointers points to a row within a section that is separate from a different row pointed to by a temporally adjacent write pointer within said same section by a pre-determined number of rows; and wherein in a second application of said data to said array of pixels, said pattern of virtual write pointers directs data to said at least two sections with at least one row offset from said earlier first row in each section, and wherein said pattern repeats said previously described row write actions within each said section with said at least one row offset, said offset being the same in all instances; and continuing until all write pointers have directed data to all rows of said array of pixels; wherein at least one row written with said data directed to that row by a first write pointer is subsequently written with data directed to that row by a write pointer at a different position in said pattern of virtual write pointers.
4. The array of pixels of claim 3 wherein said row write sequence comprises at least three virtual write pointers in each section, where said first virtual write pointer in each section points data to a first row separated by a first, non-zero number of rows from a second row to which data is pointed by said second virtual write pointer with each said section, and wherein said second row in each section pointed to by said second virtual write pointer within each section is separate from said third row pointed to by said third write pointer by a second, non-zero number of rows, and wherein said first number of non-zero rows differs from said second number of non-zero rows.
5. The array of pixels of claim 3 wherein said row write sequence comprises at least three virtual write pointers, where said first virtual write pointer points data to a first row separated by a first, non-zero number of rows from a second row to which data is pointed by said second virtual write pointer, and wherein said second row pointed to by said second virtual write pointer is separate from said third row pointed to by said third write pointer by a second, non-zero number of rows, and wherein said first number of non-zero rows differs from said second number of non-zero rows.
6. A pulse width modulated array of pixels comprising a plurality of rows wherein said array of pixels responds to changes in data on a pixel by changing a modulation of a light by said pixel responsive to said data, said array of pixels comprising: an array of pixels operative to receive data directed to a row by a virtual write pointer, wherein the row structure of said array of pixels comprises an addressable row scheme, operative to address rows individually; wherein said array of pixels receives data directed to rows of the array of pixels based on a pattern of virtual write pointers, wherein said pattern of virtual write pointers is operative to direct data to a first row of said array of pixels according to a predetermined order of said sections; and wherein said pattern of virtual write pointers is operative to direct data to a second row of said array of pixels according to said predetermined order of said sections; and wherein each said first row in a section is separated from each said second row in the same section by a number of rows comprising at least one row, and wherein said first virtual write pointer is separated from said second virtual write pointer by a non-zero number of rows, and wherein each of said virtual write pointers points to a row that is separate from a different row pointed to by a temporally adjacent write pointer by a pre-determined number of rows; and wherein in a second application of said data to said array of pixels, said pattern of virtual write pointers directs data to with at least one row offset from said earlier first row in each section, and wherein said pattern repeats said previously described row write actions with said at least one row offset, said offset being the same in all instances; and continuing until all write pointers have directed data to all rows of said array of pixels, and wherein at least one row written with said data pointed to that row by a first write pointer is subsequently written with data pointed to that row by a write pointer at a different position in said pattern of virtual write pointers.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
DETAILED DESCRIPTION OF THE INVENTION
(30) It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. It should be noted that, as used in the specification and the appended claims, the singular forms a, an and the include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to a material may include mixtures of materials, reference to a display may include multiple displays, and the like. References cited herein are hereby incorporated by reference in their entirety, except to the extent that they conflict with teachings explicitly set forth in this specification.
(31) In the following description we will make use of the term write pointer. A write pointer points to a row on the display which has a particular row spacing relationship to the rows below and above it which are also pointed to by write pointers. The locations of a set of write pointers are not fixed but rather move in a linear fashion according to a predetermined scheme. This movement of write pointers is essential to the creation of gray scale in images after the present invention. This first class of write pointers may be called virtual write pointers, but may be referred to without specific use of the term virtual. The distinction is clear to those skilled in the art. A second class of write pointers is referred to as physical write pointers. In one embodiment, the physical write pointer may service the virtual write pointers in turn. The terms row and row write actions as used herein are not limited to horizontal orientations and may be used to included lines at a variety of orientations, including vertical and those other than horizontal.
(32)
(33) The pixel electrode 150 may be formed from a highly reflective polished aluminum. In an LCD display panel in accordance with the present invention, a pixel electrode 150 is provided for each pixel in the display. For example, in an SXGA display system that requires an array of 1280.times.1024 pixels, there would be an individual pixel electrode 150 for each of the 1,310,720 pixels in the array. The transparent common electrode 140 is a uniform sheet of conductive glass may be made from Indium Tin-Oxide (ITO). A voltage (V.sub.ITO)) is applied to the common electrode 140 through common electrode terminal 142, and in conjunction with the voltage applied to each individual pixel electrode, determines the magnitude and polarity of the voltage across the liquid crystal layer 130 within each pixel cell 105 in the display 100. Depending on the root-mean-square (RMS) voltage that is applied across the liquid crystal layer 130 of each pixel cell 105, an incident light beam 160 that is directed at the pixel cell 105, passes through the transparent common electrode 140 and the direction of its polarization vector is changed by the liquid crystal material 130. Nematic liquid crystal devices may be thought of as variable optical retarders in that the degree of birefringence and rotation of incident polarized light varies as a function of the voltage applied across the liquid crystal cell. The incident light may be substantially linearly polarized and the reflected light may be more elliptically polarized with a substantial linearly polarized component at some angle relative to the incident polarized light. For purposes of the following discussion only the rotation effects are discussed with the understanding that the other effects still may be present. The degree of rotation is dependent on the RMS voltage applied across the liquid crystal. A voltage applied across the liquid crystal material 130 affects the degree to which the liquid crystal material will rotate incident polarized light and transmit light. For example, applying a certain voltage across the liquid crystal material 130 may only partially rotate the incident light to be reflected back through the liquid crystal material and the transparent common electrode 140.
(34) After passing through the liquid crystal material 130, the incident light beam 160 is reflected off of the pixel electrode 150 and back through the liquid crystal material 130. The intensity of an exiting light beam 162 is thus dependent on the degree of rotation imparted by the liquid crystal material 130, which is subsequently dependent on the voltage applied across the liquid crystal material 130.
(35) The storage element 110 may be formed from a CMOS transistor array in the form of an SRAM memory cell (i.e. a latch), but may also be formed from other known memory logic circuits. SRAM latches are well known in semiconductor design and manufacturing and provide the ability to store a data value, as long as power is applied to the circuit. Other control transistors may be incorporated into the memory chip as well.
(36) The physical size of a liquid crystal display panel utilizing pixel cells 105, is largely determined by the resolution capabilities of the device itself as well as industry standard image sizes. For instance, an SVGA system that requires a resolution of 800.times.600 pixels requires an array of storage elements 110 and a corresponding array of pixels electrodes 150 that are 800 long by 600 wide (i.e. 48,000 pixels). An SXGA display system that requires a resolution of 1280.times.1024 pixels, requires an array of storage elements 110 and a corresponding array of pixels electrodes 150 that are 1280 long by 1024 wide (i.e. 1,310,720 pixels). Various other display standards may be supported by a display in accordance with the present invention, including XGA (1024.times.768 pixels), UXGA (1600.times.1000 pixels), and high definition wide screen formats (2000.times.1000 pixels). Any combination of horizontal and vertical pixel resolutions is possible, the precise configuration being determined by industry applications and standards. Since the transparent common electrode 140 (ITO glass) is a single common electrode, its physical size will substantially match the total physical size of the pixel cell array with some margins to permit external electrical contact with the ITO and space for gaskets and a fill hole to permit the device to be sealed after it is filled with liquid crystal.
(37)
(38) A typical projection display system 20 utilizing liquid crystal display panels, is shown in
(39) A light source 42 directs white light, which contains each of the red, green, and blue components, at a first dichroic mirror 40. The red portion of the white light 48 is directed at the red LCD images 36, while the remaining green and blue portions of the white light are directed at a second dichroic mirror 38. The second dichroic mirror 38 separates the green and blue components of the remaining light and directed them at the green and blue LCD imagers 28 and 32 respectively. Each of the red, green, and blue LCD imagers reflects back the respective components of the white light according to the data they each received from the control unit 24.
(40) The three components are reassembled as an output image 50 and are projected through a lens 44 onto a display surface 46. The electronic circuits used to drive these types of LCD circuits are more fully described in U.S. Pat. No. 7,443,374, filed on Apr. 15, 2003, and U.S. Pat. No. 7,468,717, filed on Dec. 26, 2002, fully incorporated herein by reference for all purposes. Similar optical architectures exist which separate color temporally through the use of devices such as color wheels rather than physically through dichroic splitter plates.
(41)
(42) Following the row write sequence in
(43) As an example, if an imager system takes 0.41 microseconds (sec) to write each row in an imager that has 1000 rows, it will take:
1000 rows*0.41 sec/row=410 sec
to write every row of the imager once. Therefore, any individual element (pixel) on the imager can have its value changed no more often than once every 410 sec. The rate at which each row in the display is written is a variable depending on the speed of the underlying system and the limitations of the circuitry that drives the display (e.g., the number of pixels that can be written each clock cycle).
(44)
(45) The modulation scheme shown in
(46) Referring to
(47) Cycle 1write row 1
(48) Cycle 2write row 2
(49) Cycle 3write row 3
(50) .circle-solid.
(51) .circle-solid.
(52) .circle-solid.
(53) Cycle nwrite row N
(54) This sequence continues through each of the rows in the imager. Since this scheme utilizes only a single write pointer, it advances through the display with a speed of:
Single Row Write Time=# pixels in one row(pixels/row)/32(pixels/cycle)/imager frequency(cycles/sec)
where # of pixels in one row represents the horizontal pixel resolution of the imager, namely the number of pixels in a single row on the imager. The numerical value 32 represents the number of pixels that can be written to the imager in a single 32 bit clock cycle. Imager frequency represents the speed of the imager clock that is driving the system. For example, in an imager that has 1408 pixels per row, it would take 44 clock cycles to write data to the entire row. If the imager clock frequency were 100 MHz (100,000,000 cycles/sec or 1*10.sup.8 sec/cycle), it would take 44*10.sup.8 seconds to write one row. If the imager had 1050 rows, it would take 462*10.sup.6 seconds to write every pixel in the imager once through. Again, the above example assumes only a single write pointer.
(55)
(56)
(57) The time and distance representations between the different write pointers are referred to as write planes. The write plane in the two write pointer embodiment is closer together in distance than the one write pointer embodiment. If each of the write pointers are addressable with low overhead, a second, third, or more write pointers can be created. The optimal number of write pointers is described in more detail below.
(58) In
Two Write Pointer Write Time=# pixels in two rows(pixels/row)/32(pixels/cycle)/imager frequency(cycles/sec)
or:
Velocity(2 write pointers)=Velocity(1write pointer)/2
(59) Since the two write pointers are alternating writing their respective rows, twice as many pixels have to be written in order to complete writing a row in the display. From this embodiment, the above equation shows the relationship between the speed the write pointers move and the number of write pointers. Velocities may be in terms of rows per unit time. The velocity of course for the pointer depends on the clock because the clock determines how many pixels per clock can be written, which determines how long it takes to write a row.
(60) In the present embodiment, if there a number of virtual write pointers, each one of those write pointers may be serviced in sequence. The sequence is the spacing between write pointers is not completely uniform. The spacing between lower order write pointers is binary weighted or may be binary weighted. And the spacing between upper write pointers may be rather than being binary weighted, may be uniformly weighted as will be discussed herein.
(61) With two write pointers progressing through the display at the same time, a write plane is defined as the distance and time between the two write pointers. Each write pointer, and thus the intermediate write plane, in the embodiment of
(62) In
(63)
(64) The first write pointer 290 progresses through the display with a velocity defined by a rate slope 291, the second write pointer 292 progresses through the display with a velocity defined by a rate slope 293, and the third write pointer 294 progresses through the display with a velocity defined by a rate slope 295. In
(65)
Three Write Pointer Write Time=# pixels in three rows(pixels/row)/32(pixels/cycle)/imager frequency(cycles/sec)
or
Velocity.sub.(3 write pointers)=Velocity.sub.(1 write pointer)/3
(66) Since the three write pointers are alternating writing their respective rows, three times as many pixels have to be written in order to complete writing a row in the display.
(67) With three write pointers progressing through the display at the same time, there are three write planes defined, however, the display width of each of the write planes is not the same since the distance between each of the write pointers is defined by a binary weighted value. Each write pointer (and thus the intermediate write planes) in the embodiment of
(68) In
(69) The above embodiments can be extended to have a larger number of write pointers activated simultaneously. In accordance with the present invention, this technique has been extended in demonstration to up to 24 write pointers being simultaneously displayed. No specific limit on the number of write pointers exists. Rather the limit is established for a particular display resolution by the required bandwidth of the system and by the available memory within a particular instance of the controller system after this invention. The binary weighted distance between the various write pointers results in write planes that progress through the imager and update the data value of a given pixel row at a rate that is greater than that of a single write pointer, even though the velocity through the display of each write pointer in a multi-write pointer embodiment is slower than that of the single write pointer embodiment.
(70) This technique effectively turns time into a distance by virtualizing the write pointers, in order to create a large number of write pointers. Each of the virtual write pointers moves forward with the same velocity (relative to the other write pointers simultaneously displayed). This velocity is a fraction of the maximum velocity that a single write pointer can advance. Therefore, setting the distance between each of the virtual write pointers sets the amount of time that any pixel stores its last written data.
(71) It is noted that the maximum number of virtual write pointers simultaneously displayed on the imager is not necessarily the same as the number of total write pointers available to the system. This results in several different possible write pointer velocity/imager frequency combinations. For instance, if the clock rate and therefore the rate of each write plane is increased, and since the time for any single element to display a particular value for time (t) is the distance between the two adjacent write pointers, there are rates (R) where the distance between the two pointers may be greater than the number of elements or rows on the entire imager. As the imager input frequency increases, the programmed distance (in whole rows) may increase correspondingly in order to maintain the same LSB time. As this row distance between pointers increases, a point is reached where another currently displayed write pointer falls off of the screen and is not active on the imager.
(72)
(73) Referring to the embodiment of
(74)
(75)
(76)
(77) In the embodiment of
(78)
(79)
(80)
(81) Referring to
(82)
(83) Referring now to
(84)
(85) Although the invention has been described and illustrated in the above description and drawings, it is understood that this description is by example only and that numerous changes and modifications can be made by those skilled in the art without departing from the true spirit and scope of the invention. Each of the foregoing descriptions can be extended or merged with others without exceeding the scope of this invention. The use of row write spacing as a method of gray scale generation is the unique invention claimed. As a nonlimting example, a variety of different row spacings and weights may be used for gray scale generation. As another nonlimiting example, additional physical write pointers be used to service the virtual write pointers on the display. The use of more than one physical write pointer is anticipated in the descriptions below as being equivalent to the use of a single physical write pointer in all respects except for the aforementioned bandwidth. As another nonlimting example, a device using 256 write pointers, all equal to one lsb, may be used to create gray scale (although the device would be enormously inefficient of bandwidth).
(86) In some embodiments of the present invention, virtual write pointers progress across the screen at the same rate. In one mode of operation, each virtual write pointer is serviced by a physical write pointer in turn and then that virtual write pointer address is incremented or decremented to the row above or below it. The physical write pointer services the remaining virtual write pointers in sequence and then begins the writing again. In some instances there may be an intervening interval between the writing of the last virtual write pointer in sequence and the start of the next sequence of writings. Again, this is to insure that the velocity of the write pointers is constant and is a consequence of the fact that the number of virtual write pointers that are active on the display may vary as the associated bit weightings vary.
(87) In the drawings associated herein, a presumption is made that the virtual write pointers move down the display, such as indicated by arrow 408 in
(88) The servicing of virtual write pointers is assumed to be linear in the present discussions. It would be possible to service the virtual write pointers in a manner other than linear without deviating from the intention of this invention. Indeed, it may be possible to vary the write order slightly to create minor variations of less than one LSB in the gray scale values of the pixels in a given row. This would be in support of techniques such as error diffusion and the like used to reduce the visibility of gray scale contouring.
(89) In any of the embodiments above, it may be possible to incorporate more than one physical write pointer. As a nonlimiting example, the display may be divided into segments such as a top third, middle third, and bottom third. One physical write pointer may be used for writing rows in each section. In another nonlimiting example, the physical write pointers may be interleaved instead of being separated into different section. There may also be some combination of the two embodiments mentioned above where the write pointers may be interleaved in one section, but not interleaved in another section.
(90) Although not an efficient embodiment, if there is only one write pointer, it may be possible to write the entire display from top to bottom (or other orientation) and then come back and overwrite it again. In order to have different gray levels we would be rewriting the same data over the top of the thing and not changing some bits and changing others. This would be the least efficient arrangement. In addition, it should be noted that embodiments of the present invention may include a mix of binary and non-binary weightings or even one that is completely not binary. The present invention may be particular useful with microdisplays such as those available from eLcos of Sunnyvale, Calif.
(91) Expected variations or differences in the results are contemplated in accordance with the objects and practices of the present invention. It is intended, therefore, that the invention be defined by the scope of the claims which follow and that such claims be interpreted as broadly as is reasonable. The invention, therefore, is not to be restricted, except by the following claims and their equivalents.