CN105492875B - 用于热功率预算编制的动态多媒体数据流控制的方法、设备和系统 - Google Patents
用于热功率预算编制的动态多媒体数据流控制的方法、设备和系统 Download PDFInfo
- Publication number
- CN105492875B CN105492875B CN201480047296.0A CN201480047296A CN105492875B CN 105492875 B CN105492875 B CN 105492875B CN 201480047296 A CN201480047296 A CN 201480047296A CN 105492875 B CN105492875 B CN 105492875B
- Authority
- CN
- China
- Prior art keywords
- data flow
- multimedia
- application
- priority
- concurrent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Telephone Function (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
- Power Sources (AREA)
Abstract
公开了用于响应于确定温度或者功耗超过门限,管理在包括SoC的设备上执行的并发的多媒体应用的数据流的方法和设备。可以识别最低优先级数据流。可以跟踪与所识别的最低优先级数据流相关联的数据流路径。可以降低沿所述数据流路径的任何硬件模块的多媒体参数。当所述温度或者功耗不再超过所述门限时,可以识别已经使所述多媒体参数降低的多媒体应用中的最高优先级数据流。可以跟踪与所识别的最高优先级数据流相关联的数据流的数据流路径。可以沿与所述识别的最高优先级数据流相关联的所跟踪数据流的数据流路径,将所述多媒体参数恢复为原始值。
Description
对相关申请的交叉引用
本申请要求享有于2013年8月28日递交的、名称为“Methods,Devices AndSystems For Dynamic Multimedia Data Flow Control For Thermal Power Budgeting”的美国临时专利申请No.61/870,856的优先权,以引用方式将其全部内容并入本文。
背景技术
随着现代智能电话片上系统(SoC)在具有执行并发的多媒体应用或者会话的能力的情况下变得更加集成和强大,并且随着对延长的电池寿命和更小的形状因子的要求变得更加严格,对功率和电池管理问题的解决方案正变得更有挑战性。并发的多媒体应用的示例包括游戏应用和视频会议应用两者在相同的设备上执行,并且例如在该设备的显示器上的不同窗口中提供多媒体输出。多媒体输出可以由设备内的子系统(例如,照相机模块和图形系统)生成。在并发的多媒体应用中的至少一些多媒体应用中,可以涉及多个设备。因此,多媒体输出可以包括例如通过网络连接从其它设备接收的多媒体信息。
由于各种原因,运行多个并发的多媒体应用的移动计算设备可能经历过度的功耗。这样的功耗的显著部分可能可归因于提供高分辨率多媒体视频、图像和图形以及其它并发的多媒体数据流。当运行并发的多媒体应用和进程时,移动计算设备及它们的片上系统(SoC)可能不满足它们的热限制。由于该原因,随着环境条件超过功率预算和/或热限制,在诸如分辨率、帧速率、细节层次(Level of Detail,LoD)或者其它通常针对应用所指定的参数设置之类的多媒体参数设置处,性能水平可能不可持续。
当前的用于保持在限制内的方法在达到或者超过功耗和/或温度门限或者限制时使用对有限数量的硬件子系统的硬件级频率节流。在当前的系统中,不论功耗的原因、热问题或者正在使用的应用的类型是什么,整个设备的操作频率是有限的,并且从而处理功率是有限的。当针对移动计算设备中的子系统的仅一些子系统节流或者限制频率时,应用的关键性能方面可能变差,并且用户体验可能被损害。当前不存在用于控制与应用的其它处理器密集方面相关联的多媒体参数(例如,并发的多媒体数据流的图像分辨率、帧素率、LoD或者其它参数)的、操作系统(OS)级的集中式框架。
当前的用于管理功耗和热预算编制问题的解决方案涉及使SoC的主要硬件系统子块(例如,中央处理单元(CPU)和图形处理单元(GPU))上的频率节流。当所测量的温度和功耗水平超过限制时,在硬件级发生对这些子块的频率节流。跨越主要处理子块的任意的频率节流可以在不考虑每个应用或者多媒体数据流对用户体验或者热/功耗问题的各自的软件级或者用户级贡献的情况下,降低并发的多媒体数据流的帧速率。进一步,基于其它硬件模块继续以原始分辨率/帧速率/LoD来生成多媒体数据流,使主要的子块节流可能导致低效率。具体说来,沿多媒体数据流路径出现在经频率节流的硬件系统子块之前或者之后的未经节流的子块可以不必要地以完全频率处理多媒体数据流,导致不必要的功耗和低效率的功率减少或者控制。
在当前的系统中,每个应用决定诸如分辨率、帧速率和LoD之类的多媒体参数。不存在用于基于例如每个数据流的功率预算和优先级来决定多媒体参数的集中式的、OS级的过程。
发明内容
各种方面提供了针对通过管理并发的多媒体应用的数据流来管理包括片上系统(SoC)的设备的功率或者温度的方法和设备。一个方面方法可以包括:响应于确定温度超过温度门限和功耗超过功率门限中的一项或多项,识别所述并发的多媒体应用中的最低优先级数据流;跟踪与所识别的最低优先级数据流相关联的数据流的数据流路径;以及,降低沿所跟踪的所述数据流的数据流路径的硬件模块的多媒体参数。一个方面方法可以进一步包括:当温度和功耗中的所述一项或多项不再超过所述门限时,识别并发的多媒体应用中已经使所述多媒体参数降低的的最高优先级数据流,并且跟踪与所识别的最高优先级数据流相关联的数据流的数据流路径;以及,沿所跟踪的与所识别的最高优先级数据流相关联的数据流的数据流路径,将所述多媒体参数恢复为原始值。
在一个方面方法中,跟踪与所识别的最低优先级数据流相关联的数据流的数据流路径可以包括识别沿所述数据流路径的使用所述多媒体参数操作的全部硬件子系统。在一个方面方法中,降低沿所跟踪的数据流的数据流路径的任何硬件模块的多媒体参数可以包括,降低沿所述数据流路径的所识别的硬件子系统的所述多媒体参数。
在一个方面方法中,所述多媒体参数可以包括所述数据流的分辨率和帧速率中的一项;以及,降低沿所跟踪的数据流的数据流路径的任何硬件模块的多媒体参数可以包括:分析所述数据流的图像统计,以确定与所述数据流相关联的动态水平;当所述动态水平在门限水平以上时,首先降低沿所述数据流路径的所识别的硬件子系统的所述分辨率;以及,当所述动态水平在所述门限水平以下时,首先降低沿所述数据流路径的所识别的硬件子系统的所述帧速率。
一个方面方法可以还包括:基于预定的应用优先级,建立所述并发的多媒体应用的数据流之间的优先级。一个方面方法可以进一步包括:基于眼睛凝视统计,建立所述并发的多媒体应用的数据流之间的优先级,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口。一个方面方法可以进一步包括:基于与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口,建立所述并发的多媒体应用的数据流之间的优先级。
一个方面方法可以还包括:基于预定的应用优先级中的一个或多个预定的应用优先级、基于眼睛凝视统计,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口、以及基于与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口来建立所述并发的多媒体应用的数据流之间的优先级。一个方面方法可以还包括:基于与所述并发的多媒体应用中的一个或多个多媒体应用的应用优先级相关联的权重,调整所建立的所述并发的多媒体应用的数据流之间的优先级。
在一个方面方法中,降低与所识别的最低优先级数据流相关联的数据流的多媒体参数可以包括:分析所述数据流的内容的特性;以及,基于分析所述数据流的内容的特性的结果,选择进行降低的所述多媒体参数。在一个方面方法中,所述多媒体参数可以包括与所述数据流相关联的分辨率、帧速率和细节层次(LoD)中的一项。在一个方面方法中,所述并发的多媒体应用可以包括至少电话会议应用和游戏应用。
进一步的方面包括一种具有处理器或多个处理器的计算设备,所述处理器或多个计算设备被配置为具有用于执行上文所描述的方法的操作的处理器可执行指令。进一步的方面还包括具有用于执行上文所描述的方法的功能的单元的计算设备。进一步的方面包括一种在上面存储了处理器可执行指令的非暂时性、处理器可读存储介质,所述处理器可执行指令被配置为使处理器执行上文所描述的方法的操作。
附图说明
被并入本文并且构成本说明书的部分的附图示出了发明的示例性方面,并且连同上文给出的一般描述和下文给出的详细描述一起用来解释发明的特征。
图1A是示出了适合于与各种方面一起使用的设备、网络、共享通信信道和并发的多媒体应用的图。
图1B是示出了设备配置和并发的多媒体应用的硬件块功耗的图。
图1C是示出了用于使用频率节流来管理功耗的包括硬件设备和并发的多媒体应用的系统配置的框图。
图2A是示出了使用各种方面中的多媒体参数管理器和数据流跟踪器来管理功耗的包括硬件设备和并发的多媒体应用的系统配置的框图。
图2B是示出了各种方面中的通知、数据流跟踪和多媒体参数管理的硬件框图。
图3A是示出了各种方面中的硬件子系统和数据流路径的图。
图3B是示出了各种方面中的硬件子系统和数据流路径以及高优先级数据流和包括硬件子系统的数据流路径的图。
图3C是示出了各种方面中的用于建立当前硬件子系统的多媒体参数设置的逻辑单元的图。
图4A是示出了各种方面中的、包括用于设置窗口优先级的照相机和眼睛凝视检测的设备和并发的多媒体应用的图。
如4B是示出了各种方面中的、包括用于设置窗口优先级的优先级提示的设备和并发的多媒体应用的图。
图5A是示出了多媒体参数管理和数据流跟踪的一个方面方法的处理流程图。
图5B是示出了建立数据流优先级的一个方面方法的处理流程图。
图5C是示出了在多媒体参数之间选择用于覆盖的第一多媒体参数的一个方面方法的处理流程图。
图5D是示出了基于应用优先级的调整数据流优先级的一个方面方法的处理流程图。
图6是示出了适合于实现各种方面的示例性移动设备的框图。
图7是示出了适合于实现各种方面的示例性移动计算设备的框图。
具体实施方式
将参照附图详细描述各种方面。在任何可能的地方,将贯穿附图使用相同的附图标记,以指代相同或者相似的部分。对特定的示例或者实现方式做出的标记是出于说明的目的,并且不旨在限制发明或者权利要求书的范围。
术语“计算设备”在本文中被用于指以下各项中的任何一项或全部项:蜂窝电话、智能电话、个人或者移动多媒体播放器、个人数字助理(PDA)、膝上型计算机、台式计算机、平板型计算机、智能本、掌上计算机、无线电子邮件接收器、启用多媒体互联网的蜂窝电话、电视、智能电视、智能电视机顶伙伴盒、集成智能电视、串流媒体播放器、智能电缆盒、机顶盒、数字视频录像机(DVR)、数字媒体播放器以及包括可编程处理器(特别是包括SoC的那些可编程处理器)的类似的个人电子设备。
本文所使用的术语“多媒体参数”可以指固定的或者可设置的参数,例如,分辨率、帧速率(例如,每秒的帧)、细节层次(LoD)或者与多媒体数据相关联的其它参数,所述多媒体数据可以在计算设备上被捕获、生成、显示、处理或者操作。多媒体数据可以与数据流(flow)或者串流(stream)相关联,所述数据流或者串流通常与随时间生成数据的源(例如,视频源、音频源、图形源或其它数据生成源)相关联。在各种方面中,多媒体数据可以包括图像数据、视频数据、音频数据、组合的音频和视频或者图像数据、以及诸如用户交互数据之类的其它数据。多媒体数据可以被包括在数据流中,所述数据流跨越沿数据流路径的多个硬件块和子块以及甚至多个互连的设备。互连的设备可以包括诸如外部显示器之类的外部设备,并且可以包括诸如通过网络来连接的通信设备之类的其它设备。多媒体数据进一步可以由各种硬件块或者子块生成。在各种方面中,多媒体数据可以穿过跨越网络的共享通信信道被发送到另一个多媒体设备。
本文所使用的术语“分辨率”和“帧速率”可以一般地指数据流中的每帧图像数据的像素数和每给定时间段(例如,每秒)的帧数。分辨率和帧速率可以结合给定模式一起来表述。例如,1080p30的视频模式可以指垂直分辨率为1080水平行的分辨率和每秒30帧的帧速率。在16:9的常见宽屏高宽比时,1080p的视频模式将意味着像素或者像素组(例如,RGB像素)为1920行的垂直分辨率。尽管特定分辨率和帧速率在本文中可以被描述为说明性和示例性的,但是本文所公开的发明构思可以被应用到任何分辨率和帧速率。
本文所使用的术语“细节层次”或者“LoD”可以指与计算机图形相关联的参数或者特性。细节层次或者LoD可以指,当物体被渲染和显示时,物体的表示(例如,3D表示)的细节或者复杂度。在各种方面中,在各种情况(包括当被显示物体向着或者远离观看者移动时)下,可以修改(包括提高或者降低)LoD。可以根据诸如物体重要性、视角相对速度或位置或者其它度量之类的其它度量来修改(包括提高或者降低)LoD。例如当LoD被降低时,对LoD的修改可以通过降低图形处理流水线级(通常是顶点变换)上的工作量来提高物体渲染的效率。当物体距离远或者快速移动时,由于物体外观的较小影响,对应的该物体的降低视觉质量通常是不被注意的。对LoD的修改通常可以被应用到几何细节。然而,如本文所使用的,LoD可以额外地指其它细节,例如阴影、纹理或者其它细节,对所述细节的管理可以有助于对像素复杂度和物体渲染质量的控制。
在方面中,在正在执行并发的多媒体应用的设备或者多个设备中,当SoC温度或者SoC功耗水平超过预定的限制或者门限时,可以采取行动以减少处理需求,同时维持或者提供该情形下的最佳的可获得的用户体验。可以向多媒体参数管理器提供在传感器中测量到的或者获得的SoC温度和SoC功率,所述多媒体参数管理器可以被配置为控制或者覆盖存在于用于数据流或者多个数据流的对应的数据流路径或者多个路径中的每个硬件块中的多媒体参数(例如,处理分辨率、帧速率、LoD或者其它参数)。多媒体参数管理器对多媒体参数的控制可以基于针对每个数据流或者多媒体应用所建立的优先级。数据流跟踪器可以收集全部数据流路径的信息,例如,关于存在于每个数据流路径中的硬件块或子块的信息。关于数据流路径的信息可以从各种源来获得,所述各种源包括与数据流相关联的分组的分组报头信息。数据流路径信息可以进一步包括关于正在共享通信信道的另一个用户的设备和并发的多媒体应用(例如,多玩家游戏应用、电话会议应用或者其它多用户应用)中的至少一个并发的多媒体应用的信息。这样的信息可以包括其他用户或者多个用户的目的地地址、与数据流的至少通过网络延伸到其他用户或多个用户的部分相关联的服务质量(QoS)。
多媒体参数调整可以由多媒体参数管理器在一个或多个低优先级数据流中做出,同时保存与一个或多个高优先级数据流相关联的多媒体参数。通过调整低优先级数据流中的多媒体参数,可以减少、最小化或者消除对高优先级数据流上的用户体验的降级。可以有效地降低存在于低优先级数据流中的、由数据流跟踪器识别的全部硬件块或者子块(包括耦合到共享通信信道上的设备中的硬件块或者子块)中的功耗。可以针对数据流路径中的每个块或者子块提供逻辑单元,以决定例如用于模块的所调整的多媒体参数。所调整的多媒体参数可以基于原始参数、覆盖参数和下游模块的参数。
可以以各种方式来建立数据流中的每个数据流的优先级。例如,可以针对与显示器上最经常被设备的用户查看的应用窗口相关联的数据流建立高优先级。通过分析由设备上的照相机捕获的图像来获得的眼睛凝视识别可以被用于自动地检测和生成屏幕上或者外部设备上的眼睛凝视位置的统计。具有凝视位置统计与窗口位置之间的最大相关性的窗口和与这些窗口相关联的应用或者数据流可以被建立为高优先级应用或者数据流。替代地,与占用最大量的屏幕区域的活跃的窗口相关联的数据流可以被指定为高优先级数据流。进一步,应用可以提供与例如其优选的、需要的或者推荐的多媒体参数需求(例如,分辨率、帧速率或者LoD)相关联的额外信息,所述额外信息可以被用于建立至少数据流的初始优先级中。多媒体参数管理器和数据流跟踪器在决定将为数据流建立的优先级时可以使用上文描述的信息中的任何或者全部信息,例如眼睛凝视信息、窗口区域信息、提示信息和其它信息。
如上文描述的,可以为数据流建立优先级,以用在调整沿低优先级数据流的数据流路径的硬件模块的性能或者功率需求中。然而,应用层考虑可以导致与根据上文描述的方面方法为数据流建立的优先级偏离或冲突的应用的优先级。表1示出了具有分配的优先级的应用和数据流的示例。在示出的示例中,数据流A-1、A-2和A-3与并发的多媒体应用A相关联,数据流B-1和B-2与并发的多媒体应用B相关联,并且数据流C-1与并发的多媒体应用C相关联。如表1中所示,可以按降序从上到下来布置与数据流相关联的优先级。
表1
在表1中所示的示例中,数据流A-1已经被分配了为1的优先级(例如,最高的优先级),数据流A-2已经被分配了为2的优先级,数据流A-3已经被分配了为3的优先级,数据流B-1已经被分配了为4的优先级,数据流B-2已经被分配了为5的优先级,并且,数据流C已经被分配了为6的优先级(例如,最低的优先级)。然而,表1还示出了,并发的多媒体应用A、B和C的优先级是以所建立的针对数据流的优先级的潜在的偏离或者冲突的次序来建立的。在一个方面中,如下文参照图5D更详细地描述的,其中多个并发应用被按照优先级来排列(例如,基于眼睛凝视、窗口次序、用户设置等)并且所述并发应用中的一个或多个并发应用具有多于一个数据流的情况可以通过以下方式来解决:基于应用的优先级对数据流的优先级进行加权,并且基于所分配的权重调整数据流优先级。
在方面中,片上系统(SoC)可以具有多个硬件块或者子块,所述硬件块或者子块包括具有不同能力的处理器、照相机块或者多个块、照相机子系统块或者多个块、包括DRAM的存储器设备块或者多个块、功率管理块或者多个块、显示器块或者多个块、无线模块块或者多个块以及其它块。处理器的非限制性示例可以包括高效率处理器,例如,DSP、调制解调器处理器、视觉或者图形处理单元(GPU)、专用高效率处理引擎、专用高效率硬件引擎。处理器的进一步非限制性示例可以包括高性能处理器,例如,应用处理器、具有多个处理器核心的高性能处理器、ARM架构处理器或者将在SoC中适用的其它处理器。
图1A示出了包括第一设备110的设备环境101和包括第二设备130的设备环境103的示例100。第一设备110和第二设备130可以通过网络102来连接。所述连接可以例如通过无线链路105a和105b来完成,所述无线链路105a和105b将设备110和130链接到各自的接入点、蜂窝网络基础设施部件或者其它无线(或者有线)接入节点。网络102可以是无线局域网(WLAN),或者可以是蜂窝通信网络,第一设备110和第二设备130可以通过其进行通信。第一设备110和第二设备130可以通过网络102,取决于与网络102相关联的配置和协议,例如经由共享通信信道、分组数据会话或者其它连接机制来进行通信。在设备环境101中,第一设备110可以通过无线连接116与外部显示器120进行通信,所述无线连接116可以是Wi-Fi直连(WFD)、WiDi或者类似的连接。无线连接116可以允许第二设备130和外部显示器120在不需要接入点的情况下直接并且无线地进行通信。
第一设备110可以配备有照相机114和显示器115。第一设备110可以正在执行诸如视频电话会议应用和游戏应用之类的并发的多媒体应用。视频电话会议应用可以使用照相机114来捕获第一设备110的用户的视频,并且可以在第一设备110的显示器115上的窗口111中在本地显示用户的视频。视频电话会议应用还可以通过网络102向第二设备130发送由照相机114捕获的视频串流。游戏应用可以在第一设备110的显示器115上的窗口112中渲染例如游戏应用的控制窗口的本地显示。第一设备110还可以利用外部显示器120和无线连接116来将与游戏显示的行动部分相关联的图形数据传递给显示器120,以用于在窗口122中进行渲染。
在方面中,第一设备110可以在窗口121中并发地显示与视频电话会议应用的另一方相关联的视频串流或者数据流的进入的部分。视频串流或者数据流的进入的部分可以是基于通过网络102从第二设备130接收的视频数据。视频串流的进入的部分可以通过网络102从第二设备130被传递给第一设备110,并且可以沿用于视频电话会议应用的数据流路径来被传递。游戏应用和视频电话会议应用的多媒体参数(例如,分辨率、帧速率、LoD和其它多媒体参数)可以被应用到窗口111、窗口112、窗口122和窗口121。可以基于沿着与用于捕获、生成和传递游戏图形数据和视频电话会议数据的数据流相关联的各自的数据流路径的各种硬件模块的本机多媒体参数或者经修改的多媒体参数来应用多媒体参数。另外,多媒体参数可以被指定为与构成数据流的数据分组相关联的QoS参数。
类似地,第二设备130可以包括照相机134和显示器135。第二设备130可能正在执行诸如视频电话会议应用和游戏应用的之类的并发的多媒体应用。视频电话会议应用可以使用照相机134来捕获第二设备130的用户的视频,并且在第二设备130的显示器135上的窗口133中在本地显示用户的视频。视频电话会议应用还可以通过网络102向第一设备110发送由照相机134捕获的视频串流。游戏应用可以在第二设备130的显示器135上的窗口132中渲染游戏显示的行动部分或者其它部分的本地显示。第二设备130可以基于通过网络102从第一设备110接收的视频数据来在窗口131中并发地显示与视频电话会议应用的另一方相关联的视频串流,所述显示是,其中,网络102是第二设备130和第一设备110上的视频电话会议应用的数据流路径的一部分。游戏应用和视频电话会议应用的多媒体参数(例如,分辨率、帧速率、LoD和其它多媒体参数)可以被应用到窗口131、窗口133和窗口132。可以基于沿着与用于捕获、生成和传递游戏图形数据和视频电话会议数据的数据流相关联的各自的数据流路径的各种硬件模块的本机多媒体参数或者经修改的多媒体参数来应用多媒体参数。
当执行并发的多媒体应用时,诸如第一设备110和第二设备130之类的设备以及安装在其中的特定SoC块或者子块可以接近或者超过功率和温度限制。在这样的情况下,在完全尺度多媒体参数条件下的继续操作可能变得不可持续。在图1B中,图解140示出了SoC内的各种块的示例功率水平,所述SoC可以被安装在第一设备110和第二设备130中。图解140a示出了支持本地显示器和外部无线(WFD)显示设备的设备(例如,第一设备110)的相对功耗。设备可能正在执行诸如游戏应用和视频电话会议或者视频聊天应用之类的并发的多媒体应用。图1B示出了,在并发的多媒体应用执行期间,与第一设备110相关联的SoC 140的功率水平141a可以如何超过在大约3.2瓦(W)的示例值处的说明性总功耗限制148。额外的功耗贡献可以由与第一设备110相关联的DRAM 142、功率管理集成电路(PMIC)143、显示器144、照相机145和无线模块146来添加。各自的模块向第一设备110的功耗添加DRAM功率贡献142a、PMIC功率贡献143a、显示器功率贡献144a、照相机功率贡献145a和无线模块功率贡献146a。额外的功率贡献导致显著超过总功耗限制148量147a,这在该示例中可以是功率/热预算的接近双倍。
图解140b示出了支持本地显示器(例如设备显示器),并且正在执行诸如游戏应用和视频电话会议或视频聊天应用之类的并发的多媒体应用的设备(例如,第二设备130)的相对功耗。在并发的多媒体应用的执行期间,与第二设备130相关联的SoC 140的功率水平141b可以超过在大约3.2瓦(W)处的示例总功耗限制148。额外的功耗贡献可以由与第二设备130相关联的DRAM 142、功率管理集成电路(PMIC)143、显示器144、照相机145和无线模块136来添加。各自的模块添加DRAM功率贡献142b、PMIC功率贡献143b、显示器功率贡献144b、照相机功率贡献145b和无线模块功率贡献146b。额外的功率贡献可以导致显著超过示例总功耗限制148量147b。取决于诸如周围温度和其它因素之类的情况,第一设备110和第二设备130超过功率限制的量147a和147b可能在短时间段内可以容忍,但是在不调用关机机制或者其它极端措施(关机机制或者其它极端措施可能不利地导致结束并发的多媒体应用和正在进行中的任何游戏或者会议会话)的情况下,不能持续延长的时间段。
在一个一般性示例中,与执行并发的多媒体应用的设备相关联的硬件和软件可以如图1C中所示那样被配置。一个或多个多媒体应用150、151、152可以具有各种数据流,所述各种数据流对于多媒体参数具有特定需求。多媒体应用150可以具有数据流150a和150b,所述数据流150a和150b可以具有与其相关联的多媒体参数需求(例如,分辨率、帧速率、LoD和其它参数)。多媒体应用151可以具有数据流151a、151b和151c,所述数据流151a、151b和151c具有各自与其相关联的多媒体参数需求。进一步,多媒体应用152可以具有数据流152a和152b,所述数据流152a和152b具有各自与其相关联的多媒体参数需求。数据流150a、150b、151a、151b、151c、152a和152b的多媒体参数需求可以在应用中的每个应用内或者在各种应用之间是相同,或者可以是不同的。通常,数据流的多媒体参数需求中的至少一些多媒体参数需求可以在应用中的每个应用内或者在各种应用之间是不同的。一般地,在应用内,不同数据流可以基于例如与数据流相关联的不同硬件块或者模块利用不同的多媒体参数需求来建立。更具体说来,生成数据流的不同硬件块或者模块可以利用不同多媒体参数这样做,而处理数据流的各种硬件模块可以能够利用不同多媒体参数来处置数据流。例如,照相机应用可以具有与采用特定分辨率、帧速率和LoD的视频相关联的数据流。与例如并发的游戏应用相关联的图形渲染也可以具有特定的分辨率、帧速率和LoD。
在现有的解决方案中,数据流150a、150b、151a、151b、151c、152a和152b的个别的本机多媒体参数需求以及数据流自身可以被操作系统(OS)服务和OS内核模块155处理或者处置。OS内核可以提供用于正在使用设备中生成的数据的设备和应用的个别的设备级服务和应用级服务。各种多媒体参数需求155a、155b、155c和155d可以被个别地传递给与SoC156相关联的硬件核心和设备,这可以被实现为对SoC 156上的个别的硬件和设备的设置和配置。然而,在现在的多媒体设备中,不存在用于实现多媒体参数的协调的系统级改变的集中式的OS服务或者内核模块。在常规系统的示例中,频率节流模块160可以被配置为从诸如可以提供温度输入157a的温度传感器157、可以提供功率输入158a的功率传感器158或者可以提供输入159a的其它传感器159之类的各种传感器接收输入。其它传感器或者输入可以关联于并且包括设备的外壳温度、外部或者周围温度、温度趋势输入、电池充电水平输入或者其它输入。当输入到达或者超过特定的已建立的值或者水平时,频率节流模块160可以在不特别考虑多媒体参数的情况下,向SoC 156中的硬件模块的特定固定集合或者子集提供节流信号160a、160b和/或160c。通常,诸如主要处理单元(MPU)和图形处理单元(GPU)之类的主要硬件模块可以被节流,这是因为这些模块被认为对功耗有最直接和重大的影响。然而,由于其它未经节流的模块继续根据本机多媒体参数以通常频率操作,节流对于降低功耗的效率被不利地限制了。当输入的水平返回到门限以下水平时,频率节流可以终止,并且经节流的硬件模块的操作频率可以返回到正常频率值。
为了解决频率节流和其它方法的这些和其它的缺点,适合于与各种方面一起使用的在图2A中示出的示例系统200可以包括提供降低例如SoC中的功耗的更综合和高效的方案的单元。并发的多媒体应用150、151和152可以具有各种数据流,所述各种数据流具有对多媒体参数的需求。多媒体应用150可以具有数据流150a和150b,所述数据流150a和150b可以具有与其相关联的诸如分辨率、帧速率、LoD和其它参数之类的多媒体参数需求。多媒体应用151可以具有数据流151a、151b和151c,所述数据流151a、151b和151c具有各自与其相关联的多媒体参数需求。进一步,多媒体应用152可以具有数据流152a和152b,所述数据流152a和152b具有各自与其相关联的多媒体参数需求。并发的多媒体应用150、151、152可以包括例如视频电话会议应用,实时的多玩家游戏以及视频显示应用。视频电话会议应用和多玩家游戏应用是可以通过网络连接到额外方或者多个额外方的并发的多媒体应用的示例。因此,与视频电话会议应用和游戏应用相关联的多媒体数据流可以被认为是通过网络延伸到其它方或者多个其它方。
数据流150a、150b、151a、151b、151c、152a和152b的多媒体参数需求以及所述数据流自身可以被OS服务和OS内核模块210处理或者处置。OS内核可以为正在使用设备中生成的数据的设备和应用提供设备级服务和应用级服务。在各种方面中,多媒体参数管理器和数据流跟踪器220可以被插入为OS服务和OS内核模块210、并发的多媒体应用150、151和152与SoC模块230中的硬件核心和设备之间的层。多媒体参数管理器和数据流跟踪器220可以从诸如可以提供温度输入157a的温度传感器157、可以提供功率输入158a的功率传感器158或者可以提供输入159的其它传感器159之类的传感器接收输入。尽管被描述为传感器,但是温度传感器157、功率传感器158或者其它传感器或者多个传感器159可以表示寄存器或者其它设备,在其中可以存储从与实际传感器不同的源获得的所计算的值或者多个值。因此,诸如温度输入157a、功率输入158a或者其它输入或多个输入159a之类的所提供的输入可以是从具有各自值的传感器、寄存器、其它设备或者其它源被提供的。
输入到多媒体参数管理器和数据流跟踪器220的温度输入157a、功率输入158a或者其它输入或者多个输入159a中的一项或多项可以超过所建立的功率和热管理的门限。作为响应,或者在值超过门限之前,多媒体参数管理器和数据流跟踪器220可以实施操作,以通过与SoC 230相关联的各种硬件核心和设备来跟踪数据流(例如数据流220a、220b、220c和220d),以建立对应的数据流路径。跟踪数据流路径可以包括调查或者检查与数据流相关联的分组的分组报头,以确定由数据分组采取的通过硬件的路径。数据流路径可以包括向和从其它设备延伸的路径的部分,所述设备可以例如通过网络连接穿过共享通信信道被连接到所述其它设备。多媒体参数管理器和数据流跟踪器220可以建立与数据流和/或并发的多媒体应用150、151和153相关联的优先级。当诸如温度和功率之类的传感器输入值达到或者超过热控制和功率控制所需的门限水平时,多媒体参数管理器和数据流跟踪器220可以降低或者覆盖多媒体参数。与对保持或者最大化用户体验贡献最小的低优先级数据流和/或应用相关联的多媒体参数(例如,分辨率、帧速率、LoD或者其它参数)可以被覆盖或者降低,以便降低沿低优先级数据流路径的硬件模块中的功耗。当传感器输入值返回到门限值之下的值时,多媒体参数管理器和数据流跟踪器220可以确定与低优先级数据流或者任何数据流相关联的多媒体参数是否已经被降低或者覆盖。如将在下面更详细地描述的,多媒体参数管理器和数据流跟踪器220可以将与最高优先级数据流(在其中多媒体参数已经被降低)相关联的多媒体参数恢复为其降低之前的值、原始值或者本机值。
图2B中示出了适用于实现方面的代表性的设备205。设备205可以包括并发应用块250,所述并发应用块250可以表示不同类型的并且具有多媒体参数需求的多个并发地执行的多媒体应用的环境。并发应用块250可以包含并发的多媒体应用251,所述并发的多媒体应用251涉及通过网络连接将设备205耦合到另一个设备或者多个设备的共享通信信道。并发的多媒体应用251可以包括例如3D游戏应用252和视频聊天应用253。并发应用块250还可以包括显示应用54,所述显示应用可以被用于控制在设备205外部的无线显示器。应用块250还可以包括其它多媒体应用255。设备205还可以包括多媒体参数管理器和数据流跟踪器260,所述多媒体参数管理器和数据流跟踪器260可以被配置为管理多媒体参数(例如,分辨率、帧速率、LoD或者其它参数),以及跟踪数据流路径。多媒体参数管理器和数据流跟踪器260可以例如跟踪与多媒体数据流相关联的数据流路径,并且识别各自数据流中涉及的全部硬件模块。多媒体参数管理器和数据流跟踪器260可以进一步识别通过网络连接(例如,网络连接207)延伸到另一个设备或多个设备的数据流路径。
设备205还可以包括硬件块270,所述硬件块270可以包括硬件子块或者子系统,其例如可以是SoC的模块。硬件块270可以包括照相机模块262、照相机子系统263、中央处理单元(CPU)264、图形处理单元(GPU)265、视频编码器/译码器(CODEC)266和移动开发平台(MDP)模块267。硬件子块可以耦合到对应的设备驱动器258,所述设备驱动器258可以被具体地配置用于每个硬件子系统。替代地,设备驱动器258可以是通用的,或者可以对于与子系统相关联的硬件的类型是通用的。设备驱动器258可以作为操作系统内核或者操作系统服务的一部分而被安装,所述一部分允许硬件子块与操作系统、应用软件以及设备部件、系统和子系统的剩余部分一起运行。替代地,设备驱动器258可以是在运行时间期间由应用程序链接到的库的一部分。硬件子系统可以能够根据各种多媒体参数(例如,分辨率、帧速率、细节层次(LoD)和其它参数)生成多媒体数据,这可以由使用硬件子系统的软件模块通过与各自的设备驱动器258交互来控制。设备驱动器258可以提供设备自身与软件之间的接口,所述软件可能需要访问硬件子系统,或者可以向硬件子系统发送数据或者从硬件子系统接收数据。
与硬件模块的交互可以通过库和多媒体框架256以及应用编程接口(API)257来完成。库和多媒体框架256可以通过诸如即插即用机制、功率管理机制和其它机制之类的各种操作系统内核级框架来提供对硬件子系统的访问。库和多媒体框架256还可以通过各种库来提供对硬件子系统的访问。库可以包括动态链接库(DLL)、通用设备驱动器的库、设备专用设备驱动器的库、设备驱动器的支持功能(例如,计时器和调试器)的库。API 257可以提供较高层软件接口,例如,函数调用和提供对硬件子系统的访问的其它接口。访问可以通过包括用户模式机制(例如,软件函数调用、操作系统服务、直接设备功能调用)的机制来提供。访问机制可以允许通过设备驱动器、操作系统和支持服务进行的对硬件子系统的软件控制。对硬件子系统的访问不仅可以被提供给多媒体应用,还可以被提供给包括多媒体参数管理器和数据流跟踪器的其它应用和系统。在方面中,访问可以被用于覆盖硬件子系统的多媒体参数。
在各种方面中,并发应用块250和硬件块270可以耦合到库和多媒体框架256以及API 257。并发应用块250、硬件块270、库和多媒体框架256以及API 257之间的耦合可以是以通过操作系统服务、进程间消息和/或从并发的多媒体应用中的各种多媒体应用对各种硬件子系统的功能调用,或者通过类似的机制的软件耦合为形式的。功能调用或者其它耦合机制可以允许并发应用块250中的多媒体应用从各种硬件子系统和其它多媒体应用接收数据,向各种硬件子系统和其它多媒体应用、并且在各种硬件子系统和其它多媒体应用之间以及沿数据流路径传递数据。功能调用或者其它耦合机制可以进一步允许并发应用块250中的多媒体应用对硬件块270中的各种硬件子系统进行配置。由并发应用块250中的应用作出的功能调用或者其它耦合机制中的一些或者全部功能调用或者耦合机制,以及被建立用于多媒体数据的流的对应的路径(包括硬件块270的硬件单元),可以形成本文所描述的各种多媒体数据流的数据流路径。数据流路径可以进一步包括去往和来自实现通信的网络模块的数据流,所述通信包括通过网络连接207与一个或多个其它设备进行的双向通信。
设备205可以进一步包括传感器块206,所述传感器块206可以向多媒体参数管理器和数据流跟踪器260提供传感器输入数据206a。尽管为了易于描述,传感器块206被示出为单个块,但是传感器块206可以表示一个或多个诸如温度输入、功率输入或者如上文所描述的其它输入之类的传感器输入。多媒体参数管理器和数据流跟踪器260可以为与并发应用块250中的应用相关联的数据流中的各个数据流指定优先级。优先级可以被周期性地更新或者调整。当传感器输入数据206a的值到达或者超过门限值时,多媒体参数管理器和数据流跟踪器260可以基于所指定的优先级来调整与数据流相关联的多媒体参数(例如,分辨率、帧速率、LoD)。例如,具有低优先级的数据流可以在具有较高优先级的数据流之前,或者代替具有较高优先级的数据流,经历降低和多媒体参数(例如,分辨率、帧速率、LoD或者其它参数)。
在一个方面中,多媒体参数的降低、恢复或者调整可以通过连接261在设备驱动器级完成,所述连接261可以是设备驱动器258中的各个设备驱动器与多媒体参数管理器和数据流跟踪器260之间的软件或者逻辑连接。具体说来,多媒体参数管理器和数据流跟踪器260可以被配置为监控硬件块270中的各种硬件子系统的多媒体参数值。多媒体参数管理器和数据流跟踪器260可以进一步被配置具有逻辑单元,以当功率相关的水平(例如,温度和功率输入)超过门限或者限制时,覆盖或者降低沿数据流路径的硬件设备或者子系统的特定多媒体参数的值。多媒体参数管理器和数据流跟踪器260可以在功率相关的水平下降到门限或者限制之下时恢复多媒体参数的值。
例如,多媒体参数管理器和数据流跟踪器260可以确定与数据流路径相关联的优先级,并且可以确定多媒体参数值是否已经针对沿数据流路径的硬件块被降低。当功率相关的值下降到门限或者限制之下时,多媒体参数管理器和数据流跟踪器260可以恢复已经经历了多媒体参数值的降低的最高优先级硬件块的多媒体参数的原始或者本机值。
在方面中,设备驱动器258可以通过连接(例如,软件连接、进程间通信机制或者到多媒体应用中的各种多媒体应用的其它逻辑连接)262a至267a向并发应用块250中的对应应用通知多媒体参数的值的降低或者恢复。例如,可以通过信号或者通过各自的设备驱动器258提供的其它机制来通知多媒体应用。替代地,库和多媒体框架256以及API 257可以提供一种机制,可以通过所述机制来控制硬件,并且可以通过所述机制向多媒体应用提供对多媒体参数改变的通知。由于应用块250中的多媒体应用所断言和预期的设置与多媒体参数管理器和数据流跟踪器260所断言的覆盖设置之间的差别,对应用块250中的多媒体应用的通知可能变得必要或者可取。特别地,当应用可以响应于通知而降低多媒体参数的预期值时,可以消除额外的处理,所述额外的处理对于补偿所预期的和所降低的多媒体参数的值之间的差别可能是另外必需的。
为更好地理解根据方面的数据流路径跟踪,图3A中示出了包括跨越各种硬件子系统的各种数据流和数据流路径的示例300。在方面中,照相机310可以根据给定的多媒体参数(例如,1080p30 YUV 420)来生成未经处理的视频数据,以形成视频数据310a。可以以例如照相机310能够生成的最大帧速率和分辨率来生成视频数据310a。替代地,可以以照相机310当前在硬件级被配置为生成的任何分辨率和帧速率来生成视频数据310a。视频数据310a可以耦合到照相机子系统311,所述照相机子系统311可以处理视频数据310a,以形成在原始多媒体参数(例如,1080p30 YUV420)条件下的数据流1311a和数据流2311b。
在各种方面中,数据流路径内的数据可以是分组数据,所述分组数据包括当所述分组数据穿过各种硬件模块时的一系列经封装的报头。分组报头信息可以被用于识别该分组已经穿过的各种硬件模块。进一步,可以利用诸如进程标识符、线程标识符、上下文标识符之类的各种机制来识别应用和数据流。设备驱动器和操作系统服务可以被用于跟踪与硬件模块相关联的上下文、进程和线程。使用上面的信息,多媒体参数管理器和数据流跟踪器可以跟踪与每个应用和数据流相关联的各种硬件模块,以建立通过SoC中的硬件子系统的数据流路径。
数据流311a和数据流311b可以是具有诸如分辨率和帧速率之类的参数的视频数据流,所述参数可以是如本文中所描述的通过与照相机子系统311的交互可配置的。数据流1311a可以被逻辑地耦合到视频编码器a 312,所述视频编码器a 312可以生成经编码的数据流312a,所述经编码的数据流312a可以进一步被逻辑地耦合到例如视频聊天或者视频会议应用313。经编码的数据流312a可以根据一个或多个多媒体参数(例如,分辨率和帧速率)例如通过无线链路305作为外部流313x被传送到另一个设备(例如,在视频会议应用313的另一端的设备)。视频会议应用313还可以从外部流313x接收经编码的视频,所述经编码的视频可以作为经编码的数据流313a被传送给视频译码器314,经译码的数据流314a可以在所述视频译码器314处生成。可以在任意点处对数据流311a、311b、312a、313a、313x、314a或者其它数据流的数据分组的报头信息进行检查以确定信息,例如,分组已经去过哪里、分组去往哪里以及其它信息。每个设备或者硬件子系统可以在分组报头内附加识别其自身的信息和诸如时间戳之类的其它信息。
可以向图形处理单元(GPU)316传送经译码的数据流314a,所述图形处理单元(GPU)316可以与针对外部设备生成次要图形合成相关联。GPU 316还可以接收从GPU游戏渲染块315生成的图形数据流315a,所述GPU游戏渲染块315可以根据多媒体参数(例如,分辨率、帧速率、LoD或者其它参数)结合游戏应用等而操作。GPU 316可以生成视频数据流316a,所述视频数据流316a可以由图形数据流315a和经译码的数据流314组成,以使得可以根据与外部显示设备兼容的多媒体参数(例如,1080p60YUV)一起显示并发的多媒体数据。视频数据流316a可以进一步被逻辑地耦合和传送到视频编码器2317,所述视频编码器2317可以对合成视频数据流316a进行编码,并且生成视频比特流。视频比特流可以包括与外部显示设备兼容的WFD视频比特流(例如,WFD视频数据流317a)。WFD视频数据流317可以被传送给WLAN模块318。WLAN模块318可以将视频比特流作为无线视频数据流318a传送给次要无线显示器319。数据流2311b可以根据一个或多个多媒体参数(例如,1080p30 YUV420)进行配置,并且可以被逻辑地耦合到与为本地主要显示器生成主要图形合成相关联的GPU 320。GPU320还可以从外部数据流311x、例如从通过网络连接而耦合的设备接收数据。外部设备可能正在执行一个或多个多媒体应用(例如,游戏应用和电话会议应用),所述一个或多个多媒体应用可以根据一个或多个多媒体参数值(例如,1080p30 ARGB)来为外部数据流311x生成多媒体数据。
当如本文中描述的数据流路径被跟踪并且优先级被评估时,存在于数据流路径中的具体的硬件子系统可以被识别,并且基于优先级与具体的数据流相关联。如图3B中所示的,具有硬件子系统的组的数据流路径可以被包括在数据流路径轨迹330中。如图中所强调的,数据流路径轨迹330可以包括例如游戏渲染块315、图形流315a、GPU 316、视频数据流316a、视频编码器2317、WFD视频数据流317a、WLAN模块318、无线视频数据流318a和次要无线显示器319。出于调整硬件或者软件块(例如,图形渲染模块315、GPU 316、视频编码器2317、WLAN模块318和次要显示器319的)的多媒体参数的目的,数据流路径轨迹330中的单元可以被分配了特定的优先级,或者可以被另外地识别。通过调整这些块的多媒体参数,数据流的多媒体参数可以被对应地调整。进一步,针对与并发的多媒体应用相关联的全部数据流,数据流路径可以被跟踪并且按优先级排列,并且随着条件改变而被更新。当多媒体应用新近被执行或者终止时,更新数据流路径和优先级可能特别有用。
在方面中,数据流路径轨迹330可以包括硬件模块(例如,GPU 316),所述硬件模块具有到另一个数据流路径340或者其部分的耦合。数据流路径330和数据流路径340可以都包括经译码的视频流314a。在方面中,经译码的视频流314a可以不是数据流路径轨迹330的一部分,所述数据流路径轨迹330可以被指定为高优先级数据流。由此,数据流路径轨迹330的多媒体参数应当仅在低优先级数据流路径被完全降低之后被降低。因为数据流路径轨迹330是高优先级数据流,所以经译码的视频流314a尽管耦合到高优先级数据流路径轨迹330内的硬件模块,但是可以从数据流路径轨迹330中被省略。作为代替,经译码的视频流314a可以被指定为数据流路径340的一部分,所述数据流路径340可以被指定为具有低优先级。根据本文所描述的方面,数据流路径340可以在较高优先级数据流路径330之前变得服从多媒体参数降低。
在现在的示例中,视频流314a可以使其多媒体参数(例如,分辨率、帧速率、LoD或者其它参数)降低。视频流314a可以带有被降低的多媒体参数被输入给GPU 316,尽管GPU316的输出的当前多媒体参数可能未被降低。视频流314a(例如,带有被降低的多媒体参数)将出现在GPU 316的输出中,所述输出可以以完全多媒体参数值被生成。然而,视频流314a的有效输出将是具有被降低的参数的那个输出。替代地,在某些情况下,尽管视频流314a的多媒体参数值被降低,但是GPU 316可以尝试对视频流314a进行重新缩放,以提供改进的输出。可以利用本机或者原始多媒体参数值(例如,分辨率、帧速率、LoD或者其它参数)来显示GPU 316的与数据流路径轨迹330相关联的部分,包括来自图形渲染模块315的图形流315a,所述图形渲染模块315可以被指定为具有高优先级。
针对沿所跟踪的数据流路径的硬件子系统中的每个硬件子系统来建立设置可以根据如图3C中所示的逻辑单元来完成。所示的逻辑单元本质上是示例性的,并且可以通过多种方式来实现,所述多种方式包括硬件逻辑单元、处理逻辑单元、用软件模块来实现的逻辑单元或者其它方式。所述逻辑单元可以被多媒体参数管理器和数据流跟踪器用于作出关于数据流路径中的硬件子系统中的每个硬件子系统的当前的或者现在的多媒体参数设置的决策。逻辑块340可以被配置为接收输入,并且提供针对当前的硬件子系统的当前多媒体参数设置的输出。逻辑块340可以接收输入341,所述输入341对应于硬件子系统的本机或者原始多媒体参数值。原始多媒体参数值可以包括由对应的应用关于数据流而最初指定的、或者可能由数据流来最初指定的值。逻辑块340可以进一步接收输入342,所述输入342对应于多媒体参数的覆盖值。覆盖值可以是多媒体参数的经调整的值。经调整的多媒体参数可以是由多媒体参数管理器和数据流跟踪器在温度和/或功率水平指示需要调整或者覆盖以维持在所建立的热或者功率预算内的操作时建立的。替代地,可以由于其它原因而产生经调整的多媒体参数或者覆盖值。逻辑块340可以进一步接收输入343,所述输入343表示逻辑块344的结果或者输出。
逻辑块344可以接收输入345,所述输入345对应于数据流路径中的下一个下游硬件子系统的当前多媒体参数设置。逻辑块344可以进一步接收输入346,所述输入346对应于数据流路径中在下一个下游硬件子系统之后的第二个下游硬件子系统的当前多媒体参数设置。逻辑块344可以接收诸如来自沿数据流路径的第N个下游子系统的输入347之类的额外的输入,所述输入347对应于第N个下游块的当前多媒体参数设置。逻辑块344可以将多媒体参数设置输入345、346和347中的最大值作为输入343提供给逻辑块340。相应地,逻辑块344可以允许考虑下游块的最高多媒体参数值,以试图维持最高的可能的用户体验质量。
当逻辑块340正在接收多媒体参数输入341、342和343以及,可选地,诸如优先级值349之类的其它输入中的全部输入时,可以提供多媒体参数输出348。在其它方面中,针对各种所跟踪数据流路径,优先级在多媒体参数管理器和数据流跟踪器中是已经已知的。逻辑块340可以将多媒体参数输入341、342和343中的最小的多媒体参数值作为输出348来提供。多媒体参数输出348由此可以成为当前硬件子系统的多媒体参数设置。在方面中,图3C中所示的逻辑单元可以与调整每个硬件模块或者子系统的多媒体参数值相结合地被应用。逻辑单元可以被周期性地应用,例如,当优先级、温度和功率值或者其它条件发生改变时。替代地,逻辑单元可以被连续地应用,以便更好地适应变化的条件。
如所指出的,当温度水平、功率水平或者其它输入超过用于调用功率管理的门限时,在针对较高优先级数据流多媒体参数被降低或者调整之前,可以首先针对低优先级数据流降低或者调整多媒体参数。反过来,当温度水平、功率水平或者其它输入下降到用于调用功率管理的门限之下时,多媒体参数可以在针对较低优先级数据流和应用被恢复或者调整之前,针对高优先级数据流被恢复或者调整。可以以各种方式来针对各种数据流建立、维护和更新优先级,所述多种方式包括通过检测并发的多媒体应用窗口中的哪些多媒体应用窗口正被最经常地查看或者正在被查看了最长的时间段。
如图4A中所图示的,眼睛凝视检测和识别可以被用于确定并发的多媒体应用的数据流之间的优先级。第一设备110可以以多种方式中的一个更多的方式使用照相机114来监控照相机114的光场422内的眼睛421或者多个眼睛。与眼睛421或者多个眼睛421的注视点423相关联的统计424可以被输入到眼睛凝视优先级模块420,以被收集和存储,以用于在第一设备110的操作期间指示注视点423。眼睛凝视优先级模块420可以使用眼睛凝视信息,或者可以如本文中所描述的结合其它与优先级相关的信息来使用眼睛凝视信息。可以使优先级对多媒体参数管理器和数据流跟踪器460可用。在一个方面中,眼睛凝视检测可以使用例如瞳孔的中心和红外或者近红外非平行光来创建角膜反射(CR)。瞳孔中心与角膜反射之间的向量可以被用于计算注视点或者凝视方向。其它方法可以被用于检测凝视方向或者注视点。可能进一步有必要实施建立用户的参考点的校准过程,所述校准过程可以例如在可以使用眼睛凝视检测之前的建立过程期间被实施。
可以将眼睛移动划分为两个一般类别,注视和扫视。注视可以在眼睛421或多个眼睛的凝视暂停在特定位置处时出现。扫视在眼睛421或多个眼睛处于向另一个注视位置移动的过程中时出现。一系列注视和扫视可以被称为扫描路径。出于建立并发的多媒体应用的数据流的优先级的目的,来自与注视相关联的眼睛421或多个眼睛的信息在建立关于用户正在最经常地查看或者最长持续时间地查看哪个窗口的统计时可以是最有用的。注视通常可以持续大约200毫秒到350毫秒,或者取决于用户正在例如阅读文本还是观看屏幕而可以更长或者更短。对于交互式游戏会话和需要专心和聚焦的其它应用,与游戏应用或者其它应用相关联的窗口内的注视的持续时间可以更延长。
在现在的示例中,注视点423可以位于与游戏应用相关联的窗口410内。电话会议应用的参与方1窗口411在外部显示器120上可以被叠加在游戏应用的游戏窗口410上。诸如电话会议应用的参与方2窗口412和游戏应用的游戏控制窗口413之类的额外的窗口可以被显示在第一设备110上。然而,在游戏窗口410内的注视点423上的眼睛421或多个眼睛的凝视聚焦的持续时间在玩游戏期间可能占优势。尽管对电话会议应用窗口411、参与方2窗口412或者游戏控制窗口413的周期性的眼睛凝视注视可能发生,但是针对眼睛421或多个眼睛的凝视注视的统计可以指示出,用户正主要聚焦在游戏应用的游戏窗口410内,并且因此游戏应用和对应的数据流可以被识别为具有高优先级。
当开发在眼睛凝视优先级模块420中的优先级信息被提供给多媒体参数管理器和数据流跟踪器460时,可以对与并发的多媒体应用相关联的数据流路径进行跟踪。随着温度、功率和其它传感器输入水平或者其它输入水平上升和下降,可以识别沿所跟踪的数据流路径的硬件子系统和模块,以用于多媒体参数调整。当凝视统计改变时,可以更新优先级。当传感器输入水平或者其它输入水平上升并且达到或者超过门限时,可以调用功率管理。沿与低优先级数据流相关联的数据流路径的多媒体参数可以在较高优先级数据流之前被降低或者调整。当传感器输入水平或者其它输入水平下降到门限水平之下时,可以终止功率管理。当功率管理被终止时,沿与高优先级数据流相关联的数据流路径的子系统和模块的多媒体参数可以在较低优先级数据流之前被恢复或调整。
在其它方面中,如图4B中所示的,并发的多媒体应用可以向优先级分配模块440提供信息,所述优先级分配模块440可以被配置为结合多媒体参数管理器和数据流跟踪器460来操作。第二设备130可以被配置具有诸如具有参与方1窗口431和参与方2窗口432的电话会议应用之类的并发的多媒体应用,所述参与方1窗口431和参与方2窗口432被显示在第二设备130的显示器上。并发的多媒体应用还可以包括具有游戏窗口430的游戏应用,在所述游戏窗口430上,与游戏相关联的图形被渲染和显示在第二设备130的显示器上。在方面中,视频电话会议应用可以提供关于优先级的信息。优先级信息可以包括优先级提示442a,所述优先级提示442a可以是结合视频会议应用数据流优先级模块442的优先级偏好、建议、需求或者推荐。
可以由视频会议应用数据流优先级模块442向多媒体参数管理器和数据流跟踪器460的优先级分配模块440提供各种提示(包括与针对一个或多个特定数据流442b、442c和442d所需要或者所推荐的多媒体参数相关联的提示)。游戏应用可以进一步提供诸如优先级提示441a之类的信息,所述优先级提示441a可以是结合游戏应用数据流优先级模块441的优先级偏好、建议、需求和推荐。可以由游戏应用数据流优先级模块441向多媒体参数管理器和数据流跟踪器460的优先级分配模块440提供各种提示(包括与针对一个或多个特定数据流441b、441c、441d和441e所需要或者所推荐的多媒体参数相关联的提示)。优先级分配模块440可以使用提示信息来建立、维护和更新与并发的多媒体应用的数据流相关联的优先级。优先级分配模块440可以结合其它信息来使用提示信息,所述其它信息包括来自眼睛凝视检测统计的信息或者其它优先级相关信息。可以被用于建立和更新优先级的额外的与优先级相关的信息的非限制性示例可以包括关于并发的多媒体应用的窗口中的哪个窗口占用最大的显示器面积、窗口中的哪个窗口是“活跃的”(例如,当前正在从输入设备接收输入)、哪个窗口正在提供最大量的多媒体数据等等的信息。
在图5A中示出的一个方面方法500中,例如,响应于确定温度超过温度门限和功耗超过功率门限中的一项或多项,针对执行在包括SoC的设备上的并发的多媒体应用来管理数据流的方法。在框501中,操作设备可以监控SoC的温度。温度值可以被实时地获取为如本文在上面所描述的由传感器所测量的值。温度值还可以存储在寄存器中,或者作为基于先前测量值的预测值,或者某种组合。进一步,在框502中,操作设备可以监控SoC的功率值。功率值可以实时地被获取为例如实时的电压、电流、传输功率或者其它测量的函数。功率值可以进一步包括已存储的功率值、所预测的功率值、或者基于从所测量或者所存储的值和其它可以影响功率的输入计算出的趋势的值。供替代的功率值的非限制性示例可以包括先前功耗水平的历史值。先前功耗水平可以进一步与各种条件下的并发的多媒体应用中的执行的多媒体应用的过去实例相关联。当相同的应用新近被启动时,或者当相同的应用当前正在执行并且遇到类似条件时,这样的先前功耗信息可以允许相同的应用的当前和未来功率水平被预测。
当SoC温度在门限温度水平处或者以上(例如,被预定或者设置的水平,以便在该水平被满足或者超过(即,确定框503=“是”)时,调用系统功率管理活动以降低温度水平)时,可以采取行动以减轻功耗。当SoC温度不在门限温度以上(即,确定框503=“否”)时并且SoC功率在门限功率水平处或者以上(即,确定框504=“是”)时,也可以采取行动以减轻功耗。门限水平可以包括被预定或者设置的水平,以便当该水平被满足或超过时,调用系统功率管理活动以降低功率水平。
在一个方面中,为减轻功耗,在框505中,可以识别出还未经历多媒体参数降低的数据流中具有最低优先级的并发的多媒体应用的数据流中的一个或多个数据流。数据流的优先级可以与一个或多个多媒体参数的降低将引起的对用户体验的影响直接相关。进一步,当识别了具有最低优先级的数据流时,可以识别具有下一个最高优先级的并发的多媒体应用的数据流中的额外的数据流等,直到全部并发的多媒体数据流可以具有分配给其的优先级为止。在方面中,在设备操作期间,随着新的并发多媒体应用被启动、终止,或者随着用户将焦点切换到应用中不同应用,优先级可以被连续或者周期性地调整和更新。
当识别了具有最低优先级的数据流时,在框506中,可以针对所识别的数据流来跟踪数据流路径。在一个方面中,可以例如通过跟踪物理数据流路径来跟踪数据流路径。如所指出的,与数据流相关联的每个分组可以包含识别该分组已经穿过的硬件模块或者子系统中的每个硬件模块或者子系统的报头或者一系列经封装的报头。分组报头信息可以进一步识别沿该分组的数据流路径的硬件模块或者子系统的源和目的地址。跟踪物理流路径可以涉及识别分组源和目的地址,以及将地址与数据流或者数据传递路径内的硬件模块或者子系统相关联。由此,可以针对具体的数据流路径识别贯穿SoC的、在接收和传递多媒体数据中涉及的硬件模块或者子系统。可以通过监控诸如寄存器之类的各种处理器资源或者其它用于传递分组的机制来识别正在访问(例如,读取或者写入)分组的硬件单元。替代地,可以通过诸如由多媒体参数管理器和数据流跟踪器来独立地读取分组报头信息来识别硬件单元。
在其它方面中,可以基于对应用代码的分析来提前确定数据流路径,以确定各种与内核相关的、对或者关联于用于具体的多媒体数据流或者串流的各种硬件单元的调用。在其它方面中,多媒体数据流可以被提供具有流识别符,所述流识别符可以在识别数据流路径和数据流路径内的硬件单元中进行辅助。在方面中,在设备操作期间,随着新的并发多媒体应用被启动、终止,或者随着用户将焦点切换到应用中不同应用,数据流路径可以被连续或者周期性地调整和更新。
当已经跟踪了数据流路径以便识别沿数据流路径的硬件单元时,在框507中,可以针对沿数据流路径的全部硬件单元来降低一个或多个多媒体参数(例如,分辨率、帧速率、LoD或者其它参数),以便降低功耗。降低多媒体参数可以包括降低与图像或者视频串流捕获设备(例如,照相机)相关联的分辨率、帧速率、LoD或者其它参数,降低照相机子系统的所选择的分辨率或者帧速率,或者其它用于影响多媒体参数或者多个多媒体参数中的降低的机制。这样的降低可以涉及例如由并发的多媒体应用中的一个多媒体应用来覆盖先前做出的现有设置。降低可以由被配置为与操作系统合作工作的多媒体参数管理器和数据流跟踪器模块例如通过与相关联的硬件子系统的设备驱动器进行交互来完成。
当多媒体参数被降低时,多媒体参数管理器和/或受影响的设备驱动器可以被配置为向相关的应用或多个应用提供通知。通知可以指示已经出于实现功率管理措施的目的而降低了参数。替代地,应用可能仍然不知道这样的降低已经发生。当被通知所述降低时,应用可以向用户提供通知。用户可以有机会确定哪些应用可以被选择进行降低,或者哪些应用可以被完全关闭,以改进功耗性能。在针对所识别的数据流路径降低了多媒体参数之后,处理可以返回以继续监控温度和功率。针对额外的应用和/或数据流路径,过程可以继续迭代,温度和功率水平应当保持在门限以上。直到可以确定当前的降低在降低温度和功率水平中的有效性之前,延迟对额外的应用和/或数据路径的多媒体参数的降低,也可能是有益的。替代地,可以建立参数降低门限和低于参数降低门限的参数恢复门限,以提供滞后的水平。
当SoC温度不在门限温度水平处或者以上(即,确定框503=“否”)时,以及当SoC功率不在门限功率水平处或者以上(即,确定框504——“否”)时,可以采取行动以恢复多媒体参数。当SoC功率在门限功率水平以下,并且在当前水平处的继续操作将不调用功率管理措施时,可以采取行动。多媒体参数值可以在硬件单元中被恢复,在所述硬件单元中,多媒体参数已经被降低。在方面中,直到可以确定当前的降低在降低温度和功率水平中的有效性之前,延迟对在其中多媒体参数已经被降低的硬件单元的多媒体参数的恢复,也可能是有益的。
例如,在一些方面中,可以在确定对多媒体参数的恢复不会导致门限以上的温度或者功率水平即时返回时恢复多媒体参数。所述确定可以涉及,例如,对所监控的温度或者功率水平的下降趋势的分析。替代地,或者除分析趋势之外,可以建立固定的时间或者单独的恢复门限水平,以提供防止参数降低或恢复措施的迅速循环(这很可能对用户体验有不良影响)的滞后的量。替代地,可以调整多媒体参数的恢复或者降低的程度,以使得功耗水平在目标水平上收敛。例如,如果温度或者功率水平仅稍微低于或者超过功率门限限制,则可以作出小的恢复或者降低。当温度或者功率水平显著地低于或者超过功率门限限制时,可以作出较大恢复或者降低。
当温度和功率水平被确定为在门限或者限制(这可以包括在一定量的时间内低于门限或者限制)以下时,则可以采取恢复多媒体参数的行动。替代地,当温度和功率水平被确定为在恢复门限水平以下时,可以采取恢复多媒体参数的行动。在框508中,可以识别出具有最高优先级的数据流,在所述具有最高优先级的数据流中,已经在沿着所跟踪的数据路径的硬件单元中降低了一个或多个多媒体参数(例如,分辨率、帧速率、LoD或者其它参数)。例如,多媒体参数管理器和数据流跟踪器可以基于原始或本机参数和当前参数来维护关于优先级以及关于哪些硬件模块已经经历了多媒体参数的降低的信息。
进一步,可以识别其中的多媒体参数已经被降低的具有最高优先级的数据流。当识别了具有最高优先级的数据流时,可以识别数据流中的具有下一个最低优先级的额外的数据流,等等。可以对数据流优先级进行识别,直到在其中多媒体参数已经被降低的全部数据流可以被识别为止。替代地,可以在通过方面方法500在随后迭代中作出这样的确定。当已经识别了在其中多媒体参数已经被降低的具有最高优先级的数据流时,在框509中,可以针对具有相关联的优先级的所识别的数据路径来跟踪数据流路径。替代地,多媒体参数管理器和数据流跟踪器可以先前已经识别、跟踪和存储了关于相关数据流路径的信息。
当数据流路径已被跟踪时,在框510中,可以将沿数据流路径的硬件子系统的多媒体参数恢复为原始或者本机值。当已经针对所识别的数据流路径恢复了多媒体参数或多个多媒体参数时,处理可以返回到继续监控温度和功率。针对额外的应用和/或数据流路径,过程可以继续迭代,温度和功率水平应当保持在门限以下。迭代可以继续,直到全部多媒体参数被恢复为原始或者本机值为止。
如文本在上面所描述的,可以针对数据流建立优先级。在一个方面方法520中,如图5B中所示的,如果可用的话,则在框521中,并发的多媒体应用可以例如向操作系统或者向多媒体参数管理器和数据流跟踪器提供关于与其相关联的多媒体参数(例如,分辨率、帧速率、LoD或者其它参数)的必需的、推荐的或者优选的值的信息。提供这样的信息可以在应用启动或者执行时发生,或者可以在由操作系统或者多媒体参数管理器和数据流跟踪器进行请求时提供。由应用提供的多媒体参数可以包括优选的值、必需的值、值的范围,或者可以包括将提供可接受的用户体验的多媒体参数的最小值。例如,应用可以提供优选的分辨率、帧速率、LoD和/或在其以下用户体验将变得不可接受的最小分辨率、帧速率、LoD。并发的多媒体应用还可以提供例如用于最优用户体验的推荐优先级。多媒体参数管理器和数据流跟踪器可以使用所提供的多媒体参数信息来建立数据流的优先级。例如,如果第一应用指示了延伸到第二应用的必需的最小分辨率以下的优选或者推荐分辨率范围,则可以为第一应用的数据流分配较低的优先级,这是因为这些数据流可以容忍比与第二应用相关联的数据流更大程度的分辨率降低。
当建立了初始分辨率和优先级时,可以确定眼睛凝视输入是否可用。当眼睛凝视输入可用(即,确定框522=“是”)时,在框523中,可以使用眼睛凝视输入来改善或者更新先前已建立的优先级,或者建立新的优先级。眼睛凝视输入可以包括如上文描述的眼睛凝视统计,或者可以是来自眼睛凝视子系统的直接输入。眼睛凝视统计可以采取不同的形式。例如,眼睛凝视统计可以是针对与应用相关联的数据流中的图像的已存储图像柱状图数据、变换数据或者其它与眼睛凝视相关的数据的集合。眼睛凝视统计可以进一步是,连续被更新的已存储图像柱状图数据的组的集合或多个集合,其是在特定时间段处被收集、或者基于眼睛凝视信息的特性被隔离的。替代地,监控实时眼睛凝视统计或者信息,或者将实时信息与已存储的眼睛凝视信息结合可以是可能的。
当优先级已经被建立、更新或者改善时,可以确定其它优先级信息是否可用。当其它优先级信息可用(即,确定框524=“是”)时,在框525中,其它优先级信息可以被用于建立、更新或者改善现有的优先级。其它优先级信息可以包括关于当前活跃窗口(例如,具有对输入的控制或者接收输入的窗口)的信息。其它优先级信息可以进一步包括关于占用最大显示器区域的窗口的信息。当已经提供了全部的优先级信息时,在框526中,可以基于所述优先级信息来建立全部并发的多媒体应用的数据流的优先级。也可以使用除上文所描述的之外的额外信息。例如,信息可以可用于确定并发的多媒体应用中的每个多媒体应用对用户体验的质量贡献。然而,在某种程度上,上文针对数据流所阐述的优先级信息可以提供对各自的质量贡献的指示。可以基于诸如所需要的多媒体参数的值之类的因素、优先级、以及诸如所需要的交互和其它启发的水平之类的其它因素来确定质量贡献。当针对全部数据流建立了优先级时,过程可以返回到框521,并且继续通过在操作期间重复地循环完成所述过程来改善和更新优先级。
针对特定的数据流对多媒体参数作出调整可以基于与数据流的内容相关联的特性。在一个方面方法530中,如图5C中所示的,特性可以被用于作出关于首先调整各种多媒体参数中的哪个多媒体参数的决策。例如,在一个方面中,基于视频或图形数据的特定特性,可以将尤其是分辨率和帧速率识别为当被调整时可以对并发的多媒体应用中的各种多媒体应用的用户体验质量具有不同影响的参数。多媒体参数管理器和数据流跟踪器或者其它处理模块可以被配置为,在框531中,对与关联于并发的多媒体应用的数据流中的每个数据流相关联的图像统计进行分析,以确定数据内容的动态特性。替代地,可以对与已经被识别为参数降低(例如,最低优先级)的候选的应用相关联的数据流的内容实施实时分析。
图像统计可以包括关于与数据流中的图像相关联的因素的图像柱状图或者其它统计或信息,其指示图像动态的存在或者不存在和程度。术语“图像动态”可以指诸如组成与电话会议应用相关联的视频串流或者与游戏应用相关联的图形串流的数据流的连续图像的改变或者运动之类的信息。一般说来,可以针对帧之间的相似性或者差别来分析图像统计。可以检测图像的诸如边缘之类的特征。特征的帧间移动可以被用于确定或者指示数据流的动态特性。特征可以进一步包括局部最大量。可以将局部最大量与背景水平相比较,并且局部最大量的帧间移动可以被用于确定或者指示数据流的动态特性。诸如颜色、颜色的改变、颜色强度的改变或者其它特征之类的其它特征可以指示数据流中的动态范围的水平或者程度。例如,与图像相关联的“宽”柱状图可以指示高动态范围,而柱状图性质中的迅速帧间改变可以指示运动。可以为数据的动态特征分配来自范围的值或者连续的值。由此,帧、多个帧或者整个数据流的动态特性可以相对于彼此被评估为例如比另一个“更高”或者“更低”。替代地,所述值可以是相对于参考值或者多个参考值的。
当多媒体参数降低对于数据流是必要的,并且高动态存在于数据流中(即,确定框531=“是”)时,在框533中,可以首先降低分辨率参数,然后,如果必要的话,可以降低帧速率参数。在帧速率之前对分辨率的降低可以在相同的参数调整操作期间执行,或者可以在随着过程迭代的随后参数降低操作中执行。高图像动态通常可以与和根本内容相关联的图像中的高的改变或者移动水平相关。进一步地,对具有高移动程度的图像串流进行的显示或者渲染的感知质量被帧速率参数的降低最不利地影响。由此,经由首先降低分辨率,可以有利地保护所显示的或者所渲染的高移动图像串流的感知质量。当降低分辨率参数时,在框531中,处理可以返回以进行进一步分析。
当高动态未存在于与数据流相关联的图像中(即,确定框532=“否”)时,可以确定低动态是否存在于与数据流相关联的图像中。为了在图像动态的“高”值和“低”值之间进行区分,可以针对图像统计中的动态水平建立门限或多个门限。当动态水平在门限或多个门限以上时,数据流可以被指定为具有高动态水平。当动态水平低于门限或多个门限时,数据流可以被指定为具有低动态水平。在用两个门限的方面中,可能出现中间的动态水平,导致所指定的动态水平既不高也不低,并且可以降低任何一个参数。
当低动态水平存在于与数据流相关联的图像中(即,确定框534=“是”)时,在框535中,可以首先降低帧速率,然后,如果必要的话,可以降低分辨率参数。在分辨率之前对帧速率的降低可以在相同的参数调整操作期间执行,或者可以随着过程迭代在随后的参数降低操作中执行。低图像动态通常可以与和根本内容相关联的图像的低的改变或移动水平相关。进一步,对具有低移动程度的图像串流进行的显示或者渲染的感知质量被分辨率参数的降低最不利地影响。由此,通过首先降低帧速率,可以有利地保护所显示的或者所渲染的低移动图像串流的感知质量。当降低帧速率参数时,在框531中,处理可以返回以进行进一步分析。当低动态未存在于与数据流相关联的图像中(即,确定框534=“否”)时,处理可以返回到框531以进行框531中的对图像统计的继续分析。
因为一些应用可以具有或者支持多个数据路径,并且可以为应用分配优先级(例如,基于眼睛凝视、窗口位置等),所以图5D中所示的一个方面方法540考虑应用优先级以适当地调整数据流优先级。当例如在上面描述的框526中已经建立了数据流优先级时,在框541中,还可以为并发的多媒体应用分配优先级。应用优先级可以基于操作系统指定(例如,与应用相关联的线程或者进程的调度优先级),并且可以取决于各种因素,包括操作系统进程优先级、应用进程的状态、上下文切换和其它考虑因素。应用优先级可以在应用的执行期间改变,这取决于每个应用的状态及其进程的类别,例如,空闲、低优先级、高优先级、实时等。还可以有被分配给每个进程类别内的进程线程的优先级。
为了确定是否应当考虑应用优先级,在确定框542中,处理器可以确定与应用相关联的优先级是否与针对数据流建立的优先级冲突(即,不同)。当处理器确定应用和数据流优先级冲突(即,确定框542=“是”)时,在框542中,处理器可以基于对应的应用优先级为数据流优先级分配权重。例如,当给定的并发的多媒体应用的优先级相对地低,但是应用的已建立的数据流优先级与较高优先级应用的数据流优先级相比相对地高时,可以为与相对低优先级应用相关联的数据流分配较低的权重。
在确定框544中,处理器还可以确定其它优先级信息(如上文参照图5B所描述的眼睛凝视信息或者其它信息)是否可用。当其它优先级信息可用(即,确定框544=“是”)时,在框545中,可以基于额外的优先级信息来修改分配给数据流的权重。
在框546中,处理器可以使用已分配的优先级来调整数据流优先级。在该操作中,原始被分配了较低优先级但是基于其对应的应用的优先级被分配了高加权因子的数据流可以使其优先级被提高,而原始被分配了较高优先级但是基于其对应的应用的优先级被分配了低加权因子的数据流可以使其优先级被降低。然后,经调整的数据流优先级可以被用在如上文所描述的调整资源和控制进程中,例如,继续进行上文参照图5A中的框505来描述的操作。
当处理器确定应用和数据流优先级不冲突(即,确定框542=“否”)时,数据流的优先级可以保持不变,并且原始数据流优先级可以被用在如上文所描述的调整资源和控制进程中,例如,继续进行上文参照图5A中的框505描述的操作。
本文所描述的各种方面可以被实现在各种移动计算设备(例如,智能电话、特征电话等)中的任何移动计算设备中,图6中示出了所述移动计算设备的示例。例如,移动计算设备600可以包括耦合到内部存储器602的处理器601。内部存储器602可以是易失性的或者非易失性的存储器,并且还可以是安全和/或经加密的存储器、或者非安全和/或未经加密的存储器,或者其任意组合。处理器601还可以被耦合到触摸屏显示器606,例如,电阻感应触摸屏、电容感应触摸屏、红外感应触摸屏等。然而,移动计算设备600的显示器不需要具有触摸屏能力。移动计算设备600可以具有用于发送和接收本文所描述的无线信号的一个或多个短距离无线信号收发机618(例如,花生(Peanut)、紫蜂RF无线电)和天线608。收发机618和天线608可以与上文提到的电路一起被用于实现各种无线传输协议栈/接口。移动计算设备600可以包括实现经由蜂窝网络进行的通信的蜂窝网络无线调制解调器芯片620。移动计算设备600还可以包括用于接收用户输入的有形的按钮612a和612b。
包括个人计算机和膝上型计算机的其它形式的计算设备可以被用于实现各种方面。这样的计算设备通常包括图7中所示的部件,图7示出了示例的膝上型计算设备700。许多膝上型计算机包括触摸板触摸表面714,所述触摸板触摸表面714充当计算机的指点设备,并且因此可以接收拖拽、滚动和点击手势(类似于实现在配备了触摸屏显示器并且如上面所描述的移动计算设备上的那些手势)。膝上型计算机700通常包括处理器701,所述处理器701耦合到易失性内部存储器702和诸如硬盘驱动器706之类的大容量非易失性存储器。膝上型计算机700还可以包括耦合到处理器701的压缩盘(CD)和/或DVD驱动器708。膝上型计算机设备700还可以包括耦合到处理器701的多个连接器端口710,以用于建立数据连接或者接收外部存储器设备,例如,用于将处理器701耦合到网络的网络连接电路。膝上型计算机设备700可以具有一个或多个短距离无线信号收发机718(例如,RF无线电)和天线720,以用于发送和接收本文所描述的无线信号。收发机718和天线720可以与上文提到的电路一起被用于实现各种无线传输协议栈/接口。在膝上型计算机或者笔记本配置中,计算机外壳包括触摸板714、键盘712和显示器716,其全部耦合到处理器701。如所熟知的,计算设备的其它配置可以包括(例如,经由USB输入)耦合到处理器的计算机鼠标或者轨迹球,所述计算机鼠标或者轨迹球也可以与各种方面结合起来使用。
处理器601和701可以是任何可以由软件指令(应用)配置为执行各种功能(包括上文所描述的各种方面的功能)的可编程微处理器、微计算机或者多处理器芯片或多个多处理器芯片。在各种设备中,可以提供多个处理器,例如,一个处理器专用于无线通信功能,以及,一个处理器专用于运行其它应用。通常,软件应用在其被访问和加载到处理器601和701中之前可以被存储在内部存储器602和702中。处理器601和701可以包括足够存储应用软件指令的内部存储器。在许多设备中,内部存储器可以是易失性的或者非易失性的存储器(例如,闪速存储器),或者是两者的混合。出于本描述的目的,对存储器的一般引用指可被处理器601和701访问的存储器,包括内部存储器或者插入到各种设备中的可移除存储器以及处理器601和701内的存储器。
前述方法描述和过程流图仅作为说明性的示例而被提供,并且不旨在要求或者暗示各种方面的步骤必须以所给出的次序来执行。如本领域的技术人员应当认识到的,前述方面中的步骤的次序可以以任何次序来执行。术语“在那之后”、“然后”、“接下来”等不旨在限制步骤的次序;这些术语仅用于引导读者完成对方法的描述。进一步,例如使用冠词“一”、“一个”或者“那个”以单数对权利要求要素的任何引用,不是要被理解为将所述单元限于单数。
结合本文所公开的方面描述的各种说明性的逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或者两者的组合。为了清楚地示出硬件和软件的该可互换性,已经在上文总体地就其功能描述了各种说明性的部件、块、模块、电路和步骤。这样的功能被实现为硬件还是软件,取决于特定应用和对整个系统施加的设计约束。技术人员可以针对每个特定应用以不同方式实现所描述的功能,但是这样的实现方式决策不应当理解为导致脱离本发明的范围。
被用于实现结合本文所公开的方面来描述的各种说明性的逻辑单元、逻辑块、模块和电路的硬件可以利用被设计为执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑设备、分立的门或者晶体管逻辑器件、分立的硬件部件、或者其任意组合来实现或者执行。通用处理器可以是微处理器,但是或者,所述处理器可以是任何常规处理器、控制器、微控制器或者状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个结合DSP核心的微处理器或者任何其它这样的配置。替代地,某些步骤或者方法可以由专用于给定功能的电路来执行。
在一个或多个示例方面中,所描述的功能可以用硬件、软件、固件或者其任意组合来实现。如果用软件来实现,则功能可以被存储为非暂时性处理器可读介质中的一个或多个指令或者代码。本文所公开的方法或者算法的步骤可以被体现在处理器可执行软件模块中,所述处理器可执行软件模块可以位于非暂时性处理器可读存储介质中。非暂时性处理器可读存储介质可以是可以由处理器或计算机访问的任何可用介质。作为示例并且非限制,这样的非暂时性处理器可读介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储器、磁盘存储器、或者其它磁存储设备、或者任何其它可以被用于以可以被计算机访问的指令或者数据结构的形式来存储期望的程序代码的介质。如本文所使用的磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光盘,其中,磁盘通常磁性地复制数据,而光盘利用激光来光学地复制数据。以上的组合也应当被包括在非暂时性处理器可读介质的范围内。额外地,方法或者算法的操作可以作为代码和/或指令中的一个或任何组合或者集合存在于非暂时性处理器可读介质和/或计算机可读介质上,所述非暂时性处理器可读介质和/或计算机可读介质可以被并入计算机程序产品中。
为了使本领域的技术人员能够制作或者使用本发明提供了对所公开的方面的之前描述。对这些方面的各种修改对于本领域的技术人员将显而易见,并且本文所定义的一般原理可以被应用于其它方面,而不会脱离本发明的精神或者范围的情况。由此,本发明不旨在限于在本文所示出的方面,而是旨在符合与下面的权利要求和本文所公开的原理和新颖的特征一致的最宽范围。
Claims (40)
1.一种通过管理并发的多媒体应用的数据流来管理包括片上系统(SoC)的计算设备的功率或者温度的方法,所述方法包括:
响应于确定温度超过温度门限和功耗超过功率门限中的一项或多项,识别所述并发的多媒体应用中的最低优先级数据流;
跟踪与所识别的最低优先级数据流相关联的数据流的数据流路径,所跟踪的数据流路径识别由所述最低优先级数据流穿过的使用多媒体参数操作的所有硬件模块,其中,所述多媒体参数是与所述并发的多媒体应用的处理器密集方面相关联的;以及
降低沿所跟踪的与所识别的最低优先级数据流相关联的所述数据流的数据流路径的所识别的硬件模块的所述多媒体参数,以便管理所述温度和所述功耗中的所述一项或多项。
2.根据权利要求1所述的方法,还包括:
当温度和功耗中的所述一项或多项不再超过所述门限时,识别所述并发的多媒体应用中已经使所述多媒体参数降低的最高优先级数据流;
跟踪与所识别的最高优先级数据流相关联的数据流的数据流路径,所跟踪的数据流路径识别由所述最高优先级数据流穿过的使用所述多媒体参数操作的所有硬件模块;以及
沿所跟踪的与所识别的最高优先级数据流相关联的所述数据流的数据流路径,针对所识别的硬件模块将所述多媒体参数恢复到原始值。
3.根据权利要求1所述的方法,其中:
所述多媒体参数包括所述数据流的分辨率和帧速率中的一项;以及
降低沿所跟踪的所述数据流的数据流路径的任何硬件模块的多媒体参数包括:
分析所述数据流的图像统计,以确定与所述数据流相关联的动态水平;
当所述动态水平在门限水平以上时,首先降低沿所述数据流路径的所识别的硬件子系统的所述分辨率;以及
当所述动态水平在所述门限水平以下时,首先降低沿所述数据流路径的所识别的硬件子系统的所述帧速率。
4.根据权利要求1所述的方法,还包括:基于预定的应用优先级,建立所述并发的多媒体应用的数据流之间的优先级。
5.根据权利要求1所述的方法,还包括:基于眼睛凝视统计,建立所述并发的多媒体应用的数据流之间的优先级,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口。
6.根据权利要求1所述的方法,还包括:基于与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口,建立所述并发的多媒体应用的数据流之间的优先级。
7.根据权利要求1所述的方法,还包括:
基于以下各项中的一项或多项,建立所述并发的多媒体应用的数据流之间的优先级:预定的应用优先级;眼睛凝视统计,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口;以及与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口;以及
基于分配给所述并发的多媒体应用的优先级,调整所建立的所述并发的多媒体应用的所述数据流之间的优先级。
8.根据权利要求1所述的方法,其中,降低与所识别的最低优先级数据流相关联的数据流的多媒体参数包括:
分析所述数据流的内容的特性;以及
基于分析所述数据流的所述内容的所述特性的结果,选择进行降低的所述多媒体参数。
9.根据权利要求1所述的方法,其中,所述多媒体参数包括与所述数据流相关联的分辨率、帧速率和细节层次(LoD)中的一项。
10.根据权利要求1所述的方法,其中,所述并发的多媒体应用包括至少电话会议应用和游戏应用。
11.一种计算设备,其中功率或者温度是通过管理并发的多媒体应用的数据流来管理的,包括:
存储器;以及
处理器,其耦合到所述存储器,并且被配置为具有用于执行包括以下操作的操作的处理器可执行指令:
响应于确定温度超过温度门限和功耗超过功率门限中的一项或多项,识别所述并发的多媒体应用中的最低优先级数据流;
跟踪与所识别的最低优先级数据流相关联的数据流的数据流路径,所跟踪的数据流路径识别由所述最低优先级数据流穿过的使用多媒体参数操作的所有硬件模块,其中,所述多媒体参数是与所述并发的多媒体应用的处理器密集方面相关联的;以及
降低沿所跟踪的与所识别的最低优先级数据流相关联的所述数据流的数据流路径的所识别的硬件模块的所述多媒体参数,以便管理所述温度和所述功耗中的所述一项或多项。
12.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有用于执行还包括以下操作的操作的处理器可执行指令:
当温度和功耗中的所述一项或多项不再超过所述门限时,识别所述并发的多媒体应用中已经使所述多媒体参数降低的最高优先级数据流;
跟踪与所识别的最高优先级数据流相关联的数据流的数据流路径,所跟踪的数据流路径识别由所述最高优先级数据流穿过的使用所述多媒体参数操作的所有硬件模块;以及
沿所跟踪的与所识别的最高优先级数据流相关联的所述数据流的数据流路径,针对所识别的硬件模块将所述多媒体参数恢复到原始值。
13.根据权利要求11所述的计算设备,其中:
所述多媒体参数包括所述数据流的分辨率和帧速率中的一项;以及
所述处理器被配置为具有处理器可执行指令以执行操作,以使得降低沿所跟踪的所述数据流的数据流路径的任何硬件模块的多媒体参数包括:
分析所述数据流的图像统计,以确定与所述数据流相关联的动态水平;
当所述动态水平在门限水平以上时,首先降低沿所述数据流路径的所识别的硬件子系统的所述分辨率;以及
当所述动态水平在所述门限水平以下时,首先降低沿所述数据流路径的所识别的硬件子系统的所述帧速率。
14.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有用于执行还包括以下操作的操作的处理器可执行指令:基于预定的应用优先级,建立所述并发的多媒体应用的所述数据流之间的优先级。
15.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有用于执行还包括以下操作的操作的处理器可执行指令:基于眼睛凝视统计,建立所述并发的多媒体应用的数据流之间的优先级,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口。
16.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有用于执行还包括以下操作的操作的处理器可执行指令:基于与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口,建立所述并发的多媒体应用的数据流之间的优先级。
17.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有用于执行还包括以下操作的操作的处理器可执行指令:
基于以下各项中的一项或多项,建立所述并发的多媒体应用的数据流之间的优先级:预定的应用优先级;眼睛凝视统计,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口;以及与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口;以及
基于与所述并发的多媒体应用中的一个或多个多媒体应用的应用优先级相关联的权重,调整所建立的所述并发的多媒体应用的所述数据流之间的优先级。
18.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有处理器可执行指令以执行操作,以使得降低与所识别的最低优先级数据流相关联的数据流的多媒体参数包括:
分析所述数据流的内容的特性;以及
基于分析所述数据流的所述内容的所述特性的结果,选择进行降低的所述多媒体参数。
19.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有处理器可执行指令以执行操作,以使得所述多媒体参数包括与所述数据流相关联的分辨率、帧速率和细节层次(LoD)中的一项。
20.根据权利要求11所述的计算设备,其中,所述处理器被配置为具有处理器可执行指令以执行操作,以使得所述并发的多媒体应用包括至少电话会议应用和游戏应用。
21.一种计算设备,其中功率或者温度是通过管理并发的多媒体应用的数据流来管理的,包括:
用于响应于确定温度超过温度门限和功耗超过功率门限中的一项或多项,识别所述并发的多媒体应用中的最低优先级数据流的单元;
用于跟踪与所识别的最低优先级数据流相关联的数据流的数据流路径的单元,所跟踪的数据流路径识别由所述最低优先级数据流穿过的使用多媒体参数操作的所有硬件模块,其中,所述多媒体参数是与所述并发的多媒体应用的处理器密集方面相关联的;以及
用于降低沿所跟踪的与所识别的最低优先级数据流相关联的所述数据流的数据流路径的所识别的硬件模块的所述多媒体参数,以便管理所述温度和所述功耗中的所述一项或多项的单元。
22.根据权利要求21所述的计算设备,还包括:
用于当温度和功耗中的所述一项或多项不再超过所述门限时,识别所述并发的多媒体应用中已经使所述多媒体参数降低的最高优先级数据流的单元;
用于跟踪与所识别的最高优先级数据流相关联的数据流的数据流路径的单元,所跟踪的数据流路径识别由所述最高优先级数据流穿过的使用所述多媒体参数操作的所有硬件模块;以及
用于沿所跟踪的与所识别的最高优先级数据流相关联的所述数据流的数据流路径,针对所识别的硬件模块将所述多媒体参数恢复到原始值的单元。
23.根据权利要求21所述的计算设备,其中:
所述多媒体参数包括所述数据流的分辨率和帧速率中的一项;以及
用于降低沿所跟踪的所述数据流的数据流路径的任何硬件模块的多媒体参数的单元包括:
用于分析所述数据流的图像统计,以确定与所述数据流相关联的动态水平的单元;
用于当所述动态水平在门限水平以上时,首先降低沿所述数据流路径的所识别的硬件子系统的所述分辨率的单元;以及
用于当所述动态水平在所述门限水平以下时,首先降低沿所述数据流路径的所识别的硬件子系统的所述帧速率的单元。
24.根据权利要求21所述的计算设备,还包括:用于基于预定的应用优先级,建立所述并发的多媒体应用的数据流之间的优先级的单元。
25.根据权利要求21所述的计算设备,还包括:用于基于眼睛凝视统计,建立所述并发的多媒体应用的数据流之间的优先级的单元,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口。
26.根据权利要求21所述的计算设备,还包括:用于基于与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口,建立所述并发的多媒体应用的数据流之间的优先级的单元。
27.根据权利要求21所述的计算设备,还包括:
用于基于以下各项中的一项或多项,建立所述并发的多媒体应用的数据流之间的优先级的单元:预定的应用优先级;眼睛凝视统计,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口;以及与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口;以及
用于基于与所述并发的多媒体应用中的一个或多个多媒体应用的应用优先级相关联的权重,调整所建立的所述并发的多媒体应用的所述数据流之间的优先级的单元。
28.根据权利要求21所述的计算设备,其中,用于降低与所识别的最低优先级数据流相关联的数据流的多媒体参数的单元包括:
用于分析所述数据流的内容的特性的单元;以及
用于基于分析所述数据流的所述内容的所述特性的结果,选择进行降低的所述多媒体参数的单元。
29.根据权利要求21所述的计算设备,其中,所述多媒体参数包括与所述数据流相关联的分辨率、帧速率和细节层次(LoD)中的一项。
30.根据权利要求21所述的计算设备,其中,所述并发的多媒体应用包括至少电话会议应用和游戏应用。
31.一种非暂时性处理器可读介质,其具有存储在其上的用于通过管理并发的多媒体应用的数据流来管理包括片上系统(SoC)的计算设备的功率或温度的处理器可执行指令,所述指令被配置为使处理器执行包括以下操作的操作:
响应于确定温度超过温度门限和功耗超过功率门限中的一项或多项,识别所述并发的多媒体应用中的最低优先级数据流;
跟踪与所识别的最低优先级数据流相关联的数据流的数据流路径,所跟踪的数据流路径识别由所述最低优先级数据流穿过的使用多媒体参数操作的所有硬件模块,其中,所述多媒体参数是与所述并发的多媒体应用的处理器密集方面相关联的;以及
降低沿所跟踪的与所识别的最低优先级数据流相关联的所述数据流的数据流路径的所识别的硬件模块的所述多媒体参数,以便管理所述温度和所述功耗中的所述一项或多项。
32.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行还包括以下操作的操作:
当温度和功耗中的所述一项或多项不再超过所述门限时,识别所述并发的多媒体应用中已经使所述多媒体参数降低的最高优先级数据流;
跟踪与所识别的最高优先级数据流相关联的数据流的数据流路径,所跟踪的数据流路径识别由所述最高优先级数据流穿过的使用所述多媒体参数操作的所有硬件模块;以及
沿所跟踪的与所识别的最高优先级数据流相关联的所述数据流的数据流路径,针对所识别的硬件模块将所述多媒体参数恢复到原始值。
33.根据权利要求31所述的非暂时性处理器可读介质,其中:
所述多媒体参数包括所述数据流的分辨率和帧速率中的一项;以及
所存储的处理器可执行指令被配置为使处理器执行操作,以使得降低沿所跟踪的数据流路径的任何硬件模块的多媒体参数包括:
分析所述数据流的图像统计,以确定与所述数据流相关联的动态水平;
当所述动态水平在门限水平以上时,首先降低沿所述数据流路径的所识别的硬件子系统的所述分辨率;以及
当所述动态水平在所述门限水平以下时,首先降低沿所述数据流路径的所识别的硬件子系统的所述帧速率。
34.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行还包括以下操作的操作:基于预定的应用优先级,建立所述并发的多媒体应用的数据流之间的优先级。
35.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行还包括以下操作的操作:基于眼睛凝视统计,建立所述并发的多媒体应用的数据流之间的优先级,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中正在被最经常地注视的窗口。
36.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行还包括以下操作的操作:基于与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口,建立所述并发的多媒体应用的数据流之间的优先级。
37.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行还包括以下操作的操作:
基于以下各项中的一项或多项,建立所述并发的多媒体应用的数据流之间的优先级:预定的应用优先级;眼睛凝视统计,所述眼睛凝视统计指示与所述并发的多媒体应用相关联的被并发显示的窗口中被最经常地注视的窗口;以及与所述并发的多媒体应用相关联的被并发显示的窗口中占用最大显示器区域的窗口;以及
基于与所述并发的多媒体应用中的一个或多个多媒体应用的应用优先级相关联的权重,调整所建立的所述并发的多媒体应用的所述数据流之间的优先级。
38.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行操作,以使得降低与所识别的最低优先级数据流相关联的数据流的多媒体参数包括:
分析所述数据流的内容的特性;以及
基于分析所述数据流的所述内容的所述特性的结果,选择进行降低的所述多媒体参数。
39.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行操作,以使得所述多媒体参数包括与所述数据流相关联的分辨率、帧速率和细节层次(LoD)中的一项。
40.根据权利要求31所述的非暂时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使处理器执行操作,以使得所述并发的多媒体应用包括至少电话会议应用和游戏应用。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361870856P | 2013-08-28 | 2013-08-28 | |
US61/870,856 | 2013-08-28 | ||
US14/034,725 US9703355B2 (en) | 2013-08-28 | 2013-09-24 | Method, devices and systems for dynamic multimedia data flow control for thermal power budgeting |
US14/034,725 | 2013-09-24 | ||
PCT/US2014/052193 WO2015031169A1 (en) | 2013-08-28 | 2014-08-21 | Method, devices and systems for dynamic multimedia data flow control for thermal power budgeting |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105492875A CN105492875A (zh) | 2016-04-13 |
CN105492875B true CN105492875B (zh) | 2018-12-25 |
Family
ID=52584969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480047296.0A Expired - Fee Related CN105492875B (zh) | 2013-08-28 | 2014-08-21 | 用于热功率预算编制的动态多媒体数据流控制的方法、设备和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9703355B2 (zh) |
EP (1) | EP3039383B1 (zh) |
JP (1) | JP6338669B2 (zh) |
KR (1) | KR20160046824A (zh) |
CN (1) | CN105492875B (zh) |
WO (1) | WO2015031169A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130278834A1 (en) * | 2012-04-20 | 2013-10-24 | Samsung Electronics Co., Ltd. | Display power reduction using extended nal unit header information |
US9530174B2 (en) * | 2014-05-30 | 2016-12-27 | Apple Inc. | Selective GPU throttling |
KR102210770B1 (ko) * | 2014-09-02 | 2021-02-02 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 그 제어 방법 |
US20160094849A1 (en) * | 2014-09-27 | 2016-03-31 | Intel Corporation | THERMAL THROTTLING OF WiDi VIDEO STREAM RESOLUTION |
US10979283B2 (en) * | 2014-10-23 | 2021-04-13 | Nokia Solutions And Networks Oy | Distributed trace of network procedures for network elements in cloud deployment |
CN107431613B (zh) | 2015-04-20 | 2021-02-05 | 深圳市大疆创新科技有限公司 | 用于支持可移动物体应用开发的系统和方法 |
GB2553744B (en) * | 2016-04-29 | 2018-09-05 | Advanced Risc Mach Ltd | Graphics processing systems |
US10156881B2 (en) * | 2016-06-24 | 2018-12-18 | Mediatek Inc. | Electronic device and method for controlling user experience with application on electronic device |
KR101853059B1 (ko) * | 2016-08-10 | 2018-04-30 | 한국과학기술연구원 | 가상 모델 제어 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 |
US10423209B2 (en) | 2017-02-13 | 2019-09-24 | Apple Inc. | Systems and methods for coherent power management |
US10402932B2 (en) | 2017-04-17 | 2019-09-03 | Intel Corporation | Power-based and target-based graphics quality adjustment |
US20180329465A1 (en) * | 2017-05-11 | 2018-11-15 | Qualcomm Incorporated | System and method for intelligent adjustment of an immersive multimedia workload in a portable computing device |
US11258293B2 (en) * | 2017-10-10 | 2022-02-22 | Schneider Electric It Corporation | Methods and systems for backup power management at a power device |
US11256313B2 (en) | 2017-10-10 | 2022-02-22 | Schneider Electric It Corporation | Methods and systems for dynamic backup power management at a power node |
WO2019097572A1 (ja) * | 2017-11-14 | 2019-05-23 | 三菱電機株式会社 | 車載用情報機器、車載用ワイヤレスシステム及び制御方法 |
US10942557B2 (en) * | 2018-07-18 | 2021-03-09 | Dell Products L.P. | System and method to maintain optimal system performance while adhering to competing power cap policies |
CN109960395B (zh) * | 2018-10-15 | 2021-06-08 | 华为技术有限公司 | 资源调度方法和计算机设备 |
KR20210011166A (ko) | 2019-07-22 | 2021-02-01 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 발열 기반의 데이터 처리량 제어 방법 |
US11627088B2 (en) * | 2021-05-31 | 2023-04-11 | Agora Lab, Inc. | Method for prioritizing data packets based on application scenario, user state and user role |
US20230324979A1 (en) * | 2022-04-12 | 2023-10-12 | Meta Platforms Technologies, Llc | Systems and methods for managing power consumption of device subsystems |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1432221A (zh) * | 2000-03-30 | 2003-07-23 | 高通股份有限公司 | 用于控制通信系统的传送的方法和装置 |
CN1781311A (zh) * | 2003-11-03 | 2006-05-31 | 三星电子株式会社 | 使用注视检测来处理视频数据的设备和方法 |
CN1938969A (zh) * | 2004-03-31 | 2007-03-28 | Lg电子株式会社 | 用于根据优先级来传输数据块的装置和方法 |
CN101557279A (zh) * | 2001-01-17 | 2009-10-14 | 高通股份有限公司 | 给定传输时间间隔(tti)约束下分配数据流的方法和装置 |
CN101741707A (zh) * | 2008-11-04 | 2010-06-16 | 上海华为技术有限公司 | 一种上行数据传输方法、装置及通信系统 |
US20120210150A1 (en) * | 2011-02-10 | 2012-08-16 | Alcatel-Lucent Usa Inc. | Method And Apparatus Of Smart Power Management For Mobile Communication Terminals |
US20130132972A1 (en) * | 2011-11-21 | 2013-05-23 | Qualcomm Incorporated | Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip |
US20130156407A1 (en) * | 2011-12-15 | 2013-06-20 | Electronics And Telecommunications Research Institute | Progressive video streaming apparatus and method based on visual perception |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5859641A (en) | 1997-10-10 | 1999-01-12 | Intervoice Limited Partnership | Automatic bandwidth allocation in multimedia scripting tools |
US6948082B2 (en) | 2002-05-17 | 2005-09-20 | International Business Machines Corporation | Method and apparatus for software-assisted thermal management for electronic systems |
JP4230463B2 (ja) * | 2003-09-03 | 2009-02-25 | シャープ株式会社 | 制御装置、通信装置、通信機器、電子装置、および情報処理装置 |
JP2009520993A (ja) * | 2005-12-22 | 2009-05-28 | リサーチ イン モーション リミテッド | 電子デバイスのためのディスプレイにおける電力消費量を減少させるための方法および装置 |
US20070192641A1 (en) | 2006-02-10 | 2007-08-16 | Intel Corporation | Method and apparatus to manage power consumption in a computer |
US7962182B2 (en) | 2006-08-25 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for content delivery to devices |
US8135443B2 (en) | 2006-08-31 | 2012-03-13 | Qualcomm Incorporated | Portable device with priority based power savings control and method thereof |
US8001407B2 (en) * | 2006-10-31 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Server configured for managing power and performance |
US20100079508A1 (en) * | 2008-09-30 | 2010-04-01 | Andrew Hodge | Electronic devices with gaze detection capabilities |
US9172117B2 (en) * | 2008-12-04 | 2015-10-27 | Domingo Enterprises, Llc | User-controlled application-based power management |
US8280456B2 (en) * | 2009-08-14 | 2012-10-02 | Google Inc. | Providing a user with feedback regarding power consumption in battery-operated electronic devices |
US8843774B2 (en) * | 2010-08-20 | 2014-09-23 | Qualcomm Incorporated | Method and apparatus for managing battery power in response to an indication of an application being scheduled for immediate execution |
US9374787B2 (en) * | 2011-02-10 | 2016-06-21 | Alcatel Lucent | Method and apparatus of smart power management for mobile communication terminals using power thresholds |
US8954017B2 (en) * | 2011-08-17 | 2015-02-10 | Broadcom Corporation | Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device |
WO2013033842A1 (en) * | 2011-09-07 | 2013-03-14 | Tandemlaunch Technologies Inc. | System and method for using eye gaze information to enhance interactions |
TWI556092B (zh) * | 2011-09-30 | 2016-11-01 | 英特爾公司 | 用以減少電力消耗之基於優先順序的應用程式事件控制技術 |
DE112011106059T5 (de) | 2011-12-28 | 2014-09-18 | Intel Corporation | Dimmen einer Anzeige in Reaktion auf Benutzer |
US9009502B2 (en) * | 2012-06-29 | 2015-04-14 | Time Warner Cable Enterprises Llc | System and method for managing battery usage of a mobile device |
-
2013
- 2013-09-24 US US14/034,725 patent/US9703355B2/en not_active Expired - Fee Related
-
2014
- 2014-08-21 CN CN201480047296.0A patent/CN105492875B/zh not_active Expired - Fee Related
- 2014-08-21 JP JP2016538983A patent/JP6338669B2/ja not_active Expired - Fee Related
- 2014-08-21 WO PCT/US2014/052193 patent/WO2015031169A1/en active Application Filing
- 2014-08-21 EP EP14766266.2A patent/EP3039383B1/en not_active Not-in-force
- 2014-08-21 KR KR1020167005963A patent/KR20160046824A/ko active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1432221A (zh) * | 2000-03-30 | 2003-07-23 | 高通股份有限公司 | 用于控制通信系统的传送的方法和装置 |
CN101557279A (zh) * | 2001-01-17 | 2009-10-14 | 高通股份有限公司 | 给定传输时间间隔(tti)约束下分配数据流的方法和装置 |
CN1781311A (zh) * | 2003-11-03 | 2006-05-31 | 三星电子株式会社 | 使用注视检测来处理视频数据的设备和方法 |
CN1938969A (zh) * | 2004-03-31 | 2007-03-28 | Lg电子株式会社 | 用于根据优先级来传输数据块的装置和方法 |
CN101741707A (zh) * | 2008-11-04 | 2010-06-16 | 上海华为技术有限公司 | 一种上行数据传输方法、装置及通信系统 |
US20120210150A1 (en) * | 2011-02-10 | 2012-08-16 | Alcatel-Lucent Usa Inc. | Method And Apparatus Of Smart Power Management For Mobile Communication Terminals |
US20130132972A1 (en) * | 2011-11-21 | 2013-05-23 | Qualcomm Incorporated | Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip |
US20130156407A1 (en) * | 2011-12-15 | 2013-06-20 | Electronics And Telecommunications Research Institute | Progressive video streaming apparatus and method based on visual perception |
Also Published As
Publication number | Publication date |
---|---|
CN105492875A (zh) | 2016-04-13 |
US9703355B2 (en) | 2017-07-11 |
JP6338669B2 (ja) | 2018-06-06 |
US20150067377A1 (en) | 2015-03-05 |
KR20160046824A (ko) | 2016-04-29 |
EP3039383B1 (en) | 2017-06-21 |
EP3039383A1 (en) | 2016-07-06 |
WO2015031169A1 (en) | 2015-03-05 |
JP2016539585A (ja) | 2016-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105492875B (zh) | 用于热功率预算编制的动态多媒体数据流控制的方法、设备和系统 | |
US11789565B2 (en) | Lid controller hub architecture for improved touch experiences | |
US20210149441A1 (en) | Lid controller hub | |
US10802581B2 (en) | Eye-tracking-based methods and systems of managing multi-screen view on a single display screen | |
US10424116B2 (en) | Display apparatus and controlling method thereof | |
CN106664389A (zh) | 用于在视频会议中增强用户体验的技术 | |
CN102930852A (zh) | 通过动态调节屏幕刷新率来提高移动终端系统性能的方法 | |
CN102594999A (zh) | 一种通过人脸识别进行自适应手机节能的方法和系统 | |
WO2015117361A1 (zh) | 数据的显示方法及装置、移动终端 | |
CN106062662A (zh) | 用于在dram存储器系统中提供省电的静态图像显示刷新的系统和方法 | |
TW201411479A (zh) | 基於聚焦點判定之解碼視訊圖框的選擇性後處理技術 | |
US20220172440A1 (en) | Extended field of view generation for split-rendering for virtual reality streaming | |
CN108008804A (zh) | 智能设备的屏幕控制方法及装置 | |
US20060109198A1 (en) | Method and apparatus for using picture-in-picture data as an independent display | |
Wang et al. | Handwashing quality assessment via deep learning: a modelling study for monitoring compliance and standards in hospitals and communities | |
CN112817550B (zh) | 一种数据处理方法及装置 | |
US20230308770A1 (en) | Methods, apparatuses and computer program products for utilizing gestures and eye tracking information to facilitate camera operations on artificial reality devices | |
TWI784684B (zh) | 電子裝置與視訊會議之處理器使用率的控制方法 | |
WO2017084307A1 (zh) | 一种浏览器的控制方法和终端设备 | |
Park | Ultra-low power always-on computer vision | |
CN109104624A (zh) | 弹幕显示方法、装置及计算机可读存储介质 | |
US20240107092A1 (en) | Video playing method and apparatus | |
Aras | Adapting System Behavior with User Interactions | |
TW202121889A (zh) | 動態調整顯示區域亮度狀態的方法及電子裝置 | |
WO2022071951A1 (en) | Techniques and apparatuses that implement camera manager systems capable of generating frame suggestions from a set of frames |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181225 Termination date: 20210821 |
|
CF01 | Termination of patent right due to non-payment of annual fee |