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

用于促进多个用户之间的限时的基于增强现实的通信的虚拟交互会话的制作方法

2023-02-01 21:00:00 来源:中国专利 TAG:

用于促进多个用户之间的限时的基于增强现实的通信的虚拟交互会话
1.优先权要求
2.本技术要求于2021年3月19日提交的美国专利申请序列号第17/207,174号和2020年3月25日提交的美国临时申请序列号第62/994,671号的优先权权益,这两个美国申请中的每一个均通过引用整体并入本文中。
技术领域
3.本公开内容总体上涉及移动和可穿戴计算技术。特别地,本公开内容的示例实施方式解决用于促进通过网络的多个用户之间的基于增强现实的通信的系统、方法和用户界面。


背景技术:

4.许多可穿戴设备和移动设备例如“智能”眼镜包括嵌入式摄像装置。使用这些类型的设备实现的虚拟渲染系统可以用于创建引人入胜且有趣的增强现实体验,在这些增强现实体验中三维(3d)图形内容好像存在于现实世界中一样。
附图说明
5.为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或更多个最高有效数字指代首先引入该元件或动作的图号。
6.图1是根据一些示例实施方式的可以在其中部署本公开内容的联网环境的图解表示。
7.图2是根据一些示例实施方式的通信系统的图解表示。
8.图3是示出根据一些示例实施方式的用于在虚拟交互会话中使用的可穿戴设备的图。
9.图4是示出根据一些示例实施方式的可穿戴设备的各方面的框图。
10.图5a至图5h是示出根据一些示例实施方式的第一用户与第二用户之间的示例虚拟交互会话的流程的概念图。
11.图6a和图6b是示出根据示例实施方式的在执行用于促进与第一用户进行的虚拟交互会话的方法时通信系统的部件之间的示例交互的交互图。
12.图7至图9是示出根据示例实施方式的在执行用于促进与第一用户进行的虚拟交互会话的方法时通信系统的操作的流程图。
13.图10是示出根据示例实施方式的代表性软件架构的框图,该代表性软件架构可以与本文中描述的各种硬件架构结合使用。
14.图11是示出根据示例实施方式的机器的部件的框图,所述机器能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的方法中的任一种或更多种方法。
具体实施方式
15.以下的描述包括实施本公开内容的说明性实施方式的系统、方法、技术、指令序列和计算机程序产品。在以下描述中,出于说明的目的,阐述了许多具体细节,以便提供对本发明主题的各种实施方式的理解。然而,对于本领域技术人员来说将明显的是,可以在没有这些具体细节的情况下实践本发明主题的实施方式。通常,公知的指令实例、协议、结构和技术不一定要详细地示出。
16.本公开内容的各方面包括用于促进用户之间的虚拟交互会话的系统、方法、技术、指令序列和计算机程序产品。在虚拟交互的情境中,一个或更多个用户可以与主机用户建立实时通信链路。当在第一用户与第二用户之间建立实时通信链路时,将描绘第一用户的位置处的现实世界环境的实况摄像装置馈送呈现给第二用户。作为示例,第一用户可以佩戴可穿戴设备,该可穿戴设备包括摄像装置和具有现实世界环境从其对第一用户可见的显示器的光学元件。在与第一用户进行的激活虚拟交互会话期间,可以建立第一用户与第二用户之间的实时通信链路,并且作为实时通信链路的一部分,第二用户可以经由由第一用户的可穿戴设备的摄像装置生成并由第二用户的设备显示的实况摄像装置馈送查看第一用户的现实世界环境。第一用户(主机用户)可以通过邀请第二用户加入虚拟交互会话来启动实时通信链路,并且基于第二用户接受邀请来建立实时通信链路。
17.在实时通信链路处于激活时,第一用户和第二用户可以使用设备之间的音频通信链路并且还使用基于增强现实的通信方法进行口头通信。例如,除了第一用户的实况摄像装置馈送之外,第二用户的设备也可以显示一组可选择的虚拟内容项,所述一组可选择的虚拟内容项可以应用于对第一用户可见的现实世界环境。每个虚拟内容项包括一个或更多个媒体对象。遵循上面的示例,可以将由第二用户选择的虚拟内容项发送至第一用户的可穿戴设备。通过使得在第一用户的可穿戴设备的现实世界环境显示器上显示一个或更多个媒体对象,可以将虚拟内容项应用于对第一用户可见的现实世界环境。以这种方式,一个或更多个媒体对象在第一用户看来就好像它们存在于现实世界环境中一样,从而增强了第一用户的现实。
18.单个虚拟交互会话可以包括多个虚拟交互会话,并且多个用户可以在实时通信会话期间在一个或更多个虚拟交互会话中与第一用户(主机用户)进行交互。为了向虚拟交互会话的第一用户提供控制和隐私机制,可以提供配置界面,用于经由可穿戴设备或耦接至可穿戴设备的配套设备向第一用户显示。第一用户可以使用配置界面来定义虚拟交互会话的配置参数。配置参数包括定义虚拟交互会话的时间段的会话持续时间。在会话持续时间到期时,不能与第一用户建立附加的实时通信链路。
19.配置参数还可以包括微聊天持续时间,该微聊天持续时间定义在虚拟交互会话期间建立的与第一用户的实时通信链路的时间限度。第一用户可以使用配置界面来定义虚拟交互会话的微聊天持续时间。在第一用户与第二用户之间建立实时通信链路时,两个用户的设备可以显示基于会话持续时间的倒数计时器,并且在会话持续时间到期时,两个用户之间的实时通信链路被终止。也就是说,对第一用户的实况摄像装置馈送的显示在第二用户的设备上被终止,并且两个用户的设备之间的音频通信链路被禁用。在虚拟交互会话仍处于激活时,第二用户可以请求与第一用户建立第二实时通信链路,或者被授权加入虚拟交互会话的第三用户可以请求与第一用户建立实时通信链路。
20.图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的示例通信系统100的框图。通信系统100包括客户端设备102(102-1和102-2)的多个实例。客户端设备102的每个实例托管多个应用,所述多个应用包括通信客户端应用104。每个通信客户端应用104经由网络106(例如,因特网)通信地耦接至通信客户端应用104的其他实例和通信服务器系统108。
21.通信客户端应用104能够经由网络106与另一通信客户端应用104和通信服务器系统108通信和交换数据。在通信客户端应用104之间以及在通信客户端应用104与通信服务器系统108之间交换的数据包括功能(例如,用于调用功能的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
22.通信服务器系统108经由网络106向特定通信客户端应用104提供服务器端功能。虽然通信系统100的某些功能在本文中被描述为由通信客户端应用104或由通信服务器系统108执行,但是特定功能在通信客户端应用104或通信服务器系统108内的位置是一种设计选择。例如,在技术上可能优选的是,最初在通信服务器系统108内部署特定技术和功能,但稍后将该技术和功能迁移至客户端设备102具有足够处理能力的通信客户端应用104。
23.通信服务器系统108支持提供至通信客户端应用104的各种服务和操作。这些操作包括向通信客户端应用104发送数据、从通信客户端应用104接收数据以及处理由通信客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和覆盖、消息内容持久性条件、社交网络信息和实况事件信息。通信系统100内的数据交换通过经由通信客户端应用104的用户界面(ui)可用的功能来调用和控制。
24.现在具体地转向通信服务器系统108,应用程序接口(api)服务器110耦接至应用服务器112,并且提供到应用服务器112的程序接口。应用服务器112通信地耦接至数据库服务器118,这促进对其中存储有与应用服务器112处理的消息相关联的数据的数据库120的访问。
25.应用程序接口(api)服务器110在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(api)服务器110提供可以由通信客户端应用104调用或查询以便调用应用服务器112的功能的一组接口(例如,例程和协议)。应用程序接口(api)服务器110公开了由应用服务器112支持的各种功能,这些功能包括帐户注册、登录功能、经由应用服务器112从特定通信客户端应用104向另一通信客户端应用104发送消息、从一个通信客户端应用104向所述通信客户端应用104发送媒体文件(例如,图像或视频),以及对于由另一通信客户端应用104进行的可能访问,设置媒体数据(例如故事)集合、检索客户端设备102的用户的朋友列表、检索这样的集合、检索消息和内容、向社交图添加和删除朋友、在社交图内定位朋友、以及打开应用事件(例如,与通信客户端应用104相关)。
26.应用服务器112托管多个应用和子系统,所述多个应用和子系统包括通信服务器应用114、图像处理系统116和社交网络系统122。通信服务器应用114实现了多个消息处理技术和功能,特别是实现了与从通信客户端应用104的多个实例接收到的消息中包括的内容(例如,文本和多媒体内容)的聚合和其他处理相关的消息处理技术和功能。如将进一步详细地描述的,可以将来自多个源的文本和媒体内容聚合成内容集合(例如,称为故事或图库)。然后,通信服务器应用114使这些集合对通信客户端应用104可用。鉴于对数据的其他
处理器和存储器密集型处理的硬件要求,通信服务器应用114还可以在服务器端执行这样的数据处理。
27.通信服务器应用114还促进用户之间的虚拟交互会话。在虚拟交互会话的情境中,一个或更多个用户可以与主机用户建立实时通信链路。为了在客户端设备102-1的用户103-1与客户端设备102-2的用户103-2之间建立实时通信链路,通信服务器应用114使得客户端设备102-2显示描绘用户103-1的位置处的现实世界环境的实况摄像装置馈送。在示例中,客户端设备102-1是由用户103-1佩戴的可穿戴设备(例如,智能眼镜),该可穿戴设备包括摄像装置和具有现实世界环境通过其对用户103-1可见的透明显示器的光学元件。在用户103-1与103-2之间的激活实时通信链路处于激活时,用户103-2可以经由由客户端设备102-1的摄像装置生成并由客户端设备102-2显示的实况摄像装置馈送来查看用户103-1的现实世界环境。通信服务器应用114还使得用户103-1和103-2能够使用音频通信模态和基于增强现实的通信模态进行口头通信。
28.作为示例,除了由客户端设备102-1生成的实况摄像装置馈送之外,通信服务器应用114可以使得客户端设备102-1显示一组可选择的虚拟内容项,所述一组可选择的虚拟内容项可以应用于对用户103-1可见的现实世界环境。每个虚拟内容项包括一个或更多个媒体对象。在示例中,由用户103-2选择的虚拟内容项可以通过使得一个或更多个媒体对象由客户端设备102-1的光学元件中的透明显示器显示来应用于对用户103-1可见的现实世界环境。以这种方式,一个或更多个媒体对象在第一用户看来就好像它们存在于现实世界环境中一样。下面讨论关于虚拟交互会话的更多细节。
29.应用服务器112还包括图像处理系统116,该图像处理系统116专用于执行各种图像处理操作,这些图像处理操作通常关于由客户端设备102的实例生成和显示的图像或视频。
30.社交网络系统122支持各种社交网络功能服务,并且使这些功能和服务对通信服务器应用114可用。为此,社交网络系统122维护和访问数据库120内的实体图。由社交网络系统122支持的功能和服务的示例包括识别通信系统100的特定用户与之有关系或“关注”的其他用户,以及还识别特定用户的其他实体和兴趣。
31.应用服务器112通信地耦接至数据库服务器118,该数据库服务器118促进对其中存储有与由通信服务器应用114处理的消息相关联的数据的数据库120的访问。
32.图2是示出根据示例实施方式的关于通信系统100的更多细节的框图。具体地,通信系统100被示为包括通信客户端应用104和应用服务器112,通信客户端应用104和应用服务器112进而又包含多个子系统,即临时计时器系统202、集合管理系统204和虚拟渲染系统206。
33.临时计时器系统202负责强制执行对被客户端应用104和应用服务器112允许的内容的临时访问。为此,临时计时器系统202并入多个计时器,所述多个计时器基于持续时间以及与消息或消息集合(例如,故事)相关联的显示参数来选择地显示和实现经由客户端应用104对消息和相关联内容的访问。
34.集合管理系统204负责管理媒体的集合(例如,文本、图像、视频和音频数据的集合)。在一些示例中,内容(例如,包括图像、视频、文本和音频的消息)的集合可以被组织成“事件图库”或“事件故事”。这样的集合可以在指定的时间段例如与内容相关的事件的持续
时间内可用。例如,与音乐会相关的内容可以在该音乐会的持续时间内作为“故事”可用。
35.集合管理系统204还包括策展接口208,该策展接口208使得集合管理器能够管理和策展特定的内容集合。例如,策展接口208使得事件组织者能够策展与特定事件相关的内容集合(例如,删除不适当的内容或冗余消息)。附加地,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。
36.虚拟渲染系统206提供使得用户能够增强或以其他方式修改或编辑媒体内容(例如,包括图像数据和/或音频数据的媒体内容)的各种功能。例如,虚拟渲染系统206提供与将虚拟内容项应用于现实世界环境相关的功能,无论是通过在透明显示器上显示媒体对象(通过透明显示器,现实世界环境可见),还是通过增强图像数据以包括覆盖在其中所描述的现实世界环境上的媒体对象。虚拟内容项可以包括一个或更多个媒体对象。媒体对象可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。音频和视觉内容或视觉效果可以应用于媒体数据(例如,实况图像流)。虚拟内容项可以存储在数据库120中并且通过数据库服务器132访问。
37.图3是示出根据一些示例实施方式的用于在虚拟交互会话中使用的示例形式的眼镜331的可穿戴设备的图。眼镜331可以包括框架332,该框架332由任何合适的材料例如塑料或金属(包括任何合适的形状记忆合金)制成。框架332可以具有前件333,前件333可以包括通过桥338连接的第一或左透镜、显示器或光学元件保持器336以及第二或右透镜、显示器或光学元件保持器337。前件333附加地包括左端部分341和右端部分342。第一或左光学元件344和第二或右光学元件343可以设置在相应的左光学元件保持器336和右光学元件保持器337内。光学元件343、344中的每一者可以是透镜、显示器(例如,透明显示器或视频显示器)、显示组件或前述部件的组合。在一些实施方式中,例如,眼镜331设置有集成的近眼显示机构,该集成的近眼显示机构能够例如向用户显示由眼镜331的摄像装置367捕获的视觉媒体的预览图像。在一些实施方式中,集成的近眼显示机构允许显示媒体对象,使得媒体对象覆盖在可通过光学元件343和344查看的现实世界环境上。
38.框架332附加地包括左臂或镜腿件346以及右臂或镜腿件347,它们通过任何合适的装置例如铰链(未示出)耦接至前件333的相应的左端部341和右端部342,以便耦接至前件333,或者刚性地或可固定地固定至前件333以与前件333成一体。镜腿件346和347中的每一者可以包括耦接至前件333的相应端部341或342的第一部分351以及用于耦接至用户的耳朵的任何合适的第二部分352例如弯曲或弓形件。在一个实施方式中,前件333可以由单件材料形成,以便具有整体式或一体式构造。在一个实施方式中,整个框架332可以由单件材料形成,以便具有整体式或一体式构造。
39.眼镜331可以包括诸如计算机361的设备,该设备可以具有任何合适的类型以便由框架332携带,以及在一个实施方式中,该设备可以具有合适的尺寸和形状以便被至少部分地设置在镜腿件346和347之一中。在一个实施方式中,计算机361具有与镜腿件346、347之一的尺寸和形状类似的尺寸和形状,并且因此即使不完全地也几乎完全地设置在这样的镜腿件346和347的结构和限制内。在一个实施方式中,计算机361可以设置在镜腿件346、347两者中。计算机361可以包括具有存储器的一个或更多个处理器、无线通信电路系统和电源。计算机361包括低功率电路系统、高速度电路系统和显示处理器。各种其他实施方式可以包括不同配置或以不同方式集成在一起的这些元件。
40.计算机361附加地包括电池362或其他合适的便携式电力供应装置。在一个实施方式中,电池362设置在镜腿件346或347之一中。在图3所示的眼镜331中,电池362被示为设置在左镜腿件346中并且使用连接374电耦接至设置在右镜腿件347中的计算机361的其余部分。一个或更多个i/o设备可以包括适合于对可从框架332外部访问的电池362进行充电的连接器或端口(未示出)、无线接收器、发射器或收发器(未示出)或者这样的设备的组合。鉴于眼镜331和计算机361的有限尺寸,诸如视频流的资源密集型操作可能会迅速耗尽电池362,并且可能对计算机361的一个或更多个处理器造成压力,从而可能导致过热。
41.眼镜331包括数字摄像装置367。尽管描绘了两个摄像装置367,但是其他实施方式考虑使用单个或附加(即,多于两个)摄像装置。为了便于描述,将仅参照单个摄像装置367进一步描述与摄像装置367相关的各种特征,但是应当理解,在合适的实施方式中,这些特征可以应用于两个摄像装置367。
42.与一些实施方式一致,眼镜331是客户端设备102的示例实例并且可以由用户103-1佩戴。此外,在这些实施方式中,用户103-2可以查看由摄像装置367生成的实况摄像装置馈送并且可以通过使虚拟内容项添加至经由眼镜331对用户103-1可见的现实世界环境来与用户103-2交互。也就是说,与由用户103-2选择的虚拟内容项对应的一个或更多个媒体对象可以通过集成的近眼显示机构来显示,该集成的近眼显示机构使得媒体对象覆盖在可通过光学元件343和344查看的现实世界环境上。
43.在各种实施方式中,除了摄像装置367之外,眼镜331可以包括任何数目的输入传感器或外围设备。前件333设置有:面向外的、面向前的前或外表面366,该面向外的、面向前的前或外表面366当眼镜331安装在用户的面部上时面向前方或背离用户;以及相对的面向内的、面向后的后或内表面369,该相对的面向内的、面向后的后或内表面369当眼镜331安装在用户的面部上时面向用户(例如,用户103-1)的面部。这样的传感器可以包括:面向内的视频传感器或数字成像模块,例如可以安装或设置在前件333的内表面369内或框架332上的其他位置以便面向用户的摄像装置;以及面向外的视频传感器或数字成像模块,例如可以安装或设置在前件333的外表面366内或框架332上的其他位置以便背对用户的摄像装置367。这样的传感器、外围设备或周边设备可以附加地包括生物传感器、位置传感器、加速度计或任何其他这样的传感器。
44.眼镜331还包括摄像装置控制机构或用户输入机构的示例实施方式,该摄像装置控制机构或用户输入机构包括安装在框架332上用于用户触觉或手动接合的摄像装置控制按钮。摄像装置控制按钮提供其中用户仅可在两种状态即接合状态与分离状态之间使用的双模态或单动作机构。在该示例实施方式中,摄像装置控制按钮是默认处于分离状态的按钮,该按钮可由用户按下以将其设置为接合状态。在释放按下的摄像装置控制按钮时,它会自动地返回至分离状态。
45.在其他实施方式中,单动作输入机构可以替代地由例如包括电容式传感器的触敏按钮来提供,该电容式传感器与触敏按钮的表面邻近地安装在框架332上,用于检测用户手指的存在,以便当用户将手指触摸到框架332的外表面上的相应点时将触敏按钮设置为接合状态。应当理解,上面描述的摄像装置控制按钮和电容式触摸按钮仅是用于摄像装置367的单动作控制的触觉输入机构的两个示例,并且其他实施方式可以采用不同的单动作触觉控制布置。
46.图4是示出根据一些示例实施方式的眼镜331的示例形式的可穿戴设备的各方面的框图。眼镜331的计算机361包括与机载存储器426通信的中央处理器421。中央处理器421可以是cpu和/或图形处理单元(gpu)。该示例实施方式中的存储器426包括闪速存储器和随机存取存储器的组合。
47.眼镜331还包括与中央处理器421和摄像装置367通信的摄像装置控制器414。摄像装置控制器414包括电路系统,该电路系统被配置成:基于对从包括摄像装置控制按钮的单动作输入机构接收到的控制信号的处理来控制对照片内容或视频内容的记录;以及提供一个或更多个图像捕获参数的自动调节,所述一个或更多个图像捕获参数与由摄像装置367捕获图像数据和在持久存储图像数据之前对图像数据进行机载处理和/或将图像数据呈现给用户以供查看或预览相关。
48.在一些实施方式中,摄像装置控制器414包括永久配置的电路系统,例如被配置成执行本文中描述的各种功能的固件或专用集成电路(asic)。在其他实施方式中,摄像装置控制器414可以包括动态可重新配置的处理器,该动态可重新配置的处理器执行临时地配置处理器以执行本文中描述的各种功能的指令。
49.摄像装置控制器414与存储器426交互以存储、组织和呈现照片内容和视频内容形式的图像内容。为此,该示例实施方式中的存储器426包括照片内容存储器428和视频内容存储器442。因此,摄像装置控制器414与中央处理器421协作,中央处理器421被配置成:从摄像装置367接收代表由摄像装置367根据一些图像捕捉参数产生的数字图像的图像数据;根据一些图像捕捉参数来处理图像数据;以及将处理后的图像数据存储在照片内容存储器428和视频内容存储器442中的适当一者中。
50.摄像装置控制器414还被配置成与显示控制器449协作以使得在并入眼镜331中的显示机构上显示存储器426中的所选择的照片和视频,并且因此提供所捕捉的照片和视频的预览。在一些实施方式中,摄像装置控制器414将管理对使用自动包围参数捕获的图像的处理以包含在视频文件中。
51.单动作输入机构435通信地耦接至中央处理器421和摄像装置控制器414,以传送代表摄像装置控制按钮的当前状态的信号,从而传送至摄像装置控制器414,无论摄像装置控制按钮当前是否正在被按下。摄像装置控制器414还关于从单动作输入机构435接收到的输入信号与中央处理器421通信。在一个实施方式中,摄像装置控制器414被配置成处理经由单动作输入机构435接收到的输入信号,以确定与摄像装置控制按钮的特定用户接合是否致使对视频内容或照片内容的记录和/或基于对输入信号的处理动态地调节一个或更多个图像捕捉参数。例如,长于预定阈值持续时间的摄像装置控制按钮的按压使摄像装置控制器414在持久存储和显示所捕获的视频内容之前自动地对所捕获的视频内容应用相对不那么严格的视频处理。相反地,在这样的实施方式中,短于所述阈值持续时间的摄像装置控制按钮的按压使摄像装置控制器414自动地对代表一个或更多个静止图像的图像数据应用相对更严格的照片稳定处理。
52.眼镜331可以是能够独立操作的独立客户端设备或者可以是与主要设备一起工作以通过网络106卸载密集型处理和/或与通信服务器系统交换数据的配套设备108。眼镜331还可以包括对诸如智能眼镜或智能电话的移动电子设备通用的各种部件(例如,包括用于控制对视觉媒体(包括由摄像装置367捕获的照片和视频内容)在并入设备中的显示机构上
的显示的显示控制器)。注意,图4的示意图不是形成眼镜331的部分的所有部件的详尽表示。
53.图5a至图5h是示出根据一些示例实施方式的第一用户(例如,用户103-1)与第二用户(例如,用户103-2)之间的示例虚拟交互会话的流程的概念图。在虚拟交互会话的情境中,一个或更多个用户可以基于第一用户允许并邀请一个或更多个用户建立实时通信链路来与第一用户建立实时通信链路。当在第一用户与第二用户之间建立实时通信链路时,第二用户能够在他们自己的设备——设备502(在本文中和图5a至图5h中被称为“第二设备”;例如,客户端设备102-2)的显示器上查看由第一用户的设备——设备500(在本文中和图5a至图5h中被称为“第一设备”;例如,客户端设备102-1)生成的实况摄像装置馈送(例如,包括实时图像数据),同时还使用基于口头的和增强现实的通信模态与第一用户交互。
54.在下面讨论的示例实施方式中,第一设备是具有嵌入式摄像装置和包括显示器(例如,透明显示器)的光学元件的可穿戴设备(例如,眼镜331)。因此,下面参照这样的可穿戴设备讨论图5a至图5h。然而,虽然下面描述的示例可以指代其中信息由第一设备的显示器呈现的实施方式,但是应当理解,这样的信息可以替选地或附加地由耦接至可穿戴设备的主设备呈现。可穿戴设备可以是能够独立操作的独立设备,或者可以是与主设备一起工作以卸载密集型处理的配套设备。
55.与这些实施方式一致,第二用户可以利用在第二设备上执行的客户端应用(例如,客户端应用104)来在与第一用户交互的同时查看由第一设备生成的实况摄像装置馈送。类似地,第一用户可以利用在第一设备上执行的客户端应用(例如,客户端应用104)来配置和启动虚拟交互会话。
56.参照图5a,示出了由第一设备显示的会话配置界面504。会话配置界面504允许第一用户为虚拟交互会话配置会话参数。为此,会话配置界面包括第一用户可以用来输入配置参数的多个界面元素。
57.如所示,第一用户可以指定配置参数,例如,与被允许加入虚拟交互会话的用户对应的标识符——无论第一用户是否要在实时通信链路建立之前批准它(“调入(call in)”与“丢弃(drop in)”)、会话持续时间、微聊天持续时间和模糊级别。会话持续时间定义了虚拟交互会话的时间限度,并且微聊天持续时间定义了在虚拟交互会话期间建立的实时通信链路的时间限度。在一个虚拟交互会话内可以存在多个微聊天会话。具有时间限度的实时通信链路在本文中可以被称为“限时实时通信链路”或被简称为“微聊天”。
58.包括由第一用户经由会话配置界面504指定的一个或更多个配置参数的会话配置数据被提供至应用服务器(例如,应用服务器112)。响应于接收到会话配置信息,应用服务器启动与第一用户进行的虚拟交互会话。在启动虚拟交互会话时,应用服务器向第二设备提供与第一用户进行的虚拟交互会话的指示符以供显示。该指示符可以包括交互元素,该交互元素允许第二用户通过与第一用户建立实时通信链路来加入虚拟交互会话。例如,指示符可以包括按钮,当第二用户选择该按钮时触发加入虚拟交互会话的请求的发送。更具体地,该请求可以包括在第一用户与第二用户之间建立实时通信链路的请求。
59.在一些实施方式中,指示符可以显示在可用虚拟交互会话的馈送内或由在第二设备上执行的客户端应用提供的类似用户界面元素内。在一些实施方式中,可以提供用于作为通知、弹出窗口或其他这样的用户界面元素在第二设备上显示的指示符。
60.应用服务器提供用于在第二设备处显示的指示符,直至会话持续时间到期为止。因此,在启动虚拟交互会话时,应用服务器启动计时器以测量经过的时间并将经过的时间与会话持续时间进行比较。当经过的时间达到会话持续时间时,会话持续时间到期。
61.基于从第二设备接收到在第一用户与第二用户之间建立实时通信链路的请求,应用服务器可以使得在第一设备和/或第二设备上显示将实时通信链路设置成开始的指示。例如,如图5b所示,在第二设备(设备502)上显示倒数计时器506,以通知第二用户即将与第一用户进行实时通信链路。虽然图5b仅示出了为在第二设备上显示而提供的指示,但是应当理解,在其他示例中,该指示也被提供至第一设备(设备500)。
62.继续参照图5b,现实世界环境508经由第一设备的光学元件对第一用户可见。如图5c所示,作为在第一用户与第二用户之间建立实时通信链路的一部分,应用服务器通过使得在第二设备上显示由第一设备生成的实况摄像装置馈送510来使得第二用户能够查看现实世界环境508。如所示,实况摄像装置馈送510描绘了现实世界环境508。此外,如所示,应用服务器使得在第一设备和第二设备两者上显示倒数计时器512,以提供实时通信链路中剩余时间的指示符。在该示例中,倒数计时器512提供实时通信链路中剩余时间的测量,直至微聊天持续时间到期为止。在其他示例实施方式中,倒数计时器512可以对应于虚拟交互会话中剩余的时间。
63.如上所述,当在第一用户与第二用户之间建立实时通信链路时,第二用户可以控制经由第一设备的显示器呈现给第一用户的内容。更具体地,第二用户可以查看对第一用户可见的现实世界环境508,并且经由增强现实以及口头模态与第一用户交互。为此,应用服务器启用第一设备与第二设备之间的允许第一用户与第二用户进行口头通信的音频通信链路,并且如图5d所示,应用服务器还使得在第二设备上显示一组可选择的虚拟内容项514以发送至第一设备并应用于对第一用户可见的现实世界环境508。每个虚拟内容项包括一个或更多个媒体对象(二维或三维媒体对象),所述一个或更多个媒体对象将被覆盖在经由第一设备对第一用户可见的现实世界环境508的视图上。
64.如图5e所示,基于第二用户从所述一组可选虚拟内容项514中选择虚拟内容项516,应用服务器使得在第一设备和第二设备两者处显示覆盖在现实世界环境508上的一个或更多个媒体对象。在图5e所示出的特定示例中,虚拟内容项包括下雪并且将虚拟内容项应用于现实世界环境508使得对第一用户看来好像在第一用户的位置处正在下雪。
65.在现实世界环境508经由透明显示器例如在该示例中利用第一设备对用户可见的实施方式中,应用服务器通过使得透明显示器显示一个或更多个媒体对象来将虚拟内容项应用于真实世界环境508。在现实世界环境508经由实况摄像装置馈送例如在该示例中利用第二设备呈现给用户的实施方式中,应用服务器通过增强来自由第一设备生成的实况摄像装置馈送510的图像数据以包括覆盖在现实世界环境508上的一个或更多个媒体对象,将虚拟内容项应用于现实世界环境508。
66.如图5f所示,在第一用户与第二用户之间的实时通信链路保持激活时,第二用户可以继续选择虚拟内容项以应用于经由第一设备的光学元件对第一用户可见的现实世界环境508。在图5f所示出的示例中,第二用户选择了包括在被驯鹿拉着的雪橇上的圣诞老人的第二虚拟内容项,并且响应于该选择,应用服务器将第二虚拟内容项连同第一虚拟内容项应用于对第一用户可见的现实世界环境508。
67.如图5g所示,在微聊天持续时间到期之前,应用服务器可以通过使得显示包括第一用户可以用来触发时间限度的延长的交互元素的通知518来向第一用户提供延长实时通信链路上的时间限度的能力。
68.如果第一用户没有延长时间限度,倒数计时器506将继续,并且在微聊天持续时间到期时,应用服务器终止第一用户与第二用户之间的实时链路,如图5h所示。在终止第一用户与第二用户之间的实时链路时,应用服务器终止在第二设备上显示实况摄像装置馈送510并且禁用第一设备与第二设备之间的音频通信链路。此外,如图5h所示,应用服务器还可以使得在第二设备上显示实时通信链路已经被终止的指示520,并且还可以显示交互元素522,该交互元素522使得第二用户能够触发对与第一用户的附加实时通信链路的请求的发送。
69.图6a和图6b是示出根据示例实施方式的在执行用于促进与第一设备(客户端设备102-1)相关联的第一用户和与第二设备(客户端设备102-2)相关联的第二用户之间的虚拟交互会话的方法600中,通信系统的第一设备、第二设备和服务器(应用服务器112)之间的示例交互的交互图。
70.如图6a所示,方法600在操作602处开始,在操作602中应用服务器112向客户端设备102-1提供用于显示会话配置界面(例如,会话配置界面504)的指令。客户端设备102-1在操作604处显示会话配置界面,并且在操作606处经由会话配置界面接收输入。输入定义了用于与第一用户进行的虚拟交互会话的一个或更多个配置参数。例如,输入可以指定定义客户端设备110-1与110-2之间的实时通信链路的时间限度的微聊天持续时间。客户端设备102-1向应用服务器112提供包括一个或更多个配置参数的配置数据,该配置数据在操作608处被接收。
71.响应于接收到会话配置数据,在操作610处,应用服务器112启动与第一用户进行的虚拟交互会话。在启动虚拟交互会话时,应用服务器112触发客户端设备102-1的嵌入式摄像装置的激活(操作612)并且使客户端设备102-1将由摄像装置生成的实况摄像装置馈送发送回至应用服务器112(操作614)。基于指示第一用户已经允许第二用户加入虚拟交互会话的会话配置数据,在操作616处,应用服务器112还使得通过客户端设备102-2显示虚拟交互会话的指示符。该指示符被提供至客户端设备102-2以用于显示会话持续时间,并且允许第二用户通过发送在客户端设备110-1与110-2之间建立实时通信链路的请求来加入虚拟交互会话(操作618)。
72.基于接收到在客户端设备110-1与110-2之间建立实时通信链路的请求,在操作620处,应用服务器112启用客户端设备102-1与110-2之间的实时通信链路。在建立实时通信链路时,应用服务器112启用允许用户106-1和106-2实时口头通信的在设备之间的音频通信链路。应用服务器112还使得客户端设备102-2显示由客户端设备102-1提供的实况摄像装置馈送(在操作622处),从而允许用户103-2在用户103-1的位置处查看现实世界环境并控制虚拟内容项向用户的呈现。例如,实况摄像装置馈送可以作为用户界面的一部分在客户端设备102-2上显示,该用户界面包括可以应用于经由客户端设备102-1对用户103-1可见的现实世界环境的一组可选择的虚拟内容项。
73.如图6b所示,在操作624处,在客户端设备102-2处接收对虚拟内容项的用户选择,并且指示用户选择的输入数据由客户端设备102-2提供至应用服务器112,所述输入数据在
操作626处被接收。
74.基于接收到输入数据,在操作628处,应用服务器112向客户端设备110-1和110-2使得客户端设备110-1和110-2分别在操作630和632处显示覆盖在对用户103-1可见的现实世界环境上的虚拟内容项的指令。提供至客户端设备102-1的指令使得客户端设备102-1在现实世界环境可见的显示器(例如,嵌入眼镜331中)上显示虚拟内容项。在显示器是透明显示器的实施方式中,指令使得客户端设备102-1显示虚拟内容项,并且因为显示器是透明的,所以虚拟内容项看起来覆盖在现实世界环境上。在显示器是非透明视频显示器的实施方式中,使得客户端设备102-1增强呈现给用户的实况摄像装置馈送以包括覆盖在现实世界环境上的虚拟内容项。提供至客户端设备102-2的指令使得客户端设备增强实况摄像装置馈送以包括覆盖在现实世界环境上的虚拟内容项。
75.在操作634处,应用服务器112检测会话配置数据中指定的微聊天持续时间的到期。在操作636处,基于检测到微聊天持续时间的到期,应用服务器112终止客户端设备102-1与110-2之间的实时通信链路。在终止实时通信链路时,应用服务器112终止在客户端设备102-2上显示实况摄像装置馈送并且禁用设备之间的音频通信链路。
76.图7至图9是示出根据示例实施方式的在执行用于促进与第一用户进行的虚拟交互会话的方法700时通信系统的操作的流程图。方法700可以在用于由一个或更多个处理器执行的计算机可读指令中实施,使得方法700的操作可以部分或全部地由通信系统100的功能部件执行;因此,下面将参照其以示例的方式描述方法700。然而,应当理解,方法700的至少一些操作可以部署在除了通信系统100之外的各种其他硬件配置上。
77.在操作705处,应用服务器112使得在第一设备(例如,客户端设备102-1)上显示会话配置界面(例如,会话配置界面504)。第一设备与第一用户(例如,用户103-1)相关联。会话配置界面包括用于定义与虚拟交互会话相关联的会话配置参数的一个或更多个元素。如上所述,在虚拟交互会话的情境中,由第一用户邀请的一个或更多个用户可以与第一用户建立实时通信链路以查看第一用户的位置处的现实世界环境并使用基于口头和增强两者相关的通信模态与第一用户交互。会话配置界面可以包括输入字段、切换和可以用于指定配置参数的其他用户界面输入元素的组合,所述配置参数包括:与被授权参与虚拟交互会话的其他用户相关联的用户标识符;第一用户是否要在实时通信链路建立之前批准它;定义虚拟交互会话的时间限度的会话持续时间;定义在虚拟交互会话期间建立的实时通信链路的时间限度的微聊天持续时间;以及模糊级别。
78.在操作710处,应用服务器112经由会话配置界面接收包括由第一用户指定的一个或更多个会话参数的会话配置数据。如上所述,一个或更多个配置参数可以包括与被授权参与虚拟交互会话的其他用户相关联的标识符、会话持续时间和微聊天持续时间。在一些实施方式中,一个或更多个配置参数可以包括指示是否为虚拟交互会话启用微聊天的参数。如上所述,微聊天是第一用户与第二用户之间的限时实时通信链路。在建立实时通信链路时,第二用户可以在第一用户的位置处查看现实世界环境,并且第一用户和第二用户可以经由用户的设备之间启用的音频通信链路进行口头通信。
79.在操作715处,应用服务器112启动与第一用户进行的虚拟交互会话。在启动虚拟交互会话时,应用服务器112激活耦接至第一设备的摄像装置并且使得第一设备将由摄像装置生成的实况摄像装置馈送发送回至应用服务器112。在一些实施方式中,摄像装置是第
一设备的嵌入式摄像装置。在一些实施方式中,摄像装置是第一设备的配套设备例如可穿戴设备(例如,眼镜331)的嵌入式摄像装置。
80.在操作720处,应用服务器112从第二设备接收与第一设备建立实时通信链路的请求。第二设备与第二用户相关联。应用服务器112基于指定第二用户被第一用户授权参与虚拟交互会话的会话配置数据使得第二用户能够参与实时通信链路。在一些实施方式中,可以基于指定第二用户被第一用户授权参与虚拟交互会话的会话配置数据向第二设备发送邀请。该邀请可以包括使得第二用户能够提交用于建立与第一设备的实时通信链路的请求的交互元素(例如,按钮)。
81.在操作725处,应用服务器112使得第二用户能够查看在第一用户的位置处的现实世界环境并且通过在第一设备与第二设备之间建立实时通信链路与第一用户交互。现实世界环境是在耦接至第一设备的摄像装置的视场内可见的第一用户的位置处的环境。因此,在建立实时通信链路时,应用服务器112使得在第二设备的显示器上显示实况摄像装置馈送(由摄像装置生成并由第一设备提供)。
82.在操作730处,应用服务器112终止实时通信链路。在一些实例中,应用服务器112基于从两个设备之一接收到的用户输入(例如,与终止实时通信链路的请求对应的输入)终止实时通信链路。在一些实例中,应用服务器112可以基于由会话配置数据定义的会话持续时间的到期终止实时通信链路。与一些实施方式一致,应用服务器112可以基于由会话配置数据定义的微聊天持续时间的到期终止实时通信链路。
83.如图8所示,在一些实施方式中,方法700可以包括操作805、810、815、820和825。与这些实施方式一致,可以在其中应用服务器112建立第一设备与第二设备之间的实时通信链路的操作720之后并且在其中应用服务器112终止实时通信链路的操作725之前执行操作805、810、815、820和825。另外,与一些实施方式一致,操作805、810、815、820和825可以作为独立于方法700的操作的方法的一部分来执行。
84.在操作805处,应用服务器112使得在第二设备上显示一组可选择的虚拟内容项(例如,以应用于在由第一设备提供的实况摄像装置馈送中描绘的在第一用户的位置处的现实世界环境)。每个虚拟内容项包括一个或更多个媒体对象。媒体对象可以是二维或三维的。
85.在操作810处,应用服务器112从第二设备接收用户输入,该用户输入指示第二用户从一组虚拟内容项(例如,一组可选择的虚拟内容项514)中选择一个虚拟内容项(例如,虚拟内容项516)以应用于实况摄像装置馈送中描绘的现实世界环境。
86.在操作815处,应用服务器112验证第二用户被允许将虚拟内容项应用于实况摄像装置馈送中描绘的现实世界环境。与在与第一用户进行的虚拟交互会话的情境中进行虚拟内容项选择的实施方式(例如,图8中所示出的操作作为方法700的一部分执行的实施方式)一致,应用服务器112验证第二用户被允许基于会话配置数据来应用虚拟内容项。与一些实施方式例如在该情境中进行作为独立于与第一用户进行的虚拟交互会话的独立体验的虚拟内容项选择的那些实施方式(例如,图8中所示出的操作独立于方法700的操作执行的实施方式)一致,应用服务器112可以验证第二用户被允许基于与第一用户相关联的用户配置文件数据来应用虚拟内容项。
87.在操作820处,应用服务器112使得第一设备和第二设备两者基于所选择的虚拟内
容项来呈现覆盖在由第一设备提供的实况摄像装置馈送中描绘的现实世界环境上的一个或更多个媒体对象。应用服务器112可以维护定义虚拟内容项(即,一个或更多个媒体对象)的显示的对象定义数据,并且在使得显示一个或更多个媒体对象时,应用服务器112可以向第一设备和第二设备提供虚拟内容项定义数据以及一组指令,所述一组指令使得第一设备和第二设备根据虚拟内容项定义数据来显示覆盖在现实世界环境上的一个或更多个媒体对象。
88.在一些实施方式中,第一设备是由第一用户佩戴的包括具有透明显示设备的光学元件的可穿戴设备。与这些实施方式一致,应用服务器112使得透明显示设备显示一个或更多个媒体对象,同时允许第一用户通过该设备继续查看现实世界环境。以这种方式,一个或更多个媒体对象由覆盖在现实世界环境上的透明显示设备呈现。
89.在一些实施方式中,第一设备是由第一用户佩戴的包括具有非透明视频显示设备的可穿戴设备。与这些实施方式一致,应用服务器112使得显示设备增强描绘其中虚拟内容项覆盖在其上的现实世界环境的图像数据。
90.提供至第二设备的指令使得第二设备显示包括覆盖在现实世界环境上的虚拟内容项的一个或更多个媒体对象的增强的实况摄像装置馈送。在一些实施方式中,应用服务器112可以与在第二设备上执行的客户端应用一起工作以增强来自实况摄像装置馈送的图像数据以包括覆盖在现实世界环境上的一个或更多个媒体对象。
91.与一些实施方式一致,在使得在第二设备处显示增强的实况摄像装置馈送时,应用服务器112可以例如基于由配置参数指定的模糊级别使图像的一个或多个部分模糊或以其他方式模糊。作为示例,由第二设备呈现的实况摄像装置馈送的背景可以基于模糊级别而被模糊,而实况摄像装置馈送的前景保持清楚。在另一示例中,整个图像可以基于模糊级别被均匀地模糊。
92.在操作825处,应用服务器112使得在第一设备处显示第二用户正在查看由第一设备提供的实况摄像装置馈送的指示符。该指示符可以至少包括与第二用户相关联的标识符。
93.如图9所示,在一些实施方式中,方法700可以包括操作905、910、915、920、925、930、935、940和945。与这些实施方式一致,操作905和910可以作为其中应用服务器112接收会话配置信息的操作710的一部分来执行。在操作905处,应用服务器112接收会话持续时间。会话持续时间定义了虚拟交互会话的时间限度。在操作910处,应用服务器112接收用户指定的微聊天持续时间。用户指定的微聊天持续时间定义了第一用户与第二用户之间的实时通信链路的时间限度。
94.与一些实施方式一致,操作915可以作为其中应用服务器112启动虚拟交互会话的操作715的一部分来执行。在操作910处,应用服务器112将虚拟交互会话的指示符提供至第二设备以供显示,直至会话持续时间到期为止。该指示符包括交互元素(例如,按钮),该交互元素(例如,按钮)可以由第二用户用来触发向应用服务器112发送用于建立与第一用户的实时通信链路的请求。
95.与这些实施方式一致,操作920、925和930可以作为其中应用服务器112启用第一用户与第二用户之间的实时通信链路的操作720的一部分来执行。在操作920处,应用服务器112使得在第二设备上显示由第一设备生成的实况摄像装置馈送。
96.在操作925处,应用服务器112启用第一设备与第二设备之间的实时音频通信链路。第一设备与第二设备之间的音频通信链路允许第一用户与第二用户实时口头通信。
97.在操作930处,应用服务器112使得在第一设备和第二设备处显示剩余持续时间的指示符。剩余持续时间可以对应于虚拟交互会话中的剩余时间或第一用户与第二用户之间的实时通信链路中的剩余时间,这取决于会话配置数据是否指定启用限时实时通信链路。在一些实施方式中,应用服务器112使得显示虚拟交互会话中剩余时间的指示符和实时通信链路中剩余时间的指示符两者。
98.与一些实施方式一致,操作935可以在其中应用服务器112终止第一用户与第二用户之间的实时通信链路的操作730之前执行。在操作935处,应用服务器112检测微聊天持续时间的到期。在这些实施方式中,应用服务器112基于微聊天持续时间的到期终止第一用户与第二用户之间的实时链路。
99.与这些实施方式一致,操作940和945可以作为其中应用服务器112终止第一用户与第二用户之间的实时通信链路的操作720的一部分来执行。在操作940处,应用服务器112终止实况摄像装置馈送(由第一设备生成)在第二设备上的显示。在实况摄像装置馈送的终止时,第二用户不再能够查看第一用户的现实世界环境。在操作945处,应用服务器112禁用第一设备与第二设备之间的音频通信链路,从而消除第一用户与第二用户实时口头通信的能力。在一些实施方式中,应用服务器112还可以使得在第一设备和/或第二设备上显示实时通信链路已经被终止的指示符。
100.软件架构
101.图10是示出示例软件架构1006的框图,该示例软件架构1006可以与本文中描述的各种硬件架构结合使用。图10是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文中描述的功能。软件架构1006可以在诸如图11的机器1100的硬件上执行,机器1100包括处理器1104、存储器/存储装置1106和i/o部件1118等。代表性硬件层1052被示出并且可以表示例如图11的机器1100。代表性硬件层1052包括具有相关联的可执行指令1004的处理单元1054。可执行指令1004表示软件架构1006的可执行指令,包括本文中描述的方法、部件等的实现。硬件层1052还包括也具有可执行指令1004的存储器和/或存储装置模块1056。硬件层1052还可以包括其他硬件1058。
102.在图10的示例架构中,软件架构1006可以被概念化为层的堆栈,在该层的堆栈中,每个层提供特定功能。例如,软件架构1006可以包括诸如操作系统1002、库1020、框架/中间件1018、应用1016和表示层1014的层。在操作上,层内的应用1016和/或其他部件可以调用api通过软件堆栈调用api调用1008并接收对api调用1008的响应作为消息1012。所示出的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件1018,而其他操作系统可能提供这样的层。其他软件架构可以包括附加或不同的层。
103.操作系统1002可以管理硬件资源并提供公共服务。操作系统1002可以包括例如内核1022、服务1024和驱动程序1026。内核1022可以充当硬件与其他软件层之间的抽象层。例如,内核1022可以负责存储器管理、处理器管理(例如调度)、部件管理、联网、安全设置等。服务1024可以为其他软件层提供其他公共服务。驱动程序1026负责控制底层硬件或与底层硬件对接。例如,驱动程序1026包括显示驱动程序、摄像装置驱动程序、驱动程序、
闪速存储器驱动程序、串行通信驱动程序(例如,通用串行总线(usb)驱动程序)、驱动程序、音频驱动程序、电源管理驱动程序等,这取决于硬件配置。
104.库1020提供由应用1016和/或其他部件和/或层使用的公共基础设施。库1020提供如下功能,该功能允许其他软件部件以比与底层操作系统1002的功能(例如,内核1022、服务1024、和/或驱动器1026)直接对接的方式更容易的方式来执行任务。库1020可以包括系统库1044(例如,c标准库),该系统库1044可以提供诸如存储器分配功能、字符串操作功能、数学函数等的功能。此外,库1020可以包括api库1046,例如媒体库(例如,支持诸如mpeg4、h.294、mp3、aac、amr、jpg和png的各种媒体格式的呈现和操作的库)、图形库(例如,可以用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可以提供各种关系数据库功能的sqlite)、web库(例如,可以提供web浏览功能的webkit),等等。库1020还可以包括各种各样的其他库1048,以向应用1016和其他软件部件/模块提供许多其他api。
105.框架/中间件1018提供可以由应用1016和/或其他软件部件/模块使用的更高级别的公共基础设施。例如,框架/中间件1018可以提供各种gui功能、高级资源管理、高级定位服务等等。框架/中间件1018可以提供可以由应用1016和/或其他软件部件/模块使用的广泛范围的其他api,其中一些api可以专用于特定的操作系统1002或平台。
106.应用1016包括内置应用1038和/或第三方应用1040。代表性内置应用1038的示例可以包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息应用和/或游戏应用。第三方应用1040可以包括由除了特定平台的供应商之外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android tm
、phone的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用1040可以调用由移动操作系统(例如操作系统1002)提供的api调用1008以促进本文中描述的功能。
107.应用1016可以使用内置操作系统功能(例如,内核1022、服务1024和/或驱动程序1026)、库1020以及框架/中间件1018来创建用户界面以与系统的用户交互。替选地或附加地,在一些系统中,可以通过诸如表示层1014的表示层发生与用户的交互。在这些系统中,应用/部件“逻辑”可以与应用/部件的与用户交互的方面分开。
108.图11是示出根据一些示例实施方式的机器1100的部件的框图,机器1100能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的方法中的任一种或更多种方法。具体地,图11示出了计算机系统的示例形式的机器1100的图形表示,在该机器1100中可以执行用于使机器700执行本文中讨论的方法中的任一种或更多种方法的指令1110(例如,软件、程序、应用、小程序、app或其他可执行代码)。因此,指令1110可以用于实现本文中描述的模块或部件。指令1110将通用的、未编程的机器1100转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器1100。在替选实施方式中,机器1100作为独立设备操作或可以耦接(例如,联网)至其他机器。在联网部署中,机器1100可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1100可以包括但不限于服务器计算机、客户端计算机、pc、平板计算机、膝上型计算机、上网本、机顶盒(stb)、pda、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家用电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器、或能够顺序地或以其他方式执
行指令1110的任何机器,所述指令1110指定了机器1100要采取的动作。此外,虽然仅示出了单个机器1100,但是术语“机器”也应当被视为包括单独地或联合地执行指令1110以执行本文中讨论的方法中的任一种或更多种方法的机器的集合。
109.机器1100可以包括处理器1104、存储器/存储装置1106和i/o部件1118,所述处理器1104、存储器/存储装置1106和i/o部件1118可以被配置成例如经由总线1102彼此通信。在示例实施方式中,处理器1104(例如,cpu、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、gpu、数字信号处理器(dsp)、asic、射频集成电路(rfic)、另一处理器或它们的任何合适组合)可以包括例如可以执行指令1110的处理器1108和处理器1109。虽然图11示出了多个处理器1104,但是机器1100可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或它们的任何组合。
110.存储器/存储装置1106可以包括诸如主存储器或其他存储器存储装置的存储器1112以及存储单元1114,处理器1104能够例如经由总线1102访问存储器1112和存储单元1114两者。存储单元1114和存储器1112存储体现本文中描述的方法或功能中的任一种或更多种方法或功能的指令1110。指令1110还可以在其被机器1100执行期间完全地或部分地驻留在存储器1112内、存储单元1114内、处理器1104中的至少一个内(例如,处理器的高速缓冲存储器内)或它们的任何合适组合内。因此,存储器1112、存储单元1114以及处理器1104的存储器是机器可读介质的示例。
111.i/o部件1118可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的部件。包括在特定机器1100中的特定i/o部件1118将取决于机器的类型。例如,诸如移动电话的便携式机器可能会包括触摸输入设备或其他这样的输入机构,而无头服务器机器可能不会包括这样的触摸输入设备。应当理解,i/o部件1118可以包括图11中未示出的许多其他部件。i/o部件1118仅为了简化以下讨论而根据功能被分组,并且该分组绝不是限制性的。在各种示例实施方式中,i/o部件1118可以包括输出部件1126和输入部件1128。输出部件1126可以包括视觉部件(例如,诸如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt)的显示器)、听觉部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号生成器,等等。输入部件1128可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏显示器、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸位置和/或触摸力或触摸姿势的触摸屏显示器或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
112.在另外的示例实施方式中,i/o部件1118可以包括生物计量部件1130、运动部件1134、环境部件1136或定位部件1138等各种其他部件。例如,生物计量部件1130可以包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1134可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等等。环境部件1136可以包括例如照明传感器部件(例如光度计)、温度传感器部件(例如检测周围温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、听觉传感器部件(例如,检测背
景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。定位部件1138可以包括位置传感器部件(例如,全球定位系统(gps)接收器部件)、海拔传感器部件(例如,检测可以得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
113.可以使用各种各样的技术来实现通信。i/o部件1118可以包括通信部件1140,该通信部件1140能够操作以分别经由耦接1124和耦接1122将机器1100耦接至网络1132或设备1120。例如,通信部件1140可以包括网络接口部件或用于与网络1132对接的其他合适的设备。在另外的示例中,通信部件1140可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低功耗)、部件和用于经由其他形式提供通信的其他通信部件。设备1120可以是另一个机器或任意各种各样的外围设备(例如,经由usb耦接的外围设备)。
114.此外,通信部件1140可以检测标识符或者可以包括能够操作以检测标识符的部件。例如,通信部件1140可以包括射频识别(rfid)标签读取器部件、nfc智能标签检测部件、光学读取器部件(例如,用于检测诸如通用产品代码(upc)条的一维条形码、诸如快速反应(qr)码的多维条形码、aztec码、数据矩阵、数据符号(dataglyph)、最大码(maxicode)、pdf4114、超码(ultra code)、ucc rss-2d条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信部件1140得到各种信息,例如经由因特网协议(ip)地理位置得到位置、经由信号三角测量得到位置、经由检测可以指示特定位置的nfc信标信号得到位置等。
115.术语表
116.该上下文中的“载体信号”指代能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口设备并且使用多个公知的传输协议中的任何一个来通过网络发送或接收指令。
117.该上下文中的“客户端设备”指代与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、pda、智能电话、平板计算机、超极本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子系统、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
118.该上下文中的“通信网络”指代网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络或两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且与网络的耦接可以是码分多址(cdma)连接、全局移动通信系统(gsm)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强数据速率的gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、
第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
119.该上下文中的“机器可读介质”指代能够临时或永久地存储指令和数据的部件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eprom))和/或它们的任何合适的组合。术语“机器可读介质”应当被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还应当被视为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或更多个处理器执行时使机器执行本文中描述的任一种或更多种方法。因此,“机器可读介质”指代单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
120.该上下文中的“部件”指代具有由功能或子例程调用、分支点、api或者对特定处理或控制功能提供分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的封装功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。
[0121]“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或一组处理器)可以通过软件(例如,应用或应用部分)被配置为用于执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是例如现场可编程门阵列(fpga)或asic的专用处理器。硬件部件还可以包括通过软件被短暂配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。
[0122]
一旦通过这样的软件而配置,硬件部件就成为被独特地定制成执行所配置功能的特定机器(或机器的特定部件),而不再是通用处理器。应当理解,可以通过成本和时间考虑来驱动在专用且永久配置的电路系统中或在临时配置的电路系统(例如,由软件进行配置)中机械地实现硬件部件的决策。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或暂时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。
[0123]
考虑到硬件部件被临时配置(例如,被编程)的实施方式,无需在任一时刻对每一个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个特定处理器或多个特定处理器以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。
[0124]
硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。相应地,
所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件能够访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作并且将该操作的输出存储在其通信地耦接至的存储器设备中。然后,其他硬件部件可以在随后的时间处访问存储器设备以检索所存储的输出并对其进行处理。硬件部件还可以启动与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。
[0125]
本文中描述的示例方法的各种操作可以至少部分地由临时配置(例如,由软件)或永久配置成执行相关操作的一个或更多个处理器来执行。无论是短暂配置还是永久配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中所使用的,“处理器实现的部件”指代使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或者处理器实现的部件来执行。
[0126]
此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(saas)操作。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,应用编程接口(api))进行访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是跨多个机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理位置分布。
[0127]
该上下文中的“处理器”指代根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生相对应的输出信号的任何电路或虚拟电路(通过在实际处理器上执行的逻辑模拟的物理电路),该输出信号被用于操作机器。例如,处理器可以是cpu、risc处理器、cisc处理器、gpu、dsp、asic、rfic或它们的任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时被称为“核”)的多核处理器。
[0128]
该上下文中的“时间戳”指代标识某个事件何时发生(例如,给出日期和一天中的时间)的一系列字符或编码信息,有时精确到几分之一秒。
再多了解一些

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

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

相关文献