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

基于上下文的增强现实通信的制作方法

2023-02-02 03:57:57 来源:中国专利 TAG:

基于上下文的增强现实通信
1.相关申请的交叉引用
2.本技术要求于2021年3月23日提交的美国专利申请序列第17/210,291号和于2020年3月31日提交的美国临时申请序列第63/002,849号的优先权的权益,所述美国专利申请和美国临时申请中的每一个通过引用整体并入本文中。
技术领域
3.本公开内容总体上涉及移动和可穿戴计算技术。特别地,本公开内容的示例实施方式提出了有助于网络上的多个用户之间的基于上下文的增强现实通信的系统、方法和用户界面。


背景技术:

4.诸如“智能”眼镜的许多可穿戴和移动设备包括嵌入式摄像装置。使用这些类型的设备实现的虚拟渲染系统可以用于创建引人入胜且有趣的增强现实体验,在增强现实体验中,三维(3d)媒体对象图形内容好像存在于真实世界中。
附图说明
5.为了容易地标识对任何特定元件或动作的讨论,附图标记中的一个最高有效数字或多个最高有效数字是指该元件或动作首次被引入的图号。
6.图1是根据一些示例实施方式的可以部署本公开内容的联网环境的图形表示。
7.图2是根据一些示例实施方式的通信系统的图形表示。
8.图3是示出根据一些示例实施方式的用于在基于上下文的增强现实通信中使用的可穿戴设备的图。
9.图4是示出根据一些示例实施方式的可穿戴设备的各方面的框图。
10.图5是示出根据示例实施方式的在执行用于有助于两个用户之间的基于上下文的增强现实通信的方法时通信系统的部件之间的示例交互的交互图。
11.图6是示出根据示例实施方式的在执行用于有助于两个用户之间的基于上下文的增强现实通信的方法时通信系统的操作的流程图。
12.图7是示出根据示例实施方式的可以结合本文中描述的各种硬件架构使用的代表性软件架构的框图。
13.图8是示出根据示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种的机器的部件的框图。
具体实施方式
14.下面的描述包括实施本公开内容的说明性实施方式的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对本发明主题的各种实施方式的理解。然而,对于本领域技术人员而言明显的是,可以在没有这
些具体细节的情况下实践本发明主题的实施方式。通常,不一定详细示出公知的指令实例、协议、结构和技术。
15.此外,本公开内容的实施方式通过创建使得用户能够进行基于上下文的通信的增强现实体验来改进虚拟渲染系统的功能。这些基于上下文的通信通过允许用户建立用于触发将虚拟内容项应用于真实世界环境的彼此的视图的标准来实现。这些触发标准涉及关于接收方用户的周围环境的上下文信息(例如,周围环境中的位置、时间、天气状况和对象)。
16.作为示例,第一用户可以穿戴包括摄像装置和光学元件的可穿戴设备,光学元件包括透明显示器,通过该透明显示器,真实世界环境对第一用户可见。第二用户使用可以使用在第二设备(例如,智能电话或可穿戴设备)上执行的应用的用户界面来选择虚拟内容项并且将第一用户指定为虚拟内容项的接收方。虚拟内容项包括一个或更多个媒体对象。第二用户还可以建立一个或更多个标准来触发将虚拟内容项应用于对第一用户可见的真实世界环境。
17.基于第一用户被识别为虚拟内容项的接收方用户,通信系统监测与可穿戴设备相关联的上下文数据以检测触发事件。当基于上下文数据满足一个或更多个标准时,触发事件发生。响应于检测到触发事件,通信系统通过使第一用户的可穿戴设备的透明显示器呈现一个或更多个媒体对象来使第二用户选择的虚拟内容项能够应用于对第一用户可见的真实世界环境。以这种方式,一个或更多个媒体对象呈现给第一用户,好像它们存在于真实世界环境中一样。
18.在示例中,是第一用户的生日,并且第二用户想要用生日愿望使第一用户惊喜。第二用户知道第一用户每天喝咖啡,因此第一用户选择包括五彩碎屑的第一虚拟内容项,并且配置用于应用该虚拟内容项的标准,使得第一用户的真实世界环境中的标志的出现触发叠加在对第一用户可见的真实世界环境上的五彩碎屑的呈现。第二用户还可以选择包括气球的第二虚拟内容项,并且建立第一用户的办公室的位置作为用于对气球进行渲染的触发。另外,第二用户可以选择包括烟花的第三虚拟内容项,并且配置触发标准,使得烟花在下午6点呈现给第一用户。当第一用户以咖啡开始他们的一天时,第一用户被由他们的可穿戴设备的透明显示器呈现的五彩碎屑惊喜。当第一用户到达他们的办公室时,他们再次被由他们的可穿戴设备的透明显示器呈现的气球惊喜。下午6点,当第一用户离开办公室时,第三虚拟内容项的呈现使得第一用户觉得天空被烟花照亮。以这种方式,第二用户能够使用第一用户的上下文(出现在第一用户的现实环境中的位置、时间和对象)以增强现实与第一用户通信。
19.图1是示出用于通过网络来交换数据(例如消息和相关联的内容)的示例通信系统100的框图。通信系统100包括客户端设备102的多个实例,每个实例托管包括通信客户端应用104的多个应用。每个通信客户端应用104经由网络106(例如,因特网)通信上耦接至通信客户端应用104的其他实例和通信服务器系统108。
20.通信客户端应用104能够经由网络106与另一通信客户端应用104和通信服务器系统108进行通信和交换数据。在通信客户端应用104之间以及在通信客户端应用104与通信服务器系统108之间交换的数据包括函数(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
21.通信服务器系统108经由网络106向特定通信客户端应用104提供服务器侧功能。
虽然通信系统100的某些功能在本文中被描述为由通信客户端应用104或由通信服务器系统108执行,但是通信客户端应用104或通信服务器系统108内的某些功能的位置是设计选择。例如,在技术上可能优选的是:最初在通信服务器系统108内部署某些技术和功能,但是后面将该技术和功能迁移至客户端设备102具有足够处理能力的通信客户端应用104。
22.通信服务器系统108支持提供给通信客户端应用104的各种服务和操作。这样的操作包括向通信客户端应用104发送数据、从通信客户端应用104接收数据以及对由通信客户端应用104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持久化条件、社交网络信息和实况活动信息。通过经由通信客户端应用104的用户界面(ui)可用的功能来调用和控制通信系统100内的数据交换。
23.具体地,现在转至通信服务器系统108,应用程序接口(api)服务器110耦接至应用服务器112并且向应用服务器112提供编程接口。应用服务器112通信上耦接至数据库服务器118,数据库服务器118有助于访问其中存储有与由应用服务器112处理的消息相关联的数据的数据库120。
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.通信服务器应用114还有助于用户之间的基于上下文的增强现实通信。在示例中,客户端设备102-2是由用户103-2穿戴的可穿戴设备(例如,智能眼镜),该可穿戴设备包括摄像装置和光学元件,光学元件包括透明显示器,通过该透明显示器,真实世界环境对用户103-2可见。通信服务器应用114可以使客户端设备102-1显示可以应用于对用户103-2可见的真实世界环境的一组可选择的虚拟内容项。每个虚拟内容项包括一个或更多个媒体对象。通过使客户端设备102-2的光学元件中的透明显示器显示一个或更多个虚拟对象,由用户103-1选择的虚拟内容项可以应用于对用户103-2可见的真实世界环境。以这种方式,一个或更多个媒体对象呈现给第一用户,好像它们存在于真实世界环境中一样。此外,用户
103-1可以建立一组基于上下文的标准(例如,真实世界环境中的时间、位置或对象),以用于触发将虚拟内容项应用于对用户103-2可见的真实世界环境。以下讨论关于基于上下文的增强现实通信的进一步的细节。
27.应用服务器112还包括专用于执行各种图像处理操作的图像处理系统116,所述图像处理操作通常关于由客户端设备102-2的实例生成和显示的图像或视频。例如,在用户103-1定义了用于将虚拟内容项应用于包括存在于用户103-2的视图中的特定对象的用户103-2的视图的标准的情况下,图像处理系统116可以执行许多已知的图像分析技术中的一种以识别在客户端设备102-2处生成的图像数据中的对象。
28.社交网络系统122支持各种社交联网功能服务,并且使这些功能和服务对通信服务器应用114可用。为此,社交网络系统122维护和访问数据库120内的实体图。社交网络系统122所支持的功能和服务的示例包括识别特定用户与之有关系或特定用户所“关注”的通信系统100的其他用户,以及还识别特定用户的兴趣以及其他实体。
29.应用服务器112通信上耦接至数据库服务器118,该数据库服务器118有助于访问数据库120,在数据库120中存储有与由通信服务器应用114处理的消息相关联的数据。
30.图2是示出根据示例实施方式的关于通信系统100的更多细节的框图。具体地,通信系统100被示出为包括客户端应用104和应用服务器112,客户端应用104和应用服务器112又包含了若干子系统,即暂时定时器系统202、集合管理系统204和虚拟渲染系统206。
31.暂时定时器系统202负责执行对客户端应用104和应用服务器112所允许的内容的临时访问。为此,暂时定时器系统202结合了多个定时器,所述多个定时器基于与消息或消息的集合(例如,故事)相关联的显示参数以及持续时间,选择性地显示消息和相关联的内容以及使得能够经由客户端应用104访问消息和相关联内容。
32.集合管理系统204负责管理媒体的集合(例如,文本、图像、视频和音频数据的集合)。在一些示例中,可以将内容(例如,消息,包括图像、视频、文本和音频)的集合组织成“事件库”或“事件故事”。可以使这样的集合在指定时间段例如与内容有关的事件的持续时间内可用。例如,可以在音乐会的持续时间内使与音乐会有关的内容作为“故事”可用。
33.此外,集合管理系统204还包括策展接口208,策展接口208允许集合管理器管理和策展特定内容集合。例如,策展接口208使得事件组织者能够策展与特定事件有关的内容的集合(例如,删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。
34.虚拟渲染系统206提供使得用户能够增强或以其他方式修改或编辑媒体内容(例如,包括图像数据和/或音频数据)的各种功能。例如,虚拟渲染系统206无论是通过在通过其使真实世界环境可见的透明显示器上显示媒体对象,还是通过增强图像数据以包括叠加在其中描绘的真实世界环境上的媒体对象,来提供与将虚拟内容项应用于真实世界环境有关的功能。虚拟内容项可以包括一个或更多个媒体对象。虚拟内容项可以存储在数据库120中并且通过数据库服务器118访问。
35.媒体对象可以是可添加至图像或视频的实时特殊效果和声音。媒体对象、叠加、图像变换、增强现实图像和类似术语是指可以对视频或图像进行的修改。这包括实时修改,实时修改在使用设备传感器捕获图像时修改该图像,并且然后将具有修改的图像显示在设备的屏幕上。这还包括对所存储的内容的修改,例如对可以被修改的库中的视频剪辑的修改。
例如,在访问多个媒体对象的设备中,用户可以使用具有多个媒体对象的单个视频剪辑来查看不同的媒体对象将如何修改所存储的剪辑。例如,可以通过为内容选择不同的媒体对象来将应用不同伪随机移动模型的多个媒体对象应用于相同的内容。类似地,实时视频捕获可以与示出的修改一起使用,以显示当前由设备的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改(或两者)的情况下被记录并被存储在存储器中。在一些系统中,预览功能可以同时在显示器中的不同窗口内示出不同的媒体对象看起来如何。例如,这可以使得能够同时在显示器上查看具有不同伪随机动画的多个窗口。
36.因此,数据以及利用该数据使用媒体对象或其他这样的转换系统来修改内容的各种系统可以涉及:对对象(例如,面部、手、身体、猫、狗、表面、物体等)进行检测,在这样的对象在视频帧中离开视场、进入视场和在视场周围移动时跟踪这样的对象,以及在跟踪这样的对象时对其进行修改或转换。在各种实施方式中,可以使用用于实现这样的转换的不同方法。例如,一些实施方式可能涉及生成一个或更多个对象的三维网格模型,并使用视频中模型的转换和动画纹理来实现转换。在其他实施方式中,对象上的点的跟踪可以用于将图像或纹理(其可以是二维或三维的)放置在所跟踪的位置处。在又一实施方式中,视频帧的神经网络分析可以用于将图像、模型或纹理放置在内容(例如,视频的图像或帧)中。因此,媒体对象既指用于创建内容的转换的图像、模型和纹理,也指通过对象检测、跟踪和放置实现这样的转换所需的附加建模和分析信息。。
37.可以利用保存在任何种类的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。此外,可以使用计算机动画模型来处理任何对象,例如人的面部和人身体的各部分、动物或非生物,例如椅子、汽车或其他对象。
38.在一些实施方式中,当与要转换的内容一起选择特定的修改时,由计算设备识别要转换的元素,并且然后在要转换的元素存在于视频的帧中的情况下对要转换的元素进行检测和跟踪。根据修改请求修改对象的元素,因此转换视频流的帧。可以通过用于不同种类的转换的不同方法来执行视频流的帧的转换。例如,对于主要涉及改变对象元素形式的帧转换,计算对象的元素中的每一个的特征点(例如,使用主动形状模型(asm)或其他已知方法)。然后,针对对象的至少一个元素中的每一个生成基于特征点的网格。该网格用于跟踪视频流中的对象元素的后续阶段。在跟踪过程中,所提及的每个元素的网格与每个元素的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改的请求针对每个元素生成第二点的集合。然后,可以通过基于第一点的集合和第二点的集合以及网格修改对象的元素,对视频流的帧进行转换。在这样的方法中,也可以通过跟踪和修改背景来改变或扭曲经修改的对象的背景。
39.在一个或更多个实施方式中,可以通过计算对象的每个元素的特征点并基于所计算的特征点生成网格,来执行使用对象的元素来改变对象的一些区域的转换。在网格上生成点,并且然后生成基于点的各种区域。然后,通过将每个元素的区域与至少一个元素中的每一个的位置对准来跟踪对象的元素,并且可以基于修改的请求来修改区域的属性,从而转换视频流的帧。根据具体的修改请求,所提及的区域的属性可以以不同的方式进行转换。
这样的修改可以涉及:改变区域的颜色;从视频流的帧中移除至少部分区域;将一个或更多个新对象包括在基于修改请求的区域中;以及修改或扭曲区域或对象的元素。在各种实施方式中,可以使用这样的修改的任何组合或其他类似修改。对于要被动画化的某些模型,可以选择一些特征点作为控制点,以用于确定用于模型动画的选项的整个状态空间。
40.在使用面部检测来转换图像数据的计算机动画模型的一些实施方式中,使用特定的面部检测算法(例如,viola-jones)在图像上检测面部。然后,将主动形状模型(asm)算法应用于图像的面部区域以检测面部特征参考点。
41.在其他实施方式中,可以使用其他适合面部检测的方法和算法。例如,在一些实施方式中,使用表示在所考虑的大多数图像中存在的可区别点的界标(landmark)来定位特征。例如,对于面部界标,可以使用左眼瞳孔的定位。在初始界标不可识别时(例如,如果人具有眼罩),可以使用次级界标。这样的界标识别过程可以用于任何这样的对象。在一些实施方式中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为矢量。一个形状利用相似转换(允许平移、缩放和旋转)与另一个形状对准,该相似转换使形状点之间的平均欧几里德距离最小化。平均形状是对准的训练形状的平均。
42.在一些实施方式中,开始从与由全局面部检测器确定的面部的位置和大小对准的平均形状中搜索界标。然后,这样的搜索重复以下步骤:通过每个点周围的图像纹理的模板匹配来调整形状点的定位而建议暂定形状,并且然后使暂定形状符合全局形状模型,直至发生收敛。在一些系统中,单独的模板匹配是不可靠的,并且形状模型将弱模板匹配器的结果进行池化,以形成更强的整体分类器。整个搜索从粗略分辨率到精细分辨率在图像金字塔的每个级别上重复。
43.转换系统的实施方式可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并且在客户端设备102上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状改变、情绪转移(例如,将面部从皱眉改变为微笑)、状态转移(例如,使被摄体变老、减小表观年龄、改变性别)、风格转移、图形元素应用,以及由已经被配置成在客户端设备102上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
44.在一些示例实施方式中,用于转换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用客户端设备102捕获用户的图像或视频流(例如,自拍照),该客户端设备102具有作为在客户端设备102上操作的客户端应用104的一部分操作的神经网络。在客户端应用104内操作的转换系统确定图像或视频流中的面部的存在并提供与计算机动画模型相关联的修改图标以转换图像数据或者计算机动画模型可以被呈现为与本文中描述的界面相关联。修改图标包括改变,该改变可以是作为修改操作的一部分来修改图像或视频流中的用户面部的基础。一旦选择了修改图标,转换系统就发起将用户的图像变换以反映所选择的修改图标(例如,在用户上生成笑脸)的过程。在一些实施方式中,一旦捕获了图像或视频流并且选择了指定的修改,就可以在移动客户端设备上显示的图形用户界面中呈现修改后的图像或视频流。转换系统可以对图像或视频流的一部分实施复杂的卷积神经网络,以生成并应用所选择的修改。也就是说,一旦选择了修改图标,用户可以捕获图像或视频流,并且实时或接近实时地被呈现修改的结果。此外,当正在捕获视频流时,修改可以是持久的,并且所选择的修改图标保持被切换。机器教导的神经网络可以用于实现这
样的修改。
45.图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可观看的真实世界环境上。
46.框架332另外包括左臂件或左镜腿件346和右臂件或右镜腿件347,它们通过诸如铰链(未示出)的任何合适器件耦接至前件333的相应的左端部341和右端部342,以耦接至前件333或者刚性地或可固定地固定至前件333,从而与前件333成一体。镜腿件346和镜腿件347中的每一个可以包括第一部分351和任何合适的第二部分352,第一部分351耦接至前件333的相应端部341或342,第二部分352例如是弯曲或弓形件,用于耦接至用户的耳朵。在一个实施方式中,前件333可以由单件材料形成,以具有统一或一体的构造。在一个实施方式中,整个框架332可以由单件材料形成,以具有统一或一体的构造。
47.眼镜331可以包括诸如计算机361的设备,该设备可以具有任何合适的类型以由框架332携载,并且在一个实施方式中,该设备具有合适的大小和形状以至少部分地设置在镜腿件346和镜腿件347之一中。在一个实施方式中,计算机361具有与镜腿件346、镜腿件347之一的大小和形状类似的大小和形状,并且因此即使不是完全地也几乎完全地设置在这样的镜腿件346和镜腿件347的结构和界限内。在一个实施方式中,计算机361可以设置在镜腿件346、镜腿件347的两个中。计算机361可以包括一个或更多个处理器以及存储器、无线通信电路和电源。计算机361包括低功率电路、高速电路和显示处理器。各种其他实施方式可以包括不同配置或以不同方式集成在一起的这些元件。
48.计算机361另外包括电池362或其他合适的便携式电力供应装置。在一个实施方式中,电池362设置在镜腿件346或镜腿件347之一中。在图3所示的眼镜331中,电池362被示出为设置在左镜腿件346中,并且使用连接件374电耦接至设置在右镜腿件347中的计算机361的其余部分。一个或更多个i/o设备可以包括适合于为电池362充电的可从框架332的外部访问的连接器或端口(未示出)、无线接收器、发射器或收发器(未示出)或者这样的设备的组合。给定眼镜331和计算机361的有限大小,诸如视频流的资源密集操作可以快速地消耗电池362并且可能是计算机361的一个或更多个处理器上的可能导致过热的应变。
49.眼镜331包括数字摄像装置367。虽然示出了两个摄像装置367,但是其他实施方式考虑使用单个或附加(即,多于两个)摄像装置。为了便于描述,将参考仅单个摄像装置367来进一步描述与摄像装置367相关的各种特征,但是应当理解,在合适的实施方式中,这些特征可以应用于两个摄像装置367。
50.与一些实施方式一致,眼镜331是客户端设备102的示例,并且可以由用户103-1穿戴。此外,在这些实施方式中,用户103-2可以观看由摄像装置367生成的实况摄像装置馈送并且通过使虚拟内容项添加至经由眼镜331对用户103-1可见的真实世界环境来与用户103-2交互。即,与由用户103-2选择的虚拟内容项的一个或更多个媒体对象可以由集成近眼显示机构显示,该集成近眼显示机构使得媒体对象能够叠加在可通过光学元件343和光学元件344观看的真实世界环境上。
51.在各种实施方式中,除了摄像装置367之外,眼镜331可以包括任何数目的输入传感器或外围设备。前件333设置有:当眼镜331安装在用户的面部上时面向前方或远离用户的面向外的、面向前方的、前或外表面366;以及当眼镜331安装在用户的面部上时面向用户(例如,用户103-1)的面部的相对的面向内的、面向后方的、后或内表面369。这样的传感器可以包括:面向内的视频传感器或数字成像模块例如摄像装置,其可以安装在前件333的内表面369上或设置在前件333的内表面369内或者框架332上的其他地方,以面向用户;以及面向外的视频传感器或数字成像模块例如摄像装置367,其可以安装在前件333的外表面366上或设置有前件333的外表面366或者框架332上的其他地方,以背离用户。这样的传感器、外围设备或外围装置可以另外包括生物计量传感器、位置传感器、加速度计或任何其他这样的传感器。
52.眼镜331还包括摄像装置控制机构或用户输入机构的示例实施方式,摄像装置控制机构或用户输入机构包括安装在框架332上的摄像装置控制按钮,用于用户的触觉或手动参与。摄像装置控制按钮提供了双模态或单动作机构,因为其仅在两种状态即参与状态与空闲状态之间可由用户设置。在该示例实施方式中,摄像装置控制按钮是默认处于空闲状态的按钮,可由用户按压以将其设置成参与状态。当释放按下的摄像装置控制按钮时,它自动返回至空闲状态。
53.在其他实施方式中,可以替代地由例如触敏按钮来提供单动作输入机构,该触敏按钮包括安装在框架332上的与其表面相邻的电容传感器,用于检测用户的手指的存在,以在用户将手指触摸到框架332的外表面上的对应点时将触敏按钮设置成参与状态。将理解的是,上述摄像装置控制按钮和电容式触摸按钮仅是用于摄像装置367的单动作控制的触觉输入机构的两个示例,并且其他实施方式可以采用不同的单动作触觉控制布置。
54.图4是示出根据一些示例实施方式的眼镜331的示例形式的可穿戴设备的各方面的框图。眼镜331的计算机361包括与板上存储器426通信的中央处理器421。中央处理器421可以是cpu和/或图形处理单元(gpu)。该示例性实施方式中的存储器426包括闪存和随机存取存储器的组合。
55.眼镜331还包括与中央处理器421和摄像装置367通信的摄像装置控制器414。摄像装置控制器414包括电路,电路被配置成:基于对从包括摄像装置控制按钮的单动作输入机构接收的控制信号的处理来控制对照片内容或视频内容的记录;并且提供对与由摄像装置367进行图像数据的捕获有关的一个或更多个图像捕获参数的自动调整,以及在图像数据的持久存储和/或将图像数据呈现给用户以供观看或预览之前对图像数据的板上处理。
56.在一些实施方式中,摄像装置控制器414包括永久配置的电路,例如被配置成执行本文描述的各种功能的固件或专用集成电路(asic)。在其他实施方式中,摄像装置控制器414可以包括执行指令的动态可重配置处理器,该动态可重配置处理器临时配置处理器以
执行本文中描述的各种功能。
57.摄像装置控制器414与存储器426交互以存储、组织和呈现照片内容和视频内容形式的图像内容。为此,该示例性实施方式中的存储器426包括照片内容存储器428和视频内容存储器442。因此,摄像装置控制器414与中央处理器421协作,被配置成:从摄像装置367接收表示由摄像装置367根据图像捕获参数中的一些产生的数字图像的图像数据;根据图像捕获参数中的一些处理图像数据;并且将经处理的图像数据存储在照片内容存储器428和视频内容存储器442中适当的一个中。
58.摄像装置控制器414还被配置成与显示控制器449协作,以使得在结合在眼镜331中的显示机构上显示存储器426中的所选照片和视频,并且因此提供所捕获照片和视频的预览。在一些实施方式中,摄像装置控制器414将对使用自动分类参数捕获的图像的处理进行管理以包括在视频文件中。
59.单动作输入机构435通信上耦接至中央处理器421和摄像装置控制器414,以传送表示摄像装置控制按钮的当前状态的信号,并且由此向摄像装置控制器414传送摄像装置控制按钮当前是否被按下。摄像装置控制器414还与中央处理器421进行关于从单动作输入机构435接收的输入信号的通信。在一个实施方式中,摄像装置控制器414被配置成处理经由单动作输入机构435接收的输入信号,以确定参与摄像装置控制按钮的特定用户是否导致视频内容或照片内容的记录并且/或者基于输入信号的处理动态地调整一个或更多个图像捕获参数。例如,在持续存储和显示所捕获的视频内容之前,按压摄像装置控制按钮长于预定阈值持续时间使得摄像装置控制器414对所捕获的视频内容自动应用相对较不严格的视频处理。相反地,在这样的实施方式中,按压摄像装置控制按钮短于阈值持续时间使得摄像装置控制器414向表示一个或更多个静止图像的图像数据自动应用相对更严格的照片稳定化处理。
60.眼镜331可以是能够独立操作的独立客户端设备,或者可以是与主设备一起工作以卸载密集处理和/或通过网络106与通信服务器系统108交换数据的伴随设备。眼镜331还可以包括诸如智能眼镜或智能电话的移动电子设备所共有的各种部件(例如,包括用于对视觉媒体(包括由摄像装置367捕获的照片和视频内容)在结合在设备中的显示机构上的显示进行控制的显示控制器)。注意,图4的示意图不是形成眼镜331的部分的所有部件的详尽表示。
61.图5是示出根据示例实施方式的在执行用于有助于与第一设备(客户端设备102-1)相关联的第一用户(用户103-1)和与第二设备(客户端设备102-2)相关联的第二用户(用户103-2)之间的基于上下文的增强现实通信的方法500时通信系统的第一设备(客户端设备102-1)、第二设备(客户端设备102-2)和服务器(应用服务器112)之间的示例交互的交互图。
62.如图所示,方法500开始于操作502,在操作502处,应用服务器112向客户端设备102-1提供用于显示虚拟内容项配置界面的指令。在操作504处,客户端设备102-1显示虚拟内容项配置界面。为了使客户端设备102-1显示虚拟内容项配置界面,应用服务器112向客户端设备102-1发送一组指令,当客户端设备102-1执行该组指令时,使客户端设备102-1显示虚拟内容项配置界面。应当理解,在一些实施方式中,客户端设备102-1可以在不从应用服务器112接收指令的情况下显示虚拟内容项配置界面。在这些实施方式中,在客户端设备
102-1上执行的客户端应用(104)使客户端设备102-1使用本地存储的数据显示虚拟内容项配置界面。
63.虚拟内容项配置界面允许用户103-1选择应用于对用户103-2可见的真实世界环境的虚拟内容项。为此,虚拟内容项配置界面包括一组可选择的虚拟内容项、用于接收与要接收虚拟内容项的用户相对应的一个或更多个用户标识符的元素、以及用于定义触发将虚拟内容项应用于真实世界环境的标准的一个或更多个元素。
64.在操作506处,应用服务器112经由虚拟内容项配置界面接收输入。该输入包括与用户103-2对应的标识符、由用户103-1选择的虚拟内容项、以及触发将虚拟内容项应用于经由客户端设备102-2对用户103-2可见的真实世界环境的一个或更多个标准。
65.客户端设备102-1将基于经由虚拟内容项配置界面接收到的输入而生成的虚拟内容项配置数据提供给应用服务器112,在操作508处接收该虚拟内容项配置数据。虚拟内容项配置数据包括与用户103-2对应的标识符、由用户103-1选择的虚拟内容项、以及触发虚拟内容项的应用的一个或更多个标准。
66.响应于接收到虚拟内容项配置数据,在操作510处,应用服务器112监测与客户端设备102-2相关联的上下文数据,以基于一个或更多个标准来检测触发虚拟内容项的应用的事件,所述上下文数据中的至少一些在客户端设备102-2处生成(在操作512处)。应用服务器112特别地基于包括在虚拟内容项配置数据中的与客户端设备102-2相关联的用户103-2的标识符来监测与客户端设备102-2相关联的上下文数据。上下文数据提供与用户103-2所穿戴的客户端设备102-2周围的环境相关的信息。上下文数据可以例如包括:用户输入数据;生物计量数据;运动数据;环境数据;定位数据;暂存数据;天气数据;描述事件的事件数据;描述客户端设备102-2的位置的位置数据;在客户端设备102-2处生成的图像数据;以及由所述设备产生的音频数据。
67.操作514处,应用服务器112基于上下文数据检测触发事件。更具体地,应用服务器112基于满足由用户103-1在配置虚拟内容项时建立的一个或更多个标准的上下文数据来检测触发事件。
68.基于检测到触发事件,在操作516处,应用服务器112向客户端设备102-2提供指令,该指令使客户端设备102-2在操作516处显示叠加在对用户103-2可见的真实世界环境上的虚拟内容项。在操作518处,提供给客户端设备102-2的指令使客户端设备102-2在通过其使真实世界环境对用户103-2可见的透明显示器(例如,嵌入在眼镜331中)上呈现虚拟内容项。
69.图6是示出根据示例实施方式的在执行用于有助于用户之间的基于上下文的增强现实通信的方法600时的通信系统的操作的流程图。方法600可以以计算机可读指令实施以用于由一个或更多个处理器执行,使得方法600的操作可以部分地或全部地由通信系统100的功能部件执行;因此,下面参照其通过示例的方式描述方法600。然而,应当理解,方法600的操作中的至少一些可以部署在除了通信系统100之外的各种其他硬件配置上。
70.在操作605处,应用服务器112使得在第一设备(例如,客户端设备102-1)上显示虚拟内容项配置界面。第一设备与第一用户(例如,用户103-1)相关联。虚拟内容项配置界面允许第一用户选择虚拟内容项以应用于对一个或更多个用户可见的真实世界环境。为此,虚拟内容项配置界面包括一组可选择的虚拟内容项和用于接收与要接收虚拟内容项的用
户相对应的一个或更多个用户标识符的元素。每个虚拟内容项包括一个或更多个媒体对象。媒体对象可以是二维或三维的。
71.虚拟内容项配置界面还包括用于定义触发将虚拟内容项应用于真实世界环境的标准的一个或更多个元素。因此,虚拟内容项配置界面可以包括以下的组合:输入字段、切换键和可以用于指定虚拟内容项标准的其他用户界面输入元素。用于触发虚拟内容项的应用的标准涉及关于在将虚拟内容项呈现给用户的设备周围的环境的上下文信息。例如,标准可以基于以下中的一个或更多个:用户输入数据;生物计量数据;运动数据;环境数据;定位数据;暂存数据;描述事件的事件数据;描述设备的位置的位置数据;在设备处生成的图像数据的视觉属性;在设备处生成的图像数据中检测到的对象;在设备处生成的动作或手势检测图像数据;天气状况数据;在设备处产生的音频数据;或设备的用户的注视。
72.在一些实施方式中,虚拟内容项配置界面可以呈现一组对象,第一用户可以从该组对象中选择对象以建立为虚拟内容项的触发。换言之,虚拟内容项配置界面可以允许第一用户基于第二用户的真实世界环境中的一个或更多个对象的外观来建立用于触发虚拟内容项的一个或更多个标准。
73.一些实例中,虚拟内容项可以包括确定虚拟内容项的外观的一个或更多个可定制参数。例如,一些虚拟内容项可以包括可定制的风格化和行为。风格化可以例如包括以下中的任何一个或更多个:颜色;纹理;大小;对象几何形状;不透明度;排版;印刷重点;装饰;或者与虚拟内容项相关的附加虚拟表示。虚拟内容项的行为可以对应于虚拟内容项的动画移动或动作。在由第一用户选择具有可定制参数的虚拟内容项的情况下,虚拟内容项配置界面还可以提供可操作以定制参数的交互式元素。
74.为了使第一设备显示虚拟内容项配置界面,应用服务器112向第一设备发送一组指令,当第一设备执行该组指令时,使第一设备显示虚拟内容项配置界面。应当理解,在一些实施方式中,第一设备可以在不从应用服务器112接收指令的情况下显示虚拟内容项配置界面。在这些实施方式中,在第一设备上执行的客户端应用(例如,客户端应用104)使第一设备使用本地存储的数据来显示虚拟内容项配置界面。
75.在操作610处,应用服务器112从第一设备接收虚拟内容项配置数据。虚拟内容项配置数据包括与经由虚拟内容项配置界面接收到的用户输入相对应的输入数据。虚拟内容项配置数据包括由第一用户选择的虚拟内容项、与要接收虚拟内容项的第二用户对应的用户标识符、以及用于触发将虚拟内容项应用于经由第二设备对第二用户可见的真实世界环境的一个或更多个标准。如上所述,虚拟内容项包括一个或更多个媒体对象。一个或更多个标准可以指定与第二设备相关联的上下文数据的特定状态或值。例如,标准指定虚拟内容项将要被应用的位置、虚拟内容项将要被应用的时间、或真实世界环境内触发虚拟内容项的应用的对象。在某些情况下,虚拟内容项配置数据还可以包括描述虚拟内容项的一个或更多个可定制参数的数据。
76.在操作615处,应用服务器112监测与第二设备相关联的上下文数据。所监测的上下文数据包括在第二设备处生成的上下文数据以及由应用服务器112生成或由应用服务器112从一个或更多个第三方源获得的上下文数据。即,应用服务器112可以监测以下中的任何一个或更多个:用户输入数据;生物计量数据;运动数据;环境数据;定位数据;暂存数据;描述事件的事件数据;描述第二设备的位置的位置数据;在第二设备处生成的图像数据;以
及由设备产生的音频数据。
77.应用服务器112监测上下文数据以检测将虚拟内容项应用于对第二用户可见的真实世界环境的触发事件。具体地,应用服务器112基于在虚拟内容项配置数据中包括第二用户的用户标识符来监测第二设备。即,包括第二用户的用户标识符指示第二用户将根据一个或更多个标准接收虚拟内容项。
78.在操作620处,应用服务器112基于在根据与第二设备相关联的上下文数据确定的虚拟内容项配置数据中包括的一个或更多个标准的满足来检测触发事件。例如,一个或更多个标准可以指定位置,并且应用服务器112基于在第二设备处生成的指示第二设备处于该位置处的位置数据来检测触发事件。作为另一示例,一个或更多个标准可以指定应用虚拟内容项的触发时间,并且应用服务器112基于与该触发时间对应的当前时间来检测触发事件。作为又一示例,一个或更多个标准可以指定真实世界环境中的对象,并且应用服务器112基于对描绘在第二设备处生成的真实世界环境的、指示对象处于真实世界环境中图像数据的分析来检测触发事件。此外,在分析图像数据时,应用服务器112可以执行一种或更多种已知的对象识别技术来识别对象。
79.在一些实施方式中,应用服务器112直接基于上下文数据的分析检测触发事件。在一些实施方式中,第二设备可以检测触发事件并且向应用服务器112发送触发事件的指示。
80.在操作625处,应用服务器112使第二设备基于所选择的虚拟内容项呈现叠加在对第二用户可见的真实世界环境上的一个或更多个媒体对象。应用服务器112可以维护对包括任何可定制参数的虚拟内容项的显示进行定义的对象定义数据,并且在使得显示一个或更多个媒体对象时,应用服务器112可以向第二设备提供虚拟内容项定义数据以及一组指令,该组指令使得第二设备根据虚拟内容项定义数据来呈现叠加在真实世界环境上的一个或更多个媒体对象。
81.在一些实施方式中,第二设备是由第二用户穿戴的可穿戴设备,该可穿戴设备包括包含透明显示设备的光学元件。与这些实施方式一致,应用服务器112使透明显示设备显示一个或更多个媒体对象,同时允许第二用户通过该设备继续观看真实世界环境。以这种方式,透明显示设备呈现叠加在真实世界环境上的一个或更多个媒体对象。
82.软件架构
83.图7是示出示例软件架构706的框图,该软件架构可以与本文中描述的各种硬件架构结合使用。图7是软件架构的非限制性示例,并且将理解的是,可以实现许多其他架构以促进本文中描述的功能。软件架构706可以在诸如图8的机器800的硬件上执行,该机器800包括处理器804、存储器/存储装置806和i/o部件818。示出了代表性硬件层752并且该代表性硬件层752可以表示例如图8的机器800。代表性硬件层752包括具有相关联的可执行指令704的处理单元754。可执行指令704表示软件架构706的可执行指令,包括本文中描述的方法、部件等的实现方式。硬件层752还包括也具有可执行指令704的存储器和/或存储模块756。硬件层752还可以包括其他硬件758。
84.在图7的示例架构中,软件架构706可以被概念化为层的堆叠,在该层的堆叠中,每个层提供特定功能。例如,软件架构706可以包括诸如操作系统702、库720、框架/中间件718、应用716和表示层714的层。在操作上,层内的应用716和/或其他部件可以通过软件堆栈调用api调用708并且接收对api调用708的响应作为消息712。所示出的层在本质上是代
表性的,并且并非所有软件架构都具有所有的层。例如,一些移动或专用操作系统可能不提供框架/中间件718,而其他操作系统可以提供这样的层。其他软件架构可以包括附加层或不同的层。
85.操作系统702可以管理硬件资源并且提供公共服务。操作系统702可以包括例如内核722、服务724和驱动器726。内核722可以用作硬件与其他软件层之间的抽象层。例如,内核722可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务724可以为其他软件层提供其他公共服务。驱动器726负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动器726包括显示器驱动器、摄像装置驱动器、驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
86.库720提供由应用716和/或其他部件和/或层使用的公共基础设施。库720提供允许其他软件部件以比与底层操作系统702功能(例如,内核722、服务724和/或驱动器726)直接对接的方式更容易的方式来执行任务的功能。库720可以包括系统库744(例如,c标准库),系统库344可以提供函数例如存储器分配函数、串操纵函数、数学函数等。另外,库720可以包括api库746,例如媒体库(例如,用支持诸如mpeg4、h.294、mp3、aac、amr、jpg和png的各种媒体格式的呈现和操纵的库)、图形库(例如,可以用于在显示器上渲染2d和3d图形内容的opengl框架)、数据库库(例如,可以提供各种关系数据库功能的sqlite)、web库(例如,可以提供web浏览功能的webkit)等。库720还可以包括各种其他库748,以向应用716和其他软件部件/模块提供许多其他api。
87.框架/中间件718提供可以由应用716和/或其他软件组件/模块使用的较高级别的公共基础设施。例如,框架/中间件718可以提供各种gui功能、高级资源管理、高级定位服务等。框架/中间件718可以提供可以由应用716和/或其他软件组件/模块利用的广泛的其他api,其中一些api可以专用于特定的操作系统702或平台。
88.应用716包括内置应用738和/或第三方应用740。代表性内置应用738的示例可以包括但不限于:联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息应用和/或游戏应用。第三方应用740可以包括由除特定平台的供应商之外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm
、的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用740可以调用由移动操作系统(例如操作系统702)提供的api调用708,以有利于本文中描述的功能。
89.应用716可以使用内置操作系统功能(例如,内核722、服务724和/或驱动器726)、库720以及框架/中间件718来创建用户接口,以与系统的用户交互。替选地或另外地,在一些系统中,与用户的交互可以通过例如表示层714的表示层来发生。在这些系统中,应用/部件“逻辑”可以与应用/部件的与用户交互的各方面分开。
90.图8是示出了根据一些示例实施方式的机器800的部件的框图,机器800能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的方法中的任一种或更多种方法。具体地,图8以计算机系统的示例形式示出了机器800的图形表示,在该机器800中可以执行用于使机器800执行本文中讨论的方法中的任何一种或更多种的指令810(例
如,软件、程序、应用、小程序、app或其他可执行代码)。因此,指令810可以被用于实现本文中描述的模块或部件。指令810将通用的未编程的机器800转换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器800。在替选实施方式中,机器800作为独立设备操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器800可以在服务器客户端网络环境中以服务器机器或客户端机器的性能来操作,或者在对等(或分布式)网络环境中作为对等机器来操作。机器800可以包括但不限于:服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、pda、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定要由机器800采取的动作的指令810的任何机器。此外,虽然仅示出了单个机器800,但是术语“机器”还应被认为包括单独地或联合地执行指令810以执行本文中讨论的任何一种或更多种方法的机器的集合。
91.机器800可以包括处理器804、存储器/储存装置806和i/o部件818,所述处理器804、存储器/储存装置806和i/o部件818可以被配置成例如经由总线802彼此通信。在示例实施方式中,处理器804(例如,cpu、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、gpu、数字信号处理器(dsp)、asic、射频集成电路(rfic)、另一处理器或其任何合适的组合)可以包括例如可以执行指令810的处理器808和处理器809。虽然图8示出了多处理器804,但是机器800可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或者其任何组合。
92.存储器/存储装置806可以包括诸如主存储器或其他存储器存储装置的存储器812以及存储单元814,这两者都能够由处理器804诸如经由总线802访问。存储单元814和存储器812存储体现本文中描述的方法或功能中的任何一个或更多个方法或功能的指令810。指令810还可以在其被机器800执行期间完全地或部分地驻留在存储器812内、存储单元814内、处理器804中的至少一个内(例如,处理器的高速缓冲存储器内)或者其任何合适的组合内。因此,存储器812、存储单元814和处理器804的存储器是机器可读介质的示例。
93.i/o部件818可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器800中的具体i/o部件818将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入设备或其他这样的输入机构,而无头服务器(headless server)机器将很可能不包括这样的触摸输入设备。将理解,i/o部件818可以包括图8中未示出的许多其他部件。i/o部件818仅为了简化以下讨论而根据功能被分组,并且该分组决不是限制性的。在各种示例实施方式中,i/o部件818可以包括输出部件826和输入部件828。输出部件826可以包括视觉部件(例如,显示器,诸如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、听觉部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号生成器等。输入部件828可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、跟踪球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如麦克风)等。
94.在另外的示例实施方式中,i/o部件818可以包括生物计量部件830、运动部件834、
环境部件836或定位部件838以及各种其他部件。例如,生物计量部件830包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛追踪)、测量生物信号(例如,血压、心率、体温、排汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件834可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件836可以包括例如照明传感器部件(例如光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中污染物的气体传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。定位部件838可以包括位置传感器部件(例如全球定位系统(gps)接收器部件)、高度传感器部件(例如,检测可以得到高度的气压的高度计或气压计)、取向传感器部件(例如磁力计)等。
95.可以使用各种各样的技术来实现通信。i/o部件818可以包括通信部件840,该通信部件840可操作成分别经由耦接824和耦接822将机器800耦接至网络832或设备820。例如,通信部件840可以包括网络接口部件或其他合适的设备以与网络832对接。在另外示例中,通信部件840可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低功耗)、部件和经由其他模态提供通信的其他通信部件。设备820可以是另一机器或各种各样的外围设备中的任何外围设备(例如,经由usb耦接的外围设备)。
96.此外,通信部件840可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件840可以包括射频识别(rfid)标签读取器部件、nfc智能标签检测部件、光学读取器部件(例如,用于检测下述项的光学传感器:一维条形码,例如通用产品代码(upc)条形码;多维条形码,例如快速响应(qr)代码、aztec代码、数据矩阵、数据图示符(dataglyph)、麦克斯码(maxicode)、pdf4114、超码、ucc rss-2d条形码和其他光学码)、或者声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件840得到各种信息,诸如经由互联网协议(ip)地理定位的位置、经由信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置等。
97.术语表
98.该上下文中的“载波信号”指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于这样的指令的通信。可以使用传输介质经由网络接口设备并且使用多个公知的传输协议中的任何一个来通过网络发送或接收指令。
99.该上下文中的“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、pda、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品系统、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
100.该上下文中的“通信网络”可以是指网络的一个或更多个部分,网络可以是自组织
网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且到网络的耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接、或另一类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电业务(gprs)技术、增强数据速率的gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
101.该上下文中的“机器可读介质”是指能够临时或永久地存储指令和数据的部件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eprom))和/或其任何合适的组合。术语“机器可读介质”应当被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还应被视为包括任何介质或多个介质的组合,这些介质能够存储以供机器执行的指令(例如,代码),使得指令在由机器的一个或更多个处理器执行时使机器执行本文中所述的方法中的任何一个或更多个方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
102.该上下文中的“部件”是指具有由功能或子例程调用、分支点、api或者对特定处理或控制功能提供分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可以经由它们的接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。部件可以构成软件组件(例如,实施在机器可读介质上的代码)或硬件部件。
[0103]“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置成进行操作以执行本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(fpga)或asic。硬件部件还可以包括通过软件被临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。
[0104]
一旦通过这样的软件进行配置,硬件部件就成为被独特地定制成执行所配置功能的特定机器(或机器的特定部件),而不再是通用处理器。将理解,可以出于成本和时间考虑来决定在专用且永久配置的电路中还是在临时配置(例如,由软件配置)的电路中机械地实现硬件部件。因此,短语“硬件部件”(“硬件实现的部件”)应当被理解成包含有形实体,即被
物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。
[0105]
考虑其中硬件部件被临时配置(例如,被编程)的实施方式,硬件部件中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件部件包括通过软件配置成专用处理器的通用处理器的情况下,通用处理器可以在不同时间处分别被配置成不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或更多个特定处理器以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。
[0106]
硬件部件可以向其他硬件部件提供信息并且从其他硬件部件接收信息。相应地,所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件能够访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作并且将该操作的输出存储在其通信地耦接至的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对其进行处理。硬件部件还可以启动与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。
[0107]
在本文中描述的示例方法的各种操作可以至少部分地由(例如,通过软件)临时地配置或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或更多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或者处理器实现的部件来执行。
[0108]
此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,其中这些操作能够经由网络(例如,因特网)并经由一个或更多个适当的接口(例如,应用程序接口(api))可访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是跨多个机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理位置分布。
[0109]
该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用以操作机器的对应的输出信号的任何电路或虚拟电路(通过在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是cpu、risc处理器、cisc处理器、gpu、dsp、asic、rfic或其任何组合。处理器还可以是具有两个或更多个独立处理器(有时称为“核”)的多核处理器,其可以同时执行指令。
[0110]
该上下文中的“时间戳”是指识别某个事件何时发生的编码信息或字符的序列,(例如,给出日期和一天中的时间)有时精确到几分之一秒。
再多了解一些

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

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

相关文献