Demura compensation method and device for display equipment

By using an error diffusion mechanism, the fractional part of the high-precision compensation value is propagated to neighboring pixels in the display device, solving the precision loss problem caused by the driver chip processing integer grayscale signals. This achieves a high-precision Demura compensation effect, improving the brightness uniformity and visual effect of the display device.

CN120853499APending Publication Date: 2025-10-28SUZHOU HUAXING YUANCHUANG TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511372389.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-24
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

In the existing technology, during the Demura compensation process of display devices, the decimal part of the high-precision compensation value is discarded because the driver chip can only process integer grayscale signals, resulting in a loss of precision and visual defects such as false contours and water ripples.

Method used

An error diffusion mechanism is adopted, in which the fractional part of the high-precision compensation value obtained by Demura calculation is used as the quantization error and propagated to the neighboring unprocessed pixels one by one. Through step-by-step iterative processing, the precision loss of the integer compensation value is minimized.

Benefits of technology

It effectively preserves the compensation accuracy, improves the brightness uniformity and visual effect of the display device, eliminates imperfections such as false contours and water ripples, and improves the display quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120853499A_ABST
    Figure CN120853499A_ABST
Patent Text Reader

Abstract

The invention discloses a Demura compensation method and device for display equipment, and the method comprises the steps: determining an updated compensation value according to an accumulated quantization error transmitted by one or more processed adjacent pixels and a compensation value of a current to-be-processed pixel; determining an integer compensation value based on the updated compensation value; determining a new quantization error based on a difference between the updated compensation value and the integer compensation value; the new quantization error is propagated to one or more adjacent unprocessed pixels. By adopting an error diffusion mechanism, the decimal precision information generated by Demura operation is completely transmitted and compensated, the brightness uniformity of the display equipment is remarkably improved, water ripple-shaped visual flaws caused by quantization errors are eliminated, and the image quality is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of display device manufacturing technology, and in particular to a Demura compensation method and apparatus for display devices. Background Technology

[0002] Display devices typically undergo brightness calibration (Demura) at the factory. This process calculates brightness compensation data for each pixel to compensate for unevenness between pixels and improve image quality.

[0003] However, in order to achieve the ideal compensation effect, the compensation value calculated by the Demura algorithm is often a high-precision decimal. But the grayscale signals that the driver IC of the display device can receive and process are usually finite integers. When it is necessary to apply the high-precision floating-point compensation value to the integer drive signal, the most common processing method is to round or truncate it directly. This will forcibly discard all the decimal part information, causing serious precision loss, greatly reducing the compensation effect, and even introducing new visual defects.

[0004] Some common techniques attempt to incorporate dithering algorithms into the processing flow to simulate higher grayscale accuracy in low-bit-depth drive signals. However, on the one hand, after performing the Demura operation, the resulting decimal compensation value must be truncated to an integer before subsequent dithering processing can proceed. This initial truncation step already causes irreversible precision loss. On the other hand, commonly used dithering algorithms with 1 / 4 precision are mathematically insufficient to carry the required information, resulting in poor precision preservation and causing a "ripple" display problem on the compensated display device. Summary of the Invention

[0005] The purpose of this application is to provide a Demura compensation method and apparatus for display devices that can retain the accuracy of the original calculation to the maximum extent.

[0006] To achieve the above-mentioned objective, one embodiment of this application provides a Demura compensation method for a display device, comprising the following steps: Demura compensation calculation is performed on each pixel in the display device to obtain a compensation value with decimal precision for compensating for uneven brightness. The pixels in the display device are processed one by one until integer compensation values ​​for all pixels are obtained. Specifically, for at least a portion of the currently processed pixels, the following operations are performed: An updated compensation value is determined based on the cumulative quantization error propagated from one or more processed neighboring pixels and the compensation value of the current pixel to be processed; Determine an integer compensation value based on the updated compensation value; Calculate the difference between the updated compensation value and the integer compensation value to determine the new quantization error; The new quantization error is propagated to one or more neighboring unprocessed pixels.

[0007] As a further improvement to this application, determining the integer compensation value based on the updated compensation value includes: The updated compensation value is rounded down to obtain the integer compensation value.

[0008] As a further improvement to this application, determining the integer compensation value based on the updated compensation value includes: The updated compensation value is rounded to the nearest integer to obtain the integer compensation value.

[0009] As a further improvement to this application, the step of propagating the new quantization error to one or more neighboring unprocessed pixels includes: The new quantization error is propagated, with each weighted proportionally, to at least a plurality of unprocessed neighboring pixels to the right, directly below, and to the lower right of the current pixel to be processed, wherein the sum of the weighted proportionalities is 1.

[0010] As a further improvement to this application, the denominator of each weight ratio is 2 raised to the power of N, where N is a positive integer.

