Method and apparatus for displaying different shades of gray on a liquid crystal display

Abstract: A method and apparatus are disclosed which provide a means for both spatially and temporally resolving the on/off states of a two-state display device such as a liquid crystal display to provide apparent shades of gray. A particular feature of this method is that the cycling between on and off states is not performed in a discernible pattern. Rather, a pseudo-random pattern is utilized which repeats only after many cycles. Additionally, when the method disclosed herein is utilized, adjacent pixels, when selected to display the same shade of gray, do not cycle on and off in synchronization, but rather utilize out-of-phase cycling patterns. This spatial resolution reduces perceived flicker in the display and provides a more stable image. In one embodiment, eight shades of gray are provided. The shades are generated by cycling individual pixels such that when averaged over time, they are: always off; on 20% of the time; 33% of the time; 40% of the time; 60% of the time; 67% of the time; 80% of the time; or, on at all times.

Description: This invention relates to electronic display panels. More particularly, it relates to display panels comprising liquid crystals and similar display systems having picture elements ("pixels") which normally are selectable in only one of two possible states (e.g., "on" or "off"). Many different types of display panels or screens are used in electronic equipment. One particularly common type is the cathode ray tube (CRT) used in television receivers and many computer monitors. Other available display systems include those which employ incandescent filaments, light-emitting diodes ("LED's"), liquid crystal displays ("LCD's"), plasma display panels, and electroluminescent panels. CRT's are available in both monochrome and color versions. Inasmuch as many personal computers are equipped with color monitors, much software written for such computers is designed to make use of the color capabilities of the monitor. When such software is used on a system having only a monochrome monitor, it is customary to "translate" the colors into various "shades of gray". This term, however, does not necessarily imply that the display is colored gray. Many computer monitors employ green or amber phosphors and hence "shades of gray" actually denotes various intensity levels of those colors. On a CRT display, various shades of gray (or intensity levels) can be generated simply by varying the intensity of the electron beam impinging on the phosphors of the screen. As this may be accomplished in analog fashion, a virtual continuum of shades of gray is available. Similarly, the intensity of an incandescent filament can be varied by changing the current passing through the filament and drive circuitry is well known which permits the current to be a continuous variable. In contrast, other display systems employ essentially "two-state" screen dots, i.e., display elements whose intensity at an instant in time cannot normally be continuously varied, but rather are designed to be in one of two possible states e.g., "on" or "off"; "black" or "white", "light" or "dark"; "polarized" or "unpolarized"; etc. Plainly, such display systems are ideally suited for use with digital computers which operate using the binary number system. A liquid crystal display is an example of such a system. A problem arises in generating shades of gray on such display systems. Because such systems normally lack intermediate states, "translations" of color displays become difficult or impossible, and at least a portion of the information contained in a display intended for a color monitor is lost. It might seem that one solution to this problem would simply be to rapidly cycle the various screen dots on and off, varying the on time so as to produce different shades of grey. If the cycling were sufficiently rapid, the alternating character would not be perceived by the human eye. In practice, however, there are at least two problems with this approach. The first problem is that many two-state display systems, particularly LCD's, cannot be rapidly cycled. This may be due to constraints inherent in the drive circuitry and/or the intrinsic time constant of the display. For example, LCD'S function by aligning liquid crystal molecules in response to an applied electric field. This alignment takes time to accomplish, and the unalignment of the molecules when the electrical signal is removed or reversed also requires an appreciable time interval. The second problem arises when the repeat rate (the rate at which the screen display is refreshed) is relatively low, e.g., approximately 70Hz. The problem is that when an attempt is made to assign different shades of grey to adjacent screen dots using a fixed cycling scheme, a perceptible flicker often results. It is contemplated that this flicker is due to beat frequencies between the two "shades" EP-A-0193728 discloses a display control system providing a phase shift on display signals in order to prevent flicker of a generated image. According to the present invention, there is provided a display control system for producing an optical grey-scale image on an LCD device having an array of display elements each providing a first or a second optical state in response to a first or a second signal level respectively, the array of display elements having a plurality of rows and a plurality of columns, the system comprising: means for generating respective display signals for the display elements for producing a grey-scale image of a specified colour, the display signals comprising digital signals each having a pattern of bits respectively corresponding to the first or the second signal level, a predefined pattern cycle and a duty cycle related to the optical grey-scale of the image at the position of the respective display element, the pattern of bits of each one of the digital signals being repetitively generated, the means for generating display signals providing successive bits of the display signals for respective display elements in successive timeframes, in each timeframe one bit of each of the display signals being provided in sequence for consecutive display elements in each row from a first to a last display element of the row and for consecutive rows beginning at a first row and ending at a last row of the array; the system being characterised by: the generating means causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in a row each time a bit of a respective display signal is provided for the last display element of a row, and causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in the array each time a bit of a respective display signal is provided for the last display element of the last row of the array. According to the present invention there is also provided a method for driving an LCD device having a multiplicity of display elements each providing a first or a second optical state in response to a first or a second signal level, respectively, to produce an optical grey-scale image, the display elements being disposed in an array having a plurality of rows and a plurality of columns, the method comprising the steps of: generating respective display signals for the display elements for producing a grey-scale image of a specified colour, the display signals comprising digital signals each having a pattern of bits respectively corresponding to the first or the second signal level and having a predefined pattern cycle and a duty cycle related to the optical grey-scale of the image at the position of the respective display element, the pattern of this of each one of the digital signals being repetitively generated; providing successive bits of the display signals for the display elements in successive timeframes, in each timeframe one bit of each of the display signals being provided in sequence for consecutive display elements in each row from a first to a last display element of the row, and for consecutive rows beginning at a first row and ending at a last row of the array; the method characterised by the steps of: causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in a row each time a bit of a respective display signal is provided for the last display element of a row; and causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in the array each time a bit of a respective display signal is provided for the last display element of the last row of the array, whereby in successive timeframes adjacent display elements in each row of the array are provided with different sequences of the first and the second signal levels, and adjacent display elements in each column of the array are provided with different sequences of the first and the second signal levels. The method and apparatus of the present invention provides a means for both spatially and temporally resolving the on/off states of a two-state display device such as an LCD to provide apparent shades of grey. In one embodiment, eight shades of grey are provided. These shades are generated by cycling individual screen dots such that when averages over time, they are: always off; on 20% time; 33%of the time; 40% of the time; 60% of the time; 67% of the time; 80% of the time; or, on at all times. A feature of the invention is the fact that the cycling between on and off states is not performed in a discernible pattern. For example, the shade of grey corresponding to a screen dot being on 40% of the time can be achieved by selecting the screen dot to be on for 2 cycles out of every five. However, rather than employing a pattern which repeats every five cycles (such as 100101001010010100101001010010. . . . .), a pseudo-random pattern is utilized which repeats only after many cycles. An additional feature of the method of the present invention is that adjacent screen dots, when selected to display the same shade of gray, do not cycle on and off in synchronization, but rather utilize out-of-phase cycling patterns. This spatial resolution reduces perceived flicker in the display and provides a more stable image. Figure 1 shows a screen dot arrangement of an LCD panel in accordance with the invention. For convenience, the term "pixel" is used synonomously with "screen dot" except where indicated otherwise. The pixels are arranged to form a 640-column by 480-row display, which may be formed from two 640 × 240-pixel subpanels. The terms "row" and "line" are used interchangeably. Any given pixel is driven to simulate a shade of gray by driving it toward its ON state for a specified length of time, then by driving it toward its OFF state for another specified length of time. For convenience, the basic unit of time is referred to here as a "timeframe," which may be approximately 1/70th of a second. Flickering and "swimming" (an apparent instability of the picture on a display, somewhat akin to the visual image of a mirage in a desert) may be reduced in accordance with the invention by driving pixels to conform generally to two basic guidelines: (1) no two consecutive lines of pixels should display the same ON-OFF pattern, and (2) any given line of pixels should not display the same ON-OFF pattern in two consecutive timeframes. In other words, each pixel's on-off display should be modulated both in a temporal dimension and in a spatial dimension. These guidelines are illustrated in Figures 2 and 3. Assume that a 1 means that the pixel in question is ON and a 0 means the pixel is OFF. The configuration depicted in Figure 2 does not conform to the first guideline. Likewise, the configuration depicted in Figure 3 does not conform to the second guideline. Two terms are used herein for convenience. A "pattern cycle" is the repetitive period of a given pixel either in the time dimension (expressed in timeframes) or in a spatial dimension (expressed in pixels). A "duty cycle" is the number of timeframes or pixels within a pattern cycle in which the pixel is on, divided by the number of timeframes or pixels in the pattern cycle. In the time dimension, for example, a pixel that is ON for 3 timeframes and then OFF for 2 timeframes, in a repetitive time pattern, has a pattern cycle of 5 and a duty cycle of 3/5. Pixels in a 3/5 duty cycle are sometimes referred to herein as 3/5 pixels. Figure 4 depicts a table of specific duty cycles for achieving eight different shades of gray utilizing two pattern cycles, namely 3 and 5, with varying duty cycles. As noted above, to conform to the guidelines discussed above, each pixel should be modulated at a timeframe rate in both time and space. The pattern cycle of 3 is the simpler of the two cases; the set of all possible duty cycles to achieve this modulation in such a pattern cycle are 0/3, 1/3, 2/3, and 3/3. In the 0/3 and 3/3 duty cycles, the associated pixels are always off and always on, respectively. Consequently, only the other two duty cycles need be examined. In the spatial dimension, the other two patterns in the pattern cycle of 3 are the permutations of 001 (which is the 1/3 duty cycle) and the permutations of 110 (which is the 2/3 duty cycle). It will be noted that these two patterns are logical inversions of each other. Therefore, only an arbitrary one of them need be discussed; the other can be generated by inverting the other. The 1/3 duty cycle is discussed here. This duty cycle is implemented as shown in Figure 5. The basic pattern (001) is repeated throughout an entire line. A possibility that must be taken into account is that a run of pixels in a certain pattern will transcend a row, i.e., that a particular shade of gray, and its associated pixel pattern, will run past the end of one row into another row. This raises the possibility that two consecutive rows might share the same pixel pattern, and thus would not strictly conform to the above guidelines. This is not a danger for the 1/3 duty cycle: since a line in the illustrative embodiment consists of 640 pixels, and 640 is not an integral multiple of 3, an Nth line of pixels will not have the same pixel pattern as an N+1th line. More particularly, a pixel pattern that begins at pixel 0 of the Nth line will repeat beginning at pixel 639 of that line and will thus be continued at pixels 0 and 1 of the next line. Consequently, the first guideline is automatically satisfied at least as to those two lines. Note, however, that for any sequence of four or more lines 0 through 3 of the same shade of gray, lines 0 and 3 are identical. This means that each line is repeated at intervals of 3 (i.e., line 0 = line 3, line 1 = line 4, line 2 = line 5, etc.), meaning that a three-line pattern in the same shade of gray would repeat itself. Because 240 (the number of lines on each of the two subpanels in the illustrative embodiment) is an integral multiple of 3, it is possible that the entire screen pattern could be repeated from timeframe to timeframe. To prevent this, the pixel pattern is skewed or shifted between any two consecutive timeframes. For example, if line 0 begins with 001 in timeframe 1, it begins with 100 in timeframe 2 to avoid a repeating pattern from timeframe to timeframe. This is achieved by setting the pixel (0,0) during timeframe N+1 to be equal to the setting of the pixel (239, 639) during timeframe N. Once this is done, both guidelines are satisfied. A pattern cycle of 5 is implemented with two basic sequences, a 4/5 sequence and a 3/5 sequence, as shown in Figure 6. It will be noted that the 1/5 and 2/5 sequences are logical inversions of the 4/5 and 3/5 sequences, respectively. Thus, only the latter two will be discussed. The 640 pixels in a given row are divided into 16 sets of five groups of 8 pixels each (G1 through G5) as a matter of convenience (e.g., to make hardware implementation easier). When the five groups of either sequence are put together, it will be apparent that they do indeed average out to 4/5 on and 3/5 on, respectively. Since the groups (G1-G5) are each composed of eight bits, a horizontal line of 640 pixels will contain exactly 80 groups. Every line in a 3/5 or 4/5 sequence therefore contains one of the five possible arrangements shown in Figure 7. Regardless of which arrangement is used, the pattern will repeat line after line and timeframe after timeframe if left alone. This is because 5 divides evenly into both 640 (number of pixels per line) and 240 (number of lines per panel). Skewing prevents repetition of this pattern in a similar manner to that discussed above. Line-to-line skewing is achieved as follows. If a line I begins with Group N (e.g., G1 is group 1, G2 is group 2, etc.), then the next line I+1 should start with group N-1. If N-1 equals 0, then line I+1 should start with group 5. Timeframe to timeframe skewing is achieved as follows. If during a timeframe I, a given spatial pixel sequence begins with group N, then during the next timeframe I+1, that pixel sequence should start with group N+2. If N+2 is greater than 5, then during timeframe I+1 the pixel sequence should start with group 1. An example of how these two rules are utilized is shown in Figure 8. Figure 9 shows a representation of the upper left and lower right hand corners of an LCD display in each of the patterns 1/5, 2/5 and 1/3 between two successive timeframes. The duty cycles described above advantageously reduce flickering and swimming in other ways. For example, the frequency beating between pixels is reduced. Furthermore, the duty cycles reduce the chance of generating a net DC bias across a pixel (which could damage the pixel). Conventionally, screen displays are commonly classified as high resolution and low resolution. In high resolution, each pixel is typically composed of one screen dot; in low resolution, each pixel is composed of more than one dot, e.g., a 3X3 dot pattern. The greater number of dots per pixel in low resolution increases the available granularity of gray shading. In accordance with the invention, using a 2X2 dot pattern as a pixel allows cross-hatching in the conventional manner to produce 16 shades of gray instead of eight. For example, cross-hatching can be used in low resolution to produce a pixel that is darker than a 0 pixel but lighter than a 1/5 pixel. A similar operation can be used to obtain a gray shade between the 1/5 and 1/3 pixels. Figure 10 sets forth a table of duty cycles that may be used in generating 16 shades of gray. Also shown in Figure 10 is a quartered box representing a 4-dot pixel, each quarter representing a screen dot. In each quarter of the box, a number is shown that represents the duty cycle for that box for a particular shade of gray, in this case the shade designated by number 4 in Figure 10. A high-level diagram of apparatus capable of implementing the method of the invention is shown in Figure 11. A video controller 5, not part of the invention, outputs an 8-bit string that specifies which color (out of a possible 256) is desired for display. A schematic of an illustrative data generator system 8 is depicted in Figures 12 and 13. Two 4-bit shift registers 10 and 12 and corresponding AND gates 14 and 16 operate to generate and rotate the patterns in which screen dots are turned ON and OFF. The data generator system's normal mode of operation is to rotate the display pattern, with two exceptions. In the case of an end-of-line signal, shown in the Figure as scanline end, the system performs a hold or non-rotate operation, so that the next display pattern generated is the same as the last display pattern generated before the end-of-line signal. In the case of an end-of-screen signal, shown in the Figure as frame end (e.g., a vertical sync signal that in the illustrative embodiment occurs after 240 LCD lines), the data generator system self-loads with the proper bit values so that the pattern will be skewed from timeframe to timeframe. The 8 bit shift registers 18 and 20 in Figure 12 operate temporarily store the rotated or skewed patterns and send them, one bit at a time, to the 8:1 multiplexer 30 shown in Figure 13. The portion of the data generator system 8 shown in Figure 12 provide all of the shades that have a pattern cycle of 5 (i.e., 0, 1/5, 2/5, 3/5, 4/5, 5/5). The shades of gray that have a pattern cycle of three (1/3, 2/3) are provided by the circuitry shown in the top half of Figure 13. This configuration simply rotates the three bit pattern once every cycle. When vertical sync occurs, a hold or non-rotate is performed. The horizontal sync signal need not be considered in this case because line to line skewing is not necessary in the shades that have a pattern cycle of 3. When all 8 shades (0, 1/5 ... 4/5, 1) are available, they are passed on to the 8:1 multiplexer 30, as shown in Figure 12. The three control lines of the multiplexer then choose one of the eight shades of gray and send it to the LCD panel to be displayed. Even in low resolution mode, this shading only provides a maximum of 16 different shades. Therefore, the eight bit string will be used to determine which of the 16 cross-hatched shades is desired. Cross-hatching is actually performed within the low resolution generator. However, if high resolution is desired, then these four bits must pass through the low resolution generator and be further reduced to 3 bits (8 choices). Once this is done, these bits pass on to the multiplexer and one of the eight high resolution shades is chosen and sent to the LCD panel to be displayed. It will be recognized by those of ordinary skill having the benefit of this disclosure that the embodiments described here are presented for the purpose of illustrating, and not of limiting, the invention defined by the claims set forth below. For example, table 1 sets forth a computer program written in the BASICA language (Microsoft Corporation, Redmond, Washington) that permits a user to specify one of 8 shades for each of 8 horizontally-disposed regions, thereby to simulate screen output in those shades. Figure 14 contains a portion of the output of the BASIC simulation program listed in table 1. For the particular output listed, 7 timeframes were chosen, each having an output height of 7 lines. The output may be considered to be a depiction of a portion of an LCD screen (e.g., the first 80 pixels of the first 7 lines in the upper left corner of the pixel array). The 80 pixels shown are divided into 8 regions of 10 pixels each and a different shade is assigned to each region. For the output illustrated in Figure 14, Region 1 is assigned the shade 1/5; region 2 is assigned the shade 2/5; region 3 is assigned the shade 3/5; region 4 is assigned the shade 4/5; region 5 is assigned the shade 1/3; region 6 is assigned the shade 2/3; region 7 is assigned the shade 0/X (i.e., all pixels off at each timeframe); and region 8 is assigned the shade X/X (i.e., all pixels on at each timeframe). Figure 14 depicts a total of 7 timeframes. It will be noted that the pattern repeats every 5 timeframes. TABLE 1 1000 PRINT 1010 DIM AVG[80] 1020 GEN5[1,1]=0 1030 GEN5[1,2]=1 1040 GEN5[1,3]=1 1050 GEN5[1,4]=1 1060 GEN5[1,5]=1 1070 GEN5[2,1]=0 1080 GEN5[2,2]=1 1090 GEN5[2,3]=0 1100 GEN5[2,4]=1 1110 GEN5[2,5]=0 1120 GEN3[1]=0 1130 GEN3[2]=1 1140 GEN3[3]=1 1150 FSIZE = 14 1160 OVERWRITE =0 1170 MAXFRAMES = 70 1180 PRINTER =0 1190 FOR X= 1 TO 8 1200 CO(X)=X 1210 NEXT X 1220 CLS 1230 INPUT "Do you wish to change display parameters [y]";A$ 1240 IF A$ <> "y" AND A$ <> "Y" AND A$ <> ""THEN GOTO 1440 1250 IF A$="" THEN PRINT "y" 1260 PRINT 1270 INPUT "Enter frame height, no. of frames : ";FSIZE, MAXFRAMES 1280 FSIZE=FSIZE-1 1290 PRINT 1300 INPUT "Should frames be overwritten [y] : ";A$ 1310 IF A$="y" OR A$ ="Y" OR A$="" THEN OVERWRITE =1 1320 IF A$="" THEN PRINT "y" 1330 PRINT 1340 INPUT "Is there a printer to print the results [y]";A$ 1350 IF A$="y" OR A$="Y" OR A$="" THEN PRINTER =1 ELSE PRINTER =0 1360 IF A$="" THEN PRINT "y" 1370 PRINT 1380 PRINT "Please enter gray levels (1-8) to be displayed in regions 1-8" 1390 FOR X=1 TO 8 1400 PRINT" gray level of region ";X;" :"; 1410 INPUT CO(X) 1420 NEXT X 1430 REM 1440 REM starting main display loop 1450 REM 1460 SCREEN 1 1470 CLS 1480 FOR FRAME=1 TO MAXFRAMES 1490 FOR Y=0 TO FSIZE 1500 FOR X=0 TO 79 1510 REM 1520 REM determining pattern that next line should start with and storing it 1530 REM 1540 IF X <> 0 THEN 1680 1550 GEN5[1,0]=GEN5[1,5] : GEN5[2,0]=GEN5[2,5] 1560 FOR I=5 TO 1 STEP -1 1570 IF I=1 THEN J=0 ELSE J=I-1 1580 G1[I]=GEN5[1,J] 1590 G2[I]=GEN5[2,J] 1600 NEXT I 1610 IF Y <> 0 THEN GOTO 1690 1620 G1[0]=G1[5] : G2[0]=G2[5] 1630 FOR I=5 TO 1 STEP -1 1640 IF I=1 THEN J=0 ELSE J= I-1 1650 FG1[I]=G1[J] 1660 FG2[I]=G2[J] 1670 NEXT I 1680 REM 1690 REM 1700 REM setting 8-bit pattern in PI[] depending upon g-level and gen5[] 1710 REM 1720 GLEVEL=CO[(INT(X/10)+1)] 1730 IF (GLEVEL>4) OR (GLEVEL<1) THEN GOTO 1840 1740 IF (GLEVEL=4) OR (GLEVEL=1) THEN GENNUM = 1 ELSE GENNUM = 2 1750 PI[1]=GEN5[GENNUM,1] 1760 PI[2]=GEN5[GENNUM,4] 1770 PI[3]=GEN5[GENNUM,2] 1780 PI[4]=GEN5[GENNUM,5] 1790 PI[5]=GEN5[GENNUM,3] 1800 PI[6]=GEN5[GENNUM,1] 1810 PI[7]=GEN5[GENNUM,4] 1820 PON=PI[X+1-8*INT(X/8)] 1830 PI[8]=GEN5[GENNUM,2] 1840 CNT=CNT+1 1850 IF CNT <4 THEN GOTO 1950 1860 REM 1870 REM rotating gen3 1880 REM 1890 GEN3[0]=GEN3[1] 1900 FOR I=1 TO 3 1910 IF I=3 THEN J=0 ELSE J=I+1 1920 GEN3[I]=GEN3[J] 1930 NEXT I 1940 CNT=0 1950 REM 1960 REM setting square of six pixels on or off that simulate 1 pixel on Icd 1970 REM 1980 IF GLEVEL=8 THEN PON=1 ELSE IF GLEVEL=7 THEN PON=0 1990 IF (GLEVEL=5) OR (GLEVEL=6) THEN PON=GEN3[1+X-3*INT(X/3)] 2000 IF GLEVEL=1 OR GLEVEL=3 OR GLEVEL=5 THEN IF PON=1 THEN PON = 0 ELSE PON =1 2010 IF Y=0 THEN AVG[X]=PON+AVG[X] 2020 YC=2*(Y+FDISP) 2030 XC=3*X 2040 PSET(XC,YC),PON 2050 PSET(XC+1,YC),PON 2060 PSET(XC+1,YC+1),PON 2070 PSET(XC,YC+1),PON 2080 PSET(XC+2,YC),PON 2090 PSET(XC+2,YC+1),PON 2095 IF PON=1 THEN LPRINT CHR$(233);ELSE LPRINT CHR$(79); 2100 REM 2110 REM rotating gen 5(1&2) 2120 REM 2130 CNT8 = CNT8 +1 2140 IF CNT8<8 THEN GOTO 2220 2150 GEN5[1,0]=GEN5[1,1] : GEN5[2,0]=GEN5[2,1] 2160 FOR I=1 TO 5 2170 IF I=5 THEN J=0 ELSE J=I+1 2180 GEN5[1,I]=GEN5[1,J] 2190 GEN5[2,I]=GEN5[2,J] 2200 NEXT I 2210 CNT8=0 2220 NEXT X 2230 FOR L=1 TO 5 2240 GEN5[1,L]=G1[L] 2250 GEN5[2,L]=G2[L] 2260 NEXT L 2270 NEXT Y 2280 FDISP=FDISP+FSIZE+3 2290 IF OVERWRITE = 1 OR (FDISP+FSIZE)>90 THEN FDISP=0 2300 FOR L=1 TO 5 2310 GEN5[1,L]=FG1[L] 2320 GEN5[2,L]=FG2[L] 2330 NEXT L 2335 LPRINT 2340 NEXT FRAME 2350 SCREEN 2 2360 PRINT 2365 LPRINT CHR$(12) 2370 IF PRINTER=1 THEN LPRINT 2380 PRINT "starting pattern of gen5-1 :"; 2390 IF PRINTER=1 THEN LPRINT "starting pattern of gen5-1 :"; 2400 FOR X=1 TO 5 2410 PRINT GEN5[1,X]; 2420 IF PRINTER=1 THEN LPRINT GEN5[1,X]; 2430 NEXT X 2440 PRINT 2450 IF PRINTER=1 THEN LPRINT 2460 PRINT "starting pattern of gen5-2 :"; 2470 IF PRINTER=1 THEN LPRINT "starting pattern of gen5-2:"; 2480 FOR X=1 TO 5 2490 PRINT GEN5[2,X]; 2500 IF PRINTER=1 THEN LPRINT GEN5[2,X]; 2510 NEXT X 2520 PRINT 2530 IF PRINTER=1 THEN LPRINT 2540 PRINT 2550 IF PRINTER=1 THEN LPRINT 2560 PRINT "Following pixel-on time averages over ";MAXFRAMES;"frames" 2570 IF PRINTER=1 THEN LPRINT "Following pixel on time averages over ";MAXFRAMES;"frames" 2580 PRINT 2590 IF PRINTER=1 THEN LPRINT 2600 PRINT "pixel","color","avg. on" 2610 IF PRINTER=1 THEN LPRINT "pixel","color","avg. on" 2620 FOR X=0 TO 79 2630 PRINT X, CO[INT(X/10)+1],AVG[X]/MAXFRAMES 2640 IF PRINTER=1 THEN LPRINT X, CO[INT(X/10)+1],AVG[X]/MAXFRAMES 2650 NEXT X

