Claims
- 1. A method for adaptive color contrast of an image displayed on a display device, comprising:
separating input data into luma and chroma components, if necessary; collecting luma distribution data; analyzing the luma distribution data; generating appropriate contrast control response based upon the analyzed luma distribution data; modifying the incoming luma component based upon the contrast control response; analyzing the modified luma component; and generating a non-linear chroma correction factor based upon the analyzed modified luma component.
- 2. The method as recited in claim 1, wherein the collecting comprises:
dividing a range of luma values into a number of overlapping bands; counting a number of input luma values that fall within each of the overlapping bands over the entire image or a specified window in the image wherein the image window is specified when the contrast control response is confined to the window on the display; and defining a luma histogram as a set of band indices and their corresponding counts.
- 3. The method as recited in claim 2, wherein the specified window is a Picture-In-Picture video window or an embedded video window within a graphics screen.
- 4. The method as recited in claim 2, wherein based upon the luma histogram, determining a darkest luma value and a brightest luma value based upon the luma histogram; and storing the darkest and the brightest luma values.
- 5. The method as recited in claim 4, further comprising:
specifying an optimal contrast control response for a limited subset of the universe of possible luma distributions wherein the optimal control responses are user definable so that any desired contrast control can be applied.
- 6. The method as recited in claim 5, further comprising, if the input data luma range is evenly distributed over the range from black to white, then the count values are approximately equal, wherein if the input data luma values are clustered around certain portions of the entire range, then different count values are counted for different bands.
- 7. The method as recited in claim 6, wherein a relatively high count in the lower bands corresponds to a predominantly dark image wherein a relatively high count in the upper bands corresponds to a predominantly bright image, and wherein a relatively high count in the middle bands corresponds to a mid-tone image.
- 8. The method as recited in claim 7, further comprising:
specifying an optimal contrast control response for a limited subset of the universe of possible luma distributions wherein the control responses are user definable so that any desired contrast control can be applied.
- 9. The method as recited in claim 8, further comprising:
calculating the relative luma counts in the different bands; determining how well the actual luma distribution correlates to the chosen subset of luma distributions based upon the relative luma counts; and blending the predefined control responses for the subset of luma distributions using the relative luma counts as a blending weight.
- 10. The method as recited in claim 9, further comprising:
using the computed darkest (Xmin) and brightest (Xmax) luma values to modify the blended contrast control response such that display dynamic range is fully utilized.
- 11. Computer program product for adaptive color contrast of an image displayed on a display device, comprising:
computer code for separating input data into luma and chroma components, if necessary; computer code for collecting luma distribution data; computer code for analyzing the luma distribution data; computer code for generating appropriate contrast control response based upon the analyzed luma distribution data; computer code for modifying the incoming luma component based upon the contrast control response; computer code for analyzing the modified luma component; computer code for generating a non-linear chroma correction factor based upon the analyzed modified luma component; and computer readable medium for storing the computer code.
- 12. Computer program product as recited in claim 11, wherein the collecting comprises:
computer code for dividing a range of luma values into a number of overlapping bands; computer code for counting a number of input luma values that fall within each of the overlapping bands over the entire image or a specified window in the image wherein the image window is specified when the contrast control response is confined to the window on the display; and computer code for defining a luma histogram as a set of band indices and their corresponding counts.
- 13. Computer program product as recited in claim 12, wherein the specified window is a Picture-In-Picture video window or an embedded video window within a graphics screen.
- 14. Computer program product as recited in claim 12, wherein based upon the luma histogram,
determining a darkest luma value and a brightest luma value based upon the luma histogram; and computer code for storing the darkest and the brightest luma values.
- 15. Computer program product as recited in claim 14, further comprising:
computer code for specifying an optimal contrast control response for a limited subset of the universe of possible luma distributions wherein the optimal control responses are user definable so that any desired contrast control can be applied.
- 16. Computer program product as recited in claim 15, further comprising, if the input data luma range is evenly distributed over the range from black to white, then the count values are approximately equal, wherein if the input data luma values are clustered around certain portions of the entire range, then different count values are counted for different bands.
- 17. Computer program product as recited in claim 16, wherein a relatively high count in the lower bands corresponds to a predominantly dark image wherein a relatively high count in the upper bands corresponds to a predominantly bright image, and wherein a relatively high count in the middle bands corresponds to a mid-tone image.
- 18. Computer program product as recited in claim 17, further comprising:
computer code for specifying an optimal contrast control response for a limited subset of the universe of possible luma distributions wherein the control responses are user definable so that any desired contrast control can be applied.
- 19. Computer program product as recited in claim 18, further comprising:
computer code for calculating the relative luma counts in the different bands; computer code for determining how well the actual luma distribution correlates to the chosen subset of luma distributions based upon the relative luma counts; and computer code for blending the predefined control responses for the subset of luma distributions using the relative luma counts as a blending weight.
- 20. Computer program product as recited in claim 19, further comprising:
computer code for using the computed darkest (Xmin) and brightest (Xmax) luma values to modify the blended contrast control response such that display dynamic range is fully utilized.
- 21. A system for adaptive color contrast of an image displayed on a display device, comprising
a controlling state machine adapted to receive a vertical data enable signal and an input luma signal; a memory block coupled to the controlling state machine adapted to receive input luma and provides an output luma; a creation of histogram block coupled to and controlled by the state machine; a histogram average block coupled to and controlled by the state machine; a template weight calculator block coupled to and controlled by the state machine; a template transfer function black coupled to and controlled by the state machine; a snapping function block coupled to and controlled by the state machine that provides final blended transfer function to the memory; and adaptive chroma correction block coupled to and controlled by the state machine adapted to receive the output and the input chroma provide a final output chroma, wherein collection of a current image histogram is performed during an active frame wherein when a vertical inactive period (blanking) starts, the histogram is averaged, if necessary, with previous image histograms and the template transfer function weights are calculated and the template transfer functions are blended using these weights and the snapping operation is performed on the blended output to recover the full dynamic range and a new contrast transfer function is written to a luma LUT memory that is used for the next image frame.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser. No. 10/193,348 filed Jul. 10, 2002 entitled “Method and System for Adaptive Color and Contrast for Display Devices” which is hereby incorporated by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
10193348 |
Jul 2002 |
US |
Child |
10810137 |
Mar 2004 |
US |