Liquid crystal display (LCD) screens are widely used desktop or other computing environments. An LCD module includes a liquid crystal panel, a backlight, and associated drive electronics. An LCD display can include an LCD module and associated front end electronics that may include video inputs, peripheral inputs (e.g. USB), scaler, processor, power supply electronics, etc. Color critical displays are widely used in professional photography, video and/or graphics environments, or other environments in which color critical displays may be desired.
Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
Reference is now made to
For example, the Adobe® RGB color space is defined by the first triangle 102. In other words, the first triangle 102 defines the color gamut of a display device conforming to the Adobe® RGB output device specification within the depicted 1976 CIE u′v′ color space. The second triangle 104 can define defines a sRGB/Rec. 709 output device specification. The third triangle 106 can define a SMPTE-C output device specification. Other output device specifications can also be plotted without the 1976 CIE u′v′ color space depicted in the chomaticity chart 100 as can be appreciated. It should also be appreciated that the depicted color gamuts on the chromaticity chart 100 are not necessarily to scale, and are shown to illustrate that various output device specifications have varying color gamuts within the 1976 u′v′ CIE color space 101.
These standard output device specifications represent an expected response by a display that is designed to comply with such a specification. In other words, for a given input value for a particular pixel on such a display, any display conforming to a particular standard output device specification is expected to emit substantially the same perceived colors for a given set of input values as another device conforming to the same standard. Stated another way, any display conforming to the particular standard output device specification is expected to have substantially the same transfer function or gamma response curve. In addition, these specifications also specify other color space settings, including, but not limited to, RGB primaries, white point, and white luminance with which a conforming display must comply. The RGB primaries of a standard output device specification specify the chromaticities of primary colors (e.g., red, green and blue). Likewise, a white point specified by a standard output device specification define tristimulus values and/or chromaticity coordinates that serve to define a target white or reference white of a conforming display.
Reference is now made to
In addition, an LED backlight is employed, as opposed to a cold cathode fluorescent lamp (CCFL) backlight, which permits white point control of via the backlight without adjusting red, green, and/or blue maximum levels of the subpixels of the panel itself. In other words, because the red, green, and blue channels of the backlight can be independently controlled, a white point can be chosen and/or varied according to various standard output device specifications without compensating the maximum subpixel values assignable for red, green, and blue subpixels, which can often be a compromise employed in a display employing a CCFL backlight.
Reference is now made to
It should be appreciated that various standard output device specifications can define varying color gamuts, each having a varying definition of a white point. Accordingly, as noted above, the RGB LED backlight 304 permits an adjustable white point depending on a standard output device specification chosen, which can be employed without adjusting the maximum subpixel values assignable for red, green, and blue subpixels of the LCD panel 306 in order to compensate for a non-white output of an alternative backlight.
Reference is now made to
Reference is now made to
Because the native color gamut of the LCD panel “encloses” various gamuts corresponding to standard output device specifications used in the art, the adjusted input values can be generated by the color gamut mapping engine 502 cause the LCD display 202 to emulate a standard output device specification. In other words, as noted with respect to the discussion regarding
The color gamut mapping engine 502 can also allow a user to select from among various standard output device specifications that can be preprogrammed in the color gamut mapping engine 502. In one embodiment, the color gamut mapping engine 502 or other memory accessible to the LCD display 201 can be configured to store the various color space settings of various standard output device specifications, including, but not limited to, sRGB, SMPTE-C, Adobe® RGB, and SMPTE-431-2. In another embodiment, the color gamut mapping engine 502 or other memory can be configured to store settings that direct how input values and/or the RGB LED backlight should be adjusted in order to compensate for the native properties of the LCD panel such that the LCD display 202 complies with various standard output device specifications.
Accordingly, a user may select a standard output device specification that the user wishes the LCD display 202 to emulate. Additionally, the user may switch between various specifications that the LCD display 202 can emulate, which provides the ability for a user to view content in various output device specifications on a single LCD display 202 without having to recalibrate the monitor for each specification. The color gamut mapping engine 502 can be configurable in this way by commands sent via an input/output interface 504 to the LCD display 202. An input/output interface can include, but is not limited to, a Universal Serial Bus (USB) interface, Ethernet interface, a Data Display Channel/Command Interface (DDC/CI), and other input/output interfaces as can be appreciated.
Additionally, a user may also specify various color space settings that can include, but are not limited to: RGB primary chromaticities, display white point, gamma or transfer function, luminance, or other display properties or color space settings that may vary from those specified by a standard device output specification. Accordingly, a user interface to facilitate such functionality can be provided on a personal computer via color calibration software or within the LCD display 201 itself via an on screen display (OSD) that can be overlaid onto the input video signals processed by the LCD display 201 and/or one or more input devices (e.g. buttons, touch screen) on the LCD display 201. These user defined settings can be stored within the color gamut mapping engine 502 or other memory accessible to the LCD display 2021. In this way, a user to create, calibrate, and store these various monitor settings and switch between user defined settings and/or standard output device specifications without a complete recalibration of the monitor.
Reference is now made to
As noted above, input values can be received in terms of RGB codes, or other values generated by a graphics subsystem of a computer system or the like. These input values can be gamma corrected or mapped to an intensity of light output by the device for each primary color, or light output levels, which may also be referred to herein as a transfer function or gamma curve of a display. The gamma corrected input values are then output to a display, which causes pixels and/or subpixels of a display panel, cathode ray tube (CRT) or the like to display an image. Because a specific display panel may possess its own native light output function, the output values in terms of light output, or in terms of the specific primary colors and their intensities, depend on such a native light output function, as can be appreciated.
With specific reference to the drawing of
As a non-limiting example, if the display device 602 conforms to the sRGB specification, it should be appreciated that the gamma of the sRGB specification is approximately 2.2. Accordingly, the native transfer function block 604 applies such a transfer function to the input values to the display device 602. These gamma corrected input values produced by the native transfer function block 604 are accordingly interpreted by the standardized display panel or other display component, which map the gamma corrected input values to resulting output levels of the correct intensity and color in the form of a standardized output. The standardized output represents the light output by a standardized display having a standardized display panel with a standardized light output function 606 (As) and implementing a standardized transfer function or gamma curve (γS) as defined by a standardized output device specification. In one embodiment, the standardized light output function 606 (As) can be implemented as a matrix multiplication operation of the gamma corrected input values and appropriate tristimulus values for the primaries, white point, luminance of a display.
Reference is now made to
In other words, the non-standard native transfer function block 704 applies such a transfer function to the input values to the non-standard display 702. These gamma corrected input values produced by the non-standard native transfer function block 704 are accordingly interpreted by a display panel of the non-standard display 702, which maps the gamma corrected input values to resulting output levels of an intensity and color in the form of a non-standard output. The non-standard output represents the light output by the non-standard display 702 having a non-standard display panel with a native light output function (AD) and implementing a non-standard transfer function or gamma curve (γD) that varies from those specifically defined standard output device specifications. It should be appreciated that in the context of this disclosure, a non-standard display 702 can also refer to a display that conforms to a first standard output device specification where as user may desire a second output device specification.
Accordingly,
Accordingly, an LCD display 202 according to an embodiment of the disclosure includes an LCD panel 302 and RGB LED backlight 304 as discussed hereinabove. In addition, the LCD display 202 is configured with a color gamut mapping engine 502. In one embodiment, the LCD display 202 and/or LCD panel 302 possesses native characteristics (e.g., γD and AD) that can be known or ascertained by determining the response characteristics of the LCD panel to various inputs. As can be appreciated, even LCD panels 302 of the same manufacture can have slight variations in response characteristics. Accordingly, the color gamut mapping engine 502 can be configured based upon the response characteristics of the LCD panel 302 so that input values can be adjusted to allow the LCD display 202 to conform to a variety of standard output device specifications. Because the native response characteristics of the LCD display 202 are known or can be ascertained, the color gamut mapping engine 502 can adjust input values to compensate for the native characteristics so that, for example, the native gamma curve and light output function cause the output from the LCD display 202 to conform to a standardized output.
Reference is now made to
Accordingly, the color specification transform block 903 applies a target transfer function defined by a standard output device specification to the input values and outputs a standardized gamma corrected input value associated with each of the input values. As noted above, in the case of input values that are in the form of RGB codes, the color specification transform block 903 can be implemented as at least one lookup table that translates an RGB code and/or its components (e.g. values corresponding to red, green, and blue) into corresponding a corresponding gamma adjusted RGB code and/or components (e.g., a gamma adjusted red, green, and blue). Accordingly, such a lookup table can facilitate translation of the input values to standardized gamma corrected input values.
The color gamut mapping engine 502 further includes a device compensation block 905 that adjusts the standardized gamma corrected input values to compensate for the native characteristics of the LCD display and/or LCD panel employed. As noted above, the native gamma curve or transfer function and native light output function, or the LCD display characteristics, can be known or ascertained. Accordingly, the device compensation block 905 adjusts the standardized gamma corrected input values so that the native gamma curve and native light output function result in standardized output by the LCD display 202 according to a standard output device specification. Therefore, the device compensation block 905 receives the standardized gamma corrected input values and outputs adjusted input values that can be interpreted by the LCD display 202 and/or LCD panel 302 (according to the native characteristics of the LCD display and/or LCD panel) to produce standardized light output from the LCD display.
Reference is now made to
As described above, in the case of input values that are in the form of RGB codes, a gamma curve or a transfer function can be implemented as at least one lookup table that translates an RGB code and/or its components (e.g. values corresponding to red, green, and blue) into corresponding a corresponding gamma adjusted RGB code and/or components (e.g., a gamma adjusted red, green, and blue). In other words, such a lookup table can include a plurality of possible standardized gamma corrected input values associated with a plurality of possible input values. Accordingly, such a lookup table can be configured to implement a standardized gamma curve defined by a standard output device specification.
In the depicted embodiment, the device compensation block 905 includes a matrix multiplier 1006 configured to multiply the standardized gamma corrected input values by a transformation matrix and produce a plurality of multiplied input values corresponding to each of the standardized gamma corrected input values. In the case of input values that correspond to RGB codes, the matrix multiplier 1006 outputs a plurality of multiplied input values corresponding to each component of an RGB code (e.g., red, green, and blue). In one embodiment, the transformation matrix employed by the matrix multiplier 1006 is an inverse of the native light output function of the LCD display multiplied by a standardized light output function corresponding to a standard output device specification. As referenced above, a light output function corresponding to an LCD display and/or LCD panel can be implemented as a matrix multiplication operation gamma corrected input values and appropriate tristimulus values for the primaries, white point, luminance of a display. In the depicted example, the inverse of the native light output function of the LCD display and a standardized light output function can be represented by respective matrices that are combined to form the transformation matrix.
The values output by the matrix multiplier 1006, or multiplied input values, are then inverse gamma corrected using an inverse of the native gamma curve or transfer function (γD−1) of the LCD display. Accordingly, the native inverse transfer function block 1008 can apply the native inverse transfer function and generate adjusted input values that the LCD display and/or LCD panel can interpret and cause light to be output by the various pixels and/or subpixels therein. The resulting output from the LCD display can be a standardized output according to a standard output device specification.
In other words, because the properties of a standard output device specification (e.g., transfer function and light output function) can be known or ascertained, the color gamut mapping engine 502 can be configured to allow an LCD display 202 having native properties that vary from a specification to respond to input values as a display conforming to a standard output device specification would respond. In addition, because the LCD panel 306 and RGB LED backlight 304 allow the display to possess a native color gamut that is broader than various standard output device specifications, an LCD display 202 according to an embodiment of the disclosure can comply with a wide range of standard output device specifications employed in the art.
Reference is now made to
In this respect, in step 1101, the color gamut mapping engine 502 receives input values input values received from a graphics card, graphics engine, or other video signal (e.g., RGB codes) destined for interpreting and display by an LCD display 202 according to an embodiment of the disclosure. In step 1103, the color gamut mapping engine 502 applies a target transfer function, or a transfer function specified by a standard output device specification that a user wishes the LCD display 202 to emulate. In step 1105, the standardized gamma corrected input values are multiplied by a transformation matrix. In one embodiment, as noted above, the transformation matrix is an inverse of the native light output function of the LCD display multiplied by a standardized light output function corresponding to a standard output device specification. In step 1107, the inverse of the native transfer function of the LCD display 202 is applied to the matrix multiplied input values. In step 1109, adjusted input values are output the LCD display 202 and/or LCD panel 306. Accordingly, the light output by the LCD display 202 will conform to a standard output device specification whose properties are employed by the color gamut mapping engine 502 in order to produce adjusted input values.
Referring next to
Stored in the memory 1206 are both executable components and data. In particular, stored in the memory 1206 and executable by the processor 1203 is the color gamut mapping engine 502. It is understood that there may be other applications stored in the memory 1206 and executable by the processor 1203 as can be appreciated. Also, other data may be stored in the memory 1206 and accessed by the processor 1203 associated with the operation of the color gamut mapping engine 502. The color gamut mapping engine 502 may be implemented using any one of, or a combination of, a number of programming languages such as, for example, various processor specific assembler languages, C, C++, C#, Visual Basic, VBScript, Java, JavaScript, Perl, Ruby, Python, Flash, or other programming languages.
A number of software components are stored in the memory 1206 and are executable by the processor 1203. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor 1203. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 1206 and run by the processor 1203, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 1206 and executed by the processor 1203, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 1206 to be executed by the processor 1203, etc. An executable program may be stored in any portion or component of the memory 1206 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, or other memory components.
The memory 1206 is defined herein as both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 1206 may comprise, for example, random access memory (RAM), read-only memory (ROM), solid-state drives, flash drives, memory cards accessed via a memory card reader, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
Although the various components executed on computing system 1201 as described above may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative, the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware within an LCD display 202. As one example of dedicated hardware, the same can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
The flowchart of
Although the flowchart of
Also, where the color gamut mapping engine 502 and/or any other component comprises software or code, it can be embodied in any computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computing system or other system. In this sense, the color gamut mapping engine 502 and/or any other associated component may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present invention, a “computer-readable medium” can be any medium that can contain, store, or maintain the software or code for use by or in connection with the instruction execution system. The computer readable medium can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specific examples of a suitable computer-readable medium include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.