Context aware frame insertion

EP4684387A1Pending Publication Date: 2026-01-28GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024739867
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-11
Publication Date
2026-01-28

AI Technical Summary

Technical Problem

Mobile computing devices face challenges in achieving desired luminance levels in display transitions due to limited frame rates supported by display driver integrated circuits (DDICs), leading to image sticking and suboptimal power efficiency.

Method used

The system on a chip (SoC) dynamically determines the quantity of redundant frames to insert based on context parameters, such as sensor data and application type, allowing frame rates beyond those supported by the DDIC, thereby optimizing display luminance and reducing power consumption.

Benefits of technology

This approach enhances display quality by mitigating image sticking and improves power efficiency by dynamically adjusting redundant frame insertion based on context-aware parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024033381_18122025_PF_FP_ABST
    Figure US2024033381_18122025_PF_FP_ABST
Patent Text Reader

Abstract

An example method includes: causing, by one or more processors of a system on a chip (SoC) of a mobile computing device, a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; obtaining, by the one or more processors, values of one or more context parameters that indicate a current status of the mobile computing device; determining, by the one or more processors and based on the values of the one or more context parameters, a quantity of frames to insert after display of the first frame; and causing, subsequent to the display of the first frame and by the one or more processors, the DDIC to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame.
Need to check novelty before this filing date? Find Prior Art

Description

CONTEXT AWARE FRAME INSERTIONBACKGROUND

[0001] Mobile computing devices may include displays. In general, mobile computing devices may have a frame rate which indicates how often the mobile computing device displays a frame on the display. In some situations, the luminance level following the display of an updated frame may not reach a desired level, which may manifest as “image-sticking.”SUMMARY

[0002] In general, aspects of this disclosure are directed to mobile computing devices that include a system on a chip (SoC) that determines a quantity of redundant frames to selectively insert. Generally, mobile computing devices include display driver integrated circuits (DDICs) that support specific frame rates. As such, the DDIC utilizes a predetermined table that provides, for each supported frame rate, a quantity of redundant frames and timing information indicating when to insert the redundant frames. Insertion of a redundant frame may assist the luminance level following a frame update to reach a desired level but comes with a power usage cost. Furthermore, being limited to the supported frame rates determined by the DDIC may not be desirable. For instance, the limited frame rates determined by the DDIC may make it challenging for mobile computing devices to be power efficient and provide a continuous and image sticking free display.

[0003] In some designs, an SoC of a mobile computing device may send an updated frame to the DDIC for display at any frame rate. As such, the frame rate may not be one of the frame rates supported by the DDIC, so the determined quantity of redundant frames and timing information may not be optimal. When the frame rate is not included in the pre-determined table, the DDIC may not be able to determine an optimal quantity of redundant frames to selectively insert after the updated frame.

[0004] In accordance with one or more aspects of this disclosure, the SoC of the mobile computing device may dynamically determine an optimal quantity of redundant frames based on context parameters of the current application running on the mobile computing device. For instance, the context parameters may include any sensor or context information based on which the SoC determines an optimal quantity of redundant frames to selectively insert. By dynamically determining the optimal quantity of redundant frames, the SoC may enable redundant frame insertion with frame rates beyond those in a fixed pre-determined table. Inthis way, aspects of the disclosure may improve the display of a mobile computing device while providing power savings.

[0005] In one example, a method includes causing, by one or more processors of a system on a chip (SoC) of a mobile computing device, a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; obtaining, by the one or more processors, values of one or more context parameters that indicate a current status of the mobile computing device; determining, by the one or more processors and based on the values of the one or more context parameters, a quantity of frames to insert after display of the first frame; and causing, subsequent to the display of the first frame and by the one or more processors, the DDIC to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame.

[0006] In another example, a mobile computing device includes a display; a display driver integrated circuit (DDIC) configured to drive the display; and a system on a chip (SoC) comprising one or more processors configured to: cause, a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; obtain, values of one or more context parameters that indicate a current status of the mobile computing device; determine, based on the values of the one or more context parameters, a quantity of frames to insert after display of the first frame; and cause, subsequent to the display of the first frame, the DDIC to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame.

