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

在通信会话中生成动画覆盖的制作方法

2022-02-22 07:25:46 来源:中国专利 TAG:

在通信会话中生成动画覆盖
1.优先权要求
2.本技术是2019年6月28日提交的美国专利申请序列号16/457,395的优先权,该申请的全部内容通过引用并入本文。


背景技术:

3.电子消息(特别是即时消息)的流行继续增长。用户越来越多地在电子信息(例如文本和电子邮件)中使用定制化身,这反映了对更直观交流的全球需求。
4.这些定制化身可以被用户个性化,以在各种应用、视频游戏、消息服务等中代表用户。由于定制化身可以在不同的场景中生成,显示出各种情绪,甚至是动画的,所以用户能够使用定制化身来在消息中更准确地传达他们的感受。
附图说明
5.在不一定按比例绘制的附图中,相似的标号可以在不同的视图中描述相似的部件。具有不同字母后缀的相似数字可以表示相似部件的不同实例。在附图的图中,通过示例而非限制的方式示出了一些实施例。其中:
6.图1是示出用于通过网络交换数据(例如,消息和相关内容)的示例消息传递系统的框图;
7.图2是示出根据示例性实施例的关于消息传递系统的进一步细节的框图;
8.图3是示出根据各种示例性实施例的可以存储在消息传递服务器系统的数据库中的数据的示意图;
9.图4是根据本公开的各个方面的过程的示例性流程图;
10.图5a-5f是根据本公开的各个方面的示例性用户界面;
11.图6是示出代表性软件架构的框图,其可与本文所述的各种硬件架构结合使用;以及
12.图7是示出根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的任何一种或多种方法的机器的部件的框图。
具体实施方式
13.下面的描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明主题的各种实施例的理解。然而,对于本领域技术人员,很明显,本发明主题的实施例可以在没有这些具体细节的情况下实施。通常,公知的指令实例、协议、结构和技术不一定详细示出。
14.其中,本公开的实施例通过在通信会话中生成动画来改进电子消息传递软件和系统的功能。在一个实施例中,电子消息传递系统托管两个或更多个用户之间的通信会话。每个用户可以由化身表示,当用户出现在通信会话中时,化身出现在通信界面的聊天存在栏。
通信会话中的第一用户可以致使动画覆盖被发送给通信会话中的用户。于是,动画覆盖被致使显示在通信会话中的用户的客户端设备的通信界面上。动画覆盖是包括与第一用户相关联的化身的短时动画。动画覆盖还可以包括与通信会话中的另一用户相关联的化身。在一个实施例中,动画覆盖可以包括三维动画。
15.当一组用户可以是群组通信(例如,群组聊天)的成员时,通信会话包括在群组通信中存在或活跃的成员。积极参与的成员可以是群组通信的成员的子集或群组通信中的所有成员。积极参与的成员可以是在成员的客户端设备上显示通信界面的成员。在一些实施例中,动画覆盖出现在存在于通信会话中的用户的客户端设备上。在其他实施例中,即使在生成动画覆盖时用户不在群通组通信(例如群组聊天)中,动画覆盖也可以出现在群组通信中的所有用户的客户端设备上。在该实施例中,当缺席用户在群组通信中重新加入(或出现)时(例如,当缺席用户在其客户端设备上打开群组聊天时),动画覆盖可以出现在缺席用户的客户端设备上。
16.除了在客户端设备上显示第一动画覆盖之外,系统还可以使客户端设备振动或产生声音。客户端设备产生的振动或声音也可能与客户端设备上第一用户的化身动画同时发生。
17.使用动画覆盖,消息传递系统向用户提供使用该系统进行通信的新方式。具体而言,此动画覆盖显示为通信界面的附加层,因此在消息传递系统中提供了一个私有的、实时的且不可追踪的新维度。由于此功能对于存在于通信会话中的用户是可用的,所以该系统得到进一步改进,因为它可以增加用户对系统的参与度以及增加用户保持存在的时间长度。
18.图1是示出用于通过网络交换数据(例如,消息和相关内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104的多个应用。每个消息传递客户端应用104经由网络106(例如,因特网)通信地耦合到消息传递客户端应用104的其他实例和消息传递服务器系统108。如本文所使用的,术语“客户端设备”可以指与通信网络(例如网络106)相接口以从一个或多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(pda)、智能手机、平板电脑、超级本、上网本、多个膝上型计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、游戏机、机顶盒或用户可用于访问网络的任何其他通信设备。
19.在图1所示的例子中,每个消息传递客户端应用104能够经由网络106与另一个消息传递客户端应用104和消息服务器系统108通信和交换数据。在消息传递客户端应用104之间以及在消息客户端应用104与消息服务器系统108之间交换的数据包括功能(例如,调用功能的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
20.网络106可以包括自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络或两种或更多种这些网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦合可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦合。在该示例中,所述耦合可以实现各种类型
的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强型数据gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波互操作性接入(wimax)、长期演进(lte)标准或各种标准制定组织定义的其他技术、其他远程协议或其他数据传输技术。
21.消息传递服务器系统108经由网络106向特定消息传递客户端应用104提供服务器端功能。尽管消息传递系统100的某些功能在本文中被描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些功能的位置在消息传递客户端应用104内或消息传递服务器系统108内是一种设计选项。例如,在技术上可能是优选的是:最初在消息传递服务器系统108内部署某些技术和功能,但是以后在客户端设备102具有足够的处理能力的情况下将该技术和功能迁移到消息传递客户端应用104。
22.消息传递服务器系统108支持被提供给消息传递客户端应用104的各种服务和操作。这些操作包括向消息传递客户端应用104发送数据、从其接收数据以及处理由消息传递客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和覆盖、消息内容持久性条件、社交网络信息和现场事件信息。消息传递系统100内的数据交换通过经由消息客户端应用104的用户界面(ui)可用的功能来调用和控制。
23.现在具体转向消息传递服务器系统108,应用程序接口(api)服务器110耦合到应用服务器112并为其提供编程接口。应用服务器112被通信地耦合到数据库服务器118,这有助于访问数据库120,数据库120中存储有与应用服务器112处理的消息相关联的数据。
24.具体到应用程序接口(api)服务器110,该服务器在客户端设备102和应用程序服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(api)服务器110提供一组接口(例如,例程和协议),其可以被消息传递客户端应用104调用或查询以便调用应用服务器112的功能。应用程序接口(api)服务器110公开由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一个消息传递客户端应用104发送消息;将媒体文件(例如,图像或视频)从消息传递客户端应用104发送到服务器应用114,以用于另一个消息传递客户端应用104的可能的访问;媒体数据集合(例如,故事)的设置;对客户端设备102的用户的朋友列表的检索;对这些集合的检索;对消息和内容的检索;在社交图中添加和删除朋友;朋友在社交图内中的位置;打开以及应用事件(例如,与消息传递客户端应用104有关)。
25.应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116和社交网络系统122。消息传递服务器应用114实现多个消息处理技术和功能,特别是与从消息客户端应用104的多个实例接收的消息中包括的内容(例如,文本和多媒体内容,包括图像和视频剪辑)的聚合和其他处理有关。如将进一步详细描述的那样,来自多个来源的文本和媒体内容可以聚合成内容集合(例如,称为故事或图库)。这些集合然后由消息传递服务器应用114提供给消息传递客户端应用104。鉴于此类处理的硬件要求,其他处理器和存储器密集型数据处理也可以由消息传递服务器应用114在服务器端执行。
26.应用服务器112还包括图像处理系统116,其专用于执行通常关于在消息传递服务器应用114处的消息的有效载荷内接收的图像或视频的各种图像处理操作。
27.社交网络系统122支持各种社交网络功能服务,并使这些功能和服务对消息传递服务器应用114可用。为此,社交网络系统122维护并访问数据库120内的实体图304。社交网络系统122支持的功能和服务的示例包括对特定用户与其有关系或正在“关注”的消息传递系统100的其他用户的标识,以及对其他实体和特定用户的兴趣的标识。
28.应用服务器112通信地耦合到数据库服务器118,数据库服务器118便于访问数据库120,数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。
29.一些实施例可以包括一个或多个可穿戴设备,例如具有集成相机的吊坠,该相机与客户端设备102集成、通信或耦合到客户端设备102。可以与本公开的实施例结合使用任何期望的可穿戴设备,例如手表、眼镜、护目镜、耳机、腕带、耳塞、衣服(例如具有集成电子设备的帽子或夹克)、夹式电子设备和/或任何其他可穿戴设备。
30.图2是示出根据示例性实施例的关于消息传递系统100的进一步细节的框图。具体地,消息传递系统100被示为包括消息传递客户端应用104和应用服务器112,它们继而包含多个子系统,即短时定时器系统202、集合管理系统204和注释系统206。
31.短时定时器系统202负责强制执行对消息传递客户端应用104和消息传递服务器应用114允许的内容的暂时访问。为此,短时定时器系统202结合了多个定时器,这些定时器基于与消息或消息集合(例如,故事)相关联的持续时间和显示参数,通过消息传递客户端应用104选择性地显示消息与关联内容,和使得能够访问消息与关联内容。
32.集合管理系统204负责管理媒体集合(例如,文本、图像视频和音频数据的集合)。在一些示例中,内容集合(例如,消息,包括图像、视频、文本和音频)可以被组织成“事件图库”或“事件故事”。这样的集合可以在指定的时间段(例如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可以在该音乐会期间作为“故事”是可用的。集合管理系统204还可以负责发布图标,该图标向消息传递客户端应用104的用户界面提供特定集合的存在的通知。
33.集合管理系统204还包括策划接口208,其允许集合管理者管理和策划具体的内容集合。例如,策划接口208使事件组织者能够策划与特定事件有关的内容集合(例如,删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策划内容集合。在某些实施例中,可以向用户支付补偿以用于将用户生成的内容包括到集合中。在这种情况下,策划接口208操作以自动向这些用户支付使用他们的内容的费用。
34.注释系统206提供使用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与由消息传递系统100处理的消息的媒体覆盖的生成和发布相关的功能。注释系统206基于客户端设备102的地理位置,来向消息传递客户端应用104可操作地提供媒体覆盖(例如,过滤器)。在另一个示例中,注释系统206基于其他信息,例如客户端设备102的用户的社交网络信息,可操作地向消息客户端应用104提供媒体覆盖。媒体覆盖可能包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的例子包括颜色覆盖。音频和视觉内容或视觉效果可以应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体覆盖包括可以覆盖在由客户端设备102拍摄的照片之上的文本。在另一示例中,媒体覆盖包括位置覆盖的标识(例如,威尼斯海滩)、实况事件的名称或商家覆盖的名称(例如,海滩咖啡馆)。在另一个示
例中,注释系统206使用客户端设备102的地理位置来识别在客户端设备102的地理位置处包括商家的名称的媒体覆盖。媒体覆盖可以包括与该商家相关联的其他标记。媒体覆盖可以存储在数据库120中并通过数据库服务器118访问。
35.在一个示例性实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够选择地图上的地理位置,并上传与所选择的地理位置相关联的内容。用户还可以指定应该向其他用户提供特定媒体覆盖的情况。注释系统206生成包括所上传内容的媒体覆盖并将所上传内容与所选择的地理位置相关联。
36.在另一个示例性实施例中,注释系统206提供基于商家的发布平台,其使商家能够经由投标过程选择与地理位置相关联的特定媒体覆盖。例如,注释系统206将最高出价商家的媒体覆盖与对应的地理位置相关联达预定义的时间量。
37.图3是示出根据某些示例性实施例的可以存储在消息传递服务器系统108的数据库120中的数据300的示意图300。虽然数据库120的内容被示为包括多个表格,但是应当理解,数据可以存储在其他类型的数据结构中(例如,作为面向对象的数据库)。
38.数据库120包括存储在消息表314内的消息数据。实体表302存储实体数据,包括实体图304。在实体表302内为其维护记录的实体可以包括个人、法人实体、组织、对象、地点、事件等。不管类型如何,消息传递服务器系统108关于其存储数据的任何实体都可以是识别的实体。每个实体都被提供有唯一标识符以及实体类型标识符(未示出)。
39.实体图304还存储关于实体之间的关系和关联的信息。仅作为示例,此类关系可以是社会的、专业的(例如,在共同的公司或组织工作)基于兴趣的或基于活动的。
40.数据库120还在注释表312中以过滤器的示例形式存储注释数据。其数据存储在注释表312内的过滤器是与视频(其数据存储在视频表310中)和/或图像(其数据存储在图像表308中)相关联,并应用于这些视频和/或图像。在一个示例中,过滤器是在呈现给接收用户期间被显示为覆盖在该图像或视频上的覆盖。过滤器可以是各种类型的,包括当发送用户正在编写消息时由消息传递客户端应用104呈现给发送用户的来自过滤器库的用户所选择过滤器。其他类型的过滤器包括地理定位过滤器(也称为地理过滤器),它可以基于地理位置被呈现给发送用户。例如,基于由客户端设备102的全球定位系统(gps)单元确定的地理定位信息,特定于邻域或特殊位置的地理定位过滤器可以由消息传递客户端应用104呈现在用户界面内。另一种类型的过滤器是数据过滤器,基于消息创建过程期间由客户端设备102收集的其他输入或信息,消息传递客户端应用104可以选择性地将该过滤器呈现给发送用户。数据过滤器的示例包括特定位置的当前温度、发送用户正在旅行的当前速度、客户端设备102的电池寿命或当前时间。
41.可以存储在图像表308内的其他注释数据是所谓的“镜头”数据。“镜头”可以是可以添加到图像或视频中的实时特殊效果和声音。
42.如上所述,视频表310存储视频数据,在一个实施例中,视频数据与这样的消息相关联,在消息表314内为该消息维持记录。类似地,图像表308存储与这样的消息相关联的图像数据,在实体表302中为该消息存储消息数据。实体表302可以将来自注释表312的各种注释与存储在图像表308和视频表310中的各种图像和视频相关联。
43.故事表306存储关于消息和关联图像、视频或音频数据的集合的数据,这些数据被编译成集合(例如,故事或图库)。具体集合的创建可由具体用户(例如,在实体表302中为其
维护记录的每一用户)发起。用户可以以该用户已经创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息传递客户端应用104的用户界面可以包括用户可选择的图标,以使得发送用户能够将特定内容添加到他或她的个人故事。
44.集合还可以构成“实况故事”,它是来自多个用户的内容集合,这些内容集合是手动、自动或使用手动和自动技术的组合创建的。例如,“实况故事”可以构成来自不同地点和事件的用户提交内容的策划流。例如,可以经由消息传递客户端应用104的用户界面,向其客户端设备启用了位置服务并且在特定时间处于公共位置事件的用户呈现对特定实况故事贡献内容的选项。基于用户的位置,消息传递客户端应用104可以向用户标识实况故事。最终结果是从社区角度讲述的“实况故事”。
45.另一种类型的内容集合被称为“位置故事”,其使得其客户端设备102位于特定地理位置内(例如,在学院或大学校园内)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要第二级认证以验证最终用户属于特定组织或其他实体(例如,是大学校园内的学生)。
46.本公开的实施例可以生成并呈现定制图像,以在例如sms或mms文本和电子邮件之类的电子消息中使用。定制图像也可以与这里讨论的故事、过滤器和短暂的消息传递功能结合使用。
47.图4是根据本公开的各个方面的过程的示例性流程图。尽管流程图可以将操作描述为顺序过程,但许多操作可以并行或并发执行。此外,操作的顺序可以重新安排。过程在其操作完成时终止。过程可以对应方法、程序等。方法的步骤可以被全部或部分地执行,可以结合其他方法中的一些或全部步骤被执行,并且可以由任意数量的不同系统来执行,例如图1中和/或图7中描述的系统。
48.图4描绘了根据本公开的各个方面的生成在通信会话中在用户之间的私人通知的示例性过程。在该示例中,方法400在操作410开始,消息传递服务器系统的应用服务器使得在多个客户端设备上显示用于通信会话的通信界面。通信会话可以在两个或更多个客户端设备之间。例如,图5a-5b示出了在第一客户端设备处显示的通信界面500的示例。如图所示。参考图5a-5b,通信界面500包括通信窗口503,其显示在群组聊天(例如群组通信)中已从用户发送的电子通信(例如,聊天、文本、图像、动画)。
49.当用户群组可以是群组通信(例如群组聊天)的成员时,但是通信会话包括积极参与群组通信的成员。积极参与的成员可以是群组通信的成员的子集或群组通信中的所有成员。例如,被认为积极参与(或出席)的成员是将通信界面显示在成员的客户端设备上的成员。
50.如图5a-5b中所示,通信界面500包括聊天存在栏501,其包括分别与客户端设备的用户相关联的存在指示符502_1到502_n(n》1)。在一个实施例中,存在指示符包括在通信会话中的用户的化身。当用户在通信会话中存在(例如,处于活跃状态)时,与用户相关联的化身可以作为用户的存在指示符被显示在聊天存在栏501中。在该示例中,在聊天呈现栏中用户化身的至少一个部分的显示(例如,蹲伏的化身、站立的化身等)是存在指示器处于活跃状态。具体地,在包括第一客户端设备的第一用户和第二客户端设备的第二用户的通信会话中,当第一用户和第二用户存在于通信会话中时,第一用户的存在指示符(例如,第一化身)和第二用户的存在指示符(例如,第二化身)被包括在显示在第一客户端设备和第二客
户端设备上的通信界面的聊天存在栏中。例如,在图5a-5b中,第一客户端设备的通信接口500中的聊天存在栏501包括两个化身502_1、502_2,其指示与两个化身502_1、502_2相关联的两个用户在通信会话中存在或是活跃的。在一个实施例中,第一化身5021与第一客户端设备的第一用户相关联。
51.在一个实施例中,应用服务器可以分别接收与通信会话中的用户相关联的用户标识符和与用户标识符相关联的化身特征。在一些实施例中,可以从来自客户端设备102(例如,用户的客户端设备102)的电子消息内的输入接收用户标识符。例如,用户可以通过用户的计算设备的用户接口输入他或她的名字来生成用户自己的定制化身。附加地或替代地,可以基于在用户的计算设备内存储的信息来接收用户标识符。可以使用任何此类标识符,例如用户的全名或与用户关联的用户名。用户标识符还可以是与用户的计算设备相关联的标识符,例如唯一设备标识符(udid)或广告标识符(idfa)。
52.如本文所用,用户的“化身”是用户的任何视觉表示。用户或个人的化身可以是与用户或个人类似或以其他方式关联的任何图像。用户的化身可以基于从用户的图像导出的特性以及从用户与其他用户的关系中识别出的化身特性。替代地或附加地,用户可以经由用户的计算设备来选择和定制用户的化身的特性(即,定制的化身特性)。这种定制化身特性可以包括例如用户的身体特征(例如,肌肉发达、瘦弱等)、面部特征、服装和配饰、与化身结合显示的文本以及与化身结合显示的图像。可以从各种来源(例如客户端设备102的本地存储器)以及从其他系统和设备(例如数据库或服务器)接收或检索化身特性。
53.返回参考图4,在操作420,应用服务器从第一客户端设备接收动画发送请求。在一个实施例中,当第一客户端设备检测到对与第一客户端设备的用户相关联的存在指示符的选择时,动画发送请求被接收。例如,第一用户可以从图5a-5b中的聊天存在栏501中选择他自己的化身(例如,第一存在指示符502_1)。在一个实施例中,存在指示符502_1-502_n是可选择的用户界面项目。当第一用户可以选择他自己的(第一)化身502_1时,在图5a中表现为蹲伏在聊天存在栏501后面的第一化身502_1的显示可以改变为表现为从聊天存在栏501后面站起。
54.在另一个实施例中,当第一客户端设备检测到对与存在于通信会话中的第二客户端设备的用户相关联的存在指示符的选择时,动画发送请求被接收。例如,第一用户可以从图5a-5b中的聊天存在栏501中选择第二存在指示符502_2(例如,第二化身)。当第一用户可以选择第二存在指示符502_2时,在图5a中表现为蹲伏在聊天存在栏501后面的第二化身502_2可以改变为表现为如图5b所示从聊天存在栏501的后面站起。
55.在另一个实施例中,当第一客户端设备检测到对与存在于通信会话中的客户端设备的用户相关联的两个或更多个存在指示符的选择时,动画发送请求被接收。例如,在预定时间段内,第一用户可以选择聊天呈现栏501中的两个或更多个存在指示符501_2-501_n。
56.在另一个实施例中,当第一客户端设备检测到与作为群组通信的成员但是当前在通信会话中不活跃的用户相关联的选择时,动画发送请求被接收。在一个实施例中,聊天存在栏包括处于非活跃状态的存在指示符,其指示用户当前不活跃或不在场(例如,姓名标签变灰、化身变灰等)。
57.在一个实施例中,当第一客户端设备检测到与包括在图5a-5b中的通信界面500中的图标505相关联的选择时,动画发送请求被接收。在一个实施例中,图标505可以是与可以
被发送的内容项目的附加选项(例如,动画覆盖、贴纸、图形交换格式(gif)、歌曲等)相关联的可选择界面项目。
58.在操作430,应用服务器使得动画发送接口被显示在第一客户端设备的通信界面中。例如,当第一用户从图5a-5b中的通信界面500中选择第一存在指示符502_1(例如,第二化身)时,图5c中的动画发送界面510被使得被显示在第一客户端设备的通信界面500中。动画发送界面510出现在图5a-5b中的通信界面500之上。在一些示例中,动画发送界界面510为从图5a-5b中的通信界面500的底部向上滑动的卡片。如图5c所示,动画发送界面510包括动画覆盖图标511_1至511_m(m》1)。动画覆盖图标511_1至511_m中的每一个包括与第一用户相关联的第一化身。动画覆盖图标511_1至511_m是对应于以第一化身为特色的动画覆盖的可选用户界面项目。
59.在另一示例中,当第一用户从参考图5a-5b中的通信界面500中选择第二存在指示符502_2(例如,第二化身)时,图5d中的动画发送界面520被使得被显示在第一客户端设备的通信接口500中。动画发送界面520出现在图5a-5b中的通信界面500之上。在一些示例中,动画发送界面520为从图5a-5b中的通信界面500的底部向上滑动的卡片。如图5d所示,动画发送界面520包括动画覆盖图标521_1至521_p(p》1)。动画覆盖图标521_1至521_p中的每一个包括与第一用户相关联的第一化身和与第二用户相关联的第二化身。动画覆盖图标521_1至521_p是对应于以第一化身和第二化身为特色的动画覆盖的可选用户界面项目。
60.在一个实施例中,当第一客户端设备检测到对与存在于通信会话中的客户端设备的用户相关联的两个或更多个存在指示符的选择时,动画发送界面包括动画覆盖图标,该动画覆盖图标包括与对两个或更多个存在指示符的选择相对应的用户的化身。类似地,当第一客户端设备检测到对与作为群组通信的成员但当前在通信会话中不活跃的用户相关联的选择时。动画发送界面包括动画覆盖图标,该动画覆盖图标包括所选择的非活跃用户的化身。
61.在一个实施例中,当第一用户从图5a-5b中的通信界面500中选择图标505时,图5e中的动画发送界面530被使得被显示在第一客户端设备的通信界面500中。动画发送界面530出现在图5a-5b中的通信界面500之上。在一些示例中,动画发送界面530为从图5a-5b中的通信界面500的底部向上滑动的卡片。如图5e所示,动画发送界面530包括动画覆盖图标511_1-511_m。每个动画覆盖图标511_1-511_m包括与第一用户相关联的第一化身。在一个实施例中,动画发送界面530可以进一步包括动画覆盖图标521_1-521_p,其包括与第一用户相关联的第一化身和与第二用户相关联的第二化身。
62.在操作440,应用服务器从第一客户端设备接收对包括在多个动画覆盖图标中的第一动画覆盖图标的选择。例如,第一动画覆盖图标510_1可选自图5c中包括第一化身的动画覆盖图标510_1-510_m。
63.在操作450,应用服务器使得与第一动画覆盖图标对应的第一动画覆盖被显示为在多个客户端设备中的每一个的通信界面上的覆盖。在一个实施例中,应用服务器发送将被显示在每个客户端设备的通信界面上的第一动画覆盖。例如,与第一动画覆盖图标511_1对应的第一动画覆盖是包括弹奏吉他的第一化身的动画。当第一动画覆盖被使得被显示在通信会话中的用户的客户端设备上时,第一动画覆盖可以表现为在通信窗口503(例如,通信界面500的正在显示文本或图像消息的部分)之上的层的覆盖。在一个实施例中,动画覆
盖被使得被短时地显示预定的时间段。例如,第一动画覆盖可以在动画持续时间内被短时地显示。第一动画覆盖可以是包括表现为是动画的并且在弹吉他的第一化身的动画。在一些实施例中,除了显示第一动画覆盖之外,应用服务器还可以使通信会话中的客户端设备振动或产生声音。例如,结合在多个客户端设备上正在显示的第一动画覆盖,客户端设备可以被使得振动或产生吉他声音或歌曲。在一个实施例中,第一动画覆盖是三维动画。
64.在另一示例中,与第一动画覆盖图标521_1对应的第一动画覆盖是包括第一化身和第二化身互相击掌的动画。类似地,第一动画覆盖可以是包括第一化身和第二化身执行动画的动画,其中他们互相击掌。在图5f中示出了被显示为在每个客户端设备的通信界面500上的覆盖的第一动画覆盖540的示例。第一动画覆盖540可以包括执行动画的第一化身和第二化身。具体地,第一动画覆盖540对应于第一动画覆盖图标520_1,使得,如图5f所示,第一化身和第二化身正在表演他们互相击掌的动画。
65.在一个实施例中,第一动画覆盖540出现在存在聊天栏510上方。第一动画覆盖540中的化身可以表现为使用存在聊天栏510作为地板来在其上执行他们的动画。一旦动画完成,第一动画覆盖540消失以显示具有通信窗口503的通信界面500。在一个实施例中,一旦完成,第一动画覆盖540就不会留下痕迹并且不能被重放。在另一个实施例中,第一动画覆盖540可以在通信窗口503中指示第一用户发送了第一覆盖。
66.在一些实施例中,第一动画覆盖出现在存在于通信会话中的用户的客户端设备上。在其他实施例中,即使在生成动画覆盖时用户不活跃或不存在于通信会话中,动画覆盖也可以出现在群组通信(例如,群组聊天)中的所有用户的客户端设备上。在该实施例中,当用户在群组通信中变得活跃时(例如,当用户在他的客户端设备上打开群组聊天时),动画覆盖可以出现在缺席用户的客户端设备上。应用服务器可以使不在通信会话中的用户的客户端设备生成指示第一用户已向该群组发送动画覆盖的通知。该通知可以作为推送通知出现在客户端设备上。
67.在一个实施例中,第一用户可以选择群组通信中的一个或多个用户来接收第一动画覆盖,而不是将第一动画覆盖发送到通信会话或群组通信(例如群组聊天)中的用户的客户端设备。
68.图6是示出示例软件体系结构606的框图,其可以与这里描述的各种硬件体系结构结合使用。图6是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进这里描述的功能。软件架构606可以在诸如图7的机器700之类的硬件上执行,该机器包括处理器704、存储器714和i/o部件718等。代表性硬件层652被图示并且可以表示例如图7的机器700。代表性硬件层652包括具有相关联的可执行指令604的处理单元654。可执行指令604表示软件架构606的可执行指令,包括在此描述的方法、部件等的实现。硬件层652还包括存储器和/或存储模块存储器/存储设备656,其也具有可执行指令604。硬件层652还可以包括其他硬件658。
69.如这里所使用的,术语“部件”可以指具有由功能或子例程调用、分支点、应用程序接口(api)和/或提供特定处理或控制功能的分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可以通过它们的接口与其他部件组合以执行机器过程。部件可以是设计用于与其他部件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。
70.部件可以构成软件部件(例如,具体化在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作并且可以以某种物理方式配置或布置的有形单元。在各种示例性实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件部件(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为运行以执行如本文所述的某些操作的硬件部件。硬件部件也可以机械地、电子地或其任何合适的组合来实现。例如,硬件部件可以包括永久配置为执行某些操作的专用电路或逻辑。
71.硬件部件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件部件还可包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦被这样的软件配置,硬件部件就成为专门为执行配置的功能而量身定制的特定机器(或机器的特定部件)并且不再是通用处理器。应当理解,以机械方式、以专用和永久配置的电路或以临时配置的电路(例如,由软件配置)实现硬件部件的决定可能由成本和时间考虑驱动。
72.处理器可以是或包括根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操作数据值并产生用于操作机器的相应的输出信号的任何电路或虚拟电路(由在实际处理其上执行的逻辑仿真的物理电路)。例如,处理器可以是中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或它们的任何组合。处理器可以进一步是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。
73.因此,短语“硬件部件”(或“硬件实现的部件”)应被理解为包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程的)为以某种方式操作或执行此处描述的某些操作的实体。考虑其中硬件部件被临时配置(例如,编程)的实施例,每个硬件部件不需要在任何一个时间实例被配置或实例化。例如,在硬件部件包括通过软件配置成为专用处理器的通用处理器的情况下,该通用处理器可以在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或多个特定处理器,例如,以在一个时间实例构成特定硬件部件并在不同时间实例构成不同硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为是通信耦合的。在多个硬件部件同时存在的情况下,可以通过两个或更多个硬件部件之间的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件部件在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件部件可以访问的存储器结构中存储和检索信息来实现这些硬件部件之间的通信。
74.例如,一个硬件部件可以执行操作并将该操作的输出存储在其通信耦合到的存储器设备中。然后,另一个硬件部件可以在稍后访问存储设备以检索和处理存储的输出。硬件部件还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。本文描述的示例方法的各种操作可以至少部分地由一个或多个临时配置(例如,通过软件)或永久配置为执行相关操作的处理器来执行。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的部件,这些部件操作以执行本文所述的一个或多个操作或功能。如本文所用,“处理器实现的部件”是指使用一个或多个处理器实现的硬件部件。类似地,本文描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。
例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的部件来执行。
75.此外,一个或多个处理器还可操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可经由网络(例如,因特网)和一个或多个适当的接口(例如,应用程序接口(api))。某些操作的性能可能分布在处理器之间,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例性实施例中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例性实施例中,处理器或处理器实现的部件可以分布在多个地理位置上。
76.在如图6所示的示例性架构中,软件架构606可以被概念化为层的堆栈,其中每一层提供特定的功能。例如,软件架构606可以包括诸如操作系统602、库620、应用616和表示层614的层。在操作上,应用616和/或层内的其他部件可以通过软件堆栈调用应用编程接口(api)api 608并接收消息612以响应api调用608。所示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件618层,而其他操作系统可能提供这样的层。其他软件架构可能包括额外的或不同的层。
77.操作系统602可以管理硬件资源并提供公共服务。操作系统602可以包括例如内核622、服务624和驱动器626。内核622可以充当在硬件和其他软件层之间的抽象层。例如,内核622可以负责存储器管理、处理器管理(例如调度)、部件管理、组网、安全设置等。服务624可以为其他软件层提供其他公共服务。驱动器626负责控制底层硬件或与底层硬件接口。例如,依据硬件配置,驱动器626包括显示器驱动器、相机驱动器、如,依据硬件配置,驱动器626包括显示器驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器,等等。
78.库620提供由应用616和/或其他部件和/或层使用的公共基础设施。库620提供的功能允许其他软件部件以比直接与底层操作系统602功能(例如,内核622、服务624和/或驱动程序626)接口更容易的方式执行任务。库620可以包括系统库644(例如,c标准库),其可以提供诸如存储器分配函数、字符串操作函数、数学函数等的函数。此外,库620可以包括api库646,例如媒体库(例如,支持各种媒体格式,如mpreg4、h.264、mp3、aac、amr、jpg、png,的呈现和操作的库)、图形库(例如,可用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、网络库(例如,可提供网络浏览功能的webkit)等等。库620还可包括多种其他库648以向应用616和其他软件部件/模块提供许多其他api。
79.框架/中间件618(有时也称为中间件)提供可由应用616和/或其他软件部件/模块使用的更高级别的公共基础设施。例如,框架/中间件618可以提供各种图形用户界面(gui)功能、高级资源管理、高级定位服务等。框架/中间件618可以提供可由应用616和/或其他软件部件/模块使用的广泛的其他api,其中一些可以专用于特定操作系统602或平台。
80.应用616包括内置应用638和/或第三方应用640。代表性内置应用638的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、定位应用、媒体应用、消息应用和/或游戏应用。第三方应用640可以包括由特定平台的供应商以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm

phone或其他移动操作系统的移动操作系统上运行的移动软件。第三方应用640可以调用由移动操作系统(例如操作系统602)提供的api调用608,以促进本文描述的功能。
81.应用616可以使用内置操作系统功能(例如,内核622、服务624和/或驱动器626)、库620和框架/中间件618来创建用户界面以与系统用户交互。可替代地或附加地,在一些系统中,与用户的交互可以通过表示层,(例如表示层614)发生。在这些系统中,应用/部件“逻辑”可以与与用户交互的应用/部件的各个方面分开。
82.图7是示出根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的任何一种或多种方法的机器700的部件(在此也称为“模块”)的框图。具体地,图7示出了计算机系统的示例形式的机器700的图解表示,其中可以执行用于促使机器700可以执行本文讨论的任何一种或多种方法的指令710(例如,软件、程序、应用、小应用、应用或其他可执行代码)。因此,指令710可用于实现本文描述的模块或部件。指令710将通用的非编程机器700转换成特定机器700,该特定机器700被编程为以所描述的方式执行所描述和示出的功能。在替代实施例中,机器700作为独立设备操作或者可以耦合(例如,联网)到其他机器。在联网部署中,机器700可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力运行,或者作为对等(或分布式)网络环境中的对等机器运行。机器700可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能手机、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网桥或任何能够依次或以其他方式执行指令710的机器,这些指令指定机器700要采取的动作。此外,虽然仅示出了单个机器700,但术语“机器”也应被认为包括单独或联合执行指令710以执行本文讨论的任何一种或多种方法的机器的集合。
83.机器700可以包括处理器704、存储器/存储设备706和i/o部件718,它们可以被配置为例如经由总线702彼此通信。存储器/存储设备706可以包括诸如主存储器或其他存储设备714和存储单元716,两者都可由处理器704诸如经由总线702访问。存储单元716和存储器714存储体现任何一种或多种方法的指令710或此处描述的功能。指令710还可以在机器700对其执行期间完全或部分地驻留在存储器714内、存储单元716内、处理器704中的至少一个内(例如,在处理器的高速缓存内)或它们任何合适的组合内。因此,存储器714、存储单元716和处理器704的存储器是机器可读介质的示例。
84.如本文所使用的,术语“机器可读介质”、“计算机可读介质”等可以指能够临时或永久地存储指令和数据的任何部件、设备或其他有形介质。此类介质的示例可包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学介质、磁介质、高速缓存、其他类型的存储(例如、电可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应被认为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还可以被认为包括能够存储由机器执行的指令(例如,代码)的任何介质或多种介质的组合,使得指令在由一个或多个机器的更多处理器执行时,促使机器执行这里描述的任何一种或多种方法。因此,“机器可读介质”可以指单个存储装置或装置以及包括多个存储装置或装置的基于云的存
储系统或存储网络。术语“机器可读介质”不包括信号本身。
85.i/o部件718可以包括多种部件以提供用于接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量值等的用户接口。包含在特定机器700的用户接口中的特定i/o部件718将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他此类输入机制。而无头服务器机器可能不包括此类触摸输入设备。应当理解,i/o部件718可以包括图7中未示出的许多其他部件。i/o部件718根据功能分组仅仅是为了简化下面的讨论并且分组决不是限制性的。在各种示例性实施例中,i/o部件718可包括输出部件726和输入部件728。输出部件726可包括视觉部件(例如显示器,诸如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt)、声学部件(例如扬声器)、触觉部件(例如振动电机、阻力机制)、其他信号发生器。输入部件728可以包括字母数字输入部件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指点仪器)、触觉输入部件(例如,物理按钮、提供位置和/或触摸力或触摸手势的触摸屏,或其他触觉输入部件)、音频输入部件(例如,麦克风)等。输入部件728还可包括一个或多个图像捕获设备,例如用于生成数字图像和/或视频的数码相机。
86.在进一步的示例性实施例中,i/o部件718可以包括生物特征部件730、运动部件734、环境部件736或位置部件738,以及各种其他部件。一个或多个这样的部件(或其部分)在本文中可以统称为“传感器部件”或“传感器”,用于收集与机器700、机器700的环境、机器700的用户或其组合有关的各种数据。
87.例如,生物特征部件730可以包括用于检测表情(例如,手部表情、面部表情、声音表情、身体姿势或眼动追踪)、测量生物信号(例如,血压、心率、体温、汗液或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等。运动部件734可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等等。环境部件736可包括例如照度传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,一个或多个检测背景噪声的麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,气体检测传感器,用于检测危险气体的浓度以确保安全或测量环境中的污染物大气)或其他可以提供与周围物理环境相对应的指示、测量或信号的部件。位置部件738可包括位置传感器部件(例如,全球定位系统(gps)接收器部件)、海拔传感器部件(例如,高度计或检测可从中导出海拔的气压的气压计)、朝向传感器部件(例如,磁力计)等。例如,位置传感器部件可以提供与系统700相关联的位置信息,例如系统700的gps坐标和/或关于系统700当前所在位置的信息(例如,餐厅或其他企业的名称)。
88.可以使用多种技术来实现通信。i/o部件718可以包括通信部件740,其可操作以分别通过耦合722和耦合724将机器700耦合到网络732或设备720。例如,通信部件740可以包括网络接口部件或其他合适的设备以与网络732接口。在进一步的示例中,通信部件740可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低能量)、部件和其他通信部件以通过其他方式提供通信。设备720可以是另一台机器或多种外围设备中的任一个(例如,经由通用串行总线(usb)
耦合的外围设备)。
89.此外,通信部件740可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件740可以包括射频识别(rfid)标签读取器部件、nfc智能标签检测部件、光学读取器部件(例如,用于检测一维条码(例如通用产品代码(upc)条码)、多维条码(例如快速响应(qr)码)、aztec码、数据矩阵、dataglyph、maxicode、pdf417、ultracode、ucc rss-2d条形码和其他光学代码的光学传感器),或声学检测部件(例如,识别标记的音频信号的麦克风)。此外,可以经由通信部件740导出各种信息,例如经由互联网协议(ip)地理定位的定位、经由信号三角测量的定位、通过检测可以指示特定位置的nfc信标信号来定位等等。
90.当使用类似于“a、b或c中的至少一个”、“a、b和c中的至少一个”、“a、b或c中的一个或多个”或“a、b和c中的一个或多个”的短语时,意图将该短语解释为表示a可以单独存在于一个实施例中,b单独可以存在于一个实施例中,c单独可以存在于一个实施例中,或者元素a、b和c的任意组合可以存在于单个实施例中;例如,a和b、a和c、b和c,或a和b和c。
91.在不脱离本公开的范围的情况下,可以对所公开的实施例进行改变和修改。这些和其他变化或修改旨在被包括在如所附权利要求中所表达的本公开的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献