A display method, apparatus and electronic device

By integrating multiple lookup table (LUT) mapping relationships into the display, the problem of low accuracy in color gamut conversion of the display is solved, the conversion efficiency and accuracy are improved, and the real-time update requirements of different application modes are adapted to the needs.

CN115918066BActive Publication Date: 2025-10-21HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080103365.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-24
Publication Date
2025-10-21
Estimated Expiration
2040-08-24

AI Technical Summary

Technical Problem

Existing technologies are not very accurate in the process of color gamut conversion for displays and consume a lot of manpower and time, especially in the conversion from sRGB color space to CIE 1931 color space, where there is a lack of efficient methods for determining mapping relationships.

Method used

By acquiring the RGB values ​​of the pixels to be displayed and fusing the mapping relationships using multiple lookup tables (LUTs), including generating a third LUT from the first and second LUTs, the accuracy and efficiency of the conversion are improved by taking into account the actual characteristics of the display screen and the application mode.

Benefits of technology

It improves the accuracy and efficiency of display color gamut conversion, reduces measurement time and storage pressure, and adapts to the real-time update requirements of different application modes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115918066B_ABST
    Figure CN115918066B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a display method, a display device and an electronic device. The method comprises: obtaining a first RGB of a first pixel to be displayed; obtaining a third display lookup table (LUT) corresponding to a first application mode, the third LUT being generated by fusing a first LUT and a second LUT corresponding to the first application mode, the third LUT comprising a one-to-one correspondence relationship between a plurality of first initial RGBs and first display RGBs; the first LUT comprising a one-to-one mapping relationship between the plurality of first initial RGBs and target RGBs, and the second LUT comprising a one-to-one mapping relationship between a plurality of second initial RGBs and display RGBs; determining a second RGB corresponding to the first application mode of the first RGB according to the third LUT, and sending the second RGB to a first display for display. The embodiments of the present application can effectively improve the efficiency and accuracy of color space conversion of the display screen.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of display technology, and in particular to a display method, device, and electronic device. Background Art

[0002] A color gamut is a method of encoding a color, and also refers to the total number of colors a technical system can produce. In computer graphics, a color gamut is a complete subset of colors. The most common application of color subsets is to accurately represent a given situation, such as a given color space or the color range of an output device. Different monitors display different color gamuts, resulting in the same graphic appearing differently on different monitors. Objectively measurable indicators can be quantified using the CIE 1931 color space.

[0003] The CIE 1931 color space (also known as the CIE 1931 XYZ color space) is one of the first color spaces to be defined mathematically. The CIE 1931 color space associates each color with tristimulus values ​​X, Y, and Z, where the Y parameter is a measure of the color's lightness or brightness. The chromaticity of a color is specified by two derived parameters, x and y, of X, Y, and Z. The derived color space, specified using x, y, Y, is called the CIE xyY color space and is widely used in practice to specify colors. The CIE 1931 color space is unique because it is based on direct measurements of human color vision and serves as the foundation for the definition of many other color spaces.

[0004] sRGB, DCI-P3, and Adobe RGB are standard color spaces used for monitors, printers, and the internet. For example, when outputting RGB color values ​​on a monitor, they are displayed not only in the corresponding RGB color values ​​but also in the corresponding CIE 1931 color space. Therefore, when converting a display from one CIE 1931 color space to another, you can do so by inputting different RGB color values.

[0005] In this process, it is necessary to determine the correspondence between the sRGB color space and the CIE 1931 color space. If the correspondence is calculated through matrix transformation, there is a problem of low accuracy. Looking up the correspondence through the correspondence table generated by the measurement results will consume a lot of manpower and time costs for measurement. Summary of the Invention

[0006] The present application provides a display method, device, and electronic device, which can improve the accuracy and efficiency of a display when converting from one color gamut to another color gamut for display.

[0007] In a first aspect, an embodiment of the present application provides a display method, the method comprising: obtaining a first RGB of a first pixel to be displayed; obtaining a third display lookup table LUT corresponding to a first application mode, the third LUT corresponding to the first application mode being generated by fusing the first LUT and the second LUT corresponding to the first application mode, the third LUT including a one-to-one correspondence between multiple first initial RGBs and first display RGBs, the first initial RGBs corresponding to initial chromaticity and brightness parameters, and the first display RGBs corresponding to the chromaticity and brightness parameters of the first application mode; the first LUT including a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, the target RGB corresponding to specified chromaticity and brightness parameters; the second LUT including a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, the second initial RGB corresponding to specified brightness and chromaticity parameters, the display RGB being related to the application mode, the same second initial RGB corresponding to different display RGBs in different application modes, and one application mode corresponding to a second LUT; determining the second RGB corresponding to the first RGB in the first application mode according to the third LUT, and sending the second RGB to the first display for display.

[0008] Alternatively, the display method provided in the first aspect includes: obtaining the first RGB of the first pixel to be displayed; obtaining the corresponding third lookup table LUT according to the first application mode, and the third LUT is generated by fusing the first LUT and the second LUT; wherein, different application modes correspond to different second LUTs; the third LUT includes a one-to-one mapping relationship between multiple first initial RGBs and first display RGBs, and the first display RGB corresponds to the first application mode; the first LUT includes a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, the first initial RGB corresponds to initial chromaticity and brightness parameters, and the target RGB corresponds to specified chromaticity and brightness parameters; the second LUT includes a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, the second initial RGB corresponds to specified chromaticity and brightness parameters, and the display RGB is related to the application mode, and the same initial RGB corresponds to different display RGBs in different application modes; determining the second RGB corresponding to the first RGB in the first application mode according to the third LUT; and sending the second RGB to the display for display.

[0009] In an embodiment of the present application, a first LUT is obtained for each display screen, which is converted from a first initial RGB to a target RGB corresponding to specified chromaticity and brightness parameters. This is to describe the color space corresponding to each display screen, taking into account the actual characteristics of each display screen panel, thereby improving the display accuracy. In addition, a second LUT is obtained for converting a second initial RGB corresponding to the specified chromaticity and brightness parameters to the display RGB in each application mode, and a third LUT is generated by fusing the second LUT based on the first LUT. This allows only the correspondence between the specified chromaticity and brightness parameters and the display RGB in different application modes to be measured and obtained. Combined with the first LUT of each display screen, the correspondence between the RGB when each display screen is converted to different application modes can be obtained without measuring the correspondence between the RGB when each display screen is converted to different application modes. This allows the lookup tables required for different scenarios to be generated under a set of test parameters, thereby reducing measurement time, improving color space conversion efficiency, and ensuring conversion accuracy.

[0010] In an optional example, the method further includes: obtaining a third LUT corresponding to the second application mode, where the third LUT corresponding to the second application mode is generated by fusing the first LUT and the second LUT corresponding to the second application mode.

[0011] In an optional example, the method further includes: obtaining a first LUT from a memory; or receiving the first LUT from a server; or receiving a corresponding target RGB from a server or obtaining it from a memory according to a preset first initial RGB, thereby determining the first LUT.

[0012] In the embodiment of the present application, only the target RGB is stored in the memory, and the target RGB corresponding to different first LUTs can be obtained through the pre-set first initial RGB, without repeatedly storing the first RGB in each first LUT, thereby reducing storage pressure.

[0013] In an optional example, the method further includes: acquiring a second LUT corresponding to the first application mode from a plurality of second LUTs stored in the memory; or receiving the second LUT corresponding to the first application mode from a server.

[0014] In an optional example, the method further includes: receiving an updated second LUT from a server.

[0015] In an optional example, receiving the updated second LUT from the server includes: receiving the updated second LUT from the server at a preset time or when a preset instruction is received.

[0016] In this embodiment, the second LUT is a lookup table for converting specified chromaticity and brightness parameters to different application modes. When the application mode changes, it is necessary to obtain an updated second LUT. Obtaining the updated second LUT at a preset time can ensure the real-time nature of obtaining the second LUT; obtaining the updated second LUT when a preset instruction is received can ensure the practicality of obtaining the second LUT.

[0017] In an optional example, obtaining the third LUT includes: obtaining the first initial RGB and its corresponding target RGB in the first LUT; determining the real-time first display RGB obtained by mapping the target RGB according to the second LUT; and generating a third LUT including a mapping relationship between the first initial RGB and the first display RGB.

[0018] In this embodiment, the first initial RGB in the first LUT is mapped to the target RGB, and the target RGB corresponds to the specified chromaticity and brightness parameters. The second initial RGB in the second LUT also corresponds to the specified chromaticity and brightness parameters. Therefore, the second LUT can be traversed directly according to the target RGB and matched with the second initial RGB. If the match is successful, the correspondence between the first display RGB corresponding to the second initial RGB and the first initial RGB can be directly determined, and the third LUT can be determined based on the correspondence. This process is efficient and has low computational overhead.

[0019] In an optional example, obtaining the first LUT includes: converting the first initial RGB to obtain an intermediate RGB; iteratively transforming the intermediate RGB according to a preset step size to obtain a target RGB; and determining the first LUT based on a one-to-one mapping relationship between the first initial RGB and the target RGB.

[0020] In this embodiment, the intermediate RGB obtained by matrix calculation is not directly used as the target RGB. Instead, the RGB corresponding to the display screen when displaying with specified chromaticity and brightness parameters is determined to be the target RGB through repeated iterations, thereby improving the accuracy of the generated first LUT.

[0021] In an optional example, iteratively transforming the intermediate RGB according to a preset step size to obtain the target RGB includes: S1: transforming the RGB according to the preset step size i Perform the transformation and obtain the corresponding chromaticity and brightness parameter change values; S2: obtain RGB according to the preset step size i+1 , according to RGB i The corresponding intermediate chromaticity and brightness parameters and the chromaticity and brightness parameter change values ​​​​get RGB i+1 Corresponding intermediate chromaticity and brightness parameters; S3: judge RGB i+1 Whether the difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is less than the preset threshold; if RGB i+1If the brightness difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is not less than the preset threshold, then set i=i+1 and repeat S1-S3 until RGB i+1 The difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is less than the preset threshold. When i=1, RGB i is the middle RGB.

[0022] In an alternative example, according to RGB i The corresponding intermediate chromaticity and brightness parameters and the chromaticity and brightness parameter change values ​​​​get RGB i+1 The corresponding intermediate chromaticity and brightness parameters, including RGB, are calculated according to the following formula i+1 The corresponding intermediate chromaticity and brightness parameters are:

[0023]

[0024] where xyY i+1 RGB i+1 Corresponding intermediate chromaticity and brightness parameters, xyY i RGB i The corresponding intermediate chromaticity and brightness parameters, RGB includes R parameter, G parameter and B parameter, ΔR, ΔG, ΔB are the preset step sizes of R parameter, G parameter and B parameter respectively, Δx R , Δy R The chromaticity parameter change caused by the R parameter iteration according to the preset step size, ΔY R is the brightness parameter change caused by the iteration of the R parameter according to the preset step size, Δx G , Δy G is the chromaticity parameter change caused by the G parameter iteration according to the preset step size, ΔY G is the brightness parameter change caused by the G parameter iteration according to the preset step size, Δx B , Δy B The chromaticity parameter change caused by the B parameter iteration according to the preset step size, ΔY B The brightness parameter change value caused by the B parameter iterating according to the preset step size.

[0025] In an optional example, the first initial RGB is converted to obtain an intermediate RGB, including: performing a gamma transform on the first initial RGB based on a first Gamma value to obtain a first linear RGB; converting the first linear RGB according to a first transformation matrix to obtain specified chromaticity and brightness parameters; converting the specified brightness and chromaticity parameters according to a second transformation matrix to obtain a second linear RGB, and the second transformation matrix is ​​generated according to the measured brightness parameters of the first display; performing an inverse gamma transform on the second linear RGB based on the second Gamma value to obtain an intermediate RGB, and the second Gamma value is determined according to the measured brightness parameters of the first display.