[0007] In another example, various aspects of the techniques are directed to a computer- readable storage media having stored thereon instructions that, when executed, cause one or more processors of a system on a chip (SoC) of a mobile computing device to: cause, a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; obtain, values of one or more context parameters that indicate a current status of the mobile computing device; determine, based on the values of the one or more context parameters, a quantity of frames to insert after display of the first frame; and cause, subsequent to the display of the first frame, the DDIC to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame.

[0008] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] FIG. l is a conceptual diagram illustrating an example mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure.

[0010] FIG. 2 is a graph illustrating example luminance levels of a display of a mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure.

[0011] FIG. 3 is a conceptual diagram further illustrating an example mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure.

[0012] FIG. 4 is a flowchart illustrating an example mode of operation of a mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure.

[0013] FIG. 5 is a flowchart illustrating an example mode of operation of an example mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of the present disclosure.DETAILED DESCRIPTION

[0014] FIG. l is a conceptual diagram illustrating an example mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure. As shown in FIG. 1, mobile computing device 110 may include system on a chip (SoC) 112, display driver integrated circuit (DDIC) 114, and display panel 116.

[0015] Mobile computing device 110 may be any computing device such as any mobile computing device. In some examples, mobile computing device 110 may be a cellular phone, a smartphone, a laptop computer, a tablet computer, a portable gaming device, a portable media player, an e-book reader, a watch (including a so-called smartwatch), an add-on device (such as a casting device), smart glasses, or another type of computing device. While described herein as a mobile computing device, aspect of this disclosure may be applicable to non-mobile computing devices such as computer monitors or “all in one” desktop computers.

[0016] In some examples, mobile computing device 110 may include an SoC, such as SoC 112. SoC 112 may include application modules 118A-118N (collectively, “application modules 118”), processors 120, and display timing module 122. SoC 112 may be an integrated circuit that integrates multiple electronic components onto a single chip. In some examples, SoC 112 may include one or more of data processing units, graphics processingunits (GPUs), memory, input / output interfaces, communication interfaces (such as Wi-Fi, Bluetooth, and cellular connectivity), audio and video processing units, and various other electronic components. Further, SoC 112 may support a specific operating system (OS) that may interact with the hardware components of SoC 112 and allow users to run applications (e.g., application modules 118) on mobile computing device 110.

[0017] A user of mobile computing device 110 may download, install, and execute one or more of application modules 118. Application modules 118 may include a plurality of user applications and may represent a first party application developed and provided as an application integrated into an operating system or a third-party application that a user of computing device 110 obtains via application store services provided by way of the operating system. Application modules 118 may extend software functionality of mobile computing device 110 where application modules 118 may execute within an execution environment presented by the operating system of mobile computing device 110.

[0018] In some examples, application modules 118 may provide user access to video and non-video application types and services such as, gaming services (e.g., video games), web conferencing services, video conferencing services, video streaming services, or any other service commonly provided by applications. In one example, application modules 118 may represent web application types and web-based services and enable user access and interaction with the content and functionality provided by websites.

[0019] Application modules 118 may be fixed frames per second applications, such as video or game applications, or dynamically changing frames per second applications, such as web browsing. Each application of application modules 118 may be associated with a specific frame rate. The frame rate of a particular application module of application modules 118 may be the number of individual frames or images displayed per second via display panel 116 while the particular application module is running.

[0020] Processors 120 may implement functionality and / or execute instructions within mobile computing device 110. Examples of processors 120 include, but are not limited to, one or more, data processing units (DPUs), graphics processing units (GPUs), digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. In some examples, processors 120 may perform functions or operations to execute application modules 118. In one example, processors 120 may render individual image frames that compose a video sequence or static images, such as a photograph or a digital painting. The term “frame” may encompass one or more units of static or dynamicvisual content that includes images, image frames within a video sequence, or frames within a broader context such as video playback or real-time rendering. Further, processors 120 may send information, such as commands, to modules within mobile computing device 110, such as display timing module 122.