[0011] As a further improvement of this application, the current pixel to be processed is (i,j), and the weight ratios are 3 / 8, 3 / 8, and 2 / 8, respectively, which are propagated to the unprocessed neighboring pixels of (i,j+1), (i+1,j), and (i+1,j+1); or, The weight ratios, 7 / 16, 3 / 16, 5 / 16, and 1 / 16, are respectively propagated to the unprocessed neighboring pixels of (i,j+1), (i+1,j-1), (i+1,j), and (i+1,j+1); or, The weight ratios, 4 / 16, 3 / 16, 1 / 16, 2 / 16, 3 / 16, 2 / 16, and 1 / 16 respectively, are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), and (i+1,j+2), respectively; or, The weight ratios, 8 / 32, 4 / 32, 2 / 32, 4 / 32, 8 / 32, 4 / 32, and 2 / 32, are respectively propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), and (i+1,j+2); or, The weight ratios, 5 / 32, 3 / 32, 2 / 32, 4 / 32, 5 / 32, 4 / 32, 2 / 32, 2 / 32, 3 / 32, and 2 / 32 respectively, are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-1), (i+2,j) and (i+2,j+1); or, The weight ratios are 8 / 42, 4 / 42, 2 / 42, 4 / 42, 8 / 42, 4 / 42, 2 / 42, 1 / 42, 2 / 42, 4 / 42, 2 / 42, and 1 / 42, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-2), (i+2,j-1), (i+2,j), (i+2,j+1), and (i+2,j+2), respectively; or, The weight ratios are 7 / 48, 5 / 48, 3 / 48, 5 / 48, 7 / 48, 5 / 48, 3 / 48, 1 / 48, 13 / 48, 15 / 48, 3 / 48 and 1 / 48, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-2), (i+2,j-1), (i+2,j), (i+2,j+1) and (i+2,j+2), respectively.

[0012] As a further improvement to this application, the step of performing Demura compensation calculation for each pixel in the display device includes: Obtain the raw image data with first-order depth; The grayscale values ​​of the original image data are upscaled to upscaled data with a second bit depth, wherein the second bit depth is higher than the first bit depth; Based on a computing environment that can preserve decimal precision, Demura compensation is performed on the upgraded data to obtain an upgraded compensation value that includes both integer and decimal parts.

[0013] As a further improvement to this application, the operation of performing the following operations for at least a portion of the currently processed pixels further includes: An updated up-order compensation value is determined based on the cumulative up-order quantization error propagated from one or more processed neighboring pixels and the up-order compensation value of the current pixel to be processed, wherein the updated up-order compensation value is the second bit depth. Map the updated upgrade compensation value back to the first bit depth to determine its integer compensation value; Obtain the error generated during the mapping process and define it as a new quantization error; The new quantization error is propagated to one or more neighboring unprocessed pixels; Iterate through all pixels until the updated upscaling compensation values ​​of all pixels are mapped back to the first bit depth.

[0014] As a further improvement to this application, the Demura compensation operation is performed in a computing environment that supports floating-point data processing.

[0015] To achieve one of the above-mentioned objectives, one embodiment of this application provides a Demura compensation device for a display device, comprising: The compensation value calculation unit is configured to perform Demura compensation operation on each pixel in the display device to obtain a compensation value with decimal precision for compensating for uneven brightness. An error diffusion processing unit is configured to process each pixel in the display device one by one until an integer compensation value is obtained for all pixels, wherein, for at least a portion of the currently processed pixels, the error diffusion processing unit is further configured to: An updated compensation value is determined based on the cumulative quantization error propagated from one or more processed neighboring pixels and the compensation value of the current pixel to be processed; Determine an integer compensation value based on the updated compensation value; A new quantization error is determined based on the updated compensation value and the integer compensation value; The new quantization error is propagated to one or more neighboring unprocessed pixels.

[0016] Compared with commonly used techniques, this application has the following beneficial effects: By employing an error diffusion mechanism, the decimal part generated when the high-precision compensation value obtained by Demura operation is quantized into an integer is regarded as "quantization error" and propagated completely and pixel-by-pixel to subsequent unprocessed pixels. No precision information is directly discarded or truncated. Although the final output of a single pixel is an integer value, the average brightness of all pixels in a local area can closely approximate the theoretical value expected by the original high-precision floating-point operation, thus preserving the compensation accuracy. The brightness uniformity of the display device is significantly improved, enhancing the final display quality and improving the final user visual experience. Attached Figure Description

[0017] Figure 1 This is a flowchart of a Demura compensation method for a display device according to an embodiment of this application; Figure 2This is a flowchart of pixel-by-pixel error propagation and quantization processing according to an embodiment of this application; Figure 3 This is a schematic diagram of the weighting ratio allocation scheme of Embodiment 1 of this application; Figure 4 This is a schematic diagram of the weighting ratio allocation scheme of Embodiment 2 of this application; Figure 5 This is a schematic diagram of the weighting ratio allocation scheme of Embodiment 3 of this application; Figure 6 This is a schematic diagram of the weighting ratio allocation scheme of Embodiment 4 of this application; Figure 7 This is a schematic diagram of the weighting ratio allocation scheme in Embodiment 5 of this application; Figure 8 This is a schematic diagram of the weighting ratio allocation scheme of Embodiment 6 of this application; Figure 9 This is a schematic diagram of the weighting ratio allocation scheme of Embodiment 7 of this application; Figure 10 This is a flowchart of an embodiment of the upgrade-downgrade implementation of this application. Detailed Implementation

