A display device color correction method for an embedded platform

By building one-dimensional and three-dimensional lookup tables for devices on an embedded platform, the CIELab values ​​of display devices are automatically obtained, solving the problem of monopoly of high-precision color calibration algorithms and realizing efficient and low-cost color calibration of display devices.

CN116959385BActive Publication Date: 2026-03-03SWIT ELECTRONICS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310910305.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-21
Publication Date
2026-03-03
Estimated Expiration
2043-07-21

AI Technical Summary

Technical Problem

In the current technology, the color calibration algorithm for high-precision display devices is monopolized by European and American companies. Users and manufacturers have to pay high software licensing fees, and the color calibration process requires computer participation and cannot be automated on embedded platforms.

Method used

The display device color calibration method using an embedded platform obtains the CIELab value of the actual color of the display device by generating a color target, and constructs one-dimensional and three-dimensional lookup tables for the device to achieve automated color calibration and reduce manual intervention.

Benefits of technology

It enables automated color calibration on embedded platforms, reducing color differences, improving calibration efficiency, eliminating the need for computer intervention, and lowering costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116959385B_ABST
    Figure CN116959385B_ABST
Patent Text Reader

Abstract

This invention discloses a color calibration method for a display device on an embedded platform, comprising the following steps: generating a color target based on a preset second RGB value; measuring and processing the actual color displayed by the display device based on the color target to obtain a second visual CIELab value of the actual color displayed by the display device; normalizing the second RGB value to obtain a second linear RGB value; obtaining a device color model lookup table based on the second linear RGB value and the second visual CIELab value; obtaining a target color gamut lookup table, the target color gamut lookup table including a first visual CIELab value; performing color calibration processing on the first visual CIELab value in the target color gamut lookup table according to the device color model lookup table to obtain a corresponding color calibration CIELab value, and making the display device display colors according to the color calibration CIELab value. Through the above technical solution, color calibration of the display device in an embedded platform is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of display device color calibration technology, and in particular to a display device color calibration method for an embedded platform. Background Technology

[0002] In the field of video display, especially in professional-grade monitors and displays used in the broadcasting industry, color is the most important parameter. Only by ensuring the color accuracy of the display can we ensure that every media worker sees the same color image. Apple is a pioneer in this field. For a long time, only Apple products could uniformly calibrate all display devices to the REC.709 color gamut. It was this operation that brought Apple devices the impression of accurate color. Therefore, improving the color accuracy of display devices can generate huge commercial value.

[0003] The professional monitors and displays used in the broadcasting industry have even higher requirements for color accuracy. They need to calibrate not only the color gamut, but also grayscale, white balance, RGB crosstalk, saturation, and contrast. Therefore, almost all monitors have the function of loading LUTs (Look-Up Tables). LUTs are divided into 1D LUTs (1D look-up tables) and 3D LUTs (3D look-up tables). 1D LUTs can only affect white balance and gamma, while 3D LUTs can cover the functions of 1D LUTs. In addition, 3D LUTs can also affect color gamut, saturation, contrast, etc., covering almost all color characteristics of the image.

[0004] Currently, color calibration of display devices such as monitors or displays can generally be performed by generating a corresponding 3D lookup table through color calibration algorithms. However, the relevant high-precision color calibration algorithms have always been monopolized by European and American companies, and users and manufacturers can only pay high software licensing fees on a regular basis. Moreover, the current color calibration process requires the participation of a computer, and it is impossible to put the color calibration algorithm inside the monitor / display and use an embedded platform to perform color calibration of display devices. Summary of the Invention

[0005] In order to achieve color calibration of display devices in an embedded platform, this application provides a method for color calibration of display devices in an embedded platform.

[0006] Firstly, this application provides a color calibration method for a display device on an embedded platform, employing the following technical solution: A color calibration method for a display device on an embedded platform includes the following steps:

[0007] S100: Generate a color target based on a preset second RGB value; process the color actually presented by the display device based on the color target to obtain a second visual CIELab value of the color actually presented by the display device;

[0008] S200: Based on the second RGB value and the second visual CIELab value, a one-dimensional device lookup table is obtained; the second RGB value in the one-dimensional device lookup table is normalized to obtain a second linear RGB value; based on the second linear RGB value and the second visual CIELab value, a three-dimensional device lookup table is obtained; the three-dimensional device lookup table includes the second linear RGB value, the second visual CIELab value, and the linear mapping relationship between the second linear RGB value and the second visual CIELab value; the one-dimensional device lookup table and the three-dimensional device lookup table constitute a display device color model lookup table;

[0009] S300: Obtain the target color gamut lookup table, wherein the target color gamut lookup table includes the first visual CIELab value;

[0010] S400: According to the display device color model lookup table, perform color calibration on the first visual CIELab value in the target color gamut lookup table to obtain the corresponding color calibration CIELab value, and make the display device display colors according to the color calibration CIELab value.

[0011] By adopting the above technical solution, the actual color displayed by the display device is obtained, and the target color gamut lookup table is calibrated according to the actual color displayed by the display device to obtain the calibration CIELab value. This enables the display device to display colors according to the calibration CIELab value, reducing the color difference of the display device. Moreover, the calibration process is not complex and can be used on embedded platforms. It does not require a computer and can automatically match the actual parameters of the display device, realizing full automation of the calibration process without the need for manual parameter input, thus improving the efficiency of the calibration process.

[0012] In one specific implementation, step S400 specifically includes:

[0013] S410: According to the device's three-dimensional lookup table, the first visual CIExyY value is luminance compressed while maintaining chromaticity, to obtain the luminance-compressed first compressed visual CIELab value.

