Display controllers, display control methods, and systems for color space conversion

By using 3D_LUT and three-dimensional linear interpolation technology in the display controller, the problem of insufficient accuracy in color space conversion is solved, achieving efficient color signal conversion and reducing storage costs.

CN114141183BActive Publication Date: 2026-03-13VERISILICON MICROELECTRONICS (SHANGHAI) CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-16
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing technologies suffer from insufficient accuracy when converting color space signals defined by BT.709 to color space signals defined by BT.2020, especially with significant differences in low-light color signals, and also increase the burden on RAM.

Method used

The display controller, which includes a 3D_LUT random access memory and a display control processing unit, amplifies and attenuates the signal through a color signal enhancer, and combines three-dimensional linear interpolation and a pre-stored 3D lookup table to achieve accurate color signal conversion.

Benefits of technology

It improves the accuracy of color conversion, reduces RAM storage requirements, maintains high accuracy especially with low-light color signals, and does not increase storage costs significantly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114141183B_ABST
    Figure CN114141183B_ABST
Patent Text Reader

Abstract

A display controller includes: a 3D_LUT random access memory storing at least one 3D lookup table; and a display control processing unit including: a calculation unit, a register, a color signal enhancer, and a color signal attenuator; wherein after an input color signal is received by the color signal enhancer, the color signal enhancer amplifies the color signal by a first predetermined factor, wherein the calculation unit calculates the address of the 3D lookup table and loads the 3D lookup table from the 3D_LUT random access memory according to the register, and wherein the color signal attenuator attenuates the color signal by a second predetermined factor. This disclosure significantly increases the accuracy of color conversion from one RGB color space to another without increasing RAM costs because, for example, the cost of multiplying or dividing by a power of 2 is limited.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims priority to the following applications: U.S. Provisional Patent Application No. 63 / 065,510 entitled “3D-LUTENHANCE FEATURE WITH BOOST THE LOW LIGHT”, and U.S. Provisional Patent Application No. 63 / 065,509 entitled “DATA COMPRESSION WITH FIXED VLC AND SIZE RUN-LENGTH ADAPTIVE ARRANGEMENT”, both filed with the USPTO on August 14, 2020, the disclosures of which are incorporated herein by reference in their entirety for all purposes. Technical Field

[0003] This application relates to the field of graphics processing, and in particular to a display controller, display control method, and display control system for color space conversion. Background Technology

[0004] A 3D lookup table (3D LUT) is used to map one color space to another. It is typically used to calculate preview colors to determine how a monitor or digital projector should reproduce an image on another display device. A 3D RGB LUT is a 3D lattice that outputs RGB color values, indexed by a set of input RGB color values. Each axis of the lattice represents one of the three input color components (R, G, or B), and the input color is defined by these three components, defining a point within the lattice. Because these points may not lie on the lattice, lattice values ​​must be interpolated; most products use three-dimensional linear interpolation.

[0005] BT.709 is a specification reference developed by the International Telecommunication Union Radiocommunication Sector (ITUR) that standardizes the image coding and signal characteristics of High Definition Television (HDTV). It was first approved in 1990. In contrast, BT.2020 defines various aspects of Ultra High Definition Television (UHDTV) with Standard Dynamic Range (SDR) and Wide Color Gamut (WCG), and it was first published on the ITU website in 2012.

[0006] Due to the increasing popularity of UHDTV in recent years, there is a need for a method to convert color signals from the color space defined by BT.709 to the color signal defined by BT.2020.

[0007] Application content

[0008] This disclosure provides a display controller comprising: a 3D_LUT random access memory storing at least a 3D lookup table; and a display control processing unit comprising: a calculation unit, a register, a color signal enhancer, and a color signal attenuator.

[0009] After the input color signal is received by the color signal enhancer, the color signal enhancer amplifies the color signal by a first predetermined factor. The computing unit calculates the address of the 3D lookup table and loads the 3D lookup table from the 3D_LUT random access memory according to the register. The color signal attenuator attenuates the color signal by a second predetermined factor.