[0018] The present application will now be described in detail with reference to the specific embodiments shown in the accompanying drawings. However, these embodiments do not limit the present application, and any structural, methodological, or functional modifications made by those skilled in the art based on these embodiments are included within the scope of protection of this application.

[0019] One embodiment of this application provides a Demura compensation method and apparatus for display devices. By using error diffusion, the high-precision compensation information generated by Demura calculation is converted into integer grayscale values ​​usable by the display driver, thereby maximizing the preservation of accuracy and solving the problem of visual defects such as pseudo-contours, color bands, and "water ripples" caused by the loss of quantization accuracy of Demura compensation values ​​in the prior art.

[0020] Compared with the solutions mentioned in the background art, this application avoids the initial truncation error of hardware processing and adopts an error diffusion algorithm with precision matching, thus achieving true high-fidelity compensation for display devices.

[0021] The display device can be an LCD, OLED, Micro LED, Micro OLED, AR, VR, DLP, LCoS, etc. The driving signals of these devices are usually 8 bits (corresponding to the first bit depth below), that is, 256 levels of driving signals.

[0022] The Demura compensation method in this embodiment mainly includes two stages: the first stage is the high-precision compensation value calculation stage, and the second stage is the pixel-by-pixel error diffusion and quantization processing stage. The following will combine these two stages and their specific steps. Figures 1-9 To elaborate in detail.

[0023] Although this application provides method operation steps as shown in the following embodiments or flowcharts, the execution order of these steps is not limited to the execution order provided in the embodiments of this application, where there is no necessary causal relationship in the steps of the method based on conventional or non-creative labor.

[0024] This embodiment of a Demura compensation method for a display device includes the following steps: Step S10: Perform Demura compensation operation on each pixel in the display device to obtain a compensation value with decimal precision for compensating for uneven brightness.

[0025] Step S20: Process each pixel in the display device one by one until an integer compensation value for all pixels is obtained.

[0026] In step S10, Demura compensation is performed on each pixel in the display device to calculate an ideal compensation value for each pixel that can accurately correct its brightness deviation.

[0027] Specifically, during the manufacturing process of display devices, there are slight differences in the physical characteristics of the pixels (such as OLED pixel units) and their driving circuits. In order to obtain an accurate compensation value for each pixel, the actual luminous brightness of each pixel under different driving signals is usually measured on the production line using high-precision optical equipment and compared with a standard brightness model to calculate the compensation coefficient or lookup table for that pixel.

[0028] For example, according to the formula The calculation is performed, where Lv represents brightness, Gray represents grayscale, and γ is usually adjusted to between 2.0 and 2.4, for example, 2.2.

[0029] The deviation between the physical characteristics of a pixel and its ideal model is almost never entirely an integer difference; that is, the result of Demura compensation is essentially a compensation value with decimal precision. For example, for a pixel with a target display grayscale of 128, after Demura compensation, the ideal compensation value that truly achieves standard brightness might be calculated as "128.73". While this value is precise, its decimal part ".73" cannot be directly used by display driver chips that can only process integers.

[0030] Step S10 calculates a high-precision compensation value matrix of the same size as the original image, where each element is a floating-point number with a decimal. This matrix represents the data needed for the most ideal and accurate compensation of the entire display device, but this data cannot yet be directly used to drive the display.

[0031] After obtaining the aforementioned high-precision compensation value matrix, step S20 converts these ideal values ​​with decimals into integer values ​​that the display driver chip can accept, minimizing the loss of precision information during this process. This embodiment employs a pixel-by-pixel iterative error diffusion mechanism to achieve this objective.

[0032] Step S20 follows a preset scanning order, for example, starting from the top-left pixel of the image, scanning line by line to the right, then down, until the last pixel in the bottom-right corner is processed. For each pixel to be processed in the scanning path, the method performs a series of operations, such as... Figure 2 As shown, the details are as follows: Step S21: Determine an updated compensation value based on the cumulative quantization error propagated by one or more processed neighboring pixels and the compensation value of the current pixel to be processed.

[0033] Step S22: Determine an integer compensation value based on the updated compensation value.

[0034] Step S23: Calculate the difference between the updated compensation value and the integer compensation value to determine the new quantization error.

[0035] Step S24: Propagate the new quantization error to one or more neighboring unprocessed pixels.

[0036] In step S21, for the currently processed pixel (e.g., pixel (i,j)), its compensation value is updated based on the cumulative quantization error propagated from one or more neighboring pixels that have already been processed.

[0037] The cumulative quantization error is the sum of the error components from the neighboring pixels (i,j) that have already been processed before the current pixel (i,j) is processed. For example, pixels (i,j-1), (i-1,j-1), (i-1,j), (i-1,j), and (i-1,j+1) in left-to-right and top-to-bottom order, respectively, each generated a quantization error (such as their fractional part) when quantized to integers. These errors are not discarded but are "propagated" or "spread" to unprocessed neighboring pixels, including the current pixel (i,j), according to a specific algorithm. The current pixel (i,j) receives the sum of these error components from different processed neighboring pixels.

