(19)
(11) EP 1 150 271 A2

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
31.10.2001 Bulletin 2001/44

(21) Application number: 01109767.2

(22) Date of filing: 20.04.2001
(51) International Patent Classification (IPC)7G09G 3/20, G09G 3/36
(84) Designated Contracting States:
AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR
Designated Extension States:
AL LT LV MK RO SI

(30) Priority: 28.04.2000 US 561321

(71) Applicant: EATON CORPORATION
Cleveland, Ohio 44114-2584 (US)

(72) Inventors:
  • Nash, Robert Audrow
    New Town, Ct. 06470 (US)
  • Latanzi, Lewis Anthony
    Roxbury, Ct. 06783 (US)
  • Walsh, Thomas Rocco
    Watertown, CT 06795 (US)

(74) Representative: Schwan - Schwan - Schorer 
Patentanwälte European Patent Attorneys Elfenstrasse 32
81739 München
81739 München (DE)

   


(54) LCD driver and method


(57) A method and a video data correction circuit (10) for adjusting an input video signal. The video data correction circuit (10) has a video data processor (16) receiving an input video signal and a present output luminance signal, and outputting an output video signal. The video data processor (16) determines a difference between a present input luminance data value and the present output luminance data value. If the difference indicates that the input luminance data is changing in a prescribed direction the video data processor adjusts the present output luminance data value by an adjustment function to determine a next output luminance data value.




Description

TECHNICAL FIELD



[0001] The present invention generally relates to driving a video display panel, such as a liquid crystal display, and more particularly to an apparatus and method for adjusting a video signal to reduce flicker generated by the display.

BACKGROUND ART



[0002] The display of video images on a viewable display screen, such as a liquid crystal display (LCD) panel, is known in the art. However, LCDs suffer from a disadvantage known as flicker. Flicker is a variation (drop or rise) in the average luminance across an LCD when the LCD displays a moving, but constant luminance, image. One particular cause of flicker is an asymmetry between the rise time and decay time of each pixel of the LCD. Viewing a display screen with flicker can cause considerable eye strain and fatigue. In applications where display resolution, contrast, response speed and viewer comfort is desirable, a flickering display is nearly unacceptable. An example of such an application is a display where an operator is required to pay close attention to the display for hours at a time without distraction.

[0003] Referring to FIGS. 1a-1c and 2, the phenomenon of flicker will be described in greater detail. For simplicity, the illustrated and described example is for a monochromatic display, but it is understood that multicolor displays operate in the same fashion. The example display is a normally white active matrix LCD (AMLCD). However, the same principle applies to most types of LCDs, including normally black LCDs.

[0004] FIG. 1a shows an image 200. For illustrative purposes, the image 200 is a black pixel or group of black pixels (i.e., fully dark pixels) displayed on at least a portion of a display 202 where the surrounding pixels are white (i.e., fully bright). The display 202 is being driven by a video signal instructing to display the image 200 at a particular location, or first location 204. The example image 200 illustrated in FIG. 1a corresponds to time t0 in FIG. 2.

[0005] As illustrated in FIGS. 1a-1c, the video signal instructs the display 202 to move the image 200 to a second location 206. The term move is used loosely, since the image 200 does not physically move. Rather, the video signal instructs the display 202 to make the pixels at the first location 204 fully bright and make the pixels at the second location 206 fully dark. Other examples of image movement include the scrolling of text or the movement of a cursor on a computer display, and an underwater object moving on a sonar display.

[0006] The video signal data for the pixels at the first location 204 is a step function rising from fully dark (zero percent luminance) to fully bright (100% luminance) in a single frame. Simultaneously, the video signal data for the pixels at the second location 206 is a step function decaying from fully bright to fully dark. Referring to FIG. 2, the actual LCD response to these inputs are illustrated. Curve 208 represents the response of a pixel(s) to the rising step function and curve 210 represents the response of a pixel(s) to the decaying step function. The responses are similar to that of a low pass filter; however, the low pass filter model is only a crude approximation. The actual LCD response is a function of the actual behavior and inertia of the liquid crystal in the display.

[0007] In the example LCD, the rising pixels will have a rise time tr with a duration longer than a decay time td of the decaying pixels. The rise time tr and decay time td for a specific display, and for a specific pixel of a specific display, will vary. However, rise times are typically in the range of 30 milliseconds (ms) to 60 ms and decay times are typically in the range of 8 ms to 20 ms. It is noted that depending on the specific display, the decay time td can be longer than the rise time tr. For instance, normally black panels often exhibit longer decay times. It should be apparent that longer decay times will still result in flicker as the display has asymmetrical rise and decay times.

[0008] FIG. 1b illustrates the image 200 at time t1 in FIG. 2 when the pixels at the first location 204 are still transitioning from fully dark to fully bright and when the pixels at the second location 206 are still transitioning from fully bright to fully dark. The lingering image at location 204 is referred to as an artifact.

[0009] Curve 212 in FIG. 2 represents the average luminance of the display for the first and second locations 204, 206. For a theoretical display, where rise and decay times are equal and the pixels rise and decay at the same rate, the average luminance of the display due to the described luminance of the first and second locations 204, 206, as one rises and one falls in luminance, will be constant. However, for an actual display, where rise time tr and decay time td are not equal and their rates of changes are not equal, the average luminance curve 212 is not constant. The exemplary average luminance curve 212 has a negative flicker component. This variation is perceptible to humans and detracts from the performance of the display. It is noted that the average luminance curve for LCDs where the decay time is longer than the rise time will have a positive flicker component. Positive flicker components are equally perceptible and also detract from the performance of the display.

