Insertion of context-aware frames
The SoC in mobile devices dynamically determines redundant frames based on context parameters to address power efficiency and burn-in issues, improving display quality and reducing power consumption.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2024-06-11
- Publication Date
- 2026-07-24
AI Technical Summary
Mobile computing devices face issues with power efficiency and display burn-in due to limited frame rates supported by display driver integrated circuits (DDICs), which hinder the ability to maintain desired luminance levels and insert optimal redundant frames.
A system-on-a-chip (SoC) in the mobile computing device dynamically determines the optimal amount of redundant frames based on context parameters, such as sensor data and application information, to insert frames at arbitrary rates, improving power efficiency and preventing burn-in.
This approach enhances display quality by maintaining desired luminance levels while reducing power consumption and minimizing burn-in, offering a more efficient and effective display solution.
Smart Images

Figure 2026524739000001_ABST
Abstract
Description
Background Art
[0001] A mobile computing device may include a display. Generally, a mobile computing device may have a frame rate indicating how frequently the mobile computing device displays a frame on the display. In some situations, the luminance level after displaying an updated frame may not reach a desired level, which may appear as "burn-in".
Summary of the Invention
[0002] Generally, aspects of the present disclosure are directed to a mobile computing device including a system on chip (SoC) that determines an amount of redundant frames to selectively insert. Generally, a mobile computing device includes a display driver integrated circuit (DDIC) that supports a particular frame rate. Therefore, the DDIC utilizes a predetermined table that provides an amount of redundant frames and timing information indicating when to insert the redundant frames for each supported frame rate. Inserting redundant frames may help the luminance level after a frame update reach a desired level, but it incurs a power consumption cost. Further, being limited to the supported frame rates determined by the DDIC may be undesirable. For example, the limited frame rates determined by the DDIC may make it difficult for the mobile computing device to provide a power-efficient, continuous, and burn-in-free display.
[0003] In some designs, the SoC of a mobile computing device may send updated frames to the DDIC for display at an arbitrary frame rate. Therefore, the frame rate may not be one of the frame rates supported by the DDIC, and consequently, the determined amount and timing information for redundant frames may not be optimal. If the frame rate is not included in a given table, the DDIC may not be able to determine the optimal amount of redundant frames to selectively insert after updated frames.
[0004] According to one or more aspects of the present disclosure, a SoC in a mobile computing device may dynamically determine an optimal amount of redundant frames based on context parameters of the current application running on the mobile computing device. For example, the context parameters may include arbitrary sensor or context information on which the SoC determines the optimal amount of redundant frames to selectively insert. By dynamically determining the optimal amount of redundant frames, the SoC may enable the insertion of redundant frames at frame rates exceeding those in a fixed, predetermined table. In this way, aspects of the present disclosure can improve the display of a mobile computing device while providing power savings.
[0005] For example, the method includes: causing a display driver integrated circuit (DDIC) to display a first frame on the display of a mobile computing device using one or more processors of a system-on-a-chip (SoC) of a mobile computing device; obtaining the value of one or more context parameters indicating the current state of the mobile computing device using one or more processors; determining the amount of frames to insert after the display of the first frame based on the value of one or more context parameters using one or more processors; and, following the display of the first frame, causing the DDIC to insert the determined amount of frames after the display of the first frame and before the display of a subsequent frame different from the first frame using one or more processors.
[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) having one or more processors configured to cause the display driver integrated circuit (DDIC) to display a first frame on the mobile computing device's display, to obtain values for one or more context parameters indicating the current state of the mobile computing device, to determine the amount of frames to insert after the display of the first frame based on the values of one or more context parameters, and to cause the DDIC to insert the determined amount of frames after the display of the first frame and before the display of subsequent frames different from the first frame.
[0007] In other examples, various aspects of the technology relate to a computer-readable storage medium that, when executed, causes 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 on the display of the mobile computing device; to obtain the value of one or more context parameters indicating the current state of the mobile computing device; to determine the amount of frames to insert after the display of the first frame based on the value of one or more context parameters; and, following the display of the first frame, to cause the DDIC to insert the determined amount of frames after the display of the first frame and before the display of subsequent frames different from the first frame.
[0008] Details of one or more embodiments of this disclosure are described in the accompanying drawings and the following description. Other features, purposes, and advantages of this disclosure will become apparent from the description and drawings, as well as from the claims. [Brief explanation of the drawing]
[0009] [Figure 1] This is a conceptual diagram illustrating an exemplary mobile computing device that performs context-aware frame insertion according to one or more aspects of the present disclosure. [Figure 2] A graph showing exemplary brightness levels of a display of a mobile computing device performing context-aware frame insertion, according to one or more aspects of the present disclosure. [Figure 3] This is a conceptual diagram further illustrating an exemplary mobile computing device that performs context-aware frame insertion according to one or more aspects of the present disclosure. [Figure 4] This flowchart shows exemplary operating modes of a mobile computing device that performs context-aware frame insertion according to one or more aspects of the present disclosure. [Figure 5]This flowchart shows exemplary operating modes of an exemplary mobile computing device that performs context-aware frame insertion according to one or more aspects of the present disclosure. [Modes for carrying out the invention]
[0010] Figure 1 is a conceptual diagram showing an exemplary mobile computing device that performs context-aware frame insertion according to one or more embodiments of the present disclosure. As shown in Figure 1, the mobile computing device 110 may include a system-on-a-chip (SoC) 112, a display driver integrated circuit (DDIC) 114, and a display panel 116.
[0011] The mobile computing device 110 can be any computing device, including any mobile computing device. In some examples, the mobile computing device 110 can be a mobile phone, smartphone, laptop computer, tablet computer, portable game device, portable media player, e-reader, wristwatch (including so-called smartwatches), add-on device (such as a casting device), smart glasses, or other types of computing devices. Although described herein as a mobile computing device, aspects of this disclosure may also be applicable to non-mobile computing devices, such as a computer monitor or an "all-in-one" desktop computer.
[0012] In some examples, the mobile computing device 110 may include an SoC such as SoC112. The SoC112 may include application modules 118A-118N (collectively, "application modules 118"), a processor 120, and a display timing module 122. The SoC112 may be an integrated circuit that integrates multiple electronic components onto a single chip. In some examples, the SoC112 may include one or more of the following: a data processing unit, a graphics processing unit (GPU), memory, input / output interfaces, communication interfaces (such as Wi-Fi®, Bluetooth®, and cellular connectivity), audio and video processing units, and various other electronic components. Furthermore, the SoC112 may support a dedicated operating system (OS) that interacts with the hardware components of the SoC112 and allows a user to run applications (e.g., application modules 118) on the mobile computing device 110.
[0013] A user of the mobile computing device 110 may download, install, and run one or more of the application modules 118. An application module 118 may contain multiple user applications, representing first-party applications developed and provided as applications integrated into the operating system, or third-party applications obtained by the user of the computing device 110 through an application store service provided through the operating system. An application module 118 may extend the software capabilities of the mobile computing device 110, which can be executed within the execution environment presented by the operating system of the mobile computing device 110.
[0014] In some examples, application module 118 may provide user access to video and non-video application types and services, such as game services (e.g., video games), web conferencing services, video conferencing services, video streaming services, or any other services commonly offered by the application. In one example, application module 118 may represent a web application type and a web-based service, enabling user access to and interaction with content and functionality provided by the website.
[0015] The application module 118 may be an application with a fixed number of frames per second, such as a video or game application, or an application with a dynamically changing number of frames per second, such as web browsing. Each application in the application module 118 may be associated with a specific frame rate. The frame rate of a particular application module in the application module 118 may be the number of individual frames or images displayed per second via the display panel 116 while that particular application module is running.
[0016] The processor 120 may implement functions and / or execute instructions within the mobile computing device 110. Examples of the processor 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 gate arrays (FPGAs), or other equivalent integrated circuits or discrete logic circuits. In some examples, the processor 120 may perform functions or operations to run the application module 118. In one example, the processor 120 may render individual image frames that make up a video sequence, or still images such as photographs or digital paintings. The term "frame" may encompass one or more units of static or dynamic visual content, including images, image frames in a video sequence, or frames in a broader context such as video playback or real-time rendering. Furthermore, the processor 120 may transmit information, such as commands, to modules within the mobile computing device 110, such as the display timing module 122.
[0017] The display timing module 122 can generate signals to drive the display panel 116 via the display driver IC 114. In some examples, the display timing module 122 can generate timing signals configured to synchronize the refresh rate of the display panel 116 with the frames being rendered by the processor 120. In some examples, the display timing module 122 can act as an interface between the display driver IC 114 and other modules running on the processor 120. In one example, the processor 120 can render frames to be sent to the display timing module 122, which can then issue commands to the DDIC 114 or send the frames (e.g., via a MIPI interface) to display the frames on the display panel 116.
[0018] The DDIC 114 can interface with the display timing module 122 and the display panel 116. The DDIC 114 can control the operation of the display panel 116 by converting commands or frames received from the display timing module 122 into signals that drive individual pixels or segments of the display panel 116. For example, the DDIC 114 can generate row and column signals for a matrix display, timing signals for refreshing the display, and voltage levels for driving pixels. In some examples, the DDIC 114 can receive frames from the display timing module 122 (e.g., via a MIPI interface). The DDIC 114 can store the frames in graphics random access memory (GRAM) and then write the frames from GRAM to emission memory (EM) for display by the display panel 116. The EM may be analog memory (e.g., a capacitor in a pixel) representing the current frame displayed on the display panel 116. The contents of the EM may be continuously scanned by the display panel 116 to refresh the displayed image. By accessing the GRAM, the DDIC114 can insert previously saved frames without needing to receive a new copy of a previously saved frame from the display timing module 122.
[0019] The display panel 116 may be a screen or visual display that enables a user of the mobile computing device 110 to interact with content, view images, or watch videos. The display panel 116 may be a low-temperature polycrystalline oxide (LTPO) organic light-emitting diode display or a low-temperature polycrystalline silicon (LTPS) organic light-emitting diode display. The display panel 116 may be a foldable display or a rollable display. Furthermore, the display panel 116 may support a variable refresh rate, where the refresh rate of the display panel is dynamically adjusted to match the rate at which frames are rendered by one of the processors 120.
[0020] In some cases, when the display panel 116 displays a new frame, it may not be able to meet the desired brightness level for the new frame. For example, if the display panel 116 displays a first new frame immediately after a frame transition (e.g., a transition between two different frames) and a second new frame after the first frame, the display panel 116 may be able to meet the desired brightness level for the second frame (e.g., if the brightness level provided by the second frame is similar to that of the first frame), but may not be able to meet the desired brightness level for the first frame. Such inability to meet the desired brightness level may be caused by the inherent OLED thin-film transistor panel hysteresis of the display panel 116. Without proper compensation, the difference in brightness levels between consecutive frames output by the SoC 112 may cause image burn-in in the display panel 116, potentially affecting the user experience.
[0021] According to one or more aspects of this disclosure, the SoC 112 may execute a display timing module 122 to determine an optimal amount of redundant frames based on context parameters related to the current application of an application module 118 running on a mobile computing device 110. In some examples, the context parameters may be arbitrary sensor data or context information based on the SoC 112 determining an optimal amount of redundant frames to selectively insert. For example, based on the value of the context parameter at a first time, the display timing module 122 may determine a first amount of redundant frames to be inserted after the display of the first frame. However, based on the value of the context parameter at a second time, the display timing module 122 may determine a second amount of redundant frames to be inserted after the display of the second frame. The second amount may be different from the first amount, even if the "frame rate" at the first and second times is the same.
[0022] During operation, the SoC112 may send a new frame for display to the DDIC114 via the Mobile Industrial Processor Interface (MIPI). The DDIC114 may store the new frame in GRAM and write the new frame from GRAM to the EM. The display panel 116 may scan the EM to display the new frame. As described above, the SoC112 may determine the amount of redundant frames to insert and cause the DDIC114 to insert the determined amount of redundant frames. As an example, the SoC112 may issue a self-refresh command to the DDIC114 via the Mobile Industrial Processor Interface. The self-refresh command causes the DDIC114 to insert a copy of the currently displayed frame (i.e., a redundant frame) for display by the display panel 116. For example, in response to receiving a self-refresh command, the DDIC114 may write a "fresh" copy of the currently displayed frame from GRAM to the EM.
[0023] As described above, SoC 112 can determine the frequency and timing of issuing the self-refresh command based on the context parameters related to the mobile computing device 110. When receiving the self-refresh command, DDIC 114 can access the previously stored frame in the GRAM, write it into the emission memory, and insert a redundant frame for display on the display panel 116. In this way, aspects of the present disclosure can improve the display of the mobile computing device while providing power savings.
[0024] In some examples, the context parameters may include display luminance information such as a display luminance value, a display luminance mode, a display luminance level, and the current application type related to the mobile computing device 110. The display luminance value can be a value (e.g., nits) indicating the amount of light emitted by an object (e.g., the luminance level configurable by a user or system). The display luminance mode can be a high luminance mode or a normal luminance mode related to a range of display luminance values. The display luminance level can indicate a level related to the display luminance value. The application type may be an application of the application module 118 and may also identify a frame rate related to the application (i.e., the number of frames per second). In one example, the value of the context parameter of the current application type can indicate whether the current application is a video playback application or a non-video playback application.
[0025] In other examples, the context parameters can include image and video information (e.g., metadata such as encoding, decoding, image size, etc.) of the mobile computing device 110. Further, the context parameters can include information on acceleration, touch, lighting, proximity, orientation, and content quality (i.e., resolution and color space) related to the mobile computing device 110. In one example, the context parameters may further include content related to one or more cameras of the mobile computing device 110.
[0026] The OS of the SoC 112 can receive any sensor or content information that can help the OS determine the optimal frame rate and frame insertion. The information it receives may be considered context parameters and may be used to determine the minimum number of necessary redundant frame insertions and the minimum timing to insert them after a new image frame is displayed.
[0027] While examples are given of computing devices and / or computing systems receiving information (e.g., context parameters) related to the computing device and / or the user of the computing device, the computing device and / or computing system may only analyze the information if it has received permission from the user of the computing device to analyze it. For example, before a computing device or computing system may collect or use information related to a user, the user may be provided with an opportunity to provide input to control whether a program or function of the computing device and / or computing system may collect and use user information (e.g., context parameters), or to indicate whether and / or how the device and / or system may receive content that may be related to the user. Furthermore, certain data may be processed in one or more ways so that personally identifiable information is removed before it is stored or used by the computing device and / or computing system. Thus, the user can control how information about the user is collected and used by the computing device and computing system.
[0028] Figure 2 is a graph showing exemplary brightness levels of the display of a mobile computing device performing context-aware frame insertion according to one or more embodiments of the present disclosure. The brightness level of the display panel 116 of the mobile computing device 110 may be measured by an optical sensor such as a photodiode. Figure 2 may show brightness levels for displaying a new frame 240, inserting redundant frames 244B and 244A, and self-scanning 242A, 242B, and 242C (collectively, “self-scanning 242”).
[0029] For example, the SoC112 may send a new frame 240 to the DDIC114 for display. The DDIC114 can store the new frame 240 in GRAM and write it from GRAM to the EM, and the display panel 116 scans the EM in such a way that it displays the new frame 240.
[0030] As shown in Figure 2, the brightness level of the displayed new frame 240 may not reach the desired brightness level, but both redundant frame insertions 244A and 244B reach the desired brightness level. If a second new frame, different from the new frame 240, is inserted after the redundant frame 244B, the brightness level difference between the redundant frame 244B and the second new frame is mitigated.
[0031] After displaying a new frame 240, the display panel 116 can enter a self-scan 242A, which scans the data already stored in the EM to refresh the new frame 240 that the display panel 116 is currently displaying. In one example, the self-scan 242 of the display panel 116 may include the display updating or independently refreshing each pixel individually. Each spike in brightness during the self-scan 242 may indicate that the display panel 116 is refreshing the frame that is currently being displayed. In the example of self-scan mode 242A, the display panel 116 can continuously scan the EM to refresh the display of the new frame 240.
[0032] As further illustrated by Figure 2, self-scan 242A may be terminated when DDIC 114 receives a self-refresh command from SoC 112 indicating that a redundant frame should be inserted. Instead of DDIC 114 receiving a new frame from SoC 112, a frame previously stored in GRAM (i.e., new frame 240) is reused and inserted as redundant frame 244A. After redundant frame 244A is inserted, the display panel 116 may enter self-scan 242B. In the example of self-scan 242B, the display panel 116 can continuously scan the EM to refresh the display of redundant frame 244A. Self-scan 242B may be terminated when DDIC 114 again receives a self-refresh command from SoC 112, resulting in the insertion of redundant frame 244B (i.e., a copy of new frame 240), after which DDIC enters self-scan 242C. In the self-scanning 242C example, the display panel 116 can continuously scan the EM to refresh the display of redundant frames 244B.
[0033] Figure 3 is a conceptual diagram further illustrating an exemplary mobile computing device that performs context-aware frame insertion according to one or more embodiments of the present disclosure. The mobile computing device 310 in Figure 3 may be an example of the mobile computing device 110 in Figure 1. The mobile computing device 310 in Figure 3 may include a system-on-a-chip 312, a display driver IC (DDIC) 314, and a display panel 316.
[0034] System-on-a-chip (SoC) 312 may be an example of SoC 112 in Figure 1. As shown in Figure 3, SOC 312 may include application modules 318A-318N (collectively referred to as "application modules 318"), a processor 320, a display timing module 322, and an operating system (OS) 328. Similarly, application modules 318, processor 320, and display timing module 322 may be examples of application module 118, processor 120, and display timing module 122 in Figure 1, respectively.
[0035] SOC312 may include OS328 to run software and manage hardware resources. OS328 may run one or more application modules 318.
[0036] The display timing module 322 may be an example of the display timing module 122 in Figure 1 and may include a frame insertion module 324 and a context parameter module 326. The context parameter module 326 may obtain any sensor or content information (i.e., context parameters) related to one or more applications of the application module 318 currently running on the OS 328. In some examples, the context parameter module 326 may query the OS 328 via an interface to receive context parameters.
[0037] The frame insertion module 324 may receive or access context parameters from the context parameter module 326 to determine the number of redundant frames to insert, and in some examples, the timing of the redundant frame insertion. In one example, the frame insertion module 324 may associate with or reference a lookup table, database, algorithm, or machine learning model based on the retrieved context parameters to determine the number of redundant frames to insert, and in some examples, the timing of the redundant frame insertion. In other examples, the frame insertion module 324 may determine the number of redundant frames that have a negative correlation with the video frame rate and / or the current display brightness value.
[0038] In one example, OS328 is running one of the application modules 318. The context parameter module 326 may query OS328 to request specific context parameters related to the currently running application, such as the application type, brightness mode, brightness level, and video information. Once context parameter 326 receives these context parameters, the frame insertion module 324 may determine the number of redundant frames to insert into the current application, and, in some examples, the timing of the redundant frame insertion for the current application.
[0039] DDIC314 may be an example of DDIC114 in Figure 1 and may include memory 330. Memory 330 may store information related to the display timing module 322, the display driver IC 314, and the display panel 316. Memory 330 may include a data buffer for temporarily holding data. Information stored 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.
[0040] The display panel 316 may be an example of the display panel 116 in Figure 1 and may include a memory 332. The memory 332 may store information such as pixel data related to the current frame displayed by the display panel 316. The memory 332 may also be an analog memory such as an EM (e.g., a capacitor in a pixel) and may be scanned by the display panel 316 to refresh the displayed frame. The memory 332 may store data as voltage levels. For example, the memory 332 may include a separate capacitor for each pixel and store a voltage level corresponding to a desired brightness level for the pixel in the capacitor.
[0041] In one example, the DDIC 314 may receive frames from the display timing module 322 for display by the display panel 316. The DDIC 314 may store the frames in memory 330 (e.g., GRAM) and then write the frames from memory 330 to memory 332 (e.g., EM), and the display panel 316 scans memory 332 in a manner that displays the frames. Within memory 330, the frames may be stored in a data buffer before being written to memory 332.
[0042] In another example, the DDIC314 may receive a self-refresh command from the display timing module 322. Therefore, the DDIC314 can insert a redundant frame by writing a new copy of the frame (i.e., the currently displayed frame) to the display panel 316. In one example, the DDIC314 can insert a redundant frame by writing a frame previously stored in memory 330 (i.e., the currently displayed frame) to memory 332 for display by the display panel 316. Therefore, the DDIC314 can insert a redundant frame without needing to receive a redundant frame from the display timing module 322.
[0043] Figure 4 is a flowchart illustrating exemplary operating modes of a mobile computing device performing context-aware frame insertion according to one or more embodiments of the present disclosure. After a new frame is displayed 402, the SoC of the mobile computing device may receive additional new frames for display 406, 412, 418 or insert redundant frames 410, 414. The flowchart shown by Figure 4 may be implemented by the SoC 112 of the mobile computing device 110 in Figure 1. In one example, the flowchart shown by Figure 4 is an example of an operating mode of the display timing module 122 of the SoC 112 in Figure 1.
[0044] After displaying a new frame 402, the SoC may start a timer 404. The timer 404 may be set to expire after a specific period (i.e., a delay period) or to trigger an action. For example, the delay period may be determined by the frame insertion module 324 in Figure 3 based on the value of at least one or more context parameters. Each instance in which the timer is started 404 may start with a new period (i.e., each instance in which the timer is started 404 may expire 408 after a different amount of time). While the timer is running, the SoC may check whether a new frame has been received 406 until the timer expires 408 or a new frame is received 406. If the SoC determines that a new frame has been received 406, the new frame is displayed 402 and the timer is restarted 404.
[0045] If no new frame is received 406 and the timer expires 408, the SoC may insert a redundant frame 410. For example, after the display of a new frame 402 and following the expiration of the delay period (i.e., the timer expires 408), the SoC may send a self-refresh command to the DDIC 114 for inserting a redundant frame 410.
[0046] After the redundant frame insertion 410, the SoC checks 412 whether a new frame has been received. If a new frame has been received, the new frame is displayed 402 and the timer is restarted 404. If no new frame has been received 412, the SoC determines 414 whether there are any additional redundant frames to insert and inserts the redundant frames 410 or enters an idle state 416.
[0047] The SoC remains idle 416 until a new frame is received 418. When a new frame is received 418, the SoC exits idle 416, displays the new frame 402, and then restarts the timer 404.
[0048] Figure 5 is a flowchart illustrating exemplary operating modes of an exemplary mobile computing device performing context-aware frame insertion according to one or more embodiments of the present disclosure. The exemplary operation in Figure 5 is described as being performed by the mobile computing device 110 of Figure 1, but in other examples, some or all of the exemplary operation may be performed by other computing devices.
[0049] The SoC 112 of the computing device 110 can cause the DDIC 114 to display a first frame on the display panel 116 of the mobile computing device 110 (500). For example, the SoC 112 can output data representing the first frame to the DDIC 114 via the MIPI interface. The DDIC 114 can store the data representing the first frame in memory, for example, memory 330 in Figure 3. The DDIC 114 can display the first frame on the display panel 116 by writing a copy of the data representing the first frame (or the corresponding data) to the memory of the display panel 116, for example, memory 332 in Figure 3.
[0050] The SoC112 may obtain values for one or more context parameters that indicate the current state of the mobile computing device 110 (502). In some examples, the context parameters may be arbitrary sensor or context information based on determining the optimal amount of frames that the SoC112 selectively inserts. For example, to obtain values, the SoC112 may determine the current application type (e.g., video or non-video) and display brightness information (e.g., the current display brightness value and / or brightness mode).
[0051] Based on the values of one or more context parameters, the SoC112 may determine the amount of frames to insert after the display of the first frame (504). For example, the SoC112 may determine the amount of frames to insert based on the current application type and display brightness information. In some examples, the SoC112 may determine the amount of frames that have a negative correlation with the current display brightness value (for example, the SoC112 may determine fewer frames for higher display brightness values).
[0052] Following the display of the first frame, the SoC 112 may cause the DDIC 114 to insert a determined amount of frames after the display of the first frame and before the display of subsequent frames different from the first frame (506). For example, to cause the DDIC 114 to insert redundant frames, the SoC 112 may issue a self-refresh command to the DDIC 114. In response to receiving the self-refresh command, the DDIC 114 may write a fresh copy of the data of the frame currently displayed on the display panel 116 to the emission memory of the display panel 116 (for example, from the GRAM of the DDIC 114). Writing this copy of the currently displayed frame to emission memory may be considered redundant frames in that the frames being written are redundant with respect to the currently displayed frame. However, as described above, by inserting a determined amount of redundant frames, the DDIC 114 may enable the frames to be displayed at their desired brightness. In this way, aspects of the present disclosure can improve the user experience.
[0053] Furthermore, since the insertion of each redundant frame may incur a certain amount of power consumption, it may be desirable to insert the minimum amount of redundant frames. By determining the amount of frames to insert based on the value of one or more context parameters, the SoC112 can minimize the amount of frames inserted. In this way, aspects of the present disclosure can desirablely reduce power consumption.
[0054] The embodiments of this disclosure include the following examples.
[0055] Example 1. A method comprising: causing a display driver integrated circuit (DDIC) to display a first frame on the display of a mobile computing device by one or more processors of a system-on-a-chip (SoC) of a mobile computing device; obtaining a value for one or more context parameters indicating the current state of the mobile computing device by one or more processors; determining an amount of frames to insert after the display of the first frame based on the values of the one or more context parameters by one or more processors; and, following the display of the first frame, causing the DDIC to insert the determined amount of frames after the display of the first frame and before the display of a subsequent frame different from the first frame by one or more processors.
[0056] Example 2. The method according to Example 1, wherein causing the DDIC to insert the determined amount of frames is performed by one or more processors and includes outputting one or more self-refresh commands to the DDIC, causing the DDIC to insert a copy of the first frame.
[0057] Example 3. The method according to Example 2, wherein outputting the one or more self-refresh commands includes determining a delay period based on the values of at least one or more context parameters, and outputting the initial self-refresh commands of the one or more self-refresh commands to the DDIC following the elapsed of the delay period after the display of the first frame.
[0058] Example 4. The method according to any one of Examples 1 to 3, wherein the context parameter includes one or more of the current application type and the display brightness information of the mobile computing device.
[0059] Example 5. The method according to Example 4, wherein the value of the context parameter for the current application type indicates whether the current application is a video playback application or a non-video playback application.
[0060] Example 6. The method according to Example 5, wherein, if the current application is a video playback application, the context parameter of the current application type further indicates the video frame rate.
[0061] Example 7. The method according to Example 6, wherein determining the amount of frames includes determining the amount of frames that have a negative correlation with the video frame rate.
[0062] Example 8. The method according to any one of Examples 4 to 7, wherein the value of the context parameter of the display brightness information indicates the current display brightness value and / or current brightness mode of the display.
[0063] Example 9. The method according to Example 8, wherein determining the amount of the frame includes determining the amount of the frame which has a negative correlation with the current display brightness value.
[0064] Example 10. The method according to any one of Examples 1 to 3, wherein the context parameter includes one or more of the information of acceleration, touch, lighting, proximity, and orientation related to the mobile computing device.
[0065] Example 11. The method according to any one of Examples 1 to 10, further comprising inserting the determined amount of frames by writing at least a new copy of the first frame to the emission memory of the display using the DDIC.
[0066] Example 12. The method according to Example 11, wherein the first frame is stored in the data buffer of the DDIC, and writing a new copy of the first frame includes writing the copy of the first frame from the data buffer to the emission memory.
[0067] Example 13. The method according to Examples 1 to 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.
[0068] 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) having one or more processors configured to perform the method described in any of Examples 1 to 13.
[0069] Example 15. A computer-readable storage medium in which instructions are stored, wherein, when executed, the instructions cause one or more processors of a system-on-a-chip (SoC) of a mobile computing device to perform the method described in any of Examples 1 to 13.
[0070] In one or more examples, the described functions may be implemented in hardware, software, firmware, or a combination thereof. If implemented in software, these functions may be stored or transmitted as one or more instructions or codes on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable mediums may include computer-readable storage media corresponding to tangible media such as data storage media, or communication media including any medium that facilitates the transfer of computer programs from one location to another, for example, according to a communication protocol. Thus, computer-readable media may generally correspond to (1) non-transient tangible computer-readable storage media, or (2) communication media such as signals or carrier waves. Data storage media may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for carrying out the techniques described herein. Computer program products may include computer-readable media.
[0071] Examples, rather than being limited, of such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM, or other optical disk storage devices, magnetic disk storage devices, or other magnetic storage devices, flash memory, or any other storage media that can be used to store desired program code in the form of instructions or data structures and that are accessible by a computer. Any connection is also properly called a computer-readable storage medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of a medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carriers, signals, or other temporary media; instead, they refer to non-temporary, tangible storage media. As used herein, the terms "disk" and "disc" include compact discs (CDs), laser discs, optical discs, digital-purpose discs (DVDs), floppy disks (registered trademark), and Blu-ray discs. A "disk" typically reproduces data magnetically, while a "disc" reproduces data optically using a laser. Any combination of the above should also be included in the scope of computer-readable media.
[0072] 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 logic circuits or discrete logic circuits. Therefore, the term “processor” as used herein may refer to any of the aforementioned structures or any other structure suitable for implementing the technology described herein. Furthermore, in some embodiments, the functions described herein may be provided within dedicated hardware and / or software modules. The technology can also be fully implemented in one or more circuits or logic elements.
[0073] The technology of this disclosure can be implemented in a variety of devices or apparatus, including wireless handsets, integrated circuits (ICs), or sets of ICs (e.g., chipsets). While this disclosure describes various components, modules, or units to highlight the functional aspects of devices configured to perform the disclosed technology, implementation by different hardware units is not necessarily required. Rather, as described above, the various units may be combined within hardware units, or they may be provided by a collection of interoperating hardware units, including one or more processors as described above, in combination with appropriate software and / or firmware.
[0074] Various examples of this disclosure have been described. Any combination of the described systems, operations, or functions is intended. These examples and other examples are within the scope of the following claims.
Claims
1. It is a method, One or more processors of a system-on-a-chip (SoC) of a mobile computing device cause a display driver integrated circuit (DDIC) to display a first frame on the display of the mobile computing device, The one or more processors obtain the value of one or more context parameters that indicate the current state of the mobile computing device, The one or more processors determine the amount of frames to insert after the display of the first frame based on the values of the one or more context parameters, A method comprising, following the display of the first frame, one or more processors causing the DDIC to insert the determined amount of frames after the display of the first frame and before the display of subsequent frames different from the first frame.
2. The method according to claim 1, wherein causing the DDIC to insert the determined amount of frames includes the one or more processors outputting one or more self-refresh commands to the DDIC to cause the DDIC to insert a copy of the first frame.
3. Outputting one or more of the aforementioned self-refresh commands means The delay period is determined based on the values of at least one of the context parameters, The method according to claim 2, further comprising outputting an initial self-refresh command for one or more self-refresh commands to the DDIC following the elapsed delay period after the display of the first frame.
4. The method according to any one of claims 1 to 3, wherein the context parameter includes one or more of the current application type and the display brightness information of the mobile computing device.
5. The method according to claim 4, wherein the value of the context parameter for the current application type indicates whether the current application is a video playback application or a non-video playback application.
6. The method according to claim 5, wherein, if the current application is a video playback application, the context parameter of the current application type further indicates the video frame rate.
7. The method according to claim 6, wherein determining the amount of frames includes determining the amount of frames that have a negative correlation with the video frame rate.
8. The method according to any one of claims 4 to 7, wherein the value of the context parameter of the display brightness information indicates the current display brightness value and / or current brightness mode of the display.
9. The method according to claim 8, wherein determining the amount of the frame includes determining the amount of the frame having a negative correlation with the current display brightness value.
10. The method according to any one of claims 1 to 3, wherein the context parameter includes one or more of the information of acceleration, touch, lighting, proximity, and orientation related to the mobile computing device.
11. The method according to any one of claims 1 to 10, further comprising the DDIC inserting the determined amount of frames by writing at least a new copy of the first frame to the emission memory of the display.
12. The method according to claim 11, wherein the first frame is stored in the data buffer of the DDIC, and writing a new copy of the first frame includes writing the copy of the first frame from the data buffer to the emission memory.
13. The method according to any one of claims 1 to 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, The display and A display driver integrated circuit (DDIC) configured to drive the aforementioned display, A mobile computing device comprising: a system-on-a-chip (SoC) having one or more processors configured to perform the method described in any one of claims 1 to 13.
15. A computer-readable storage medium in which instructions are stored, wherein, when executed, the instructions cause one or more processors of a system-on-a-chip (SoC) of a mobile computing device to perform the method according to any one of claims 1 to 13.