[0026] In a second aspect, an embodiment of the present application provides a display method, which is applied to a server. The method includes: generating a second LUT, the second LUT including a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, the display RGB is related to the application mode, and the same second initial RGB corresponds to different display RGBs in different application modes, and one application mode corresponds to one second LUT; sending the second LUT to the terminal.

[0027] In this embodiment, the server generates a second LUT and then sends the second LUT to the terminal so that the terminal can generate a third LUT by combining the first LUT and the second LUT. Because the second LUT is only related to the application mode and the specified chromaticity and brightness parameters, when the first two are determined, the second LUT can be uniformly sent by the server to reduce the computing resource overhead of the terminal.

[0028] In an optional example, generating a second LUT includes: converting the second initial RGB to obtain display RGB, so that the display chromaticity and brightness parameters under the first application mode corresponding to the display RGB are displayed; and generating a second LUT corresponding to the first application mode based on a one-to-one mapping relationship between the second initial RGB and the display RGB.

[0029] In an optional example, the method further includes: generating a first LUT, the first LUT including a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, the target RGB corresponding to specified chromaticity and brightness parameters; and sending the first LUT to the terminal.

[0030] In an embodiment of the present application, the server generates a first LUT and sends it to the terminal. Because the server can obtain the chromaticity and brightness parameters of each display screen and generate a first LUT corresponding to each display screen, it can effectively reduce the computing resource overhead of the terminal.

[0031] In an optional example, generating the first LUT includes: converting the first initial RGB to obtain an intermediate RGB; iteratively transforming the intermediate RGB according to a preset step size to obtain a target RGB; and determining the first LUT based on a one-to-one mapping relationship between the first initial RGB and the target RGB.

[0032] In an optional example, the method further includes: generating an updated second LUT, the updated second LUT being a second LUT corresponding to the updated first application mode; or the updated second LUT being a second LUT corresponding to a newly added application mode; and sending the updated second LUT to the terminal.

[0033] In a third aspect, an embodiment of the present application provides a display processing device, which includes a processing module, an acquisition module and a processing module, wherein the acquisition module is used to acquire the first RGB of the first pixel to be displayed; the processing module is used to acquire a third display lookup table LUT corresponding to the first application mode, the third LUT corresponding to the first application mode is generated by fusing the first LUT and the second LUT corresponding to the first application mode, the third LUT includes a one-to-one correspondence between multiple first initial RGBs and first display RGBs, the first initial RGBs correspond to initial chromaticity and brightness parameters, and the first display RGBs correspond to the chromaticity and brightness parameters of the first application mode; the first LUT includes a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, and the target RGB corresponds to specified chromaticity and brightness parameters; the second LUT includes a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, the second initial RGBs correspond to initial chromaticity and brightness parameters, and the display RGB is related to the application mode. The same second initial RGB corresponds to different display RGBs in different application modes, and one application mode corresponds to one second LUT; the processing module is used to determine the second RGB corresponding to the first RGB in the first application mode according to the third LUT, and send the second RGB to the first display for display.

[0034] In an optional example, the acquisition module is further used to: acquire a third LUT corresponding to the second application mode, where the third LUT corresponding to the second application mode is generated by fusing the first LUT and the second LUT corresponding to the second application mode.

[0035] In an optional example, the acquisition module is further configured to: acquire the first LUT from a memory; or

[0036] Receive a first LUT from a server; or receive a corresponding target RGB from a server or obtain it from a memory according to a preset first initial RGB, thereby determining the first LUT.

[0037] In an optional example, the acquisition module is further configured to: acquire the second LUT corresponding to the first application mode from a plurality of second LUTs stored in the memory; or receive the second LUT corresponding to the first application mode from the server.

[0038] In an optional example, the acquisition module is further configured to: receive an updated second LUT from a server.

[0039] In an optional example, the acquisition module is specifically configured to receive an updated second LUT from the server at a preset time or upon receiving a preset instruction.

[0040] In an optional example, the processing module is specifically used to: obtain the first initial RGB and its corresponding target RGB in the first LUT; determine the real-time first display RGB obtained by mapping the target RGB according to the second LUT; and generate a third LUT including a mapping relationship between the first initial RGB and the first display RGB.

[0041] In an optional example, the processing module is specifically used to: convert the first initial RGB to obtain an intermediate RGB; iteratively transform the intermediate RGB according to a preset step size to obtain a target RGB; and determine a first LUT based on a one-to-one mapping relationship between the first initial RGB and the target RGB.

[0042] In an optional example, the processing module is specifically used to: S1: transform RGBi according to a preset step size and obtain the corresponding chromaticity and brightness parameter change value; S2: obtain RGBi+1 according to the preset step size, and obtain the intermediate chromaticity and brightness parameters corresponding to RGBi+1 according to the intermediate chromaticity and brightness parameters corresponding to RGBi and the chromaticity and brightness parameter change value; S3: determine whether the difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is less than a preset threshold; if the brightness difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is not less than the preset threshold, set i=i+1, and repeat S1-S3 until the difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is less than the preset threshold. When i=1, RGBi is the intermediate RGB.

[0043] In an optional example, the processing module is specifically configured to calculate RGB according to the following formula: i+1 The corresponding intermediate chromaticity and brightness parameters are:

[0044]

[0045] where xyY i+1 RGB i+1 Corresponding intermediate chromaticity and brightness parameters, xyY i RGBi The corresponding intermediate chromaticity and brightness parameters, RGB includes R parameter, G parameter and B parameter, ΔR, ΔG, ΔB are the preset step sizes of R parameter, G parameter and B parameter respectively, Δx R , Δy R The chromaticity parameter change caused by the R parameter iteration according to the preset step size, ΔY R is the brightness parameter change caused by the iteration of the R parameter according to the preset step size, Δx G , Δy G is the chromaticity parameter change caused by the G parameter iteration according to the preset step size, ΔY G is the brightness parameter change caused by the G parameter iteration according to the preset step size, Δx B , Δy B The chromaticity parameter change caused by the B parameter iteration according to the preset step size, ΔY B The brightness parameter change value caused by the B parameter iterating according to the preset step size.

[0046] In an optional example, the processing module is specifically used to: perform gamma transformation on the first initial RGB based on the first Gamma value to obtain a first linear RGB; convert the first linear RGB according to the first transformation matrix to obtain specified chromaticity and brightness parameters; convert the specified brightness and chromaticity parameters according to the second transformation matrix to obtain a second linear RGB, and the second transformation matrix is ​​generated according to the measured brightness parameters of the first display; perform inverse gamma transformation on the second linear RGB based on the second Gamma value to obtain an intermediate RGB, and the second Gamma value is determined according to the measured brightness parameters of the first display.

[0047] In a fourth aspect, an embodiment of the present application provides a display processing device, which includes a processor and an interface circuit, wherein the interface circuit is used to receive code instructions and transmit them to the processor, and the processor is used to run the code instructions to execute the method as described in any one of the first aspects, or execute the method as described in any one of the second aspects.

[0048] In a fifth aspect, an embodiment of the present application provides a display processing device, which includes a processor, a transceiver, a memory, and computer execution instructions stored on the memory and executable on the processor. When the computer execution instructions are executed, the communication device executes the method as described in any one of the first aspects, or executes the method as described in any one of the second aspects.

[0049] In a sixth aspect, a computer-readable storage medium is provided, in which program instructions are stored. When the program instructions are executed on a computer or a processor, the computer or the processor can execute any of the methods described above.

[0050] In a seventh aspect, a computer program product comprising instructions is provided, which, when executed on a computer or a processor, enables the computer or the processor to execute any of the methods described above.

[0051] In an eighth aspect, an electronic device is provided, comprising the above-mentioned display processing device.

[0052] Among them, the technical effects brought about by any design method in the second to eighth aspects can refer to the technical effects brought about by the different design methods in the above-mentioned first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] Figure 1 A schematic diagram of an exemplary device architecture provided in an embodiment of the present application;

[0054] Figure 2 A schematic diagram of a display screen color value transformation scenario provided in an embodiment of the present application;

[0055] Figure 3 A schematic diagram of a display screen color value conversion process provided in an embodiment of the present application;

[0056] Figure 4A A schematic diagram of a color gamut correction system architecture corresponding to an embodiment of the present application;

[0057] Figure 4B A flow chart of a display method provided in an embodiment of the present application;

[0058] Figure 4C A schematic diagram of a process for applying a third LUT provided in an embodiment of the present application;

[0059] Figure 4D A schematic diagram of the principle of fusing a first LUT and a second LUT to generate a third LUT provided in an embodiment of the present application;

[0060] Figure 4E A flow chart for determining target RGB provided in an embodiment of the present application;

[0061] Figure 4F A schematic diagram of a fusion process of a first LUT and a second LUT provided in an embodiment of the present application;

[0062] Figure 5 A structural block diagram of a display processing device provided in an embodiment of the present application;

[0063] Figure 6 This is a hardware structure diagram of a display processing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0064] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0065] In this document, the term "and / or" simply describes an association between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete manner. In the description of the embodiments of this application, unless otherwise specified, "multiple" means two or more. For example, "multiple processing units" means two or more processing units; "multiple systems" means two or more systems. Below, the terms "first," "second," etc. are used for descriptive purposes only and should not be construed to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, features specified as "first," "second," etc. may explicitly or implicitly include one or more of such features. In the description of the present application, unless otherwise specified, “plurality” means two or more.

[0066] Figure 1 This is a schematic diagram of an exemplary device architecture provided in an embodiment of the present application. Figure 1 As shown, the device 01 includes: a processor 11, a radio frequency (RF) circuit 12, a power supply 13, a memory 14, an input unit 15, a display unit 16, an audio circuit 17 and other components. Those skilled in the art will understand that Figure 1 The structure of the device shown in the figure does not constitute a limitation on the device, which may include, for example Figure 1 More or fewer components may be shown, or combinations thereof may be used. Figure 1 Some of the components shown may be combined with Figure 1 The components shown are arranged differently.

[0067] Processor 11 is the control center of the device, connecting all parts of the device using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 14 and accessing data stored in memory 14, it performs various device functions and processes data, thereby providing overall monitoring of the device. Optionally, processor 11 may include one or more processing units; preferably, processor 11 may integrate an application processor and a modem processor, with the application processor primarily processing the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 11.

[0068] The RF circuit 12 can be used for receiving and sending signals during information transmission or calls. In particular, after receiving the downlink information from the base station, it is sent to the processor 11 for processing; in addition, the uplink data is sent to the base station. Generally, the RF circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 12 can also communicate with the network and other devices through wireless communication. Wireless communication can use any communication standard or protocol, including but not limited to the global system of mobile communication (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), email, short messaging service (SMS), etc.

[0069] The device includes a power supply 13 (such as a battery) for supplying power to various components. Optionally, the power supply can be logically connected to the processor 11 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system.