[0014] S420: Based on the device's three-dimensional lookup table, replace the values ​​in the first compressed visual CIELab value that exceed the range of the color model lookup table, and retain the values ​​that do not exceed the range of the color model lookup table, to obtain the first cropped visual CIELab value after replacement and retention processing.

[0015] S430: Based on the device's three-dimensional lookup table and the first cropping visual CIELab value, obtain the color calibration CIELab value corresponding to the first cropping visual CIELab value in the three-dimensional lookup table, and make the display device display colors according to the color calibration CIELab value.

[0016] In one specific implementation scheme, step S410 specifically includes:

[0017] S411: Based on the second linear RGB value in the device's three-dimensional lookup table, obtain all discrete points and their distribution in the RGB color space for the second linear RGB value; select discrete points distributed at the boundary of the RGB color space from the second linear RGB value to form a first boundary value model for the RGB color space; use triangular facet partitioning to obtain a first triangular facet array corresponding to the first boundary value model; convert the first triangular facet array to a color space to obtain a second triangular facet array corresponding to the CIELab color space; obtain a second boundary value model for the CIELab color space based on the second triangular facet array; the second boundary value model includes several triangular faces.

[0018] S412: Based on the second boundary value model and the preset brightness threshold judgment line L1, the intersection point A of the brightness threshold judgment line L1 and the second boundary value model is obtained;

[0019] S413: Convert the value of intersection point A in the CIELab color space to obtain the value of intersection point A in the CIExyY color space; convert the first visual CIELab value to obtain the corresponding first visual CIExyY value.

[0020] S414: Based on the value of intersection point A in the CIExyY color space, the first visual CIExyY value is luminance compressed while maintaining chromaticity, to obtain the luminance-compressed first compressed visual CIExyY value; the first compressed visual CIExyY value is then converted through a color space to obtain the corresponding first compressed visual CIELab value.

[0021] In one specific implementation scheme, step S420 specifically includes:

[0022] Based on the first compressed vision CIELab value, obtain the discrete point corresponding to the first compressed vision CIELab value in the second boundary value model;

[0023] Based on the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model, and combined with the preset color gamut center point, the line segment S1 formed by the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model and the color gamut center point is obtained.

[0024] Determine whether the line segment S1 intersects with each of the triangular faces in the second boundary value model: if there is an intersection point B, it is determined that the first compressed visual CIELab value exceeds the range of the second boundary value model, and the CIELab value corresponding to the intersection point B replaces the first compressed visual CIELab value; if there is no intersection point, it is determined that the first compressed visual CIELab value does not exceed the range of the second boundary value model, and the first compressed visual CIELab value is retained, to obtain the first cropped visual CIELab value after replacement and retention processing.

[0025] In one specific implementation scheme, step S430 specifically includes:

[0026] S431: Based on the second linear RGB value in the device's three-dimensional lookup table, obtain all discrete points and their distribution in the RGB color space for the second linear RGB value. Form a third model of the RGB color space from these discrete points. Perform tetrahedral partitioning on the third model to obtain a first tetrahedral array corresponding to the third model in the RGB color space. Then, convert the first tetrahedral array through color space transformation to obtain a second tetrahedral array corresponding to the CIELab color space. Based on the second tetrahedral array, obtain a fourth model corresponding to the CIELab color space. The fourth model includes several tetrahedrons, each tetrahedron having four vertices. Each vertex of the tetrahedron simultaneously points to a set of second linear RGB values ​​and a second visual CIELab value.

[0027] S432: Based on the first cropping visual CIELab value, find the tetrahedron M1 containing the first cropping visual CIELab value in the fourth model, and obtain the second linear RGB values ​​of the four vertices of the tetrahedron M1; based on the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device 3D lookup table, the first cropping visual CIELab value, and the second linear RGB values ​​of the four vertices of the tetrahedron M1, obtain the color correction RGB value corresponding to the first cropping visual CIELab value in the fourth model through tetrahedron inverse interpolation;

[0028] S433: Convert the RGB color calibration values ​​to obtain the corresponding CIELab color calibration values, and make the display device display colors according to the CIELab color calibration values.

[0029] In one specific implementation, step S432 includes:

[0030] Based on the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device's 3D lookup table, a first function model is obtained with the second linear RGB value as input and the second visual CIELab value as output.

[0031] Substitute the second linear RGB values ​​of the four vertices of tetrahedron M1 into the first function model to obtain the second visual CIELab values ​​corresponding to the four vertices of tetrahedron M1.

[0032] Based on the first cropping visual CIELab value, the second visual CIELab values ​​corresponding to the four vertices of tetrahedron M1 are weighted and summed, and then interpolated to obtain the second linear RGB value corresponding to the first cropping visual CIELab value in the fourth model; the second linear RGB value corresponding to the first cropping visual CIELab value in the fourth function model is the color correction RGB value.

[0033] In one specific implementation scheme, step S100 specifically includes:

[0034] S110: Generate a color target based on a preset second RGB value, measure the actual color presented by the display device based on the color target, obtain the second visual CIEXYZ value corresponding to the color target, and convert the second visual CIEXYZ value through color space to obtain the corresponding second visual CIExyY value.

[0035] S120: Normalize the Y value in the second visual CIExyY value, and convert the normalized second visual CIEXYZ value to obtain the corresponding second visual CIELab value through color space conversion. The second visual CIELab value is the second visual CIELab value of the color actually presented by the display device.

[0036] Secondly, this application provides a color calibration system for an embedded platform display device. The color calibration system adopts the color calibration method described in the first aspect above. The color calibration system includes a color sensor and a display device. The display device includes a display panel, a system chip, a universal serial bus, and Flash storage.

[0037] The color sensor is used to generate a color target based on a preset second RGB value; measure the actual color presented by the display panel based on the color target to obtain a second visual CIEXYZ value of the actual color presented by the display panel, and output the second visual CIEXYZ value.