[0038] The accumulated quantization error is combined with the original compensation value calculated for the current pixel (i,j) in step S10, for example, by direct addition or weighted summation, to obtain the updated compensation value.

[0039] Taking direct addition as an example, if the original compensation value of pixel (i,j) is "128.73" and the cumulative quantization error received from its processed neighbors is "+0.51", then its updated compensation value is 128.73 + 0.51 = "129.24". The updated compensation value is a value that combines its own ideal value with the error compensation of neighboring pixels, reflecting more influencing factors.

[0040] It is understandable that some pixels on the entire display device may have no cumulative quantization error. For example, the first pixel processed may not have generated a cumulative quantization error, or in some cases, the first few pixels may not have generated a cumulative quantization error, or there may be no quantization error near some pixel areas. In other words, some pixels may not have run step S21 and may not have generated an update compensation value.

[0041] After obtaining the updated compensation value (e.g., "129.24"), step S22 performs quantization processing on it. Based on this updated compensation value, the integer compensation value to be finally output to the driver chip for the current pixel is determined. Typically, this can be a rounding operation, such as directly truncating to its integer part, i.e., "129". This "129" is the final display grayscale value of pixel (i,j).

[0042] Step S23 determines the new quantization error based on the updated compensation value and the integer compensation value. For example, if the updated compensation value is 129.24 and the integer compensation value is "129", the new quantization error is 129.24 - 129 = 0.24. This new quantization error represents the precision information "lost" in the operation of determining the integer compensation value in step S22.

[0043] In step S24, the new quantization error generated in step S23 is propagated to one or more neighboring, unprocessed pixels. For example, in left-to-right, top-to-bottom order, these unprocessed neighboring pixels may include pixels (i,j+1), (i+1,j-1), (i+1,j), etc.

[0044] The specific propagation method can be implemented by various algorithms, which distribute the error value to neighboring pixels according to a certain proportion, accumulate it into their respective cumulative quantization error buffers, and reserve it for use when these pixels are processed.

[0045] By iterating through steps S21 to S24, until all pixels of the entire image have been processed, a final image consisting of pure integer compensation values ​​is obtained, which can be directly sent to the display driver chip.

[0046] In this way, although each pixel outputs an integer value, the fractional part (error) lost during quantization is effectively passed to neighboring pixels, making the sum of errors of each local and global pixel approach the minimum. The average brightness can be very close to the average value of the high-precision compensation value calculated in step S10, which greatly improves the final accuracy and visual effect of Demura compensation, effectively eliminates imperfections such as pseudo contours and water ripples caused by simple rounding, and makes the display screen smoother, more uniform and delicate.

[0047] In one embodiment, determining the integer compensation value based on the updated compensation value includes: The updated compensation value is rounded down to obtain the integer compensation value.

[0048] This embodiment determines the final integer compensation value by rounding down, that is, regardless of the size of the decimal part, it is directly discarded and only the integer part is retained.

[0049] For example, if the update compensation value for a pixel is 129.24, rounding it down gives an integer compensation value of 129. The resulting new quantization error is 129.24 - 129 = +0.24.

[0050] If the update compensation value for another pixel is 129.88, rounding it down will also result in an integer compensation value of 129. In this case, the new quantization error is 129.88 - 129 = +0.88.

[0051] In other words, in this embodiment, the update compensation value is a value between [0,1).

[0052] In another embodiment, determining the integer compensation value based on the updated compensation value includes: The updated compensation value is rounded to the nearest integer to obtain the integer compensation value.

[0053] This embodiment determines the final integer compensation value based on the decimal part of the "update compensation value" according to the rounding rules. When the decimal part is greater than or equal to 0.5, it is rounded up to the larger absolute value; when the decimal part is less than 0.5, the decimal part is discarded.

[0054] If the update compensation value for a pixel is 129.24, rounding it to the nearest integer gives an integer compensation value of 129. In this case, the resulting new quantization error is 129.24 - 129 = +0.24 (a positive error).

[0055] If the update compensation value of another pixel is 129.88, rounding it to the nearest integer gives an integer compensation value of 130. In this case, the resulting new quantization error is 129.88 - 130 = -0.12 (a negative error).

[0056] In other words, in this embodiment, the update compensation value is a value between (-1, 1).

[0057] The quantization error generated by rounding can be positive or negative. After processing a large number of pixels, the expected value of the total error is closer to zero. This helps to produce more random and irregular noise textures in the final compensated image, resulting in a visually better and more natural image quality.

[0058] In one embodiment, step S24, which propagates the new quantization error to one or more neighboring unprocessed pixels, includes: The new quantization error is propagated, with each weighted proportionally, to at least a plurality of unprocessed neighboring pixels to the right, directly below, and to the lower right of the currently processed pixel.