[0010] FIG. 1c illustrates the image 200 at time t2 in FIG. 2 when the pixels at the first location 204 have transitioned to fully bright and when the pixels at the second location 206 have transitioned to fully dark.

[0011] Flicker can be exacerbated by several factors dependent on the incoming video signal. An example situation that causes increased perceptible flicker includes sequentially moving an image through a series of adjacent pixels such that each pixel in the series of pixels is transitioned from light to dark (or vice versa) and becomes a luminance producing artifact as the image moves. Another example situation is moving a relatively large or intricate image where the luminance of the artifacts in the aggregate results in a large flicker component.

[0012] One approach to reducing flicker can be found in European Patent Specification EP 0 951 007. This EP patent discloses using a subtractor to subtract a predicted present luminance from an incoming video signal. A processing block is used to derive first (ΔR) and second (ΔC) correction values from the output of the subtractor and the predicted present luminance. Briefly, ΔC is a correction value to be added to the predicted present luminance in order to reach a chosen luminance which is output to the display panel. ΔR is the predicted value with which the luminance will have changed after the next correction period when ΔC is added to the predicted present luminance, taking into account the parameters of the display screen. The correction values are based on first order low pass filter equations such that the video signal output to the display panel attempts to increase the actual display luminance in a manner to significantly match an inverted version of an uncorrected decaying curve. More specifically, the corrected response attempts to follow a series of exponential curves from one correction period to the next.

[0013] The method and apparatus disclosed in the foregoing EP patent suffer from at least two significant disadvantages. Predictions of the luminance at the end of each correction period are made and used in the computation of the next output value. The predictions will be different from the actual displayed luminance and, even after one correction period, an accumulation of error between the predicted luminance and the actual luminance will be present. The error can achieve significant levels where the correction becomes ineffective to prevent flicker.

[0014] The second disadvantage is maintaining good contrast between the image as it moves and partially illuminated adjacent pixels (e.g., 20% to 50% luminance) which serves as a second image or as a background image. The method and apparatus disclosed in the foregoing EP patent gradually increase the luminance of a pixel being made bright over the course of six or more correction periods. During such a graduated elevation in luminance, the target pixel will have a brightness similar to that of the partially illuminated adjacent pixels and may become indistinguishable from the adjacent pixels for a longer period of time than is desirable. The result is poor contrast and a potential loss of displayed information, especially if the target pixel moves again before the end of all the correction periods used to make the target pixel fully bright or fully dark.

[0015] At present, flickerless LCD panels having equal pixel rise and decay characteristics are not available. Therefore, there exists a need in the art for an LCD driver which adjusts the video signal to compensate for flicker.

SUMMARY OF THE INVENTION



[0016] According to one aspect of the invention, the invention is a video data correction circuit for adjusting an input video signal intended to be displayed on a display, the display having at least one pixel, the pixel having a luminance rise time and a luminance decay time, one of the rise time and decay time being longer than the other, the video data correction circuit having a video data processor having a first video data input, a second video data input and a video data output, the first video data input connected to receive an input video signal having a series of input luminance data values, the output providing an output video signal having a series of output luminance data values, the second input being connected to receive a present output luminance data value, and the video data processor determines a difference between a present input luminance data value and the present output luminance data value, if the difference indicates that the input luminance data is changing in a prescribed direction the video data processor adjusts the present output luminance data value by an adjustment function to determine a next output luminance data value.

[0017] According to another aspect of the invention, the invention is a method of adjusting an input video signal intended to be displayed on a display, the display having at least one pixel, the pixel having a luminance rise time and a luminance decay time, one of the rise time and the decay time being longer than the other, the method having the steps of deriving a difference between a value of a present input luminance data value and a value of a present output luminance data value; and adjusting the present output luminance data value by an adjustment function to determine a next output luminance data value when the difference indicates that the input luminance data is changing in a prescribed direction.

[0018] According to another aspect of the invention, the invention is a method of adjusting an input video signal intended to be displayed on a display, the display having at least one pixel, the pixel having a luminance rise time and a luminance decay time, one of the rise time and the decay time being longer than the other, the method having the steps of inputting a present input luminance data value into an addressable memory device; inputting a present output luminance data value into the addressable memory device; and outputting a next output luminance data value from one of a plurality of addresses of the addressable memory device, each address corresponding to the current input luminance data value and the current output luminance data value, and values of the next output luminance data value stored at each address being based on an adjustment of the present output luminance data by an adjustment function when a difference between the present input luminance data value and the present output luminance data value indicates that the input luminance data is changing in a prescribed direction.

BRIEF DESCRIPTION OF DRAWINGS



[0019] These and further features of the present invention will be apparent with reference to the following description and drawings, wherein:

FIGS. 1a-1c depict a moving image on a display that produces flicker;

FIG. 2 is a luminance versus time diagram for the display of FIG. 1;

FIG. 3 is a block diagram of a video data correction circuit according to the present invention;

FIG. 4 is a block diagram of a video data correction look up table;

FIG. 5 is a luminance versus time diagram of an LCD response to uncorrected video data;

FIG. 6 is an operating loop for the video data correction circuit; and

FIG. 7 is a luminance versus time diagram of an LCD response to corrected video data.


DISCLOSURE OF INVENTION



