Systems and methods for intelligent adjustment of immersive multimedia workloads in portable computing devices
Patent Information
- Application Number
- CN202211582618.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-05-11
- Filing Date
- 2018-05-09
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2038-05-09
AI Technical Summary
实际上,在沉浸式多媒体用例中,造成帧丢失和/或降低的帧速率的处理带宽的减少可能使用户出现晕动症
[0011]有利地,通过调整热侵害处理组件的不会直接地或至少不会显著地影响针对沉浸式多媒体用例的Ux的参数设置,即不会对运动到光子延时和/或帧速率产生负面影响的参数,该解决方案的实施例致力于降低功耗并且减轻热能产生,而不会面临严重地或过度地影响针对沉浸式多媒体内容的Ux的热缓解动作的风险。
Smart Images

Figure CN115729336B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese patent application No. 201880030691.6, filed on May 9, 2018, entitled "System and method for intelligent adjustment of immersive multimedia workloads in portable computing devices". Background Technology
[0002] Portable computing devices (“PCDs”) are becoming necessities for people both personally and professionally. These devices can include cellular phones, portable digital assistants (“PDAs”), portable game consoles, handheld computers, and other portable electronic devices.
[0003] A unique aspect of PCDs is that they typically lack active cooling devices such as fans, which are often found in larger computing devices such as laptops and desktop computers. Instead of using fans, PCDs can rely on the spatial arrangement of the electronic package to prevent two or more active and heat-generating components from being placed adjacent to each other. Many PCDs may also rely on passive cooling devices such as heat sinks to manage heat between the electronic components that together form the respective PCD.
[0004] The reality is that PCDs are typically size-constrained, and therefore, space for components within a PCD is often extremely valuable. Consequently, there is rarely enough space within a PCD for engineers and designers to mitigate thermal degradation or failure of processing components through clever or strategic placement of passive cooling components. Therefore, current systems and methods rely on various temperature sensors embedded on and elsewhere in the PCD chip to monitor heat dissipation, and then use these measurements to trigger the application of thermal power management techniques that adjust workload distribution, processing speed, etc., to reduce heat generation.
[0005] For example, under the heavy processing workloads associated with immersive multimedia gaming use cases (e.g., virtual reality or augmented reality use cases), current systems and methods throttle the voltage and frequency of multiple components to keep them within the total power budget to prevent excessive heat generation. In doing so, instead of reducing the processing workload associated with immersive multimedia gaming use cases, they slow down the rate at which the workload is processed. An inevitable result is that excessive heat generation is avoided at the expense of user experience ("Ux") as measured by user-perceived Quality of Service ("QoS"). In fact, in immersive multimedia use cases, the reduction in processing bandwidth that causes frame loss and / or reduced frame rates can cause motion sickness in users. Thus, current systems and methods for mitigating excessive heat generation in the processing components of a PCD when subjected to immersive multimedia use cases are inadequate.
[0006] Therefore, there is a need in the art for systems and methods for intelligent immersive multimedia workload tuning in PCD. More specifically, there is a need in the art for systems and methods that manage immersive multimedia workloads in PCD by selectively adjusting component performance settings to avoid frame loss and / or harmful frame rate reduction. Summary of the Invention
[0007] Various embodiments of methods and systems for intelligently adjusting immersive multimedia workloads (such as virtual reality (“VR”) or augmented reality (“AR”) workloads) in portable computing devices (“PCDs”) are disclosed. Exemplary embodiments monitor one or more performance metrics, including motion-to-photon delay associated with the immersive multimedia workload. One or more thermal sensors may also be monitored, wherein readings from the one or more thermal sensors can be used to indicate thermal energy generation in the PCD. This exemplary method can determine the likelihood of thermal events in the PCD based on readings from the one or more thermal sensors.
[0008] It is worth noting that because thermal events may trigger thermal mitigation measures (among other measures), which reduce the processing speed of various processing components actively handling immersive multimedia workloads, thereby increasing the likelihood of frame loss or frame rate reduction that seriously affects the user's experience of immersive multimedia content ("Ux"), exemplary embodiments of the solution may attempt to take preemptive measures that mitigate the likelihood of future thermal events or completely avoid them.
[0009] After determining the likelihood of a future thermal event, an exemplary embodiment can identify the thermal damage treatment component based on power rail measurements associated with it in the PCD. Next, and based on the relative likelihood of the thermal event, the method can identify performance parameters associated with the thermal damage treatment component and then adjust the settings of the identified performance parameters to reduce the power requirements of the thermal damage treatment component. In doing so, the method can reduce the likelihood of a thermal event while ensuring that motion-to-photon delay is optimized and / or remains optimized.
[0010] Performance parameters that can be adjusted according to embodiments of the solution include, but are not limited to: eye buffer resolution, eye buffer MSAA, time warp CAC, eye buffer FPS, display FPS, time warp output resolution, texture LOD, 6DOF camera FPS, and fovea size.
[0011] Advantageously, by adjusting the parameter settings of the thermal damage processing components that do not directly or at least not significantly affect the Ux for immersive multimedia use cases—that is, parameters that do not negatively impact motion-to-photon latency and / or frame rate—implementations of this solution aim to reduce power consumption and mitigate heat generation without risking severe or excessive impact on the thermal mitigation actions of the Ux for immersive multimedia content. Attached Figure Description
[0012] In the accompanying drawings, unless otherwise indicated, similar reference numerals refer to similar parts throughout the various views. For reference numerals with letter names such as "102A" or "102B", the letter names can distinguish two similar parts or elements appearing in the same drawing. When the aim is to have reference numerals cover all parts with the same reference numerals in all drawings, the letter names of the reference numerals may be omitted.
[0013] Figure 1 A portable computing device (“PCD”) configured and programmed to present immersive multimedia output is shown coupled to an exemplary virtual reality headset that enables a user to perceive the immersive multimedia output.
[0014] Figure 2 This is a functional block diagram illustrating an embodiment of a system-on-a-chip (SoC) for intelligent management of immersive multimedia workloads in a portable computing device (“PCD”) by selectively adjusting component performance settings to avoid frame loss and / or harmful frame rate reduction.
[0015] Figure 3 An exemplary record is shown showing adjustable performance settings and their relative impact on the power consumption of an exemplary processing component operating according to an immersive multimedia workload.
[0016] Figure 4A , Figure 4B , Figure 4C and Figure 4D Exemplary distribution graphs are shown for exemplary GPU processing components for a given immersive multimedia use case, with each distribution graph illustrating the relationship between performance settings, user experience associated with those settings, and power consumption associated with those settings.
[0017] Figure 5 A logic flowchart is depicted, illustrating a method for intelligently managing immersive multimedia workloads in portable computing devices (“PCDs”) by selectively adjusting component performance settings to avoid frame loss and / or harmful frame rate reduction.
[0018] Figure 6It is shown in the form of a wireless telephone. Figure 1 and 2 An exemplary non-limiting functional block diagram of a PCD for implementing methods and systems for intelligent management of immersive multimedia workloads; and
[0019] Figure 7 It is shown Figure 6 A schematic diagram of an exemplary software architecture for PCD used for intelligent management of immersive multimedia workloads. Detailed Implementation
[0020] The term “exemplary” as used herein means “serving as an example, instance, or illustration.” Any aspect described as “exemplary” in this document is not necessarily to be construed as exclusive, preferred over, or superior to other aspects.
[0021] In this description, the term "application" may also include files containing executable content (such as object code, scripts, bytecode, markup language files, and patches). Additionally, the term "application" as used herein may also include files that are not inherently executable (such as documents that may need to be opened or other data files that need to be accessed).
[0022] As used in this description, the terms “component,” “database,” “module,” “system,” “heat-generating component,” “processing component,” etc., are intended to refer to a computer-related entity that is either hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an executing thread, a program, and / or a computer. By way of illustration, both an application running on a computing device and the computing device itself can be components. One or more components may reside in a process and / or an executing thread, and components may be located in one computer and / or distributed across two or more computers. Furthermore, these components can be executed from various computer-readable media having various data structures stored thereon. Components can communicate, for example, via local and / or remote processes, through signals containing one or more data packets (e.g., data from a component interacting with another component in a local system, a distributed system, and / or interacting with other systems via signals across a network such as the Internet).
[0023] In this description, the terms “central processing unit (“CPU”), “digital signal processor (“DSP”), “graphics processing unit (“GPU”), and “chip” are used to refer to exemplary processing components that can handle workloads suitable for immersive multimedia applications. Furthermore, a CPU, DSP, GPU, or chip may include one or more different processing components commonly referred to herein as a “core.” Additionally, as CPUs, DSPs, GPUs, chips, or cores are functional components within a PCD that consume various levels of power to operate at various levels of functional efficiency, those skilled in the art will recognize that the use of these terms does not limit the application of the disclosed embodiments or their equivalents to the context of processing components within a PCD.
[0024] In this description, it will be understood that the term "heat" or "thermal energy" may be used in association with a device or component capable of generating or dissipating energy that can be measured in units of "temperature". Therefore, it will be further understood that the term "temperature" with reference to a certain standard value is expected to indicate any measurement of the relative warmth or lack of heat in a device or component generating "thermal energy". For example, when two components are in "thermal" equilibrium, the "temperature" of the two components is the same.
[0025] In this description, the terms “workload,” “processing load,” “processing workload,” “use case workload,” “immersive multimedia workload,” “VR workload,” etc., are used interchangeably and generally refer to the processing burden or percentage of processing burden associated with a given processing component in a given embodiment.
[0026] In this description, the terms "thermal mitigation technology," "thermal strategy," "thermal power management," "thermal mitigation measures," and "restraint" are used interchangeably. It is noteworthy that those skilled in the art will recognize that, depending on the specific context of use, any term listed in this paragraph can be used to describe hardware and / or software operable to improve performance at the expense of thermal energy generation, reduce thermal energy generation at the expense of performance, or alternate between these objectives.
[0027] In this description, the term "portable computing device" ("PCD") is used to describe any device that operates on a power source with limited capacity, such as a battery. While battery-powered PCDs have been in use for decades, technological advancements in rechargeable batteries, coupled with the advent of third-generation ("3G") and fourth-generation ("4G") wireless technologies, have enabled a wide variety of PCDs with diverse capabilities. Therefore, a PCD can be a cellular phone, satellite phone, pager, PDA, smartphone, navigation device, smartbook or e-reader, media player, a combination of the above, a laptop computer with wireless connectivity, and so on.
[0028] This document uses the term "use case" to refer to the instantaneous state of PCD operation when delivering immersive multimedia functionality to a user. Inevitably, immersive multimedia use cases are associated with the PCD's execution of one or more applications, such as virtual reality gaming applications. Therefore, it will be understood that any given use case indicates that one or more components in the PCD are actively consuming power and delivering functionality. It is worth noting that not all use cases require the same combination of active components and / or the same level of power consumption from the active components. Furthermore, while a given use case may be primarily defined by a single application in execution (such as an immersive multimedia gaming application), it will be understood that other applications unrelated to said single application may also be running and contributing to the overall power consumption and functionality of that use case.
[0029] In this description, the terms “immersive multimedia,” “virtual reality,” “augmented reality,” “VR,” and “AR” are used interchangeably to refer to applications performed by the PCD and experienced by the user when the PCD is coupled to a VR headset.
[0030] In this description, and as will be understood by those skilled in the art, the acronym MSAA stands for Multisample Anti-aliasing, the acronym CAC stands for Chromatic Aberration Correction, FPS stands for Frames Per Second, DOF stands for Degrees of Freedom, and LOD stands for Level of Detail.
[0031] Excessive or harmful thermal generation in a PCD performing virtual reality applications can be minimized without unnecessarily impacting Quality of Service (“QoS”) by monitoring power consumption of the processing components and / or one or more sensor measurements related to the chip temperature and skin temperature of the PCD. By closely monitoring power consumption and temperature measurements, intelligent immersive multimedia workload management solutions in the PCD can systematically and individually adjust the performance settings of the active processing components to attempt to optimize the user experience without risking thermal management techniques that might cause frame drops or reduced frame rates. Advantageously, by selectively adjusting performance settings based on user experience, intelligent immersive multimedia workload management systems and methods can optimize QoS under any use case workload.
[0032] As those skilled in the art will understand, immersive multimedia applications require a low motion-to-photon latency (“m / pl”) ratio to ensure a positive user experience. That is, a positive user experience in virtual reality games necessarily requires the application to respond quickly to the user's movement; otherwise, perceptible latency in responding to the user's movement can cause motion sickness. For maximum efficiency, immersive multimedia applications must be able to simulate real-world visual feedback to the user's movement. Therefore, for immersive multimedia systems, processing workloads quickly is more important than maintaining visually rich output.
[0033] To maintain a sufficiently low m / pl ratio, immersive multimedia applications in PCD perform asynchronous time-warped workloads that respond to sensor inputs (such as, but not limited to, accelerometer, gyroscope, and magnetometer readings) indicating the user's motion and physical positioning. These asynchronous time-warped workloads are added to the underlying gaming workload, and thus increase the processing burden on one or more of the camera, DSP, CPU, and GPU. It is these asynchronous time-warped workloads that enable VR applications to coordinate the visual output provided to the user by the game with the user's physical movements. Therefore, and as those skilled in the art will understand, virtual reality applications require relatively more power consumption compared to non-VR gaming applications.
[0034] The increased power consumption requirements of immersive multimedia applications in PCD make these applications particularly vulnerable to thermal mitigation strategies. Increased power consumption can lead to excessive heat generation, which in turn triggers the application of thermal mitigation measures. As explained above, thermal mitigation measures can be extremely detrimental to the user experience for immersive multimedia use cases. Advantageously, embodiments of this solution attempt to avoid the need for thermal mitigation during VR use cases by identifying potential thermal events and working to avoid them by adjusting aspects of the VR-related workload that have the least impact on the user experience. In this way, embodiments of this solution can reserve processing bandwidth for the portion of the VR workload that ensures a low m / pl ratio and a high frame rate. Essentially, embodiments of this solution attempt to avoid thermal mitigation measures in PCD by changing or adjusting the frame workload complexity in active immersive multimedia use cases.
[0035] Figure 1A portable computing device (“PCD”) 100 configured and programmed to present immersive multimedia output is illustrated, coupled to an exemplary virtual reality headset 199 that enables a user to perceive the immersive multimedia output. The headset 199 may have a set of left and right optical lenses 198 through which the user can visually experience the multimedia output presented on a display 132 of the PCD 100. As will be understood by those skilled in the art, the display 132 may be juxtaposed and mechanically fixed to the front of the headset 199 (e.g., ...). Figure 1 (As indicated by the "arrow" in the image), so that the multimedia output is aligned with the left and right optical lenses 198.
[0036] When the headset 199 is installed on a user and the PCD 100 is installed on the headset 199, the movement of the user's head can be detected by the motion sensor in the PCD 100, and the multimedia output of the PCD 100 can be coordinated with it. In some embodiments, the headset 199 may have an integrated motion sensor paired with the PCD 100 to provide data indicating the user's movement. As described herein, excessive latency in providing and processing data indicating the user's movement can result in unacceptable motion-to-photon latency (“m / pl”), which causes discomfort to the user when perceiving immersive multimedia content.
[0037] Figure 2 This is a functional block diagram illustrating an embodiment of System-on-Chip 102, which enables intelligent management of immersive multimedia workloads in a portable computing device (“PCD”) 100 by selectively adjusting component performance settings to avoid frame loss and / or harmful frame rate reduction. The active virtual reality application (shown as being stored in DRAM) can be executed by various processing components, such as, but not limited to, a CPU 110, a GPU 182, and an LCD display 132. As those skilled in the art will understand, the workloads associated with the active application can be handled by the processing components to produce immersive multimedia output and user experience.
[0038] While the various processing components 110, 182, and 132 are handling various VR workloads, the Performance Level Estimator (“PLE”) module 114 may be monitoring one or more sensors 157. For example, sensor 157A may measure the junction temperature of the corresponding processing component 110, 182, or 132. For example, sensors 157B and 157C may measure the surface temperature of PCD 100 (which can provide an inference of ambient temperature) or the power levels on the various power rails associated with the processing components 110, 182, and 132. Sensors 157 may also provide input to the PLE module 114 for calculating effective m / pl ratios and / or VR-specific parameters, such as, but not limited to, eye buffer frame time, time-warped frame time, etc.
[0039] With knowledge of the active VR application and real-time sensor measurements, the PLE module 114 can query a use case distribution graph lookup table to determine the duration until a potential thermal event triggers thermal mitigation actions. Based on the estimated duration until a thermal event occurs, the PLE module 114 can assess the “risk level” and take appropriate steps to work with the VR / AR Workload Adjustment (“VWA”) module 101 to avoid or reduce the probability of a thermal event. In this way, embodiments of the solution enable VR applications to maintain high frame rates, i.e., high frames per second (“FPS”) rates, by avoiding thermal events that could trigger throttling of processing component speeds. Furthermore, the PLE module 114 can provide the VWA module 101 with power rail data and data obtained from the distribution graph stored in LUT 29 and associated with various performance settings of processing components 110, 182, and 132.
[0040] VWA module 101 can then operate to adjust the VR workload to reduce power consumption without needing to restrain processing speeds that could lead to unwanted frame drops and / or frame rate reductions. To this end, VWA module 101 can identify which of the processing components 110, 182, 132 is associated with relatively high power consumption (determined by sensor 157 configured to measure power levels on the power rails supplying power to processing components 110, 182, 132, respectively), and then use performance setting graph data to adjust those performance settings for a given processing component to reduce power consumption with minimal impact on user experience. Similarly, in some embodiments of this solution, VWA module 101 can work with an application programming interface (“API”) or middleware 27 to allow active immersive multimedia applications to adjust their workload requirements upstream of the processing components. In this way, frame drops and / or harmful frame rate reductions can be avoided by adjusting the range of VR workloads emanating from the active application, rather than by strategically avoiding the processing VR workload by adjusting the performance settings of the processing components as in other embodiments.
[0041] When querying LUT 29, PLE module 114 can find the record of the closest active use case and, based on these records, determine the likelihood and timing of future hot events. It then works with VWA module 101 to intelligently adjust the VR workload, thereby avoiding future hot events without unduly or harmfully impacting the user's experience of the VR use case. It is envisioned that some embodiments of PLE module 114 may interpolate between records to derive the most useful and applicable data for adjusting the VR workload. It is also envisioned that some embodiments of the solution may include a learning module 26 that works to identify new use cases and the system 102's response to actions taken by PLE module 114 and / or VWA module 101. In such embodiments, learning module 26 may update LUT 29 for future use and benefit of PLE module 114.
[0042] Figure 3 An exemplary record 300 is shown illustrating adjustable performance settings and their relative impact on the power consumption of exemplary processing components operating under immersive multimedia workloads. The exemplary record 300 may be stored in a LUT 29 (which may be instantiated in a portion of memory 112) and may be queried by the PLE module 114 to determine which performance settings for which thermal invasive components 110, 182, 132, 112 can be adjusted for the maximum impact on power consumption and the minimum impact on user experience.
[0043] As can be seen in the exemplary record, certain performance settings can be rated as “high,” “medium,” “low,” or “none” depending on the impact on the target component (power consumption relative to user experience). Based on sensor measurements and / or calculations (including but not limited to ambient temperature, power rail measurements, processing component junction temperature, and m / pl levels), the PLE module 114 can determine the risk level of a thermal event. Furthermore, in response to the risk of a thermal event, the PLE module 114 can identify which one or more of the processing components are the most thermally aggressive and, accordingly, select the performance setting knobs most suitable for adjustment—that is, those performance setting knobs that can be adjusted downwards to provide the greatest impact on power consumption at the lowest cost regarding user experience.
[0044] For example, adjusting the eye buffer resolution may have a high impact on reducing the power consumption of the GPU and DRAM memory system (with minimal impact on user experience), while having virtually no impact on CPU power consumption. Thus, in a given scenario where there is a high risk of thermal events in the near future and the GPU is the most thermally damaging active component in VR use cases, an embodiment of this solution could choose to down-adjust the eye buffer resolution, thereby reducing GPU power consumption (and by extension, reducing heat generation in the system) without affecting the CPU's ability to efficiently handle time-warped workloads that directly affect the m / pl ratio.
[0045] Similarly, in scenarios where the PLE module 114 determines the risk of a thermal event to be low, embodiments of the solution can choose to downscale the texture detail level, thereby modestly reducing the power consumption of the GPU and memory 112 (with virtually no perceptible impact on the user experience) without affecting the CPU's ability to handle its workload. In this way, embodiments of the solution can further reduce the probability of thermal events without significantly impacting the user's experience of immersive multimedia content.
[0046] Figures 4A-4D Exemplary distribution graphs for an exemplary GPU processing component 182 for a given immersive multimedia use case are shown, each distribution graph illustrating the relationship between performance settings, user experience associated with that setting, and power consumption associated with that setting. Distribution graphs or similar indicative data for each potentially thermally affected component in system 102 may be stored in LUT 29, or simply measured in real time by sensor 157 and provided to PLE module 114.
[0047] Return to the above text and Figure 3The description of example 300 in the document describes a scenario where there is a high risk of thermal events in the near future and the GPU is the most thermally damaging active component in VR use cases. An embodiment of this solution can choose to downscale the eye buffer resolution, thereby reducing GPU power consumption (and by extension, reducing heat generation in the system) without affecting the CPU's ability to efficiently handle time-warped workloads that directly impact the m / pl ratio. Such a choice can be based on... Figure 4B The performance settings graph shown in the figure is used to determine, for example, the performance settings graph can be used by PLE module 114 to determine that the effective setting of the eye buffer resolution can be significantly reduced, thereby saving power without having any significant impact on the user experience.
[0048] In particular, what will be understood is, Figures 4A-4D The distribution curve in the graph represents the empirically collected data, and therefore can exist in the memory component 112 in the form of a lookup table. As those skilled in the art will recognize, the data instantiated in the table can be represented graphically, such as... Figures 4A-4D As shown. Therefore, for the best understanding, Figures 4A-4D Exemplary data is depicted and described as a distribution curve to better visually illustrate active components in VR use cases. Figures 4A-4D The relationship between GPU performance settings, power consumption levels, and user experience.
[0049] Reference Figure 4A Moving the x-axis of this graph from left to right represents the increase in power consumption required by the GPU to handle the portion of the VR workload caused by chromatic aberration correction related to time warp. As those skilled in the art will recognize, increasing the time warp CAC setting requires an increase in the power consumed by the GPU 182 processing components (which is also related to an increase in heat generation). That is, the more precise the time warp CAC setting, the higher the power level required to handle its associated workload. Therefore, as those skilled in the art will understand, moving upwards along the y-axis represents an increase in power consumption, and the dashed line 10A represents the correlation between time warp CAC and power consumption.
[0050] exist Figure 4AIn the graph, the y-axis can also represent the user experience (“Ux”) level, where moving upwards along the y-axis is associated with improved Ux. Therefore, as indicated by the solid curve 11A, there is a correlation between the time-warp CAC setting and the Ux level. In most cases, as those skilled in the art will recognize, a more precise time-warp CAC setting is advantageous to VR users compared to a smaller setting. Referring to curve 11A, the initial steep slope of curve 11A illustrates that increasing the time-warp CAC setting from a relatively low level can cause a significant increase in Ux. Conversely, the upper part of slope 11A corresponding to a higher time-warp CAC setting illustrates that once the time-warp CAC setting is already relatively high, further increases in that setting will not cause a significant increase in the Ux level. That is, the user may not notice or be aware of the increased time-warp CAC setting level, and therefore, increasing this setting will only increase power consumption without improving Ux.
[0051] Given the foregoing, those skilled in the art will recognize that when the initial time-warped CAC setting is relatively low, increasing or decreasing the time-warped CAC setting will have a significant impact on Ux per watt of power consumption (compared to when the initial time-warped CAC setting is initially relatively high). For example, point 12A represents an exemplary initial time-warped CAC setting that is neither high nor low, i.e., a portion of the VR workload being processed by the GPU associated with a medium time-warped CAC setting. Thus, the slope of the tangent line to curve 11A at point 12A indicates that a downward adjustment to the time-warped CAC setting will result in modest power savings (thus saving a modest amount of thermal energy) while moderately affecting Ux. Similarly, an upward adjustment to the time-warped CAC setting will require a modest increase in power consumption (thus moderately increasing thermal energy) while providing a positive but moderate effect on Ux.
[0052] Reference Figure 4B Moving the x-axis of this graph from left to right represents the increase in power consumption required by the GPU to handle the portion of the VR workload due to the eye buffer resolution. As those skilled in the art will recognize, an increase in eye buffer resolution requires an increase in the power consumed by the GPU components (which is also related to an increase in heat generation). Therefore, as those skilled in the art will understand, moving upwards along the y-axis represents an increase in power consumption, and the dashed line 10B represents the correlation between eye buffer resolution settings and power consumption.
[0053] exist Figure 4BIn the graph, the y-axis can also represent the user experience (“Ux”) level, where moving upwards along the y-axis is associated with improved Ux. Therefore, as shown by the solid curve 11B, there is a correlation between eye buffer resolution setting and Ux level. Referring to curve 11B, the initial steep slope of curve 11B illustrates that increasing the eye buffer resolution setting from a relatively low level can cause a significant increase in Ux. Conversely, the flatter portion of slope 11B corresponding to higher eye buffer resolution settings illustrates that once the eye buffer resolution setting is already relatively high, further increases in eye buffer resolution will not cause a significant increase in Ux level.
[0054] Given the foregoing, those skilled in the art will recognize that when the eye buffer resolution setting is initially relatively low, increasing or decreasing this setting will have a significant impact on Ux (power consumption per watt) (compared to when the setting is initially relatively high). For example, point 12B represents a relatively high exemplary initial eye buffer resolution setting, i.e., a portion of the VR workload being processed by the GPU that is associated with a high eye buffer resolution setting. Thus, the slope of the tangent line to curve 11B at point 12B is relatively flat, indicating that a downward adjustment to the eye buffer resolution setting will result in power savings (and thus reduced heat generation) without a significant impact on Ux. Similarly, an upward adjustment to the eye buffer resolution setting will require increased power consumption (and thus increased heat generation) without a positive impact on Ux.
[0055] Reference Figure 4C Moving the x-axis of this graph from left to right represents the increase in power consumption required by the GPU to handle the portion of the VR workload caused by the MSAA (Maximum Screen Allocation) of the eye buffer. As those skilled in the art will recognize, increasing the MSAA setting requires an increase in the power consumed by the GPU (which is also related to an increase in heat generation). That is, the higher the MSAA setting, the higher the power level required to handle its associated workload. Therefore, as those skilled in the art will understand, moving upwards along the y-axis represents an increase in power consumption, and the dashed line 10C represents the correlation between processing power and power consumption.
[0056] exist Figure 4CIn the graph, the y-axis can also represent the Ux level, where upward movement along the y-axis is associated with improved Ux. Therefore, as illustrated by the solid curve 11C, there is a correlation between the eye buffer MSAA setting and the Ux level. Referring to curve 11C, the initial steep slope of curve 11C illustrates that increasing the eye buffer MSAA setting from a relatively low level can cause a significant increase in Ux. Conversely, the upper part of slope 11C, corresponding to a higher eye buffer MSAA setting, illustrates that once the setting is already relatively high, further increases in this setting will not cause a significant increase in the Ux level. That is, the user may not notice or be aware of the increased eye buffer MSAA setting, and therefore, the increase will not improve Ux.
[0057] In view of the foregoing, those skilled in the art will recognize that when the eye buffer MSAA setting is initially relatively low, increasing or decreasing this setting will have a significant impact on Ux per watt of power consumption (compared to when the initial setting is initially relatively high). For example, point 12C represents an exemplary initial eye buffer MSAA setting that is relatively low. Thus, the slope of the tangent line to curve 11C at point 12C is relatively steep, indicating that a downward adjustment to the eye buffer MSAA setting will result in very little power saving (and thus very little heat generation), while significantly negatively impacting Ux. Similarly, an upward adjustment to the eye buffer MSAA setting will require only a small increase in power consumption (and thus a small increase in heat generation), while providing a significant and positive impact on Ux.
[0058] Reference Figure 4D Moving the x-axis of this graph from left to right represents the increase in power consumption required by the GPU to process the VR workload portion due to the eye buffer FPS. As those skilled in the art will recognize, an increase in the eye buffer FPS setting requires an increase in the power consumed by the GPU 182 processing components (which is also related to an increase in heat generation). Therefore, as those skilled in the art will understand, moving upwards along the y-axis represents an increase in power consumption, and the dashed line 10D represents the correlation between the eye buffer FPS setting and power consumption.
[0059] exist Figure 4DIn the graph, the y-axis can also represent the user experience (“Ux”) level, where moving upwards along the y-axis is associated with improved Ux. Therefore, as illustrated by the solid curve 11D, there is a correlation between the eye buffer FPS setting and the Ux level. Referring to curve 11D, the initial steep slope of curve 11D illustrates that increasing the eye buffer FPS setting from a very low setting can cause a significant increase in Ux. Conversely, the flatter portions of slope 11D corresponding to medium and high eye buffer FPS settings illustrate that further increases in this setting beyond relatively low levels will not cause a significant increase in the Ux level.
[0060] Given the foregoing, those skilled in the art will recognize that when the eye buffer FPS setting is initially very low, increasing or decreasing this setting will have a more significant impact on Ux per watt of power consumption (compared to when the initial setting is relatively moderate or even high). For example, point 12D represents a relatively high exemplary initial eye buffer FPS setting, i.e., a portion of the VR workload the GPU is processing that is associated with a high eye buffer FPS setting. Thus, the slope of the tangent line to curve 11D at point 12D is relatively flat, indicating that adjusting the eye buffer FPS setting downwards will result in power savings (and thus reduced heat generation) without a significant impact on Ux. Similarly, adjusting the eye buffer FPS setting upwards will require increased power consumption (and thus increased heat generation) without a significant impact on Ux.
[0061] Based on performance settings from a distribution curve, embodiments of the system and method can systematically adjust one or more performance settings to optimize Ux in VR use cases while adjusting total power consumption to avoid thermal events. As a non-limiting example, the performance settings of various components active depending on the VR gaming use case collectively affect the overall Ux level and overall power consumption level associated with that use case. As explained above, increasing or decreasing the active settings for any part of the VR workload can affect both overall Ux and overall power consumption, depending on which one or more processing components the setting can affect. Advantageously, where power consumption should be increased or decreased, embodiments of the solution attempt to make such power consumption adjustments (and by extension, thermal generation adjustments) in a manner that optimizes Ux without causing thermal events that could trigger frame loss and / or FPS reduction.
[0062] Figure 5A logic flowchart is depicted, illustrating method 500 for intelligently managing immersive multimedia workloads in a portable computing device (“PCD”) by selectively adjusting component performance settings to avoid frame loss and / or harmful frame rate degradation. Starting at block 505, sensors 157 and / or performance metrics (e.g., motion-to-photon delay) can be monitored to identify potential thermal events that might trigger the implementation of thermal mitigation strategies, etc. At block 510, the risk level can be determined based on the estimated time for mitigation (“TtoT”). Notably, if the performance settings of the thermal damage handling component remain unchanged, the TtoT calculation result can be converted into frame counts (based on FPS rate) before thermal mitigation may become necessary.
[0063] Next, at decision block 515, the risk level can be assessed. If the risk level is low or nonexistent, the "true" branch can be followed to block 520, and the performance settings of various processing components for the active VR use case can be increased or maximized. In this way, if the risk of a hot event is insignificant, Ux can be optimized by increasing the performance settings of some or all processing components to present maximum QoS. If the risk level is high, method 500 can follow the "false" branch to block 525.
[0064] At block 525, power rail measurements can be used to identify which one or more of the processing components are the most thermally intrusive. Then, at block 530, the performance settings associated with the identified thermally intrusive component can be selected based on those settings that can be adjusted to provide the greatest power savings and the least impact on Ux. At blocks 535 and 540, the selected performance settings can be reduced one at a time based on the ToT calculation results to maximize the number of frames presented to the user without adjusting the performance settings. In this way, the portion of the VR workload allocated to the most thermally intrusive processing component can be strategically reduced to avoid the possibility of thermal events causing frame drops or reduced FPS. Method 500 returns.
[0065] Figure 6 It is shown in the form of a wireless telephone. Figure 1 and 2The diagram illustrates a functional block diagram of an exemplary, non-limiting aspect of a PCD 100 for implementing methods and systems for intelligent management of immersive multimedia workloads. As shown, the PCD 100 includes a system-on-a-chip 102 comprising a multi-core central processing unit (“CPU”) 110 and an analog signal processor 126 coupled together. As will be understood by those skilled in the art, the CPU 110 may include a zeroth core 222, a first core 224, and an Nth core 230. Furthermore, as will be understood by those skilled in the art, a digital signal processor (“DSP”) may also be employed instead of the CPU 110.
[0066] Typically, the PLE module 114, API / middleware module 27, and VWA module 101 can work together to select and tune the performance settings associated with active processing components (such as GPU 182) based on a given VR use case in order to manage power consumption (and by extension, heat generation) and optimize the user experience for immersive multimedia use cases.
[0067] The PLE module 114 can communicate with multiple operational sensors (e.g., thermal sensors, power sensors 157A, 157B) distributed throughout the system-on-chip 102, as well as with the CPU 110 of the PCD 100 and the VWA module 101. In some embodiments, the PLE module 114 can also monitor surface temperature sensor 157C for temperature readings associated with the touch temperature and / or ambient temperature of the PCD 100. In other embodiments, the PLE module 114 can infer the touch temperature based on possible increments in the readings acquired by the on-chip temperature sensor 157. The VWA module 101 can work with the PLE module 114 to identify temperature thresholds and / or power budgets that may be exceeded and to indicate the application of performance settings 28 associated with power-consuming components within the chip 102 to avoid thermal events without unnecessarily impacting the user experience for immersive multimedia use cases.
[0068] like Figure 6As shown, display controller 128 and touchscreen controller 130 are coupled to digital signal processor 110. Touchscreen display 132, external to system-on-chip 102, is coupled to display controller 128 and touchscreen controller 130. PCD 100 may also include video encoder 134, such as a progressive scan (“PAL”) encoder, sequential storage color (“SECAM”) encoder, National Television System Committee (“NTSC”) encoder, or any other type of video encoder 134. Video encoder 134 is coupled to multi-core central processing unit (“CPU”) 110. Video amplifier 136 is coupled to video encoder 134 and touchscreen display 132. Video port 138 is coupled to video amplifier 136. (As shown in...) Figure 6 As depicted, a Universal Serial Bus (“USB”) controller 140 is coupled to a CPU 110. Additionally, a USB port 142 is coupled to the USB controller 140. A memory 112 and a Subscriber Identity Module (SIM) card 146 may also be coupled to the CPU 110. Furthermore, as... Figure 6 As shown, digital camera 148 can be coupled to CPU 110. In one exemplary aspect, digital camera 148 is a charge-coupled device (“CCD”) camera or a complementary metal-oxide-semiconductor (“CMOS”) camera.
[0069] like Figure 6 As further shown, the stereo audio CODEC 150 can be coupled to the analog signal processor 126. Additionally, the audio amplifier 152 can be coupled to the stereo audio CODEC 150. In an exemplary aspect, the first stereo speaker 154 and the second stereo speaker 156 are coupled to the audio amplifier 152. Figure 6 Microphone amplifier 158 can also be coupled to stereo audio CODEC 150. Additionally, microphone 160 can be coupled to microphone amplifier 158. In a particular aspect, FM radio tuner 162 can be coupled to stereo audio CODEC 150. Furthermore, FM antenna 164 is coupled to FM radio tuner 162. Additionally, stereo headphones 166 can be coupled to stereo audio CODEC 150.
[0070] Figure 6 It also indicates that the radio frequency (“RF”) transceiver 168 can be coupled to the analog signal processor 126. The RF switch 170 can be coupled to the RF transceiver 168 and the RF antenna 172. (As indicated...) Figure 6As shown, keypad 174 can be coupled to analog signal processor 126. Additionally, a mono headset 176 with a microphone can be coupled to analog signal processor 126. Furthermore, vibrator device 178 can be coupled to analog signal processor 126. Figure 6 It is also shown that a power source 188 (e.g., a battery) is coupled to an on-chip system 102 via a power management integrated circuit (“PMIC”) 180. In one particular aspect, the power source includes a rechargeable DC battery or a DC power source obtained from an AC-to-DC transformer connected to an AC power source.
[0071] CPU 110 may also be coupled to one or more internal, on-chip thermal sensors 157A and one or more external, off-chip thermal sensors 157C. The on-chip thermal sensor 157A may include one or more absolute temperature proportional (“PTAT”) temperature sensors based on a vertical PNP structure and typically dedicated to complementary metal-oxide-semiconductor (“CMOS”) very large-scale integration (“VLST”) circuits. The off-chip thermal sensor 157C may include one or more thermistors. The thermal sensor 157C may generate a voltage drop, which is converted into a digital signal using an analog-to-digital converter (“ADC”) controller 103. However, other types of thermal sensors 157A and 157C may be employed without departing from the scope of the invention.
[0072] Learning module 26, PLE module 114, and / or VWA module 101 may include software executed by CPU 110. However, without departing from the scope of the invention, learning module 26, PLE module 114, and / or VWA module 101 may also be formed by hardware and / or firmware. Learning module 26, PLE module 114, and / or VWA module 101 may collectively be responsible for selecting and tuning the performance settings associated with the active processing components in a given VR use case to manage power consumption (and by extension, heat generation) to avoid frame loss or reduced FPS rate and optimize the user experience.
[0073] The touchscreen display 132, video port 138, USB port 142, camera 148, first stereo speaker 154, second stereo speaker 156, microphone 160, FM antenna 164, stereo headphones 166, RF switch 170, RF antenna 172, keypad 174, mono headset 176, vibrator 178, power supply 188, PMIC 180, and thermal sensor 157C are external to the system-on-a-chip 102. However, it should be understood that the PLE module 114 can also receive one or more indications or signals from one or more of these external devices via analog signal processor 126 and CPU 110 to assist in the real-time management of resources operable on PCD 100.
[0074] In one particular aspect, one or more method steps in the method steps described herein may be implemented by executable instructions and parameters stored in memory 112 that form one or more learning modules 26, PLE module 114, and / or VWA module 101. In addition to the ADC controller 103, these instructions forming modules 101, 114, 101 may also be executed by CPU 110, analog signal processor 126, or another processor to perform the method described herein. Furthermore, processors 110, 126, memory 112, instructions stored therein, or combinations thereof may serve as units for performing one or more method steps in the method steps described herein.
[0075] Figure 7 It is shown Figure 6 A schematic diagram of an exemplary software architecture 700 for intelligent management of immersive multimedia workloads in the diagram. Any number of algorithms can form at least one intelligent thermal power management strategy, or can be part of at least one intelligent thermal power management strategy, wherein the learning module 26, the PLE module 114, and / or the VWA module 101 can apply at least one intelligent thermal power management strategy when certain thermal conditions are met. However, in a preferred embodiment, the learning module 26, the PLE module 114, and / or the VWA module 101 work together to adjust the performance settings 28 of active processing components (including, but not limited to, the LCD display 132, the GPU 182, the CPU 110, and the memory subsystem 112 (e.g., DDR)) in the VR use case.
[0076] like Figure 7As shown, the CPU or digital signal processor 110 is coupled to the memory 112 via bus 211. As described above, the CPU 110 is a multi-core processor with N cores. That is, the CPU 110 includes a first core 222, a second core 224, and an Nth core 230. As is known to those skilled in the art, each of the first core 222, the second core 224, and the Nth core 230 can be used to support a specific application or program. Alternatively, one or more applications or programs can be distributed for processing across two or more of the available cores.
[0077] CPU 110 may receive commands from learning module 26, PLE module 114, and / or VWA module 101, which may include software and / or hardware. If embodied in software, modules 26, 114, and 101 include instructions executed by CPU 110, which issues commands to other applications executed by CPU 110 and other processors.
[0078] The first core 222, the second core 224 through the Nth core 230 of the CPU 110 can be integrated on a single integrated circuit die, or they can be integrated or coupled on separate dies in a multi-circuit package. The designer can couple the first core 222, the second core 224 through the Nth core 230 via one or more shared caches, and the designer can implement message or instruction passing via network topologies (such as bus, ring, mesh, and cross topologies).
[0079] As is known in the art, bus 211 may include multiple communication paths via one or more wired or wireless connections. Bus 211 may have additional elements (omitted for simplicity) for enabling communication, such as controllers, buffers (caches), drivers, repeaters, and receivers. Furthermore, bus 211 may include address, control, and / or data connections to enable suitable communication between the aforementioned components.
[0080] When implementing the logic units used by PCD 100 in software, such as Figure 7 As shown, it should be noted that one or more of the startup logic unit 250, management logic unit 260, VR / AR workload adjustment interface logic unit 270, applications in application storage unit 280, and portions of file system 290 can be stored on any computer-readable medium (or device) for use by or in conjunction with any computer-related system or method.
[0081] In the context of this document, a computer-readable medium is an electrical, magnetic, optical, or other physical device or unit that can contain or store computer programs and data for use by or in conjunction with computer-related systems or methods. Various logical elements and data storage units can be embodied in any computer-readable medium for use by or in conjunction with an instruction execution system, apparatus, or device (such as a computer-based system, a processor-containing system, or other system that can retrieve and execute instructions from and from an instruction execution system, apparatus, or device). In the context of this document, a “computer-readable medium” can be any unit that can store, transmit, propagate, or transfer programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0082] Computer-readable media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, apparatuses, or propagation media. More specific examples (not an exhaustive list) of computer-readable media include: electrical connections with one or more wires (electrical), portable computer disks (magnetic), random access memory (RAM) (electrical), dual data rate memory (DDR) (electrical), read-only memory (ROM) (electrical), erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electrical), optical fiber (optical), and portable compressed optical disc read-only memory (CDROM) (optical). Note that computer-readable media can even be paper or another suitable medium on which programs are printed, because programs can be electrically captured, for example, by optical scanning of paper or other media, and then compiled, interpreted, or otherwise processed (if necessary), and subsequently stored in computer memory.
[0083] In alternative embodiments in which one or more of the startup logic unit 250, management logic unit 260, and perhaps VR / AR workload adjustment interface logic unit 270 are implemented in hardware, the various logic units may be implemented using any of the following techniques or combinations thereof, all of which are well known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having appropriate combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0084] Memory 112 is a non-volatile data storage device, such as flash memory or solid-state memory. Although memory 112 is described as a single device, it can be a distributed memory device with individual data storage units coupled to digital signal processor 110 (or another processor core).
[0085] The startup logic unit 250 includes one or more executable instructions for selectively identifying, loading, and executing a selection program for managing or controlling the performance of one or more of the available cores (such as the first core 222, the second core 224 to the Nth core 230). The startup logic unit 250 may identify, load, and execute the selection program based on a comparison by the PLE module 114 of various temperature measurements or power consumption levels with threshold temperature settings or power budget settings associated with the same active processing component or aspect. An exemplary selection program can be found in the program storage unit 296 of the embedded file system 290 and is defined by a specific combination of the intelligent VR / AR workload adjustment algorithm 297 and a set of distribution graphs 298. When executed by one or more of the core processors in the CPU 110, the exemplary selection program can operate according to one or more signals provided by the PLE module 114 in conjunction with control signals provided by the VWA module 101 to adjust the performance settings associated with a specific active component "up" or "down".
[0086] The management logic unit 260 includes one or more executable instructions for terminating the intelligent VR / AR workload tuning program and selectively identifying, loading, and executing a more appropriate replacement program. The management logic unit 260 is configured to perform these functions during runtime or when the PCD 100 is powered on and used by an operator of the device. The replacement program can be found in the program storage unit 296 of the embedded file system 290, and in some embodiments, can be defined by a specific combination of the intelligent VR / AR workload tuning algorithm 297 and a set of distribution graphs 298.
[0087] When the replacement program is executed by one or more of the core processors in the digital signal processor, it can operate according to one or more signals provided by the PLE module 114 / VWA module 101, or one or more signals provided on the corresponding control inputs of each processor core, to adjust the settings in one or more performance settings 28 associated with processing components 132, 182, 110, 112 and the Nth processing component.
[0088] Interface logic unit 270 includes one or more executable instructions for presenting, managing, and interacting with external input to observe, configure, or otherwise update information stored in embedded file system 290. In one embodiment, interface logic unit 270 may operate in conjunction with manufacturer input received via USB port 142. This input may include one or more programs to be deleted from or added to program storage unit 296. Alternatively, input may include editing or changing one or more programs in program storage unit 296. Furthermore, input may identify one or more changes to one or both of startup logic unit 250 and management logic unit 260, or a complete replacement of one or both of startup logic unit 250 and management logic unit 260. For example, input may include changes to a component distribution graph associated with a specific processing component related to a particular use case.
[0089] Interface logic unit 270 enables the manufacturer to controllably configure and adjust the end-user experience based on operating conditions defined on PCD 100. When memory 112 is flash memory, information in one or more of the boot logic unit 250, management logic unit 260, interface logic unit 270, application in application storage unit 280, or embedded file system 290 can be edited, replaced, or otherwise modified. In some embodiments, interface logic unit 270 may allow the end user or operator of PCD 100 to search, locate, modify, or replace information in boot logic unit 250, management logic unit 260, application storage unit 280, and embedded file system 290. The operator can use the obtained interface to make changes that will be implemented at the next boot of PCD 100. Alternatively, the operator can use the obtained interface to make changes that are implemented during runtime.
[0090] The embedded file system 290 includes hierarchically arranged VR / AR technology storage units 292. In this respect, the file system 290 may include a reserved portion of its total file system capacity for storing information used for the configuration and management of various distribution graphs 298 and algorithms 297 employed by the PCD 100. For example... Figure 7 As shown, storage unit 292 includes component storage unit 294, which includes program storage unit 296, and program storage unit 296 includes one or more intelligent VR / AR workload adjustment programs.
[0091] In the process or process flow described herein, certain steps naturally precede other steps to enable the invention to operate as described. However, the invention is not limited to the order of the described steps if such order does not alter the function of the invention. That is, it is to be understood that some steps may be performed before, after, or in parallel (substantially simultaneously) with other steps without departing from the scope and spirit of the invention. In some instances, certain steps may be omitted or not performed without departing from the invention. Furthermore, words such as "thereafter," "following," "next," etc., are not intended to limit the order of steps. These words are only used to guide the reader through the description of the exemplary method.
[0092] Furthermore, those skilled in the art, when programming, can readily write computer code or identify suitable hardware and / or circuitry to implement the disclosed invention based on, for example, the flowcharts and associated descriptions in this specification. Therefore, the disclosure of specific program code instruction sets or detailed hardware devices is not considered necessary for a full understanding of how to implement and use the invention. The innovative features of the claimed computer implementation process have been explained in more detail above and in conjunction with the accompanying drawings, which illustrate the various process flows.
[0093] In one or more exemplary aspects, the described functionality can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality can be stored as one or more instructions or code in or transmitted through a computer-readable medium. A computer-readable medium includes both computer storage media and communication media, wherein the communication medium includes any medium that facilitates the transfer of a computer program from one place to another. A storage medium can be any available medium accessible to a computer. By way of example, and not limitation, such a computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures, and can be accessed by a computer.
[0094] Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (“DSL”), or wireless technology (such as infrared, radio, and microwave), then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technology (such as infrared, radio, and microwave) is included in the definition of medium.
[0095] As used herein, disks and optical discs include compact optical discs (“CDs”), laser discs, optical discs, digital versatile optical discs (“DVDs”), floppy disks, and Blu-ray discs, wherein disks typically copy data magnetically, while optical discs use lasers to copy data optically. Combinations of the above should also be included within the scope of computer-readable media.
[0096] Therefore, although the selected aspects have been described and illustrated in detail, it will be understood that various substitutions and changes may be made therein without departing from the spirit and scope of the invention, as defined in the following claims.
Claims
1. A method for adjusting multimedia workloads in a portable computing device (PCD), the method comprising: Monitor one or more performance metrics, including motion-to-photon latency associated with the multimedia workload; Receive information from one or more thermal sensors indicating the thermal energy generated in the PCD; Determining the likelihood of a thermal event based on the received information, wherein the determination includes determining the duration until the thermal event triggers a thermal mitigation action and assessing the risk level of the thermal event; and In response to the risk of the thermal event, the settings of the identified performance parameters are adjusted, wherein the adjustment modifies the overall power consumption of the identified thermal damage treatment component to reduce the likelihood of the thermal event.
2. The method according to claim 1, further comprising: One or more power rails are monitored, and the thermal damage treatment component is identified based on the power level of the one or more power rails.
3. The method according to claim 1, wherein, The identified thermal damage processing component is one of the following: a graphics processing unit, a central processing unit, a display unit, and a dual data rate memory unit.
4. The method according to claim 1, wherein, The performance parameters for recognition are one of the following: eye buffer resolution, eye buffer MSAA, time warp CAC, eye buffer FPS, display FPS, time warp output resolution, texture LOD, 6DOF camera FPS, and fovea size.
5. The method according to claim 1, wherein, The possibility of the thermal event does not exist, and the setting of the identified performance parameter includes increasing the setting.
6. The method according to claim 1, wherein, Determining the likelihood of a thermal event includes estimating the time required for control.
7. The method according to claim 6, wherein, Adjusting the settings of the identified performance parameters includes timing the adjustment based on the estimated time for restraint.
8. The method according to claim 1, wherein, The PCD is in the form of headphones.
9. The method according to claim 1, further comprising: Update at least one of the probability determination and the setting adjustment.
10. A portable computing device PCD, comprising: The Performance Level Estimator (PLE) module and the VR / AR Workload Tuning (VWA) module are jointly configured to perform the following operations: Monitor one or more performance metrics, including motion-to-photon latency associated with multimedia workloads; Receive information from one or more thermal sensors indicating the thermal energy generated in the PCD; Determining the likelihood of a thermal event based on the received information, wherein the determination includes determining the duration until the thermal event triggers a thermal mitigation action and assessing the risk level of the thermal event; and In response to the risk of the thermal event, the settings of the identified performance parameters are adjusted, wherein the adjustment modifies the overall power consumption of the identified thermal damage treatment component to reduce the likelihood of the thermal event.
11. The device according to claim 10, wherein, The Performance Level Estimator (PLE) module and the VR / AR Workload Adjustment (VWA) module are further configured to monitor one or more power rails, and the thermal damage treatment component is identified based on the power level of the one or more power rails.
12. The device according to claim 10, wherein, The identified thermal damage processing component is one of the following: a graphics processing unit, a central processing unit, a display unit, and a dual data rate memory unit.
13. The device according to claim 10, wherein, The performance parameters for recognition are one of the following: eye buffer resolution, eye buffer MSAA, time warp CAC, eye buffer FPS, display FPS, time warp output resolution, texture LOD, 6DOF camera FPS, and fovea size.
14. The device according to claim 10, wherein, The possibility of the thermal event does not exist, and the setting of the identified performance parameter includes increasing the setting.
15. The device according to claim 10, wherein, Determining the likelihood of a thermal event includes estimating the time required for control.
16. The device according to claim 15, wherein, Adjusting the settings of the identified performance parameters includes timing the adjustment based on the estimated time for restraint.
17. The device according to claim 10, wherein, The PCD is in the form of headphones.
18. The apparatus of claim 10, further comprising: The learning module is configured to update at least one of the probability determination and the setting adjustment.
Citation Information
Patent Citations
Method, Devices and Systems for Dynamic Multimedia Data Flow Control for Thermal Power Budgeting
US20150067377A1
Electronic display stabilization for head mounted display
US20160364904A1