[0059] In this embodiment, when a raster scanning sequence from left to right and then from top to bottom is used to process pixels one by one, in order to ensure that the error is only propagated to the pixels that have not yet been processed, the direction of error propagation is limited to include at least the area to the right, directly below and to the lower right of the current pixel to be processed, thus ensuring the unidirectionality of the error data stream and avoiding interference with the processed pixels.

[0060] Furthermore, to ensure the overall brightness of the system remains constant during error propagation, this implementation specifies that the sum of the weight ratios allocated to each neighboring unprocessed pixel is always 1. All new quantization errors generated during the quantization of the current pixel will be fully distributed.

[0061] In one embodiment, the denominator of each weight ratio is a power of 2, where N is a positive integer. For example, the denominator can be 8, 16, 32, 64, etc.

[0062] When implementing the Demura compensation method in hardware, since the divisor (i.e. the denominator of the weight ratio) is a power of 2, efficient bitwise operations can be used to replace complex division operations in hardware implementation, making it more convenient for hardware implementation and suitable for IC use.

[0063] In one embodiment, such as Figure 3-9 As shown, multiple weight allocation schemes are provided. Different weight templates will produce subtle visual texture differences in the final compensated image. Designers can choose the most suitable template based on the characteristics of the display device, the image content, or specific optimization goals (such as smoother transitions, sharper edge preservation, etc.).

[0064] Taking the current pixel to be processed as (i,j) as an example, the following are several specific implementation examples: Example 1 like Figure 3 As shown, the weight ratios are 3 / 8, 3 / 8 and 2 / 8, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i+1,j) and (i+1,j+1).

[0065] Example 2 like Figure 4 As shown, the weight ratios are 7 / 16, 3 / 16, 5 / 16 and 1 / 16, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i+1,j-1), (i+1,j) and (i+1,j+1), respectively.

[0066] The application of Example 2 will be described in detail. Other examples can be adapted accordingly.

[0067] From the perspective of active output error propagation at pixel (i,j+1), the pixels at (i,j+1), (i+1,j-1), (i+1,j), and (i+1,j+1) are updated as follows: , , , ; Among them, with For example, Gray(i,j+1) is the compensation value of pixel (i,j+1), error(i,j) is the new quantization error of pixel (i,j), such as the fractional part of pixel (i,j), and Gray(i,j+1)' is the value of pixel (i,j+1) after error propagation based on Gray(i,j+1).

[0068] To more clearly describe the error accumulation process, we can also explain it from the perspective of the current pixel passively receiving the error. Taking pixel (i,j) as an example, its updated compensation value Gray(i,j)' is obtained by adding its original compensation value Gray(i,j) to the error components passed to it by all processed neighbors. For example, when using the template of Example 2, its update formula is: ; Where Gray(i,j) is the compensation value of pixel (i,j), error(i-1,j-1) is the new quantization error of pixel (i-1,j-1), error(i-1,j) is the new quantization error of pixel (i-1,j), error(i-1,j+1) is the new quantization error of pixel (i-1,j+1), error(i,j-1) is the new quantization error of pixel (i,j-1), and Gray(i,j)' is the change after propagation through the above four pixel errors.

[0069] Example 3 like Figure 5 As shown, the weight ratios are 4 / 16, 3 / 16, 1 / 16, 2 / 16, 3 / 16, 2 / 16 and 1 / 16, respectively, which are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1) and (i+1,j+2), respectively.

[0070] Example 4 like Figure 6 As shown, the weight ratios are 8 / 32, 4 / 32, 2 / 32, 4 / 32, 8 / 32, 4 / 32 and 2 / 32, respectively, which are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1) and (i+1,j+2), respectively.

[0071] Example 5 like Figure 7 As shown, the weight ratios are 5 / 32, 3 / 32, 2 / 32, 4 / 32, 5 / 32, 4 / 32, 2 / 32, 2 / 32, 3 / 32, and 2 / 32, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-1), (i+2,j) and (i+2,j+1), respectively.

[0072] Example 6 like Figure 8As shown, the weight ratios are 8 / 42, 4 / 42, 2 / 42, 4 / 42, 8 / 42, 4 / 42, 2 / 42, 1 / 42, 2 / 42, 4 / 42, 2 / 42, and 1 / 42, respectively, which are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-2), (i+2,j-1), (i+2,j), (i+2,j+1), and (i+2,j+2), respectively.

[0073] Example 7 like Figure 9 As shown, the weight ratios are 7 / 48, 5 / 48, 3 / 48, 5 / 48, 7 / 48, 5 / 48, 3 / 48, 1 / 48, 13 / 48, 15 / 48, 3 / 48 and 1 / 48, respectively, which are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-2), (i+2,j-1), (i+2,j), (i+2,j+1) and (i+2,j+2), respectively.

[0074] Through the specific and optimized error propagation templates provided in the above seven embodiments, this application not only provides a principle-based method, but also provides those skilled in the art with a variety of specific implementation schemes that can be directly applied and whose effects have been verified. These embodiments increase the flexibility and practicality of this application.