[0020] In the detailed description which follows, identical components have been given the same reference numerals, regardless of whether they are shown in different embodiments of the present invention. To illustrate the present invention in a clear and concise manner, the drawings may not necessarily be to scale and certain features may be shown in somewhat schematic form.

[0021] Referring to FIG. 3, a liquid crystal display (LCD) video data correction circuit 10 is illustrated. Briefly, the LCD video data correction circuit 10 acts as a discrete time recursive filter to minimize flicker which otherwise results from the fluid dynamics, or some other function or characteristic, of the liquid crystal in the LCD panel causing an asymmetry between the rise time and decay time and between the rise rate and decay rate of the each pixel of the LCD. The invention described herein will be discussed for a normally white active matrix LCD (AMLCD). However, one skilled in the art will immediately recognize that the video data correction circuit 10 can be adapted for use with other LCD panels, such as normally black LCDs, twisted nematic, cholesteric and smectic LCDs, encapsulated liquid crystal LCDs, network liquid crystal LCDs, etc. The video data correction circuit can also be used for non-LCD type displays, such as CRTs, electro-luminescent displays, plasma displays, etc.

[0022] An input video signal for display on an LCD 12 is received by an analog interface board 14. The input video signal is an analog signal which is converted to a 24 bit RGB digital video signal by the analog interface board 14. The digital video signal is output from the analog interface board 14 into a video data processor 16, such as a logic device implemented with hardware or software. In one embodiment, as will be discussed in greater detail below, the video data processor 16 is a dual port random access memory (RAM) 17 (FIG. 4) rather than a logic device. In either arrangement, the video data processor 16 acts to compensate for the non-linearity and fluid dynamics of the liquid crystal in the LCD 12.

[0023] The 24 bit digital video signal has 8 bits representing red, 8 bits representing green and 8 bits representing blue. As is known, controlling the luminance of adjacent red, green and blue pixels allows for the generating of color images. The invention described herein can also be used for monochromatic displays. The video data correction circuit 10 operates on each 8 bit grouping of each frame of the video signal simultaneously. However, to discuss the invention in a clear and concise manner, the discussion herein will be limited to discussing one series of 8 bit digital words which represent a series of frames of the video data signal for a selected pixel as the video data is processed by the video data correction circuit 10. As should be apparent, an 8 bit digital word has a decimal equivalent ranging from zero to 255. As used herein, digital video data having a decimal equivalent of zero represents a desired luminance (also referred to as transmittance depending on the type of LCD panel) of 0%, or fully dark. Digital video data having a decimal equivalent of 255 represents a desired luminance of 100%, or fully bright.

[0024] The video data processor 16 has a first input port 18 and a second input port 19. The incoming video signal is connected to the first port 18 of the video data processor 16 and the bits of data associated with the presently arriving frame is considered present input video data, or Xn.

[0025] The video data processor 16 is programmed with a process 20 to modify the present input data Xn to output an associated frame, or set of frames, referred to herein as present output video data, or Yn. The present output video data Yn is received by the LCD panel 12 via a personality module. The personality module is used to properly address the particular LCD panel being used. The present input data Xn is modified, or corrected, so that the present output data Yn drives, or refreshes, the LCD in a particular manner to reduce flicker. The process 20 used to modify the present input data Xn will be described in more detail below.

[0026] With additional reference to FIG. 5, the LCD response to an uncorrected video signal, or luminance data, is illustrated. As an example, the luminance data (curve 21) is a step function rising from decimal equivalent of zero, or fully dark, to a decimal equivalent of 255 (100% luminance), or fully bright, then decaying from the decimal equivalent of 255 back to zero. The LCD will respond (curve 22) to the increase in luminance data by transitioning from dark to light. However, due to the response characteristics of liquid crystals (described more fully above with respect to FIGS. 1a-1c and 2), the LCD pixel being instructed to become bright will transition to bright over a rise time, or tr. For example, the rise time tr can be about 30 milliseconds (ms) to about 60 ms. Similarly, as the luminance data (curve 21) transitions from 255 to zero, the LCD response will transition to dark over a decay time, or td. For example, the decay time td can be about 8 ms to about 20 ms. Since the rise time tr and the decay time td are not equal, the LCD panel will have a tendency to flicker. It is noted that the instantaneous slope of curve 22 during increasing luminance (i.e., rise rate) and during decreasing luminance (i.e., decay rate) are also not equal. Therefore, even if the rise time tr and the decay time td were equal, flicker could be present if the rise rate and decay rate were unequal.

[0027] Referring back to FIG. 3, the present output data Yn is also received by a frame buffer 24. The frame buffer 24 temporarily stores the most recent frame of the video data output from the video data processor 16. This data, which is Yn, is input into a buffer, such as a first- in/first-out (FIFO) buffer 26. The FIFO buffer 26 queues the present video output data Yn so that the present video output data Yn can be input to the video data processor 16 at the prompting of a programmable logic controller 28. As one skilled in the art will appreciate, the frame buffer 24 and FIFO buffer 26 can be combined into a single buffer or frame data storage device. The programmable logic 28 is a logic device which can be implemented in hardware, such as one or more complex programmable logic devices (CPLD) or a microprocessor, or in software. The programmable logic 28 communicates with the analog interface board 14 to receive synchronization signals, clocking signals and control signals. The programmable logic 28 controls the storage and retrieval of video data and effectively clocks the video data as the video data progresses through the components of the video data correction circuit 10.

