一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于大规模增强现实的位置映射的制作方法

2022-11-12 11:54:43 来源:中国专利 TAG:

用于大规模增强现实的位置映射
1.优先权要求
2.本技术要求于2020年3月27日提交的美国专利申请第16/833,160号的优先权,该美国专利申请通过引用整体并入本文。
技术领域
3.本公开内容的实施方式总体上涉及移动计算技术,并且更具体地但不作为限制地涉及用于在客户端设备处呈现增强现实(augmented-reality,ar)内容的系统。


背景技术:

4.增强现实是其中通过计算机生成的感知信息来增强存在于现实世界中的对象的现实世界环境的交互体验,有时跨多个感知模态,包括视觉、听觉、触觉、体感和嗅觉。增强现实的主要价值是数字世界的组成部分融入人对现实世界的感知中的方式,而不是作为数据的简单显示,而是通过作为环境的自然部分感知的沉浸感的集成。
附图说明
5.为了容易地标识对任何特定元件或动作的讨论,附图标记中的一个或多个最高位数字指代该元件被首次引入时所在的图号。
6.图1是示出根据一些实施方式的用于通过网络来交换数据(例如,消息和相关内容)的示例消息传送系统的框图,其中,该消息传送系统包括增强现实系统。
7.图2是示出根据示例实施方式的关于消息传送系统的另外的细节的框图。
8.图3是示出根据某些示例实施方式的增强现实系统的各种模块的框图。
9.图4是描绘根据某些示例实施方式的生成点云的方法的流程图。
10.图5是描绘根据某些示例实施方式的生成点云的方法的流程图。
11.图6是描绘根据某些示例实施方式的在客户端设备处加载点云的一部分的方法的流程图。
12.图7是描绘根据某些示例实施方式的选择点云的一部分的方法的示图。
13.图8是示出可以与本文中描述的各种硬件架构结合使用并且可以用于实现各种实施方式的代表性软件架构的框图。
14.图9是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文所讨论的方法中的任何一种或更多种方法的机器的部件的框图。
具体实施方式
15.如上所述,增强现实(ar)是其中通过计算机生成的感知信息来增强存在于现实世界中的对象的现实世界环境的交互体验。一些ar系统使用点云来生成和呈现ar内容,其中点云是空间中的数据点的组,其测量表面特征和它们周围的对象的外表面。
16.由于实际生成点云所需的数据量,点云的使用通常限于小区域。例如,限定单个房
间中的表面特征的点云的创建可以是相对直接的,而表示地区或城市的表面特征的点云的创建在当前系统下由于多种原因在逻辑上是不可能的。收集生成这种大的点云所需的数据本质上是繁重并且耗时的,并且需要大量的组织和分析。此外,由这样的系统生成的结果点云将非常大并且在计算上要求高,这使得其在用于在包括移动设备的客户端设备处显示ar内容时是低效且不切实际的。
17.因此,在某些示例实施方式中,公开了一种ar系统,该ar系统执行以下操作,包括:访问包括图像数据、位置数据和取向数据的数据对象;对数据对象应用变换以产生经校正的数据对象;
18.基于经校正的数据对象生成点云;
19.至少基于数据对象的位置数据将点云分配给位置;检测处于所述位置的客户端设备;以及响应于检测到处于所述位置的客户端设备,将点云加载至客户端设备。
20.在一些示例实施方式中,数据对象可以包括由多个客户端设备收集并基于与图像和视频对应的位置数据来在数据库内被编制索引的图像和视频。ar系统可以访问数据库并且基于来自从多个客户端设备收集的图像和视频的图像数据和位置数据来生成给定位置的点云。
21.在一些示例实施方式中,数据对象可以包括从全向摄像装置(360摄像装置)收集的图像和视频,其中360摄像装置具有覆盖大致整个球体或水平面中的至少整个圆的视场。在这样的实施方式中,可以从360摄像装置收集图像和视频,其中图像和视频包括时间戳和位置数据。
22.在一些示例实施方式中,为了生成点云,ar系统可以访问包括视频帧的组的视频数据,其中每个视频帧包括时间戳、位置数据、取向数据和图像数据。ar系统可以输出视频帧的组的一部分,并且基于视频帧的组的一部分生成点云。为了基于数据对象生成点云,在某些实施方式中,ar系统可以对数据对象执行变换,其中变换包括线性校正。
23.在一些实施方式中,在客户端设备处加载点云可以包括识别要在客户端设备处加载的点云的一部分的操作。例如,如上所述,使用点云在大环境中呈现ar内容的技术问题是大规模点云的计算需求。因此,在某些实施方式中,ar系统可以基于一个或更多个上下文(contextual)条件或因素来识别要在客户端设备处加载的点云的一部分。
24.在一些实施方式中,上下文因素可以包括客户端设备的位置,其中客户端设备的位置和取向限定客户端设备的视点。ar系统可以确定哪些界标和表面特征从客户端设备的视点是可见的,并且基于从客户端设备的视点可见的界标和表面特征来识别点云的一部分。
25.在一些实施方式中,上下文因素可以包括一天中的时间。在这样的实施方式中,数据对象可以包括以下图像和视频:所述图像和视频包括指示图像和视频被收集的一天中的时间的时间戳。因此,点云可以包括多个点,其中单个表面特征可以由多于一个点表示,并且每个点可以基于一天中的不同时间。例如,给定的表面特征或界标可以具有表示在一天中的第一时间(即早晨)的表面特征或界标的第一组点,以及表示在一天中的第二时间(即晚上)的表面特征或界标的第二组点。因此,ar系统可以基于时间性考量来识别点云的一部分,时间性考量包括客户端设备在给定位置处时或客户端设备请求ar内容时一天中的时间。
26.在一些实施方式中,上下文因素可以包括客户端设备本身的属性,包括客户端设备的存储器或存储装置容量、以及客户端设备的网络连接速度。因此,可以基于客户端设备的设备属性来确定点云的一部分的最优大小,并且可以基于该最优大小来选择点云的一部分。
27.图1是示出用于通过网络来交换数据(例如,消息和相关联的内容)的示例消息传送系统100的框图。消息传送系统100包括一个或更多个客户端设备102,客户端设备102托管包括消息传送客户端应用104的多个应用。每个消息传送客户端应用104经由网络106(例如,因特网)通信地耦接至消息传送客户端应用104和消息传送服务器系统108的其他实例。
28.因此,每个消息传送客户端应用104能够经由网络106与另一消息传送客户端应用104以及与消息传送服务器系统108进行通信并交换数据。在消息传送客户端应用104之间以及消息传送客户端应用104与消息传送服务器系统108之间交换的数据包括功能(例如,调用功能的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
29.消息传送服务器系统108经由网络106向特定消息传送客户端应用104提供服务器侧功能。虽然消息传送系统100的某些功能在本文中被描述为由消息传送客户端应用104或由消息传送服务器系统108执行,但是应当理解,某些功能的位置是在消息传送客户端应用104内还是在消息传送服务器系统108内是设计选择。例如,在技术上可能优选的是:在客户端设备102具有足够处理能力的情况下,最初将某些技术和功能部署在消息传送服务器系统108内,但是后期将该技术和功能迁移至消息传送客户端应用104。
30.消息传送服务器系统108支持被提供给消息传送客户端应用104的各种服务和操作。这样的操作包括向消息传送客户端应用104发送数据、从消息传送客户端应用104接收数据以及对由消息传送客户端应用104生成的数据进行处理。在一些实施方式中,作为示例,该数据包括:消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持久性条件、社交网络信息以及实况事件信息。在其他实施方式中,使用其他数据。通过经由消息传送客户端应用104的gui可用的功能来调用和控制消息传送系统100内的数据交换。
31.具体地,现在转至消息传送服务器系统108,应用程序接口(api)服务器110耦接至应用服务器112并且向应用服务器112提供编程接口。应用服务器112通信地耦接至数据库服务器118,数据库服务器118便于访问其中存储有与由应用服务器112处理的消息相关联的数据的数据库120。
32.具体讨论应用程序接口(api)服务器110,该服务器在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。特别地,应用程序接口(api)服务器110提供接口的组(例如,例程和协议),消息传送客户端应用104可以调用或查询该接口的组以调用应用服务器112的功能。应用程序接口(api)服务器110公开应用服务器112所支持的各种功能,包括:帐户注册、登录功能、经由应用服务器112从特定消息传送客户端应用104向另一消息传送客户端应用104发送消息、从消息传送客户端应用104向消息传送服务器应用114发送媒体文件(例如,图像或视频)、以及用于由另一消息传送客户端应用104进行的可能访问、对媒体数据(例如,故事)的集合进行设置、检索客户端设备102的用户的朋友列表、检索这样的集合、检索消息和内容、向社交图添加朋友以及从社交图删除朋友、定位社交图内的朋友、打开并应用(例如,与消息传送客户端应用104相关的)事件。
33.应用服务器112托管多个应用和子系统,包括消息传送服务器应用114、图像处理
系统116、社交网络系统122和ar系统124。根据某些示例实施方式,ar系统124被配置成基于图像数据生成点云,并且在客户端设备102处加载该点云。ar系统124的另外的细节可以在下面的图3中找到。
34.消息传送服务器应用114实现多个消息处理技术和功能,特别地涉及包括在从消息传送客户端应用104的多个实例接收的消息中的内容(例如,文本和多媒体内容)的汇总及其他处理。如将进一步详细描述的,来自多个源的文本和媒体内容可以被汇总成内容集合(例如,被称为故事或图库(gallery))。然后,消息传送服务器应用114使得这些集合对消息传送客户端应用104可用。考虑到对数据的其他处理器和存储器密集处理的硬件要求,也可以由消息传送服务器应用114在服务器侧执行这样的处理。
35.应用服务器112还包括图像处理系统116,图像处理系统116专用于通常针对在消息传送服务器应用114处的消息的有效载荷内接收的图像或视频执行各种图像处理操作。
36.社交网络系统122支持各种社交联网功能服务并且使这些功能和服务对消息传送服务器应用114可用。为此,社交网络系统122维护并访问数据库120内的实体图304。社交网络系统122所支持的功能和服务的示例包括识别消息传送系统100中与特定用户具有关系或正在“追随”该特定用户的其他用户以及还识别特定用户的其他实体和兴趣。
37.应用服务器112通信地耦接至数据库服务器118,数据库服务器118便于访问其中存储有与由消息传送服务器应用114处理的消息相关联的数据的数据库120。
38.图2是示出根据示例实施方式的关于消息传送系统100的另外的细节的框图。具体地,消息传送系统100被示出为包括消息传送客户端应用104和应用服务器112,它们又包含一些子系统,即短暂定时器系统202、集合管理系统204和注释系统206。
39.短暂定时器系统202负责实施对由消息传送客户端应用104和消息传送服务器应用114许可的内容的临时访问。为此,短暂定时器系统202包含多个定时器,这些定时器基于与消息、消息集合(例如,媒体集合)或图形元素相关联的持续时间和显示参数,经由消息传送客户端应用104选择性地显示并使得能够访问消息和相关联的内容。下面提供关于短暂定时器系统202的操作的另外的细节。
40.集合管理系统204负责管理媒体的集合(例如,文本、图像视频和音频数据的集合)。在一些示例中,内容(例如,消息,包括图像、视频、文本和音频)的集合可以被组织成“事件图库”或“事件故事”。可以使这样的集合在指定时间段例如内容所涉及的事件的持续时间内可用。例如,可以使与音乐会相关的内容在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责向消息传送客户端应用104的用户界面发布提供存在特定集合的通知的图标。
41.集合管理系统204还包括策展接口208,策展接口208使得集合管理者能够管理和策展特定内容集合。例如,策展接口208使得事件组织者能够策展与特定事件相关的内容集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。在某些实施方式中,可以向用户支付补偿,以将用户生成的内容包括到集合中。在这样的情况下,策展接口208进行操作以自动向这样的用户支付使用他们的内容的费用。
42.注释系统206提供使得用户能够对与消息相关联的媒体内容进行注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与生成和发布
由消息传送系统100处理的消息的媒体叠加(media overlay)相关的功能。注释系统206基于客户端设备102的地理位置可操作地向消息传送客户端应用104提供媒体叠加(例如,过滤器、透镜)。在另一示例中,注释系统206基于其他信息例如客户端设备102的用户的社交网络信息可操作地向消息传送客户端应用104提供媒体叠加。媒体叠加可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、标识、动画和音效,以及动画面部模型。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可以被应用于客户端设备102处的媒体内容项(例如,照片或视频)。例如,媒体叠加包括可以叠加在由客户端设备102拍摄所生成的照片之上的文本。在另一示例中,媒体叠加包括位置标识叠加(例如,威尼斯海滩)、实况事件的名称或商家名称叠加(例如,海滩咖啡馆)。在另一示例中,注释系统206使用客户端设备102的地理位置来标识包括客户端设备102的地理位置处的商家的名称的媒体叠加。媒体叠加可以包括与商家相关联的其他标记。媒体叠加可以被存储在数据库120中并通过数据库服务器118访问。
43.在一个示例实施方式中,注释系统206提供基于用户的发布平台,该基于用户的发布平台使得用户能够选择地图上的地理位置并上传与所选择的地理位置相关联的内容。用户还可以指定应当向其他用户提供特定媒体叠加的环境。注释系统206生成包括所上传的内容的媒体叠加并将所上传的内容与所选择的地理位置相关联。
44.在另一示例实施方式中,注释系统206提供基于商家的发布平台,该基于商家的发布平台使得商家能够经由投标过程选择与地理位置相关联的特定媒体叠加。例如,注释系统206将最高出价商家的媒体叠加与相应地理位置相关联达预定义时间量。
45.图3是示出根据某些示例实施方式的ar系统124的部件的框图,其中所述部件将ar系统124配置成执行操作以基于与用户连接相关联的分类来生成并引起通知的显示。
46.ar系统124被示出为包括图像模块302、校正模块304和点云模块306,所有这些模块被配置成(例如,经由总线、共享存储器或交换机)彼此通信。这些模块中的任何一个或更多个模块可以使用一个或更多个处理器308来实现(例如,通过对这样的一个或更多个处理器进行配置以执行针对该模块所描述的功能)并且因此可以包括一个或更多个处理器308。在某些实施方式中,化身通知系统124可以包括数据库120或者可以访问数据库120,其中,数据库120可以包括基于用户属性和占星符号来索引的媒体内容的集合。
47.所描述的模块中的任何一个或更多个模块可以仅使用硬件(例如,机器的一个或更多个处理器308)或者使用硬件和软件的组合来实现。例如,所描述的化身通知系统124的任何模块可以在物理上包括被配置成执行本文针对该模块所描述的操作的一个或更多个处理器308(例如,机器的一个或更多个处理器的子组或者机器中的一个或更多个处理器)的布置。作为另一示例,化身通知系统124的任何模块可以包括软件、硬件或者软件和硬件两者,其对(例如,机器的一个或更多个处理器中的)一个或更多个处理器308的布置进行配置以执行本文针对该模块所描述的操作。因此,化身通知系统124的不同模块可以包括并配置这样的处理器308的不同布置或者这样的处理器308在不同的时间点的单个布置。此外,化身通知系统124的任何两个或更多个模块可以被组合成单个模块,并且本文针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施方式,本文中描述为在单个机器、数据库或设备内实现的模块可以跨多个机器、数据库或设备分布。
48.图4是描绘根据某些示例实施方式的生成点云的方法400的流程图。方法400的操
作可以由以上关于图3描述的模块来执行。如图4所示,方法400包括一个或更多个操作402、404、406、408、410和412。
49.在操作402处,图像模块302访问包括图像数据、位置数据和取向数据的数据对象。例如,在一些实施方式中,图像模块302可以访问储存库(即,数据库120),其中该储存库包括基于位置进行索引的数据对象的集合。例如,在一些实施方式中,可以从多个客户端设备102收集数据对象,并基于对应的位置数据来在数据库120内对数据对象编制索引。在一些实施方式中,数据对象可以由全向摄像装置生成,并基于对应的位置数据在数据库120内编制索引。
50.在操作404处,校正模块304对数据对象应用变换以产生经校正的数据对象。例如,在一些实施方式中,数据对象可以包括全向摄像装置图像,其中全向摄像装置图像描绘区域的360度视图。校正模块304可以访问数据对象并应用一种或更多种线性校正技术以将图像带入公共图像平面中。
51.在操作406处,点云模块306基于经校正的数据对象生成点云,其中,点云包括空间中的数据点的组,该数据点的组限定空间中的对象的外表面的特性。例如,从给定的视角(perspective)来看,点云的点可以限定表面距该视角的距离。
52.在操作408处,点云模块306至少基于数据对象的位置数据将点云分配给位置。例如,点云模块306可以将点云分配给包含位置的地理栅栏。在一些实施方式中,将点云分配给位置可以包括基于位置内的界标将点云与位置对准。
53.在操作410处,图像模块302检测处于该位置的客户端设备102。例如,客户端设备102可以生成包括标识该位置的位置数据的请求,或者可以输入包含该位置的地理栅栏。在一些实施方式中,客户端设备102可以生成描绘与该位置相关联的一个或更多个界标的图像数据,并且图像模块302可以基于来自客户端设备102的图像数据来识别该位置。
54.在操作412处,响应于图像模块302检测到处于该位置的客户端设备102,点云模块306加载与客户端设备102处的位置对应的点云。因此,可以基于点云在客户端设备102处显示ar内容。
55.图5是描绘根据某些示例实施方式的生成点云的方法500的流程图。方法500的操作可以由以上关于图3描述的模块来执行。如图5所示,方法500包括可以作为方法400的操作402的一部分(即,子例程)执行的一个或更多个操作502和504。
56.在操作502处,图像模块302访问包括视频帧的组的视频数据。例如,视频数据可以由一个或更多个客户端设备102生成并且与位置相关联地在数据库120内的存储器位置处编制索引。
57.在操作504处,图像模块302输出视频帧的组的一部分,其中视频帧的组的一部分中的每个视频帧包括图像数据、位置数据和取向数据。
58.在一些实施方式中,可以基于视频所描绘的区域的表面特征的特性来输出视频帧的组的一部分。例如,更复杂的表面可能需要更多数量的视频帧来以点云精确地描绘表面,而简单的表面(即,很少的对象,并且只有很少的表面)可能需要更少的视频帧。
59.在一些实施方式中,可以基于与视频数据相关联的收集速率输出视频帧的组的一部分,其中收集速率可以随着行进速度来定义。例如,传感器设备移动通过区域越快,就可能需要输出越大数量的视频帧。
60.因此,方法500可以继续至方法400的操作404,其中校正模块304对视频帧的组执行线性校正以生成经校正的数据对象。
61.图6是描绘根据某些示例实施方式的在客户端设备102处加载点云的一部分的方法600的流程图。方法600的操作可以由以上关于图3描述的模块来执行。如图6所示,方法600包括一个或更多个操作602、604和606,并且可以作为方法400的操作412的一部分来执行。
62.在操作602处,点云模块306确定与客户端设备102相关联的上下文条件。上下文条件可以包括时间条件(即,一天中的时间)、设备属性或特性、以及客户端设备102的位置数据。
63.例如,在一些实施方式中,上下文条件可以包括客户端设备102的设备类型、与客户端设备102相关联的网络速度、以及客户端设备102的存储器容量的指示。
64.在一些实施方式中,上下文条件可以包括与来自客户端设备102的请求相关联的一天中的时间。例如,可以基于与来自客户端设备102的请求相关联的元数据或者基于在客户端设备102处生成的图像的特性来确定一天中的时间。
65.在一些实施方式中,上下文条件可以包括与客户端设备102相关联的视点的视角,其中视点可以提供从客户端设备102的位置可见的界标的指示。
66.在操作604处,点云模块306基于客户端设备102的上下文条件来识别与该位置相关联的点云的一部分。在操作606处,在客户端设备102处加载点云的一部分。
67.图7是描绘根据某些示例实施方式的选择点云的一部分的方法的图示700。图示700包括点云705和点云710的描绘,其中每个点云表示相同地理区域的表面特征。
68.如在图6所示的方法600中所讨论的,ar系统124的某些实施方式提供基于可以包括上下文因素的多个因素来选择性地过滤要在客户端设备102处加载的点云的各部分的功能。因此,点云710表示来自点云705的点的选定部分。
69.在某些实施方式中,点云模块306可以选择点云705的一部分,使得点的分布保持相同。例如,如在图示700中看到的,点云710的点的分布与在点云705中看到的点的分布大致相同。
70.在某些实施方式中,点云模块306可以基于用户715的位置来选择点云705的一部分。例如,点云模块306可以访问来自用户715的客户端设备102的位置数据,并根据用户715的位置确定可见界标和表面。可以基于哪些界标是可见的来选择点云705的一部分。
71.在某些实施方式中,点云模块306可以基于与用户715相关联的上下文因素(即,位置、时间等)以及点云705的每个点的属性来选择点云705的一部分。例如,点可以具有指示它们被收集时一天中的时间的属性。因此,响应于确定与用户715相关联的当前时间,点云模块715可以从点云705中选择在该相同时间表示区域的表面特征的所有点。作为说明性示例,点云模块306可以基于包括图像数据的数据对象来生成点云705,其中,图像数据表示在特定时间或一天中的时间(即,夜晚,白天)的对象或位置。因此,点云705的每个点可以包括指示该点被收集时的一天中的时间的属性。
72.在一些实施方式中,点云模块306可以通过以“空”点云开始,然后一次从点云705添加一个点直至达到目标点云特性来生成点云710。例如,特性可以包括从客户端设备102的给定视角来看的可见点与所有点的比率。在一些实施方式中,特性可以包括点云的大小,
以字节计。
73.软件架构
74.图8是示出示例软件架构806的框图,其中示例软件架构806可以与本文中描述的各种硬件架构结合使用。图8是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文中描述的功能。软件架构906可以在诸如图9的机器900的硬件上执行,所述硬件包括处理器904、存储器914和i/o部件918等。代表性硬件层852被示出并且可以表示例如图8的机器800。代表性硬件层852包括具有相关联的可执行指令804的处理单元854。可执行指令804表示软件架构806的可执行指令,包括本文中描述的方法、部件等的实现。硬件层852还包括还具有可执行指令804的存储器和/或存储模块,即存储器/存储装置856。硬件层852还可以包括其他硬件858。
75.在图8的示例架构中,软件架构806可以被概念化为一堆层,其中每个层提供特定功能。例如,软件架构806可以包括诸如操作系统802、库820、应用816和呈现层814的层。在操作上,层内的应用816和/或其他部件可以通过软件堆栈来调用应用编程接口(api)api调用808以及响应于api调用808来接收响应。所示出的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件818,而其他操作系统可能提供这样的层。其他软件架构可以包括附加层或不同的层。
76.操作系统802可以管理硬件资源并且提供公共服务。操作系统802可以包括例如核822、服务824和驱动器826。核822可以充当硬件与其他软件层之间的抽象层。例如,核822可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务824可以为其他软件层提供其他公共服务。驱动器826负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动器826包括显示器驱动器、摄像装置驱动器、据硬件配置,驱动器826包括显示器驱动器、摄像装置驱动器、驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
77.库820提供由应用816和/或其他部件和/或层使用的公共基础设施。库820提供如下功能,该功能允许其他软件部件以比与底层操作系统802的功能(例如,核822、服务824和/或驱动器826)直接对接的方式更容易的方式来执行任务。库820可以包括系统库844(例如,c标准库),系统库844可以提供函数例如存储器分配函数、串操纵函数、数学函数等。另外,库820可以包括api库846诸如媒体库(例如,支持各种媒体格式诸如mpreg4、h.264、mp3、aac、amr、jpg、png的呈现和操纵的库)、图形库(例如,可以用于在显示器上以图形内容呈现2d和3d的opengl框架)、数据库(例如,可以提供各种关系数据库功能的sqlite)、网络库(例如,可以提供网络浏览功能的webkit)等。库820还可以包括各种其他库848,以向应用816和其他软件部件/模块提供许多其他api。
78.框架/中间件818(有时也称为中间件)提供可以由应用816和/或其他软件部件/模块使用的较高级别的公共基础设施。例如,框架/中间件818可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架/中间件818可以提供可以由应用816和/或其他软件部件/模块使用的广泛的其他api,其中一些api可以专用于特定的操作系统802或平台。
79.应用816包括内置应用838和/或第三方应用840。代表性内置应用838的示例可以
包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用840可以包括由除特定平台的供应商之外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm
、phone的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用840可以调用由移动操作系统(例如,操作系统802)提供的api调用808以促进本文中描述的功能。
80.应用816可以使用内置操作系统功能(例如,核822、服务824和/或驱动器826)、库820和框架/中间件818来创建用户接口以与系统的用户交互。可替选地或另外地,在一些系统中,可以通过呈现层例如呈现层814发生与用户的交互。在这些系统中,应用/部件“逻辑”可以和应用/部件的与用户交互的方面分开。
81.图9是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法的机器900的部件的框图。具体地,图9示出了呈计算机系统的示例形式的机器900的图形表示,在机器900内可以执行用于使机器900执行本文中讨论的方法中的任何一种或更多种方法的指令910(例如,软件、程序、应用、小程序、应用(app)或其他可执行代码)。因此,可以使用指令910来实现本文中描述的模块或部件。指令910将通用的未经编程的机器900转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器900。在替选实施方式中,机器900作为独立设备操作或者可以耦接(例如,联网)到其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份(capacity)来操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器900可以包括但不限于:服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家用电器)、其他智能设备、网络设备(web appliance)、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器900采取的动作的指令910的任何机器。此外,虽然仅示出了单个机器900,但是术语“机器”还应被认为包括单独地或联合地执行指令910以执行本文中讨论的任何一种或更多种方法的机器的集合。
82.机器900可以包括可以被配置成例如经由总线902相互通信的处理器904、存储器/存储装置906和i/o部件918。存储器/存储装置906可以包括存储器914例如主存储器或其他存储装置以及存储单元916,处理器904能够例如经由总线902访问存储器914和存储单元916两者。存储单元916和存储器914存储体现本文中描述的方法或功能中的任何一个或更多个方法或功能的指令910。指令910还可以在其被机器900执行期间完全地或部分地驻留在存储器914内、驻留在存储单元916内、驻留在处理器904中的至少一个处理器内(例如,在处理器的高速缓冲存储器内)或者驻留在其任何合适的组合内。因此,存储器914、存储单元916以及处理器904的存储器是机器可读介质的示例。
83.i/o部件918可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器900中的具体i/o部件918将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入设备或其他这样的输入机构,而无终端(headless)服务器机器将很可能不包括这样的触摸输入设备。将理解的是,i/o部件918可以包括图9中未示出的许多其他部件。仅出于简化以下讨论的目的,根据功能对i/o部
件918进行分组,并且该分组决不是限制性的。在各种示例实施方式中,i/o部件918可以包括输出部件926和输入部件928。输出部件926可以包括视觉部件(例如,诸如等离子体显示面板(pdp)的显示器、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件928可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于指向的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
84.在其他示例实施方式中,i/o部件918可以包括生物计量部件930、运动部件934、环境部件936或定位部件938以及各种其他部件。例如,生物计量部件930可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件934可以包括:加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件936可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声音传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或者用于测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量结果或信号的其他部件。定位部件938可以包括位置传感器部件(例如,全球定位系统(gps)接收器部件)、海拔高度传感器部件(例如,检测可以从其得到海拔高度的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
85.可以使用各种技术来实现通信。i/o部件918可以包括通信部件940,通信部件940能够进行操作以分别经由耦接922和耦接924将机器900耦接至网络932或设备920。例如,通信部件940可以包括网络接口部件或其他合适的设备以与网络932接口。在其他示例中,通信部件940可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低功耗)、部件以及经由其他模态提供通信的其他通信部件。设备920可以是另外的机器或各种外围设备中的任何外围设备(例如,经由通用串行总线(usb)耦接的外围设备)。
86.此外,通信部件940可以检测标识符或者可以包括可操作以检测标识符的部件。例如,通信部件940可以包括射频识别(rfid)标签阅读器部件、nfc智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品码(upc)条形码的一维条形码、诸如快速响应(qr)码的多维条形码、aztec码、数据矩阵、数据符号(dataglyph)、最大码(maxicode)、pdf417、超码(ultra code)、ucc rss-2d条形码以及其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件940得到各种信息,例如经由因特网协议(ip)地理位置得到位置、经由信号三角测量得到位置、经由检测可以指示特定位置的nfc信标信号得到位置等。
87.术语表
88.该上下文中的“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字通信信号或模拟通信信号或者促进这些指令的通信的其他无形介质。可以经由网络接口设备利用传输介质并且利用多个公知的传输协议中的任何一种传输协议来通过网络发送或接收指令。
89.该上下文中的“客户端设备”是指与通信网络接口以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
90.该上下文中的“通信网络”是指网络的一个或更多个部分,网络可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电业务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
91.该上下文中的“短暂消息”是指可以在时间有限的持续时间内访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。可替选地,访问时间可以是默认设置或者由接收者指定的设置。无论设置技术如何,该消息都是暂时的。
92.该上下文中的“机器可读介质”是指能够临时或永久地存储指令和数据的部件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应当被认为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还应被认为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或更多个处理器执行时使机器执行本文中所描述的方法中的任何一种或更多种方法。因此,“机器可读介质”指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
93.该上下文中的“部件”是指具有由功能或子例程调用、分支点、应用程序接口(api)或者对特定处理或控制功能提供分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置成用于执行本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件进行配置,硬件部件就成为被独特地定制成执行所配置功能的特定机器(或机器的特定部件),而不再是通用处理器。将理解的是,可以出于成本和时间考虑来决定在专用且永久配置的电路中还是在临时配置(例如,由软件配置)的电路中机械地实现硬件部件。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器的情况下,可以在不同时间将该通用处理器分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地对一个或多个特定处理器进行配置以例如在一个时刻构成特定硬件部件,并且在不同的时刻构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过(例如,通过适当的电路和总线)在两个或更多个硬件部件之间或之中进行信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在与其通信地耦接的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。在本文中描述的示例方法的各种操作可以至少部分地由被(例如,通过软件)临时地配置或永久地配置成执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器或处理器实现的部件来执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(saas)操作。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)来执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,应用程序接口(api))来访问。操作中的某些操作的执行可以分布在处理器之间,不仅可以驻留在单个机器内,而且可以跨多个机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办
公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨多个地理位置分布。
94.该上下文中的“处理器”指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际的处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(cpu)、简化指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或其任何组合。处理器还可以是具有两个或更多个可以同时执行指令的独立处理器(有时称为“内核”)的多核处理器。
95.该上下文中的“时间戳”指的是标识某个事件何时发生的字符或编码信息的序列,例如,从而给出日期和一天中的时间,有时精确到几分之一秒。
96.该上下文中的“lift”是针对随机选择靶向模型测量的靶向模型在将案例预测或分类为(相对于整个群体)具有增强的响应的方面的性能的量度。
97.该上下文中的“音素对齐”,音素是区分一个词和另一个词的语音单位。一个音素可以由一系列闭合(closure)、突发(burst)和呼出(aspiration)事件组成;或者,双元音可以从后元音过渡到前元音。因此,语音信号不仅可以用它所包含的音素来描述,而且还可以用音素的位置来描述。因此,可以将音素对齐描述为波形中的音素的“时间对齐”以确定语音信号中的每个音素的适当序列和位置。
98.该上下文中的“音频向可视转换”是指将可听语音信号转换为可视语音,其中可视语音可以包括表示可听语音信号的嘴形。
99.该上下文中的“时间延迟神经网络(tdnn)”,tdnn是人工神经网络架构,其主要目的是对顺序数据进行处理。示例是将连续音频转换成分类音素标签流以用于语音识别。
100.该上下文中的“双向长短期记忆(blstm)”是指在任意间隔内记忆值的递归神经网络(rnn)架构。存储的值不会随学习的进行而被修改。rnn允许在神经元之间进行前向连接和后向连接。在给定未知大小的时滞和事件之间的持续时间的情况下,blstm非常适合于时间序列的分类、处理和预测。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献