[0021] Display timing module 122 may generate signals to drive display panel 116 via display driver IC 114. In some examples, display timing module 122 may generate timing signals configured to synchronize the refresh rate of the display panel 116 with the frames being rendered by processors 120. In some examples, display timing module 122 may operate as an interface between other modules being executed by processors 120 and display driver IC 114. In one example, processors 120 may render a frame to be sent to display timing module 122, which may issue a command or send the frame to DDIC 114 (e.g., via a MIPI interface) to display the frame on display panel 116.

[0022] DDIC 114 may interface with display timing module 122 and display panel 116. DDIC 114 may control the operation of display panel 116 by at least converting the command or frame received from the display timing module 122 into signals that drive the individual pixels or segments of display panel 116. For instance, DDIC 114 may generate row and column signals for matrix displays, timing signals for refreshing the display, and voltage levels for driving pixels. In some examples, DDIC 114 may receive a frame from display timing module 122 (e.g., via the MIPI interface). DDIC 114 may store the frame in graphic random access memory (GRAM) and then write the frame from GRAM to emission memory (EM) for display by display panel 116. EM may be an analog memory (e.g., capacitors in the pixels) that represents the current frame being displayed on display panel 116. The contents of EM may be continuously scanned by display panel 116 to refresh the image being displayed. By accessing GRAM, the DDIC 114 can insert the previously saved frame, without having to receive a new copy of the previously saved frame from display timing module 122.

[0023] Display panel 116 may be a screen or visual display that allows a user of mobile computing device 110 to interact with content, view images, or watch videos. Display panel 116 may be a low-temperature poly crystalline oxide (LTPO) organic light-emitting diode display or a low-temperature polycrystalline silicon (LTPS) organic light-emitting diode display. Display panel 116 may be a foldable display or a rollable display. Further, display panel 116 may support variable refresh rate in which the refresh rate of the display panel is dynamically adjusted to match the rate at which frames are rendered by one of processors 120.

[0024] In some examples, when display panel 116 displays a new frame, display panel 116 may not be able to meet the desired luminance level of the new frame. For instance, where display panel 116 displays a first new frame right after a frame transition (e.g., a transition between two dissimilar frames) and displays a second new frame after the first, display panel 116 may not be able to meet the desired luminance levels of the first frame while being able to meet the desired luminance levels of the second frame (e.g., provided luminance levels of the second frame are similar to those of the first frame). Such an inability to meet desired luminance levels may be caused by inherent OLED thin film transistor panel hysteresis of display panel 116. Without proper compensation, the difference in luminance levels between successive frames output by SoC 112 may cause image sticking phenomenon at display panel 116 and impact user experience.

[0025] In accordance with one or more aspects of this disclosure, the SoC 112 may execute display timing module 122 to determine an optimal quantity of redundant frames based on context parameters associated with the current application of application modules 118 running on mobile computing device 110. In some examples, a context parameter may be any sensor data or context information based on which the SoC 112 determines an optimal quantity of redundant frames to selectively insert. For instance, based on values of context parameters at a first time, display timing module 122 may determine a first quantity of redundant frames to be inserted after display of a first frame. However, based on values of the context parameters at a second time, display timing module 122 may determine a second quantity of redundant frames to be inserted after display of a second frame. The second quantity may be different than the first quantity, even when “frame rates” at the first and second times are the same.

[0026] In operation, SoC 112 may send a new frame for display to DDIC 114 through a mobile industry processor interface (MIPI). DDIC 114 may save the new frame to GRAM and write the new frame from GRAM to EM. Display panel 116 may scan the EM to display the new frame. As discussed above, SoC 112 may determine a quantity of redundant frames to insert and cause DDIC 114 to insert the determined quantity of redundant frames. As one example, SoC 112 may issue a self-refresh command through the mobile industry processor interface to DDIC 114. The self-refresh command may cause DDIC 114 to insert a copy of the frame currently being displayed (i.e., a redundant frame) for display by display panel 116. For instance, responsive to receiving the self-refresh command, DDIC 114 may write a “fresh” copy of a currently displayed frame to the EM from the GRAM.