[0028] The programmable logic 28 can also control the refresh rate of the luminance data output to the personality module and LCD 12 by selecting from different modes of operation. The modes include a frame locked mode, where the refresh rate of the present output data Yn directed to the display is locked at a steady rate matched to the incoming video signal frame rate (e.g., 60 Hz or a frame period of 17 ms). The frame locked mode is preferable when the content of the video signal is moving quickly, for example video data changing every frame or every few frames. In this situation the frame locked mode assists in displaying moving images that are temporally uniform (i.e., not jerky). The modes also include a free running mode, where the refresh rate is updated to be tuned with respect to the response of the LCD panel at a specified temperature. The free running mode is appropriate for slow moving images, for example video data changing over a number of frames such that a difference between the frame rate of the incoming video signal and refresh rate of the output luminance data to the LCD would be imperceptible to the viewer. In this situation, the free running mode assists in providing enhanced compensation against flicker. As an example, in the free running mode the LCD refresh rate may have three output refresh frames for each incoming video signal frame. The implementation of the foregoing modes is well known in the art and will consequently not be discussed in greater detail.

[0029] The video data correction circuit 10 has a processor 30 for calculating values to be used in the process 20, or for calculating values stored in a recursion matrix look up table 32 (FIG. 4) which is part of the RAM 17. A detailed discussion of the values to be calculated and the algorithms used to calculate the values is presented below. These values may be dependent on external factors, such as user selectable preferences. Some users are more tolerant of flicker than others. Also, flicker perception can depend on factors such as the user's viewing angle, ambient light and other environmental factors. Therefore, it is desirable to make video data corrections based on user preferences which take into account factors such as a the user's tolerance, height, seating habits and ambient light. Accordingly, the processor 30 receives data related to the external factors from an input device 34, such as a keyboard, switches, sensors, a microphone, a mouse, an interactive computer menu, a memory device or combination of devices making up the input device 34. The data can be in the form of actual predetermined values known to the user. Alternatively, the data may be selected by the user from a menu of values. In another embodiment, the user can simply instruct the processor 30 to increase or decrease flicker compensation and the processor will calculate the appropriate compensation values. In yet another embodiment, the user can enter information related to the foregoing flicker dependent factors and the processor 30 can calculate the appropriate compensation values. The processor 30 also may receive program instructions stored in the input device, or from some other source; an example of such program instructions is described below with respect to FIG. 6.

[0030] The processor 30 also compensates for temperature of the LCD. As is known, the performance of LCD panels, including the rise and decay times of each pixel, is dependent on the temperature of the pixels. Accordingly, the video data correction circuit 10 has a temperature sensor 36, such as a glass temperature sensor, for sensing the temperature of the display in at least one location on the display. Temperature information is provided to the processor 30 which updates the values calculated by the processor 30 based on the sensed temperature.

[0031] With additional reference to FIG. 6, a programmed operating loop of the processor 30 is illustrated. After starting up in step 40, the operating loop will determine if user preference information has been received from the input device 34 in step 42. If user preference information has been entered, the processor 30 will access the information and read the information into a memory in step 44. If user preference information has not been entered, a default user preference information will be stored in the memory or the last input user preference information stored will be retained in the memory. Next, the processor 30 determines the temperature of the display, or a temperature gradient across the display, from the information provided by the temperature sensor 36 in step 46. If the processor 30 has not yet calculated the values to be stored in the video data processor 16 as determined in step 48, the processor 30 will calculate the values based on the user preference information stored in the memory and the sensed temperature(s) (step 50). Once the values are calculated, the processor 30 will communicate the values to the video data processor 16. The video data processor 16 stores the values for operational use in memory addresses. After calculating and storing the values, the operating loop will repeat itself.

[0032] If, in step 48, it is determined that the values have already been calculated, the processor will determine whether a difference between the presently sensed temperature(s) and the temperature(s) sensed during a prior temperature measurement exceeds a predetermined threshold in step 52. If the threshold is not exceeded, the operating loop will repeat itself. If the threshold is exceeded, the processor will recalculate the values in step 50 using the presently sensed temperature(s). As one skilled in the art should appreciate, the measurement of LCD temperature and compensation for temperature variation is optional and these steps of the programmed operating loop can be omitted.

[0033] Referring to FIGS. 3 and 7 (FIGS. 5 and 7 appear on the same drawing sheet to facilitate viewing and comparison), the functional operation of the video data processor 16 will be discussed. The present invention reduces the amount of flicker an LCD panel will produce by artificially directing the actual LCD response. More specifically, the correction circuit 10 will supply corrected luminance data (curve 60) to the personality module and LCD 12 such that the LCD will have a corrected luminance response (curve 62). The corrected luminance data curve 60 is selected so that the area under the corrected luminance response curve 62 during the luminance transition is approximately equal to the area under an ideal luminance response curve 64. The ideal luminance response curve 64 is the inverse of the longer of the uncorrected LCD response to a rising step function or the uncorrected LCD response to a decaying step function. The ideal luminance response curve 64 is selected in this manner since the sum of the values along the ideal curve 64 and the associated uncorrected LCD response at every point in time during the transition results in a constant average luminance. Since the example display has a longer uncorrected rising time tr, the ideal response curve 64 is the inverse of the LCD response to a rising step function. However, the invention is not limited to slowing the faster LCD response to have an area under the corrected LCD response to be approximately equal to the area under an ideal curve where the ideal curve is the inverse of the slower uncorrected response curve. Simple modifications can be implemented to speed the slower LCD response to have an area under the corrected LCD response to be approximately equal to the area under an inverse of the faster uncorrected response curve. Other modifications can be made to slow the faster uncorrected response and to concurrently speed up the slower uncorrected response to match the corrected responses to a preselected ideal rising and decaying response.

