掌桥专利:专业的专利平台
掌桥专利
首页

动态增强现实组件

文献发布时间:2023-06-19 18:32:25


动态增强现实组件

优先权声明

本申请要求于2020年6月10日提交的序列号为63/037,559的美国临时申请和于2020年9月10日提交的序列号为16/948,268的美国专利申请的优先权的权益,上述美国临时申请和美国专利申请中的每一个通过引用整体并入本文中。

技术领域

本公开内容总体上涉及促进消息客户端与第三方资源之间的交互。

背景技术

允许用户在线访问内容并与其他用户交互的计算机实现的程序的流行度持续增长。存在允许用户通过消息客户端与其他用户共享内容的各种计算机实现的应用。这样的计算机实现的应用中的一些(被称为app)可以被设计成在诸如电话、平板电脑或手表的移动设备上运行,同时使后端服务在服务器计算机系统上提供以执行可能需要比在客户端设备处执行的合理资源更多的资源的操作(例如,存储大量数据或执行计算上昂贵的处理)。例如,消息客户端和相关联的消息服务器系统可以被配置成允许在线用户共享内容。

附图说明

在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或多个最高位数字指代该元件被首次引入时所在的图号。在附图中以示例而非限制的方式示出了一些实施方式,在附图中:

图1是根据一些示例的其中可以部署开发者工具系统的联网环境的图解表示。

图2是根据一些示例的用于提供动态增强现实组件的系统的架构的框图。

图3是根据一些示例的用于提供动态增强现实组件的方法的流程图。

图4是从消息客户端的摄像装置视图画面捕获的示例内容的图解表示。

图5是根据一些示例的从消息客户端的摄像装置视图画面捕获的使用动态增强现实组件修改的示例内容的图解表示。

图6是根据一些示例的呈计算机系统形式的机器的图解表示,在该计算机系统内可以执行一组指令以使该机器执行本文所讨论的方法中任何一种或更多种。

具体实施方式

消息服务器系统(其托管相关联的消息客户端的后端服务)被配置成允许用户利用提供给客户端设备(其托管消息客户端)的摄像装置捕获图像和视频,并经由网络通信与其他用户共享所捕获的内容。消息服务器系统还被配置成提供可经由消息客户端访问的增强现实(AR)组件,该增强现实组件可以用于例如通过在捕获的图像或视频帧的顶部上叠加图片或动画以及通过添加三维(3D)效果、对象、角色和变换来修改由摄像装置捕获的内容。

可以使用适用于app开发的编程语言(例如JavaScript或Java)来实现AR组件。AR组件可以在摄像装置记录视频时在消息客户端内执行,使得以特定AR组件配置所确定的方式修改每个捕获的帧。例如,AR组件可以被配置成在视频的每个帧中检测视频正在捕获的人的头部位置,并且在每个帧上将派对帽的图像叠加在检测到的头部位置上方,使得利用该AR组件捕获的视频的观看者将看到视频中正在捕获的人佩戴派对帽。当在消息客户端中打开摄像装置视图画面时,可以将AR组件的效果应用于捕获的图像,并且消息客户端可以向用户呈现一个或更多个视觉控制,该一个或更多个视觉控制允许应用和移除由AR组件产生的视觉效果,以及从多个AR组件中选择期望的AR组件。

用户可以通过打开消息客户端(在一些实施方式中,打开至准备捕获或已经捕获图像或视频的摄像装置视图画面)并选择表示所期望AR组件的图标来启动AR组件。在消息服务器系统中由相应的AR组件标识符来标识AR组件。在一些实施方式中,可以经由引用AR组件标识符的深度链接从诸如第三方app的第三方资源直接访问由消息服务器系统维护的特定AR组件,而不必首先启动消息客户端(无论是独立的app还是app的基于web的版本)。在app的上下文中,深度链接可以被描述为使用链接至app内的特定位置的统一资源标识符(URI),而不是简单地启动app。当从在配备有摄像装置的客户端设备处执行的第三方app激活这样的深度链接时,该深度链接被传递到消息服务器系统,并返回到客户端设备的实时摄像装置,其中在深度链接中由AR组件标识符引用的AR组件被激活。出于该描述的目的,在消息客户端中激活AR组件致使AR组件可供用户选择使用。启动AR组件将致使AR组件的效果被应用于捕获的内容。激活实时摄像装置与启动给定的AR组件的操作一起致使将给定的AR组件的效果应用至正在由摄像装置捕获的内容。除了直接从第三方app提供对AR组件的访问之外,消息服务器系统可以被配置成允许第三方开发者将源自其第三方app的内容共享到由消息服务器系统维护的AR组件。

