Optimized pixel performance in display systems

By employing hybrid modulation techniques and pixel performance data-driven optimization, the problems of high power consumption and reduced dynamic range caused by pixel performance differences in image displays have been solved, achieving efficient and clear image display.

CN122162178APending Publication Date: 2026-06-05GOOGLE LLC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GOOGLE LLC
Filing Date
2023-10-31
Publication Date
2026-06-05

Smart Images

  • Figure CN122162178A_ABST
    Figure CN122162178A_ABST
Patent Text Reader

Abstract

A display system (100) includes a memory (102) storing a set of pixel performance data entries including a first entry (104-1) associated with a first performance level of a first pixel and a second entry (104-2) associated with a second performance level of a second pixel. The display system further includes a first pixel driver (106) configured to drive the first pixel (108-1) at a first drive strength selected from a first plurality of drive strengths available to the first pixel driver based on the first entry. The display system also includes a second pixel driver (106) configured to drive the second pixel (108-2) at a second drive strength selected from a second plurality of drive strengths available to the second pixel driver based on the second entry. In a case where the second performance level is higher than the first performance level (116), the second drive strength is lower than the first drive strength (114).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This manual relates to image displays. Background Technology

[0002] Digitally encoded images can be presented to viewers using a variety of different types of image displays, which are features of a variety of different types of devices. For example, personal computing devices (e.g., laptops, tablets, etc.), mobile devices (e.g., smartphones, e-readers, etc.), wearable devices (e.g., smartwatches, etc.), extended reality devices (e.g., virtual and augmented reality headsets), televisions, and various other devices can all be characterized by image displays configured to present images to the user of the device. Summary of the Invention

[0003] This paper describes systems and methods for optimizing pixel performance in display systems. For any given pixel array (e.g., in a panel of an image display such as those mentioned above), different pixels can perform at different levels based on a variety of factors. For example, a small difference in how each pixel is manufactured may result in one pixel having a higher luminance efficiency level than another pixel in the same array (e.g., emitting light with higher intensity when driven at a specific power level). As another example, different characteristics of optical devices (e.g., lenses, optical waveguides, etc.) can similarly affect the luminance efficiency level or other performance properties of different pixels. Despite these differences, conventional display systems typically drive each pixel with the same drive strength, thus accounting for the differences in a way that compromises the overall dynamic range that the display system can provide. On the other hand, the systems and methods described herein help optimize pixel performance by using a hybrid digital (e.g., time / pulse width) and analog (e.g., voltage / current) modulation means to control pixel brightness. That is, not only are pixels with different performance levels driven digitally to display different apparent brightness levels depending on the content being displayed, but pixels are also driven with different analog drive strengths (e.g., different voltage or current levels) to help compensate for the differences in performance levels. In this way, display systems employing these technologies can save power, increase dynamic range, and enjoy other significant benefits described herein.

[0004] In one implementation, an illustrative display system may include a memory configured to store a set of pixel performance data entries, the set of pixel performance data entries including: 1) a first entry associated with a first performance level of a first pixel, and 2) a second entry associated with a second performance level of a second pixel, the second performance level being higher than the first performance level. The performance level of a given pixel (e.g., the first performance level of the first pixel, the second performance level of the second pixel, etc.) may be associated with an inherent property of the pixel (e.g., luminance efficiency, color, response time, temperature coefficient, or other such property depending on the manufacturing method of the pixel), may be a property of an element interacting with the pixel (e.g., an electrical or optical element, etc.), or may otherwise be injected into, assigned to, or associated with the pixel in any suitable manner. The display system may further include a first pixel driver configured to drive the first pixel with a first drive strength selected from a first plurality of drive strengths available to the first pixel driver based on a first entry stored in the memory. Additionally, the display system may further include a second pixel driver configured to drive the second pixel at a second driving strength selected from a second plurality of driving strengths available to the second pixel driver based on a second entry stored in memory. Since the second performance level is higher than the first performance level, the second driving strength used to drive the second pixel can be lower than the first driving strength used to drive the first pixel.

[0005] In another implementation, an illustrative method may be performed by a display system. The method may include the following steps: 1) accessing a first entry from a memory storing a set of pixel performance data entries, the first entry being associated with a first performance level of a first pixel; 2) accessing a second entry from the memory, the second entry being associated with a second performance level of a second pixel, the second performance level being higher than the first performance level; 3) selecting a first drive strength from a first plurality of drive strengths available to a first pixel driver configured to drive the first pixel, based on the first entry stored in the memory; 4) selecting a second drive strength from a second plurality of drive strengths available to a second pixel driver configured to drive the second pixel, the second drive strength being lower than the first drive strength, based on the second entry stored in the memory; 5) driving the first pixel with the first drive strength using the first pixel driver; and 6) driving the second pixel with a second drive strength lower than the first drive strength using the second pixel driver.

[0006] In another implementation, another illustrative method can be performed by a display system. This method may include the following steps: 1) writing a set of pixel performance data entries into a lookup table stored in memory, the set of pixel performance data entries including: a first entry associated with a first luminance efficiency level of a first pixel, the first luminance efficiency level being determined based on a first pixel efficiency characterization of the first pixel and a first characteristic of a first optical device associated with the first pixel; and a second entry associated with a second luminance efficiency level of a second pixel, the second luminance efficiency level being higher than the first luminance efficiency level and being determined based on a second pixel efficiency characterization of the second pixel and a second characteristic of a second optical device associated with the second pixel; 2) driving the first pixel with a first drive strength based on the first entry of the lookup table and using a first pixel driver, the first drive strength being selected from a first plurality of drive strengths available to the first pixel driver by activating a first current source subgroup from a first set of current sources available to the first pixel driver; and 3) driving the second pixel with a second drive strength based on the second entry of the lookup table and using a second pixel driver, the second drive strength being selected from a second plurality of drive strengths available to the second pixel driver by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second drive strength being lower than the first drive strength.

[0007] Details of these and other implementations are set forth in the accompanying drawings and the description below. Other features will also become apparent from the following description, drawings, and claims. Attached Figure Description

[0008] Figure 1 An illustrative display system configured to optimize pixel performance is shown, based on the principles described herein.

[0009] Figure 2A This illustrates the principles described herein. Figure 1 An explanatory implementation of the display system.

[0010] Figure 2B This demonstrates what can be achieved by the principles described herein. Figure 1 The display system implements various example images to display specific aspects.

[0011] Figure 2C This demonstrates what can be achieved by the principles described herein. Figure 1 The display system implements a specific aspect of the example image display.

[0012] Figure 3 This illustrates the principles described herein. Figure 1 Another illustrative implementation of the display system.

[0013] Figure 4An illustrative manner is shown that, according to the principles described herein, one can select a drive strength from a plurality of drive strengths available to a pixel driver that drives a pixel.

[0014] Figure 5A A first example configuration is shown in which an illustrative pixel driver uses a hybrid approach to drive pixels with different performance levels to the same apparent brightness level, based on the principles described herein.

[0015] Figure 5B This demonstrates the principle that can be derived from the principles described herein. Figure 5A The illustrative performance aspects generated in the example configuration.

[0016] Figure 6A A second example configuration is shown in which the illustrative pixel driver uses a hybrid approach to drive pixels with different performance levels to the same apparent brightness level, based on the principles described herein.

[0017] Figure 6B This demonstrates the principle that can be derived from the principles described herein. Figure 6A The illustrative performance aspects generated in the example configuration.

[0018] Figure 7A An illustrative method that can be performed by a display system based on the principles described herein is shown.

[0019] Figure 7B Another illustrative method that can be performed by a display system based on the principles described herein is shown. Detailed Implementation

[0020] This paper describes systems and methods for optimizing pixel performance in display systems. Some emission-type image displays control the brightness of different pixels by rapidly modulating pixels to turn on and off according to desired brightness. For example, if a particular pixel is expected to be relatively bright for a given image being displayed (e.g., a specific video frame being presented), that pixel will be modulated (e.g., using pulse width modulation (PWM) or another suitable time-based modulation) to be on (i.e., in the on state) for most or the entire frame period and off (i.e., in the off state) for a small portion of the frame period or not off for the entire frame period. Conversely, another pixel that is relatively dark during that frame period will be modulated to be off for a larger portion of the frame period and on for a shorter portion. However, conventional image displays will still drive both pixels at the same analog level (e.g., using the same voltage or current level).

[0021] Other emitting displays can be configured to control the brightness of different pixels by using analog levels to drive various pixels. For example, if a particular pixel is desired to be relatively bright, it can be driven with a larger current or a higher voltage compared to relatively darker pixels. However, in this case, the time modulation described above would not be necessary, and the analog levels would typically be driven throughout the entire frame period to achieve the desired effect.

[0022] The digital-only (PWM or other time modulation) and analog-only (current / voltage value modulation) methods described above allow for a wide range of brightness levels achievable by various pixels, enabling image display. However, as will be described in detail herein, further optimization of pixel performance can be achieved by using a combination of these methods (referred to herein as hybrid methods or hybrid digital / analog methods).

[0023] The hybrid approach employed by the systems and methods described herein is configured to account for pixel performance differences, which, unlike the different brightness levels described above, can be largely or entirely independent of the content being displayed. Pixel performance can vary from pixel to pixel with respect to various performance aspects and for various reasons. For example, many examples described herein explicitly or implicitly relate to the brightness or intensity aspect of pixel performance (e.g., luminance efficiency, which determines how much light a given pixel emits when driven at a particular level). Other aspects of pixel performance that can be similarly addressed based on the principles described herein include, but are not limited to, color performance aspects (e.g., related to the wavelength produced by the pixel under a given specific input), response time aspects (e.g., related to how quickly the pixel responds to an input stimulus), temperature coefficient aspects (e.g., related to how temperature affects pixel performance), and other suitable aspects. Certain aspects of pixel performance can be associated with inherent differences between pixels (e.g., due to manufacturing processes or other processes that cause minute variations between pixels). Additionally, the same or other aspects of pixel performance can be associated with the context in which the pixels are employed. For example, an optical device (e.g., a lens, waveguide, etc.) associated with (assigned to) a pixel can attenuate the light emitted by that pixel more than an optical device associated with another pixel in the same panel.

[0024] The systems and methods described herein for optimizing pixel performance in display systems (e.g., micro-LED displays, LCOS displays, etc.) with widely varying pixel performance and behavior can take into account these and other such performance differences (e.g., content-independent relative permanent differences between pixels). For example, these display systems can use different drive strengths for pixels with different performance levels (to drive pixels with different analog levels to at least partially equalize these performance differences) while relying on time modulation (e.g., PWM, etc.) to achieve content-specific brightness differences between frames (and to supplement and compensate for performance differences that cannot be fully or accurately addressed by different analog values).