[0027] As discussed above, SoC 112 may determine how often and when to issue the selfrefresh command based on the context parameters associated with mobile computing device 110. DDIC 114, upon receiving the self-refresh command, may access the previously saved frame in GRAM and write it to emission memory to insert the redundant frame for display on display panel 116. In this way, aspects of the disclosure may improve the display of a mobile computing device while providing power savings.

[0028] In some examples, the context parameters may include display brightness information, such as the display brightness value, display brightness mode, display brightness level, and current application type associated with the mobile computing device 110. The display brightness value may be a value (e.g., nits) that indicates how much light an object emits (e.g., a user or system configurable brightness level). The display brightness mode may be a high brightness mode, or a normal brightness mode associated with a range of display brightness values. The display brightness level may indicate a level associated with the display brightness value. The application type may be an application of application modules 118 and may identify the frame rate (i.e., frames per second) associated with the application. In one example, a value of the current application type context parameter may indicate whether the current application is a video play application or a non-video play application.

[0029] In another example, context parameters may include image and video information (e.g., meta data such as encoding, decoding, image size, etc.) of the mobile computing device 110. Further, the context parameters may include acceleration, touch, lighting, proximity, orientation, and quality of the content (i.e., resolution and color space), information associated with the mobile computing device 110. In one example, the context parameters may further include content associated with one or more cameras of the mobile computing device 110.

[0030] An OS of SoC 112 may receive any sensor or content information that can help the OS to determine the best frame rate and frame insertion to be utilized. The information it receives may be considered a context parameter and may be used to determine a minimum number of redundant frame insertions required and a minimum timing for when to insert them after a new image frame has been displayed.

[0031] While examples are described where a computing device and / or a computing system receives information (e.g., context parameters) associated with a computing device and a user of a computing device, the computing device and / or computing system may analyze the information only if the computing device receives permission from the user of the computing device to analyze the information. For example, before a computing device or computingsystem may collect or may make use of information associated with a user, the user may be provided with an opportunity to provide input to control whether programs or features of the computing device and / or computing system may collect and make use of user information (e.g., context parameters), or to dictate whether and / or how the device and / or system may receive content that may be relevant to the user. In addition, certain data may be treated in one or more ways before it is stored or used by the computing device and / or computing system, so that personally identifiable information is removed. Thus, the user may have control over how information is collected about the user and used by the computing device and computing system.

[0032] FIG. 2 is a graph illustrating example luminance levels of a display of a mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure. The luminance levels of display panel 116 of mobile computing device 110 may be measured by a light sensor, such as a photodiode. FIG. 2 may illustrate the luminance levels of the display of a new frame 240, the insertion of redundant frames, 244B and 244 A, and self-scans, 242 A, 242B, and 242C (collectively, “self-scan 242”).

[0033] In one example, SoC 112 may send a new frame 240 to DDIC 114 for display. DDIC 114 may save the new frame 240 to GRAM and write it from GRAM to EM where display panel 116 scans EM in such a way that it displays the new frame 240.

[0034] As illustrated by FIG. 2, the luminance level of displayed new frame 240 may not reach the desired luminance level, however redundant frame insertions 244A and 244B both reach the desired luminance level. If a second new frame, different from new frame 240, were to be inserted after redundant frame 244B the difference in luminance levels between redundant frame 244B and the second new frame would be mitigated.

[0035] After displaying new frame 240, display panel 116 may enter a self-scan 242A where display panel 116 scans over the data already stored in EM to refresh new frame 240 currently being displayed. In one example, self-scan 242 of display panel 116 may involve the display updating or independently refreshing each pixel individually. Each spike in luminance during a self-scan 242 may be display panel 116 refreshing the frame currently being displayed. In the example of self-scan mode 242A, display panel 116 may continuously scan EM to refresh the display of new frame 240.