将源自第三方app的内容添加到由消息服务器系统维护的AR组件的技术问题通过以下操作来解决:将AR组件配置成根据一个或更多个启动属性的值修改由摄像装置捕获的内容,并允许在引用AR组件的AR组件标识符的深度链接的净荷中将所述值从第三方app递送至消息服务器系统。源自其第三方app的提供给由消息服务器系统维护的AR组件的内容(例如,由体育新闻频道app提供的体育得分或由天气app提供的当前天气信息)可能是动态的,因为该内容可能随时间变化。

出于该描述的目的,被配置成根据一个或更多个启动属性的值修改由摄像装置捕获的内容的AR组件被称为动态增强现实组件或动态AR组件。由启动属性指定的修改类型可以指示:某种类型的内容(例如,文本、图像或动画)将被叠加在捕获的图像的一部分上(例如,居中在帧区域的右下象限上)。这样的启动属性的值可以是例如文本、图像或动画。例如,从体育新闻频道app提供的启动属性的值可以是指示正在进行的体育赛事的累积得分的图像或字符串。出于该描述的目的,可以经由深度链接递送至消息服务器系统的启动属性的值可以被简单地称为属性。启动属性的另一示例是引用二进制资产(例如,将由摄像装置捕获的内容作为输入的三维机器学习模型)的启动属性,该二进制资产可以相对于捕获的内容来执行,从而导致用三维(3D)网格或纹理来替换捕获的帧中的整个对象(例如,帧中描绘的人体)。

消息服务器系统被配置成向用户提供一组开发者工具,该组开发者工具包括允许第三方app开发者将深度链接包括在他们的第三方app中的特征,该深度链接引用AR组件标识符并且可以将一个或更多个启动属性的值包括在净荷中。由消息服务器系统提供的开发者工具可以经由开发者门户从第三方计算机系统调用,该开发者门户可以经由网络浏览器访问。开发者门户可以下载到第三方计算机系统,在这种情况下,可以不需要使用web浏览器。开发者门户可以用于获得引用给定AR组件标识符的深度链接,以及访问AR组件服务应用编程接口(API),该AR组件服务AP被配置成允许第三方开发者创建新的动态AR组件。在一些实施方式中,消息服务器系统经由AR组件服务API将AR组件模板和确定新AR组件的功能的属性和资产推送给开发者门户。提供有开发者门户的用户界面(UI)允许第三方开发者为新的AR组件选择任何属性,并且指定将经由深度链接从第三方app接收其值的至少一个属性。

在操作中,第三方app使用由消息服务器系统提供的开发者工具来构建用于链接至具有特定AR组件标识符的AR组件的请求。在一些示例中,第三方app是相对于由消息服务器系统提供的开发者工具的注册客户端。开发者工具系统正在构建深度链接并加密净荷,该净荷存储AR组件标识符和准备用于启动的属性。

当消息服务器系统检测到从客户端设备对深度链接的激活(例如,当用户使用由第三方app的UI提供的相关联视觉控制激活深度链接时)时,消息服务器系统解密深度链接净荷并获得AR组件标识符,验证由深度链接中的AR组件标识符引用的AR组件是有效的,并且验证AR组件是可解锁的(这意味着它可以被激活并可在消息app中即时使用)。然后从深度链接的净荷中提取属性。在持久存储系统处将所提取的属性存储在与AR组件标识符相关联的指定数据对象中。例如由开发者经由开发者门户132使用脚本语言将该数据对象配置成在相关联的AR组件被初始化时用来自深度链接的净荷的属性填充。当启动AR组件时,使用该数据对象将存储的属性显露给AR组件。持久存储系统可以与消息服务器系统相关联,或者它可以驻留在托管消息客户端的客户计算机系统处。

