ADAPTIVE GAMMA CONTROL TO SUPPRESS VARIABLE REFRESH RATE FLICKER
20230245629 · 2023-08-03
Assignee
Inventors
Cpc classification
G09G2340/0435
PHYSICS
G09G2320/0673
PHYSICS
International classification
Abstract
An information handling system presents visual images at a display through a scalar that adjusts the visual images with a gamma lookup table selected from plural gamma lookup tables based upon a refresh rate of the display. As a graphics processor commands variable refresh rates, a blanking period is used to adjust the refresh rates and a gamma lookup table selection is applied during the blanking period to encourage uniform luminance. Each gamma lookup table is stored in a separate SRAM and input to a multiplexor that uses the refresh rate to select which gamma adjusted visual image is presented at the display.
Claims
1. An information handling system comprising: a processor operable to execute instructions that process information to generate visual information for presentation at a display; a memory interfaced with the processor and operable to store the instructions, the information and the visual information; a graphics processing unit interfaced with the processor and memory and operable to further process the visual information to define pixel values for application at pixels of a display panel to present a visual image defined by the visual information, the graphics processing unit further operable to command a variable refresh rate for application of the pixel values to the pixels, the variable refresh rate including at least a first and second refresh rate; a display interfaced with the graphics processing unit and having plural pixels that generate colors to present the visual image based upon the pixel values; a scalar included with the display, the scalar applying values of a first gamma lookup table to adjust the pixel values with the first refresh rate and applying values of a second gamma lookup table to adjust the pixel values with the second refresh rate; a first SRAM of the scalar storing the first gamma lookup table, the scalar applying the first gamma lookup table when the first refresh rate is commanded from the graphics processing unit; and a second SRAM of the scalar storing the second lookup table, the scalar applying the second gamma lookup when the second refresh rate is communicated from the graphics processing unit.
2. (canceled)
3. The information handling system of claim 1 further comprising: a multiplexor included in the scalar and interfaced with the first and second SRAMs and the variable refresh rate of the graphics processing unit; wherein the graphics processing unit pixel values are applied to the first and second gamma lookup tables of the first and second SRAMs, the multiplexor selecting the first gamma lookup table adjustments when the first refresh rate is commanded and the second gamma lookup table adjustments when the second refresh rate is commanded.
4. The information handling system of claim 3 wherein a change from the first to second refresh rate is performed by inserting a blanking period between the presentation of pixel values with the first refresh rate and the second refresh rate and the second gamma lookup table is applied during the blanking period.
5. The information handling system of claim 4 wherein the display comprises a liquid crystal display panel having liquid crystal display pixels.
6. The information handling system of claim 5 further comprising a gaming application executing on the processor and having a variable rendering frame rate, the graphics processing unit commanding a variable refresh rate associated with the variable rendering frame rate.
7. The information handling system of claim 1 wherein: the display has plural refresh rates to scan pixel values to the pixels; and the scalar stores a separate gamma lookup table for application with each of the plural refresh rates.
8. The information handling system of claim 7 wherein each separate gamma lookup table is stored in a separate SRAM of the scalar.
9. The information handling system of claim 7 wherein the display synchronizes a refresh rate with a rendering frame rate of an application by adjusting a blanking period.
10. A method for presenting visual images at a display, the method comprising: presenting visual information at the display with a first refresh rate; applying a first gamma lookup table to adjust the visual information for presentation at the first refresh rate; commanding presenting of the visual information with a second refresh rate; in response to the commanding, applying a second gamma lookup table to adjust the visual information for presentation at the second refresh rate; presenting the visual information at the display with the second refresh rate; storing the first gamma lookup table in a first SRAM of a scalar of the display; and storing the second gamma lookup table in a second SRAM of the scalar.
11. The method of claim 10 further comprising: applying a blanking period between the presenting the visual information with the first refresh rate and the presenting the visual information with the second refresh rate; and changing from the first gamma lookup table to the second gamma lookup table during the blanking period.
12. The method of claim 11 wherein the display refresh rate synchronizes with a rendering frame rate by adjusting the blanking period.
13. (canceled)
14. The method of claim 10 further comprising: applying the commanding presenting of the visual information with a second refresh rate as an input to a multiplexor of the scalar; and in response, changing the multiplexor output from an application of the visual information to the first SRAM to an application of the visual information to the second SRAM.
15. The method of claim 10 further comprising: integrating a separate SRAM in a scalar of the display for each refresh rate; and storing in each of the separate SRAMs a gamma lookup table associated with a separate one of the refresh rates.
16. The method of claim 15 wherein for each refresh rate the associated gamma lookup table adjusts the visual information to present with a uniform luminance.
17. A display scalar comprising: a video input configured to accept a rendered image and refresh rate from a graphics processing unit; a first gamma lookup table associated with a first refresh rate; a second gamma lookup table associated with a second refresh rate; logic device operable to apply the first gamma lookup table to the rendered image when the first refresh rate is selected and to apply the second gamma lookup table to the rendered image when the second refresh rate is selected; a first SRAM integrated in the scalar and storing the first gamma lookup table; and a second SRAM integrated in the scalar and storing the second gamma lookup table.
18. (canceled)
19. The display scalar of claim 17 wherein the logic device comprises a multiplexor having the first gamma lookup table applied to the rendered image as a first input, the second gamma lookup table applied to the rendered image as a second input, and the refresh rate as a selector input that defines whether the first input or second input is selected as an output to display pixels.
20. The display scalar of claim 17 integrating a separate SRAM to store a separate gamma lookup table for each of plural refresh rates supported by a display.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element.
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
DETAILED DESCRIPTION
[0018] An information handling system graphics processing unit commands variable refresh rates at a display having a scalar that applies a selected of plural gamma lookup tables to rendered images based upon the refresh rate. For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
[0019] Referring now to
[0020] Display 26 presents visual images with pixels 30 of a display panel 28, with each pixel presenting a color as defined by the pixel values communicated from GPU 22. In the example embodiment, display 26 is a liquid crystal display (LCD) having liquid crystal pixels illuminated by a backlight. In alternative embodiments, alternative types of displays may be used, such as organic light emitting diode (OLED) displays having OLED pixels. A display system interface board 32 of display 26 accepts the pixel values from display cable 24 with a timing controller 34 supported by a scalar 36 and memory buffer 38, and scans the pixel values to pixels 30 at a refresh rate or frequency that is high enough so that the human eye cannot detect discreet changes in color and instead see the image as a whole as a video. For example, timing controller 34 follows a predefined scan pattern to read pixel values from memory buffer 38 and write the pixel values to pixels 30. Scalar 36 provides adjustments to the pixel values so that the GPU generated data accurately depicts the visual image intended by the application given the specific capabilities of display 26. For instance, in various example embodiments, scalar 36 performs resolution correction to adjust pixel values provided from GPU 22 to the resolution of the array of pixels 30 used in display panel 28. In the present example embodiment, scalar 36 performs gamma correction of the pixel values so that the visual image presented at display panel 28 has the luminance and depth intended by the application that defined the visual information.
[0021] Scalar 36 helps to prevent undesired flicker in visual images presented at display panel 28 related to changes in luminance of the visual image as variable refresh rate commands 42 are applied to change the refresh rate of pixels 30. For example, if gamma correction applied by scalar 36 is from a single gamma lookup table 40, then each refresh rate will have a slightly different luminance response for the same pixel values, resulting in a flicker of luminance change each time the refresh rate is changed. To help prevent and/or limit variable refresh rate flicker, scalar 36 includes plural gamma lookup tables 40 with each gamma lookup table associated with one or more refresh rates. As a variable refresh rate command 42 is communicated from GPU 22, scalar 36 selects a gamma lookup table 40 associated with the refresh rate and applies the gamma values of the selected gamma lookup table to gamma correct the pixel values and thereby provide a more uniform display luminance through variable refresh rate command applications. In the example embodiment, display system interface board 32 includes timing controller 34 and scalar 40, however, in alternative embodiments alternative arrangements of hardware components may be used, such as mounting timing controller 34 with display panel 28. Further, in various embodiments other processing elements may be used to perform the described functions and the display may be integrated in a portable information handling system and/or a peripheral display device.
[0022] Referring now to
[0023] At step 48, when a determination is made that a variable refresh rate command has changed the display refresh rate, the process continues to step 54 to change the gamma lookup table used by the scalar for applying gamma correction to generated gamma corrected pixel values for use by the display panel pixels. At step 54 a gamma lookup table is selected for the refresh rate that is commanded for the display. In various embodiments, a gamma lookup table is stored in the scalar for each available display refresh rate. Alternatively, one gamma lookup table might support multiple display refresh rates, such as a range of display rates. At step 56, the gamma correction of the selected gamma lookup table is applied by the scalar to correct the pixel values. At step 58 the visual image is presented at the display with gamma correction applied for the refresh rate in use at the display. The process returns to step 44 to continue presenting visual images with the gamma correction for the selected refresh rate until a refresh rate change command is detected at step 48. By changing the gamma lookup table at each change in refresh rate, a more uniform luminance is provided over time.
[0024] Referring now to
[0025] Referring now to
[0026] Referring now to
[0027] Referring now to
[0028] Referring now to
[0029] Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.