[0036] As further illustrated by FIG. 2 self-scan 242 A may be ended by DDIC 114 receiving a self-refresh command from SoC 112 that indicates a redundant frame should be inserted. Instead of receiving by DDIC 114 a new frame from SoC 112, the previously saved frame inGRAM (i.e., new frame 240) is reused and inserted as redundant frame 244A. After redundant frame 244A is inserted, display panel 116 may enter self-scan 242B. In the example of self-scan 242B, display panel 116 may continuously scan EM to refresh the display of redundant frame 244A. Self-scan 242B may be ended by DDIC 114 again receiving a self-refresh command from SoC 112, as such redundant frame 244B (i.e., a copy of new frame 240) is inserted and then the DDIC enters self-scan 242C. In the example of self-scan 242C, display panel 116 may continuously scan EM to refresh the display of redundant frame 244B.

[0037] FIG. 3 is a conceptual diagram further illustrating an example mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure. Mobile computing device 310 of FIG. 3 may be an example of mobile computing device 110 of FIG. 1. Mobile computing device 310 of FIG. 3 may include system on a chip 312, display driver IC (DDIC) 314, and display panel 316.

[0038] System on a chip (SOC) 312 may be an example of SOC 112 of FIG. 1. As shown in FIG. 3, SOC 312 may include application modules 318A-318N (collectively referred to as, “application modules 318”), processors 320, display timing module 322, and operating system (OS) 328. Similarly, application modules 318, processors 320, and display timing module 322 may respectively be examples of application modules 118, processors 120, and display timing module 122 of FIG. 1.

[0039] SOC 312 may include OS 328 to execute software and manage hardware resources. OS 328 may run one or more of application modules 318.

[0040] Display timing module 322 may be an example of display timing module 122 of FIG. 1 and may include frame insertion module 324 and context parameter module 326. Context parameter module 326 may retrieve any sensor or content information (i.e., context parameters) relating to the one or more applications of application modules 318 that are currently running on OS 328. In some examples, context parameter module 326 may query OS 328, via an interface, to receive the context parameters.

[0041] Frame insertion module 324 may receive the context parameters from context parameter module 326 or access information from context parameter module 326 to determine a number of redundant frames to insert and, in some examples, a redundant frame insertion timing. In one example, frame insertion module 324 may be associated with, or reference, a look up table, database, algorithm, or machine learning model to determine, based on the retrieved context parameters, the number of redundant frames to insert and, in some examples, the redundant frame insertion timing. In another example, frame insertionmodule 324 may determine the number of redundant frames with a negative correlation to the video frame rate and / or current display brightness value.

[0042] In one example, OS 328 is running one of application modules 318. Context parameter module 326 may query OS 328, asking for specific context parameters relating to the current application running, such as, the type of application, the brightness mode, the brightness level, and video information. Once the context parameter module 326 receives these context parameters, frame insertion module 324 may determine the number of redundant frames to insert for the current application and, in some examples, the redundant frame insertion timing for the current application.

[0043] DDIC 314 may be an example of DDIC 114 of FIG. 1 and may include memory 330. Memory 330 may store information associated with display timing module 322, display driver IC 314, and display panel 316. Memory 330 may include data buffers for temporarily holding data. The stored information in memory 330 may include frames, commands, pixel values, configuration settings, and timing parameters. Memory 330 may be Static Random- Access Memory, Electrically Erasable Programmable Read-Only Memory, Flash Memory, Embedded Dynamic Random-Access Memory, GRAM, or a combination of one or more memory types.