[0025] A technical challenge faced by almost all image displays involves using power as efficiently as possible. Depending on the application and the type of device in which the display system is implemented, the power consumption of an image display can indeed be an important design consideration and / or constraint. In particular, while all electronic devices are generally expected to operate as efficiently as possible, certain types of devices may be particularly sensitive to technical issues related to low power efficiency. For example, the total battery life of a battery-powered device can be an important consideration for consumers looking to purchase such a device, and the experience a device is configured to provide (i.e., is able to provide) can depend to a great extent on how efficiently the device can perform and for how long given a specific amount of battery power.

[0026] Another technical challenge faced by many display systems is optimizing characteristics such as dynamic range without significantly compromising other design goals (e.g., power consumption, complexity, portability, component cost, etc.). Image displays with a large dynamic range are able to display a wide range of different brightness values ​​in order to present images with sharp contrast (e.g., deep blacks, vibrant colors, etc.). The amount of dynamic range used by a particular pixel is determined by how many different brightness values ​​that particular pixel can produce, which typically corresponds to the number of bits used to encode the brightness values ​​of the pixel. However, the dynamic range of pixels with different performance levels can be skewed in a way that reduces the overall dynamic range of the entire panel. For example, a highly efficient pixel may lose dynamic range at the low end because even a small time period in a pulse-width modulation scheme can result in relatively high apparent brightness, while a less efficient pixel may lose dynamic range at the high end because a large time period in a pulse-width modulation scheme can be required to achieve the desired apparent brightness.

[0027] The systems and methods described herein for optimizing pixel performance in display systems provide technical solutions to these and more technical problems. Specifically, a technical solution to the challenge of optimizing power is achieved by using relatively small drive strengths (which are associated with less power compared to larger drive strengths) to drive pixels with appropriate high performance levels. Thus, powering all pixels in a conventional display system can rely on relatively high drive strengths that can be reserved only for pixels whose performance level (e.g., luminance efficiency) should be served by such drive strengths and are well served by such drive strengths. A technical solution to the challenge of optimizing dynamic range is achieved by at least partially equalizing pixels performing at different levels (e.g., centering, reducing skew, or performance differences between these pixels). For example, by reducing the analog drive strength of a relatively efficient pixel as described above, a larger amount of bit space of that pixel's luminance value can be dedicated to the low end to distinguish dark intensity levels (thus providing a more appealing picture for content with a large amount of dark colors). At the same time, increasing the analog drive strength of a relatively inefficient pixel (at least relative to an efficient pixel) allows more bit space of that pixel's luminance value to be dedicated to the high end to distinguish bright intensity levels. The technical effect of these solutions is that image displays employing the principles described herein can still deliver clear and engaging reproduction of the desired content, even when highly efficient in terms of power, heat, and complexity.

[0028] Other technical problems that may exist in certain conventional systems and can be addressed by the technical solutions generated by the systems and methods described herein may include at least: increased power consumption due to higher drive levels of low-performance pixels; increased quantization error due to increased performance step size when the PWM bit depth remains constant with increasing drive level; increased power consumption due to the high switching speed required to achieve high dynamic range PWM; additional environmental sensitivity caused by analog modulation (which may require additional calibration); higher input bandwidth requirements for data from the image source (e.g., to provide an appropriate bit depth for the desired dynamic range); additional memory required to store high dynamic range data from the data source; and so on. In some cases, these problems lead to higher power consumption, interface complexity (e.g., where pixel performance variations are limited to certain colors or are more pronounced for some colors than others), image source processing requirements, and other issues, all of which can be at least partially mitigated or improved using the systems and methods described herein for optimizing pixel performance. Furthermore, these solutions can be implemented without changing the interface to the image source, thereby not increasing system complexity in normal operation (e.g., after a calibration process has been performed to write to a lookup table with pixel performance data entries, as described in detail below).

[0029] Various implementations will now be described in more detail with reference to the accompanying drawings. It should be understood that the specific implementations described below are provided as non-limiting examples and can be applied to various situations. Furthermore, it should be understood that other implementations not explicitly described herein may also fall within the scope of the claims set forth below. Systems and methods for optimizing pixel performance in a display system can produce any or all of the technical benefits mentioned above, as well as various additional technical benefits that will be described below and / or become apparent.

[0030] Figure 1 An illustrative display system 100 configured to optimize pixel performance according to the principles described herein is shown. As shown, the display system 100 includes a memory 102 that includes pixel performance data entries 104-1 (entry 104-1), pixel performance data entries 104-2 (entry 104-2), and other pixel performance data entries not explicitly shown (indicated by ellipses). These pixel performance data entries may be collectively referred to as entry 104. The display system 100 further includes a set of pixel drivers 106 and a set of pixels 108. As shown, certain specific pixels are shown as circular objects labeled “Px”. Specific pixel 108-1 is labeled “P1”, and another pixel 108-2 is labeled “P2”. For illustrative purposes, these pixels will be selected in the following description, but it should be understood that the display system 100 may include an array of any suitable number of pixels 108, and pixels 108-1 and 108-2 may represent any arbitrary pixel within this array that satisfies the criteria to be described. Each element of the display system 100 will now be described in more detail.

[0031] Memory 102 may include any transient or non-transitory data storage structure configured to store a set of pixel performance data entries, such as entry 104. For example, memory 102 may be implemented as a set of rewritable hardware registers, as read-only memory, as random access memory, NAND memory, solid-state memory, or any other suitable form of data storage. In some implementations, memory 102 may include a read-only lookup table, to which each entry 104 (including first entry 104-1 and second entry 104-2) is permanently encoded during the manufacture of display system 100. For example, permanent encoding of the read-only lookup table during manufacture may provide some convenience for certain display systems intended for off-the-shelf use without significant optical or other modifications that would benefit from custom calibration. In other implementations, memory 102 may include a reconfigurable lookup table, to which each entry 104 (e.g., including first entry 104-1 and second entry 104-2) is entered (i.e., written) based on calibration performed after the manufacture of the display system. For example, for display systems designed for integration with optics that are not controlled by the display system manufacturer and will have a significant impact on the performance of various pixels 108, post-manufacturing calibration can help ensure that optimal and accurate pixel performance data is entered into a reconfigurable lookup table. In some cases, periodic calibration and associated rewriting or updating of the reconfigurable lookup table can be performed.

[0032] As indicated by the dashed lines connecting memory 102 and pixel performance map 110, pixel performance data entries 104 can be associated with the performance level of each pixel 108 (e.g., storing information indicating the performance level). For example, as shown by the dotted dashed lines connecting entries 104 to circular pixels on performance map 110, the pixel performance attributes of each pixel 108 can be analyzed and determined to be different. As shown, for example, a first entry (e.g., entry 104-1) associated with a first performance level (e.g., performance level 112-1) of a first pixel (e.g., pixel 108-1) can be stored in memory 102 together with a second entry (e.g., entry 104-2) associated with a second performance level (e.g., performance level 112-2) of a second pixel (e.g., pixel 108-2).

[0033] As already mentioned, different pixels can have different performance levels for various reasons, such as manufacturing differences, optical differences caused by different optical devices (e.g., lenses, waveguides, etc.) associated with the pixels. Therefore, a calibration process can be performed to determine the performance level of each pixel 108, and these performance levels can be stored in a lookup table in memory 102. For example, each performance level 112 (including a first performance level 112-1 and a second performance level 112-2) can be a luminance efficiency level determined based on pixel efficiency characterizations (e.g., a first pixel efficiency characterization of the first pixel, a second pixel efficiency characterization of the second pixel, etc.) performed as part of the calibration. As another example, each performance level (e.g., again including a first performance level 112-1 and a second performance level 112-2) can be a luminance efficiency level determined based on one or more characteristics of the optical device associated with the pixel (e.g., a first characteristic of the first optical device associated with the first pixel, a second characteristic of the second optical device associated with the second pixel, etc.), which is also identified as part of the calibration. In some implementations, both optical device characteristics and pixel efficiency characterization (which can identify inherent differences between pixels, such as those caused by the manufacturing process) can be identified as part of the calibration process and integrated into a single value for each pixel in a lookup table to be entered or written to memory 102.

[0034] For illustration, various performance levels 112 (including specific performance levels 112-1 and 112-2) are plotted on performance graph 110 with respect to drive intensity 114 (on the x-axis) and pixel performance 116 (on the y-axis). For example, this pixel performance 116 can be correlated with the brightness of a pixel, such that the various pixel performance levels 112 represent the pixel's luminance efficiency level, or in other words, how bright the pixel is per unit drive intensity 114 of energy emitted. As indicated by the arrows and markings in the graph, a pixel with a performance level 112 (e.g., performance level 112-1) that requires a relatively high drive intensity 114 to achieve a relatively low pixel performance 116 will be understood as relatively inefficient and has a relatively low performance level (“lower performance”). Conversely, a pixel with a performance level 112 (e.g., performance level 112-2) that provides a relatively high pixel performance 116 with a relatively moderate drive intensity 114 will be understood as relatively efficient and has a relatively high performance level (“higher performance”). Therefore, for this example, performance graph 110 shows that the second performance level 112-2 is higher than the first performance level 112-1. The values ​​representing these attributes (performance level 112) can be stored as entries 104 in a lookup table, which is included in or implemented by memory 102 for use in the manner described.

[0035] The set of pixel drivers 106 can be configured to use incoming image data (not explicitly shown) and pixel performance data (e.g., entry 104) stored in memory 102 to cause the set of pixels 108 to display an image for a specific time period (e.g., frame time associated with each image or frame). For example, the first pixel driver 106 can be configured to drive a first pixel (e.g., pixel 108-1) with a first drive strength selected from a first plurality of drive strengths available to the first pixel driver based on a first entry (e.g., entry 104-1) stored in memory 102. Similarly, the second pixel driver 106 can be configured to drive a second pixel (e.g., pixel 108-2) with a second drive strength selected from a second plurality of drive strengths available to the second pixel driver based on a second entry (e.g., entry 104-2) stored in memory 102. Because the second performance level 112-2 is higher than the first performance level 112-1, the second driving strength of the second pixel driver 106 driving the second pixel 108-2 can be lower than the first driving strength of the first pixel driver 106 driving the first pixel 108-1. For example, in some implementations, the second driving strength can be selected to be lower than the first driving strength based on the fact that the second performance level is higher than the first performance level. Examples of available driving strengths and how a particular pixel driver 106 selects these available driving strengths based on pixel performance data entry 104 will be described in more detail below.

[0036] As already described, the group of pixels 108 can be driven by pixel driver 106 in any manner described herein. When properly driven according to the principles described herein, pixels 108 can collectively emit light to reproduce the image.