[0038] The system chip is used to acquire the second visual CIEXYZ value output by the color sensor via a universal serial bus, convert and normalize the second visual CIEXYZ value to obtain the corresponding second visual CIELab value, and obtain a device one-dimensional lookup table based on the preset second RGB value and second visual CIELab value; normalize the second RGB value in the device one-dimensional lookup table to obtain a second linear RGB value; and obtain a device three-dimensional lookup table based on the second linear RGB value and the second visual CIELab value. The device three-dimensional lookup table includes the second linear RGB value, the second visual CIELab value, and the linear mapping relationship between the second linear RGB value and the second visual CIELab value. The device one-dimensional lookup table and the device three-dimensional lookup table constitute a display device color model lookup table.

[0039] The Flash storage is used to store a target color gamut lookup table, which includes a first visual CIELab value.

[0040] The system chip is also used to obtain the target color gamut lookup table stored in the Flash memory, and according to the display device color model lookup table, to perform color calibration processing on the first visual CIELab value in the target color gamut lookup table to obtain the corresponding color calibration CIELab value, and to make the display panel display colors according to the color calibration CIELab value.

[0041] By adopting the above technical solution, the actual color displayed by the display device is obtained, and the target color gamut lookup table is calibrated according to the actual color displayed by the display device to obtain the calibration CIELab value. This enables the display device to display colors according to the calibration CIELab value, reducing the color difference of the display device. Moreover, the calibration process is not complex and can be used on embedded platforms. It does not require a computer and can automatically match the actual parameters of the display device, realizing full automation of the calibration process without the need for manual parameter input, thus improving the efficiency of the calibration process.

[0042] In summary, the technical solution of this application includes at least the following beneficial technical effects:

[0043] 1. The color calibration method of this application obtains the actual color displayed by the display device and performs color calibration on the target color gamut lookup table according to the actual color displayed by the display device to obtain the calibration CIELab value, so that the display device displays the color according to the calibration CIELab value, thereby reducing the color difference of the display device. The color calibration method of this application has low process complexity, can be used on embedded platforms, does not require a computer, can automatically match the actual parameters of the display device, realize the full automation of the color calibration process, and does not require manual input of parameters, thus improving the efficiency of color calibration processing. Attached Figure Description

[0044] Figure 1 This is an overall flowchart of the color correction method in the embodiments of this application;

[0045] Figure 2 This is a general flowchart of the color calibration process in the embodiments of this application;

[0046] Figure 3 This is a flowchart illustrating the determination of the position of the tetrahedron containing the first cropping visual CIELab value C2 in an embodiment of this application;

[0047] Figure 4 This is a schematic diagram of obtaining the first compressed visual CIELab value by compressing the brightness of the first visual CIExyY value in an embodiment of this application;

[0048] Figure 5 This is a schematic diagram illustrating how to determine whether the first compressed visual CIELab value exceeds the second boundary value model in an embodiment of this application;

[0049] Figure 6 This is a schematic diagram of the third model of the RGB color space and the fourth model of the CIELab color space in the embodiments of this application;

[0050] Figure 7 This is a schematic diagram of tetrahedral subdivision of the fourth model in an embodiment of this application;

[0051] Figure 8 This is a schematic diagram of the overall structure of the display device color calibration system in the embodiments of this application.

[0052] Explanation of reference numerals in the attached figures:

[0053] 1. Color sensor; 2. Display device; 21. Display panel; 22. System chip; 23. Universal serial bus; 24. Button module; 25. RAM memory; 26. Flash storage. Detailed Implementation

[0054] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0055] Example 1:

[0056] This embodiment discloses a color calibration method for a display device on an embedded platform, including the following steps:

[0057] S100: Generate a color target based on a preset second RGB value; process the actual color presented by the display device based on the color target to obtain a second visual CIELab value of the actual color presented by the display device.

[0058] Specifically, the second visual CIELab value corresponding to the color target obtained in step S100 can be:

[0059] S110: Generate a color target based on a preset second RGB value; measure the actual color displayed by the display device based on the color target to obtain the second visual CIEXYZ value corresponding to the color target; convert the second visual CIEXYZ value through color space conversion to obtain the corresponding second visual CIExyY value. Wherein CIExyY, xy represents chromaticity and Y represents luminance.

[0060] S120: Normalize the Y value in the second visual CIExyY value to limit it to the range of 0.0~1.0, and convert the normalized second visual CIExyY value to the color space to obtain the corresponding second visual CIELab value. The second visual CIELab value is the second visual CIELab value of the color actually displayed by the display device.

[0061] In CIELab, L represents brightness.

[0062] S200: Based on the second RGB value and the second visual CIELab value, a device one-dimensional lookup table (1D LUT) is obtained; the second RGB value in the device one-dimensional lookup table (1D LUT) is normalized to obtain a second linear RGB value; based on the second linear RGB value and the second visual CIELab value, a device three-dimensional lookup table (3D LUT) is obtained; the device three-dimensional lookup table (3D LUT) includes the second linear RGB value, the second visual CIELab value, and the linear mapping relationship between the second linear RGB value and the second visual CIELab value; the device one-dimensional lookup table (1D LUT) and the device three-dimensional lookup table (3D LUT) constitute a color model lookup table for the display device.

[0063] Furthermore, the device one-dimensional lookup table (1D LUT) includes a second RGB value, a second visual CIELab value, and a non-linear mapping relationship between the second RGB value and the second visual CIELab value.

[0064] In particular, the above-mentioned device one-dimensional lookup table (1D LUT) and device three-dimensional lookup table (3D LUT) represent LUTs (lookup tables) in a generalized sense.

