This disclosure relates generally to display technologies, and in particular but not exclusively, relates to display technologies with non-functioning pixels.
During manufacture of display screens, the display screens are inspected for various flaws. Those which fail quality control testing are often relegated to a trash heap or saved for applications, which have lower quality requirements. Consumer grade electronics generally require high quality displays to pass all quality control inspections, which leads to reduced yields and increased costs due to minor flaws.
One common flaw type is a non-functioning pixel, which includes bright pixels (e.g., hot pixels) and dark pixels (e.g., dead pixels). In a liquid crystal display (“LCD”), bright pixels are pixels with a defect that causes the liquid crystal material to always transmit light through the pixel. Dark pixels are pixels with a defect that causes the liquid crystal material to always block light from passing through the pixel.
The ISO-13406-2 Standard specifies defect classes, which define the number and type of defective pixels permissible in each class type. For example, many display manufactures specify their displays as pixel fault class II, which means two or less hot or dead pixels per million pixels. These strict fault standards reduce display yields at each pixel fault class. Methods exist for trying to fix non-functioning pixels, such as targeting individual pixels for additional processing (for example, laser etching away electrical shorts), but can introduce substantial additional costs into the manufacturing flow.
Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles being described.
Embodiments of a system and method for masking non-functioning pixels are described herein. In the following description numerous specific details are set forth to provide a thorough understanding of the embodiments. One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The techniques describe herein effectively mask or hide non-functioning pixels (e.g., dark pixels) perceptible by a viewer thereby improving the user experience with a display having one or more non-functioning pixels. These techniques potentially enable certain display screens that otherwise would be discarded to be put to good use, or enable display screens that otherwise would be relegated to lower class uses to be used for higher class uses such as consumer grade products.
The techniques described herein are applicable to mask dark pixels in virtually any type of display screen technology including, but not limited to, backlit/front-lit displays (e.g., liquid crystal displays (“LCD”), liquid crystal on silicon (“LCoS”) displays, etc.), active emission displays (e.g., light emitting diode (“LED”) displays, organic LED (“OLED”) displays, etc.), or otherwise. These techniques increase the brightness of surrounding pixels 140 to compensate for the lost brightness output from non-functioning pixel 135. The term “brightness” is defined broadly herein to incorporate the concepts of luminous intensity (visible light energy perceived by the human eye in a given direction), luminance (visible light energy perceived by the human eye in a given direction, per unit area), or luminous flux (absolute visible light output from a given source). Accordingly, “lost brightness” means a reduction in any one of luminous intensity, luminance, or luminous flux. Similarly, “increasing brightness” means an increase in any one of luminous intensity, luminance, or luminous flux. The lost brightness of non-functioning pixel 135 is the lumens that are not output by non-functioning pixel 135 due to its non-functioning state (e.g., dark state). By estimating this lost brightness and increasing the brightness of surrounding pixels 140, the dark spot created by non-functioning pixel 135 is less noticeable and therefore human perception of the non-functioning pixel is reduced (i.e., perception of a dark pixel is masked).
Process 300 represents a high quality correction technique, which attempts to accurately determine the amount of lost brightness or total brightness error due to non-functioning pixel 135. This technique analyzes each pixel value received for display by a non-functioning pixel 135 and generates an appropriate total brightness error. Thus, if a pixel value for a non-functioning pixel 135 of a given image frame is supposed to be dark or black, then the total brightness error for that frame may be computed to be zero and thus require no compensation for surrounding pixels 140. On the other hand, if a pixel value for non-functioning pixel 135 of another image frame is supposed to have some level of lumen output (brightness), then process 300 attempts to accurately estimate the total brightness error and apply additional brightness to surrounding pixels 140 to mask the visual defect. It is anticipated that many alternative techniques for deciding how much brightness, if any, to add to surrounding pixels 140 may be used than just those described below and are thus considered to be within the general scope and spirit of this disclosure.
In various embodiments, process 300 may be executed by logic within display controller 115, TCON 130, or other logic units (not illustrated) within display system 100. TCON 130 is an externally attached device that can identify the timing of data bits streaming into a display panel, identify pixel values associated with specific display pixels, and alter those pixel values as described herein. In one embodiment, TCON 130 may be an intelligent adapter that further provides a user interface to facilitate the identification and tagging of non-functioning pixels by an end user.
In process block 305, one or more non-functioning pixels 135 (e.g., dark pixels) are identified within display screen 105. In one embodiment, this identification process occurs at the time of fabrication within a factory. A number of techniques may be used to identify a dark pixel including human inspection or automated inspection using a high resolution camera that views display screen 105 while one or more test images are displayed. In another embodiment, a user interface may be provided to aid an end user with the identification and tagging of dark pixels. For example, the user may enter display screen 105 into a calibration mode where a user can move a visual marker around the screen to select individual pixels. This later technique enables end users to mask non-functioning pixels in the field over the lifetime of display screen 105.
Once non-functioning pixel 135 has been identified, surrounding pixels 140 that function in the vicinity of non-functioning pixel 135 are also identified (process block 310).
Returning to
In a process block 320, a total brightness scalar is selected. The total brightness scalar is a multiplier that is applied to increase the total brightness error providing additional brightness overhead to the estimated lost brightness. In some cases, the addition of a small multiplier (e.g., 5%, etc.) has been found to help further mask dark pixels. In some embodiments, the total brightness scalar may be assigned a value of unity so that no additional brightness compensation is applied over that which is estimated to be lost due to non-functioning pixel 135.
With the distribution function and total brightness scalar selected and the surrounding pixels 140 identified, an individual brightness scalar can be computed for each of the surrounding pixels 140. In this embodiment, this scalar is a pre-computed value for each surrounding pixel and is stored in association with a given surrounding pixel 140. During runtime operation (i.e., while displaying images on display screen 105), the individual brightness scalars are used to determine the portion of the total brightness error that is to be allocated to the various surrounding pixels 140. It should be noted that in process 300, the total brightness error associated with a given non-functioning pixel 135 is recomputed for each image frame.
In a process block 330, a pixel value associated with non-functioning pixel 135 is received for a given image frame. In one embodiment, it is received into frame buffer 110 where display controller 115 performs its operations prior to pushing the image data to display screen 105. In other embodiments, the runtime processing may be performed further upstream within display controller 115 or even within an externally attached intelligent TCON 130 that operates on the bit stream prior to the bit stream reaching input port 125.
With the pixel value for non-functioning pixel 135 in-hand, the total brightness error due to non-functioning pixel 135 is computed (process block 335). In one embodiment, the total brightness error is determined by referencing a gamma curve for display screen 105. The gamma curve for display screen 105 is typically a nonlinear function that decodes the luminance value of a display pixel from its pixel value or bit value in the data stream. In one embodiment, the lost brightness or total brightness error is scaled using the total brightness scalar to add brightness overhead (if any), as described in connection with process block 320.
In a process block 340, the total brightness error is distributed as additional brightness among surrounding pixels 140 using the individual brightness scalars determined in process block 325. If the brightness added to any of surrounding pixels 140 does not result in a fully saturated pixel (decision block 345), then process 300 continues to a process block 350. In process block 350, display controller 115 (or other logic unit) updates the pixel values of the various surrounding pixels 140 in frame buffer 110.
However, if the brightness added to any of surrounding pixels 140 will result in a saturated pixel, then process 300 continues to a process block 355. In process block 355, a residual brightness error is calculated. The residual brightness error is that portion of the total brightness error that remains uncompensated due to saturation of one or more of surrounding pixels 140. In this event, the residual brightness error is re-distributed to the remaining surrounding pixels 140 with brightness headroom (i.e., pixels that have not saturated). Again, process 300 returns to process block 350 where the pixel values of surrounding pixels 140 are updated to reflect the additional brightness apportioned from non-functioning pixel 135.
Finally, in a process block 365, the pixel values, including the updated pixel values for surrounding pixels 140, are loaded into display screen 105 to display the frame image. As mentioned above, process 300 represents a high accuracy correction for one or more non-functioning pixels that uses real-time processing to determine the total brightness error associated with the pixel value destined for the non-functioning pixel. However, less computationally intensive techniques may also be used to provide adequate masking of dead or dark pixels.
The illustrated embodiment of process 500 includes a pre-calibration phase, including process blocks 505-525, that is similar to the pre-calibration phase of process 300. In one embodiment, process blocks 505-525 correspond to process blocks 305-325 of process 300, respectively.
Once process 500 reaches process block 530, the pixel values for surrounding pixels 140 of a given frame are received. In one embodiment where the dark pixel masking functionality is integrated into a display panel and executed by display controller 115, the pixel values are received into frame buffer 110. In another embodiment, where the dark pixel masking functionality is executed external to a display panel, the pixel values are received at TCON 130.
In a process block 535, the individual brightness scalars are applied to the pixel values of surrounding pixels 140 to increase their brightness. Thus, process 500 does not attempted to calculate the amount of lost brightness due to non-functioning pixel 135 and then apportion this brightness to surrounding pixels 140 for each frame. Rather, process 500 assumes that the brightness of non-functioning pixel 135 will be similar to the brightness of surrounding pixels 140 and applies fixed scalars (the individual brightness scalars determined in process block 525) to the pixel values of surrounding pixels 140 to increase the brightness of surrounding pixels 140. These fixed scalar values can be determined in the manner described above providing preferences based upon proximity and orientation. In other embodiments, the fixed scalars may simply be greater than unity multipliers, or additive padding values, that increase the brightness figures of surrounding pixels 140 and need not be calculated using the techniques described above. For example, the fixed scalar values may be based upon trial and error testing for different categories or types of displays.
Finally, in a process block 540, the pixel values, including the updated pixel values for surrounding pixels 140, are loaded into display screen 105 to display the frame image. Process 500 provides a less computationally intensive technique for masking dark pixels. Process 500 may be well suited as a generic compensation technique that can be applied externally via an intelligent TCON 130 to most types of display panels.
The processes explained above are described in terms of computer software and hardware. The techniques described may constitute machine-executable instructions embodied within a tangible or non-transitory machine (e.g., computer) readable storage medium, that when executed by a machine will cause the machine to perform the operations described. Additionally, the processes may be embodied within hardware, such as an application specific integrated circuit (“ASIC”) or otherwise.
A tangible machine-readable storage medium includes any mechanism that provides (i.e., stores) information in a non-transitory form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine-readable storage medium includes recordable/non-recordable media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.).
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
This application claims priority under the provisions of 35 U.S.C. § 119(e) to U.S. Provisional Application No. 62/169,974, filed Jun. 2, 2015.
Number | Name | Date | Kind |
---|---|---|---|
6188454 | Greene et al. | Feb 2001 | B1 |
6618115 | Hiroki | Sep 2003 | B1 |
6680761 | Greene et al. | Jan 2004 | B1 |
7256550 | Park et al. | Aug 2007 | B2 |
7460133 | Messing et al. | Dec 2008 | B2 |
7777691 | Nimmer et al. | Aug 2010 | B1 |
7948672 | Sampsell | May 2011 | B2 |
8013816 | Kim | Sep 2011 | B2 |
8036456 | Stellbrink | Oct 2011 | B2 |
8164598 | Kimpe | Apr 2012 | B2 |
8390532 | Hanamura et al. | Mar 2013 | B2 |
9030375 | Curtis et al. | May 2015 | B2 |
20040051944 | Stark | Mar 2004 | A1 |
20040114084 | Kim et al. | Jun 2004 | A1 |
20040263648 | Mouli | Dec 2004 | A1 |
20050179675 | Hekstra et al. | Aug 2005 | A1 |
20060012733 | Jin et al. | Jan 2006 | A1 |
20060055864 | Matsumura et al. | Mar 2006 | A1 |
20070132778 | Gallen et al. | Jun 2007 | A1 |
20080063256 | Stellbrink | Mar 2008 | A1 |
20090079681 | Chang et al. | Mar 2009 | A1 |
20100177261 | Jin et al. | Jul 2010 | A1 |
20120120007 | Choi et al. | May 2012 | A1 |
20120256534 | Lee et al. | Oct 2012 | A1 |
20120281123 | Hoda | Nov 2012 | A1 |
20130093646 | Curtis et al. | Apr 2013 | A1 |
20130135589 | Curtis et al. | May 2013 | A1 |
20130141595 | Cho | Jun 2013 | A1 |
20130236104 | Lee | Sep 2013 | A1 |
20150138755 | Bastani et al. | May 2015 | A1 |
20170026597 | Cao | Jan 2017 | A1 |
Number | Date | Country |
---|---|---|
200410422 | Jun 2004 | TW |
I286241 | Sep 2007 | TW |
201117376 | May 2011 | TW |
2008022464 | Feb 2008 | WO |
2014070684 | May 2014 | WO |
Entry |
---|
ISO 13406-2, Wikipedia, 2 pages, accessed Oct. 20, 2014. |
Number | Date | Country | |
---|---|---|---|
62169974 | Jun 2015 | US |