[0037] The systems and methods described herein for optimizing pixel performance (e.g., including display system 100) can be implemented using various types of display systems and in combination with various display technologies. The following will now describe... Figures 2A to 2C Examples of such display systems in an operational setting are shown, and certain techniques that can play a role in the implementation of these display systems are illustrated. More specifically, Figure 2A An illustrative implementation of the display system 100 is shown, while Figure 2B and Figure 2C Some technical aspects of example image display that can be implemented by display system 100 according to the principles described herein are shown.

[0038] exist Figure 2AIn this document, the display system 200 that receives image data from image source 202 will be understood as representing an illustrative implementation of display system 100. As shown, display system 200 includes a display preprocessor 204, an image buffer 206, a display postprocessor 208, and a pixel performance optimizer 210 that receives image data from image source 202. The pixel performance optimizer instructs the set of pixel drivers 106 and the corresponding set of pixels 108 (both described above) to provide the various technical benefits and advantages described herein.

[0039] Display system 200 can realize an image display that can be a feature of many different types of electronic devices. For example, a relatively large image display realized by display system 200 can be included in devices such as personal computers (e.g., laptops, desktop monitors, etc.) and televisions; a smaller image display realized by display system 200 can be included in devices such as mobile devices (e.g., smartphones, tablets, e-readers, etc.); and even smaller image displays realized by display system 200 can be included in devices such as smartwatches, augmented reality glasses (or other extended reality head-mounted devices) or other wearable or ultra-portable devices.

[0040] Figure 2B This illustrates certain aspects of such image display that can be implemented by a display system such as display system 200 (which is itself an implementation of display system 100).

[0041] The first illustrative device 220-1 is shown as an augmented reality glasses pair configured to display content on a pair of display panels 222-1 associated with the lenses of the glasses. Although not shown in Figure 2B As explicitly shown, but to be understood, the display system 200 may be implemented within the frame of the device 220-1 (e.g., within the temples of eyeglasses, or within the nose bridge, frame, or endpiece of eyeglasses), and waveguides incorporated into the lenses may carry the emitted light to be displayed to the user on the display panel 222-1 in front of his or her eyes. In this type of example, the display system functions as a head-up display system configured to provide a perspective view of the surrounding environment from any subgroup of pixels that is not driven during any given time period (from the entire set of all available pixels).

[0042] The second illustrative device 220-2 is shown as a television or computer monitor configured to display content on a screen 222-2. In this type of display device, the display system 200 can be implemented within the chassis of the television or computer monitor (e.g., behind the screen 222-2). Although the screen 222-2 is shown as a rectangular viewing panel (which is typical for this type of display device), it should be understood that image displays can take many shapes, including some shapes that are non-rectangular, disjoint (i.e., multipart), multidimensional (rather than a 2D pixel array), etc. For example, display panel 222-1 shows an example of a non-rectangular image display.

[0043] The circular display sample 224, shown as originating from display panel 222-1 or screen 222-2, is illustrated as comprising a plurality of picture elements referred to as pixels 226. As mentioned above, it should be understood that the hardware for these picture elements (e.g., the implementation of pixel 108 described above) can be implemented in any suitable location, such as on the frame of eyeglasses device 220-1 or behind the screen of television device 220-2. However, regardless of this detail, a viewer using any of these devices can perceive pixels 226 of sample 224 at the locations shown on display panel 222-1 and / or screen 222-2, but it should be understood that sample 224 is not necessarily drawn to scale.

[0044] Pixels 226 can be organized or positioned in an N × M array, where N is the number of rows of image elements in the array and M is the number of columns of image elements in the array. For small image displays, examples of array sizes (N, M) could be (10, 10), (100, 100), etc., where each pixel 226 in the array itself has an array or grid of light-emitting elements 228 (e.g., light-emitting elements 228-R, 228-G, and 228-B, which will be described in more detail below and may also be referred to as “pixels” corresponding to a particular color component of a larger pixel 226). For larger image displays, examples of array sizes could include (500, 500), (1000, 1000), (5000, 5000), (10000, 10000), etc., again where each pixel 226 in the array itself has an array or grid of light-emitting elements 228. In some implementations, N and M can be different (to form rectangular, non-square arrays, such as a 1080×1920 full HD array or another array with standard resolution). Alternatively, as mentioned above, the array can have different non-rectangular shapes.

[0045] Pixel 226 in sample 224 can be implemented in any suitable manner and / or by any suitable number of light-emitting elements 228 (i.e., color-specific pixel components). Two specific examples of pixel 226 are shown in... Figure 2B The pixels 226 are shown as pixels 226-1 and 226-2. However, it should be understood that each pixel 226 in a given display will be similar or identical, and specific examples of pixels 226-1 and 226-2 will typically be used in different image displays.

[0046] In pixel 226-1, Figure 2B An example of a pattern or mosaic of light-emitting elements 228-R (red pixel component), 228-G (green pixel component), and 228-B (blue pixel component) is shown. In this example, a portion of an array or grid of light-emitting elements 228, which are part of a pixel, is magnified to show a particular pattern that can be used to implement a single pixel 226 (i.e., pixel 226-1 in this case). Specifically, this example shows three different types of light-emitting elements 228 that each produce different colors of light (such as, for example, red, green, and blue light). In some implementations, the pattern may include (as shown) twice the size of the light-emitting elements producing red light (i.e., light-emitting element 228-R) compared to the light-emitting elements producing green light (light-emitting element 228-G) or blue light (light-emitting element 228-B). In other implementations, the pattern may include twice the size of the light-emitting elements producing red light (not shown) that produce green or blue light, or include a fourth type of light-emitting element that produces a fourth color of light (e.g., white light). Typically, the area of ​​a light-emitting element of one color can vary relative to the area of ​​light-emitting elements of other colors to meet specific color gamut and / or power efficiency requirements. (Combined) Figure 2B The patterns and colors described are provided as illustrative rather than limiting. A wide variety of patterns and / or colors (for example, for achieving a specific color gamut in a display) can be used for the light-emitting elements of image elements. In some implementations, additional light-emitting elements (of any color) can be used in a specific pattern to provide redundancy.

[0047] For certain types of displays (e.g., light field displays), a single pixel 226 (e.g., sometimes referred to as a super raxel in the context of a light field display) can comprise a larger array of light-emitting elements than the four light-emitting elements shown in the example of pixel 226-1. These light-emitting elements can be monolithically integrated onto the same semiconductor substrate. For example, when different types of light-emitting elements are based on different materials (or different variations or compositions of the same material), each of these different materials can be compatible with the semiconductor substrate, allowing different types of light-emitting elements 228 (e.g., light-emitting elements 228-R, 228-G, and 228-B) to be monolithically integrated onto the semiconductor substrate. This enables ultra-high-density arrays of light-emitting elements 228, which are useful for ultra-high resolution image displays, extremely small image displays (such as those implemented within the frame of eyeglass device 220-1), light field displays, and the like.

[0048] A magnified view of pixel 226-2 Figure 2B The image shown is an array of light-emitting elements similar to the light-emitting element 228 described above with respect to pixel 226-1, but with more elements. The array of light-emitting elements for pixel 226-2 can be a P×Q array, where P is the number of rows of light-emitting elements in the array, and Q is the number of columns of light-emitting elements in the array. Examples of array sizes (P, Q) can include (5, 5), (10, 10), (12, 12), (20, 20), (25, 25), etc. It should be understood that these sizes are given only as examples, and the array of light-emitting elements for a given image element is not necessarily limited to a square or rectangle, and can instead be based on a hexagonal shape or other suitable shape.

[0049] For each pixel 226 implemented in the form of pixels 226-2, the light-emitting elements in the array may include separate and distinct groups of light-emitting elements, which are allocated or grouped based on spatial and angular proximity (e.g., logical grouping) to produce different light outputs (e.g., directional light outputs that help produce a light field view).

[0050] return Figure 2A A suitable image source 202 can provide image data to the display system 200 in any way that can serve the specific type of display system being implemented. For example, the image source 202 can provide video data representing a particular movie or television program to the display system 200 implemented as a television (e.g., device 220-2), while the image source 202 can provide information about the augmented content to be overlaid on the external environment to the display system 200 implemented as augmented reality glasses (e.g., device 220-1).