[0010] This disclosure further provides a display control method, comprising: receiving an input color signal through a display controller; amplifying all or part of the input color signal by a first predetermined factor through a color signal enhancer to obtain an enhanced color signal; loading a pre-stored 3D_LUT from a 3D lookup table (3D_LUT) RAM through a computing unit; dividing the enhanced color signal into three channels and storing the divided color signal in a color channel memory; comparing the points (r, g, b) of the divided color signal with the lattice points of the 3D_LUT; determining, based on the comparison result, whether to estimate the position of the points (r, g, b) in the lattice points; estimating the position of the points (r, g, b) in the lattice points by the computing unit through three-dimensional linear interpolation, thereafter, the divided color signal becomes an interpolated color signal; and attenuating the interpolated color signal by a second predetermined factor through a color signal attenuator to obtain an attenuated color signal.

[0011] This disclosure further provides a display control system comprising a central processing unit, an image memory, and a display controller as described above. The central processing unit receives input data and outputs the data to the image memory and the display controller. Attached Figure Description

[0012] Figure 1 This is a flowchart that generally illustrates the principle of a method according to an embodiment of the present disclosure.

[0013] Figure 2 is a flowchart illustrating a traditional method for converting color signals from one color space to another.

[0014] Figure 3 This is a structural block diagram illustrating a display controller according to an embodiment of the present disclosure.

[0015] Figure 4 This illustrates the relationship between different color signals according to one embodiment of the present disclosure.

[0016] Figure 5 The architecture of a 3D lookup table for the red component in a color signal is shown according to one embodiment of the present disclosure.

[0017] Figure 6 This is a flowchart illustrating the steps of a display control method according to an embodiment of the present disclosure.

[0018] Figure 7 This is a structural block diagram illustrating a display control system according to an embodiment of the present disclosure. Detailed Implementation

[0019] The following describes one or more specific embodiments of this disclosure. These described embodiments are merely examples of the currently disclosed technology and are not intended to limit any aspect of this disclosure. Furthermore, in the effort to provide a concise description of these embodiments, not all features of actual implementations may be described in the specification. It should be understood that in the development of any such actual implementation, numerous implementation-specific decisions may be made to achieve the developer's specific goals, which may vary depending on the implementation. Moreover, it should be understood that such development work can be complex and time-consuming; however, these are routine tasks in design, construction, and manufacture for those skilled in the art to which this disclosure pertains.

[0020] In addition, in this article, terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and these entities or operations do not necessarily need to be in a certain order.

[0021] Some display controllers can convert color signals stored in memory into color signals of another standard and control the display to show images represented by the latter. The following examples use BT.709 RGB, BT.2020 RGB, and their corresponding color spaces. Theoretically, the relationship between BT.709 RGB and BT.2020 RGB color signals can be given by the following formula:

[0022] and

[0023]

[0024] It should be noted that all matrix values ​​above were calculated with high precision and then rounded to four decimal places. See Colour conversion from Recommendation ITU-R BT.709 to Recommendation ITU-R BT.2020, download link:

[0025] https: / / www.itu.int / dms_pubrec / itu-r / rec / bt / R-REC-BT.2087-0-201510-I! ! PDF-E.pdf

[0026] Referring to Figure 2, the conversion between BT.2020 RGB color signals and BT.709 RGB color signals can be facilitated by the 3D RGB LUT mentioned above, which stores pre-calculated color signal values. This eliminates the need to perform calculations as shown in (1) and (2) for each input color signal. Taking the R component as an example, theoretically:

[0027] R 2020 (r, g, b) = (0.6274r) 2.4 +0.3293g 2.4 +0.0433b 2.4 ) 1 / 2.4 (3).

[0028] R at lattice points (i / N, j / N, k / N) can be calculated in advance. 2020 The values ​​of (r, g, b) are given, where N is the number of nodes on one axis of the 3D RGB LUT, and typically N = 16. Assume (r, g, b) are within the ranges i / N ≤ r < (i+1) / N, j / N ≤ g < (j+1) / N, and k / N ≤ b < (k+1) / N. Next, we can pre-calculate the values ​​for the 8 lattice points as follows:

[0029] R 2020 (i, j, k), R 2020 (i+1, j, k), R 2020 (i, j+1, k), R 2020 (i, j, k+1),

[0030] R 2020 (i, j+1, k+1), R 2020 (i+1, j, k+1), R 2020 (i+1, j+1, k),

[0031] R 2020 (i+1, j+1, k+1)

[0032] The exact value is When N is 16, the results are obtained by using three-dimensional linear interpolation and a 3D RGB LUT including pre-calculated lattice points. The approximate value is