一旦AR组件被启动,则从摄像装置视图画面上捕获的内容用由AR组件提供的修改增强。在一些实施方式中,发送或发布利用由AR组件提供的修改增强的捕获内容使得消息客户端具有可供用户在预定的时间段(例如48小时)内使用的AR组件。从深度链接的净荷中提取并存储在持久存储系统中的属性保持在持久存储系统中,直到下次从第三方app启用深度链接,此时这些存储的属性被新的属性覆盖,新的属性为在那时从链接中提取的属性。在从深度链接中提取的属性是对二进制资产的引用的情况下,这样的属性指示被引用的二进制资产的存储位置,该二进制资产可以在托管消息客户端的客户端计算机设备处。

本文描述的方法可以有益地用于各种第三方资源。第三方资源可以被理解为安装的app,以及基于HTML的迷你应用(minis)和游戏。HTML是用于在万维网上结构化和呈现内容的标记语言。安装的app是使用可执行代码安装在设备上并且可以独立于消息客户端启动的软件文件。迷你应用和游戏(其可以被认为是可以下载到客户端设备上并且可以在大的app内运行的微小app)是基于HTML的app,其需要消息客户端下载标记语言文档,并在由消息客户端运行的浏览器中(在web视图中)呈现标记语言文档。当由用户启动时,从服务器检索HTML文件以用于呈现app。

图1是示出用于通过网络来交换数据(例如消息和相关联的内容)的示例消息系统100的框图。消息系统100包括客户端设备102的多个实例,每个客户端设备102托管包括消息客户端104和第三方app 103的若干应用。第三方app 103被配置成允许用户访问由第三方系统130提供的功能。每个消息客户端104经由网络106(例如,因特网)通信地耦接至消息服务器系统108和消息客户端104的其他实例。

消息客户端104能够经由网络106与另一消息客户端104和消息服务器系统108通信并交换数据。在消息客户端104之间以及消息客户端104与消息服务器系统108之间交换的数据包括功能(例如,激活功能的命令)以及净荷数据(例如,文本、音频、视频或其他多媒体数据)。

消息服务器系统108能够经由网络106向特定消息客户端104提供服务器端功能。虽然消息系统100的某些功能在本文中被描述为由消息客户端104或由消息服务器系统108执行,但是某些功能的位置是在消息客户端104内还是在消息服务器系统108内可以是设计选择。例如,在技术上优选的是:可以最初将某些技术和功能部署在消息服务器系统108内,但是稍后将该技术和功能迁移至客户端设备102具有足够处理能力的消息客户端应用104。

消息服务器系统108支持向消息客户端104提供的各种服务和操作。这样的操作包括向消息客户端104发送数据、从消息客户端104接收数据以及对由消息客户端104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体增强和覆盖、消息内容持久化条件、社交网络信息和实况事件信息。通过经由消息客户端104的用户接口(UI)可用的功能来激活和控制消息系统100内的数据交换

现在具体地转至消息服务器系统108,应用程序接口(API)服务器110耦接至应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接至有助于访问数据库120的数据库服务器118。web服务器124耦接至应用服务器112,并且向应用服务器112提供基于web的接口。为此,web服务器124通过超文本传输协议(HTTP)和若干其他相关协议处理传入的网络请求。数据库120存储与由应用服务器112处理的消息相关联的数据,例如,关于特定实体的简档数据。在实体是个人的情况下,简档数据包括例如用户名称、通知和隐私设置以及用户的自我报告年龄和与由用户对其配置文件数据所做的更改有关的记录。

应用程序接口(API)服务器110在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息净荷)。具体地,应用程序接口(API)服务器110提供一组接口(例如,例程和协议),消息客户端104可以调用或查询该组接口以激活应用服务器112的功能。API服务器110展示了由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112将消息从特定消息客户端104发送至另一个消息客户端104;将媒体文件(例如,图像或视频)从消息客户端104发送至消息服务器系统114,并供另一消息客户端104可能访问;打开应用事件(例如,与消息客户端104有关);以及由消息服务器系统108提供的开发者工具支持的各种功能,以供第三方计算机系统使用。