[0051] The display preprocessor 204 and display postprocessor 208 can each be implemented as any processor, microprocessor, custom circuit system, hardwired digital logic, etc. (or a combination thereof) that can serve a particular implementation. The display preprocessor 204 can be configured to perform operations on the image data after receiving image data from the image source 202 and before the image data is buffered by the image buffer 206. The display postprocessor 208 can be configured to perform operations on the image data after it has been buffered by the image buffer 206 and before it is sent to the pixel performance optimizer 210 to instruct the pixel driver 106 to drive the pixels 108. The operations performed on the image data by the display preprocessor 204 and / or the display postprocessor 208 can include any suitable image processing operations, which can be performed in any order that can serve a particular implementation. For example, in various implementations, the operations performed by the display preprocessor 204 and / or the display postprocessor 208 may include, but are not limited to, color correction operations, data transformation operations (e.g., for transforming image data into a form more suitable for the display technology being used), data compression and / or decompression operations, color reformatting operations (e.g., for converting from one color format to another), bit depth operations (e.g., for adjusting the dynamic range of data to better match the image display's capabilities), and other image or color processing operations.

[0052] Image buffer 206 can be implemented as a set of memories (e.g., data registers, NAND memory, etc.) configured to store a certain amount of image data. For example, in some implementations, image buffer 206 may include enough memory to store one or more entire frames of image data. In other implementations, image buffer 206 may lack enough memory to store an entire frame at once. For example, image buffer 206 may only include enough memory to buffer data associated with a specific number of pixels (e.g., pixels in a row, a portion of a row, blocks of consecutive rows, etc.), rather than buffering an entire frame at once.

[0053] Pixel driver 106 can be implemented as any suitable circuit system configured to convert digital image data into analog signals (e.g., voltage, current) that the pixel driver can use to drive pixel 108. Based on such analog signals driven by pixel driver 106, pixel 108 can then convert electrical energy into light energy (i.e., light). In some implementations, pixel driver 106 can be associated with a pixel one-to-one. That is, one pixel driver 106 in the group of pixel drivers can be associated with one pixel 108 (in some implementations, a pixel color component), different pixel drivers 106 in the group of pixel drivers can be associated with another pixel 108 (in some implementations, another pixel color component), and so on. In other implementations, pixel driver 106 can be configured to drive pixels in a row / column scheme by, for example, activating horizontal and vertical lines associated with the pixel (e.g., activating a specific row by a row driver, activating a specific column by a column driver, etc.).

[0054] As mentioned above, some display panels can implement pixel drivers 106 such that they provide analog values ​​(e.g., voltages or currents with a range of possible values) to drive the corresponding pixels 108 (e.g., higher voltage or current values ​​drive the pixels brighter, lower voltage or current values ​​drive the pixels darker, etc.). Other display panel implementations can configure pixel drivers 106 to control the brightness of pixels 108 by means other than analog values. For example, a pulse width modulation (PWM) scheme can be used to use time as the value controlling the change in brightness of each pixel or pixel component. In this type of example, the voltage or current setpoint can be rapidly switched on and off (e.g., over several cycles per frame time period) to produce the effect of a pixel being at maximum brightness (on for the entire time period), at minimum brightness (on for only one cycle during the time period, off for the rest of the time), or somewhere in between (on for more than one cycle, but off for at least one cycle). As mentioned above and will be described in more detail below, a hybrid approach using analog values ​​that vary pixel by pixel and PWM signals that change the brightness of each pixel frame by frame can be employed in conjunction with the principles described herein.

[0055] like Figure 2A As shown in the diagram, the adjacent rectangles depicting the group of pixel drivers 106 and the group of pixels 108 are arranged in a two-dimensional plane, and the pixel drivers 106 can be positioned directly after the pixels 108, such that each pixel (or more specifically, each pixel component of the various red, green and blue colors) can be driven by the adjacent corresponding pixel driver.

[0056] To illustrate, Figure 2CAn exploded view 230 shows a grid (or array) of pixel assemblies 232 (e.g., similar to the light-emitting elements 228-R, 228-G, and 228-B described above) disposed on pixel plane 234. Directly behind pixel plane 234, a corresponding grid of pixel drivers 236 is shown disposed on driver plane 238, wherein pixel drivers 236 correspond one-to-one with pixel assemblies 232. It should be understood that suitable optics (not shown in the diagram) Figure 2C (As explicitly shown in the image) can be arranged on the other side of pixel plane 234 to facilitate the travel of light emitted by each pixel component to the viewer's eye in a desired manner. For example, lenses, light guides, diffraction gratings, and / or other suitable optical devices that may serve a particular implementation can be employed.

[0057] As shown (and as mentioned above), multiple pixels (and pixel element assemblies) can be monolithically integrated on the same semiconductor substrate. That is, multiple pixels can be fabricated, constructed, and / or formed from one or more layers of the same or different materials disposed, formed, and / or grown on a single continuous semiconductor substrate. However, despite Figure 2C The example shown illustrates a portion of a large monolithic pixel component array, but it should be understood that other implementations may involve a more limited array of pixel components (e.g., a single pixel, such as pixel 226-1 with four pixel components) or even a monochrome pixel consisting of only a single pixel component on a semiconductor substrate (e.g., a discrete LED, etc.).

[0058] As already described, display systems and methods for optimizing pixel performance based on the principles described herein can provide technical benefits such as increased power efficiency and dynamic range, reduced complexity and memory requirements, and other resource efficiencies. To further illustrate how these efficiencies and technical solutions can be achieved, Figure 3 Display system 300 is shown, which will be understood in the same way as display systems 100 and 200 described above, representing another display system that implements the optimized pixel performance principles described herein. (Regarding...) Figure 2A Similar to the described display system 200, the display system 300 is shown to receive image data from the image source 202 and to perform image data processing using both the display preprocessor 204 and the display postprocessor 208, which immediately precedes and follows the image data buffering (temporary storage) performed by the image buffer 206.

[0059] However, in the display system 300, additional details are shown regarding the implementation of the pixel performance optimizer 210, the group of pixel drivers 106, and the group of pixels 108. Some aspects shown by these additional details will now be described.

[0060] Pixel performance optimizer 210 is shown to include lookup table 302, which includes various pixel performance data entries, such as entry 104 described above. For example, lookup table 302 may be included in memory such as memory 102. Figure 3 In the memory (not explicitly shown), various entries 104 (including those mentioned above) can be written to, stored, and accessed. Figure 1 Entries 104-1 and 104-2 are specifically described to advance the pixel performance optimization described herein. As with entry 104 shown in memory 102 above, it should be understood that specific pixel performance data entries 104 (i.e., entries 104-1 and 104-2) explicitly shown in lookup table 302 can be included in a large set of such entries (e.g., one entry per pixel or pixel element in some implementations), as indicated by the ellipsis in lookup table 302.

[0061] The pixel performance data represented in the various entries 104 of lookup table 302 can be determined as part of processes such as the calibration or system characterization already described, and therefore, manufacturing differences between pixels, the optical effects of different optical devices (or different parts of the optical devices) associated with pixels, etc., can be taken into account. The lookup table design can be configured to easily adapt to the dynamic range of variations between different colors, as some colors may require more bits to achieve maximum performance. For example, any variability can be transparent to the image source and may not require additional continuous bandwidth (although some bandwidth will be needed to initialize the lookup table when the display starts up).

[0062] The pixel performance optimizer 210 is further shown as including a set of masks 306 associated with lookup table 302. Specifically, Figure 3Mask 306-1 corresponding to entry 104-1, mask 306-2 corresponding to entry 104-2, and ellipses representing various other masks that can be included for various other pixels (pixel elements) in the system are shown. As will be described and shown in more detail below, this set of masks 306 can be used to select between different available drive strengths for a given pixel 108 (e.g., different drive strengths available to the pixel driver 106 driving the pixel 108) such that the pixel is driven using optimized analog values ​​regardless of how the pixel is controlled digitally (e.g., according to PWM signal on and off, etc.), which help to center the dynamic range of the pixel based on the pixel's performance (as indicated by its corresponding entry 104 in lookup table 302). For example, if entry 104-1 indicates that the first pixel is relatively inefficient (low performance), mask 306-1 can be configured to use a relatively high drive strength when driving the first pixel. Similarly, if entry 104-2 indicates that the second pixel is relatively efficient (high performance), then mask 306-2 can be configured to use a relatively low driving strength when driving the second pixel.

[0063] Mask 306 can be implemented in any manner that serves a particular implementation. For example, in a binary PWM system, the pixel performance data of lookup table 302 can be interpreted as mask bits that select which of M drivers (e.g., current sources) can be activated simultaneously when the display post-processor 208 (e.g., which may be providing a PWM signal) determines that a pixel should be turned on. This allows N bits of lookup table data for a given color to select any one of 2^N drive strengths when the pixel is about to be turned on by turning on one or more drivers, the outputs of which can then be combined (summed) by a multiplexer (described below). While this type of approach may be the primary focus of the following description, it should be understood that other suitable masking, drive strength, and multiplexing methods can be employed in other implementations. For example, in an analog modulation system, the lookup data can be selected from a palette of offsets and scaling factors to be applied to the post-processed image data to modulate the selected driver to a level suitable for pixel performance.

[0064] Figure 3Additional details shown for pixel drivers 106 include that each pixel driver 106 for a given pixel 108 may have a customized pixel drive strength 308 selected (e.g., drive strength 308-1 for the first pixel 108-1 associated with entry 104-1 and mask 306-1; drive strength 308-2 for the second pixel 108-2 associated with entry 104-2 and mask 306-2, etc.). As already mentioned and as will be described in more detail below, each customized pixel drive strength 308 for driving pixel 108 can be selected from a plurality of drive strengths available for a given pixel driver 106. For example, each pixel driver 106 may include several current sources that can be activated or deactivated according to pixel performance (e.g., activation / deactivation based on pixel performance data entries for that pixel and using a mask). Therefore, Figure 3 The drive intensities 308-1 and 308-2 shown represent certain combinations of these current sources (based on the combinations selected based on entry 104 and mask 306). The pixel driver multiplexer 310 can then perform any additional work required to deliver the selected pixel drive intensity 308 to the corresponding pixel 108, which may serve a particular implementation. For example, if the pixel drive intensity is implemented as a combination of currents driven by a selected subgroup of the available current sources, the pixel driver multiplexer 310 can combine these current flows into a single current received by the pixel. In this example, the pixel driver multiplexer 310 would be a single node (conductor) fed into the pixel and on which all the selected currents are driven.

[0065] To illustrate this type of method, Figure 4 An illustrative method is shown that, according to the principles described herein, a driving strength can be selected from multiple driving strengths available to the pixel driver driving the pixel. As already discussed... Figure 3 Described, Figure 4 The implementation explicitly shown involves obtaining multiple drive strengths by selecting one or more current sources from a plurality of available current sources, such that currents from all selected current sources are combined to drive the pixel. Therefore, if Figure 4 The circuit system is understood to be replicated in a particular display system implementation for each pixel driver 106 used to drive each pixel 108. Figure 4 This demonstrates how to select different drive strengths for different pixels based on their performance attributes.

[0066] For example, a first pixel driver can be configured to select a first drive strength by activating a first subgroup of current sources from a first set of current sources available to the first pixel driver, while a second pixel driver can be configured to select a second drive strength by activating a second subgroup of current sources from a second set of current sources available to the second pixel driver. Although in this example the second set of current sources can be equivalent to the first set of current sources (i.e., the two pixel drivers can have the same type of current sources available), the second subgroup of current sources (i.e., the current sources selected to be activated) can be different from the first subgroup of current sources, such that the first pixel driver and the second pixel driver ultimately drive their respective pixels with different amounts of current.

[0067] although Figure 4 This illustration demonstrates a configurable drive strength implemented using this type of selectable set of current sources; however, it should be understood that in some implementations, custom drive strengths or other methods may be employed, such as selecting a specific drive strength from multiple drive strengths available to the pixel driver. Some implementations may utilize other selection mechanisms, more complex multiplexing techniques, etc.

[0068] Figure 4 The circuitry is shown focusing on a single entry 104 within lookup table 302, a single PWM signal from display post-processor 208, a single mask 306, and a single pixel driver 106. No specific pixel 108 (e.g., pixel 108-1, pixel 108-2, etc.) is specified as corresponding to these circuitry components, because it should be understood that the circuitry shown may exist in a similar or identical form for each pixel 108 implemented in a particular display system implementation (more specifically, for each pixel color component of each full-color pixel).

[0069] As shown in this example, Figure 4 The mask 306 shown (e.g., representing one of the masks in the group, such as mask 306-1 or mask 306-2) comprises multiple AND gates. Specifically, AND gate 402-0 is configured to mask the least significant bit (bit 0) of entry 104 provided by lookup table 302, AND gate 402-1 is configured to mask the next least significant bit (bit 1) of entry 104, and AND gate 402-2 is configured to mask the most significant bit (bit 2) of entry 104, where this particular example includes entries with these three bits (to create 2^3 = 8 possible drive strengths available to pixel driver 106, as will be described further). These AND gates 402-0 through 402-2 (collectively referred to as AND gate 402) are each shown performing a logical AND operation on their respective bits from lookup table 302 and on the PWM signal from display post-processor 208 (i.e., digital signals that modulate pixels to be on and off, as already described and will be explained in more detail below).

[0070] Therefore, when the PWM signal (or another signal indicating when pixel 108 should be turned on) is low (0), all gates 402 output a low signal so that no current can flow and thus the pixel is turned off. However, when the PWM signal is high (1), each gate therefore outputs its corresponding bit from entry 104. These outputs are then fed to the corresponding current sources and function to activate (enable) or deactivate (disable) these current sources. Specifically, as shown, current source 404-0 is enabled by the output of gate 402-0, current source 404-1 is enabled by the output of gate 402-1, and current source 404-2 is enabled by the output of gate 402-2. Each of these current sources is shown as being powered by power supply 406, which can power this circuitry and other similar circuitry used for pixel driver 106 throughout the system.

[0071] As shown by the dashed boxes surrounding these current sources 404-0 to 404-2 (collectively referred to as current sources 404), a particular pixel drive intensity 308 (e.g., one of drive intensity 308-1 or drive intensity 308-2) can be selected by a combination of which current sources are activated and deactivated at a particular time. Therefore, to provide a variety of different possible drive intensities, different current sources 404 are shown as being configured to provide different amounts of current when activated. Specifically, current source 404-0 is shown as providing 5 nanoamps (nA) when activated, current source 404-1 is shown as providing 10 nA when activated, and current source 404-2 is shown as providing 20 nA when activated. These specific values ​​are provided only as examples and are not limiting, as are the magnitudes of variation between them. However, it should be noted that the specific magnitudes of variation shown between the current sources (where each successive current source 404 makes the current amount twice that of the previous current) can allow for multiple linear drive intensity options, as will be described in more detail below.

[0072] As mentioned above, the multiplexing of drive strengths selected by activating and deactivating different current sources from multiple available current sources can be achieved by combining currents at a single node (e.g., on a single conductor input to a pixel). To illustrate, Figure 4 A dashed box labeled pixel driver multiplexer 310 is shown, in which currents from each of the activated current sources 404 are combined to drive a light-emitting diode (LED) 408 (e.g., a red, green, or blue LED or another suitable color LED), which in this example is shown to implement pixel 108. More specifically, as shown, the currents generated by each activated current source in a selected subgroup of current sources can be combined at this node to drive the pixel.

[0073] Chart 410 shows the possible drive strengths given this specific combination of mask and current source, as compared with... Figure 4 The lookup table 302 is associated with this. Specifically, the left column of graph 410 shows three-bit pixel performance data values. These values ​​can be stored as entries 104 in lookup table 302 and can produce the corresponding current values ​​or drive strengths indicated in the right column of graph 410. Specifically, for example, for an entry of “000”, each current source in current source 404 will be deactivated or disabled, resulting in a drive strength of 0 nA (off). For an entry of “001”, only the current source corresponding to the least significant bit (i.e., current source 404-0) will be activated, while the other current sources will be deactivated, resulting in a drive strength of 5 nA.

[0074] All possible bit combinations for entry 104 are shown in Figure 410 as ranging from a drive strength of 0 nA when all current sources 404 are disabled to a drive strength of 35 nA when all current sources 404 are enabled. As a more specific example, an arbitrary entry 412, which includes a bit sequence of “101”, is highlighted. If we assume that entry 104 holds “101” for entry 412 in this example, the icons on each current source 404 show that, after being masked by gate 402, only current sources 404-0 and 404-2 are activated (indicated by the checkmark icon), while current source 404-1 is deactivated (indicated by the “X” icon). Thus, as indicated in Figure 410, the value of “101” results in 5 nA being generated by current source 404-0, 0 nA by current source 404-1 (because current source 404-1 is deactivated), and 20 nA by current source 404-2. When these are combined at the node used as pixel driver multiplexer 310, LED 408 is ultimately driven by 25 nA as indicated by diagram 410 (whenever the PWM signal provided by display post-processor 208 is also high).

[0075] Although the set of gates 402 has been described as a single mask 306 within the entire set of masks 306 (corresponding to the entire set of masks for all pixel drivers) (e.g., with Figure 3(Corresponding to mask 306-1 or 306-2), but in a sense, this set of gates can also be considered a set of masks because each individual and gate masks the PWM signal according to the bit of entry 104, preventing it from reaching the corresponding current source 404. Therefore, it can be said that the first set of masks (e.g., the set of individuals and gates) associated with the first set of current sources (e.g., current source 404) can be configured to activate the first current source subgroup based on the first entry stored in memory (e.g., in lookup table 302), without activating the rest of the first set of current sources; and the second set of masks (another set of individuals and gates for different pixels) associated with the second set of current sources (another set of current sources for different pixels) can be configured to activate the second current source subgroup based on the second entry stored in memory, without activating the rest of the second set of current sources. In other words, in some implementations, Figure 3 The set of masks 306 shown herein will be understood as one of a plurality of corresponding sets of masks (for each pixel driver and pixel), wherein each of these sets of masks may further include a plurality of possible subgroups that may be selected to provide a driving intensity that may be appropriate for their respective pixels.

[0076] As mentioned above, when the first pixel driver is configured to select a first drive strength by activating a first current source subgroup from a first set of current sources available from the first pixel driver, and the second pixel driver is configured to select a second drive strength by activating a second current source subgroup from a second set of current sources available from the second pixel driver, the two sets of current sources may be equivalent. As used herein, equivalent sets of current sources refer to multiple sets of current sources including the same number of current sources configured to provide the same amount of current (e.g., ...). Figure 4 (The same copy of the multiple sets of current sources 404 shown in the figure). However, even if the multiple sets of current sources between two pixels can be equal, the selected subgroups of current sources (i.e., the combination of these current sources activated based on the entry) can be different between the two pixels, such that the current sources selected to be activated produce different drive intensities.

[0077] In such a scenario, for example, the first current source subgroup may include a first current source configured to generate a first current amount (e.g., 5 nA for current source 404-0) and may exclude any current source configured to generate a second current amount (e.g., 10 nA for current source 404-1). Simultaneously, the second current source subgroup may include a second current source configured to generate a second current amount (e.g., 10 nA in this example) and may exclude any current source configured to generate a first current amount (e.g., 5 nA in this example). In other words, in some cases, different, non-overlapping current sources can be selected (i.e., one pixel selects one current source while another pixel selects a different current source, even if both options are available for both pixels).

[0078] In other cases, overlap may exist between two pixels having the same option for selecting among their respective groups of current sources. For example, the first current source subgroup may again include a first current source configured to generate a first current amount (e.g., 5 nA of current source 404-0) and may exclude any current source configured to generate a second current amount (e.g., 10 nA of current source 404-1). However, in this case, the second current source subgroup may not only include a second current source configured to generate a second current amount (e.g., 10 nA in this example), but may further include a third current source configured to generate a first current amount (e.g., its own 5 nA current source in this example). In other words, although the two pixels are not driven identically (because only one pixel utilizes the 10 nA current source), their selections do overlap (because both pixels utilize the corresponding 5 nA current source).

[0079] Although Figure 4 The circuitry shown includes three distinct current sources 404 with corresponding masks to achieve up to eight different analog drive intensities for the LED 408. However, it should be understood that any suitable number of current sources and corresponding circuitry can be implemented to serve a particular implementation. For example, some implementations may use two distinct current sources (and corresponding mask gates) per pixel, while other implementations may use a relatively large number (e.g., 5, 10, 20 or more current sources and masks per pixel).

[0080] As described above, optimizing pixel performance in a display system can involve a hybrid approach, referred to herein as pixel brightness control, combining analog (e.g., voltage or current modulation) and digital (e.g., pulse width modulation or other time-based modulation) methods. Specifically, as already described, customized analog drive strengths can be applied to different pixels in combination with their performance characteristics, while relying on time-modulated signals to dynamically drive pixels to the appropriate brightness level required from image to image or from frame to frame. More specifically, a first pixel driver driving a first pixel with a first drive strength and a second pixel driver driving a second pixel with a second drive strength will be considered. The first pixel driver can be configured to drive the first pixel according to a first binary pulse width modulation (PWM) signal associated with the first pixel, such that a first apparent brightness of the first pixel during a time period is determined by both the first drive strength and the first binary pulse width modulation signal. The second pixel driver can be configured to drive the second pixel according to a second binary pulse width modulation (PWM) signal associated with the second pixel, such that a second apparent brightness of the second pixel during that time period is determined by both the second drive strength and the second binary pulse width modulation signal.

[0081] Now will describe Figures 5A to 6B To more fully illustrate the interaction between these two factors of apparent brightness in hybrid methods, specifically, as will be described, Figure 5A A first example configuration is shown, in which the illustrative pixel driver uses a hybrid approach to drive pixels with different performance levels to the same apparent brightness level, while Figure 5B It shows that it can be obtained from Figure 5A The illustrative performance aspects generated in the example configuration. Figure 5A and Figure 5B In the example, illustrative pixels are shown as having been selected with the same drive strength to simulate what is typically encountered in conventional display systems. In contrast, Figure 6A A second instance configuration is shown, in which the illustrative pixel driver uses a hybrid approach to drive pixels with different performance levels to the same apparent brightness level, and Figure 6B It shows that it can be obtained from Figure 6A The illustrative performance aspects generated in the example configurations are shown. However, in these figures, illustrative pixels are shown as having been selected with different drive strengths based on their different performance characteristics, thus demonstrating the specific technical benefits provided by the systems and methods described herein for optimizing pixel performance.

[0082] exist Figure 5A In the diagram, two pixel drivers 106-1 and 106-2 are shown configured to have the same drive strength 308-1. For example, refer to the reference. Figure 4In the example diagram 410, drive intensity 308-1 can be applied by entry 104, which activates only current source 404-1 by storing "010" (while keeping current sources 404-0 and 404-2 deactivated). These pixel drivers 106-1 and 106-2 are shown as driving pixels 108-1 and 108-2 respectively. As mentioned above, for illustrative purposes, it will be assumed that pixel 108-1 has a lower performance level than pixel 108-2 (e.g., due to manufacturing, optics, the relative position of the pixels on the panel, a combination of these, etc.).

[0083] As shown, Figure 502 includes a y-axis and an x-axis, the y-axis indicating the “apparent brightness” of the pixel plotted on the graph, and the x-axis indicating the “on-time per frame” that the PWM signal must have to achieve that apparent brightness. While the actual instantaneous brightness of a pixel can depend on both its performance level and the analog values ​​driving the pixel, apparent brightness (as used herein) refers to the longer-term (e.g., over the entire frame length) average brightness of the pixel that a human viewer viewing the pixel will perceive. Specifically, as already described, binary pulse width modulation of the pixel allows control over the average brightness of the pixel by rapidly activating and deactivating the pixel, causing the pixel to be on for a certain proportion of the frame time (regardless of the instantaneous brightness the pixel could have), creating the illusion that the pixel is on for the entire frame time, but only at the desired brightness (i.e., apparent brightness). Therefore, for example, the pixel with the maximum apparent brightness will actually remain on for the entire frame, while the pixel with the minimum apparent brightness (except when it is completely off) will only blink to the on state for a small portion of the frame time, and remain off for the rest of the time.

[0084] Considering these principles, Figure 502 shows that, due to its lower performance (and the fact that in this example, both pixel drivers 106-1 and 106-2 are applying the same drive strength 308-1), pixel 108-1 (the circle labeled "P1") achieves the desired apparent brightness 504 by having a relatively large on-time per frame 506-1. To further illustrate, the example PWM signal 508-1 provided by the display post-processor 208 to pixel driver 106-1 in... Figure 5AThe image is shown as oscillating frequently during a frame time period of 510, thus appearing to be high (e.g., on in this example) for approximately 60% to 70% of the time. In contrast, Figure 502 further shows that, due to its higher performance (and again, in this example, the fact that both pixel drivers are applying the same drive strength 308-1), pixel 108-2 (the circle labeled "P2") is configured to achieve an apparent brightness 504 with a significantly shorter on-time per frame 506-2. For illustration, another example PWM signal 508-2 provided to pixel driver 106-2 by display post-processor 208 in… Figure 5A The frequency of the signal is shown to oscillate less frequently during the 510 frame time period, thus appearing to be high only for about 30% to 40% of the time (e.g., in an on state).

[0085] While it should be understood that these specific PWM signals and percentages were arbitrarily chosen for illustrative purposes, Figure 5A As shown, due to their relative performance levels, pixel 108-1 can consume more power than pixel 108-2 (e.g., by switching more frequently, by maintaining a high state for a longer period of time, etc.), and therefore can have a more limited dynamic range at the high end of the brightness range (i.e., pixel 108-1 can achieve a brightness level that is even less than the apparent brightness 504 compared to pixel 108-2). For the same reason, Figure 5A It is also shown that although pixel 108-2 can consume less power than pixel 108-1 to achieve apparent brightness 504, pixel 108-2 can have a more limited dynamic range at the low end of the brightness (i.e., pixel 108-2 can achieve fewer brightness levels darker than apparent brightness 504 compared to pixel 108-1). It is desirable for pixels 108-1 and 108-2 to be more uniform on Figure 502 (e.g., making the per-frame on-time 506-1 and per-frame on-time 506-2 closer to each other) to optimize average power usage and dynamic range on these pixels (and even on all pixels of the entire panel).

[0086] Figure 5B This example configuration is illustrated in another way. Specifically, in Figure 5B In the image, pixels 108-1 and 108-2 are drawn in relation to... Figure 1The diagram described is similar to that in Figure 520. As shown, drive strength is represented on the x-axis, while pixel performance (e.g., luminance, etc.) is represented on the y-axis, where each pixel is indicated by a line extending from the origin to indicate the interaction of these factors for that pixel (e.g., to indicate their performance level, luminance efficiency level, etc.). In this case, pixel 108-1 is shown in region 522, a low-performance pixel with a lower slope (i.e., requiring a larger drive strength for a given performance amount). On the other hand, pixel 108-2 is shown in region 524, a high-performance pixel with a larger slope (i.e., requiring a smaller drive strength for a given performance amount). If the desired performance of these two pixels is represented by a dashed line with a horizontal dot labeled luminance 504, then pixel 108-1 is shown as requiring a relatively strong drive strength 526 to achieve this performance, while pixel 108-2 is shown as being configured to achieve (e.g., being able to achieve) the same performance using a much smaller drive strength 528. However, because the two pixel drivers 106-1 and 106-2 in this configuration rely on the same drive strength 308-1 (as mentioned above) Figure 5A As shown), pixel 108-2 is thus shown as intersecting with drive intensity 526 at a much higher performance of 530. In other words, driven at this drive intensity 526, pixel 108-1 can be very close to the desired brightness 504, while pixel 108-2 may be too bright and require compensation by using a much less per-frame on-time (thus impairing its dynamic range, as already described).

[0087] Some of the arrows around Figure 520 indicate certain aspects shown in Figure 520. First, the boxed arrows labeled as indicating drive strength 308-1 indicate the above regarding... Figure 5A The described driving strength and Figure 5B The relationship between drive strengths is shown in the diagram. Specifically, drive strength 526 can be used for both pixels, rather than a certain drive strength that would be better for pixel 108-2. Arrow 532 on the y-axis represents the unrealized performance of pixel 108-2. In other words, by driving pixel 108-2 with drive strength 526, a certain amount of power and dynamic range is lost, which would not necessarily be necessary if pixel 108-2 were driven at a better level. Arrow 534 on the x-axis represents the excessive overhead consumed on pixel 108-2 (e.g., the excessive power usage required to drive pixel 108-2 with drive strength 526 instead of drive strength 528, etc.).

[0088] If passed Figure 5A and Figure 5BIt is evident that various technical issues related to performance, power consumption, dynamic range, etc., can be at least partially addressed or mitigated by customizing the drive strength 308 applied to each pixel, rather than by relying on the same drive strength. Therefore, Figure 6A A second example configuration is shown, in which the illustrative pixel driver again uses a hybrid approach to drive pixels with different performance levels to the same apparent brightness level, but in this case, different (more customized) pixel drive intensities 308 are used.

[0089] Specifically, such as Figure 6A (This diagram uses...) Figure 5A As shown in a similar numbering scheme, pixel drivers 106-1 and 106-2, which drive corresponding pixels 108-1 and 108-2, now apply different driving intensities 308. Specifically, as in Figure 5A In the configuration, pixel driver 106-1 is shown applying drive strength 308-1 to pixel 108-1. However, with Figure 5A In contrast to the configuration shown, pixel driver 106-2 is depicted applying drive strength 308-2 to pixel 108-2. Given that pixel 108-2 has been determined to have higher performance than pixel 108-1, drive strength 308-2 can be a smaller drive strength than drive strength 308-1. For example, if drive strength 308-1 is... Figure 4 The entry “010” shown in the figure is associated with the drive strength 308-2, which can be determined by... Figure 4 The “001” entry shown in the figure is generated such that only the 5 nA current source 404-0 is activated, while the other current sources 404-1 and 404-2 remain deactivated.

[0090] As a result of these different driving intensities 308 Figure 6A Figure 602 and Figure 5ASimilar to Figure 502, but showing that, for this configuration, pixels 108-1 and 108-2 are configured to achieve the desired brightness 604 using corresponding on-times per frame 606-1 and 606-2 that are much closer to each other. For example, if the on-times per frame 606-1 were the same as the on-times per frame 506-1, then the lower drive strength 308-2 now driving pixel 108-2 would allow pixel 108-2 to now achieve this desired brightness 604 with a much longer on-time per frame, thereby creating a greater dynamic range for darker levels and, additionally, making the pixels more uniform. This is further illustrated by the much smaller difference between the PWM signal 608-1 provided to pixel driver 106-1 and the PWM signal 608-2 provided to pixel driver 106-2 in order to achieve the same brightness 604. As shown for a frame time period 610, PWM signals 608-1 and 608-2 are almost identical, except that PWM signal 608-2 is low and PWM signal 608-1 is high for a small portion 612 of this time period.

[0091] and Figure 5B resemblance, Figure 6B It shows Figure 6A Some results from the example configuration. Figure 6B In the middle, pixels 108-1 and 108-2 are again drawn in relation to Figure 520 and about Figure 1 The diagram described is similar to that in Figure 620, where the driving intensity is represented on the x-axis, pixel performance is represented on the y-axis, and each pixel is represented by a corresponding line extending from the origin of the diagram. Here, again, pixel 108-1 is shown in region 622, a low-performance pixel with a relatively low slope, while pixel 108-2 is shown in region 624, a high-performance pixel with a larger slope. Additionally, in this case, the addition of other driving intensity possibilities creates a new region 623 for medium-performance pixels somewhere between the already described low-performance and high-performance pixels. Example pixel 108-3 (marked with circle P3) is shown in this region and will be described below.

[0092] If the desired performance of all pixels is represented by a horizontal dashed line labeled luminance 604, then pixel 108-1 is shown as requiring a relatively strong drive strength 626 to achieve this performance, while pixels 108-2 and 108-3 are each shown as being configured to achieve the same performance using a much smaller drive strength 628. In this case, pixel 108-2 has high performance, such that pixel 108-2 is shown as being configured to use a drive strength even lower than drive strength 628 to meet the desired apparent luminance 604, but in this example, such a drive strength could be unavailable or undesirable for reasons that will become apparent.

[0093] To achieve a brightness of 604 for all these pixels, pixel 108-1 can use drive intensity 308-1 (as shown in the diagram below with a dotted line extending from zero to drive intensity 626), pixel 108-2 can use drive intensity 308-2 (further shown in the diagram below with a dotted line extending from zero to drive intensity 628), and pixel 108-3 can also use drive intensity 308-2. However, as a benefit of the optimizations already provided by these different drive intensity options, Figure 6B Another possibility is also shown. Instead of each pixel in the pixel array achieving the performance associated with brightness 604, a higher performance of brightness 605 can be achieved for pixels throughout the entire area by using a combination of drive intensities 308. Specifically, as shown, low-performance pixel 108-1 can be driven by a drive intensity 627 that can be implemented as a combination of drive intensities 308-1 and 308-2 (e.g., by applying...). Figure 4 This higher performance is achieved using the "011" entry in the example. Medium-performance pixel 108-3 can achieve brightness 605 by using drive strength 626 (achieved by drive strength 308-1 through the application of the "010" entry), and high-performance pixel 108-2 can achieve brightness 605 by using drive strength 628 (achieved by drive strength 308-2 through the application of the "001" entry). Vertical arrow 630 illustrates the performance improvements obtainable by employing these different drive strength options for pixels with these different performance levels.

[0094] Figure 7A An illustrative method 700, which can be performed by a display system according to the principles described herein, is shown. Although Figure 7A Illustrative operations 702 to 712 according to one implementation are shown, but other implementations may omit, add, reorder, and / or modify them. Figure 7A Any of the operations 702 to 712 shown in the diagram. In some examples, Figure 7A The information shown or about Figure 7A The multiple operations described may be executed concurrently (e.g., in parallel) with each other, rather than sequentially as shown and / or described. Each of the operations 702 to 712 of method 700 will now be described in more detail, as these operations may be performed by the implementation of display system 100 (e.g., display system 200, display system 300, etc.).

[0095] At operation 702, display system 100 can access a first entry from a memory storing a set of pixel performance data entries. The first entry may be associated with a first performance level of the first pixel. For example, based on a previous calibration process in which the first performance level is characterized or otherwise identified, the first entry may be selected such that the drive strength used for the first pixel is optimal for the performance capabilities of that pixel. For example, if the performance of the first pixel is relatively low (e.g., relatively inefficient in terms of the brightness produced per unit power supplied to the pixel), the first entry may hold a value that results in a larger drive strength to be used when powering the first pixel (e.g., in this type of implementation, ...). Figure 4 (See chart 410 below for relatively low values).

[0096] At operation 704, display system 100 can similarly access the second entry from memory. The second entry can also be included in the set of pixel performance data entries stored in memory and can be associated with a second performance level of the second pixel. For example, the second performance level can be higher than the first performance level, such that the second entry can hold a value that results in a smaller drive strength to be used when powering the second pixel (e.g., for this type of implementation, ...). Figure 4 (The relatively high values ​​are shown in Chart 410 above).

[0097] At operation 706, the display system 100 can select a first drive strength from a first plurality of drive strengths available from the first pixel driver configured to drive the first pixel. For example, the selection at operation 706 can be based on a first entry stored in memory and accessed at operation 702. In the above example, where the first entry is associated with a relatively low performance level, for example, the first drive strength can be relatively high, as mentioned above (e.g., in this type of implementation, ...). Figure 4 (See chart 410 below for relatively low values).

[0098] At operation 708, the display system 100 can select a second drive strength from a second plurality of drive strengths available from the second pixel driver configured to drive the second pixel. Similar to the selection at operation 706, the selection at operation 708 can be performed based on a second entry stored in memory and accessed at operation 704. For example, in the above example where the second entry is associated with a relatively high performance level, the second drive strength can be relatively low (e.g., lower than the first drive strength). As mentioned above, for example, in this type of implementation, this can be achieved through… Figure 4 The relatively high values ​​in Chart 410 are used to achieve this.

[0099] At operation 710, display system 100 can drive the first pixel using the first pixel driver. For example, after a first drive strength has been selected based on the first entry at operation 706, display system 100 can use the first pixel driver to drive the first pixel at the first drive strength.

[0100] At operation 712, display system 100 can drive the second pixel using the second pixel driver. For example, after a second drive strength has already been selected based on the second entry at operation 708, display system 100 can use the second pixel driver to drive the second pixel at the second drive strength.

[0101] Figure 7B Another illustrative method 720, which can be performed by a display system according to the principles described herein, is shown. Figure 7A The same, although Figure 7B Illustrative operations 722 to 730 according to one implementation are shown, but other implementations may omit, add, reorder, and / or modify them. Figure 7B Any of the operations shown in operations 722 to 730. In some examples, Figure 7B The information shown or about Figure 7B The multiple operations described may be executed concurrently (e.g., in parallel) with each other, rather than sequentially as shown and / or described. Each of the operations 722 to 730 of method 720 will now be described in more detail, as these operations may be performed by the implementation of display system 100 (e.g., display system 200, display system 300, etc.).

[0102] At operation 722, the display system 100 may write a set of pixel performance data entries into a lookup table stored in memory. As shown, this writing of pixel performance data entries may include writing at least two specific entries that are included in the set of pixel performance data entries and to be represented in the lookup table. These entries are written at operations 724 and 726, as shown, which may be performed during the execution of operation 722.

[0103] At operation 724, the display system 100 may write a first entry associated with a first luminance efficiency level of the first pixel. For example, the first luminance efficiency level may be determined based on factors including: 1) a first pixel efficiency characterization of the first pixel (e.g., any pixel efficiency characterization as described herein), and / or 2) a first characteristic of a first optical device associated with the first pixel (e.g., any optical device characteristic as described herein).

