System and method for calibrating a display panel
By defining the calibration vector and calculating the calibration amount, the problem of calibration differences in display panel calibration in the prior art is solved, and a calibration process is achieved to satisfy different display standards and efficient calibration processes.
Patent Information
- Application Number
- CN202380012678.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-01
- Publication Date
- 2025-05-06
AI Technical Summary
In the existing display technology, there are differences in calibration of the display panel, resulting in changes in the maximum brightness level, brightness level and/or chromaticity value, which cannot meet the display standards of different geographical locations, devices and applications.
By defining a calibration vector with a source pixel, a vector volume, and a calibration range, the distance between the pixel to be calibrated and the source pixel is calculated, the calibration amount is calculated based on the distance and the vector volume, and the pixel to be calibrated.
Accurate calibration of the display panel is achieved, the requirements of different display standards can be met, and the data storage requirements are reduced by using calibration vectors, achieving an efficient calibration process.
Smart Images

Figure CN119948550A_ABST
Abstract
Description
Background Art
[0001] The present invention relates generally to display technology and, more particularly, to systems and methods for calibrating display panels.
[0002] In display technology, differences in manufacturing and calibration can lead to differences in product performance. For example, these differences may exist in the backlight performance of liquid crystal display (LCD) panels, the luminous performance of organic light emitting diode (OLED) display panels, and the performance of thin film transistors (TFTs), resulting in differences in maximum brightness levels, changes in brightness levels and / or chromaticity values. At the same time, different geographic locations, devices, and applications may require different display panel display standards. For example, the display standards of Asian and European display panels may require different color temperature ranges. In order to meet different display standards, display panels are often calibrated to meet the desired display standards. Summary of the invention
[0003] In one example, a system for display is provided. The system includes a display panel, the display panel includes a pixel array and a controller. The processor is configured to: define a calibration vector having a source pixel, a vector volume and a calibration range when executing instructions; calculate the distance between the pixel to be calibrated and the source pixel; calculate the calibration amount according to the distance and the vector volume; calibrate the pixel to be calibrated according to the calibration amount and the calibration vector.
[0004] In some embodiments, the source pixels are configured to determine the three-dimensional parameters (R scr G scr , B scr ), where R scr is the grayscale value of the red channel of the source pixel; G scr is the grayscale value of the green channel of the source pixel; B scr is the grayscale value of the blue channel of the source pixel.
[0005] In some embodiments, a vector volume is a three-dimensional parameter (V R , V G , V B ), is configured to determine the maximum volume for calibration, where V R is the calibration value of the red channel of the source pixel; V G is the calibration value of the green channel of the source pixel; V B is the calibrated value of the blue channel of the source pixel.
[0006] In some embodiments, the calibration range is a four-dimensional parameter (V Range , S R , S G , S B). The pixels within the calibration range are calibrated by the calibration vector, where is the preset distance between the pixel to be calibrated and the source pixel. When the distance between the pixel to be calibrated and the source pixel is less than V Range When , the pixel to be calibrated is calibrated by the calibration vector; S R is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel; S G is the calculation factor of the green channel when calculating the distance between the pixel to be calibrated and the source pixel; S B It is the calculation factor of the blue channel when calculating the distance between the pixel to be calibrated and the source pixel.
[0007] In some embodiments, the distance between the pixel to be calibrated and the source pixel is inversely related to the amount of calibration applied to the pixel to be calibrated.
[0008] In some implementations, the processor is further configured to calculate a calibration weight based on the distance between the pixel to be calibrated and the source pixel, and calculate a calibration volume based on the calibration weight and the vector volume, the calibration volume being a three-dimensional parameter ((ΔV R , ΔV G , ΔV B ), where ΔV R is the calibration amount of the red channel of the source pixel; ΔV G is the calibration amount for the green channel of the source pixel; ΔV B is the calibration amount for the blue channel of the source pixel.
[0009] In some embodiments, the processor is further configured to calibrate the pixel to be calibrated based on a plurality of calibration vectors corresponding to more than one calibration vector.
[0010] In some embodiments, multiple calibration vectors are placed in sequence.
[0011] In some embodiments, multiple calibration vectors are placed in a parallel order.
[0012] In some embodiments, the calibration vector includes at least one of an edge vector for calibrating pixels of the pixel array, a white balance vector for compensating pixels of the pixel array, or a local vector for at least one pixel of the calibration pixel array.
[0013] In some embodiments, the system further comprises a register configured to store a calibration vector defined by the vector definition module. The calibration vector stored in the register is repeatedly retrieved by the processor.
[0014] In another example, a method for calibrating a display having a pixel array is provided, the method comprising four operations: defining a calibration vector using source pixels, a vector volume, and a calibration range; calculating a distance between a pixel to be calibrated and a source pixel; calculating a calibration amount based on the distance and the vector volume; and calibrating the pixel to be calibrated according to the calibration amount and the calibration vector.
[0015] In some embodiments, the source pixels are configured to determine the three-dimensional parameters (R scr , G scr , B scr ), where R scr is the grayscale value of the red channel of the source pixel; G scr is the grayscale value of the green channel of the source pixel; B scr is the grayscale value of the blue channel of the source pixel.
[0016] In some embodiments, a vector volume is a three-dimensional parameter (V R , V G , V B ), is configured to determine the maximum volume for calibration, where V R is the calibration value of the red channel of the source pixel; V G is the calibration value of the green channel of the source pixel; V B is the calibrated value of the blue channel of the source pixel.
[0017] In some embodiments, the calibration range is a four-dimensional parameter (V Range , S R , S G , S B ), used to determine the calibration range, the pixels within the calibration range are calibrated by the calibration vector, where V is the preset distance between the pixel to be calibrated and the source pixel. When the distance between the pixel to be calibrated and the source pixel is less than V Range When , the pixel to be calibrated is calibrated by the calibration vector; S R S is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel; G is the calculation factor of the green channel when calculating the distance between the pixel to be calibrated and the source pixel; S B It is the calculation factor of the blue channel when calculating the distance between the pixel to be calibrated and the source pixel.
[0018] In some embodiments, the distance between the pixel to be calibrated and the source pixel is inversely related to the amount of calibration applied to the pixel to be calibrated.
[0019] Calculating the calibration volume includes calculating the calibration weight according to the distance between the pixel to be calibrated and the source pixel and calculating the calibration volume according to the calibration weight and the vector volume. The calibration volume is a three-dimensional parameter (ΔV R , ΔV G , ΔVB ). Where, ΔV R is the calibration amount for the red channel of the source pixel; ΔV G is the calibration amount for the green channel of the source pixel; ΔV B is the calibration amount for the blue channel of the source pixel.
[0020] In some embodiments, the pixels to be calibrated are calibrated based on a plurality of calibration vectors and a plurality of calibration quantities corresponding to the calibration vectors.
[0021] In some embodiments, the calibration vector includes an edge vector for calibrating pixels of the pixel array, a white balance vector for compensating pixels of the pixel array, or a local vector for at least one pixel of the calibrated pixel array.
[0022] In another example, a processor for calibrating a display having a pixel array is provided. The processor includes a vector definition module for defining a calibration vector having a source pixel, a vector volume, and a calibration range; a first calculator for calculating a distance between a pixel to be calibrated and the source pixel; a second calculator configured to calculate a calibration amount based on the distance and the vector volume; and a calibration module for calibrating the pixel to be calibrated according to the calibration amount and the calibration vector. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 is a block diagram illustrating a device including display and control logic according to one embodiment.
[0024] Figure 2A and 2B Each is a diagram showing a method according to various embodiments Figure 1 A side view of an example of a display is shown.
[0025] Figure 3 is a diagram illustrating a system including a plurality of drivers according to an embodiment Figure 1 A plan view of the display shown in FIG.
[0026] Figure 4 is a block diagram illustrating a system including a display, a controller, and a display panel according to one embodiment.
[0027] Figure 5 It is a schematic diagram of the transmission space of the mapping association lookup table.
[0028] Figure 6 is a schematic diagram of a transmission grid of calibration vectors according to one embodiment.
[0029] Figure 7 is a schematic diagram of a transmission space of a calibration vector according to an embodiment.
[0030] Figure 8is a schematic diagram of a set of calibration vectors according to one embodiment.
[0031] Fig.9A is a block diagram illustrating sequential calibration using more than one calibration vector according to one embodiment.
[0032] Fig. 9B is a block diagram illustrating parallel calibration with more than one calibration vector according to one embodiment.
[0033] Fig. 10A is an exemplary picture to be calibrated according to one embodiment.
[0034] Fig. 10B According to an embodiment Fig. 10A Graphical representation of the calibration range in .
[0035] Fig. 10C According to one embodiment, after calibration Fig. 10A Example pictures of .
[0036] Fig.11 is a description of an exemplary method for calibrating a display panel according to one embodiment. DETAILED DESCRIPTION
[0037] In the following detailed description, numerous specific details are set forth by way of example in order to provide a thorough understanding of the relevant disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these details. In other cases, well-known methods, processes, systems, components, and / or circuits have been described at a relatively high level but without detailed description to avoid unnecessarily obscuring aspects of the present disclosure.
[0038] Throughout the specification and claims, terms may have nuanced meanings that are suggested or implied by the context, beyond their explicitly stated meanings. Likewise, phrases used herein "in one embodiment / example" do not necessarily refer to the same embodiment, and phrases used herein "in another embodiment / example" do not necessarily refer to a different embodiment. For example, claimed subject matter is intended to include, in whole or in part, a combination of the example embodiments.
[0039] Typically, a term can be understood, at least in part, from its usage in context. For example, terms such as "and", "or" or "and / or" as used herein may include multiple meanings that may depend, at least in part, on the context in which such terms are used. Typically, "or" if used in an associative list, such as A, B, or C, means A, B, and C, which is used here in an inclusive sense, and A, B, or C, which may also be used here in an exclusive sense. In addition, the term "one or more" used herein depends, at least in part, on the context and may be used to describe any feature, structure, or characteristic in a singular sense, or may also be used to describe a combination of features, structures, or characteristics in a plural sense. Similarly, terms such as "one", "an", or "the" may be understood to convey singular usage or to convey plural usage, which depends, at least in part, on the context. In addition, the term "based on" may be understood to not necessarily be intended to convey a set of exclusive factors, but may allow for the presence of additional factors that are not necessarily explicitly described, again, depending, at least in part, on the context.
[0040] In the present disclosure, each pixel or sub-pixel of the display panel can be guided to assume that it is discretized into a standard set [0, 1, 2, ..., (2 N -1)], where N is the number of bits and is a positive integer. This pixel / subpixel triple provides the red (R), green (G), and B (blue) components that make up any color, which can be updated in each frame. Each pixel value corresponds to a different grayscale value. For ease of description, the grayscale value of a pixel is also discretized into a standard set [0,1,2,…,(2 N -1)]. In the present invention, the pixel value and the grayscale value represent the voltage applied to the pixel / sub-pixel, respectively. In the present disclosure, a grayscale mapping correlation lookup table (LUT) is used to describe the mapping relationship between the grayscale value of a pixel and a set of mapped pixel values of a sub-pixel. In the present invention, the display data of a pixel can be represented in the form of different attributes. For example, the display data of a pixel can be represented as (R, G, B), where R, G, and B represent the pixel values of the sub-pixels in the pixel, respectively. In another example, the display data of the sub-pixel can be represented as (Y, x, y), where Y represents the brightness value, and x and y represent the chromaticity values, respectively. For the purpose of illustration, the present disclosure only describes a pixel with three sub-pixels, each sub-pixel displays a different color (for example, R, G, and B colors). It should be understood that the disclosed method can be applied to pixels with any suitable number of sub-pixels that can display various colors separately, such as 2 sub-pixels, 4 sub-pixels, 5 pixels, and so on. The embodiment of the present invention does not limit the number of sub-pixels and the colors displayed by the sub-pixels.
[0041] In the present disclosure, a numerical space is used to illustrate a method for determining a group of mapped pixels mapped to grayscale values based on a target brightness value and a plurality of target chromaticity values. The numerical space has a plurality of axes extending from the origin. The three axes represent the grayscale values of a color displayed by the display panel, respectively. For ease of description, the numerical space has three axes, each of which is orthogonal to each other and represents the pixel values of sub-pixels in a pixel to display color. In some embodiments, the numerical space is an RGB space with three axes, indicating that the sub-pixels display pixel values of red (R), green (G) and blue (B). A point in the RGB space can have a set of coordinates. Each component of the coordinate group (i.e., one of the coordinates) represents a pixel value along the corresponding axis (i.e., displayed by the corresponding sub-pixel). For example, a point (R0, G0, B0) represents a pixel having pixel values R0, G0 and B0 applied to R, G and B sub-pixels, respectively. For ease of description, the RGB space is used here, for example, to determine different sets of pixel values, and may be different from a standard RGB color space defined as a color space based on an RGB color model. For example, the RGB space used here represents the colors that a display panel can display. These colors may or may not be the same as those defined in the standard RGB color space.
[0042] In display technology, display panels are calibrated to have different input / output characteristics for a variety of reasons. LUTs are widely used for general calibration of display panels. LUTs are basically transformation matrices of varying complexity, with the two main options being a one-dimensional (1D) LUT or a three-dimensional (3D) LUT. A LUT takes an input value and outputs a new value based on the data in the LUT. A 1D LUT can only remap a single input value to a new output value based on the LUT data - a simple input to output process regardless of the actual RGB pixel values. A 3D LUT can remap a single input value to any number of output values based on the LUT data and other associated input RGB pixel data. Reference Figure 5 , a 3D LUT is a 3D grid of output RGB color values that can be indexed by a set of input RGB color values. Each axis of the grid represents one of the three input color components, so the input color defines a point within the grid. Since 1D LUTs and matrix combinations are limited in their ability to control color, 3D LUTs are the preferred choice for precise color management because they provide full volumetric nonlinear color adjustments.
[0043] At the same time, the disadvantages of 3d LUTs cannot be ignored. If a 3D LUT had values for every input-to-output combination, the LUT would be very large - too large to be useful. A 3D LUT for every input-to-output value using a 10-bit image workflow would be a 1024 point LUT and would have 1,073,741,824 points (1024 3). Therefore, most 3D LUTs use 17 3 to 64 3 Cubes within range. For 17 3 3D LUTs, meaning 17 input points to output points per axis, sacrifice precision to reduce the amount of data stored. Also, because the values between these points must be interpolated, and different systems do this at different levels of precision, using the exact same 3D LUT in two different systems will most likely produce slightly different results.
[0044] In order to overcome the above problems, a system and method for calibrating a display panel is provided. One or more calibration vectors are used instead of a 3D LUT for calibration. The calibration vector has three parameters: source pixel, vector volume, and calibration range. The source pixel is a three-dimensional parameter used to determine the center point of the calibration. The vector volume is a three-dimensional parameter configured to determine the maximum volume used for calibration. The calibration range is a four-dimensional parameter for determining the calibration range, and the pixels within the calibration range are calibrated by the calibration vector. By using one or more calibration vectors, specific colors within a specific range can be accurately and complexly calibrated with smaller data storage. The method can be used to calibrate any suitable type of display panel, such as LCD and OLED displays. In some embodiments, the calibration is calculated by a processor (or application processor (AP)) and / or control logic (or display driver integrated circuit (DDIC)).
[0045] Additional novel features will be set forth in part in the following description, and in part will become apparent to those skilled in the art upon examination of the following and accompanying drawings, or may be learned by production or operation of the embodiments. The novel features of the present disclosure may be realized and obtained by practicing or using various aspects of the methods, means, and combinations set forth in the detailed examples discussed below.
[0046] Figure 1An apparatus 100 including a display panel 102 and control logic 104 is illustrated. The apparatus 100 may be any suitable device, such as a VR / AR device (e.g., a VR headset, etc.), a handheld device (e.g., a smartphone, a tablet, etc.), a wearable device (e.g., glasses, a watch, etc.), a car console, a game console, a television, a laptop, a desktop computer, a netbook computer, a media center, a set-top box, a global positioning system (GPS), an electronic billboard, an electronic sign, a printer, or any other suitable device. In this embodiment, the display panel 102 is operably coupled to the control logic 104 and is part of the apparatus 100, such as, but not limited to, a head-mounted display, a computer monitor, a television screen, a head-up display (HUD), a dashboard, an electronic billboard, or an electronic sign. The display panel 102 may be an OLED display, a micro-LED display, a liquid crystal display (LCD), an electronic ink display, an electroluminescent display (ELD), a billboard display with LEDs or incandescent lamps, or any other suitable type of display.
[0047] The control logic 104 can be any suitable hardware, software, firmware, or combination thereof, configured to receive display data 106 (e.g., pixel data) and generate a control signal 108 for driving a sub-pixel on the display panel 102. The control signal 108 is used to control the writing of display data to the sub-pixel and to indicate the operation of the display panel 102. For example, a sub-pixel rendering (SPR) algorithm for various sub-pixel arrangements can be part of the control logic 104 or implemented by the control logic 104. The control logic 104 can include any other suitable components, such as an encoder, a decoder, one or more processors, a controller, and a storage device. The control logic 104 can be implemented as a stand-alone integrated circuit (IC) chip, such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). In some embodiments, for example, when the display panel 102 is a rigid display, the control logic 104 can be manufactured in a chip on glass (COG) package. In some embodiments, the control logic 104 can be manufactured in a chip on film (COF) package, for example, when the display panel 102 is a flexible display, such as a flexible OLED display.
[0048] The device 100 may also include any other suitable components, such as, but not limited to, a tracking device 110 (e.g., an inertial sensor, a camera, an eye tracker, a GPS, or any other suitable device for tracking eye movements, facial expressions, head movements, body movements, and gestures) and an input device 112 (e.g., a mouse, a keyboard, a remote control, a handwriting device, a microphone, a scanner, etc.). The input device 112 may transmit input instructions 120 to the processor 114 for processing and execution. For example, the input instructions 120 may include a computer program and / or manual input to the command processor 114 to perform testing and / or calibration operations on the control logic 104 and / or the display panel 102.
[0049] In this embodiment, the apparatus 100 may be a handheld device or a VR / AR device, such as a smartphone, a tablet computer, or a VR headset. The device 100 may also include a processor 114 and a memory 116. The processor 114 may be, for example, a graphics processor (e.g., a graphics processing unit (GPU)), an application processor (AP), a general-purpose processor (e.g., APU, accelerated processing unit; GPGPU, general-purpose computing on GPU), or any other suitable processor. The memory 116 may be, for example, a discrete frame buffer or a unified memory. The processor 114 is configured to generate display data 106 in consecutive display frames and may temporarily store the display data 106 in the memory 116 before sending it to the control logic 104. The processor 114 may also generate other data, such as but not limited to control instructions 118 or test signals, and provide them to the control logic 104 directly or through the memory 116. The control logic 104 then receives the display data 106 from the memory 116 or directly from the processor 114.
[0050] Figure 2A An example of a display panel 102 including a subpixel array 202, 204, 206, 208 is shown. The display panel 102 can be an LCD, such as a twisted nematic (TN) LCD, an in-plane switching (IPS) LCD, an advanced fringe field switching (AFFS) LCD, a vertical alignment (VA) LCD, an advanced super view (ASV) LCD, a blue phase mode LCD, a passive matrix (PM) LCD, or any other suitable display. The display panel 102 can include a backlight panel 212 operably coupled to the control logic 104. The backlight panel 212 includes a light source for providing light to the display area, such as, but not limited to, an incandescent bulb, an LED, an EL panel, a cold cathode fluorescent lamp (CCFL), and a hot cathode fluorescent lamp (HCFL), to name a few. The display panel 102 may include a drive unit 203, and the display panel 102 is operably coupled to the control logic 104 via the drive unit 203 to transmit the control signal into a drive signal for the LCD unit.
[0051] The display panel 102 may be, for example, a TN panel, an IPS panel, an AFFS panel, a VA panel, an ASV panel, or any other suitable display panel. In this example, the display panel 102 includes a filter substrate 220, an electrode substrate 224, and a liquid crystal layer 226 disposed between the filter substrate 220 and the electrode substrate 224. Figure 2A As shown, the filter substrate 220 includes a plurality of filters 228 , 230 , 232 , 234 corresponding to the plurality of sub-pixels 202 , 204 , 206 , 208 , respectively. Figure 2A A, B, C and D in the figure represent four different types of filters, such as but not limited to red, green, blue, yellow, cyan, magenta or white filters. The filter substrate 220 may also include a black matrix 236 disposed between the filters 228, 230, 232, 234, as shown in FIG2 . The black matrix 236 serves as a boundary of the sub-pixels 202, 204, 206, 208 and is used to block light emitted from the outside of the filters 228, 230, 232, 234. In this example, the electrode substrate 224 includes a plurality of electrodes 238, 240, 242, 244, which have switching elements, such as thin film transistors (TFTs), corresponding to the plurality of filters 228, 230, 232, 234 of the plurality of sub-pixels 202, 204, 206, 208, respectively. The electrodes 238, 240, 242, 244 having switching elements may be individually addressed by a control signal 108 from the control logic 104 and configured to drive corresponding sub-pixels 202, 204, 206, 208 by controlling light passing through corresponding filters 228, 230, 232, 234 according to the control signal 108. The display panel may include any other suitable components, such as one or more glass substrates, polarization layers, or a touch panel as known in the art.
[0052] like Figure 2AAs shown, each of the plurality of sub-pixels 202, 204, 206, 208 is composed of at least a filter, a corresponding electrode, and a liquid crystal region between the corresponding filter and the electrode. The filters 228, 230, 232, 234 can be formed by a resin film containing a dye or pigment having a desired color. According to the characteristics of the corresponding filter (e.g., color, thickness, etc.), the sub-pixels can present different colors and brightness. In this example, two adjacent sub-pixels can constitute a display pixel. For example, sub-pixels A 202 and B 204 can constitute a pixel 246, and sub-pixels C 206 and D 208 can constitute another pixel 248. Here, since the display data 106 is usually programmed at the pixel level. Two sub-pixels of each pixel or multiple sub-pixels of several adjacent pixels can be addressed together by sub-pixel rendering to present the brightness and color of each pixel with the help of sub-pixel rendering, as specified in the display data 106. However, it should be understood that in other examples, the display data 106 can be programmed at the sub-pixel level, so that the display data 106 can directly address individual sub-pixels without the need for sub-pixel rendering. Since three primary colors (red, green, and blue) are generally required to present full color, the sub-pixel arrangement will be specifically designed below to provide the display panel 102 with a suitable apparent color resolution.
[0053] Figure 2B 1 is a side view showing one example of a display panel 102 including sub-pixels 202, 204, 206, and 208. Display panel 102 may be any suitable type of display, for example, an OLED display, such as an active matrix OLED (AMOLED) display, or any other suitable display. Display panel 102 may include a display panel operably coupled to control logic 104. Figure 2B The example shown in illustrates a side-by-side (also known as a "lateral emitter") OLED color patterning architecture, where one color emitting material is deposited through a metal mask while other color areas are blocked by the mask.
[0054] In this embodiment, the display panel includes a light emitting layer 270 and a driving circuit layer 272. Figure 2B As shown, the light emitting layer 270 includes a plurality of light emitting elements (eg, OLEDs) 250, 252, 254, and 256 corresponding to the plurality of sub-pixels 202, 204, 206, and 208, respectively. Figure 2B A, B, C and D in illustrative examples represent OLEDs of different colors, such as but not limited to red, green, blue, yellow, cyan, magenta or white. The light emitting layer 270 also includes a black matrix 258 disposed between the OLEDs 250, 252, 254 and 256, such as Figure 2BThe black matrix 258 serves as a boundary of the sub-pixels 202, 204, 206, and 208 for blocking light emitted from portions outside the OLEDs 250, 252, 254, and 256. Each OLED 250, 252, 254, and 256 in the light emitting layer 270 may emit light at a predetermined color and brightness.
[0055] In this embodiment, the driving circuit layer 272 includes a plurality of pixel circuits 260, 262, 264, and 268, each pixel circuit including one or more thin film transistors (TFTs), corresponding to the OLEDs 250, 252, 254, and 256 of the sub-pixels 202, 204, 206, and 208, respectively. The pixel circuits 260, 262, 264, and 268 can be individually addressed by the control signal 108 from the control logic 104 and are configured to drive the corresponding sub-pixels 202, 204, 206, and 208 by controlling the light emitted from the corresponding OLEDs 250, 252, 254, 256, according to the control signal 108. The driving circuit layer 216 may also include one or more drivers (not shown) formed on the same substrate as the pixel circuits 260, 262, 264, and 268. The panel driver may include circuits for controlling light emission, gate scanning, and data writing, as described in detail below. Scan lines and data lines are also formed in the drive circuit layer 272 for transmitting scan signals and data signals from the driver to each pixel circuit 260, 262, 264 and 268, respectively. The display panel may include any other suitable components, such as one or more glass substrates, polarization layers or touch panels (not shown). The pixel circuits 260, 262, 264, 268 and other elements in the drive circuit layer 272 of the present embodiment are formed on a low temperature polysilicon (LTPS) layer deposited on a glass substrate. The TFT in each pixel circuit 260, 262, 264 and 268 is a p-type transistor (e.g., PMOS LTPS-TFT). In some embodiments, the elements in the drive circuit layer 272 may be formed on an amorphous silicon (a-Si) layer, and the TFT in each pixel circuit may be an n-type transistor (e.g., NMOS TFT). In some embodiments, the TFT in each pixel circuit may be an organic TFT (OTFT) or an indium gallium zinc oxide (IGZO) TFT.
[0056] like Figure 2BAs shown, each sub-pixel 202, 204, 206 and 208 is formed by at least OLED 250, 252, 254 and 256 driven by corresponding pixel circuits 260, 262, 264 and 268. Each OLED can be formed by a sandwich structure of an anode, an organic light-emitting layer and a cathode. Depending on the characteristics (e.g., material, structure, etc.) of the organic light-emitting layer of the corresponding OLED, the sub-pixel can present different colors and brightness. Each OLED 250, 252, 254 and 256 in this embodiment is a top emission OLED. In some embodiments, the OLED can be a different configuration, such as a bottom emission OLED. In one example, a pixel can be composed of three sub-pixels, such as sub-pixels of three primary colors (red, green and blue) to present full color. In another example, a pixel can be composed of four sub-pixels, such as sub-pixels of three primary colors (red, green and blue) and white. In yet another example, a pixel can be composed of two sub-pixels. For example, sub-pixels A 202 and B 204 may constitute one pixel, while sub-pixels C 206 and D 208 may constitute another pixel. Here, since the display data 106 is typically programmed at the pixel level, two sub-pixels of each pixel or multiple sub-pixels of several adjacent pixels may be addressed together by SPR to present the appropriate brightness and color of each pixel, as specified in the display data 106 (e.g., pixel data). However, it should be understood that in some embodiments, the display data 106 may be programmed at the sub-pixel level so that the display data 106 may directly address individual sub-pixels without the need for SPR. Because three primary colors are typically required to present full color, a specially designed sub-pixel arrangement may be provided for the display panel, combined with an SPR algorithm to achieve an appropriate apparent color resolution.
[0057] although Figure 2A and Figure 2B The display panel drive scheme disclosed herein can be applied to a microLED display in which each sub-pixel includes a microLED. The display panel drive scheme disclosed herein can be applied to any other suitable display in which each sub-pixel includes a light-emitting element.
[0058] Figure 3 is to illustrate the Figure 1 The block diagram of the display panel 102 shown in FIG. 1 includes a plurality of drivers, for example, Figure 2AThe display panel 102 in this embodiment includes an active area 300 having a plurality of sub-pixels (e.g., each sub-pixel includes an LCD, an OLED, or a microLED), a plurality of pixel circuits (not shown), and a plurality of panel drivers, wherein the panel driver includes a light emitting driver 302, a gate scanning driver 304, and a source writing driver 306.
[0059] In some embodiments, the control logic 104 is an integrated circuit (but may alternatively include a state machine made of discrete logic and other components) that provides an interface function between the processor 114 / memory 116 and the display panel 102. The control logic 104 can provide various control signals 108 with appropriate voltage, current, timing and demultiplexing to control the display panel 102 to display the desired text or image. The control logic 104 can be a dedicated microcontroller and can include storage units such as RAM, flash memory, EEPROM and / or ROM, which can store, for example, firmware and display fonts. In this embodiment, the control logic 104 includes a data interface and a control signal generation submodule. The data interface can be any serial or parallel interface, such as, but not limited to, the display serial interface (DSI), display pixel interface (DPI) and display bus interface (DBI) of the Mobile Industry Processor Interface (MIPI) Alliance, unified display interface (UDI), digital video interface (DVI), high-definition multimedia interface (HDMI) and DisplayPort (DP). The data interface in this embodiment is configured to receive display data 106 and any other control instructions 118 or test signals from the processor 114 / memory 116. The control signal generation submodule can provide control signals 108 to the panel drivers 302, 304, and 306. The control signals 108 control the source write drivers 302, 304, and 306 on the panel to drive the sub-pixels in the active area 300, update the display data by scanning the sub-pixels in each frame, and make the sub-pixels emit light to present an updated display image.
[0060] The device 100 may be configured to calibrate a mapping correlation between a voltage (e.g., a gate voltage) applied to a light emitting element (e.g., an LCD or OLED) of a pixel in the display panel 102 and a grayscale value displayed by the pixel including the light emitting element (e.g., when different gate voltages are applied to the light emitting element). The calibration process may be performed by the processor 114 (e.g., Figure 4 ) or control logic 104. In various embodiments, processor 114 may execute a pre-stored computer program from memory 116 or from input device 112 or receive input instructions 120 from input device 112 to perform calibration. The calibration process may also be performed by other dedicated devices / modules ( Figure 1 Executed by (not shown).
[0061] Figure 4 is a block diagram illustrating a display system 400 according to an embodiment, the display system 400 including a display panel 102 and a processor 114 configured to perform calibration. The processor 114 is configured to define a calibration vector having a source pixel, a vector volume, and a calibration range when executing instructions, calculate the distance between the pixel to be calibrated and the source pixel, calculate the calibration amount according to the distance and the vector volume, and calibrate the pixel to be calibrated according to the calibration amount and the calibration vector. The processor 114 can be any processor that can generate display data 106 (e.g., pixel data / value) in each frame and provide the display data 106 to the control logic 104. The processor 114 can be, for example, a GPU, an AP, an APU, or a GPGPU. The processor 114 can also generate other data, such as but not limited to a control signal 108 or a test signal, and provide them to the control logic 104. In some embodiments, the calibration can be performed by the control logic 104 according to the instructions. The control logic 104 includes a data receiver that receives display data 106 and / or control instructions 118 from the processor 114 , and a post-processing module coupled to the data receiver to receive any data / instructions and convert them into control signals 108 .
[0062] In this embodiment, the processor 114 includes a vector definition module 402, a first calculator 404, a second calculator 406, and a calibration module 408. The vector definition module 402 is configured to define one or more calibration vectors for calibration. Unlike 3DLUT, the calibration vector has three parameters: source pixel, vector volume, and calibration range. The source pixel is a three-dimensional parameter used to determine the center point of the calibration. The vector volume is a three-dimensional parameter configured to determine the maximum volume for calibration. The calibration range is a four-dimensional parameter for determining the calibration range, and the pixels within the calibration range are calibrated by the calibration vector.
[0063] The principle of the calibration vector is explained below by taking a two-dimensional (2D) calibration vector as an example. Figure 6 The 2-D color space (G, B) is illustrated. Figure 6 As shown, the two-dimensional calibration vector V2D has three parameters: source pixel 610 , vector volume 620 , and calibration range 640 .
[0064] Source pixel 610 is used to determine the two-dimensional parameters (G scr , B scr ), where G scr is the grayscale value of the green channel of the source pixel, B scr is the grayscale value of the blue channel of the source pixel. In this embodiment, the grayscale value of the source pixel 610 is (100, 150). The source pixel 610 defines the starting point of the calibration, such as Figure 6 shown.
[0065] The vector volume 620 is a two-dimensional parameter (V G , V B ), is configured to determine the maximum volume used for calibration. V g is the calibration value of the green channel of the source pixel, V B is the calibration value of the blue channel of the source pixel. In this implementation, vector volume 620 is (30, 0). Vector volume 620 defines the degree of calibration, such as Figure 6 The gray value of the calibration pixel 630 is a two-dimensional parameter (G′ Cal , B′ Cal ), which is determined by the source pixel 610 and the vector volume 620, namely G′ Cal =G Src +V G , and B′ Cal =B Src +V B In this implementation, calibration pixel 630 is (130, 150).
[0066] The calibration range 640 is a three-dimensional parameter (V Range , S G , S B ), which is used to determine the calibration range. The pixels within the calibration range are calibrated by the calibration vector. Range is the preset distance between the pixel to be calibrated and the source pixel. When the distance between the pixel to be calibrated and the source pixel is less than V Range When , the pixel to be calibrated is calibrated by the calibration vector. In this implementation, V Range 640. Therefore, the first pixel 612 will be calibrated. For example, the distance between the first pixel 612 and the source pixel 610 is less than 100, and the first pixel 612 is located within the calibration range 640. Therefore, the first pixel 612 will be calibrated. For example, the distance between the second pixel 614 and the source pixel 610 is greater than 100, and the second pixel 614 is located outside the calibration range 640. Therefore, the second pixel 614 will not be calibrated.
[0067] In this embodiment, the green channel and the blue channel share the same channel. G The calculation factor for the green channel when calculating the distance between the pixel to be calibrated and the source pixel, S B The calculation factor for the blue channel when calculating the distance between the pixel to be calibrated and the source pixel. S G and S B It is preset according to the calibration target.
[0068] The principle of how the calibration vector works in a display panel is illustrated in the above implementation in a 2D color space. Figure 7It explains how the calibration vector works in 3D color space, i.e. the most popular color space - (R, G, B) space. Figure 7 As shown, the 3D calibration vector V 3D There are three parameters: source pixel 710 , vector volume 720 , and calibration range 740 .
[0069] Source pixel 710 is used to determine the three-dimensional parameters (R scr , G scr , B scr ), R scr is the grayscale value of the red channel of the source pixel. In this embodiment, the grayscale value of the source pixel 710 is (100, 100, 150). The source pixel 710 defines the starting point of the calibration, such as Figure 7 As shown. The vector volume 720 is a three-dimensional parameter (V R , V G , V B ), used to determine the maximum volume of calibration, is the calibration value of the red channel of the source pixel. In this implementation, vector volume 720 is (25, 30, 10). Vector volume 720 defines the degree of calibration, such as Figure 7 The gray value of calibration pixel 730 is the three-dimensional parameter (R′ Cal , G′ Cal , B′ Cal ), determined by the source pixel 710 and the vector volume 720, that is, R′ Cal =R Src +V R , G′ Cal =G Src +V G and B′ Cal =B Src +V B In this implementation, calibration pixel 730 is (125, 130, 150).
[0070] The calibration range 740 is a three-dimensional parameter (V Range , S R , S G , S B ), which is used to determine the calibration range. The pixels within the calibration range are represented by the calibration vector V 3D Calibrate. Range is a preset distance between the pixel to be calibrated and the source pixel 710. When the distance between the pixel to be calibrated and the source pixel 710 is less than V Range When V Rangeis 100, that is, pixels with a distance from the source pixel 710 greater than 100 will not be calibrated. For example, the distance between the first pixel 712 and the source pixel 710 is less than 100, and the first pixel 712 is located within the calibration range 740. Therefore, the first pixel 712 will be calibrated. For example, the distance between the second pixel 714 and the source pixel 710 is greater than 100, and the second pixel 714 is outside the calibration range 740. Therefore, the second pixel 714 will be calibrated. In this implementation, the red channel, the green channel, and the blue channel share a V Range , so the calibration range is a cube. S R It is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel. S R , S G With S B And preset according to the calibration target.
[0071] refer to Figure 4 , the first calculator 404 is configured to calculate the distance between the pixel to be calibrated and the source pixel. Figure 7 Taking the (R, G, B) color space in FIG. 7 as an example, the vector volume 720 defines the maximum volume of calibration, that is, pixels with the same grayscale value as the source pixel 710 will be calibrated by the vector volume 720. The more a pixel deviates from the source pixel 710, the less it is calibrated. Figure 7 As shown, the calibration volume 722 configured to calibrate the first pixel 712 is smaller than the vector volume 720. When a pixel deviates too much from the source pixel 710, the vector volume will be zero, which means that the pixel will not be calibrated, such as the second pixel 714. By accurately designing the source pixel 710, the vector volume 720, and the calibration range 740, the present disclosure can implement various calibrations based on the needs of a display system with small data storage.
[0072] Taking the first pixel 712 as an example, in order to perform calibration, the distance 750 between the first pixel 712 and the source pixel 710 needs to be calculated, because the distance 750 is negatively correlated with the calibration amount 722 applied to the first pixel 712. The distance 750 is based on the grayscale value of the first pixel 712, the source pixel 710 and the color space S R , S G , S B The calculation factor is calculated by a preset calculation module, such as an ellipsoid distance model, a cube distance model, a sphere distance model, etc. In one embodiment, for each pixel to be calibrated, the distance between the pixel and the source pixel 710 is calculated using the ellipsoid distance model, and the calculation formula is (R i , G i , B i ) is the grayscale value of the pixel to be calibrated.
[0073] In this embodiment, the grayscale value of the first pixel 712 is (50, 80, 110), the grayscale value of the source pixel 710 is (100, 100, 150), and S R =S G =S B =2, and distance 750 is 95. Source pixel 710, vector volume 720, and calibration range 740 can be designed and preset to any values to meet the needs of the display system. R =S G =S B =1, then the distance 750 is 67, i.e., the Euclidean distance. In some implementations, it is different, for example, S R =0, S G =1, S B =2, which means there is no calibration in the red channel and the distance 750 is 20.
[0074] In some embodiments, for each pixel to be calibrated, a cubic distance model is used to calculate the distance between the pixel and the source pixel 710 based on the following formula, where (R i , G i , B i ) is the grayscale value of the pixel to be calibrated. Distance=Min(S R ×(R i -R Src ), S G ×(G i -G Src ), S B ×(B i -B Src ))
[0075] For each pixel to be calibrated, its distance is closely related to the source pixel, the calibration range, and the calibration module. It should be understood that the above embodiments are provided for exemplary purposes only and are not limited.
[0076] refer to Figure 4 and Figure 7 The second calculator 406 is configured to calculate the calibration amount 722 based on the distance 750 and the vector volume 720. As described above, the calibration amount 722 applied to the first pixel 712 is negatively correlated with the distance 750.
[0077] Two steps are required to calculate the calibration quantity 722.
[0078] First, the calibration weight is calculated based on the distance between the pixel to be calibrated and the source pixel, that is, the distance 750. In this implementation, the calibration weight is calculated according to the following formula:
[0079] Next, a calibration amount 722 is calculated based on the calibration weights and the vector volume 720. The calibration amount 722 is a three-dimensional parameter (ΔV R , ΔV G , ΔV B ). Where ΔV R is the calibration amount for the red channel of the source pixel, ΔV G is the calibration amount for the green channel of the source pixel, ΔV B is the calibration amount for the blue channel of the source pixel. In the current implementation, ΔV R =V R ×Weight,ΔV G =V G ×Weight,ΔV B =V B ×Weight. The calculation methods for calculating calibration weight and calibration amount are provided for exemplary purposes only and not limiting.
[0080] After the calibration volume 722 is determined, the calibration module 408 is configured to calibrate the first pixel 712 based on the calibration volume 722 and the calibration vector. The grayscale value of the first calibration pixel 732 is a three-dimensional parameter (R Cal , G Cal , B Cal , ), is determined by the first pixel 712 and the calibration amount 722, that is, R Cal =R i +ΔV R ,,G Cal =G i +ΔV G With B Cal =B i +ΔV B In one embodiment, the grayscale value of the source pixel 710 is (100, 100, 150), and the calibration range 740 is (100, 1, 1, 1). For the first pixel 712, the grayscale value of the first pixel 712 is (50, 80, 110), the distance 750 calculated using the Euclidean distance module is 67, and the grayscale value of the first calibration pixel 732 is calibrated to (17, 47, 51). In other embodiments, the grayscale value of the first calibration pixel 732 will change as the parameters used for calibration change. These implementations are for exemplary purposes only and are not limited.
[0081] The calibration vector may be an edge vector for calibrating pixels of the pixel array, a white balance vector for compensating pixels of the pixel array, or a local vector for calibrating at least one pixel of the pixel array, etc.
[0082] The edge vectors are used for global calibration of the RGB space to adjust the overall color according to the color gamut space characteristics. Referring to Table 1, an example of a set of edge vectors is illustrated. The edge vector set includes six groups of edge vectors, and the same group of edge vectors share the same source pixels and calibration ranges. Table 1 shows the source pixels and calibration ranges of the six groups of edge vectors. The edge vectors are global vectors because they are designed to calibrate the overall color of the display system, so the range of each edge vector covers the entire RGB space, and the source pixels are located at the vertices of the RGB space. In other embodiments, eight groups of edge vectors are provided to achieve accurate calibration. No. Source Pixels <![CDATA[V Range ]]> 0 (255,0,0) 255 1 (0,255,0) 255 2 (0,0,255) 255 3 (0,255,255) 255 4 (255,0,255) 255 5 (255,255,0) 255 Table 1
[0083] For each edge vector, the source pixel is preset and fixed to define the starting point of each vector, as shown in Table 1. The vector volume of each edge vector can be tailored to the needs of different calibrations. The vector volume of each edge vector can be the same, for example, the vector volume of all 6 vectors is (10, 10, 10). The vector volume of each edge vector can be different, for example, the vector volume of V0 is (-10, 5, 0), the vector volume of V1 is (6, -4, -5), the vector volume of V2 is (-10, -5, 0), the vector volume of V3 is (0, 10, -5), the vector volume of V4 is (10, 5, 10), and the vector volume of V5 is (-5, -5, -15). The vector volume defines a degree for each vector, which can be preset and adjusted according to the actual needs of each calibration.
[0084] V Range is the preset distance between the pixel to be calibrated and the source pixel. For each edge vector, V Range Fixed to 255 to cover the entire RGB space. R It is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel. S G It is the calculation factor of the green channel when calculating the distance between the pixel to be calibrated and the source pixel. S B S is the calculation factor of the blue channel when calculating the distance between the pixel to be calibrated and the source pixel. R ,S G With S B is pre-set based on the calibration target. As an example, in this implementation, S R =S G =S B = 1, and the cube distance model is used to calculate the pixel (R i , G i , B i ) and the distance between the source pixel. Distance=Min(S R ×(Ri -R Src ), S G ×(G i -G Src ), S B ×(B i -B Src ))
[0085] For each edge vector, after calculating the distance, the calibration amount can be obtained according to the distance and the vector volume, respectively. As described above, two steps are required to calculate the calibration amount. First, the calibration weight is calculated according to the distance between the pixel to be calibrated and the source pixel. Second, the calibration amount is calculated according to the calibration weight and the vector volume. The specific calculation method has been introduced above and will not be repeated here. The calculation method for calculating the calibration weight and the calibration amount is provided for exemplary purposes only and not for limitation.
[0086] Since more than one vector is used in this embodiment, they should be combined to complete the calibration. The six edge vectors can be arranged sequentially or in parallel when combined.
[0087] Fig.9A Two calibration vectors are shown placed in sequence. The original pixel (R org , G org , B org ) is first calibrated by vector 1 to generate calibration pixel 1, and then pixel 1 is calibrated by vector 2 to generate calibration pixel 2. For multiple calibration vectors arranged in sequence, such as Fig.9A As shown, the calibration vectors are superimposed one after another. For example, a set of calibration vectors V1(R1, G1, B1), V2(R2, G2, B2), ..., V N (R N , G N , B N ), the calibration pixel V can be generated by the following formula Cal1 (R Cal1 , G Cal1 , B Cal1 ), V Cal2 (R Cal2 , G Cal2 , B Cal2 ), ..., V CalN (R CalN , G CalN , B CalN ), where V CalN (R CalN , G CalN , B CalN ) is the final calibration pixel: V Cal1 =(R Cal1 , G Cal1 , BCal1 )=F serial ((R org , G org , B org ), V1) V Cal2 =(R Cal2 , G Cal2 , B Cal2 )=F serial ((R Cal1 , G Cal1 , B Cal1 ), V2) V CalN =(R CalN , G CalN , B CalN )=F serial ((R CalN-1 , G CalN-1 , B CalN-1 ), V N )
[0088] Fig. 9B Two calibration vectors placed in parallel order are shown. The original pixel is first calibrated by vector 1 and vector 2, respectively, to generate calibration volume ΔV1 and calibration volume ΔV2. The calibration volume ΔV1 is then convolved with the calibration volume ΔV2 to obtain the final calibrated pixel F. For each vector, the calibration volume can be calculated by the following formula: ΔV=(ΔV R , ΔV G , ΔV B )=F parallel ((R org , G org , B org ), V)
[0089] For a set of calibration vectors V1(R1, G1, B1), V2(R2, G2, B2), ..., V N (R N , G N , B N ), the total calibration amount ΔV can be calculated by the following formula total and the final calibrated pixel V F : V F =(R F , G F , B F )=(R org +ΔV total-R , G org +ΔVtotal-G , B org +ΔV total-B )
[0090] The white balance vector is used to correct the color profile of white in the RGB space. Usually, the grayscale value of the source pixel of the white balance vector in the red channel, the green channel, and the blue channel is the same. Referring to Table 2, an example of a set of white balance is illustrated. The set of white balance vectors includes 9 groups of white balance vectors, and the grayscale value of the source pixel of each white balance vector in the red channel, the green channel, and the blue channel is the same. Table 2 shows the source pixels and calibration ranges of the 9 groups of white balance vectors. The white balance vectors are global vectors because they are intended to correct the white color profile of the display system, so the sum of the range of each white balance vector covers the entire RGB space. Figure 8 is a schematic diagram of the 9 groups of white balance vectors in Table 2. V0, V1 and V2 are three global vectors. V0 and V1 are located at two vertices of the RGB space. Range is 255, that is, for V0, the farthest distance between a pixel in the calibration range and the source pixel is 255. Since V0 is at a vertex in the RGB space, the farthest distance from any pixel in the RGB space to the source pixel of V0 is less than or equal to 255, so V0 can cover the entire RGB space. The same is true for V1. V2 is located at the center of the RGB space, and V Range is 128, that is, for V2, the farthest distance between a pixel in the calibration range and the source pixel is 128. Since V2 is at the center of the RGB space, the farthest distance from any pixel in the RGB space to the source pixel of V2 is less than or equal to 128, so V2 can cover the entire RGB space. Similarly, V3 and V4 each occupy half of the RGB space. V5 to V8 each occupy a quarter of the RGB space. No. Source Pixels <![CDATA[V Range ]]> 0 (0,0,0) 255 1 (255,255,255) 255 2 (128,128,128) 128 3 (64,64,64) 64 4 (192,192,192) 64 5 (32,32,32) 32 6 (96,96,96) 32 7 (160,160,160) 32 8 (224,224,224) 32 Table 2
[0091] For each white balance vector, the source pixel is preset and fixed to define the starting point of each vector, as shown in Table 2. The vector volume of each white balance vector can be tailored according to the needs of different calibrations. The vector volume of each edge vector can be the same, for example, the vector volume of all six vectors is (30, 30, 30). The vector volume of each edge vector can be different, for example, the vector volume of V0 is (-10, -5, -15), the vector volume of V1 is (-10, 5, -15), the vector volume of V2 is (10, -5, 0), the vector volume of V3 and V4 is (-4, -10, 7), and the vector volume of V5, V6, V7 and V8 is (-4, -5, 6). The vector volume defines a degree for each vector, which can be preset and adjusted according to the actual needs of each calibration.
[0092] The preset distance V between the pixel to be calibrated and the source pixel Range , for each white balance vector, V Range Designed and fixed to cover the entire RGB space. R It is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel. S G It is the calculation factor of the green channel when calculating the distance between the pixel to be calibrated and the source pixel. S B S is the calculation factor of the blue channel when calculating the distance between the pixel to be calibrated and the source pixel. R , S G and S B is pre-set based on the calibration target. As an example, in this implementation, S R =S G =S B = 1, and the cube distance model is used to calculate the pixel (R i , G i , B i ) and the distance between the source pixel. Distance=Min(S R ×(R i -R Src ), S G ×(G i -G Src ), S B ×(B i -B Src ))
[0093] For each vector, after calculating the distance, the calibration amount can be obtained according to the distance and the vector volume, respectively. As described above, two steps are required to calculate the calibration amount. First, the calibration weight is calculated according to the distance between the pixel to be calibrated and the source pixel. Second, the calibration amount is calculated according to the calibration weight and the vector volume. The specific calculation method has been introduced above and will not be repeated here. The calculation method for calculating the calibration weight and the calibration amount is provided for exemplary purposes only and not for limitation.
[0094] Since more than one vector is used in this embodiment, they should be combined to complete the calibration. The six edge vectors can be arranged sequentially or in parallel when combined. The specific calculation method has been introduced above and will not be repeated here.
[0095] The local vector can be customized as needed, generally as a supplement to the edge vector or white balance vector. The local vector can also be customized according to specific colors according to actual needs. In the implementation discussed above, multiple calibration vectors are combined to complete a specific calibration.
[0096] Fig. 10A and Fig. 10CAn original picture and a calibration picture according to one embodiment are shown respectively. Fig. 10B Shown in FIG. 10A to FIG. 10C The calibration vectors used in the calibration of the image can be used to achieve accurate calibration in a specific color range without affecting the rest of the picture. Fig. 10A , it is necessary to calibrate the human skin while the environment remains original. Therefore, a set of local calibration vectors for skin color can be defined. For example, three local calibration vectors can be defined to calibrate people with white skin, yellow skin and black skin respectively. Once the calibration vector is defined, it can be stored in a register by the vector definition module 402, and the processor can repeatedly retrieve the stored calibration vector without redefinition. By using one or more calibration vectors, accurate and complex calibration of specific colors within a specific range can be performed with smaller data storage. The calibration vector can achieve the same effect as a 3D LUT with negligible data storage.
[0097] refer to Fig.11 , a method 1100 for calibrating a display panel having a pixel array is provided. The description will be made with reference to the above figures. However, any suitable circuit, logic, unit, module, or sub-module may be used. The method 1100 may be performed by any suitable circuit, logic, unit, module, or sub-module, which may include hardware (e.g., circuits, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executed on a processing device), firmware, or a combination thereof. In some embodiments, operations 1102-1108 of method 1100 may be performed in various orders. In an example, operations 1102-1108 may be performed sequentially, such as Fig.11 The order of operations should not be limited to the embodiments of the present disclosure.
[0098] Starting from operation 1102, the processor 114 defines a calibration vector having a source pixel, a vector volume, and a calibration range. The source pixel is a three-dimensional parameter used to determine the center point of the calibration. The source pixel defines the starting point of the calibration. The vector volume is a three-dimensional parameter configured to determine the maximum volume used for calibration. The vector volume defines the degree of calibration. The calibration range is a four-dimensional parameter for determining the calibration range, and the pixels within the calibration range are calibrated by the calibration vector. If the distance between the pixel to be calibrated and the source pixel is less than the calibration range, the pixel is calibrated, and vice versa. The calibration vector can be an edge vector for calibrating a pixel of a pixel array, a white balance vector for compensating a pixel of a pixel array, or a local vector for calibrating at least one pixel of a pixel array, etc. One or more calibration vectors can be defined for calibration to meet the needs of the display system. The details of defining the calibration vector have been described above and will not be repeated here.
[0099] The method 1100 then proceeds to operation 1104, where the distance between the pixel to be calibrated and the source pixel is calculated. In order to perform calibration, the distance between the pixel to be calibrated and the source pixel needs to be calculated because the distance is negatively correlated with the calibration amount applied to the pixel to be calibrated. The distance is calculated by a preset calculation module based on the gray value of the pixel to be calibrated, the source pixel and the calculation range, such as an ellipsoid distance model, a cube distance model, a sphere distance model, etc.
[0100] Method 1100 then proceeds to operation 1106, where a calibration amount based on distance and vector volume is calculated. Two steps are required to calculate the calibration amount. First, a calibration weight is calculated based on the distance between the pixel to be calibrated and the source pixel, and the calibration weight can be calculated by a preset formula. Second, the calibration amount is calculated based on the calibration weight and the vector volume. The specific calculation method for calculating the calibration weight and the calibration amount is as described above and will not be repeated here.
[0101] The method 1100 then proceeds to operation 1108, where the pixels to be calibrated are calibrated based on the calibration amount and the calibration vector. As described above, multiple calibration vectors can be combined to complete a specific calibration, and the multiple calibration vectors can be placed in a sequential or parallel order when combined. The above operations can be performed by the processor 114 or the control logic 104. By using one or more calibration vectors, accurate and complex calibration of specific colors within a specific range can be performed with less data storage. The calibration vector can achieve the same effect as a 3D LUT, but the data storage can be ignored.
[0102] The above detailed description of the present disclosure and the examples described therein are presented for the purpose of illustration and description only and not for limitation. Therefore, it is intended that the present disclosure covers any and all modifications, changes or equivalents that fall within the spirit and scope of the basic principles disclosed above and claimed herein.
Claims
1. A display system, comprising: The display panel includes a pixel array; as well as The processor is configured to execute instructions: Define the calibration vector using source pixels, vector volume, and calibration range; Calculate the distance between the pixel to be calibrated and the source pixel; Calculate calibration volume based on distance and vector volume; as well as The pixels to be calibrated are calibrated according to the calibration amount and the calibration vector.
2. The system according to claim 1, characterized in that The source pixel is a three-dimensional parameter (R scr , G scr , B scr ), used to determine the calibration center point, where R scr is the grayscale value of the red channel of the source pixel; G scr is the grayscale value of the green channel of the source pixel; and B scr is the grayscale value of the blue channel of the source pixel.
3. The system according to claim 1, wherein: The vector volume is a three-dimensional parameter configured to determine the maximum volume (V R , V G , V B ),in V R is the calibration value of the red channel of the source pixel; V G is the calibrated value of the green channel of the source pixel; and V B is the calibrated value of the blue channel of the source pixel.
4. The system according to claim 1, characterized in that The calibration range is the four-dimensional parameter (V Range , S R , S G , S B ), used to determine a calibration range, the pixels within the calibration range are calibrated by the calibration vector, wherein V Range is the preset distance between the pixel to be calibrated and the source pixel. When the distance between the pixel to be calibrated and the source pixel is less than V Range When , the pixel to be calibrated is calibrated by the calibration vector; S R It is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel; S G It is the calculation factor of the green channel when calculating the distance between the pixel to be calibrated and the source pixel; as well as S B It is the calculation factor of the blue channel when calculating the distance between the pixel to be calibrated and the source pixel.
5. The system according to claim 1, characterized in that The distance between the pixel to be calibrated and the source pixel is inversely related to the amount of calibration applied to the pixel to be calibrated.
6. The system according to claim 1, characterized in that The processor is further configured to: calculate a calibration weight according to a distance between a pixel to be calibrated and a source pixel; as well as The calibration volume is calculated based on the calibration weight and the vector volume. The calibration volume is a three-dimensional parameter (ΔV R , ΔV G , ΔV B ),in ΔV R is the calibration amount of the red channel of the source pixel; ΔV G is the calibration amount for the green channel of the source pixel; and ΔV B is the calibration amount for the blue channel of the source pixel.
7. The system according to claim 1, wherein: The processor is further configured to calibrate the pixels to be calibrated based on a plurality of calibration vectors corresponding to the more than one calibration vectors.
8. The system according to claim 7, wherein: The plurality of calibration vectors are placed in sequence.
9. The system according to claim 8, wherein: The plurality of calibration vectors are placed in a parallel sequence.
10. The system according to claim 1, characterized in that The calibration vector includes at least one of an edge vector for calibrating pixels of the pixel array, a white balance vector for compensating pixels of the pixel array, or a local vector for calibrating at least one pixel of the pixel array.
11. The system according to claim 1, characterized in that Also included is a register for storing a calibration vector, wherein the calibration vector stored in the register is repeatedly retrieved by the processor.
12. A method for calibrating a display having a pixel array, comprising: Define the calibration vector using source pixels, vector volume, and calibration range; Calculate the distance between the pixel to be calibrated and the source pixel; Calculate calibration quantities based on distance and vector volume; as well as The pixels to be calibrated are calibrated according to the calibration amount and the calibration vector.
13. The method according to claim 12, characterized in that The source pixel is a three-dimensional parameter (R scr , G scr , B scr ), used to determine the calibration center point, where R scr is the grayscale value of the red channel of the source pixel; G scr is the grayscale value of the green channel of the source pixel; and B scr is the grayscale value of the blue channel of the source pixel.
14. The method according to claim 12, wherein: The vector volume is a three-dimensional parameter configured to determine the maximum volume (V R , V G , V B ),in V R is the calibration value of the red channel of the source pixel; V G is the calibrated value of the green channel of the source pixel; and V B is the calibrated value of the blue channel of the source pixel.
15. The method according to claim 12, characterized in that The calibration range is a four-dimensional parameter (V Range , S R , S G , S B ), the pixels within the calibration range are calibrated by the calibration vector, where V Range is the preset distance between the pixel to be calibrated and the source pixel. When the distance between the pixel to be calibrated and the source pixel is less than V Range When , the pixel to be calibrated is calibrated by the calibration vector; S R It is the calculation factor of the red channel when calculating the distance between the pixel to be calibrated and the source pixel; S G It is the calculation factor of the green channel when calculating the distance between the pixel to be calibrated and the source pixel; as well as S B It is the calculation factor of the blue channel when calculating the distance between the pixel to be calibrated and the source pixel.
16. The method according to claim 12, characterized in that The distance between the pixel to be calibrated and the source pixel is negatively correlated with the calibration amount of the pixel to be calibrated.
17. The method according to claim 12, characterized in that The calculation of the calibration amount according to the distance and the vector volume comprises: Calculating calibration weights based on the distance between the pixel to be calibrated and the source pixel; and The calibration volume is calculated based on the calibration weight and the vector volume. The calibration volume is a three-dimensional parameter (ΔV R , ΔV G , ΔV B ),in ΔV R is the calibration amount of the red channel of the source pixel; ΔV G is the calibration amount for the green channel of the source pixel; and ΔV B is the calibration amount for the blue channel of the source pixel.
18. The method according to claim 12, characterized in that The pixels to be calibrated are calibrated based on the plurality of calibration vectors and a plurality of calibration quantities corresponding to the calibration vectors.
19. The method according to claim 12, characterized in that The calibration vector includes at least one of an edge vector for calibrating pixels of the pixel array, a white balance vector for compensating pixels of the pixel array, or a local vector for calibrating at least one pixel of the pixel array.
20. A processor for calibrating a display having a pixel array, comprising: A vector definition module for defining a calibration vector having a source pixel, a vector volume, and a calibration range; A first calculator, used for calculating the distance between the pixel to be calibrated and the source pixel; a second calculator configured to calculate a calibration amount based on the distance and the vector volume; The calibration module is used to calibrate the pixels to be calibrated according to the calibration amount and the calibration vector.