Dynamic power delivery to display panel based on content brightness
By dynamically adjusting the power level of the display panel and dynamically scaling the power delivery according to the content brightness, the problem of increased power consumption for non-HDR content in HDR mode is solved, achieving energy-saving effects when HDR mode is enabled by default and extending battery life.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- INTEL CORP
- Filing Date
- 2025-11-21
- Publication Date
- 2026-06-26
AI Technical Summary
Modern display panels consume more power and shorten battery life even when displaying non-HDR content in High Dynamic Range (HDR) mode. Users need to manually enable HDR mode to enjoy its benefits.
By receiving brightness data from frame sequences, the power level of the display panel is dynamically adjusted, and the power delivery is dynamically scaled according to the content brightness. For example, the OLED display panel switches its operating voltage, and the LCD display panel adjusts its backlight duty cycle to ensure that high power is provided only when high brightness is required.
This feature reduces power consumption and extends battery life when displaying non-HDR content in HDR mode, enabling HDR mode by default without affecting user experience, resulting in significant energy savings.
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This disclosure generally relates to dynamic power delivery to a display panel based on content brightness. Background Technology
[0002] Many modern display panels support High Dynamic Range (HDR), a technology that allows for the representation of video and images using a wider range of brightness, contrast, and color. However, due to high power consumption, many systems with HDR-enabled display panels are configured to disable HDR mode by default. Therefore, users need to manually enable HDR mode to realize its benefits. Furthermore, when HDR mode is enabled, the display panel consumes a significant amount of power even when displaying only non-HDR content (such as standard dynamic range (SDR) content), which can shorten the battery life of mobile systems. Summary of the Invention
[0003] According to one aspect of this disclosure, an electronic device is provided, comprising: a display panel; and a control circuit for: receiving a frame sequence, wherein the frame sequence includes a plurality of frames to be sequentially displayed on the display panel; and dynamically adjusting the power level of the display panel based on brightness data of the frame sequence.
[0004] According to another aspect of this disclosure, a system is provided, comprising: a source circuit for sending a plurality of frames and brightness data of the plurality of frames to a destination circuit, wherein the plurality of frames will be sequentially displayed on a display panel; and the destination circuit for: receiving the plurality of frames and the brightness data from the source circuit; dynamically adjusting the voltage of the display panel based on the brightness data of the plurality of frames; and causing the plurality of frames to be sequentially displayed on the display panel.
[0005] According to another aspect of this disclosure, a method is provided, comprising: receiving a plurality of frames via an interface circuit, wherein the plurality of frames will be sequentially displayed on a display panel; and continuously adjusting the power level of the display panel based on luminance data of one or more pending frames, wherein the one or more pending frames are the next frames to be displayed among the plurality of frames. Attached Figure Description
[0006] Figure 1 A system for dynamically delivering power to a display panel based on content brightness is shown.
[0007] Figure 2 This demonstrates how to dynamically scale the voltage of a display panel based on the content brightness.
[0008] Figure 3 This demonstrates how to dynamically scale the duty cycle of a display panel based on content brightness.
[0009] Figure 4 An example of dynamically delivering power to a display panel based on content brightness is shown.
[0010] Figure 5 The process flow for transmitting content brightness to the destination device is shown.
[0011] Figure 6 The process flow for dynamically scaling the power level of a display panel based on content brightness is shown.
[0012] Figure 7 An example computing system is shown.
[0013] Figure 8 An example processor unit is shown. Detailed Implementation
[0014] Many modern display panels support High Dynamic Range (HDR), a technology that uses a wider range of brightness, contrast, and color gamuts than Standard Dynamic Range (SDR) to represent video and images. For example, HDR expands the range of brightness levels to support brighter whites and deeper blacks. HDR also supports a wider color gamut (e.g., typically using 10 bits or higher than 8 bits in SDR), resulting in more vibrant colors. Therefore, HDR makes videos and images look more realistic and dynamic, similar to how the human eye perceives the real world, leading to a better user experience.
[0015] However, due to high power consumption, many HDR-enabled mobile systems are configured to disable HDR by default (at least when running on battery power). Therefore, users must manually enable HDR mode to realize its benefits, meaning only users aware of this can enjoy the advantages of HDR. The main reason for disabling HDR by default in these systems is that power consumption increases even when displaying only SDR content, such as productivity (e.g., desktop) applications and web pages.
[0016] Specifically, the brightness or intensity of light emitted from a display is called luminance, measured in nits or candela per square meter (cd / m²), where candela is the unit of luminous intensity or brightness. SDR content typically has a peak luminance of 100-400 nits, while HDR content can have a peak luminance of 1000-4000 nits or even up to 10000 nits.
[0017] When HDR mode is enabled, the display panel switches to a power delivery mode that supports higher luminance or brightness to match the maximum potential luminance of the video frame content, regardless of whether the content actually requires high luminance. To support this higher luminance mode, the display panel needs more current to drive its pixels, which in turn requires higher voltage, typically from a separate power delivery mechanism. Therefore, compared to SDR mode, the display panel's timing controller (TCON) switches to a higher voltage power delivery setting for HDR mode (e.g., a higher voltage power rail or a higher duty cycle), even if the pixels in the displayed content are not brighter than standard SDR "paper white".
[0018] Even switching to higher voltages in HDR mode when displaying only low-brightness content does not improve the user experience; instead, it increases power consumption and shortens battery life. For example, on an OLED display panel in HDR mode displaying only SDR content, an average increase of up to 700 milliwatts (mW) of electroluminescent (EL) power may be required, which translates to approximately a 25% increase in power consumption and a 5% reduction in battery life. This increase in OLED EL power in HDR mode occurs because the display panel switches to higher voltages to drive the higher brightness levels supported by HDR. Once in HDR mode, the display panel continues to operate at higher voltages, even when displaying low-brightness SDR content, resulting in a 25% increase in power consumption.
[0019] As an example, for a notepad application with a peak brightness of approximately 250 nits on an OLED display, SDR mode consumes about 4 watts (W) of EL power, while HDR mode consumes about 5 W of EL power for the same content. Therefore, the power consumption in HDR mode increases by 1 W, which significantly shortens battery life.
[0020] Regarding other display technologies, such as liquid crystal displays (LCDs), the power consumption increase of HDR mode compared to SDR mode is comparable to that of OLED, and may even be higher in some cases.
[0021] Therefore, this disclosure proposes embodiments for dynamic power delivery to a display panel based on content brightness. For example, the described solution enables the display to dynamically scale its power level (e.g., operating voltage or duty cycle) in HDR mode, thereby incurring power-related costs only for HDR content that actually requires high brightness, while operating at low power to reduce power consumption in other situations. In this way, the impact on power consumption is minimized when displaying non-HDR content in HDR mode. Therefore, HDR mode can be enabled by default on mobile systems, allowing users to enjoy the advantages of HDR without the disadvantages of higher power consumption and reduced battery life when viewing non-HDR content.
[0022] In some embodiments, for example, metadata is provided to the display timing controller (TCON) indicating the maximum brightness of video content at a specific granularity (e.g., per frame or N consecutive frames). This allows the display to scale power delivery in real time based on the brightness of the displayed content. For example, using brightness metadata, an OLED display can dynamically switch between different operating voltages on its EL power rail, while an LCD display can dynamically adjust the pulse width modulation (PWM) duty cycle of its backlight. In this way, the power required for high-brightness content is delivered only when necessary, and power consumption is reduced for content that does not require high brightness.
[0023] For example, for frames containing high-brightness HDR content, the display can dynamically switch to a higher power mode (e.g., a higher voltage or duty cycle) to provide the required brightness when displaying the frame. Conversely, for frames containing content with lower brightness requirements (e.g., SDR content, HDR content with SDR-level brightness, or HDR content with brightness that can be supported by lower power), the display can dynamically switch to a lower power mode (e.g., a lower voltage or duty cycle) to save power.
[0024] In some embodiments, brightness metadata or "cues" may be provided by a video source device (e.g., a host computing device) to a video destination device (e.g., a display device), enabling the destination device to use the cues and adjust the luminance / brightness of its display panel in a flicker-free manner. In this way, power / brightness scaling functionality can be controlled or driven by the source device providing the brightness cues to the destination device. This disclosure also provides an algorithm for determining the maximum brightness requirement of video content by the source device, and an interface for transmitting this information to the destination device.
[0025] The described embodiments offer various advantages. By providing the display panel with information about the displayed content, the display panel no longer needs to operate statically at its highest power level in HDR mode. Instead, the display panel can dynamically scale power and brightness based on the content itself. When displaying content with SDR luminance (or lower) in HDR mode, the display panel's power consumption is no higher than in SDR mode because the display panel's power delivery / brightness control mechanism is driven at the same (or lower) power and luminance levels as in SDR mode. In this way, less power is consumed when displaying SDR content (or other non-HDR content) compared to HDR content when HDR mode is enabled. HDR mode is now comparable to SDR mode in terms of power consumption for non-HDR content such as: operating system (OS) / desktop user interface (UI), productivity applications such as email and word processing, web browsing, etc. Furthermore, for HDR content that does not use higher brightness, power consumption can be significantly reduced (e.g., at least 25% in some cases).
[0026] In this way, HDR content and applications (e.g., movies, games) can utilize the full range of brightness and color supported by HDR when needed (and can be displayed at lower power for HDR content that does not require maximum brightness), while non-HDR content (e.g., OS / desktop UI, productivity applications, web pages) can be displayed at SDR power and luminance levels (or lower). Therefore, overall power consumption is reduced without compromising the quality of the displayed video content.
[0027] Therefore, the traditional process of manually switching between SDR and HDR modes can be abandoned. Instead, HDR mode can be enabled by default or permanently on all devices because HDR power consumption for non-HDR content is minimal.
[0028] Figure 1 An example system 100 for dynamically delivering power to a display panel 130 based on content brightness is illustrated. In the illustrated embodiment, system 100 includes a source device 110 and a destination device 120. The source device 110 provides frame data 102 and associated brightness metadata 104 to the destination device 120, and the destination device 120 dynamically or continuously scales the power level of the associated display panel 130 based on the brightness or luminance of the content within the pending frames 102, as indicated by the brightness metadata 104. In this way, when the pending frames 102 in the pipeline are subsequently displayed, the display panel 130 will have sufficient power to support the brightness of the content in these frames 102 without consuming more power than necessary.
[0029] Display system 100 typically includes a source device 110 and a destination device 120, wherein the source device 110 provides a frame 102 (e.g., pixel data of an image / video) to the destination device 120 for display, and the destination device 120 processes the incoming frame 102 and displays the incoming frame 102 on an associated display panel 130.
[0030] The destination device 120 can be implemented in any display device, i.e., any device with a display panel 130, such as a monitor, television, projector, immersive reality headset (e.g., augmented reality (AR) and / or virtual reality (VR)), or embedded display device (e.g., mobile device, laptop, mobile phone, tablet, smartwatch). The source device 110 can be implemented in any electronic device or system designed to interface with the destination device 120, such as a computer, mobile device (e.g., laptop, cellular phone, tablet, smartwatch), video game console, media player, set-top box, or display device. In various embodiments, the source device 110 and the destination device 120 can be implemented in physically separate devices (e.g., a desktop computer as the source device 110 and a monitor as the destination device 120) or can be integrated into the same device (e.g., a smart TV, laptop, mobile phone, tablet, smartwatch).
[0031] In the illustrated embodiment, source device 110 includes a central processing unit (CPU) 116, a graphics processing unit (GPU) 112, and a display controller 114. CPU 116 may execute an operating system (OS) and / or one or more applications that can utilize GPU 112 to perform various graphics processing tasks, including processing / displaying frames 102 on display panel 130. GPU 112 receives image and / or video data (e.g., from CPU 116 or another source) and generates corresponding frame data 102, which represents the image / video data in a format that can be displayed on display panel 130. Display controller 114 handles synchronization (e.g., horizontal (HSYNC) and vertical (VSYNC) synchronization signals, pixel clock, refresh rate), frame formatting (e.g., color space, resolution), and the transfer of frame data 102 between source device 110 and destination device 120. Furthermore, GPU 112 and / or display controller 114 may store frame data 102 in a frame buffer.
[0032] In the illustrated embodiment, the destination device 120 includes a timing controller (TCON) 122, a power management unit (PMU) 124, a driver 128, and a display panel 130. The TCON 122 synchronizes the source device 110 and the display panel 130 (e.g., synchronizes refresh rates), receives and decodes incoming frames 102 from the source device 110, and coordinates the display of the decoded frames 102 on the display panel 130 (e.g., using the row / column driver 128). The PMU 124 controls the supply and delivery of power (e.g., voltage, current, duty cycle, etc.) to the various components of the destination device 120, including the power required to drive the display panel 130. The driver 128 controls the rows and columns of the display panel 130. For example, the driver 128 may include source drivers (also called column drivers) for controlling the columns of the display panel 130 and gate drivers (also called row drivers) for controlling the rows of the display panel 130. Display panel 130 is used to display a visual representation of each frame 102 based on coordination from TCON 122 (e.g., using a pixel array).
[0033] In the illustrated embodiment, GPU 112 generates frame data 102 and associated luminance metadata 104 (e.g., based on requests / instructions from the OS and / or applications running on CPU 116).
[0034] In some embodiments, luminance metadata 104 may indicate the content type and / or peak luminance of a sequence of one or more pending frames 102 (e.g., a scrolling window of N consecutive frames 102 to be displayed next). For example, content type may indicate the category of content detected within frame 102 (e.g., movie, video game, desktop productivity application, etc.), the overall luminance level associated with the detected frame content 102 (e.g., high luminance, medium luminance, low luminance, SDR or HDR level luminance, etc.), or any other suitable characteristic of the content type detected in frame 102. Furthermore, peak luminance may indicate the maximum pixel luminance of pixels in the sequence of pending frames 102.
[0035] GPU 112 sends frame data 102 and metadata 104 to display controller 114, which in turn sends the frame data 102 and metadata 104 to TCON 122 on destination device 120 (e.g., using in-band, sideband, or out-of-band messages).
[0036] TCON 122 determines a target power level (e.g., operating voltage, duty cycle, etc.) for display panel 130 based on luminance metadata 104. In some embodiments, such as PMU 124, multiple power levels may be supported for a defined luminance or brightness range. Therefore, TCON 122 may select a target power level based on peak luminance as indicated in luminance metadata 104 for one or more pending frames. TCON 122 may then send instruction 106 to PMU 124 to dynamically scale the power level of display panel 130 to the target power level.
[0037] TCON 122 also provides corresponding frame data 102 to source / gate (row / column) drivers 128, which control the pixel rows and columns on display panel 130 so that a sequence of frames 102 is displayed on display panel 130. In this way, when pending frames 102 are subsequently displayed, display panel 130 will have sufficient power to support the pixel brightness in these frames 102 without consuming more power than necessary. Specifically, the power level is dynamically scaled based on a defined brightness / power level curve, such that the minimum power level capable of supporting the content brightness of pending frames 102 is delivered to display panel 130 to display these frames 102. This results in significant energy savings, especially when displaying non-HDR (e.g., low brightness) content in HDR mode (e.g., extending battery life by 25% in some cases). Therefore, HDR mode can be defaulted to always being on without affecting battery life.
[0038] The following are combined with Figure 2 and Figure 3 More detailed implementations of dynamic voltage scaling (e.g., for OLED display panels) and dynamic duty cycle scaling (e.g., for LCD display panels) are provided.
[0039] Display panel 130 may include any type of display panel on which information can be displayed, such as light-emitting diode (LED) display, organic LED (OLED) display, micro LED display, liquid crystal display (LCD), or display based on any other display technology.
[0040] System 100 and source device 110 / destination device 120 can be implemented using any type or combination of electronic devices or systems (e.g., integrated circuits, processing units, system-on-a-chip (SoC), etc.). System 100, source device 110, and destination device 120, and their respective components, can be implemented using any type or combination of circuitry, including processing circuitry and / or control circuitry for implementing their respective functions, interface circuitry for communication between the various components and / or other components (e.g., via a network), etc. Source device 110 and its corresponding components can be collectively referred to as source circuitry, and destination device 120 and its corresponding components can be collectively referred to as destination circuitry. In some embodiments, source device 110 / destination device 120 can be part of an embedded display device (e.g., embedded within the same device and connected to each other via an embedded display port (eDP)).
[0041] As used herein, “dynamic” means real-time, during operation, continuous, and / or periodic (e.g., while processing and displaying pending frame 102). Luminance metadata 104 may also be referred to as luminance data, luminance cues, luminance metadata, luminance data, luminance cues, or other similar variations.
[0042] It should be understood that System 100 is merely an exemplary embodiment, and many other embodiments are also within the scope of this disclosure. For example, in various embodiments, certain components of System 100 may be modified, replaced, rearranged, omitted, and / or added. In some embodiments, Display Controller 114 may be integrated as part of GPU 112. In some embodiments, Source Device 110 may include a Display Engine in place of GPU 112 and / or Display Controller 114, or may include a Display Engine in addition to GPU 112 and Display Controller 114. In some embodiments, System 100 (or Source Device 110 / Destination Device 120) may include other or additional components, such as components common in computing devices or systems. For example, System 100 (or Source Device 110 / Destination Device 120) may include memory, storage devices, communication interfaces, peripheral or input / output (I / O) devices (e.g., keyboard, mouse, speaker, microphone, camera, battery), etc.
[0043] Figure 2 An example implementation of dynamically scaling the voltage of the display panel 130 based on content brightness is shown. In some embodiments, for example, the display panel 130 may be an OLED display panel, and the operating voltage of the electroluminescent (EL) pixels of the OLED display panel 130 may be dynamically scaled based on content brightness.
[0044] In the example shown, luminance metadata 104 of pending frame 102 (or a sequence of pending frames 102) is sent from GPU 112 to display controller 114, and then to timing controller (TCON) 122. Based on luminance metadata 104 (e.g., content type and / or maximum pixel brightness), TCON 122 sends instruction 106 to power delivery logic 202 in PMU 124 to scale the operating voltage of display panel 130 to a target voltage (V). x In response, the power delivery logic 202 scales the operating voltage of the display panel 130 to the target voltage (V). x In this way, the display panel 130 consumes enough power to support the peak brightness / luminosity of the pending frames(s) 102 to be displayed without consuming more power than required.
[0045] Specifically, PMU 124 includes multiple voltage regulators 204a-d that support different operating voltages (V0, V1, V2, V3), which are supplied as inputs to switch 206. Power delivery logic 202 sends a signal to switch 206 to select the target operating voltage (V0, V1, V2, V3) identified in instruction 106 from TCON 122. x In this way, the operating voltage of the display panel 130 is scaled to the target voltage, which enables the display panel 130 to support the peak brightness of the pending frames(s) 102 to be displayed.
[0046] As an example, for the OLED display panel 130, the concept of electroluminescence (EL) is used to generate light, where an electroluminescent material (e.g., an organic compound) emits light when an electric current passes through it. Specifically, each OLED pixel is a self-emissive electroluminescent unit, with an organic layer sandwiched between two electrodes. When current flows through the electrodes, the organic layer emits light directly. As a result, the OLED display 130 does not require a backlight.
[0047] OLED displays typically include an EL power rail to supply the operating voltage required to power the pixels. In current OLED displays, the EL power rail supports two operating voltages: low voltage and high voltage. A low voltage is supplied in SDR mode, and a high voltage is supplied in HDR mode, regardless of the actual brightness of the displayed content. Therefore, in HDR mode, a high voltage is supplied even when displaying low-brightness, non-HDR content (where a lower voltage would suffice), wasting power and depleting battery life.
[0048] However, in the illustrated embodiment, the OLED display panel 130 supports more than two EL operating voltages, and the target operating voltage is dynamically selected based on the actual brightness of the displayed content, rather than statically selected based on the current display mode (e.g., SDR mode and HDR mode), thereby improving power efficiency.
[0049] For example, the target voltage for a specific frame (or frame sequence) is selected based on the peak brightness of the frame content, meaning that the power consumption of displaying that frame (or frame sequence) is the same in SDR mode and HDR mode. In this way, significant energy savings are achieved in HDR mode when displaying content with a brightness level below the maximum value.
[0050] In some embodiments, for example, multiple operating voltages (V0-V3) can be supported for a defined brightness or luminance range. For instance, voltage V0 is used for brightness of 0-250 nits, voltage V1 for brightness of 251-620 nits, voltage V2 for brightness of 621-1000 nits, and voltage V3 for brightness above 1000 nits. Furthermore, a target operating voltage can be selected based on the maximum pixel brightness indicated by the luminance metadata 104 of a pending frame or a sequence of pending frames. For example, voltage V0 can be selected for a maximum pixel brightness of 200 nits, while voltage V2 can be selected for a maximum pixel brightness of 900 nits.
[0051] Although four operating voltages (V0-V3) are shown in the example, any number of operating voltages can be supported in a real embodiment (e.g., depending on the maximum brightness supported by a particular display panel 130).
[0052] In some embodiments, various methods can be used to avoid or reduce flicker when scaling the operating voltage of the display panel 130. For example, for current-driven devices like the OLED display panel 130, a fixed brightness operating point of the panel can be maintained without flickering or other visual artifacts on the display by adjusting the current to change the dynamic scaling of the EL voltage rail while keeping the operating area within the saturation region. This requires the drain (Vd) of the thin-film transistors (TFTs) in the OLED panel 130 to... DD ) and source (V SS The voltage at the voltage rail (V) level is changed to ensure that the same amount of current is driven at the same brightness level. This maintains the operating point in the TFT saturation region while simultaneously adjusting the voltage rail (V) level. DD V SSWhen switching between different brightness levels, it's possible to ensure the same current level. To achieve this, the TFT "kink effect," which is a function of the gate length, should be well controlled. A wider gate length allows for a better saturation profile, which helps avoid any current variations between frames, and thus any variations in brightness levels between frames. This results in "flicker-free" operation without any visual artifacts when switching voltage rails.
[0053] Figure 3 An example implementation of dynamically scaling the duty cycle of a display panel 130 based on content brightness is shown. In some embodiments, for example, the duty cycle of the backlight 308 of the display panel 130 may be dynamically scaled based on content brightness. In some embodiments, the display panel 130 may be an LCD display panel that uses pulse width modulation (PWM) to control the duty cycle of the backlight 308.
[0054] In the example shown, brightness metadata 104 is sent from GPU 112 to display controller 114, and then to timing controller (TCON) 122. TCON 122 sends instruction 106 to power delivery logic 202 in PMU 124 to scale the duty cycle of backlight 308 of display panel 130. In response, power delivery logic 202 adjusts duty cycle signal 302 to change the amount of time backlight 308 is on in each cycle, thereby effectively controlling the brightness of display panel 130.
[0055] Specifically, the duty cycle signal 302 is related to the voltage (V) supplied from the voltage regulator 304. x Together with the duty cycle signal 302, they are provided as input to switch 306. When the duty cycle signal 302 is "ON", switch 306 supplies voltage (V) to backlight 308. x When the duty cycle signal 302 is "OFF", no voltage (0V) is supplied to the backlight 308. In this way, the duty cycle signal 302 controls when voltage (V) is supplied to the backlight 308. x ).
[0056] For example, the LCD display panel 130 typically uses pulse width modulation (PWM) for backlight control. Specifically, the PWM signal 302 can be used to control the duty cycle of the backlight 308 of the LCD display 130, which refers to the percentage of time the LCD backlight 308 is on within each PWM cycle. In this way, the PWM duty cycle signal 302 controls the brightness of the LCD display panel 130 by adjusting the amount of light emitted from the backlight 308 without changing the supplied voltage. As a result, the PWM duty cycle signal 302 effectively controls the average voltage supplied to the LCD backlight 308 (e.g., based on the percentage of time the voltage is on and off within each cycle).
[0057] For example, duty cycle refers to the ratio of "on" time to total cycle time: A higher duty cycle means the backlight 308 is on for a longer period within each cycle, thus increasing brightness. A lower duty cycle means the backlight 308 is on for a shorter period within each cycle, thus reducing brightness (e.g., dimming display panel 130). As an example, a 100% duty cycle means the backlight 308 is always on, resulting in maximum brightness. A 50% duty cycle means the backlight 308 is on for half the cycle and off for the other half, resulting in medium brightness. A 0% duty cycle means the backlight 308 is always off, resulting in a dimmed or nonexistent screen.
[0058] In the illustrated embodiment, the duty cycle of the backlight 308 is dynamically scaled based on the actual brightness of the displayed content. In some embodiments, for example, the duty cycle may be scaled proportionally based on the maximum brightness of the displayed content and the maximum brightness supported by the display panel 130: For example, for a display panel 130 that supports a maximum brightness of 1000 nits and a pending frame (or pending frame sequence) with a maximum pixel brightness of 500 nits, a 50% duty cycle can be used (e.g., (500 nits / 1000 nits) * 100 = 50%).
[0059] Alternatively, multiple duty cycles can be supported for a defined brightness or luminance range, such as a 25% duty cycle for brightness of 0-250 nits; a 50% duty cycle for brightness of 251-620 nits; a 75% duty cycle for brightness of 621-1000 nits; and a 100% duty cycle for brightness exceeding 1000 nits.
[0060] In this way, the target duty cycle of the backlight 308 can be selected based on the maximum pixel brightness indicated by the brightness metadata 104 of the pending frame (or pending frame sequence). For example, for a display panel 130 with a maximum supported brightness of 1000 nits, a 25% duty cycle can be used for a maximum pixel brightness of 250 nits, while a 75% duty cycle can be used for a maximum pixel brightness of 750 nits.
[0061] In some embodiments, the LCD display panel 130 may include a plurality of backlights 308 for different areas of the panel 130. In these embodiments, brightness metadata 104 may indicate the maximum pixel brightness of each area of the frame 102 corresponding to a particular backlight 308. In this way, dynamic duty cycle scaling can be performed independently for each backlight 308. For example, the duty cycle of each backlight 308 may be scaled independently based on the content brightness within the corresponding area of the display panel 130.
[0062] Figure 4 An example 400 of dynamically delivering power to a display panel 130 based on content brightness is illustrated. In the illustrated example, a GPU 112 (e.g., from a CPU 116) receives multi-layer content 402a-c from different sources, which is then composited into a single frame 102 for display on the display panel 130. Specifically, the content 402a-c of each layer includes a single layer of SDR content 402a and multiple layers of HDR content 402b, 402c. For example, the SDR content 402a may come from productivity applications (e.g., email, word processing, web browser), and the HDR content 402b, 402c may come from movies and / or video games.
[0063] After GPU 112 composites the multi-layer content 402a-c into a single frame 102 (e.g., stored in a frame buffer), GPU 112 determines the luminance metadata 104 of the composite frame 102 (e.g., for the entire frame 102 or for each layer of content 402a-c within the frame 102). In some embodiments, for example, luminance metadata 104 indicates the content type and maximum pixel luminance of the content within frame 102.
[0064] GPU 112 sends brightness metadata 104 to display controller 114, which in turn sends it to timing controller (TCON) 122. Based on the brightness metadata 104, TCON 122 sends instruction 106 to PMU 124 to scale the power level of display panel 130, and in response, PMU 124 dynamically scales the power level of display panel 130.
[0065] In some embodiments, for example, PMU 124 can scale the operating voltage of display panel 130 (e.g., for OLED display 130), the duty cycle of display panel 130 (e.g., for LCD display 130), or any other power level setting. In this way, when frame 102 is subsequently displayed on display panel 130, display panel 130 will operate at the required power level to support maximum brightness or luminance of frame 102.
[0066] Figure 5An example process flow 500 for transmitting content brightness to a destination device 120 is illustrated. In some embodiments, the illustrated process flow may be implemented by a source device 110. Specifically, the process flow may be implemented using any combination of hardware and / or software on the source device 110, such as a GPU 112, a display engine, and / or an associated graphics driver. For example, the graphics driver may utilize the GPU 112 and / or the display engine to analyze frame 102 at low power and efficiently determine the content type and maximum brightness of each frame. Alternatively, the process flow may be implemented by an operating system (OS) and / or an application executing on the source device (e.g., on a CPU 116). In other embodiments, the illustrated process flow may be implemented directly on the destination device 120.
[0067] The process begins at block 502 by enabling HDR mode. In some embodiments, source device 110 may send an instruction to destination device 120 to enable HDR mode. For example, the OS on the CPU 116 of source device 110 may instruct the timing controller (TCON) 122 on destination device 120 whether source device 110 is operating in SDR mode or HDR mode. Therefore, when source device 110 switches from SDR mode to HDR mode, the OS on source device 110 may instruct the TCON 122 on destination device 120 to enter HDR mode.
[0068] As a result, the receiving device 120 can switch its display panel 130 from SDR mode to HDR mode. Alternatively, in some embodiments, block 502 can be omitted, and this process can be implemented regardless of whether HDR mode is enabled (e.g., implemented in both SDR and HDR modes).
[0069] The process then proceeds to block 504 to detect the content type and brightest pixel in each frame. For example, the content type can be determined by analyzing each frame 102 using content detection techniques, such as artificial intelligence (AI) and / or machine learning (ML) models trained to identify visual content, like convolutional neural networks (CNNs). In some embodiments, the content type may indicate the category of content detected within the frame, such as movies, video games, desktop productivity applications, etc. In other embodiments, the content type may indicate the brightness level associated with the content detected in the frame, such as high brightness, medium brightness, low brightness, etc.
[0070] Furthermore, the brightest pixel in each frame 102 can be identified by analyzing each pixel in frame 102 and comparing pixel brightness levels, or by analyzing a histogram of frame content 102 including pixel brightness data. Alternatively, in some embodiments, the content type and / or maximum pixel brightness in each frame 102 can be provided as metadata 104 associated with the frame content, thereby eliminating the need to manually determine the content type and / or maximum brightness. In some embodiments, for example, frame content metadata 104 may include a maximum content light level (MaxCLL) parameter or equivalent parameter indicating the brightest pixel in each frame.
[0071] The process then proceeds to block 506 to determine the peak brightness or luminance (e.g., maximum pixel brightness) of the scrolling window of N consecutive frames 102.
[0072] In some embodiments, for example, the scrolling window may include a sequence of N pending frames 102 to be displayed next in the pipeline, where N is greater than or equal to 1. For example, for N=1, peak brightness may be identified only for the next pending frame 102 (e.g., based on the brightest pixel identified for frame 102 at block 504). As another example, for N=5, peak brightness may be calculated over the next 5 pending frames 102 (e.g., by comparing the brightness levels of the brightest pixels identified in these 5 frames 102 at block 504).
[0073] Alternatively, peak brightness can be determined at any other granularity, such as per scene (e.g., based on scene transitions identified in metadata 104 or using content detection techniques in block 504).
[0074] The process then proceeds to block 508 to send luminance metadata 104 to the destination device 120. In some embodiments, for example, luminance metadata 104 may include the content type of the next N pending frames 102 (e.g., determined at block 504) and peak luminance (e.g., determined at block 506).
[0075] In some embodiments, the display controller 114 on the source device 110 may send luminance metadata 104 to the timing controller (TCON) 122 on the destination device 120. In some embodiments, the luminance metadata 104 may be sent using a supplementary data packet (SDP) of the Display Port Protocol for an HDR session between the source device 110 and the destination device 120 (e.g., using a maximum luminance metadata field, such as MaxCLL or an equivalent field). In some embodiments, whenever a change occurs that exceeds a specific threshold or range defined for the content type and luminance on the destination device 120 (e.g., when the peak luminance of the pending frame 102 exceeds the luminance range supported by the current power level at which the destination device 120 is operating), only the luminance metadata 104 may be sent to the destination device 120. In some embodiments, the source device 110 may use a multi-frame hysteresis-based approach to reduce frequent voltage swings, thereby ensuring that voltage swings do not cause display flicker.
[0076] At this point, the process flow can be completed. In some embodiments, the receiving device 120 can achieve... Figure 6 The process flow dynamically scales the power level of the display panel 130 based on the brightness metadata 104, as further described below.
[0077] Figure 6 An example process flow 600 is shown to dynamically scale the power level of the display panel 130 based on content brightness. In some embodiments, the process flow shown can be implemented by the destination device 120 using brightness metadata 104 provided by the source device 110 (e.g., from process flow 500). Specifically, the process flow can be implemented by any combination of hardware and / or software on the destination device 120, such as a timing controller (TCON) 122, a power management unit (PMU) 124, any other circuitry on the destination device 120, and / or any associated firmware.
[0078] The process begins at block 602, where luminance metadata 104 is received from source device 110 (e.g., GPU). In some embodiments, timing controller (TCON) 122 on destination device 120 may receive luminance metadata 104 from display controller 114 on source device 110.
[0079] The process then proceeds to block 604 to determine a target power level (e.g., operating voltage, duty cycle) for the display panel 130 based on the luminance metadata 104. In some embodiments, for example, the receiving device 120 may have defined luminance / brightness ranges and corresponding power levels. Furthermore, the receiving device 120 may determine which luminance / brightness range includes the maximum pixel brightness specified in the luminance metadata 104, and then the receiving device 120 may identify the corresponding power level of that luminance / brightness range as the target power level. In some embodiments, the target power level may be determined by TCON 122.
[0080] For example, a receiving device 120 having an OLED display panel 130 may include a defined brightness range and a corresponding operating voltage (e.g., an operating voltage of V0 for a brightness of 0-250 nits, an operating voltage of V1 for a brightness of 251-620 nits, and an operating voltage of V2 for a brightness of 621 or higher nits).
[0081] As another example, the receiving device 120 having the LCD display panel 130 may include a defined brightness range and a corresponding pulse width modulation (PWM) duty cycle for the backlight of the LCD display panel 130 (e.g., a duty cycle of 50% for brightness of 0-250 nits, a duty cycle of 75% for brightness of 251-620 nits, and a duty cycle of 100% for brightness of 621 or higher nits).
[0082] In addition, the receiving device 120 can identify the brightness range into which the maximum pixel brightness falls, and then the receiving device 120 can identify the corresponding operating voltage (e.g., for OLED) or duty cycle (e.g., for LCD) of the identified brightness range.
[0083] In other embodiments (e.g., for other types of display panels 130), other power level settings may be used instead of operating voltage or duty cycle (e.g., current, etc.).
[0084] The process then proceeds to block 606 to determine whether the current power level (e.g., operating voltage, duty cycle) of the display panel 130 is set to the target power level. In some embodiments, TCON 122 may perform this determination.
[0085] For example, for the OLED display panel 130, the receiving device 120 can determine whether the OLED display panel 130 is already operating at the target operating voltage. For the LCD display panel 130, the receiving device 120 can determine whether the backlight of the LCD display panel 130 is already operating at the target duty cycle.
[0086] If the display panel 130 is already operating at the target power level identified at block 604, no power level adjustment is required, and the process flow can be completed. In some embodiments, the process flow can restart at block 602 to continue receiving and processing the luminance metadata 104 of pending frames.
[0087] If the display panel 130 is not operating at the target power level, the process continues to block 608 to dynamically scale the power level of the display panel 130 to the target power level. In some embodiments, power level scaling may be performed jointly by TCON 122 and PMU 124 (e.g., PMU 124 may scale the power level in response to instruction 106 from TCON 122).
[0088] For example, for the OLED display panel 130, the receiving device 120 can scale the operating voltage of the OLED display panel 130 to a target operating voltage. For the LCD display panel 130, the receiving device 120 can scale the duty cycle of the backlight of the LCD display 130 to a target duty cycle (e.g., by scaling the frequency of the PWM duty cycle signal).
[0089] At this point, the process flow can be completed. However, in some embodiments, the process flow can restart at block 602 to continue receiving luminance metadata 104 of pending frames and dynamically scaling the power level of the display panel 130 as needed.
[0090] Figure 7 An example computing system 700 in which the techniques described herein can be implemented is shown. In some embodiments, such as system 700, system 700 may be used to implement system 100, processors 702, 704 may include CPU 116 and / or GPU 112, graphics engine 752 may include GPU 112 and / or display controller 114, and I / O device 764 may include display device (e.g., receiver device 120 and associated display panel 130).
[0091] generally, Figure 7 The components shown can communicate with other components shown, although not all connections are shown for ease of illustration. The computing system 700 is a multiprocessor system including a first processor unit 702 and a second processor unit 704, these processor units including point-to-point (PP) interconnects. The point-to-point (PP) interface 706 of the first processor unit 702 is coupled to the point-to-point interface 707 of the second processor unit 704 via a point-to-point interconnect 705. It should be understood that... Figure 7 Any or all point-to-point interconnects shown can alternatively be implemented as multipoint buses, and Figure 7 Any or all of the buses shown can be replaced by point-to-point interconnects.
[0092] The first processor unit 702 and the second processor unit 704 include multiple processor cores. The first processor unit 702 includes processor core 708, and the second processor unit 704 includes processor core 710. Processor cores 708 and 710 can be combined in a manner similar to the following... Figure 8 The method of discussion or other means of executing computer-executable instructions.
[0093] The first processor unit 702 and the second processor unit 704 further include cache memories 712 and 714, respectively. Cache memories 712 and 714 may store data (e.g., instructions) used by one or more components of the first processor unit 702 and the second processor unit 704 (e.g., processor cores 708 and 710). Cache memories 712 and 714 may be part of the memory hierarchy of the computing system 700. For example, cache memory 712 may locally store data also stored in first memory 716 to allow the first processor unit 702 to access data more quickly. In some embodiments, cache memories 712 and 714 may include multiple cache memories as part of a memory hierarchy. Cache memories in the memory hierarchy may be at different cache memory levels, such as level 1 (L1), level 2 (L2), level 3 (L3), level 4 (L4), or other cache memory levels. In some embodiments, cache memories at one or more levels (e.g., L2, L3, L4) may be shared between multiple cores in a processor unit or between multiple sub-processor units in an integrated circuit assembly. In some embodiments, the last-level cache memory in an integrated circuit assembly may be referred to as the last-level cache (LLC). One or more higher-level cache levels (smaller and faster cache memories) in the memory hierarchy may reside on the same integrated circuit die as the processor core, and one or more lower-level cache levels (larger and slower caches) may reside on one or more integrated circuit dies that are physically separate from the processor core integrated circuit die.
[0094] Although computing system 700 is shown as having two processor units, computing system 700 may include any number of processor units. Furthermore, processor units may include any number of processor cores. Processor units can take various forms, such as central processing unit (CPU), graphics processing unit (GPU), general-purpose GPU (GPGPU), accelerated processing unit (APU), field-programmable gate array (FPGA), neural network processing unit (NPU), data processing unit (DPU), accelerator (e.g., graphics accelerator, digital signal processor (DSP), compression accelerator, artificial intelligence (AI) accelerator), controller, or other types of processing units. Therefore, a processor unit may be referred to as an XPU (or xPU). Furthermore, a processor unit may include one or more of these various types of processing units. In some embodiments, the computing system includes a processor unit with multiple cores, while in other embodiments, the computing system includes a single processor unit with a single core. As used herein, the terms "processor unit" and "processing element" may refer to any processor, processor core, component, module, engine, circuit, or any other processing element described or referenced herein.
[0095] In some embodiments, computing system 700 may include one or more processor units that are heterogeneous or asymmetric to another processor unit in the computing system. There may be various differences between processing units in the system in terms of a range of quality metrics, including architecture, microarchitecture, thermal, power consumption characteristics, etc. These differences can be effectively manifested as asymmetry and heterogeneity between processor units in the system.
[0096] The first processor unit 702 and the second processor unit 704 may reside in a single integrated circuit assembly (such as a multi-chip package (MCP) or a multi-chip module (MCM)) or may reside in different integrated circuit assemblies. An integrated circuit assembly including one or more processor units may include additional components such as embedded DRAM, stacked high-bandwidth memory (HBM), shared cache memory (e.g., L3, L4, LLC), input / output (I / O) controllers, or memory controllers. Any additional component may reside on the same integrated circuit die as the processor unit, or on one or more integrated circuit dies separate from any integrated circuit die containing the processor unit. In some embodiments, these separate integrated circuit dies may be referred to as “chiplets.” In some embodiments, when there is heterogeneity or asymmetry between processor units in a computing system, the heterogeneity or asymmetry may exist between processor units located within the same integrated circuit assembly. In embodiments where the integrated circuit assembly includes multiple integrated circuit dies, interconnections between dies may be provided by a package substrate, one or more silicon interposers, one or more silicon bridges embedded in the package substrate (such as the Intel® Embedded Multi-Die Interconnect Bridge (EMIB)), or combinations thereof.
[0097] The first processor unit 702 further includes first memory controller logic (first MC 720), and the second processor unit 704 further includes second memory controller logic (second MC 722). Figure 7 As shown, a first memory 716 coupled to a first processor unit 702 is controlled by a first MC 720, and a second memory 718 coupled to a second processor unit 704 is controlled by a second MC 722. The first memory 716 and the second memory 718 may include various types of volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM)) and / or non-volatile memory (e.g., flash memory, chalcogenide-based phase-change non-volatile memory). The first memory 716 and the second memory 718 may include one or more layers of the memory hierarchy of the computing system. Although the first MC 720 and the second MC 722 are shown as integrated into the first processor unit 702 and the second processor unit 704, in alternative embodiments, the memory controller logic may be external to the processor unit.
[0098] First processor unit 702 and second processor unit 704 are coupled to input / output subsystem 730 (I / O subsystem) via point-to-point interconnects 732 and 734. Point-to-point interconnect 732 connects point-to-point interface 736 of first processor unit 702 to point-to-point interface 738 of input / output subsystem 730, and point-to-point interconnect 734 connects point-to-point interface 740 of second processor unit 704 to point-to-point interface 742 of input / output subsystem 730. Input / output subsystem 730 also includes interface 750 for coupling input / output subsystem 730 to graphics engine 752. Input / output subsystem 730 and graphics engine 752 are coupled via bus 754.
[0099] The input / output subsystem 730 is also coupled to a first bus 760 via an interface 762. The first bus 760 may be a Fast Peripheral Component Interconnect (PCIe) bus or any other type of bus. Various I / O devices 764 may be coupled to the first bus 760. A bus bridge 770 may couple the first bus 760 to a second bus 780. In some embodiments, the second bus 780 may be a low pin count (LPC) bus. Various devices may be coupled to the second bus 780, including, for example, a keyboard / mouse 782, an audio I / O device 788, and a storage device 790 (such as a hard disk drive, a solid-state drive, or another storage device for storing computer-executable instructions (or code 792) or data). Code 792 may include computer-executable instructions for performing the methods described herein. Additional components that can be coupled to the second bus 780 include one or more communication devices 784 that can provide communication between the computing system 700 and one or more wired or wireless networks 786 (e.g., Wi-Fi, cellular, or satellite networks) via one or more wired or wireless communication links (e.g., wires, cables, Ethernet connections, radio frequency (RF) channels, infrared channels, Wi-Fi channels) using one or more communication standards (e.g., IEEE 502.11 standard and its supplements).
[0100] In embodiments where one or more communication devices 784 support wireless communication, the one or more communication devices 784 may include a wireless communication component coupled to one or more antennas to support communication between the computing system 700 and external devices. The wireless communication component may support various wireless communication protocols and technologies, such as Near Field Communication (NFC), IEEE 1002.11 (Wi-Fi) variants, WiMax, Bluetooth, Zigbee, 4G Long Term Evolution (LTE), Code Division Multiple Access (CDMA), Universal Mobile Telecommunications System (UMTS), and Global System for Mobile Communications (GSM), as well as 5G broadband cellular technology. Furthermore, the wireless modem may support communication with one or more cellular networks for data and voice communication within a single cellular network, between cellular networks, or between the computing system and the Public Switched Telephone Network (PSTN).
[0101] The computing system 700 may include removable storage, such as a flash memory card (e.g., an SD (Secure Digital) card), a memory stick, or a Subscriber Identity Module (SIM) card. The memory in the computing system 700 (including cache memories 712 and 714, a first memory 716, a second memory 718, and a storage device 790) may store data and / or computer-executable instructions for executing an operating system 794 and applications 796. Example data includes web pages, text messages, images, sound files, and video data, which will be sent by the computing system 700 to and / or received from one or more network servers or other devices via one or more wired or wireless networks 786, or used by the computing system 700. The computing system 700 may also access external storage or storage devices (not shown), such as external hard drives or cloud-based storage devices.
[0102] Operating system 794 can control Figure 7 The components shown are assigned and used, and support application 796. Application 796 may include common computing system applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications) as well as other computing applications, such as multimedia applications (e.g., for video playback / streaming).
[0103] In some embodiments, the hypervisor (or virtual machine manager) runs on operating system 794, and application 796 runs within one or more virtual machines running on the hypervisor. In these embodiments, the hypervisor is a type 2 or managed hypervisor running on operating system 794. In other hypervisor-based embodiments, the hypervisor is a type 1 or “bare-metal” hypervisor running directly on the platform resources of computing system 700, without an intermediate operating system layer.
[0104] In some embodiments, application 796 may run within one or more containers. A container is a running instance of a container image, which is a binary image package of one or more applications 796 along with any libraries, configuration settings, and any other information required for the execution of application 796. Container images may conform to any container image format, such as Docker®, Appc, or LXC container image formats. In container-based embodiments, a container runtime engine (such as the Docker engine, LXU) or an Open Container Initiative (OCI) compliant container runtime (e.g., Railcar, CRI-O) runs on an operating system (or virtual machine monitor) to provide an interface between the container and the operating system 794. An orchestrator may be responsible for managing computing system 700 and various container-related tasks, such as deploying container images to computing system 700, monitoring the performance of deployed containers, and monitoring the utilization of resources on computing system 700.
[0105] The computing system 700 can support various additional input devices 764, such as touchscreens, microphones, single-field-of-view cameras, stereo cameras, trackballs, touchpads, trackpads, proximity sensors, light sensors, electrocardiogram (ECG) sensors, PPG (photoplethysmography) sensors, and conductance of skin sensors, and can support one or more output devices 764, such as one or more speakers or displays. Other possible input and output devices 764 include piezoelectric and other tactile I / O devices. Any input or output device can be connected to the computing system 700 internally, externally, or detachably. External input and output devices can communicate with the computing system 700 via wired or wireless connections.
[0106] Furthermore, the computing system 700 may provide one or more natural user interfaces (NUIs). For example, the operating system 794 or application 796 may include speech recognition logic as part of a voice user interface that allows users to operate the computing system 700 via voice commands. Additionally, the computing system 700 may include input devices and logic that allow users to interact with the computing system 700 via body, hand, or facial gestures.
[0107] The computing system 700 may also include at least one input / output port, which includes a physical connector (e.g., USB, FireWire, Ethernet, RS-232), a power source (e.g., a battery), a Global Navigation Satellite System (GNSS) receiver (e.g., a GPS receiver), a gyroscope, an accelerometer, and / or a compass. The GNSS receiver may be coupled to a GNSS antenna. The computing system 700 may also include one or more additional antennas coupled to one or more additional receivers, transmitters, and / or transceivers to enable additional functionality.
[0108] In addition to those already discussed, the integrated circuit components, integrated circuit constituent components, and other components in the computing system 700 can communicate via interconnect technologies such as Intel® Quick Path Interconnect (QPI), Intel® Hyper Path Interconnect (UPI), Computer Fast Link (CXL), Accelerator Cache Coherent Interconnect (CCIX®), Serializer / Deserializer (SERDES), Nvidia® NVLink, ARM Infinite Link, Gen-Z, or Open Coherent Accelerator Processor Interface (OpenCAPI). Other interconnect technologies may be used, and the computing system 700 may utilize more or fewer interconnect technologies.
[0109] It should be understood that Figure 7 Only one example computing system architecture is shown. Computing systems based on alternative architectures can be used to implement the techniques described herein. For example, instead of the first processor unit 702, the second processor unit 704, and the graphics engine 752 residing on discrete integrated circuit dies, the computing system can include a SoC (System-on-a-Chip) integrated circuit die, on which multiple processors, a graphics engine, and additional components are integrated. Furthermore, the computing system can be connected via... Figure 7 Different bus or point-to-point configurations are shown to connect their constituent components. Furthermore, Figure 7 The components shown are not essential or all-encompassing, as in alternative embodiments, the shown components may be removed and other components may be added.
[0110] Figure 8 An example processor unit 800 is shown that executes computer-executable instructions as part of implementing the techniques described herein. In some embodiments, for example, processor unit 800 may include a CPU 116 and / or a GPU 112.
[0111] Processor unit 800 can be a single-threaded core or a multi-threaded core, because each processor unit can include more than one hardware thread context (or "logical processor").
[0112] Figure 8 Memory 810 coupled to processor unit 800 is also shown. Memory 810 may be any memory described herein or any other memory known to those skilled in the art. Memory 810 may store computer-executable instructions 815 (code) executable by processor unit 800.
[0113] The processor unit includes front-end logic 820, which receives instructions from memory 810. Instructions can be processed by one or more decoders 830. One or more decoders 830 can generate micro-operations, such as fixed-width micro-operations in a predefined format, as their output, or generate other instructions, micro-instructions, or control signals that reflect the original code instructions. Front-end logic 820 also includes register renaming logic 835 and scheduling logic 840, which typically allocate and translate instructions for execution of corresponding resource and queue operations.
[0114] Processor unit 800 also includes execution logic 850, which includes one or more execution units (EUs) (execution units 865-1 to 865-N). Some processor unit embodiments may include multiple execution units dedicated to a specific function or set of functions. Other embodiments may include only one execution unit or a single execution unit capable of performing a specific function. Execution logic 850 executes the operations specified by code instructions. After the execution of the operations specified by the code instructions is completed, back-end logic 870 uses retirement logic 875 to retire the instructions. In some embodiments, processor unit 800 allows out-of-order execution but requires sequential retirement instructions. Retirement logic 875 may take various forms known to those skilled in the art (e.g., reordering buffers, etc.).
[0115] Processor unit 800 is translated during instruction execution, at least in terms of the output generated by one or more decoders 830, the hardware registers and tables used by register renaming logic 835, and any registers (not shown) modified by execution logic 850.
[0116] Any disclosed method (or a portion thereof) may be implemented as computer-executable instructions or a computer program product. Such instructions may cause a computing system or one or more processor units capable of executing computer-executable instructions to perform any disclosed method. As used herein, the term "computer" means any computing system, device, or machine described or mentioned herein, and any other computing system, device, or machine capable of executing instructions. Therefore, the term "computer-executable instructions" means instructions that can be executed by any computing system, device, or machine described or mentioned herein, and any other computing system, device, or machine capable of executing instructions.
[0117] Computer-executable instructions or computer program products, and any data created and / or used during the implementation of the disclosed techniques, may be stored on one or more tangible or non-transitory computer-readable storage media, such as volatile memory (e.g., DRAM, SRAM), non-volatile memory (e.g., flash memory, chalcogenide-based phase-change non-volatile memory), optical media disks (e.g., DVDs, CDs), and magnetic storage devices (e.g., magnetic tape storage devices, hard disk drives). The computer-readable storage media may be included in computer-readable storage devices, such as solid-state drives, USB flash drives, and memory modules. Alternatively, any method (or part thereof) disclosed herein may be performed by hardware components including non-programmable circuitry. In some embodiments, any method herein may be performed by a combination of non-programmable hardware components and one or more processing units that execute computer-executable instructions stored on a computer-readable storage medium.
[0118] Computer-executable instructions can be, for example, part of the operating system of a computing system, an application stored locally on the computing system, or a remote application accessible to the computing system (e.g., via a web browser). Any method described herein can be executed by computer-executable instructions that are executed by a single computing system or by one or more networked computing systems operating in a network environment. Computer-executable instructions and their updates can be downloaded to the computing system from a remote server.
[0119] Furthermore, it should be understood that the implementation of the disclosed technology is not limited to any particular computer language or program. For example, the disclosed technology can be implemented using software written in C++, C#, Java, Perl, Python, JavaScript, Adobe Flash, C#, assembly language, or any other programming language. Similarly, the disclosed technology is not limited to any particular computer system or hardware type.
[0120] Furthermore, any software-based implementation (including, for example, computer-executable instructions for causing a computer to perform any disclosed method) can be uploaded, downloaded, or remotely accessed via suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, intranets, cable (including fiber optic cables), magnetic communication, electromagnetic communication (including RF, microwave, ultrasonic, and infrared communication), electronic communication, or other such communication means.
[0121] While the concepts of this disclosure are readily adaptable to various modifications and alternatives, specific embodiments thereof have been illustrated by way of example in the accompanying drawings and described in detail herein. However, it should be understood that the concepts of this disclosure are not intended to be limited to the specific forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives consistent with this disclosure and the appended claims.
[0122] The concepts described herein are illustrated in the accompanying drawings by way of example rather than limitation. For simplicity and clarity of illustration, the elements shown in the drawings are not necessarily drawn to scale. Where appropriate, reference labels are repeated in the drawings to indicate corresponding or similar elements.
[0123] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Instead, in some embodiments, such features may be arranged in a different manner and / or order than those shown in the illustrative drawings. Furthermore, the inclusion of a structural or methodological feature in a particular drawing does not mean that such a feature is required in all embodiments, and in some embodiments, such a feature may not be included or may be combined with other features.
[0124] References to "an embodiment," "embodiment," and "illustrative embodiment" in the specification indicate that the described embodiment may include a particular feature, structure, or characteristic, but each embodiment may or may not include that particular feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed that implementing that feature, structure, or characteristic in conjunction with other embodiments (whether explicitly described or not) is within the knowledge of those skilled in the art.
[0125] A list of items connected by the term "and / or" can represent any combination of the listed items. For example, the phrase "A, B, and / or C" can mean A; B; C; A and B; A and C; B and C; or A, B, and C. A list of items connected by the term "at least one of..." can represent any combination of the listed items. For example, the phrase "at least one of A, B, or C" can mean A; B; C; A and B; A and C; B and C; or A, B, and C. Furthermore, a list of items connected by the term "one or more of..." can represent any combination of the listed items. For example, the phrase "one or more of A, B, and C" can mean A; B; C; A and B; A and C; B and C; or A, B, and C.
[0126] The technologies described herein can be executed or implemented by any of a variety of computing systems, including mobile computing systems (e.g., smartphones, handheld computers, tablets, laptops, portable game consoles, 2-in-1 convertible computers, portable all-in-ones), non-mobile computing systems (e.g., desktop computers, servers, workstations, stationary game consoles, set-top boxes, smart TVs, rack-mount computing solutions (e.g., blade, tray, or sled computing systems)), and embedded computing systems (e.g., computing systems that are part of vehicles, smart home appliances, consumer electronics products or equipment, or manufacturing equipment).
[0127] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored thereon on or on transient or non-transient machine-readable (e.g., computer-readable) storage media or multiple machine-readable storage media, which may be read and executed by one or more machines (e.g., computers, processors, etc.). Machine-readable storage media may embody any storage device, mechanism, or other physical structure for storing or transmitting information in a machine-readable form (e.g., volatile or non-volatile memory, media disks, or other media devices).
[0128] Example The following examples illustrate embodiments of the techniques disclosed herein.
[0129] Example 1 includes an electronic device comprising: a display panel; and control circuitry for receiving a frame sequence, wherein the frame sequence includes a plurality of frames to be sequentially displayed on the display panel; and dynamically adjusting the power level of the display panel based on brightness data of the frame sequence.
[0130] Example 2 includes the electronic device of Example 1, wherein the control circuit for dynamically adjusting the power level of the display panel based on the brightness data of the frame sequence is further configured to: determine whether a high dynamic range (HDR) mode is enabled; and when it is determined that the HDR mode is enabled, dynamically adjust the power level of the display panel based on the brightness data of the frame sequence.
[0131] Example 3 includes an electronic device of any one of Examples 1 to 2, wherein: the power level includes the operating voltage of the display panel; and the control circuit for dynamically adjusting the power level of the display panel based on the brightness data of the frame sequence is further configured to: dynamically adjust the operating voltage of the display panel based on the brightness data of the frame sequence.
[0132] Example 4 includes the electronic device of Example 3, wherein the display panel is an organic light-emitting diode (OLED) display panel.
[0133] Example 5 includes an electronic device of any one of Examples 1 to 2, wherein: the power level includes the duty cycle of the display panel; and the control circuit that dynamically adjusts the power level of the display panel based on the brightness data of the frame sequence is further configured to: dynamically adjust the duty cycle of the display panel based on the brightness data of the frame sequence.
[0134] Example 6 includes the electronic device of Example 5, wherein the duty cycle includes the pulse width modulation (PWM) duty cycle of the backlight of the display panel.
[0135] Example 7 includes the electronic device of Example 6, wherein the display panel is a liquid crystal display (LCD) display panel.
[0136] Example 8 includes an electronic device of any one of Examples 1 to 7, wherein the brightness data indicates the maximum pixel brightness of the frame sequence.
[0137] Example 9 includes the electronic device of Example 8, wherein the brightness data further indicates the maximum pixel brightness of a scrolling frame window, wherein the scrolling frame window includes one or more pending frames to be displayed next in the frame sequence.
[0138] Example 10 includes an electronic device of any one of Examples 8 to 9, wherein the brightness data further indicates the content type of the frame sequence.
[0139] Example 11 includes an electronic device of any one of Examples 1 to 10, wherein the control circuitry includes a timing controller.
[0140] Example 12 includes the electronic device of Example 11, wherein the control circuitry further includes a power management unit.
[0141] Example 13 includes an electronic device of any one of Examples 1 to 12, and further includes an interface circuit, wherein the control circuit for receiving the frame sequence is further configured to: receive the frame sequence and the brightness data from a display controller via the interface circuit.
[0142] Example 14 includes the electronic device of Example 13, wherein the display controller is included in a graphics processing unit (GPU).
[0143] Example 15 includes a system comprising: a source circuit for sending a plurality of frames and brightness data of the plurality of frames to a destination circuit, wherein the plurality of frames will be displayed sequentially on a display panel; and the destination circuit for receiving the plurality of frames and the brightness data from the source circuit, dynamically adjusting the voltage of the display panel based on the brightness data of the plurality of frames, and causing the plurality of frames to be displayed sequentially on the display panel.
[0144] Example 16 includes the system of Example 15, wherein the sink circuit for dynamically adjusting the voltage of the display panel based on the brightness data of the plurality of frames is further configured to: determine whether a high dynamic range (HDR) mode is enabled; and, when it is determined that the HDR mode is enabled, dynamically adjust the voltage of the display panel based on the brightness data of the plurality of frames.
[0145] Example 17 includes a system of any one of Examples 15 to 16, wherein: the voltage includes the operating voltage of the display panel, wherein the display panel is an organic light-emitting diode (OLED) display panel; or, the voltage includes the average voltage of the backlight of the display panel, wherein the average voltage is based on the duty cycle of the backlight of the display panel, wherein the display panel is a liquid crystal display (LCD) display panel.
[0146] Example 18 includes a system of any one of Examples 15 to 17, wherein the luminance data indicates the maximum pixel luminance of one or more of the plurality of frames.
[0147] Example 19 includes the system of Example 18, wherein the luminance data further indicates the content type of one or more of the plurality of frames.
[0148] Example 20 includes the system of Example 19, wherein the source circuitry is further configured to determine at least one of the maximum pixel brightness or the content type.
[0149] Example 21 includes the system of Example 20, wherein the source circuitry includes a graphics processing unit (GPU) and a display controller, wherein: the GPU is configured to determine at least one of the maximum pixel brightness or the content type; and the display controller is configured to send the plurality of frames and the brightness data to the destination circuitry.
[0150] Example 22 includes the system of Example 21, wherein the display controller is included in the GPU.
[0151] Example 23 includes a system of any one of Examples 15 to 22, wherein the sink circuitry includes a timing controller and a power management unit.
[0152] Example 24 includes the system of Example 23, wherein the sink circuit further includes the display panel.
[0153] Example 25 includes a method comprising: receiving a plurality of frames via an interface circuit, wherein the plurality of frames will be sequentially displayed on a display panel; and continuously adjusting the power level of the display panel based on luminance data of one or more pending frames, wherein the one or more pending frames are the next frames to be displayed among the plurality of frames.
[0154] Example 26 includes the method of Example 25, wherein continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames includes: determining whether a high dynamic range (HDR) mode is enabled; and when it is determined that the HDR mode is enabled, continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames.
[0155] Example 27 includes the method of any one of Examples 25 to 26, wherein: the power level includes the operating voltage of the display panel; and continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames includes: continuously adjusting the operating voltage of the display panel based on luminance data of the one or more pending frames.
[0156] Example 28 includes the method of Example 27, wherein the display panel is an organic light-emitting diode (OLED) display panel.
[0157] Example 29 includes the method of any one of Examples 25 to 26, wherein: the power level includes the duty cycle of the display panel; and continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames includes: continuously adjusting the duty cycle of the display panel based on luminance data of the one or more pending frames.
[0158] Example 30 includes the method of Example 29, wherein the duty cycle includes the pulse width modulation (PWM) duty cycle of the backlight of the display panel.
[0159] Example 31 includes the method of Example 30, wherein the display panel is a liquid crystal display (LCD) display panel.
[0160] Example 32 includes the method of any one of Examples 25 to 31, wherein the luminance data indicates the maximum pixel luminance of the one or more pending frames.
[0161] Example 33 includes the method of Example 32, and further includes: determining the maximum pixel brightness of the one or more pending frames.
[0162] Example 34 includes the method of any one of Examples 25 to 33, wherein the luminance data indicates the content type of the one or more pending frames.
[0163] Example 35 includes the method of Example 34, and further includes: determining the content type of the one or more pending frames.
[0164] Example 36 includes one or more computer-readable storage media storing computer-executable instructions that, when executed, cause a computer to perform a method comprising: receiving a plurality of frames via interface circuitry, wherein the plurality of frames will be displayed sequentially on a display panel; and continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames, wherein the one or more pending frames are the next frame to be displayed among the plurality of frames.
[0165] Example 37 includes one or more computer-readable storage media of Example 36, wherein continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames includes: determining whether a high dynamic range (HDR) mode is enabled; and, when it is determined that the HDR mode is enabled, continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames.
[0166] Example 38 includes one or more computer-readable storage media of any one of Examples 36 to 37, wherein: the power level includes the operating voltage of the display panel; and continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames includes: continuously adjusting the operating voltage of the display panel based on luminance data of the one or more pending frames.
[0167] Example 39 includes one or more computer-readable storage media of Example 38, wherein the display panel is an organic light-emitting diode (OLED) display panel.
[0168] Example 40 includes one or more computer-readable storage media of any one of Examples 36 to 37, wherein: the power level includes the duty cycle of the display panel; and continuously adjusting the power level of the display panel based on luminance data of the one or more pending frames includes: continuously adjusting the duty cycle of the display panel based on luminance data of the one or more pending frames.
[0169] Example 41 includes one or more computer-readable storage media of Example 40, wherein the duty cycle includes the pulse width modulation (PWM) duty cycle of the backlight of the display panel.
[0170] Example 42 includes one or more computer-readable storage media of Example 41, wherein the display panel is a liquid crystal display (LCD) display panel.
[0171] Example 43 includes one or more computer-readable storage media of any one of Examples 36 to 42, wherein the luminance data indicates the maximum pixel luminance of the one or more pending frames.
[0172] Example 44 includes one or more computer-readable storage media of Example 43, and further includes: determining the maximum pixel brightness of the one or more pending frames.
[0173] Example 45 includes one or more computer-readable storage media of any one of Examples 36 to 44, wherein the luminance data indicates the content type of the one or more pending frames.
[0174] Example 46 includes one or more computer-readable storage media of Example 45, and further includes: determining the content type of the one or more pending frames.
[0175] Example 47 includes one or more computer-readable storage media storing computer-executable instructions that, when executed, cause a computer to perform the method of any one of Examples 25 to 35.
[0176] Example 48 includes an apparatus that includes means for performing the method of any one of Examples 25 to 35.
[0177] Example 49 includes a system comprising means for performing the method of any one of Examples 25 to 35.
Claims
1. An electronic device, comprising: Display panel; and Control circuit, used for: Receive a frame sequence, wherein the frame sequence includes a plurality of frames to be displayed sequentially on the display panel; and The power level of the display panel is dynamically adjusted based on the brightness data of the frame sequence.
2. The electronic device according to claim 1, wherein, The control circuit for dynamically adjusting the power level of the display panel based on the brightness data of the frame sequence is also used for: Determine whether High Dynamic Range (HDR) mode is enabled; and When it is determined that HDR mode is enabled, the power level of the display panel is dynamically adjusted based on the brightness data of the frame sequence.
3. The electronic device according to any one of claims 1 to 2, wherein: The power level includes the operating voltage of the display panel; and The control circuit for dynamically adjusting the power level of the display panel based on the brightness data of the frame sequence is also used for: The operating voltage of the display panel is dynamically adjusted based on the brightness data of the frame sequence.
4. The electronic device according to claim 3, wherein, The display panel is an organic light-emitting diode (OLED) display panel.
5. The electronic device according to any one of claims 1 to 2, wherein: The power level includes the duty cycle of the display panel; and The control circuit for dynamically adjusting the power level of the display panel based on the brightness data of the frame sequence is also used for: The duty cycle of the display panel is dynamically adjusted based on the brightness data of the frame sequence.
6. The electronic device according to claim 5, wherein, The duty cycle includes the pulse width modulation (PWM) duty cycle of the backlight of the display panel.
7. The electronic device according to claim 6, wherein, The display panel is a liquid crystal display (LCD) display panel.
8. The electronic device according to any one of claims 1 to 7, wherein, The brightness data indicates the maximum pixel brightness of the frame sequence.
9. The electronic device according to claim 8, wherein, The brightness data also indicates the maximum pixel brightness of the scrolling frame window, which includes one or more pending frames to be displayed next in the frame sequence.
10. The electronic device according to any one of claims 8 to 9, wherein, The brightness data also indicates the content type of the frame sequence.
11. A system comprising: A source circuit is used to send multiple frames and brightness data of the multiple frames to a destination circuit, wherein the multiple frames will be displayed sequentially on a display panel; and The receiving circuit is used for: Receive the plurality of frames and the brightness data from the source circuit; The voltage of the display panel is dynamically adjusted based on the brightness data of the multiple frames; and The multiple frames are displayed sequentially on the display panel.
12. The system according to claim 11, wherein: The voltage includes the operating voltage of the display panel, wherein the display panel is an organic light-emitting diode (OLED) display panel; or The voltage includes the average voltage of the backlight of the display panel, wherein the average voltage is based on the duty cycle of the backlight of the display panel, wherein the display panel is a liquid crystal display (LCD) display panel.
13. The system according to any one of claims 11 to 12, wherein, The brightness data indicates the maximum pixel brightness of one or more of the plurality of frames.
14. The system according to claim 13, wherein, The brightness data also indicates the content type of one or more of the plurality of frames.
15. The system according to claim 14, wherein, The source circuit is also used to determine at least one of the maximum pixel brightness or the content type.
16. The system according to claim 15, wherein, The source circuitry includes a graphics processing unit (GPU) and a display controller, wherein: The GPU is used to determine at least one of the maximum pixel brightness or the content type; and The display controller is used to send the multiple frames and the brightness data to the receiver circuit.
17. The system according to any one of claims 11 to 16, wherein, The receiver circuit includes a timing controller and a power management unit.
18. A method comprising: Multiple frames are received via an interface circuit, wherein the multiple frames will be displayed sequentially on a display panel; and The power level of the display panel is continuously adjusted based on the luminance data of one or more pending frames, wherein the one or more pending frames are the next frames to be displayed among the plurality of frames.
19. The method according to claim 18, wherein, Continuously adjusting the power level of the display panel based on the brightness data of one or more pending frames includes: Determine whether High Dynamic Range (HDR) mode is enabled; and When it is determined that HDR mode is enabled, the power level of the display panel is continuously adjusted based on the luminance data of the one or more pending frames.
20. The method according to any one of claims 18 to 19, wherein: The power level includes the operating voltage of the display panel; and Continuously adjusting the power level of the display panel based on the brightness data of one or more pending frames includes: The operating voltage of the display panel is continuously adjusted based on the brightness data of one or more pending frames.
21. The method according to any one of claims 18 to 19, wherein: The power level includes the duty cycle of the display panel; and Continuously adjusting the power level of the display panel based on the brightness data of one or more pending frames includes: The duty cycle of the display panel is continuously adjusted based on the luminance data of one or more pending frames.
22. The method according to claim 21, wherein, The duty cycle includes the pulse width modulation (PWM) duty cycle of the backlight of the display panel.
23. The method according to any one of claims 18 to 22, wherein, The luminance data indicates the maximum pixel brightness of the one or more pending frames.
24. The method according to any one of claims 18 to 23, wherein, The luminance data indicates the content type of the one or more pending frames.
25. The method of claim 24, further comprising: Determine the content type of the one or more pending frames.