[0104] At operation 726, the display system 100 may write a second entry associated with a second luminance efficiency level of the second pixel. For example, the second luminance efficiency level may be determined based on factors including: 1) a second pixel efficiency characterization of the second pixel (e.g., any pixel efficiency characterization as described herein), and / or 2) a second characteristic of a second optical device associated with the second pixel (e.g., any optical device characteristic as described herein). In this example method, it will be assumed that the second luminance efficiency level is higher than the first luminance efficiency level determined and written at operation 724.

[0105] At operation 728, the display system 100 can drive the first pixel using a first pixel driver. For example, based on a first entry in a lookup table, the display system can drive the first pixel with a first drive strength selected from a first plurality of drive strengths available from the first pixel driver. For example, this selection of the first drive strength can be performed by activating a first current source subgroup from a first set of current sources available from the first pixel driver.

[0106] At operation 730, the display system 100 can drive the second pixel using a second pixel driver. For example, based on a second entry in a lookup table, the display system can drive the second pixel with a second drive strength selected from a second plurality of drive strengths available from the second pixel driver. For example, this selection of the second drive strength can be performed by activating a second subgroup of current sources from a second set of current sources available from the second pixel driver. Even if the second set of current sources is equivalent to the first set (i.e., provides the same options as the first set, and in particular, the same output current as the first set can be generated by combining some or all of the current sources in the second set), the second subgroup of current sources activated at operation 730 can be different from the first subgroup of current sources activated at operation 728. For example, given the aforementioned assumption that the second luminance efficiency level is higher than the first luminance efficiency level, the selected and activated second subgroup of current sources can result in a second drive strength lower than the first drive strength.