[0070] The memory 14 can be used to store software programs and modules. The processor 11 executes the various functional applications and data processing of the device by running the software programs and modules stored in the memory 14. The memory 14 can mainly include a program storage area and a data storage area. The program storage area can store an operating system and at least one application required for a function (such as a sound playback function, an image playback function, etc.); the data storage area can store data created based on the use of the mobile phone (such as audio data, image data, phone book, etc.). In addition, the memory 14 can include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0071] The input unit 15 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the device. Specifically, the input unit 15 may include a touch screen 151 and other input devices 152. The touch screen 151, also known as a touch panel, can collect user touch operations on or near the touch screen (such as operations performed by the user using a finger, stylus, or any other suitable object or accessory on or near the touch screen 151) and drive the corresponding connection device according to a pre-set program. Optionally, the touch screen 151 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch direction and detects the signal caused by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 11. It can also receive commands sent by the processor 11 and execute them. In addition, the touch screen 151 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. Other input devices 152 may include, but are not limited to, one or more of a physical keyboard, function keys (such as a volume control button, a power switch button, etc.), a trackball, a mouse, a joystick, and the like.

[0072] The display unit 16 may be used to display information input by the user or information provided to the user and various menus of the device. The display unit 16 may include a display panel 161. In the present application, an AMOLED display may be used to configure the display panel 161. Furthermore, the touch screen 151 may cover the display panel 161. When the touch screen 151 detects a touch operation on or near the touch screen 151, the touch screen 151 transmits the touch operation to the processor 11 to determine the type of touch event. The processor 11 then provides a corresponding visual output on the display panel 161 according to the type of touch event. Although in Figure 1 In the embodiment, the touch screen 151 and the display panel 161 are two independent components to implement the input and output functions of the device. However, in some embodiments, the touch screen 151 and the display panel 161 can be integrated to implement the input and output functions of the device.

[0073] Audio circuit 17, speaker 171, and microphone 172 provide an audio interface between the user and the device. Audio circuit 17 converts received audio data into electrical signals and transmits them to speaker 171, which then converts them into sound signals for output. Microphone 172, on the other hand, converts collected sound signals into electrical signals, which are then received by audio circuit 17 and converted into audio data. The audio data is then output to RF circuit 12 for transmission to, for example, another device, or to memory 14 for further processing.

[0074] Optional, such as Figure 1 The device shown may also include various sensors. For example, a gyroscope sensor, a hygrometer sensor, an infrared sensor, a magnetometer sensor, etc., which will not be described in detail here. Figure 1 The device shown may also include a wireless fidelity (WiFi) module, a Bluetooth module, etc., which will not be described in detail here.