[0065] Furthermore, the nonlinear mapping relationship between the second RGB value and the second visual CIELab value in the device's one-dimensional lookup table (1D LUT) can be as follows: Based on the second RGB value, obtain all discrete points and their distribution in the one-dimensional RGB color space. Sample 52 discrete points [0, 5, 10, 15, ..., 255] in the one-dimensional RGB color space. Based on the RGB values ​​of these 52 discrete points, after color space conversion, the second visual CIELab value corresponding to the second RGB value in the one-dimensional CIELab color space can be obtained.

[0066] Furthermore, the linear mapping relationship between the second RGB value and the second visual CIELab value in the device's 3D LUT can be as follows: Based on the second RGB value, obtain all discrete points and their distribution in the 3D RGB color space. Sample 9 discrete points [0, 20, 40, 60, 90, 130, 170, 210, 255] on the R, G, and B components respectively in the 3D RGB color space. That is, the total number of sampled discrete points is 9*9*9=729. Based on the RGB values ​​of these 729 discrete points, after color space conversion, the second visual CIELab value corresponding to the second RGB value in the 3D CIELab color space can be obtained.

[0067] S300: Obtain a target color gamut lookup table, wherein the target color gamut lookup table includes a first visual CIELab value; further, the target color gamut lookup table may also include a first RGB value and a mapping relationship between the first RGB value and the first visual CIELab value.

[0068] Specifically, the target color gamut lookup table generated can vary depending on the preset size of the first 3D LUT (3D Look Up Table) and the selected color gamut range. The first visual CIELab value can be obtained by calculating the first RGB value using any color gamut standard such as Rec.709, P3, or Rec.2020 as the reference color gamut, and using a reference color temperature of D65 and a reference gamma of 2.2. Here, "first 3D LUT" refers to a lookup table in a narrow sense, meaning a lookup table with RGB input and RGB output. It is a specialized term in the broadcasting industry used to correct display devices such as monitors / displays.

[0069] Based on the first visual CIELab value, all discrete points and their distribution in the CIELab color space can be obtained. These discrete points can be obtained as follows: Based on the first RGB value, obtain all discrete points and their distribution in the RGB color space. Sample 17 discrete points [0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 255] on each of the RGB components, resulting in 17*17*17=4913 sampled discrete points. Then, convert the values ​​of these 4913 sampled discrete points (the first RGB value) into EOTF (Electrical-Optical Transfer) values. The function (electro-optical conversion function) converts the first RGB value into a linear first RGB_linear value, converts the first RGB_linear value through a color space to obtain the corresponding first visual CIEXYZ value, and then converts the first visual CIEXYZ value through a color space to obtain the corresponding first visual CIELab value. Thus, the first RGB value, the first visual CIELab value, and the mapping relationship between the first RGB value and the first visual CIELab value can be obtained.

[0070] S400: According to the display device color model lookup table, perform color calibration on the first visual CIELab value in the target color gamut lookup table to obtain the corresponding color calibration CIELab value, and make the display device display colors according to the color calibration CIELab value.

[0071] Therefore, according to steps S100~S400, by obtaining the actual color value displayed by the display device and calibrating the target color gamut lookup table based on the actual color value displayed by the display device, the calibration CIELab value is obtained, so that the display device displays colors according to the calibration CIELab value, thereby reducing the color difference of the display device; moreover, the calibration method has low process complexity, is suitable for embedded platforms, does not require a computer, and can automatically match the actual parameters of the display device, realizing full automation of the calibration process without the need for manual parameter input, thus improving the efficiency of the calibration process.

[0072] The implementation process of step S400 is explained in detail below:

[0073] S410: Based on the device's 3D LUT, the first visual CIExyY value is compressed in brightness while maintaining chromaticity, to obtain the first compressed visual CIELab value after brightness compression.

[0074] S420: Based on the device's 3D LUT, replace the values ​​in the first compressed visual CIELab value that exceed the range of the color model lookup table, and retain the values ​​that do not exceed the range of the color model lookup table, to obtain the first cropped visual CIELab value after replacement and retention processing.

[0075] S430: Based on the device's 3D LUT and the first cropping visual CIELab value, obtain the color calibration CIELab value corresponding to the first cropping visual CIELab value in the 3D LUT, and make the display device display colors according to the color calibration CIELab value.

[0076] Therefore, referring to the device's 3D lookup table, the first visual CIExyY value is first compressed for brightness. Then, the values ​​in the compressed CIExyY value that exceed the color range of the display device are replaced, while the values ​​that do not exceed the color range of the display device are retained. This yields the CIELab value after replacement and retention processing. Finally, referring to the mapping relationship in the device's 3D lookup table, the color calibration CIELab value is obtained, thus achieving high-precision color calibration processing for the display device.

[0077] The implementation process of step S410 is explained in detail below:

[0078] S411: Based on the second linear RGB value in the device's 3D LUT, obtain all discrete points and their distribution in the RGB color space; select discrete points distributed at the boundary of the RGB color space from the second linear RGB values ​​to form a first boundary value model of the RGB color space; use triangular facet partitioning to obtain a first triangular facet array corresponding to the first boundary value model; convert the first triangular facet array to a color space to obtain a second triangular facet array corresponding to the CIELab color space; obtain a second boundary value model of the CIELab color space based on the second triangular facet array; the second boundary value model includes several triangular faces.

[0079] In the second boundary value model, each triangular face has three vertices. The second triangular face array includes several sets of second linear RGB values ​​and second visual CIELab values. That is, one vertex of a triangular face corresponds to a set of second triangular face arrays. A set of second triangular face arrays includes a set of second linear RGB values ​​and second visual CIELab values. In other words, each vertex of a triangular face points to a set of second linear RGB values ​​and second visual CIELab values.