[0107] The following examples describe systems and methods for optimizing pixel performance in display systems: 1. A display system comprising: a memory configured to store a set of pixel performance data entries, the set of pixel performance data entries including: a first entry associated with a first performance level of a first pixel, and a second entry associated with a second performance level of a second pixel, the second performance level being higher than the first performance level; a first pixel driver configured to drive the first pixel with a first drive strength, the first drive strength being selected from a first plurality of drive strengths available to the first pixel driver based on the first entry stored in the memory; and a second pixel driver configured to drive the second pixel with a second drive strength, the second drive strength being selected from a second plurality of drive strengths available to the second pixel driver based on the second entry stored in the memory, the second drive strength being lower than the first drive strength.

[0108] 2. The display system as described in any of the foregoing examples, wherein the first pixel driver is configured to drive the first pixel according to a binary pulse width modulation signal associated with the first pixel, such that the apparent brightness of the first pixel during a time period is determined by both the first driving intensity and the binary pulse width modulation signal.

[0109] 3. The display system as described in any of the preceding examples, wherein: the first pixel driver is configured to select the first drive strength by activating a first current source subgroup from a first set of current sources available to the first pixel driver; and the second pixel driver is configured to select the second drive strength by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second set of current sources being equivalent to the first set of current sources, and the second current source subgroup being distinct from the first current source subgroup.