[0044] Display panel 316 may be an example of display panel 116 of FIG. 1 and may include memory 332. Memory 332 may store information, such as pixel data, related to the current frame being displayed by display panel 316. Memory 332 may be analog memory (e.g., capacitors in the pixels), such as EM, and may be scanned by display panel 316 to refresh the frame being displayed. Memory 332 may store data as voltage levels. For instance, memory 332 may include a separate capacitor for each pixel and store a voltage level in the capacitor that corresponds to a desired luminance level of the pixel.

[0045] In one example, DDIC 314 may receive a frame from display timing module 322 for display by display panel 316. DDIC 314 may store the frame to memory 330 (e.g., GRAM) and then write the frame from memory 330 to memory 332 (e.g., EM) where display panel 316 scans memory 332 in such a way that it displays the frame. Within memory 330 the frame may be stored in a data buffer before being written to memory 332.

[0046] In another example, DDIC 314 may receive a self-refresh command from display timing module 322. As such, DDIC 314 may insert a redundant frame by writing new copies of the frame (i.e., the frame currently being displayed) to display panel 316. In one example, DDIC 314 may insert a redundant frame by writing the frame that was previously stored in memory 330 (i.e., the frame currently being displayed) to memory 332 for display by displaypanel 316. As such, DDIC 314 is able to insert redundant frames without having to receive the redundant frame from display timing module 322.

[0047] FIG. 4 is a flowchart illustrating an example mode of operation of a mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of this disclosure. After a new frame is displayed 402 an SoC of the mobile computing device may receive an additional new frame 406, 412, 418 for display 402 or may insert redundant frames 410, 414. The flowchart illustrated by FIG. 4 may be implemented by an SoC 112 of mobile computing device 110 of FIG. 1. In one example, the flowchart illustrated by FIG. 4 is an example mode of operation for display timing module 122 of SoC 112 of FIG. 1.

[0048] After displaying new frame 402 the SoC may start a timer 404. Timer 404 may be set to expire or trigger an action after a specific duration (i.e., delay time period). In one example, the delay time period may be determined based on at least the values of the one or more context parameters and by frame insertion module 324 of FIG. 3. Each instance the timer is started 404 it may be started with a new duration (i.e., each instance the timer is started 404 it may expire 408 after a different amount of time). While the timer is running, the SoC may check if a new frame has been received 406 until the timer expires 408, or until a new frame is received 406. If the SoC determines that a new frame has been received 406 then the new frame will be displayed 402 and the timer will restart 404.

[0049] If no new frame has been received 406 and the timer expires 408, then the SoC may insert a redundant frame 410. In one example, after the display of new frame 402 and following the elapse of the delay time period (i.e., the timer expires 408) SoC may send a self-refresh command to DDIC 114 for redundant frame insertion 410.

[0050] After the redundant frame insertion 410 the SoC will check if a new frame has been received 412. If a new frame has been received the new frame will be displayed 402 and the timer will restart 404. If a new frame has not been received 412 the SoC will determine if there are any additional redundant frames for insertion 414 and either insert a redundant frame 410 of the additional redundant frames or enter an idle state 416.

[0051] The SoC will stay in idle state 416 until a new frame is received 418. When a new frame is received 418 the SoC will exit idle state 416 to display the new frame 402 and then proceed to restart timer 404.

[0052] FIG. 5 is a flowchart illustrating an example mode of operation of an example mobile computing device that performs context aware frame insertion, in accordance with one or more aspects of the present disclosure. Although the example operation of FIG. 5 is described as being performed by mobile computing device 110 of FIG. 1, in other examples some or allof the example operations may be performed by another computing device.

[0053] SoC 112 of mobile computing device 110 may cause DDIC 114 to display a first frame at display panel 116 of mobile computing device 110 (500). For instance, SoC 112 may output, via a MIPI interface, data representing the first frame to DDIC 114. DDIC 114 may store the data representing the first frame in a memory, such as memory 330 of FIG. 3. DDIC 114 may display the first frame at display panel 116 may writing a copy of the data representing the first frame (or corresponding data) to a memory of display panel 116, such as memory 332 of FIG. 3.