[0034] Continuing with the correction techniques for the example LCD, it is noted that the correction circuit 10 does not adjust the luminance data for incoming video data instructing the LCD to transition in the direction of the longer uncorrected response. Correction is made to the shorter of the uncorrected rising or decaying response so that the overall average luminance across the display is made fairly constant as one pixel is instructed to decay and another pixel is instructed to rise to give the appearance that an image is moving. In the example, the rising time tr is longer than the decaying time td. Therefore, when the incoming video data signal has successive frames instructing the LCD to increase the luminance of a pixel, the video data for that pixel will be passed to the personality module and LCD 12 without alteration. However, when the incoming video data signal has successive frames instructing the LCD to decrease the luminance of a pixel, the correction circuit 10 will adjust the video data for that pixel. One skilled in the art will recognize that if the decaying time td is longer than the rise time tr, the correction circuit 10 should be configured to pass decaying luminance data to the personality module and LCD 12 without correction and correct rising luminance data in the same manner as described herein.

[0035] As is known, the area under a curve can be obtained by taking the integral of the function defining the curve. If the curve is made up of several segments where each segment can be defined by a function, the area under the overall curve can be derived by taking the integral of each segment's function and adding the results.

[0036] By progressively stepping down the luminance data in multiple steps, the LCD will respond in a progression of decay curves as illustrated in FIG. 7. The original decay time td will be extended to a corrected decay time, or td'. The corrected decay time td' is preferably shorter than the uncorrected rise time tr, but can be approximately equal to the uncorrected rise time tr. At some instances, the overall actual LCD response to the progressive steps of the luminance data will overshoot the ideal curve (e.g., the first illustrated luminance data step 60a and corresponding LCD response 62a) and at some instances the overall actual LCD response to the progressive steps of the luminance data will undershoot the ideal curve (e.g., the third and forth illustrated luminance data steps 60b, 60c and corresponding LCD response 62b, 62c). However, in the aggregate over the corrected decay time td', the LCD can be made to respond so that the area under the actual LCD response curve 62 is close enough to the area under the ideal decay curve 64 such that the average luminance of a moving image stays constant enough so that perceptible flicker is minimized or eliminated. It is noted that, in mathematical terms, some flicker will occur as the image moves since the average luminance across the display will not be actually constant during the corrected decay time td'.

[0037] Several ways of correcting the luminance data contained in the incoming video data can be used such that the LCD's response to the output luminance data has an area under the LCD response curve 62 approximately equal to the ideal decay curve 64. One approach is to use mathematical approximations of the low pass filter type response of the LCD. However, these expression are cumbersome exponential equations requiring a high level of computing power to solve and are somewhat inaccurate of the actual LCD response.

[0038] A more preferred approach adjusts the present input data Xn by an adjustment function, such as a slope and offset function or a percentage offset function. The adjustment function uses linear approximations and many possible equations may be employed to achieve the desired result.

[0039] An example slope and offset equation to reduce the current video output data Yn in appropriate steps will be discussed first. The equation uses a difference between the current video input data Xn and the current video output data Yn, or Xn - Yn. A slope weighting factor M and an offset factor B are used to adjust the output data by taking into consideration LCD temperature and user preferences.

[0040] For the example normally white LCD, decaying luminance data is corrected. Therefore, if the input video data is constant or increases from one frame to the next (i.e., Xn is greater or equal to Yn), the next frame of output luminance data, or Yn+1, generated in response to a present input data Xn will be the present input data Xn. It is noted that video data is clocked through the video data processor 16 somewhat akin to the clocking of data through a flip-flop latch where the processor 30 controls the clock function. Therefore, at any given instant the video data processor 16 will have a present input Xn and a present output Yn. The present input Xn and the present output Yn are compared to derive the next output Yn+1. In short, Yn+1 equals Xn when (Xn-Yn)≥0. Once Yn+1 is output from the video data processor 16, it becomes the present output data, or Yn, for display on the LCD 12 and for comparison with the next incoming video data frame. Table 1 illustrates a situation where the incoming video signal instructs a pixel to rise in luminance by stepping the video data from a decimal equivalent of zero to a decimal equivalent of 255.
TABLE 1
Frame Present Input Data (Xn) Present Output Data (Yn) Difference (Xn-Yn) Next Output Data (Yn+1)
n 0 0 0 0
n+1 255 0 255 255
n+2 255 255 0 255
n+3 255 255 0 255


[0041] If the input video data decreases from one frame to the next (i.e., Xn is less than Yn), the next output video data Yn+1 in response to a present input data Xn will be the present output data adjusted by the slope and offset correction equation. One appropriate slope and offset function, or equation, is (M(Xn - Yn) + B)(Xn - Yn). M is a slope variable and B is an offset variable, each being derived by the processor 30 based on factors such as the user preferences, LCD panel temperature as is well known in the art, the duration of the longer of the rise time tr or the decay time td, the input data frame rate and the output data refresh frame rate. Therefore, when (Xn-Yn) is less than zero, Yn+1 can be derived from the following equation:



[0042] It is noted that for LCDs where the decay time td of the pixels is longer than the rise time tr of the pixels, Yn+1 equals Xn when (Yn-Xn) is greater than or equal to zero and Yn+1 equals Yn-(M(Yn-Xn)+B)(Yn-Xn) when (Yn-Xn) is less than zero.