[0080] S412: Based on the second boundary value model and the preset brightness threshold judgment line L1, obtain the intersection point A of the brightness threshold judgment line L1 and the second boundary value model; wherein, the brightness threshold judgment line L1 is the line connecting the point with the maximum brightness of standard white in the first boundary value model and the origin.

[0081] In the second boundary value model, the coordinates of the point with the highest brightness in the standard white are [100, 0, 0], and the coordinates of the origin are [0, 0, 0]. When searching for the intersection of the brightness threshold judgment line L1 and the second boundary value model, the brightness threshold judgment line L1 needs to traverse all the triangular faces in the second boundary value model. If the brightness threshold judgment line L1 intersects with a triangular face in the second boundary value model, then the intersection point is marked as intersection point A. If the intersection point between the brightness threshold judgment line L1 and the triangular face in the second boundary value model is never found, then the process exits abnormally.

[0082] S413: Convert the value of intersection point A in the CIELab color space to obtain the value of intersection point A in the CIExyY color space; convert the first visual CIELab value to obtain the corresponding first visual CIExyY value.

[0083] Furthermore, in step S413 above, the value of intersection point A in the CIELab color space can be converted to obtain the value of intersection point A in the CIEXYZ color space, and then the value of intersection point A in the CIEXYZ color space can be converted to obtain the value of intersection point A in the CIExyY color space. Similarly, the first visual CIELab value can be converted to obtain the corresponding first visual CIEXYZ value, and then the first visual CIEXYZ value can be converted to obtain the corresponding first visual CIExyY value.

[0084] S414: Based on the value of intersection point A in the CIExyY color space, the first visual CIExyY value is compressed in brightness while maintaining chromaticity, to obtain the first compressed visual CIExyY value. The first compressed visual CIExyY value is then converted through color space to obtain the corresponding first compressed visual CIELab value.

[0085] Reference Figure 4 , Figure 4This diagram illustrates the process of compressing the brightness of the first visual CIExyY value to obtain the first compressed visual CIELab value. In this diagram, the x-axis represents color component a in the CIELab coordinate system, the y-axis represents color component b in the CIELab coordinate system, and the z-axis represents color component L in the CIELab coordinate system. In step S414, since the first visual CIExyY value contains multiple values, the value representing the maximum brightness in the first visual CIExyY value is first compressed to the value of intersection point A in the CIExyY color space, based on the value of intersection point A in the CIExyY color space. The compression ratio is then obtained. Finally, all values ​​in the first visual CIExyY value are compressed according to this compression ratio to obtain all the compressed values, i.e., all the first compressed visual CIExyY values.

[0086] In particular, since Y in CIExyY represents luminance and xy in CIExyY represents chrominance, when performing luminance compression, it is only necessary to compress the Y-axis coordinate value corresponding to the first visual CIExyY value. Before compression, the Y-axis coordinate value corresponding to the first visual CIExyY value that represents the highest luminance is 1.0. Therefore, the compression ratio is: the Y-axis coordinate value corresponding to the value of intersection A in the CIExyY color space / 1.0.

[0087] The implementation process of step S420 is explained in detail below:

[0088] Reference Figure 5 , Figure 5 A schematic diagram for determining whether the first compressed visual CIELab value exceeds the second boundary value model, wherein the x-axis is color component a in the CIELab coordinate system, the y-axis is color component b in the CIELab coordinate system, and the z-axis is color component L in the CIELab coordinate system. Based on the first compressed visual CIELab value, the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model is obtained.

[0089] Based on the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model, and combined with the preset color gamut center point, the line segment S1 formed by the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model and the color gamut center point is obtained.

[0090] Determine whether the line segment S1 intersects with each of the triangular faces in the second boundary value model: if there is an intersection point B, it is determined that the first compressed visual CIELab value exceeds the range of the second boundary value model, and the CIELab value corresponding to the intersection point B replaces the first compressed visual CIELab value; if there is no intersection point, it is determined that the first compressed visual CIELab value does not exceed the range of the second boundary value model, and the first compressed visual CIELab value is retained, to obtain the first cropped visual CIELab value after replacement and retention processing.

[0091] Furthermore, the coordinates of the center point of the color gamut are [50, 0, 0].

[0092] The implementation process of step S430 is explained in detail below:

[0093] S431: Based on the second linear RGB value in the device's 3D LUT, obtain all discrete points and their distribution in the RGB color space. Use these discrete points to form a third model of the RGB color space. Apply tetrahedral partitioning to the third model to obtain a first tetrahedral array corresponding to the third model in the RGB color space. Then, convert the first tetrahedral array to a color space to obtain a second tetrahedral array corresponding to the CIELab color space. Based on the second tetrahedral array, obtain a fourth model corresponding to the CIELab color space. The fourth model includes several tetrahedrons, each tetrahedron having four vertices. Each vertex of the tetrahedron points to a set of second linear RGB values ​​and a second visual CIELab value.

[0094] Reference Figure 6 and Figure 7 , Figure 6 This is a schematic diagram of the third model of the RGB color space and the fourth model of the CIELab color space. In the third model of the RGB color space, the x-axis represents the color component R in the RGB coordinate system, the y-axis represents the color component G in the RGB coordinate system, and the z-axis represents the color component B in the RGB coordinate system. In the schematic diagram of the fourth model of the CIELab color space, the x-axis represents the color component a in the CIELab coordinate system, the y-axis represents the color component b in the CIELab coordinate system, and the z-axis represents the color component L in the CIELab coordinate system. Figure 7This is a schematic diagram of tetrahedral subdivision of the fourth model. The x-axis represents color component 'a' in the CIELab coordinate system, the y-axis represents color component 'b', and the z-axis represents color component 'L'. Therefore, after tetrahedral subdivision, the third model in the RGB color space, when transformed to the CIELab color space, remains a tetrahedron, but it undergoes deformation. Specifically, the second tetrahedron array includes several sets of second linear RGB values ​​and second visual CIELab values. That is, each vertex of the tetrahedron corresponds to a set of second tetrahedron arrays, and each set of second tetrahedron arrays includes a set of second linear RGB values ​​and a set of second visual CIELab values. In other words, each vertex of the tetrahedron simultaneously points to a set of second linear RGB values ​​and a set of second visual CIELab values.