应用服务器112托管若干服务器应用和子系统,包括例如消息服务器系统114、图像处理服务器116以及社交网络服务器122。消息服务器系统114实现了若干消息处理技术和功能,特别是与对从消息客户端104的多个实例接收到的消息中包括的内容(例如,文本和多媒体内容)进行聚合和其他处理有关的消息处理技术和功能。图像处理服务器116专用于执行各种图像处理操作,通常相对于从消息服务器系统114发送或者在消息服务器系统114处接收到的消息的净荷内的图像或视频来执行各种图像处理操作。社交网络服务器122支持各种社交联网功能和服务并使这些功能和服务可用于消息服务器系统114。

图1中还示出了开发者工具服务器117。开发者工具服务器117维护一个或更多个软件开发者工具包(SDK),这样的软件开发者工具包允许用户跨他们的app(也被称为第三方app)整合与消息服务器系统提供的一些特征。这些特征包括动态AR组件的深度链接,该动态AR组件被配置成根据引用AR组件的AR组件标识符的深度链接的净荷中的从第三方app递送至消息服务器系统的一个或更多个启动属性的值来修改由摄像装置捕获的内容。由开发者工具服务器117提供的功能可以从第三方计算机系统经由可以经由web浏览器访问的开发者门户访问。在一些示例中,向第三方计算机系统(例如,第三方系统130)提供对由开发者工具服务器117提供的功能的访问权的开发者门户可以被下载至第三方计算机系统,在这种情况下,可以不需要使用web浏览器。第三方系统130被示出为包括开发者门户132。如以上所说明的,开发者门户132可以经由在第三方app提供者系统130上执行的web浏览器访问,或下载到第三方计算机系统130。

图2是示出用于提供动态AR组件的示例系统200的框图。该系统200包括深度链接生成器210、深度链接激活检测器220、属性提取器230和增强现实组件激活器240。如以上所提及的,出于该描述的目的,增强现实组件可以被称为AR组件。深度链接生成器210被配置成构造深度链接,该深度链接包括用于存储表示图1的消息服务器系统108中的AR组件的标识符(增强现实组件标识符)和用于存储一个或更多个启动属性的值的净荷。如以上所说明的,AR组件被配置成根据一个或更多个启动属性的值来修改由摄像装置捕获的内容。深度链接激活检测器220被配置成检测从在客户端设备处执行的第三方资源(例如,来自在图1的客户端设备102上处执行的第三方app 103)对深度链接的激活。属性提取器230被配置成从深度链接的净荷中提取一个或更多个启动属性的相应值,并且将提取的相应值存储在持久存储系统中。

增强现实组件激活器240被配置成使得消息客户端104启动至摄像装置视图画面。摄像装置视图画面指示摄像装置被激活。当相应的值在持久存储系统中变得可用或被更新时,增强现实组件激活器240使用相应的值来动态地配置AR组件。在AR组件被动态地配置之后,AR组件准备用于根据所存储的相应值来修改所捕获的内容。然后,增强现实组件激活器240将经动态配置的AR组件加载到消息客户端中。系统200的各种部件中的每个部件可以设置在图1的客户端设备102处和/或消息服务器系统108处。下面提供关于系统200的操作的另外的细节。

图3是用于提供动态AR组件的方法300的流程图。方法300可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,专用逻辑、可编程逻辑、微代码等)、软件或其组合。在一个示例实施方式中,处理逻辑中的一些或全部驻留在图1的客户端设备102处和/或图1的消息服务器系统108处。在操作310处,消息服务器系统108检测从在客户端设备处执行的第三方资源(例如,从在图1的客户端设备102处执行的第三方app 103)对深度链接的激活。深度链接被构造成在其净荷中包括表示消息服务器系统108中的AR组件的AR组件标识符和一个或更多个启动属性的值。在操作320处,提取一个或更多个启动属性的值并将其存储在持久存储系统中。如以上所提及的,持久存储系统可以驻留在客户端设备103或消息服务器系统108处。在操作330处,使得消息客户端104启动至摄像装置视图画面。在操作340处,从持久存储系统中检索相应的值,并且使用相应的值来配置AR组件,使得它可以用于根据所存储的相应的值来修改由摄像装置捕获的内容。在操作350处,将经配置的AR组件加载到消息客户端中。

尽管所描述的流程图可能将操作示出为顺序过程,但是操作中的许多操作可以并行或同时执行。此外,可以重新布置操作的顺序。当其操作完成时,过程终止。过程可以对应于方法、程序、算法等。方法的操作可以全部或部分执行,可以与其他方法中的一些或所有操作结合执行,并且可以由任何数量的不同系统(例如本文描述的系统)或者其任何部分(例如包括在任何系统中的处理器)来执行。

图4是从消息客户端104的摄像装置视图画面中捕获的示例内容的图解表示400。在区域410中示出的是在静止图像或视频的帧中捕获的人。视觉控制420可以被激活,以将相关联的AR组件的修改应用于所捕获的内容。在该示例中,视觉控制420能够执行以利用从第三方app103获得的当前体育比赛得分来增强所捕获的内容,消息客户端104经由深度链接从该第三方app 103启动。图5是使用深度链接中引用的AR组件并根据从深度链接的净荷中提取的值(在该示例中,当前的体育比赛得分)修改的从消息客户端的摄像装置视图画面捕获的内容的图解表示500。在区域510中示出的是:在静止图像或视频的帧中捕获的人;以及还有在区域530中示出的叠加在捕获的内容上的当前体育比赛得分。使用较粗的黑线来示出视觉控制520,以指示相关联的AR组件已启动。深度链接是在图1的第三方系统130处执行的开发者门户132内构造的。构造深度链接的过程包括深度链接的净荷的附加变量。下面作为示例1示出了包括在深度链接的净荷中的、产生图5的区域530中示出的当前体育比赛得分的示例属性——变量team_one_score、team_two_score、team_one_name、team_two_name及其相关联值。

示例1

team_one_score:5,team_two_score:3,team_one_name:

“小猎犬队”,team_two_name:“海狸队”

示例1中示出的属性被存储在与深度链接中引用的AR组件标识符相关联的数据对象中。当AR组件被加载到消息客户端104中时,这些属性从数据对象直接传递到AR组件中。在一个实施方式中,使用图5中示出的示例,AR组件可以被配置成修改AR组件内的二进制资产。例如,AR组件可以被配置成使用球队颜色来突出显示球队名称和得分,并且还被配置成可以示出相关联的球队标志。球队颜色和标志图像可以预定义在AR组件中,并基于深度链接净荷中提供的属性来选择。

机器架构

图6是机器600的图形表示,在机器600中可以执行用于使机器700执行本文所讨论的方法中的任何一个或更多个方法的指令608(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令608可以使机器600执行本文所描述的方法中的任何一种或更多种。指令608将通用的非编程的机器600转换成被编程成以所描述的方式执行所描述和所示出的功能的特定机器600。机器600可以作为独立设备操作或者可以耦接(例如,联网)到其他机器。在联网的部署中,机器600可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器600可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器600采取的动作的指令608的任何机器。此外,虽然仅示出了单个机器600,但是术语“机器”还应被认为包括单独地或联合地执行指令1100以执行本文中讨论的任何一种或更多种方法的机器的集合。例如,机器600可以包括客户端设备102或者形成消息服务器系统108的一部分的若干个服务器设备中的任何一个。在一些示例中,机器600还可以包括客户端和服务器系统二者,其中在服务器侧执行特定方法或算法的某些操作,并且在客户端侧执行特定方法或算法的某些操作。

机器600可以包括可以被配置成经由总线640彼此通信的处理器602、存储器604和输入/输出(I/O)部件638。在示例中,处理器602(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另外的处理器或其任何合适的组合)可以包括例如执行指令608的处理器606和处理器610。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图6示出了多个处理器602,但是机器600可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。

存储器604包括处理器602可以经由总线640访问的主存储器612、静态存储器614和存储单元616。主存储器604、静态存储器614和存储单元616存储实现本文中所描述的方法或功能中的任何一个或更多个方法或功能的指令608。指令608还可以在其被机器600执行期间完全地或部分地驻留在主存储器612内、在静态存储器614内、在存储单元616内的机器可读介质618内、在处理器602中的至少一个处理器内(例如,在处理器的高速缓存存储器内)或其任何合适的组合内。

I/O部件638可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器中的特定I/O部件638将取决于机器的类型。例如,诸如移动电话的便携式机器诸可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将不太可能包括这样的触摸输入设备。将理解的是,I/O部件638可以包括图6中未示出的许多其他部件。在各种示例中,I/O部件638可以包括用户输出部件624和用户输入部件626。用户输出部件624可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号生成器等。用户输入部件626可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其他触觉输入部件)、音频输入部件(例如,麦克风)等。

在其他示例中,I/O部件638可以包括生物计量部件628、运动部件630、环境部件632、或定位部件634以及各种其他部件。例如,生物计量部件628包括用于检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件630包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)。

环境部件632包括例如:一个或更多个摄像装置(具有静止图像/照片和视频能力)、照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)、或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。

关于摄像装置,客户端设备102可以具有摄像装置系统,该摄像装置系统包括例如客户端设备102的前表面上的前置摄像装置和客户端设备102的后表面上的后置摄像装置。前置摄像装置可以例如用于捕获客户端设备102的用户的静止图像和视频(例如,“自拍”),然后可以用上述增强数据(例如,过滤器)对该静止图像和视频进行增强。例如,后置摄像装置可以用于以更传统的摄像装置模式捕获静止图像和视频,这些图像类似地使用增强数据进行增强。除了前置和后置摄像装置之外,客户端设备102还可以包括用于捕获360°照片和视频的360°摄像装置。

此外,客户端设备102的摄像装置系统可以包括双后置摄像装置(例如,主摄像装置以及深度感应摄像装置),或者甚至在客户端设备102的前后侧上包括三重、四重或五重后置摄像装置配置。例如,这些多摄像装置系统可以包括广角摄像装置、超广角摄像装置、长焦摄像装置、微距摄像装置和深度传感器。

位置部件634包括定位传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测可以得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。

可以使用各种各样的技术来实施通信。I/O部件638还包括通信部件636,通信部件1336可操作以经由相应的耦接或连接将机器600耦接至网络620或设备622。例如,通信部件636可以包括网络接口部件或另一合适的设备以与网络620对接。在另外的示例中,通信部件636可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、

此外,通信部件636可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件636可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速反应(QR)码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(UltraCode)、UCC RSS-2D条形码的多维条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件636得出各种信息,例如经由因特网协议(IP)地理定位的位置、经由

各种存储器(例如,主存储器612、静态存储器614以及处理器602的存储器)以及存储单元616可以存储体现本文中描述的各方法或功能中的任何一个或更多个或由其使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令608)在由处理器602执行时使各种操作实现所公开的示例。

可以经由网络接口设备(例如,通信部件636中包括的网络接口部件),使用传输介质并且使用若干公知的传输协议中的任意一种传输协议(例如,超文本传输协议(HTTP)),通过网络620来发送或接收指令608。类似地,可以使用传输介质经由到设备622的耦接(例如,对等耦接)来发送或接收指令608。

术语表

“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。

“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。

“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

“部件”是指具有以下边界的设备、物理实体或逻辑,该边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元,并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件组件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为用于执行本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的专用处理器。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,硬件部件就变成被独特地定制成执行所配置的功能的特定机器(或机器的特定部件),而不再是通用处理器。将理解,可以出于成本和时间考虑来决定机械地、在专用且永久配置的电路中还是在临时配置(例如,由软件配置)的电路中实现硬件部件。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置成变成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或多个特定处理器以例如在一个时刻处构成特定硬件部件,并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或被实例化的实施方式中,可以例如通过将信息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在其通信地耦接到的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对所存储的输出进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。本文所述的示例方法的各种操作可以至少部分地由临时地被配置(例如,由软件)或永久地被配置成执行相关操作的一个或更多个处理器来执行。无论是临时地被配置还是永久地被配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或更多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器1004或处理器实现的部件来执行。此外,所述一个或更多个处理器还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)进行访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是跨多个机器被部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理定位中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理定位而分布。

“计算机可读存储介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。

“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的高速缓存和服务器)。因此,该术语应被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物并且可以在本公开内容中互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,所述载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。

“非暂态计算机可读存储介质”是指能够存储、编码或携载由机器执行的指令的有形介质。

“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指使其特性中的一个或更多个特性以将信息编码在信号中的方式来设置或改变的信号。术语“传输介质”和“信号介质”指相同的事物并且可以在本公开内容中互换使用。

相关技术
  • 一种滤光组件、激光显示增强现实系统及其应用
  • 增强现实显示组件及具有该组件的增强现实显示设备
  • 增强现实显示组件及具有该组件的增强现实显示设备
技术分类

06120115607451