[0110] 4. The display system as described in any of the foregoing examples, wherein: the first current source subgroup includes a first current source configured to generate a first current amount, and excludes any current source configured to generate a second current amount; and the second current source subgroup includes a second current source configured to generate the second current amount, and excludes any current source configured to generate the first current amount.

[0111] 5. The display system as described in any of the foregoing examples, wherein: the first current source subgroup includes a first current source configured to generate a first current amount, and excludes any current source configured to generate a second current amount; and the second current source subgroup includes a second current source configured to generate the second current amount, and further includes a third current source configured to generate the first current amount.

[0112] 6. The display system as described in any of the foregoing examples, wherein the current generated by each activated current source in the first current source subgroup is combined to drive the first pixel.

[0113] 7. The display system as described in any of the foregoing examples further includes: a set of masks associated with the first set of current sources and configured to activate the first current source subgroup based on the first entry stored in the memory, while not activating the remainder of the first set of current sources.

[0114] 8. The display system as described in any of the foregoing examples, wherein the memory includes a read-only lookup table, and the first entry and the second entry are permanently encoded into the read-only lookup table during the manufacture of the display system.

[0115] 9. The display system as described in any of the foregoing examples, wherein the memory includes a reconfigurable lookup table, and the first and second entries are entered into the reconfigurable lookup table based on calibration performed after the manufacture of the display system.

[0116] 10. The display system as described in any of the foregoing examples, wherein the first performance level is a luminance efficiency level determined based on a pixel efficiency characterization of the first pixel performed as part of the calibration.

[0117] 11. The display system as described in any of the foregoing examples, wherein the first performance level is a luminance efficiency level determined based on characteristics of an optical device associated with the first pixel, said characteristics being identified as part of the calibration.

[0118] 12. A method comprising: accessing a first entry of a set of pixel performance data entries from a memory storing a set of pixel performance data entries, the first entry being associated with a first performance level of a first pixel; accessing a second entry of the set of pixel performance data entries from the memory, the second entry being associated with a second performance level of a second pixel, the second performance level being higher than the first performance level; selecting a first drive strength from a first plurality of drive strengths available to a first pixel driver configured to drive the first pixel based on the first entry stored in the memory; selecting a second drive strength from a second plurality of drive strengths available to a second pixel driver configured to drive the second pixel based on the second entry stored in the memory, the second drive strength being lower than the first drive strength; driving the first pixel with the first pixel driver at the first drive strength; and driving the second pixel with the second pixel driver at the second drive strength being lower than the first drive strength.

[0119] 13. The method as described in any of the foregoing examples, wherein the first pixel driver drives the first pixel according to a binary pulse width modulation signal associated with the first pixel, such that the apparent brightness of the first pixel during a time period is determined by both the first driving intensity and the binary pulse width modulation signal.

[0120] 14. The method as described in any of the preceding examples, wherein: the first pixel driver selects the first drive intensity by activating a first current source subgroup from a first set of current sources available to the first pixel driver; and the second pixel driver selects the second drive intensity by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second set of current sources being equivalent to the first set of current sources, and the second current source subgroup being distinct from the first current source subgroup.

[0121] 15. The method as described in any of the foregoing examples, wherein the current generated by each activated current source in the first current source subgroup is combined to drive the first pixel.

[0122] 16. The method as described in any of the foregoing examples, wherein the first pixel is driven by activating the first current source subgroup through a set of masks associated with the first set of current sources and based on the first entry, without activating the remainder of the first set of current sources.

[0123] 17. The method as described in any of the foregoing examples, wherein the memory includes a reconfigurable lookup table, and the first and second entries are entered into the reconfigurable lookup table based on calibration performed after manufacturing the display system performing the method.

