基于云的数据处理的制作方法

文档序号:6498304阅读:209来源:国知局
基于云的数据处理的制作方法
【专利摘要】基于云的数据处理。在数据获取设备处捕获输入数据。所述输入数据被流送到通过网络连接通信地耦合到所述数据获取设备的云服务器,其中所述流送所述输入数据的至少一部分与所述捕获所述输入数据并发地发生,并且其中所述云服务器被配置用于在所述输入数据上执行数据处理以生成处理的数据。所述数据获取设备接收所述处理的数据,其中所述接收所述处理的数据的至少一部分与所述流送所述输入数据并发地发生。
【专利说明】基于云的数据处理

【背景技术】
[0001]移动设备(诸如,智能电话或平板)公众正变得越来越能够买到。移动设备包括众多的计算功能性,诸如,电子邮件读取器、环球网浏览器和媒体播放器。然而,部分由于维持小的形状的因素的期望,典型的智能电话仍具有比较大的计算机系统(诸如,桌面计算机或膝上计算机)低的处理能力。

【专利附图】

【附图说明】
[0002]在本说明书中被引入并且形成其一部分的附图图示并且用于结合描述解释实施例的原理。除非明确指出,本描述中参考的图应被理解为未按比例绘制。
[0003]图1示出了本发明的实施例可以在其上被实现的示例系统。
[0004]图2示出了依据本发明的实施例的获取数据的设备的示例。
[0005]图3是依据本发明的一个实施例的所使用的示例系统的框图。
[0006]图4A是依据本发明的实施例的用于基于云的数据处理的示例流程图。
[0007]图4B是依据本发明的实施例的用于基于云的数据处理的示例时间表。
[0008]图5是依据本发明的实施例的用于渲染三维对象的示例流程图。