[0043] Using equation 1, table 2 illustrates an example situation where the incoming video signal instructs a pixel to decay in luminance by stepping the video data from a decimal equivalent of 255 to a decimal equivalent of 0 when M is 0.0025 and B is 1. It is noted that the values are decimal equivalents of 8 bit digital words. Therefore, the results of the equations are rounded down (preferably up for LCD panels where td is longer than tr) to the nearest integer such that the decimal result has a binary equivalent. Once the result of the calculation, or Yn+1, is less than decimal 1, the output data signal will have a binary equivalent of all zeros representing fully dark video data. As one skilled in the art will realize, the actual time it will take for the pixel to decay to fully dark, or td', will be dependent upon the refresh rate of the luminance data being supplied to the LCD 12 and on the actual response characteristics of the LCD 12.
TABLE 2
Frame Present Input Data (Xn) Present Output Data (Yn) Difference (Xn-Yn) Next Output Data (Yn+1)
n 255 255 0 255
n+1 0 255 -255 162
n+2 0 162 -162 66
n+3 0 66 -66 11
n+4 0 11 -11 0
n+5 0 0 0 0


[0044] Table 3 illustrates another example situation where the incoming video signal instructs a pixel to decay in luminance by stepping the video data from a decimal equivalent of 255 to a decimal equivalent of 0 when M is 0.002 and B is 1.
TABLE 3
Frame Present Input Data (Xn) Present Output Data (Yn) Difference Data (Xn-Yn) Next Output Data (Yn+1)
n 255 255 0 255
n+1 0 255 -255 130
n+2 0 130 -130 34
n+3 0 34 -34 2
n+4 0 2 -2 0
n+5 0 0 0 0


[0045] To reduce the amount of steps, or refresh frames, used to reduce the corrected luminance data curve to zero, the process 20 can be programmed such that if the calculated next output data Yn+1 is less than a selected threshold, for example 15 to 80, the actual next output data will be set to zero. This technique can be advantageous in instances when adjacent pixels may be fully or partially illuminated. In this situation it is desirable that the transition from fully bright to fully dark takes as little time as possible to increase contrast between the transitioning and adjacent pixels, while also attempting to increase the area under the actual LCD response curve to reduce flicker. More specifically, at least a first adjusted value in response to decaying luminance data is intended to drive the actual LCD response to have a greater luminance value than the luminance value of the ideal curve at the time just before the next adjusted refresh data frame is output. This will increase the area under the actual LCD response curve 62, but, to enhance contrast, the subsequent refresh frames can be adjusted to drive the LCD to fully dark at a faster rate than the ideal decay curve 64.

[0046] In another example, if M were selected to be 0.0025 and B were selected to be 1.25, the decimal equivalent response of the corrected luminance data curve 60 to a decaying input video step function (255 to 0 in one frame) would be the following series of luminance values: 255, 98 and zero.

[0047] As an alternative corrected luminance data curve 60 generating technique, a percentage offset equation can be used to reduce the current video output data Yn by a selected percentage for each refresh frame. If the present input data Xn is the same or greater than the present output data Yn, the next output data Yn+1 will be set to the present input data Xn. However, if the present input data Xn is less than the present output data Yn, the next output data Yn+1 will be equal to a percentage value, or C, multiplied by the present output data Yn (Yn+1 = C*Yn). If C were selected to be 20%, or 0.2, the decimal equivalent response of the corrected luminance data curve 60 to a decaying input video step function (255 to 0 in one frame) would have the following series of luminance values: 255, 51, 10, 2 and zero. Alternatively expressed, the decay luminance data can be computed using the equation Yn+1 = Yn + (1-C)(Xn-Yn).

[0048] A modified percentage offset technique is particularly useful in situations where the uncorrected rise time tr has a duration between one and two update frame periods and the uncorrected decay time td is shorter or just slightly longer than the update frame period. In the modified arrangement, instead of allowing the luminance data to be reduced by the selected percentage at a time, when the difference between Xn and Yn reaches a certain threshold the video data processor 16 will set the next output data Yn+1 to the present input data Xn. The threshold can be set as high as the maximum decimal equivalent value of C*Yn minus one. If C were selected to be 0.2 and the threshold set to 50, the decimal equivalent response of the corrected luminance data curve 60 to a decaying input video step function (255 to 0 in one frame) would have the following series of luminance values: 255, 51 and zero. This process 20 brings the LCD response of the target pixel to the desired luminance level by the end of two refresh frames, but the value of C can be selected to add area under the actual decay response curve to reduce flicker.

[0049] As should be apparent, the corrected luminance data reduces the LCD response from higher to lower luminance over the course of several refresh frames. As mentioned, the frame rate of the output video data can be the same as the frame rate of the incoming video data or independent of the incoming video data frame rate. For example, if the output video data frame rate is selected to be faster than the incoming video data, more than one luminance data value can be output to the personality module and LCD 12 before the arrival of the next incoming frame. This allows for greater flexibility in the quantity and value of the correction luminance data points used to correct the LCD response.

[0050] One skilled in the art will appreciate that the invention is not limited to slowing the faster LCD response to have an area under the corrected LCD response to be approximately equal to the area under an ideal curve where the ideal curve is the inverse of the slower uncorrected response curve. Simple modifications can be implemented to speed the slower LCD response to have an area under the corrected LCD response to be approximately equal to the area under an inverse of the faster uncorrected response curve. Other modifications can be made to slow the faster uncorrected response and to concurrently speed up the slower uncorrected response to match the corrected responses to a preselected ideal rising and decaying response.

