Claims
- 1. A method for processing data for a display including pixels, each pixel having color sub-pixels, the method comprising:
receiving pixel data; applying gamma adjustment to a conversion from the pixel data to sub-pixel rendered data, the conversion generating the sub-pixel rendered data for a sub-pixel arrangement including alternating red and green sub-pixels on at least one of a horizontal and vertical axis; and outputting the sub-pixel rendered data.
- 2. The method of claim 1, wherein the applying gamma adjustment provides linearity in color balancing of the sub-pixel rendered data.
- 3. The method of claim 2, wherein the applying gamma adjustment further provides nonlinear calculation of luminance related to the sub-pixel rendered data
- 4. The method of claim 1, wherein the applying gamma adjustment includes:
performing gamma correction on the pixel data to produce gamma-corrected data; converting the gamma-corrected data to the sub-pixel rendered data.
- 5. The method of claim 4, wherein the gamma correction is performed as a function of g−1(x)=xγ.
- 6. The method of claim 1, wherein a gamma value for the gamma adjustment is maintained for all spatial frequencies at a selected level, the selected level corresponding to a desired contrast ratio at a certain spatial frequency.
- 7. The method of claim 1, wherein the applying gamma adjustment includes calculating a local average based on the pixel data.
- 8. The method of claim 7, wherein the applying gamma adjustment further includes performing gamma correction on the local average to produce a gamma-corrected local average, and converting the gamma-corrected local average multiplied by the pixel data to the sub-pixel rendered data.
- 9. The method of claim 8, wherein the gamma correction is performed as a function of g−1(x)=xγ−1.
- 10. The method of claim 1, wherein a gamma value for the gamma adjustment is selected to increase with an increase in spatial frequency.
- 11. The method of claim 1, wherein the applying gamma adjustment includes:
performing omega correction on the pixel data to produce omega-corrected data; and calculating an omega-corrected local average based on the omega-corrected data.
- 12. The method of claim 11, wherein the omega correction is performed as a function of w(x)=x1/w.
- 13. The method of claim 11, wherein the applying gamma adjustment further includes:
performing gamma correction on the omega-corrected local average to produce a gamma-with-omega-corrected local average; and converting the gamma-with-omega-corrected local average multiplied by the pixel data to the sub-pixel rendered data.
- 14. The method of claim 13, wherein the gamma correction is performed as a function of g−1w−1 (x)=(xw)γ−1.
- 15. A method of converting sampled data of an image for a display capable of displaying sub-pixel rendered data using three-color sub-pixel elements, the method comprising:
receiving the sampled data including a plurality of first data values, each of the first data values representing each data point of each color in the image; performing gamma correction on said each of the first data values in the sampled data to generate gamma-corrected data; and calculating the sub-pixel rendered data including a plurality of second data values based on the gamma-corrected data, each of the second data values corresponding to each sub-pixel element of each color on the display.
- 16. The method of claim 15, wherein the calculating the sub-pixel rendered data includes a calculation for a sub-pixel arrangement on the display including alternating red and green sub-pixel elements on at least one of a horizontal and vertical axis.
- 17. The method of claim 15, wherein the calculating the sub-pixel rendered data includes:
referring to a filter kernel including a plurality of coefficient terms; multiplying the gamma-corrected data for said each of the first data values by each corresponding one of the coefficient terms in the filter kernel; and adding each multiplied terms to generate said each of the second data values.
- 18. The method of claim 15, wherein the gamma correction compensates a response function of human eyes to luminance.
- 19. The method of claim 15, further comprising:
performing post-gamma correction on the sub-pixel rendered data, the post-gamma correction compensating a gamma function with which the display is equipped; and outputting the post-gamma corrected sub-pixel rendered data to the display.
- 20. The method of claim 15, wherein the gamma correction is performed as g−1(x)=xγ.
- 21. The method of claim 15, further comprising:
determining implied sample areas in the sampled data for said each data point of each color; and determining resample areas corresponding to each sub-pixel element of each color, and wherein the calculating the sub-pixel rendered data includes using a plurality of coefficient terms in a filter kernel, each of the coefficient terms representing an overlap percentage for a given one of the resample areas of overlapping each of the implied sample areas with said given one of the resample areas.
- 22. A method of converting sampled data of an image for a display capable of displaying sub-pixel rendered data using three-color sub-pixel elements, the method comprising:
receiving the sampled data including a plurality of first data values, each of the first data values representing each data point of each color in the image; generating gamma-adjusted data values for said each of the first data values in the sampled data; and calculating the sub-pixel rendered data including a plurality of second data values based on a multiplication of the gamma-adjusted data values and the first data values, each of the second data values corresponding to each sub-pixel element of each color on the display.
- 23. The method of claim 22, wherein the calculating the sub-pixel rendered data includes a calculation for a sub-pixel arrangement on the display including alternating red and green sub-pixel elements on at least one of a horizontal and vertical axis.
- 24. The method of claim 22, wherein the generating gamma-adjusted data values includes:
calculating a local average for said each of the first data values based on the sampled data; and performing gamma adjustment on the local average.
- 25. The method of claim 24, wherein the gamma adjustment is performed as a function of g−1(x)=xγ−1.
- 26. The method of claim 24, wherein the first data values comprise edge terms and a center term, and the calculating the local average includes:
calculating a first average with the center term for each of the edge terms; calculating a second average for the center term based on the first average.
- 27. The method of claim 24, wherein the first data values comprise edge terms and a center term, and the calculating the local average includes calculating an average with the center term for each of the edge terms, the generating gamma-adjusted data values further including:
generating a gamma-adjusted local average for the center term using the gamma-adjusted averages for the edge terms.
- 28. The method of claim 22, wherein the calculating the sub-pixel rendered data includes:
referring to a filter kernel including a plurality of coefficient terms; multiplying the gamma-adjusted data values for said each of the first data values by each corresponding one of the coefficient terms in the filter kernel and said each of the first data values; and adding each multiplied terms to generate said each of the second data values.
- 29. The method of claim 22, wherein the multiplication of the gamma-adjusted data values and the first data values compensates a response function of human eyes to luminance.
- 30. The method of claim 22, further comprising:
performing post-gamma correction on the sub-pixel rendered data, the post-gamma correction compensating a gamma function with which the display is equipped; and outputting the post-gamma corrected sub-pixel rendered data to the display.
- 31. The method of claim 22, further comprising:
determining implied sample areas in the sampled data for said each data point of each color; and determining resample areas corresponding to each sub-pixel element of each color, and wherein the calculating the sub-pixel rendered data includes using a plurality of coefficient terms in a filter kernel, each of the coefficient terms representing an overlap percentage for a given one of the resample areas of overlapping each of the implied sample areas with said given one of the resample areas.
- 32. The method of claim 31, wherein the first data values comprise corner terms, edge terms other than the corner terms, and a center term, and the calculating the sub-pixel rendered data includes:
making less use of a corresponding one of the first data values than indicated by the overlap percentage for each of the corner terms; and making more use of a corresponding one of the first data values than indicated by the overlap percentage for the center term.
- 33. The method of claim 22, wherein the first data values comprise corner terms, edge terms other than the corner terms, and a center term, and the calculating the sub-pixel rendered data includes:
weakening an effect of the corner terms; and strengthening an effect of the center term to balance the weakening.
- 34. The method of claim 33, wherein the multiplication uses the first data values in a first color for the edge terms and the center term, and the weakening and strengthening use the first data values in a second color for the corner terms and the center term.
- 35. The method of claim 22, wherein the generating gamma-adjusted data values includes:
calculating a omega-adjusted local average for said each of the first data values based on the sampled data; and performing gamma adjustment on the omega-adjusted local average.
- 36. The method of claim 35, wherein the calculating the omega-adjusted local average includes:
performing omega adjustment on said each of the first data values in the sampled data; and determining a local average for said each of the first data values based on the omega-adjusted sampled data.
- 37. The method of claim 36, wherein the omega adjustment is an approximation of a response function of human eyes to luminance.
- 38. The method of claim 35, wherein the gamma adjustment is performed as g−1w−1(x)=(w−1(x))γ−1 where w−1 (x) is an inverse function of w(x)=x1/w.
- 39. The method of claim 35, wherein the first data values comprise edge terms and a center term, and the calculating the omega-adjusted local average includes:
calculating a first omega-adjusted average with the center term for each of the edge terms; calculating a second omega-adjusted average for the center term based on the first omega-adjusted average.
- 40. The method of claim 35, wherein the first data values comprise edge terms and a center term, and the calculating the omega-adjusted local average includes calculating an omega-adjusted average with the center term for each of the edge terms, the generating gamma-adjusted data values further including:
generating a gamma-adjusted local average for the center term using the gamma-adjusted omega-adjusted averages for the edge terms.
- 41. The method of claim 22, wherein the generating gamma-adjusted data values includes:
performing omega adjustment for the first data values; and performing inverse omega adjustment to generate the gamma-adjusted data values such that the omega adjustment and the inverse omega adjustment affect the gamma-adjusted data values more as a spatial frequency of the image becomes higher.
- 42. A system for processing data for a display including pixels, each pixel having color sub-pixels, the system comprising:
a receiving module to receive pixel data; and a processing module to perform a conversion from the pixel data to sub-pixel rendered data and to apply gamma adjustment to the conversion, the conversion generating the sub-pixel rendered data for a sub-pixel arrangement including alternating red and green sub-pixels on at least one of a horizontal and vertical axis.
- 43. The system of claim 42, wherein the processing module is to provide linearity in color balancing of the sub-pixel rendered data.
- 44. The system of claim 43, wherein the processing module is to provide nonlinear calculation of luminance related to the sub-pixel rendered data
- 45. The system of claim 42, wherein the processing module is to perform gamma correction on the pixel data to produce gamma-corrected data, and converts the gamma-corrected data to the sub-pixel rendered data.
- 46. The system of claim 45, wherein the processing module is to perform gamma correction using a function of as g−1(x)=xγ.
- 47. The system of claim 42, wherein the processing module is to maintain a gamma value for the gamma adjustment for all spatial frequencies at a selected level, the selected level corresponding to a desired contrast ratio at a certain spatial frequency.
- 48. The system of claim 42, wherein the processing module is to calculate a local average based on the pixel data.
- 49. The system of claim 48, wherein the processing module is to perform gamma correction on the local average to produce a gamma-corrected local average, and the processing module is to convert the gamma-corrected local average multiplied by the pixel data to the sub-pixel rendered data.
- 50. The system of claim 49, wherein the processing module is to perform gamma correction using the function of as g−1(x)=xγ−1.
- 51. The system of claim 42, wherein a gamma value for the gamma adjustment is selected to increase with an increase in spatial frequency.
- 52. The system of claim 42, wherein the processing module is to perform omega correction on the pixel data to produce omega-corrected data and to calculate an omega-corrected local average based on the omega-corrected data.
- 53. The system of claim 52, wherein the processing module is to perform omega correction using a function of w(x)=x1/w.
- 54. The system of claim 52, wherein the processing module is to perform gamma correction on the omega-corrected local average to produce a gamma-with-omega-corrected local average and to convert the gamma-with-omega-corrected local average multiplied by the pixel data to the sub-pixel rendered data.
- 55. The system of claim 54, wherein the processing module is to perform gamma correction using the function of g−1w−1(x)=(xw)γ−1.
- 56. A computing system comprising:
a display having a plurality of pixels, wherein at least one of the pixels includes a sub-pixel arrangement of alternating red and green sub-pixels in at least one of a horizontal axis and vertical axis; and a controller coupled to the display, the controller to process pixel data, to apply gamma adjustment to a conversion from the pixel data to sub-pixel rendered data, the conversion generating the sub-pixel rendered data for the sub-pixel arrangement, and to output the sub-pixel rendered data on the display.
- 57. A controller for a display comprising:
a receiving unit to receive pixel data; and a processing unit to apply gamma adjustment to a conversion from the pixel data to sub-pixel rendered data, the conversion generating the sub-pixel rendered data for the sub-pixel arrangement, and to output the sub-pixel rendered data on the display.
- 58. A computer-readable medium storing instructions, which if executed by a computing system, causes the computing system to perform a method for processing data for a display including pixels, each pixel having color sub-pixels, the method comprising:
receiving pixel data; applying gamma adjustment to a conversion from the pixel data to sub-pixel rendered data, the conversion generating the sub-pixel rendered data for a sub-pixel arrangement including alternating red and green sub-pixels on at least one of a horizontal and vertical axis; and outputting the sub-pixel rendered data.
- 59. A computer-readable medium storing instructions, which if executed by a computing system, causes the computing system to peform a method of converting sampled data of an image for a display capable of displaying sub-pixel rendered data using three-color sub-pixel elements, the method comprising:
receiving the sampled data including a plurality of first data values, each of the first data values representing each data point of each color in the image; performing gamma correction on said each of the first data values in the sampled data to generate gamma-corrected data; and calculating the sub-pixel rendered data including a plurality of second data values based on the gamma-corrected data, each of the second data values corresponding to each sub-pixel element of each color on the display.
- 60. A computer-readable medium storing instructions, which if executed by a computing system, causes the computing system to perform a method of converting sampled data of an image for a display capable of displaying sub-pixel rendered data using three-color sub-pixel elements, the method comprising:
receiving the sampled data including a plurality of first data values, each of the first data values representing each data point of each color in the image; generating gamma-adjusted data values for said each of the first data values in the sampled data; and calculating the sub-pixel rendered data including a plurality of second data values based on a multiplication of the gamma-adjusted data values and the first data values, each of the second data values corresponding to each sub-pixel element of each color on the display.
RELATED APPLICATIONS
[0001] This application is a continuation-in-part and claims priority to U.S. patent application Ser. No. 10/051,612 (“the '612 application”), entitled “CONVERSION OF A SUB-PIXEL FORMAT DATA TO ANOTHER SUB-PIXEL DATA FORMAT,” filed on Jan. 16, 2002, which is hereby expressly incorporated herein by reference. This application also claims priority to U.S. Provisional Patent Application No. 60/311,138, entitled “IMPROVED GAMMA TABLES,” filed on Aug. 8, 2001; U.S. Provisional Patent Application No. 60/312,955, entitled “CLOCKING BLACK PIXELS FOR EDGES,” filed on Aug. 15, 2001; U.S. Provisional Application No. 60/312,946, entitled “HARDWARE RENDERING FOR PENTILE STRUCTURES,” filed on Aug. 15, 2001; U.S. Provisional Application No. 60/314,622, entitled “SHARPENING SUB-PIXEL FILTER,” filed on Aug. 23, 2001; and U.S. Provisional Patent Application No. 60/318,129, entitled “HIGH SPEED MATHEMATICAL FUNCTION EVALUATOR,” filed on Sep. 7, 2001, which are all hereby expressly incorporated herein by reference.
[0002] The '612 application claims priority to U.S. Provisional Patent Application No. 60/290,086, entitled “CONVERSION OF RGB PIXEL FORMAT DATA TO PENTILE MATRIX SUB-PIXEL DATA FORMAT,” filed on May 9, 2001; U.S. Provisional Patent Application No. 60/290,087, entitled “CALCULATING FILTER KERNEL VALUES FOR DIFFERENT SCALED MODES,” filed on May 9, 2001; U.S. Provisional Patent Application No. 60/290,143, entitled “SCALING SUB-PIXEL RENDERING ON PENTILE MATRIX,” filed on May 9, 2001; and U.S. Provisional Patent Application No. 60/313,054, entitled “RGB STRIPE SUB-PIXEL RENDERING DETECTION,” filed on Aug. 16, 2001, which are all hereby expressly incorporated herein by reference.
Provisional Applications (9)
|
Number |
Date |
Country |
|
60290086 |
May 2001 |
US |
|
60290087 |
May 2001 |
US |
|
60290143 |
May 2001 |
US |
|
60313054 |
Aug 2001 |
US |
|
60311138 |
Aug 2001 |
US |
|
60312955 |
Aug 2001 |
US |
|
60312946 |
Aug 2001 |
US |
|
60314622 |
Aug 2001 |
US |
|
60318129 |
Sep 2001 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10051612 |
Jan 2002 |
US |
Child |
10150355 |
May 2002 |
US |