[0054] SoC 112 may obtain values of one or more context parameters that indicate a current status of mobile computing device 110 (502). In some examples, a context parameter may be any sensor or context information based on which the SoC 112 determines an optimal quantity of frames to selectively insert. For instance, to obtain the values, SoC 112 may determine a current application type (e.g., video, or non-video), and display brightness information (e.g., current display brightness value and / or brightness mode).

[0055] Based on the values of the one or more context parameters SoC 112 may determine a quantity of frames to insert after display of the first frame (504). For instance, SoC 112 may determine the quantity of frames to insert based on the current application type and the display brightness information. In some examples, SoC 112 may determine the quantity of frames with a negative correlation to the current display brightness value (e.g., SoC 112 may determine lower quantities of frames for higher display brightness values).

[0056] Subsequent to display of the first frame SoC 112 may cause DDIC 114 to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame (506). For instance, to cause DDIC 114 to insert a redundant frame, SoC 112 may issue a self-refresh command to DDIC 114. Responsive to receiving the self-refresh command, DDIC 114 may write a fresh copy of data for a frame currently being displayed at display panel 116 to the emission memory of display panel 116 (e.g., from a GRAM of DDIC 114). This writing of a copy of a frame currently being displayed to the emission memory may be considered a redundant frame in that the frame being written is redundant over the frame currently being displayed. However, as discussed above, by inserting the determined quantity of redundant frames, DDIC 114 may enable frames to be displayed with their desired luminance. In this way, aspect of this disclosure may improve user experience.

[0057] Furthermore, as insertion of each redundant frame may come with a certain power usage, it may be desirable to insert a minimum quantity of redundant frames. By determiningthe quantity of frames to insert based on the value of the one or more context parameters, SoC 112 may minimize the quantity of frames inserted. In this way, aspects of this disclosure may desirably reduce power consumption.

[0058] Aspects of this disclosure include the following examples.

[0059] Example 1. A method comprising: causing, by one or more processors of a system on a chip (SoC) of a mobile computing device, a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; obtaining, by the one or more processors, values of one or more context parameters that indicate a current status of the mobile computing device; determining, by the one or more processors and based on the values of the one or more context parameters, a quantity of frames to insert after display of the first frame; and causing, subsequent to the display of the first frame and by the one or more processors, the DDIC to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame.

[0060] Example 2. The method of example 1, wherein causing the DDIC to insert the determined quantity of frames comprises outputting, by the one or more processors and to the DDIC, one or more self-refresh commands that cause the DDIC to insert a copy of the first frame.

[0061] Example 3. The method of example 2, wherein outputting the one or more selfrefresh commands comprises: determining, based on at least the values of the one or more context parameters, a delay time period; and outputting, following elapse of the delay time period after display of the first frame, an initial self-refresh command of the one or more selfrefresh commands to the DDIC.

[0062] Example 4. The method of any of examples 1-3, wherein the context parameters comprise one or more of a current application type, and display brightness information of the mobile computing device.

[0063] Example 5. The method of example 4, wherein a value of the current application type context parameter indicates whether the current application is a video play application or a non-video play application.

[0064] Example 6. The method of example 5, wherein, where the current application is a video play application, the current application type context parameter further indicates a video frame rate.

[0065] Example 7. The method of example 6, wherein determining the quantity of frames comprises determining the quantity of frames with a negative correlation to the video frame rate.

[0066] Example 8. The method of any of examples 4-7, wherein values of the display brightness information context parameters indicate a current display brightness value of the display and / or a current brightness mode.

[0067] Example 9. The method of example 8, wherein determining the quantity of frames comprises determining the quantity of frames with a negative correlation to the current display brightness value.

[0068] Example 10. The method of any of examples 1-3, wherein the context parameters comprise one or more of acceleration, touch, lighting, proximity, and orientation information associated with the mobile computing device.

[0069] Example 11. The method of any of examples 1-10, further comprising: inserting, by the DDIC, the determined quantity of frames by at least writing new copies of the first frame to an emission memory of the display.