Claims: A display control (8,18,20,30) system for producing an optical grey-scale image on an LCD device having an array of display elements each providing a first or a second optical state in response to a first or a second signal level respectively, the array of display elements having a plurality of rows and a plurality of columns, the system comprising: means (8,18,20) for generating respective display signals for the display elements for producing a grey-scale image of a specified colour, the display signals comprising digital signals each having a pattern of bits respectively corresponding to the first or the second signal level, a predefined pattern cycle and a duty cycle related to the optical grey-scale of the image at the position of the respective display element, the pattern of bits of each one of the digital signals being repetitively generated, the means for generating display signals providing successive bits of the display signals for respective display elements in successive timeframes, in each timeframe one bit of each of the display signals being provided in sequence for consecutive display elements in each row from a first to a last display element of the row and for consecutive rows beginning at a first row and ending at a last row of the array; the system being characterised by: the generating means causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in a row each time a bit of a respective display signal is provided for the last display element of a row, and causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in the array each time a bit of a respective display signal is provided for the last display element of the last row of the array. A display control system according to claim 1, wherein the means (8,18,20) for generating the display signals for the display elements includes: means (8) for concurrently generating a plurality of serial digital signals each having a pattern of bits respectively corresponding to the first or the second signal levels, a predefined pattern cycle and a different duty cycle; means (8) for generating the first and the second signal levels; display control means (8,20) for providing address data for sequentially addressing consecutive display elements in consecutive rows of the array in each timeframe from the first display element of the first row to the last display element of the last row, colour attribute data associated with each display element being addressed, an end-of-row signal when address data for addressing the last display element of a row is provided, and an end-of-frame signal when address data for addressing the last display element of the last row is provided; and display signal selection means (30) responsive to the address data and the colour attribute data for selecting the first or the second signal level, or a respective bit of one of the plurality of serial digital signals having a duty cycle related to the optical grey-scale of the image at the position of the display element being addressed, and wherein the means for generating the plurality of serial digital signals is responsive to the end-of-row signal for skewing by a predetermined number of bit positions each subsequently generated digital signal having a pattern cycle with a bit length which divides integrally into the number of display elements of a row, and is further responsive to the end-of-frame signal for skewing by a predetermined number of bit positions each subsequently generated digital signal having a pattern cycle with a bit length which divides integrally into total number of display elements of the array. A display control system according to claim 2, wherein the means (8,18,20) for generating a plurality of serial digital signals includes respective feedback shift register means (8,20) for generating each pair of serial digital signals having the same pattern cycle and complementary patterns of bits. A display control system according to claim 1, wherein the optical grey-scale image produced on the display device is composed of an array of pixels each consisting of a respective one of the display elements, the image having eight grey-scale levels and each one of the display signals having a pattern cycle of 3 or 5 and a duty cycle of ¹/₃ or ²/₃ or 1/5, 2/5, 3/5 or 4/5, respectively, or a duty cycle of 0 or 1, where the duty cycle of 0 corresponds to the first optical state and the duty cycle of 1 corresponds to the second optical state. A display control system according to claim 1, wherein the optical grey-scale image produced on the display device is composed of an array of pixels each consisting of a separate group of display elements in consecutive rows and consecutive columns, and a respective optical grey-scale level is obtained for each one of the pixels by cross-hatching of the display elements of the pixel by providing respective display signals therefor. A display control system according to claim 5, wherein each pixel of the optical grey-scale image produced on the display device consists of a respective group of four mutually adjacent display elements including two pairs of diagonally adjacent display elements, the image having sixteen grey-scale levels, each one of the display signals having a pattern cycle of 3 or 5 and a duty cycle of ¹/₃ or 2 /₃ or 1/5, 2/5, 3/5 or 4/5, respectively or a duty cycle of 0 or 1, the display control system generating a respective pair of display signals having the same duty cycle for each diagonally adjacent pair of display elements of a pixel, and the duty cycles of the respective pairs of display signals for the two diagonally adjacent pairs of display elements of each pixel being 0-0, 0-1/5, 1/5-1/5, 1/5-¹/₃ 1 /₃-¹/₃, ¹/₃-2/5, 2/5-2/5, ¹/₃-²/₃, 2/5-²/₃, 3/5-3/5 3/5-²/₃, ²/₃-²/₃, ²/₃-4/5, 4/5-4/5, 1-4/5 or 1-1, where the duty cycle of 0 corresponds to the first optical state and the duty cycle of 1 corresponds to the second optical state. A method for driving an LCD device having a multiplicity of display elements each providing a first or a second optical state in response to a first or a second signal level, respectively, to produce an optical grey-scale image, the display elements being disposed in an array having a plurality of rows and a plurality of columns, the method comprising the steps of: generating respective display signals for the display elements for producing a grey-scale image of a specified colour, the display signals comprising digital signals each having a pattern of bits respectively corresponding to the first or the second signal level and having a predefined pattern cycle and a duty cycle related to the optical grey-scale of the image at the position of the respective display element, the pattern of this of each one of the digital signals being repetitively generated; providing successive bits of the display signals for the display elements in successive timeframes, in each timeframe one bit of each of the display signals being provided in sequence for consecutive display elements in each row from a first to a last display element of the row, and for consecutive rows beginning at a first row and ending at a last row of the array; the method characterised by the steps of: causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in a row each time a bit of a respective display signal is provided for the last display element of a row; and causing a predetermined skewing of each subsequently generated display signal having a pattern cycle with a bit length which divides integrally into the total number of display elements in the array each time a bit of a respective display signal is provided for the last display element of the last row of the array, whereby in successive timeframes adjacent display elements in each row of the array are provided with different sequences of the first and the second signal levels, and adjacent display elements in each column of the array are provided with different sequences of the first and the second signal levels. A method for driving a display device according to claim 7, wherein the step of generating the first and the second signal levels, and concurrently generating a plurality of serial digital signals each having a pattern of bits respectively corresponding to the first or the second signal levels, a predefined pattern cycle, and a different duty cycle; and the step of providing successive bits of the display signals for the display elements in successive timeframes includes the steps of generating address data for sequentially addressing consecutive display elements in consecutive rows of the array in each timeframe from the first display element of the first row to the last display element of the last row, generating colour attribute data associated with each display element being addressed, generating an end-of-row signal when address data for addressing the last display element of a row is generated, generating an end-of-frame signal when address data for addressing the last display element of the last row is generated, and selecting the first or the second signal level, or a respective bit of one of the plurality of serial digital signals having a duty cycle representative of the optical grey-scale of the image at the position of the display element being addressed; and wherein each subsequently generated digital signal having a pattern cycle with a bit length which divides integrally into the number of display elements of a row is skewed by a predetermined number of bit positions each time the end-of-row signal is generated and each subsequently generated digital signal having a pattern cycle with a bit length which divides integrally into the total number of display elements of the array is skewed by a predetermined number of bit positions each time the end-of frame signal is generated. A method for driving a display device according to claim 7, wherein the optical grey-scale image produced on the display device is composed of an array of pixels each consisting of a respective one of the display elements, the image having eight grey-scale levels and each one of the display signals having a pattern cycle of 3 or 5 and a duty cycle of 1 or ¹/₃, or 1/5, 2/5 or 4/5, respectively, or a duty cycle of 0 or 1, where the duty cycle of 0 corresponds to the first optical state and the duty cycle of 1 corresponds to the second optical state. A method for driving a display device according to claim 7, wherein the topical grey-scale image produced on the display device is composed of an array of pixels each consisting of a separate group of display elements in consecutive rows and consecutive columns, and a respective grey-scale level is obtained for each one of the pixels by cross-hatching of the display elements of the pixel by providing respective display signals therefor. A method for driving a display device according to claim 10, wherein each pixel of the optical grey-scale image produced on the display device consists of a respective group of four mutually adjacent display elements, including two pairs of diagonally adjacent display elements, the image having sixteen grey-scale levels, each one of the display signals having a pattern cycle of 3 or 5 and a duty cycle of ¹/₃ or ²/₃, or 1/5, 2/5, 3/5 or 4/5, respectively, or a duty cycle or O or 1, the display control system generating a respective pair of display signals having the same duty cycle for each diagonally adjacent pair of display elements of a pixel, and the duty cycles of the respective pairs of display signals for the two diagonally adjacent pairs of display elements of each pixel being 0-0, 0-1/5, 1/5-1/5, 1/5-¹/₃, ¹/₃- 1 /₃, ¹/₃-2/5, ¹/₃-²/₃, 2/5-²/₃, 3/5-3/5 3/5-²/₃, ²/₃-²/₃-4/5, 4/5-4/5, 1-4/5 or 1-1, where the duty cycle of 0 corresponds to the first optical state and the duty cycle of 1 corresponds to the second optical state.

Inventors: GARRETT JAMES H, GARRETT, JAMES H.
Applicants: COMPAQ COMPUTER CORP, COMPAQ COMPUTER CORPORATION
Application year: 1989
Main classification: G09G3
IPC codes: H04N3, G09G3, G02F1