[0033] Three-dimensional linear interpolation is introduced because not every value of the input color signal, i.e., (R, G, B), falls on a lattice point of its corresponding 3D RGB LUT (see https: / / en.wikipedia.org / wiki / Tri-linear_interpolation). However, as we can see, there is a considerable difference between the accurate value (21.46 / 1026) and the approximate value (31.25 / 2014), which occurs when the value of the input color signal is relatively small. For example, it is the phase and It is a relatively small value.

[0034] Refer to Figure 2. A common approach to this problem is to create a larger LUT in RAM, that is, one with more lattice points, and then find an approximation of the input color signal through three-dimensional linear interpolation. However, this method overburdens the RAM storing the LUT. For example, when N=16, for a 10-bit table, 3(N+1) LUTs are needed. 3 *10 = 147,390 bits of RAM space; when N = 32, 1,078,110 bits are needed. The latter is 7.3 times the former. But of course, the larger N is, the more accurate the color conversion.

[0035] Example 1

[0036] This disclosure provides a display controller 100. For example... Figure 3 As shown, the display controller includes a 3D_LUT random access memory (RAM) 110, a color channel memory 150, and a display control processing unit 170. The display control processing unit 170 further includes a calculation unit 178, a register 171, a color signal enhancer 174, and a color signal attenuator 175.

[0037] 3D_LUT RAM 110 stores at least one 3D_LUT, the address of which is stored in register 171. Color channel memory 150 comprises at least three memory areas; each of the at least three memory areas stores data representing a color signal of a color channel, such as a red (R) channel, a green (G) channel, or a blue (B) channel. Register 171 stores the address of an object, including the address of the 3D_LUT, and is accessible by computation unit 178.

[0038] The color signal enhancer 174 includes: a first input terminal 1741 for receiving an input color signal; a first output terminal for outputting an enhanced color signal; and a color signal enhancement unit 1742 for amplifying the input color signal to obtain the enhanced color signal.

[0039] In operation, the first input terminal 1741 of the color signal enhancer 174 receives an input color signal from the computing unit 178, which receives the input color signal from an external device, such as a memory, processor, or transceiver. In some embodiments, the color signal enhancer 174 receives the input color signal from the external environment. After the input color signal is received by the color signal enhancer 174, the color signal enhancement unit 1742 amplifies the input color signal. The input color signal can be analog or digital. Correspondingly, amplification can be achieved by an amplifier circuit, a digital amplifier, or a binary multiplier. Amplification can also be achieved by software stored in a memory unit of the color signal enhancement unit 1742, which, when executed by the computing unit 178, causes the computing unit 178 to perform the above amplification operation. Correspondingly, the color signal enhancement unit 1742 may include one or more of an amplifier circuit, a digital amplifier, a binary multiplier, and a memory unit storing software that amplifies the signal when executed.

[0040] The color signal enhancement unit 1742 amplifies the input color signal by a predetermined factor F. In some embodiments, the factor F is obtained by the following formula:

[0041] F = 1 / max(r, g, b), where r, g, and b are the values ​​of the three color channels (red, green, and blue) of the input color signal, and r, g, and b are between 0 and 1.

[0042] In some embodiments, the factor F is obtained by the following formula:

[0043]

[0044] refer to Figure 1 In some embodiments, the factor F is 2.

[0045] It should be noted that when the relationship between the first color space (corresponding to the input color signal) and the second color space (corresponding to the output color signal) can be represented by Fc(a*r, a*g, a*b) = g(a)*Fc(r, g, b), the input color signal is amplified by a factor F, where Fc(r, g, b) represents the lattice point of the second color space, and (r, g, b) represents the corresponding lattice point of the first color space. In this case, the relationship between the two color spaces corresponding to BT.2020 RGB and BT.709 RGB satisfies this requirement, see equations (1), (2), and (3).

[0046] More specifically, the following equation is always true:

[0047]

[0048] In some embodiments, only a portion of the input color signals are amplified. In other words, some input color signals have an amplification factor of 1. During implementation, whether to amplify the color signal can be determined by whether the color signal is a low-light color signal; low-light color signals have relatively low values. For example, Low-light color signals are generated in environments with insufficient lighting. Low-light color signals can also be the low-value portions of ordinary color signals, such as the darker areas of a typical image.

