在云中处理视频数据.pdf

上传人:a1 文档编号:19705 上传时间:2018-01-12 格式:PDF 页数:28 大小:1.65MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280075488.3

申请日:

2012.09.28

公开号:

CN104782136A

公开日:

2015.07.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04N 21/27申请日:20120928|||公开

IPC分类号:

H04N21/27

主分类号:

H04N21/27

申请人:

英特尔公司

发明人:

应志伟; 王长亮; 路奎元

地址:

美国加利福尼亚州

优先权:

专利代理机构:

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

代理人:

徐予红; 汤春龙

PDF下载: PDF下载
内容摘要

可以将视频处理(VP)任务从如智能电话、平板电脑或膝上型计算机的客户端设备转移到云中提供的云处理设备以便节省客户端设备中的功率。在一个实施例中,云处理设备可以基于优化视频处理参数来处理视频数据,这些优化视频处理参数可以是使用一个或多个修改的VPP来生成的。修改的VPP可以由客户端设备基于客户端设备的屏幕尺寸(例如小、中等或大)来提供。再者,云处理设备可以支持自动适应模式(AAM),其中云处理设备可以基于客户端设备提供的网络带宽值来处理视频数据。

权利要求书

1.   一种客户端设备,其包括:
计算平台,其中所述计算平台包括核、非核、视频控制器、输入输出接口、网络接口和显示接口,
其中所述网络接口用于将所述客户端设备耦合到网络,以及
其中所述显示接口用于将所述客户端设备耦合到显示器,
其中所述视频控制器用于
确定是否要在耦合到所述客户端设备的云处理设备中执行一个或多个视频处理任务,
响应确定要在所述云处理设备中执行一个或多个视频处理任务,将一个或多个视频处理参数发送到所述云处理设备,
接收信号,所述信号指示使用所述一个或多个视频处理参数处理视频数据之后创建的视频文件可用,
检索所述视频文件,以及
在所述显示器上呈放所述视频文件。

2.
   如权利要求1所述的客户端设备,其中所述视频控制器用于在所述客户端设备以电池工作的情况下确定要在所述客户端设备中执行所述一个或多个视频处理任务。

3.
   如权利要求1所述的客户端设备,其中所述视频控制器用于在所述客户端设备正在以在线模式检索所述视频文件的情况下确定要在所述客户端设备中执行所述一个或多个视频处理任务。

4.
   如权利要求1所述的客户端设备,其中所述一个或多个视频参数要包括缩放、锐化、旋转或处理放大参数的至少其中之一。

5.
   如权利要求1所述的客户端设备,所述视频控制器用于
接收所述视频数据,所述视频数据响应发送一个或多个修改的视频处理参数与所述客户端设备的屏幕尺寸相吻合,以及
在所述屏幕上呈放所述视频数据,
其中如果所述屏幕尺寸小,则所述视频数据的尺寸是第一尺寸的,以及如果所述屏幕尺寸中等,则所述视频数据的尺寸是第二尺寸的,以及如果所述屏幕尺寸大,则所述视频数据的尺寸是第三尺寸的,
其中所述第一尺寸小于所述第二尺寸,以及所述第二尺寸小于所述第三尺寸。

6.
   如权利要求1所述的客户端设备,所述视频控制器用于
接收基于至所述网络的接口所支持的网络带宽确定的分辨率的所述视频数据,以及
基于所述视频数据的分辨率,在所述显示器上呈放所述视频数据,
其中所述视频数据的所述分辨率是基于可用网络带宽值来确定的,其中如果所述可用网络带宽较小,则所述分辨率较低,以及如果所述可用网络带宽值较高,则所述分辨率较高。

7.
   一种云处理设备,其包括:
计算平台,其中所述计算平台包括核、非核、视频控制器、输入输出接口、网络接口和显示接口,
其中所述网络接口用于将所述云处理设备耦合到网络,
其中所述核区域用于包括多个处理核以及一个或多个图形控制单元,
其中所述视频控制器用于
在接收到使用视频处理参数来处理视频数据的请求之后,接收一个或多个视频处理参数,
指定所述图形控制单元的其中一个或多个来使用所述一个或多个视频处理参数处理所述视频数据,
其中所述一个或多个图形控制单元用于,
基于所述一个或多个视频处理参数来处理所述视频数据,
在处理所述视频数据之后创建视频文件,
存储所述视频文件,
发送指示所述视频文件已就绪可供检索的信号。

8.
   如权利要求7所述的云处理设备,其中所述视频控制器用于响应接收到所述请求确定与所述视频数据对应的视频文件是否已经可用,然后才发送用于指示所述视频文件准备就绪可供检索的信号。

9.
   如权利要求7所述的云处理设备,其中所述视频控制器用于在确定视频文件不可用之后,指定所述一个或多个图形控制单元来处理所述视频数据。

10.
   如权利要求9所述的云处理设备,其中所述一个或多个图形控制单元用于使用所述视频处理参数对所述视频数据执行缩放、锐化、旋转或处理放大任务的其中一个或多个。

11.
   如权利要求7所述的云处理设备,其中所述一个或多个图形控制单元用于,
响应接收到一个或多个修改的视频处理参数,生成一个或多个优化视频处理参数,
使用所述优化视频处理参数来处理所述视频数据,以及
生成与所述一个或多个修改的视频处理参数对应的分辨率的视频数据,
其中如果客户端设备的屏幕尺寸小,则所述分辨率是第一尺寸的,以及如果所述客户端设备的屏幕尺寸中等,则所述分辨率是第二尺寸的,以及如果所述客户端设备的屏幕尺寸大,则所述分辨率是第三尺寸的,
其中所述第一尺寸小于所述第二尺寸,以及所述第二尺寸小于所述第三尺寸。

12.
   如权利要求7所述的云处理设备,其中所述一个或多个图形控制单元用于生成基于网络带宽值的尺寸的视频数据,其中所述网络带宽值表示经由所述网络将所述云处理设备与所述客户端设备耦合的链路上的可用带宽。

13.
   如权利要求12所述的云处理设备,其中所述视频数据的尺寸是基于所述可用网络带宽值来确定的,其中如果所述可用网络带宽较小,则所述尺寸较低,以及如果所述可用网络带宽值较高,则所述尺寸较高。

14.
   一种客户端设备中的方法,其包括:
将所述客户端设备耦合到网络和显示器,
确定是否要在耦合到所述客户端设备的云处理设备中执行一个或多个视频处理任务,
响应确定要在所述云处理设备中执行一个或多个视频处理任务,将一个或多个视频处理参数发送到所述云处理设备,
接收指示视频文件可用的信号,其中在使用所述一个或多个视频处理参数处理视频数据之后创建所述视频文件,
检索所述视频文件,以及
在所述显示器上呈放所述视频文件。

15.
   如权利要求14所述的方法,其中确定要在所述云处理设备中执行所述一个或多个视频处理任务包括,检查所述客户端设备是否是以电池工作的。

16.
   如权利要求14所述的方法,其中确定要在所述客户端处理设备中执行所述一个或多个视频处理任务包括,检查所述客户端设备是否正在以在线模式检索所述视频文件。

17.
   如权利要求14所述的方法,其中所述一个或多个视频参数要包括缩放、锐化、旋转或处理放大参数的至少其中之一。

18.
   如权利要求14所述的方法,其包括:
接收所述视频数据,所述视频数据响应发送一个或多个修改的视频处理参数与所述客户端设备的屏幕尺寸相吻合,以及
在所述屏幕上呈放所述视频数据,
其中如果所述屏幕尺寸小,则所述视频数据的尺寸是第一尺寸的,以及如果所述屏幕尺寸中等,则所述视频数据的尺寸是第二尺寸的,以及如果所述屏幕尺寸大,则所述视频数据的尺寸是第三尺寸的,
其中所述第一尺寸小于所述第二尺寸,以及所述第二尺寸小于所述第三尺寸。

19.
   如权利要求14所述的方法,其包括:
接收基于至所述网络的接口所支持的网络带宽确定的分辨率的所述视频数据,以及
基于所述视频数据的分辨率,在所述显示器上呈放所述视频数据,
其中所述视频数据的分辨率是基于可用网络带宽值来确定的,其中如果所述可用网络带宽较小,则所述分辨率较低,以及如果所述可用网络带宽值较高,则所述分辨率较高。

20.
   一种云处理设备中的方法,其包括:
经由网络将所述云处理设备耦合到客户端设备,
在接收到使用一个或多个视频处理参数来处理视频数据的请求之后,接收所述视频数据和所述视频处理参数,
指定所述图形控制单元的其中一个或多个来使用所述一个或多个视频处理参数处理所述视频数据,
基于所述一个或多个视频处理参数来处理所述视频数据,
在处理所述视频数据之后创建视频文件,
存储所述视频文件,
发送指示所述视频文件已就绪可供检索的信号。

21.
   如权利要求20所述的方法,其包括响应接收到所述请求确定与所述视频数据对应的视频文件是否已经可用,然后才发送用于指示所述视频文件准备就绪可供检索的信号。

22.
   如权利要求21所述的方法,其包括在确定视频文件不可用之后,指派一个或多个图形控制单元来处理所述视频数据。

23.
   如权利要求22所述的方法,其包括使用所述视频处理参数对所述视频数据执行缩放、锐化、旋转或处理放大任务的其中一个或多个。

24.
   如权利要求23所述的方法,其包括:
响应接收到一个或多个修改的视频处理参数,生成一个或多个优化视频处理参数,
使用所述优化视频处理参数来处理所述视频数据,以及
生成与所述一个或多个修改的视频处理参数对应的分辨率的视频数据,
其中如果客户端设备的屏幕尺寸小,则所述分辨率是第一尺寸的,以及如果所述客户端设备的屏幕尺寸中等,则所述分辨率是第二尺寸的,以及如果所述客户端设备的屏幕尺寸大,则所述分辨率是第三尺寸的,
其中所述第一尺寸小于所述第二尺寸,以及所述第二尺寸小于所述第三尺寸。

25.
   如权利要求23所述的方法,其包括生成基于网络带宽值的尺寸的视频数据,其中所述网络带宽值表示经由所述网络将所述云处理设备与所述客户端设备耦合的链路上的可用带宽。

26.
   如权利要求25所述的方法,其中所述视频数据的尺寸是基于所述可用网络带宽值来确定的,其中如果所述可用网络带宽较小,则所述尺寸较低,以及如果所述可用网络带宽值较高,则所述尺寸较高。

说明书