[0095] S432: Based on the first cropping visual CIELab value, find the tetrahedron M1 containing the first cropping visual CIELab value in the fourth model, and obtain the second linear RGB values ​​of the four vertices of the tetrahedron M1; based on the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device 3D lookup table 3D LUT, the first cropping visual CIELab value, and the second linear RGB values ​​of the four vertices of the tetrahedron M1, obtain the color correction RGB value corresponding to the first cropping visual CIELab value in the fourth model through tetrahedron inverse interpolation.

[0096] S433: Convert the RGB color calibration values ​​to obtain the corresponding CIELab color calibration values, and make the display device display colors according to the CIELab color calibration values.

[0097] Specifically, in step S432 above, obtaining the color correction RGB value corresponding to the first cropping visual CIELab value in the fourth model can be done by: obtaining a first function model with the second linear RGB value as input and the second visual CIELab value as output based on the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device 3D lookup table 3D LUT.

[0098] Substitute the second linear RGB values ​​of the four vertices of tetrahedron M1 into the first function model to obtain the second visual CIELab values ​​corresponding to the four vertices of tetrahedron M1.

[0099] Based on the first cropping visual CIELab value, the second visual CIELab values ​​corresponding to the four vertices of tetrahedron M1 are weighted and summed, and then interpolated to obtain the second linear RGB value corresponding to the first cropping visual CIELab value in the fourth model; the second linear RGB value corresponding to the first cropping visual CIELab value in the fourth function model is the color correction RGB value.

[0100] In step S432 above, if the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device's 3D LUT is not combined, and the second RGB value corresponding to the four vertices of tetrahedron P1 is directly interpolated to obtain the RGB value corresponding to the first cropping visual CIELab value, the interpolation calculation error will be very large. Therefore, through the above process, the interpolation calculation accuracy is improved, and the accuracy of the obtained color calibration RGB value is higher.

[0101] Specifically, in step S432 above, when searching for tetrahedrons containing the first crop visual CIELab value in the fourth model, if a global traversal method is used for all first crop visual CIELab values ​​to sequentially find the position of each first crop visual CIELab value in the tetrahedron of the fourth model, the efficiency would be too low. Therefore, in order to speed up the process of obtaining the color correction RGB values ​​corresponding to each first crop visual CIELab value, thereby improving the system color correction speed, a method of first local traversal and then global traversal can be used for each first crop visual CIELab value. The following is a detailed explanation of this method:

[0102] Reference Figure 3 Assuming that tetrahedron P1 has been found in the fourth model to contain the first cropping visual CIELab value C1, and that the first cropping visual CIELab value C2 is a discrete point surrounding the first cropping visual CIELab value C1, then when determining the tetrahedron position of the first cropping visual CIELab value C2 in the fourth model, a local search can be performed first on tetrahedron P1 and the 17 tetrahedrons surrounding tetrahedron P1. If no tetrahedron containing the first cropping visual CIELab value C2 is found among tetrahedron P1 and the 17 tetrahedrons surrounding tetrahedron P1... For tetrahedrons with value C2, the search and judgment range is expanded sequentially until the search range is expanded to all tetrahedrons in the fourth model. That is, it is determined whether there is a tetrahedron containing the first cropping visual CIELab value C2 among all tetrahedrons in the fourth model. If there is, the same interpolation calculation method as the first cropping visual CIELab value C1 is used to obtain the color calibration RGB value corresponding to the first cropping visual CIELab value C2 in the fourth model. If not, it is determined that the above process has an anomaly, and a reminder to check is issued. After the problem is resolved, the color calibration process is performed again.

[0103] Example 2:

[0104] This embodiment discloses a display device calibration system for an embedded platform. The display device calibration system applies the display device calibration method described in Embodiment 1, and refers to... Figure 8The display device color calibration system includes a color sensor 1 and a display device 2. The display device 2 includes a display panel 21, a system chip 22, a universal serial bus 23, and Flash storage 26.

[0105] The color sensor 1 is used to generate a color target based on a preset second RGB value, measure the actual color presented by the display panel 21 based on the color target, obtain the second visual CIEXYZ value of the actual color presented by the display panel 21, and output the second visual CIEXYZ value.

[0106] Furthermore, the color sensor 1 can be a colorimeter. By measuring the display panel 21 with the colorimeter, the second visual CIEXYZ value of the actual color presented by the display panel 21 can be obtained.

[0107] The system chip 22 is used to acquire the second visual CIEXYZ value output by the color sensor 1 through the universal serial bus 23, convert and normalize the second visual CIEXYZ value to obtain the corresponding second visual CIELab value; and obtain a device one-dimensional lookup table 1D LUT based on the preset second RGB value and second visual CIELab value; normalize the second RGB value in the device one-dimensional lookup table 1D LUT to obtain the second linear RGB value; and obtain a device three-dimensional lookup table 3D LUT based on the second linear RGB value and the second visual CIELab value; the device three-dimensional lookup table 3D LUT includes the second linear RGB value, the second visual CIELab value, and the linear mapping relationship between the second linear RGB value and the second visual CIELab value; the device one-dimensional lookup table 1D LUT and the device three-dimensional lookup table 3D LUT constitute a color model lookup table for the display device.