[0070] Example 12. The method of example 11, wherein the first frame is stored in a data buffer of the DDIC, and wherein writing a new copy of the first frame comprises writing a copy of the first frame from the data buffer to the emission memory.

[0071] Example 13. The method of examples 1-12 wherein the display of the mobile computing device comprises a low-temperature polycrystalline oxide (LTPO) organic lightemitting diode display or a low-temperature polycrystalline silicon (LTPS) organic lightemitting diode display.

[0072] Example 14. A mobile computing device comprising: a display; a display driver integrated circuit (DDIC) configured to drive the display; and a system on a chip (SoC) comprising one or more processors configured to perform the method of any of examples 1- 13.

[0073] Example 15. A computer-readable storage media having stored thereon instructions that, when executed, cause one or more processors of a system on a chip (SoC) of a mobile computing device to perform the method of any of examples 1-13.

[0074] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer- readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspondto (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[0075] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0076] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.

[0077] The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, butdo not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.

[0078] Various examples of the disclosure have been described. Any combination of the described systems, operations, or functions is contemplated. These and other examples are within the scope of the following claims.

Claims

CLAIMS:

1. A method comprising: causing, by one or more processors of a system on a chip (SoC) of a mobile computing device, a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; obtaining, by the one or more processors, values of one or more context parameters that indicate a current status of the mobile computing device; determining, by the one or more processors and based on the values of the one or more context parameters, a quantity of frames to insert after display of the first frame; and causing, subsequent to the display of the first frame and by the one or more processors, the DDIC to insert the determined quantity of frames after display of the first frame and prior to display of a subsequent frame that is different than the first frame.

2. The method of claim 1, wherein causing the DDIC to insert the determined quantity of frames comprises outputting, by the one or more processors and to the DDIC, one or more self-refresh commands that cause the DDIC to insert a copy of the first frame.

3. The method of claim 2, wherein outputting the one or more self-refresh commands comprises: determining, based on at least the values of the one or more context parameters, a delay time period; and outputting, following elapse of the delay time period after display of the first frame, an initial self-refresh command of the one or more self-refresh commands to the DDIC.

4. The method of any of claims 1-3, wherein the context parameters comprise one or more of a current application type, and display brightness information of the mobile computing device.

5. The method of claim 4, wherein a value of the current application type context parameter indicates whether the current application is a video play application or a non-video play application.

6. The method of claim 5, wherein, where the current application is a video play application, the current application type context parameter further indicates a video frame rate.

7. The method of claim 6, wherein determining the quantity of frames comprises determining the quantity of frames with a negative correlation to the video frame rate.

8. The method of any of claims 4-7, wherein values of the display brightness information context parameters indicate a current display brightness value of the display and / or a current brightness mode.

9. The method of claim 8, wherein determining the quantity of frames comprises determining the quantity of frames with a negative correlation to the current display brightness value.

10. The method of any of claims 1-3, wherein the context parameters comprise one or more of acceleration, touch, lighting, proximity, and orientation information associated with the mobile computing device.

11. The method of any of claims 1-10, further comprising: inserting, by the DDIC, the determined quantity of frames by at least writing new copies of the first frame to an emission memory of the display.

12. The method of claim 11, wherein the first frame is stored in a data buffer of the DDIC, and wherein writing a new copy of the first frame comprises writing a copy of the first frame from the data buffer to the emission memory.

13. The method of any of claims 1-12, wherein the display of the mobile computing device comprises a low-temperature polycrystalline oxide (LTPO) organic light-emitting diode display or a low-temperature polycrystalline silicon (LTPS) organic light-emitting diode display.

14. A mobile computing device comprising: a display; a display driver integrated circuit (DDIC) configured to drive the display; and a system on a chip (SoC) comprising one or more processors configured to perform the method of any of claims 1-1315. A computer-readable storage media having stored thereon instructions that, when executed, cause one or more processors of a system on a chip (SoC) of a mobile computing device to perform the method of any of claims 1-13.