[0075] It is understandable that in the embodiment of the present application, the electronic device (such as the above Figure 1 The device shown in the figure can perform some or all of the steps in the embodiments of the present application. These steps or operations are only examples. The embodiments of the present application can also perform other operations or variations of various operations. In addition, the various steps can be performed in a different order than those presented in the embodiments of the present application, and it is possible that not all operations in the embodiments of the present application need to be performed. The various embodiments of the present application can be implemented separately or in any combination, and the present application is not limited thereto.

[0076] In order to facilitate understanding of the embodiments of the present application, some concepts or terms involved in the embodiments of the present application are explained.

[0077] (1) Gamma correction

[0078] Gamma correction is a method of nonlinearly editing the tones of an image. It can detect the dark and light parts of the image signal and increase the ratio of the two, thereby improving the image contrast. The photoelectric conversion characteristics of current display screens, photographic films, and many electronic cameras can be nonlinear. The relationship between the output and input of these nonlinear components can be expressed as a power function, that is, output = (input) γ .

[0079] The nonlinear conversion of the color values ​​output by the device is due to the nonlinear nature of the human visual system. Humans perceive visual stimuli through comparison. External stimuli are intensified at a certain rate, resulting in a uniform increase in the stimulus. Therefore, physical quantities that increase in geometric progression appear uniform to human perception. To display input colors in accordance with human visual principles, the aforementioned nonlinear conversion using the power function is necessary, converting linear color values ​​to nonlinear ones. The gamma value, γ, can be determined based on the photoelectric conversion curve in the color space.

[0080] (2) Color space

[0081] Color can be the different perceptions of the eye for light of different frequencies, or it can represent objectively existing light of different frequencies. A color space is a color range defined by a coordinate system established by people to represent colors. A color gamut and a color model together define a color space. Among them, a color model is an abstract mathematical model that represents color using a set of color components. A color model may include, for example, a three-primary color light model (red, green, blue, RGB) and a four-color printing model (cyan, magenta, yellow key plate, CMYK). A color gamut refers to the sum of the colors that a system can produce. For example, Adobe RGB and sRGB are two different color spaces based on the RGB model.

[0082] Each device, such as a monitor or printer, has its own color space and can only produce colors within its gamut. When you move an image from one device to another, the colors may change on different devices because each device converts and displays RGB or CMYK according to its own color space.

[0083] The following introduces several commonly used color spaces.

[0084] ①CIE 1931 color space

[0085] The CIE 1931 color space (also known as the CIE 1931 XYZ color space) was one of the first color spaces to be defined mathematically. The CIE XYZ color space is based on direct measurements of human color vision and serves as the basis for defining other color spaces. The Y parameter used in the CIE XYZ color space represents the lightness or brightness of a color. The chromaticity of a color is determined using the parameters x and y. The relationship between the chromaticity x, y and the tristimulus values ​​X, Y, and Z is:

[0086]

[0087]

[0088] A color can be determined using parameters x, y, and Y. For displays, the chromaticity coordinates x, y, and brightness value Y can be measured using a color analyzer. Among them, X and Z in the tristimulus values ​​can be calculated from the chromaticity coordinates x, y, and brightness Y:

[0089]

[0090]

[0091] ②sRGB color space

[0092] The sRGB (standard Red Green Blue) color space is a standard RGB color space developed by HP and Microsoft in 1996 for use in displays, printers, and the internet. It provides a standardized method for defining colors, allowing various computer peripherals and application software, such as display, printing, and scanning, to communicate with a common language. The sRGB color space is based on independent color coordinates, allowing colors to be transmitted and used across different devices using the same color coordinate system, regardless of the differences in the color coordinates of each device. However, the sRGB color gamut is relatively small. sRGB defines the colors of the three primary colors (red, green, and blue). The color corresponding to the maximum value of one of the three primary colors and the zero values ​​of the other two colors represents that color. For example, if the color values ​​R, G, and B of the three primary colors (red, green, and blue) range from 0 to 255, then when both R and G are zero and B is 255, the color corresponding to blue is represented.

[0093] If two monochromatic lights are combined into a test color light, the three primary color values ​​perceived by the observer are the sum of the three primary color values ​​of the two monochromatic lights when observed separately.

[0094] In other words, if beams 1 and 2 are monochromatic, and {R1, G1, B1} and {R2, B2, G2} are the three primary color values ​​perceived by the observer for beams 1 and 2, respectively, when these two beams are combined, the three primary color values ​​perceived by the observer are {R, G, B}, where:

[0095] R=R1+R2

[0096] G=G1+G2

[0097] B=B1+B2

[0098] Light beam 1 {R1, G1, B1} and light beam 2 {R2, G2, B2} are represented by CIE1931 color space, and their corresponding three-color stimulus values ​​are {X1, Y1, Z1} and {X2, Y2, Z2} respectively. Then the three-color stimulus values ​​{X, Y, Z} corresponding to the three primary colors {R, G, B} perceived by the observer are

[0099] X=X1+X2

[0100] Y=Y1+Y2

[0101] Z=Z1+Z2

[0102] ③Color space conversion

[0103] Different color spaces can be converted. The following uses the CIE1931 color space and sRGB color space as examples to introduce color space conversion.

[0104] To calculate the three primary colors in sRGB from the CIE xyY coordinate system, we first need to transform it into the CIE XYZ three-value model. That is, use formulas (3) and (4) to determine X and Z to obtain the three values ​​X, Y, and Z in the CIE 1931 color space. Then, use the conversion matrix to calculate the linear R, G, and B values:

[0105]

[0106] sRGB reflects the color values ​​displayed by a typical monitor with a real-world gamma of 2.2, so the following conversion formula is used to convert linear values ​​to sRGB:

[0107]

[0108] (3) Color value transformation of display screen

[0109] When a display screen displays, different displays correspond to different color gamuts. Therefore, when the same RGB color values ​​are input, the human eye perceives different X, Y, and Y tristimulus values. To ensure that the human eye perceives the same X, Y, and Y tristimulus values, the display's color gamut must be converted, and the corresponding input sRGB color space color values ​​must also be corrected.

[0110] See Figure 2 , Figure 2 A schematic diagram of a display screen color value transformation scenario provided in an embodiment of the present application is shown in FIG. Figure 2As shown, the input image (Fig. 1) is input to display screen 201. When display screen 201 is in the initial color gamut, taking a target pixel in Fig. 1 as an example, the color value corresponding to the target pixel when displayed in the initial color gamut is the first RGB value, and the corresponding XYZ stimulus value is the initial XYZ stimulus value. Color gamut correction is performed on display screen 201 so that the color value corresponding to the target pixel is the second RGB value, and the corresponding XYZ stimulus value is the target XYZ stimulus value.

[0111] Figure 1 The process of converting the display screen from the first RGB to the second RGB for display specifically includes the following steps:

[0112] Step 1: Perform linear transformation on the color values ​​of the received standard color gamut image.

[0113] The display screen displays a standard color gamut image in the initial color gamut. Also, take a target pixel as an example for explanation. The color value of the target pixel is the first RGB. Since the red component value R0, the green component value G0, and the blue component value B0 in the first RGB are all nonlinear, the nonlinear color values ​​need to be converted into linear color values ​​before color value conversion. Figure 3 , Figure 3 A schematic diagram of a display screen color value conversion process provided in an embodiment of the present application can realize the conversion of the first RGB from a nonlinear value to a linear value through gamma conversion. For example, a first gamma lookup table is stored, and the first gamma lookup table includes a mapping relationship between nonlinear RGB and its corresponding linear rbg, and the nonlinear color value is converted to a linear color value through the first gamma lookup table. Specifically, gamma can be 2.2, and the mapping relationship of the first gamma lookup table can be to map the input red component value R0, green component value G0 and blue component value B0 to red component value R1, green component value G1 and blue component value B1 in sequence, wherein the red component value R1, green component value G1 and blue component value B1 are called the first linear RGB. The conversion of the input nonlinear RGB to the first linear RGB is realized by the following formula:

[0114]

[0115] In the first gamma lookup table, a nonlinear color value range can correspond to a linear color value. For example, nonlinear color values ​​in the range (R0-ΔR, R0+ΔR) all correspond to R1 in the first gamma lookup table. For example, see Table 1, which is an example of a first gamma lookup table provided in an embodiment of the present application.

[0116] Table 1 First gamma lookup table

[0117]

[0118] As shown in Table 1, the color values ​​R0, G0 and B0 can all be 0-2. 10 , and R0 within a certain range corresponds to the same R1 in the first gamma lookup table. You can normalize based on a value selected within the corresponding range of R0 so that the obtained values ​​are all between 0 and 1, then perform gamma calculation and output a 10-bit value, which is R1. For example, when R0 is 0-31, the corresponding R1 is (15 / 1023)2.2*1023. For R0 values ​​that fall within the ranges of 32-63, 32-63, 64-95...992-1023, the corresponding R1 values ​​in the first gamma lookup table are (47 / 1023) 2.2 *1023, (79 / 1023) 2.2 *1023……(1007 / 1023) 2.2 *1023, etc.

[0119] Additionally, the first gamma lookup table may also correspond to a linear color value for a nonlinear color value. The linear color value corresponding to a nonlinear color value not stored in the first gamma lookup table can be determined by interpolating the linear color values ​​corresponding to the nonlinear color values ​​stored in the lookup table. For example, see Table 2, which is an example of another first gamma lookup table provided in an embodiment of the present application.

[0120] Table 2 First gamma lookup table

[0121] R0 / G0 / B0 0 32 64 …… 1023 R1 / G1 / B1 0 <![CDATA[(32 / 1023) 2.2 *1023]]> <![CDATA[(64 / 1023) 2.2 *1023]]> …… <![CDATA[(1023 / 1023) 2.2 *1023]]>

[0122] As shown in Table 2, the color values ​​R0, G0 and B0 can all be 0-2. 10 Taking R0 as an example, the values ​​of R0 are 0, 32, 64...1023. The corresponding values ​​of R1 in the first gamma lookup table are 0, (32 / 1023) 2.2 *1023, (64 / 1023)2.2*1023...(1023 / 1023)2.2*1023. In addition, to avoid precision loss, the 12-bit R1 value can also be output. For example, when R0 is 32, the corresponding R1 can be (32 / 1023) 2.2*4095. When R0 takes a value other than 0, 32, 64, ... 1023, the corresponding R1 value is determined by interpolating the known R1 values ​​in the first gamma lookup table. For example, when R0 takes a value of 25, the corresponding R1 value when R0 takes a value of 0 and 32 can be interpolated to determine the corresponding R1 value when R0 takes a value of 25. In the embodiments of the present application, the specific algorithm used for the interpolation method is not limited and can be linear interpolation, Lagrange interpolation, etc., or other interpolation methods can also be used.

[0123] It is understood that the example of the first gamma lookup table described above is only used to illustrate the embodiments of this application and should not be construed as limiting. The embodiments of this application use a gamma of 2.2 as an example to illustrate the conversion between nonlinear and linear color values. This example should not be construed as limiting. The specific gamma value can also be determined based on the photoelectric conversion curve of the color space, and the embodiments of this application do not limit the specific gamma value.

[0124] Step 2: Perform color gamut conversion to obtain the color value of the display.

[0125] (1) Color gamut conversion through conversion matrix

[0126] After obtaining the first linear RGB corresponding to the first RGB through the first gamma lookup table, color gamut conversion can be performed. This converts the initial XYZ stimulus values ​​of the display to target XYZ stimulus values. Simultaneously, the first linear RGB is converted to a second linear RGB, where the second linear RGB is the linear color value corresponding to the second RGB. The target XYZ stimulus values ​​can be expressed as: Xt, Yt, and Zt.

[0127] Since different displays have different color gamuts, in order for the human eye to perceive the same target XYZ stimulus values, the corresponding input RGB color values ​​need to be corrected. This process requires both color space conversion and display gamut correction. The specific principles are as follows:

[0128]

[0129] In formula (8) is the target color value that the display needs to convert to, that is, the second linear RGB corresponding to the second RGB. It can be a conversion matrix from the sRGB color space to the 1931 color space, and specifically can be the inverse matrix of the 3×3 conversion matrix in formula (5). In, X R 、Y R and Z R X is the tristimulus value corresponding to the maximum red color value R of the display screen, G 、Y G and ZG is the tristimulus value corresponding to the maximum value of the green color value G of the display, X B 、Y B and Z B The three-color stimulus value corresponding to the maximum value of the blue color value B of the display screen. For example, the color values ​​R, G and B of the display screen are all 0-255, then X R 、Y R and Z R The tristimulus value corresponding to the red color value R of the display is 255, X G 、Y G and Z G The three-color stimulus value corresponding to the green color value G of the display is 255, X B 、Y B and Z B The tristimulus values ​​corresponding to the blue color value B of the display are 255.

[0130] By transforming formula (8), we can get:

[0131]

[0132] In formula (9), let That is, we get:

[0133]

[0134] Can store The 3×3 conversion matrix is ​​used to convert the linear color values ​​R1, G1 and B1 output by the first gamma lookup table into the linear color values ​​R on the display color gamut of the display screen. pannel , G pannel and B pannel .

[0135] (2) Color gamut conversion through lookup table

[0136] Alternatively, the color gamut conversion on the display screen can be performed directly by storing a color value lookup table. That is, when the first RGB is determined, the corresponding second RGB is found through the color value lookup table, so that the display screen is displayed under the target XYZ stimulus value, completing the color gamut conversion. The mapping relationship of the color value lookup table can be obtained through measurement, and a three-dimensional color value lookup table is established through the known target color gamut and the color values ​​on the corresponding color gamut of the display screen measured by the color analyzer. The three dimensions are R, G and B. In the color value lookup table, the initial color value R in , G in and B in The same set of values ​​can uniquely correspond to a set of display target color values ​​R according to the three dimensions. out , Gout 、B out When searching for unsaved R1, G1, and B1 values ​​in the color value lookup table, the position of the input linear color value in the three dimensions of the color value lookup table is found, and the color value of the display is determined by interpolation. The description of the interpolation method can be referred to the specific description in step 1 and will not be repeated here.

[0137] Optionally, the color value RGB stored in the color value lookup table may be a linear value or a non-linear value.

[0138] Step 3: Perform nonlinear conversion on the linear color value.

[0139] The R obtained from formula (10) above pannel , G pannel 、B pannel is the linear color value on the display color gamut of the display screen. In order to ensure that the color is displayed according to the laws of human vision, it needs to undergo a nonlinear conversion. The nonlinear transformation can be implemented through a lookup table similar to the linear conversion in step one. Specifically, a second gamma lookup table can be stored, and the second gamma lookup table includes the correspondence between linear RGB and its corresponding nonlinear RGB. The linear color value on the display color gamut of the display screen is converted to a nonlinear color value through the second gamma lookup table. Specifically, gamma can be 2.2, and the mapping relationship of the second gamma lookup table can be to convert the input red component value R pannel , green component value G pannel and blue component value B pannel Mapped to red component value R2, green component value G2 and blue component value B2 in sequence.

[0140]

[0141] In the second gamma lookup table, a linear color value range can correspond to a nonlinear color value. For example (R pannel -ΔR1, R pannel In the first gamma lookup table, linear color values ​​within the range of R1 (ΔR2) correspond to R2. Alternatively, in the second gamma lookup table, a linear color value may correspond to a nonlinear color value. The nonlinear color values ​​corresponding to linear color values ​​not stored in the second gamma lookup table can be determined using interpolation. For a description of the interpolation method, refer to the detailed description in step 1 and are not repeated here.

[0142] Step 4: The display screen displays the nonlinear color value obtained by the conversion.

[0143] The second RGB corresponding to the target XYZ stimulus value is obtained, specifically the nonlinear red component value R2, green component value G2 and blue component value B2, and the display screen displays according to the corresponding color values.

[0144] The display screen involved in the embodiments of the present application can be an LED display screen, specifically, it can include various types of organic light-emitting diode (OLED) display screens, such as AMOLED display screens, passive matrix organic light-emitting diodes (PM-OLED) display screens, and can also include other types of LEDs, and can also include new types of displays that will appear in the future, which are not limited in the embodiments of the present application.

[0145] During the aforementioned display color gamut conversion process, when color values ​​are transformed via a transformation matrix, the display's white brightness is generally required to be corrected to a gamma of 2.2 to meet the human eye's brightness perception characteristics. However, crosstalk exists between the display's RGB pixels. As a result, when the gamma curve for white brightness is corrected to 2.2, the brightness corresponding to the three R, G, and B components may not necessarily conform to gamma 2.2. Furthermore, gamma varies for displays with different process levels, making it impossible to accurately convert between linear and nonlinear domains, thus affecting color accuracy. Furthermore, because the LED's wavelength is affected by the driving voltage, the RGB chromaticity coordinates x and y vary with brightness, whether for an actively emitting OLED or an LED-backlit LCD. This variation is particularly significant at lower brightness levels, making a fixed 3x3 matrix ineffective in effectively correcting the display's color gamut to the standard color gamut, thus affecting color accuracy.

[0146] Color value conversion through a color value lookup table is to directly map the RGB components of the standard color gamut image as the input to the RGB components of the display output. In theory, if the color value lookup table is large enough, the input RGB can be mapped one by one to the RGB components of the display output, so that the display can display accurate colors.

[0147] In practical applications, it is impossible to perform one-to-one mapping for each RGB component. Therefore, a 5x5x5, 9x9x9 or even 17x17x17 color value lookup table is used. The position of the corresponding color value lookup table is found according to the input RGB, and then the corresponding output value is obtained by interpolation calculation.

[0148] Before generating a color value lookup table, each node in the table needs to be calibrated to display accurate colors. The calibration process is as follows: the corresponding chromaticity and brightness parameters (i.e., xyY parameters, used to describe the color of the pixel, which has a functional relationship with the three-color stimulus values ​​XYZ perceived by the human eye) are tested by a color analyzer when a certain RGB color value is input to the display screen. The computer calculates and then writes it to the mobile phone's storage. The more information tested, the more accurate the color calibration. However, excessive sampling tests will affect the actual display shipment capacity. For example, it takes 200 to 500 ms to measure each color on the display. Usually, more than 17x17x17 colors need to be measured to achieve accurate color gamut calibration of the display, so it takes nearly an hour.

[0149] At the same time, monitors need to be calibrated to different color gamuts for different display scenarios, and usually require different color value lookup tables. To ensure display consistency in different scenarios, color calibration is required for different scenarios. Therefore, as the number of usage scenarios increases, the calibration time increases.

[0150] Based on the above description, the embodiment of the present application provides a display method to solve the above problems of low display color accuracy and low conversion color gamut efficiency. First, the system architecture of the method is introduced. Figure 4A , Figure 4A This is a schematic diagram of a color gamut correction system architecture corresponding to an embodiment of the present application, such as Figure 4A As shown, the system architecture 40 includes various functional modules 401, such as a user interface, an image module, a video module, and a camera module; a graphics processing unit (GPU) 402 capable of image processing; a display subsystem 403 for determining display color; and a display screen 404 for displaying the colors. Display subsystem 403 further includes various submodules for determining display color, such as a scaling module, a color space conversion module, a high-dynamic range (HDR) imaging module, and a color module. Color module 4036 is used to generate a color value lookup table so that the initial RGB displayed in the current color gamut of the display screen can be found in the color value lookup table to find the corresponding display RGB. This ensures that when the display screen displays the display RGB, the corresponding XYZ tristimulus values ​​are consistent with the standard color gamut, effectively calibrating the display screen to the standard color gamut. Figure 4A Can be deployed in Figure 1 The electronic device, or part of it is deployed in Figure 1 In the electronic device, the display method described in the embodiment of the present application is implemented.

[0151] See also Figure 4B , Figure 4BA flow chart of a display method provided in an embodiment of the present application is shown as follows: Figure 4B As shown, the method includes the following steps:

[0152] 501. Obtain a first RGB of a first pixel to be displayed.

[0153] In some cases, a terminal device may be referred to simply as a terminal, also known as user equipment (UE) or subscriber unit (SU), and may specifically be a mobile phone, tablet computer, laptop computer, wearable device (such as a smart watch, smart bracelet, smart helmet, smart glasses), and other devices with wireless access capabilities, such as smart cars, various Internet of Things (IoT) devices, including various smart home devices (such as smart meters and smart appliances) and smart city devices (such as security or monitoring equipment, smart road traffic facilities). When the terminal device includes a display screen, the image can be displayed according to its own color gamut, screen material, or other parameters. For a specific image, its corresponding color can be described by the RGB color value of each pixel. Therefore, after obtaining the input image to be displayed on the first display screen, the first RGB corresponding to each pixel of the input image is first obtained to describe the input image.

[0154] 502. Obtain a third display lookup table (LUT) corresponding to the first application mode. The third LUT corresponding to the first application mode is generated by fusing the first LUT and the second LUT corresponding to the first application mode. The third LUT includes a one-to-one correspondence between multiple initial RGBs and first display RGBs, where the initial RGBs correspond to initial chromaticity and brightness parameters, and the first display RGBs correspond to the chromaticity and brightness parameters of the first application mode. The first LUT includes a one-to-one mapping relationship between multiple initial RGBs and target RGBs, where the target RGBs correspond to specified chromaticity and brightness parameters. The second LUT includes a one-to-one mapping relationship between multiple initial RGBs and display RGBs, where the display RGBs are related to the application mode. The same initial RGB corresponds to different display RGBs in different application modes, and one application mode corresponds to one second LUT.

[0155] 503 : Determine a second RGB corresponding to the first RGB in the first application mode according to the third LUT, and send the second RGB to the first display for display.

[0156] Typically, application modes include multiple modes based on product, such as mobile phone mode, tablet mode, and TV mode; or multiple modes based on different application scenarios, such as normal mode and power saving mode based on energy consumption; and web mode, video mode, and image mode based on application content. Different application modes correspond to different color gamuts, meaning that for the same input image, the RGB color values ​​and XYZ tristimulus values ​​will differ in each application mode.

[0157] In an embodiment of the present application, after obtaining the pixels to be displayed (which may be images or videos), they need to be converted to color gamuts under different application modes for display. This can be done by generating a third display lookup table (LUT) corresponding to each application mode. Then, after determining the first application mode corresponding to the display screen, the first RGB of the input image is input into the third LUT corresponding to the first application mode to obtain the second RGB corresponding to the application mode, so that when the display screen displays through the second RGB, it can be displayed in the color gamut corresponding to the first application mode.

[0158] Before applying the mapping relationship of the third LUT to determine the second RGB corresponding to each input image for display, a third LUT needs to be generated. The third LUT includes a one-to-one correspondence between multiple first initial RGBs and first display RGBs. The first initial RGB is the color value corresponding to the display screen when it displays in the current color gamut. Normally, each display screen can display in the range of 0-255 (decimal) for R, G, and B values. Then the first initial RGB can be some typical sampled RGBs, such as the value obtained after dividing 0-255 into 17 equal parts, then the initial RGB can be (0,0,16), (0,32,16), (16,16,48), (16,64,16), (240,0,0)...(255,255,255), etc. The first display RGB is the color value to which the initial RGB is converted when the display screen is converted to the color gamut in the first application mode. The contents of the third LUT can be shown in the following table:

[0159] Table 3 Third LUT

[0160] First initial RGB First display RGB (0,,0,16) (0,0,10) (0,32,32) (0,25,25) … … (255,255,255) (250,250,250)

[0161] For example, if the initial RGB value of the input image is (255, 255, 255), that is, the red, green, and blue component values ​​are all 255, resulting in a white image. In the first application mode, all white images need to be displayed at a lower brightness, that is, mapped to the display RGB (250, 250, 250).

[0162] For each display screen on the production line, it is necessary to determine the third LUT corresponding to each application mode. In order to determine the corresponding display RGB of the input image on each display screen in each application mode. For details, please refer to Figure 4C , Figure 4C A schematic diagram of a process of applying the third LUT provided in an embodiment of the present application is shown as follows: Figure 4C As shown, the same input image can be input to different displays. However, due to differences in displayable brightness and color, LCD transmittance, OLED materials, etc., each display screen needs to perceive the same chromaticity and brightness as the human eye, and the corresponding displayed RGB will be different. On the other hand, the same display screen can be used in multiple application modes, that is, the same display screen can display at different chromaticities and brightness, and the corresponding displayed RGB will be different. Therefore, after the input image is input to the display screen, the displayed RGB of the corresponding output image is related to the display screen on the one hand, and the application mode of the display screen on the other hand. A third LUT can be generated and applied according to each application mode of each display screen.

[0163] According to the above description, for each display screen, the display RGB corresponding to the display screen in each application mode can be measured multiple times to directly generate the third LUT in that mode, but this will lead to the problem of low generation efficiency. Or the display RGB corresponding to each display screen in different application modes can be calculated based on matrix transformation, and then the third LUT is generated. This will result in inaccurate display RGB, and then lead to inaccurate chromaticity and brightness parameters displayed on the display screen. In the embodiment of the present application, the third LUT is generated by fusing the first LUT and the second LUT. For the specific process, please refer to Figure 4D , Figure 4D A schematic diagram of the principle of fusing a first LUT and a second LUT to generate a third LUT is provided in an embodiment of the present application, as shown in FIG. Figure 4DAs shown, for any first display screen, when the first display screen is converted from the initial color gamut to the specified color gamut of the specified display screen, the corresponding color values ​​are converted from the first initial RGB to the target RGB, and a first LUT corresponding to the display screen is generated based on the one-to-one mapping relationship between the first initial RGB and the target RGB. When the specified display screen is converted from the specified color gamut to the display color gamut corresponding to each application mode, its corresponding output RGB is converted from the second initial RGB to the display RGB. The display RGB is related to the application mode. The same second initial RGB corresponds to different display RGBs in different application modes. Each application mode corresponds to a second LUT. Each second LUT includes multiple one-to-one mapping relationships between second initial RGB and display RGB. The second initial RGB in the second LUT is also some typical RGB values. For example, the value obtained by dividing 0-255 by 17 equal parts, the second initial RGB can be (0,0,16), (0,32,16), (16,16,48), (16,64,16), (240,0,0) ... (255,255,255), etc. In different application modes, the same second initial RGB value will be mapped to different display RGB values. For example, in the second LUT corresponding to night eye protection mode, when the second initial RGB value is (255,255,255), the mapped display RGB value may be (150,150,150); while in the second LUT corresponding to outdoor mode, when the second initial RGB value is (255,255,255), the mapped display RGB value may be (250,250,250). Finally, the first LUT and the second LUT are combined to generate a third LUT, and the application mode corresponding to the third LUT is the application mode corresponding to the second LUT.

[0164] Specifically, for each display screen, when an RGB is input, there will be a corresponding XYZ tristimulus value perceived by the human eye. The derived parameters x, y, and Y are used to characterize the brightness and color corresponding to the stimulus value. In the embodiment of the present application, the x, y, and Y parameters are expressed as the chromaticity and brightness parameters corresponding to RGB. The initial color gamut of each display screen (which can be the factory color gamut, the default color gamut, etc.) can be characterized by the initial RGB and the initial chromaticity and brightness parameters corresponding to the initial RGB. The conversion relationship between RGB and XYZ stimulus values ​​can be calculated according to the aforementioned formulas (5) and (6). The functional relationship between XYZ stimulus values ​​and chromaticity and brightness parameters can be determined according to the aforementioned formulas (1) to (4). Therefore, the conversion relationship between RGB and chromaticity and brightness parameters can be derived.

[0165] For the first display and the designated display, the corresponding relationship between their RGB color values, brightness and chromaticity parameters, and color gamut is shown in the following table:

[0166] Table 4 Color gamut relationship between the first display screen and the designated display screen

[0167]

[0168] The first initial RGB and the second initial RGB can be the same color value, for example, both initial RGB1, initial RGB2, or initial RGB3. However, the first initial RGB corresponds to initial brightness and chromaticity parameters, while the second initial RGB corresponds to specified chromaticity and brightness parameters. This means that different displays have different actual characteristics, and the human eye perceives different colors and brightness (or different color gamuts). In order to convert the first display to the color gamut of the specified display, that is, to display at the specified brightness and chromaticity parameters, the output RGB of the first display needs to be converted to the target RGB. Then, a first LUT is generated based on the one-to-one mapping between the first initial RGB and the target RGB.

[0169] Assume that in the color gamut correction system 40, the color module 4036 includes a storage module, in which the first initial RGB of the first display screen and the corresponding initial brightness and chromaticity parameters are stored, and then the second initial RGB of the specified display screen and the corresponding specified brightness and chromaticity parameters can be obtained. Alternatively, the program sets the initial RGB (corresponding to the first initial RGB and the second initial RGB) by default, and the corresponding initial brightness and chromaticity parameters, as well as the specified brightness and chromaticity parameters are stored in the memory. Optionally, the specified brightness and chromaticity parameters can also be read from the temporary storage space in real time. The first LUT is then generated by the first LUT generation module. The first LUT is a one-to-one correspondence table from the first initial RGB to the target RGB when the display screen is converted from the initial color gamut to the specified color gamut of the specified display screen. The specific process is:

[0170] 1. Assuming that the first initial RGB is (R0, G0, B0), first convert the first initial RGB to the linear domain through gamma conversion to obtain the first linear RGB, expressed as (r, g, b). The specific conversion formula is:

[0171]

[0172] 2. Use the conversion matrix of the specified color gamut to convert linear RGB to XYZ tristimulus values. For details, please refer to the following formula:

[0173]

[0174] Where Xt, Yt and Zt correspond to the initial chromaticity and brightness parameters.

[0175] 3. After obtaining the initial chromaticity and brightness parameters corresponding to the first initial RGB, they can be converted to the linear space domain value of the target RGB according to the above formula (8) to obtain the second linear RGB. Specifically:

[0176]

[0177] where (r, g, b) panel That is the second linear RGB, according to Grassmann's third law:

[0178]

[0179]

[0180] After obtaining the second linear RGB, it is subjected to an inverse gamma transform to obtain a nonlinear RGB value.

[0181] Since a fixed gamma value does not necessarily enable accurate conversion of RGB values ​​between the linear domain and the nonlinear domain, in the embodiment of the present application, when the second linear RGB is subjected to inverse gamma transformation, the corresponding second gamma value is obtained by calculating the measured value. Specifically, the formula for obtaining the second gamma value is:

[0182] gamma2=log(Y gray1 / Y gray2 ) / log(Gray1 / Gray2)(17)

[0183] Gray1 and gray2 represent the grayscale values ​​corresponding to any two sets of RGB values, and Y gray1 and Y gray2 The grayscale values ​​corresponding to gray1 and gray2 are gray1 and gray2, respectively. The grayscale values ​​corresponding to any two sets of RGB can be obtained by measurement. The second gamma value is then calculated based on the measured values.

[0184] Finally, perform an inverse gamma transform on the second linear RGB according to gamma2 to obtain the intermediate RGB output corresponding to the first display. The formula is:

[0185]

[0186] In the above process, the matrix The values ​​in are all selected based on the specified brightness and chromaticity parameters. Therefore, the intermediate RGB calculated based on this matrix is ​​the theoretically corresponding output RGB (non-linear RGB) when the first display is converted to the specified brightness and chromaticity parameters. However, due to the limitations of the above matrix selection, the intermediate RGB obtained based on this matrix is ​​not necessarily the output RGB corresponding to the first display when displaying at the specified brightness and chromaticity parameters. Therefore, in the embodiment of the present application, it is necessary to further obtain the target RGB, which is the actual output RGB corresponding to the first display when displaying at the specified brightness and chromaticity parameters.

[0187] In the embodiment of the present application, the intermediate RGB is iteratively transformed according to a preset step size, and the corresponding chromaticity and brightness parameters are calculated for the intermediate RGB obtained in each iteration until it is determined that the measured chromaticity and brightness parameters are the same as or close to the specified chromaticity and brightness parameters, and the intermediate RGB is determined to be the target RGB. Figure 4E , Figure 4E A flow chart for determining target RGB is provided in an embodiment of the present application, such as Figure 4E As shown, the process includes the following steps:

[0188] 601, RGB according to the preset step size i Perform the transformation and obtain the corresponding chromaticity and brightness parameter change values;

[0189] 602. Obtain RGB according to the preset step size i+1 , according to the RGB i The corresponding intermediate chromaticity and brightness parameters and the chromaticity and brightness parameter change values ​​obtain the RGB i+1 The corresponding intermediate chromaticity and brightness parameters;

[0190] 603. Determine the RGB i+1 Whether the difference between the corresponding intermediate chromaticity and luminance parameters and the specified chromaticity and luminance parameters is less than a preset threshold;

[0191] 604. If the RGB i+1 If the brightness difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is not less than the preset threshold, then set i=i+1 and repeat S1-S3 until the RGB i+1 The difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is less than the preset threshold, and the RGB i+1 As the target RGB. When i=1, the RGB i is the intermediate RGB.

[0192] The preset step size can be a fixed value consisting of ΔR, ΔG, and / or ΔB, for example, (0, 0, ΔR), (0, ΔG, 0), or (ΔR, ΔG, ΔB). The intermediate RGB obtained by the matrix calculation is used as the initial value of the iterative transformation, for example, set to RGB1. When the output RGB of the first display is RGB1, the corresponding intermediate chromaticity and brightness parameter 1 can be measured and obtained. If this value is equal to the specified brightness and chromaticity parameters (or the difference between the two is less than a preset threshold), it means that the intermediate RGB obtained by the matrix calculation is the target RGB displayed by the first display in the specified color gamut, and no further iterative transformation of the intermediate RGB is required.

[0193] If the difference between the intermediate chromaticity and brightness parameter 1 and the specified chromaticity and brightness parameters is greater than a preset threshold, it indicates that the current display color gamut of the first display screen is significantly different from the specified color gamut. RGB1 is transformed according to a preset step size, for example, ΔR, ΔG, ΔB are added or subtracted from the R, G, B values ​​corresponding to RGB1 to obtain RGB2. If the RGB output of the first display screen changes, the corresponding chromaticity and brightness parameters will also change. The chromaticity and brightness parameter changes are recorded and added or subtracted from the intermediate chromaticity and brightness parameter 1 to obtain the intermediate chromaticity and brightness parameter 2 corresponding to RGB2. The corresponding formula can be expressed as:

[0194]

[0195] where xyY i+1 RGB i+1 Corresponding intermediate chromaticity and brightness parameters, xyY i RGB i The corresponding intermediate chromaticity and brightness parameters, the intermediate chromaticity and brightness parameter 2 corresponds to the case where i=1 in the above formula. RGB includes R parameter, G parameter and B parameter, ΔR, ΔG, ΔB are the preset step sizes of R parameter, G parameter and B parameter respectively, Δx R , Δy R The chromaticity parameter change caused by the R parameter iteration according to the preset step size, ΔY R is the brightness parameter change caused by the iteration of the R parameter according to the preset step size, Δx G , Δy G is the chromaticity parameter change caused by the G parameter iteration according to the preset step size, ΔY G is the brightness parameter change caused by the G parameter iteration according to the preset step size, Δx B , Δy B The chromaticity parameter change caused by the B parameter iteration according to the preset step size, ΔY B The brightness parameter change value caused by the B parameter iterating according to the preset step size.

[0196] Alternatively, you can directly measure and obtain the intermediate chromaticity and brightness parameters 2 corresponding to the output RGB2 of the first display. After obtaining the intermediate chromaticity and brightness parameters 2, similarly, compare them with the specified chromaticity and brightness parameters. If the difference between the two is less than the preset threshold, stop the iteration and use RGB2 as the target RGB. Otherwise, continue the iteration until the RGB obtained by iteration is i The brightness and chromaticity parameters corresponding to the first display screen are the specified brightness and chromaticity parameters, indicating that the color gamut of the first display screen has been converted to the specified color gamut, and the corresponding RGB is the target RGB.

[0197] On the first display screen, after the output RGB is converted from the first initial RGB to the target RGB, the displayed brightness and chromaticity parameters are converted from the initial chromaticity and brightness parameters to the specified chromaticity and brightness parameters, that is, the first display screen is converted to the specified color gamut for display.

[0198] As can be seen, in the embodiment of the present application, the intermediate RGB to which the initial color gamut of the first display needs to be converted is first calculated using the matrix corresponding to the specified color gamut. The intermediate RGB is then used as the output RGB of the first display, and the corresponding chromaticity and brightness parameters are measured to determine whether the first display has been converted to the specified color gamut. If not, the output RGB is iteratively transformed according to a preset step size until it is determined that the first display has been converted to the specified color gamut and the corresponding target RGB is obtained. In this process, the gamma value is first determined based on the measured grayscale value on each display, which improves the accuracy of the matrix conversion. In addition, the intermediate RGB obtained according to the matrix calculation is not directly used as the target RGB for the first display to display in the specified color gamut. Instead, the target RGB is determined repeatedly through iterations, further improving the accuracy of the generated first LUT.

[0199] Optionally, the above-mentioned process of obtaining the first LUT can also be performed in other devices or processors. In this case, in the color gamut correction system 40, the color module 4036 does not include the first LUT generation module. When the third LUT needs to be generated, the communication module in the system directly requests the first LUT from other devices or processors, which can reduce the system data processing consumption; or the communication module has already obtained the first LUT in advance and stored it in the storage module. When the third LUT needs to be generated, the first LUT is read from the storage module. Because the first initial RGB can be the value set by the program by default, the system can also obtain or store the target RGB corresponding to the first initial RGB, reducing storage pressure. The system can also determine the first LUT based on the default first initial RGB and the obtained target RGB.

[0200] After obtaining the first LUT, it is necessary to merge the first LUT with the second LUT to generate a third LUT. The second LUT is a one-to-one correspondence table that converts the second initial RGB to the display RGB when the specified display is converted from the specified color gamut to the corresponding color gamut in different application scenarios. If multiple first displays use the same specified display, then the second LUT they use is also the same.

[0201] According to the above description, the current color gamut (specified color gamut) of the specified display can be indicated by the second initial RGB. For example, when the second initial RGB is input as (0, 0, 16), (0, 32, 16), ..., (255, 255, 255), the corresponding chromaticity and brightness parameters are: specified chromaticity and brightness parameter 1, specified chromaticity and brightness parameter 2, ..., specified chromaticity and brightness parameter N. After conversion to the display color gamut under different application modes, the corresponding relationship is shown in Table 5:

[0202] Table 5: Relationship between color gamut of specified display screen and different application modes

[0203]

[0204] That is, on a specified display, the specified color gamut is converted to the first display color gamut corresponding to the first application mode, which is reflected by the conversion of the specified luminance and chromaticity parameters to the display chromaticity and luminance parameters. Correspondingly, the output RGB of the specified display is converted from the second initial RGB to the display RGB. The second LUT can only include the correspondence between the second initial RGB and the display RGB, and each application mode corresponds to a second LUT.

[0205] The second LUT is generated in other devices or processors, and then the communication interface of the color gamut correction system 40 obtains the second LUT from the server when the third LUT needs to be generated; or the color gamut correction system 40 has already obtained and stored the second LUT in advance, and when the third LUT needs to be generated, the second LUT can be read from the memory.

[0206] The first LUT and the second LUT are merged to generate a third LUT, including: obtaining a first initial RGB and its corresponding target RGB in the first LUT; determining a real-time first display RGB obtained by mapping the target RGB according to the second LUT; and generating a third LUT including a mapping relationship between the first initial RGB and the first display RGB.

[0207] Specifically, see Figure 4F , Figure 4F A schematic diagram of a fusion process of a first LUT and a second LUT is provided in an embodiment of the present application, such as Figure 4F As shown, after obtaining the target RGB corresponding to the first initial RGB according to the first LUT, the target RGB is used as the input value of the second LUT to find the corresponding display RGB. Because the target RGB corresponds to the specified chromaticity and brightness parameters, and the second initial RGB also corresponds to the specified chromaticity and brightness parameters, then when the target RGB = the second initial RGB, it can be considered that the correspondence between the second initial RGB and the display RGB is the correspondence between the target RGB and the display RGB. For example Figure 4FIn the first LUT, when the first initial RGB1 is (0,0,16), the corresponding target RGB1 is (0,0,32), and the second initial RGB2 in the second LUT is (0,0,32), its corresponding display RGB2 is (0,0,48). Then in the generated third LUT, the first initial RGB1 (0,0,16) corresponds to the display RGB1 (0,0,48). If the target RGB in the first LUT does not correspond to the ready-made second initial RGB in the second LUT, then the interpolation method can be used to obtain the correspondence between the first initial RGB and the display RGB. For example Figure 4F In the LUT, the target RGB2 corresponding to the first initial RGB2 (0, 0, 32) is (0, 0, 40). The target RGB2 is the intermediate value of the second initial RGB2 and the second initial RGB3 in the second LUT, which can be obtained by interpolation according to the display RGB2 and the display RGB3. In LUT2, if the second initial RGB2 is (0, 0, 40), the corresponding display RGB2 color value B is: (48 + 72) / 2 = 60, that is, the display RGB2 corresponding to the first initial RGB2 (0, 0, 32) is (0, 0, 60).

[0208] After generating a third LUT based on the first LUT and the corresponding second LUT in the first application mode, the initial image (described by the first RGB) originally displayed on the first display is input into the third LUT. This first RGB is then matched or interpolated with the first initial RGB in the third LUT to obtain the corresponding output second RGB, which serves as the display RGB corresponding to the first RGB. The first display then displays the chromaticity and brightness parameters corresponding to the second RGB, completing the conversion of the initial image to display in the first application mode.

[0209] It can be seen that in the embodiment of the present application, a third LUT corresponding to each application mode is generated, and then the correspondence between the first RGB of the first pixel and the second RGB is determined based on the third LUT when the first display is converted from the current color gamut to the target color gamut corresponding to each application mode for display. This improves the efficiency of the first display from the initial color gamut to the target color gamut of different application modes. In addition, obtaining the first LUT for converting each display from the first initial RGB to the target RGB corresponding to the specified chromaticity and brightness parameters is based on the actual characteristics of each display panel and is used to describe the color space corresponding to each display, thereby improving the accuracy of the display. In addition, obtaining the second initial RGB corresponding to the specified chromaticity and brightness parameters and converting it to the display RGB under each application mode is a second LUT, and the third LUT is generated based on the first LUT fusion of the second LUT. Only the correspondence between the specified chromaticity and brightness parameters and the display RGB under different application modes can be measured. Combined with the first LUT of each display, the correspondence between the RGB when each display is converted to different application modes can be obtained without measuring the correspondence between the RGB when each display is converted to different application modes. This allows the lookup table required for different scenarios to be generated under a set of test parameters, reducing measurement time, improving color space conversion efficiency, and ensuring conversion accuracy.

[0210] In some possible cases, the second LUT can be updated. For example, if a new application mode is added to the mobile phone, including sleep mode, youth eye protection mode, etc., then the possibility of the specified display screen switching to a different application mode increases, that is, the number of second LUTs increases. Or, the previous application mode is updated, for example, the contrast and brightness of the video mode are optimized, then the second LUT corresponding to the video mode is updated. In this case, the color gamut correction system 40 can obtain the updated second LUT from other devices through the communication interface. After the color gamut correction system 40 receives the updated second LUT sent by other devices, it is stored in the ROM. The fusion module in the color module 4036 reads the ROM as needed to obtain the updated second LUT, and then fuses the generated first LUT to generate a third LUT. This method can update the third LUT in real time and improve the efficiency of the display screen in displaying in different application modes.

[0211] Figure 5 The embodiment of the present application provides a display processing device to execute the display method in the above embodiment. Figure 5 As shown, the screen brightness control device 70 provided in this embodiment may include:

[0212] An acquisition module 701 is configured to acquire a first RGB value of a first pixel to be displayed;

[0213] Processing module 702 is configured to obtain a third display lookup table (LUT) corresponding to the first application mode. The third LUT corresponding to the first application mode is generated by fusing the first LUT and the second LUT corresponding to the first application mode. The third LUT includes a one-to-one correspondence between multiple first initial RGBs and first display RGBs, where the first initial RGBs correspond to initial chromaticity and brightness parameters, and the first display RGBs correspond to the chromaticity and brightness parameters of the first application mode. The first LUT includes a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, where the target RGBs correspond to specified chromaticity and brightness parameters. The second LUT includes a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, where the second initial RGBs correspond to the specified brightness and chromaticity parameters. The display RGBs are related to the application mode. The same initial RGB corresponds to different display RGBs in different application modes, and one application mode corresponds to one second LUT.

[0214] The processing module 702 is further configured to determine, according to the third LUT, a second RGB corresponding to the first RGB in the first application mode, and send the second RGB to the first display for display.

[0215] Optionally, the acquisition module 701 is further configured to: acquire a third LUT corresponding to the second application mode, where the third LUT corresponding to the second application mode is generated by fusing the first LUT and the second LUT corresponding to the second application mode.

[0216] Optionally, the acquisition module 701 is further configured to: acquire the first LUT from a memory; or receive the first LUT from a server; or receive a corresponding target RGB from a server or acquire it from a memory according to a preset first initial RGB, thereby determining the first LUT.

[0217] Optionally, the acquisition module 701 is further configured to: acquire a second LUT corresponding to the first application mode from a plurality of second LUTs stored in the memory; or receive a second LUT corresponding to the first application mode from the server.

[0218] Optionally, the acquisition module 701 is further configured to: receive an updated second LUT from the server.

[0219] Optionally, the acquisition module 701 is specifically configured to: receive the updated second LUT from the server at a preset time or upon receiving a preset instruction.

[0220] Optionally, the processing module 702 is specifically used to: obtain the first initial RGB in the first LUT and the corresponding target RGB; determine the real-time first display RGB obtained by mapping the target RGB according to the second LUT; and generate the third LUT including the mapping relationship between the first initial RGB and the first display RGB.

[0221] Optionally, the processing module 702 is specifically used to: convert the first initial RGB to obtain an intermediate RGB; iteratively transform the intermediate RGB according to a preset step size to obtain the target RGB; and determine the first LUT according to a one-to-one mapping relationship between the first initial RGB and the target RGB.

[0222] Optionally, the processing module 702 is specifically configured to:

[0223] S1: transform RGBi according to the preset step size and obtain corresponding chromaticity and brightness parameter change values;

[0224] S2: Obtain RGBi+1 according to the preset step size, and obtain the intermediate chromaticity and brightness parameters corresponding to RGBi+1 according to the intermediate chromaticity and brightness parameters corresponding to RGBi and the chromaticity and brightness parameter change values;

[0225] S3: Determine whether the difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is less than a preset threshold; if the brightness difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is not less than the preset threshold, set i=i+1 and repeat S1-S3 until the difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is less than the preset threshold. When i=1, RGBi is the intermediate RGB.

[0226] Optionally, the processing module 702 is specifically configured to calculate the RGB according to the following formula: i+1 The corresponding intermediate chromaticity and brightness parameters are:

[0227]

[0228] Wherein xyY i+1 For the RGB i+1 The corresponding intermediate chromaticity and brightness parameters, the xyY i For the RGB i The corresponding intermediate chromaticity and brightness parameters, the RGB includes R parameter, G parameter and B parameter, ΔR, ΔG, ΔB are the preset step sizes of the R parameter, the G parameter and the B parameter respectively, the Δx R , ΔyR is the chromaticity parameter change value caused by the iteration of the R parameter according to the preset step size, ΔY R is the brightness parameter change value caused by the iteration of the R parameter according to the preset step size, Δx G , Δy G is the chromaticity parameter change value caused by the G parameter iteration according to the preset step size, ΔY G is the brightness parameter change value caused by the G parameter iteration according to the preset step size, and the Δx B , Δy B is the chromaticity parameter change value caused by the B parameter iteration according to the preset step size, ΔY B is the brightness parameter change value caused by iterating the B parameter according to the preset step size.

[0229] Optionally, the processing module 702 is specifically configured to: perform gamma transformation on the first initial RGB based on a first gamma value to obtain a first linear RGB; convert the first linear RGB according to a first transformation matrix to obtain the specified chromaticity and brightness parameters;

[0230] converting the specified luminance and chromaticity parameters according to a second transformation matrix to obtain a second linear RGB, wherein the second transformation matrix is ​​generated according to the measured luminance parameters of the first display;

[0231] Performing an inverse gamma transform on the second linear RGB based on a second Gamma value to obtain the intermediate RGB, where the second Gamma value is determined according to a measured brightness parameter of the first display.

[0232] It should be understood that Figure 5 The division of the various modules of the device shown is merely a division of logical functions. In actual implementation, they can be fully or partially integrated into a physical entity, or they can be physically separated. Moreover, these modules can all be implemented in the form of software called through a processing element; or they can all be implemented in the form of hardware; or some modules can be implemented in the form of software called through a processing element, and some modules can be implemented in the form of hardware. For example, processing module 702 can be a separately established processing element, or it can be integrated into a chip of the device. In addition, it can also be stored in the memory of the device in the form of a program, and called by a processing element of the device to perform the functions of processing module 702. The implementation of other modules is similar. In addition, these modules can all or partly be integrated together, or they can be implemented independently. The processing element described here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each unit above can be completed by an integrated logic circuit of hardware in the processor element or by instructions in the form of software.

[0233] The above modules can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs). For another example, when a module is implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call programs. For another example, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0234] Figure 6 This is a hardware structure diagram of a display processing device provided by an embodiment of the present application. Figure 6 As shown, the display processing device 80 includes: a processor 801 , a transceiver 802 , a controller 803 and a screen 804 .