[0124] 18. A method comprising: writing a set of pixel performance data entries into a lookup table stored in a memory, the set of pixel performance data entries comprising: a first entry associated with a first luminance efficiency level of a first pixel, the first luminance efficiency level being determined based on a first pixel efficiency characterization of the first pixel and a first characteristic of a first optical device associated with the first pixel; and a second entry associated with a second luminance efficiency level of a second pixel, the second luminance efficiency level being higher than the first luminance efficiency level and being determined based on a second pixel efficiency characterization of the second pixel and a second characteristic of a second optical device associated with the second pixel; driving the first pixel with a first drive strength based on the first entry of the lookup table and using a first pixel driver, the first drive strength being selected from a first plurality of drive strengths available to the first pixel driver by activating a first current source subgroup from a first set of current sources available to the first pixel driver; and driving the second pixel with a second drive strength based on the second entry of the lookup table and using a second pixel driver, the second drive strength being selected from a second plurality of drive strengths available to the second pixel driver by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second drive strength being lower than the first drive strength.

[0125] 19. The method as described in any of the preceding examples, wherein: the first pixel driver drives the first pixel according to a binary pulse width modulation signal associated with the first pixel, such that the apparent brightness of the first pixel during a time period is determined by both the first driving intensity and the binary pulse width modulation signal.

[0126] 20. The method as described in any of the foregoing examples, wherein the current generated by each activated current source in the first current source subgroup is combined to drive the first pixel.

[0127] The various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, specially designed ASICs (Application-Specific Integrated Circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system, which includes at least one programmable processor, which may be dedicated or general-purpose, and is coupled to receive data and instructions from and to the storage system, at least one input device, and at least one output device.

[0128] Several implementations have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the specification and claims. Furthermore, the logical flow depicted in the figures does not require the desired result to be achieved in the specific order or sequence shown. Additionally, other steps may be provided, or steps may be removed from the described flow, and other components may be added to or removed from the described system. Therefore, other implementations are within the scope of the appended claims.

[0129] The specific structural and functional details disclosed in this article are representative only for the purpose of describing the example implementation. However, the example implementation can be embodied in many alternative forms and should not be construed as being limited to the implementation described in this article.

[0130] It should be understood that although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. A first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the implementation of this disclosure. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0131] The terminology used herein is for the purpose of describing a particular implementation only and is not intended to limit the implementation. As used herein, unless the context clearly indicates otherwise, the singular forms “an,” “a,” and “the” are also intended to include the plural forms. It should be further understood that the terms “comprises,” “comprising,” “includes,” and “including” as used in this specification specify the presence of the stated features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof.

[0132] It should be understood that when an element is referred to as being “coupled” to, “connected” to, or “in response to” or “on” another element, the element may be directly coupled to, connected to, or in response to, or on the other element, or there may be intermediate elements present. In contrast, when an element is referred to as being “directly coupled” to, “directly connected” to, or “directly in response to” another element or “directly on” another element, there are no intermediate elements. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0133] For ease of description, spatial relative terms such as “below,” “under,” “down,” “above,” “above,” etc., may be used herein to describe the relationship between one element or feature and another element or feature as shown in the figures. It should be understood that spatial relative terms are intended to cover different orientations of the device in use or operation, in addition to those depicted in the figures. For example, if the device in the figures is flipped, then an element described as “below” or “under” other elements or features would be oriented as “above” other elements or features. Therefore, the term “below” can include both above and below orientations. The device may be oriented in other ways (rotated 130 degrees or in other orientations), and the spatial relative descriptors used herein may be interpreted accordingly.

[0134] It should be understood that although the terms "first," "second," etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. Thus, a "first" element may be referred to as a "second" element without departing from the teachings of the implementation of the invention.

[0135] Unless otherwise defined, the terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which these concepts belong. It should further be understood that terms such as those defined in common dictionaries should be interpreted as having a meaning consistent with their meaning in the relevant field and / or the context of this specification, and should not be interpreted in an idealized or overly formal sense unless expressly defined herein.

[0136] While certain features of the described implementations have been shown as described herein, many modifications, substitutions, alterations, and equivalents will be apparent to those skilled in the art. Therefore, it should be understood that the appended claims are intended to cover such modifications and alterations falling within the scope of the implementations. It should be understood that they are presented by way of example only and not limitation, and various changes in form and detail are possible. Any part of the apparatus and / or method described herein can be combined in any combination, except for mutually exclusive combinations. The implementations described herein may include various combinations and / or sub-combinations of the functions, components, and / or features of the different implementations described. Therefore, the scope of this disclosure is not limited to the specific combinations claimed below, but is instead extended to cover any combination of features or example implementations described herein, regardless of whether that specific combination has been specifically enumerated in the appended claims at this time.

Claims

1. A display system, comprising: The memory is configured to store a set of pixel performance data entries, the set of pixel performance data entries including: The first entry associated with the first performance level of the first pixel, and A second entry associated with a second performance level of the second pixel, wherein the second performance level is higher than the first performance level; A first pixel driver, configured to drive the first pixel with a first drive strength, the first drive strength being selected from a first plurality of drive strengths available to the first pixel driver based on a first entry stored in the memory; and A second pixel driver is configured to drive the second pixel with a second driving strength, the second driving strength being selected from a second plurality of driving strengths available to the second pixel driver based on a second entry stored in the memory, the second driving strength being lower than the first driving strength.

2. The display system as described in claim 1, wherein, The first pixel driver is configured to drive the first pixel according to a binary pulse width modulation signal associated with the first pixel, such that the apparent brightness of the first pixel during a time period is determined by both the first driving intensity and the binary pulse width modulation signal.

3. The display system according to any one of claims 1 or 2, wherein: The first pixel driver is configured to select the first drive strength by activating a first current source subgroup from a first set of current sources available from the first pixel driver; and The second pixel driver is configured to select the second drive strength by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second set of current sources being equivalent to the first set of current sources, and the second current source subgroup being distinct from the first current source subgroup.

4. The display system as described in claim 3, wherein: The first current source subgroup includes a first current source configured to generate a first current quantity, and excludes any current source configured to generate a second current quantity; and The second current source subgroup includes a second current source configured to generate the second current amount, and excludes any current source configured to generate the first current amount.

5. The display system as claimed in claim 3, wherein: The first current source subgroup includes a first current source configured to generate a first current quantity, and excludes any current source configured to generate a second current quantity; and The second current source subgroup includes a second current source configured to generate the second current amount, and further includes a third current source configured to generate the first current amount.

6. The display system according to any one of claims 3 to 5, wherein, The current generated by each activated current source in the first current source subgroup is combined to drive the first pixel.

7. The display system according to any one of claims 3 to 6, further comprising: A set of masks associated with the first set of current sources and configured to activate the first current source subgroup based on the first entry stored in the memory, while not activating the rest of the first set of current sources.

8. The display system according to any one of claims 1 to 7, wherein, The memory includes a read-only lookup table, into which the first and second entries are permanently encoded during the manufacture of the display system.

9. The display system according to any one of claims 1 to 7, wherein, The memory includes a reconfigurable lookup table, into which the first and second entries are entered based on calibration performed after the manufacturing of the display system.

10. The display system of claim 9, wherein, The first performance level is a luminance efficiency level determined based on the pixel efficiency characterization of the first pixel performed as part of the calibration.

11. The display system as claimed in claim 9, wherein, The first performance level is a luminance efficiency level determined based on the characteristics of the optical device associated with the first pixel, which are identified as part of the calibration.

12. A method comprising: Access the first entry of the set of pixel performance data entries from the memory storing the set of pixel performance data entries, the first entry being associated with a first performance level of the first pixel; Access the second entry from the set of pixel performance data entries in the memory, the second entry being associated with a second performance level of the second pixel, the second performance level being higher than the first performance level; Based on the first entry stored in the memory, a first drive strength is selected from a first plurality of drive strengths available to a first pixel driver configured to drive the first pixel; Based on the second entry stored in the memory, a second driving strength is selected from a second plurality of driving strengths available to a second pixel driver configured to drive the second pixel, the second driving strength being lower than the first driving strength; The first pixel is driven using the first pixel driver at the first drive strength; as well as The second pixel is driven using the second pixel driver at a second driving strength lower than the first driving strength.

13. The method of claim 12, wherein, The first pixel driver drives the first pixel according to a binary pulse width modulation signal associated with the first pixel, such that the apparent brightness of the first pixel during a time period is determined by both the first driving intensity and the binary pulse width modulation signal.

14. The method of claim 12 or 13, wherein: The first pixel driver selects the first drive strength by activating a first current source subgroup from a first set of current sources available to the first pixel driver; and The second pixel driver selects the second drive strength by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second set of current sources being equivalent to the first set of current sources, and the second current source subgroup being distinct from the first current source subgroup.

15. The method of claim 14, wherein, The current generated by each activated current source in the first current source subgroup is combined to drive the first pixel.

16. The method of claim 14 or 15, wherein, The first pixel is driven by activating the first current source subgroup based on a set of masks associated with the first group of current sources and on the first entry, without activating the rest of the first group of current sources.

17. The method of any one of claims 12 to 16, wherein, The memory includes a reconfigurable lookup table, into which the first and second entries are entered based on calibration performed after manufacturing the display system that performs the method.

18. A method comprising: A set of pixel performance data entries is written into a lookup table stored in memory, wherein the set of pixel performance data entries includes: A first entry associated with a first luminance efficiency level of a first pixel, the first luminance efficiency level being determined based on a first pixel efficiency characterization of the first pixel and a first characteristic of a first optical device associated with the first pixel; and A second entry associated with a second luminance efficiency level of a second pixel, wherein the second luminance efficiency level is higher than the first luminance efficiency level and is determined based on a second pixel efficiency characterization of the second pixel and a second characteristic of a second optical device associated with the second pixel; Based on the first entry of the lookup table and using a first pixel driver, the first pixel is driven with a first drive strength, the first drive strength being selected from a first plurality of drive strengths available to the first pixel driver by activating a first current source subgroup from a first set of current sources available to the first pixel driver; and Based on the second entry of the lookup table and using the second pixel driver, the second pixel is driven with a second driving strength, the second driving strength being selected from a second plurality of driving strengths available to the second pixel driver by activating a second current source subgroup from a second set of current sources available to the second pixel driver, the second driving strength being lower than the first driving strength.

19. The method of claim 18, wherein, The first pixel driver drives the first pixel according to a binary pulse width modulation signal associated with the first pixel, such that the apparent brightness of the first pixel during a time period is determined by both the first driving intensity and the binary pulse width modulation signal.

20. The method of claim 18 or 19, wherein, The current generated by each activated current source in the first current source subgroup is combined to drive the first pixel.