Display method, electronic device and computer readable storage medium
By using an adaptive frame rate reduction method, the refresh rate of the display is gradually adjusted to match the image delivery rate, which solves the problems of power consumption and flicker residue, and achieves a balance between power saving and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-09-11
- Publication Date
- 2026-06-05
AI Technical Summary
In situations where user scenarios are complex and varied, it is difficult to effectively adjust the display refresh rate to save power, and there are also issues such as screen flickering and residual display.
An adaptive frame reduction method is adopted. By designing the refresh rate and time interval in the frame reduction sequence, the screen refresh rate is gradually reduced, and timely adjustments are made when an image sending operation is detected to ensure that the screen refresh rate matches the image sending rate.
While reducing screen power consumption, it also reduces screen flicker and residue issues, ensuring normal display response and user experience.
Smart Images

Figure CN119541423B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic technology, and more particularly to a display method, electronic device, and computer-readable storage medium. Background Technology
[0002] With the development of display technology, electronic devices such as mobile phones and tablets are continuously increasing their screen refresh rates to ensure smooth image display. However, the power consumption of the display screen poses a significant challenge to energy saving and battery life. In recent years, displays that support low or even ultra-low refresh rates have been gradually introduced to the market, such as low-temperature polycrystalline oxide (LTPO) displays that support refresh rates as low as 1Hz. To save power, electronic devices using this type of display can employ dynamic refresh rates (or variable refresh rates), allowing the device to reduce the refresh rate when the user is not clicking or swiping the screen. However, user scenarios are diverse, complex, and unpredictable, making solutions that dynamically adjust the refresh rate based on user scenarios quite limited. Summary of the Invention
[0003] In a first aspect, embodiments of this application provide a display method applied to an electronic device, the electronic device including an image sending unit and a display screen; the method may include: the electronic device detecting that the image sending unit sends image data of a first frame to the display screen; the electronic device starting to execute a first frame reduction based on a first frame reduction sequence. The first frame reduction sequence consists of n screen refresh rates arranged in descending order, n≥2, where n is a positive integer; the first screen refresh rate in the first frame reduction sequence is determined according to the interval K between the first refresh frame and the previous refresh frame, where K is a positive integer; the first refresh frame refers to the frame in which the display screen refreshes the first image for the first time. The first frame reduction includes refreshing the first image n times using the image data of the first image, the n refreshes being executed according to the n screen refresh rates, wherein the time interval between two adjacent refreshes increases as the first frame reduction progresses.
[0004] In the first aspect, the image sending unit can be a system-on-a-chip (SoC) that integrates a CPU, GPU, etc., or other processors or processor systems, chips or chip systems that can generate image data one frame after another through rendering, compositing and other operations, and is responsible for sending images to the display screen.
[0005] By implementing the first approach, electronic devices can gradually reduce screen refresh rates while also improving issues such as image retention.
[0006] In conjunction with the first aspect, in some embodiments, the equivalent refresh rate of the i-th screen refresh in the first frame drop is equal to the i-th refresh rate f in the first frame drop sequence.i Let i be a positive integer, i ≤ n. The effective refresh rate of the i-th screen refresh is related to the time interval between the i-th screen refresh and the (i+1)-th screen refresh. The larger this time interval, the smaller the effective refresh rate of the i-th screen refresh; the smaller this time interval, the larger the effective refresh rate of the i-th screen refresh.
[0007] In conjunction with the first aspect, in some embodiments, the equivalent refresh rate of the i-th screen refresh can be defined as: Among them, f base The reciprocal of the duration of a single frame (e.g., 1 / 120 of a second); m represents the number of frames between the i-th screen refresh and the (i+1)-th screen refresh. In this article, a frame is a time concept, for example, 1 / 120 of a second is one frame.
[0008] In conjunction with the first aspect, in some embodiments, n refreshes are performed according to n screen refresh rates, specifically including: the time T of the i-th refresh in the first frame drop. i for: f i It is the i-th refresh rate in the first frame rate reduction sequence, f base It is the reciprocal of the duration of a single frame, T i-1 It is the time of the (i-1)th refresh; T i T i-1 The time unit is a frame; n ≥ i ≥ 2, where i is a positive integer. Thus, as i increases, the time interval between two adjacent screen refreshes increases, thereby gradually reducing the screen refresh rate.
[0009] In conjunction with the first aspect, in some embodiments, before the electronic device begins to execute the first frame drop based on the first frame drop sequence, the display method may further include: the electronic device determining whether there is a second frame drop, the second frame drop being an ongoing frame drop, and if so, stopping the second frame drop.
[0010] In conjunction with the first aspect, in some embodiments, the display method may further include: during the execution of the first frame reduction, the electronic device detects whether the image sending unit is sending a second image; if so, the execution of the first frame reduction is stopped, and the execution of the third frame reduction begins. This ensures that the screen refresh rate responds promptly to the image sending from the SOC, guaranteeing normal user operation of the electronic device.
[0011] The third frame reduction is performed based on the second frame reduction sequence, which consists of m screen refresh rates arranged in descending order, where m ≥ 2 and m is a positive integer. The first screen refresh rate in the second frame reduction sequence is determined by the number of frames between the second refresh frame and the previous refresh frame. The second refresh frame refers to the frame in which the display first refreshes the second image. The third frame reduction may include refreshing the second image m times using the image data of the second image. These m refreshes are performed based on the m screen refresh rates, and the time interval between two adjacent refreshes increases as the third frame reduction progresses.
[0012] In conjunction with the first aspect, some embodiments also introduce a parameter that reflects the size of the interval frame number K. This parameter is the equivalent refresh rate f(j-1) of the previous refresh before the frame drop begins, and a rule for determining the starting point of the frame drop is designed using this parameter. Specifically, the first screen refresh rate in the first frame drop sequence is determined based on the interval frame number K between the first refresh frame and the previous refresh frame. This can be further categorized as follows: the first screen refresh rate in the first frame drop sequence is determined based on the equivalent refresh rate f(j-1) of the display screen when it refreshed in the previous refresh frame of the first refresh frame. f(j-1) is calculated using the following formula: Among them, f base It is the reciprocal of the duration of a single frame.
[0013] Compared to directly designing a rule for determining the frame drop start point based on the interval frame number K, using f(j-1) to design this rule can be applied to more scenarios, for example, f base A changing scene.
[0014] In conjunction with the first aspect, in some embodiments, the first screen refresh rate in the first frame drop sequence is determined based on the equivalent refresh rate f(j-1) when the display screen performed a refresh in the previous refresh frame of the first refresh frame, specifically including:
[0015] If f(j-1) falls within the first segmentation interval, then the first screen refresh rate in the first frame drop sequence is determined to be the first value, which is set to be less than or equal to the minimum value of the first segmentation interval.
[0016] If f(j-1) falls within the second segmentation interval, then the first screen refresh rate in the first frame drop sequence is determined to be the second value, which is set to be greater than or equal to the maximum value of the second segmentation interval.
[0017] The range of values for f(j-1) is divided into one or more first-type segmented intervals and one or more second-type segmented intervals. The refresh rate of the first-type segmented interval is less than the refresh rate of the second-type segmented interval.
[0018] In this embodiment, the frame reduction starting point corresponding to the first segmented interval ensures that the display refresh rate is not too high when the SOC continuously sends images within that interval, achieving a consistency between the SOC image sending rate and the display refresh rate; furthermore, no refresh rate jump occurs during the frame reduction process, which can improve screen flickering. This will be explained with examples later.
[0019] In this embodiment, the frame drop start point corresponding to the second segmentation interval can prevent the display from being at a low refresh rate for a long time, thus improving the screen retention problem. Furthermore, it allows the display to quickly adapt to potentially high SOC image delivery rates, preparing for a return to a high refresh rate, reducing the jump from low to high refresh rates, and improving screen flicker. Examples will be provided later to illustrate this.
[0020] In conjunction with the first aspect, in some embodiments, the value range of f(j-1) can be [0, f max ], where f max This is the maximum refresh rate of the display, such as 120Hz.
[0021] In conjunction with the first aspect, in some embodiments, the second segmentation interval can be [0, f thre ), where f thre This refers to the display's refresh rate threshold; if the display operates continuously at the refresh rate threshold for more than a certain duration (e.g., 5 seconds), image retention will occur. Thus, using f... thre Using 30Hz as the dividing point between the first and second segmentation intervals can further help improve the image retention problem.
[0022] In conjunction with the first aspect, in some embodiments, fthre can be equal to 30 Hz. The range of values for f(j-1) is divided into the following segments: [0,30), 30, (30,60), 60, (60,120), 120, where [0,30) is the second type of segmentation, and 30, (30,60), 60, (60,120), 120 is the first type of segmentation.
[0023] In conjunction with the first aspect, in some embodiments, the first value is set to 60; if f(j-1) falls within one of the second type of segmentation intervals of 30, (30,60), and 60, then the second value is set to 30; if f(j-1) falls within one of the second type of segmentation intervals of (60,120) and 120, then the second value is set to 60. Thus, by uniformly setting the frame drop start point of the second type of segmentation intervals of 30, (30,60), and 60 to 30, and uniformly setting the frame drop start point of the second type of segmentation intervals of (60,120) and 120 to 60, it is easier to determine the frame drop start point by looking up the table.
[0024] In conjunction with the first aspect, in some embodiments, the image sending unit may be a System-on-a-Chip (SOC). The frame interval K can be determined by the following steps: the SOC records the time when it sends a refresh command to the Display Driver Integrated Circuit (DDIC) connected to the display screen, and determines that the frame interval K is equal to the frame interval between the first frame and the second frame, where the first frame is the time when the SOC issues the refresh command for the first time to refresh the first screen, and the second frame is the time when the SOC most recently issued a refresh command before the first frame.
[0025] In conjunction with the first aspect, in some embodiments, the interval frame number K can be determined by the following steps: the display driver integrated circuit DDIC connected to the display screen records the time when the display screen performs a screen refresh, and determines that the interval frame number K is equal to the interval frame number between the third frame and the fourth frame, where the third frame is the refresh time when the display screen first refreshes the first screen, and the fourth frame is the time when the display screen performed the last refresh before the third frame.
[0026] In a second aspect, this application provides an electronic device including one or more processors and one or more memories; wherein the memories are coupled to the processors, and the one or more memories are used to store computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the electronic device to perform the method described in the first aspect or any possible implementation thereof.
[0027] Thirdly, embodiments of this application provide a chip system applied to an electronic device. The chip system includes one or more processors, which are used to invoke computer instructions to cause the electronic device to perform the methods described in the first aspect and any possible implementation thereof.
[0028] Fourthly, this application provides a computer-readable storage medium including instructions that, when executed on an electronic device, cause the electronic device to perform the method described in the first aspect and any possible implementation thereof.
[0029] Fifthly, this application provides a computer program product containing instructions that, when the computer program product is run on an electronic device, cause the electronic device to perform the method described in the first aspect and any possible implementation thereof. Attached Figure Description
[0030] Figure 1 An electronic device provided in an embodiment of this application is shown;
[0031] Figure 2 This illustrates a subsystem in an electronic device that implements the display function;
[0032] Figure 3An example is shown illustrating the process of a complete frame drop sequence being executed;
[0033] Figure 4 A schematic diagram illustrating the overall flow of the display method provided in the embodiments of this application is shown;
[0034] Figure 5A This shows the case where the first frame drop was not interrupted by the SOC image transmission;
[0035] Figure 5B This illustrates the situation where the first frame drop is interrupted by the SOC image transmission;
[0036] Figure 6A This illustrates a frame reduction process that uses a fixed frame reduction starting point;
[0037] Figure 6B This illustrates another frame reduction process that uses a fixed frame reduction starting point;
[0038] Figure 7 This illustrates a graphical representation of the frame drop start lookup table.
[0039] Figure 8 This shows another graphical representation of the frame drop start lookup table;
[0040] Figure 9 This shows the effective refresh rate at which the last refresh occurred. Figure 7 The frame rate reduction process in segment B;
[0041] Figure 10 This shows the effective refresh rate at which the last refresh occurred. Figure 7 The frame reduction process in segment A;
[0042] Figure 11 This shows the effective refresh rate at which the last refresh occurred. Figure 7 The frame rate reduction process during the C segment;
[0043] Figure 12 The process of adapting frame reduction to SOC image delivery rate with adaptive frame reduction start point is shown;
[0044] Figure 13 Multiple functional units in an electronic device for implementing the display method provided in the embodiments of this application are shown;
[0045] Figure 14 It shows Figure 13 An integrated architecture for the functional units shown;
[0046] Figure 15 It shows Figure 13 Another integrated architecture for the functional units shown;
[0047] Figure 16An example of image refresh without frame buffering is shown. Detailed Implementation
[0048] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be a limitation of this application.
[0049] This application also provides an electronic device for performing the display method.
[0050] Figure 1 An electronic device 100 provided in an embodiment of this application is shown.
[0051] In this embodiment of the application, the device type of electronic device 100 can be any of the following: mobile phone, tablet computer, handheld computer, desktop computer, laptop computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), as well as smart home devices such as smart screens and smart speakers, wearable devices such as smart bracelets, smartwatches, and smart glasses, extended reality (XR) devices such as augmented reality (AR), virtual reality (VR), and mixed reality (MR), in-vehicle devices, or smart city devices.
[0052] like Figure 1 As shown, the electronic device 100 may include: a processor 110, a memory 120, a display screen 130, a display driver integrated circuit (DDIC) 140, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a gyroscope sensor 180B, an accelerometer sensor 180E, and a touch sensor 180K, etc. The various components in the electronic device 100 can be connected via a bus.
[0053] The processor 110 can be one or more, and they can be integrated into an integrated circuit of a system-on-a-chip (SOC). An SOC is a system-on-a-chip. The processor 110 may include a central processing unit (CPU) and a graphics processing unit (GPU). The CPU can be an application processor (AP). The CPU and GPU can be used to render and composite the image to be displayed on the screen 130. The processor 110 may also include a neural network processing unit (NPU), a modem processor, etc.
[0054] The processor 110 may include one or more interfaces, such as an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0055] The processor 110 may include a cache memory, which can be used to store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can directly retrieve it from the cache memory, which can reduce the waiting time of the processor 110 and improve the program running efficiency.
[0056] The memory 120 may include a program storage area and a user data storage area. The program storage area may store the operating system and one or more applications (such as games), while the data storage area may store data created by the user during use of the electronic device 100 (such as photos and contacts). The memory 120 may be a high-speed random access memory or a non-volatile memory, such as a hard disk, flash memory, or universal flash storage (UFS). The memory 120 may also be an external memory card, such as a Micro SD card.
[0057] The memory 120 may also store code instructions for the display method provided in the embodiments of this application. When the processor 110 reads the code instructions from the memory 120 and runs the code instructions, the electronic device 100 may execute the display method.
[0058] The memory 120 can also be integrated with the processor 110 into the integrated circuit of the SOC.
[0059] like Figure 2 As shown, the electronic device 100 can realize the display function through SOC, DDIC 140, and display screen 130.
[0060] The display screen 130 has multiple refresh rates. The refresh rate indicates the number of times the display refreshes the image per second. For example, a 60 Hz refresh rate means the display refreshes the image 60 times per second. The display screen 130 can use an LTPO display panel, allowing the refresh rate to be reduced to lower rates, such as 10Hz or 1Hz, thereby supporting reduced power consumption.
[0061] The display driver integrated circuit (DDIC) 140 serves as the control core of the display screen 130, driving the display screen 130 to operate and receiving data from the SOC (processor 110), such as image data and some instructions. The DDIC 140 can send drive signals and data to the display panel of the display screen 130 in the form of electrical signals, thereby controlling the screen brightness and color, enabling image information such as letters and pictures to be displayed on the screen and completing the screen refresh.
[0062] The image data to be displayed sent by the SOC to the DDIC 140 can be stored in the frame buffer to complete the display sending (or image sending). Then, the DDIC 140 retrieves the image data from the frame buffer and drives the display screen 130 to display it.
[0063] The instructions sent from the SOC to the DDIC 140 may include image refresh instructions and non-image refresh instructions. Image refresh instructions can trigger the DDIC 140 to drive the display 130 to perform image refresh. Non-image refresh instructions can trigger the DDIC 140 to drive the display 130 to perform non-image refresh. Image refresh means that after receiving image data of the screen to be displayed from the SOC, the DDIC 140 drives the display 130 to refresh and display that screen. Non-image refresh means that the SOC does not send an image, but the DDIC controls the display to refresh according to the screen refresh rate, usually requiring the use of older images in the frame buffer for frame interpolation. Non-image refresh generally occurs when the screen refresh rate is higher than the SOC's image sending rate.
[0064] SOC frame rate, also known as frame rate, is the number of frames displayed by the SOC per second. For example, 60fps means the SOC displays 60 frames per second. To facilitate comparison with the screen refresh rate, the definition of SOC frame rate can be changed to the number of times the SOC displays frames per second. For example, 60Hz means the SOC displays one frame at a time, 60 times per second. The SOC frame rate can be varied. For example, when user interactions occur, such as clicking or swiping the screen, the SOC frame rate is higher to ensure timely response to user actions. Conversely, when the user is focused on static content, such as a page in an e-book, the SOC frame rate is lower. Furthermore, when the user is playing a video, the SOC frame rate is set to match the video frame rate. The DDIC 140 can control the refresh rate of the display 130 to adapt to the SOC frame rate. In other words, the SOC frame rate can change based on variations in the user's usage scenario.
[0065] Screen refresh rate is the number of times a display refreshes its image per second. For example, a 60Hz refresh rate means the display refreshes its image 60 times per second. For displays with multiple refresh rates and supporting lower refresh rates (such as 10Hz), switching the screen refresh rate from high to low can reduce screen power consumption. How to reduce the screen refresh rate will be explained in detail in subsequent embodiments and will not be elaborated here.
[0066] Generally, the frame buffer can be integrated into the DDIC. For IC miniaturization, the DDIC may also omit the frame buffer. In this case, the SOC does not send images to the display via the frame buffer, nor does it send image refresh commands or non-image refresh commands to the DDIC. The DDIC immediately drives the display to start displaying the image upon receiving it from the SOC through a data transmission interface such as the MIPI interface. Such displays typically have very short response times; for example, the time to refresh and display one frame is as low as 1 / 120th of a second.
[0067] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0068] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0069] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0070] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 130. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and housed within the same device as the mobile communication module 150 or other functional modules.
[0071] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0072] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0073] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 130 and application processor.
[0074] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0075] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0076] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.
[0077] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0078] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0079] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0080] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0081] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.
[0082] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0083] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0084] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0085] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100. Motor 191 can generate vibration prompts. SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to achieve contact and separation with electronic device 100.
[0086] Figure 1 The illustrated structure does not constitute a specific limitation on the electronic device 100. The electronic device 100 may include more or fewer components than illustrated, or combine some components, or separate some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0087] This application provides a display method that reduces display power consumption through an adaptive frame reduction process with a frame reduction starting point, while also improving issues such as screen flicker.
[0088] In this embodiment, the process of reducing the screen refresh rate can be referred to as frame reduction. Frame reduction can be performed based on a frame reduction sequence. The frame reduction sequence can consist of n screen refresh rates arranged in descending order, where n ≥ 2 and n is a positive integer. For example, "60-30-10" represents a frame reduction sequence consisting of three screen refresh rates: 60Hz, 30Hz, and 10Hz, where 60Hz is the starting point of the frame reduction.
[0089] In a frame rate reduction sequence, several consecutive screens can have the same refresh rate; it is not required that the n screens have different refresh rates. For example, in the frame rate reduction sequence "60-60-30-30-10", the first and second screens have a refresh rate of 60Hz, and the third and fourth screens have a refresh rate of 30Hz.
[0090] In this embodiment, the specific implementation of frame reduction is as follows: n screen refreshes are performed sequentially, where the equivalent refresh rate of the i-th screen refresh is equal to the i-th refresh rate f in the frame reduction sequence. i , i is a positive integer, i≤n.
[0091] The effective refresh rate of the i-th screen refresh is related to the time interval between the i-th screen refresh and the (i+1)-th screen refresh. The larger this time interval, the smaller the effective refresh rate of the i-th screen refresh; the smaller this time interval, the larger the effective refresh rate of the i-th screen refresh.
[0092] Specifically, the equivalent refresh rate for the i-th screen refresh can be defined as: Among them, f base The reciprocal of the duration of a single frame (e.g., 1 / 120 of a second); m represents the number of frames between the i-th screen refresh and the (i+1)-th screen refresh. In this article, a frame is a time concept, for example, 1 / 120 of a second is one frame.
[0093] By simplifying the expression for the equivalent refresh rate of the i-th screen refresh, the number of frames between the i-th and (i+1)-th screen refreshes can be expressed as: f i It is the i-th refresh rate in the frame rate reduction sequence. As i increases, the time interval between two adjacent screen refreshes increases, thus gradually reducing the screen refresh rate.
[0094] The time T of the i-th screen refresh during frame rate reduction i and the time T of the (i+1)th screen refresh i+1 The following relationship exists (in frames):
[0095] Figure 3 This example illustrates the complete execution of a frame-down sequence. The frame-down sequence is "60-30-10". For example... Figure 3 As shown, the display screen performed three screen refreshes in sequence according to this frame rate reduction. The interval between the first and second screen refreshes was 1 frame, with an effective refresh rate of 60Hz. The interval between the second and third screen refreshes was 3 frames, with an effective refresh rate of 30Hz. The interval between the third and subsequent screen refreshes was 11 frames, with an effective refresh rate of 10Hz. Figure 3 The frame numbers "1", "2", etc., in the diagram only indicate the sequential relationship between frames and do not necessarily mean that they are the first frame, second frame, etc., during the operation of the display screen. The same explanation applies to the subsequent accompanying figures.
[0096] Secondly Figure 4 A schematic diagram of the overall flow of the display method provided in the embodiments of this application is shown.
[0097] like Figure 4 As shown, the method may include the following steps:
[0098] S11, the electronic device detects that the SOC is sending image data of the first frame to the display screen.
[0099] Not limited to SOC, the device that sends the image can also be other processors or processor systems, chips or chip systems that can generate image data one frame after another through rendering, compositing and other operations, and is also responsible for sending the image to the display screen. Here it is referred to as the image sending unit.
[0100] S12, if there is an ongoing frame downgrading, the electronic device stops the existing frame downgrading.
[0101] S13, the electronic device begins to execute a new frame drop based on the first frame drop sequence.
[0102] In this article, the new frame drop can be referred to as the first frame drop, and the existing frame drop can be referred to as the second frame drop.
[0103] The first frame drop sequence can consist of n screen refresh rates arranged in descending order, where n ≥ 2 and n is a positive integer. The first screen refresh rate in the first frame drop sequence (i.e., the frame drop start point) can be determined based on the number of frames K between the first refresh frame and its previous refresh frame.
[0104] In this embodiment of the application, a refresh frame refers to a frame in which the display screen performs a screen refresh, such as... Figure 3 The first, third, seventh, and 18th frames in the image; the opposite concept is a non-refresh frame, which refers to a frame where the display does not perform a screen refresh, such as... Figure 3Frames 2, 4-6, and 8-17 in the image. Specifically, the first refresh frame refers to the refresh frame when the display first refreshes the first image. It is also the time of the first screen refresh in the first frame drop, marking the start of the frame drop.
[0105] The previous refresh frame is the frame of the most recent screen refresh performed before the first refresh frame; that is, the time of the last screen refresh performed before the first refresh of the first screen. It is also the time of the last screen refresh before the first frame drop begins.
[0106] The first frame drop refers to n screen refreshes on the first frame. As the frame drop progresses, the time interval between two adjacent screen refreshes increases, thus gradually reducing the screen refresh rate. Specifically, the time T of the i-th (i≥2) screen refresh in the first frame drop... i (in frames as the time unit): f i It is the i-th refresh rate in the first frame rate reduction sequence, f base It is the reciprocal of the duration of a single frame (e.g., 1 / 120 of a second), T i-1 It is the time of the (i-1)th screen refresh.
[0107] by Figure 3 For example, frame reduction is performed based on the frame reduction sequence "60-30-10". Figure 3 As shown, the first screen refresh in this frame drop occurs in frame 1, i.e., T1 = 1; therefore, according to This formula determines the times of the second and third screen refreshes in the frame drop as the 3rd and 7th frames, respectively; f base =120.
[0108] During the first frame drop, the electronic device can also detect whether the SOC is sending an image. If the SOC is sending an image during the first frame drop, the electronic device stops executing the first frame drop. The image sent by the SOC during the frame drop process can be called the second image. That is, the electronic device can start performing frame drops on the display screen every time an image is sent and refreshed, but the frame drop can be interrupted at any time by a new image sent by the SOC and will no longer be executed. Instead, the screen will refresh with the new image sent by the SOC so that the screen refresh rate responds to the image sent by the SOC in a timely manner, ensuring normal use of the electronic device by the user. While refreshing the new image sent by the SOC, the electronic device starts performing a new frame drop based on a frame drop sequence, which can be called the third frame drop. This frame drop sequence can be called the second frame drop sequence, which can be composed of m screen refresh rates arranged in descending order, where m ≥ 2, and m is a positive integer. The first screen refresh rate (the new frame drop start point) included in it can be determined according to the time interval between the previous refresh before the start of the third frame drop and the first screen refresh of the second frame drop. In other words, the first screen refresh rate in the second frame reduction sequence is determined based on the number of frames between the second refresh frame and the previous refresh frame. The second refresh frame refers to the frame in which the display first refreshes the second image. The third frame reduction involves refreshing the second image m times using the image data of the second image. These m refreshes are performed according to m screen refresh rates, and the time interval between two adjacent refreshes increases as the third frame reduction progresses, thereby reducing the screen refresh rate.
[0109] Figure 5A This illustrates the scenario where frame dropping is not interrupted by the SOC image transmission. For example... Figure 5A As shown, after receiving frame h from the SOC, the display screen begins frame reduction from frame 3, based on the frame reduction sequence "60-30-10". A complete frame reduction process based on this sequence is from frame 3 to frame 20. The first refresh in the frame reduction refreshes frame h, which is a frame-sending refresh; the second and third refreshes refresh the old image of frame h, which is a non-frame-sending refresh. Since the SOC does not send any images for a long time after sending frame h, the entire frame reduction process is not interrupted, and the frame reduction is completed completely.
[0110] Figure 5B This illustrates a scenario where frame dropping is interrupted by the SOC image transmission. For example... Figure 5B As shown, after receiving frame h from the SOC, the display starts reducing the frame rate from frame 3, based on the frame reduction sequence "60-30-10". A complete frame reduction process based on this sequence is from frame 3 to frame 20. However, because the SOC sends frame h+1 immediately after sending frame h, this frame reduction process is interrupted and no longer executed. Only the first and second screen refreshes are performed. The first screen refresh refreshes frame h, and the second refresh refreshes the old image of frame h. Simultaneously with refreshing frame h+1, a new frame reduction process begins.
[0111] In this embodiment of the application, the starting point of a frame drop is set according to the interval K between the last refresh before the frame drop begins and the first refresh of the frame drop. It varies with the size of the interval K and is not a fixed value.
[0112] For example, such as Figure 6A As shown, the frame reduction sequence is "60-30-10," with a fixed starting point using a relatively high screen refresh rate, such as 60Hz. In scenarios with a low SOC image delivery rate (e.g., 30Hz), if the user remains on a static interface, the screen refresh rate will be higher than the SOC image delivery rate. During the second refresh after each frame reduction, the display uses the old image from the frame buffer for frame interpolation, resulting in an overall increase in the display's actual refresh rate instead of a decrease, leading to increased power consumption. Therefore, using a fixed starting point for frame reduction will cause increased power consumption for the display.
[0113] For example, such as Figure 6B As shown, the frame rate reduction sequence is "30-10", with the starting point for the reduction fixed at a lower screen refresh rate, such as 30Hz. During the frame rate reduction process, the screen refresh rate may change abruptly, such as dropping from 120Hz to 30Hz, causing the display to flicker. 120Hz is the screen refresh rate before the frame rate reduction.
[0114] In other words, using a fixed starting point for frame rate reduction will not be conducive to improving issues such as reducing screen power consumption and screen flicker.
[0115] To this end, this application also introduces a parameter that can reflect the size of the interval frame number K, which is the equivalent refresh rate f(j-1) of the previous refresh before the frame drop begins, and uses it to design a rule for determining the starting point of the frame drop.
[0116] Referring to the definition of the equivalent refresh rate for the i-th screen refresh mentioned earlier, f(j-1) can be expressed as Among them, f base It is the reciprocal of the duration of a single frame (e.g., 1 / 120 of a second).
[0117] For example, such as Figure 5A As shown, the display refreshes frame h in the 3rd frame and simultaneously begins to downgrade the frame rate. The previous refresh before this downgrading occurred in the 1st frame. There is a one-frame interval between the 1st and 3rd frames, i.e., K = 1. Therefore, the effective refresh rate of this previous refresh is 60Hz. For example, as... Figure 5B As shown, the display refreshes frame h in the second frame and simultaneously begins to downgrade the frame rate. The previous refresh before this downgrade occurred in the first frame. There is a 0-frame interval between the first and second frames, i.e., K = 0. Therefore, the effective refresh rate of this previous refresh is 120Hz.
[0118] The key to calculating f(j-1) is to obtain the value of parameter K, which can be recorded by an electronic device, specifically by a SOC or DDIC.
[0119] The SOC can record the time when it sends refresh commands (including non-image refresh commands and image refresh commands) to the DDIC. The time when the SOC sends a refresh command is equivalent to the time when the display screen performs a refresh. That is, the frame in which the SOC sends the first refresh command to refresh the first screen is the first refresh frame. The previous refresh frame is the time when the SOC sent the previous refresh command before this one. The frame interval between these two frames can be determined as the value of K. Thus, the value of K is determined based on the number of frames between the SOC sending the first refresh command to refresh the first screen and its previous refresh command. In other words, the SOC can record the time when it sends refresh commands to the DDIC and determine that the interval K is equal to the number of frames between the first and second frames. The first frame is the time when the SOC sends the first refresh command to refresh the first screen, and the second frame is the time when the SOC most recently sent a refresh command before the first frame.
[0120] Since the DDIC is responsible for controlling the display to refresh, it can directly record the refresh time of the first refresh of the first screen and the time of the previous refresh, and thus directly calculate the value of K, or let the SOC calculate the value of K. In other words, the DDIC can record the time when the display refreshes the screen and determine that the interval K is equal to the interval between the third and fourth frames. The third frame is the refresh time of the first screen refresh, and the fourth frame is the time before the third frame when the display performed the previous refresh.
[0121] Compared to directly designing a rule for determining the frame drop start point based on the interval frame number K, using f(j-1) to design this rule can be applied to more scenarios, for example, f base A changing scene.
[0122] The following section will explain in detail the rules for setting the frame drop start point.
[0123] First, the possible value range of f(j-1) (e.g., 0 to 120Hz) is divided into multiple segments, such as 6 segments.
[0124] Secondly, these multiple intervals are divided into two types, where the equivalent refresh rate in the second type of interval is less than the equivalent refresh rate in the first type of interval; and it is determined that in the first type of interval, the frame drop start point is set to be less than or equal to the minimum value of the interval; in the second type of interval, the frame drop start point is set to be greater than or equal to the minimum value of the interval.
[0125] Specifically, Table 1 illustrates the rules for setting the frame drop start point.
[0126]
[0127] Table 1
[0128] As shown in Table 1, the possible values of f(j-1) [0~n] are divided into 6 segments: 0~c, c, c~f, f, f~n, n. These segments are arranged in ascending order. Among them, c, f, and n are not segments in the strict sense, but a single value. When the value of f(j-1) is 0, this generally occurs at the initial power-on of the display, before any refresh has been performed. The frame drop start point is u, where u is greater than or equal to c. When the value of f(j-1) falls between 0 and c, the frame drop start point is u, where u is greater than or equal to c. When the value of f(j-1) is equal to c, the frame drop start point is t, where t is less than or equal to c. When the value of f(j-1) falls between c and f, the frame drop start point is s, where s is less than or equal to c. When the value of f(j-1) is equal to f, the frame drop start point is r, where r is less than or equal to f. When the value of f(j-1) falls between f and n, the frame drop start point is q, where q is less than or equal to f. When the value of f(j-1) is equal to n, the frame drop start point is p, where p is less than or equal to n. Thus, the frame drop start point can be determined based on the frame drop start point lookup table shown in Table 1.
[0129] The interval from 0 to c is the second type of segmented interval mentioned above, and the interval from c to f, f, f to n, n is the first type of segmented interval mentioned above.
[0130] In other words, if f(j-1) falls within the first segmentation interval, the first screen refresh rate in the first frame drop sequence is determined to be the first value, such as u, which is set to be less than or equal to the minimum value of the first segmentation interval. If f(j-1) falls within the second segmentation interval, the first screen refresh rate in the first frame drop sequence is determined to be the second value, such as t, s, r or p, q, which is set to be greater than or equal to the maximum value of the second segmentation interval. The range of values for f(j-1) is divided into one or more first segmentation intervals and one or more second segmentation intervals, with the refresh rate of the first segmentation interval being less than the refresh rate of the second segmentation interval.
[0131] The first type of segmented interval, corresponding to the frame reduction starting point, ensures that the display refresh rate is not too high when the SOC continuously sends images within that interval, achieving a near-consistency between the SOC image sending rate and the display refresh rate; furthermore, it prevents refresh rate jumps during frame reduction, thus improving screen flicker issues. Examples will be provided later to illustrate this further.
[0132] The second type of segmented interval, corresponding to the frame rate reduction start point, avoids the display being at a low refresh rate for extended periods, improving screen flicker issues. Furthermore, it allows the display to quickly adapt to potentially high SOC image delivery rates, preparing for a return to a high refresh rate, reducing jumps between low and high refresh rates, and improving screen flicker. Examples will be provided later to illustrate this.
[0133] In addition, the frame drop start point corresponding to segments f to n and n in Table 1 can be uniformly set to f, satisfying the frame drop start point setting rules for these two segments; the frame drop start point corresponding to segments c, c to f, and f in Table 1 can be uniformly set to c, satisfying the frame drop start point setting rules for these three segments. The frame drop start point corresponding to the segment 0 to c in Table 1 can be set to be greater than or equal to c, such as f. Thus, the six segments in Table 1 can be simplified as follows: Figure 7 The A, B, and C sections make it easier to look up tables.
[0134] For example, Table 1 can be further implemented as Table 2. In Table 1, c, f, and n can be selected as 30Hz, 60Hz, and 120Hz respectively; the frame drop start points p and q can be uniformly selected as 60Hz; the frame drop start points r, s, and t can be uniformly selected as 30Hz; and the frame drop start point u can be selected as 60Hz. Correspondingly, Figure 7 It can be concretized into Figure 8 .
[0135]
[0136] Table 2
[0137] Using 30Hz as the dividing point between the first and second segmentation intervals can further help improve the issue of image retention. 30Hz is generally the refresh rate threshold for display screens regarding image retention. That is, image retention issues only appear or are prone to appear when the refresh rate is below 30Hz. In practical applications, depending on the display's hardware capabilities, 30Hz can be replaced with other refresh rates; for example, a certain display might only exhibit image retention issues at refresh rates below 10Hz. The refresh rate threshold can be determined as follows: if image retention occurs after the display has been continuously operating at a certain refresh rate for a certain duration (e.g., 5 seconds), then that refresh rate is determined to be the refresh rate threshold for that display screen.
[0138] The following section uses the frame drop start lookup table shown in Table 2 to... Figures 9-12 The examples shown illustrate the frame reduction scheme provided in the embodiments of this application.
[0139] Figure 9 The frame drop process is shown when the value of f(j-1) falls within segment B. For example... Figure 9As shown, the SOC continuously sends images at a rate of 30Hz. The display refreshes the image h sent by the SOC in frame 5. The previous refresh before frame 5 occurred in frame 1, and the equivalent refresh rate of that previous refresh was 30Hz. Therefore, lookup table 2 determines that the starting point for the i-th frame drop is 30Hz, and the i-th frame drop begins in frame 5 according to the frame drop sequence "30-10". However, the i-th frame drop is interrupted by the image h+1 sent by the SOC. The display refreshes the image h+1 sent by the SOC in frame 9 and begins the (i+1)-th frame drop. The previous refresh before frame 9 occurred in frame 5, and the equivalent refresh rate of that previous refresh was 30Hz. Therefore, lookup table 2 determines that the starting point for the (i+1)-th frame drop is 30Hz, and the (i+1)-th frame drop begins according to the frame drop sequence "30-10". The (i+2)th frame drop is interrupted by the image sent by the SOC, h+2. The display refreshes the image sent by the SOC, h+2, on the 9th frame and begins the (i+2)th frame drop.
[0140] from Figure 9 As can be seen, because the frame rate reduction start point for each frame drop is adaptively based on the equivalent refresh rate of the previous refresh, the refresh rate remains stable at 30Hz, consistent with the SOC image delivery rate, without increasing the refresh rate. This minimizes display power consumption while ensuring normal user operation of the device. Regarding these beneficial effects, compared to the previous... Figure 6A The drawbacks of using a fixed frame drop start point are more noticeable when the frame drop is represented.
[0141] Figure 10 This illustrates the frame drop process when the value of f(j-1) initially falls within segment A. For example... Figure 10 As shown, the SOC continuously sends images at a rate of 30Hz. The display refreshes the image h-1 sent by the SOC in frame 2. The previous refresh before frame 2 occurred in frame 1, and the equivalent refresh rate of that previous refresh was 120Hz. Therefore, lookup table 2 determines that the starting point for the (i-1)th frame drop is 60Hz, and the i-th frame drop begins according to the frame drop sequence "60-30-10". However, the (i-1)th frame drop is interrupted by the image h sent by the SOC. The display refreshes the image h sent by the SOC in frame 6 and begins the i-th frame drop. The previous refresh before frame 6 occurred in frame 4, and the equivalent refresh rate of that previous refresh was 60Hz. Therefore, lookup table 2 determines that the starting point for the i-th frame drop is 30Hz, and the i-th frame drop begins according to the frame drop sequence "30-10". The i-th frame drop is interrupted by the image h+1 sent by the SOC. The display refreshes the new image h+1 sent by the SOC at frame 10 and begins the (i+1)-th frame drop. This process continues in the same manner for subsequent frame drops.
[0142] from Figure 10As can be seen, initially with a high equivalent refresh rate, the equivalent refresh rate was first reduced to 60Hz, then to 30Hz, and finally stabilized at 30Hz, consistent with the SOC's image delivery rate. This frame reduction process did not involve a jump from a high refresh rate to a low refresh rate, avoiding screen flickering. Moreover, because the display refresh rate remained consistent with the SOC's image delivery rate during continuous image delivery, the refresh rate was not increased, minimizing display power consumption while ensuring normal user operation. Regarding these beneficial effects, compared to the previous... Figure 6A and Figure 6B The drawbacks of using a fixed frame drop start point are more noticeable when the frame drop is represented.
[0143] Figure 11 The image illustrates the frame drop process when the value of f(j-1) falls within segment C. For example... Figure 11 As shown, the SOC continuously sends images at a rate of 30Hz. The display refreshes the image h sent by the SOC at frame 13. The previous refresh before frame 13 occurred at frame 1, and the equivalent refresh rate of that previous refresh was 10Hz. Therefore, lookup table 2 determines that the starting point for the i-th frame drop is 60Hz, and the i-th frame drop begins according to the frame drop sequence "60-30-10". However, the i-th frame drop is interrupted by the image h+1 sent by the SOC. The display refreshes the image h+1 sent by the SOC at frame 17 and begins the (i+1)-th frame drop. The previous refresh before frame 17 occurred at frame 13, and the equivalent refresh rate of that previous refresh was 60Hz. Therefore, lookup table 2 determines that the starting point for the (i+1)-th frame drop is 30Hz, and the (i+1)-th frame drop begins according to the frame drop sequence "30-10". The (i+1)th frame drop is interrupted by the image h+2 sent by the SOC. The display refreshes the new image h+2 sent by the SOC at frame 21 and begins the (i+2)th frame drop. This process continues in the same manner for subsequent frame drops.
[0144] from Figure 11 As can be seen, initially with a very low equivalent refresh rate, the refresh rate is first increased to 60Hz, then decreased to 30Hz, and finally stabilized at 30Hz, consistent with the SOC's image delivery rate. This avoids the display being at a low refresh rate for extended periods, improving screen flicker issues. Furthermore, this frame rate reduction process avoids a jump from low to high refresh rates, preventing screen flicker. Moreover, because the display refresh rate remains consistent with the SOC's image delivery rate during continuous image delivery, the refresh rate is not increased, minimizing display power consumption while ensuring normal user experience.
[0145] In addition, such as Figure 12As shown, when the initial equivalent refresh rate is very low (as low as 10Hz), the refresh rate is first increased to 60Hz and then increased to 120Hz in response to the SOC image delivery. This allows the display to quickly adapt to the high SOC image delivery rate that may occur at any time, such as from frame h+1 to frame h+3, in order to prepare for the restoration of the high refresh rate, avoid the jump from low refresh rate to high refresh rate, and improve the screen flicker problem.
[0146] Figure 13 Multiple functional units in the electronic device 100 for implementing the display method provided in the embodiments of this application are shown. For example... Figure 13 As shown, these multiple functional units may include an image sending unit, a statistics unit, a frame reduction control unit, and a storage unit, wherein:
[0147] The image transmission unit generates frames through rendering, compositing, and other operations, and sends the image data of these frames to the DDIC. Finally, the image data is processed by the DDIC and sent to the display screen. The Mobile Industry Processor Interface (MIPI) signal of the display interface can be used to test the SOC's image transmission status, i.e., when the SOC transmits images.
[0148] The image transmission unit can be integrated into a SoC, such as a GPU or CPU.
[0149] The statistics unit is used to count the time of each refresh of the display screen, that is, the time of each refresh frame; and to calculate the equivalent refresh rate of the previous refresh before the frame drop using the counted refresh frame times, and to transmit the equivalent refresh rate of the previous refresh before the frame drop to the frame drop control unit. The key to calculating the equivalent refresh rate f(j-1) of the previous refresh before the frame drop is to obtain the value of parameter K, which is the number of frames between the first refresh frame of the first screen and the previous refresh frame. For how to use K to calculate the equivalent refresh rate f(j-1) of the previous refresh before the frame drop, please refer to the relevant content above, which will not be repeated here.
[0150] The statistical unit can be integrated into the SOC or into the DDIC.
[0151] In embodiments where the statistics unit is integrated into the SOC, the statistics unit can record the time when the SOC sends refresh commands (including non-image refresh commands and image refresh commands) to the DDIC. The time when the SOC sends the refresh command is equivalent to the time when the display screen performs a refresh. That is, the frame in which the SOC sends the first refresh command to refresh the first screen is the first refresh frame, and its previous refresh frame is the time when the SOC sent the previous refresh command before this refresh command. The number of frames between the two can then be determined as the value of K. In this way, the statistics unit determines the value of K based on the number of frames between the SOC sending the first refresh command to refresh the first screen and its previous refresh command.
[0152] In embodiments where the statistics unit is integrated into the DDIC, since the DDIC is responsible for controlling the display screen to perform refresh, the statistics unit can directly record the refresh time of the first refresh of the first screen and the time of the last refresh, and then directly calculate the value of K, or let the SOC calculate the value of K.
[0153] The storage unit can be used to store the frame drop sequence and the frame drop start lookup table. The frame drop start lookup table can be found in Tables 1 and 2. Figures 7-8 The relevant content mentioned above will not be repeated here. The frame reduction sequence can be stored along with its frame reduction start point, so that after determining the frame reduction start point, the frame reduction control unit can further find the frame reduction sequence based on the frame reduction start point.
[0154] Storage cells can be integrated into a System-on-a-Chip (SoC), a Direct Memory Integrated Circuit (DDIC), or a separate memory. Here, "separate" means independent of the SoC or DDIC, existing outside of them.
[0155] The frame reduction control execution unit can be used to find the frame reduction start point and frame reduction sequence from the frame reduction start point lookup table based on the equivalent refresh rate of the last refresh before the frame reduction passed from the statistics unit, and then trigger the DDIC to drive the display screen to perform frame reduction.
[0156] The frame reduction control execution unit can be integrated into the SOC or into the DDIC.
[0157] Figure 14 It shows Figure 13 An integrated architecture for the functional units shown. For example... Figure 14 As shown, the image sending unit, statistics unit, frame reduction control unit, and storage unit are all integrated into the SOC. While the SOC sends the image, the statistics unit within the SOC calculates the equivalent refresh rate of the previous refresh before frame reduction and transmits this equivalent refresh rate to the frame reduction control execution unit. The frame reduction control execution unit then looks up the frame reduction start point from the frame reduction start point lookup table, obtains the frame reduction sequence, and triggers the display system, composed of the DDIC and the display screen, to execute the frame reduction process.
[0158] exist Figure 14 In the architecture shown, the display system composed of the SOC, DDIC and display screen can realize the display method provided in the embodiments of this application. That is, the solution provided in the embodiments of this application can be applied to electronic devices including the above-mentioned SOC and the above-mentioned display system.
[0159] Figure 15 It shows Figure 13 Another integrated architecture for the functional units shown. For example... Figure 15As shown, only the image sending unit is integrated into the SOC, while the statistics unit, frame reduction control unit, and storage unit are integrated into the DDIC. Simultaneously with image sending from the SOC, the statistics unit in the DDIC calculates the equivalent refresh rate of the previous refresh before frame reduction and transmits this equivalent refresh rate to the frame reduction control execution unit in the DDIC. The frame reduction control execution unit then retrieves the frame reduction start point from the frame reduction start point lookup table, obtains the frame reduction sequence, and controls the display screen to execute the frame reduction process.
[0160] exist Figure 15 In the architecture shown, the display system consisting of the DDIC and the display screen can serve as the executor of the display method provided in the embodiments of this application, that is, the solution provided in the embodiments of this application can be applied to the display system.
[0161] As mentioned earlier, to achieve IC miniaturization, the DDIC may not include a frame buffer. In this case, the SOC does not send images to the display via a frame buffer, nor does it send image refresh commands or non-image refresh commands to the DDIC. The DDIC immediately drives the display to start displaying the image upon receiving it from the SOC via a data transmission interface such as MIPI. Generally, such displays have very short response times. In this implementation, the SOC needs to know the current refresh rate followed by the display and send the image data of the new image to the display when a new image arrives. When no new image arrives, it determines whether to perform frame interpolation based on the current refresh rate followed by the display. If necessary, it sends the image data of the previous image to the display.
[0162] For example, such as Figure 16 As shown, in frame 2, the SOC sends the image data of the new frame (frame h) to the display and controls the display to start frame rate reduction. During frame rate reduction, the first refresh frame for frame h on the display is frame 2, and its previous refresh frame is frame 1. Therefore, the SOC can determine the frame rate reduction start point as 60Hz based on the frame interval of 0, using the frame rate reduction sequence "60-30-10". Furthermore, after frame 2, no new frames arrive for a considerable period. Thus, in frame 3, the SOC does not send an image; in frames 4, 8, and 19, the SOC still sends the image data of frame h to the display (also known as sending the old image); in frames 5-7 and 9-18, the SOC does not send an image.
[0163] In an implementation without frame buffering, the SOC can record the time of each image transmission. The time of each image transmission by the SOC is equivalent to the time it takes for the display screen to refresh that image. Then, the SOC can calculate the value of K based on the time of the first image transmission and the time of the previous image transmission, and further calculate the equivalent refresh rate of the previous refresh before the frame drop, ultimately determining the starting point of the frame drop.
[0164] In an implementation without frame buffering, the DDIC can record the time of each image received from the SOC. The time of each received image data is equivalent to the time it takes for the display screen to refresh that image. Therefore, the DDIC can calculate the value of K based on the time of the first received image data for the first frame, and then calculate the equivalent refresh rate of the previous refresh before the frame drop, ultimately determining the frame drop start point.
[0165] The frame reduction scheme provided in this application can also be applied to various devices and technical fields that support high-frequency and low-frequency operation. For example, the frame reduction scheme provided in this application can also be applied to the process of reducing the sampling frequency of ambient light from a high sampling rate to a low sampling rate. In this example, the image sending unit mentioned above can be replaced by a light test data sending unit. As another example, the frame reduction scheme provided in this application can also be applied to the process of reducing the sampling rate of a touch device from a high sampling rate to a low sampling rate. In this example, the image sending unit mentioned above can be replaced by a touch data sending unit.
[0166] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the steps in the above-described method embodiments.
[0167] This application also provides a computer program product that, when run on an electronic device, enables the electronic device to perform the steps described in the various method embodiments above.
[0168] This application also provides a chip system, which includes a processor coupled to a memory. The processor executes a computer program stored in the memory to implement the steps of any method embodiment of this application. The chip system can be a single chip or a chip module composed of multiple chips.
[0169] The term "user interface (UI)," or simply "interface," used in the specification and accompanying drawings of this application, refers to the medium through which an application or operating system interacts and exchanges information with the user. It facilitates the conversion between the internal form of information and a form acceptable to the user. The user interface of an application is written in source code using specific computer languages such as Java or Extensible Markup Language (XML). This source code is parsed and rendered on the terminal device, ultimately presenting user-recognizable content, such as images, text, and buttons. Controls, also known as widgets, are the basic elements of the user interface. Typical controls include toolbars, menu bars, text boxes, buttons, scroll bars, images, and text. The attributes and content of controls in the interface are defined using tags or nodes, such as XML tags. <textview> 、 <imgview> 、 <videoview>Nodes define the controls contained in the interface. A node corresponds to a control or property in the interface, and after parsing and rendering, the node is presented as the content visible to the user. In addition, many applications, such as hybrid applications, often contain web pages within their interfaces. A web page, also known as a webpage, can be understood as a special control embedded in the application interface. Web pages are source code written in a specific computer language, such as Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), JavaScript (JS), etc. Web page source code can be loaded and displayed as user-readable content by a browser or a web page display component with browser-like functionality. The specific content contained in a webpage is also defined through tags or nodes in the webpage source code; for example, HTML uses tags or nodes to define the content. 、 、 <video> 、 <canvas>Used to define the elements and attributes of a webpage.
[0170] The most common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.
[0171] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.
[0172] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
[0173] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.< / canvas> < / video> < / videoview> < / imgview> < / textview>
Claims
1. A display method, said method being applied to an electronic device, said electronic device comprising an image feeding unit and a display screen, characterized in that, include: The electronic device detects that the image sending unit sends the image data of the first frame to the display screen; The electronic device begins executing the first frame drop based on the first frame drop sequence; Wherein, the first frame rate reduction sequence consists of n screen refresh rates arranged in descending order, n≥2, where n is a positive integer; the first screen refresh rate in the first frame rate reduction sequence is determined according to the number of frames K between the first refresh frame and the previous refresh frame, where K is a positive integer; the first refresh frame refers to the frame in which the display screen refreshes the first image for the first time. The first frame reduction includes refreshing the first screen n times using the image data of the first screen. The n refreshes are performed according to the n screen refresh rates, and the time interval between two adjacent refreshes increases as the first frame reduction proceeds.
2. The method as described in claim 1, characterized in that, The n refreshes are performed according to the n screen refresh rates, specifically including: the time T of the i-th refresh in the first frame drop. i For: T i =T i-1 + , It is the i-th refresh rate in the first frame rate reduction sequence. It is the reciprocal of the duration of a single frame, T i-1 It is the time of the (i-1)th refresh; T i T i-1 The time unit is a frame; n ≥ i ≥ 2, where i is a positive integer.
3. The method as described in claim 1, characterized in that, Before the electronic device starts executing the first frame drop based on the first frame drop sequence, the method further includes: the electronic device determining whether there is a second frame drop, the second frame drop being an ongoing frame drop; if so, stopping the second frame drop.
4. The method as described in claim 3, characterized in that, Also includes: During the execution of the first frame reduction, the electronic device detects whether the image sending unit is sending a second image. If so, it stops executing the first frame reduction and starts executing the third frame reduction. The third frame reduction is executed based on the second frame reduction sequence, which consists of m screen refresh rates arranged in descending order, where m ≥ 2 and m is a positive integer. The first screen refresh rate in the second frame reduction sequence is determined based on the number of frames between the second refresh frame and the previous refresh frame. The second refresh frame refers to the frame in which the display screen refreshes the second image for the first time. The third frame reduction includes refreshing the second screen m times using the image data of the second screen. The m refreshes are performed according to the m screen refresh rates, and the time interval between two adjacent refreshes increases as the third frame reduction proceeds.
5. The method according to any one of claims 1-4, characterized in that, The first screen refresh rate in the first frame reduction sequence is determined based on the interval K between the first refresh frame and the previous refresh frame, specifically including: The first screen refresh rate in the first frame drop sequence is based on the equivalent refresh rate of the display screen when it performed a refresh in the previous refresh frame of the first refresh frame. Sure, The value is determined by the following formula: f(j-1) ,in, It is the reciprocal of the duration of a single frame.
6. The method as described in claim 5, characterized in that, The first screen refresh rate in the first frame drop sequence is based on the equivalent refresh rate of the display screen when it performed a refresh in the previous refresh frame of the first refresh frame. This is confirmed, specifically including: like If the screen refresh rate falls within the first segmentation interval, the first screen refresh rate in the first frame drop sequence is determined to be a first value, which is set to be less than or equal to the minimum value of the first segmentation interval. like If the screen refresh rate falls within the second segmentation interval, the first screen refresh rate in the first frame drop sequence is determined to be the second value, which is set to be greater than or equal to the maximum value of the second segmentation interval. The value range is divided into one or more of the first type of segmented intervals and one or more of the second type of segmented intervals, wherein the refresh rate of the first type of segmented interval is less than the refresh rate of the second type of segmented interval.
7. The method as described in claim 6, characterized in that, The range of values for f is [0, f max ], where f max It is the maximum refresh rate of the display screen.
8. The method as described in claim 6, characterized in that, The second type of segmentation interval is [0, f thre ), where f thre The refresh rate threshold of the display screen; if the display screen continues to operate at the refresh rate threshold for more than a first duration, image retention will occur.
9. The method according to any one of claims 6-8, characterized in that, fthre equals 30 Hz; The range of values is divided into the following segments: [0,30), 30, (30,60), 60, (60,120), 120, where [0,30) is the second type of segmented interval, and 30, (30,60), 60, (60,120), 120 is the first type of segmented interval.
10. The method as described in claim 9, characterized in that, The first value is set to 60; if If the value falls within one of the second type of segmentation intervals: 30, (30, 60), or 60, then the second value is set to 30; if If the value falls within one of the second type of segmentation intervals (60, 120) and 120, then the second value is set to 60.
11. The method as described in claim 1, characterized in that, The image delivery unit is a system-on-a-chip (SoC); the interval frame number K is determined through the following steps: The SOC records the time when it sends a refresh command to the display driver integrated circuit (DDIC) connected to the display screen, and determines that the interval frame number K is equal to the interval frame number between the first frame and the second frame. The first frame is the time when the SOC issues the refresh command for the first time to refresh the first screen, and the second frame is the time when the SOC last issued a refresh command before the first frame.
12. The method as described in claim 1, characterized in that, The interval frame number K is determined through the following steps: The display driver integrated circuit (DDIC) connected to the display screen records the time when the display screen performs a screen refresh, and determines that the interval frame number K is equal to the interval frame number between the third frame and the fourth frame. The third frame is the refresh time when the display screen first refreshes the first screen, and the fourth frame is the time when the display screen performed the last refresh before the third frame.
13. An electronic device, characterized in that, The device includes one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, the computer program code including computer instructions, which, when executed by the one or more processors, cause the electronic device to perform the method as described in any one of claims 1-12.
14. A chip system, characterized in that, The chip system is applied to an electronic device. The chip system includes a processing circuit and an interface circuit. The interface circuit is used to receive instructions and transmit them to the processing circuit. The processing circuit is used to execute the instructions to perform the method as described in any one of claims 1-12.
15. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-11.