[0051] FIG. 3 illustrates the functional operation of the video data processor 16. The video data processor 16 has a subtractor 66 for determining the difference between the present input data Xn and the present output data Yn. The processor 30 will calculate compensation values, such as M, B and/or C, for use by the process 20. The compensation values are adjusted based on factors such as the user preferences, LCD panel temperature as is well known in the art, the duration of the longer of the rise time tr or the decay time td, the input data frame rate and the output data refresh frame rate. The process 20 will, in turn, derive output data values using the present input data, the difference result as determined by the subtractor 66 and the compensation values obtained from the processor 30. Using the example display correction techniques described thus far, if the difference result is zero, positive and/or negative but below a certain threshold, the process 20 will pass each frame of the input data Xn to the output of the video data processor 16 so that the next output frame Yn+1 is the same as Xn. If, however, the difference result is negative or negative but above a certain threshold, the process 20 will adjust the present output data value Yn by the appropriate correction amount as derived from the adjustment equation so that the next output frame Yn+1 is a corrected output data value to control the LCD luminance response.

[0052] In the implementation of the video data processor 16 illustrated in FIG. 3, the video data processor 16 is continually making calculations to derive the value of the next output pixel value Yn+1. Since the frame rate of the incoming video data is relatively fast (e.g., 60 Hz) and the frame rate of the output data may be even faster, the software or hardware logic processor implementing the video data processor 16 is preferably faster enough to calculate the output data at the selected frame rates.

[0053] FIG. 4 illustrates an alternative arrangement for the video data processor 16 without continual calculation of the output data. Rather, the alternative arrangement uses an addressable memory device, such as the dual port RAM 17 having a look up table 32 to derive the output data. In this arrangement, the processor 30 not only calculates the values used in the adjustment equations, such as M, B and or C, but precalculates the next output data value Yn+1 for each possible pair of present input data Xn and present output data Yn values using the same calculation method described above. The results for Yn+1 are stored in the look up table 32. The video frame data making up the present input data Xn are entered into the RAM 17 through the first port 18. The video frame data making up the present output data Yn are entered into the RAM 17 through the second port 19. The RAM will match the present input value Xn and the present output value Yn to addresses in the look up table and extract the next output value Yn+1 stored at the address matching Xn and Yn. The next output value Yn+1 will then be output from the RAM 17 to the personality module and LCD 12 for display. The next output value Yn+1 will also be sent to the frame buffer 24 and FIFO 26 to be used in the next comparison between present input value Xn and the present output value Yn. It is noted that the values stored in the look up table 32 can be dynamically updated in response to changes in user preferences, temperature or the like.

[0054] As an alternative, the values of Yn+1 stored in the look up table 32 for each possible pair of present input data Xn and present output data Yn are derived from experimental results from monitoring an LCD panel, or a combination of calculated results, experimental results and/or computer modeled results.

[0055] The logic and memory devices, including, but not limited to, the programmable logic 28, processor 30, video data processor 16 and the look up table 32, can be embodied in software, in hardware or a combination of software and hardware. These devices can be combined into one device or separate devices. If embodied in hardware, the logic devices can be implemented as a circuit that employs any one or a combination of technologies, including but not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, an application specific integrated circuit having appropriate logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), a microprocessor or other components. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.

[0056] The block diagrams and flow chart of FIGS. 3, 4 and 6 show the architecture, functionality, and operation of an implementation of certain aspects of the present invention. If embodied in software, each block may represent a module, segment, or portion of code that comprises one or more executable instructions to implement the specified logical function(s). If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s). Although the FIGS. 3, 4 and 6 illustrate a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be altered relative to the order shown. Also, two or more blocks may be executed concurrently or with partial concurrence. It is understood that all such variations are within the scope of the present invention.

[0057] Although particular embodiments of the invention have been described in detail, it is understood that the invention is not limited correspondingly in scope, but includes all changes, modifications and equivalents coming within the spirit and terms of the claims appended hereto.


Claims

1. A method of adjusting an input video signal intended to be displayed on a display (12), the display (12) having at least one pixel, the pixel having a luminance rise time and a luminance decay time, one of the rise time and the decay time being longer than the other, the method comprising the steps of:

deriving a difference between a value of a present input luminance data value and a value of a present output luminance data value; and

adjusting the present output luminance data value by an adjustment function to determine a next output luminance data value when the difference indicates that the input luminance data is changing in a prescribed direction.


 
2. The method according to claim 1, wherein the prescribed direction is decreasing and the adjustment function is (M(Xn-Yn)+B)(Xn-Yn), where Xn represents the present input luminance data, Yn represents the present output luminance data, M is a slope variable and B is an offset variable, and the slope and offset function is added to the present output luminance data Yn to determine the next output luminance data value.
 
3. The method according to claim 1, wherein the adjustment function is a percentage of the present output luminance data.
 
4. The method according to claim 1, wherein the prescribed direction is decreasing and the adjustment function increases an area under a curve representing an uncompensated display response to decreasing luminance data, and an area under a curve representing a display response to the adjusted luminance data being approximately equal to the area under an ideal display response curve.
 
5. The method according to claim 4, wherein the ideal display response curve is an inverse of a curve representing an uncompensated display response to increasing luminance data and the curve representing the display response to the adjusted luminance data and the ideal curve are not equal, and a first adjusted output luminance data value drives the display response to the adjusted luminance data to have a greater luminance value than a luminance value of the ideal curve.
 