[0235] The transceiver 801 is configured to obtain a first RGB of a first pixel to be displayed;

[0236] The processor 802 is configured to obtain a third display lookup table (LUT) corresponding to the first application mode, where the third LUT corresponding to the first application mode is generated by fusing the first LUT and the second LUT corresponding to the first application mode. The third LUT includes a one-to-one correspondence between multiple first initial RGBs and first display RGBs, where the first initial RGBs correspond to initial chromaticity and brightness parameters, and the first display RGBs correspond to the chromaticity and brightness parameters of the first application mode. The first LUT includes a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, where the target RGBs correspond to specified chromaticity and brightness parameters. The second LUT includes a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, where the second initial RGBs correspond to the specified brightness and chromaticity parameters. The display RGB is related to the application mode. The same second initial RGB corresponds to different display RGBs in different application modes, and one application mode corresponds to one second LUT.

[0237] The controller 803 is configured to determine a second RGB corresponding to the first RGB in the first application mode according to the third LUT, and send the second RGB to the screen 804 for display.

[0238] In this way, the display processing device in this embodiment can execute the display method in the aforementioned embodiment. The specific process and steps of obtaining the third LUT have been described in detail in the aforementioned embodiment and will not be repeated here.

[0239] In this way, after the processor 802 determines the first LUT, the transceiver 801 can be used to obtain the first RGB corresponding to the target image to be displayed when it is displayed in the initial color gamut of the first display screen. After obtaining the second RGB corresponding to the first RGB in the first application mode according to the first LUT, the controller 803 outputs the second RGB to the screen 804 and controls the screen 804 to display in the second RGB, that is, the process of displaying the target image in the color gamut corresponding to the first application mode is completed, which will not be repeated here.