[0049] Before or after the input color signal is enhanced by the color signal enhancer 174, the calculation unit 178 calculates the address of the 3D_LUT and then loads the 3D_LUT from the 3D_LUT RAM 110 according to the information in the 3D_LUT RAM 110 in the register 171. Subsequently, the calculation unit 178 divides the enhanced color signal into three color channels (R, G, B) for subsequent three-dimensional linear interpolation (i.e., the divided color signal). The data of the divided color signal can be stored in the color channel memory 150. After three-dimensional linear interpolation, the divided color signal becomes an interpolated color signal, which can also be stored in the color channel memory 150.

[0050] Specifically, a 3D_LUT may contain three sub-tables, each of which corresponds to a color channel; that is, a 3D_LUT may contain an R sub-table, a G sub-table, and a B sub-table, all of which are 3D lookup tables generated through the process described above.

[0051] refer to Figure 5 Taking the R channel as an example, during three-dimensional linear interpolation, computation unit 178 reads the R sub-table and then compares each point (r, g, b) of the R channel with a lattice point in the R sub-table. For each point (r, g, b), if it matches a point in the lattice, the value of this lattice point is recorded as the value of the R component in the second color space, while the value of the R component in the first color space is r; in this case, no interpolation is required. When the second color space corresponds to BT.2020 RGB, the value of this lattice point is represented as R. 2020 If point (r, g, b) does not coincide with any point in the lattice points of the R subtable, then the computation unit 178 performs three-dimensional linear interpolation to estimate the position of point (r, g, b) in the lattice points.

[0052] The detailed 3D linear interpolation process can be found at the following location: https: / / en.wikipedia.org / wiki / Trilinear_interpolation .

[0053] The corresponding value for the estimated location can be obtained using the following formula:

[0054] R2020 (r′, g′, b′)=(0.6274r′ 2.4 +0.3293g′ 2.4 +0.0433b′ 2.4 ) 1 / 2.4 , where (r′, g′, b′) represents the estimated position and constitutes part of the interpolated color signal.

[0055] The system then determines whether point (r, g, b) originates from an already amplified color signal. If point (r, g, b) originates from an input color signal that has been amplified by a factor greater than 1, then it originates from an already amplified color signal. In this case, the corresponding interpolated color signal is attenuated by another predetermined factor F′ through color signal attenuator 175. In some embodiments, factor F′ is equal to factor F. In some embodiments, factor F′ is equal to the reciprocal of factor F. Color signal attenuator 175 may include one or more of attenuator circuitry, a digital attenuator, a binary splitter, and a memory unit storing software that scales down the signal during execution. After attenuation, the corresponding interpolated color signal becomes an attenuated color signal, which is then output as the output color signal.

[0056] If (r, g, b) comes from an input color signal that has not yet been enhanced, then the corresponding interpolated color signal is output by the calculation unit 178 as the output color signal without prior attenuation.

[0057] In some embodiments, the display controller 100 does not include a color channel memory. In some embodiments, the various color signals described above are not stored in memory. In some embodiments, the various color signals described above are stored in a 3D_LUT RAM 110.

[0058] Figure 3 The relationships between different color signals are illustrated to aid understanding and are not intended to limit the scope of this disclosure. It should be noted that in some embodiments, some color signals are not present. For example, in some embodiments, the segmented color signals are absent, and the corresponding structures, such as the color channel memory, are modified accordingly.

[0059] It should be noted that the above division of the display controller 100 is only a logical functional division, and the corresponding components in the actual implementation scheme may be fully or partially integrated into a single physical entity, or physically separated. In one embodiment, these components may all be implemented in the form of software invoked by the processor. In another embodiment, they may all be implemented in the form of hardware. In one embodiment, some components are implemented in the form of software invoked by the processor, and other components are implemented in the form of hardware. For example, the display control processing unit 170 may be a separate processing unit, or it may be integrated into the chip of the display controller, or it may be stored in the memory of the device in the form of code, and the functions of the components may be executed by the processor of the device. In addition, all or part of these components may be integrated together, or they may be implemented independently. The display control processing unit 170 may be an integrated circuit capable of processing signals. In some embodiments, the register 171, the color signal enhancer 174, and the color signal attenuator 175 may be implemented on a different chip than the computing unit 178.

[0060] Example 2

[0061] refer to Figure 6 This disclosure further discloses a display control method. In some embodiments, although the display control method may be implemented by the display controller 100 described above, the method may be implemented by other hardware, software, or a combination thereof. As shown by using the display controller 100 as an example, the display control method includes the following operations S1, S2, S3, S4, S5, S6, S7, S8, S9, and S10:

[0062] S1. Receive input color signals via display controller 100;