6. The method according to claim 1, further comprising the step of setting the next output luminance data to be the same as the present input luminance data if the difference is less than a predetermined threshold.
 
7. The method according to claim 1, further comprising the step of calculating values for use in the adjustment function, the values based on one or more factors including user preferences relating to flicker perceptibility, a duration of the rise time, an input data frame rate, an output data frame rate, and a temperature of the display (12).
 
8. The method according to claim 1, wherein the prescribed direction is increasing and the adjustment function is (M(Yn-Xn)+B)(Yn-Xn), where Xn represents the present input luminance data, Yn represents the present output luminance data, M is a slope variable and B is an offset variable, and the slope and offset function is subtracted from the present output luminance data Yn to determine the next output luminance data value.
 
9. The method according to claim 1, wherein the prescribed direction is increasing and the adjustment function increases an area under a curve representing an uncompensated display response to increasing luminance data, and an area under a curve representing a display response to the adjusted luminance data being approximately equal to the area under an ideal display response curve.
 
10. The method according to claim 9, wherein the ideal display response curve is an inverse of a curve representing an uncompensated display response to decreasing luminance data and the curve representing the display response to the adjusted luminance data and the ideal curve are not equal, and a first adjusted output luminance data value drives the display response to the adjusted luminance data to have a smaller luminance value than a luminance value of the ideal curve.
 
11. An apparatus for carrying out the method of any of claims 1 to 10, comprising:

a video data processor (16) having a first video data input (18), a second video data input (19) and a video data output, the first video data input (18) connected to receive an input video signal having a series of input luminance data values, the output providing an output video signal having a series of output luminance data values, the second input (19) being connected to receive the present output luminance data value, and the video data processor (16)

determines the difference between the present input luminance data value and the present output luminance data value and outputs the next output luminance data value.


 
12. The apparatus according to claim 11, wherein the video data processor (16) is an addressable memory storing values of the next output luminance data value stored in addresses, the addresses corresponding to a value of the present input luminance data value and a value of the present output luminance data value.
 
13. The apparatus according to any of claims 11 to 12, further comprising:

a personality module (12) for receiving the output video signal; and

a liquid crystal display being addressed by the personality module and displaying an image corresponding to the output video signal.


 
14. A method of adjusting an input video signal intended to be displayed on a display (12), the display (12) having at least one pixel, the pixel having a luminance rise time and a luminance decay time, one of the rise time and the decay time being longer than the other, the method comprising the steps of:

inputting a present input luminance data value into an addressable memory device (17);

inputting a present output luminance data value into the addressable memory device (17); and

outputting a next output luminance data value from one of a plurality of addresses of the addressable memory device (17), each address corresponding to the current input luminance data value and the current output luminance data value, and values of the next output luminance data value stored at each address being based on an adjustment of the present output luminance data by an adjustment function when a difference between the present input luminance data value and the present output luminance data value indicates that the input luminance data is changing in a prescribed direction.


 
15. The method according to claim 14, wherein the prescribed direction is decreasing and the adjustment function is (M(Xn-Yn)+B)(Xn-Yn), where Xn represents the present input luminance data, Yn represents the present output luminance data, M is a slope variable and B is an offset variable, and the slope and offset function is added to the present output luminance data Yn to determine the next output luminance data value.
 
16. The method according to claim 14, wherein the adjustment function is a percentage of the present output luminance data.
 
17. The method according to claim 14, wherein the prescribed direction is decreasing and the adjustment function increases an area under a curve representing an uncompensated display response to decreasing luminance data, and an area under a curve representing a display response to the adjusted luminance data being approximately equal to the area under an ideal display response curve.
 
18. The method according to claim 17, wherein the ideal display response curve is an inverse of a curve representing an uncompensated display response to increasing luminance data and the curve representing the display response to the adjusted luminance data and the ideal curve are not equal, and a first adjusted output luminance data value drives the display response to the adjusted luminance data to have a greater luminance value than a luminance value of the ideal curve.
 
19. The method according to claim 14, further comprising the step of setting the next output luminance data to be the same as the present input luminance data if the difference is less than a predetermined threshold.
 
20. The method according to claim 14, further comprising the step of calculating values for use in the adjustment function, the values based on one or more factors including user preferences relating to flicker perceptibility, a duration of the rise time, an input data frame rate, an output data frame rate and a temperature of the display (12).
 
21. The method according to claim 14, wherein the prescribed direction is increasing and the adjustment function is (M(Yn-Xn)+B)(Yn-Xn), where Xn represents the present input luminance data, Yn represents the present output luminance data, M is a slope variable and B is an offset variable, and the slope and offset function is subtracted from the present output luminance data Yn to determine the next output luminance data value.
 
22. The method according to claim 14, wherein the prescribed direction is increasing and the adjustment function increases an area under a curve representing an uncompensated display response to increasing luminance data, and an area under a curve representing a display response to the adjusted luminance data being approximately equal to the area under an ideal display response curve.
 
23. The method according to claim 22, wherein the ideal display response curve is an inverse of a curve representing an uncompensated display response to decreasing luminance data and the curve representing the display response to the adjusted luminance data and the ideal curve are not equal, and a first adjusted output luminance data value drives the display response to the adjusted luminance data to have a smaller luminance value than a luminance value of the ideal curve.
 
24. The method according to claim 14, further comprising the step of displaying a series of output luminance data values on a liquid crystal display.
 




Drawing