[0240] In addition, optionally, the display processing device 80 may further include a memory 805 , and the memory 804 is used to store the first LUT, the second LUT and / or the third LUT obtained from other servers.

[0241] Screen 804 is typically comprised of an organic light emitting display (OLED) or an active-matrix organic light emitting diode (AMOLED). For example, assuming screen 804 is an OLED screen, to achieve the desired brightness and color output for each pixel of the OLED screen, controller 803 within the display processing device generates a corresponding voltage based on the grayscale values ​​of the second RGB pixels for driving the display. Different voltages applied to the screen result in different brightness levels, thereby displaying a brightness value corresponding to the input grayscale value.

[0242] Specifically, the controller 803 may include a voltage generator 8031 ​​and a brightness controller 8032. The voltage generator may be used to generate a corresponding reference voltage according to an input grayscale value, and the brightness controller may be used to control the screen to display a display brightness value corresponding to the input grayscale value based on the reference voltage.

[0243] Since the input grayscale value is typically a digital signal, in order to convert the input grayscale value into an analog voltage value, the voltage generator 8031 ​​may optionally be a digital to analog converter (DAC). The DAC is used to convert the input grayscale value into an analog reference voltage value, so that the brightness controller 8032 can control the display brightness value of the screen based on the reference voltage, so that the screen displays the corresponding display brightness value when powered on. Specifically, the DAC can convert the input grayscale value into an actual reference voltage value after receiving the input grayscale value in the form of a digital signal. When the input grayscale value is different, the corresponding reference voltage value will also change accordingly, so that the screen can emit light of different brightnesses under the stimulation of different reference voltage values ​​and current values, thereby displaying the actual image.

