The present invention relates to correction of brightness irregularities in a display device.
A data signal is written to a storage capacitor C by setting a gate line (Gate), that extends in the horizontal direction, to a high level to turn an n-channel selection TFT 2 on, and in this state placing a data signal (image data) having a voltage corresponding to a display brightness on a data line (Data) that extends in the vertical direction. In this way, a gate of a p-channel drive TFT 1 is set to a voltage corresponding to the data signal, drive current corresponding to the data signal is supplied to an organic EL element 3, and the organic EL element 3 emits light.
In
As a result of this type of structure, data is sequentially written to pixel sections in horizontal row units, and display is carried out at each pixel in accordance with the written data, to perform image display as a display panel.
Here the amount of light emission and current of the organic EL element are in a substantially proportional relationship. Normally, a voltage (Vth) is supplied across the gate of the drive TFT and PVdd such that a drain current approaching that for a black level of the pixel starts to flow. Also, the image signal may be set to an amplitude to give a prescribed brightness close to a white level.
Specifically, the brightness when the pixel is driven at a particular signal voltage differs depending on the threshold voltage (Vth) of the drive TFT, and an input voltage close to PVdd (power supply voltage)−Vth (threshold voltage) corresponds to a signal voltage when displaying black. Also, the slope (μ) of the V-I curve of a TFT varies in a similar manner, and in this case, as shown in
If there are variations in Vth and μ of the TFT inside the panel, there will usually be inconsistencies in brightness. With the objective of correcting these brightness inconsistencies, panel current flowing when lighting up each pixel at a number of signal levels is measured, to obtain a V-I curve for individual TFTs.
A correction data calculation method is shown in
When the V-I characteristic of a pixel p is represented by Id=f(a′(Vgs−b′)), correction is carried out by first obtaining offset=k(b′−ab/a′) and gain=a/a′ using a and b of previously obtained average pixels, with k as a D/A conversion coefficient, and the image data is then multiplied by the obtained gain and added to offset.
In the case of carrying out this type of processing, as shown in
Image data (R, G, B) for which irregularity has been corrected is supplied to the display panel 14, where it is displayed. Here, correction gain and correction offset for every pixel is stored in a memory section such as RAM, read out in synchronism with image data, and used in correction of the image data.
Patent document 1: JP No. 3887826B
Patent document 2: JP No. 2004-264793A
Patent document 3: JP No. 2005-284172A
Patent document 4: JP No. 2007-86678A
Here, if a case of driving a panel of VGA size is considered, a data rate of reading from a RAM storing correction data can be calculated as follows.
First, a total number of dots of an image to be displayed is:
total No. of dots=length×width×RGB=480×640×3=921,600
Accordingly, if a screen is updated at 60 Hz, it is necessary to transmit correction data for 921,600 dots in one frame, or 1/60th of a second. The data rate for correction data therefore becomes 921,600×60=55,296,999=55.296 MHz, or more. If values for correction offset and correction gain are respectively made 8 bits, then in the case of using a RAM of 16 bit width it becomes necessary to read out data at a read rate of 55.296 MHz or higher. Also, with a higher resolution display a faster read rate will be required.
Taking into consideration cost and simplification of the circuitry, it is desirable to directly read out data from a non-volatile memory such as flash memory in synchronism with the pixel data, and at this point it time it is not possible for the read rates of standard flash memory to satisfy the above needs, and omitting RAM is difficult. To lower read rate, it is necessary to implement an increase in the bit width or the like, which impacts on the cost and substrate area, etc.
It is also desirable to lower the frequency of memory read from the viewpoint of wasteful radiation problems and power consumption. In patent document 4, direct data reading from a flash memory having a high-speed serial interface is implemented.
The present invention is characterized by a display device having an inconsistency correction function, for storing correction data for correcting variations in brightness for each pixel, and at the time of display, performing calculation using input signals and the stored correction data, and performing correction of brightness inconsistency.
The present invention also preferably performs correction calculations for each pixel only once for a plurality of frames.
It is also preferable to vary the position of pixels that are the subject of correction for every frame.
It is also preferable to divide a display region into small regions of n (where n is an integer of 2 or more) pixel units, to correct n/m pixels (where m is an integer of 2 or more) within each small region for every one frame, and correct display pixels in m frames. This requires that the ratio n/m be an integer of 1 or more.
It is also preferable to divide the display region into small regions of n (n is an integer of 2 or more) unit pixels, provide a memory for respectively storing average values Av of correction values for n pixels of the small region and correction values y for each pixel within the small region, and to have frames where correction calculation for each pixel is performed using the average values Av and frames where the correction calculation for each pixel is performed using the correction values y.
It is also preferable to divide the display region into small regions of n (n is an integer of 2 or more) unit pixels, provide a memory for respectively storing average values Av of correction values for n pixels of the small region and z derived from computation of average values Av of correction values for n pixels and correction values y for each pixel within the small region, and to have frames where correction calculation for each pixel is performed using the average values Av and frames where the correction calculation for each pixel is performed using correction values y that are derived from reverse computation of the computation of the average values Av and z.
It is also preferable for the small region to have a plurality of pixels on a horizontal scanning line.
According to the present invention, the manner of correction is changed for every frame. As a result, correction is completed in a plurality of frames and it is possible to lower the read frequency of correction data.
Embodiments of the present invention will be described in the following based on the drawings. As the simplest example, correction of image data is not carried out for every frame for all pixels, and instead the pixels are divided into a plurality (m) of groups, and correction is carried out for each group sequentially for every frame. In this case, correction values are determined such that average brightness for m frames of each pixel becomes a target brightness. For example, in a case where an image of a brightness level that is fixed over the entire panel is displayed, brightness of respective pixels varies only once in m frames, but when m is small, or there is only slight brightness inconsistency, to the human eye brightness variation for every frame is imperceptible, and appears uniform. Specifically, when m is small, it is possible to lower memory read speed to 1/m, without any significant difference in visual appearance from the related art where correction is carried out in all frames.
As indicated above, m may be an integer of 2 or more. For the purpose of the following examples, values of 2 and 4 are illustrated for the parameter m. This in no way limits the invention to only these values of m.
In this embodiment, this type of correction is then carried out for only one pixel within four pixels, and pixel data of the remaining three pixels passes through unchanged having not undergone correction calculation. The pixels for which correction is performed are then changed for every frame, and correction of all pixels is carried out in four frames.
In this way, with the resultant intermittent processing image data (R, G, B) that has had inconsistency corrected is supplied, by way of a source driver 16 that includes a data latch 16a and a D/A converter 16b), to the display panel 14 where it is displayed. A gate driver 18 is connected to the display panel 14, and this gate driver 18 controls to what line of the display panel 14 image data is supplied to.
The display panel 14 has the structure as shown in
Here, a timing signal generating section 20 generates various timing signals from a pixel clock, and horizontal and vertical synchronization signals, and generates addresses of the RAM 22 where correction data is being stored. This RAM 22 is constructed of SDRAM or DRAM that is capable of reading and writing at high speed, and when power is turned on, correction data (gain, offset) is transmitted from external non-volatile memory 24. Flash memory or the like is used as the non-volatile memory 24, and from the viewpoint of cost and size serial output type is often used. In accordance with image data for every pixel, the timing generating section 20 generates addresses where correction data for that pixel is stored, the correction data for the pixel is read from the RAM 22, and this correction data is supplied to the correction calculation section 12. In this embodiment, this correction calculation is performed once in four frames, as described above. Accordingly, reading from the RAM 22 is carried out at ¼ the frequency compared to when carrying out correction in every frame. In the case where m=2, correction data is read out, correction calculation is carried out only once in two frames, and this can be handled with a similar structure.
Next, a description is given of correction calculation in the correction calculation section 12. If characteristic coefficients of an average pixel are made a and b, and characteristic coefficients of a particular pixel are made a1 and b1, then correction values respectively become as follows for the cases of M=2 and 4.
In the case where a particular pixel is corrected once in two frames (the case of m=2), in order to make the average brightness equal to the brightness of a standard pixel, it is preferable to input Vgs2 as included in equation 1 to the panel. Here, Vgs1 is a voltage across the source and drain of a drive transistor that is not corrected, and Vgs2 is a corrected voltage. The uncorrected voltage Vgs1 across the source and drain of the drive transistor corresponds to image data of subject pixels, and the corrected voltage Vgs2 across the source and drain of the drive transistor corresponds to image data after correction.
{f(a1(Vgs1−b1))+f(a1(Vgs2−b1))}/2=f(a(Vgs1−b)) Equation 1
Here, in the case of representing as f(x)=xc, equation 1 is expressed as equation 2.
{a1c(Vgs1−b1)c+a1c(Vgs2−b1)c}=2ac(Vgs1−b)c Equation 2
From this, equation 3 is derived.
Vgs
2={2ac(Vgs1−b)c−a1c(Vgs1−b1)c}1/c/a1+b1 Equation 3
In the case where a particular pixel is corrected once in four frames (the case of m=4), in order to make the average brightness equal to the brightness of a standard pixel, it is preferable to input Vgs2 as included in equation 4 to the panel.
{3f(a1(Vgs1−b1))+f(a1(Vgs2−b1))}/4=f(a(Vgs1−b) Equation 4
Here, in the case of representing as f(x)=xc, equation 4 is expressed as equation 5.
{3a1c(Vgs1−b1)c+a1c(Vgs2−b1)c}=4ac(Vgs1−b)c Equation 5
From this, equation 6 is derived.
Vgs
2={4ac(Vgs1−b)c−3a1c(Vgs1−b1)c}1/c/a1+b1 Equation 6
By correcting image data every m frames in accordance with these equations, it is possible to reduce brightness inconsistency.
Specifically, in this embodiment image data is carried out only once for every m frames, for individual pixels, in the correction calculation section 12. This correction therefore corresponds to a correction amount where average correction amount for m frames is normal. Specifically, by carrying out correction once in m frames using a correction amount for m frames, necessary correction is carried out as an average for m frames.
For example, in the case where display for 60 frames is carried out for one minute, with correction once in two frames the human eye recognizes average brightness, and there is hardly any sensation of flickering. Therefore, according to this embodiment, frequency of occurrence of correction is reduced, and a sufficient correction effect is obtained, while making it possible to reduce read speed of the correction data.
In the above equations, a coefficient c normally has a value between 2 and 3, and hardware to implement equations 3 and 6 is quite complicated. Therefore, circuitry can be simplified by making the correction values comparatively small, and using approximate correction coefficients obtained by computing up to the first order term of the equations that have been Taylor expanded as follows. When uneven levels are not so large, inconsistency can be significantly improved even with this type of rough approximation.
In the case of m=2, the first order approximation of equation 3 is:
Vgs
2={2a(Vgs1−b)−a1(Vgs1−b1)}/a1+b1=Vgs1(2a−a1)/a1−2(ab−a1b1)/a1
In this case, with the circuit structure of
offset=2(ab−a1b1)/a1 Equation 7
and
gain=1+2(a/a1−1) Equation 8
In the case of m=4, the first order approximation of equation 6 is:
Vgs
2={4a(Vgs1−b)−3a1(Vgs1−b1)}/a1+b1=Vgs1{4a−3a1}/a1−4(ab−a1b1)/a1
In this case, with the circuit structure of
offset=4(ab−a1b1)/a1 Equation 9
and
gain=1+4(a/a1−1) Equation 10
Generally, offset and gain are obtained by:
offset=m(ab−a1b1)/a1 Equation 11
gain=1+m(a/a1−1) Equation 12
In this way, in accordance with address signals from the timing generation circuit 28 and a timing signals (fc/4) that is ¼ the frequency of a pixel clock fc, correction data for each pixel is output from the flash memory 30. The correction calculation section 12 is comprised of a correction gain generating circuit 12a, a correction offset generating circuit 12b, a multiplier 12c, and an adder 12d, with gain being calculated in the correction gain generating circuit 12a, and offset being calculated in the correction offset generating circuit 12b. Correction of data from the look up tables is then carried out by multiplying by gain in the multiplier 12c, and adding offset in the adder 12d.
If the value of m is made large, brightness difference between frames that are corrected and frames that are not corrected becomes large, and flicker becomes noticeable. In particular, if there is brightness inconsistency that changes slightly over a wide range of a display region, then at certain portions within the screen it is necessary to insert frames that are very different in brightness from the average brightness of the screen overall, and so flicker is extremely noticeable.
In order to improve this, calculation processing is carried out so as to make differences in brightness variation for every frame as small as possible, no matter at what position on the screen.
The above described case where m=4 will be described by way of example. As shown in
y_offset(i, j)=offset(i, j)+3{offset(i, j)−Av_offset(p, q)} Equation 13
y_gain(i, j)=gain(i, j)+3{gain(i, j)−Av_offset(p, q)} Equation 14
Here, y_offset(i, j) and Av_offset(p, q) are respectively correction values y relating to offset of a pixel having coordinates (i, j) and an average Av of correction values of the small region, while gain (i, j)and Av_gain(p, q) are respectively correction values y relating to gain of a pixel having coordinates (i, j) and an average Av of correction values for the small region. The terms offset(i, j) and gain (i, j) are respectively equivalent to offset and gain obtained in equation 9 and equation 10 for the pixel having coordinates (i, j).
As shown in
Specifically, brightness inconsistency spanning over a wide range on the display screen is corrected every frame with correction data of average values for every small region. This means that only brightness inconsistency between pixels within a small region is corrected every four frames. In this case, the number of correction data items to be stored, if the overall number of pixels is N, is increased by storing Av(p, q), by N/16, but the extent of increase is negligible compared to the original data amount.
Correction data y(i, j) is read from the flash memory 30-1 into the double buffer 32-1 shown in
In the two horizontal scanning periods for displaying from the beginning pixel of the horizontal line j to the final pixel of the horizontal line (j+1), correction data y(i, j) for the horizontal line (j+2) is read from the flash memory 30-1 to the buffer B12 inside the double buffer 32-1, at a clock rate of fc/4. This corresponds to the line shown as d in
On the other hand, y(1, 1), y(3, 1), y(5, 1), y(7, 1), y(9, 1), . . . that were written at the time of display of the horizontal lines (j−2) and (j−1) are written to the buffer B11, and at the time of display of horizontal line j and horizontal line (j+1) correction values stored in this buffer B11 are sent sequentially, starting from y(1,1), from the buffer B11 to the correction value generating block 12e at a clock rate of fc/2. At this time, the data of the buffer B11 is only used on line j, and is not used on line (j+1).
When displaying the next lines (j+2) and (j+3), the R/W signal is changed over, the buffer B11 is written to, the buffer B12 enters read mode, and at the same time SW11 and SW12 are respectively changed over. Similarly, from then on the R/W signal is changed over every two horizontal lines, and each of the buffers B11 and B12 are repeatedly written to and read from.
On the other hand, during the four horizontal scanning periods for displaying from the beginning pixel of horizontal line j to the final pixel of horizontal line (j+3), average correction data for the small region contained in from horizontal line (j+4) to horizontal line (j+7), namely Av(1, q+1), Av(2, q+1), . . . Av(P, q+1), is read from the flash memory 30-2, and written to the buffer B22 within the double buffer 32-2 at a clock rate of fc/16. In this example, q=1, and so Av(1, 1), Av(2, 1), Av(3, 1), are read. P is the number of small regions in the horizontal direction.
Also, at the time of displaying from horizontal line j to horizontal line (j+3), data for Av(P, q) from Av(1, q) already written in the buffer B21 is sent to the correction value generating block 12e at a clock rate of fc/4/ Specifically, data of the buffer B21 is repeatedly used across four lines. When displaying the next line (j+7) from (j+4), the R/W signal is changed over, the buffer B21 is written to, the buffer B22 enters read mode, and at the same time SW21 and SW22 are respectively changed over. Similarly, from then on the R/W signal is changed over every four horizontal lines, and each of the buffers B21 and B22 are repeatedly written to and read from.
In this example, two flash memories are used, but it is also possible to store Av and y in one flash memory and reduce the number of memories. In this case, if the bit width of the memory is kept the same, it will be necessary to raise the read clock frequency according to an increase in data amount. With the above described example, it is necessary to read Av once every four times that y is read, which means that the read cock frequency becomes fc/16 at lowest.
The small regions described here can be each horizontal line, or a plurality of pixels on a horizontal line. In this case, there is the advantage that a line buffer is not required, and it is possible to simplify the circuitry.
It is also preferable to divide the display region into small regions of n (n is an integer of 2 or more) unit pixels, and provide a memory for respectively storing average values Av of correction data for those n pixels, and z, derived from computation of the average values Av of correction data for the n pixels, and correction values y for each pixel within the small region. For example, by making a difference, between average value Av and correction value y for each pixel data, z for each pixel, the amount of data to be saved can be reduced. Therefore, for a read out z, it is possible to calculate y for each pixel by performing reverse calculation (for example addition) using Av, and use in correction.
Number | Date | Country | Kind |
---|---|---|---|
2009-104614 | Apr 2009 | JP | national |
This application is a continuation of U.S. patent application Ser. No. 13/264,339, filed Mar. 9, 2012 entitled “DISPLAY DEVICE.” The parent application is a National Stage Entry of International Application No. PCT/US2010/032028, filed Apr. 22, 2010, which claims the benefit of Japanese Application No. 2009-104614, filed on Apr. 23, 2009, both of which are hereby incorporated by reference for all purposes as if fully set forth herein.
Number | Date | Country | |
---|---|---|---|
Parent | 13264339 | Mar 2012 | US |
Child | 14793781 | US |