[0075] Steps S11-S13 and S25-S29 below describe an implementation method for achieving higher compensation accuracy through order-reduction processing, such as... Figure 10 As shown.

[0076] In one embodiment, step S10, which performs Demura compensation calculation for each pixel in the display device, includes: Step S11: Obtain the raw image data with the first depth.

[0077] Step S12: Upgrade the grayscale value of the original image data to upgraded data with a second bit depth, wherein the second bit depth is higher than the first bit depth.

[0078] Step S13: Based on an operating environment that can preserve decimal precision, perform Demura compensation operation on the upgraded data to obtain an upgraded compensation value that includes both integer and decimal parts.

[0079] In step S11, the original image data of the first depth is usually in a standard digital image format, such as 8-bit grayscale data where the brightness value of each pixel is an integer ranging from 0 to 255.

[0080] In step S12, the grayscale values ​​of the original image data are upscaled to achieve higher computational accuracy in the subsequent Demura compensation operation. Specifically, the grayscale value of each pixel is linearly mapped from the first depth to a higher second depth. For example, an 8-bit grayscale value "128" (located in the middle of 0-255) can be mapped to a 12-bit value "2048" (located in the middle of 0-4095), so that small compensation adjustments can be represented and calculated more accurately, reducing rounding errors in the calculation process.

[0081] Alternatively, the order can be increased using a formula: Among them, Gray ori It is the first depth of the raw image data, Gray aft It is an upgraded data with a second bit depth. byte is the gray level number of the mapping upgrade. byte>8. If it needs to be mapped to 12 bits, then byte=12.

[0082] In step S13, a Demura compensation operation is performed on these upscaled high-bit-depth data in a computational environment that preserves decimal precision. This operation is performed within a larger numerical space. For example, performing a compensation calculation on a pixel with a 12-bit value of "2048" may result in an upscaled compensation value that includes both integer and decimal parts, such as "2051.73".

[0083] By first increasing the order and then calculating, rounding errors are reduced, further improving the accuracy of Demura compensation operations.

[0084] In one embodiment, the Demura compensation operation employs an ascending-order calculation, with the ascending-order compensation value based on the second bit depth. The subsequent steps then perform the following operations: Step S25: Determine an updated up-order compensation value based on the cumulative up-order quantization error propagated from one or more processed neighboring pixels and the up-order compensation value of the current pixel to be processed, wherein the updated up-order compensation value is the second bit depth.

[0085] Step S26: Map the updated upgrade compensation value back to the first bit depth to determine its integer compensation value.

[0086] Step S27: Obtain the error generated during the mapping process and define it as the new quantization error.

[0087] Step S28: Propagate the new quantization error to one or more neighboring unprocessed pixels.

[0088] Step S29: Traverse all pixels until the updated upscaling compensation values ​​of all pixels are mapped back to the first bit depth.

[0089] In step S25, for the current pixel to be processed, the updated upscaling compensation value is determined in the context of the second bit depth. For example, the 12-bit upscaling compensation value 2051.73 is directly added to the cumulative upscaling quantization error. After the addition, the updated upscaling compensation value with the second bit depth is obtained.

[0090] In step S26, the "update upscaling compensation value" with the second bit depth is converted into an integer value with the first bit depth that the display driver chip can receive. For example, mapping from 12 bits back to 8 bits typically corresponds to a division by 16 (i.e., 2^(12-8)). After dividing the update upscaling compensation value by 16, the integer part of the result is taken to obtain the final integer compensation value for the current pixel, which can be calculated, for example, using Formula 1: , (Formula 1) Among them, Gray ori 'This is an update to the upgrade compensation value, Gray' aft This integer compensation value is the final data used to drive the chip.

[0091] In step S27, the error generated during the mapping process is taken as a new quantization error, which is calculated, for example, using Equation 2: , (Formula 2) Where error (i,j) is the new quantization error, and step S27 is calculated based on the environment of the second bit depth.

[0092] For example, a 12-bit grayscale value is 1945.456. Mapping it to 8 bits using Formula 1 gives 122. In Formula 2, mapping 122 back to 12 bits gives 1952. The error calculated using Formula 2 is -6.544, which is the error generated during the mapping process.

[0093] In step S28, similar to step S24 above, the new quantization error is propagated to one or more neighboring unprocessed pixels.

[0094] In step S29, the above steps are repeated for the next pixel until the "upgraded order compensation value" of all pixels in the image has been processed and mapped back to the first depth, thus completing the compensation process for the entire image.

[0095] This completes the process from high-bit depth calculation to low-bit depth output, based on the Demura compensation up-order calculation.

[0096] In one embodiment, the Demura compensation operation is performed in a computing environment that supports floating-point data processing.

[0097] A computing environment that supports floating-point data processing refers to an environment in which the arithmetic unit can directly perform arithmetic operations such as addition, subtraction, multiplication, and division on numerical values ​​with decimals (i.e., floating-point numbers) without automatically rounding or truncating them during the operation. Typical such environments include, but are not limited to: personal computers (PCs), central processing units (CPUs) and graphics processing units (GPUs) in servers, dedicated digital signal processors (DSPs), and embedded processors equipped with floating-point arithmetic units (FPUs).