[0063] S2. The color signal amplifier 174 amplifies all or part of the input color signal by a first predetermined factor to obtain an enhanced color signal;

[0064] S3. Load the pre-stored 3D_LUT from the 3D lookup table (3D_LUT) RAM 110 via the computing unit 178;

[0065] S4. Divide the enhanced color signal into three channels and store the divided color signals in the color channel memory 150;

[0066] S5. Compare the points (r, g, b) of the divided color signal with the lattice points of the 3D_LUT;

[0067] S6. Based on the comparison results, determine whether to estimate the position of the point (r, g, b) in the lattice points;

[0068] S7. The position of the point (r, g, b) in the lattice is estimated by the computing unit 178 through three-dimensional linear interpolation. After that, the divided color signal becomes the interpolated color signal.

[0069] S8. Attenuate the interpolated color signal by a second predetermined factor using a color signal attenuator to obtain an attenuated color signal;

[0070] S9. Output the attenuated color signal as the output color signal;

[0071] S10. Display the output color signal on a display that is digitally connected to the display controller.

[0072] Specifically, the display controller 100 may include a 3D_LUT random access memory (RAM) 110, a color channel memory 150, and a display control processing unit 170. The display control processing unit 170 further includes a calculation unit 178, a register 171, a color signal enhancer 174, and a color signal attenuator 175. The 3D_LUT RAM 110 stores at least a 3D_LUT, the address of which is stored in register 171. The color channel memory 150 includes at least three memory areas, each of which stores data representing a color signal of a color channel (also called a color component) (e.g., red, green, or blue). Register 171 stores the address of an object, including the address of the 3D_LUT, and is accessible by the calculation unit 178. The color signal enhancer 174 includes: a first input terminal 1741 for receiving an input color signal; a first output terminal for outputting an enhanced color signal; and a color signal enhancement unit 1742 for amplifying the input color signal to obtain the enhanced color signal.

[0073] At S1, the color signal enhancer 174 receives an input color signal from a computing unit 178, which receives the input color signal from an external device, such as a memory, a processor, or a transceiver. In some embodiments, the color signal enhancer 174 receives the input color signal from the environment.

[0074] At point S2, after the input color signal is received by the color signal enhancer 174, the color signal enhancer amplifies the input color signal. The input color signal can be analog or digital. Correspondingly, amplification can be achieved by an amplifier circuit, a digital amplifier, or a binary multiplier. Amplification can also be achieved by software stored in a memory unit of the color signal enhancer. Correspondingly, the color signal enhancer may include one or more of an amplifier circuit, a digital amplifier, a binary multiplier, and a memory unit storing software that amplifies the signal during execution. The color signal enhancer amplifies the input color signal by a predetermined factor F. In some embodiments, the factor F is derived by the following formula:

[0075] F = 1 / max(r, g, b), where r, g, and b are the values ​​of the three color channels (red, green, and blue) of the input color signal, and r, g, and b are between 0 and 1.

[0076] In some embodiments, the factor F is obtained by the following formula:

[0077]

[0078] In some embodiments, the factor F is 2.

[0079] It should be noted that the input color signal is amplified by a factor F only when the relationship between the first color space (corresponding to the input color signal) and the second color space (corresponding to the output color signal) can be represented by Fc(a*r, a*g, a*b) = g(a)*Fc(r, g, b), where Fc(r, g, b) represents the lattice point of the second color space and (r, g, b) represents the corresponding lattice point of the first color space. In this case, the relationship between the color spaces corresponding to BT.2020 RGB and BT.709 RGB satisfies this requirement, see equations (1), (2) and (3).

[0080] More specifically, the following equation is always true:

[0081]

[0082] In some embodiments, only a portion of the input color signal is amplified. In other words, the amplification factor for the remaining portion of the input color signal is 1. During implementation, whether to amplify the color signal can be determined by whether the color signal is a low-light signal; low-light signals have relatively low values. For example, This is a low-light signal.

[0083] At S3, after or before the input color signal is enhanced by the color signal enhancer 174, the calculation unit 178 calculates the address of the 3D_LUT and loads the 3D_LUT from the 3D_LUT RAM 110 according to the information in the 3D_LUT RAM 110 in the register 171.

[0084] Subsequently, at S4, the enhanced color signal is divided into three color channels (R, G, B) by the calculation unit 178 for subsequent three-dimensional linear interpolation (i.e., the divided color signal). The data of the divided color signal can be stored in the color channel memory 150. After three-dimensional linear interpolation, the divided color signal becomes an interpolated color signal, which can also be stored in the color channel memory 150.