在云中处理视频数据
背景技术
目前,如缩放、色度、饱和度、亮度、对比度、锐度、旋转的视频处理(VP)任务可以在如膝上型计算机、上网本和超级本类型的计算机、手持设备、智能电话、音乐播放器和此类其他设备的客户端设备中执行。此类客户端设备的用户可以在线观看视频。可以从服务器实时地下载视频,并在客户端设备上呈放(或播放)。如果客户端设备的用户更改一个或多个视频处理特征的参数,则视频播放器可以请求请求视频驱动器以执行视频处理。视频驱动器可以对如图形处理单元(GPU)生成执行VP的命令或可以使用软件模拟以使用中央处理单元(CPU)来执行后处理。GPU或CPU执行VP任务消耗的功率可能是很大的,并且此类很大的功耗可能会显著地降低客户端设备的电源后备(power back-up)。
此方法的问题在于VP任务需要更多功率用于GPU,以及一些平台可能甚至不具有VP能力。这些方法之一使用可伸缩视频编码(SVC),其可以提供高质量位流的编码。该高质量视频位流可以包含一个或多个子集位流,该一个或多个子集位流可以通过从较大视频文件中弃包以减少子集位流所需的带宽来创建。子集位流可以标识较低空间分辨率、较低时间分辨率或较低质量的视频信号。
附图说明
附图中通过举例方式而非限制来说明本文描述的本发明。为了说明的简明,附图中的元件不一定按比例绘制。例如,为了清晰,可能将一些元件的尺寸相对于其他元件放大。再者,在认为适合的情况中,附图中重复使用引用标号以指示对应或相似的元件。
图1说明根据一个实施例的支持云中的视频数据的处理的计算环境100。
图2说明根据一个实施例的在客户端设备和云处理设备中使用来支持视频数据的处理的计算平台。
图3是说明根据一个实施例的客户端设备用于支持云中的视频数据的处理的操作的流程图。
图4是说明根据一个实施例的客户端设备用于支持云中的视频数据的处理的操作的流程图。
图5说明根据一个实施例的可在客户端设备与云处理设备之间交换以用于支持云中的视频数据的处理的信号集。
图6说明根据一个实施例的云处理设备响应从客户端设备接收到执行VP任务的请求而执行的视频处理任务。
图7说明根据一个实施例的可支持云中的视频数据的处理的计算机系统。
图8说明根据一个实施例的可支持云中的视频数据的处理的无线移动设备。
图9说明根据一个实施例的可支持云中的视频数据的处理的计算机系统。
图10说明根据一个实施例的可支持云中的视频数据的处理的无线移动设备。
具体实施方式
下文描述的是用于投递弱有序事务的技术的实施例。在下文描述中,阐述多个特定细节,如用于逻辑实现、资源分区或共享或复制实现、系统组件的类型和互相关系以及逻辑分区或集成选择,以便更透彻地理解本发明。但是,本领域技术人员将认识到,没有此类特定细节,仍可以实施本发明。在其他实例中,控制结构、门级电路和完整软件指令序列未予以详细地示出,以免使本发明难以理解。本领域技术人员利用所包含的描述将在无需过多实验的情况下能够实现适当的功能。
说明书中对“一个实施例”、“实施例”、“示例实施例”的引述指示,所描述的实施例可以包括特定特征、结构或特点,但是不是每个实施例都必需地包括该特定特征、结构或特点。而且,此类短语不一定指相同的实施例。再者,当结合实施例描述特定特征、结构或特点时,理解为结合其他实施例来实现此类特征、结构或特点属于本领域技术人员的知识范围,无论是否明确地进行了描述。
本发明的多个实施例可以在硬件、固件、软件或其任何组合中实现。本发明的实施例还可被实现为机器可读介质上存储的指令,这些指令可以被一个或多个处理器读取和执行。机器可读介质可以包括用于存储或传送机器(例如,计算设备)可读形式的信息的任何机构。
例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质、光存储介质、闪存存储器设备;电、光、声音或其他类似信号。再者,固件、软件、例行程序和指令在本文中可被描述为执行某些动作。但是,应该认识到,此类描述仅是出于方便,并且此类动作实际上由计算设备、处理器、控制器和其他设备执行这些固件、软件、例行程序和指令而促成。
在一个实施例中,视频处理(VP)任务可以从客户端设备被转移到云中提供的云处理设备。在一个实施例中,客户端设备中包括的平台可以包括视频控制器,视频控制器可以确定是否要将VP任务转移到云处理设备。在一个实施例中,视频控制器可以在请求云处理设备执行VP任务之前检查客户端设备是否正在以电池模式工作。在其他实施例中,视频控制器可以检查视频(可能存储在远程数据库中)是否以在线模式被观看。在一个实施例中,视频控制器然后可以确定由云处理设备来处理这些VP任务,并且客户端设备可以向云处理设备发送执行视频处理任务的请求。
在一个实施例中,客户端设备然后可以将视频处理参数发送到云处理设备。作为响应,云处理设备可以执行视频处理任务,并在基于视频处理参数处理视频数据之后创建视频文件。在一个实施例中,该视频文件可以被存储在云数据库中。在一个实施例中,客户端设备可以从云数据库检索已处理的视频数据。在其他实施例中,响应从客户端设备接收的请求,云处理设备可以将视频数据流传输到客户端设备。
在一个实施例中,客户端设备上的功耗大大地被节省,因为功率饥渴或功率密集的视频处理任务可以由云处理设备来执行。在一个实施例中,云处理设备可以最适于执行如VP任务的功率密集且计算密集的任务。在一个实施例中,云处理设备可以包括用于执行此类计算密集的任务的大量资源。再者,此类计算密集的任务可以采用分布式和并行模式来执行,这可以增大执行视频处理的速度。
再者,对于不同的视频剪辑,缺省视频处理参数(VPP)可能不是最佳的视频处理参数。在一个实施例中,客户端设备110-A的用户可以修改视频处理参数(VPP)并将该VPP发送到云。在一个实施例中,云可以收集此VPP并确定优化视频后处理参数。在一个实施例中,如果从客户端设备接收到相同视频剪辑的请求,则云可以使用优化VPP来处理视频数据。
再有,本文描述的实施例可以用于处理不稳定的网络情况。在一个实施例中,云可以支持自动适应模式(AAM)。在一个实施例中,客户端设备可以检测网络带宽值,并向云发送启用AAM模式的请求。在一个实施例中,该请求可以包括网络带宽值或网络带宽的任何其他指示。在一个实施例中,云可以启动AAM,并且基于网络带宽值或网络带宽的指示,云可以在不同缩放参数(scaling parameter)之间进行切换。例如,客户端设备可能检测到网络带宽非常低,并且作为响应,可以激进地将缩放系数缩小到(例如,64×48)。再者,如果网络带宽的可用性改善,则缩放系数可以更改为(128×96)或(320×240)或(640×480)。在一个实施例中,如果启用AAM,则用户可以在甚至不稳定的网络环境中体验到平滑的视频回放。
图1中说明可以支持云处理设备中的视频数据处理的计算环境100的实施例。在一个实施例中,计算环境100可以包括一个或多个客户端设备110-A或110-N、网络120和云150,云150可以包括云处理设备152和云数据库158。但是,云150可以包括多个其他块,如云服务块、云存储块、云服务器,并且为了简洁,此类块未予以示出。
在一个实施例中,网络120可以包括一个或多个网络设备,如交换机或路由器,该一个或多个网络设备可以接收消息或分组、处理消息,并将这些消息发送到往目的地系统的路径上设置的适合网络设备。网络120可以使一个或多个客户端设备110与云150之间能够进行消息传递。网络120的网络设备可以配置成支持如TCP/IP的多种协议。
在一个实施例中,客户端设备110-A或110-N可以确定是否要在云150中执行视频处理任务,并且可以向云150发送执行视频处理任务的请求信号。在一个实施例中,客户端设备110可以确定是否可将VP任务转移到云处理设备。在一个实施例中,客户端设备110(例如,110-A)可以在请求云150执行VP任务之前检查客户端设备是否正在以电池模式工作。在其他实施例中,客户端设备110-A可以检查视频(可能存储在云中的数据库中)是否以在线模式被观看。
在一个实施例中,客户端设备110-A然后可以确定可以由云150中提供的云处理设备来处理VP任务。在一个实施例中,客户端设备110-A可以向云150发送执行视频处理(VP)任务的请求。在一个实施例中,客户端设备110-A然后可以将视频处理参数和视频数据发送到云150。在一个实施例中,客户端设备110-A可以发送视频处理参数,如“视频[xx] 缩放[320:240]”。在一个实施例中,客户端设备可以在客户端设备将视频数据[xx]解码之后在显示器上呈放视频数据。在一个实施例中,客户端设备110-A可以将诸如缩放 [320×240]、色调 [0]、饱和度 [1]、亮度 [0]、对比度 [1]、锐度 [44]的VPP连同视频[xx]一起发送。
在一个实施例中,响应发送VPP,客户端设备110-A或110-N可以从云150接收到可指示视频文件的可用性的信号,该视频文件可以基于使用VPP处理视频数据来生成。在一个实施例中,客户端设备110-A可以检索云处理设备152编码的视频数据,将该视频数据解码,并且如有需要执行向上缩放,并在显示器上呈放该视频数据。在其他实施例中,客户端设备110-A可以从云150接收视频数据,将其解码,然后在显示器上呈放解码的视频数据。
再者,对于不同的视频剪辑,缺省视频处理参数(VPP)可能不是最佳的视频处理参数。在一个实施例中,客户端设备110-A的用户可以修改视频处理参数(修改的VPP)并将该VPP发送到云处理设备152。在一个实施例中,响应发送此类修改的VPP,如果客户端设备110-A请求相同的视频剪辑,则客户端设备110-A可以(从云处理设备152)接收到可以使用优化VPP处理的视频数据。
再有,本文描述的实施例可以用于处理不稳定的网络情况。在一个实施例中,客户端设备110-A可以支持自动适应模式(AAM)。在一个实施例中,客户端设备110-A可以基于将客户端设备110-A耦合到网络120的链路上可用的带宽来检测网络带宽值,并向云处理设备152发送启用AAM模式的请求。在一个实施例中,该请求可以包括网络带宽值或网络带宽的任何其他指示。例如,客户端设备110-A可能检测到网络带宽非常低,并且作为响应,可以激进地将缩放系数缩小到(例如,64×48)。再者,如果网络带宽的可用性改善,则缩放系数可以更改为(128×96)或(320×240)或(640×480)。在一个实施例中,如果启用AAM,则用户可以在甚至不稳定的网络环境中体验到平滑的视频回放。
在一个实施例中,例如,响应从客户端设备110-A接收的请求,云处理设备152可以处理视频数据。在一个实施例中,云处理设备152可以接收视频处理参数(VPP)和视频数据,并基于VPP来处理视频数据。在一个实施例中,云处理设备152可以通过基于VPP来处理视频数据以创建视频文件。在一个实施例中,云处理设备152可以将该视频文件存储在云数据库158,并向客户端设备110-A发送指示该视频文件的可用性的信号。在其他实施例中,云处理设备152可以将该视频文件发送到客户端设备110-A。
在一个实施例中,云处理设备152可以对视频数据执行处理,该处理可以包括去噪声、FMD、去隔行(deinterlace)、去块(deblocking)、缩放、锐化、旋转、ProcAmp和其他任务。在一个实施例中,云处理设备152可以消耗相当大量的计算资源和功率,并且云处理设备152可以设计成包括用于执行这些视频处理任务的计算资源。同样地,在一个实施例中,通过将功率密集的视频处理任务转移到云处理设备152,可以显著地增加客户端设备110-A的电池后备续航时间。
在一个实施例中,云处理设备152可以响应接收到针对不同视频剪辑的修改的VPP,确定优化视频后处理参数。在一个实施例中,如果从客户端设备110-A接收到相同视频剪辑的请求,则云处理设备152可以使用优化VPP来处理视频数据。在一个实施例中,这种方法可以使用户能够以最适于显示设备面积的分辨率来观看视频剪辑。例如,如果客户端设备110-A是小屏幕设备,则视频剪辑的缩放系数可以是(128×96),如果客户端设备110-A是中等屏幕设备,则视频剪辑的缩放系数可以是(320×240),以及如果客户端设备110-A是大屏幕设备,则视频剪辑的缩放系数可以是(640×480)。在一个实施例中,云处理设备152可以基于优化VPP自动地选择缩放系数(或分辨率),而无需接收对应于不同视频剪辑的缩放系数的输入。
再者,在一个实施例中,云处理设备152可以支持自动适应模式(AAM),并且基于客户端设备110-A提供的网络带宽值或网络带宽的指示,云处理设备152可以启动AAM。在一个实施例中,云处理设备152可以基于可用的网络带宽以在不同的缩放参数之间进行切换。例如,客户端设备可能检测到网络带宽非常低,并且作为响应,可以激进地将缩放系数缩小到(例如,64×48)。再者,如果网络带宽的可用性改善,则缩放系数可以更改为(128×96)或(320×240)或(640×480)。在一个实施例中,如果启用AAM,则用户可以在甚至不稳定的网络环境中体验到平滑的视频回放。
在一个实施例中,通过将视频处理任务转移到云处理设备152,可以节省客户端设备110-A上的功耗。同样地,在一个实施例中,云处理设备152可以最适于执行如VP任务的功率密集且计算密集的任务。
图2说明计算平台200的实施例,计算平台200可以在客户端设备110-A和云处理设备152中用于支持云150中的视频数据的处理。在一个实施例中,平台200可以包括核区域205、非核区域250以及接口区域,接口区域可以包括I/O接口270、网络接口280和显示接口289。在一个实施例中,核205和非核250可以支持点到点双向总线,该点到点双向总线用于增强处理核(p-核)210-A至210-N、GPU 240-A与240-N之间以及核区域205与非核区域250之间的通信。
在一个实施例中,I/O接口270可以提供至如键盘、鼠标、摄像器、显示设备和此类其他外设的I/O设备的接口。在一个实施例中,I/O接口270可以支持至外设的电接口、物理接口和协议接口。在一个实施例中,网络接口280可以提供至网络(如网络120)的接口。在一个实施例中,网络接口280可以支持至网络的电接口、物理接口和协议接口。在一个实施例中,显示装置289可以将计算平台200耦合到显示设备。
在一个实施例中,非核区域250可以包括存储器控制器255、LLC 260、全局时钟/PLL 264、功率管理单元268和视频控制器269。在一个实施例中,存储器控制器255可以与如硬盘和固态硬盘的存储器设备实现接口。在一个实施例中,全局时钟/PLL 264可以向计算平台200的不同部分或块提供时钟信号。在一个实施例中,这些部分可以基于例如,电压面和功率面和时钟来形成,并且这些块或部分可以由功率管理单元268基于工作负荷、活动性、温度或任何其他此类指示来进行控制。功率管理单元268可以实现多种功率管理技术,如动态电压和频率缩放、功率闸控、加速模式、节流、时钟闸控和此类其他技术。
在一个实施例中,核区域205可以包括如p-核210-A至210-N的处理核、每个核的高速缓存220-A to 220-N以及与p-核210-A至210-N关联的中级高速缓存230-A至230-N。在一个实施例中,P-核210可以包括指令队列206、指令提取单元IFU 212、解码单元213、预留站RS 214、执行单元EU 215、浮点执行单元FPU 216、重新排序缓冲器ROB 217和引退(retirement)单元218。在一个实施例中,每个处理器核210-B和210-N各可以包括与处理核210-A中示出的块类似的块,并且为了简明,未示出处理核210-B至210-N中每一个的内部细节。在一个实施例中,每个核的高速缓存120可以包括可支持更高访问速度的存储器技术,例如这可以减少指令和数据提取的时延。
在一个实施例中,计算平台200可以包括一个或多个图形处理单元(GPU)240-A至240-N,以及每个GPU 240可以包括如PE 241-A的处理元件、TL 242-A的纹理逻辑和FFL 243-A的固定函数逻辑。在一个实施例中,每个GPU 240内的子块可以设计成执行视频处理任务,这些视频处理任务可以包括视频前处理和视频后处理任务。
正如上文所指出的,计算平台200可以用在如110的客户端设备中以及如152的云处理设备中。当计算平台200用在客户端设备中时,视频控制器269可以执行如下文描述的操作。在一个实施例中,视频控制器269可以确定是否要在云处理设备152中执行视频处理任务,并且可以向云处理设备152发送执行视频处理任务的请求信号。在一个实施例中,可以将该请求发送到网络接口280,网络接口280可以将请求信号递送到云处理设备152。在一个实施例中,视频控制器269可以基于一个或多个条件来确定是否要将VP任务转移到云处理设备152。在一个实施例中,视频控制器269可以检查客户端设备110是否正在以电池模式工作。在其他实施例中,客户端设备110-A可以检查视频(可能存储在云中的数据库中)是否以在线模式被观看。在一个实施例中,如果客户端设备110正在以电池模式工作或视频正在客户端设备110中被在线观看,则视频控制器269可以确定要将VP任务转移到云处理设备152。
在一个实施例中,视频控制器269然后可以生成视频处理参数(VPP),并让网络接口280将这些VPP发送到云处理设备152。在一个实施例中,视频控制器269可以生成如“视频[xx] 缩放[320:240]”的VPP。在一个实施例中,视频控制器269可以连同视频[xx]一起生成如缩放 [320×240]、色调 [0]、饱和度 [1]、亮度 [0]、对比度 [1]、锐度 [44]的VPP。在一个实施例中,视频控制器269可以从客户端处理设备152接收指示VP任务完成的响应,并且对此指示响应,视频控制器269可以开始检索云数据库158中存储的视频文件。在一个实施例中,视频控制器269可以将视频文件解码,并可以将视频缓冲器填充以解码的视频文件,该解码的视频文件可以被显示设备用于呈放。在一个实施例中,如果要执行缩放操作,则视频控制器269可以在将视频文件解码之后执行放大操作。在一个实施例中,如果客户端设备的显示屏幕的尺寸可能比视频文件的流分辨率尺寸大,则视频控制器269可以确定要执行放大操作。在一个实施例中,视频控制器269然后可以填充视频缓冲器,以及,显示器可以使用视频缓冲器的内容来呈放视频内容。
在一个实施例中,视频控制器269可以确定不同的视频剪辑是否可以在客户端设备110-A上被观看,并且可以将视频处理参数(VPP)修改成最适于视频剪辑的观看。在一个实施例中,视频控制器269可以基于例如,客户端设备110的类型或客户端设备110中使用的显示屏幕的尺寸来修改VPP。在一个实施例中,视频控制器269然后可以与网络接口280协调以将修改的VPP发送到云处理设备152。在一个实施例中,客户端设备110-A可能是如智能电话的小屏幕设备,并且客户端设备110-A可以将一个或多个修改的VPP发送到云150,如图7的715所示。在一个实施例中,响应发送此类修改的VPP,视频控制器269可以(从云处理设备152)接收视频数据,当客户端设备110-A请求相同的视频剪辑时,该视频数据可以是使用优化VPP处理的。在一个实施例中,小屏幕客户端设备110-A可以基于优化VPP来接收处理的视频数据,如图7中716所示。在一个实施例中,视频数据的尺寸可以是(128×96)。
相似地,如果客户端设备110-A是中等屏幕尺寸的设备,如平板电脑或任何其他移动因特网设备,则客户端设备110-A可以发送修改的VPP,如图7中的725所示,并且可以接收(320×240)的处理的视频数据,如图7的726所示。在一个实施例中,如果客户端设备110-A是大屏幕尺寸的设备,如膝上型或桌上型计算机或任何其他此类计算设备,则客户端设备110-A可以发送修改的VPP,如图7中的735所示,并且可以接收(640×480)的处理的视频数据,如图7的736所示。
在一个实施例中,视频控制器269可以支持不稳定的网络情况的处理。在一个实施例中,视频控制器269可以支持自动适应模式(AAM)。在一个实施例中,视频控制器269可以向网络接口280发送带宽检测信号,并且作为响应,视频控制器269可以基于将客户端设备110-A耦合到网络120的链路上可用的带宽来接收网络带宽值。在一个实施例中,视频控制器269可以将网络带宽值或网络带宽的任何其他指示提供到云处理设备152。例如,视频控制器269可能检测到网络带宽非常低,则将网络带宽值发送到云150,如815所示。对发送网络带宽值响应,可以激进地将缩放系数缩小到(例如,64×48),如图8的816所示。再者,如果网络带宽的可用性改善,则缩放系数可以更改为(128×96)或(320×240)或(640×480),分别如图8的826、836和846所示。在一个实施例中,可以将网络带宽的可用性的改善提供到云150,如图8的825、826和836所示。在一个实施例中,如果启用AAM,则用户可以在甚至不稳定的网络环境中体验到平滑的视频回放。
当计算平台200用在云处理设备152中时,如果客户端设备110-A确定要将VP任务转移到云150,则视频控制器269可以发送执行VP任务的请求。在一个实施例中,视频控制器269可以基于请求中包含的字段来确定要执行的VP任务。在一个实施例中,视频控制器269可以选择一个或多个GPU 240来执行VP任务。在一个实施例中,视频控制器269可以在从客户端设备110-A接收到处理视频数据的请求之后接收视频数据和一个或多个视频处理参数。在一个实施例中,视频控制器269可以指定或启动GPU 240上的VP任务或GPU 240上的线程。在其他实施例中,视频控制器269还可以请求P-核210或p-核210支持的一个或多个线程以执行视频处理任务。在一个实施例中,视情况而定,GPU 240或p-核210可以执行一个或多个视频处理任务,并且可以向视频控制器269发送指示VP任务完成的指示。在一个实施例中,GPU 240或p-核210可以对视频数据执行一个或多个操作,这些操作可以包括去噪声、电影模式检测(firm mode detection(FMD))、去隔行、去块、缩放、锐化、旋转、处理放大器以及其他任务。在一个实施例中,视频控制器269可以响应接收到该指示而创建视频文件。在一个实施例中,视频控制器269可以将视频文件存储在云数据库158,并向客户端设备110-A发送指示该视频文件的可用性的信号。在其他实施例中,视频控制器269可以使视频文件被发送到客户端设备110-A。
在一个实施例中,视频控制器269可以响应接收到针对不同视频剪辑的修改的VPP,确定优化视频后处理参数(VPP)。在一个实施例中,视频控制器269可以基于例如用户选择的统计结果来确定优化VPP。例如,如果大多数用户选择一组特定VPP,则该组VPP可以成为优化VPP,以及在其他示例中,可以由视频专家来定义优化VPP。在一个实施例中,如果从客户端设备110-A接收到相同视频剪辑的请求,则视频控制器269可以使用优化VPP来处理视频数据。在一个实施例中,这种方法可以使客户端设备110-A的用户能够以可能最适于显示设备面积的分辨率来观看视频剪辑。例如,如果云处理设备152确定客户端设备110-A是小屏幕设备,则视频控制器269可以使用优化VPP生成具有(128×96)的位流的视频剪辑。相似地,视频控制器269可以使用优化VPP为具有不同屏幕尺寸的客户端设备生成具有位流(320×240)、(640×480)、(1080×760)或此类其他位流的视频剪辑。
在一个实施例中,视频控制器269可以支持自动适应模式(AAM),并且基于客户端设备110-A提供的网络带宽值或网络带宽的指示,视频控制器269可以启动自动适应模式。在一个实施例中,视频控制器269可以基于可用的网络带宽以在不同的缩放系数或值之间进行切换。例如,视频控制器269可以基于网络上可用的带宽来选择视频数据的缩放系数。在一个实施例中,视频控制器269可以基于网络带宽的可用性在(64×48)、(128×96)、(320×240)或(640×480)之间改变缩放值。在一个实施例中,视频控制器269可示出为核205和非核250外部的独立单元,但是,视频控制器269可被置于核区域205或非核区域250内,或者任何其他此类变化也是可能的,以及这些变化视为在本发明的实施例的范围内。
图3的流程图中说明客户端设备110-A支持视频处理任务转移到云的操作的实施例。在框310中,客户端设备110-A(或视频控制器269)可以确定是否要在云150中执行视频处理任务,并且如果要将视频处理任务转移到云150,则控制传递到框320,否则控制传递到框315。在一个实施例中,客户端设备110-A可以基于将客户端设备110-A是否正在以电池模式工作或可用的网络带宽或任何其他此类条件可指示云150更适于执行VP任务来确定要转移VP任务。在框315中,客户端设备110-A可以在客户端设备110-A中执行视频处理任务。
在框320中,客户端设备110-A可以生成云处理设备152中可处理的视频数据和一个或多个VPP。在框330中,客户端设备110-A可以将视频数据和一个或多个VPP发送到云处理设备152。在一个实施例中,客户端设备110-A可以向云150发送视频处理服务的请求(RQST_VP_S)信号510(图5中示出),并且可以从云150接收请求准许(GRNT_VP_S)信号520。再者,客户端设备110-A可以向云150发送发送就绪(RDY_2_SEND)信号530以及可以接收接收就绪(RDY_2_RCV)信号540。在一个实施例中,在如图5中的信号550所示,客户端设备110-A向云150发送视频数据和VPP之前,客户端设备110-A和云150可以交换上文的握手信号。
在框350中,客户端设备110-A可以检查云数据库158中是否有该视频文件,以及如果有该视频文件,则控制传递到框370。在一个实施例中,在云处理设备152将视频文件存储/保存在云数据库158中之后,客户端设备110-A可以从云处理设备152接收如视频文件就绪(VF_RDY)信号570的信号。
在框370中,客户端设备110-A可以从云数据库158检索视频文件。在一个实施例中,客户端设备110-A可以响应接收到VF_RDY信号570向云处理设备152发送检索视频文件(RTRV_VF)信号580(图5中示出)。在一个实施例中,客户端设备110-A可以检索如图5中信号590所示的视频文件。
在框375中,客户端设备110-A(即,客户端设备110-A内的视频控制器269)可以确定是否需要对接收的视频数据执行缩放操作,并且如果需要执行缩放,则控制传递到框376,否则控制传递到框380。
在框375中,p-核210或GPU 240可以执行缩放操作,并且控制传递到框380。在框380中,视频控制器269可以在客户端设备110-A的显示器上呈放视频数据。
图4的流程图中说明云处理设备152支持在云中执行视频处理任务的操作的实施例。在框410中,云处理设备152可以从客户端设备110-A接收视频数据和VPP。在一个实施例中,在接收视频数据和VPP之前,客户端设备110-A和云处理设备152可能已交换如信号510至540的一个或多个握手信号。在一个实施例中,云处理设备152可以接收如图5的信号550所示的视频数据和VPP。
在框420中,云处理设备152可以确定云数据库158中是否已经存在视频文件。在一个实施例中,使用不同组VPP处理的相同视频数据可产生不同的视频文件。在一个实施例中,云处理设备152可以检查云数据库158中是否已经存在与从客户端设备110-A接收的VPP对应的视频文件,以及如果不存在该视频文件,则控制传递到框440。
在框440中,云处理设备152可以执行云数据库158中存储的视频数据(或视频文件)的解码。在一个实施例中,云处理设备600可以是如设备152的云处理设备,云处理设备600可以执行如图6的解码块610中所示的解码。在一个实施例中,云处理设备600然后可以将解码的视频数据提供到其他处理块。
在框450中,云处理设备152可以使用接收的VPP来执行视频数据的处理。在一个实施例中,云处理设备152可以执行图6所示的操作或处理任务的其中一个或多个。在一个实施例中,云处理设备152可以执行如去噪声616所示的去噪声、FMD 620所示的电影模式检测(firm mode detection)、去隔行625所示的去隔行以及去块630所示的去块。在一个实施例中,云处理设备152可以执行诸如缩放器650所示的缩放、锐化器655所示的锐化、旋转器660所示的旋转以及ProcAmp 665所示的处理放大器任务的其他处理任务。在一个实施例中,云处理设备600可以执行上文处理任务的其中一个或多个任务。
在框460中,云处理设备600可以执行如编码器690所示的视频编码任务。在框470中,云处理设备152可以基于使用VPP处理视频数据来创建视频文件。在一个实施例中,云处理设备152可以将该视频文件存储在云数据库158中。在其他实施例中,云处理设备152可以将该视频文件发送到客户端设备110-A。
图9说明系统900的实施例。在多个实施例中,系统900可以是介质系统,虽然系统900不限于此场景。例如,系统900可以并入个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、短信传送设备、数据通信设备等中。
在实施例中,系统900包括耦合到显示器920的平台902。平台902可以从内容设备,如内容服务设备930或内容递送设备940或其他类似内容源接收内容。可以使用包括一个或多个导航功能的导航控制器950来与例如平台902和/或显示器920交互。下文对这些组件中每个组件予以更详细地描述。
在实施例中,平台902可以包括芯片组905、处理器910、存储器912、存储装置914、图形子系统915、应用916和/或无线电918的任何组合。芯片组905可以提供处理器910、存储器912、存储装置914、图形子系统915、应用916和/或无线电918之间的互相通信。例如,芯片组905可以包括能够提供与存储装置914相互通信的存储装置适配器(未示出)。
处理器910可以作为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)来实现。在多个实施例中,处理器910可以包括双核处理器、双核移动处理器等。
存储器912可以作为易失性存储器器件来实现,如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
存储装置914可以作为非易失性存储器件来实现,如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储器件、连接的存储器件、闪存、电池作为后备电源的SDRAM(同步DRAM)和/或网络可访问的存储器件。在多个实施例中,存储装置914可以包括在例如包括多个硬盘驱动器时对有价值的数字媒体增加存储性能增强型保护的技术。
图形子系统915可以执行如静态图像或视频的图像的处理以用于显示。图形子系统915可以是例如图形处理单元(GPU)或可视处理单元(VPU)。可以使用模拟或数字接口以在通信上耦合图形子系统915和显示器920。例如,该接口可以是高分辨率多媒体接口、DisplayPort、无线HDMI和/或无线HD兼容的技术中任一种。图形子系统915可以集成到处理器810或芯片组905中。图形子系统915可以是在通信上耦合到芯片组905的单机运行卡。
本文描述的图形和/或视频处理技术可以在多种硬件体系结构中实现。例如,可以将图形和/或视频功能性集成在芯片组内。作为备选,可以使用离散的图形和/或视频处理器。作为再一个实施例,可以由通用处理器,包括多核处理器来实现图形和/或视频功能。在又一个实施例中,可以在消费电子设备中实现这些功能。
无线电918可以包括能够使用多种适合的无线通信技术传送和接收信号的一个或多个无线电。此类技术可以包括跨一个或多个无线网络的通信。示范无线网络包括(但不限于)无线局域网(WLAN)、无线个人区域网络(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨此类网络的通信中,无线电918可以根据任何版本的一个或多个可应用的标准来工作。
在实施例中,显示器920可以包括任何电视机类型的监视器或显示器。显示器920可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备和/或电视机。显示器920可以是数字的和/或模拟的。在多个实施例中,显示器920可以是全息显示器。再有,显示器920可以是可接收可视投影的透明表面。此类投影可以传达多种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强型实况(MAR)应用的视觉叠加(visual overlay)。在一个或多个软件应用916的控制下,平台902可以在显示器922上显示用户界面920。
在实施例中,例如,可以由任何国家、国际和/或独立服务来托管内容服务设备930,并由此内容服务设备930可供平台902通过因特网来访问。在一个实施例中,内容服务设备930可以托管在如上文描述的云150的云中。内容服务设备930可以耦合到平台902和/或耦合到显示器920。平台902和/或内容服务设备930可以耦合到网络960以便往返于网络960传送(例如,发送和/或接收)媒体信息。内容递送设备940也可以耦合到平台902和/或耦合到显示器920。在一个实施例中,内容服务设备930和940可以包括如平台902的平台,内容服务设备930和940可接收来自如客户端设备110的客户端设备内提供的平台902的请求,并且可执行如上文描述的视频处理任务。
在实施例中,内容服务设备930可以包括电缆电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用因特网功能的设备或电器、以及能够经由网络960或直接在内容提供商与平台902和/或显示器920之间单向或双向传送内容的任何其他类似设备。将认识到,可以经由网络960往返于系统900中的组件之一和内容提供商单向和/或双向地传送内容。内容的示例可以包括任何媒体信息,包括例如,视频、音乐、医疗和游戏信息等。
内容服务设备930接收如电缆电视节目的内容,电缆电视节目包括媒体信息、数字信息和/或其他内容。内容提供商的示例可以包括任何电缆或卫星电视或广播或因特网内容提供商。所提供的示例不意味着限制本发明的实施例。
在实施例中,平台902可以从具有一个或多个导航功能的导航控制器950接收控制信号。例如,可以使用控制器950的导航功能与用户界面922交互。在多个实施例中,导航控制器950可以是指向设备,该指向设备可以是允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件组件(确切地为人工接口设备)。如图形用户接口(GUI)和电视机和监视器的许多系统允许用户使用物理手势控制计算机或电视机并向其提供数据。
控制器950的导航功能的移动可以通过指针、光标、聚焦环或显示器上显示的其他可视指示器在显示器上予以反映。例如,在软件应用916的控制下,位于导航控制器950上的导航功能可以映射到用户界面922上显示的虚拟导航功能。在多个实施例中,控制器950可以不是单独的组件,而是可以集成到平台902和/或显示器920中。但是,多个实施例不限于这些元件或所示或本文描述的场景中。
在多个实施例中,驱动器(未示出)可以包括被启用时使用户能够在初始引导之后触摸按钮即时地开启和关闭如电视机的平台902的技术。程序逻辑可以允许平台902在被“关闭”时将内容流传输到媒体适配器或其他内容服务设备930或内容递送设备940。此外,芯片组905可以包括例如用于5.1环绕音频和/或高分辨率7.1环绕声音音频的硬件和/或软件支持。驱动器可以包括用于集成的图形平台的图形驱动器。在实施例中,图形驱动器可以包括外设组件互连(PCI)Express图形卡。
在多种实施例中,可以将系统900中所示的组件中任何一个或多个组件集成。例如,可以将平台902与内容服务设备930集成,或可以将平台902与内容递送设备940集成,或将平台902、内容服务设备930和内容递送设备940集成。在多种实施例中,平台902和显示器920可以是集成的单元。可以将显示器920和内容服务设备930集成,或可以将显示器920与内容递送设备940集成。这些示例不意味着限制本发明。
在多种实施例中,系统900可以作为无线系统、有线系统或二者组合来实现。当作为无线系统来实现时,系统900可以包括适于通过无线共享的介质来通信的组件和接口,如一个或多个天线、传送器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享的介质的示例可以包括无线频谱的多个部分,如RF频谱等。当作为有线系统来实现时,系统900可以包括适于通过有线通信介质来通信的组件和接口,如输入/输出(I/O)适配器、将I/O适配器与对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台902可以建立一个或多个逻辑或物理信道以传送信息。该信息可以包括媒体信息和控制信息。媒体信息可以是指表示面向用户的内容的任何数据。内容的示例可以包括例如,来自语音会话、视频会议、流传输视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、本文等的数据。”来自语音会话的数据可以是例如,语言信息、静音时段、背景噪声、舒适噪声、音调等。控制信息可以指表示面向自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统路由媒体信息,或指令节点以预定的方式处理媒体信息。但是,这些实施例不限于这些元件或图9所示或所描述的场景中。
正如上文描述的,系统900可以被包含在不同物理方式或外观规格中。图10说明可以包含系统1000的小外观规格设备1000的实施例。在实施例中,例如,设备1000可以作为具有无线功能的移动计算设备来实现。移动计算设备可以是指具有处理系统和移动电源或供电源,如一个或多个电池的任何设备。
如上文描述的,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、短信传送设备、数据通信设备等。
移动计算设备的示例还可以包括布置成被人穿戴的计算机,如腕带计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、袖带计算机、鞋子计算机、衣服计算机和其他可穿戴计算机。在多个实施例中,例如移动计算设备可以作为能够执行计算机应用以及语音通信和/或数据通信的智能电话来实现。虽然一些实施例可能是通过举例结合作为智能电话实现的移动计算设备来描述的,但是可以认识到,还可以使用其他无线移动计算设备来实现其他实施例。这些实施例不限于此场景。
如图10所示,设备1000可以包括壳体1002、显示器1004、输入/输出(I/O)设备1006和天线1008。设备1000还可以包括导航功能1012。显示器1004可以包括用于显示适于移动计算设备的信息的任何适合显示单元。I/O设备1006可以包括用于将信息输入到移动计算设备的任何适合I/O设备。I/O设备1006的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别设备和软件等。还可以通过麦克风将信息输入到设备1000中。此信息可以被语音识别设备数字化。这些实施例不限于此场景。在一个实施例中,设备1000可以包括可折叠集成显示屏,其可以被展开而具有更大的显示面积。
可以使用硬件元件、软件元件或二者的组合来实现多种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例行程序、子例行程序、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例,可以根据任何数量的因素而改变,这些因素诸如期望的计算速率、功率电平、耐热程度、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施例的一个或多个方面可以通过机器可读介质上存储的代表性指令来实现,这些代表性指令表示处理器的多种逻辑,且在被机器读取时,促使机器制造执行本文描述的技术的逻辑。称为“IP核”的这种表示可以被存储在有形机器可读介质上,并提供到多种客户或制造工厂以加载到实际制造该逻辑或处理器的制造机器中。
可以使用硬件元件、软件元件或二者的组合来实现多种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例行程序、子例行程序、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例,可以根据任何数量的因素而改变,这些因素诸如期望的计算速率、功率电平、耐热程度、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施例的一个或多个方面可以通过机器可读介质上存储的代表性指令来实现,这些代表性指令表示处理器的多种逻辑,且在被机器读取时,促使机器制造执行本文描述的技术的逻辑。称为“P核”的这种表示可以被存储在有形机器可读介质上,并提供到多种客户或制造工厂以加载到实际制造该逻辑或处理器的制造机器中。
本发明的某些特征是参考多个示例实施例来描述的。但是,该描述无意视为限制意义上的。
本领域技术人员显见到的有关本发明的这些示例实施例的多种修改以及本发明的其他实施例,视为落在本发明的精神和范围内。

在云中处理视频数据.pdf_第1页
第1页 / 共28页
在云中处理视频数据.pdf_第2页
第2页 / 共28页
在云中处理视频数据.pdf_第3页
第3页 / 共28页
点击查看更多>>
资源描述

《在云中处理视频数据.pdf》由会员分享,可在线阅读,更多相关《在云中处理视频数据.pdf(28页珍藏版)》请在专利查询网上搜索。

可以将视频处理(VP)任务从如智能电话、平板电脑或膝上型计算机的客户端设备转移到云中提供的云处理设备以便节省客户端设备中的功率。在一个实施例中,云处理设备可以基于优化视频处理参数来处理视频数据,这些优化视频处理参数可以是使用一个或多个修改的VPP来生成的。修改的VPP可以由客户端设备基于客户端设备的屏幕尺寸(例如小、中等或大)来提供。再者,云处理设备可以支持自动适应模式(AAM),其中云处理设备可。

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

当前位置:首页 > 电学 > 电通信技术


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