[0244] The processor 802, transceiver 801, controller 803, and memory 805 can utilize a communication bus or other data path to achieve data and signal transmission. Since the memory 805 is electrically connected to the processor 802 and the controller 803, the first LUT and / or the second LUT stored in the memory 805 can be transmitted to the processor 802 to generate a third LUT. The transceiver 801 then determines the second RGB based on the acquired first RGB and the third LUT, and then transmits the second RGB to the controller 803 to determine the input grayscale value that the pixel point should have based on the second RGB. The controller 803 then controls the display brightness value of each pixel point on the screen 804 based on the input grayscale value.

[0245] The processor 802 is typically the control center of the display processing device and can be directly connected to different hardware components such as the memory 805 via a communication bus. By running or executing software programs and / or modules and calling data stored in the memory, the processor 802 performs various functions of the terminal device and processes data, thereby completing the screen brightness control operation. The processor 71 can be a microcontroller unit (MCU), a central processing unit (CPU), an independent system-on-a-chip (SOC), or one or more integrated circuits configured to implement the above method, such as one or more application-specific integrated circuits (ASICs), one or more digital single processors (DSPs), or one or more field programmable gate arrays (FPGAs).

[0246] Optionally, the processor 802 may include one or more processing units; and utilize different processing units to respectively execute the above-mentioned different instructions and programs to respectively perform different functions.

[0247] The memory 805 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 805 may exist independently and be connected to the processor 802 and the transceiver 801 via a bus. The memory 805 may also be integrated with the processor 802.

[0248] In addition to storing the preset gamma correction lookup table, the memory 805 may also optionally be used to store application code for executing the solution of the present application, and the execution is controlled by the processor 802. The processor 802 is used to execute the application code stored in the memory 805, thereby implementing the screen brightness control method provided in the above embodiment of the present application.

[0249] In addition, the display processing device also includes a pulse width modulation (PWM) dimmer 806. The PWM dimmer 806 can modulate the on and off state of internal switching devices such as transistor gates or MOS tube bases, thereby generating a series of pulses of equal width. By varying the pulse width or duty cycle, different analog outputs are achieved, thereby adjusting the output brightness of the screen 804. Exemplarily, the PWM dimmer 806 is electrically connected to the screen 804. The PWM dimmer 806 can receive digital signals from the control chip and convert them into pulses of varying pulse widths or duty cycles. This outputs voltage signals of varying amplitudes. As the magnitude of the voltage signal varies, each pixel on the screen 804 displays a different brightness, thereby achieving normal image display and brightness adjustment. Exemplarily, the PWM dimmer 806 can be electrically connected to the processor 802 or function as part of the controller 803 to adjust the display brightness of the screen 804 based on input grayscale values ​​and other data.