[0085] Specifically, a 3D_LUT may contain three sub-tables, each of which corresponds to a color channel; that is, a 3D_LUT may contain an R sub-table, a G sub-table, and a B sub-table, all of which are 3D lookup tables generated through the process described above.

[0086] At S5, taking the R channel as an example, during the three-dimensional linear interpolation, the computation unit 178 reads the R sub-table and then compares each point (r, g, b) of the R channel with the lattice point of the R sub-table.

[0087] At S6, for each point (r, g, b), if it coincides with one of the lattice points, then the value of this lattice point is recorded as the value of the R component in the second color space, while the value of the R component in the first color space is r; in this case, no interpolation is required. When the second color space corresponds to BT.2020 RGB, the value of this lattice point is represented as R. 2020 .

[0088] At S7, if the point (r, g, b) does not correspond to any of the lattice points in the R subtable, then computation unit 178 performs three-dimensional linear interpolation to estimate the position of the point (r, g, b) within the lattice points. Detailed three-dimensional linear interpolation procedures can be found at:

[0089] https: / / en.wikipedia.org / wiki / Trilinear_interpolation.

[0090] The estimated location has a corresponding value, which is obtained through the following formula.

[0091] R 2020 (r′, g′, b′)=(0.6274r′ 2.4 +0.3293g′ 2.4 +0.0433b′ 2.4 )1 / 2.4 , where (r′, g′, b′) represents the estimated position, which constitutes part of the interpolated color signal.

[0092] At S8, a determination is made as to whether point (r, g, b) originates from an already amplified color signal. Subsequently, if point (r, g, b) originates from an input color signal that has been amplified by a factor greater than 1, then it originates from an already amplified color signal. In this case, the corresponding interpolated color signal will be attenuated by another predetermined factor F′ through color signal attenuator 175. In some embodiments, factor F′ is equal to factor F. In some embodiments, factor F′ is equal to the reciprocal of factor F. Color signal attenuator 175 may include one or more of attenuator circuitry, a digital attenuator, a binary splitter, and a memory unit storing software that scales down the signal during execution.

[0093] At S9, after attenuation, the corresponding interpolated color signal becomes the attenuated color signal, which is then output as the output color signal. If (r, g, b) comes from an input color signal that has not yet been enhanced, then the calculation unit 178 outputs the corresponding interpolated color signal as the output color signal without prior attenuation.

[0094] The order of execution of the steps listed in this disclosure is merely an example of the currently disclosed technology and is not intended to limit any aspect of this disclosure. Any omission or substitution of steps or additional steps consistent with the principles of this disclosure is within the scope of this disclosure.

[0095] The apparatus for implementing the display control method described in this disclosure includes, but is not limited to, apparatus having the structure of the display controller described herein, and any structural modifications and substitutions to the prior art made in accordance with the principles of this disclosure are included within the scope of this disclosure.

[0096] Example 3

[0097] refer to Figure 7 This disclosure further provides a display control system 700, which includes a central processing unit 710, an image memory 730, a display controller 770, a display 780, and a graphics processing unit 790. In some embodiments, the display controller 770 may be implemented by the display controller 110 described above.

[0098] Central processing unit 710 receives input data and outputs the data (including color signals) to image memory 730, display controller 770, and graphics processing unit 790. Display controller 770 is operatively coupled to central processing unit 710 and graphics processing unit 790, converts color signals from one color space to another, and outputs the converted color signals to graphics processing unit 790. Graphics processing unit 790 further processes the converted color signals and then outputs them to display 780, which is operatively coupled to graphics processing unit 790.

[0099] Example 4

[0100] This disclosure also provides a non-transitory storage medium on which a computer program is stored; when the computer program is executed by a processor, it implements the display control method described above. The memory may be ROM, RAM, magnetic disk, USB flash drive, memory card, optical disk, or other media capable of storing program code.

[0101] This disclosure significantly increases the accuracy of color conversion from one RGB color space to another without increasing RAM costs, since the cost of multiplying or dividing by a power of 2 is finite. This can be better explained by a simplified version of the basic principles of some aspects of this disclosure. For example, in an embodiment,

[0102] And the exact value is

[0103] If we use the 3D-LUT defined at the beginning of this disclosure to calculate We get Then divide by 2 to get This result is closer to the accurate value than the result obtained by directly using 3D-LUT, i.e.

