The present disclosure relates generally to display panels, and more specifically, to systems and methods that provide one or more frames of content with modified pixel settings.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
In many devices, such as televisions, smartphones, computer panels, smartwatches, among others, pixel-based display panels are employed to provide a user interface. For example, in organic light emitting diode (OLED) panels, settings associated with pixels of display panels may change. For example, content being displayed on the screen may include frames that may differ from one another. In some instances, the initial response of the device to post-transition settings may not correspond to the post-transition settings. For example, content displayed on the display panels may be present for several frames before the content is displayed with visual characteristics that correspond to the post-transition settings.
A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects that may not be set forth below.
In many devices, such as televisions, smartphones, computer panels, smartwatches, among others, pixel-based display panels are employed to display content. For example, organic light emitting diode (OLED) panels may be used. In some instances, the initial response of the device to post-transition settings may not correspond to the post-transition settings. As a result, the content may be displayed for several frames before the content is displayed with the post-transition settings. Embodiments described herein discuss techniques that enable one or more frames of the content to be displayed in a manner that more closely corresponds to the post-transition settings.
In one embodiment, an electronic device that includes a display is provided. The display is configured to show content that includes a plurality of frames, and the plurality of frames includes a first frame that is associated with a pre-transition value. The plurality of frames also includes a second frame that is associated with a current frame value that corresponds to a first luminance. Additionally, the electronic device is configured to determine a compensated current frame value corresponding to a second luminance. The electronic device is also configured to display the second frame using the compensated current frame value.
In another embodiment, a method includes determining a pre-transition value associated with a first frame of content and determining a post-transition value associated with a second frame of content and a first luminance. The method also includes determining an overdrive value associated with the second frame. The overdrive value is associated with a second luminance that is greater than the first luminance. The method also includes displaying the second frame using the overdrive value.
In a further embodiment, an electronic device includes a display that is configured to show content. The content includes a first set of frame data that includes a pre-transition value. The content also includes a second set of frame data that includes a post-transition value associated with a first luminance. Moreover, the electronic device is configured to determine an overdrive value based on the pre-transition value and post-transition value, wherein the overdrive value is associated with a second luminance that is greater than the first luminance. The electronic device is also configured to generate a third set of frame data that includes the overdrive value. Additionally, the electronic device is configured to display a first frame associated with the first set of frame data; and a second frame associated with the third set of frame 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.
Many electronic devices may use display panels to show content to users. Many user display panels may be pixel-based panels, such as light-emitting diode (LED) panels, organic light emitting diodes (OLED) panels and/or plasma panels. In many devices, such as televisions, smartphones, computer panels, smartwatches, among others, pixel-based display panels are employed to show content and/or provide a user interface. For example, content may include frames that can be displayed. One frame may include pre-transition settings, while a subsequent frame may include post-transition settings. In some instances, the initial response of the display to post-transition settings may not correspond to the post-transition settings. For example, the post-transition settings may be associated with color and/or brightness settings that differ from those associated with the pre-transition settings. Indeed, content displayed on the display panels may be present for several frames before the content is displayed with visual characteristics that correspond to the post-transition settings.
Embodiments described herein are related to system and methods for providing improved initial responses. More specifically, the present disclosure discusses an overdrive technique that may be used to modify one or more frames of the content such that the initial frame response more closely corresponds to post-transition settings.
With the foregoing in mind, a general description of suitable electronic devices that may employ an overdrive to provide an improved response to changed display settings is discussed herein. Turning first to
By way of example, the electronic device 10 may represent a block diagram of the notebook computer depicted in
In the electronic device 10 of
In certain embodiments, the display 18 may be a liquid crystal display (LCD), which may allow users to view images generated on the electronic device 10. In some embodiments, the display 18 may include a touch screen, which may allow users to interact with a user interface of the electronic device 10. Furthermore, it should be appreciated that, in some embodiments, the display 18 may include one or more organic light emitting diode (OLED) displays, or some combination of liquid crystal display (LCD) panels and OLED panels. The display 18 may receive images, data, or instructions from processor 12 or memory 14, and provide an image in display 18 for interaction. More specifically, the display 18 includes pixels, and each of the pixels may be set to display a color at a brightness based on the images, data, or instructions from processor 12 or memory 14. For instance, the colors displayed by the pixels may be defined by a RGB color model wherein each pixel displays a color based on a value for how much red, green, and blue is included in the color. For example, the color black may be defined as “RGB: 0, 0, 0,” the color white may be defined as “RGB: 255, 255, 255,” and all other colors may be defined by various combinations of red, green, and blue that have values between 0 and 255 (e.g., yellow may be defined as “RGB: 255, 255, 0”). Hexadecimal numbers may be used instead of decimal numbers. Additionally, colors may also be defined as coordinates of a color space. For example, colors may be defined by a set of coordinates in RGB color spaces such as standard Red Green Blue (“sRGB”) as described in International Electrotechnical Commission standard 61966-2-1:1999 and/or DCI-P3 as described by the Society of Motion Picture and Television Engineers (SMPTE) in SMPTE ED 432-1:2006 and SMPTE RP 431-2:2011.
In some instances, such as when pixels change from one setting to another (e.g., a change in color and/or brightness), content displayed on some of the pixels of the display 18 may initially differ from settings at which the content should be displayed. For example, based on received images, data, or instructions from the processor 12 and/or memory 14, some pixels of the display 18 may be caused to transition from a green value of 0 (i.e., no green) to a higher value (e.g., 200). However, in some cases, the color displayed on such pixels of the display 18 may not initially be the higher value. For example, it may take one or more frames for pixels to display the color and/or brightness that should be displayed. As discussed below, the memory 14 may include instructions pertaining to an overdrive 30, and the overdrive 30 causes the first frame or several frames of pixels to be commanded to display a color and/or brightness that differs from the intended color and/or brightness so that the pixels of the display 18 have the intended settings or settings that are similar to the intended settings at the first frame.
The input structures 22 of the electronic device 10 may enable a user to interact with the electronic device 10 (e.g., pressing a button to increase or decrease a volume level). The I/O interface 24 may enable electronic device 10 to interface with various other electronic devices, as may the network interface 26. The network interface 26 may include, for example, one or more interfaces for a personal area network (PAN), such as a Bluetooth network, for a local area network (LAN) or wireless local area network (WLAN), such as an 802.11x Wi-Fi network, and/or for a wide area network (WAN), such as a 3rd generation (3G) cellular network, 4th generation (4G) cellular network, long term evolution (LTE) cellular network, or long term evolution license assisted access (LTE-LAA) cellular network. The network interface 26 may also include one or more interfaces for, for example, broadband fixed wireless access networks (WiMAX), mobile broadband Wireless networks (mobile WiMAX), asynchronous digital subscriber lines (e.g., ADSL, VDSL), digital video broadcasting-terrestrial (DVB-T) and its extension DVB Handheld (DVB-H), ultra-Wideband (UWB), alternating current (AC) power lines, and so forth.
In certain embodiments, to allow the electronic device 10 to communicate over the aforementioned wireless networks (e.g., Wi-Fi, WiMAX, mobile WiMAX, 4G, LTE, and so forth), the electronic device 10 may include a transceiver 28. The transceiver 28 may include any circuitry that may be useful in both wirelessly receiving and wirelessly transmitting signals (e.g., data signals). Indeed, in some embodiments, as will be further appreciated, the transceiver 28 may include a transmitter and a receiver combined into a single unit, or, in other embodiments, the transceiver 28 may include a transmitter separate from the receiver. For example, as noted above, the transceiver 28 may transmit and receive OFDM signals (e.g., OFDM data symbols) to support data communication in wireless applications such as, for example, PAN networks (e.g., Bluetooth), WLAN networks (e.g., 802.11x Wi-Fi), WAN networks (e.g., 3G, 4G, and LTE cellular networks), WiMAX networks, mobile WiMAX networks, ADSL and VDSL networks, DVB-T and DVB-H networks, UWB networks, and so forth. Further, in some embodiments, the transceiver 28 may be integrated as part of the network interfaces 26. As further illustrated, the electronic device 10 may include a power source 29. The power source 29 may include any suitable source of power, such as a rechargeable lithium polymer (Li-poly) battery and/or an alternating current (AC) power converter.
In certain embodiments, the electronic device 10 may take the form of a computer, a portable electronic device, a wearable electronic device, or other type of electronic device. Such computers may include computers that are generally portable (such as laptop, notebook, and tablet computers) as well as computers that are generally used in one place (such as conventional desktop computers, workstations, and/or servers). In certain embodiments, the electronic device 10 in the form of a computer may be a model of a MacBook®, MacBook® Pro, MacBook Air®, iMac®, Mac® mini, or Mac Pro® available from Apple Inc. By way of example, the electronic device 10, taking the form of a notebook computer 10A, is illustrated in
User input structures 22, in combination with the display 18, may allow a user to control the handheld device 10B. For example, the input structures 22 may activate or deactivate the handheld device 10B, navigate user interface to a home screen, a user-configurable application screen, and/or activate a voice-recognition feature of the handheld device 10B. Other input structures 22 may provide volume control, or may toggle between vibrate and ring modes. The input structures 22 may also include a microphone may obtain a user's voice for various voice-related features, and a speaker may enable audio playback and/or certain phone capabilities. The input structures 22 may also include a headphone input may provide a connection to external speakers and/or headphones.
Turning to
Similarly,
In some embodiments, the electronic device 10 may be communicatively coupled to another electronic device that includes a display. For example, the electronic device 10 may include a digital media player and entertainment console that may be used to receive content, such as digital video data, from a number of sources and stream the content via a television. For instance, in one or more embodiments, the electronic device 10 may be an Apple TV® console available from Apple Inc.
With the foregoing in mind,
As another example of this phenomenon,
With the discussion of
Before proceeding a more detailed discussion of the overdrive 30, it should be noted that while
The current frame data 100 and previous frame data 104 may be utilized by a look-up table generator 108, which may generate a set of overdrive look-up tables 110 based on the current frame data 100 and the previous frame data 104. The overdrive look-up tables 110, which are discussed in more detail below, include information regarding RGB color settings, brightness settings, and temperature values for each pixel of the display 18. For example, in some embodiments, the first set of overdrive look-up tables 110 may include a look-up table for each color (e.g., red, green, and blue), a screen brightness (i.e., luminance), and temperature, and the overdrive look-up tables 110 may include values of settings are utilized during execution of the overdrive 30. More detail regarding the first set of overdrive look-up tables 110 is provided below.
As will be discussed in more detail below, in some embodiments, it may be beneficial to use more than one set of overdrive tables to determine the overdrive. For example, two or more sets of overdrive tables may be used to determine overdrive values for pixel values.
It should be noted that the overdrive 30 and the processes 98, 112, and 116 may be performed solely on pixels associated with the region(s) 106. In other words, in some embodiments, the overdrive 30 may be applied to only pixels that differ between the current frame and the previous frame. This may result in additional processing efficiencies, as unchanged pixels are not included in the overdrive calculation and processing.
Additionally, other calculations may be performed during the processes 98, 112, and 116. For example, the current frame data 100 and previous frame data 104 may be linearized. The current frame data 100 and previous frame data 104 may also be multiplied by a matrix (e.g., a 3×3 matrix) to get corresponding values (e.g., RGB color values) that filter out environmental lighting.
At block 132, a pre-transition value, l, may be determined based on the previous frame data 104. For example, the value of l may be defined in the previous frame data 104. For instance, in a transition from green 0 to green 200, l may be defined as green 0.
At block 134, a post-transition value, h, may be determined based on the current frame data 100. The value of h may be greater than or lower than the value of l. For example, the value of h may be defined by the current frame data 100. Continuing with the example of a transition from green 0 to green 200, the value of h may be defined as green 200.
At block 136, the first set of overdrive look-up tables 110 may be generated. Many calculations may be undertaken in the generation of the overdrive look-up tables 110. For example, luminance values associated with l, h, and values greater than l (when l is greater than h) and/or values that are lower than l (when l is lower than h) may be determined, and such values may be stored in the overdrive look-up tables 110. For instance, the luminance values may be luminance values at different frames for any value greater than l and/or lower than l. Continuing with the example of a transition from green 0 to green 200, the luminance of the first and second frames of displaying green 1 to green 255 may be determined and stored in the overdrive look-up tables 110. In some embodiments, the overdrive look-up tables 110 may not include each luminance value for values between l and h. Additionally, the overdrive look-up tables 110 may be generated for each color (e.g., red, green, and blue), various brightness levels of the display 18, and temperature.
At block 138, the first and second frame luminance values for h may be determined. This determination may be made by looking up luminance values in the overdrive look-up tables 110.
At block 140, a preliminary overdrive value, p, may be determined based on the second frame luminance value of h. More specifically, the value of p is such that the first frame luminance associated with p is approximately equal to the second frame luminance associated with h. In other words, p may be determined by using the overdrive look-up tables 110 to find which value that is greater than h has a first frame luminance that is approximately equal to the second frame luminance associated with h.
At block 142, the second set of overdrive look-up tables 114 may be generated. The overdrive look-up tables 114 may also include luminance values for a transition from l to p to h (i.e., the first frame corresponds to p and the second frame corresponds to h. In other words, the overdrive look-up tables 114 may include values relating to luminance associated with each of l, p, h, or a combination thereof. The overdrive look-up tables 114 may also be generated for each color (e.g., red, green, and blue), various brightness levels of the display 18, and temperature.
At block 144, a luminance of a second frame for a transition from l to p to h may be determined. In other words, in a transition from a pre-transition from associated with l to a first frame with value p and a second transition from the first frame to a second frame with value h, a luminance of the display 18 may be determined. This determination may be made by finding the luminance value in the overdrive look-up tables 114.
At block 146, an overdrive value, o, may be determined based on the second frame luminance value associated with the transition from l to p to h. More specifically, the value of o is such that the first frame luminance of o is approximately equal to the second frame luminance value of o. In other words, o may be determined by using the overdrive look-up tables 114 to find which value that is greater than p has a first frame luminance that is approximately equal to the second frame luminance of h.
At block 148, a transition from l to o to h may be implemented. For example, the one or more processors 12 may send a command that causes pixels of the display 18 to switch from having display settings with value l to value o in the transition from a pre-transition frame to a first frame, and from having display settings with value o to settings with value h in the transition from the first frame to the second frame. In such a scenario, o may be considered a compensated value in the sense that by implementing a transitions from l to o to h, display settings with value o associated with a first frame may appear more closely to display settings associated with h at a subsequent frame.
Keeping the discussion of
The graph also include a second line 166 that shows luminance values associated with the first frame in a transition from G0 to other gray levels. For instance, a point 168 corresponds to a luminance associated with the first frame in a transition from G0 to G159, while another point 170 corresponds to a luminance associated with the first frame in a transition from G0 to G210. As illustrated, the luminance associated with the first frame in a transition from G0 to G210 is equal to the luminance associated with the second frame in a transition from G0 to G159. In other words, G210 is p.
As described above, a luminance value associated with the second frame 206 may be determined by accessing the first set of overdrive look-up tables 110. As also described above, the second set of overdrive look-up tables 114 may be determined based on the current frame data 100, previous frame data 104, and the first set of overdrive look-up tables 110. Based on information in the second set of overdrive look-up tables 114, the overdrive value o may be determined. For instance, in the present example in which l is G0, p is G210, and h is G159, o is G220. More specifically, a luminance associated with the second frame 206 in a transition from G0 to G210 to G159 may be determined to be equal to a luminance associated with the first frame 208 in a transition from G0 to G220 by utilizing the second set of overdrive look-up tables 114.
With o having been determined, implementation of the overdrive 30 may cause a transition of pixels of the display 18 from a pre-transition frame (e.g., a previous frame) to a first frame (e.g., overdriven current frame 120) that results in content that is brighter the content would be without implementation of the overdrive. In the present example, implementation of the overdrive, as shown by the graph 204, results in 212 first frame that is overdrive to G220 (i.e., o), and the second frame 214 and subsequent frames are commanded to display at G159. As can be seen from comparing graph 210 to graph 182, implementation of the overdrive 30 causes the first frame 212 to have a higher luminance than in the first frame 186 in which the overdrive 30 is not utilized.
As has been discussed above, the overdrive 30 may cause the first frame in a transition to be commanded to have settings that differ from the final settings associated with the transition. More specifically, the overdrive 30 may cause a frame with overdrive value o to be displayed. For instance, in the example discussed with regard to
Moreover, while the previous examples discuss a single frame that is modified as a result of implementation of the overdrive 30, in other embodiments, multiple frames may be modified via implementation of the overdrive 30. As described below, a multiple frame overdrive is achieved by generating and utilizing an additional set of overdrive look-up tables.
For instance, at block 272, the pre-transition value l may be determined based on the previous frame data 104. The value of l may be defined by the previous frame data 104. For example, in a transition from a gray level of 0 (i.e., G0) to a gray level of 127 (i.e., G127), the value of l may be defined as G0 in the previous frame data 104.
At block 174, the post-transition value h may be determined. The value of h may be determined based on information stored in the current frame data 100. Continuing with the example of a transition from G0 to G127, the value of h may be defined as G127.
At block 276, the overdrive value o may be determined as described above with relation to
At block 278, the third set of overdrive look-up tables 242 may be generated. As described above, the third set of overdrive look-up tables 242 may be generated based on the current frame data 100, next frame data 244, previous frame data 104, and first and second sets of overdrive look-up tables 110, 114. To continue with the example of a transition from G0 to G127, the next frame data 244 may include information about the frame after the current frame (i.e., two frames after the pre-transition frame). For instance, in this particular example, the next frame data 244 may include the post-transition value l. That is, the previous frame data 104 is associated with a frame to be displayed at G0, while the current frame data 100 and next frame data 244 may both be associated with frames that are to be displayed at G127.
The third set of overdrive look-up tables 242 may include information regarding potential values of equivalent value e. The equivalent value e refers to a gray level for a first frame in a transition from e to h, where e is greater than l. The value of e is determined based on a luminance associated with the second frame in a transition from l to o to h. In other words, the third set of overdrive look-up tables may include luminance values associated a frame having value h in a transition from one frame to another frame having value h. Continuing with the example of a transition from G0 to G127, the transition from l to o to h would be G0 to G145 to G127, where G0 is associated with a pre-transition frame, G145 is associated with the overdriven current frame, and G127 is associated with the next frame. In this case, the next frame is the second frame. Accordingly, the value of e may be determined based on a luminance associated with the frame in which a portion of the display 18 is commanded to have a value of G127, and the value of e may be determined by utilized the third set of overdrive look-up tables 242.
At block 280, a luminance associated with the second frame in a transition from l to o to h may be determined. In other words, the luminance associated with the second frame in a transition from a pre-transition frame to an overdriven frame to the second frame may be determined.
At block 282, the value of e may be determined based on the luminance associated with the second frame in the transition from l to o to h. In particular, the value of e may be determined by utilizing the third set of overdrive look-up tables 242 to finding a luminance value approximately equivalent to the luminance value determined at block 280 that is associated with a frame having value h in a transition from e to h. Continuing with the example of a transition from G0 to G127, a luminance value associated with a frame having value h in a transition from l to o to h may be determined at block 280. The luminance value may be used to find a value of e that is stored in the third set of overdrive look-up tables 242, where a frame having value h in a transition from e to h has a luminance value approximately equal to the luminance value determined at block 280. In this particular example, the value of e may be G30.
At block 284, a next frame overdrive value n may be determined. The next frame overdrive value n is a value that is stored in the overdriven next frame data 250 such that when the data is utilized, the frame directly after the overdriven current frame is also overdriven. The value of n may be determined by substituting l with e and finding an overdrive value for a transition from e to h. In other words, whereas the overdrive value o is determined based on a transition from l to h, the next frame overdrive value n may be determined in the same way as o for a transition from e to h. Continuing with the example of a transition from G0 to G127 with e being G30, the next frame overdrive value n would be determined for a transition from G30 to G127. Such a determination may be made based on the information stored in the first, second, and third sets of overdrive look-up tables 110, 114, 242. For instance, a preliminary overdrive value may be determined similarly to how p is determined, and the value n may be determined based on the determination of the preliminary overdrive value.
At block 286, a command to implement the overdriven current frame and overdriven next frame may be sent. In other words, a transition from l to o to n to h may be implemented. For example, the one or more processors 12 may send a command that causes pixels of the display 18 to switch from having display settings with value l to value o in the transition from a pre-transition frame to a first frame, from value o to value n in a transition from the first frame to a second frame, and from value n to value h in a transition from the second frame to the third frame. It should also be noted that in some cases in which a preliminary overdrive value associated with n is determined, such a preliminary overdrive value may be used instead of n.
As described above in the example described in relation to
As described above, the value of e may be determined based on a luminance associated with the second frame 302. The graph 294 includes a first frame 304 that has a luminance value approximately equivalent to the luminance value associated with the second frame 302. In others, a transition from G30, which is e in this case, to G127 results in a luminance similar to the luminance associated with the last frame in a transition from G0 to G145 to G127. As described above, the equivalent value e may be used in the determination of the next frame overdrive value n, which may be utilized to cause multiple frames to be overdriven.
While the overdrive 30 is described as software that is executed via the one or more processors 12, in other embodiments, the overdrive 30 may be implemented via hardware. For example, in other embodiments, the overdrive 30 may be implemented via a system on a chip.
Additionally, the overdrive 30 may be used to “underdrive” frames of content. For example, in a transition from a frame with pre-transition settings associated with a first luminance to a second frame with post-transition settings associated with a second luminance that is less than the first luminance, the overdrive 30 may be employed to determine an underdrive value associated with the second frame. In such an example, the second frame may be displayed using the underdrive value. That is, in such an example, the second frame may be displayed using a compensated value such that the output of the display 18 during the second frame more closely resembles a subsequent frame associated with the second luminance.
As discussed below, visual artifacts may occur during operation of the electronic device 10. More specifically, users of the electronic device 10 may perceive visual artifacts on the display 18 of the electronic device for various reasons, including high-speed movement of high contrast content. For instance, visual artifacts may appear in the form of shadows on the display 18. For example,
The shadow effect illustrated in
As described above, to minimize display aberrations caused by the transition time between these gray levels, an overdrive (e.g., overdrive 30) may be implemented to provide a luminance at a first frame in a transition that is more similar to a target luminance. Implementing the overdrive 30 may reduce the occurrence of visual artifacts (e.g., shadows 402). For example,
Additionally, for transitions to a relatively high gray level (e.g., a transition to G255), it may not be possible to apply the overdrive 30. For instance, because there is no gray level higher than 255, it may not be possible to apply the overdrive 30 to produce a first frame with a higher luminance. Keeping the discussion of
At process block 452, grayscale image data may be generated. For instance, gray levels associated with image data received by the one or more processors 12 may be determined. As noted above, grayscale values may be determined for each pixel as a whole (i.e., as a combination of RGB color settings), or for each color component of a pixel (e.g., one grayscale value for a red value, one grayscale value of the green value, and one grayscale value for a blue value).
At process block 454, a brightness band associated with the grayscale image data may be adjusted. To help illustrate,
Referring back to
The various components of the overdrive system 500 may send and receive data. For example, the overdrive look-up table 502 and remap look-up table 504 may receive current frame data 520 and previous frame data 522. The current frame data 520 is data associated with a current frame that is to be displayed, whereas the previous frame data 522 relates to the last frame displayed. For instance, continuing the example of a transition from G255 to G0 to G127, the current frame data 520 may include data indicative of a gray level of zero after the G255 frame is displayed. In other words, the current frame data 520 may be associated with G0. In this example, the previous frame data 522 would be associated with G255.
The remap look-up table 504 serves to prevent the occurrence of overcompensation (e.g., as shown in graph 430 of
Continuing with the example of the transition from G255 to G0 to G127, at a first time, the current frame data 520 may be indicative of G0, and the previous frame data 522 may be indicative of the G255. The remap look-up table 504 may receive these gray levels and determine new previous frame data 522 that will be compressed by the data compression module 508 and stored in the memory 506, which may be included in the memory 14. For example, for current frame data 520 indicative of a gray level of G255 and previous frame data indicative of G0, the remap look-up table 504 may generative new previous frame data indicative of a gray level of G30. In some embodiments, this gray level may be an estimate of the luminance level 439 of
At a later time, such as when the next frame of image data is prepared to be displayed, the current frame data 520 may be indicative of G127, and the previous frame data 522 stored in the memory 506 may be indicative of G30. The previous frame data 522 may be decompressed via the data decompression module 510, and the overdrive look-up table 502 may receive the current frame data 520 and the previous frame data 522. The overdrive look-up table 502 may generate the overdriven current frame data 524 based on the current frame data 520 and the modified previous frame data 522. Because the transition (e.g., G30 to G127) is associated with a remapped gray value, the overdrive look-up table 502 may generate overdriven current frame data 524 that is indicative of a gray level that is lower than a gray value that would be obtained for a transition from G0 to G127. Accordingly, by utilizing the remap look-up table 504, a gray value that does not cause overcompensation may be obtained.
For example,
Utilization of the overdrive 30 may cause the electronic device 10 to consume more power than would be consumed if no overdrive were implemented. Bearing this in mind,
The graphics processing unit 602, pixel pipeline 604, and driver integrated circuit 606 perform tasks related to the processing and displaying of image data. For example, the graphics processing unit 602 may receive image data (e.g., from the memory 14 and/or the nonvolatile storage 16) and process the image data 60. In particular, the image data may include various images, or frames, of content that the graphics processing unit 602 may render at a frame rate, which is referred to herein as a “GPU rendering frame rate.” The GPU rendering frame rate may be defined in hertz, and the GPU rendering rate may vary. In other words the GPU rendering rate may change from time to time (e.g., based on a user interaction with the electronic device 10).
The pixel pipeline 604 may receive image data from the graphics processing unit 602 and further process the image data at a rate that is referred to herein as a “pixel pipeline frame rate.” For example, the pixel pipeline 604 may determine settings associated with pixels of the display 18 of the electronic device 12. For instance, as noted above, the pixel pipeline 604 may include the overdrive system 500. Accordingly, the pixel pipeline 604 may implement the overdrive 30 discussed above. It should also be noted that, in general, the pixel pipeline frame rate may be equal to the GPU rendering frame rate. In other words, the pixel pipeline 604 may process image data (e.g., frames of content) at the same rate as the graphics processing unit 602. However, as discussed above, in some cases, the GPU rendering frame rate and the pixel pipeline frame rate may differ.
The driver integrated circuit 606 may receive processed image data from the pixel pipeline 604 and cause the pixels of the display 18 to emit light in accordance with the processed image data. The driver integrated circuit 606 may cause the pixels of the display 18 to display image data at a refresh rate associated with the display 18. For example, if the display were to operate with a refresh rate of 60 hertz, the driver integrated circuit 606 may update image data (e.g., pixel data) that will be displayed by the pixels of the display 18 at a rate of 60 hertz.
In general, the higher the GPU rendering rate and the higher the pixel pipeline frame rate, the higher the amount of power the electronic device 10 consumes. More specifically, because more calculations are performed (e.g., more frames of content processed per second), the electronic device 10 may utilize energy from the power source 29 at a higher rate compared to when relatively lower GPU rendering rates and pixel pipeline frame rates.
Keeping the discussion of
Continuing with the discussion of the chart 620, the chart 620 includes a second region 628 associated with a second GPU rendering frame rate 630 of 60 hertz. As illustrated, the blocks 626 of the second region 628 have the same width as the line representing the second GPU rendering frame rate 630, signifying that the pixel pipeline frame rate associated with the second region 628 is also 60 hertz. That is, while the GPU rendering frame rate is 60 hertz, the pixel pipeline frame rate is 60 hertz. Accordingly, unlike the first region 622 (i.e., when the electronic device 10 is operating with a GPU rendering frame rate of 30 hertz), when the GPU rendering frame rate is 60 hertz, there may be no increase in the number of frames of content generated by the pixel pipeline 604 compared to the number of frames generated by the graphics processing unit 602.
During times associated with a third region 632 of the chart 620, the graphics processing unit 602 may process image data at a third GPU rendering frame rate 634 of 15 hertz. When utilizing the overdrive 30, and additional frame 626a is added that is associated with a pixel pipeline frame rate of 60 hertz. In other embodiments, it should be noted that utilizing the overdrive 30 while the graphics processing unit 602 is operating at the third GPU rendering frame rate 634 may result in refresh rate may result in two frames that are associated with a pixel pipeline frame rate of 30 hertz.
By selectively implementing the overdrive 30, the electronic device 10 may utilize less power. In one embodiment, the overdrive 30 may be implemented based on a scrolling speed associated with the display 18 of the electronic device 10. With this in mind,
The rate at which the graphics processing unit 602 processes image data (i.e., the GPU rendering frame rate) may also be modified based on scrolling speed. For example,
At process block 702, a frame of content may be received. For example, the frame of content may be received from the graphics processing unit 602. The frame of content may be associated with a GPU rendering frame rate. For example, the frame may correspond to a duration of time associated with a GPU rendering frame rate of 15 hertz, 20 hertz, 30 hertz, 60 hertz, or other rates.
At decision block 704, it is determined whether the GPU rendering frame rate associated with the frame and two frames immediately preceding the frame are associated with a threshold GPU frame processing rate (e.g., 60 hertz). In other words, whether the frame of content received at process block 702 and the two frames of content that immediately preceded the frame of content received at process block 702 are received may each be associated with a GPU rendering frame rate. At decision block 704, it may be determined whether each of these frames is associated with the threshold GPU rendering frame rate (e.g., 60 hertz). If the frame and the two previous frames are not rendered at or above the threshold GPU rendering frame rate, at process block 706, a next frame of content may be received (e.g., from the graphics processing unit 602).
However, if the GPU frame rendering frame rate associated with the frame and the two previous frames are rendered at or above the threshold GPU rendering frame rate, at process block 708, the overdrive 30 may be activated. For example, the overdrive 30 may be applied to frames of content after the frame of content received at process block 702 using the techniques discussed above. As discussed below, the overdrive 30 may remain activated and applied to subsequent frames until it is determined that a subsequent frame is not rendered at or above the threshold GPU rendering frame rate.
For instance, at process block 710, a next frame of content may be received, for example, from the graphics processing unit 602. At decision block 712, it is determined whether the next frame of content is rendered at or above the threshold GPU rendering frame rate. If the next frame of content, the overdrive 30 may be applied to the next frame of content. Additionally, another frame of content may be received (process block 710).
However, if the GPU rendering frame rate associated with the next frame of content is not rendered at or above the threshold GPU rendering frame rate, at process block 714, the overdrive 30 may be deactivated. The process 700 may then repeat as long as additional frames of data are available for retrieval.
Before continuing with the discussion of the drawings, it should be noted that the process 700 is provided as merely one embodiment of controlling implementation of the overdrive 30. In other embodiments, portions of the process 700 may be modified. For example, rather than determining whether a frame of content and the previous two frames of content are rendered at or above a particular threshold GPU rendering frame rate, in other embodiments, the process 700 may include determining whether a different number of frames (e.g., one, two, four, five, six) frames of content are associated with a particular threshold GPU rendering frame rate. The number of frames compared against the threshold GPU rendering frame rate may be adjusted to tradeoff between power savings and responsiveness. For example, the higher the number of frames that are compared against the threshold, the less rapid the overdrive 30 will be activated, but the higher the power savings.
Turning now to
As additionally illustrated, one frame 742 of content associated with a GPU rendering frame rate of 15 hertz is in the overdrive region 738. Accordingly, the overdrive 30 is applied to the frame 742. More specifically, the frame 742 may be generated during implementation of the overdrive 30, and the frame 742 may be associated with a GPU rendering frame rate of 60 hertz. Additionally, the frame 744 may also be generated. In other words, the frame 742 may be associated with a portion of image data associated with a frame 746 that is associated with a GPU rendering frame rate of 15 hertz. When the frame 746 is received, the overdrive 30 may be deactivated, during which time the frame 742 may be generated (e.g., in the pixel pipeline 604). For instance, the frame 742 may be inserted into the frame 746. Accordingly, by controlling the overdrive 30 in accordance with the process 700, the pixel pipeline 604 may generally operate without generating additional frames of content.
While the discussion above is directed to implementing the overdrive 30 based on a GPU rendering frame rate associated with the electronic device 10, in other embodiments, the overdrive 30 may be implemented based on characteristics of the electronic device 10. For example, in other embodiments, the overdrive 30 may be implemented based on software being implemented by the one or more processors 12 of the electronic device 12. For instance, while the electronic device 10 is running certain programs or applications, the overdrive 30 may be activated, while for other programs or applications, the overdrive 30 may be inactive.
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.
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 is a continuation-in-part of application Ser. No. 15/967,892, filed on May 1, 2018, which claims the benefit of U.S. Provisional Patent Application No. 62/552,994, filed Aug. 31, 2017, both of which are herein incorporated by reference in their entirety and for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
9343006 | Li et al. | May 2016 | B2 |
9685109 | Kimpe et al. | Jun 2017 | B2 |
9741282 | Giannikouris et al. | Aug 2017 | B2 |
20070285366 | Ha | Dec 2007 | A1 |
20170316727 | Mizusako et al. | Nov 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20190122636 A1 | Apr 2019 | US |
Number | Date | Country | |
---|---|---|---|
62552994 | Aug 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15967892 | May 2018 | US |
Child | 16146910 | US |