COLOR TEMPERATURE ADJUSTMENT INDEPENDENT OF SCALER COLOR SPACE
20220239804 · 2022-07-28
Assignee
Inventors
Cpc classification
H04N1/644
ELECTRICITY
H04N1/603
ELECTRICITY
International classification
Abstract
A disclosed scaler resource includes a color management module configured to support two or more color space transformations and two or more color temperature adjustment profiles and to receive first pixel data and perform color processing of the first pixel data to produce second pixel data. The color processing includes a color space transformation in accordance with any of the supported color space transformation matrices and a color temperature adjustment in accordance with any of the supported color temperature adjustment profiles. The color processing is configured wherein a ratio of primary colors produced by performing the color processing on first pixel data corresponding to any primary color is independent of the selected color temperature adjustment profile. The color space transformation may be performed before or after the color temperature adjustment. When performed before, the color transformation matrix is modified to reflect the color temperature adjust profile.
Claims
1. A scaler resource, wherein the scaler resource includes a color management module configured to: support two or more color space transformations and two or more color temperature adjustment profiles; receive first pixel data; and perform color processing of the first pixel data to produce second pixel data, wherein the color processing includes: a color space transformation in accordance with any color space transformation matrix selected from the one of the two or more color space transformation matrices; and a color temperature adjustment in accordance with any color temperature adjustment profile selected from the of two or more color temperature adjustment profiles; wherein a ratio of primary colors produced by performing the color processing on first pixel data corresponding to a primary color is independent of the selected color temperature adjustment profile.
2. The scaler resource of claim 1, wherein performing the color processing comprises performing the color space transformation after performing the color temperature adjustment.
3. The scaler resource of claim 1, wherein performing the color processing includes performing the color space transformation before performing the color temperature adjustment.
4. The scaler resource of claim 3, wherein the performing the color space transformation before the color temperature adjustment incudes modifying the color space transformation matrix based on the color temperature adjustment profile and modifying the color temperature adjust profile to reflect a gain of unit for all primary colors.
5. The scaler resource of claim 4, wherein modifying the color space transformation matrix comprises multiplying the color space transformation matrix by a scaling matrix, wherein the scaling matrix is equivalent to multiplying a unity matrix by a vector corresponding to the color temperature adjustment profile.
6. The scaler resource of claim 1, wherein the color management module further includes a linearization block to transform gamma corrected pixel data received from a host to linear pixel data prior to the color processing.
7. The scaler resource of claim 6, wherein the color management module further includes a gamma restore block to apply gamma correction to the second pixel data.
8. A display device, comprising: a display panel; timing control logic to drive the display panel in accordance with pixel data; and a scaler resource configured to provide pixel data to the timing control logic, wherein the scaler resource includes a color management module configured to: support two or more color space transformations and two or more color temperature adjustment profiles; receive first pixel data; and perform color processing of the first pixel data to produce second pixel data, wherein the color processing includes: a color space transformation in accordance with any color space transformation matrix selected from the one of the two or more color space transformation matrices; and a color temperature adjustment in accordance with any color temperature adjustment profile selected from the of two or more color temperature adjustment profiles; wherein a ratio of primary colors produced by performing the color processing on first pixel data corresponding to a primary color is independent of the selected color temperature adjustment profile.
9. The display device of claim 8, wherein performing the color processing comprises performing the color space transformation after performing the color temperature adjustment.
10. The display device of claim 8, wherein performing the color processing includes performing the color space transformation before performing the color temperature adjustment.
11. The display device of claim 10, wherein the performing the color space transformation before the color temperature adjustment incudes modifying the color space transformation matrix based on the color temperature adjustment profile and modifying the color temperature adjust profile to reflect a gain of unit for all primary colors.
12. The display device of claim 11, wherein modifying the color space transformation matrix comprises multiplying the color space transformation matrix by a scaling matrix, wherein the scaling matrix is equivalent to multiplying a unity matrix by a vector corresponding to the color temperature adjustment profile.
13. The display device of claim 8, wherein the color management module further includes a linearization block to transform gamma corrected pixel data received from a host to linear pixel data prior to the color processing.
14. The display device of claim 13, wherein the color management module further includes a gamma restore block to apply gamma correction to the second pixel data.
15. An information handling system, comprising: a central processing unit (CPU); a graphics module configured to generate pixel data in accordance with video information received from the CPU; and a display device configured to display images in accordance with the pixel data, wherein the display device includes a scaler resource, wherein the scaler resource includes a color management module configured to: support two or more color space transformations and two or more color temperature adjustment profiles; receive first pixel data; and perform color processing of the first pixel data to produce second pixel data, wherein the color processing includes: a color space transformation in accordance with any color space transformation matrix selected from the one of the two or more color space transformation matrices; and a color temperature adjustment in accordance with any color temperature adjustment profile selected from the of two or more color temperature adjustment profiles; wherein a ratio of primary colors produced by performing the color processing on first pixel data corresponding to a primary color is independent of the selected color temperature adjustment profile.
16. The scaler resource of claim 15, wherein performing the color processing comprises performing the color space transformation after performing the color temperature adjustment.
17. The scaler resource of claim 15, wherein performing the color processing includes performing the color space transformation before performing the color temperature adjustment.
18. The scaler resource of claim 17, wherein the performing the color space transformation before the color temperature adjustment incudes modifying the color space transformation matrix based on the color temperature adjustment profile and modifying the color temperature adjust profile to reflect a gain of unit for all primary colors.
19. The scaler resource of claim 18, wherein modifying the color space transformation matrix comprises multiplying the color space transformation matrix by a scaling matrix, wherein the scaling matrix is equivalent to multiplying a unity matrix by a vector corresponding to the color temperature adjustment profile.
20. The scaler resource of claim 15, wherein the color management module further includes: a linearization block to transform gamma corrected pixel data received from a host to linear pixel data prior to the color processing; and a gamma restore block to apply gamma correction to the second pixel data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION
[0017] Preferred embodiments and their advantages are best understood by reference to
[0018] For the 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, entertainment, or other purposes. For example, an information handling system may be a personal computer, a personal digital assistant (PDA), a consumer electronic device, a network data storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more data storage devices, one or more communications 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 communication between the various hardware components.
[0019] In this disclosure, the term “information handling resource” may broadly refer to any component system, device or apparatus of an information handling system, including without limitation processors, buses, memories, input-output devices and/or interfaces, storage resources, network interfaces, motherboards, electro-mechanical devices (e.g., fans), displays, and power supplies.
[0020] Referring now to the drawings,
[0021] It will be readily appreciated by those of ordinary skill in the field of information handling system design and operation that host 101 is configured to boot one or more instances of an operating system (not depicted in
[0022] Display information may then be processed by a resource such as GPU 131 to obtain pixel data, which may then be encoded into a stream of video content suitable for delivery to a display controller. Pixel data may include pixel-specific color and brightness information for each pixel in a sequence of image frames. Pixel data may be sent to a display controller for additional processing and, ultimately, presentation to the display panel.
[0023] The host 101 illustrated in
[0024] The information handling resources illustrated in
[0025] An interconnect 105 illustrated in
[0026] The host memory 112 illustrated in
[0027] The graphics module 130 illustrated in
[0028] In some embodiments, graphics module 130 may be implemented as a video card or video board, in which any one or more of the illustrated elements of graphics module 130 are affixed to a printed circuit board configured to connect to a motherboard (not depicted) of host 101. In other embodiments, some or all of the illustrated elements of graphics module 130 may be embedded in a host system motherboard or integrated within CPU 110, chipset 120, or another one or more of the illustrated information handling resources.
[0029] The display controller 170 illustrated in
[0030] Controller resource 171 may be implemented in any suitable configuration capable of performing the disclosed controller operations. As non-limiting examples, controller resource 171 may be a programmable integrated circuit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a CPU or other processing device. In some embodiments, display controller 250 may comprise, or be configured to execute, software and/or firmware to perform one or more of the operations noted herein.
[0031] The controller resource 171 illustrated in
[0032] The scaler 174 illustrated in
[0033] Controller resource 171, in conjunction with scaler 174 and OSD 173, may process incoming pixel data from host 101 and provide the processed pixel data to timing control logic 175. The timing control logic 175 illustrated in
[0034] The color management features of the display device 102 illustrated in
[0035] Referring now to
[0036] In at least one embodiment, scaler 174 supports two or more color spaces and enables end users to apply any of one or more preconfigured or user-defined color temperature adjustments. As depicted in
[0037] Each color space transformation descriptor 230 may enable a corresponding color space standard by specifying a color space transformation matrix suitable for transforming first pixel data 201 into second pixel data 202 formatted in accordance with applicable color space standard. Exemplary color spaces that may be represented by a color space transformation descriptor 230 in
[0038] Referring now to
[0039] First pixel data 201 received from host 101 may include gamma-corrected RGB values, calculated by the host in accordance with a gamma value of 2.2, 2.6, or some other suitable or standardized value of gamma. In such embodiments, first pixel data 201 may be represented as a 3-dimensional vector such as
where the gamma subscript conveys that the applicable value is a gamma-corrected value. In at least one embodiment, linearization block 312 effectively removes gamma correction from the gamma adjusted vector
received from host 101. The removal of gamma correction is represented in
and the output or linearization block 312 is represented as
Thus:
[0040]
R′=R.sub.γ.sup.(1/γ),G′=G.sub.γ.sup.(1/γ), and B′=B.sub.γ.sup.(1/γ)
[0041] Extracting gamma correction in linearization block 312 beneficially facilitates and simplifies the subsequent operations, including the operations performed within T&T module 314.
which are then processed in gamma restoration block 316 to obtain second pixel data 202.
[0042] Referring now to
[0043] Referring specifically to
339 into output vector
341 in accordance with one of the color space transformation descriptors 230 corresponding to the desired or selected color space. Each color space transformation descriptor 230 may represent a matrix, such as the 3×3 color space transformation descriptor 343 illustrated in
output vector 341 is equal to
[0044] The color temperature adjustment block 350 shown in
341 and the color temperature adjustment profile vector
351 to generate the transformed vector
353. In this embodiment,
[0045] To evaluate the impact of performing color temperature adjustment after color space transformation, the primary signals may be evaluated individually. For the red primary,
R′=1 and
G′=B′=0
Therefore,
R″=c.sub.11;G″=c.sub.21; and B″=c.sub.31
[0046] For a native color temperature, the red, green, and blue gains are 1, which results in the following transformed values for the red primary.
R.sub.T=c.sub.11;G.sub.T=c.sub.21; and B.sub.T=c.sub.31
[0047] If however, the color temperature is adjusted with a color temperature profile having red, blue, and green gains equal to r, g, and b respectively, then the transformed values of red, blue, and green are as follows:
R.sub.T=r.Math.c.sub.11 and G.sub.T=g.Math.c.sub.21 and B.sub.T=b.Math.c.sub.31
[0048] The R/G/B ratio with native color temperature is
c.sub.11/c.sub.21/c.sub.31
[0049] whereas the R/G/B ratio when the color temperature is adjusted to a color temperature that is non-native is
rc.sub.11/gc.sub.21/bc.sub.31
[0050] Assuming r, g, and b include at least two values that are not equal, the transformation of the red primary varies depending on the color temperature adjustment profile, which is a generally undesirable result.
[0051] Referring to
rc.sub.11/rc.sub.21/rc.sub.31
[0052] and the R/G/B ratio is the same as the R/G/B ratio with native temperature adjustment, i.e., the composition of the color-space-transformed primary colors will not affected by different color temperature adjustments. While the embodiment depicted in
[0053] To achieve independence between color transformation and color temperature within a scaler design that performs color transformation before performing color temperature adjustment,
[0054] More specifically, the color space transformation descriptor 343 is scaled in accordance with the color temperature adjust profile by multiplying the original color space transformation descriptor 343 by a scaling matrix 344 of the form
where r, g, and b are the gain values for the color temperature adjustment profile. Multiplying the original color space transformation matrix by the scaling matrix results in a scaled color space transformation matrix of the form
[0055] Because the color temperature adjustment profile has been effectively incorporated into the color space transformation module, the gain profile of the color temperature adjustment module is set to unity
The net result is a function that is equivalent to the T&T module of
[0056] Although the present disclosure 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 the scope of the disclosure as defined by the appended claims.