Fast external pixel compensation in a display panel
11615739 · 2023-03-28
Assignee
Inventors
Cpc classification
G09G2320/0233
PHYSICS
G09G3/3233
PHYSICS
G09G2360/16
PHYSICS
International classification
Abstract
A method of compensating for change in pixel and a display device incorporating such method are presented. The method includes dividing pixels into groups including a previous group L−1, a current group L and a next group L+1; determining A.sub.converged[L] and B.sub.converged[L] for each pixel in the current group L; for each pixel in the current group L, determining a first moving average A.sub.mean[L] and a second moving average B.sub.mean[L] as follows:
wherein A.sub.mean[L−1] is a first moving average of a pixel in the corresponding column in the previous group L−1, B.sub.mean[L−1] is a second moving average of a pixel in the corresponding column in the previous group L−1, and K is a moving average window; and for the next group L+1, setting a first initial value A.sub.0[L+1] and a second initial value A.sub.0[L+1] of each pixel to A.sub.mean[L] and B.sub.mean[L].
Claims
1. A method of compensating for change in pixel performance, comprising: dividing pixels into groups including a previous group L−1, a current group L and a next group L+1; determining a first converged value A.sub.converged[L] and a second converged value B.sub.converged[L] for each pixel in the current group L starting with a first initial value A.sub.0[L] and a second initial value B.sub.0[L]; for each pixel in the current group L, determining a first moving average A.sub.mean[L] and a second moving average B.sub.mean[L] as follows:
2. The method of claim 1, wherein the pixels are arranged in rows and each of the previous group L−1, the current group L and the next group L+1 is one of the rows.
3. The method of claim 1 further comprising determining the first initial value A.sub.0[L] and the second initial value B.sub.0[L] for each pixel based on A.sub.mean[L−1] and B.sub.mean[L−1].
4. The method of claim 3 further comprising setting the moving averages A.sub.mean[L] and B.sub.mean[L] to A.sub.converged[L] and B.sub.converged[L] for the current group L upon determining that there is no previous group L−1.
5. The method of claim 1 further comprising changing a gear setting for convergence to A.sub.converged[L] and B.sub.converged[L] according to speed of convergence.
6. The method of claim 1, wherein the determining of a first converged value A.sub.converged[L] and a second converged value B.sub.converged[L] for each pixel comprises: for each pixel in the current group L, iteratively determining a modified code R.sub.n=A.sub.nG.sub.n+B.sub.n wherein G.sub.n is an input code and n indicates an iteration, and first iteration is done using the first initial value A.sub.0[L] and the second initial value B.sub.0[L] as A.sub.n and B.sub.n.
7. The method of claim 6, wherein the determining of the first converged value A.sub.converged[L] and the second converged value B.sub.converged[L] for each pixel comprises: for each pixel in the current group L, applying the modified code Rn to generate pixel current I.sub.pixel, by substituting R.sub.n into V.sub.gs0 wherein I.sub.pixel=μ.sub.0k(V.sub.gs0−V.sub.th0).sup.α; comparing I.sub.pixel with a predefined reference current value I.sub.reference to generate ΔI; adjusting A.sub.n and B.sub.n for each pixel in the group L, based on ΔI and step size; determining R.sub.mean,n for pixels in the current group L; determining a difference R.sub.diff for each pixel in the current group L, wherein R.sub.diff is a difference between R.sub.mean for current window of WIN iterations and R.sub.mean for previous window; and changing step size if R.sub.diff satisfies a limit threshold.
8. The method of claim 7 further comprising adjusting at least one of the limit threshold and the window size.
9. The method of claim 7, wherein changing the step size comprises adjusting to a smaller step size if R.sub.diff<Limit.sub.n.
10. The method of claim 9 further comprising determining the first converged value A.sub.converged and the second converged value B.sub.converged for each pixel in the current group L based on the latest first value A.sub.n and the second value B.sub.n if there is no next gear size.
11. The method of claim 7 further comprising performing a WIN number of iterations before determining the difference R.sub.diff.
12. A display device comprising: a plurality of pixels, each of the pixels including a light emitting element, wherein the light emitting element is coupled to a transistor that is controlled by a gate voltage V.sub.gs; circuitry configured to adjust the gate voltage V.sub.gs by: dividing the pixels into groups including a previous group L−1, a current group L and a next group L+1; determining a first converged value A.sub.converged[L] and a second converged value B.sub.converged[L] for each pixel in the current group L starting with a first initial value A.sub.0[L] and a second initial value B.sub.0[L]; for each pixel in the current group L, determining a first moving average A.sub.mean[L] and a second moving average B.sub.mean[L] as follows:
13. The display device of claim 12, wherein the pixels are arranged in rows and each of the previous group L−1, the current group L and the next group L+1 is one of the rows.
14. The display device of claim 12, wherein the circuitry is configured to adjust the gate voltage Vgs by setting the moving averages A.sub.mean[L] and B.sub.mean[L] to A.sub.converged[L] and B.sub.converged[L] for the current group L upon determining that there is no previous group L−1.
15. The display device of claim 12, wherein the circuitry is configured to change a gear setting for convergence to A.sub.converged[L] and B.sub.converged[L] according to speed of convergence.
16. The display device of claim 12, wherein the circuitry is configured to determine the first converged value A.sub.converged[L] and the second converged value B.sub.converged[L] for each pixel by: for each pixel in the current group L, applying the modified code Rn to generate pixel current I.sub.pixel, by substituting R.sub.n into V.sub.gs0 wherein I.sub.pixel=μ.sub.0k(V.sub.gs0−V.sub.th0).sup.α; comparing I.sub.pixel with a predefined reference current value I.sub.reference to generate ΔI; adjusting A.sub.n and B.sub.n for each pixel in the group L, based on ΔI and step size; determining R.sub.mean,n for pixels in the current group L; determining a difference R.sub.diff for each pixel in the current group L, wherein R.sub.diff is a difference between R.sub.mean for current window of WIN iterations and R.sub.mean for previous window; and changing step size if R.sub.diff satisfies a limit threshold.
17. The display device of claim 16, wherein the circuitry is configured to adjust at least one of the limit threshold and the window size.
18. The display device of claim 16, wherein the circuitry is configured to change the step size by adjusting to a smaller step size if R.sub.diff<Limit.sub.n.
19. The display device of claim 18, wherein the circuitry is configured to determine the first converged value A.sub.converged and the second converged value B.sub.converged for each pixel in the current group L based on the latest first parameter value A.sub.n and the second parameter value B.sub.n if there is no next gear size.
20. The display device of claim 16, wherein the circuitry is configured to perform the WIN number of iterations before determining the difference R.sub.diff.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
DETAILED DESCRIPTION
(16) An adaptation method for faster pixel convergence is disclosed. The method according to the disclosure entails starting the adaptation process for a line or row of pixels using a converged value from the previous line or row. The method according to the disclosure further entails a dynamic gear shifting method that allows gear size to be changed after different numbers of sensing cycles depending on the rate of convergence of parameter values. For simplicity, a line/row of pixels are used as an example group of spatially correlated pixels in this description. However, it should be understood that a “group” of pixels is not restricted to being a single line of pixels, and may represent any number of pixels in different arrangements, according to spatial correlation in the display device.
(17)
(18) Transistor current that is output to the pixel (I.sub.pixel) has the following relationship to gate voltage V.sub.gs:
I.sub.pixel=μk (V.sub.gs−V.sub.th).sup.α [Eq. 1]
where k is a coefficient, μ is the mobility of the transistor, V.sub.gs is the gate voltage, and V.sub.th is the threshold voltage. Of the variables, mobility μ and threshold voltage V.sub.th are specific to each individual transistor in the display device. Moreover, mobility μ and threshold voltage V.sub.th of a single transistor also change with time and usage, for example due to temperature variation. Hence, over time and temperature changes, transistor characteristics between pixels can vary widely. Equation 2 takes into account difference in mobility Δμ and difference in threshold voltage ΔV.sub.th between pixels. Equation 2 also tracks the changes in mobility μ and threshold voltage V.sub.th with time.
I.sub.pixel=(μ.sub.0+Δμ)k[V.sub.gs−(V.sub.th0+ΔV.sub.th)].sup.α [Eq. 2]
(19) The model of Eq. 1 may not accurately predict the behavior of pixels as the size of the pixel transistor gets smaller and new material is introduced in transistor fabrication. To compensate for mismatches in mobility μ and threshold voltage V.sub.th among different pixels on a same panel, the following model may be used:
I.sub.pixel=μk(AV.sub.gs0+B−V.sub.th).sup.60 [Eq. 3]
where V.sub.gs=AV.sub.gs0+B(LMS algorithm)
(20) Combining Eq. 2 with Eq. 3 yields the following:
I.sub.pixel=(μ.sub.0+Δμ)k(AV.sub.gs0+B−(V.sub.th0+ΔV.sub.th)).sup.α [Eq. 4]
Although [Eq. 4] shows I.sub.pixel as a non-linear function of V.sub.gs0, LMS adaptation may work for finding parameters A and B. In one embodiment, initial parameter values A.sub.0 and B.sub.0 may be set at 1 and 0, respectively. They are updated by testing a randomly chosen V.sub.gs0 in a set to see how the values of A, B, when used with the chosen V.sub.gs0, affect I.sub.pixel.
(21)
(22) In the example of
R=A*V.sub.gs+B, [Eq. 5]
where A and B are compensation parameters. The compensation unit 12 may iteratively adjust the first parameter A and the second parameter B until the current output to the pixel (I.sub.pixel) converges to the reference current (I.sub.ref). Accordingly, color output by the pixel may converge to a desired level. In
(23) Eventually, compensation parameters A and B are optimized at values that compensate for the variation of μ and V.sub.th such that I.sub.pixel stays the same across pixels for a given V.sub.gs0. That is, A and B are tuned to fulfill the following ideal cases:
(24)
A and B fulfilling the ideal case conditions results in I.sub.pixel becoming independent of Δμ and ΔV.sub.th, as follows:
I.sub.pixel=(μ.sub.0+Δμ)k′(AV.sub.gs0−AV.sub.th0).sup.α
I.sub.pixel=(μ.sub.0+Δμ)k′A.sup.α(V.sub.gs0−V.sub.th0).sup.α
I.sub.pixel=μ.sub.0k(V.sub.gs0−V.sub.th0).sup.α [Eq. 6]
In some cases, at least four pairs of V.sub.gs0 and I.sub.pixel are used to tune A and B.
(25) Actual LMS adaptation may be simplified for easy implementation with digital logic, as follows:
A[n]=A[n−1]+sign(D.sub.in[n−1])*ΔA
B[n]=B[n−1]+sign(D.sub.in[n−1])*ΔB
wherein: A[n−1] and B[n−1] are parameters A and B at sense measurement cycle (n−1); A[n] and B[n] are parameters A and B at sense measurement cycle n; D.sub.in[n−1] is 1 when I.sub.pixel at cycle (n−1) is less than the desired value, 0 otherwise (D being the difference); sign (X) is +1 when X>0, −1 otherwise; and ΔA and ΔB are step size of A and B, respectively, for each change per cycle.
(26) Often, calibration is done to make sure the outcome is accurate. Least Mean Square (LMS) adaptive process, among other methods, may be used to calibrate the pixels so that I.sub.pixel is substantially constant. However, running the LMS process on each individual pixel of a display device and converging each pixel to a compensation factor may take too much time. For example, a pentile 120 Hz QHD display has 1560×1440 pixels. If each pixel had two sub-pixels, the number of sub-pixels would equal 4,492,800. Assuming a frame time of around 8.33 milliseconds, and assuming that each pixel requires 100 senses to converge, about 1% of the pixels may be sensed every frame. It would take 100×100 frames for all the pixels to converge, which would take 83 seconds at 120 Hz. Eighty-three seconds is a long time for temperature and ambient light to remain constant on a display device. Conditions within the display device (e.g., temperature) may change before pixels converge, resulting in inaccurate pixel outputs. In mass production, calibration time of less than 10 seconds is desired. The system and method disclosed herein overcome this issue by achieving a faster convergence.
(27) In this disclosure, a method that reduces LMS adaptation or convergence time that is simple enough to be implemented without much extra hardware or cost is presented. In one aspect, the method entails using converged values of previous lines to set an initial value for a next line to shorten the convergence time. In another aspect, a smart gear-shifting technique is presented that allows gear shifting to happen at a desired time without waiting for a preset number of sensing operations.
(28)
(29)
wherein K is a moving average window (a space window index that iterates over pixel group) and L is the pixel group number (e.g., row number). A[L] and B[L] are converged values for group/row L. Potentially, A[L] and B[L] are different for each pixel in a group/row L.
(30) In block 55, the operation moves to the next group/row (the current group L in this example). The initial parameters A.sub.0[L] and B.sub.0[L] of each pixel in the group/row L is set to the moving average A.sub.mean of the first converged value A.sub.converged and the moving average B.sub.mean of the second second converged value B.sub.converged for the position/column of that pixel (block 56). Using a moving average of converged values from previous groups (e.g., L−1) as initial values for a current group (e.g., L) results in faster convergence for pixel compensation. Moving average is used primarily for initial, starting values of a new group, not used for subsequent iterations. When the LMS process is performed for all the groups/rows, the process 50 terminates (block 57).
(31)
R.sub.n=A.sub.n*G.sub.n+B.sub.n [Eq. 8]
wherein A.sub.n and B.sub.n are parameters, G.sub.n is an input parameter (such as voltage V.sub.gs), and Rn is the parameter being converged (e.g., a modified voltage). The moving average R.sub.mean,n gets settled at the converging value of R.sub.n. The slope of R.sub.mean, n is related to the size of the gear, which affects speed of convergence. As used herein, the subscript “n” indicates one iteration for pixel, and the subscript “n+1” indicates a next iteration for the same pixel. If pixel parameters change faster than the time it takes for the parameters A and B to converge, the algorithm never converges. Hence, the speed at which convergence is reached affects how much benefit is derived from the voltage adjustments.
(32) In block 62, the pixel output I.sub.pixel is calculated for each R.sub.n, for each cycle n. For example, Eq. 6 above may be used with R.sub.n replacing V.sub.gs0 For each pixel in the group, the difference between pixel current I.sub.pixel and reference current I.sub.reference is determined (block 63). For each pixel in the group/row, A.sub.n and B.sub.n are updated based on one or more step size and the difference (I.sub.pixel−I.sub.ref) (block 64). In block 65, the moving average of R.sub.mean, n may be determined as follows:
R.sub.mean, n=R.sub.mean, n−1−(R.sub.mean, n−1/2.sup.N)+(R.sub.n/2.sup.N) [Eq. 9]
wherein N is the number of gear step changes, and 2.sup.N indicates the number of pixels per line. The slope of R.sub.mean is checked for multiple pixels on a line. As indicated by block 66, the iterative process continues until WIN number of iterations have been performed since the last R.sub.mean check. More specifically, in block 66, if it is determined that the WIN number of iterations has not been performed, then another iteration is done (block 67) and blocks 61 through 66 are repeated until block 66 determines that the WIN number of iterations has been performed. WIN is a time window index indicating the number of operations per pixel.
(33) If a predetermined WIN number of iterations has been performed since last R.sub.mean check (block 66), then for each pixel in the group/row, R.sub.diff is determined as follows (block 68):
R.sub.diff=abs(R.sub.mean, n−R.sub.mean, (n−WIN+1)].
If R.sub.diff<Limit.sub.n, e.g. for each pixel in the group (block 69), and there is a next gear size (block 70), then the gear size is changed (e.g., to a smaller gear) and the limit threshold, window size, and step sizes are adjusted according to the new gear settings (block 73). The process progresses to the next window (block 71). In a conventional binary gear shift method, a gear is held for a fixed number of sensing operations before being switched to another gear. The conventional binary gear shift method does not allow the gear to be switched faster or slower, and have to go through the fixed number of sensing operations even if the number is clearly too high for some situations. The adaptive gear shift method of the present disclosure allows gear shift in a more optimized manner, based on R.sub.diff.
(34) If, in block 70, it is determined that there is no “next size gear,” then the first converged value A.sub.converged and the second converged value B.sub.converged are determined for each pixel in the group/row based on the last parameter values A.sub.n and B.sub.n for the pixel.
(35) As used herein, “WIN sensing” refers to the preselected number of sensing cycles that are required before a gear change is allowed. The first and second converged values A.sub.converged[L] and B.sub.converged[L] may be used to set a first initial value A.sub.0[L+1] and a second initial value B.sub.0[L+1] in block 56, for the next group L+1. Block 52, or the LMS process 60 depicted in
(36) A typical LMS adaptation process begins with preselected initial adaptation values A.sub.0 and B.sub.0 as the compensation parameters. In an embodiment where the pixels are grouped according to lines/rows, initial adaptation parameter values A.sub.0 and B.sub.0 are used for every line. With A.sub.0 and B.sub.0 as the starting point for every line, A and B converge after about 25000 sense cycles.
(37) In accordance with an embodiment of the present disclosure, the first and second compensation parameters A, B are set at initial values A.sub.0 and B.sub.0, respectively, only for the first line/row of pixels. For lines following the first line, the initial compensation parameters A and B are not automatically set at A.sub.0and B.sub.0. Rather, initial compensation parameters A and B for line 2 are set at values that are based on the converged values of line 1, compensation parameters A and B for line 3 are set at values that are based on the converged values of line 2, etc. as described above in reference to
(38)
(39)
(40)
(41) To achieve an even faster LMS adaptation, a binary gear shift method may be utilized.
(42)
(43)
(44) When the initial parameters of non-first lines are set using the converged parameters of the preceding line(s), the gear shift table may be different for the first line and the subsequent lines.
(45)
(46) Accordingly, the disclosed systems and methods may set parameters used for pixel compensation for a pixel in a group (e.g., a row). Thus, the disclosed systems and methods may converge more quickly as compared to systems and methods that update each pixel in a display device based on errors detected for that pixel. The concepts disclosed herein may be applied to various types of display devices, including but not limited to organic light emitting diode (OLED) display devices and liquid crystal display (LCD) devices.
(47) Aspects of the systems and methods provided herein can be embodied in programming Various aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of machine (or processor) executable code and/or associated data that is carried on or embodied in a type of machine readable medium, such as a chip. Machine-executable code can be stored on an electronic storage unit, such as memory (e.g., read-only memory, random-access memory, flash memory) or a hard disk. “Storage” type media can include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the programming As used herein, unless restricted to non-transitory, tangible “storage” media, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution.
(48) The Least Mean Square calculation process may be implemented using a Field-Programmable Gate Array (FPGA) in the drive circuit (e.g., the sensing front end circuit) of a display device, or a computing device. A machine readable medium, such as computer-executable code, may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium or physical transmission medium. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) or the like, such as may be used to implement the databases, etc. shown in the drawings. Volatile storage media include dynamic memory, such as main memory of such a computer platform. Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that comprise a bus within a computer system. Carrier-wave transmission media may take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a ROM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer may read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.
(49) While preferred embodiments of the present disclosure have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only and are not meant to be construed in a limiting sense. It is not intended that the invention be limited by the specific examples provided within the specification. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the invention. Furthermore, it shall be understood that all aspects of the invention are not limited to the specific depictions, configurations or relative proportions set forth herein which depend upon a variety of conditions and variables. It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is therefore contemplated that the invention shall also cover any such alternatives, modifications, variations or equivalents. It is intended that the following claims define the scope of the invention and that methods and structures within the scope of these claims and their equivalents be covered thereby.