【具体实施方式】
[0009]现在将详细参考其示例在附图中被图示的各种实施例。尽管主题将被结合这些实施例来描述,但将被理解的是:它们不旨在把所述主题限制到这些实施例。此外,在接下来的描述中,众多的特定细节被阐述以提供对主题的透彻理解。在其它实例中,众所周知的方法、过程、对象和电路未被详细地描述,以不使所述主题的方面不必要地模糊。
[0010]符号和术语
接下来的实施例的描述的一些部分就对在计算机存储器内的数据位操作的过程、逻辑块、处理和其它符号表示被给出。这些描述和表示是由数据处理领域的技术人员用来把其工作的主旨有效地传送到本领域的其他技术人员的方法。在本申请中,步骤、逻辑块、过程等被构想为导致期望结果的步骤或指令的前后一致的序列。所述步骤是需要物理量的物理操纵的步骤。通常,尽管不是必需的,这些量采用能够在计算机系统中被存储、转移、组合、比较并且以其它方式操纵的电或磁信号的形式。
[0011]然而,应记住的是:这些和相似术语的全部将与适合的物理量相关联,并且仅为被应用到这些量的方便标签。除非特别声明,否则如从接下来的讨论中明显的,认识到贯穿本讨论,术语(诸如,“捕获”、“流送”、“接收”、“执行”、“提取”、“协调”、“存储”等)指的是计算机系统或相似的电子计算设备的动作和过程,其把被表示为计算机系统的寄存器内的物理(电子)量的数据操纵并转换成被相似地表示为计算机系统存储器或寄存器或其它这种信息存储、传送或显示设备内的物理量的其它数据。
[0012]此外,在一些实施例中,在此描述的方法可以由计算机可用存储介质来实施,所述计算机可用存储介质其中包含指令,当所述指令被执行时,促使计算机系统来执行在此描述的方法。
[0013]讨论的概述
用于实现基于云的数据处理的示例技术、设备、系统和方法在此被描述。讨论以示例数据获取设备和基于云的系统架构开始。讨论以质量指示的示例继续。其次,示例三维(3D)对象捕获技术被描述。讨论以示例电子环境继续。最后,使用的两个示例方法被讨论。
[0014]示例数据获取和基于云的系统架构
图1示出了捕获数据并且使那个数据流送到云服务器150的数据获取设备110。应被理解的是:尽管图1中图示的示例示出了捕获深度数据的手持数据获取设备110,但数据获取设备110可以捕获其它类型的数据,该数据包括(但不限于):图像、音频、视频、3D深度图、速率、加速度、环境光、位置/定位、运动、力、电磁波、光、振动、辐射等。此外,数据获取设备110可以是任何类型的电子设备,该电子设备包括(但不限于):智能电话、个人数字助理、全光相机、平板计算机、膝上计算机、数字视频记录器等。
[0015]在捕获输入数据之后,数据获取设备110把输入数据通过网络120流送到云服务器150。典型地,被配置用于与云计算一起使用的应用是基于事务的。例如,处理一组数据的请求被发送到云。在到云的数据上载被完成之后,处理在所有的数据上被执行。当所有数据的处理完成时,由处理操作生成的所有数据被向回发送。典型地,在基于事务的方法中,事务中的步骤顺序地发生,这导致每个事务的开始和结束之间的大的时间延迟,从而使支持具有云服务的实时交互应用是有挑战性的。图1图示了被配置用于连续实况流送应用的设备,其中,对云服务器150的往返来回延迟具有低的等待时间,并且与捕获和处理数据并发地发生。例如,相比于基于事务的云计算,在一个实施例中,数据获取设备110并发地捕获数据,把所述数据流送到云服务器150以用于处理,并且接收处理的数据。在一个示例中,深度数据被捕获并且流送到云服务器150。在一个实施例中,云服务器150向数据获取设备110提供反馈,以使用户130能够捕获较高质量的数据,或更快捕获数据,或更快完成期望的任务。
[0016]在一个实施例中,数据获取设备110把输入数据发送到云服务器150,该云服务器150在输入数据上执行各种操作。例如,云服务器150可操作来确定什么类型的输入被接收、在数据上执行密集的计算、并且把处理的数据向回发送到数据获取设备110。
[0017]图1图示了正被发送到云服务器150的输入数据的连续流。随着云服务器150在输入数据上执行操作并且把数据向回发送到数据获取设备110,数据获取设备110连续地捕获数据并把数据发送到云服务器150。在一个实施例中,在数据获取设备110捕获数据、把数据发送到云服务器150、处理数据、并且把数据从云服务器150向回发送到数据获取设备110被同时地执行。例如,这些操作可以同时地全部开始和停止,然而,这些操作不需要同时地开始和停止。在一些实施例中,数据获取设备110可以在把数据发送到云服务器150之前开始获取数据。在一些实施例中,在数据获取设备110已完成捕获数据之后,云服务器150可以在数据上执行操作和/或把数据发送到数据获取设备110。尽管在此描述的操作可以同时开始和停止,但它们也可以重叠。例如,在云服务器150停止使处理的数据流送到数据获取设备110之前,数据获取设备110可以停止把数据流送到云服务器150。此外,在一些示例中,数据获取设备110可以捕获数据,并且然后把所捕获的数据流送到云服务器150,而同时继续捕获新数据。
[0018]除了在云服务器150上处理数据之外,数据获取设备110可以在把输入数据流送之前自身执行一部分数据处理。例如,数据获取设备110可以在数据被发送到云服务器150之前在深度和/或图像数据上执行去噪声操作,而不是把原始数据发送到云服务器150。在一个示例中,深度质量在数据获取设备110上被计算并且流送到云服务器150。在一个实施例中,数据获取设备110可以(例如,经由元数据)向用户130指示高质量的图像是否在把数据流送到云服务器150之前被捕获了。在另一个实施例中,数据获取设备110可以在把部分或完整的特征发送到云服务器150之前执行部分或完整的特征提取。
[0019]在一个实施例中,针对特定的操作,数据获取设备110可以不捕获足够的数据。在那种情形下,数据获取设备110捕获附加的输入数据,并且把所述附加的数据流送到云服务器150,使得云服务器150重新处理初始的输入数据连同附加的输入数据,以生成较高质量的重新处理的数据。在重新处理所述数据之后,云服务器150使重新处理的数据向回流送到数据获取设备110。
[0020]示例质量指示系统
图2示出了示例数据获取设备110,在一个实施例中,所述数据获取设备110给用户130提供可以包括处理数据的质量指示符的元数据。在一个实施例中,当数据获取设备110从云服务器150接收处理的数据时,数据获取设备110向用户130指示处理数据的质量以及云服务器150是否可以使用附加的数据以增加处理数据的质量。例如,当数据获取设备110正在捕获数据并且同时发送和接收数据时,用户接口可以显示其中附加输入数据可以被捕获以增加处理数据的质量的区域。例如,当捕获三维(3D)模型时,用户接口可以给用户130示出:哪里的捕获数据具有高质量,以及哪里的捕获数据具有低质量,因此需要附加的数据。这个质量的指示可以以许多方式被显示。在一些实施例中,不同的色彩可以被用于示出高质量的区域220和低质量的区域210 (例如,绿色用于高质量,并且红色用于低质量)。当数据获取设备110被配置用于捕获音频、速率、加速度等时,相似的指示符可以被使用。
[0021]例如,在各种实施例中,云服务器150可以识别需要附加数据、识别所需的附加数据位于哪里、并且以引导用户130来收集附加的信息的容易理解的方式向用户130传送需要附加数据并且所需的附加数据位于哪里。例如,在识别需要更多的数据之后,云服务器150识别哪里需要更多的数据,并且然后经由数据获取设备110把这个信息发送到用户130。
[0022]例如,仍参考图2,数据获取设备110可能已捕获具有关于捕获的数据是否具有足够的质量的高等级的确定性的区域220,而数据获取设备110捕获具有低度确定性的区域210。在闻质量的区域220中,数据获取设备110指不其已捕获具有特定等级的确定性或质量的输入数据。在一个实施例中,数据获取设备I1将把高质量区域220渐变为绿色,并且把低质量区域210渐变为红色。例如,如果体素表示被用于视觉化三维点,每个体素被依据所述体素包含的三维点的最大不确定性着色。这允许用户130递增地构建3D模型,其由从云服务器150接收的反馈引导。换言之,用户130将知道附加输入数据应(或在一些情形下必须)被收集以用于低质量区域210,以捕获可靠的输入数据。应指出的是:高和低质量的渐变区域仅为数据获取设备110如何使用元数据以提供质量指示符的示例。在其它实施例中,低质量区域210可以被高亮、环绕、或具有覆盖低质量区域210以指示低质量的符号。在一个示例中,相似的技术被用于指示高质量区域220的质量。
[0023]作为示例,为了收集附加输入数据,用户130可以行走到对象140的相对侧以收集较高质量的输入数据用于低质量区域210。当用户正在行走时,数据获取设备可以正给用户示出具有每个部分处的质量等级的指示的捕获的3D模型的当前状态,以及用户当前正捕获模型的哪个部分。在一个实施例中,用户130可以向数据获取设备110指示他正捕获附加的数据以增加针对低质量区域210的数据的质量。作为一些示例,用户130可以告知数据获取设备110他正以通过在靠近低质量区域210的显示屏幕上敲击、在具有光标的低质量区域210上点击、或通过语音命令来捕获附加的数据从而补充低质量的区域210。在一个实施例中,数据获取设备110把由用户130做出的指示中继到云服务器150。
[0024]在一个实施例中,云服务器150把反馈数据流送到除数据获取设备110之外的设备。例如,云服务器150可以把数据流送到处于远程位置的显示器。如果数据获取设备110正在具有低可见度的区域(其中用户130不能看见或听到质量指示符)中捕获数据,则第三方可以接收反馈信息并且把所述信息中继到用户130。例如,如果用户130正在水下(或在浓雾中)捕获数据,则第三方可以向用户130传送什么区域需要附加的输入数据。在一个实施例中,云服务器150把数据流送到数据获取设备110和至少一个远程位置处二者,在所述远程位置处,第三方可以查看数据正被使用除数据获取设备110之外的设备捕获。正被捕获的数据的质量还可以在除数据获取设备110之外的设备上被示出。在一个实施例中,GPS信息可以被用于告知用户130向哪里移动以捕获更可靠的数据。GPS信息可以被结合云服务器150使用。
[0025]如以上所讨论的,由数据获取设备110捕获的输入数据未必是深度或图像数据。应被理解的是:如在此所使用的,特性与部件、模块和/或设备同义。数据获取设备110可以包括特性,该特性包括(但不限于)视频相机、麦克风、加速度计、气压计、3D深度相机、激光扫描仪、盖革(Geiger)计数器、流体分析仪、全球定位系统、全球导航卫星系统接收器、芯片上实验室设备等。此外,在一个实施例中,由数据获取设备110捕获的数据量可以依赖于数据获取设备HO的特性,该特性包括(但不限于):电池功率、带宽、计算功率、存储器等。在一个实施例中,数据获取设备110部分地基于数据获取设备110的特性在把数据流送到云服务器150之前判定有多少处理要执行。例如,如果可用带宽小,则施加到捕获数据的压缩量可以被增加。
[0026]在一个实施例中,至少第二数据获取设备110可以捕获流送到云服务器150的数据。在一个实施例中,在把组合、处理的数据流送到(一个或多个)数据获取设备110之前,云服务器150组合来自多个数据获取设备110的数据。在一个实施例中,云服务器150自动识别多个数据获取设备110正捕获相同的对象140。数据获取设备110可以间隔5米、间隔10米、或间隔大约I英里。数据获取设备110可以捕获许多类型的对象140,该对象140包括(但不限于):丛林金属架(jungle gym)、小山或山脉、建筑物的内部、商业建筑部件、航天部件等。应被理解的是:这是数据获取设备110可以捕获的对象140的示例的非常短的列表。如在此所讨论的,在一个示例中,通过使用移动设备创建三维渲染,资源通过不需要用户130把对象140带入到实验室中而被节约,因为用户130可以把由数据获取设备110捕获的对象140的三维模型简单地转发到远程位置以在计算机上保存,或采用三维打印机打印。
[0027]示例三维对象捕获技术
仍然参考图2,数据获取设备110可以被用于对象140的三维捕获。在一个实施例中,数据获取设备可以仅捕获数据,而所述处理中的一些或全部在云服务器150中被执行。在一个实施例中,数据获取设备110捕获图像/视频数据和深度数据。在一个示例中,数据获取设备110唯独捕获深度数据。采用数据获取设备110捕获三维图像是非常有益的,因为许多当前三维图像捕获设备是不方便的并且很少是手持的。例如,在捕获三维对象140之后,用户130可以把渲染发送到其家里或其它位置处的三维打印机。相似地,用户130可以把文件发送到远程计算机,从而保存为例如计算机辅助设计文件。
[0028]数据获取设备110可以使用模数转换器来产生原始、数字数据流。在一个实施例中,数据获取设备110使用合成的视频。此外,色彩空间转换器可以由数据获取设备110或云服务器150使用来生成与特定色彩空间标准一致的数据,所述色彩空间标准包括(但不限于)红色、绿色、蓝色色彩模型(RGB)以及色彩空间的亮度、色度:蓝色、色度:红色族(YCbCr)0
[0029]除捕获视频之外,在一个实施例中,数据获取设备110捕获深度数据。最主要的深度感测技术包括:结构光、每像素飞行时间、以及重复最靠近点(ICP)。在这些技术的一些中的一些实施例中,处理的很多或全部可以在数据获取设备110被执行。在其它实施例中,这些技术的一些中的部分可以在云服务器150被执行。仍在其它实施例中,这些技术的一些可以在云服务器150被完整执行。
[0030]在一个实施例中,数据获取设备110可以把结构光技术用于感测深度。结构光(如由PrimeSense?在Kinect?中所使用的)通过采用红外(IR)光投影固定式样的斑点而捕获深度图。红外相机捕获采用点式样照明的场景,并且深度可以基于位移量被估计。在一些实施例中,这个估计可以在云服务器150上被执行。因为PrimeSense?传感器需要光源和相机之间的基线距离,所以具有对象140需要相对于数据获取设备110的最小距离。在结构光深度感测中,当场景点距离增加时,通过三角测量来测量距离的深度传感器变得较不精确并且更易受噪声影响。每像素飞行时间传感器不使用三角测量,但替代地依赖于测量返回光的强度。
[0031]在另一个实施例中,数据获取设备110使用每像素飞行时间深度传感器。每像素飞行时间深度传感器也使用红外光源、但替代使用空间光式样,它们发送出临时的调制IR光,并且测量返回光信号的相移。Canesta?和MESA?传感器使用定制的C0MS/CXD传感器,而3DV ZCam?使用具有基于砷化镓的快门的传统图像传感器。因为IR光源可以被与IR相机靠近地放置,所以这些飞行时间传感器能够测量较短的距离。
[0032]在另一个实施例中,数据获取设备110使用重复最靠近点技术。因为ICP是计算密集的,在一个实施例中它在云服务器150上被执行。ICP还部分地对准重叠的3D点。通常令人期望的是:拼合在一起,或对齐从多个不同位置捕获的深度数据。例如,为了测量立方体的所有侧面,从前面和后面捕获的至少两个深度图是必需的。在每个步骤,ICP技术发现一对3D点云之间的对应性,并且计算最佳对准所述点云的严格的变换。
[0033]在一个实施例中,立体视频相机可以被用于捕获数据。图像和立体匹配技术(诸如,平面扫掠)可以被用于基于在视频帧对之间发现反差强(dense)的对应性而恢复3D深度。因为立体匹配是计算密集的,所以在一个实施例中其在云服务器150上被执行。
[0034]原始深度数据捕获的质量受因素的影响,该因素包括(但不限于):到捕获主题的传感器距离、传感器运动、以及红外信号强度。
[0035]传感器和场景之间的相对运动可以使深度测量退化。在结构光传感器的情形下,光斑点的观察可能变得模糊,使检测困难并且还使定位精度较差。在飞行时间传感器的情形下,运动破坏了如下假设:每个像素正测量单个场景点距离。
[0036]除光随着距离而衰退之外,场景的不同部分可以反射传感器需要捕获的变化量的光。如果对象140吸收并且不反射光,对于结构光传感器而言观测所述光斑点变得有挑战性。对于飞行时间传感器,减小的强度降低了传感器的精度。
[0037]如以上所讨论的,因为一些实施例是计算密集的,所以数据获取设备110可以包括图形处理单元(GPU)以在把输入数据流送到云服务器150之前执行一些操作,从而减少计算时间。在一个实施例中,数据获取设备110在把输入数据流送到云服务器150之前从输入数据和/或数据图像提取深度信息。在一个示例中,图像数据和深度数据二者被流送到云服务器150。应被理解的是:数据获取设备110可以包括其它处理单元,该其它处理单元包括(但不限于):视觉处理单元和中央处理单元。
[0038]示例电子环境
现在参考图3,在此描述的一些实施例中的全部或部分包括计算机可读和计算机可执行指令,该指令例如驻留在数据获取设备110的计算机可用/计算机可读存储介质中。即,图3图示了可以被依据在此讨论的各种实施例使用的或被用于实现在此所讨论的各种实施例的一种类型的数据获取设备110的一个示例。应该理解:数据获取设备110(如图3中所示的)仅为示例,并且在此描述的实施例可以结合多个不同计算机系统进行操作,所述计算机系统包括(但不限于):通用目的联网计算机系统、嵌入式计算机系统、路由器、交换机、服务器设备、客户端设备、各种中间设备/节点、独立计算机系统、媒体中心、手持计算机系统、多媒体设备等。数据获取设备110非常适合于具有外围有形计算机可读存储介质302,诸如像,软盘、压缩盘、数字多功能盘、基于其它盘的存储器、通用串行总线“拇指”驱动器、可移动存储器卡、以及耦合到其的类似物。有形计算机可读存储介质本质上是非临时性的。
[0039]在一个实施例中,数据获取设备110包括用于传送信息的地址/数据总线304,以及与总线304耦合以用于处理信息和指令的处理器306A。如在图3中所描绘的,数据获取设备110还非常适合于多处理器环境,其中存在多个处理器306A、306B和306C。相反地,数据获取设备110还非常适合于具有单个处理器,诸如像处理器306A。处理器306A、306B和306C可以是各种类型微处理器中的任一。数据获取设备110还可以包括数据存储功件,诸如,计算机可用易失性存储器308(例如,随机访问存储器(RAM)),其被与总线304耦合以用于为处理器306A、306B和306C存储信息和指令。数据获取设备110还包括计算机可用非易失性存储器310(例如,只读存储器(R0M)),其被与总线304耦合以用于为处理器306A、306B和306C存储静态信息和指令。数据获取设备110中还存在数据存储单元312 (例如,磁性或光学盘和盘驱动器),其被与总线304耦合以用于存储信息和指令。数据获取设备110还可以包括字母数字输入设备314,其包括字母数字和功能键,与总线304耦合以用于把信息和命令选择传送到处理器306A或处理器306A、306B和306C。数据获取设备110还可以包括光标控制设备316,其被与总线304耦合以用于把用户130输入信息和命令选择传送到处理器306A或处理器306A、306B和306C。在一个实施例中,数据获取设备110还可以包括显不器设备318,其被与总线304稱合以用于显不信息。
[0040]仍参考图3,在一个实施例中,图3的显示器设备可以是液晶设备、发光二极管设备、阴极射线管、等离子显示器设备或适合于创建对于用户130可识别的图形图像和字母数字字符的其它显示器设备。在一个实施例中,光标控制设备316允许用户130在显示器设备318的显示器屏幕上动态以信号通知可见符号(光标)的运动,并且指示显示器设备318上显示的可选择项目的用户130选择。光标控制服务316的许多实现方式在本领域中是已知的,包括跟踪球、鼠标、接触盘、能够以信号通知位移的给定方向或方式的运动的字母数字输入设备314上的特殊键或操纵杆。可替代地,将认识到光标可以经由来自使用特殊键和键顺序命令的数字字母输入设备314的输入被指引和/或激活。数据获取设备110还非常适合于具有由其它方法(诸如像,语音命令)指引的光标。数据获取设备110还包括用于把数据获取设备110与外部实体(诸如,云服务器150)耦合的传送器/接收器320。例如,在一个实施例中,传送器/接收器320是用于实现数据获取设备110与网络120和/或云服务器150之间的无线通信的无线卡或芯片。如在此所讨论的,数据获取设备110可以包括其它输入/输出设备(在图3中未不出)。例如,在一个实施例中,数据获取设备包括麦克风。在一个实施例中,数据获取设备110包括用于捕获深度数据和/或图像数据的深度/图像捕获设备330。
[0041]仍参考图3,各种其它部件被针对数据获取设备110描绘。特别地,当存在时,操作系统322、应用324、模块326、和数据328被示出为典型地驻留在计算机可用易失性存储器308 (例如,RAM)、计算机可用非易失性存储器310 (例如,ROM)、和数据存储单元312的一个或某种组合中。在一些实施例中,在此描述的各种实施例的全部或部分例如被存储为RAM308内的存储器位置中的应用324和/或模块326、数据存储单元312内的计算机可读存储介质、外围计算机可读存储介质302和/或其它有形计算机可读存储介质。
[0042]使用的示例方法
接下来的讨论详细阐述了实施例操作的一些示例方法的操作。图4A图示了由各种实施例使用的示例过程。流程图400包括一些过程,在各种实施例中,所述过程由图1、图2、图3中图示的电子设备中的一个或多个(或受计算机可读和计算机可执行指令控制的处理器)执行。在各种实施例中,以这种方式,在此并且结合流程图400描述的过程被(或可以被)使用计算机实现。计算机可读和计算机可执行指令可以驻留在任何有形的计算机可读存储介质中(诸如像,在数据存储功件(诸如,RAM 308、ROM 310、和/或存储设备312 (图3的全部)中)。驻留在有形计算机可读存储介质上的计算机可读和计算机可执行指令被用于结合例如处理器306A、或其它相似的(一个或多个)处理器306B和306C的一个或某种组合进行控制或操作。尽管特定的过程在流程图400中被公开,但这种过程是示例。S卩,实施例非常适合于执行流程图400中记载的过程的变化或各种其它过程。同样地,在一些实施例中,流程图400中的过程可以被以与所呈现的不同的次序执行,和/或不是所有的在一个或多个这些流程图中描述的过程可以被执行,和/或一个或多个附加的操作可以被添加。进一步认识到的是:在流程图400中描述的过程可以被以硬件、硬件与固件和软件中的任一或二者的组合实现。
[0043]图4A是基于云的服务器中的处理数据的示例方法的流程图400。
[0044]图4B是表明了图4A中所描述的各种过程可以在其被执行的时间的示例时间表。像流程图400 —样,图4B是示例。即,实施例非常适合于执行在图4A和4B中所示过程的变化或各种其它过程。同样地,在一些实施例中,时间表4B中的过程可以被以与所呈现的不同的次序执行,和/或不是所有描述的过程可以被执行,和/或附加的过程可以被添加。注意的是:在一些实施例中,给定贯穿本公开的所描述的连续实况流送的实施例的性质的情形下,在此描述的过程可以与彼此重叠。作为示例,数据获取设备110可以正在线411处获取初始输入数据,同时并发地:(I)在线441处把数据流送到云服务器150 ; (2)在线461处从所述云服务器接收数据;(3)在线481处指示处理的数据的至少一部分需要附加输入;以及(4)在线421处捕获附加输入数据。
[0045]在操作410中,数据获取设备110捕获输入数据。在一个示例中,数据获取设备110被配置用于捕获深度数据。在另一个示例中,数据获取设备110被配置用于捕获图像和深度数据。在一些实施例中,数据获取设备110被配置用于捕获其它类型的输入数据,该输入数据包括(但不限于):声音、光、运动、振动等。在一些实施例中,操作410在任何其它操作之前被执行(如作为示例由图4B的线411所示的)。
[0046]在操作420中,在一个实施例中,数据获取设备110捕获附加的输入数据。如果云服务器150或数据获取设备110指示所捕获的数据是不可靠的、不确定的,或指示需要更多的数据,则数据获取设备110可以被用于捕获附加的数据来创建更可靠的数据。例如,在捕获三维对象140的情形下,数据获取设备110可以连续捕获数据,并且当用户130被通知所捕获数据的部分不是足够可靠的时,用户130可以把数据获取设备110移动靠近低质量区域210。在一些实施例中,操作420在数据获取设备110向用户130指示在操作480中需要附加输入数据之后被执行(如作为示例由图4B的线421所示的)。
[0047]在操作430中,在一个实施例中,数据获取设备110在数据获取设备110处在输入数据上执行数据处理的一部分。在一个实施例中,数据获取设备110执行数据处理的一部分,而不是把原始输入数据发送到云服务器150。例如,数据获取设备110可以在数据被发送到云服务器150之前渲染声音、深度信息或图像。在一个实施例中,在数据获取设备110处执行的处理量至少部分地基于数据获取设备110的特性,该特性包括(但不限于):数据获取设备110是否具有集成的图形处理单元、可用的带宽量、数据获取设备110的类型处理功率、电池功率等。在一些实施例中,每当数据获取设备110获取数据时(例如,操作410和/或420),操作430被执行(如作为示例由图4B的线431A和431B所示的)。在其它实施例中,每当数据被获取时,操作430不被执行。
[0048]在操作440中,数据获取设备110把输入数据通过网络120流送到云服务器150。如以上所讨论的,数据流送到云服务器150的至少一部分与捕获输入数据并发地发生、并且与云服务器150在输入数据上执行数据处理以生成处理的数据并发地发生。不像事务服务,数据获取设备110连续地把数据流送到云服务器150,并且云服务器150在数据上连续地执行操作,并且把数据连续地向回发送到数据获取设备110。尽管所有这些操作不需要并发地发生,但至少一部分这些操作并发地发生。在没有足够的数据初始被捕获的情形下,附加的数据可以被流送到云服务器150。在一些实施例中,在操作410中数据获取设备110获取初始输入数据之后,操作440被执行(如作为示例由图4B的线441所示的)。
[0049]在操作450中,在一个实施例中,数据获取设备110把附加输入数据流送到云服务器150以便云服务器150结合附加输入数据重新处理所述输入数据,以生成重新处理的数据。在一些实例中,由数据获取设备I1捕获的数据可能是不可靠的,或云服务器150可以指示关于所述输入数据的可靠性是不确定的。因此,数据获取设备110连续地捕获数据(如果云服务器150指示需要附加的数据,则包括附加的数据),使得云服务器150可以重新处理原始输入数据与附加数据,以产生可靠的重新处理的数据。在三维渲染的情形下,云服务器150将合并原始捕获的数据与附加数据,从而产生更清楚、更确定和可靠的三维对象140的渲染。在一些实施例中,在操作420中数据获取设备110获取附加输入数据之后,操作450被执行(如作为示例由图4B的线451所示的)。
[0050]在操作460中,数据获取设备110从云服务器150接收处理的数据,其中处理的数据的至少一部分由数据获取设备I1与输入数据正被流送到云服务器150并发地接收。除了数据获取设备110连续捕获数据以及云服务器150连续处理数据之外,数据获取设备110将接收从云服务器150流送的处理的数据。这种方式,捕获数据的用户130将知道什么数据是高质量的,并且用户130知道在不停止捕获数据的情形下,云服务器150是否需要更多的数据。这个过程是交互的,因为与用户130捕获数据并发地,处理的数据的接收向用户130指示哪里或什么需要更多的数据。在一些实施例中,在操作440中初始输入数据被流送到云服务器150之后,操作460被执行(如作为示例由图4B的线461所示的)。
[0051]在操作470中,在一个实施例中,数据获取设备110接收重新处理的数据。当附加数据被捕获并由云服务器150重新处理时,重新处理的数据被向回发送到数据获取设备110。在一些实施例中,数据获取设备110可以指示甚至更多的附加数据被需要,在这种情形下,该过程再次开始,并且附加数据被捕获,被流送到云服务器150,被处理,并且向回发送到数据获取设备110。在一些实施例中,如在操作450中一样附加输入数据被流送到云服务器150之后,操作470被执行(如作为示例由图4B的线471所示的)。
[0052]在操作480中,在一个实施例中,数据获取设备110接收元数据(例如,质量指示符),其指示处理的数据的至少一部分需要附加输入数据。在具有图形用户接口的一些实施例中,质量指示符可以在显示器上表现为色彩覆盖,或高亮低质量区域210的某种其它形式。当数据获取设备110捕获附加数据来固定低质量区域210时,重新处理在云服务器150处被连续地执行,并且重新处理的数据连续地被流送到数据获取设备110。应注意的是:不是所有的数据获取设备110包括图形用户接口。在一些实施例中,声音、振动或其它技术可以被使用以指示低质量区域210。在一些实施例中,在数据被从云服务器150接收的任何时间,操作480被执行。例如,这可以发生在操作460或470之后(如由图4B中的线481A和481B所示的)。
[0053]在操作490中,在一个实施例中,数据获取设备110指示是否需要更多的输入数据。如果需要更多的输入数据,用户130可以收集更多的输入数据。例如,如果用户130正尝试执行对象140的三维捕获并且数据获取设备110指示需要更多的输入数据来执行三维渲染,用户130可能不得不移动更靠近对象140以捕获附加输入数据。
[0054]在操作495中,在一个实施例中,数据获取设备110指示数据获取设备110已捕获充足量的数据和/或不需要附加的数据。在一个实施例中,数据获取设备110将自动停止捕获数据。在另一个实施例中,数据获取设备110必须被手动关闭。
[0055]使用的示例方法图5图示了由各种实施例使用的示例过程。流程图500包括一些过程,在各种实施例中,所述过程由图1、图2、图3中图示的一个或多个电子设备执行,或由受计算机可读和计算机可执行指令控制的处理器执行。在各种实施例中,以这种方式,在此并且结合流程图500描述的过程被(或可以被)使用计算机实现。计算机可读和计算机可执行指令可以驻留在任何有形计算机可读存储介质中,诸如像在数据存储功件(诸如,RAM 308、ROM 310和/或存储设备312 (图3的全部))中。计算机可读和计算机可执行指令(其驻留在有形的计算机可读存储介质上)被用于例如结合处理器306A或其它相似的(一个或多个)处理器306B和306C的一个或某种组合而进行控制或操作。尽管特定的过程在流程图500中被公开,但这种过程是示例。即,实施例非常适合于执行流程图500中记载的各种其它过程或过程的变化。同样地,在一些实施例中,流程图500中的过程可以被以与所呈现的不同的次序执行,和/或不是所有的在这些流程图中的一个或多个中所描述的过程可以被执行,和/或一个或多个附加操作可以被添加。进一步认识到的是:流程图500中所描述的过程可以被以硬件、或硬件与固件和软件中的任一或二者的组合来实现。
[0056]图5是用于渲染三维对象的方法的流程图。
[0057]在操作510中,数据获取设备110捕获输入数据,其中所述输入数据表示对象140并且包括深度信息。在一些实施例中,输入数据可以包括图像数据和与所述图像数据相关联的深度信息。在一个示例中,在数据获取设备110捕获深度和/或图像信息时,用户130可以围绕对象140移动。采用所述深度信息,三维渲染可以被创建。
[0058]在操作520中,在一个实施例中,数据获取设备110至少部分地基于由数据获取设备110接收的元数据而捕获附加输入数据。元数据可以包括质量指示符,其标识受益于较高质量输入数据的区域。如在此所讨论的,元数据可以作为重叠的色彩、符号或其它指示符在数据获取设备110上的显示器上(或在第三方显示器上)被示出,以指示附加输入信息将被捕获。
[0059]在操作530中,在一个实施例中,数据获取设备110从输入数据提取深度信息。在一个示例中,在把数据流送到云服务器150之前,图像数据、深度数据、以及任何其它类型的数据由数据获取设备110分离。在其它实施例中,原始输入数据被流送到云服务器150。
[0060]在操作540中,数据获取设备110把输入数据通过网络120流送到云服务器150,其中云服务器150被配置用于基于深度信息和/或图像数据执行对象140的三维重建,并且其中流送输入数据的至少一部分与捕获输入数据并发地发生。如以上所讨论的,数据流送到云服务器150的至少一部分与捕获输入数据并发地发生,并且与云服务器150在所述输入数据上执行数据处理以生成处理的数据并发地发生。不像事务服务,数据获取设备110把数据连续地流送到云服务器150,并且云服务器150在所述数据上连续地执行操作并且把数据连续地向回发送到数据获取设备110。尽管所有这些操作不需要并发地发生,但这些操作中的至少一部分并发地发生。
[0061]在操作550中,数据获取设备110接收对象140的三维视觉化,其中对象140的三维视觉化的接收的至少一部分与流送输入数据并发地发生。除了数据获取设备110连续捕获数据并且云服务器150连续处理数据之外,数据获取设备110将接收从云服务器150流送的处理的数据。在一个实施例中,具有元数据的作为结果的三维模型向回流送到数据获取设备110。这种方式,捕获数据的用户130将知道什么数据是高质量的,并且知道在不停止捕获数据的情形下,对象140的什么区域需要更多的数据。这个过程是交互的,因为当用户130正捕获数据时,处理的数据的接收向用户130指示哪里或什么需要更多的数据。在一个示例中,对象140的三维视觉化包括对象140和元数据的三维模型。
[0062]在操作560中,在一个实施例中,数据获取设备110接收元数据(例如,质量指示符),其指示对象140的三维视觉化的至少一部分需要附加数据。在具有图形用户接口的一些实施例中,质量指示符可以在显示器上表现为色彩覆盖、或高亮低质量区域210的某种其它形式。当数据获取设备110捕获附加数据以改进低质量区域210时,重新处理在云服务器150处被连续地执行,并且重新处理的数据被连续地发送到数据获取设备110。
[0063]在操作590中,在一个实施例中,数据获取设备110指示是否需要更多的输入数据。如果需要更多的输入数据,则用户130被指示来采用数据获取设备110捕获更多的数据。例如,如果用户130正试图捕获对象140的三维表示并且数据获取设备110指示需要更多的输入数据,则用户130可能需要从另一个角度捕获数据,或移动更靠近对象140以捕获附加的输入数据。在一个示例中,用户130可能不被指引去捕获更多的数据。在一个示例中,用户130观看从云服务器150接收的表示,并且捕获附加数据。
[0064]在操作595中,在一个实施例中,数据获取设备110指示足量的数据已被捕获以执行对象140的三维视觉化。在一个实施例中,数据获取设备110将自动停止捕获数据。在另一个实施例中,数据获取设备110必须被手动关闭。
[0065]本技术的实施例被如此描述。尽管本技术已在特定的实施例中被描述,但应被认识到的是:本技术不应被解释为由这种实施例限制,而是被依据接下来的权利要求解释。
【权利要求】
1.一种用于基于云的数据处理的方法,所述方法包括: 在数据获取设备处捕获输入数据; 把所述输入数据流送到通过网络连接通信地耦合到所述数据获取设备的云服务器,其中所述流送所述输入数据的至少一部分与所述捕获所述输入数据并发地发生,并且其中所述云服务器被配置用于在所述输入数据上执行数据处理以生成处理的数据。
2.如权利要求1所述的方法,进一步包括: 在所述数据获取设备处接收所述处理的数据,其中所述接收所述处理的数据的至少一部分与所述流送所述输入数据并发地发生。
3.如权利要求1所述的方法,进一步包括: 在所述流送所述输入数据之前在所述数据获取设备处在所述输入数据上执行所述数据处理的一部分。
4.如权利要求1所述的方法,进一步包括: 捕获附加输入数据;以及 把所述附加输入数据流送到所述云服务器,以便所述云服务器重新处理所述输入数据与所述附加输入数据,从而生成重新处理的数据;以及 在所述数据获取设备处接收所述重新处理的数据。
5.如权利要求1所述的方法,进一步包括: 在所述数据获取设备处接收元数据,所述元数据指示所述处理数据的至少一部分需要附加的输入数据。
6.如权利要求4所述的方法,其中所述元数据引导用户来捕获附加数据。
7.如权利要求1所述的方法,其中所述处理的数据基于由所述数据获取设备流送到所述云服务器的所述输入数据以及由另一个数据获取设备流送到所述云服务器的附加输入数据。
8.一种其中包含指令的计算机可用存储介质,当所述指令被执行时,促使计算机系统执行用于渲染三维对象的方法,所述方法包括: 在数据获取设备处捕获输入数据,所述输入数据表示对象并且包括深度信息; 把所述输入数据流送到通过网络连接通信地耦合到所述数据获取设备的云服务器,其中所述云服务器被配置用于基于所述深度信息执行所述对象的三维重建,并且其中所述流送所述输入数据的至少一部分与在所述数据获取设备处所述捕获所述输入数据并发地发生;以及 在所述数据获取设备处接收所述对象的三维表示,其中所述接收所述对象的所述三维表示的至少一部分与所述流送所述输入数据并发地发生。
9.如权利要求8所述的计算机可用存储介质,其中所述方法进一步包括: 从所述输入数据提取所述深度信息,其中所述提取在所述流送所述输入数据之前被执行;以及 把所述深度信息流送到所述云服务器。
10.如权利要求8所述的计算机可用存储介质,其中所述捕获所述输入数据、所述流送所述输入数据、以及所述接收所述对象的所述三维表示并发地发生,使得当所述输入数据被流送到所述云服务器时,所述对象的所述三维表示的质量增加。
11.如权利要求8所述的计算机可用存储介质,其中所述方法进一步包括: 接收元数据,所述元数据指示所述对象的所述三维表示的至少一部分需要附加输入数据。
12.如权利要求11所述的计算机可用存储介质,其中所述方法进一步包括: 至少部分地基于所述元数据捕获附加输入数据。
13.—种设备,包括: 用于捕获输入数据的光学捕获部件,所述输入数据表示对象并且包括深度信息;传送器,用于把所述输入数据流送到通过网络连接通信地耦合到所述设备的云服务器,其中所述云服务器被配置用于基于所述输入数据和所述深度信息执行所述对象的三维重建,并且其中所述流送所述输入数据的至少一部分与所述捕获所述数据并发地发生;以及 接收器,用于在所述设备处接收所述对象的三维表示,其中所述接收所述对象的所述三维表示的至少一部分与所述流送所述输入数据并发地发生; 存储器,用于存储所述输入数据和所述三维表示; 处理器,用于协调所述捕获所述输入数据、所述流送所述输入数据、以及所述接收所述三维表示;以及 显示器,用于接收元数据,所述元数据指示所述对象的所述三维表示的至少一部分需要附加的输入数据。
14.如权利要求13所述的设备,其中所述存储器被配置成执行深度图像提取,所述深度图像提取然后被上载到所述云服务器。
15.如权利要求13所述的设备,其中所述处理器执行所述三维重建的一部分。
【文档编号】G06T15/00GK104205083SQ201280071645
【公开日】2014年12月10日 申请日期:2012年3月22日 优先权日:2012年3月22日
【发明者】K-H.谭, J.阿波斯托罗普洛斯 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1