1. Field of the Invention
The present invention relates to an apparatus and method for gamma correction and dimming control, particularly in an active matrix electronic display which uses LEDs (light emitting diodes).
2. Description of the Prior Art
In the prior art, the use of light emitting diodes (LEDs) for creating active matrix electronics displays is known. Such electronic displays are used in a wide variety of applications including roadside message centers and marquees, sports scoreboards and scoring matrices, and full color video displays.
Most of these electronic displays vary the brightness of the LEDs to achieve shades of a single color. Similarly, full color displays vary the brightness of the LEDs to achieve a substantially complete spectrum of colors. Because of the nonlinear properties of LEDs, it is impractical to vary the intensity of the output of the LEDs by varying the strength with which the LEDs are driven. Rather, the intensity of the LED is fixed at an upper limit, and then the amount of time for which the LED is turned on is varied in order to achieve a spectrum or range of shades or colors. This scheme of turning on and turning off an LED or similar display device at a specified rate is called pulse-width-modulation. It is typically done fast enough so that the human eye cannot detect the resulting flicker and is instead fooled into believing that the intensity of the LED is changing.
Several microchip manufacturers produce integrated circuits that are tailored to help display manufacturers drive LEDs in a pulse-width-modulation scheme. The most basic and most widely used of these ICs allow binary data to be transparently shifted serially into shift registers, latched into place at a specified time, and asserted on the output of the chip to the LED. These chips are commonly known as “constant current driving shift registers or just “constant current drivers”.
The human eye perceives light intensity on a non-linear scale. The human eye is much more sensitive to changes in intensity at low light levels, and much less sensitive to changes in intensity at high light levels. This sensitivity allows humans to see just as easily indoors in artificial lighting as outdoors in sunlight, which is several orders of magnitude more intense.
However, this nonlinear perception creates a problem when capturing images and reproducing them digitally. To perceive small changes in light intensity at low levels, a very fine granularity on both the capture side and the display side of a system is required. Most people are unable to detect more than 256 shades of any one color. To represent these 256 shades digitally, an 8-bit number is assigned to each color component (for instance, red, green and blue) of each pixel. When a greater number of bits is used, for instance, in a scanner, the extra input resolution is used to achieve a finer granularity on the low end of the intensity spectrum. When the data is finally transferred to a computer, all of the bits are used to produce only a few colors, and typically over eighty percent of the 256 shades are produced with only 4 to 8 bits.
The curve along which the actual shades are translated to what the human eye perceives as linearly incremented shades is called the gamma curve. An example of a gamma curve is shown in
Many electronic displays are installed in outdoor environments where the ambient light levels range from the absolute brightest at midday, to absolute dimmest in the middle of the night. As ambient light levels change, the human eye adjusts to allow less or more light to enter.
Electronic displays are designed and built to be bright enough to run in the brightest of situations in which the display will be used. As the human eye adjusts to a dimmer ambient light, such as at night, a sign or display running at one hundred percent brightness would be very distracting and uncomfortable to view. For this reason, electronic displays are required to dim to adjust to all possible light levels.
In electronic displays, the data clock provides a limit to the speed at which data can be shifted serially into constant current drivers. Typically, the upper limit on the data clock is between ten to twenty million cycles per second (10 MHz-20 MHz). Using this clock frequency, the rate at which new frames are displayed or repeated, and the length of the serial chain through which data is shifted, the calculation of the total number of shades that can be displayed is straightforward. For example, if the data clock rate is 10 MHz, the length of the data chain is 256, and the frame refresh rate is 150 times per second, then the total number of times that the LEDs can be turned on and off (i.e., modulated) during one refresh cycle is: 10,000,000/(256*150)=260.
Recalling that digital color is typically represented by an 8-bit number with 256 possible values, this may initially appear to be adequate. However, in order to achieve gamma correction, a much higher number of linear shades are required to achieve a pleasing display. For example, using a gamma curve factor of 2.5 and using 16 bits to represent the gamma corrected colors still doesn't provide for a unique gamma corrected output shade for each input shade. Assuming 16 gamma corrected bits, the first uncorrected shades of 0, 1, 2, 3 and 4 would have to be rounded and assigned to 0, 0, 0, 1 and 2, respectively. Moreover, beyond the consideration of effective gamma correction, some applications may require that the display be dimmed in low light environments. Dimming is typically achieved by reducing the available color palette to one half, or even one quarter of the original size at the low end of the spectrum, thereby exacerbating the deficiencies with respect to granularity.
It is therefore an object of the present invention to provide additional color resolution in an electronic display which uses pulse-width-modulation to control the apparent shade and brightness of the display, particularly displays which use LEDs and constant current drivers.
It is therefore a further object of this invention to provide additional color resolution in an electronic display to provide the granularity required for more effective gamma correction and dimming.
It is therefore a still further object of the present invention to achieve the above objects without requiring additional clock speed or a substantial increase in cost or complexity of the display and associated electronics.
These and other objects are attained by providing a method and apparatus for pulse-width-modulation in an electronic display wherein one of the shift cycles is assigned to a sub-pulse-width bit. During this shift cycle, data is shifted to all registers and latched. At typically one-half shift cycle's time later, the entire display is disabled for the remainder of the shift cycle. This disabling is accomplished by adding logic to the circuitry which drives the enable line of the constant current driver. This allows any of the LEDs to be turned on for half of a shift cycle, or what in the prior art was an indivisible amount of time for a given data clock speed. By organizing the gamma correction assignments to take advantage of this possible fractional on-time, the number of shades which it is possible to display is nearly doubled. A simplified example is that if 17 shades are available without the sub-pulse-width bit and associated circuitry (all integers between 0-16 inclusive), then 32 shades are available with the sub-pulse-width bit and associated circuitry (0, 0.5, 1.0, 1.5 . . . 15.5). Similarly, another shift cycle can be assigned a one quarter or similar value to again nearly double the number of shades available. While there is some loss in brightness due to this configuration, this loss is negligible in view of the high number of shift cycles, such as 1024, that are typically used. Moreover, the number of LED pixels which are required to reach maximum brightness in any one frame is usually low.
Additionally, the sub-pulse-width-modulation can be used to dim a display without sacrificing the range of possible colors. The enable line can be used to vary the amount of time that the display is enabled during each half cycle, thereby dimming the sign without reducing the number of shades available to be displayed by the sign.
Further objects and advantages of the invention will become apparent from the following description and claims, and from the accompanying drawings, wherein:
a is a timing diagram of the inputs to the logic of
b is the timing diagram of
Referring now to the drawings in detail wherein like numerals indicate like elements throughout the several views, one sees that
Modulator card 10 is configured to drive the active matrix electronic display in a pulse-width-modulation configuration wherein binary data is transparently shifted serially into shift registers, latched into place at a specified time, and asserted on the output of the chip to the LED. However, the pulse-width-modulation is modified from the typical prior art configuration of simply dividing the refresh cycle into several identical shift cycles and activating the LEDs with a constant current for some integer number of shift cycles during the refresh cycle-Rather, to achieve an increased number of possible colors or shades to increase the pallet available for gamma correction, as shown in
Similarly, as shown in
Referring back to
The dimming block 14 is illustrated in more detail in
The signal “nreset” needs to be asserted once on power-up to put the module in a known initial state (such as counters at zero, flip-flops set or cleared, and other states that would be known to one of ordinary skill in the art after review of this disclosure).
The first 16 bits received on the data line coinciding with, and immediately following, the assertion of the “frame” signal are captured and stored using shift register 70 and then parallel load register 72. In other words, the data line is used to serially transfer pixel color information, except that the first 16 bits after a “frame” signal are a header. The serial data is continually shifted through the 16-bit shift register 70. The “frame” signal causes the reset of 5-bit counter 74. The output (cnt(4 . . . 0)) of 5-bit counter 74 goes to the input of comparators 75 and 77. The second input of comparator 77 is a constant value of 15. When the output of 5-bit counter 74 reaches 15, the output (reg_en) of comparator 77 is enabled, which is input to the register enable input of parallel load register 72 thereby causing the data in shift register 70 (which has a parallel output) to be latched into the parallel load register 72. The upper byte is checked by comparator 7S to make sure that the header is a “dimming information” header (the upper byte is typically “0xFF”, the lower byte is typically the dimming byte). If so, the lower byte is registered into a permanent 8-bit flip flop 78 that is used to store the dimming byte.
As the output dimming byte (dim(7 . . . 0)) from flip-flop 78 contains only five bits of dimming information, block 80 transfers or shifts these five bits to the most significant bits with the three least significant bits being set to the value of “1”.
Compare module 82 receives the reconfigured output dimming byte (dim(7 . . . 0)) from block 80 and further receives an input from free running 8-bit counter 84. When the 8-bit counter 84 reaches the same value as the output dimming byte, the output of compare module 82 goes high and flip flop 84 is synchronously set. This disables all LED driver chips via the n_en line. When the 8-bit counter 84 reaches 255, as determined by compare module 86 which receives the output from counter 84 as a first input and a constant value of 255 from block 88 as a second input, flip flop 84 is synchronously cleared via the “sclr” input thereby re-enabling all LED driver chips. This sequence results in the pulse-width-modulation or sub-pulse-width-modulation of the n_en line.
The brightness modulation block 16 is illustrated in further detail in
“out_count[17 . . . 0]” is the bit multiplexing position, shift cycles, and refresh cycles;
The modulator card 10 of
In dimming block 14 as illustrated in
In the brightness modulation block 16 as shown in context in
The value of “in_frac” is set to 1 (and inverted by inverter 60 to obtain “n_in_frac”) when 6-way AND-gate 61 determines that all values of “frac_cmp(5 . . . 0)” are equal to one, as generated by shift register 62 which counts the out_count(15 . . . 10)” values which identify the location within the refresh cycle. This value of “in_frac” and the inverted value “n_in_frac” determine when to assert the global disable for sub-pulse-width-modulation for gamma correction.
The values of nib0”, “nib1”, “nib2” and “nib3” are then multiplexed into an output word by multiplexer 50. The output word is communicated to display 100.
Thus the several aforementioned objects and advantages are most effectively attained. Although a single preferred embodiment of the invention has been disclosed and described in detail herein, it should be understood that this invention is in no sense limited thereby and its scope is to be determined by that of the appended claims.