[0104] If we use 3D-LUT to calculate We get Then divide by 4 to get The results became closer to the accurate value.

[0105] Furthermore, if we use 3D-LUT to calculate We get Divide it by 16 to get The results became closer to the accurate value.

[0106] The accuracy achieved by this disclosure is superior to that of conventional methods (up to 4 times higher accuracy than conventional methods can be obtained by this disclosure).

[0107] This disclosure has been put into practical application, as demonstrated by the applicant’s experimental product, Verisilicon DC8000.

[0108] While this disclosure demonstrates and describes specific elements, embodiments, and applications, it should be understood that this disclosure is not limited thereto, as modifications can be made by those skilled in the art, particularly based on the foregoing teachings. Therefore, the appended claims cover such modifications, and their scope includes technical features that do not depart from the spirit and scope of this disclosure.

Claims

1. A display controller comprising: a 3D_LUT random access memory storing at least one 3D lookup table; and a display control processing unit comprising: a calculation unit, a register, a color signal enhancer and a color signal attenuator, wherein after an input color signal is received by the color signal enhancer, the color signal enhancer linearly amplifies the color signal by a first predetermined factor, wherein the calculation unit calculates an address of the 3D lookup table and loads the 3D lookup table from the 3D_LUT random access memory according to the register, wherein the color signal attenuator linearly attenuates the color signal by a second predetermined factor.

2. The display controller according to claim 1, further comprising a color channel memory, wherein the color channel memory comprises at least three zones, each of the at least three zones storing data representing a color signal of one color channel, wherein the one color channel is an R channel, a G channel or a B channel.

3. The display controller according to claim 1, wherein the input color signal is a low light color signal.

4. The display controller according to claim 1, wherein the first predetermined factor is equal to the inverse of the second predetermined factor.

5. The display controller according to claim 2, wherein the 3D lookup table comprises three sub-tables, each of the three sub-tables corresponding to one color channel.

6. A display control method comprising: receiving an input color signal by a display controller; linearly amplifying all or part of the input color signal by a first predetermined factor by a color signal enhancer and obtaining an enhanced color signal; loading a pre-stored 3D_LUT from a 3D lookup table (3D_LUT) RAM by a calculation unit; dividing the enhanced color signal into three channels and storing the divided color signal on a color channel memory; comparing a point (r, g, b) of the divided color signal with a lattice point of the 3D_LUT; based on a comparison result, determining whether to estimate a position of the point (r, g, b) among the lattice points; estimating the position of the point (r, g, b) among the lattice points by the calculation unit by three-dimensional linear three-dimensional interpolation, after which the divided color signal becomes an interpolated color signal; and linearly attenuating the interpolated color signal by a second predetermined factor by a color signal attenuator to obtain an attenuated color signal.

7. The display control method according to claim 6, further comprising: outputting the attenuated color signal as an output color signal; and displaying the output color signal on a display digitally connected to the display controller.

8. The display control method according to claim 6, wherein the input color signal is a low light color signal.

9. The display control method according to claim 6, wherein the first predetermined factor is equal to the inverse of the second predetermined factor.

10. The display control method of claim 6, wherein the first predetermined factor is equal to 1 / max(r,g,b).

11. The display control method according to claim 6, wherein the first predetermined factor is equal to 12. A display control system comprising a central processing unit, an image memory and a display controller; wherein the central processing unit receives input data and outputs data to the image memory and the display controller, wherein the display controller comprises: a 3D_LUT random access memory storing at least one 3D lookup table; and a display control processing unit comprising: a calculation unit, a register, a color signal enhancer and a color signal attenuator; wherein after an input color signal is received by the color signal enhancer, the color signal enhancer linearly amplifies the color signal by a first predetermined factor, wherein the calculation unit calculates an address of the 3D lookup table and loads the 3D lookup table from the 3D_LUT random access memory according to the register, and wherein the color signal attenuator linearly attenuates the color signal by a second predetermined factor.

13. The display control system of claim 12, further comprising: a graphics processing unit operably coupled to display controller; and a display operably coupled to the graphics processing unit, wherein the graphics processing unit further processes the attenuated color signal and then outputs it to the display. ​

Citation Information

Patent Citations

  • System and method for mapped splicing of a three-dimensional look-up table for image format conversion

    US20190318448A1

  • Method for producing a color image and imaging device employing same

    WO2014088975A1