Color correction method, system, display device and chip
By converting the initial color data of pixels into initial coordinates in the target color space, extracting the high m-bit and low (nm)-bit binary numbers as parameters, obtaining corrected color data from multiple sampling points, and solving the problem of poor color effect of display devices through interpolation operations, the display of standard color gamut is realized.
Patent Information
- Application Number
- CN202111166252.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-30
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2041-09-30
AI Technical Summary
Existing display devices, due to their imperfect physical characteristics, cannot fully represent all points in the standard color space, resulting in poor color performance.
By converting the initial color data of pixels into initial coordinates in the target color space, extracting the high m-bit and low (nm)-bit binary numbers as parameters, obtaining the corrected color data of multiple sampling points, and obtaining the corrected color data through interpolation, a conversion relationship between the target color space and the original color space is established.
This enables the display to show the standard color gamut, improving the accuracy and effectiveness of color correction.
Smart Images

Figure CN115914600B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of display technology, in particular to a color correction method, system, display device and chip. BACKGROUND
[0002] With the rapid development of display technology, people's requirements for display performance are getting higher and higher. As a very key indicator for measuring display devices, color accuracy is getting more and more attention.
[0003] For an ideal display device, all initial color data of the display screen can express every point in the standard color space, but in actual application, the physical characteristics of the display screen are not completely ideal, which makes the display screen unable to express all points in the standard color space, and the color effect of the display device is poor. SUMMARY
[0004] The present application provides a color correction method, system, display device and chip to solve the problem of poor color effect of the existing display device.
[0005] In order to solve the above problem, the present application discloses a color correction method, which comprises a display correction stage, and the display correction stage comprises:
[0006] Receiving initial color data of a pixel, and converting the initial color data into initial coordinates in a target color space; the target color space is located in a Cartesian coordinate system comprising three coordinate directions, and the initial coordinates comprise initial coordinate components corresponding to each of the coordinate directions;
[0007] For each of the initial coordinate components represented in binary, extracting the high m-bit binary number of each of the initial coordinate components as a first parameter;
[0008] For each of the initial coordinate components represented in binary, extracting the low (n-m) bit binary number of each of the initial coordinate components as a second parameter; n is the bit width of the pixel;
[0009] According to the first parameter, obtaining the corrected color data of a plurality of sampling points corresponding to the pixel;
[0010] According to the second parameter, performing interpolation operation on the corrected color data of the plurality of sampling points corresponding to the pixel to obtain the corrected color data of the pixel;
[0011] Wherein, each edge length of the target color space is the maximum value of the color range of the pixel, the target color space is divided into a plurality of sampling cubes, each vertex of the sampling cube is the sampling point, p is the number of the sampling points in any of the coordinate directions, and p = 2m +1.
[0012] Optionally, before the display correction stage, the method further comprises a correction preparation stage, the correction preparation stage comprises:
[0013] constructing a conversion relationship between the coordinates in the target color space and the coordinates in the original color space; the conversion relationship includes unknown conversion parameters related to the coordinates in the target color space;
[0014] selecting multiple sampling points in the target color space along the three coordinate directions respectively at equal intervals;
[0015] constructing display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and outputting the display signals;
[0016] detecting chrominance parameters corresponding to the sampling points according to the output of the display signals;
[0017] determining the conversion parameters corresponding to the sampling points according to the chrominance parameters corresponding to the sampling points, and obtaining the conversion relationship between the coordinates of the sampling points in the target color space and the coordinates in the original color space.
[0018] Optionally, the constructing display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and outputting the display signals, comprises:
[0019] taking the coordinate value of the sampling point in the target color space along the first coordinate direction as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to the second coordinate direction, and taking zero as a third display signal component corresponding to the third coordinate direction, to construct a first display signal;
[0020] taking zero as a first display signal component corresponding to the first coordinate direction, taking the coordinate value of the sampling point in the target color space along the second coordinate direction as a second display signal component corresponding to the second coordinate direction, and taking zero as a third display signal component corresponding to the third coordinate direction, to construct a second display signal;
[0021] taking zero as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to the second coordinate direction, and taking the coordinate value of the sampling point in the target color space along the third coordinate direction as a third display signal component corresponding to the third coordinate direction, to construct a third display signal;
[0022] According to the maximum value of the color range of the pixel, a fourth display signal is constructed;
[0023] The first display signal, the second display signal, the third display signal and the fourth display signal are output respectively.
[0024] Optionally, after the conversion relationship between the coordinates of the sampling point in the target color space and the coordinates of the sampling point in the original color space is obtained according to the conversion parameter corresponding to the sampling point and the chroma parameter corresponding to the sampling point, the correction preparation stage further comprises:
[0025] According to the conversion relationship between the coordinates of the sampling point in the target color space and the coordinates of the sampling point in the original color space, the coordinates of the sampling point in the original color space are determined, and the corrected color data of the sampling point is obtained.
[0026] The corrected color data of the sampling point is allocated to a corresponding storage address.
[0027] The corrected color data of the sampling point is stored in the storage address corresponding to the sampling point.
[0028] Optionally, the corrected color data of the plurality of sampling points corresponding to the pixel is obtained according to the first parameter, comprising:
[0029] The first parameter is taken as a lookup parameter to look up a plurality of storage addresses corresponding to the pixel; each storage address stores the corrected color data of a sampling point;
[0030] The corrected color data of the plurality of sampling points corresponding to the pixel is simultaneously read from the plurality of storage addresses.
[0031] Optionally, the corrected color data of the plurality of sampling points corresponding to the pixel is obtained according to the second parameter, comprising:
[0032] The plurality of sampling points corresponding to the pixel are divided into four groups of sampling points adjacent along a first coordinate direction, and the corrected color data of four first interpolation points is obtained by simultaneously interpolating between the corrected color data of each group of sampling points along the first coordinate direction according to the parameter component corresponding to the first coordinate direction in the second parameter.
[0033] The four first interpolation points are divided into two groups of first interpolation points adjacent along a second coordinate direction, and the post-correction color data of two second interpolation points are obtained by simultaneously interpolating between the post-correction color data of each group of the first interpolation points along the second coordinate direction according to a parameter component corresponding to the second coordinate direction in the second parameter.
[0034] The post-correction color data of the pixel is obtained by interpolating between the post-correction color data of the two second interpolation points along a third coordinate direction according to a parameter component corresponding to the third coordinate direction in the second parameter.
[0035] To solve the above problems, the application further discloses a color correction system, which comprises a display correction module, wherein the display correction module is used to realize a display correction stage, and the display correction module comprises:
[0036] A receiving submodule is configured to receive initial color data of a pixel, and convert the initial color data into initial coordinates in a target color space; the target color space is located in a Cartesian coordinate system comprising three coordinate directions, and the initial coordinates comprise initial coordinate components corresponding to each coordinate direction;
[0037] A first extraction submodule is configured to extract high m-bit binary numbers of each initial coordinate component represented in binary form as first parameters;
[0038] A second extraction submodule is configured to extract low (n-m) -bit binary numbers of each initial coordinate component represented in binary form as second parameters; n is the bit width of the pixel;
[0039] A second extraction submodule is configured to extract low (n-m) -bit binary numbers of each initial coordinate component represented in binary form as second parameters; n is the bit width of the pixel;
[0040] An interpolation submodule is configured to perform interpolation operation on post-correction color data of a plurality of sampling points corresponding to the pixel according to the second parameters, and obtain post-correction color data of the pixel;
[0041] Wherein, each side length of the target color space is a maximum value of a color range of the pixel, the target color space is divided into a plurality of sampling cubes, each vertex of the sampling cube is the sampling point, p is the number of the sampling points in any coordinate direction, and p = 2 m +1.
[0042] Optionally, the system further comprises a preliminary correction module configured to implement a preliminary correction stage, the preliminary correction module comprising:
[0043] a first constructing submodule configured to construct a conversion relationship between coordinates in the target color space and coordinates in the original color space, wherein the conversion relationship comprises unknown conversion parameters related to the coordinates in the target color space;
[0044] a selecting submodule configured to select a plurality of the sampling points in the target color space at equal intervals along the three coordinate directions respectively;
[0045] a second constructing submodule configured to construct display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and output the display signals;
[0046] a detecting submodule configured to detect chroma parameters corresponding to the sampling points according to the output of the display signals;
[0047] a first determining submodule configured to determine the conversion parameters corresponding to the sampling points according to the chroma parameters corresponding to the sampling points, and obtain the conversion relationship between the coordinates of the sampling points in the target color space and the coordinates in the original color space.
[0048] Optionally, the second constructing submodule comprises:
[0049] a first constructing unit configured to construct a first display signal by taking a coordinate value of the sampling point in the target color space along a first coordinate direction as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to a second coordinate direction, and taking zero as a third display signal component corresponding to a third coordinate direction;
[0050] a second constructing unit configured to construct a second display signal by taking zero as a first display signal component corresponding to the first coordinate direction, taking a coordinate value of the sampling point in the target color space along the second coordinate direction as a second display signal component corresponding to the second coordinate direction, and taking zero as a third display signal component corresponding to the third coordinate direction;
[0051] a third constructing unit configured to construct a third display signal by taking zero as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to the second coordinate direction, and taking a coordinate value of the sampling point in the target color space along the third coordinate direction as a third display signal component corresponding to the third coordinate direction;
[0052] a fourth constructing unit configured to construct a fourth display signal according to a maximum value of the color range of the pixel;
[0053] an output unit configured to output the first display signal, the second display signal, the third display signal and the fourth display signal respectively.
[0054] Optionally, the preliminary correction module further comprises a colorimeter, and the detecting submodule is specifically configured to:
[0055] detect, according to the output of the display signal, a chromaticity parameter corresponding to the sampling point by the colorimeter.
[0056] Optionally, the preliminary correction module further comprises:
[0057] a second determining submodule configured to determine the coordinate of the sampling point in the original color space according to a conversion relationship between the coordinate of the sampling point in the target color space and the coordinate of the sampling point in the original color space, and obtain corrected color data of the sampling point;
[0058] an allocating submodule configured to allocate a corresponding storage address in the display module to the corrected color data of the sampling point;
[0059] a storage submodule configured to store the corrected color data of the sampling point into the corresponding storage address of the sampling point in the display module.
[0060] Optionally, the obtaining submodule comprises:
[0061] a searching unit configured to search for a plurality of storage addresses corresponding to the pixel by taking the first parameter as a searching parameter, wherein each of the storage addresses stores corrected color data of a sampling point;
[0062] a reading unit configured to simultaneously read the corrected color data of a plurality of sampling points corresponding to the pixel from the plurality of storage addresses.
[0063] Optionally, the interpolation submodule comprises:
[0064] a first interpolation unit configured to divide the plurality of sampling points corresponding to the pixel into four groups of sampling points adjacent along a first coordinate direction, and simultaneously interpolate between the corrected color data of each group of sampling points along the first coordinate direction according to a parameter component corresponding to the first coordinate direction in the second parameter, to obtain corrected color data of four first interpolation points;
[0065] a second interpolation unit configured to interpolate, according to a parameter component corresponding to the second coordinate direction in the second parameter, between the corrected color data of each group of the first interpolation points along the second coordinate direction to obtain corrected color data of two second interpolation points;
[0066] a third interpolation unit configured to interpolate, according to a parameter component corresponding to the third coordinate direction in the second parameter, between the corrected color data of the two second interpolation points along the third coordinate direction to obtain the corrected color data of the pixel.
[0067] To solve the above problems, the application further discloses a display device, wherein the display correction module in the system is arranged in the display device.
[0068] Optionally, the system further comprises a preliminary correction module, and the preliminary correction module is arranged in the display device.
[0069] To solve the above problems, the application further discloses a chip, which can be arranged in a display device, and has the characteristics that the chip comprises:
[0070] one or more processors;
[0071] a memory configured to store one or more programs;
[0072] When the one or more programs are executed by the one or more processors, the one or more processors implement the display calibration stage in the color correction method.
[0073] Compared with the prior art, the application has the following advantages:
[0074] In the embodiment of the application, the initial color data of the pixel can be converted into initial coordinates in a target color space, the initial coordinates comprising components of each coordinate direction of the target color space. Then, the binary high m bits of each component are extracted, and the binary low (n-m) bits of each component are extracted, n being the bit width of the pixel. Then, according to the binary high m bits, the corrected color data of a plurality of sampling points corresponding to the pixel are obtained; and according to the binary low (n-m) bits, the corrected color data of the plurality of sampling points are interpolated to obtain the corrected color data of the pixel. Wherein, each side length of the target color space is the maximum value of the color range of the pixel, the target color space is divided into a plurality of sampling cubes, the vertices of the sampling cubes are sampling points, p is the number of sampling points in the coordinate direction, p = 2 m+1. In the embodiment of the present application, the corrected color data of the sampling points corresponding to the pixel can be determined according to the binary high m bits of each component of the initial coordinate of the pixel in the target color space, and then the corrected color data of the sampling points is interpolated according to the binary low (n-m) bits of each component of the initial coordinate of the pixel in the target color space, so as to obtain the corrected color data of the pixel, thereby the correction of the color data can be realized through simple binary processing. The pixel is displayed through the corrected color data, so that the display screen can display the standard specified color gamut. BRIEF DESCRIPTION OF DRAWINGS
[0075] Figure 1 A step flow chart of a color correction method of the embodiment of the present application is shown;
[0076] Figure 2 A CIE 1931 chromaticity diagram of the embodiment of the present application is shown;
[0077] Figure 3 A sampling point distribution schematic diagram of the embodiment of the present application is shown;
[0078] Figure 4 A step flow chart of another color correction method of the embodiment of the present application is shown;
[0079] Figure 5 A step flow chart of a third color correction method of the embodiment of the present application is shown;
[0080] Figure 6 A schematic diagram of positioning a sampling cube of the embodiment of the present application is shown;
[0081] Figure 7 A schematic diagram of addressing reading and parallel processing of the embodiment of the present application is shown;
[0082] Figure 8 An interpolation schematic diagram of the embodiment of the present application is shown;
[0083] Figure 9 A pipeline design schematic diagram of the embodiment of the present application is shown;
[0084] Figure 10 A structure block diagram of a color correction system of the embodiment of the present application is shown. DETAILED DESCRIPTION
[0085] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application will be further described in detail below with reference to the drawings and specific embodiments.
[0086] Before the steps of the embodiment of the present application are described in detail, the general architecture of the embodiment of the present application is first introduced so as to better understand the embodiment of the present application.
[0087] In the embodiment of the present application, the color correction method can include two stages, one is a correction preparation stage before display, and the other is a display correction stage in real time during display. The correction preparation stage can be performed before the display device is shipped, or can be performed after the display device is shipped and color correction is needed, which is not specifically limited in the embodiment of the present application. The display correction stage can be performed during display after the display device is shipped.
[0088] With a certain standard color space (hereinafter referred to as a target color space) as a target, the embodiment of the present application hopes that the display screen can express all colors in the target color space through its original color space, and then in the correction preparation stage, a conversion relationship between the target color space and the original color space can be established, so that a color in the target color space is given during display.
[0089] The physical characteristics of the display screen should be determined and unchanged in an ideal state. However, due to the non-ideal physical characteristics of the display screen, the embodiment of the present application considers that the conversion relationship should also be different with different initial color data of the pixel to be displayed. Accordingly, in the correction preparation stage, a plurality of conversion relationships can be established, which will provide a basis for the subsequent display correction stage.
[0090] However, the range of the initial color data of the pixel is large, such as 0-255, 0-1023, etc. In actual application, it is impossible to determine the conversion relationship corresponding to each initial color data according to each initial color data in the range, which will have a large amount of calculation. Therefore, in the correction preparation stage of the embodiment of the present application, some sampling points can be selected in the target color space, and the conversion relationship corresponding to certain sampling points can be determined, and then the coordinates of the sampling points in the original color space, that is, the corrected color data of the sampling points, are determined.
[0091] Further, in the display correction stage, when receiving the initial color data of a pixel, the initial color data can be first converted into initial coordinates in the target color space, and then a plurality of sampling points adjacent to the initial coordinates in the target color space are determined, and the corrected color data of the plurality of adjacent sampling points are interpolated to obtain the corrected color data of the pixel.
[0092] The following first introduces the correction preparation stage:
[0093] Figure 1 The steps of a color correction method of the embodiment of the present application are shown in a flowchart, which is described with reference to Figure 1The correction preparation stage (I) comprises the following steps:
[0094] Step 101: constructing a conversion relationship between the coordinates in the target color space and the coordinates in the original color space; the conversion relationship includes unknown conversion parameters related to the coordinates in the target color space.
[0095] Step 102: selecting multiple sampling points in the target color space at equal intervals along three coordinate directions respectively.
[0096] Step 103: constructing display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and outputting the display signals.
[0097] Step 104: detecting the chroma parameters corresponding to the sampling points according to the output of the display signals.
[0098] Step 105: determining the conversion parameters corresponding to the sampling points according to the chroma parameters corresponding to the sampling points, and obtaining the conversion relationship between the coordinates of the sampling points in the target color space and the coordinates in the original color space.
[0099] In step 101, the conversion relationship between the coordinates in the target color space and the coordinates in the original color space can be constructed based on the following color basis and color space conversion derivation.
[0100] The target color space is a cubic space, and the target color space is located in a Cartesian coordinate system including three coordinate directions. The original color space is also a cubic space, and the original color space is also located in a Cartesian coordinate system including three coordinate directions. The three coordinate directions of the Cartesian coordinate system in which the original color space is located can be the same as the three coordinate directions of the Cartesian coordinate system in which the target color space is located, for example, the target color space and the original color space can both be RGB (right angle) coordinate systems. In the embodiment of the application, one vertex of the target color space is located at the origin position of the coordinate system, and three edges with the vertex as a common vertex are located on the three coordinate axes of the coordinate system, and the original color space is the same.
[0101] Reference Figure 2, which shows the CIE (English: International Commission on illumination, French: Commission Internationale de l'Eclairage, International Commission on Illumination) 1931 chromaticity diagram, which is a CIE chromaticity diagram represented by nominal values, x represents the red component, and y represents the green component. The E point in the figure represents white light, and its coordinates are (0.33, 0.33). The colors around the edge of the color space are spectral colors, the boundary represents the maximum saturation of spectral colors, and the numbers on the boundary represent the wavelengths of spectral colors. Its outline contains all the perceived color tones. All monochromatic light is located on the tongue-shaped curve, which is the monochromatic locus, and the numbers marked on the curve are the wavelength values of monochromatic (or spectral) light.
[0102] Various actual colors in nature are located within this closed curve, and any color can find its corresponding coordinates in the CIE 1931 chromaticity diagram, so the colors of different color spaces can be converted to each other through their coordinates on the chromaticity diagram.
[0103] Human color vision is equivalent to taking a three-dimensional projection in the infinite-dimensional function space of all colors in nature. The basis of this three-dimensional space can be the light sensitivity curves of the cone cells (the basis used by our brain), or it can be a combination of three colors of light (CIE RGB space), or it can be a combination of "light" that does not exist in reality (CIE XYZ space). Since these spaces are actually the same linear space, only different expressions are selected, according to the conclusion of linear algebra, the expression forms of these spaces can be converted through matrix multiplication, which is a complete linear transformation.
[0104] From a physical point of view, because the color space is linearly superimposed, the conversion from RGB space to XYZ space, or vice versa, is a linear transformation. Taking the conversion from RGB to XYZ as an example, it is actually a combination of the three vertices of the XYZ space according to the proportion of RGB to obtain a set of final X, Y, Z values.
[0105] Therefore, the following equation can be established, assuming that there is a conversion matrix M, such that:
[0106]
[0107] M can be regarded as a 3x3 matrix here, see formula (2) below, wherein the first column is the X, Y, Z value of the red vertex of the XYZ space to be converted, the second column is the X, Y, Z value of the green vertex of the XYZ space to be converted, and the third column is the X, Y, Z value of the blue vertex of the XYZ space to be converted.
[0108]
[0109] In formula (2), X r represents the X value of the red vertex, Y r represents the Y value of the red vertex, and Z r represents the Z value of the red vertex, and the like.
[0110] Substituting formula (2) into formula (1) can obtain formula (3) below.
[0111]
[0112] For the conversion matrix M of the standard color space, although the X, Y, Z value of the red, green, and blue vertices is currently unknown, the standard specifies the x, y value of the three vertices, and the CIE specifies:
[0113]
[0114] From formula (4) above, it can be known that z = 1-x-y.
[0115] From formula (4) above, formula (5) below can be obtained.
[0116] X = x (X+Y+Z), Y = y (X+Y+Z), Z = z (X+Y+Z) (5)
[0117] Substituting formula (5) into formula (3) can obtain formula (6) below.
[0118]
[0119] In formula (6), x r represents the x value of the red point in the color space, y r represents the y value of the red point in the color space, and z r represents the z value of the red point in the color space, and the like. It can be understood that in the embodiment of the application, the zero elements located on the non-main diagonal line in the diagonal matrix are omitted for the purpose of simplifying the formula.
[0120] Therefore, the conversion matrix M of the color space satisfies formula (7) below.
[0121]
[0122] To obtain the conversion matrix M, only (X r + Y r + Z r ), (X g + Y g + Z g ), and (X b + Y b + Z b ) need to be determined.
[0123] According to equation (3), for the white point in this color space, the following equation (8) is satisfied.
[0124]
[0125] In equation (8), X w represents the X value of the white point in this color space, Y w represents the Y value of the white point, Z w represents the Z value of the white point, R w represents the R value of the white point in the digital display system, G w represents the G value of the white point in the digital display system, and B w represents the B value of the white point in the digital display system.
[0126] In the digital display system, the R, G, and B values of the white point are represented as Here, "1" represents the normalized maximum value. Substituting the R, G, and B values of the white point into equation (8) above, the following equation (9) is obtained.
[0127]
[0128] People perceive white as the maximum brightness, so the normalized Y w = 1, and thus equation (5) is obtained as follows:
[0129]
[0130] Substituting equation (10) into equation (5), the following equation (11) is obtained.
[0131]
[0132] In equations (10) and (11), y w represents the y value of the white point in this color space, and similarly, x w represents the x value of the white point in this color space, and z w represents the z value of the white point in this color space.
[0133] According to formula (7), we have:
[0134]
[0135] Substituting formula (11) into formula (12), we have the following formula (13).
[0136]
[0137] Therefore,
[0138] By formula (14), we have solved (X r +Y r +Z r ), (X g +Y g +Z g ), (X b +Y b +Z b ). Substituting formula (8) can obtain the conversion matrix M from RGB space to XYZ space.
[0139] According to formula (7) and (14), we have known the parameters x r , y r , z r , x g , y g , z g , x b , y b , z b , x w , y w and z w in the conversion matrix M. Then we can obtain the conversion matrix M from RGB space to XYZ space.
[0140] So far, we can obtain the conversion relationship from RGB space to XYZ space. The X, Y, Z values of any point in RGB space can be obtained.
[0141] For the conversion between the standard RGB space and the standard XYZ space, the above parameters x r , y r , z r , x g , y g , z g , x b , y b , z b , x w , y w and z wis defined, thus the conversion matrix M between the standard color spaces is determined and invariant. However, for the conversion between the original RGB space of the display screen and the original XYZ space, the above parameters need to be obtained by measurement and calculation. However, due to the non-ideal physical characteristics of the display screen, the above parameters vary with the initial color data of the pixel to be displayed, thus the present application considers that the conversion matrix M of the original color space of the display screen also varies with the initial color data of the pixel to be displayed.
[0142] In order to make the original color space of the display screen express all the points in the target color space, we need to obtain a conversion relationship from the R, G, B values in the target color space to the R, G, B values in the original color space. In this way, we can know how many R, G, B values in the original color space are needed to realize the display of a certain point q (R q ,G q ,B q ) in the target color space.
[0143] According to formula (1), we can obtain the following formula (15):
[0144]
[0145] In formula (15), M mb represents the conversion matrix corresponding to the target color space. represents the X, Y, Z values of a certain point in the target color space, represents the R, G, B values of the point to be expressed by the target color space, i.e. the initial color data of the point. Since the target color space is a standard color space, the parameters in M mb are considered to be known.
[0146] According to formula (1), we can also obtain the following formula (16):
[0147]
[0148] In formula (16), M panel represents the original conversion matrix corresponding to the original color space of the display screen, represents the X, Y, Z values of a certain point of the display screen, represents the initial R, G, B values (i.e. the initial color data) of the point output by the signal source to the display screen. Since the original color space is not a standard color space, the parameters in M panel are unknown, and each parameter varies with the coordinates in the target color space.
[0149] M panelThe parameters in the above formula (15) and formula (16) can be obtained by outputting a specific signal to the display screen and then according to the measurement result of the colorimeter. Some of the parameters can be directly measured by the colorimeter, and some of the parameters can be indirectly calculated by the measurement value of the colorimeter, which will be described in detail below.
[0150] In order to make the expressions of the original color space and the target color space consistent, the X, Y and Z values in the formula (15) and the formula (16) can be made equal, and the following formula (17) is obtained.
[0151]
[0152] After moving the terms of the formula (17), the following formula (18) is obtained.
[0153]
[0154] At this point, the conversion relationship between the coordinates in the target color space and the coordinates in the original color space, that is, the formula (18), is constructed.
[0155] In theory, the original R, G and B values (i.e. ) of the display screen corresponding to any R, G and B values (i.e. ) in any standard color space can be calculated by the above formula (18).
[0156] Due to the physical characteristics of the display screen are not ideal, with the change of the pixel to be displayed (i.e. the initial color data of the pixel), the physical characteristics of the display screen will also change, therefore, in the embodiment of the present application, according to the number of sampling points in the target color space, the M panel of each sampling point can be determined, so that the conversion relationship corresponding to each sampling point can be obtained.
[0157] The color gamut is the color range that can be displayed or printed by a color system, and different fields will specify different color gamut standards, which will standardize the color range that can be represented by a color system in a certain application field. For example, the BT.709 standard, the DCI-P3 standard and the BT2020 standard all standardize the x and y values of the three points of red, green and blue (CIE three primary colors). In theory, all the colors in this color gamut can be obtained by mixing the three sampling points of red, green and blue in a certain proportion.
[0158] Taking the BT.709 standard color space as an example, the standard specifies the x, y and z values of the three sampling points of red, green and blue, as shown in the following table 1, wherein z = 1-x-y.
[0159] Table 1
[0160] x y z Red 0.64 0.33 0.03 Green 0.30 0.60 0.10 Blue 0.15 0.06 0.79
[0161] However, only three sampling points of red, green and blue are obviously insufficient, therefore, in step 102, more sampling points can be selected in the target color space along three coordinate directions (R coordinate direction, G coordinate direction and B coordinate direction) of the target color space coordinate axis at equal intervals, as shown in FIG. 2. Figure 3 For example, 17 sampling points are selected at equal intervals along each coordinate direction of the target color space coordinate axis, respectively, and a total of 17 3 sampling points can be obtained. For another example, 33 sampling points are selected at equal intervals along each coordinate direction of the target color space coordinate axis, respectively, and a total of 33 3 sampling points can be obtained. For yet another example, 65 sampling points are selected at equal intervals along each coordinate direction of the target color space coordinate axis, respectively, and a total of 65 3 sampling points can be obtained.
[0162] Taking the color range of the digital display system as 0-1023 and selecting 17 3 sampling points as an example, R, G and B values of the 17 3 sampling points are needed, and first, x, y and z values of the 17 3 sampling points need to be determined. The 17 3 sampling points are divided into 16 parts in the range of 0-1023 in the digital display system, and a total of 17 3 sampling points can be divided along the coordinate axis of the three coordinate directions of R, G and B. Among them, the sampling points are selected according to the following formulas (19), (20) and (21).
[0163]
[0164]
[0165]
[0166] Wherein, n is the bit width of the pixel, that is, the bit width of the display system, or the color depth of the display system. For example, when n=10, the color range of the pixel that can be displayed by the display system is 2 nFor example, when n=10, the color range of the pixel is 0-1023, and max in the above formulas (19), (20) and (21) is 1023. The length of the coordinate axis of the target color space is the maximum value of the color range of the pixel, and max in the above formulas (19), (20) and (21) is the maximum value of the color range of the pixel. For example, when the bit width n of the pixel is 10, the length of the coordinate axis of the target color space is 1023. Based on the selection manner of the sampling points, the target color space can be divided into a plurality of sampling cubes, each vertex of the sampling cube is a sampling point, p is the number of sampling points in any coordinate direction, and p=2 m +1. For example, when p=17, m=4.
[0167] Any R, G, and B value in the above formulas (19), (20) and (21) can be combined to obtain a sampling point.
[0168] Next, step 103 will be described. According to the coordinates of each sampling point in the target color space, the display signal corresponding to each sampling point is constructed, and the display signal is output.
[0169] Specifically, step 103 can include the following steps:
[0170] The coordinate value of the sampling point in the target color space along the first coordinate direction is taken as the first display signal component corresponding to the first coordinate direction, zero is taken as the second display signal component corresponding to the second coordinate direction, and zero is taken as the third display signal component corresponding to the third coordinate direction, to construct the first display signal.
[0171] Zero is taken as the first display signal component corresponding to the first coordinate direction, the coordinate value of the sampling point in the target color space along the second coordinate direction is taken as the second display signal component corresponding to the second coordinate direction, and zero is taken as the third display signal component corresponding to the third coordinate direction, to construct the second display signal.
[0172] Zero is taken as the first display signal component corresponding to the first coordinate direction, zero is taken as the second display signal component corresponding to the second coordinate direction, and the coordinate value of the sampling point in the target color space along the third coordinate direction is taken as the third display signal component corresponding to the third coordinate direction, to construct the third display signal.
[0173] According to the maximum value of the color range of the pixel, the fourth display signal is constructed.
[0174] The first display signal, the second display signal, the third display signal, and the fourth display signal are output respectively.
[0175] The first coordinate direction can be an R coordinate direction, the second coordinate direction can be a G coordinate direction, and the third coordinate direction can be a B coordinate direction. For any sampling point q(R q ,G q ,B q ), the coordinate value R q of the sampling point q in the R coordinate direction can be taken as a first display signal component corresponding to the R coordinate direction, 0 can be taken as a second display signal component corresponding to the G coordinate direction, and 0 can be taken as a third display signal component corresponding to the B coordinate direction, to construct a first display signal.
[0176] 0 can be taken as the first display signal component corresponding to the R coordinate direction, the coordinate value G q of the sampling point q in the G coordinate direction can be taken as a second display signal component corresponding to the G coordinate direction, and 0 can be taken as a third display signal component corresponding to the B coordinate direction, to construct a second display signal
[0177] 0 can be taken as the first display signal component corresponding to the R coordinate direction, 0 can be taken as the second display signal component corresponding to the G coordinate direction, and the coordinate value B q of the sampling point q in the B coordinate direction can be taken as a third display signal component corresponding to the B coordinate direction, to construct a second display signal
[0178] 0 can be taken as the first display signal component corresponding to the R coordinate direction, 0 can be taken as the second display signal component corresponding to the G coordinate direction, and the coordinate value B q of the sampling point q in the B coordinate direction can be taken as a third display signal component corresponding to the B coordinate direction, to construct a third display signal
[0179] The color range maximum value max of the pixel can be taken as a first display signal component corresponding to the R coordinate direction, a second display signal component corresponding to the G coordinate direction, and a third display signal component corresponding to the B coordinate direction, to construct a fourth display signal
[0180] Then, the first display signal , the second display signal , the third display signal , and the fourth display signal
[0181] Then, in step 104, the chromaticity parameters corresponding to the sampling point q can be detected according to the outputs of the first display signal, the second display signal and the third display signal. The chromaticity parameters can include four parts, and the first part of the chromaticity parameters can be detected by a colorimeter when the first display signal is output, the second part of the chromaticity parameters can be detected by the colorimeter when the second display signal is output, the third part of the chromaticity parameters can be detected by the colorimeter when the third display signal is output, and the fourth part of the chromaticity parameters can be indirectly calculated by detecting when the fourth display signal is output.
[0182] Wherein, the following formula (22) can be obtained from formula (6).
[0183]
[0184] Wherein, the first part of the chromaticity parameters specifically includes x(R q ,0,0), y(R q ,0,0) and z(R q ,0,0) directly measured by the colorimeter, which respectively correspond to x r , y r and z r in formula (22). The second part of the chromaticity parameters specifically includes x(0,G q ,0), y(0,G q ,0) and z(0,G q ,0) directly measured by the colorimeter, which respectively correspond to x g , y g and z g in formula (22). The third part of the chromaticity parameters specifically includes x(0,0,B q ), y(0,0,B q ) and z(0,0,B q ) directly measured by the colorimeter, which respectively correspond to x b , y b and z b in formula (22).
[0185] In an implementation, in the case of outputting the first display signal, the luminance value L(R q ,0,0) can also be directly measured by the colorimeter, in the case of outputting the second display signal, the luminance value L(0,G q ,0) can also be directly measured by the colorimeter, and in the case of outputting the third display signal, the luminance value L(0,0,B q ,0) can also be directly measured by the colorimeter.), in the case of outputting the fourth display signal, the luminance value Lmax can also be directly measured by a colorimeter. Taking a 10-bit display system as an example, the luminance of a white pixel is the largest, max = 1023, and the fourth display signal outputted at this time is measured, denoted as Lmax.
[0186] wherein Y(R q ,0,0) and L(R q ,0,0) satisfy Y(R q ,0,0) = L(R q ,0,0) / Lmax, Y(0,G q ,0) and L(0,G q ,0) satisfy Y(0,G q ,0) = L(0,G q ,0) / Lmax, and Y(0,0,B q ) and L(0,0,B q ) satisfy Y(0,0,B q ) = L(0,0,B q ) / Lmax. Y(R q ,0,0), Y(0,G q ,0), and Y(0,0,B q ) correspond to Y r , Y g , and Y b in formula (22) respectively.
[0187] In step 105, according to Y r and y r , (X r + Y r + Z r ) in formula (22) can be obtained according to Y g and y g , (X g + Y g + Z g ) in formula (22) can be obtained according to Y b and y b , and (X b + Y b + Z b ) in formula (22) can be obtained.
[0188] According to formula (22), the following formula (23) can also be obtained.
[0189]
[0190] In another implementation manner, the fourth display signal In the case of output, the luminance values L(R q ,G q ,B q ), x(R q ,G q ,B q ), y(R q ,G q ,B q ) and z(R q ,G q ,B q ) are measured directly by a colorimeter, where x(R q ,G q ,B q ), y(R q ,G q ,B q ) and z(R q ,G q ,B q ) are x q , y q and z q , respectively. Y(R q ,G q ,B q ) and L(R q ,G q ,B q ) satisfy Y(R q ,G q ,B q ) = L(R q ,G q ,B q ) / Lmax, and thus Y(R q ,G q ,B q ) can be calculated, where Y(R q ,G q ,B q ) corresponds to Y q in equation (23). Since , X q and Z q can be calculated from (X q + Y q + Z q ), x q and z q , according to equation (5), and thus (X r + Y r + Z r ), (X g + Y g + Z g ) and (X b + Yb +Z b Then it can be derived through formula (23).
[0191] x above r y r z r x g y g z g x b y b z b 、(X r +Y r +Z r ), (X g +Y g +Z g ) and (X b +Y b +Z b Substituting into formula (7), we can obtain M in formula (18). panel Therefore, in step 105, it can be based on 17 3 The chromaticity parameters corresponding to each sampling point were determined to be 17. 3 M panel Thus, we get 17 3 The transformation relationship between coordinates in the target color space and coordinates in the original color space.
[0192] Figure 4 A flowchart illustrating the steps of another color correction method according to an embodiment of the present invention is shown, with reference to... Figure 4 After step 105, the calibration preparation stage (a) may further include the following steps:
[0193] Step 106: Based on the transformation relationship between the coordinates of the sampling point in the target color space and the coordinates in the original color space, determine the coordinates of the sampling point in the original color space and obtain the corrected color data of the sampling point.
[0194] Step 107: Assign corresponding storage addresses to the corrected color data of the sampling points.
[0195] Step 108: Store the corrected color data of the sampling points into the storage address corresponding to the sampling points.
[0196] In step 106, the coordinates of the sampling point q in the target color space can be substituted into the transformation relationship corresponding to the sampling point q to determine the coordinates of the sampling point q in the original color space. The coordinates of the sampling point q in the original color space are the corrected color data of the sampling point q.
[0197] In step 107, the corrected color data of the sampling points can be assigned with corresponding storage addresses, which are storage addresses that can be addressed in the display process.
[0198] In step 108, the corrected color data of the sampling points can be stored in the storage addresses corresponding to the sampling points. Thus, in the subsequent display correction stage, for a pixel to be displayed, after the sampling points adjacent to the initial coordinates of the pixel in the target color space are determined, the corrected color data of the adjacent sampling points can be obtained from the storage addresses, and the corrected color data of the pixel can be obtained after interpolation operation.
[0199] With 17 3 sampling points as an example, the corrected color data of the 17 3 sampling points is determined and stored, so that a 3D-LUT (3 Dimension Look Up Table) of 17×17×17 dimensions can be constructed, and thus the construction and integration of the 3D-LUT are realized.
[0200] The display correction stage is introduced as follows:
[0201] Figure 5 The step flow chart of the third color correction method of the embodiment of the application is shown, and the display correction stage (II) can include the following steps: Figure 5
[0202] Step 201: receiving initial color data of a pixel, and converting the initial color data into initial coordinates in a target color space; the target color space is located in a Cartesian coordinate system including three coordinate directions, and the initial coordinates include initial coordinate components corresponding to each coordinate direction.
[0203] Step 202: for each initial coordinate component represented in binary, extracting high m-bit binary numbers of each initial coordinate component as first parameters.
[0204] Step 203: for each initial coordinate component represented in binary, extracting low (n-m) bit binary numbers of each initial coordinate component as second parameters; n is the bit width of the pixel.
[0205] Step 204: obtaining corrected color data of a plurality of sampling points corresponding to the pixel according to the first parameters.
[0206] Step 205: performing interpolation operation on the corrected color data of the plurality of sampling points corresponding to the pixel according to the second parameters, to obtain corrected color data of the pixel.
[0207] Wherein, each edge length of the target color space is a color range maximum value of a pixel, the target color space is divided into a plurality of sampling cubes, each vertex of the sampling cube is a sampling point, p is a number of sampling points in any coordinate direction, and p = 2 m +1.
[0208] In step 201, during the display process, when the initial color data of the pixel A to be displayed is received, the initial color data can be first converted into initial coordinates in a target color space. In an optional embodiment, the target color space can be located in an RGB coordinate system, and the initial color data can be converted into R coordinates, G coordinates and B coordinates in the target color space. Wherein, the R coordinates are initial coordinate components R corresponding to the R coordinate direction in the initial coordinates a , the G coordinates are initial coordinate components G corresponding to the G coordinate direction in the initial coordinates a , the B coordinates are initial coordinate components B corresponding to the B coordinate direction in the initial coordinates a , and the initial coordinates corresponding to the pixel A are
[0209] The initial coordinates of the pixel A correspond to a point a in the target color space, and the target color space is divided into a plurality of sampling cubes. In step 202, the sampling cube in which the point a is located can be determined.
[0210] In the target color space, which is a cubic space, a plurality of small cubes, i.e., sampling cubes, are divided, and the edge length of each sampling cube is 2 n / 2 m , wherein n is a pixel bit width, m is a depth of the 3D-LUT, and p is a number of sampling points in any coordinate direction of the target color space, corresponding to a 3D-LUT of p x p x p, wherein p = 2 m +1.
[0211] Suppose the point to be found is Based on the usual idea, people will divide by the edge length of each sampling cube to determine the sampling cube in which the point is located. However, when the calculation process is implemented by a chip, since the chip can usually only perform fixed-point calculation, i.e., calculation of numbers with fixed decimal point bits, it is necessary to use a quantization formula for processing and calculation, which is cumbersome and consumes resources.
[0212] Taking a 10-bit display system and a 3D-LUT of 17 x 17 x 17 size as an example, n = 10, p = 17, and m = 4, so the edge length of the sampling cube is 2 n / 2 mi.e. 64. For example, the pixel value of the point a to be searched is (559, 217, 395), then according to the formula, 559 / 64=8.73, and the 16 sampling cubes in each coordinate direction can be respectively identified as No. 0-15, so that the point a is in the No. 8 sampling cube in the R direction, and the calculation of 217 and 395 is similar, 217 / 64=3.39, 395 / 64=6.17. Then the position identifier of the sampling cube where the point a (559, 217, 395) is located is (8, 3, 6), that is, the point a is in the No. 8 sampling cube in the R direction, the No. 3 sampling cube in the G direction, and the No. 6 sampling cube in the B direction, as shown in Figure 6
[0213] Because the above idea involves division, it is relatively difficult to implement in hardware, and a decimal point also appears. Hardware processing is generally in integer form, and it is necessary to consider how many bits to keep after the decimal point and multiply by 2n according to the integer form, so as to enlarge it to an integer for processing. The above calculation consumes too much hardware resource.
[0214] Therefore, in the embodiment of the present application, a method is provided. Because the edge length of each sampling cube is 2 n / 2 m , and the 3D-LUT is usually of the size of 17x17x17, 33x33x33, 65x65x65, so the edge length of the sampling cube can be divided by 2, taking a system with a bit width n of 10 bits as an example, if a 3D-LUT with a depth of 4 (17x17x17) is used, the edge length of the sampling cube is 2 n / 2 m , i.e. 64. That is, the target color space is divided into 16x16x16 sampling cubes with an edge length of 64.
[0215] Therefore, in step 202, each initial coordinate component of the point a can be expressed in binary form, and the high m bits thereof are extracted as the first parameter, which can represent the position of the sampling cube where the point a is located.
[0216] Still taking the point a (559, 217, 395), m=4, n=10 as an example, 559 is expressed in binary as 1000101111, the first 4 bits are extracted as 1000, and the binary number 1000 is converted into the decimal number, which is 8; 217 is expressed in binary as 0011011001, the first 4 bits are extracted as 0011, and the binary number 0011 is converted into the decimal number, which is 3; 395 is expressed in binary as 0110001011, the first 4 bits are extracted as 0110, and the binary number 0110 is converted into the decimal number, which is 6, and the position identifier of the sampling cube where the point a is located is (8, 3, 6), which is the same as the result calculated by the division. (8, 3, 6) can be used as the first parameter of the point a, which is used to obtain the corrected color data of the 8 vertices (i.e. the 8 sampling points adjacent to the point a) of the sampling cube where the point a is located.
[0217] In step 203, each initial coordinate component of the point a is expressed in binary form, and then the low (n-m) bits can be extracted as the second parameter, which can represent the relative position of the point a in the sampling cube.
[0218] Still taking the point a (559, 217, 395), m=4, n=10 as an example, n-m=6, 559 is expressed in binary as 1000101111, the last 6 bits are extracted as 101111, and the binary number 101111 is converted into the decimal number, which is 47; 217 is expressed in binary as 0011011001, the last 6 bits are extracted as 011001, and the binary number 011001 is converted into the decimal number, which is 25; 395 is expressed in binary as 0110001011, the last 6 bits are extracted as 001011, and the binary number 001011 is converted into the decimal number, which is 11, and the relative position of the point a in the sampling cube is (47, 25, 11). (47, 25, 11) can be used as the second parameter of the point a, which is used to perform interpolation operation in the corrected color data of the 8 sampling points adjacent to the point a.
[0219] Optionally, step 204 can specifically include the following steps:
[0220] The first parameter is used as a search parameter to search a plurality of storage addresses corresponding to the pixel; each storage address stores the corrected color data of a sampling point;
[0221] The corrected color data of the plurality of sampling points corresponding to the pixel is read from the plurality of storage addresses simultaneously.
[0222] Specifically, in step 204, the first parameter of point a (indicating the sampling cube position where point a is located) is taken as a search parameter, and 8 storage addresses corresponding to the sampling cube where point a is located can be searched, which are the storage addresses of the corrected color data of the sampling points stored in steps 107 and 108. The corrected color data of the 8 sampling points adjacent to point a can be read from the 8 storage addresses corresponding to the sampling cube where point a is located.
[0223] With reference to Figure 7 In step 204, the 8 storage addresses corresponding to one sampling cube can correspond to 8 ROMs respectively, and the 8 storage addresses can be searched simultaneously by the first parameter, and the corresponding data can be read from the 8 ROMs respectively according to the 8 storage addresses, so as to realize parallel processing. In this way, the color correction can be realized while meeting the real-time processing demand of the image video stream, and the color correction efficiency is increased.
[0224] In some optional embodiments, the process of step 204 can be realized by 3D-LUT table lookup. Whenever a pixel signal arrives, the corresponding address can be determined according to the initial color data of the pixel, the color correction data stored in the corresponding address can be found and outputted.
[0225] Optionally, step 205 can specifically include the following steps:
[0226] (1) The plurality of sampling points corresponding to the pixel are divided into four groups of sampling points adjacent along a first coordinate direction, and the corrected color data of the four first interpolation points are obtained by simultaneously interpolating between the corrected color data of each group of sampling points along the first coordinate direction according to the parameter component corresponding to the first coordinate direction in the second parameter;
[0227] (2) The four first interpolation points are divided into two groups of first interpolation points adjacent along a second coordinate direction, and the corrected color data of the two second interpolation points are obtained by simultaneously interpolating between the corrected color data of each group of first interpolation points along the second coordinate direction according to the parameter component corresponding to the second coordinate direction in the second parameter;
[0228] (3) The corrected color data of the pixel is obtained by interpolating between the corrected color data of the two second interpolation points along a third coordinate direction according to the parameter component corresponding to the third coordinate direction in the second parameter.
[0229] Wherein, optionally, the first coordinate direction, the second coordinate direction and the third coordinate direction can be R direction, G direction and B direction respectively, for the convenience of understanding, the following will take R, G and B as examples to illustrate, and it can be understood that the three coordinate directions can also be other directions.
[0230] In the sub-step (1), the plurality of sampling points A1-A8 corresponding to the pixel A can be divided into four groups of sampling points adjacent along the R direction. For example, as shown in the following figure, the sampling points A1-A8 are divided into four groups of sampling points adjacent along the R direction, i.e. A1-A2, A3-A4, A5-A6 and A7-A8. Figure 8
[0231] The parameter component corresponding to the R direction in the second parameter of the pixel A (the second parameter of the point a corresponding to the pixel A) is the R component of the relative position coordinate of the point a in the sampling cube. The parameter component corresponding to the G direction in the second parameter of the pixel A is the G component, and the parameter component corresponding to the B direction in the second parameter of the pixel A is the B component.
[0232] For example, the second parameter is (47, 25, 11), the parameter component corresponding to the R direction in the second parameter of the pixel A is 47, the parameter component corresponding to the G direction in the second parameter of the pixel A is 25, and the parameter component corresponding to the B direction in the second parameter of the pixel A is 11.
[0233] In the sub-step (1), the parameter component corresponding to the R direction in the second parameter of the pixel A can be taken as the interpolation parameter, i.e. the specific position of interpolation, and the corrected color data between A1-A2, A3-A4, A5-A6 and A7-A8 along the R direction is simultaneously interpolated to obtain the corrected color data of four first interpolation points Q1, Q2, Q3 and Q4.
[0234] The four first interpolation points Q1, Q2, Q3 and Q4 can be divided into two groups of first interpolation points adjacent along the G direction, one group is Q2-Q1, and the other group is Q3-Q4. Then, in the sub-step (2), the parameter component corresponding to the G direction in the second parameter of the pixel A can be taken as the interpolation parameter, i.e. the specific position of interpolation, and the corrected color data between Q2-Q1 and Q3-Q4 along the G direction is simultaneously interpolated to obtain the corrected color data of two second interpolation points D1 and D2.
[0235] Then, in sub-step (3), the parameter component corresponding to the B direction in the second parameters of the pixel A is taken as an interpolation parameter, i.e., a specific position of interpolation, and interpolation is performed between the corrected color data of D1 and D2 along the B direction to obtain the corrected color data of the third interpolation point H1. The corrected color data of the third interpolation point H1 is the corrected color data of the pixel A.
[0236] Optionally, the interpolation operation between the two corrected color data can be implemented by using a lerp function.
[0237] In the embodiment of the present application, steps 204 and 205 can be designed in a multi-stage pipeline, and a register is added between each stage of calculation to cache the calculation results. Each stage of calculation can complete a single-step operation in one clock cycle and output the result to the next stage. Therefore, when the pipeline is fully loaded, a result can be output in each clock cycle. The pipeline with the parallel structure reduces the redundant delay in the loop calculation, and the register is added between the stages of calculation to cache the results, so that each stage of module can continuously receive and complete the calculation and output to the next stage, thereby realizing low-latency image processing.
[0238] Specifically, referring to Figure 9 , the first stage of calculation of the pipeline is the addressing process in step 204, including determining the sampling cube in which the point a is located and determining the storage address of the corrected color data of the eight sampling points in the sampling cube. The first stage of calculation includes eight parallel calculations. The second stage of calculation of the pipeline is the reading process in step 204, including data reading based on the storage address. The second stage of calculation also includes eight parallel calculations. The third stage of calculation of the pipeline is sub-step (1) in step 205, including four times of interpolation operation along the first coordinate direction. The fourth stage of calculation of the pipeline is sub-step (2) in step 205, including two times of interpolation operation along the second coordinate direction. The fifth stage of calculation of the pipeline is sub-step (3) in step 205, including one time of interpolation operation along the third coordinate direction.
[0239] After obtaining the corrected color data of the pixel A, the corrected color data of the pixel A can be converted into a display signal of the pixel A and output to the display screen. In this way, all the pixels on the full screen can be displayed based on the corrected color data, so that the display screen can meet the color gamut specified in the standard.
[0240] In the embodiment of the present application, the initial color data of the pixel can be converted into initial coordinates in a target color space, and the initial coordinates include components in each coordinate direction of the target color space. Then, the binary high m bits of each component are extracted, and the binary low (n-m) bits of each component are extracted, where n is the bit width of the pixel. Then, the corrected color data of the multiple sampling points corresponding to the pixel are obtained according to the binary high m bits, and the corrected color data of the multiple sampling points are interpolated according to the binary low (n-m) bits to obtain the corrected color data of the pixel. Wherein, each side length of the target color space is the maximum value of the color range of the pixel, and the target color space is divided into multiple sampling cubes, the vertex of the sampling cube is a sampling point, p is the number of sampling points in the coordinate direction, p = 2 m +1. In the embodiment of the present application, the corrected color data of the multiple sampling points corresponding to the pixel can be determined according to the binary high m bits of each component of the initial coordinates of the pixel in the target color space, and then the corrected color data of the multiple sampling points are interpolated according to the binary low (n-m) bits of each component of the initial coordinates of the pixel in the target color space to obtain the corrected color data of the pixel, so that the correction of the color data can be realized through simple binary processing. The pixel is displayed by the corrected color data, so that the display screen can display the standard specified color gamut.
[0241] Referring to Figure 10 , a structure block diagram of a color correction system provided by the embodiment of the present application is shown, the system 300 includes a display correction module 310, the display correction module 310 is used to realize a display correction stage, and the display correction module 310 includes:
[0242] A receiving submodule 311 is used to receive initial color data of a pixel, and convert the initial color data into initial coordinates in a target color space; the target color space is located in a Cartesian coordinate system including three coordinate directions, and the initial coordinates include initial coordinate components corresponding to each coordinate direction;
[0243] A first extraction submodule 312 is used to extract high m bit binary numbers of each initial coordinate component as a first parameter for each initial coordinate component represented in binary;
[0244] A second extraction submodule 313 is used to extract low (n-m) bit binary numbers of each initial coordinate component as a second parameter for each initial coordinate component represented in binary; n is the bit width of the pixel;
[0245] An obtaining submodule 314 is used to extract low (n-m) bit binary numbers of each initial coordinate component as a second parameter for each initial coordinate component represented in binary; n is the bit width of the pixel;
[0246] an interpolation submodule 315, configured to perform interpolation operation on the corrected color data of the plurality of sampling points corresponding to the pixel according to the second parameter, to obtain the corrected color data of the pixel;
[0247] wherein the target color space is a cubic space, a side length of the target color space is a maximum value of a color range of the pixel, the target color space is divided into a plurality of sampling cubes, each vertex of the sampling cube is the sampling point, p is a number of the sampling points in any coordinate direction, and p = 2 m +1.
[0248] Optionally, the system further comprises a preliminary correction module 320, configured to implement a preliminary correction stage, and the preliminary correction module 320 comprises:
[0249] a first construction submodule, configured to construct a conversion relationship between coordinates in the target color space and coordinates in an original color space; the conversion relationship comprises unknown conversion parameters related to the coordinates in the target color space;
[0250] a selection submodule, configured to select a plurality of sampling points in the target color space at equal intervals along the three coordinate directions respectively;
[0251] a second construction submodule, configured to construct display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and output the display signals;
[0252] a detection submodule, configured to detect chroma parameters corresponding to the sampling points according to the output of the display signals;
[0253] a first determination submodule, configured to determine the conversion parameters corresponding to the sampling points according to the chroma parameters corresponding to the sampling points, to obtain the conversion relationship between the coordinates of the sampling points in the target color space and the coordinates in the original color space.
[0254] Optionally, the second construction submodule comprises:
[0255] a first construction unit, configured to construct a first display signal by taking a coordinate value of the sampling point in the target color space along a first coordinate direction as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to a second coordinate direction, and taking zero as a third display signal component corresponding to a third coordinate direction;
[0256] a second constructing unit, configured to construct a second display signal by taking zero as a first display signal component corresponding to a first coordinate direction, taking a coordinate value of the sampling point in the target color space along a second coordinate direction as a second display signal component corresponding to the second coordinate direction, and taking zero as a third display signal component corresponding to a third coordinate direction;
[0257] a third constructing unit, configured to construct a third display signal by taking zero as the first display signal component corresponding to the first coordinate direction, taking zero as the second display signal component corresponding to the second coordinate direction, and taking a coordinate value of the sampling point in the target color space along the third coordinate direction as the third display signal component corresponding to the third coordinate direction;
[0258] a fourth constructing unit, configured to construct a fourth display signal according to a maximum value of the color range of the pixel;
[0259] an output unit, configured to output the first display signal, the second display signal, the third display signal and the fourth display signal respectively.
[0260] Optionally, the pre-correction module 320 further includes a colorimeter 321, and the detecting submodule is specifically configured to:
[0261] detect a chromaticity parameter corresponding to the sampling point through the colorimeter according to the output of the display signal.
[0262] Optionally, the pre-correction module 320 further includes:
[0263] a second determining submodule, configured to determine a coordinate of the sampling point in the original color space according to a conversion relationship between the coordinate of the sampling point in the target color space and the coordinate in the original color space, and obtain corrected color data of the sampling point;
[0264] an allocating submodule, configured to allocate a corresponding storage address in the display module to the corrected color data of the sampling point;
[0265] a storage submodule, configured to store the corrected color data of the sampling point into the corresponding storage address of the sampling point in the display module.
[0266] Optionally, the obtaining submodule includes:
[0267] a searching unit, configured to take the first parameter as a searching parameter to search for a plurality of storage addresses corresponding to the pixel; each of the storage addresses stores corrected color data of a sampling point;
[0268] The reading unit is configured to read the corrected color data of the plurality of sampling points corresponding to the pixel from the plurality of storage addresses simultaneously.
[0269] Optionally, the interpolation submodule comprises:
[0270] The first interpolation unit is configured to divide the plurality of sampling points corresponding to the pixel into four groups of sampling points adjacent along a first coordinate direction, and to perform interpolation along the first coordinate direction between the corrected color data of each group of sampling points simultaneously according to a parameter component corresponding to the first coordinate direction in the second parameter, so as to obtain the corrected color data of four first interpolation points.
[0271] The second interpolation unit is configured to divide the four first interpolation points into two groups of first interpolation points adjacent along a second coordinate direction, and to perform interpolation along the second coordinate direction between the corrected color data of each group of first interpolation points simultaneously according to a parameter component corresponding to the second coordinate direction in the second parameter, so as to obtain the corrected color data of two second interpolation points.
[0272] The third interpolation unit is configured to perform interpolation between the corrected color data of the two second interpolation points along a third coordinate direction according to a parameter component corresponding to the third coordinate direction in the second parameter, so as to obtain the corrected color data of the pixel.
[0273] The display correction module 310 is configured to implement the display correction stage (one) in the method embodiments, and the preliminary correction module 320 is configured to implement the preliminary correction stage (two) in the method embodiments. The specific implementation can refer to the method embodiments, and will not be described here.
[0274] The preliminary correction module 320 can comprise a colorimeter 321, which can be used to detect the chrominance parameter corresponding to the sampling point in step 104 of the method embodiments.
[0275] In the embodiments of the present application, the color correction system can convert the initial color data of the pixel into initial coordinates in the target color space, and the initial coordinates comprise components in each coordinate direction of the target color space. Then the binary high m bits of each component are extracted, and the binary low (n-m) bits of each component are extracted, where n is the pixel bit width. Then the corrected color data of the plurality of sampling points corresponding to the pixel are obtained according to the binary high m bits; and the corrected color data of the plurality of sampling points are interpolated according to the binary low (n-m) bits, so as to obtain the corrected color data of the pixel. Wherein, the length of each side of the target color space is the maximum value of the pixel color range, the target color space is divided into a plurality of sampling cubes, the vertices of the sampling cubes are sampling points, p is the number of sampling points in the coordinate direction, p = 2 m+1. In the embodiment of the present application, the corrected color data of the plurality of sampling points corresponding to the pixel can be determined according to the binary high m bits of each component of the initial coordinate of the pixel in the target color space, and then the corrected color data of the plurality of sampling points can be interpolated according to the binary low (n-m) bits of each component of the initial coordinate of the pixel in the target color space to obtain the corrected color data of the pixel, so that the correction of the color data can be realized through simple binary processing. The pixel is displayed through the corrected color data, so that the display screen can display the standard specified color gamut.
[0276] The embodiment of the present application also provides a display device, wherein the display correction module 310 in the system 300 is arranged in the display device.
[0277] Optionally, the system 300 further comprises a preliminary correction module 320, and the preliminary correction module 320 is also arranged in the display device.
[0278] In an implementation manner, the display device can have the real-time correction function in the display process, but does not have the preliminary correction function before the display process, that is, the display device can realize the display correction stage, but cannot realize the preliminary correction stage.
[0279] Before the display device is shipped, the host computer can be connected to perform the preliminary correction, the preliminary correction function can be integrated in the correction software of the host computer, so that the preliminary correction stage is realized through the instruction control of the host computer, that is, the preliminary correction module 320 can be arranged in the host computer. Alternatively, the preliminary correction stage can also be realized through the correction tool of a third party.
[0280] In another implementation manner, the display device can have the real-time correction function in the display process and the preliminary correction function before the display process, that is, the display device can realize the preliminary correction stage and the display correction stage.
[0281] The preliminary correction function can be integrated in the system of the display device itself, and the execution of the preliminary correction stage can be triggered according to needs before the display device is shipped or in the use process after the display device is shipped.
[0282] In summary, the preliminary correction stage can be integrated in the calibration software of the host computer, can be provided with the calibration tool of a third party, or can be provided with a special calibration application in the system of the display device. The display correction stage needs to be integrated in the display device, for example, in the internal display chip, so that the correction can be performed in real time according to the input image.
[0283] In the embodiment of the present application, the display device can convert the initial color data of the pixel into initial coordinates in a target color space, the initial coordinates including components in each coordinate direction of the target color space. Then the binary high m bits of each component are extracted, and the binary low (n-m) bits of each component are extracted, n being the pixel bit width. Then the corrected color data of the multiple sampling points corresponding to the pixel are obtained according to the binary high m bits, and the corrected color data of the multiple sampling points are interpolated according to the binary low (n-m) bits to obtain the corrected color data of the pixel. Wherein, each side length of the target color space is the maximum value of the pixel color range, the target color space is divided into multiple sampling cubes, the vertex of the sampling cube is a sampling point, p is the number of sampling points in the coordinate direction, p = 2 m +1. In the embodiment of the present application, the corrected color data of the multiple sampling points corresponding to the pixel can be determined according to the binary high m bits of each component of the initial coordinates of the pixel in the target color space, and then the corrected color data of the multiple sampling points are interpolated according to the binary low (n-m) bits of each component of the initial coordinates of the pixel in the target color space to obtain the corrected color data of the pixel, so that the correction of the color data can be realized through simple binary processing. The pixel is displayed through the corrected color data, so that the display screen can display the standard specified color gamut.
[0284] The embodiment of the present application also discloses a chip which can be configured in the display device, and the chip comprises:
[0285] one or more processors;
[0286] a memory for storing one or more programs;
[0287] When the one or more programs are executed by the one or more processors, the one or more processors can implement the display correction stage in the color correction method.
[0288] Optionally, when the one or more programs are executed by the one or more processors, the one or more processors can also implement the preliminary correction stage in the color correction method.
[0289] For each method embodiment described above, in order to simply describe, the above method embodiments are all expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited to the action sequence described above, because according to the present application, some steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions and modules involved are not necessarily necessary for the present application.
[0290] The various embodiments in the specification are described in progressive manner, and each embodiment focuses on the difference from other embodiments, and the same or similar parts between the embodiments can be mutually referred to.
[0291] Finally, it should be noted that in this document, the terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or equipment. Without more limitations, the element defined by the statement "including a" does not exclude the presence of other identical elements in the process, method, article or equipment including the element.
[0292] The above describes in detail the color correction method, system, display device and chip provided by the present application. The principles and implementation manners of the present application are described by using specific examples. The above embodiment is only used to help understand the method of the present application and its core idea. Meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manner and application range can be changed. In summary, the content of the specification should not be understood as a limitation of the present application.
Claims
1. A color correction method characterized by, The method comprises a correction preparation stage and a display correction stage, the correction preparation stage comprises: building a conversion relationship between coordinates in a target color space and coordinates in an original color space; the conversion relationship comprises unknown conversion parameters related to the coordinates in the target color space; selecting multiple sampling points in the target color space at equal intervals along three coordinate directions respectively; building display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and outputting the display signals; detecting chrominance parameters corresponding to the sampling points according to the output of the display signals; determining the conversion parameters corresponding to the sampling points according to the chrominance parameters corresponding to the sampling points, and obtaining the conversion relationship between the coordinates of the sampling points in the target color space and the coordinates in the original color space; the display correction stage comprises: receiving initial color data of a pixel, and converting the initial color data into initial coordinates in a target color space; the target color space is located in a Cartesian coordinate system comprising three coordinate directions, and the initial coordinates comprise initial coordinate components corresponding to each of the coordinate directions; for each initial coordinate component represented in binary, extracting the high m-bit binary number of each initial coordinate component as a first parameter; for each initial coordinate component represented in binary, extracting the low (n-m) bit binary number of each initial coordinate component as a second parameter; n is the bit width of the pixel; obtaining corrected color data of multiple sampling points corresponding to the pixel according to the first parameter; performing interpolation operation on the corrected color data of the multiple sampling points corresponding to the pixel according to the second parameter to obtain corrected color data of the pixel; Wherein each edge length of the target color space is a color range maximum value of the pixel, the target color space is divided into a plurality of sampling cubes, each vertex of the sampling cube is the sampling point, p is the number of the sampling points in any coordinate direction, p=2 m +1.
2. The method of claim 1, wherein, the building of the display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and the output of the display signals, comprises: taking the coordinate value of the sampling point in the target color space along a first coordinate direction as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to a second coordinate direction, and taking zero as a third display signal component corresponding to a third coordinate direction, to build a first display signal; taking zero as a first display signal component corresponding to a first coordinate direction, taking the coordinate value of the sampling point in the target color space along a second coordinate direction as a second display signal component corresponding to the second coordinate direction, and taking zero as a third display signal component corresponding to a third coordinate direction, to build a second display signal; taking zero as a first display signal component corresponding to a first coordinate direction, taking zero as a second display signal component corresponding to a second coordinate direction, and taking the coordinate value of the sampling point in the target color space along a third coordinate direction as a third display signal component corresponding to the third coordinate direction, to build a third display signal; building a fourth display signal according to the maximum value of the color range of the pixel; Output the first display signal, the second display signal, the third display signal and the fourth display signal respectively.
3. The method of claim 1, wherein, After the conversion relationship between the coordinates of the sampling point in the target color space and the coordinates in the original color space is obtained, the correction preparation stage further comprises: According to the conversion relationship between the coordinates of the sampling point in the target color space and the coordinates in the original color space, the coordinates of the sampling point in the original color space are determined, and the corrected color data of the sampling point is obtained; The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point.
4. The method of claim 1, wherein, The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point.
5. The method of claim 1, wherein, The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point.
6. A color correction system characterized by, The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The corrected color data of the sampling point is stored in the corresponding storage address of the sampling point. The system comprises a preliminary correction module and a display correction module, The preliminary correction module is used to implement a preliminary correction stage, and the preliminary correction module comprises: A first construction submodule is configured to construct a conversion relationship between coordinates in a target color space and coordinates in an original color space; the conversion relationship includes unknown conversion parameters related to the coordinates in the target color space; A selection submodule is configured to select multiple sampling points in the target color space at equal intervals along three coordinate directions respectively; A second construction submodule is configured to construct display signals corresponding to the sampling points according to the coordinates of the sampling points in the target color space, and output the display signals. detecting the chroma parameter corresponding to the sampling point according to the output of the display signal; a first determining sub-module, configured to determine the conversion parameter corresponding to the sampling point according to the chroma parameter corresponding to the sampling point, and obtain a conversion relationship between the coordinate of the sampling point in the target color space and the coordinate of the sampling point in the original color space; The display correction module is used to implement a display correction stage, and the display correction module comprises: a receiving sub-module, configured to receive initial color data of a pixel, and convert the initial color data into initial coordinates in a target color space; the target color space is located in a Cartesian coordinate system comprising three coordinate directions, and the initial coordinates comprise initial coordinate components corresponding to each of the coordinate directions; a first extracting sub-module, configured to extract high m-bit binary numbers of each of the initial coordinate components as first parameters, for each of the initial coordinate components represented in binary; a second extracting sub-module, configured to extract low (n-m) bit binary numbers of each of the initial coordinate components as second parameters, for each of the initial coordinate components represented in binary; n is a bit width of the pixel; an obtaining sub-module, configured to obtain corrected color data of a plurality of sampling points corresponding to the pixel according to the first parameters; an interpolation sub-module, configured to perform interpolation operation on the corrected color data of the plurality of sampling points corresponding to the pixel according to the second parameters, and obtain corrected color data of the pixel; Wherein each edge length of the target color space is a color range maximum value of the pixel, the target color space is divided into a plurality of sampling cubes, each vertex of the sampling cube is the sampling point, p is the number of the sampling points in any coordinate direction, p=2 m +1.
7. The system of claim 6, wherein, The second constructing sub-module comprises: a first constructing unit, configured to construct a first display signal by taking a coordinate value of the sampling point in the target color space along a first coordinate direction as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to a second coordinate direction, and taking zero as a third display signal component corresponding to a third coordinate direction; a second constructing unit, configured to construct a second display signal by taking zero as a first display signal component corresponding to the first coordinate direction, taking a coordinate value of the sampling point in the target color space along the second coordinate direction as a second display signal component corresponding to the second coordinate direction, and taking zero as a third display signal component corresponding to the third coordinate direction; a third constructing unit, configured to construct a third display signal by taking zero as a first display signal component corresponding to the first coordinate direction, taking zero as a second display signal component corresponding to the second coordinate direction, and taking a coordinate value of the sampling point in the target color space along the third coordinate direction as a third display signal component corresponding to the third coordinate direction; a fourth constructing unit, configured to construct a fourth display signal according to a color range maximum value of the pixel; an output unit, configured to output the first display signal, the second display signal, the third display signal and the fourth display signal respectively.
8. The system of claim 6, wherein, The pre-correction module further comprises a colorimeter, and the detecting sub-module is specifically configured to: According to the output of the display signal, the chroma parameters corresponding to the sampling points are detected by the colorimeter.
9. The system of claim 6, wherein, The preparation correction module further comprises: A second determination sub-module is configured to determine the coordinates of the sampling points in the original color space according to the conversion relationship between the coordinates of the sampling points in the target color space and the coordinates in the original color space, and obtain the corrected color data of the sampling points; An allocation sub-module is configured to allocate the corrected color data of the sampling points with corresponding storage addresses in the display correction module; A storage sub-module is configured to store the corrected color data of the sampling points into the corresponding storage addresses of the sampling points in the display correction module.
10. The system of claim 6, wherein, The acquisition sub-module comprises: A searching unit is configured to search for a plurality of storage addresses corresponding to the pixel by taking the first parameters as searching parameters, and each of the storage addresses stores the corrected color data of a sampling point; A reading unit is configured to simultaneously read the corrected color data of a plurality of sampling points corresponding to the pixel from the plurality of storage addresses.
11. The system of claim 6, wherein, The interpolation sub-module comprises: A first interpolation unit is configured to divide the plurality of sampling points corresponding to the pixel into four groups of sampling points adjacent along a first coordinate direction, and simultaneously interpolate the corrected color data of each group of sampling points along the first coordinate direction according to the parameter component corresponding to the first coordinate direction in the second parameters, to obtain the corrected color data of four first interpolation points; A second interpolation unit is configured to divide the four first interpolation points into two groups of first interpolation points adjacent along a second coordinate direction, and simultaneously interpolate the corrected color data of each group of first interpolation points along the second coordinate direction according to the parameter component corresponding to the second coordinate direction in the second parameters, to obtain the corrected color data of two second interpolation points; A third interpolation unit is configured to interpolate the corrected color data of the two second interpolation points along a third coordinate direction according to the parameter component corresponding to the third coordinate direction in the second parameters, to obtain the corrected color data of the pixel.
12. A display device, characterized by comprising: The display device is configured with the system of any one of claims 6-11.
13. A chip configurable in a display device, characterized by Comprise: One or more processors; Memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the color correction method of any one of claims 1, 4 and 5.
Citation Information
Patent Citations
Display screen color calibration method and device, electronic equipment and readable storage medium
CN111429827A
Imaging device and method for processing imaging result in imaging device
CN1874410A
Flexible addressing for a three dimensional (3-d) look up table (LUT) used for gamut mapping
US20180182353A1
System and method for mapped splicing of a three-dimensional look-up table for image format conversion
US20190318448A1