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

自定义媒体叠加系统的制作方法

2023-10-08 16:04:10 来源:中国专利 TAG:

自定义媒体叠加系统
1.本技术是申请号为202080016257.x的中国专利申请“自定义媒体叠加系统”(申请日为2020年2月25日)的分案申请。
2.优先权
3.本技术要求于2020年2月21日提交的申请号为16/798,111的美国专利申请的优先权权益,该申请要求于2019年2月25日提交的申请号为62/810,085的美国专利申请的优先权权益,这些申请通过引用整体并入本文。


背景技术:

4.内容共享平台可从希望在用户设备(例如,移动设备、个人计算机等)之间共享媒体内容(诸如,音频、图像和视频)的用户接收数百万条消息。这些消息的媒体内容可与共同的地理位置、共同的时间段、共同的事件等相关联。通常,用户向他或她的社交网络中的用户发送消息并且可查看仅在他或她的社交网络中的用户的简档数据。
附图说明
5.附图中的各个附图仅示出了本公开的示例实施例并且不应被视为限制其范围。
6.图1是根据一些示例实施例的示出用于在网络上交换数据(例如,消息和相关联的内容)的示例联网系统的框图。
7.图2是根据一些示例实施例的示出关于消息传递系统的进一步细节的框图。
8.图3是根据一些示例实施例的示出可以存储在消息传递服务器系统的数据库中的数据的示意图。
9.图4是根据一些实施例的示出由消息传递客户端应用生成的用于通信的消息的结构的示意图。
10.图5是示出根据一些示例实施例的方法的方面的流程图。
11.图6-图14示出根据一些示例实施例的示例图形用户界面。
12.图15是示出根据一些示例实施例的方法的方面的流程图。
13.图16示出根据一些示例实施例的示例图形用户界面。
14.图17是示出根据一些示例实施例的可以安装在机器上的软件体系结构的示例的框图。
15.图18示出根据示例实施例的计算机系统形式的机器的图解表示,在该机器内可执行一组指令以使机器执行在此讨论的方法中的任何一个或多个方法。
具体实施方式
16.这里描述的系统和方法涉及自定义媒体叠加系统。例如,示例实施例允许用户为他或她的家创建自定义媒体叠加,当指定的朋友访问用户的家时,他们可以使用该自定义媒体叠加(例如,以增强由朋友捕获的图像或视频)。自定义媒体叠加可使用模板和创作工具来被自定义,并且可以根据用户需要随时更新。在一些示例中,模板、贴纸和其他创作内
容可以季节性更新(例如,冬天的雪屋插图,夏天的阳光主题,7月草坪上的美国国旗等)。用户还可以将自定义媒体叠加用于他们举办的一次性活动,如派对或游戏之夜。由于家是私人空间,有权限访问此类自定义媒体叠加的指定用户可限于与社交网络系统中的第一用户具有双向连接的用户(例如,朋友)。
17.例如,服务器系统(例如,消息传递系统中的服务器系统)接收生成与第一用户的家相对应的媒体叠加的请求。该请求可包括将要被包括在自定义媒体叠加中的媒体内容。例如,媒体内容可包括将要被包括在与第一用户的家相对应的自定义媒体叠加中的创作内容。服务器系统使用所接收的内容生成媒体叠加,并将第一用户的家的位置和对授予访问自定义媒体叠加的权限的用户的选择与自定义媒体叠加相关联。服务器系统存储自定义媒体叠加并允许当用户位于第一用户的家中或附近时通过对用户的选择来访问它。
18.例如,服务器系统接收与第二计算设备相对应的位置信息,确定与第二计算设备相对应的第二用户,并确定第二用户和第二计算设备的位置信息是否触发对所存储的自定义媒体叠加的访问。如果是,则服务器系统向第二计算设备提供自定义媒体叠加。然后,第二用户可以使用自定义媒体叠加来增强在第一用户家中捕获的图像或视频,并将被增强的图像或视频发送给其他用户。
19.图1是示出用于在网络上交换数据(例如,消息和相关联的内容)的联网系统100(例如,内容共享平台或消息传递系统)的框图。联网系统100包括多个客户端设备110,每个客户端设备托管多个客户端应用114。每个客户端应用114经由网络104通信地耦接到客户端应用114和服务器系统108的其他实例。
20.客户端设备110可以包括但不限于:移动电话、台式计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板电脑、超极本、上网本、膝上型笔记本、多处理器系统、基于微处理器或可编程的消费者电子系统、游戏机、机顶盒、车辆中的计算机、可穿戴设备、或用户可用来访问联网系统100的任何其他通信设备。在一些实施例中,客户端设备110可包括显示模块(未示出)以显示信息(例如,以用户界面的形式)。在进一步的实施例中,客户端设备110可包括以下中的一个或多个:触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(gps)设备等。
21.客户端设备110可以是用户的设备,其用于创建诸如视频、图像(例如照片)、音频和媒体叠加的媒体内容项并且向其他用户发送包含这些媒体内容项、文本、媒体叠加等的消息,以及从其他用户接收该消息。客户端设备110可以是用于创建和编辑媒体叠加、查看和生成交互式消息、查看地图上的其他用户等的用户设备。
22.一个或多个用户可以是人、机器或与客户端设备110交互的其他方式。在示例实施例中,用户可能不是系统100的一部分,而是可经由客户端设备110或其他方式与系统100交互。例如,用户可向客户端设备110提供输入(例如,触摸屏输入或字母数字输入),并且该输入可经由网络104被传送到系统100中的其他实体(例如,第三方服务器、服务器系统108等)。在这种情况下,系统100中的其他实体,响应于接收到来自用户的输入,可经由网络104向客户端设备110传送信息以呈现给用户。以此方式,用户可使用客户端设备110与系统100中的各种实体交互。
23.系统100还可包括网络104。网络104的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网
(wwan)、城域网(man)、互联网的一部分、公共交换电话网(pstn)的一部分、蜂窝电话网络、无线网络、wi-fi网络、wimax网络、另一种类型的网络,或两个或多个此类网络的组合。
24.客户端设备110可经由网络客户端(例如,浏览器,诸如由华盛顿州雷蒙德市的公司开发的internet 浏览器)或一个或多个客户端应用114访问由系统100中的其他实体提供的各种数据和应用程序。客户端设备110可包括一个或多个客户端应用114(也称为“应用程序”),例如但不限于网络浏览器、消息传递应用、电子邮件(email)应用、电子商务站点应用、地图或位置应用、媒体叠加应用、交互式消息传递应用等。
25.在一些实施例中,一个或多个客户端应用114可被包括在客户端设备110中的给定客户端设备中,并且被配置为本地提供用户界面和应用程序的至少一些功能,其中,客户端应用114被配置为根据需要与系统100中的其他实体(例如,第三方服务器、服务器系统108等)通信,用于本地不可用的数据和/或处理能力(例如,处理用户查询、验证用户身份、验证付款方式等)。相反,一个或多个客户端应用114可能不被包括在客户端设备110中,然后客户端设备110可使用其网络浏览器来访问被托管在系统100中的其他实体(例如,第三方服务器、服务器系统108等)中的一个或多个应用。
26.在一个示例中,客户端应用114可以是消息传递应用,其允许用户拍摄照片或视频、添加标题或以其他方式编辑照片或视频,然后将照片或视频发送给另一用户。在一个示例中,该消息可以是短暂的并且在查看之后或在预定时间量(例如,10秒、24小时等)之后从接收用户设备移除。短暂消息是指在限时持续时间内可访问的消息。短暂消息可以是文本、图像、视频和可以根据本文描述的实施例缝合或结合在一起的其他此类内容。短暂消息的访问时间可以由消息发送者设置。或者,访问时间可以是默认设置或由接收者指定的设置。无论设置技术如何,消息都是暂时的。
27.消息传递应用还可以允许用户创建图库或消息集合。图库可以是照片和视频的集合,该照片和视频的集合可由正在“关注”用户的图库的其他用户查看(例如,订阅以查看和接收用户图库中的更新)。在一个示例中,图库也可以是短暂的(例如,持续24小时,持续事件的持续时间(例如,在音乐会期间、体育赛事期间等),或持续另一个预定时间)。
28.短暂消息可与消息持续时间参数相关联,其值确定短暂消息将被客户端应用114显示给短暂消息的接收用户的时间量。短暂消息可进一步与消息接收者标识符和消息定时器相关联。消息定时器可负责确定向由消息接收者标识符标识的特定接收用户显示短暂消息的时间量。例如,短暂消息可以仅在由消息持续时间参数的值确定的时间段内显示给相关接收用户。
29.在另一个示例中,消息传递应用可允许用户存储照片和视频并创建不是短暂的并且可以被发送给其他用户的图库。例如,用户可将最近假期的照片和视频组合起来与朋友和家人分享。
30.在另一个示例中,消息传递应用可允许第一用户创建与第一用户的家相对应的媒体叠加。媒体叠加与第一用户的家的位置和对授予访问媒体叠加的权限的用户的选择相关联。当有权访问与第一用户的家相对应的媒体叠加的第二用户在第一用户的家中时,第二用户可访问媒体叠加以增强由第二用户的计算设备捕获的图像(例如,照片)或视频。第二用户可将由媒体叠加增强的图像或视频发送给一个或多个其他用户。
31.服务器系统108可经由网络104(例如,因特网或广域网(wan))向一个或多个客户
端设备110和/或一个或多个第三方服务器(未显示)提供服务器侧功能。服务器系统108可包括应用编程接口(api)服务器102、应用服务器112、消息传递应用服务器116、媒体内容处理系统118和社交网络系统122,它们可以相互通信耦接并且具有一个或多个数据存储器,例如一个或多个数据库120。
32.根据一些示例实施例,服务器系统108可以是云计算环境。在一个示例实施例中,服务器系统108以及与服务器系统108相关联的任何服务器可以与基于云的应用相关联。
33.一个或多个数据库120可以是存储设备,该存储设备存储信息,诸如未经处理的媒体内容、来自用户的原始媒体内容(例如,高质量媒体内容)、经处理的媒体内容(例如,被格式化以用于与客户端设备110共享并在客户端设备110上查看的媒体内容)、与媒体内容项相关的上下文数据、与用户设备(例如,计算或客户端设备110)相关的上下文数据、媒体叠加、媒体叠加智能小部件或智能元件,用户数据、用户设备信息、媒体内容(例如,视频和图像)、媒体内容数据(例如,与视频和图像相关联的数据)、计算设备上下文数据、经序列化的数据、会话数据项、用户设备位置数据、映射信息、机会模式数据、交互式消息使用数据、交互式消息度量数据等。一个或多个数据库120还可存储与第三方服务器、第三方应用、客户端设备110、客户端应用114、用户等相关的信息。
34.一个或多个数据库120可包括服务器系统108外部的基于云的存储(例如,由服务器系统108外部的一个或多个第三方实体托管)。虽然存储设备被示为数据库120,但是应当理解,系统100可访问诸如数据库120、blob存储和其他类型的存储方法的存储设备,并在其中存储数据。
35.系统100还可包括一个或多个第三方服务器(未示出)。一个或多个第三方服务器可包括一个或多个第三方应用。在第三方服务器上执行的一个或多个第三方应用可通过api服务器102经由api服务器102提供的编程接口与服务器系统108交互。例如,一个或多个第三方应用可通过api服务器102请求和利用来自服务器系统108的信息以支持第三方托管的网站或第三方托管的应用程序上的一个或多个功能或函数。例如,第三方网站或应用程序可提供由服务器系统108中的相关功能和数据支持的功能。
36.因此,每个客户端应用114能够经由网络104与其他客户端应用114以及与服务器系统108通信和交换数据。在客户端应用114之间以及在客户端应用114与服务器系统108之间交换的数据,包括函数(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
37.服务器系统108经由网络104向特定的客户端应用114提供服务器端功能。尽管在本文中将系统100的某些功能描述为由客户端应用114或由服务器系统108执行,但是应当理解,某些功能在客户端应用104或服务器系统108内的位置是设计选择。例如,在技术上优选地是首先在服务器系统108内部署某些技术和功能,然后将该技术和功能迁移到其中客户端设备110具有足够处理能力的客户端应用114。
38.服务器系统108支持提供给客户端应用114的各种服务和操作。此类操作包括向客户端应用114发送数据,从客户端应用114接收数据,以及处理由客户端应用114生成的数据。该数据可包括:例如,消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持久性条件、社交网络信息,现场事件信息、日期和时间戳、媒体内容(例如,视频和图像)、媒体内容数据(例如,与视频和图像相关的数据)、交互式消息使用数据和机会模式数
据。联网系统100中的数据交换通过经由客户端应用114的用户接口(ui)可用的函数来调用和控制。
39.在服务器系统108中,api服务器102耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器124,数据库服务器124促进对一个或多个数据库120的访问,数据库120中存储有与由应用服务器112处理的消息相关联的数据。
40.api服务器102在客户端设备110和应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,api服务器102提供可被客户端应用114调用或查询的一组接口(例如例程和协议),以便调用应用服务器112的功能。api服务器102公开由应用服务器112支持的各种功能,包括:账户注册;登录功能;经由应用服务器112从特定客户端应用114向另一客户端应用114发送消息;从客户端应用114向消息传递应用服务器116发送媒体文件(例如图像或视频),以供另一客户端应用114进行可能的访问;媒体数据集合(例如,图库、故事、消息集合、或媒体集合)的设置;此类集合的取得;客户端设备110的用户的好友列表的取得;消息和内容的取得;向社交图中添加好友和从社交图中删除好友;好友在社交图中的位置;打开应用事件(例如与客户端应用114有关);映射数据;媒体叠加的创建和生成等。
41.应用服务器112托管多个应用和子系统,包括消息传递应用服务器116、媒体内容处理系统118和社交网络系统122。消息传递应用服务器116实现多个消息处理技术和功能,其特别涉及包括在从客户端应用114的多个实例接收的消息中的内容(例如文本和多媒体内容)的聚合和其他处理。来自多个源的文本和媒体内容可以被聚合成内容的集合(例如被称为故事、图库、或媒体集合)。然后,消息传递应用服务器116使得这些集合对于客户端应用114可用。考虑到此类处理的硬件要求,消息传递应用服务器116还可以在服务器端对数据进行其他处理器和存储器密集型处理。
42.应用服务器112还包括媒体内容处理系统118,其专用于通常关于在消息传递应用服务器116处的消息的有效载荷内接收的图像或视频来执行各种媒体内容处理操作。媒体内容处理系统118可访问一个或多个数据存储装置(例如,数据库120)以取得所存储的数据以用于处理媒体内容并存储经处理的媒体内容的结果。
43.社交网络系统122支持各种社交网络功能和服务,并使这些功能和服务可用于消息传递应用服务器116。为此,社交网络系统122维护并访问数据库120内的实体图304(如图3所描述的)。社交网络系统122支持的功能和服务的示例包括识别特定用户与其具有关系或者特定用户“正在关注”的联网系统100的其他用户,以及还识别特定用户的其他实体和兴趣。社交网络系统122还维护机会模式地理围栏和与机会模式相关的用户位置的索引。
44.消息传递应用服务器116可负责在客户端设备110的用户之间生成和传递消息。消息传递应用服务器116可利用多个消息传递网络和平台中的任何一个来向用户传递消息。例如,消息传递应用服务器116可经由有线网络(例如,互联网)、老式电话服务(pots)或无线网络(例如,移动、蜂窝、wifi、长期演进(lte)或蓝牙),使用电子邮件(email)、即时消息(im)、短消息服务(sms)、文本、传真或语音(例如,网络语音电话业务(voip))消息来传递消息。
45.图2是示出根据示例实施例的关于系统100的更多细节的框图200。具体地,系统
200被示为包括消息传递客户端应用114和应用服务器112,它们又体现了多个子系统,即短暂定时器系统202、集合管理系统204、和注释系统206。
46.短暂定时器系统202负责对由消息传递客户端应用114和消息传递应用服务器116所允许的内容执行临时访问。为此,短暂定时器系统202并入了多个定时器,这些定时器基于与消息、消息集合(例如,本文中另外称为“媒体集合”、“图库”、“消息集合”、“故事”等)或机会模式中的聊天相关联的持续时间和显示参数,选择性地经由消息传递客户端应用114显示并启用对消息和相关联内容的访问。
47.集合管理系统204负责管理媒体的集合(例如,文本、图像视频和音频数据的集合)。在一些示例中,内容的集合(例如包括图像、视频、文本和音频的消息)可以被组织成“事件图库”或“事件故事”。这种集合可以在指定时间段(例如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可以在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责发布图标,该图标向消息传递客户端应用114的用户界面提供特定集合的存在的通知。
48.集合管理系统204还包括策展界面208,该策展界面208允许集合管理器管理和策展特定内容集合。例如,策展界面208使事件组织者能够策展与特定事件有关的内容的集合(例如删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,可对于将用户产生的内容包括进集合中向用户支付补偿(例如,与消息传递系统或第三方奖励系统相关联的金钱、非金钱信用或积分、旅行里程、对艺术品或专用镜头的访问等)。在这种情况下,策展界面208操作以自动向此类用户就使用其内容而支付费用。
49.注释系统206提供使用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与针对由联网系统100处理的消息产生和发布媒体叠加有关的功能。在一个示例中,注释系统206基于客户端设备110的地理位置向消息传递客户端应用114可操作地提供媒体叠加(例如,滤镜或媒体增强)。在另一个示例中,注释系统206基于其他信息(例如,客户端设备110的用户的社交网络信息)可操作地向消息传递客户端应用114提供媒体叠加。媒体叠加可包括音频和视觉内容及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画、和声音效果。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可以在客户端设备110处被应用于媒体内容项(例如,照片)。例如,媒体叠加包括可被叠加在由客户端设备110拍摄的照片之上的文本。在另一个示例中,媒体叠加包括位置叠加(例如威尼斯海滩)的标识、现场活动的名称、商家叠加的名称(例如海滩咖啡馆)、或用户的家的名称。在另一个示例中,注释系统206使用客户端设备110的地理位置来识别媒体叠加,该媒体叠加包括在客户端设备110的地理位置处的商家的名称。媒体叠加可以包括与商家相关联的其他标记。媒体叠加可被存储在数据库120中并且可以通过数据库服务器124来访问。
50.注释系统206可进一步例如通过将一个或多个媒体内容项添加到交互式消息(如下面进一步详细描述的)使用户能够与交互式消息交互。在一个示例实施例中,注释系统206提供允许用户或商家创建交互式消息的发布平台,该交互式消息具有与用户可针对其添加个人内容的与交互式消息相关联的多个对象。例如,设计师可以为摇滚乐队的不同成员(鼓手、键盘手、吉他手等)创建带有各种交互对象的摇滚乐队视频。摇滚乐队的视频可以
作为交互式消息使得用户可获得。
51.在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置并上载与所选地理位置相关联的内容。用户还可指定在什么情况下应将特定媒体叠加提供给其他用户。注释系统206生成包括所上载内容的媒体叠加,并将所上载内容与所选地理位置相关联。
52.在另一个示例实施例中,注释系统206提供基于商家的发布平台,该平台使商家能够经由投标过程来选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定的时间量内将出价最高的商家的媒体叠加与对应的地理位置相关联。
53.图3是示出根据某些示例实施例的可存储在服务器系统108的数据库120中的数据的示意图300。尽管数据库120的内容被示出为包括多个表,但是应当理解,数据可以以其他类型的数据结构(例如作为面向对象的数据库)来存储。
54.数据库120包括存储在消息表314中的消息数据。实体表302存储包括实体图304的实体数据。在实体表302中为其维护记录的实体可包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,服务器系统108所存储的数据有关的任何实体都可以是公认的实体。每个实体具有唯一的标识符以及实体类型标识符(未示出)。
55.实体图304还存储关于实体之间的关系和关联的信息。仅作为示例,此类关系可以是社交的、专业的(例如在同一家公司或组织中工作)、基于兴趣的或基于活动的。
56.数据库120还在注释表312中以媒体叠加或滤镜的示例形式存储注释数据。注释数据在本文中还可被称为“创作工具”或“交互特征”。注释数据可包括要提供给用户的预定义的交互消息。
57.针对其数据被存储在注释表312中的媒体叠加或滤镜与视频(针对其数据被存储在视频表310中)和/或图像(针对其数据被存储在图像表308中)相关联并且被应用于该视频和/或图像。在一个示例中,滤镜是在向接收方用户呈现的过程中被显示为叠加在图像或视频上的叠加。滤镜可以是各种类型的,包括当发送方用户正在编写消息时,来自由消息传递客户端应用114向发送方用户呈现的滤镜库中的用户选择的滤镜。其他类型的滤镜包括可基于地理位置呈现给发送方用户的地理位置滤镜(也称为“地理滤镜”)。例如,基于由客户端设备110的gps单元所确定的地理位置信息,消息传递客户端应用114可在用户接口内呈现特定于邻居或特定位置的地理位置滤镜。另一类型的滤镜是数据滤镜,它可基于在消息创建过程期间由客户端设备110收集的其他输入或信息,由消息传递客户端应用114选择性地将其呈现给发送方用户。数据滤镜的示例包括特定位置处的当前温度、发送方用户正在行进的当前速度、客户端设备110的电池寿命或当前时间。
58.可存储在注释表312内的其他注释数据是所谓的“镜头”数据。“镜头”可以是可添加到图像或视频中的实时的特殊效果和声音。
59.如上所述,视频表310存储视频数据,在一个实施例中,该视频数据与在消息表314内为其维护记录的消息相关联。类似地,图像表308存储与消息相关联的图像数据,其中,在消息表314内为该消息存储消息数据。实体表302可将来自注释表312的各种注释与存储在图像表308和视频表310中的各种图像和视频相关联。
60.故事表306存储与消息以及相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成一个集合(例如,故事、图库、或媒体集合)。特定集合的创建可以由特定用
户(例如在实体表302中为其维护记录的任意用户)发起。用户可以以该用户已经创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息传递客户端应用114的用户接口可包括用户可选择的图标,以使发送方用户能够将特定内容添加到他或她的个人故事中。
61.媒体或消息集合还可构成“现场故事”,它是来自多个用户的内容的集合,该内容的集合是手动、自动或使用手动和自动技术的组合创建的。例如,“现场故事”可从各种位置和事件组成用户提交的内容的策展流。例如,可以经由消息传递客户端应用114的用户接口向其客户端设备110启用了位置服务并且在特定时间处在共同事件位置的用户呈现选项,以向特定的现场故事贡献内容。现场故事可由消息传递客户端应用114基于他或她的位置识别给用户。最终的结果是从社区角度讲的“现场故事”。
62.另一类型的内容集合被称为“位置故事”,其使得其客户端设备110位于特定地理位置内(例如在学院或大学校园内)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要二级认证,以验证最终用户属于特定组织或其他实体(例如是大学校园中的学生)。
63.图4是示出根据一些实施例的消息400的结构的示意图,该消息400由客户端应用114生成以用于与另一客户端应用114或消息传递应用服务器116进行通信。特定消息400的内容被用于填充消息传递应用服务器116可访问的、存储在数据库120中的消息表314。类似地,消息400的内容被存储在存储器中,作为客户端设备110或应用服务器112的“传输中(in-transit)”或“运行中(in-flight)”数据。消息400被示为包括以下成分:
64.·
消息标识符402:识别消息400的唯一标识符。
65.·
消息文本有效载荷404:将由用户通过客户端设备110的用户界面生成的并被包括在消息400中的文本。
66.·
消息图像有效载荷406:由客户端设备110的相机组件采集或从客户端设备110的存储器中取得的并被包括在消息400中的图像数据。
67.·
消息视频有效载荷408:由相机组件采集的或从客户端设备110的存储器组件中取得的并被包括在消息400中的视频数据。
68.·
消息音频有效载荷410:由麦克风采集的或从客户端设备110的存储器组件中取得的并被包括在消息400中的音频数据。
69.·
消息注释412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的注释的注释数据(例如,媒体叠加,诸如,滤镜、贴纸(sticker)或其他增强功能)。
70.·
消息持续时间参数414:以秒为单位指示消息400的内容(例如消息图像有效载荷406、消息视频有效载荷408,消息音频有效载荷410)要经由消息传递客户端应用114呈现给用户或使用户可以访问的时间量的参数值。
71.·
消息地理位置参数416:与消息400的内容有效载荷相关联的地理位置数据(例如纬度和经度坐标)。多个消息地理位置参数416值可被包括在有效载荷中,这些参数值中的每一个都与内容中包括的相应的内容项相关联(例如消息图像有效载荷406内的特定图像、或消息视频有效载荷408中的特定视频)。
72.·
消息故事标识符418:标识符值,该值标识与消息400的消息图像有效载荷406中的特定内容项相关联的一个或多个内容集合(例如“故事”)。例如,消息图像有效载荷406内
的多个图像可各自使用标识符值与多个内容集合相关联。
73.·
消息标记420:每个消息400可被标记有多个标记,每个标记指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷406中包括的特定图像描绘了动物(例如狮子)的情况下,可以在消息标记420内包括指示相关动物的标记值。标记值可基于用户输入手动生成,或者可使用例如图像识别自动生成。
74.·
消息发送方标识符422:指示在其上生成消息400并且从其发送消息400的客户端设备110的用户的标识符(例如消息传递系统标识符、电子邮件地址,或设备标识符)。
75.·
消息接收方标识符424:指示消息400被寻址到的客户端设备110的用户的标识符(例如消息传递系统标识符、电子邮件地址、或设备标识符)。
76.消息400的各个成分的内容(例如值)可以是指向在存储内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表308中的位置的指针(或地址)。类似地,消息视频有效载荷408中的值可指向视频表310中存储的数据,消息注释412中存储的值可指向注释表312中存储的数据,消息故事标识符418中存储的值可指向故事表306中存储的数据,以及消息发送方标识符422和消息接收方标识符424中存储的值可指向实体表302中存储的用户记录。
77.图5是示出根据一些示例实施例的用于自定义媒体叠加系统的方法500的方面的流程图。出于说明的目的,方法500是关于图1的联网系统100来描述的。应当理解,在其他实施例中可以用其他系统配置来实践方法500。
78.在操作502中,服务器系统(例如,服务器系统108、应用服务器112、媒体内容处理系统118等)从第一计算设备接收生成与第一用户的家相对应的媒体叠加(在此也被称为“家媒体叠加”或“自定义媒体叠加”)的请求。在一个示例中,该请求包括将要被包括在媒体叠加中的媒体内容。例如,媒体内容可包括具有与第一用户的家相关的图形的创作、与该用户相对应的表情符号或头像、与当前位于第一用户的家中的另一用户相对应的表情符号或头像、与第一用户的宠物相对应的图形等。
79.例如,第一用户可能正在使用第一计算设备上的消息传递应用,并且可能希望为其家创建媒体叠加,以便每当他的任何朋友或家人来访时,朋友或家人都可以访问针对他家的媒体叠加以用于增强由他们自己的个人计算设备生成的图像或视频。例如,朋友或家人可能希望向一个或多个其他用户发送消息,表明他们正在“扎克家”聚会。该消息可包括由第一用户(扎克)家的媒体叠加增强的图像或视频。
80.在一个示例中,第一用户经由第一计算设备访问消息传递应用以选择创建家媒体叠加(例如,滤镜)。例如,第一计算设备提供并显示一个或多个图形用户界面以允许第一用户创建家媒体叠加,如图6所示。图6示出了显示在计算设备上的示例图形用户界面(gui)600,其允许用户通过“创建家媒体叠加”按钮602创建媒体叠加。
81.在选择按钮602时,第一用户访问与创建家媒体叠加相关的另一功能,如图7所示。图7示出了几个gui 702-706,其可以被提供给计算设备并由计算设备显示以访问与创建家媒体叠加相关的功能。例如,gui 702允许用户生成家媒体叠加,gui 704允许用户与朋友共享家媒体叠加,并且gui 706允许用户改变媒体叠加和相关设置。
82.在gui 702中选择创建家媒体叠加后,计算设备显示多个模板供用户选择以开始创建家媒体叠加,或显示从头开始创建家媒体叠加的选项。图8示出了示例gui 800,其可以
被提供给计算设备并由计算设备显示以允许用户从多个模板804-808中选择模板,或选择选项802以从头开始创建家媒体叠加。如果用户选择模板804-808中的一个,则计算设备(或服务器系统)接收对多个模板中的一个模板的选择并且使得显示该一个模板并可选地显示用于编辑该一个模板的创作工具。
83.图9示出了可以由计算设备提供和显示以允许用户创建家媒体叠加的示例gui 900。例如,gui 900示出家媒体叠加部分902(在一个示例中其可包括模板)和示例背景图像904以说明家媒体叠加在增强图像(或视频)时将如何出现。gui 900还包括一组用于创建媒体叠加的创作工具906。在一个示例中,创作工具包括用于在媒体叠加中添加或编辑文本的文本工具、用于擦除或移除媒体叠加的部分的橡皮擦工具、用于将一个或多个贴纸添加到媒体叠加的贴纸工具、用于更改媒体叠加的配色方案的配色工具、用于创建或添加表情符号或头像到媒体叠加的表情符号或头像工具,等等。
84.在用户完成了家媒体叠加的创建之后,他可以保存和发布媒体叠加。计算设备将针对媒体叠加的媒体内容发送到服务器系统。如上所述,媒体内容可包括具有与第一用户的家相关的图形的创作、与用户相对应的表情符号或化身、与当前位于第一用户的家中的另一用户相对应的表情符号或化身、与第一用户的宠物相对应的图形,等等。在一个示例中,媒体内容包括具有使用创作工具进行的任何编辑的模板。
85.服务器系统从计算设备接收媒体内容(例如,作为如上所述生成与第一用户的家相对应的媒体叠加的请求的一部分)并且使用所接收的媒体内容生成与第一用户的家相对应的媒体叠加,如图5的操作504所示。在一个示例中,服务器系统将媒体叠加的层展平为单个图像文件并存储在一个或多个数据存储(例如,数据库120)中以用于服务或提供给客户端(例如,客户端设备110)。例如,用户可能已经选择了一个模板并向模板添加了一个或多个贴纸和文本。客户端设备110将图形的标识符(例如,模板标识符、贴纸标识符等)、贴纸在模板上的位置、文本样式等发送到服务器系统。服务器系统获取所有这些信息,并用收缩在一起的所有内容来渲染单个图像。在一个示例中,由客户端设备110执行渲染或展平成单个图像,并且客户端设备110将展平或渲染的图像发送到服务器系统以从服务器系统存储和服务。
86.在操作506中,服务器系统确定第一用户的家的位置。在一个示例中,服务器系统基于与第一计算设备相对应的位置信息确定第一用户的家的位置。例如,服务器系统可从第一计算设备接收位置信息(例如,通过全球定位系统(gps)或类似技术确定的地理坐标)(例如,作为生成媒体叠加的请求的一部分或与该请求分开)。当被授权的用户在家的位置中或在家的位置附近时,家的位置用于触发对家媒体叠加的访问。
87.在另一个示例中,服务器系统基于位置数据确定第一用户的家的位置,该位置数据指示用户(例如,用户的计算设备)过夜的最常见位置或在一日中的人们通常在家时的其他时间期间的最常见位置。服务器系统可以使该位置显示给用户以供用户选择家的位置。
88.在一个示例中,可以基于指示所选择的位置实际上是用户的家的位置数据,将置信度分数分配给用户为其家选择的位置。指示所选位置实际上是用户家的数据可包括一日中在所选位置花费的小时数、一日中在所选位置花费的时间(例如,过夜)、地图数据等。例如,如果用户没有在所选位置度过阈值数量的夜晚,则置信度分数可能低于如果用户在所选位置至少花费阈值数量的夜晚。
89.置信度分数可用于各种场景。例如,如果第二用户报告滥用,指示该位置实际上是第二用户的家(而不是第一用户的家),则服务器系统可以确定是否需要逐步增强此类报告。在另一个示例中,置信度分数可用于消息传递中的其他功能,以确定是否自动填充用户的家庭地址或位置详细信息。
90.图10示出了示例gui 1000,其中用户可以设置他的家媒体叠加的位置。在一个示例中,计算设备基于gps或类似技术自动检测用户的位置并显示用户(例如,计算设备)当前位置的指示符1002(或基于如上所述的位置数据)。这个位置可以被用户用来设置为家的位置,或者用户可以将指示符1002移动到不同的位置(或移动指示符下方的地图,直到指示符显示在正确的位置),或使用搜索框1004搜索不同的位置。用户可以通过例如选择继续按钮1006来保存位置。
91.在一个示例中,用户家的位置可仅在指定时间段(例如,15天、30天、2个月)之后改变。例如,指定时间段可以是30天并且可以向用户显示如图11所示的gui 1100以警告用户指定时间段。如果用户在指定时间段过去之前试图改变他家的位置,则向用户显示诸如图12的gui 1200中所示的消息。家的位置可以被更新之前的剩余天数可以根据上次更改日期计算。例如,如果上次更改家的位置是在3月1日,则该位置要到3月30日才能更新。
92.返回到图5,在操作508中,服务器系统接收对授予访问与第一用户的家相对应的媒体叠加的权限的用户的选择。在一个示例中,对授予访问媒体叠加的权限的用户的选择包括与社交网络系统中的第一用户具有双向连接的用户。
93.图13示出了用于家媒体叠加设置的示例gui 1300。在gui 1300中,显示由用户创建的家媒体叠加的缩略图1302。用户可以选择缩略图来编辑或改变家媒体叠加。家媒体叠加的位置1304也被显示在gui 1300中。用户可选择位置1304来改变家媒体叠加的位置。gui 1300还允许用户启用他的家媒体叠加的选项1308。用户还可以通过选择一个或多个选项1306来选择谁可以访问用户的家媒体叠加。用户对一个或多个选项1306的选择指示对授予访问媒体叠加的权限的用户的选择。如上所述,在一个示例中,这可能仅包括在社交网络系统中与用户具有双向连接的用户(例如,其中用户和另一用户已将彼此指定为朋友)。
94.在图13所示的示例中,用户可以选择“我的朋友”来选择用户的所有朋友。在该示例中,用户还可以选择“我的朋友,除了
……”
,这将允许用户生成不被允许访问家媒体叠加的朋友列表(例如,黑名单)。用户还可以选择“仅我”来将家媒体叠加设为私有,这样除了用户之外没有其他人可以访问或使用家媒体叠加。用户还可以选择特定的朋友(例如,“仅这些朋友
……”
),这将允许用户选择特定的朋友,如图14的gui 1400所示。在用户选择了向其授予访问与第一用户的家相对应的媒体叠加的权限的用户之后,计算设备接收选择并将选择发送到服务器系统。
95.在另一个示例中,服务器系统在社交网络系统中使用与第一用户具有双向连接的用户的默认选择。在该示例中,用户无需进行任何选择,服务器系统会基于社交网络系统中的与第一用户具有双向连接的那些用户来自动确定向哪些用户授予访问与第一用户的家相对应的媒体叠加的权限。服务器系统将在社交网络系统中与第一用户具有双向连接的用户与媒体叠加相关联并且存储与媒体叠加的关联(例如,作为如下所述的针对媒体叠加的触发器)。
96.返回图5,在操作510中,服务器系统将第一用户的家的位置和对授予访问与第一
用户的家相对应的媒体叠加的权限的用户的选择与媒体叠加相关联。在操作512中,服务器系统(例如,在一个或多个数据库120中)存储媒体叠加和第一用户的家的相关联位置以及对用户的选择。例如,第一用户的家的位置和对用户的选择被存储为针对何时媒体叠加可被访问或使得计算设备可用(例如,当所选择的用户位于该第一用户的家中时)的触发器。在媒体叠加被启用之后,当计算设备的位置和与计算设备相关联的用户匹配针对媒体叠加的触发器时,可以向计算设备提供媒体叠加。
97.图15是示出根据一些示例实施例的用于自定义媒体叠加系统的方法1500的方面的流程图。为了说明的目的,方法1500是关于图1的联网系统100来描述的。应当理解,在其他实施例中可以用其他系统配置来实践方法1500。
98.在操作1502中,服务器系统(例如,服务器系统108、应用服务器112、媒体内容处理系统118等)接收与第二计算设备的位置相对应的位置信息。例如,第二用户可能正在访问第一用户的家并且正在使用第二计算设备。第二计算设备(例如,通过gps或其他技术)确定位置并将位置信息发送到服务器系统。
99.在操作1504中,服务器系统确定与第二计算设备相对应的第二用户。例如,第二计算设备可发送用户名或其他(例如,通过计算设备标识符、登录信息等)标识用户的信息。服务器系统接收标识用户的信息以确定第二用户。
100.在操作1506中,服务器系统确定第二用户和与第二计算设备相对应的位置信息是否触发对与第一用户的家相对应的媒体叠加的访问。例如,服务器系统确定位置信息是否与第一用户的家的位置匹配。例如,服务器系统确定位置信息是否与第一用户的家的地址匹配,或者位置信息是否落在第一用户的家的位置的预定半径范围内(例如,10米半径,50米半径等)。服务器系统确定第二用户(例如,第二用户的姓名或唯一标识符)是否与对授予访问与用户的家相对应的媒体叠加的权限的用户的选择中的用户中的一个匹配。如果第二用户和位置信息没有触发媒体叠加(例如,第二用户在对用户的选择中没有匹配到用户,并且位置信息不在第一用户家的位置内),则方法1500在操作610处结束。如果第二用户和位置信息确实触发了媒体叠加(例如,第二用户确实在对用户的选择中匹配了用户并且位置信息确实落在第一用户的家的位置内),则方法1500继续到操作1508。
101.在操作1508中,服务器系统基于确定第二用户和与第二计算设备相对应的位置信息触发对媒体叠加的访问,将与第一用户的家相对应的媒体叠加提供给第二计算设备。例如,服务器系统取得所存储的媒体叠加并将媒体叠加发送到第二计算设备。第二计算设备接收媒体叠加并在第二计算设备上的gui中显示媒体叠加或选择媒体叠加的选项。
102.在一个示例中,计算设备或服务器系统检测所选择的用户何时在第一用户的家附近(例如,在预定距离内,诸如一百米、几百米等)并且可以预先在所选择的用户的计算设备上预加载(例如,下载)针对第一用户家的家媒体叠加,以便在所选择的用户到达第一用户家时可用。
103.提供给第二计算设备的媒体叠加用于增强由第二计算设备捕获的图像或视频。例如,第二用户可能正在使用第二计算设备的相机来在第二计算设备上捕获图像(例如,照片)或视频。第二用户选择由服务器系统提供的媒体叠加。第二计算设备接收对媒体叠加的选择并且在计算设备的相机正在捕获或已捕获的图像或视频之上显示媒体叠加。第二用户然后可以将由媒体叠加增强的图像或视频发送给另一个用户。图16示出了具有由媒体叠加
1604增强的图像1602的示例gui 1600。
104.第二计算设备向服务器系统发送由媒体叠加增强的图像或视频。服务器系统接收由媒体叠加增强的图像或视频并将由媒体叠加增强的图像或视频(例如,作为消息)发送到至少第三计算设备。通过这种方式,位于第一用户家中的被授权的用户可以访问和使用与第一用户的家相对应的媒体叠加。
105.在一个示例中,可以基于与用户相关的上下文或用户的家的位置来自动更新与用户的家相对应的媒体叠加。上下文可对应于一天中的时间、一年中的时间、家中位置的天气条件、用户的行为或活动、家中其他用户的存在、家中的事件等等。例如,所存储的媒体叠加可能处于夏季白天的上下文中,其中仅用户被表示在媒体叠加中(例如,作为表情符号或化身)。在一个示例中,服务器系统检测从第一上下文到第二上下文的变化。例如,服务器系统可确定现在是夜间而不是白天。服务器系统可自动修改媒体叠加以反映在用户家的位置处是夜间。例如,媒体叠加可被修改为显示星星或月亮,或者家里的灯亮着。在另一个示例中,媒体叠加可被修改以显示穿着睡衣的用户头像。如上所述,服务器系统存储所修改的媒体叠加并且当所选择的用户在用户家中时将所修改的媒体叠加提供给所选择的用户的计算设备。在一个示例中,上下文对应于:与第一用户相对应的活动(例如,起床、吃早餐、准备上学或工作、吃午餐、吃晚餐、睡觉等)、第一用户的家的位置的天气状况(例如,晴天、下雪、刮风、下雨、多云等)、事件(例如,聚会或游戏之夜)、位于家中的多个用户(例如,代表兄弟、朋友、母亲、女儿等的化身),等等。以这种方式,可以基于与用户或家相对应的上下文来自动更新家叠加。
106.在一个示例中,计算系统允许用户针对不适当的内容标记或报告与用户的家相对应的媒体叠加。例如,用户可以报告媒体叠加包含裸露或色情内容;骚扰或仇恨言论;威胁、暴力或有关内容;表明用户是他/她以外的人的内容;或其他原因。
107.图17是说明软件体系结构1702的框图1700,其可以安装在上述设备中的任何一个或多个设备上。例如,在各种实施例中,客户端设备110、服务器系统102、112、116、118、122和124可以使用软件体系结构1702的一些或全部元素来实现。图17仅仅是软件体系结构的非限制性示例,并且将理解可以实现许多其它体系结构来促进在此所述的功能。在各种实施例中,软件体系结构1702由诸如图18的机器1800的硬件来实现,机器1800包括处理器1810、存储器1830和i/o组件1850。在该示例中,软件体系结构1702可以被概念化为层的堆栈,其中每一个层可以提供特定的功能。例如,软件体系结构1702包括诸如操作系统1704、库1706、框架1708和应用1710的层。操作上,根据一些实施例,应用1710通过软件堆栈调用api调用1712,并响应于api调用1712接收消息1714。
108.在各种实施方式中,操作系统1704管理硬件资源并提供公共服务。操作系统1704包括例如内核1720、服务1722和驱动器1724。根据一些实施例,内核1720作为硬件与其它软件层之间的抽象层。例如,内核1720提供了其它功能中的存储器管理、处理器管理(例如调度)、组件管理、网络连接和安全设置。服务1722可以为其它软件层提供其它公共服务。根据一些实施例,驱动器1724负责控制底层硬件或与底层硬件接口连接。例如,驱动器1724可以包括显示器驱动器、相机驱动器、驱动器或驱动器或低功耗驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
109.在一些实施例中,库1706提供由应用1710利用的低级通用基础设施。库1706可以包括系统库1730(例如,c标准库),其可以提供诸如存储器分配函数、字符串操作函数、数学函数等的函数。此外,库1706可以包括api库1732,诸如媒体库(例如,支持各种媒体格式(诸如运动图像专家组-4(mpeg4)、高级视频编码(h.264或avc)、运动图像专家组层-3(mp3)、高级音频编码(aac)、自适应多速率(amr)音频编解码器、联合图像专家组(jpeg或jpg)或便携式网络图形(png))的呈现和操纵的库)、图形库(例如,用于在显示器上的图形内容中呈现二维(2d)和三维(3d)的opengl框架)、数据库库(例如,提供各种关系数据库功能的sqlite)、web库(例如,提供网页浏览功能的webkit)等。库1706同样可以包括各种各样的其它库1734,以向应用1710提供许多其它api。
110.根据一些实施例,框架1708提供可由应用1710利用的高级公共基础架构。例如,框架1708提供各种图形用户界面(gui)功能、高级别资源管理、高级位置服务等。框架1708可以提供可由应用1710利用的广泛范围的其它api,其中的一些可以特定于特定操作系统1704或平台。
111.在示例实施例中,应用1710包括主页应用1750、联系人应用1752、浏览器应用1754、书籍阅读器应用1756、位置应用1758、媒体应用1760、消息传递应用1762、游戏应用1764以及诸如第三方应用1766的广泛分类的其它应用。根据一些实施例,应用1710是执行程序中定义的功能的程序。可以利用各种编程语言来创建以各种方式构造的应用1710中的一个或多个,诸如面向对象的编程语言(例如,objective-c、java或c )或过程编程语言(例如,c或汇编语言)。在具体示例中,第三方应用1766(例如,由除了特定平台的供应商之外的实体使用androidtm或iostm软件开发工具包(sdk)开发的应用)可以是在移动操作系统(诸如iostm、androidtm、phone或其它移动操作系统)上运行的移动软件。在该示例中,第三方应用1766可以调用由操作系统1704提供的api调用1712以便于执行在此描述的功能。
112.一些实施例可特别地包括媒体叠加应用1767。在某些实施例中,这可以是独立的应用,其操作以管理与服务器系统(诸如第三方服务器或服务器系统108)的通信。在其他实施例中,该功能可以与另一个应用(例如,消息传递应用1762)集成。媒体叠加应用1767可请求和显示与消息传递、媒体内容、媒体集合、媒体叠加、映射、机会模式等相关的各种数据,并且可以为用户提供经由触摸界面,经由键盘,或使用机器1800的相机设备输入与系统相关的数据,经由i/o组件1850与服务器系统通信,以及在存储器1830中接收和存储对象数据的能力。信息的呈现和与信息相关联的用户输入可以由媒体叠加应用1767使用不同的框架1708、库1706元素或在机器1800上运行的操作系统1704元素来管理。
113.图18是示出根据一些实施例能够从机器可读介质(例如,非暂态机器可读存储介质)读取指令并执行在此讨论的方法中的任何一个或多个的机器1800的组件的框图。具体地,图18示出了以计算机系统的示例形式的机器1800的图示表示,在该计算机系统内可以执行用于使机器1800执行在此讨论的方法中的任何一个或多个的指令1816(例如,软件、程序、应用、小程序、应用程序或其它可执行代码)。在替代实施例中,机器1800作为独立装置操作或者可以耦接(例如,网络连接)到其它机器。在联网部署中,机器1800可以以服务器-客户端网络环境中的服务器机器102、112、116、118、122、124等,或客户端设备110的能力操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器1800可以包括但不限于服
务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能手机、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器、或者指定机器1800将采取的动作的能够连续或以其它方式执行指令1816的任何机器。此外,虽然只示出单个机器1800,但是术语“机器”同样可被认为包括单独或联合执行指令1816以执行在此所讨论的方法中的任何一个或多个的机器1800的集合。
114.在各种实施例中,机器1800包括处理器1810、存储器1830以及可被配置成经由总线1802彼此通信的i/o组件1850。在示例实施例中,处理器1810(例如,中央处理单元(cpu)、简化指令集计算(risc)处理器、复合指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、另一个处理器或其任何合适的组合)包括例如可以执行指令1816的处理器1812和处理器1814。术语“处理器”旨在包括多核处理器1810,该多核处理器1810可以包括可以同时执行指令1816的两个或更多个独立处理器1812、1814(同样称为“核”)。尽管图18示出了多个处理器1810,但是机器1800可以包括单个具有单核的处理器1810、单个具有多核的处理器1810(例如,多核处理器1810)、多个具有单核的处理器1812、1814、多个具有多核的处理器1812、1814或其任何组合。
115.根据一些实施例,存储器1830包括主存储器1832、静态存储器1834和经由总线1802可被处理器1810访问的存储单元1836。存储单元1836可以包括机器可读存储介质1818,在该机器可读存储介质1818上存储了体现在此所述的方法或功能中的任何一个或多个的指令1816。指令1816同样可以在由机器1800对其的执行期间完全或至少部分地驻留在主存储器1832内、静态存储器1834内、处理器1810中的至少一个内(例如,在处理器的高速缓冲存储器内)或它们的任何合适的组合内。因此,在各种实施例中,主存储器1832、静态存储器1834和处理器1810被认为是机器可读介质1818。
116.如在此所使用的,术语“存储器”是指能够临时或永久地存储数据的机器可读介质1818,并且可以认为包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓存、闪存和高速缓存。虽然机器可读介质1818在示例实施例中被示出为单个存储介质,但术语“机器可读介质”应当被认为包括能够存储指令1816的单个存储介质或多个存储介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”同样可被视为包括能够存储指令(例如,指令1816)用于由机器(例如,机器1800)执行的任何存储介质或多个存储介质的组合,使得指令在由机器1800的处理器(例如,处理器1810)执行时使机器1800执行在此描述的方法中的任何一个或多个。因此,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”可被视为包括但不限于以固态存储器(例如,闪存)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只读存储器(eprom))或其任何合适的组合的形式的一个或多个数据存储库。术语“机器可读介质”明确地排除非法定信号本身。
117.i/o组件1850包括用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的各种各样的组件。通常,可理解的是i/o组件1850可以包括图18中未示出的许多其它组件。i/o组件1850根据功能被分组,仅用于简化以下讨论,并且分组决不是限制性的。在各种示例实施例中,i/o组件1850包括输出组件1852和输入组件1854。输出组件1852包括视觉组件(例如,显示器,诸如等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器
(lcd)、投影仪或阴极射线管(crt))、听觉组件(例如扬声器)、触觉组件(例如振动电动机)、其它信号发生器等。输入组件1854包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指向仪器)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其它触知输入组件)、音频输入组件(例如,麦克风)等。
118.在一些另外的示例实施例中,i/o组件1850包括各种其它组件中的生物特征组件1856、运动组件1858、环境组件1860或位置组件1862。例如,生物特征组件1856包括检测表达(例如手部表达、面部表情、声音表达、身体姿势或视线跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1858包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件1860包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器、用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。位置组件1862包括位置传感器组件(例如,全球定位系统(gps)接收器组件)、高度传感器组件(例如,高度计或气压计,其可以检测可以从哪个高度导出的空气压力)、取向传感器组件(例如,磁力计)等。
119.通信可以使用各种各样的技术来实现。i/o组件1850可以包括通信组件1864,其可操作以分别经由耦接器1882和耦接器1872将机器1800耦接到网络1880或装置1870。例如,通信组件1864包括网络接口组件或与网络1880接口连接的另一合适装置。在另外的示例中,通信组件1864包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如,低能耗)、组件和经由其它形态提供通信的其它通信组件。装置1870可以是另一机器1800或各种各样的外围装置(例如,经由通用串行总线(usb)耦接的外围装置)中的任何一个。
120.此外,在一些实施例中,通信组件1864检测标识符或包括可操作以检测标识符的组件。例如,通信组件1864包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(upc)条形码的一维条形码、诸如快速响应(qr)码、aztec码、数据矩阵、数字图形、最大码、pdf417、超码、统一商业代码缩减空格符号(ucc rss)-2d条形码的多维条形码和其它光学代码)、声学检测组件(例如,用于识别标记的音频信号的麦克风)或其任何合适的组合。此外,可以经由可以指示特定位置的通信组件1864来得到各种信息,诸如经由因特网协议(ip)地理位置的位置、经由定位置的通信组件1864来得到各种信息,诸如经由因特网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测或nfc信标信号的位置等。
121.在各种示例实施例中,网络1880的一个或多个部分可以是自组织网络、内联网、外部网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务
(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个或更多个此类网络的组合。例如,网络1880或网络1880的一部分可以包括无线或蜂窝网络,并且耦接1882可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一种类型的蜂窝或无线耦接。在该示例中,耦接1882可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线业务(gprs)技术、gsm演进增强型数据速率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动通信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。
122.在示例实施例中,经由网络接口装置(例如,在通信组件1864中包括的网络接口组件)使用传输介质通过网络1880发送或接收指令1816,并且利用多个公知的传输协议(例如,超文本传输协议(http))中的任何一个。类似地,在其它示例实施例中,使用传输介质经由耦接1872(例如,对等耦接)向装置1870发送或接收指令1816。术语“传输介质”可被视为包括能够存储、编码或携带由机器1800执行的指令1816的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于这种软件的通信实现。
123.此外,机器可读介质1818是非暂态的(换句话说,不具有任何暂态信号)因为它不体现传播信号。然而,将机器可读介质1818标记为“非暂态”不应该被解释为表示介质不能够移动;机器可读介质1818应该被认为是可从一个物理位置移动到另一个物理位置。另外,由于机器可读介质1818是有形的,因此机器可读介质1818可以被认为是机器可读装置。
124.在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然将一个或多个方法的单独操作示出和描述为单独的操作,但可以并行地执行单独的操作中一个或多个,并且不需要以所示顺序执行操作。作为示例配置中的单独组件呈现的结构和功能可以被实现为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为分离的多个组件。这些和其它变化、修改、添加和改进落入本文主题的范围内。
125.虽然已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更广泛范围的情况下,可以对这些实施例进行各种修改和改变。
126.在此示出的实施例足够详细地描述,以使本领域技术人员能够实践所公开的教导。可以从中使用和导出其它实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
127.如在此所使用的,术语“或”可以以包含或排除的方式来解释。此外,多个实例可以作为单个实例为在此所述的资源、操作或结构提供。此外,各种资源、操作、模块、引擎和数据存储之间的边界是一定程度上任意的,并且在特定说明性配置的上下文中示出了特定的操作。可以设想功能的其它分配,并且这些其它分配可以落入本公开的各种实施例的范围内。通常,作为示例配置中的分离的资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其它变化、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。
再多了解一些

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

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