The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and, together with the description, serve to explain the principles of the invention, in which:
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
A display panel 10 includes numerous R, G, and B pixels (i.e., pixels generating R, G, and B colors), and can input R, G, and B brightness signals for the display of R, G, and B colors. For example, the display panel 10 includes the same color of pixels arrayed in the vertical direction. One of R, G, and B data can be supplied to each data line. Each pixel can emit light in response to one of R, G, and B data supplied from a corresponding data line. In the example, R, G, and B signals are 8-bit brightness data.
The R, G, and B signals can be independently supplied to corresponding R, G, and B look-up tables LUT20. Each of the R, G, and B look-up table LUT20 stores gamma correction data for obtaining a desired relationship (i.e., desired curve) between the light-emitting brightness (i.e., driving current) and the brightness data, with reference to average values of the offset and the gain of the display panel 10. In other words, each look-up table 20 can store correction data for compensating the characteristics (a) shown in
Instead of using the look-up tables LUT20, the display apparatus can store predetermined equations to calculate conversion values of the brightness data.
Each look-up table LUT20 receives a pixel clock in synchronism with an input signal of each pixel and produces an output in synchronism with the pixel clock.
The R, G, and B look-up tables LUT20 can supply their outputs to corresponding R, G, and B multipliers 22. A correction gain generation circuit 24 can supply gain correction values to the R, G, and B multipliers 22, respectively.
The R, G, and B multipliers 22 can supply their outputs to corresponding R, G, and B adders 28. A correction offset generation circuit 30 can supply offset correction values to the R, G, and B adders 28, respectively.
The R, G, and B adders 28 can supply their outputs to a data latch circuit 32. The data latch circuit 32 can supply latched data to a D/A converter 34. The D/A converter 34 can convert the R, G, and B digital signals into corresponding analog signals, and can supply the converted signals to corresponding data lines of the display panel 10.
Thus, the corrected data signals are supplied via the data lines to pixel positions of respective colors, so that the EL element in each pixel can be driven based on current corresponding to a given data signal.
As described above, in the present embodiment, the look-up table LUT20 compensates the offset and the V-I characteristics of an average driver TFT and performs the gamma correction. The correction gain generation circuit 24 and the correction offset generation circuit 30 generate a correction gain and a correction offset for each pixel positioned in the display panel 10.
Therefore, the display apparatus of the present embodiment not only compensates a deviation AVth of the threshold voltage Vth for the driving transistor (driver TFT) in each pixel but also compensates the V-I characteristics representing the relationship between the gate-source voltage Vgs and the drain current (i.e., driving current of the organic EL). Thus, the driving current corresponding to the brightness data can be appropriately supplied to the organic EL element.
In the present embodiment, the correction gain generation circuit 24 is connected via an expansion circuit 36 to a memory 38. The correction gain generation circuit 24 has a fundamental function of generating a gain correction value adaptive to the input brightness data with reference to a pixel position on the screen. To this end, the correction gain generation circuit 24 reads necessary correction data from the memory 38 and determines the gain correction value. The memory 38 stores entropy coded data. The expansion circuit 36 expands the entropy coded data and supplies expanded correction data to the correction gain generation circuit 24.
Furthermore, the correction offset generation circuit 30 is connected via an expansion circuit 40 to a memory 42. The correction offset generation circuit 30 has a fundamental function of generating an offset correction value adaptive to the input brightness data with reference to a pixel position on the screen.
To this end, the correction offset generation circuit 30 reads necessary correction data from the memory 42 and determines the offset correction value. The memory 42 stores entropy coded data. The expansion circuit 40 expands the entropy coded data and supplies expanded correction data to the correction offset generation circuit 30.
In general, the brightness irregularities are classified into various types according to their causes or sources. For example, the dispersion of correction values can generate irregularities. However, as shown in
When the input R, G, and B signals are displayed on the display panel 10, the expansion circuits 36 and 40 expand the compressed correction data while the calculation for correcting the pixel data is performed.
As one example, the display panel 10 can include 320×240 pixels. The display apparatus performs a simplified correction for correcting only the threshold voltage Vth. It is now assumed that each signal data consists of 6 bits, and the display apparatus can perform correction within the range of ±25% for each signal data. In this case, one pixel requires correction data of 5 bits (−15 to +15) including code bits. Namely, an ordinarily required memory size is 320×240×5=384,000 bits.
The total data amount, required when the Huffman coding is employed, can be obtained by summing up “bit length of Huffman code×frequency” of respective correction values. Table 1 shows one example of the frequency distribution of irregularities and Huffman codes, according to which the total data amount rises up to 251,205 bits. The required memory size is equal to a sum of the above data amount and the size required for a Huffman table.
Furthermore, unless the compression data exceed a maximum memory capacity, the display apparatus of the present embodiment can correct a wide range of irregularities. In other words, according to the example, the conventional method cannot completely correct irregularities, if the irregularities exceed ±25%.
The display apparatus of the present embodiment can obtain the Huffman codes according to the following general procedure, including the steps of:
1) arraying a total of n correction values (symbols) in order of frequency;
2) selecting two symbols that have the lowest and second lowest frequencies, allocating the code 1 or 0 to the selected symbols, and integrating them as a single symbol having a summed-up frequency of two original symbols;
3) arraying a total of (n−1) symbols resulting from the above processing in order of frequency, selecting two symbols having the lowest and second lowest frequencies, and allocating the code 1 or 0 to the selected symbols; and
4) repeating the above-described processing until the symbol number reduces to 1, and reading the codes allocated in the process of the above processing in the inverse order to obtain a code of a corresponding symbol.
The Huffman table obtained by the above-described procedure can be stored together with compressed correction data in the memory of the 10 display apparatus, and can be used in the decoding processing.
First, an arbitrary number is allocated to each node of the tree as shown in
When a leaf is attached to the side “1”, 0 is stored in bit 11 and the data is stored in bits 10 through 6. When a node is attached to the side “1”, 1 is stored in bit 11 and the number of node is stored in bits 10 through 6.
Similarly, when a leaf is attached to the side “0”, 0 is stored in bit 5 and the data is stored in bits 4 through 0. When a node is attached to the side “0”, 1 is stored in bit 5 and the number of nodes is stored in bits 4 through 0.
In this case, the data is an integer of 5 bits attached with a code, and the number of nodes is an integer of 5 bits attached with no code.
Table 2 shows the contents of a memory storing Huffman codes allocated as shown in Table 1.
When the allocation of codes based on the table 2 is performed, the expansion procedure performed according to the present embodiment includes the following steps of:
0) designating 0 as a read address of the memory;
1) reading memory data;
2) reading 1 bit of compression data;
3) fetching upper 6 bits of the data read from the memory if the readout compression data is 1, and lower 6 bits if the readout compression data is 0;
4) designating lower 5 bits as a read address of the memory if the MSB of a fetched data is 1, and outputting the lower 5 bits as an expansion result and designating 0 as a read address of SRAM if the MSB is 0; and
5) repeating the above steps 1) through 4) until the compression data is fully processed (i.e., until the processing of the final line is completed).
In this case, the memory capacity required for storing the data of a Huffman tree is 2(n+1)×(2n−1) bits when the correction value is n bits, because the number of nodes is 2n−1 and the number of leaves is 2n. When the correction value is 5 bits as shown in the example, the required memory capacity is 372 bits.
In the present example, the Huffman table is prepared for each panel, so that a suitable table can be used for expansion in each panel. However, a common Huffman table can be used for many panels if the frequency distribution of irregularity correction values is similar among the panels.
Table 3 shows one example of a fixed Huffman table.
Furthermore, if the irregularities vary greatly depending on the position on the panel, the Huffman table can be differentiated for each small area consisting of a predetermined number of horizontal lines. In this case, the required memory amount with the Huffman table can be reduced when the pixel number in a small area relative to the amount of Huffman codes (i.e., the size of Huffman table) is sufficiently large.
Furthermore, the entropy coding can be effectively performed by combining the processing of the above-described embodiment with the irregularity correction applied to each small area and the correction applied to each pixel (refer to the above-described conventional correction methods).
As an example, the correction of the threshold voltage Vth can be performed for a panel having vertical and lateral irregular streaks as shown in
Furthermore, the correction processing includes a step of obtaining correction data of each pixel, a step of performing calculations based on the correction data of each pixel and the correction data of the vertical and lateral streaks, and a step of storing both the compression data (resulting from the calculation) and the correction data of the vertical and lateral streaks in a memory of the display apparatus. In this case, instead of performing the calculations, it is possible to obtain the correction data of each pixel after the correction is performed based on the correction data of the vertical and lateral streaks. When an image is displayed on the panel, an inverse calculation is performed after accomplishing expansion of the pixel data and the correction of each pixel data is performed.
The following equations define non-compressed data of a pixel z(m, n) shown in
Offset data: Zo(m,n)=zo(m,n)−xo(m)−yo(n)
Gain data: Zg(m,n)=zg(m,n)/(xg(m)×yg(n))
In the above equations, Zo(m, n) represents residual offset correction data of the pixel z positioned at coordinates (m, n) after accomplishing the vertical and lateral streak correction, zo(m, n) represents offset correction data of the pixel z positioned at the coordinates (m, n), xo(m) represents an average of offset correction data obtained from the pixels aligned along a vertical line at a horizontal position m, yo(n) represents an average of offset correction data obtained from the pixel aligned along a horizontal line at a vertical position n, Zg(m, n) represents residual gain correction data of the pixel z positioned at coordinates (m, n) after accomplishing the vertical and lateral streak correction, zg(m, n) represents gain correction data of the pixel z positioned at coordinates (m, n), xg(m) represents an average of gain correction data obtained from the pixels aligned along a vertical line at a horizontal position m, and yg(n) represents an average of gain correction data obtained from the pixels aligned along a horizontal line at a vertical position n.
When an image is displayed, correction values can be obtained by the following equations.
Offset correction value: zo(m,n)=Zo(m,n)+xo(m)+yo(n)
Gain correction value: zg(m,n)=Zg(m,n)×xg(m)×yg(n)
The number of vertical and lateral streak correction values is equal to “a horizontal line number+a vertical line number” with respect to each of the offset and the gain, which is very small compared to the number of correction values for respective pixels. Thus, a required memory amount is very small.
If
Performing the irregularity correction applied to vertical and lateral streaks can simultaneously improve the irregularities shown in
The display system includes a buffer 60 that can successively hold, from the first address, image signal data of two horizontal lines. A buffer 60a can hold image signal data of an odd horizontal line, while a buffer 60b can hold image signal data of an even horizontal line. The image signal data of an even line (or odd line), when the image signal data of an odd line (or even line) is written, can be read out in the inverse order from an address being set in the buffer 60. The correction operating section 54 performs calculations based on readout image signal data and expanded correction data. An address generating section 62 can generate write addresses from the head to the bottom of the buffer 60 for the writing processing and generate read addresses from the bottom to the head of the buffer 60 for the reading processing.
The above processing can realize the inverse display of an image in the right and left direction without changing the drive timing of the panel, and can properly correct the irregularities. When an ordinary non-inverse image is displayed, the writing direction is equal to the reading direction.
Furthermore, instead of holding the input image data in the buffer and reading the data in the inverse order, it is possible to hold expanded correction values of 2 lines in the buffer and read the correction data in the inverse order from a line not being currently written and perform calculations based on the readout correction data and the input image data.
In
The minimum quantization step for the correction values need not be identical to the minimum quantization step for the image signal data. It is not always necessary to completely correct the irregularities, because thin and weak irregularities will not be visually recognized. Therefore, the quantization step for the correction values can be variably determined so that the use of a limited memory capacity can be optimized considering the Huffman compressed result.
Furthermore, the compression processing includes the steps of: determining whether the data amount is less than a memory size (refer to step S5); if the judgment result of step S5 is NO, incrementing n by 1 (i.e., n=n+1, refer to step S6) and returning to the step S3; and if the judgment result of step S5 is YES, writing n and the compression data into the memory 50 (refer to step S7) and terminating the processing.
In this example, the input data and the correction data are both 10 bits, and the accuracy of correction data varies depending on the value of n. The value of n can be 2k (k is a positive integer) for the purpose of simplifying the hardware arrangement.
Furthermore, in the arrangement shown in
In
The driver IC 80 is a COG (Chip On Glass), and the display panel 10 is placed on the glass. The nonvolatile memory 86 can be a flash memory.
As will be apparent from the foregoing description, the present embodiment can reduce the capacity of a memory required for correcting brightness irregularities. Furthermore, unless the compression data exceed a maximum capacity of a memory, a wide range of irregularities can be corrected.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications, equivalent structures and functions.
Number | Date | Country | Kind |
---|---|---|---|
2006-104120 | Apr 2006 | JP | national |