The present disclosure relates generally to display panels and, more specifically, to devices and methods to overdrive or underdrive a display panel to account for display pixel hysteresis due to several frames of pixel history.
Many electronic devices may use display panels to show content to users. Many display panels may use light-emitting diode (LED) panels (e.g., organic light-emitting diodes (OLED) panels, micro-OLED panels, micro-LED (μ-LED) panels), liquid crystal display (LCD) and/or plasma panels. In many devices, such as televisions, smartphones, computer panels, smartwatches, among others, displays may be employed to show content and/or provide a user interface. For example, image content displayed may include one or more frames. A first frame may include first image content, while a subsequent frame may include second image content that may differ from the first image content. In some instances, the initial response of the display to being programmed to display the second image content may not completely correspond to the second image content. Instead, the display may appear from the perspective of a viewer to be brighter or darker than desired. This may be due to display pixel hysteresis, which refers to the tendency of a display pixel to behave differently based on the image data previously programmed into the display pixel. For example, the first image content may include lower brightness levels in comparison to the second content. The history of programming the display pixel with the darker first image content may cause the display pixel not to fully reach the brightness level specified by the second image content.
Moreover, multiple past frames of history may further affect display pixel behavior. For example, when a display pixel may be programmed not to emit light (e.g., programmed to display black, gray level G0) for multiple frames of image data, the display pixel may have a greater display pixel hysteresis. When subsequently programmed with a non-G0 value after multiple frames of G0 data, the display pixel may appear darker than the non-G0 value. In addition, some display technologies may be more sensitive to gray levels other than G0. Depending on the exact display technology, the dependency upon pixel history could vary with which gray levels make the hysteresis worse and how many frames it is sensitive to.
The initial response of the display panel may be improved by tracking pixel history over multiple frames and adjusting the image data used to program the display panel accordingly. For example, the system may track some number of previous frames in which a display pixel was programmed to overdrive or underdrive the image data to cause the display pixels to display certain gray levels (e.g., a target gray level of the image data). In particular, the display pixel may be programmed to display a gray level (Gx) for some number of frames. The number of previous frames of Gx (e.g., pixel history) may be used to adjust image data when the display pixel is subsequently programmed with new image data. For example, the image data may be adjusted to overdrive or underdrive the display pixel stronger when there are more recent previous frames of G0. This may overcome the effects of display pixel hysteresis even beyond multiple frames. In addition, in some examples, the multiple frames of display pixel history may be stored efficiently in a single frame buffer. To do this, the recent history for each pixel of the display panel may be encoded into a form that may have the same or a substantially similar size as pixel data.
Various aspects of this disclosure may be better understood upon reading the following detailed description and upon reference to the drawings in which:
One or more specific embodiments will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
A general description of suitable electronic devices that may employ an overdrive to provide an improved response to changed display settings is described herein. Keeping the foregoing in mind, an electronic device 10 including an electronic display 12 (e.g., display device) is shown in
The electronic display 12 may be any suitable electronic display. For example, the electronic display 12 may include a self-emissive pixel array having an array of one or more self-emissive pixels. The electronic display 12 may include any suitable circuitry to drive the self-emissive pixels, including for example row driver and/or column drivers (e.g., display drivers). Each of the self-emissive pixels may include any suitable light-emitting element, such as a LED, one example of which is an OLED. However, any other suitable type of pixel, including non-self-emissive pixels (e.g., liquid crystal as used in liquid crystal displays (LCDs), digital micro-mirror devices (DMD) used in DMD displays) may be used.
In the depicted embodiment, the electronic device 10 includes the electronic display 12, one or more input devices 14, one or more input/output (I/O) ports 16, a processor core complex 18 having one or more processor(s) or processor cores, local memory 20, a main memory storage device 22, a network interface 24, a power source 26 (e.g., power supply), and image processing circuitry 28. The various components described in
The processor core complex 18 may execute instructions stored in local memory 20 and/or the main memory storage device 22 to perform operations, such as generating and/or transmitting image data. As such, the processor core complex 18 may include one or more general purpose microprocessors, one or more application specific integrated circuits (ASICs), one or more field programmable logic arrays (FPGAs), or any combination thereof.
In addition to instructions, the local memory 20 and/or the main memory storage device 22 may store data to be processed by the processor core complex 18. Thus, the local memory 20 and/or the main memory storage device 22 may include one or more tangible, non-transitory, computer-readable mediums. For example, the local memory 20 may include random access memory (RAM) and the main memory storage device 22 may include read-only memory (ROM), rewritable non-volatile memory such as flash memory, hard drives, optical discs, and/or the like.
The network interface 24 may communicate data with another electronic device and/or a network. For example, the network interface 24 (e.g., a radio frequency system) may enable the electronic device 10 to communicatively couple to a personal area network (PAN), such as a Bluetooth network, a local area network (LAN), such as a 1622.11x Wi-Fi network, and/or a wide area network (WAN), such as a 4G, Long-Term Evolution (LTE), or 5G cellular network.
The power source 26 may provide electrical power to one or more components in the electronic device 10, such as the processor core complex 18 and/or the electronic display 12. Thus, the power source 26 may include any suitable source of energy, such as a rechargeable lithium polymer (Li-poly) battery and/or an alternating current (AC) power converter.
The I/O ports 16 may enable the electronic device 10 to interface with other electronic devices. For example, when a portable storage device is connected, the I/O port 16 may enable the processor core complex 18 to communicate data with the portable storage device. The input devices 14 may enable user interaction with the electronic device 10, for example, by receiving user inputs via a button, a keyboard, a mouse, a trackpad, and/or the like. The input device 14 may include touch-sensing components in the electronic display 12. The touch-sensing components may receive user inputs by detecting the occurrence and/or the position of an object touching the surface of the electronic display 12.
In addition to enabling user inputs, the electronic display 12 may include one or more display panels. Each display panel may be a separate display device or one or more display panels may be combined into the same device. The electronic display 12 may control light emission from the display pixels to present visual representations of information, such as a graphical user interface (GUI) of an operating system, an application interface, a still image, or video content, by displaying frames based on corresponding image data. As depicted, the electronic display 12 is operably coupled to the processor core complex 18 and the image processing circuitry 28. In this manner, the electronic display 12 may display frames based on image data generated by the processor core complex 18 and/or the image processing circuitry 28. Additionally or alternatively, the electronic display 12 may display frames based on image data received via the network interface 24, an input device 14, an I/O port 16, or the like.
As described above, the electronic device 10 may be any suitable electronic device. To help illustrate, an example of the electronic device 10, a handheld device 10A, is shown in
The handheld device 10A includes an enclosure 30 (e.g., housing). The enclosure 30 may protect interior components from physical damage and/or shield them from electromagnetic interference, such as by surrounding the electronic display 12. The electronic display 12 may display a graphical user interface (GUI) 32 having an array of icons. When an icon 34 is selected either by an input device 14 or a touch-sensing component of the electronic display 12, an application program may launch.
The input devices 14 may be accessed through openings in the enclosure 30. The input devices 14 may enable a user to interact with the handheld device 10A. For example, the input devices 14 may enable the user to activate or deactivate the handheld device 10A, navigate a user interface to a home screen, navigate a user interface to a user-configurable application screen, activate a voice-recognition feature, provide volume control, and/or toggle between vibrate and ring modes. The I/O ports 16 may be accessed through openings in the enclosure 30 and may include, for example, an audio jack to connect to external devices.
Another example of a suitable electronic device 10, specifically a tablet device 10B, is shown in
Turning to
With the foregoing in mind,
The scan driver 50 may provide scan signals (e.g., pixel reset, data enable, on-bias stress) on any suitable number of scan lines 56 per pixel row to control the display pixels 54 by row. For example, the scan driver 50 may cause a row of the display pixels 54 to become enabled to receive a portion of the image data 48 from data lines 58 from the data driver 52. In this way, an image frame of image data 48 may be programmed onto the display pixels 54 row by row. Other examples of the electronic display 12 may program the display pixels 54 in groups other than by row.
Before continuing, several terms that will be used in this disclosure will be described. From one image frame to another, the settings of display pixels 54 may change as the images displayed on the electronic display 12 change. Thus, there may be a transition as a display pixel 54 switches from emitting a first amount of light for a first image frame to emitting a second amount of light for a second image frame. Thus, in displaying the first image frame, the electronic display 12 may program the display pixel 54 with pre-transition settings to achieve a first target gray level of light emission from the display pixel 54. In displaying the second image frame, the electronic display 12 may program the display pixel 54 with post-transition settings to achieve a second target gray level of light emission from the display pixel 54. In certain instances, the display pixel 54 may have been previously programmed with a first gray level (Gx) for one or more image frames. Because the initial response of the display pixel 54 after the transition from the first gray level of a first image frame to a target gray level of a second image frame could be different (e.g., higher or lower) than the target gray level, the post-transition settings with which the display pixel 54 may be programmed may include compensated settings to drive the initial response of the display pixel 54 to the desired post-transition settings (e.g., gray level). These compensated settings may be higher or lower than the target gray level but, due to hysteresis of the display pixel 54, may cause the display pixel to emit light corresponding to the target gray level.
In certain instances, the display pixel 54 may have been previously programmed with gray level 0 (G0) (black) for two or more image frames. After many frames of G0, without compensated settings, the initial response (e.g., light emission) of the display pixel 54 post-transition to a second image frame may be different from the target gray level of the second image frame. Indeed, it may take multiple image frames before the target gray level may be reached. As shown by
For example, as illustrated, the initial optical response may be a first frame response (FFR) at a gray level 62 from pre-transition settings (e.g., a number of previous G0 frames) to the post-transition settings (e.g., the relative luminance 64). The graph 60 illustrates five examples corresponding to lines 66, 68, 70, 72, and 74 corresponding to an increasing G0 history. For example, a first line 66 corresponds to two previous frames of G0, a second line 68 corresponds to three previous frames of G0, a third line 70 corresponds to four previous frames of G0, a fourth line 72 corresponds to six previous frames of G0, and a fifth line 74 corresponds to eight previous frames of G0. As the number of previous frames of G0 increases, the initial optical response of the display pixel 54 to the target brightness of the first frame may decrease or degrade, as seen by a decreasing normalized luminance value 64 from the first line 66 to a fifth line 74. For example, if there are two previous frames of G0 (as illustrated by the first line 66), the FFR at gray level 100 (G100) may display 0.6 normalized luminance 64, or only 60% of the desired luminance. If there are three previous frames of G0 (as illustrated by second line 68), the FFR at G100 may have 40% of the desired luminance, if there are four previous frames of G0 (as illustrated by the third line 70), the FFR may have 30% of the desired luminance if there are six previous frames of G0 (as illustrated by the fourth line 72), the FFR may have 18% of the desired luminance if there are eight previous frames of G0 (as illustrated by the fifth line 74), the FFR may have 15% of the desired luminance, and so forth. In another example, as illustrated in graph 60, if there are two previous frames of G0 (the first line 66), the FFR at G150 may have 80% of the desired luminance, if there are three previous frames of G0 (the second line 68), the FFR may have 75% of the desired luminance if there are four previous frames of G0 (the third line 70), the FFR may have 71% of the desired luminance if there are six previous frames of G0 (the fourth line 72), the FFR may have 69% of the desired luminance, and if there are eight previous frames G0 (the fifth line 74), the FFR may 67% of the desired luminance. Accordingly, as the number of previous frames of G0 increases, the FFR to a non-zero gray level may display a smaller percentage of the desired luminance. In other words, the display pixels 54 may have a slower response time (e.g., time, subsequent frames) to reach the desired luminance following one or more previous frames of G0. Furthermore, not only does the first frame include a slower response time when increasing luminance, subsequent frames may also include a slower response time.
As another example of this phenomenon,
As illustrated in the graph 80, if there are two previous frames of G0 (line 66), the SFR at G100 after two frames of black history 42 may display a 1.0 normalized luminance, or 100% of the desired luminance. Further, if there are four previous frames of G0, the SFR may display 90% of the desired luminance, if there are six previous frames of G0, the SFR may display 80% of the desired luminance, if there are eight previous frames of G0, the SFR may display 75% of the desired luminance Although the SFR may be closer to the desired luminance compared to the FFR of
While the illustrated examples described with respect to
Keeping the foregoing in mind,
For example, as shown by
With the foregoing in mind,
With the foregoing in mind, the graph 90 depicts the display pixel 54 at a gray level 150 (G150) for some number of frames over a first period of time (as illustrated by line 94). For example, the display pixel 54 may display image content at G150 for three frames. Then, the display pixel 54 may display one or more frames of G0 (as illustrated by line 96), such as one frame of G0. The pixel history (e.g., three frames of G150 and one frame of G0) may be tracked in memory by any suitable data processing circuitry (e.g., image processing circuitry 28, the processor core complex 18, a display driver). Additionally or alternatively, the G0 history (e.g., the number of frames of G0 before a transition to a non-G0 frame) may also be tracked for image data compensation. That is, the image data may be compensated based on the pixel history to cause the display pixel 54 to display the target luminance. For example, the display pixel 54 may be driven to a higher gray level (as illustrated by lines 98 and 100) in order to display the desired target luminance at the initial response (as illustrated by line 102).
For example, in order for the display pixel 54 to display G200 following one frame of G0, the display pixel 54 may be driven to G255 (as illustrated by line 98). Then, the display pixel 54 may be driven to G225 (as illustrated by line 100) in order for the display pixel 54 to continue displaying G200 at a second frame following the frame of G0. Then, the display pixel 54 may reach static luminance (as illustrated by line 102), meaning that the display pixel 54 may be driven at G200 to display G200. In this way, compensating the image data with compensation settings may be used to drive the display pixels 54 to reach a desired initial response.
The graph 110 illustrates the display pixel 54 transitioning to four different gray levels based on compensated image data that may be compensated based only on tracking G0 history (e.g., one G0 frame of history). For example, the graph 110 illustrates a first line 112 corresponding to the display pixel 54 transitioning to G200. In some instances, the overdrive compensation may not be adequate for an initial response at a gray level greater than the gray level of previous frames (e.g., frames of G63). In other words, by only tracking a single frame of G0, the compensated image data may be undercompensated and the display pixel 54 may not display the target luminance. The transition may be undercompensated for a period of time (e.g., one frame, two frames, three frames,) before reaching the target gray level or target luminance. After the period of time, the display pixel 54 may display static luminance, as shown by the straight, flat portion of line 112.
In another example, a second line 114 may correspond to the display pixel 54 transitioning to G63 following the frame of G0. Since the display pixel 54 previously displayed G63 prior to displaying the frame of G0, relying on the history of a single frame of G0 may result in image data being accurately compensated for the transition. As illustrated by the second line 114, the display pixel 54 may immediately reach the target luminance (e.g., at the FFR).
In another example, the compensated image data may be overcompensated following the frame of G0 if the pixel history may not be not taken into account. The graph 110 illustrates a third line 116 corresponding to the display pixel 54 transitioning to G26 following the frame of G0 and a fourth line 118 corresponding to the display pixel 54 transitioning to G16 following the frame of G0. The third line 116 depicts the display pixel 54 being overcompensated for a period of time (e.g., one frame, two frames, three frames) before reaching the target luminance. However, the fourth line 118 displays more overcompensation than the third line 116. For example, the gray level associated with the fourth line 118 may be less than the gray level associated with the third line 116. For example, when the display pixel 54 may be transitioning to a lower gray level, the display pixel 54 may receive additional overcompensation for the PPR before reaching static luminance due to a higher previous gray level, such as displaying G63.
Accordingly, in some cases, the pixel history may include multiple frames of previous gray levels and/or the number of frames of G0. For example, it may be beneficial to track not only one historical gray level (Gx) but also track other historical gray levels (e.g., Gy and Gz) to apply the appropriate overdrive or underdrive compensation to the image data. The compensation for the initial response may be determined by a current frame value (e.g., target gray level of the image data, a target luminance) and a pixel history (e.g., one or more previous frame values). As such, the desired luminance may be achieved at the initial response. With the foregoing in mind,
For example, the graph 119 depicts a first line 112 which may correspond to the display pixel 54 transitioning to G200, a second line 114 which may correspond to the display pixel 54 transitioning to G62, a third line 116 which may correspond to the display pixel 54 transitioning to G26, and a fourth line 118 which may correspond to the display pixel 54 transitioning to G16. By taking into account the pixel history, the image data may be compensated by an amount of compensation to cause the initial response of the display pixel 54 to match the target luminance. For example, the display pixel 54 may receive the compensated image data and transition to G200 after one frame of G0. As illustrated in the first line 112, the compensated image data may drive the display pixel to G210 in order for the display pixel to reach G200 immediately. As shown in the second line 114, the display pixel 54 may immediately reach the desired luminance of one or more previous frames. Still, in another example, the display pixel 54 may be underdriven to G20 or G14 to reach G26 (as illustrated by the third line 116) and G16 (as illustrated by the fourth line 118), respectively, immediately following a transition from G0. While the illustrated example tracks the G0 history and previous gray levels, the pixel history may also include a refresh rate, a temperature, or a global display brightness value (DBV).
The system 120 may include a pixel history buffer 122, a remapping function 124 (e.g., a pixel modification lookup table, circuitry), and an overdrive lookup table (LUT) 126. The system 120 may receive a current frame value 128. Although not shown, the current frame value 128 may be bit-shifted to match a bit depth of the system 120, which may allow the system 120 to be more efficient by using a lower number of bits than the current frame value 128. The overdrive LUT 126 may use the current frame value 128 (representing a desired pixel value to appear on the electronic display 12) and a pixel history 130 (representing some number of frames of recent pixel history) to generate a compensated value 132. Although also not shown, the compensated value 132 may be bit-shifted back to the bit depth of the current frame value 128 if previously bit-shifted to a lower bit-depth. When a display pixel 54 of the electronic display 12 is driven using the compensated value 132 (e.g., an overdriven or underdriven value), the display pixel 54 may emit light corresponding to the current frame value 128 despite its recent pixel history. For example, if the prior pixel history 130 indicates that the display pixel 54 displayed four consecutive frames of G0, the overdrive LUT 126 may define the compensated value 132 to be higher than if the prior pixel history 130 indicated that the display pixel 54 displayed two consecutive frames of G0.
The remapping function 124 may generate an updated pixel history 125 based on the current frame value 128 and the prior pixel history 130. The pixel history buffer 122 may store the updated pixel history 125 for use in a subsequent frame. In some examples, the updated pixel history 125 may be compressed before being stored and decompressed to output the pixel history 130 using any suitable compression technique. The updated pixel history 125 and the pixel history 130 thus may represent recent pixel history over any suitable number of frames of pixel history (e.g., as mentioned with respect to
In an example, the remapping function 124 may use a number of indices of a lookup table to store the updated pixel history 125. For example, the lookup table may include 256 indices, 512 indices, 1024 indices, 2048 indices, 4096 indices, or any suitable number of indices for storing the updated pixel history 125. In an example, the current frame value 128 may be a 10-bit value and the pixel history buffer 122 may track 10-bit values (e.g., current frame value 128, updated pixel history 125). The pixel history buffer 122 may store an updated pixel history 125 that includes 1024 indices corresponding to certain historical gray levels. The first 256 indices may correspond to 8-bit gray levels 0 through 255, while the remaining indices correspond to the other pixel history (e.g., pre-defined pixel history comprising information from multiple frames). To convert the 10-bit current frame value 128 into the 8-bit 0-255 range, a bit-shifting function can be used as part of the remapping function 124. In the single frame tracking mode, the bit-shift could make up the entire remapping function 124.
In another example in which the pixel history buffer 122 tracks 8-bit values, the pixel history buffer 122 may store an updated pixel history 125 that includes 256 indices that may correspond to certain historical gray levels. For example, the 256 indices may correspond to gray levels 0 through 255. Additionally or alternatively, the updated pixel history 125 of the pixel history buffer 122 may compress the indices such that some smaller number of indices corresponds to gray levels (e.g., indices 0 to 250 may correspond to gray levels 0 through 255), while the remaining indices may correspond to other pixel history that may cover more than one previous frame of pixel history (e.g., indices 251 through 256 may correspond to dummy indices representing the gray level values of one or more prior frames, though any other suitable encoding scheme may be used). In this way, the pixel history buffer 122 may store the display pixel values of one or more previous frames by storing an updated pixel history 125 that encodes past pixel history into a single frame. The illustrated examples of the remapping function 124 are intended to illustrate how the remapping function may work, however, any suitable mode of operation (e.g., function) may be used to remap the recent pixel history to generate the updated pixel history 125. With the foregoing in mind, at block 152 of the flowchart 150 of
At block 154, the remapping function 124 determines and outputs an updated pixel history 125. For example, by applying the remapping function 124, the overdrive system 120 may use the current frame value 128 of the display pixel 54 and the prior pixel history 130 to determine the updated pixel history 125. The remapping function 124 may include any suitable modes of operation. For example, the remapping function 124 may include a single frame tracking mode, a full pixel history tracking mode, and a second frame response (SFR) mode. Based on the current frame value 128 and the pixel history 130, a mode of the remapping function 124 may be used to determine the updated pixel history 125. In effect, the new updated pixel history 125 incorporates the current frame value 128 into the pixel history encoded in the updated pixel history 125. Consider, for example, that the pixel history 125 is in the same range as the current frame value 128. In this case, the remapping function 124 may be understood to generate the updated pixel history 125 in the single frame tracking mode. In the single frame tracking mode, the pixel history 130 may be equivalent to the prior frame value. By way of example, if the current frame value 128 is a gray level of 1024, and the value of the pixel history 130 is between 0 and 2047, the updated pixel history 125 may be output as the current frame value 128 of 1024. Thus, for the next image frame, the pixel history 130 will be the current frame value 128.
In certain instances, the pixel history 125 may not be in the same range as the current frame value 128. For example, the current frame value 128 includes high gray level values while the pixel history 125 includes many consecutive frames of low gray levels, or vice versa. To account for significant display pixel hysteresis, the remapping function 124 may utilize the full pixel history tracking mode or the SFR mode. These modes may be particularly useful when the pixel history includes one or more frames of G0, but may also be used when non-zero gray levels are tracked. In certain instances, the pixel history 130 may represent a bit-shifted value that is in a range beyond that of the current frame value 128.
By way of example, it may be beneficial to track the number of consecutive frames that the current frame value 128 is G0. Thus, when the pixel history 130 is G0 (meaning that the one previous current frame value 128 was G0) and the current frame value 128 is also G0, the remapping function 124 may output the updated pixel history 125 including two frames of G0. By way of example, the pixel history 130 may indicate a pixel history of a frame of G50 followed by the two frames of G0. The pixel history buffer 122 may be a two-position frame buffer containing the number of G0 frames since the most recent non-G0 frame. A first position may contain the most recent non-zero gray level and the second position may contain the number of consecutive G0 frames since the non-G0 frame. For example, the pixel history buffer 122 may be [50, 2].
For a subsequent frame, the pixel history 130 includes two previous frames of G0; and if the current frame value 128 is again G0, the output of the remapping function 124 may output the updated pixel history 125 including three frames of G0. As such, the pixel history buffer 122 may be [50, 3]. This may continue as long as the current frame value 128 remains G0 up to some maximum history value of G0. Indeed, the pixel history 130 may track any suitable number of historical G0 frames. However, the full pixel history mode may also be used when the pixel history includes one or more frames of low gray levels followed by a transition to a higher gray level, or vice versa. As described with respect to
When the current frame value 128 then switches to a non-zero gray level value, the remapping function 124 may output an updated pixel history 125 having an SFR value utilizing the SFR mode. In an example, the SFR value may be used by the overdrive LUT 126 to appropriately compensate for pixel history for a second frame after multiple frames of G0 and a non-G0 frame. In another example, the SFR value may be used by the overdrive LUT 126 to compensate for a second frame following any Gx transition, such as consecutive bright frames (e.g., frames where a display pixel 54 is at a maximum brightness), or consecutive low light frames (e.g., frames where the display pixel 54 is at a low gray level). When the pixel history 130 is in the range of the SFR mode 172, the remapping function 124 may output the updated pixel history 125 as equal to the current frame value 128. Thus, for the next frame, the pixel history 130 will fall in the range of the single frame tracking mode 170. Additionally or alternatively, the SFR mode may be used following any gray level transition. For example, the SFR value may be used by the overdrive LUT 126 to appropriately compensate for pixel history with low gray values and a second frame with a high gray value. Furthermore, the SFR mode may be extended to compensate for any suitable number of subsequent frame responses, such as a third frame response, a fourth frame response, a fifth frame response, and so on.
At block 156, the updated pixel history 125 may be stored in the pixel history buffer 122. At block 158, the overdrive lookup table (LUT) 126 may receive the current frame value 128 and the pixel history 130, which is the updated pixel history 125 from the prior frame stored in the pixel history buffer 122, to determine the compensated value 132. The overdrive LUT 126 may determine the compensated value 132 so that, when the display pixel may be driven using the compensated value 132, the display pixel 54 emits an amount of light corresponding to the current frame value 128. The current frame value 128 may correspond to the target luminance of the display pixel 54.
At block 160, the overdrive table (LUT) 126 may determine the compensated value 132 that causes the display pixel 54 to display image content that may be desired by the current frame value 128, but taking into consideration the hysteresis of the display pixel 54. The overdrive LUT 126 may use the current frame value 128 and the pixel history 130 to determine the overdrive value 132. By way of example, overdrive LUT 126 may include 256 indices, 512 indices, 1024 indices, 2048 indices, 4096 indices, or any suitable number of indices for determining the overdrive value 132.
The singe frame tracking mode may be utilized when the prior pixel history 130 is in the same range as the current frame value 128. The overdrive LUT 126 may output a compensated value 132 to account for significant changes from frame to frame that could result in pixel hysteresis in the single frame tracking mode. In certain instances, the prior pixel history 130 may not be in the same range as the current frame value 128. For example, the prior pixel history 130 may indicate multiple frames of higher gray level values, the overdrive LUT 126 may output a compensated value 132 to account for the higher gray level values. In another example, when the prior pixel history 130 indicates multiple frames of G0 history, the overdrive LUT 126 may output a compensated value 132 to account for the many prior frames of G0 in the full pixel history tracking mode. When the prior pixel history 130 includes a value of 0, this means that there has been one prior frame of G0. As such, the overdrive LUT 126 may output a compensated value 132 to account for the single historical frame of G0. When the pixel history 130 is an SFR value, the overdrive LUT 126 may output a compensated value 132 to account for a second frame response. When the pixel history 130 indicates multiple frames of G0 history, the overdrive LUT 126 may output a compensated value 132 to account for the specific number of prior frames of G0 in the full pixel history tracking mode.
Indeed, the pixel history may include any suitable number of frames (e.g., first frame value, third frame value, fifth frame value, tenth frame value, and so on) and the overdrive system 120 may use the pixel history to determine the compensated value. Furthermore, the overdrive system 120 may apply compensation to not only the first frame response and the second frame response, but also to a third frame response, a fourth frame response, a fifth frame response, and so on. The overdrive system 120 may be calibrated to a display panel (e.g., display panel physics) to determine the appropriate amount of overdrive or underdrive applied to the display pixels 54 to reach the target luminance at the initial optical response.
Consider a particular example in which the pixel history 130 has an encoded value corresponding to five frames of G0, meaning that the display pixel 54 may be been programmed with gray level G0 for the five prior consecutive frames. For a first frame after the five consecutive frames of G0, the current frame value 128 may be a value of 240 (which may have been bit-shifted from an original value of 480). The overdrive LUT 126 may output a compensated value 132 of 320 (e.g., which may be bit-shifted back to an original range for a value of 640) to account for the pixel hysteresis after the five consecutive frames of G0. At the same time, the remapping function 124 may output the updated pixel history 125 to be an encoded value for SFR compensation corresponding to five frames of G0 followed by the current frame value 128. For a second frame response after the five consecutive frames of G0 and the previous current frame value of 124, the new current frame value may happen to be 240 again. The pixel history 130 is now the SFR mapping. Based on the current frame value 128 (e.g., value of 240) and the pixel history 130, the overdrive LUT 126 may output a compensated value 132 of 261 (e.g., which may be bit-shifted back to an original range for a value of 522) to provide an appropriate second frame response to overcome lingering pixel hysteresis that remained after the first frame response.
At block 162, the compensated value 132 may be programmed into the display pixel 54, thereby driving the pixel to reach the target luminance. While the remapping function 124 and the overdrive LUT 126 have been described as accounting for the pixel history (e.g., gray level values Gx, Gy, Gz), the remapping function 124 and the overdrive LUT 126 may additionally or alternatively track a refresh rate, a temperature, or a global display brightness value. Moreover, in some embodiments, when the current frame value 128 differs from the pixel history 130 by some threshold amount, the remapping function 124 may output an updated pixel history as an SFR value. This may ensure that the additional prior frame of pixel history is accounted for in a subsequent frame.
In sum, the specific embodiments described above have been shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of this disclosure.
Moreover, it is well understood that the use of personally identifiable information should follow privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users. In particular, personally identifiable information data should be managed and handled so as to minimize risks of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to users.
The techniques presented and claimed herein are referenced and applied to material objects and concrete examples of a practical nature that demonstrably improve the present technical field and, as such, are not abstract, intangible or purely theoretical. Further, if any claims appended to the end of this specification contain one or more elements designated as “means for [perform]ing [a function] . . . ” or “step for [perform]ing [a function] . . . ”, it is intended that such elements are to be interpreted under 35 U.S.C. 112(f). However, for any claims containing elements designated in any other manner, it is intended that such elements are not to be interpreted under 35 U.S.C. 112(f).
This application claims priority to U.S. Patent Application No. 63/400,347, filed on Aug. 23, 2022, titled “Enhanced Overdrive or Underdrive for Flat Panel Displays,” which is hereby incorporated by reference in its entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
63400347 | Aug 2022 | US |