[0108] Specifically, the above-mentioned process of converting and normalizing the second visual CIEXYZ value to obtain the corresponding second visual CIELab value can be as follows: converting the second visual CIEXYZ value to obtain the corresponding second visual CIExyY value; normalizing the Y value in the second visual CIExyY value; and converting the normalized second visual CIExyY value to obtain the corresponding second visual CIELab value.

[0109] The Flash storage 26 is used to store a target color gamut lookup table, which includes a first visual CIELab value.

[0110] The system chip 22 is also used to obtain the target color gamut lookup table stored in the Flash storage 26, and perform color calibration processing on the first visual CIELab value in the target color gamut lookup table according to the display device color model lookup table to obtain the corresponding color calibration CIELab value, and make the display panel 21 display the color according to the color calibration CIELab value.

[0111] The display panel 21 can be an LCD display panel or other display materials, such as OLED or CRI; the system chip 22 can be a ZYNQ system-on-a-chip, which includes a PS part and a PL part. The PS part is a programmable system, including an ARM processor and other peripheral devices, and can run the Linux operating system; while the PL part is a programmable gate array, which can be used to process high-speed video streams in parallel; the universal serial bus 23 can also be used to drive the color sensor 1 and upgrade the system chip 22.

[0112] Furthermore, the display device calibration system of this embodiment also includes a button module 24; the button module 24 is used to select the menu of the display device calibration system, that is, the user can select a task in the menu through the button module to make the display device calibration system execute the task. For example, if the user selects a calibration task on the button module, each module in the display device calibration system will start to execute the calibration process according to the calibration method.

[0113] Furthermore, the display device color calibration system of this embodiment may also include RAM memory 25; the RAM memory 25 can be used to store some three-dimensional lookup table text files, as well as variables and functions in the program algorithm, and can also be used to store some intermediate files for system debugging and analysis. The RAM memory 25 is a file management system built into the embedded platform. By using RAM memory 25 to store files, the system can directly read the files in the RAM memory and load them into the PL part of the system chip 22 when it boots up, thereby improving the system running speed.

[0114] The above are all preferred embodiments of this application, and are not intended to limit the scope of protection of this application. Therefore, all equivalent changes made in accordance with the structure, shape and principle of this application should be covered within the scope of protection of this application.

Claims

1. A color calibration method for a display device on an embedded platform, characterized in that, The process includes the following steps: S100: Generate a color target based on a preset second RGB value; process the color actually presented by the display device based on the color target to obtain a second visual CIELab value of the color actually presented by the display device; S200: Obtain a one-dimensional lookup table for the device based on the second RGB value and the second visual CIELab value; Normalize the second RGB value in the device one-dimensional lookup table to obtain the second linear RGB value. Based on the second linear RGB value and the second visual CIELab value, obtain the device three-dimensional lookup table. The device three-dimensional lookup table includes the second linear RGB value, the second visual CIELab value, and the linear mapping relationship between the second linear RGB value and the second visual CIELab value. The device one-dimensional lookup table and the device three-dimensional lookup table constitute a display device color model lookup table. S300: Obtain the target color gamut lookup table, which includes the first visual CIELab value. S400: Based on the display device color model lookup table, perform color calibration processing on the first visual CIELab value in the target color gamut lookup table to obtain the corresponding color calibration CIELab value, and make the display device display colors according to the color calibration CIELab value. Step S400 Specifically, the process includes: S410: According to the device's three-dimensional lookup table, the first visual CIExyY value is luminance compressed while maintaining chromaticity, resulting in a luminance-compressed first compressed visual CIELab value; the first visual CIELab value is then converted to a color space to obtain the corresponding first visual CIExyY value; S420: According to the device's three-dimensional lookup table, values ​​in the first compressed visual CIELab value that exceed the range of the color model lookup table are replaced, while values ​​that do not exceed the range of the color model lookup table are retained, resulting in a first cropped visual CIELab value after replacement and retention processing; S430: According to the device's three-dimensional lookup table and the first cropped visual CIELab value, the color calibration CIELab value corresponding to the first cropped visual CIELab value in the three-dimensional lookup table is obtained, and the display device displays colors according to the color calibration CIELab value.

2. The color calibration method for an embedded platform display device according to claim 1, characterized in that: Step S410 specifically includes: S411: Based on the second linear RGB value in the device's three-dimensional lookup table, obtain all discrete points and their distribution in the RGB color space for the second linear RGB value; select discrete points distributed at the boundary of the RGB color space from the second linear RGB value to form a first boundary value model for the RGB color space; use triangular facet partitioning to obtain a first triangular facet array corresponding to the first boundary value model; convert the first triangular facet array to a color space to obtain a second triangular facet array corresponding to the CIELab color space; obtain a second boundary value model for the CIELab color space based on the second triangular facet array; the second boundary value model... The model includes several triangular faces; S412: Based on the second boundary value model and the preset brightness threshold, the line L1 is judged to obtain the intersection point A of the brightness threshold judgment line L1 and the second boundary value model; S413: The value of the intersection point A in the CIELab color space is converted to obtain the value of the intersection point A in the CIExyY color space; S414: Based on the value of the intersection point A in the CIExyY color space, the brightness of the first visual CIExyY value is compressed under the condition that the chromaticity remains unchanged to obtain the first compressed visual CIExyY value; The first compressed visual CIExyY value is converted to obtain the corresponding first compressed visual CIELab value.

3. The color calibration method for an embedded platform display device according to claim 2, characterized in that: Step S420 specifically includes: obtaining the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model based on the first compressed visual CIELab value; obtaining the line segment S1 formed by the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model and the color gamut center point, based on the discrete point corresponding to the first compressed visual CIELab value in the second boundary value model and a preset color gamut center point; determining whether the line segment S1 intersects with each triangular face in the second boundary value model: if there is an intersection point B, it is determined that the first compressed visual CIELab value exceeds the range of the second boundary value model, and the CIELab value corresponding to the intersection point B replaces the first compressed visual CIELab value; if there is no intersection point, it is determined that the first compressed visual CIELab value does not exceed the range of the second boundary value model, and the first compressed visual CIELab value is retained, to obtain the first cropped visual CIELab value after replacement and retention processing.