[0098] By performing calculations in such an environment, it is ensured that the compensation values ​​calculated by the Demura compensation model, including the decimal part, can be obtained and temporarily stored completely and without loss. Compared to integer arithmetic environments that can only process integers and rely on hardware logic circuits, any decimals generated during calculations must be discarded directly, inevitably leading to truncation errors. This implementation method avoids such errors at the source, ensuring that each compensation value entering the error diffusion stage has higher original accuracy, thereby achieving a more ideal compensation effect.

[0099] Compared with commonly used technologies, this embodiment has the following advantages: This method employs an error diffusion mechanism, treating all fractional parts generated when the high-precision compensation value obtained from the Demura operation is quantized into an integer as "quantization error," and propagating them completely and pixel-by-pixel to subsequent unprocessed pixels. No precision information is directly discarded or truncated. Although the final output of a single pixel is an integer value, the average brightness of all pixels in a local area can closely approximate the theoretical value expected by the original high-precision floating-point operation, preserving the compensation accuracy. The brightness uniformity of the display device is significantly improved, enhancing the final display quality and the final user visual experience.

[0100] In one embodiment, a Demura compensation device for a display device is provided, the Demura compensation device for the display device including modules, and the specific functions of each module are as follows: The compensation value calculation unit is configured to perform Demura compensation calculations for each pixel in the display device to obtain compensation values ​​with decimal precision for compensating for uneven brightness.

[0101] An error diffusion processing unit is configured to process each pixel in the display device one by one until an integer compensation value is obtained for all pixels, wherein, for at least a portion of the currently processed pixels, the error diffusion processing unit is further configured to: An updated compensation value is determined based on the cumulative quantization error propagated from one or more processed neighboring pixels and the compensation value of the current pixel to be processed.

[0102] An integer compensation value is determined based on the updated compensation value.

[0103] The difference between the updated compensation value and the integer compensation value is calculated to determine the new quantization error.

[0104] The new quantization error is propagated to one or more neighboring unprocessed pixels.

[0105] It should be noted that for details not disclosed in the Demura compensation device of the display device in the embodiments of this application, please refer to the details disclosed in the Demura compensation method of the display device in the embodiments of this application.

[0106] The Demura compensation device for a display device may also include computing devices such as computers, laptops, handheld computers, and cloud servers, as well as, but not limited to, a processing module, a storage module, and a computer program stored in the storage module and executable on the processing module, such as the Demura compensation method program for the display device described above. When the processing module executes the computer program, it implements the steps in the Demura compensation method embodiments of the various display devices described above, for example... Figure 1 and 2 The steps are shown.

[0107] The processing module can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. The processing module is the control center of the display device's Demura compensation device, connecting various parts of the display device's Demura compensation device via various interfaces and lines.

[0108] The storage module can be used to store the computer programs and / or modules. The processing module implements various functions of the Demura compensation device of the display device by running or executing the computer programs and / or modules stored in the storage module and by calling the data stored in the storage module. The storage module may mainly include a program storage area and a data storage area, wherein the program storage area may store the operating system, at least one application program required for a function, etc. In addition, the storage module may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0109] For example, the computer program may be divided into one or more modules / units, which are stored in a storage module and executed by a processing module to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the Demura compensation device of the display device.

[0110] Furthermore, one embodiment of this application provides a readable storage medium storing a computer program that, when executed by a processing module, can implement the steps in the Demura compensation method for the display device described above, that is, implement the steps in any one of the technical solutions of the Demura compensation method for the display device described above.

[0111] If the module integrated into the Demura compensation method of the display device is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processing module, it can implement the steps of the various method embodiments described above.

[0112] The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium can include any entity or device capable of carrying the computer program code, recording media, U disks, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electrical carrier signals and telecommunication signals.

[0113] It should be understood that although this specification describes embodiments, not every embodiment contains only one independent technical solution. This way of describing the specification is only for clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.

[0114] The detailed descriptions listed above are merely specific descriptions of feasible implementation methods of this application, and are not intended to limit the scope of protection of this application. All equivalent implementation methods or modifications made without departing from the specific spirit of this application should be included within the scope of protection of this application.

Claims

1. A Demura compensation method for a display device, characterized in that, Includes the following steps: Demura compensation calculation is performed on each pixel in the display device to obtain a compensation value with decimal precision for compensating for uneven brightness. The pixels in the display device are processed one by one until integer compensation values ​​for all pixels are obtained. Specifically, for at least a portion of the currently processed pixels, the following operations are performed: An updated compensation value is determined based on the cumulative quantization error propagated from one or more processed neighboring pixels and the compensation value of the current pixel to be processed; Determine an integer compensation value based on the updated compensation value; Calculate the difference between the updated compensation value and the integer compensation value to determine the new quantization error; The new quantization error is propagated to one or more neighboring unprocessed pixels.

