暴露媒体处理特征.pdf

上传人:1****2 文档编号:177107 上传时间:2018-01-31 格式:PDF 页数:22 大小:710.72KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410089362.2

申请日:

2014.03.12

公开号:

CN104049967A

公开日:

2014.09.17

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/44申请日:20140312|||公开

IPC分类号:

G06F9/44; G06F1/32

主分类号:

G06F9/44

申请人:

英特尔公司

发明人:

王长亮; 林云标; R.文卡塔拉曼

地址:

美国加利福尼亚州

优先权:

2013.03.12 US 13/796035

专利代理机构:

中国专利代理(香港)有限公司 72001

代理人:

柯广华;汤春龙

PDF下载: PDF下载
内容摘要

本文描述设备和系统。该设备包括呈现视频的逻辑。该设备还包括响应于功率消耗而调整视频的特征的逻辑,其中调整视频的特征的逻辑被集成到设备的操作系统中。

权利要求书

1.   一种用于暴露媒体处理特征的设备,所述设备包括:
呈现视频的逻辑;
当所述设备呈现视频时响应于功率消耗而调整视频的特征的逻辑,其中,所述调整视频的特征的逻辑被集成到所述设备的操作系统中。

2.
   如权利要求1所述的设备,其中,所述调整视频的特征的逻辑是应用编程接口(API),所述API使所述设备的应用能够响应于所述功率消耗而调整所述视频的特征。

3.
   如权利要求1所述的设备,还包括确定所述设备的电池的剩余功率时间以及调整所述视频的特征以使得所述视频在所述设备的所述电池的所述剩余功率时间之内完全呈现的逻辑。

4.
   如权利要求1所述的设备,还包括使用户通过忽略基于功率消耗来调整视频的特征的所述逻辑来调整所述视频的特征的逻辑。

5.
   如权利要求1所述的设备,还包括用于控制面板的逻辑,在所述控制面板中,用户能够调整所述视频的特征。

6.
   如权利要求1所述的设备,还包括:
确定完全呈现所述视频的时间长度的逻辑;
确定电池的功率状态的逻辑;
对于所述视频的特征确定从所述电池的所述功率消耗的逻辑;
基于从所述电池的所述功率消耗和所述电池的所述功率状态来计算使用所述特征能够呈现所述视频的时间长度的逻辑;以及
禁用所述特征以使得所述视频能够被完全呈现的逻辑。

7.
   如权利要求1所述的设备,其中,所述操作系统是Android操作系统。

8.
   如权利要求1所述的设备,其中,当修改或禁用所述视频的所述特征时,降低所述功率消耗。

9.
   如权利要求1所述的设备,其中,所述特征是视频处理特征。

10.
   一种用于暴露媒体处理特征的系统,包括:
配置成执行所存储指令的处理器以及存储指令的存储装置,其中所述存储装置包括处理器可执行代码,所述代码在由所述处理器执行时配置成:
执行媒体功能;
确定所述系统的功率状态;以及
基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。

11.
   如权利要求10所述的系统,其中,所述一个或多个特征是视频处理特征。

12.
   如权利要求10所述的系统,其中,确定所述系统的功率状态包括确定所述系统的电池的剩余功率时间。

13.
   如权利要求10所述的系统,其中,命令用户界面提供用户能够修改的设定,以便基于所述系统的所述功率状态来调整所述媒体功能的所述一个或多个特征。

14.
   如权利要求10所述的系统,其中,功率控制服务得到所述系统的各功能或组件的功率消耗状态。

15.
   如权利要求10所述的系统,其中,视频重放调度器基于所述系统的所述功率状态来确定是否能够完成所述媒体功能。

16.
   如权利要求10所述的系统,其中,所述系统以功率感知方式执行所述媒体功能。

17.
   如权利要求10所述的系统,其中,所述一个或多个特征包括帧速率转换(FRC)、图像稳定化、视频缩放、组成、色调-饱和度-亮度-对比度(HSBC)、修改所述媒体功能的任何其它处理中的至少一个或者它们的任何组合。

18.
   一种用于暴露媒体处理特征的系统,包括:
功率控制服务,其中,所述功率控制服务用来收集所述系统的组件的功率消耗状态;以及
视频重放调度器,其中,所述视频重放调度器计算确保所述系统完整地呈现视频的所有可能的解决方案,并且使用所述系统的附加框架来修改一个或多个视频处理特征。

19.
   如权利要求18所述的系统,其中,图形呈现管线向所述视频重放调度器发送可缩放质量控制选项。

20.
   如权利要求18所述的系统,其中,命令用户界面修改所述系统的所述一个或多个视频处理特征。

21.
   一种有形的非暂时的计算机可读介质,包括代码以指导处理器来:
执行媒体功能;
确定系统的功率状态;以及
基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。

22.
   如权利要求21所述的计算机可读介质,其中,所述媒体功能是视频重放功能,以及所述一个或多个特征是视频处理特征。

说明书