4. The color calibration method for an embedded platform display device according to claim 2, characterized in that: Step S430 specifically includes: S431: Based on the second linear RGB value in the device's three-dimensional lookup table, obtain all discrete points and their distribution in the RGB color space for the second linear RGB value; form a third model of the RGB color space from all discrete points of the second linear RGB value in the RGB color space; perform tetrahedral partitioning on the third model to obtain a first tetrahedral array corresponding to the third model of the RGB color space; then convert the first tetrahedral array through color space transformation to obtain a second tetrahedral array corresponding to the CIELab color space; and obtain a fourth model corresponding to the CIELab color space based on the second tetrahedral array; the fourth model includes several tetrahedrons, each tetrahedron including four vertices, and each vertex of the tetrahedron simultaneously points to a set of second linear RGB values ​​and a second... S432: Based on the first cropped visual CIELab value, find the tetrahedron M1 containing the first cropped visual CIELab value in the fourth model, and obtain the second linear RGB values ​​of the four vertices of the tetrahedron M1; based on the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device's three-dimensional lookup table, the first cropped visual CIELab value, and the second linear RGB values ​​of the four vertices of the tetrahedron M1, obtain the color calibration RGB value corresponding to the first cropped visual CIELab value in the fourth model through tetrahedral inverse interpolation; S433: Convert the color calibration RGB value through color space to obtain the corresponding color calibration CIELab value, and make the display device display colors according to the color calibration CIELab value.

5. The color calibration method for an embedded platform display device according to claim 4, characterized in that: Step S432 includes: obtaining a first function model with the second linear RGB value as input and the second visual CIELab value as output based on the linear mapping relationship between the second linear RGB value and the second visual CIELab value in the device's 3D lookup table; substituting the second linear RGB value of the four vertices of tetrahedron M1 into the first function model to obtain the second visual CIELab value corresponding to the four vertices of tetrahedron M1; performing a weighted summation of the second visual CIELab value corresponding to the four vertices of tetrahedron M1 based on the first cropping visual CIELab value, and combining it with interpolation calculation to obtain the second linear RGB value corresponding to the first cropping visual CIELab value in the fourth model; the second linear RGB value corresponding to the first cropping visual CIELab value in the fourth model is the color correction RGB value.

6. The color calibration method for an embedded platform display device according to claim 1, characterized in that: Step S100 specifically includes: S110: generating a color target based on a preset second RGB value, measuring the actual color presented by the display device based on the color target to obtain the second visual CIEXYZ value corresponding to the color target, and converting the second visual CIEXYZ value through a color space to obtain the corresponding second visual CIExyY value; S120: normalizing the Y in the second visual CIExyY value, and converting the normalized second visual CIEXYZ value through a color space to obtain the corresponding second visual CIELab value, wherein the second visual CIELab value is the second visual CIELab value of the actual color presented by the display device.

7. A color calibration system for an embedded platform display device, characterized in that, The display device color calibration system includes a color sensor (1) and a display device (2). The display device (2) includes a display panel (21), a system chip (22), a universal serial bus (23), and Flash storage (26). The color sensor (1) is used to generate a color target based on a preset second RGB value; measure the actual color presented by the display panel (21) based on the color target to obtain the second visual CIEXYZ value of the actual color presented by the display panel (21), and output the second visual CIEXYZ value; the system chip (22) is used to obtain the second visual CIEXYZ value output by the color sensor (1) through the universal serial bus (23), and output the second visual CIEXYZ value. The second visual CIEXYZ values ​​are converted and normalized in color space to obtain the corresponding second visual CIELab values. A one-dimensional lookup table for the device is then generated based on the preset second RGB values ​​and second visual CIELab values. The second RGB values ​​in the one-dimensional lookup table are normalized to obtain second linear RGB values. A three-dimensional lookup table for the device is then generated based on the second linear RGB values ​​and the second visual CIELab values. The three-dimensional lookup table includes the second linear RGB values, the second visual CIELab values, and the linear mapping relationship between the second linear RGB values ​​and the second visual CIELab values. The one-dimensional and three-dimensional lookup tables constitute the display device color... The system chip (22) is also used to obtain the target color gamut lookup table stored in the Flash storage (26), and to perform color calibration processing on the first visual CIELab value in the target color gamut lookup table according to the display device color model lookup table, so as to obtain the corresponding color calibration CIELab value, and to make the display panel (21) display the color according to the color calibration CIELab value; it is also used to perform brightness compression on the first visual CIExyY value under the condition of unchanged chromaticity according to the device three-dimensional lookup table, so as to obtain the brightness compressed value. First compressed visual CIELab value; the first visual CIELab value is converted to a color space to obtain the corresponding first visual CIEExyY value; according to the device's three-dimensional lookup table, the values ​​in the first compressed visual CIELab value that exceed the range of the color model lookup table are replaced, and the values ​​that do not exceed the range of the color model lookup table are retained to obtain the first cropped visual CIELab value after replacement and retention processing; according to the device's three-dimensional lookup table and the first cropped visual CIELab value, the color calibration CIELab value corresponding to the first cropped visual CIELab value in the three-dimensional lookup table is obtained, and the display device (2) is made to display colors according to the color calibration CIELab value.

Citation Information

Patent Citations

  • Equipment calibration method and output device

    CN102082894A

  • 3D lookup table generation method, display color correction method and display color correction system

    CN109859702A