2. The Demura compensation method for a display device according to claim 1, characterized in that, Determining the integer compensation value based on the updated compensation value includes: The updated compensation value is rounded down to obtain the integer compensation value.

3. The Demura compensation method for a display device according to claim 1, characterized in that, Determining the integer compensation value based on the updated compensation value includes: The updated compensation value is rounded to the nearest integer to obtain the integer compensation value.

4. The Demura compensation method for a display device according to claim 1, characterized in that, The step of propagating the new quantization error to one or more neighboring unprocessed pixels includes: The new quantization error is propagated, with each weighted proportionally, to at least a plurality of unprocessed neighboring pixels to the right, directly below, and to the lower right of the current pixel to be processed, wherein the sum of the weighted proportionalities is 1.

5. The Demura compensation method for a display device according to claim 4, characterized in that, The denominator of each weight ratio is 2 raised to the power of N, where N is a positive integer.

6. The Demura compensation method for a display device according to claim 4, characterized in that, The current pixel to be processed is (i,j), and the weight ratios are 3 / 8, 3 / 8, and 2 / 8, respectively, which are propagated to the unprocessed neighboring pixels of (i,j+1), (i+1,j), and (i+1,j+1); or, The weight ratios, 7 / 16, 3 / 16, 5 / 16, and 1 / 16, are respectively propagated to the unprocessed neighboring pixels of (i,j+1), (i+1,j-1), (i+1,j), and (i+1,j+1); or, The weight ratios, 4 / 16, 3 / 16, 1 / 16, 2 / 16, 3 / 16, 2 / 16, and 1 / 16 respectively, are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), and (i+1,j+2), respectively; or, The weight ratios, 8 / 32, 4 / 32, 2 / 32, 4 / 32, 8 / 32, 4 / 32, and 2 / 32, are respectively propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), and (i+1,j+2); or, The weight ratios, 5 / 32, 3 / 32, 2 / 32, 4 / 32, 5 / 32, 4 / 32, 2 / 32, 2 / 32, 3 / 32, and 2 / 32 respectively, are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-1), (i+2,j) and (i+2,j+1); or, The weight ratios are 8 / 42, 4 / 42, 2 / 42, 4 / 42, 8 / 42, 4 / 42, 2 / 42, 1 / 42, 2 / 42, 4 / 42, 2 / 42, and 1 / 42, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-2), (i+2,j-1), (i+2,j), (i+2,j+1), and (i+2,j+2), respectively; or, The weight ratios are 7 / 48, 5 / 48, 3 / 48, 5 / 48, 7 / 48, 5 / 48, 3 / 48, 1 / 48, 13 / 48, 15 / 48, 3 / 48 and 1 / 48, respectively, and are propagated to the unprocessed neighboring pixels of (i,j+1), (i,j+2), (i+1,j-2), (i+1,j-1), (i+1,j), (i+1,j+1), (i+1,j+2), (i+2,j-2), (i+2,j-1), (i+2,j), (i+2,j+1) and (i+2,j+2), respectively.

7. The Demura compensation method for a display device according to claim 1, characterized in that, The step of performing Demura compensation calculation for each pixel in the display device includes: Obtain the raw image data with first-order depth; The grayscale values ​​of the original image data are upscaled to upscaled data with a second bit depth, wherein the second bit depth is higher than the first bit depth; Based on a computing environment that can preserve decimal precision, Demura compensation is performed on the upgraded data to obtain an upgraded compensation value that includes both integer and decimal parts.

8. The Demura compensation method for a display device according to claim 7, characterized in that, The operation of performing the following actions on at least a portion of the currently processed pixels further includes: An updated up-order compensation value is determined based on the cumulative up-order quantization error propagated from one or more processed neighboring pixels and the up-order compensation value of the current pixel to be processed, wherein the updated up-order compensation value is the second bit depth. Map the updated upgrade compensation value back to the first bit depth to determine its integer compensation value; Obtain the error generated during the mapping process and define it as a new quantization error; The new quantization error is propagated to one or more neighboring unprocessed pixels; Iterate through all pixels until the updated upscaling compensation values ​​of all pixels are mapped back to the first bit depth.

9. The Demura compensation method for a display device according to claim 1 or 7, characterized in that, The Demura compensation operation is performed in a computing environment that supports floating-point data processing.

10. A Demura compensation device for a display device, characterized in that, include: The compensation value calculation unit is configured to perform Demura compensation operation on each pixel in the display device to obtain a compensation value with decimal precision for compensating for uneven brightness. An error diffusion processing unit is configured to process each pixel in the display device one by one until an integer compensation value is obtained for all pixels, wherein, for at least a portion of the currently processed pixels, the error diffusion processing unit is further configured to: An updated compensation value is determined based on the cumulative quantization error propagated from one or more processed neighboring pixels and the compensation value of the current pixel to be processed; Determine an integer compensation value based on the updated compensation value; A new quantization error is determined based on the updated compensation value and the integer compensation value; The new quantization error is propagated to one or more neighboring unprocessed pixels.

Citation Information

Cited By

  • Data processing method, data processing device and display panel

    CN122313925A