暴露媒体处理特征
技术领域
本公开的实施例涉及媒体处理,更具体来说,涉及用于媒体处理的方法、装置和系统。
背景技术
诸如平板和智能电话之类的移动装置可使用操作系统或者提供对装置的某些硬件资源的访问的框架来操作。Android框架包括内核、中间件、库以及访问装置硬件的各种应用编程接口(API)。Android框架的媒体框架部分称作Stagefright。Stagefright实现各种媒体功能。如本文所使用的“媒体功能”是视频重放、视频记录、音频重放、音频记录、图像捕获、图像呈现等等。
发明内容
按照本公开的一个方面,提供一种用于暴露媒体处理特征的设备,所述设备包括:呈现视频的逻辑;当所述设备呈现视频时响应于功率消耗而调整视频的特征的逻辑,其中,所述调整视频的特征的逻辑被集成到所述设备的操作系统中。
按照本公开的另一方面,提供一种用于暴露媒体处理特征的系统,包括:配置成执行所存储指令的处理器以及存储指令的存储装置,其中所述存储装置包括处理器可执行代码,所述代码在由所述处理器执行时配置成:
执行媒体功能;
确定所述系统的功率状态;以及
基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。
按照本公开的又一方面,提供一种用于暴露媒体处理特征的系统,包括:功率控制服务,其中,所述功率控制服务用来收集所述系统的组件的功率消耗状态;以及视频重放调度器,其中,所述视频重放调度器计算确保所述系统完整地呈现视频的所有可能的解决方案,并且使用所述系统的附加框架来修改一个或多个视频处理特征。
按照本公开的再一方面,提供一种有形的非暂时的计算机可读介质,包括代码以指导处理器来:执行媒体功能;确定系统的功率状态;以及基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。
附图说明
图1示出用于JAVA应用的暴露视频处理框架;
图2示出用于C/C++应用的暴露视频处理框架;
图3示出用于具有公共用户界面(CUI)的JAVA应用的暴露视频处理框架;
图4是示出使用C/C++应用的用于暴露视频处理特征的控制流程的简图;
图5是采用JAVA应用的功率控制的框图;
图6是可按照实施例使用的计算装置的框图;
图7是暴露媒体特征的示范系统的框图;
图8是可实施图7的系统的小形状因数装置的示意图;以及
图9是示出存储用于暴露媒体处理特征的代码的有形的非暂时的计算机可读介质的框图。
相同的标号在本公开和附图中通篇用来表示相似的组件和特征。100系列中的标号表示最初见于图1的特征;200系列中的标号表示最初见于图2的特征;等等。
具体实施方式
如上所述,Android框架通过Stagefright实现媒体重放和记录。Stagefright所支持的其它服务包括对于流播数据、媒体下载、渐进重放、视频电话、音频编解码器、语音编解码器、视频编码器和解码器以及图像编码器和解码器的网络协议支持。Stagefright提供对视频处理(例如调整视频质量)的访问。例如,Android框架不支持使用Stagefright将降噪特征运用于媒体重放的应用。如视频降噪之类的视频处理通常由可编程管线(例如图形呈现管线)来完成。其它视频处理包括但不限于帧速率转换(FRC)、图像稳定化、视频缩放、组成、色调-饱和度-亮度-对比度(HSBC)。视频处理能够消耗媒体重放期间的大部分功率。另外,Android框架没有实现对图形驱动器中包含的或者嵌入处理单元(例如Intel?商标处理单元)中的视频处理特征的访问。结果,Android框架实现了媒体重放、记录和捕获,而没有实现当执行媒体重放、记录和捕获时对处理特征的调整。
本文所述的实施例实现附加框架,该附加框架在涉及功率消耗时调整媒体质量。附加框架提供对嵌入装置的硬件和驱动器中的媒体处理特征的访问。使用附加框架,应用能够确定完成媒体重放的时间量、捕获剩余电池功率以及在媒体重放期间调整一个或多个视频处理特征以降低功率消耗。结果,媒体功能能够以功率感知方式来执行,其中应用知道装置可用的功率量,并且能够调整装置的媒体处理特征以延长可用功率。类似地,在实施例中,应用能够确定媒体功能的类型、捕获剩余电池功率以及在媒体记录期间调整一个或多个处理特征以降低功率消耗。这样,应用能够通过对媒体功能的调整来节省功率消耗。虽然本文所提供的技术使用视频重放媒体功能来描述,但是能够使用任何媒体功能。例如,视频记录特征也可基于装置的可用功率来暴露和调整。
在以下描述和权利要求书中,可使用术语“耦合”和“连接”及其派生词。应当理解,这些术语并不是要作为彼此的同义词。相反,在具体实施例中,“连接”可用来表示两个或更多元件相互直接物理或电接触。“耦合”可表示两个或更多元件直接物理或电接触。但是,“耦合”也可表示两个或更多元件不是相互直接接触,但是仍然相互配合或交互。
一些实施例可通过硬件、固件和软件其中之一或者它们的组合来实现。一些实施例还可作为机器可读介质上存储的指令来实现,所述指令可由计算平台读取和执行以完成本文所述的操作。机器可读介质可包括用于存储或传送机器(例如计算机)可读形式的信息的任何机制。例如,机器可读介质可包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存装置;或者电、光、声或其它形式的传播信号,例如载波、红外信号、数字信号、或者发送和/或接收信号的接口等等。
一个实施例是一种实现或示例。本说明书中提到“实施例”、“一个实施例”、“一些实施例”、“各种实施例”或者“其它实施例”表示结合这些实施例所述的具体特征、结构或特性包含在本发明的至少一些实施例中,但不一定是全部实施例中。各处出现的“实施例”、“一个实施例”或“一些实施例”不一定都指的是同一实施例。来自一个实施例的元件或方面能够与另一实施例的元件或方面组合。
并非本文所述和所示的所有组件、特征、结构、特性等都需要包含在一个或多个具体实施例中。例如,如果说明书提到组件、特征、结构或特性“可”、“可能”、“能”或者“能够”被包含,则并不要求包含该具体组件、特征、结构或特性。如果说明书或权利要求书提到“一”或“一个”元件,则并不表示只有一个这种元件。如果说明书或权利要求书提到“一个附加”元件,则不排除存在不止一个这种附加元件的情况。
要注意,虽然一些实施例参照具体实现来描述,但是按照一些实施例,其它实现是可能的。另外,附图所示和/或本文所述的电路元件或其它特征的布置和/或顺序无需按照所示和所述的具体方式来布置。按照一些实施例,许多其它布置是可能的。
在附图所示的各系统中,一些情况中的元件各可具有相同的参考标号或者不同的参考标号,以暗示所表示的元件可能是不同的和/或相似的。但是,元件可以足够灵活以具有不同实现,并且与本文所示或所述的系统的部分或全部配合工作。附图所示的各种元件可以是相同的或不同的。哪个称作第一元件和哪个称作第二元件是任意的。
图1示出用于JAVA应用的暴露视频处理框架100。虽然本文所述的视频处理框架100包含某些元件,但是视频处理框架可包含比本文所述的那些元件更多或更少的元件。
视频处理框架100包括硬件102。硬件102包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、图形硬件、媒体引擎、数字信号处理器(DSP)、硬件加速器、数据存储装置、话筒、扬声器、显示器、存储装置和连网接口卡。GPU和其它图形硬件可使用图形驱动器104来操作。在实施例中,图形驱动器104能够向图形硬件发出命令和中断。
视频处理框架100还包括视频加速库(LibVA)106。LibVA 106实现硬件加速的视频处理。例如,图形硬件能够用来从CPU卸载编码和解码过程,以使用LibVA 106来实现硬件加速。诸如运动补偿、离散余弦逆变换、环内去块、帧内预测、可变长度解码和比特流处理之类的其它视频处理特征能够使用LibVA 106来卸载和加速。
至少一个或多个编解码器库108包含在视频处理框架100中。编解码器库108包括用于视频和音频数据的编码和解码的各种编解码器。Stagefright层110使用开放媒体加速(OpenMax)编程接口(IOMX)与编解码器库108进行接口。通过使用IOMX,媒体应用能够以平台独立方式来设计。Android软件开发包(SDK)JAVA本地接口(JNI)112用来使以JAVA编码的应用114能够调用以不同于JAVA的语言(例如C、C++和汇编语言)所编写的库和本地应用,以及被所述库和本地应用调用。因此,独立软件厂商(ISV)应用114是以JAVA编写的应用。
Stagefright层110不提供应用114访问或修改视频处理特征的功能性。为了给予应用114对视频处理特征的访问,SDK附件(SDK Add-On)116用来得到指向IOMX 117的指针。SDK附件116能够使用IOMX 117来访问OpenMax扩展118。OpenMax扩展118可以是OpenMax集成层的组件,并且能够用来访问编解码器库108内的各种编解码器。具体来说,视频处理中使用的编解码器可使用视频处理扩展120来访问。视频处理扩展访问LibVA 106以及图形驱动器104,以根据需要执行对视频处理控制的调整。SDK附件116用来暴露Android框架内的、使用Stagefright层110和Android SDK JNI 112不可访问的视频特征。此外,SDK附件116能够用来访问嵌入系统的图形驱动器104和硬件102中的视频处理特征。
质量控制122表示由Android框架所播放的媒体的质量。通过改变或调整所暴露的视频处理特征,也可改变或调整媒体的质量。媒体的质量与包括这种框架的装置的功率消耗相关。当媒体重放的质量较高时,各视频处理特征可用来产生高质量媒体重放或记录。但是,以这种方式使用视频处理特征还消耗大量功率。因此,可降低视频的质量,以便降低媒体重放或记录期间的功率消耗。
图2示出用于C/C++应用的暴露视频处理框架200。虽然本文所述的视频处理框架200包含某些元件,但是视频处理框架可包含比本文所述那些元件更多或更少的元件。
视频处理框架200包括针对图1所述的硬件102、图形驱动器104、LibVA 106、编解码器库108、Stagefright层110和质量控制122。视频处理框架200还包括以C/C++编写的独立软件厂商(ISV)应用202。当以C或C++来编写应用202时,Android SDK JNI 112没有用来在应用202与Stagefright层110之间进行接口,因为应用202和Stagefright层110是以相同编程语言来编写的。因此,调用可在应用202与Stagefright层110之间未经翻译地传递。此外,Android框架中包含的媒体播放器服务接口(IMediaPlayerService)204能够用来得到如上所述的指向IOMX 117的指针。以这种方式,IMediaPlayerService 204用来暴露Android框架内当应用202以C或C++编写时使用Stagefright层110不可访问的视频特征。在实施例中,IMediaPlayerService 204充当执行媒体功能的媒体播放器服务的代理。在示例中,应用202能够通过IMediaPlayerService 204向媒体播放器服务发送视频处理控制。媒体播放器服务则可通过到编解码器库108的IOMX接口117来控制如视频处理之类的特征。另外,应用202能够用来访问嵌入系统的图形驱动器104和硬件102中的视频处理特征。
图3示出用于具有公共用户界面(CUI)302的JAVA应用的暴露视频处理框架300。虽然本文所述的视频处理框架100包含某些元件,但是视频处理框架可包含比本文所述那些元件更多或更少的元件。
视频处理框架300包括针对图1所述的硬件102、图形驱动器104、LibVA 106、编解码器库108、Stagefright层110、Android SDK 112、ISV应用114、SDK附件116、IOMX 117、Open Max扩展118、视频处理扩展120和质量控制122。提供CUI 302,其实现用来调整视频处理特征的接口。在实施例中,CUI 302是Intel?CUI。此外,在实施例中,CUI 302实现对视频处理特征的全局变更。将全局变更运用于每个应用114,而与应用114的视频处理设定无关。此外,在实施例中,一个或多个功率控制也可以是使用CUI 302可用的。功率控制表示装置以及装置的组件的功率状态。如果装置功率低于如用户所确定的阈值,则视频处理特征可使用CUI 302来修改、调整或禁用。
图4是示出使用C/C++应用的用于暴露视频处理特征的控制流程的简图。在阶段402,IMediaPlayerService使用IServiceManager:getService(“media.play”)命令来例示。在阶段404,iMediaPlayerService用来访问IOMX。在阶段406,IOMX用来列出所有节点,以得到特定OMX组件,该组件用来修改、改变或调整视频处理特征。如本文所使用的“节点”是对应于编解码器库内的各编解码器的OMX组件。在阶段408,SendCommand(async)命令或GetParameter(sync)用来修改、改变或调整视频处理特征,如上所述。
图5是采用JAVA应用的功率控制的框图500。在图5中,JAVA应用是JAVA播放器502。JAVA播放器502得到媒体内容的大小。JAVA播放器502还计算媒体重放应当花费多长时间完成。功率状态可从功率或电池服务504得到。使用SDK附件116,JAVA播放器502能够得到视频重放中使用的各视频处理特征的功率消耗。具体来说,JAVA播放器502能够得到来自图形驱动器104或硬件102的功率消耗。SDK附件116能够使用IOMX 117来访问OpenMax扩展118和视频处理扩展120,以暴露能够使用图形驱动器104或硬件102来调整、修改或改变的视频特征。媒体服务506还能够控制编码器和解码器功能的软件组件。
然后,JAVA播放器502能够基于当前视频处理特征和可用功率来计算它能够支持的重放时间量。如果重放时间量不足以完整地播放预期内容,则视频处理特征能够被改变、调整或修改,以便节省功率以使得能够支持整个媒体重放。在实施例中,可使用SDK附件116、OpenMax扩展118和视频处理扩展120来改变、调整或修改视频处理特征,如上所述。在Android框架内以功率感知方式来调整视频处理特征,以便降低功率消耗,以满足系统的当前媒体要求。通过利用Android SDK附件以及IOMX接口,以避免Android框架的分裂的方式进行调整。其它媒体特征可基于可用功率量来修改、调整或禁用,以完整地执行媒体功能。例如,当用户期望使用图像捕获媒体功能时,所捕获图像的图像处理能够基于装置可用的功率量来调整。
在实施例中,功率控制服务可用来收集便携装置内的组件的功率消耗状态。组件包括但不限于图形、Wi-Fi/3G/Bluetooth、显示器和操作系统。采用功率消耗信息,视频重放调度器能够计算确信视频能够播放到结束的所有可能的解决方案。如果以当前功率状态不能完成视频重放,则视频重放调度器可使用户能够选择所建议的解决方案。在实施例中,用户可使用CUI来选择所建议的解决方案。此外,在实施例中,功率控制服务可称作功率状态取样器。因此,视频重放的粒度基于装置的功率状态来选择。此外,视频重放调度器还可基于当前功率状态来确定要采取什么动作,而不向用户提出解决方案。具体来说,视频重放调度器可修改、改变、调整或禁用视频处理特征。例如,视频重放调度器能够降低视频的帧速率,或者禁用某些重放特征、例如环内去块。
视频重放调度器连同功率控制服务一起能够基于各种粒度来控制视频重放。例如,当电池的功率状态降至总可用功率的40%时,视频重放调度器能够禁用某些特征。当电池的功率状态降至总可用功率的20%时,视频重放调度器能够关闭未使用的硬件。视频重放调度器所采取的节省功率的动作能够随着可用功率下降而变得更有效力。在实施例中,视频重放调度器能够调用图形呈现管线内的各个组件,以执行质量缩放,例如帧速率降低和禁用某些视频后处理特征,以便节省功率。此外,在调度器修改、改变或禁用媒体特征之前,图形呈现管线内的各个组件向调度器发送可缩放质量控制选项。
图6是可按照实施例使用的计算装置600的框图。计算装置600可以是例如膝上型计算机、台式计算机、超级本、平板计算机、移动装置或服务器等等。计算装置600可包括中央处理单元(CPU)602(其配置成执行所存储指令)以及存储器装置604(其存储CPU 602可执行的指令)。CPU可通过总线606耦合到存储器装置604。另外,CPU 602能够是单核处理器、多核处理器、计算集群或者任何数量的其它配置。此外,计算装置600可包括不止一个CPU 602。
计算装置600还可包括图形处理单元(GPU)608。如所示,CPU 602可通过总线606耦合到GPU 608。GPU 608可配置成执行计算装置600内的任何数量的图形操作。例如,GPU 608可配置成呈现或操纵图形图像、图形帧、视频等,以便向计算装置600的用户显示。
存储器装置604能够包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或者任何其它适当存储器系统。例如,存储器装置604可包括动态随机存取存储器(DRAM)。计算装置600包括图像捕获机构610。在实施例中,图像捕获机构610是照相机、立体照相机、扫描仪、红外传感器等。
CPU 602可通过总线606链接到显示器接口612,显示器接口612配置成将计算装置600连接到显示装置614。显示装置614可包括作为计算装置600的内置组件的显示屏幕。显示装置614还可包括外部连接到计算装置600的计算机监视器、电视机或投影仪等等。
CPU 602还可通过总线606连接到输入/输出(I/O)装置接口616,I/O装置接口616配置成将计算装置600连接到一个或多个I/O装置618。I/O装置618可包括例如键盘和定点装置,其中定点装置可包括触摸板或触摸屏等等。I/O装置618可以是计算装置600的内置组件,或者可以是外部连接到计算装置600的装置。
计算装置还包括存储装置620。存储装置620是物理存储器,诸如硬盘驱动器、光驱动器、拇指驱动器(thumbdrive)、驱动器阵列或者它们的任何组合。存储装置620还可包括远程存储驱动器。计算装置600还可包括网络接口控制器(NIC)622,NIC 622可配置成通过总线606将计算装置600连接到网络624。网络624可以是广域网(WAN)、局域网(LAN)或因特网等等。
图6的框图不是要表明计算装置600将包含图6所示的所有组件。此外,计算装置600可包括图6未示出的任何数量的附加组件,这取决于特定实现的细节。
图7是暴露媒体特征的示范系统700的框图。相似标号的项目如针对图6所述。在一些实施例中,系统700是媒体系统。另外,系统700可结合到个人计算机(PC)、膝上型计算机、超膝上型计算机、服务器计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置(例如智能电话、智能平板或者智能电视机)、移动因特网装置(MID)、消息传递装置、数据通信装置、打印装置、嵌入式装置等等中。
在各种实施例中,系统700包括耦合到显示器704的平台702。平台702可从诸如内容服务装置706或内容传递装置708之类的内容装置或者其它类似内容源接收内容。包括一个或多个导航特征的导航控制器710可用来与例如平台702和/或显示器704进行交互。下面更详细描述这些组件中的每一个。
平台702可包括芯片组712、中央处理单元(CPU)602、存储器装置604、存储装置620、图形子系统714、应用720和无线电单元716的任何组合。芯片组712可提供CPU 602、存储器装置604、存储装置622、图形子系统714、应用720和无线电单元716之间的相互通信。例如,芯片组712可包括存储适配器(未示出),其能够提供与存储装置620的相互通信。应用720可以是如上所述的应用114、应用202或者应用502。
CPU 602可实现为复杂指令集计算机(CISC)或简化指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或者任何其它微处理器或中央处理单元(CPU)。在一些实施例中,CPU 602包括多核处理器、多核移动处理器等。存储器装置604可实现为易失性存储器装置,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储装置620可实现为非易失性存储装置,诸如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、固态驱动器、内部存储装置、附连存储装置、闪存、电池支持的SDRAM(同步DRAM)和/或网络可访问的存储装置。在一些实施例中,例如,存储装置620包括在包括多个硬盘驱动器时为有价值的数字媒体增加存储性能增强保护的技术。
图形子系统714可执行诸如静止或视频之类的图像的处理以供显示。例如,图形子系统714可包括图形处理单元(GPU),诸如GPU 608或视觉处理单元(VPU)。模拟或数字接口可用来在通信上耦合图形子系统714和显示器704。例如,接口可以是高清晰度多媒体接口、DisplayPort、无线HDMI和/或符合无线HD的技术中的任一个。图形子系统714可集成到CPU 602或芯片组712中。备选地,图形子系统714可以是通信上耦合到芯片组712的独立卡。
本文所述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能性可集成在芯片组712内。备选地,可使用分立的图形和/或视频处理器。作为又一个实施例,图形和/或视频功能可通过包括多核处理器的通用处理器来实现。在另一实施例中,这些功能可在消费电子装置中实现。
无线电单元716可包括一个或多个无线电单元,其能够使用各种适当的无线通信技术来发送和接收信号。这类技术可涉及跨一个或多个无线网络的通信。示范无线网络包括无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络、卫星网络等。在跨这类网络的通信中,无线电单元716可按照任何版本的一个或多个适用标准来操作。
显示器704可包括任何电视机类型监视器或显示器。例如,显示器704可包括计算机显示屏幕、触摸屏显示器、视频监视器、电视机等。显示器704可以是数字的和/或模拟的。在一些实施例中,显示器704是全息显示器。另外,显示器704可以是可接收视觉投影的透明表面。这类投影可传达各种形式的信息、图像、对象等。例如,这类投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个应用720的控制下,平台702可在显示器704上显示用户界面718。
内容服务装置706可由任何国家的、国际的或独立的服务来接管,并且因而可以是平台702经由例如因特网可访问的。内容服务装置706可耦合到平台702和/或显示器704。平台702和/或内容服务装置706可耦合到网络624,以便向和从网络624传递(例如发送和/或接收)媒体信息。内容传递装置708还可耦合到平台702和/或显示器704。
内容服务装置706可包括有线电视盒、个人计算机、网络、电话或者能够传递数字信息的因特网使能装置。另外,内容服务装置706可包括能够经由网络624或者直接地在内容提供商与平台702或显示器704之间单向或双向传递内容的任何其它类似装置。将会理解,可经由网络624向和从系统700中的任一个组件和内容提供商单向和/或双向传递内容。内容的示例可包括任何媒体信息,其中包括例如视频、音乐、医疗和游戏信息等。
内容服务装置706可接收内容,例如包括媒体信息的有线电视节目、数字信息或其它内容。内容提供商的示例可包括任何有线或卫星电视或无线电或者因特网内容提供商等等。
在一些实施例中,平台702从包括一个或多个导航特征的导航控制器710接收控制信号。例如,导航控制器710的导航特征可用来与用户界面718进行交互。导航控制器710可以是定点装置或者触摸屏装置,其可以是允许用户将空间(例如连续并且多维的)数据输入计算机中的计算机硬件组件(特别是人类界面装置)。诸如图形用户界面(GUI)之类的许多系统以及电视机和监视器允许用户使用形体姿态来控制并且将数据提供给计算机或电视机。形体姿态包括但不限于脸部表情、脸部移动,各种肢体的移动,身体移动、身体语言或者它们的任何组合。这类形体姿态能够被识别并且转化为命令或指令。
通过移动显示器704上显示的指针、光标、聚焦环或者其它视觉指示符,可在显示器704上仿效导航控制器710的导航特征的移动。例如,在应用720的控制下,位于导航控制器710上的导航特征可映射到用户界面718上显示的虚拟导航特征。在一些实施例中,导航控制器710可以不是分开的组件,而是可集成到平台702和/或显示器704中。
系统700可包括驱动器(未示出),驱动器包括例如在被启用时使用户能够通过在初始引导之后触摸按钮来立即开启和关断平台702的技术。程序逻辑可允许平台702在平台被“关断”时,将内容流播到媒体适配器或者其它内容服务装置706或内容传递装置708。另外,例如,芯片组712可包括对于6.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在一些实施例中,图形驱动器包括外围部件互连快递(PCIe)图形卡。
在各种实施例中,可集成系统700中所示组件的任一个或多个。例如,可集成平台702和内容服务装置706;可集成平台702和内容传递装置708;或者可集成平台702、内容服务装置706和内容传递装置708。在一些实施例中,平台702和显示器704是集成单元。例如,可集成显示器704和内容服务装置706,或者可集成显示器704和内容传递装置708。
系统700可实现为无线系统或者有线系统。当实现为无线系统时,系统700可包括适合于通过无线共享介质(诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等)进行通信的组件和接口。无线共享介质的示例可包括无线谱的部分,例如RF谱。当实现为有线系统时,系统700可包括适合于通过有线通信介质(诸如输入/输出(I/O)适配器、将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等)进行通信的组件和接口。有线通信介质的示例可包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台702可建立一个或多个逻辑或物理信道以传递信息。信息可包括媒体信息和控制信息。媒体信息可指表示要用于用户的内容的任何数据。内容的示例可包括例如来自语音对话的数据、视频会议、流播视频、电子邮件(email)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等。来自语音对话的数据可以是例如话音信息、静寂周期、背景噪声、舒适噪声、信号音等。控制信息可指表示要用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或者指示节点以预定方式处理媒体信息。但是,实施例并不局限于图7所示或所述的元件或上下文。
图8是可实施图7的系统700的小形状因数装置800的示意图。相似标号的项目如针对图7所述。在一些实施例中,例如,装置800被实现为具有无线能力的移动计算装置。例如,移动计算装置可指具有处理系统和移动电源或电力供应(例如一个或多个电池)的任何装置。
如上所述,移动计算装置的示例可包括个人计算机(PC)、膝上型计算机、超膝上型计算机、服务器计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置(例如智能电话、智能平板或者智能电视机)、移动因特网装置(MID)、消息传递装置、数据通信装置等。
移动计算装置的示例还可包括设置成供人佩戴的计算机,诸如手腕计算机、手指计算机、指环计算机、眼镜计算机、皮带夹计算机、臂章计算机、靴式计算机、服饰计算机或者任何其它适当类型的可佩戴计算机。例如,移动计算装置可实现为智能电话,其能够执行计算机应用以及语音通信和/或数据通信。虽然作为举例可采用实现为智能电话的移动计算装置来描述一些实施例,但是可理解,其它实施例也可使用其它有线或无线移动计算装置来实现。
如图8所示,装置800可包括壳体802、显示器804、输入/输出(I/O)装置806和天线808。装置800还可包括导航特征812。显示器804可包括用于显示适合于移动计算装置的信息的任何适当显示器810单元。I/O装置806可包括用于将信息输入移动计算装置中的任何适当I/O装置。例如,I/O装置806可包括字母数字键盘、数字小键盘、触摸板、输入按键、按钮、开关、摇臂开关、话筒、扬声器、语音识别装置和软件等。信息也可通过话筒输入到装置800中。这种信息可由语音识别装置来数字化。
图9是示出存储用于暴露媒体处理特征的代码的有形的非暂时的计算机可读介质900的框图。有形的非暂时的计算机可读介质900可由处理器902通过计算机总线904来访问。此外,有形的非暂时的计算机可读介质900可包括配置成指导处理器902执行本文所述方法的代码。
本文所述的各种软件组件可存储在一个或多个有形的非暂时的计算机可读介质900上,如图9所示。例如,视频控制模块906可配置成执行媒体功能。另外,视频控制模块基于系统的功率状态来调整媒体功能的一个或多个特征。功率模块908可配置成确定系统的功率状态。
图9的框图不是要表明有形的非暂时的计算机可读介质900将包含图9所示的所有组件。此外,有形的非暂时的计算机可读介质900可包括图9未示出的任何数量的附加组件,这取决于特定实现的细节。
示例1
本文描述一种设备。该设备包括呈现视频的逻辑。另外,该设备包括当设备呈现视频时响应于功率消耗而调整视频的特征的逻辑,其中调整视频的特征的逻辑被集成到设备的操作系统中。
调整视频的特征的逻辑可以是应用编程接口(API),API使设备的应用能够响应于功率消耗而调整视频的特征。该设备还可包括确定设备的电池的剩余功率时间的逻辑,以及调整视频的特征以使得视频在设备的电池的剩余功率时间之内完全呈现的逻辑。另外,该设备可包括使用户通过忽略基于功率消耗调整视频的特征的逻辑来调整视频的特征的逻辑,以及用于控制面板的逻辑,在控制面板中用户能够调整视频的特征。此外,该设备可包括确定完全呈现视频的时间长度的逻辑、确定电池的功率状态的逻辑、对于视频的特征确定从电池的功率消耗的逻辑、基于从电池的功率消耗和电池的功率状态来计算使用该特征能够呈现视频的时间长度的逻辑、以及禁用特征以使得可完全呈现视频的逻辑。操作系统可以是Android操作系统。另外,当修改或禁用视频的特征时,可降低功率消耗。该特征可以是视频处理特征。
示例2
本文描述一种系统。该系统包括配置成执行所存储指令的处理器以及存储指令的存储装置,其中存储装置包括处理器可执行代码,其在由处理器执行时配置成执行媒体功能。处理器可执行代码还配置成确定系统的功率状态,并且基于系统的功率状态来调整媒体功能的一个或多个特征。
一个或多个特征可以是视频处理特征。确定系统的功率状态可包括确定系统的电池的剩余功率时间。命令用户界面可提供用户能够修改的设定,以便基于系统的功率状态来调整媒体功能的一个或多个特征。功率控制服务可得到系统的各功能或组件的功率消耗状态。此外,视频重放调度器可基于系统的功率状态来确定是否能够完成媒体功能。该系统可以功率感知方式来执行媒体功能。另外,一个或多个特征可包括帧速率转换(FRC)、图像稳定化、视频缩放、组成、色调-饱和度-亮度-对比度(HSBC)、修改媒体功能的任何其它处理中的至少一个或者它们的任何组合。
示例3
本文描述一种系统。该系统包括功率控制服务,其中功率控制服务用来收集系统的组件的功率消耗状态。该系统还包括视频重放调度器,其中视频重放调度器计算确保系统完整呈现视频的所有可能的解决方案,并且使用系统的附加框架来修改一个或多个视频处理特征。
图形呈现管线可向视频重放调度器发送可缩放质量控制选项。另外,命令用户界面修改系统的一个或多个视频处理特征。
示例4
本文描述一种有形的非暂时的计算机可读介质。有形的非暂时的计算机可读介质包括指导处理器执行媒体功能、确定系统的功率状态以及基于系统的功率状态来调整媒体功能的一个或多个特征的代码。
要理解,上述示例中的具体细节可在一个或多个实施例中的任何位置使用。例如,上述计算装置的所有可选特征也可针对本文所述的方法或计算机可读介质的任一个来实现。此外,虽然本文中可能使用了流程图和/或状态图来描述实施例,但是,本发明并不局限于那些简图或者本文中的对应描述。例如,流程无需经过每个所示的框或状态,或者按照与本文所示和所述的顺序完全相同的顺序。
本发明并不局限于本文所列出的具体细节。实际上,获益于本公开的本领域的技术人员会理解,在本发明的范围内可对以上描述和附图进行其它许多变更。因此,以下权利要求书以及对其的任何修改定义本发明的范围。

