Floating point gamma correction method and system
First Claim
1. In a display system, a method for performing gamma correction on a set of pixel data based on a gamma correction curve table having a specified total number of intensity levels associated with gamma corrected pixel values, one intensity level per pixel value, the method comprising:
- partitioning the gamma correction curve table into N segments such that each of the N segments is associated with a set of intensity levels from the specified total number of intensity levels;
selecting a plurality of intensity levels for each of the N segments such that significant banding effects are not visible to the human eye between an adjacent pair of the selected intensity levels;
storing the gamma corrected pixel values for each of the N segments such that each of the plurality of selected intensity levels functions as an index to the associated gamma corrected pixel values; and
performing gamma correction on the set of pixel data by accessing a stored pixel value in one of the N segments in response to the pixel data to generate gamma corrected pixel data.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method, a device, and a system for performing gamma correction on a set of pixel data based on a gamma correction curve table. The gamma correction curve table includes a specified total number of intensity levels associated with gamma corrected pixel values with one intensity level per pixel value. The method includes partitioning the gamma correction curve table into N segments such that each of the N segments is associated with a set of intensity levels from the specified total number of intensity levels. A plurality of intensity levels is selected for each of the N segments such that significant banding effects are not visible to the human eye between an adjacent pair of the selected intensity levels. The gamma corrected pixel values are stored for each of the N segments such that each of the plurality of selected intensity levels functions as an index to the associated gamma corrected pixel values. Gamma correction is performed on the set of pixel data by accessing a stored pixel value in one of the N segments in response to the pixel data to generate gamma corrected pixel data.
33 Citations
25 Claims
-
1. In a display system, a method for performing gamma correction on a set of pixel data based on a gamma correction curve table having a specified total number of intensity levels associated with gamma corrected pixel values, one intensity level per pixel value, the method comprising:
-
partitioning the gamma correction curve table into N segments such that each of the N segments is associated with a set of intensity levels from the specified total number of intensity levels;
selecting a plurality of intensity levels for each of the N segments such that significant banding effects are not visible to the human eye between an adjacent pair of the selected intensity levels;
storing the gamma corrected pixel values for each of the N segments such that each of the plurality of selected intensity levels functions as an index to the associated gamma corrected pixel values; and
performing gamma correction on the set of pixel data by accessing a stored pixel value in one of the N segments in response to the pixel data to generate gamma corrected pixel data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
outputting the gamma corrected pixel data to a display device for display.
-
-
3. The method as recited in claim 1, wherein the operation of performing gamma correction comprises:
-
selecting one of the N segments; and
accessing the stored gamma corrected pixel data in the selected segment by using the set of pixel data as the index to the stored gamma corrected pixel data.
-
-
4. The method as recited in claim 1, wherein the set of pixel data includes R, G, and B components, each component including a (log2N)-bit exponent and an M bit mantissa, wherein the exponent is used to select one of the N segments and the mantissa is used as the index to access the corresponding component of the gamma corrected pixel value.
-
5. The method as recited in claim 4, wherein each of the N segments includes up to 2M intensity levels.
-
6. The method as recited in claim 4, wherein the gamma corrected pixel values include R′
- , G′
, and B′
components associated with each intensity level.
- , G′
-
7. The method as recited in claim 1, wherein the difference in intensity between the adjacent intensity levels is less than or equal to about 1%.
-
8. The method as recited in claim 4, wherein M is 10 and N is 4 so as to implement an effective datapath of 16 bits.
-
9. The method as recited in claim 4, wherein the M bit mantissa and the N segments implement an effective datapath of greater than (M+log2N) bits.
-
10. The method as recited in claim 4, wherein the display system includes a display device adapted to receive the gamma corrected pixel data.
-
11. The method as recited in claim 10, wherein the display system is included in a computer system.
-
12. The method as recited in claim 8, wherein the intensity levels range from 0 to 1.0, and wherein the exponent encodes values 0, 1, 2, and 3 with binary intensity value ranges of 0 to 0.0000001111, 0.000001000 to 0.00001111, 0.0001000 to 0.00111111, and 0.010000 to 1.0, respectively.
-
13. A gamma correction device for performing gamma correction on a set of pixel data based on a gamma correction curve table having a specified total number of intensity levels associated with gamma corrected pixel values, one intensity level per pixel value, the device comprising:
-
means for partitioning the gamma correction curve table into N segments such that each of the N segments is associated with a set of intensity levels from the specified total number of intensity levels;
means for selecting a plurality of intensity levels for each of the N segments such that significant banding effects are not visible to the human eye between an adjacent pair of the selected intensity levels;
means for storing the gamma corrected pixel values for each of the N segments such that each of the plurality of selected intensity levels functions as an index to the associated gamma corrected pixel values; and
means for performing gamma correction on the set of pixel data by accessing a stored pixel value in one of the N segments in response to the pixel data to generate gamma corrected pixel data. - View Dependent Claims (14, 15, 16, 17, 18)
means for outputting the gamma corrected pixel data to a display device for display.
-
-
15. The device as recited in claim 13, wherein the means for performing gamma correction comprises:
-
means for selecting one of the N segments; and
means for accessing the stored gamma corrected pixel data in the selected segment by using the set of pixel data as the index to the stored gamma corrected pixel data.
-
-
16. The device as recited in claim 13, wherein the set of pixel data includes R, G, and B components, each component including a (log2N)-bit exponent and an M bit mantissa, wherein the exponent is used to select one of the N segments and the mantissa is used as the index to access the corresponding component of the gamma corrected pixel value.
-
17. The device as recited in claim 13, wherein the intensity difference between the adjacent intensity levels is less than or equal to about 1%.
-
18. The device as recited in claim 16, wherein M is 10 and N is 4 so as to implement an effective datapath of 16 bits.
-
19. A display system for performing gamma correction on a set of pixel data based on a gamma correction curve table having a specified total number of intensity levels associated with gamma corrected pixel values, one intensity level per pixel value, the system comprising:
-
a bus;
a processor coupled to the bus;
a main memory coupled to the bus;
a mass storage unit coupled to the bus;
a graphics unit coupled to the bus and including a gamma correction unit, the gamma correction unit including N storage units for storing the gamma corrected pixel values associated with selected intensity levels from N segments of the gamma correction curve table such that significant banding effects are not visible to the human eye between an adjacent pair of the selected intensity levels in each of the N segments, each of the selected intensity levels functioning as an index to the associated gamma corrected pixel values, wherein the set of pixel data is used as an index to access a stored gamma corrected pixel value in one of the N segments; and
a display device coupled to receive and display the gamma corrected pixel value. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification