This invention relates to the field of LED digital projectors, and more particularly to adaptive techniques for improving the brightness of projected images from those projectors.
Table top and ceiling digital projectors, such as those used in businesses, have been around for a long time. Over time, their size has been reduced and their projected images have gotten brighter. Until recently, most such projectors used UHP (Ultra High Performance) lamps as their source of illumination, but now many projectors are employing LEDs as their light source.
The digital image projected by these projectors is produced by passing the light from the LEDs through a spatial light modulator (SLM). Two types of SLMs are LCOS, using liquid crystal technology, and micromirror devices, using tiny mirrors formed on a silicon substrate along with the digital control electronics. Typically, micromirror devices have one mirror for each pixel to be projected. A micromirror array works with three LEDs, one for each color, in a time sequence. The three primary colors, Red (R), Green (G) and Blue (B), are controlled in a time sequence to display of each pixel.
The three most important attributes of a projected image are brightness, contrast and saturation. A brighter image can be seen in a well lighted room. Contrast emphasizes the details in an image. Saturation determines how vividly the colors appear. In an LED projector, overlapping the three primary colors to some extent leaves the LEDs on for a longer period of time, thereby increasing brightness. However, this overlapping decreases the ability to display a pure red, green or blue color, thereby making it difficult or impossible to reproduce a fully saturated image. Too much of a drop in saturation results in an image being washed out. The best projectors are capable of displaying a bright and clear image, even when the image is fully saturated.
A method for improving brightness of projected images from an LED projector employing a plurality of LEDs of different colors is described. The method starts by determining, from a histogram of a frame of an image to be projected, an effective maximum saturation. Then a plurality of main channels and a plurality of subchannels are created, one main channel and at least one subchannel for each color LED. Next the amplitude of the main channel and a subchannel for each color is determined based upon the effective maximum saturation of the frame of the image. Then the main channel for a color and the one subchannel for the color are used to drive an LED of that color to generate an image.
In another aspect, an effective maximum saturation of a pixel from a frame of an image to be projected is determined from the saturation values of each of the pixel's color components. The saturation values of the pixels of the frame are grouped according to the number of pixels having saturation values within a range of saturation values determined for the group. Then a threshold maximum saturation value (effective maximum saturation value) is established. Next the saturation values of pixels having saturation values below the effective maximum saturation value are boosted by an empirically determined multiple, thereby reducing washout that may be caused by driving the subchannel with the overlapped current used to drive an LED of that color. Finally, the pixels with boosted saturation values for each color are projected on the screen for generating the image.
In another aspect, the maximum component value is determined from a plurality of component values for the colors making up each pixel of the frame of pixels. Each of the plurality of component values may be calculated by subtracting the component value of a color making up a pixel that has the smallest saturation value of the colors making up the pixel from the component value of a color making up the pixel that has the largest component value of the colors making up the pixel.
The plurality of saturation values may be grouped and a cut off or threshold saturation value may be determined. The pixels that above the threshold value may be truncated.
The saturation values of pixels having saturation values below an effective maximum saturation value may be boosted. The saturation values of the pixels can be boosted by an empirically determined amount, where that amount may be determined based upon testing many images and determining the amount of boost that gives the best results. Each of the color components making up a pixel can be boosted and the maximum color component, a minimum color component and a color component in between the maximum and minimum color component that make up a pixel may be boosted differently to obtain a saturation boost for the pixel.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
The content adaptive method of improving image brightness described here provides a substantial increase in brightness while minimizing the visual impact of saturation loss. Briefly, content adaptive brightness control uses an algorithm to create histograms for adjusting color saturation and brightness values of incoming image data frame by frame. The method adjusts the overlap amount of the three LED light sources depending upon maximum saturation/brightness histogram values. Where the maximum saturation value is low, the overlap amount may be increased, thus making the light source brighter. However, increasing the overlap amount narrows the gamut triangle for the image. A narrowed gamut triangle decreases image saturation, and may cause display screen colors to be washed out. The disclosed method modifies the display data to boost brightness and saturation, compensate the screen color, but still avoid saturation decreases sufficient to wash out the image.
The system of an embodiment of the invention is shown in
The video processor passes the image to a content adaptive brightness controller (CABC) 30, which will be described in detail below. From the CABC, the image is passed to a frame sequencer 40 to produce the frames, and then to a display device 50, such as a digital projector, that projects the image onto a display screen 60.
CABC 30 also passes control signals to a light source controller 70 to control the timing and current of the light sources being switched on and off. To create a brighter image, the timing causes the light sources, such as the LEDs in example to be described in detail below, to remain on longer, and also for one color LED to remain on while another color also is on, thus creating light source overlap. The output signals from light source controller 70 are passed to the light sources 80, such as LEDs, to turn them on at the desired times and currents, and the light sources pass their light to imaging surfaces, such as lenses in display device 50, and then on to the display screen 60.
The CABC is shown in more detail in
The outputs from the brightness and saturation histogram creators 210 and 220 are also passed to light source controller 260. The light source controller 260 uses a control table 270, in a manner to be described below, to generate a light source control signal 180. This signal is passed by light source controller 70 to light source 80 (
Light source controller 260 is shown in more detail in
One of the three LED drive controllers, controller 300 (
The content adaptive brightness adjustment method starts with a frame of an image made up of pixels. In this embodiment, the pixels are three color components: red, green and blue. It is understood that other color schemes could be employed, for example CMYK. Assuming that the image contains a standard 1280×800 pixels (although any other size or aspect ratio image and pixel density may be used), there will be a total of 1,024,000 pixels, and each pixel has a red, a blue and a green color component value. For example, assume there is a pixel A with a red value R=250; a green value G=200 and a blue value B=150. Also, assume the total range of color component values is 0-255 (although smaller or much larger ranges can be used, such as a maximum of 1024, 2048 or many higher values).
A process to determine preferred color saturation for each pixel of each color is now commenced. One such process starts by calculating a saturation value “SatVal” for each pixel is determined by the equation: SatVal=MaxVal−MinVal. In the above example for pixel A, the largest color component value (MaxVal) is the value of the red pixel of 250, and the smallest (MinVal) is the value of the blue pixel of 150. Therefore SatVal=MaxVal (250)−MinVal (150)=100. The middle value, MdlVal, is the green value of 200.
The above calculation for saturation is executed in RGB color space, for example. Other color spaces (YIQ, YUV, YCrCb, HVS, or HVI) and color components can be used, but they will require different equations that one of ordinary skill may calculate using the principles described herein for RGB color space. For example, RGB color space can be translated to YUV (or YIQ) color space using matrix multiplication, where Y represents the amplitude modulated black and white information, and UV (or IQ) represents the color information in polar coordinates. UV and IQ are two different standards. They have the same color information, but the polar axes are phase shifted. Color saturation is the magnitude of the UV (or IQ) vector, and hue (or color tint) is the angle. In the UV and IQ standards, respectively, the equation for color saturation is SQRT(Û2+V̂2) or SQRT(Î2+Q̂2). The calculation in RGB color space is the simplest and best for real time applications.
Next it is necessary to empirically determine a set of saturation ranges. These can be established from gamut diagrams. The ranges are grouped by group numbers listed in the first column of the table of
Note in the third column entitled “% of Pixels,” that there is a 6 in the row for Group 6. That “6” indicates that 6%, or approximately 61,440 of the 1,024,000 pixels in the frame had a SatVal that fell into Group 6 (SatVals between 102-85). In the same table of
The fourth column of the table in
The next step in the process is to determine a threshold SatVal. Referring to the “Cum %” column of the table of
In selecting the threshold SatVal, viewing preferences may be used. For example, if the image to be displayed requires maximum saturation (such as for a movie), the cut off value can be selected lower and threshold value can be selected higher in the table, such as a cutoff value of 1% in a manner so that Groups 0-9 are included, thereby having sufficient available pixels for 99% of the pixels. On the other hand, if the displayed image is a Powerpoint slide, where saturation is less important, the cutoff value is 12% and a threshold may be selected to include only Groups 0-5, whereby the available pixels still will be sufficient to display 90% of the pixels.
There are numerous ways to choose the best threshold SatVal, either manually or by using an algorithm, or some combination. For example, if the image content changes from frame to frame, the images are mostly likely video. If the image is static for significant periods of time, then most likely a Powerpoint or other slide show is being projected. Using image processing, it often is possible to detect the difference between a slide show of pictures from one of Powerpoint slides. From this, a preferred threshold SatVal can be chosen, preferably one that has a lower pixel cutoff for video pictures, and a higher cutoff for a Powerpoint presentation. Within these groups, user preferences may be taken into consideration in selecting the threshold SatVal.
Referring to
Referring to
Referring to
In accordance with the invention described in U.S. patent application Ser. No. 12/400,668, filed Mar. 9, 2009 and assigned to the same assignee as this invention and hereby incorporated herein by reference, the other color LEDs are also illuminated to some extent simultaneously with the LED of the color whose data is being displayed, to increase the brightness of the image. Accordingly, during green data display, the RED LED remains lighted with a drive current of 1037 (Rg6, the 7th value in Group 6 in
In sum, during the red data period, as shown in
The LED drive controllers in
D
R0
=Rr0,DR1=Rg6,DR2=Rb3,
D
G0
=Gr4,DG1=Gg1,DG2=Gb7, and
D
B0
=Br8,DB1=Bg5,DB2=Bb2
As was described earlier, referring to
NewMax=MaxVal(the most saturated pixel, R, doesn't change)
NewMin=MinVal−[(MaxVal−MinVal)*(Multiplier−1)]
NewMdl=[(MdlVal−MinVal)*Multiplier]+NewMin
NewMax=MaxVal=250
NewMin=150−(250−150)*(1.56−1)=150−[(100)*0.56]=150−56=94
NewMdl=[(200−150)*(1.56)]+94=[50*1.56]+94=78+94=172
Referring to
The above saturation boosting is executed in RGB color space, as an example. Other color spaces (YIQ, YUV, or YCrCb) and color components can be applied to accomplish saturation boosting using different equations That may be determined by one of ordinary skill in the art.
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.