暴露媒体处理特征.pdf_第1页
第1页 / 共22页
暴露媒体处理特征.pdf_第2页
第2页 / 共22页
暴露媒体处理特征.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《暴露媒体处理特征.pdf》由会员分享,可在线阅读,更多相关《暴露媒体处理特征.pdf(22页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104049967A43申请公布日20140917CN104049967A21申请号201410089362222申请日2014031213/79603520130312USG06F9/44200601G06F1/3220060171申请人英特尔公司地址美国加利福尼亚州72发明人王长亮林云标R文卡塔拉曼74专利代理机构中国专利代理香港有限公司72001代理人柯广华汤春龙54发明名称暴露媒体处理特征57摘要本文描述设备和系统。该设备包括呈现视频的逻辑。该设备还包括响应于功率消耗而调整视频的特征的逻辑,其中调整视频的特征的逻辑被集成到设备的操作系统中。30优先权数据51INTCL。

2、权利要求书2页说明书10页附图9页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图9页10申请公布号CN104049967ACN104049967A1/2页21一种用于暴露媒体处理特征的设备,所述设备包括呈现视频的逻辑;当所述设备呈现视频时响应于功率消耗而调整视频的特征的逻辑,其中,所述调整视频的特征的逻辑被集成到所述设备的操作系统中。2如权利要求1所述的设备,其中,所述调整视频的特征的逻辑是应用编程接口API,所述API使所述设备的应用能够响应于所述功率消耗而调整所述视频的特征。3如权利要求1所述的设备,还包括确定所述设备的电池的剩余功率时间以及调整所述视频的特。

3、征以使得所述视频在所述设备的所述电池的所述剩余功率时间之内完全呈现的逻辑。4如权利要求1所述的设备,还包括使用户通过忽略基于功率消耗来调整视频的特征的所述逻辑来调整所述视频的特征的逻辑。5如权利要求1所述的设备,还包括用于控制面板的逻辑,在所述控制面板中,用户能够调整所述视频的特征。6如权利要求1所述的设备,还包括确定完全呈现所述视频的时间长度的逻辑;确定电池的功率状态的逻辑;对于所述视频的特征确定从所述电池的所述功率消耗的逻辑;基于从所述电池的所述功率消耗和所述电池的所述功率状态来计算使用所述特征能够呈现所述视频的时间长度的逻辑;以及禁用所述特征以使得所述视频能够被完全呈现的逻辑。7如权利要。

4、求1所述的设备,其中,所述操作系统是ANDROID操作系统。8如权利要求1所述的设备,其中,当修改或禁用所述视频的所述特征时,降低所述功率消耗。9如权利要求1所述的设备,其中,所述特征是视频处理特征。10一种用于暴露媒体处理特征的系统,包括配置成执行所存储指令的处理器以及存储指令的存储装置,其中所述存储装置包括处理器可执行代码,所述代码在由所述处理器执行时配置成执行媒体功能;确定所述系统的功率状态;以及基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。11如权利要求10所述的系统,其中,所述一个或多个特征是视频处理特征。12如权利要求10所述的系统,其中,确定所述系统的功率状态包括。

5、确定所述系统的电池的剩余功率时间。13如权利要求10所述的系统,其中,命令用户界面提供用户能够修改的设定,以便基于所述系统的所述功率状态来调整所述媒体功能的所述一个或多个特征。14如权利要求10所述的系统,其中,功率控制服务得到所述系统的各功能或组件的功率消耗状态。15如权利要求10所述的系统,其中,视频重放调度器基于所述系统的所述功率状态来确定是否能够完成所述媒体功能。权利要求书CN104049967A2/2页316如权利要求10所述的系统,其中,所述系统以功率感知方式执行所述媒体功能。17如权利要求10所述的系统,其中,所述一个或多个特征包括帧速率转换FRC、图像稳定化、视频缩放、组成、色。

6、调饱和度亮度对比度HSBC、修改所述媒体功能的任何其它处理中的至少一个或者它们的任何组合。18一种用于暴露媒体处理特征的系统,包括功率控制服务,其中,所述功率控制服务用来收集所述系统的组件的功率消耗状态;以及视频重放调度器,其中,所述视频重放调度器计算确保所述系统完整地呈现视频的所有可能的解决方案,并且使用所述系统的附加框架来修改一个或多个视频处理特征。19如权利要求18所述的系统,其中,图形呈现管线向所述视频重放调度器发送可缩放质量控制选项。20如权利要求18所述的系统,其中,命令用户界面修改所述系统的所述一个或多个视频处理特征。21一种有形的非暂时的计算机可读介质,包括代码以指导处理器来执。

7、行媒体功能;确定系统的功率状态;以及基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。22如权利要求21所述的计算机可读介质,其中,所述媒体功能是视频重放功能,以及所述一个或多个特征是视频处理特征。权利要求书CN104049967A1/10页4暴露媒体处理特征技术领域0001本公开的实施例涉及媒体处理,更具体来说,涉及用于媒体处理的方法、装置和系统。背景技术0002诸如平板和智能电话之类的移动装置可使用操作系统或者提供对装置的某些硬件资源的访问的框架来操作。ANDROID框架包括内核、中间件、库以及访问装置硬件的各种应用编程接口API。ANDROID框架的媒体框架部分称作STAGE。

8、FRIGHT。STAGEFRIGHT实现各种媒体功能。如本文所使用的“媒体功能”是视频重放、视频记录、音频重放、音频记录、图像捕获、图像呈现等等。发明内容0003按照本公开的一个方面,提供一种用于暴露媒体处理特征的设备,所述设备包括呈现视频的逻辑;当所述设备呈现视频时响应于功率消耗而调整视频的特征的逻辑,其中,所述调整视频的特征的逻辑被集成到所述设备的操作系统中。0004按照本公开的另一方面,提供一种用于暴露媒体处理特征的系统,包括配置成执行所存储指令的处理器以及存储指令的存储装置,其中所述存储装置包括处理器可执行代码,所述代码在由所述处理器执行时配置成执行媒体功能;确定所述系统的功率状态;以。

9、及基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。0005按照本公开的又一方面,提供一种用于暴露媒体处理特征的系统,包括功率控制服务,其中,所述功率控制服务用来收集所述系统的组件的功率消耗状态;以及视频重放调度器,其中,所述视频重放调度器计算确保所述系统完整地呈现视频的所有可能的解决方案,并且使用所述系统的附加框架来修改一个或多个视频处理特征。0006按照本公开的再一方面,提供一种有形的非暂时的计算机可读介质,包括代码以指导处理器来执行媒体功能;确定系统的功率状态;以及基于所述系统的所述功率状态来调整所述媒体功能的一个或多个特征。附图说明0007图1示出用于JAVA应用的暴露视频。

10、处理框架;图2示出用于C/C应用的暴露视频处理框架;图3示出用于具有公共用户界面CUI的JAVA应用的暴露视频处理框架;图4是示出使用C/C应用的用于暴露视频处理特征的控制流程的简图;图5是采用JAVA应用的功率控制的框图;图6是可按照实施例使用的计算装置的框图;说明书CN104049967A2/10页5图7是暴露媒体特征的示范系统的框图;图8是可实施图7的系统的小形状因数装置的示意图;以及图9是示出存储用于暴露媒体处理特征的代码的有形的非暂时的计算机可读介质的框图。0008相同的标号在本公开和附图中通篇用来表示相似的组件和特征。100系列中的标号表示最初见于图1的特征;200系列中的标号表示。

11、最初见于图2的特征;等等。具体实施方式0009如上所述,ANDROID框架通过STAGEFRIGHT实现媒体重放和记录。STAGEFRIGHT所支持的其它服务包括对于流播数据、媒体下载、渐进重放、视频电话、音频编解码器、语音编解码器、视频编码器和解码器以及图像编码器和解码器的网络协议支持。STAGEFRIGHT提供对视频处理例如调整视频质量的访问。例如,ANDROID框架不支持使用STAGEFRIGHT将降噪特征运用于媒体重放的应用。如视频降噪之类的视频处理通常由可编程管线例如图形呈现管线来完成。其它视频处理包括但不限于帧速率转换FRC、图像稳定化、视频缩放、组成、色调饱和度亮度对比度HSBC。

12、。视频处理能够消耗媒体重放期间的大部分功率。另外,ANDROID框架没有实现对图形驱动器中包含的或者嵌入处理单元例如INTEL商标处理单元中的视频处理特征的访问。结果,ANDROID框架实现了媒体重放、记录和捕获,而没有实现当执行媒体重放、记录和捕获时对处理特征的调整。0010本文所述的实施例实现附加框架,该附加框架在涉及功率消耗时调整媒体质量。附加框架提供对嵌入装置的硬件和驱动器中的媒体处理特征的访问。使用附加框架,应用能够确定完成媒体重放的时间量、捕获剩余电池功率以及在媒体重放期间调整一个或多个视频处理特征以降低功率消耗。结果,媒体功能能够以功率感知方式来执行,其中应用知道装置可用的功率量。

13、,并且能够调整装置的媒体处理特征以延长可用功率。类似地,在实施例中,应用能够确定媒体功能的类型、捕获剩余电池功率以及在媒体记录期间调整一个或多个处理特征以降低功率消耗。这样,应用能够通过对媒体功能的调整来节省功率消耗。虽然本文所提供的技术使用视频重放媒体功能来描述,但是能够使用任何媒体功能。例如,视频记录特征也可基于装置的可用功率来暴露和调整。0011在以下描述和权利要求书中,可使用术语“耦合”和“连接”及其派生词。应当理解,这些术语并不是要作为彼此的同义词。相反,在具体实施例中,“连接”可用来表示两个或更多元件相互直接物理或电接触。“耦合”可表示两个或更多元件直接物理或电接触。但是,“耦合”。

14、也可表示两个或更多元件不是相互直接接触,但是仍然相互配合或交互。0012一些实施例可通过硬件、固件和软件其中之一或者它们的组合来实现。一些实施例还可作为机器可读介质上存储的指令来实现,所述指令可由计算平台读取和执行以完成本文所述的操作。机器可读介质可包括用于存储或传送机器例如计算机可读形式的信息的任何机制。例如,机器可读介质可包括只读存储器ROM;随机存取存储器RAM;磁盘存储介质;光存储介质;闪存装置;或者电、光、声或其它形式的传播信号,例如载波、红外信号、数字信号、或者发送和/或接收信号的接口等等。0013一个实施例是一种实现或示例。本说明书中提到“实施例”、“一个实施例”、“一些实施例”。

15、、“各种实施例”或者“其它实施例”表示结合这些实施例所述的具体特征、结构或特说明书CN104049967A3/10页6性包含在本发明的至少一些实施例中,但不一定是全部实施例中。各处出现的“实施例”、“一个实施例”或“一些实施例”不一定都指的是同一实施例。来自一个实施例的元件或方面能够与另一实施例的元件或方面组合。0014并非本文所述和所示的所有组件、特征、结构、特性等都需要包含在一个或多个具体实施例中。例如,如果说明书提到组件、特征、结构或特性“可”、“可能”、“能”或者“能够”被包含,则并不要求包含该具体组件、特征、结构或特性。如果说明书或权利要求书提到“一”或“一个”元件,则并不表示只有一。

16、个这种元件。如果说明书或权利要求书提到“一个附加”元件,则不排除存在不止一个这种附加元件的情况。0015要注意,虽然一些实施例参照具体实现来描述,但是按照一些实施例,其它实现是可能的。另外,附图所示和/或本文所述的电路元件或其它特征的布置和/或顺序无需按照所示和所述的具体方式来布置。按照一些实施例,许多其它布置是可能的。0016在附图所示的各系统中,一些情况中的元件各可具有相同的参考标号或者不同的参考标号,以暗示所表示的元件可能是不同的和/或相似的。但是,元件可以足够灵活以具有不同实现,并且与本文所示或所述的系统的部分或全部配合工作。附图所示的各种元件可以是相同的或不同的。哪个称作第一元件和哪。

17、个称作第二元件是任意的。0017图1示出用于JAVA应用的暴露视频处理框架100。虽然本文所述的视频处理框架100包含某些元件,但是视频处理框架可包含比本文所述的那些元件更多或更少的元件。0018视频处理框架100包括硬件102。硬件102包括但不限于中央处理单元CPU、图形处理单元GPU、图形硬件、媒体引擎、数字信号处理器DSP、硬件加速器、数据存储装置、话筒、扬声器、显示器、存储装置和连网接口卡。GPU和其它图形硬件可使用图形驱动器104来操作。在实施例中,图形驱动器104能够向图形硬件发出命令和中断。0019视频处理框架100还包括视频加速库LIBVA106。LIBVA106实现硬件加速。

18、的视频处理。例如,图形硬件能够用来从CPU卸载编码和解码过程,以使用LIBVA106来实现硬件加速。诸如运动补偿、离散余弦逆变换、环内去块、帧内预测、可变长度解码和比特流处理之类的其它视频处理特征能够使用LIBVA106来卸载和加速。0020至少一个或多个编解码器库108包含在视频处理框架100中。编解码器库108包括用于视频和音频数据的编码和解码的各种编解码器。STAGEFRIGHT层110使用开放媒体加速OPENMAX编程接口IOMX与编解码器库108进行接口。通过使用IOMX,媒体应用能够以平台独立方式来设计。ANDROID软件开发包SDKJAVA本地接口JNI112用来使以JAVA编码。

19、的应用114能够调用以不同于JAVA的语言例如C、C和汇编语言所编写的库和本地应用,以及被所述库和本地应用调用。因此,独立软件厂商ISV应用114是以JAVA编写的应用。0021STAGEFRIGHT层110不提供应用114访问或修改视频处理特征的功能性。为了给予应用114对视频处理特征的访问,SDK附件SDKADDON116用来得到指向IOMX117的指针。SDK附件116能够使用IOMX117来访问OPENMAX扩展118。OPENMAX扩展118可以是OPENMAX集成层的组件,并且能够用来访问编解码器库108内的各种编解码器。具体来说,视频处理中使用的编解码器可使用视频处理扩展120来。

20、访问。视频处理扩展访问LIBVA106以及图形驱动器104,以根据需要执行对视频处理控制的调整。SDK附件116用来暴露ANDROID框架内的、使用STAGEFRIGHT层110和ANDROIDSDKJNI112不可访问的视频特说明书CN104049967A4/10页7征。此外,SDK附件116能够用来访问嵌入系统的图形驱动器104和硬件102中的视频处理特征。0022质量控制122表示由ANDROID框架所播放的媒体的质量。通过改变或调整所暴露的视频处理特征,也可改变或调整媒体的质量。媒体的质量与包括这种框架的装置的功率消耗相关。当媒体重放的质量较高时,各视频处理特征可用来产生高质量媒体重放。

21、或记录。但是,以这种方式使用视频处理特征还消耗大量功率。因此,可降低视频的质量,以便降低媒体重放或记录期间的功率消耗。0023图2示出用于C/C应用的暴露视频处理框架200。虽然本文所述的视频处理框架200包含某些元件,但是视频处理框架可包含比本文所述那些元件更多或更少的元件。0024视频处理框架200包括针对图1所述的硬件102、图形驱动器104、LIBVA106、编解码器库108、STAGEFRIGHT层110和质量控制122。视频处理框架200还包括以C/C编写的独立软件厂商ISV应用202。当以C或C来编写应用202时,ANDROIDSDKJNI112没有用来在应用202与STAGEF。

22、RIGHT层110之间进行接口,因为应用202和STAGEFRIGHT层110是以相同编程语言来编写的。因此,调用可在应用202与STAGEFRIGHT层110之间未经翻译地传递。此外,ANDROID框架中包含的媒体播放器服务接口IMEDIAPLAYERSERVICE204能够用来得到如上所述的指向IOMX117的指针。以这种方式,IMEDIAPLAYERSERVICE204用来暴露ANDROID框架内当应用202以C或C编写时使用STAGEFRIGHT层110不可访问的视频特征。在实施例中,IMEDIAPLAYERSERVICE204充当执行媒体功能的媒体播放器服务的代理。在示例中,应用20。

23、2能够通过IMEDIAPLAYERSERVICE204向媒体播放器服务发送视频处理控制。媒体播放器服务则可通过到编解码器库108的IOMX接口117来控制如视频处理之类的特征。另外,应用202能够用来访问嵌入系统的图形驱动器104和硬件102中的视频处理特征。0025图3示出用于具有公共用户界面CUI302的JAVA应用的暴露视频处理框架300。虽然本文所述的视频处理框架100包含某些元件,但是视频处理框架可包含比本文所述那些元件更多或更少的元件。0026视频处理框架300包括针对图1所述的硬件102、图形驱动器104、LIBVA106、编解码器库108、STAGEFRIGHT层110、AND。

24、ROIDSDK112、ISV应用114、SDK附件116、IOMX117、OPENMAX扩展118、视频处理扩展120和质量控制122。提供CUI302,其实现用来调整视频处理特征的接口。在实施例中,CUI302是INTELCUI。此外,在实施例中,CUI302实现对视频处理特征的全局变更。将全局变更运用于每个应用114,而与应用114的视频处理设定无关。此外,在实施例中,一个或多个功率控制也可以是使用CUI302可用的。功率控制表示装置以及装置的组件的功率状态。如果装置功率低于如用户所确定的阈值,则视频处理特征可使用CUI302来修改、调整或禁用。0027图4是示出使用C/C应用的用于暴露视。

25、频处理特征的控制流程的简图。在阶段402,IMEDIAPLAYERSERVICE使用ISERVICEMANAGERGETSERVICE“MEDIAPLAY”命令来例示。在阶段404,IMEDIAPLAYERSERVICE用来访问IOMX。在阶段406,IOMX用来列出所有节点,以得到特定OMX组件,该组件用来修改、改变或调整视频处理特征。如本文所使用的“节点”是对应于编解码器库内的各编解码器的OMX组件。在阶段408,SENDCOMMANDASYNC命令或GETPARAMETERSYNC用来修改、改变或调整视频处理特征,如上所述。说明书CN104049967A5/10页80028图5是采用JA。

26、VA应用的功率控制的框图500。在图5中,JAVA应用是JAVA播放器502。JAVA播放器502得到媒体内容的大小。JAVA播放器502还计算媒体重放应当花费多长时间完成。功率状态可从功率或电池服务504得到。使用SDK附件116,JAVA播放器502能够得到视频重放中使用的各视频处理特征的功率消耗。具体来说,JAVA播放器502能够得到来自图形驱动器104或硬件102的功率消耗。SDK附件116能够使用IOMX117来访问OPENMAX扩展118和视频处理扩展120,以暴露能够使用图形驱动器104或硬件102来调整、修改或改变的视频特征。媒体服务506还能够控制编码器和解码器功能的软件组件。

27、。0029然后,JAVA播放器502能够基于当前视频处理特征和可用功率来计算它能够支持的重放时间量。如果重放时间量不足以完整地播放预期内容,则视频处理特征能够被改变、调整或修改,以便节省功率以使得能够支持整个媒体重放。在实施例中,可使用SDK附件116、OPENMAX扩展118和视频处理扩展120来改变、调整或修改视频处理特征,如上所述。在ANDROID框架内以功率感知方式来调整视频处理特征,以便降低功率消耗,以满足系统的当前媒体要求。通过利用ANDROIDSDK附件以及IOMX接口,以避免ANDROID框架的分裂的方式进行调整。其它媒体特征可基于可用功率量来修改、调整或禁用,以完整地执行媒体。

28、功能。例如,当用户期望使用图像捕获媒体功能时,所捕获图像的图像处理能够基于装置可用的功率量来调整。0030在实施例中,功率控制服务可用来收集便携装置内的组件的功率消耗状态。组件包括但不限于图形、WIFI/3G/BLUETOOTH、显示器和操作系统。采用功率消耗信息,视频重放调度器能够计算确信视频能够播放到结束的所有可能的解决方案。如果以当前功率状态不能完成视频重放,则视频重放调度器可使用户能够选择所建议的解决方案。在实施例中,用户可使用CUI来选择所建议的解决方案。此外,在实施例中,功率控制服务可称作功率状态取样器。因此,视频重放的粒度基于装置的功率状态来选择。此外,视频重放调度器还可基于当前。

29、功率状态来确定要采取什么动作,而不向用户提出解决方案。具体来说,视频重放调度器可修改、改变、调整或禁用视频处理特征。例如,视频重放调度器能够降低视频的帧速率,或者禁用某些重放特征、例如环内去块。0031视频重放调度器连同功率控制服务一起能够基于各种粒度来控制视频重放。例如,当电池的功率状态降至总可用功率的40时,视频重放调度器能够禁用某些特征。当电池的功率状态降至总可用功率的20时,视频重放调度器能够关闭未使用的硬件。视频重放调度器所采取的节省功率的动作能够随着可用功率下降而变得更有效力。在实施例中,视频重放调度器能够调用图形呈现管线内的各个组件,以执行质量缩放,例如帧速率降低和禁用某些视频后。

30、处理特征,以便节省功率。此外,在调度器修改、改变或禁用媒体特征之前,图形呈现管线内的各个组件向调度器发送可缩放质量控制选项。0032图6是可按照实施例使用的计算装置600的框图。计算装置600可以是例如膝上型计算机、台式计算机、超级本、平板计算机、移动装置或服务器等等。计算装置600可包括中央处理单元CPU602其配置成执行所存储指令以及存储器装置604其存储CPU602可执行的指令。CPU可通过总线606耦合到存储器装置604。另外,CPU602能够是单核处理器、多核处理器、计算集群或者任何数量的其它配置。此外,计算装置600可包括不止一个CPU602。0033计算装置600还可包括图形处理。

31、单元GPU608。如所示,CPU602可通过总线606说明书CN104049967A6/10页9耦合到GPU608。GPU608可配置成执行计算装置600内的任何数量的图形操作。例如,GPU608可配置成呈现或操纵图形图像、图形帧、视频等,以便向计算装置600的用户显示。0034存储器装置604能够包括随机存取存储器RAM、只读存储器ROM、闪存或者任何其它适当存储器系统。例如,存储器装置604可包括动态随机存取存储器DRAM。计算装置600包括图像捕获机构610。在实施例中,图像捕获机构610是照相机、立体照相机、扫描仪、红外传感器等。0035CPU602可通过总线606链接到显示器接口61。

32、2,显示器接口612配置成将计算装置600连接到显示装置614。显示装置614可包括作为计算装置600的内置组件的显示屏幕。显示装置614还可包括外部连接到计算装置600的计算机监视器、电视机或投影仪等等。0036CPU602还可通过总线606连接到输入/输出I/O装置接口616,I/O装置接口616配置成将计算装置600连接到一个或多个I/O装置618。I/O装置618可包括例如键盘和定点装置,其中定点装置可包括触摸板或触摸屏等等。I/O装置618可以是计算装置600的内置组件,或者可以是外部连接到计算装置600的装置。0037计算装置还包括存储装置620。存储装置620是物理存储器,诸如硬。

33、盘驱动器、光驱动器、拇指驱动器THUMBDRIVE、驱动器阵列或者它们的任何组合。存储装置620还可包括远程存储驱动器。计算装置600还可包括网络接口控制器NIC622,NIC622可配置成通过总线606将计算装置600连接到网络624。网络624可以是广域网WAN、局域网LAN或因特网等等。0038图6的框图不是要表明计算装置600将包含图6所示的所有组件。此外,计算装置600可包括图6未示出的任何数量的附加组件,这取决于特定实现的细节。0039图7是暴露媒体特征的示范系统700的框图。相似标号的项目如针对图6所述。在一些实施例中,系统700是媒体系统。另外,系统700可结合到个人计算机PC。

34、、膝上型计算机、超膝上型计算机、服务器计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理PDA、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置例如智能电话、智能平板或者智能电视机、移动因特网装置MID、消息传递装置、数据通信装置、打印装置、嵌入式装置等等中。0040在各种实施例中,系统700包括耦合到显示器704的平台702。平台702可从诸如内容服务装置706或内容传递装置708之类的内容装置或者其它类似内容源接收内容。包括一个或多个导航特征的导航控制器710可用来与例如平台702和/或显示器704进行交互。下面更详细描述这些组件中的每一个。0041平台702可包括芯片。

35、组712、中央处理单元CPU602、存储器装置604、存储装置620、图形子系统714、应用720和无线电单元716的任何组合。芯片组712可提供CPU602、存储器装置604、存储装置622、图形子系统714、应用720和无线电单元716之间的相互通信。例如,芯片组712可包括存储适配器未示出,其能够提供与存储装置620的相互通信。应用720可以是如上所述的应用114、应用202或者应用502。0042CPU602可实现为复杂指令集计算机CISC或简化指令集计算机RISC处理器、X86指令集兼容处理器、多核或者任何其它微处理器或中央处理单元CPU。在一些实施例中,CPU602包括多核处理器、。

36、多核移动处理器等。存储器装置604可实现为易失说明书CN104049967A7/10页10性存储器装置,诸如但不限于随机存取存储器RAM、动态随机存取存储器DRAM或静态RAMSRAM。存储装置620可实现为非易失性存储装置,诸如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、固态驱动器、内部存储装置、附连存储装置、闪存、电池支持的SDRAM同步DRAM和/或网络可访问的存储装置。在一些实施例中,例如,存储装置620包括在包括多个硬盘驱动器时为有价值的数字媒体增加存储性能增强保护的技术。0043图形子系统714可执行诸如静止或视频之类的图像的处理以供显示。例如,图形子系统714可包括图形处理单元G。

37、PU,诸如GPU608或视觉处理单元VPU。模拟或数字接口可用来在通信上耦合图形子系统714和显示器704。例如,接口可以是高清晰度多媒体接口、DISPLAYPORT、无线HDMI和/或符合无线HD的技术中的任一个。图形子系统714可集成到CPU602或芯片组712中。备选地,图形子系统714可以是通信上耦合到芯片组712的独立卡。0044本文所述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能性可集成在芯片组712内。备选地,可使用分立的图形和/或视频处理器。作为又一个实施例,图形和/或视频功能可通过包括多核处理器的通用处理器来实现。在另一实施例中,这些功能可在消费电。

38、子装置中实现。0045无线电单元716可包括一个或多个无线电单元,其能够使用各种适当的无线通信技术来发送和接收信号。这类技术可涉及跨一个或多个无线网络的通信。示范无线网络包括无线局域网WLAN、无线个人区域网WPAN、无线城域网WMAN、蜂窝网络、卫星网络等。在跨这类网络的通信中,无线电单元716可按照任何版本的一个或多个适用标准来操作。0046显示器704可包括任何电视机类型监视器或显示器。例如,显示器704可包括计算机显示屏幕、触摸屏显示器、视频监视器、电视机等。显示器704可以是数字的和/或模拟的。在一些实施例中,显示器704是全息显示器。另外,显示器704可以是可接收视觉投影的透明表面。

39、。这类投影可传达各种形式的信息、图像、对象等。例如,这类投影可以是移动增强现实MAR应用的视觉覆盖。在一个或多个应用720的控制下,平台702可在显示器704上显示用户界面718。0047内容服务装置706可由任何国家的、国际的或独立的服务来接管,并且因而可以是平台702经由例如因特网可访问的。内容服务装置706可耦合到平台702和/或显示器704。平台702和/或内容服务装置706可耦合到网络624,以便向和从网络624传递例如发送和/或接收媒体信息。内容传递装置708还可耦合到平台702和/或显示器704。0048内容服务装置706可包括有线电视盒、个人计算机、网络、电话或者能够传递数字信。

40、息的因特网使能装置。另外,内容服务装置706可包括能够经由网络624或者直接地在内容提供商与平台702或显示器704之间单向或双向传递内容的任何其它类似装置。将会理解,可经由网络624向和从系统700中的任一个组件和内容提供商单向和/或双向传递内容。内容的示例可包括任何媒体信息,其中包括例如视频、音乐、医疗和游戏信息等。0049内容服务装置706可接收内容,例如包括媒体信息的有线电视节目、数字信息或其它内容。内容提供商的示例可包括任何有线或卫星电视或无线电或者因特网内容提供商等等。0050在一些实施例中,平台702从包括一个或多个导航特征的导航控制器710接收控说明书CN104049967A1。

41、08/10页11制信号。例如,导航控制器710的导航特征可用来与用户界面718进行交互。导航控制器710可以是定点装置或者触摸屏装置,其可以是允许用户将空间例如连续并且多维的数据输入计算机中的计算机硬件组件特别是人类界面装置。诸如图形用户界面GUI之类的许多系统以及电视机和监视器允许用户使用形体姿态来控制并且将数据提供给计算机或电视机。形体姿态包括但不限于脸部表情、脸部移动,各种肢体的移动,身体移动、身体语言或者它们的任何组合。这类形体姿态能够被识别并且转化为命令或指令。0051通过移动显示器704上显示的指针、光标、聚焦环或者其它视觉指示符,可在显示器704上仿效导航控制器710的导航特征的。

42、移动。例如,在应用720的控制下,位于导航控制器710上的导航特征可映射到用户界面718上显示的虚拟导航特征。在一些实施例中,导航控制器710可以不是分开的组件,而是可集成到平台702和/或显示器704中。0052系统700可包括驱动器未示出,驱动器包括例如在被启用时使用户能够通过在初始引导之后触摸按钮来立即开启和关断平台702的技术。程序逻辑可允许平台702在平台被“关断”时,将内容流播到媒体适配器或者其它内容服务装置706或内容传递装置708。另外,例如,芯片组712可包括对于61环绕声音频和/或高清晰度71环绕声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在一些实。

43、施例中,图形驱动器包括外围部件互连快递PCIE图形卡。0053在各种实施例中,可集成系统700中所示组件的任一个或多个。例如,可集成平台702和内容服务装置706;可集成平台702和内容传递装置708;或者可集成平台702、内容服务装置706和内容传递装置708。在一些实施例中,平台702和显示器704是集成单元。例如,可集成显示器704和内容服务装置706,或者可集成显示器704和内容传递装置708。0054系统700可实现为无线系统或者有线系统。当实现为无线系统时,系统700可包括适合于通过无线共享介质诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等进行通信的组件和接。

44、口。无线共享介质的示例可包括无线谱的部分,例如RF谱。当实现为有线系统时,系统700可包括适合于通过有线通信介质诸如输入/输出I/O适配器、将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡NIC、盘控制器、视频控制器、音频控制器等进行通信的组件和接口。有线通信介质的示例可包括电线、电缆、金属引线、印刷电路板PCB、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等等。0055平台702可建立一个或多个逻辑或物理信道以传递信息。信息可包括媒体信息和控制信息。媒体信息可指表示要用于用户的内容的任何数据。内容的示例可包括例如来自语音对话的数据、视频会议、流播视频、电子邮件EMAIL消息。

45、、语音邮件消息、字母数字符号、图形、图像、视频、文本等。来自语音对话的数据可以是例如话音信息、静寂周期、背景噪声、舒适噪声、信号音等。控制信息可指表示要用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或者指示节点以预定方式处理媒体信息。但是,实施例并不局限于图7所示或所述的元件或上下文。0056图8是可实施图7的系统700的小形状因数装置800的示意图。相似标号的项目如针对图7所述。在一些实施例中,例如,装置800被实现为具有无线能力的移动计算装置。例如,移动计算装置可指具有处理系统和移动电源或电力供应例如一个或多个电池的任何装置。说明书CN104049。

46、967A119/10页120057如上所述,移动计算装置的示例可包括个人计算机PC、膝上型计算机、超膝上型计算机、服务器计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理PDA、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置例如智能电话、智能平板或者智能电视机、移动因特网装置MID、消息传递装置、数据通信装置等。0058移动计算装置的示例还可包括设置成供人佩戴的计算机,诸如手腕计算机、手指计算机、指环计算机、眼镜计算机、皮带夹计算机、臂章计算机、靴式计算机、服饰计算机或者任何其它适当类型的可佩戴计算机。例如,移动计算装置可实现为智能电话,其能够执行计算机应用以及语音通信和。

47、/或数据通信。虽然作为举例可采用实现为智能电话的移动计算装置来描述一些实施例,但是可理解,其它实施例也可使用其它有线或无线移动计算装置来实现。0059如图8所示,装置800可包括壳体802、显示器804、输入/输出I/O装置806和天线808。装置800还可包括导航特征812。显示器804可包括用于显示适合于移动计算装置的信息的任何适当显示器810单元。I/O装置806可包括用于将信息输入移动计算装置中的任何适当I/O装置。例如,I/O装置806可包括字母数字键盘、数字小键盘、触摸板、输入按键、按钮、开关、摇臂开关、话筒、扬声器、语音识别装置和软件等。信息也可通过话筒输入到装置800中。这种信。

48、息可由语音识别装置来数字化。0060图9是示出存储用于暴露媒体处理特征的代码的有形的非暂时的计算机可读介质900的框图。有形的非暂时的计算机可读介质900可由处理器902通过计算机总线904来访问。此外,有形的非暂时的计算机可读介质900可包括配置成指导处理器902执行本文所述方法的代码。0061本文所述的各种软件组件可存储在一个或多个有形的非暂时的计算机可读介质900上,如图9所示。例如,视频控制模块906可配置成执行媒体功能。另外,视频控制模块基于系统的功率状态来调整媒体功能的一个或多个特征。功率模块908可配置成确定系统的功率状态。0062图9的框图不是要表明有形的非暂时的计算机可读介质。

49、900将包含图9所示的所有组件。此外,有形的非暂时的计算机可读介质900可包括图9未示出的任何数量的附加组件,这取决于特定实现的细节。0063示例1本文描述一种设备。该设备包括呈现视频的逻辑。另外,该设备包括当设备呈现视频时响应于功率消耗而调整视频的特征的逻辑,其中调整视频的特征的逻辑被集成到设备的操作系统中。0064调整视频的特征的逻辑可以是应用编程接口API,API使设备的应用能够响应于功率消耗而调整视频的特征。该设备还可包括确定设备的电池的剩余功率时间的逻辑,以及调整视频的特征以使得视频在设备的电池的剩余功率时间之内完全呈现的逻辑。另外,该设备可包括使用户通过忽略基于功率消耗调整视频的特征的逻辑来调整视频的特征的逻辑,以及用于控制面板的逻辑,在控制面板中用户能够调整视频的特征。此外,该设备可包括确定完全呈现视频的时间长度的逻辑、确定电池的功率状态的逻辑、对于视频的特征确定从电池的功率消耗的逻辑、基于从电池的功率消耗和电池的功率状态来计算使用该特征能够呈现视频的时间长度的逻辑、以及禁用特征以使得可完全呈现视频的逻辑。操作说明书CN104049967A1210/10页13系统可以是ANDROID操作系统。另外,当修改或禁用视频的特征时,可降低功率消耗。该特征可以是视频处理特征。0065示例2本文描述一种系统。该系统包括配置成执行所存储指令的处理器以及存储指令的存储装置,其中存。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1