[0250] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).

Claims

1. A method for display processing, characterized in that: The method comprises: Obtaining a first RGB corresponding to a first pixel to be displayed on at least one first display; Obtain a third display lookup table LUT corresponding to the first application mode, where the third LUT corresponding to the first application mode is generated by fusing the first LUT and the second LUT corresponding to the first application mode, the third LUT including a one-to-one correspondence between multiple first initial RGBs and first display RGBs, the first initial RGBs corresponding to initial chromaticity and brightness parameters, and the first display RGBs corresponding to the chromaticity and brightness parameters of the first application mode; the first LUT including a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, the target RGBs corresponding to specified chromaticity and brightness parameters of a specified display screen; the second LUT including a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, the second initial RGBs corresponding to the specified chromaticity and brightness parameters, the display RGBs being related to the application mode, the same second initial RGBs corresponding to different display RGBs in different application modes, and one application mode corresponding to one second LUT; A second RGB corresponding to the first RGB in the first application mode is determined according to the third LUT, and the second RGB is sent to the first display for display.

2. The method according to claim 1, characterized in that The method further comprises: A third LUT corresponding to the second application mode is obtained, where the third LUT corresponding to the second application mode is generated by fusing the first LUT and the second LUT corresponding to the second application mode.

3. The method according to claim 1 or 2, characterized in that The method further comprises: Retrieve the first LUT from a memory; or Receive the first LUT from a server; or The first LUT is determined by receiving a corresponding target RGB from a server or acquiring it from a memory according to a preset first initial RGB.

4. The method according to claim 1 or 2, characterized in that The method further comprises: Acquire a second LUT corresponding to the first application mode from a plurality of second LUTs stored in a memory; or receive the second LUT corresponding to the first application mode from a server.

5. The method according to claim 1 or 2, characterized in that The method further includes receiving an updated second LUT from a server.

6. The method according to claim 5, characterized in that The receiving the updated second LUT from the server includes: receiving the updated second LUT from the server at a preset time or when a preset instruction is received.

7. The method according to claim 1, characterized in that The acquiring of the third LUT comprises: Obtaining a first initial RGB in the first LUT and the corresponding target RGB; Determine the real-time first display RGB obtained by mapping the target RGB according to the second LUT; The third LUT including a mapping relationship between the first initial RGB and the first display RGB is generated.

8. The method according to claim 1, characterized in that Obtaining the first LUT includes: Convert the first initial RGB to obtain an intermediate RGB; Iteratively transform the intermediate RGB according to a preset step size to obtain the target RGB; The first LUT is determined according to a one-to-one mapping relationship between the first initial RGB and the target RGB.

9. The method according to claim 8, characterized in that The iterative transformation of the intermediate RGB according to a preset step size to obtain the target RGB includes: S1: RGB according to the preset step size i Perform the transformation and obtain the corresponding chromaticity and brightness parameter change values; S2: Obtain RGB according to the preset step size i+1 , according to the RGB i The corresponding intermediate chromaticity and brightness parameters and the chromaticity and brightness parameter change values ​​obtain the RGB i+1 The corresponding intermediate chromaticity and brightness parameters; S3: Determine the RGB i+1 Whether the difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is less than a preset threshold; if the RGB i+1 If the brightness difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is not less than the preset threshold, then set i=i+1 and repeat S1-S3 until the RGB i+1 The difference between the corresponding intermediate chromaticity and brightness parameters and the specified chromaticity and brightness parameters is less than the preset threshold value. When i=1, the RGB i is the intermediate RGB.

10. The method according to claim 9, characterized in that According to the RGB i The corresponding intermediate chromaticity and brightness parameters and the chromaticity and brightness parameter change values ​​obtain the RGB i+1 The corresponding intermediate chromaticity and brightness parameters are calculated according to the following formula to obtain the RGB i+1 The corresponding intermediate chromaticity and brightness parameters are: Wherein xyY i+1 For the RGB i+1 The corresponding intermediate chromaticity and brightness parameters, the xyY i For the RGB i The corresponding intermediate chromaticity and brightness parameters, the RGB includes R parameter, G parameter and B parameter, △R, △G, △B are the preset step sizes of the R parameter, the G parameter and the B parameter respectively, Δx R , Δy R is the chromaticity parameter change value caused by the iteration of the R parameter according to the preset step size, ΔY R is the brightness parameter change value caused by the iteration of the R parameter according to the preset step size, and the Δx G , Δy G is the chromaticity parameter change value caused by the G parameter iteration according to the preset step size, ΔY G is the brightness parameter change value caused by the G parameter iteration according to the preset step size, and the Δx B , Δy B is the chromaticity parameter change value caused by the B parameter iteration according to the preset step size, ΔY B is the brightness parameter change value caused by iterating the B parameter according to the preset step size.

11. The method according to any one of claims 8 to 10, characterized in that: The converting the initial RGB to obtain an intermediate RGB includes: Performing gamma transformation on the first initial RGB based on a first Gamma value to obtain a first linear RGB; Convert the first linear RGB according to a first transformation matrix to obtain the specified chromaticity and brightness parameters; converting the specified chromaticity and luminance parameters according to a second transformation matrix to obtain a second linear RGB, wherein the second transformation matrix is ​​generated according to the measured luminance parameters of the first display; Performing an inverse gamma transform on the second linear RGB based on a second Gamma value to obtain the intermediate RGB, where the second Gamma value is determined according to a measured brightness parameter of the first display.

12. A display processing device, characterized in that: The device comprises: An acquisition module, configured to acquire a first RGB corresponding to a first pixel to be displayed on at least one first display; a processing module, configured to obtain a third display lookup table (LUT) corresponding to a first application mode, the third LUT corresponding to the first application mode being generated by fusing the first LUT and the second LUT corresponding to the first application mode, the third LUT including a one-to-one correspondence between multiple first initial RGBs and first display RGBs, the first initial RGBs corresponding to initial chromaticity and brightness parameters, and the first display RGBs corresponding to the chromaticity and brightness parameters of the first application mode; the first LUT including a one-to-one mapping relationship between multiple first initial RGBs and target RGBs, the target RGBs corresponding to specified chromaticity and brightness parameters of a specified display screen; the second LUT including a one-to-one mapping relationship between multiple second initial RGBs and display RGBs, the second initial RGBs corresponding to the specified chromaticity and brightness parameters, the display RGBs being related to the application mode, the same second initial RGB corresponding to different display RGBs in different application modes, and one second LUT corresponding to one application mode; The processing module is further configured to determine, according to the third LUT, a second RGB corresponding to the first RGB in the first application mode, and send the second RGB to the first display for display.

13. The device according to claim 12, characterized in that The processing module is further configured to obtain a third LUT corresponding to the second application mode, where the third LUT corresponding to the second application mode is generated by fusing the first LUT and the second LUT corresponding to the second application mode.

14. The device according to claim 12 or 13, characterized in that The acquisition module is further used for: Retrieve the first LUT from a memory; or Receive the first LUT from a server; or The first LUT is determined by receiving a corresponding target RGB from a server or acquiring it from a memory according to a preset first initial RGB.

15. The device according to claim 12 or 13, characterized in that The acquisition module is further used for: Acquire a second LUT corresponding to the first application mode from a plurality of second LUTs stored in a memory; or receive the second LUT corresponding to the first application mode from a server.

16. The device according to claim 12 or 13, characterized in that The acquisition module is further configured to receive an updated second LUT from a server.

17. The device according to claim 16, characterized in that The acquisition module is specifically configured to receive the updated second LUT from the server at a preset time or upon receiving a preset instruction.

18. The device according to claim 12, characterized in that The processing module is specifically used for: Obtaining a first initial RGB in the first LUT and the corresponding target RGB; Determine the real-time first display RGB obtained by mapping the target RGB according to the second LUT; The third LUT including a mapping relationship between the first initial RGB and the first display RGB is generated.

19. The device according to claim 12, characterized in that The processing module is specifically used for: Convert the first initial RGB to obtain an intermediate RGB; Iteratively transform the intermediate RGB according to a preset step size to obtain the target RGB; The first LUT is determined according to a one-to-one mapping relationship between the first initial RGB and the target RGB.

20. The device according to claim 19, characterized in that The processing module is specifically used for: S1: transform RGBi according to the preset step size and obtain corresponding chromaticity and brightness parameter change values; S2: Obtain RGBi+1 according to the preset step size, and obtain the intermediate chromaticity and brightness parameters corresponding to RGBi+1 according to the intermediate chromaticity and brightness parameters corresponding to RGBi and the chromaticity and brightness parameter change values; S3: Determine whether the difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is less than a preset threshold; If the brightness difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is not less than a preset threshold, set i=i+1 and repeat S1-S3 until the brightness difference between the intermediate chromaticity and brightness parameters corresponding to RGBi+1 and the specified chromaticity and brightness parameters is less than a preset threshold. When i=1, RGBi is the intermediate RGB.

21. The device according to claim 20, characterized in that The processing module is specifically used to calculate the RGB according to the following formula: i+1 The corresponding intermediate chromaticity and brightness parameters are: Wherein xyY i+1 For the RGB i+1 The corresponding intermediate chromaticity and brightness parameters, the xyY i For the RGB i The corresponding intermediate chromaticity and brightness parameters, the RGB includes R parameter, G parameter and B parameter, the △R, △G, △B are the preset step sizes of the R parameter, the G parameter and the B parameter respectively, the Δx R , Δy R is the chromaticity parameter change value caused by the iteration of the R parameter according to the preset step size, ΔY R is the brightness parameter change value caused by the iteration of the R parameter according to the preset step size, and the Δx G , Δy G is the chromaticity parameter change value caused by the G parameter iteration according to the preset step size, ΔY G is the brightness parameter change value caused by the G parameter iteration according to the preset step size, and the Δx B , Δy B is the chromaticity parameter change value caused by the B parameter iteration according to the preset step size, ΔY B is the brightness parameter change value caused by iterating the B parameter according to the preset step size.

22. The device according to any one of claims 19 to 21, characterized in that The processing module is specifically used for: Performing gamma transformation on the first initial RGB based on a first Gamma value to obtain a first linear RGB; Convert the first linear RGB according to a first transformation matrix to obtain the specified chromaticity and brightness parameters; converting the specified chromaticity and luminance parameters according to a second transformation matrix to obtain a second linear RGB, wherein the second transformation matrix is ​​generated according to the measured luminance parameters of the first display; Performing an inverse gamma transform on the second linear RGB based on a second Gamma value to obtain the intermediate RGB, where the second Gamma value is determined according to a measured brightness parameter of the first display.

23. A display processing device, characterized in that: The display processing device includes a processor and an interface circuit, wherein the interface circuit is coupled to the processor, and the processor is configured to run code instructions stored in a memory to perform the method according to any one of claims 1 to 11.

24. A computer-readable storage medium, characterized in that The computer-readable storage medium stores program instructions, and when the program instructions are executed on a computer or a processor, the computer or the processor executes the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Color matching method and image seizure device and electronic equipment using the same

    CN101159878A

  • Systems and methods for performing color adjustments of pixels on a color display

    CN103339944A

  • Color gamut adjusting method and system of display device

    CN106782428A