Context-aware frame insertion
By dynamically determining and inserting redundant frames based on scene parameters using the SoC, the problems of insufficient brightness and image retention in mobile computing device displays are solved, achieving a balance between power efficiency and display quality.
Patent Information
- Application Number
- CN202480005268.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-11
- Publication Date
- 2026-02-13
AI Technical Summary
When mobile computing devices display updated frames, the brightness level may not reach the desired level, resulting in image retention, and existing technologies struggle to find a balance between power efficiency and frame rate.
The optimal number of redundant frames is dynamically determined by the system-on-chip (SoC) of the mobile computing device based on the context parameters of the current application, and the redundant frames are inserted by the display driver integrated circuit (DDIC) to match the actual needs of the display.
It improves the display's brightness level, reduces image ghosting, and achieves power savings through optimized redundant frame insertion.
Smart Images

Figure CN121532816A_ABST
Abstract
Description
Background Technology
[0001] Mobile computing devices may include displays. Generally, mobile computing devices may have a frame rate, which indicates the frequency at which the mobile computing device displays frames on the display. In some cases, the brightness level may not reach the desired level after displaying an updated frame, which can manifest as "image sticking." Summary of the Invention
[0002] Generally, aspects of this disclosure relate to mobile computing devices that include a system-on-a-chip (SoC) that determines the number of redundant frames to be selectively inserted. Typically, the mobile computing device includes a display driver integrated circuit (DDIC) that supports a specific frame rate. Therefore, the DDIC utilizes a predetermined table that provides the number of redundant frames for each supported frame rate and timing information indicating when to insert the redundant frames. Inserting redundant frames can help achieve the desired brightness level after a frame update, but incurs power usage costs. Furthermore, being limited to the supported frame rates determined by the DDIC may not be desirable. For example, a limited frame rate determined by the DDIC can be challenging for a mobile computing device to be power-efficient and provide a continuous, image-free display.
[0003] In some designs, the SoC of a mobile computing device can send updated frames to the DDIC for display at any frame rate. Therefore, the frame rate may not be one of the frame rates supported by the DDIC, and thus the determined number and timing information of redundant frames may not be optimal. When the frame rate is not included in the predefined table, the DDIC may not be able to determine the optimal number of redundant frames to selectively insert after the updated frame.
[0004] According to one or more aspects of this disclosure, a System-on-Chips (SoC) of a mobile computing device can dynamically determine the optimal number of redundant frames based on contextual parameters of a current application running on the mobile computing device. For example, contextual parameters may include any sensor or contextual information that serves as the basis for the SoC to determine the optimal number of redundant frames to selectively insert. By dynamically determining the optimal number of redundant frames, the SoC can implement redundant frame insertion at a frame rate exceeding those in a fixed predetermined table. In this way, aspects of this disclosure can improve the display of a mobile computing device while providing power savings.
[0005] In one example, a method includes: one or more processors of a system-on-a-chip (SoC) of a mobile computing device causing a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; one or more processors obtaining values of one or more scene parameters indicating the current state of the mobile computing device; one or more processors determining, based on the values of the one or more scene parameters, the number of frames to be inserted after the display of the first frame; and following the display of the first frame, one or more processors causing the DDIC to insert the determined number of frames after the display of the first frame and before the display of subsequent frames different from 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) including one or more processors configured to: cause the display driver integrated circuit (DDIC) to display a first frame at the display of the mobile computing device; obtain values of one or more scene parameters indicating the current state of the mobile computing device; determine, based on the values of the one or more scene parameters, the number of frames to be inserted after the display of the first frame; and, following the display of the first frame, cause the DDIC to insert the determined number of frames after the display of the first frame and before the display of subsequent frames different from the first frame.
[0007] In another example, aspects of the technology relate to a computer-readable storage medium storing instructions that, when executed, cause one or more processors of a system-on-a-chip (SoC) of a mobile computing device to: display a first frame at a display of the mobile computing device using a display driver integrated circuit (DDIC); obtain values of one or more scene parameters indicating the current state of the mobile computing device; determine, based on the values of the one or more scene parameters, the number of frames to be inserted after the display of the first frame; and, following the display of the first frame, cause the DDIC to insert the determined number 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 examples of this disclosure are set forth in the accompanying drawings and the description below. Other features, objectives, and advantages of this disclosure will become apparent from the specification, the drawings, and the claims. Attached Figure Description
[0009] Figure 1 This is a conceptual diagram illustrating an example mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure.
[0010] Figure 2This is a graphic illustrating an example brightness level of a display of a mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure.
[0011] Figure 3 This is a conceptual diagram of an example mobile computing device that further illustrates the performance of context-aware frame insertion according to one or more aspects of this disclosure.
[0012] Figure 4 This is a flowchart illustrating an example operating mode of a mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure.
[0013] Figure 5 This is a flowchart illustrating an example operating mode of an example mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure. Detailed Implementation
[0014] Figure 1 This is a conceptual diagram illustrating an example mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure. Figure 1 As shown, 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.
[0015] Mobile computing device 110 can be any computing device, such as any mobile computing device. In some examples, mobile computing device 110 can be a cellular phone, smartphone, laptop computer, tablet computer, portable gaming device, portable media player, e-book reader, watch (including so-called smartwatches), add-on device (such as a casting device), smart glasses, or another type of computing device. Although described herein as a mobile computing device, aspects of this disclosure can be applied 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 a SoC, such as SoC 112. SoC 112 may include application modules 118A to 118N (collectively referred to as "application modules 118"), a processor 120, and a 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 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, SoC 112 may support a specific operating system (OS) that can 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] Users of mobile computing device 110 can download, install, and execute one or more of application modules 118. Application modules 118 may include multiple user applications and may represent first-party applications developed and provided for integration into the operating system, or third-party applications obtained by the user of computing device 110 via an application store service provided by the operating system. Application modules 118 can extend the software functionality of mobile computing device 110, wherein application modules 118 can execute within an execution environment presented by the operating system of mobile computing device 110.
[0018] In some examples, application module 118 may provide users with 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 typically provided by an application. In one example, application module 118 may represent web application types and web-based services and enable users to access and interact with content and functionality provided by a website.
[0019] Application module 118 can be an application with a fixed frame rate per second, such as a video or game application, or an application with a dynamically changing frame rate per second, such as web browsing. Each application in application module 118 can be associated with a specific frame rate. The frame rate of a specific application module in application module 118 can be the number of individual frames or images displayed per second via display panel 116 while that specific application module is running.
[0020] Processor 120 may implement functions and / or execute instructions within mobile computing device 110. Examples of 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 arrays (FPGAs), or other equivalent integrated or discrete logic circuit systems. In some examples, processor 120 may perform functions or operations to execute application module 118. In one example, processor 120 may render individual image frames that constitute a video sequence or still image, 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 within a video sequence, or frames in a broader context such as video playback or real-time rendering. Furthermore, processor 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 can generate signals to drive display panel 116 via display driver IC 114. In some examples, display timing module 122 can generate timing signals configured to synchronize the refresh rate of display panel 116 with frames rendered by processor 120. In some examples, display timing module 122 can act as an interface between other modules being executed by processor 120 and display driver IC 114. In one example, processor 120 can render frames to be sent to display timing module 122, which can then issue commands or send the frames (e.g., via a MIPI interface) to DDIC 114 for display on display panel 116.
[0022] DDIC 114 can interface with display timing module 122 and display panel 116. DDIC 114 can control the operation of display panel 116 by translating commands or frames received from display timing module 122 into signals that drive individual pixels or segments of display panel 116. For example, 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, DDIC 114 can receive frames from display timing module 122 (e.g., via a MIPI interface). DDIC 114 can store frames in graphics random access memory (GRAM) and then write frames from GRAM to emission memory (EM) for display on display panel 116. EM can be an analog memory (e.g., capacitors in pixels) representing the current frame being displayed on display panel 116. The contents of EM can be continuously scanned by display panel 116 to refresh the currently displayed image. By accessing the GRAM, DDIC 114 can insert previously saved frames without having to receive a new copy of the previously saved frames from the 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 polycrystalline 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. Furthermore, display panel 116 may support a variable refresh rate, wherein the refresh rate of the display panel is dynamically adjusted to match the rate at which frames are rendered by one of the processors in processor 120.
[0024] In some examples, when display panel 116 displays a new frame, it may not be able to meet the expected brightness level of the new frame. For example, if display panel 116 displays a first new frame immediately after a frame transition (e.g., a transition between two disparate frames) and then displays a second new frame after that first new frame, display panel 116 may not be able to meet the expected brightness level of the first frame, but may be able to meet the expected brightness level of the second frame (e.g., assuming the brightness level of the second frame is similar to those of the first frame). This inability to meet the expected brightness level can be caused by the inherent OLED thin-film transistor panel hysteresis of display panel 116. Without proper compensation, the difference in brightness levels between consecutive frames output by SoC 112 can cause image retention at display panel 116 and affect the user experience.
[0025] According to one or more aspects of this disclosure, SoC 112 may execute display timing module 122 to determine an optimal number of redundant frames based on context parameters associated with the current application of application module 118 running on mobile computing device 110. In some examples, the context parameters may be any sensor data or context information that serves as the basis for SoC 112 to determine the optimal number of redundant frames to be selectively inserted. For example, based on the value of the context parameters at a first time, display timing module 122 may determine a first number of redundant frames to be inserted after displaying a first frame. However, based on the value of the context parameters at a second time, display timing module 122 may determine a second number of redundant frames to be inserted after displaying a second frame. Even if the "frame rate" is the same at the first and second times, the second number may differ from the first number.
[0026] In operation, SoC 112 can send new frames for display to DDIC 114 via the Mobile Industry Processor Interface (MIPI). DDIC 114 can save the new frames to GRAM and write them from GRAM to EM. Display panel 116 can scan EM to display the new frames. As discussed above, SoC 112 can determine the number of redundant frames to insert and cause DDIC 114 to insert the determined number of redundant frames. As an example, SoC 112 can issue a self-refresh command to DDIC 114 via the Mobile Industry Processor Interface. The self-refresh command causes DDIC 114 to insert a copy of the currently displayed frame (i.e., a redundant frame) for display panel 116 to display. For example, in response to receiving a self-refresh command, DDIC 114 can write a "fresh" copy of the currently displayed frame from GRAM to EM.
[0027] As discussed above, SoC 112 can determine the frequency and timing of issuing self-refresh commands based on environment parameters associated with mobile computing device 110. Upon receiving a self-refresh command, DDIC 114 can access previously saved frames in GRAM and write those frames to transmit memory to insert redundant frames for display on display panel 116. In this way, aspects of this disclosure can improve the display of mobile computing devices while providing power savings.
[0028] In some examples, context parameters may include display brightness information, such as a display brightness value associated with mobile computing device 110, a display brightness mode, a display brightness level, and the current application type. The display brightness value may be a value (e.g., nits) indicating 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 the level associated with the display brightness value. The application type may be an application of application module 118 and may identify the frame rate (i.e., frames per second) associated with that application. In one example, the value of the current application type context parameter may indicate whether the current application is a video playback application or a non-video playback application.
[0029] In another example, context parameters may include image and video information of the mobile computing device 110 (e.g., metadata such as encoding, decoding, image size, etc.). Further, context parameters may include information associated with the mobile computing device 110, such as acceleration, touch, lighting, proximity, orientation, and content quality (i.e., resolution and color space). In one example, context parameters may further include content associated with one or more cameras of the mobile computing device 110.
[0030] The OS of SoC 112 can receive any sensor or content information that helps the OS determine the optimal frame rate and frame insertion to utilize. The information it receives can be considered as scene parameters and can be used to determine the minimum number of redundant frame insertions required and the minimum timing when to insert that redundant frame after a new image frame has been displayed.
[0031] While examples have been described in which computing devices and / or computing systems receive information (e.g., context parameters) associated with the computing device and its user, the computing device and / or computing system may only analyze the information upon receiving permission from the user to analyze it. For example, before the computing device or computing system can collect or utilize user-associated information, the user may be given the opportunity to provide input to control whether programs or features of the computing device and / or computing system can collect and utilize user information (e.g., context parameters) or to indicate whether and / or how the device and / or system can receive content that may be relevant to the user. Additionally, certain data may be processed in one or more ways before it is stored or used by the computing device and / or computing system, resulting in the removal of personally identifiable information. Therefore, the user can control how information about the user is collected and used by the computing device and computing system.
[0032] Figure 2This is a graphic illustrating an example brightness level of the display of a mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure. The brightness level of the display panel 116 of the mobile computing device 110 can be measured by a light sensor such as a photodiode. Figure 2 The brightness level of the new frame 240 can be displayed, the insertion of redundant frames 244B and 244A, and the self-scans 242A, 242B and 242C (collectively referred to as "self-scan 242").
[0033] In one example, SoC 112 can send a new frame 240 to DDIC 114 for display. DDIC 114 can save the new frame 240 to GRAM and write it from GRAM to EM, where display panel 116 scans EM in the manner in which it displays the new frame 240.
[0034] like Figure 2 As shown, the brightness level of the new frame 240 may not reach the desired brightness level; however, both redundant frame insertions 244A and 244B achieve the desired brightness level. If a second new frame, different from the new frame 240, is inserted after the redundant frame 244B, the difference in brightness level between the redundant frame 244B and the second new frame will be mitigated.
[0035] After displaying the new frame 240, the display panel 116 can enter a self-scan 242A, where the display panel 116 scans the data stored in the EM to refresh the currently displayed new frame 240. In one example, the self-scan 242 of the display panel 116 may involve updating or refreshing each pixel individually. Each brightness spike during the self-scan 242 may be the display panel 116 refreshing the currently displayed frame. In an example of self-scan mode 242A, the display panel 116 may continuously scan the EM to refresh the display of the new frame 240.
[0036] like Figure 2As further shown, self-scan 242A can end upon receiving a self-refresh command from SoC 112 via DDIC 114 indicating that a redundant frame should be inserted. Instead of receiving a new frame from SoC 112 via DDIC 114, the previously saved frame in GRAM (i.e., new frame 240) is reused and inserted as redundant frame 244A. After inserting redundant frame 244A, display panel 116 can enter self-scan 242B. In the example of self-scan 242B, display panel 116 can continuously scan EM to refresh the display of redundant frame 244A. Self-scan 242B can end upon receiving a self-refresh command again from SoC 112 via DDIC 114, thus inserting redundant frame 244B (i.e., a copy of new frame 240), and then DDIC enters self-scan 242C. In the example of self-scan 242C, display panel 116 can continuously scan EM to refresh the display of redundant frame 244B.
[0037] Figure 3 This is a conceptual diagram of an example mobile computing device that further illustrates the performance of context-aware frame insertion according to one or more aspects of this disclosure. Figure 3 The mobile computing device 310 can be Figure 1 Example of a mobile computing device 110. Figure 3 The mobile computing device 310 may include a system-on-a-chip 312, a display driver IC (DDIC) 314, and a display panel 316.
[0038] The System-on-Chip (SOC) 312 can be Figure 1 An example of SOC 112. (e.g.) Figure 3 As shown, the SOC 312 may include application modules 318A to 318N (collectively referred to as "application modules 318"), a processor 320, a display timing module 322, and an operating system (OS) 328. Similarly, the application module 318, the processor 320, and the display timing module 322 may be respectively... Figure 1 Examples of application module 118, processor 120 and display timing module 122.
[0039] The SOC 312 may include an OS 328 to execute software and manage hardware resources. The OS 328 may run one or more of the application modules 318.
[0040] The display timing module 322 can be... Figure 1The example of display timing module 122 may include frame insertion module 324 and scene parameter module 326. Scene parameter module 326 may retrieve any sensor or content information (i.e., scene parameters) related to one or more applications currently running on application module 318 on OS 328. In some examples, scene parameter module 326 may query OS 328 via an interface to receive scene parameters.
[0041] Frame insertion module 324 may receive or access information from scene parameter module 326 to determine the number of redundant frames to be inserted, and in some examples, the redundant frame insertion is timed. In one example, frame insertion module 324 may associate with or reference a lookup table, database, algorithm, or machine learning model to determine the number of redundant frames to be inserted based on retrieved scene parameters, and in some examples, the redundant frame insertion is timed. In another example, frame insertion module 324 may determine the number of redundant frames that are negatively correlated with the video frame rate and / or the current display brightness value.
[0042] In one example, OS 328 is running one of application modules 318. The context parameter module 326 can query OS 328 to obtain specific context parameters related to the currently running application, such as application type, brightness mode, brightness level, and video information. Once the context parameter module 326 receives these context parameters, the frame insertion module 324 can determine the number of redundant frames to insert for the current application, and in some examples, the timing of redundant frame insertion for the current application.
[0043] DDIC 314 can be Figure 1 An example of DDIC 114 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 a data buffer for temporarily holding data. The 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.
[0044] Display panel 316 can be Figure 1An example of a display panel 116 may include a memory 332. The memory 332 may store information related to the current frame being displayed by the display panel 316, such as pixel data. The memory 332 may be an analog memory (e.g., a capacitor in a pixel), such as an EM, and may be scanned by the display panel 316 to refresh the currently 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 the desired brightness level of that pixel in that capacitor.
[0045] In one example, DDIC 314 may receive frames from display timing module 322 for display on display panel 316. 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), whereby display panel 316 scans memory 332 in the manner in which it displays the frames. Within memory 330, frames may be stored in a data buffer before being written to memory 332.
[0046] In another example, DDIC 314 can receive a self-refresh command from display timing module 322. Therefore, DDIC 314 can insert redundant frames by writing a new copy of the frame (i.e., the currently displayed frame) to display panel 316. In one example, DDIC 314 can insert redundant frames by writing a frame previously stored in memory 330 (i.e., the currently displayed frame) to memory 332 for display on display panel 316. Therefore, DDIC 314 can insert redundant frames without necessarily receiving them from display timing module 322.
[0047] Figure 4 This is a flowchart illustrating an example operating mode of a mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure. After displaying a new frame 402, the SoC of the mobile computing device may receive additional new frames 406, 412, 418 for display 402, or may insert redundant frames 410, 414. Figure 4 The flowchart shown can be derived from... Figure 1 This is implemented by the SoC 112 of the mobile computing device 110. In one example, it is implemented by... Figure 4 The flowchart shown is Figure 1 Example operating mode of the display timing module 122 of SoC 112.
[0048] After displaying new frame 402, the SoC can start timer 404. Timer 404 can be configured to expire or trigger an action after a specific duration (i.e., a delay period). In one example, the delay period can be based at least on the values of one or more scene parameters. Figure 3 The frame insertion module 324 determines this. Each time timer 404 is started, the timer can be started with a new duration (i.e., each time timer 404 is started, the timer can expire after a different amount of time 408). While the timer is running, the SoC can check whether a new frame 406 has been received, either until the timer expires 408 or until a new frame 406 is received. If the SoC determines that a new frame 406 has been received, it will display the new frame 402 and the timer will restart 404.
[0049] If a new frame 406 has not been received and the timer expires at 408, the SoC can insert a redundant frame 410. In one example, after displaying the new frame 402 and after a delay period (i.e., the timer expires at 408), the SoC can send a self-refresh command to the DDIC 114 for the redundant frame insertion 410.
[0050] After the redundant frame is inserted at 410, the SoC checks if a new frame has been received at 412. If a new frame has been received, the new frame at 402 will be displayed and the timer will be restarted at 404. If a new frame at 412 has not been received, the SoC will determine if any additional redundant frames exist for insertion at 414, and insert the redundant frame at 410 in the additional redundant frames or enter an idle state at 416.
[0051] The SoC will remain in idle state 416 until a new frame 418 is received. When a new frame 418 is received, the SoC will exit idle state 416 to display the new frame 402, and then proceed to restart timer 404.
[0052] Figure 5 This is a flowchart illustrating an example operating mode of an example mobile computing device performing context-aware frame insertion according to one or more aspects of this disclosure. Although Figure 5 The example operation is described as being performed by Figure 1 The mobile computing device 110 performs the operation, but in other examples, some or all of the operations in this example operation may be performed by another computing device.
[0053] The SoC 112 of the mobile computing device 110 enables the DDIC 114 to display the first frame (500) at the display panel 116 of the mobile computing device 110. For example, the SoC 112 can output data representing the first frame to the DDIC 114 via a MIPI interface. The DDIC 114 can store the data representing the first frame in a memory (such as...). Figure 3 The DDIC 114 can display the first frame at the display panel 116, and can write a copy of the data (or corresponding data) representing the first frame to the memory of the display panel 116, such as... Figure 3The memory 332.
[0054] SoC 112 can obtain values (502) of one or more context parameters that indicate the current state of mobile computing device 110. In some examples, the context parameters can be any sensor or context information that serves as the basis for SoC 112 to determine the optimal number of frames to be selectively inserted. For example, to obtain this value, SoC 112 can determine the 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 one or more scene parameters, SoC 112 can determine the number of frames to insert after the first frame is displayed (504). For example, SoC 112 can determine the number of frames to insert based on the current application type and display brightness information. In some examples, SoC 112 can determine the number of frames that are negatively correlated with the current display brightness value (e.g., SoC 112 can determine a lower number of frames for higher display brightness values).
[0056] Following the display of the first frame, SoC 112 can cause DDIC 114 to insert a determined number of frames (506) after the first frame is displayed and before the display of subsequent frames different from the first frame. For example, to enable DDIC 114 to insert redundant frames, SoC 112 can issue a self-refresh command to DDIC 114. In response to receiving the self-refresh command, DDIC 114 can write a fresh copy of the data of the frame currently being displayed at display panel 116 (e.g., from DDIC 114's GRAM) to the transmit memory of display panel 116. This write of a copy of the currently displayed frame to transmit memory can be considered a redundant frame because the frame being written is redundant relative to the currently displayed frame. However, as discussed above, by inserting a determined number of redundant frames, DDIC 114 can enable the frame to be displayed at its desired brightness. In this way, aspects of this disclosure can improve the user experience.
[0057] Furthermore, since the insertion of each redundant frame incurs a certain amount of power consumption, it is desirable to insert a minimum number of redundant frames. By determining the number of frames to be inserted based on the values of one or more field parameters, SoC 112 can minimize the number of inserted frames. In this way, aspects of this disclosure can reasonably reduce power consumption.
[0058] The aspects of this disclosure include the following examples.
[0059] Example 1. A method comprising: one or more processors of a system-on-a-chip (SoC) of a mobile computing device causing a display driver integrated circuit (DDIC) to display a first frame at a display of the mobile computing device; the one or more processors obtaining values of one or more scene parameters indicative of a current state of the mobile computing device; the one or more processors determining, based on the values of the one or more scene parameters, a number of frames to be inserted after the display of the first frame; and, following the display of the first frame, the one or more processors causing the DDIC to insert the determined number of frames after the display of the first frame and before the display of subsequent frames different from the first frame.
[0060] Example 2. The method as described in Example 1, wherein causing the DDIC to insert a determined number of frames comprises: the one or more processors outputting one or more self-refresh commands to the DDIC, the one or more self-refresh commands causing the DDIC to insert copies of the first frame.
[0061] Example 3. The method as described in Example 2, wherein outputting the one or more self-refresh commands includes: determining a delay time period based at least on the values of the one or more scene parameters; and after the delay time period has elapsed following the display of the first frame, outputting the initial self-refresh command of the one or more self-refresh commands to the DDIC.
[0062] Example 4. The method as described in any one of Examples 1 to 3, wherein the context parameters include one or more of the current application type of the mobile computing device and display brightness information.
[0063] Example 5. The method as described in Example 4, wherein the value of the current application type context parameter indicates whether the current application is a video playback application or a non-video playback application.
[0064] Example 6. The method as described in Example 5, wherein, in the case that the current application is a video playback application, the current application type context parameter further indicates the video frame rate.
[0065] Example 7. The method as described in Example 6, wherein determining the number of frames includes: determining the number of frames that are negatively correlated with the video frame rate.
[0066] Example 8. The method of any one of Examples 4 to 7, wherein the value of the display brightness information environment parameter indicates the current display brightness value and / or the current brightness mode of the display.
[0067] Example 9. The method as described in Example 8, wherein determining the number of frames includes: determining the number of frames that are negatively correlated with the current display brightness value.
[0068] Example 10. The method of any one of Examples 1 to 3, wherein the scene parameters include one or more of acceleration, touch, lighting, proximity, and orientation information associated with the mobile computing device.
[0069] Example 11. The method of any one of Examples 1 to 10, further comprising: inserting a determined number of frames by the DDIC by writing at least a new copy of the first frame to the transmit memory of the display.
[0070] Example 12. The method as described in Example 11, wherein the first frame is stored in the 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 transmit memory.
[0071] Example 13. The method as described in 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.
[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) including one or more processors configured to perform the method as described in any one of Examples 1 to 13.
[0073] Example 15. A computer-readable storage medium storing 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 as described in any one of Examples 1 to 13.
[0074] In one or more examples, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality may be stored as one or more instructions or code on a computer-readable medium or transmitted over a computer-readable medium and executed by a hardware-based processing unit. A computer-readable medium may include a computer-readable storage medium that corresponds to: tangible media, such as data storage media; or communication media, including any medium that facilitates the transfer of a computer program from one place to another, for example, according to a communication protocol. In this way, a computer-readable medium may generally correspond to: (1) a tangible computer-readable storage medium that is non-transitory, or (2) a communication medium, such as a signal or carrier wave. A data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. Computer program products may include computer-readable media.
[0075] By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, 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. Furthermore, any connection is appropriately referred to as a computer-readable 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 medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transient tangible storage media. As used herein, disks and optical discs include compact discs (CDs), laser discs, optical discs, digital universal discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0076] Instructions can 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 arrays (FPGAs), or other equivalent integrated or discrete logic circuit systems. Therefore, the term "processor" as used herein can refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein can be provided within dedicated hardware and / or software modules. Furthermore, the technique can be fully implemented in one or more circuit or logic elements.
[0077] The techniques disclosed herein can be implemented in a variety of devices or apparatuses, including wireless handsets, integrated circuits (ICs), or IC sets (e.g., chipsets). Various components, modules, or units are described in this disclosure to emphasize functional aspects of a device configured to perform the disclosed techniques, but are not necessarily required to be implemented by different hardware units. Rather, as described above, the various units can be combined in a hardware unit or provided by a collection of interoperable hardware units including one or more processors as described above, combined with suitable software and / or firmware.
[0078] Various examples of this disclosure have been described. Any combination of the systems, operations, or functions described is contemplated. These and other examples are within the scope of the appended claims.
Claims
1. A method comprising: One or more processors of the mobile computing device's system-on-a-chip (SoC) cause the display driver integrated circuit (DDIC) to display the first frame at the display of the mobile computing device; The one or more processors obtain values for one or more context parameters that indicate the current state of the mobile computing device; The number of frames to be inserted after the first frame is determined by the one or more processors based on the values of the one or more scene parameters; as well as Following the display of the first frame, the one or more processors cause the DDIC to insert a determined number of frames after the first frame is displayed and before the display of subsequent frames that are different from the first frame.
2. The method of claim 1, wherein, Inserting a determined number of frames into the DDIC includes: one or more processors outputting one or more self-refresh commands to the DDIC, the one or more self-refresh commands causing the DDIC to insert copies of the first frame.
3. The method of claim 2, wherein, Outputting the one or more self-refresh commands includes: The delay time period is determined based at least on the values of the one or more of the scene parameters; and After the delay period following the display of the first frame, the initial self-refresh command from the one or more self-refresh commands is output to the DDIC.
4. The method according to any one of claims 1 to 3, wherein, The context parameters include one or more of the current application type and display brightness information of the mobile computing device.
5. The method of claim 4, wherein, The value of the current application type context parameter indicates whether the current application is a video playback application or a non-video playback application.
6. The method of claim 5, wherein, If the current application is a video playback application, the current application type context parameter further indicates the video frame rate.
7. The method of claim 6, wherein, Determining the number of frames includes determining the number of frames that are negatively correlated with the video frame rate.
8. The method according to any one of claims 4 to 7, wherein, The value of the display brightness information environment parameter indicates the current display brightness value and / or current brightness mode of the display.
9. The method of claim 8, wherein, Determining the number of frames includes determining the number of frames that are negatively correlated with the current display brightness value.
10. The method according to any one of claims 1 to 3, wherein, The environmental parameters include one or more of the following: acceleration, touch, lighting, proximity, and orientation information associated with the mobile computing device.
11. The method of any one of claims 1 to 10, further comprising: The DDIC inserts a determined number of frames by writing at least a new copy of the first frame into the display's transmit memory.
12. The method of 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 a copy of the first frame from the data buffer to the transmit memory.
13. The method according to any one of claims 1 to 12, wherein, The display of the mobile computing device includes a low-temperature polycrystalline oxide (LTPO) organic light-emitting diode (OLED) display or a low-temperature polycrystalline silicon (LTPS) organic light-emitting diode (OLED) display.
14. A mobile computing device, comprising: monitor; Display driver integrated circuit (DDIC), the DDIC being configured to drive the display; and A system-on-a-chip (SoC), the SoC including one or more processors, the one or more processors being configured to perform the method as described in any one of claims 1 to 13.
15. A computer-readable storage medium storing 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 as described in any one of claims 1 to 13.