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

可穿戴设备位置准确性系统的制作方法

2022-02-18 18:33:46 来源:中国专利 TAG:

可穿戴设备位置准确性系统
1.相关申请的交叉引用
2.本技术要求2019年5月30日提交的美国专利申请序列号16/426,857的优先权,该专利申请通过引用以其整体并入本文。
技术领域
3.本公开的实施例大致涉及移动计算技术和可穿戴设备技术,并且更具体地(但不是以限制的方式)涉及在电源和计算资源有限的环境中提供位置服务的方法和设备。


背景技术:

4.可穿戴设备(诸如眼镜和手表)有多种形式,但用于电路系统和电源的空间有限。尽管如此,可穿戴产品的形状因素和习惯性使用提供了与针对单一功能的设备不同的益处。因此,可穿戴设备(例如腕带、眼镜和具有有限形状因素的其他此类设备)继续包括额外功能。即便如此,空间和电源资源方面的限制也推动了对可穿戴设备空间的不断创新。
附图说明
5.附图中的各种附图仅说明本公开的示例实施例,并且不应视为限制其范围:
6.图1图示了根据本文所述的各种实施例使用的可穿戴设备;
7.图2图示了根据本文所述的一些实施例的可穿戴设备的方面;
8.图3图示了根据本文所述的一些实施例的结合相关联客户端设备和支持系统的用于可穿戴设备操作的系统的方面;
9.图4图示了根据本文所述的一些实施例的可穿戴设备的方面;
10.图5图示了根据本文所述的一些实施例的可穿戴设备的方面;
11.图6图示了根据本文所述的一些实施例的示例方法;
12.图7图示了根据本文所述的一些实施例的可穿戴设备位置操作的方面;
13.图8图示了根据本文所述的一些实施例的示例方法;
14.图9图示了根据本文所述的一些实施例的可穿戴设备位置操作的方面;
15.图10图示了根据本文所述的一些实施例的示例方法;
16.图11图示了根据一些实施例的结合相关联客户端设备和支持服务器计算机系统的用于可穿戴设备操作的通信环境的方面;
17.图12为根据一些示例实施例的图示可安装在机器上的软件架构的示例的框图;以及
18.图13图示了根据一些示例实施例的采用计算机系统的形式的机器的图解表示,在该机器内可执行一组指令以用于执行本文讨论的任一种或多种方法。
具体实施方式
19.本文所述的实施例涉及移动计算技术和可穿戴健康技术,并且更具体地(但不是
以限制方式)涉及用于使得能够实现针对使用具有重大计算资源限制(例如电池电源)的可穿戴设备生成的内容的位置数据的方法和设备。
20.例如,当可穿戴设备用于生成图像或视频片段时,希望利用位置标记将背景添加到此数据中。为了有效地提供此位置数据,需要位置感知硬件为在可穿戴设备处生成的内容提供合理一致的数据集合。同时,可穿戴设备在启用特征(诸如位置服务)的可用空间方面存在重大限制。对于可被配置为不断更新设备位置的标准位置服务尤其如此。然而,可穿戴设备的电源限制使不断的位置更新不可行。本文描述的实施例使用可用位置数据来尝试在位置数据没有与内容同时被捕获时估计内容的位置。可将各种位置数据集合与内容协调,作为对内容捕获的位置的估计。这通过使设备生成改进的输出(例如,在某些环境中具有改进的内容位置标记的准确性的内容)来改进设备的操作。
21.本文所述的实施例通过减少为可穿戴摄像机设备生成的内容提供位置数据所需的资源,来另外提供对可穿戴设备的改进。这种改进的设备性能通过有效使用位置电路系统、使用支持数据来减少初始位置定位的时间以及合并来自其他源的位置数据的组合来提供,以为了允许来自可穿戴设备的有限电源效率位置数据与来自其他来源的数据相组合,以为图像和视频片段提供一致的位置数据。
22.在一些实施例中,可穿戴设备的操作通过使用高速电路系统、低功率电路系统和位置电路系统的组合得到改进。低功率电路系统管理位置电路系统中的高速电路系统的启动,以为了最小化功率使用,因为高速电路系统和位置电路系统消耗的功率更多。此外,为了使位置电路系统的功率使用最小化,当该设备发起位置定位时,减少位置电路系统的首次定位时间支持数据被自动从高速电路系统传送到位置电路系统。低功率电路系统尽可能地将高速电路系统和位置电路系统恢复到低功率状态。
23.除此之外,位置定位只有在触发事件发生时发起或周期性地发起,而不是持续更新可穿戴设备的位置。例如,当可穿戴设备上的电路系统确定该设备正在被穿戴时,位置定位可每15或30分钟尝试一次。穿戴状态确定可基于外围传感器,例如惯性测量单元或环境光传感器。在一些实施例中,在低功率电路系统上运行的神经网络可使用来自此类传感器的输入来实现穿戴状态确定。如果该设备未被穿戴(例如与穿戴状态不相关联),则不尝试位置定位。低功率神经网络电路系统可以是低功率电路系统的一部分,用来确定设备是否正在被穿戴。此类操作可使用来自可穿戴设备上的传感器的简单运动数据或光传感数据,以用来做出此确定。触发事件可以是接收用以捕获图像或视频片段的输入。一旦收到此类输入,可穿戴设备可发起位置定位。如果该设备无法确定位置,则可使用来自先前定位的先前方位置数据集合,以用于所捕获的数据。当所捕获的内容稍后被下载到客户端设备(例如相关联蜂窝电话)时,客户端设备可确定是否有更多来自客户端设备捕获的位置数据的位置数据是可用的。于是,与该内容相关联的位置数据可在客户端设备处被更新。
24.下文详细描述了各种额外的细节和实施例组合,以用低功率用量生成的位置数据来改进可穿戴设备的操作。
25.图1图示了实现各种公开的实施例的可穿戴电子设备的示例实施例的方面,该电子设备采取电子启用眼镜31构成的眼镜制品的示例形式,该电子设备还可在网络系统内运行,用于与相关联的位置信息一起传送图像和视频内容。图1示出眼镜31的前透视图。眼镜31可以包括由任何合适的材料(例如塑料或金属,包括任何合适的形状记忆合金)制成的框
架32。框架32可以具有前件33,前件33可以包括由桥接件38连接的第一或左透镜、显示器或光学元件保持器36以及第二或右透镜、显示器或光学元件保持器37。前件33另外包括左端部分41和右端部分42。第一或左光学元件44和第二或右光学元件43可设置在各自的左光学元件保持器36和右光学元件保持器37内。光学元件43、光学元件44中的每一个都可以是透镜、显示器、显示器组件或它们的组合。例如,在一些实施例中,眼镜31被提供有集成的近眼显示机构,该近眼显示机构使得能够例如向用户显示用于眼镜31的摄像机69捕获的视觉媒体的预览图像。
26.框架32另外包括左臂或镜腿件46和右臂或镜腿件47,其通过任何合适的装置(例如提供铰链(未示出))被耦合到前件33的相应左端部分41和右端部分,以便耦合到前件33,或刚性地或可固定地固定到前件33,以便与前件33成一体。镜腿件46和镜腿件47中的每一个可以包括耦合到前片33的相应端部分41或端部分42的第一部分51,和任何合适的第二部分52,诸如弯曲或弧形件,以用于耦接到用户的耳部。在一个实施例中,前件33可以由单件材料形成,以便具有单一或整体构造。在一个实施例中,整个框架32可以由单件材料形成,以便具有单一或整体构造。
27.眼镜31可以包括计算设备,例如计算机61,它可以采取任何合适的类型,以便通过框架32承载,并且在一个实施例,可以采取合适的大小和形状,以便至少部分地被放置在镜腿件46和镜腿件47中的一个中。在一个实施例中,如图16所示,计算机61的大小和形状类似于镜腿件46和镜腿47件中的一者的大小和形状,因此几乎完全(如果没有完全地)被放置在此类镜腿件46和镜腿件47的结构和边界内。在一个实施例中,计算机61可以被放置在镜腿件46和镜腿件47二者中。计算机61可以包括具有存储器、无线通信电路系统和电源的一个或多个处理器。计算机61包括低功率电路系统、高速电路系统、位置电路系统和显示处理器。各种其他实施例可包括采用不同配置的或采用不同方式被集成在一起的这些元件。计算机61的方面的另外细节可参考以下描述实现。
28.计算机61另外包括电池62或其他合适的便携式电源供应器。在一个实施例中,电池62被放置在镜腿件46或镜腿件47中的一者。在图1所示的眼镜31中,电池62被示出为放置在左镜腿件46中,并使用连接74被电耦合到放置在右镜腿件47中的计算机61的剩余部分。一个或多个输入和输出设备可以包括适于为可从框架32外界接入的电池62充电的连接器或端口(未示出)、无线接收器、发射器或收发器(未示出)或此类设备的组合。
29.眼镜31包括数字摄像机69。尽管示出了两个摄像机69,但其他实施例考虑使用单个或额外的(即两个以上)摄像机69。为了便于描述,涉及摄像机69的各种特征将进一步仅参考单个摄像机69进行描述,但应理解,这些特征可以在合适的实施例中应用到两个摄像机69。
30.在各种实施例中,除了摄像机69之外,眼镜31还可包括任意数量的输入传感器或外围设备。前件33被设置有当眼镜31安置在用户的面部时朝前或背向用户的面朝外、面朝前、前部或外表面66,和当眼镜31安置在用户的面部时朝向用户面部的相反的面朝内、面朝后、后部或内表面67。此类传感器可以包括面朝内视频传感器或数字成像模块和面朝外视频传感器或数字成像模块,面朝内视频传感器或数字成像模块诸如摄像机69,其可以被安装在前件33的内表面67上或在前件33的内表面67内提供,或可以安装在框架32上的其他地方以便朝向用户;而面朝外视频传感器或数字成像模块诸如摄像机69,其可以被安装在前
件33的外表面66上或用前件33的外表面66提供,或可以安装在框架32上的其他地方以便朝向背离用户。此类传感器、外围设备或外设另外可以包括生物识别传感器、位置传感器、加速度计或任何其他此类传感器。
31.眼镜31还包括摄像机控制机构或用户输入机构的示例实施例,其包括安装在框架32上的摄像机控制按键,以通过用户触觉或手动接合。该摄像机控制按键提供双模态或单动作机构,因为它只能由用户在两个状态之间自由支配,即接合状态和脱离状态。在此示例实施例中,摄像机控制按键是默认处于脱离状态的按钮,能够通过用户按压将其放置到接合状态。当对摄像机控制按键的按压释放时,该按键自动返回到脱离状态。
32.在其他实施例中,单动作输入机构可以通过例如触摸感应按键提供,该按键包括安装在与其表面相邻的框架32上的电容传感器,用于检测用户手指的存在,以在用户手指触摸到框架32外表面66上的对应点时将触摸感应按键放置到接合状态。应理解,上述摄像机控制按键和电容式触摸按键只是针对摄像机69的单动作控制的触觉输入机构的两个示例,并且其他实施例可采用不同的单动作触觉控制布置。
33.图2为图示采取眼镜31的形式的示例电子设备的一些部件的示意图解。请注意,对应的交互机器部件的布置可以应用于这样的实施例,其中与本公开一致的电子设备包括例如移动电子设备,诸如可穿戴设备(例如眼镜31)、智能电话、平板电脑、或数字摄像机。眼镜31的计算机61包括与机上存储器226通信的中央处理器221。中央处理器221可以是中央处理单元和/或图形处理单元。本示例实施例中的存储器226包括闪存存储器和随机存取存储器的组合。图2的设备31还包括gps处理器256。虽然gps处理器256被称为全球位置系统(gps),但任何位置系统或全球导航卫星系统(gnss)支持电路系统都可在各种实施例中使用,作为在本文称为gps系统、位置系统、位置电路系统、位置电路、位置或gps处理器256或其他此类术语的元件的一部分。如本文所述,此类设备用于执行位置操作或位置“定位”操作,以估计设备的当前位置。此外,“首次定位时间”是指从发起位置操作到生成相关联的位置数据的时间。成功的位置定位会导致与位置相关联的数据集合,不过此类数据可能具有巨大的相关联不确定性。本文所述的各种实施例可使用精度与功率消耗的权衡,并使用首次定位时间,以进一步降低可穿戴设备中位置操作的功率使用。此外,当电路系统无法确定位置时,本文的实施例不会继续位置操作,而是可以使用相对较低的超时阈值来在可穿戴设备处于位置数据无法获取或难以确定的环境中时限制功率使用。此类环境可能发生于室内位置,或发生于障碍物阻止位置电路系统访问相关联卫星信息的地方。超时(例如30秒、60秒、2分钟)可用于限制耗费在用于尝试生成位置数据的资源,而不是消耗功率。相反,本文的实施例可以只提供位置失败或超时响应,并依靠先前位置定位或来自另一设备(例如配对客户端或电话设备)的位置数据来提供位置数据。替代地或除此之外,当位置数据不能经由自动位置系统(例如gnss)获取时,设备可提示用户输入估计位置。
34.眼镜31还包括摄像机控制器214,其与中央处理器221和摄像机69通信。摄像机控制器214包括这样的电路系统,该电路系统被配置为基于对从包括摄像机控制按键的单动作输入机构(由图2中的单动作输入机构235笼统地指示)接收的控制信号的处理,控制图片内容记录或视频内容记录,并且该电路系统被配置为在图像数据的永久存储之前和/或在将图像数据呈现给用户以用于查看或预览之前,提供对与通过摄像机69捕获的图像数据和图像数据的机上处理有关的一个或多个图像捕获参数的自动调节。
35.在一些实施例中,摄像机控制器214包括永久配置电路系统(诸如固件或专用集成电路(asic)),该永久配置电路系统被配置为执行本文所述的各种功能。在其他实施例中,摄像机控制器214可包括执行指令的动态可重配置处理器,这些指令可暂时配置处理器执行本文所述的各种功能。
36.摄像机控制器214与存储器226进行交互,将图像内容以图片内容和视频内容的形式存储、组织和呈现。为此,在本实施例中,存储器226包括图片内容存储器228和视频内容存储器242。因此,摄像机控制器214与中央处理器221协作,被配置为从摄像机69接收表示由摄像机69根据一些图像捕获参数捕获的数字图像的图像数据;被配置为根据一些图像捕获参数处理图像数据;并被配置为将经处理的图像数据存储在图片内容存储器228和视频内容存储器242中适当的一者中。
37.摄像机控制器214还被配置为与显示控制器249协作,以使得在眼镜31中合并的显示机构上显示在存储器226中的所选择图片和视频,从而提供对所捕获的图片和视频的预览。在一些实施例中,摄像机控制器214会使用自动归类参数来管理所捕获图像的处理,用于包括到视频文件中。
38.单动作输入机构235通信地耦合到中央处理器221和摄像机控制器214,以传送表示摄像机控制按键的当前状态的信号,并且由此向摄像机控制器214传送摄像机控制按键当前是否被按压。摄像机控制器214还关于从单动作输入机构235接收的输入信号与中央处理器221通信。在一个实施例中,摄像机控制器214被配置为处理经由单动作输入机构235接收的输入信号,以确定利用摄像机控制按键的特定用户接合是否会带来视频内容或图片内容的录制,和/或会基于对输入信号的处理来动态调节一个或多个图像捕获参数。例如,按压摄像机控制按键持续的时间超过预定阈值持续时间,会导致摄像机控制器214在视频内容的永久存储和显示之前对所捕获视频内容自动应用相对较不严格的视频处理。反过来,此类实施例中,按压摄像机控制按键持续的时间短于阈值持续时间,会导致摄像机控制器214自动对表示一个或多个静止图像的图像数据应用相比较为严格的图片稳定处理。
39.眼镜31还可包括移动电子设备(诸如智能眼镜或智能电话)中常见的各种部件,例如,包括显示控制器249,用于控制在该设备中合并的显示机构上的视觉媒体(包括摄像机69捕获的图片和视频内容)的显示。请注意,图2的示意图解不是形成眼镜31一部分的所有部件的穷尽表示。
40.图3图示了可与某些实施例一起使用的替代网络系统301。网络系统301包括消息传递系统330,该消息传递系统具有接口模块340、应用逻辑模块350、数据库服务器332和数据库334;以及操作客户端应用312的客户端设备310。然而,网络系统301另外包括连接到客户端设备310的可穿戴客户端配套设备314。在各种实施例中,可穿戴客户端配套设备314被配置用于与客户端设备310或消息传递系统330进行有线通信。客户端配套设备314也可以同时被配置用于与客户端设备310、消息传递系统330或它们两者进行无线通信。客户端配套设备314可以是可穿戴设备,诸如眼镜31、头盔、手表或其他网络使能物品。客户端配套设备314也可以是经由另一设备(诸如客户端设备310)访问网络的本文所述的任何设备。客户端配套设备314包括图像传感器316、无线输入和输出(i/o)317和位置系统360的元件(用于例如将一般捕获区信息分配给使用客户端配套设备314捕获的内容)。客户端配套设备314可包括一个或多个处理器、显示器、电池62和存储器,但可具有有限的处理和存储器资源。
在此类实施例中,客户端设备310和/或用于消息传递系统330的服务器计算设备可通过针对在设备314上运行的位置模块360的首次定位性能的改进时间,以及防备设备314提供的位置信息不可用或不如来自其他相关联客户端设备310的可用信息准确的支持补充位置信息,来提供辅助。例如,在一个实施例中,客户端配套设备314可以是一副网络使能眼镜,诸如图1的眼镜31,而客户端设备310可以是智能电话,该智能电话使得能够访问消息传递系统330,以使得能够传送使用图像传感器316捕获的视频内容。
41.图4为图示根据一些示例实施例的包括摄像机设备410的细节的网络系统400的框图。在某些实施例中,摄像机设备410可在上述图1的眼镜31中实现。
42.系统400包括摄像机设备410、客户端设备490和服务器系统498。客户端设备490可以是智能电话、平板电脑、平板电话、膝上计算机、接入点或任何其他此类能够使用低功率无线连接425和高速无线连接437两者与摄像机设备410连接的设备。客户端设备490连接到服务器系统498和网络495。网络495可包括有线和无线连接的任何组合。服务器系统498可以是作为服务或网络计算系统的一部分的一个或多个计算设备。
43.系统400可任选地包括额外的与摄像机设备410集成的外围设备元件419和/或显示器411。此类外围设备元件419可包括与摄像机设备410集成的生物识别传感器、附加传感器或显示器元件。外围设备元件419的示例将参照图12和图13进一步讨论。例如,外围设备元件419可能包括运动检测器、光检测器、任何i/o部件(包括输出部件1352)、运动元件1358或本文所述的任何其他此类元件。
44.摄像机设备410包括摄像机414、图像处理器412、接口416、低功率电路系统420和高速电路系统430。摄像机414包括数字摄像机元件(诸如电荷耦合设备)、透镜或任何其他可用于捕获数据的光捕获元件,作为摄像机414的一部分。
45.接口416是指提供给摄像机设备410的用户命令的任何来源。在一个具体实施中,接口416是摄像机414上的物理按键,当被按压时,物理按键从接口416向低功率处理器422发送用户输入信号。对此摄像机按钮的按压随后立即松开,可被低功率处理器422处理为捕获单个图像的请求。对此摄像机按键按压持续第一时间段,可被低功率处理器422处理为当按键被按压时捕获视频数据的请求,并在按键松开时停止视频捕获,当按键被按压时所捕获的视频被存储为单个视频文件。在某些实施例中,低功率处理器422可具有在按键按压和松开之间阈值时间段(例如500毫秒或一秒),在此时间段以下的按键按压和松开被处理为图像请求,而在此时间段以上的按键按压和松开被解释为视频请求。低功率处理器422可在图像处理器412启动时做出此确定。在其他实施例中,接口416可以是任何能够接受与来自摄像机414的数据请求相关联的用户输入的机械开关或物理接口。在其他实施例中,接口416可具有软件部件,或可与从另一来源无线接收的命令相关联。
46.图像处理器412包括电路系统,以接收来自摄像机414的信号,并将来自摄像机414的那些信号处理为适合存储在存储器434中的格式。图像处理器412构建在摄像机设备410内,使得其可在低功率电路系统420的控制下通电并启动。图像处理器412另外可通过低功率电路系统420断电。取决于与图像处理器412相关联的各种电源设计元件,图像处理器412可以即使在处于关闭状态时仍消耗少量功率。然而,这样的功率与图像处理器412在开启状态下使用的功率相比,可以忽略不计,而且对电池寿命的影响也可忽略不计。如本文所述,处于“关闭”状态的设备元件在设备内仍被配置,使得低功率处理器422能够给该设备通电
和断电。因系统设计的泄漏或其他方面,被称为在摄像机设备410运行期间“关闭”或“断电”的设备不一定消耗零功率。
47.在一个示例实施例中,图像处理器412包括被定制用于处理来自摄像机414的传感器数据的微处理器集成电路(ic),以及由微处理器使用以便运行的易失性存储器。为了减少图像处理器412在通电时用以处理数据所需的时间量,ic上可集成非易失性只读存储器(rom),该存储器具有用于运行或启动图像处理器412的指令。此rom可被最小化,以匹配提供用于收集来自摄像机414的传感器数据的基本功能所需的最小尺寸,使得不存在会导致在启动中的时间延迟的扩展功能。rom可被配置有对视频处理器412的微处理器的易失性存储器的直接存储器访问(dma)。dma允许从该rom到视频处理器412的独立于视频处理器412的主控制器的操作的存储器到存储器数据传递。向此启动rom提供dma可进一步减少从给图像处理器412通电直到来自摄像机414的传感器数据可以被处理和存储的时间量。在某些实施例中,对来自摄像机414的摄像机信号的最小处理是由图像处理器412执行的,而附加处理可由运行在客户端设备490或服务器系统498上的应用执行。
48.低功率电路系统420包括低功率处理器422和低功率无线电路系统424。这些低功率电路系统420的元件可作为分开的元件实现,或可作为单个芯片上的系统的一部分在单个ic上实现。低功率处理器422包括用于管理摄像机设备410的其他元件的逻辑。例如,如上所述,低功率处理器422可接受来自接口416的用户输入信号。低功率处理器422也可被配置为经由低功率无线连接425接收来自客户端设备490的输入信号或指令通信。涉及此类指令的其他细节在下文进一步描述。低功率无线电路系统424包括用于实现低功率无线通信系统的电路元件。蓝牙
tm
智能,又称蓝牙
tm
低能耗,是可用于实现低功率无线电路系统424的低功率无线通信系统的一种标准实施方式。在其他实施例中,可使用其他低功率通信系统。
49.位置电路系统213包括用于实现上述位置服务的专用处理电路系统。例如,位置电路系统213可包括用于访问gnss或gps数据连同支持信息(例如卫星历书二进制数据)的电路,以便当用于设备210(例如,眼镜31)的位置数据不可从配对的客户端设备90中获取时生成该位置数据。
50.高速电路系统430包括高速处理器432、存储器434和高速无线电路系统436。高速处理器432可以是任何能够管理用于摄像机设备410所需的任何通用计算系统的高速通信和操作的处理器。高速处理器432包括使用高速无线电路系统436来管理在高速无线连接437上的高速数据传递所需的处理资源。在某些实施例中,高速处理器432执行例如linux操作系统的操作系统,或其他此类操作系统,例如图9的操作系统904。除了任何其他职责外,执行用于摄像机设备410的软件架构的高速处理器432还用于管理与高速无线电路系统436的数据传递。在某些实施例中,高速无线电路系统436被配置为实现电气与电子工程师协会(ieee)802.11通信标准,在本文中也被称为wi

fi。在其他实施例中,其他高速通信标准可通过高速无线电路系统436实现。在一些实施例中,高速电路系统430可以是与各种功能集成的片上系统(soc)电路,所述功能可包括上述视频处理器功能,使得视频处理器412可与高速电路系统430集成。在本文所述的各种实施例中,低功率电路系统220和位置电路系统213与高速电路系统230分开,因为低功率电路系统220、位置电路系统213和高速电路系统230被分开管理,并且各自都能够独立于其他系统而被置于低功率状态。
51.存储器434包括任何能够存储由摄像机414和图像处理器412生成的摄像机数据的
存储设备。虽然存储器434被示出为与高速电路系统430集成,但在其他实施例中,存储器434可以是摄像机设备410的独立元件。在某些此类实施例中,电路由线路可通过包括高速处理器432的芯片提供从视频处理器412或低功率处理器422到存储器434的连接。在其他实施例中,高速处理器432可管理存储器434的寻址,使得低功率处理器422在任何需要涉及存储器434的读或写操作时启动高速处理器432。
52.然后,图5图示了具有关于根据一些示例实施例在各种系统元件之间的交互的细节的示例系统500。在系统500的实施例中,图示了可穿戴设备、客户端设备510和位置支持服务器532。可穿戴设备包括可穿戴设备输入/输出(i/o)514、高速电路516、低功率电路518和位置电路560。此类设备元件可类似于上文讨论的摄像机设备410的对应元件,并可用于本文所述的任何实施例的任何可穿戴设备或客户端配套设备314。
53.在一些实施例中,系统500的操作通过将位置电路560在低功率睡眠状态中运行的时间量最大化得到改进。在一些此类实施例中,位置电路560至少有四种状态。这些状态包括关闭状态、低功率核心睡眠状态、尝试睡眠状态和获取状态。关闭状态是一种操作性设置,其中位置电路560完全断电。在各种实施例中,只有当系统500处于临界(例如,接近零)低功率状态时,才会使用该状态。从断电状态启动需要额外的资源,并显著降低了在需要位置数据时的首次定位时间。低功率状态或睡眠状态是一种较低功率使用的操作性设置,但允许位置电路560维护实时计时器。在低功率状态下实时计时器的维护显著提高了用于位置电路560的首次定位的时间性能(例如,降低了从发起定位到获取数据的时间)。由于低功率使用和性能的提高,系统500将低功率状态用作位置电路560的默认状态。当位置数据已经被生成或当在获取状态中已经发生超时,使用尝试睡眠状态或转变到低功率状态。获取状态是位置电路560的高功率使用状态,该状态用于生成用于由系统500使用的位置数据。当位置电路560进入获取状态时,电路系统从低功率模式中醒来并开始尝试位置定位。在此期间,位置电路560将开始接受辅助数据,这有助于减少用以首次定位的时间。例如,此类数据可包括关于先前位置的信息,以及与位置卫星和位置卫星信息相关联的星历(almanack)二进制数据。如果该设备成功地获取位置,位置参数将被高速缓存在系统存储器中。在定位已经被获取并位置参数被缓存后,或在超时已经期满后,位置电路560自动进入尝试睡眠状态,然后尽快返回睡眠状态(例如低功率状态),以限制功率使用。
54.在以上陈述位置电路560的上下文中,整体系统在一些实施例中可以利用下文所述流程工作。位置电路560保持在低功率睡眠模式,直到可穿戴设备触发位置定位(例如,来自基于计时器的周期触发器或状态触发器或来自图像或视频片段的捕获)。客户端设备510会周期性地从位置支持服务器532中抓取辅助数据。位置辅助数据被存储在与高速电路516相关联的存储器中,并会在位置定位操作期间向位置电路560提供此信息。在媒体捕获操作中,如果媒体完成记录,则确定四个位置参数作为位置定位操作的一部分。最后高速缓存的位置参数将作为用于所捕获内容的元数据被写入。如果位置电路560能够得到位置定位,高速电路516将启动并将覆盖先前分配的用于所捕获内容的位置参数。
55.如图5所示,在操作570中,客户端设备510周期性地向位置支持服务器532请求辅助数据。在操作572中,位置支持服务器532用任何更新信息响应于客户端设备510。此更新信息可包括对卫星二进制数据的更新,这使得对位置电路560处的首次定位操作的时间能够被改进。然后,在操作574中,客户端设备510会周期性地检查配对的可穿戴设备,并且如
果可穿戴设备没有来自位置支持服务器532的当前辅助数据,则客户端设备510将在操作574中经由可穿戴设备i/o 514向可穿戴设备提供此数据。
56.然后,系统500的可穿戴设备可被视为具有在低功率电路518、高速电路516和位置电路560之间分布的位置管理器操作。位置管理器功能的核心管理是在低功率电路518中构建,低功率电路518被配置为连续操作,除非可穿戴设备是严重低功率模式。作为低功率电路518的配置的一部分,低功率电路518因为低功率消耗而管理可穿戴设备的其他元件的操作。这些操作可包括简单的神经网络或状态识别功能,以确定可穿戴设备何时被穿戴、确定会影响位置管理器功能的操作的可穿戴设备的其他此类状态。例如,当低功率电路518执行确定可穿戴设备处于一种状态的操作时,低功率电路518于是可使用计时器触发器来在自先前位置定位以来的阈值时间段后发起位置定位操作。此类操作可包括用于先前定位尝试中先前成功定位的单独计时器。例如,如果此定位尝试失败,低功率电路518可在上次定位尝试后5分钟发起位置定位操作;或如果此定位尝试成功,低功率电路518可在上次定位尝试后15分钟发起位置定位操作。在其他实施例中,在位置管理器会确定可穿戴设备正在被穿戴时,低功率电路518简单地在固定的周期性时间处执行定位尝试。
57.低功率电路518还可响应于在可穿戴设备处接收的输入来管理位置管理器功能。例如,当在可穿戴设备i/o 514处接收到按键按压输入576时,该信号可在操作578中被传达至低功率电路518,并且响应于此输入576,低功率电路518在操作586中管理位置定位操作并指示位置电路560进入位置获取模式。
58.在一些实施例中,经由可穿戴设备i/o 514的输入576经由操作580自动启动高速电路516,并且高速电路系统516的启动操作自动发起对位置辅助二进制数据或其他位置辅助数据在操作582中从高速电路516到低功率电路518的传送。通过自动发起此类通信以响应触发位置定位的输入,首次定位时间被减少了。当低功率电路518发起定位并接收辅助数据时,辅助数据在操作584中被转发到位置电路560。位置电路560进一步使用此辅助数据,以减少首次定位时间。然后,位置电路560执行操作以确定可穿戴设备的位置参数。这些操作可导致位置失败588或位置成功590。在发生位置失败588之后,可将指示传送回低功率电路518,而此信息可用于确定后续位置定位的定时。在一些实施例中,如果正在关联于位置定位操作而捕获内容,则该内容可被自动分配先前的位置参数集合,所以位置失败588不会造成与所捕获内容相关联的位置数据的任何更改。如果发生位置成功590,此操作中生成的位置参数和各种位置数据将传播到由高速电路516最近捕获到的任何内容。
59.图6图示了根据本文所述的一些实施例的示例方法。图6具体描述了根据一些实施例的用于系统的方法600,以使用于在资源受限的环境中管理位置的设备性能能够得到提升。在一些实施例中,方法600由可穿戴设备(例如眼镜31)执行,以便提供与眼镜31的摄像机设备所捕获的内容相关联的位置数据410。在一些实施例中,方法600在存储在设备(例如眼镜31)的非暂时性存储器中存储的计算机可读指令被实施,使得当这些指令由设备的一个或多个处理器执行时,该设备执行方法600。
60.方法600从操作602开始,其中可穿戴设备接收来自位置辅助服务器的历书数据二进制(almanac data binary)。此类数据可使用可穿戴设备的i/o电路系统(例如蓝牙
tm
低能耗、wifi直连等)经由配对的客户端设备510接收。在一些实施例中,客户端设备510查询可穿戴设备,以确定历书数据二进制是否是最新的或者是否已经在阈值时间段内(例如24小
时、2天、10小时等)内被更新,并且如果该数据不是最新的,则更新的信息将从客户端设备510被推送至可穿戴设备。在一些实施例中,作为此类更新过程的一部分进一步查询功率设置,使得历书数据二进制只在可穿戴设备高于阈值功率水平时才会被更新。在一些实施例中,消息传递服务器系统(例如在图1中和本文所述的其他实施例中描述的系统)进一步管理历书数据二进制更新。在其他实施例中,客户端设备510直接从位置辅助服务器接收更新数据。
61.当可穿戴设备接收更新的历书数据二进制信息时,该信息将在操作604中被存储在与可穿戴设备的高速电路系统430相关联的存储器中。然后,在操作606中可穿戴设备的标准运行状态涉及在包括实时计时器的位置电路系统低功率状态下运行可穿戴设备的位置电路系统413,以及在高速电路系统低功率状态下运行可穿戴设备的高速电路系统430。操作608涉及使用可穿戴设备的低功率电路系统420发起在可穿戴设备处的位置定位操作,然后将低功率电路系统420置于低功率电路系统闲置状态持续位置定位操作的剩余时间段。在各种实施例中,此位置定位操作可响应于指示捕获将要与位置数据相关联的图像或视频数据的输入而被发起,或响应于与基于传感器数据确定的“穿戴”设备状态相关联的周期性更新而被发起。
62.响应于位置定位操作的发起,操作610然后涉及将位置电路系统413从低功率状态转变到正常状态、启动可穿戴设备的高速电路系统430,并使用高速电路系统430将历书数据二进制从存储器传送到位置电路系统413。然后,操作612作为位置定位操作的一部分使用位置电路系统413生成位置状态数据,将位置状态数据传送到高速电路系统430以用于存储在存储器中,并将高速电路系统430返回到高速电路系统低功率状态。
63.一些此类实施例运行,其中位置定位操作是响应于在低功率电路系统420从可穿戴设备的摄像机控制按键接收输入信号,而在可穿戴设备处被发起。作为一些此类操作的一部分,位置定位操作还可以响应于确定在阈值时间段内在低功率电路系统420处未接收到先前的输入信号,而在可穿戴设备处被发起。
64.在一些实施例中,位置状态数据是在位置电路系统413获取模式操作期间在阈值获取时间段内被生成的。在各种系统中,阈值获取时间被配置为允许合理的定位获取时间,而不会如果定位不太可能的话浪费功率。此类时间段可以是基于取决于位置电路系统413的平均获取时间段的。在一些实施例中,该时间段在45秒到90秒之间。在一些实施例中,系统跟踪平均获取时间,或与位置定位操作相关联的其他值,并基于历史数据选择阈值获取时间。例如,系统可具有可变的获取时间,其中最大可允许时间为60秒,但可以识别:95%的成功位置定位操作在30秒的首次定位时间内成功实现,因此使用30秒作为定位操作的超时阈值。如果超时发生而失败的定位操作超过该时间的阈值百分比,则可变位置定位超时阈值可以被增加递增值一直到最大允许值。此类操作可节省电源资源,但代价是在一些情况下成功的位置定位的机会被降低。
65.在位置状态数据包括位置失败指示的实施例中,系统可通过以下方式来运行:响应于输入信号来发起使用可穿戴设备的摄像机传感器对一个或多个图像的捕获,以及响应于位置失败指示来将一个或多个图像与先前高速缓存的位置值相关联。其他系统可在位置状态数据包括多个位置参数的情况下运行,该多个位置参数至少包括定位时间值、准确性值和一个或多个位置值。一些此类实施例通过以下方式来运行:响应于输入信号来发起使
用可穿戴设备的摄像机传感器对一个或多个图像的捕获,以及将一个或多个图像与一个或多个位置值相关联。
66.图7图示了根据本文所述的一些实施例的可穿戴设备位置操作的方面。图7具体图示了响应于按键按压输入的位置管理器的方面,这些输入发起在时间轴702期间在可穿戴设备处的内容捕获。图7示出了按键按压操作710、712和714。当接收到初始按键按压710时,位置管理器系统进入获取模式720。例如,位置电路560将在使用系统500的实施例中被置于位置获取状态。当位置管理器处于获取模式时,多个按键按压输入可能被接收到。后续按键按压操作(例如按键按压712)不会对位置获取720产生任何影响。在图7中,位置成功730造成在位置成功730处确定的位置参数730被传播回与操作740中的特定按键按压输入相关联的所生成内容。因此,响应于按键按压710而生成的内容被分配来自操作744处的位置成功730的位置参数,而响应于按键按压712而生成的内容被签名在操作742中的位置参数。在一些实施例中,来自位置定位成功730的数据在该成功之后的阈值时间段内使用。例如,如果按键按压在位置成功730之后立即发生,则不会使用另外的位置获取定位,而是响应于如果此按键按压发生在阈值时间内,将来自位置成功730的位置参数分配给所生成的内容。在此阈值时间到期后,后续按键按压(例如按键按压714)将造成在后续位置获取721中的另外的位置定位操作。
67.如所图示的,按键按压714发起位置获取721。位置获取721导致位置失败732。此类这种失败可能是由于各种原因造成的,例如访问卫星位置信息被阻断或阻碍、来自其他信号源的干扰或各种其他此类机构。当位置失败732发生时,操作750会造成响应于按键按压714生成的数据在操作752中被分配最近期的位置参数。在此情况下,最近期的参数会是来自位置成功730。因此,响应于按键按压714生成的内容将与来自位置成功730的位置参数相关联,直到后续的位置更新(如果有的话)提供更准确的位置数据。
68.图8图示了根据本文所述的一些实施例的示例方法。图8具体描述了方法800,用于根据设备的隐私设置减少启用的可穿戴设备位置操作中的首次定位时间。与上述方法600类似,在一些实施例,方法800由可穿戴设备(例如眼镜31)执行,以便提供与由眼镜31的摄像机设备捕获的内容相关联的位置数据,并且在一些实施例中,方法800在存储在可穿戴设备的非暂时性存储器中的计算机可读指令中被实施,于是当这些指令由处理电路系统(例如设备的低功率电路系统、高速电路系统和/或位置电路系统413)执行时该可穿戴设备执行方法800。
69.方法800从操作802开始,用于将用于可穿戴设备的位置电路560的首次定位时间支持数据存储在与可穿戴设备的高速电路516相关联的存储器中,其中位置电路560是与高速电路516分开的。如上所述,此类首次定位时间支持数据可以是卫星历书二进制数据。在一些实施例中,这个首次定位时间支持数据可另外地或替代地涉及先前的位置定位数据、国家代码数据、超时设置或任何其他此类数据,以辅助位置电路系统413提高性能。
70.然后当在包括实时计时器的位置电路低功率状态下运行可穿戴设备的位置电路560,并在高速电路低功率状态下运行可穿戴设备的高速电路516时,在操作804中在可穿戴设备处发起位置定位操作。然后在操作806中,响应于位置定位操作的发起,启动高速电路516和位置电路560,并在启动高速电路516时将存储器中的首次定位时间支持数据自动传送到的位置电路560。在操作808中,位置电路560处的位置状态数据使用该首次定位时间支
持数据。
71.各种此类实施例可进一步在以下情况下运行:使用为增加的首次定位操作而选择的第一准确性参数集合来确定首次位置定位,首次位置定位是二维位置定位,或当在低功率状态下运行时位置电路560维护实时计时器而不执行任何位置运算。
72.类似地,各种实施例可通过以下来运行:在首次定位时间支持数据被传送到位置电路560之后并在位置状态数据的生成之前,将高速电路516返回到高速电路低功率运行状态,以及在位置状态数据的生成之后将高速电路516从高速电路低功率状态启动。类似地,各种此类实施例可通过以下来操作:在首次位置定位被确定或超时时段到期时,将位置电路560返回到低功率状态,其中位置状态数据包括首次位置定位或超时指示符。
73.图9图示了根据本文所述的一些实施例的可穿戴设备位置操作和配对的客户端设备处的位置更新的方面。当可穿戴设备与客户端设备配对时,可检查隐私设置,以确定可穿戴设备是否被授权收集位置数据。在一些实施例中,默认或非配对的隐私设置阻止位置数据的捕获,而可穿戴设备仅在位置定位操作响应于作为与客户端设备配对操作的一部分而被存储在可穿戴设备的非易失性存储器中的位置设置值而被允许时,才收集位置数据。在此类实施例中,对收集位置数据的授权由与客户端上的应用交互的用户提供,并且可穿戴设备上的设置在与客户端设备的配对或其他通信期间被更新。
74.如上所述,为了节省电池资源,可穿戴设备将取决于各种设置和信号可用性不规则地使用位置920、922和924,而不是连续更新位置信息,而配套设备(例如智能电话)预期会定期规则地拍摄位置快照910、912、914。虽然可穿戴设备可尝试将这些位置920、922、924测量与关联内容的捕获相对齐,但出于各种原因,这些位置测量可能无法为某些内容提供准确的位置数据。在一些实施例中,可穿戴设备在内容被捕获时分配在可穿戴设备处可用的最近期的位置参数。在其他实施例中,可穿戴设备基于指示对于内容哪一测量更加准确的各种标准,分配来自在内容捕获前或后得到的测量的位置参数。当该内容稍后从可穿戴设备被下载到配对的客户端设备(例如智能电话)时,智能电话可具有将更准确的位置数据与可穿戴设备从位置快照910、912、914中生成的内容相关联的能力。在可穿戴设备不能够在捕获内容时或在捕获内容时前后捕获位置数据的一些情况下,客户端设备可以具有更准确的位置数据。
75.例如,图9的系统900示出用于由可穿戴设备捕获的内容的数据捕获时间930和934。位置快照910、912、914与关联客户端设备捕获的位置参数相关联,而位置更新920、922、924是由捕获内容并与客户端设备配对的可穿戴设备生成的位置参数。当可穿戴设备将内容下载到客户端设备时,内容位置可以被分析并且可以使用来自客户设备的最近期的位置快照数据来更新,如果确定该位置信息比来自可穿戴设备的位置信息更准确的话。在图9的示例中,捕获时间934处实际捕获的内容可与可穿戴设备做出的位置测量922相关联。当该内容被下载到客户端设备时,客户端设备可生成时间轴902,以确定客户端设备是否具有更准确的位置数据来与所下载的内容相关联。例如,相比于在可穿戴设备处的位置快照910或任何先前的位置测量的时间,在数据捕获时间930处捕获的内容在时间上更接近客户端设备510处发生的位置更新920。因此,与较晚的数据捕获时间930的接近可被用于将来自位置更新920的位置设置为与该内容相关联,而不是来自位置快照910的位置。对于在捕获时间934处捕获的内容,由于位置快照914的时间更接近数据捕获时间934,然后是位置测量
的时间924或922,因此,与来自数据捕获时间934的内容相关联的位置数据可以在客户端设备处被更新为来自位置快照914处的客户端设备的位置数据。
76.在各种实施例中,与可穿戴设备或客户端设备相关联的其他状态数据可以被用于确定要与捕获的内容相关联的位置数据。例如,位置快照914和位置测量922、924可另外与运动信息相关联。如果位置快照914指示客户端设备在位置更新934的时间正在高速行驶,并且来自可穿戴设备的其他可用数据指示可穿戴设备在数据捕获时间934处或位置测量924处没有在高速行驶,则客户端设备可确定位置测量924更有可能为与数据捕获时间934相关联的内容提供准确的位置信息。
77.图10图示了根据本文描述的一些实施例的示例方法。图10具体描述了方法1000,用于调和与内容相关联的位置数据,以提高相关联的位置数据的准确性,并降低在关联可穿戴设备操作中的功率消耗。方法1000可涉及客户端设备510处的操作,客户端设备510与可穿戴设备(例如可穿戴设备31或本文所述的任何其他此类客户端配套设备314)配对或以其他方式相关联。在一些实施例中,方法1000在存储在客户端设备510的非暂时性存储器中的计算机可读指令中实施,当这些指令由客户端设备510的处理电路系统执行时,客户端设备510执行方法1000。
78.方法1000从操作1000开始,操作1002通过客户端设备510的处理电路系统,使用在客户端设备510上运行的第一应用将客户端设备510与可穿戴设备31配对。在与可穿戴设备31相关联的应用的操作期间,或在客户端设备510处的其他此类操作期间,操作1004涉及使用客户端设备510的第一应用和位置电路系统413在第一时间捕获首次客户端位置定位。将此类位置操作限制为应用的操作保护了用户隐私,并允许用户确定对与可穿戴设备31相关联的位置数据的收集到与应用相关联的隐私设置。虽然此类限制提供较不准确的位置数据,但这些限制改进了用户隐私并限制了基于位置服务的功率使用。
79.然后,操作1006涉及在客户端设备510处接收来自可穿戴设备31的第一条内容,其中第一条内容与内容捕获时间和第一可穿戴设备位置状态数据相关联,其中第一可穿戴设备位置状态数据包括位置数据和位置时间,其中位置时间不同于内容捕获时间。如上所述,在可穿戴设备31处的周期性位置捕获允许提高电池性能,但是降低的位置准确性。由于在可穿戴设备31和客户端设备510之间的配对,系统可对可穿戴设备31和客户端设备510的接近程度做出假设。在一些实施例中,在可穿戴设备31和/或客户端设备510处生成的状态数据可用于验证此假设,并进一步提高关于最佳位置数据的准确性估计,以与使用可穿戴设备31捕获的内容相关联。然后,操作1008涉及处理第一条内容,以基于位置数据的估计准确性和首次客户端位置定位来更新用于第一条内容的关联位置。
80.在一些实施例中,位置数据的估计准确性是基于内容捕获时间到所述位置时间和所述第一时间的时间接近度。一些此类实施例涉及在时间接近度大于时间阈值时生成位置标志。一些此类实施例涉及作为客户位置定位的一部分的速度值。在一些此类实施例中,第一条内容还与第一运动数据集合相关联,其中客户端设备510与包括速度值的第二运动数据集合相关联,其中所述估计准确性进一步是基于第一运动数据集合和第二运动数据集合的。状态数据可以还被包含在所述估计准确性中。例如,惯性传感器数据或光传感器数据可被提供,并被用于在不同时间确定可穿戴设备31的状态。类似的数据可以被用于当与可穿戴设备31相关联的应用在运行时确定客户端设备510的状态。状态数据的比较可被用于进
一步估计位置数据的准确性,或以其他方式确定与具体内容相关联的最佳位置数据。例如,如果在客户端设备510处的状态数据指示“行驶”或“驾驶”,然后指示“静止”,则在状态转变到“静止”后捕获的内容比在“行驶”状态期间捕获的内容更有可能与“静止”状态开始后确定的位置数据相关联,即使在内容捕获时间与“行驶”状态期间确定的位置之间的时差小于在内容捕获时间与“静止”状态期间确定的稍后位置之间的时间差。因此,如果客户端设备510在“驾驶”状态期间确定首次位置定位,5分钟过后,内容在可穿戴设备31处捕获,在大致相同时间状态从“驾驶”更改到“静止”但没有发生位置定位成功,然后10分钟过后另一第二位置定位发生,所捕获的内容因状态数据可与第二位置定位而不是首次位置定位相关联。
81.在一些实施例中,在使用客户端设备510的处理电路系统启动应用时,发起首次客户端位置定位。一些实施例涉及当应用在客户端设备510上运行时,使用客户端设备510的位置电路系统413来周期性地执行客户端位置定位操作,并在客户端设备510处接收来自可穿戴设备31的多条内容,其中多条内容的每一条内容与对应的内容捕获时间和相关联的可穿戴设备位置状态数据相关联。然后,对于每条内容,该方法涉及将相关联的可穿戴设备位置状态数据与客户端位置定位操作进行比较,以更新相关联的位置。在一些此类实施例中,基于与每条内容的对应内容捕获时间的相关联的时间差,用于每条内容的相关联的位置被选择为客户端定位操作的位置或相关联的可穿戴设备位置状态数据。然后,每一条内容与基于与对应捕获时间相关联的时间差确定的相关联的位置都被存储在客户端设备510的存储器中。
82.如上所述,方法600、800和1000中涉及各种不同的操作。即使特定操作以特定顺序进行描述,其他实施例也可具有重复操作和中间操作,并且在其他不同的实施例内可以组合不同方法的各种操作。因此,显而易见的是,使用所述操作或在本文所述创新的可能范围的相似操作,可使用另外的方法,以便提高与可穿戴设备31和配对客户端设备510提供的位置服务相关联的可穿戴设备31的功率性能。
83.图11为示出根据一些实施例的具有被配置用于在网络945上交换数据的客户端服务器架构的网络系统1100的网络图解,网络系统1100可与可穿戴设备31一起使用。例如,网络系统1100可以是消息传递系统330,其中客户端在网络系统1100内传送和交换数据,其中某些数据可被传送到本文所述的可穿戴设备31或从可穿戴设备31中传送。这些数据可与关联于网络系统1100及其用户的各种功能和方面有关。尽管网络系统1100在本文中图示为具有客户端服务器架构,但其他实施例可包括其他网络架构,例如点对点或分布式网络环境。
84.如图11所示,网络系统1100包括消息传递系统1130。消息传递系统1130一般基于三层架构,其中包括接口层1124、应用逻辑层1126和数据层1128。正如相关计算机和互联网相关领域的技术人员所理解的,图11示出的每个模块或引擎都表示可执行软件指令集合和用于执行这些指令的对应硬件(例如存储器和处理器)。在各种实施例中,附加的功能模块和引擎可以与消息传递系统1130一起使用(例如图11所示),以促进本文未具体描述的其他功能。此外,图11中示出的各种功能模块和引擎可驻留在单台服务器计算机上,或可以按照各种布置被分布在若干台服务器计算机上。此外,尽管图11中将消息传递系统1130示出为具有三层架构,但本发明主题绝不仅限于此类架构。
85.如图11所示,接口层1124由接口模块(例如,web服务器)1140组成,该模块接收来自各种客户端计算设备和服务器(例如执行客户端应用1112的客户端设备1110和执行第三
方应用1122的第三方服务器1120)的请求。响应于所接收的请求,接口模块1140经由网络1104对请求设备传送的适当响应。例如,接口模块1140可以接收请求,例如超文本传输协议(http)请求或其他基于web的应用编程接口(api)请求。
86.客户端设备1110可以执行为特定平台开发的常规web浏览器应用或应用(也称为“app”),以包括各种移动计算设备和针对移动设备的操作系统(例如ios
tm
、android
tm
、phone)中的任何一个。在示例中,客户端设备1110正在执行客户端应用1112。客户端应用1112可以提供功能,以向用户1106呈现信息,并经由网络1104进行通信,以与消息传递系统1130交换信息。客户端设备1110中的每一个都可以包括计算设备,该计算设备至少包括显示器411和与网络1104的通信功能,以访问消息传递系统1130。客户端设备1110包括但不限于,远程设备、工作站、计算机61、通用计算机、互联网工具、手持设备、无线设备、便携设备、可穿戴计算机、蜂窝电话或移动电话、个人数字助理(pda)、智能电话、平板电脑、超级本、笔记本、膝上电脑、台式机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒、网络pc、迷你计算机等等。用户1106可以包括个人、机器或其他与客户端设备1110进行交互的装置。在一些实施例中,用户1106经由客户端设备1110与消息传递系统1130进行交互。
87.如图11所示,数据层1128具有一个或多个数据库服务器1132,数据库服务器1132有助于访问信息存储库或数据库1134。数据库1134是存储数据的存储设备,存储的数据例如成员档案数据、社交图谱数据(例如消息传递系统1130的会员之间的关系)和其他用户数据。
88.个人可以注册到消息传递系统1130,成为消息传递系统1130的成员。一旦注册,成员可以在消息传递系统1130上形成社交网络关系(例如朋友、粉丝或联系人),并与消息传递系统1130提供的广泛应用进行交互。
89.应用逻辑层1126包括各种应用逻辑模块1150,该模块结合接口模块1140生成与从各种数据源检索的数据或数据层1128中的数据服务的各种用户接口。单个应用逻辑模块1150可用于实现与消息传递系统1130的各种应用、服务和特征相关联的功能。例如,消息传递应用可以使用一个或多个应用逻辑模块1150实现。消息传递应用为客户端设备1110的用户1106提供了消息传递机构,以来发送和接收包含文本和媒体内容(例如图片和视频)的消息。客户端设备1110可在指定时间段(例如,有限或无限制)内访问和查看来自消息传递应用的消息。在示例中,特定信息在预定持续时间(例如由消息发送方规定)内能够由消息接收方访问,该预定持续时间开始于该特定消息被首次访问之时。在预定持续时间结束后,消息被删除,并不能再由消息接收方访问。当然,其他应用和服务可以单独在其自身的应用逻辑模块1150中实施。
90.示例机器和硬件部件
91.上述示例电子设备可合并各种计算机部件或机器元件,其中至少有一些部件或元件经配置执行自动化操作和/或自动提供各种功能。例如,这些操作和/或功能包括所述的自动图像数据处理和图像捕获参数调节。因此,眼镜31可提供独立的计算机系统。相反或此外,眼镜31可构成分布式系统的一部分,该分布式系统包括一个或多个外接处理器和/或设备。
92.图12为图示软件架构1202的框图1200,软件架构1202可以安装在上述任何一个或
多个设备上。图12仅仅是软件架构的非限制性示例,应理解,可以实现许多其他架构以促进本文所述的功能。在各种实施例中,软件1202由硬件实现,硬件例如图13中的包括处理器1310、存储器1330和i/o部件1350的机器1300。在此示例架构中,软件1202可以概念化为层的堆栈,其中每个层可提供特定的功能。例如,软件1202包括例如操作系统1204、库1206、框架1208和应用1210等的层。在操作方面,应用1210通过软件堆栈调用1212应用编程接口(api),并响应于api调用1212接收消息1214,这与一些实施例一致。在各种实施例中,任何客户端设备510、服务器系统498的服务器计算机或本文所述的其他设备都可使用软件1202的元件来运行。可使用软件1202的方面另外实现如前所述的例如摄像机控制器134和便携式电子设备的其他部件等设备。
93.在各种具体实施中,操作系统1204管理硬件资源并提供共用服务。例如,操作系统1204包括内核1212、服务1222和驱动器1224。内核1212充当硬件和其他软件层之间的抽象层,这与一些实施例一致。例如,内核1212提供存储器管理、处理器管理(例如调度)、部件管理、网络和安全设置等等功能。服务1222可以为其他软件层提供其他共用服务。根据一些实施例,驱动器1224负责控制底层硬件或与底层硬件进行接口。例如,驱动器1224可以包括显示驱动器、摄像机驱动器、或低能耗驱动器、闪存存储器、串行通信驱动器(例如usb驱动器)、驱动器、音频驱动器、电源管理驱动器,等等。在设备(例如眼镜31的摄像机控制器134)的某些具体实施中,低功率电路系统420可使用仅包含低能耗驱动器的驱动器1224以及用于管理通信和控制其他设备的基本逻辑而运行,其中其他驱动器利用高速电路系统430运行。
94.在一些实施例中,库1206提供由应用1210使用的低级共用基础设施。库1206可以包括系统库1230(例如c标准库),系统库1230可以提供功能,例如存储器分配功能、字符串操纵功能、数学功能,等等。另外,库1206可以包括api库1232,例如媒体库(例如,支持各种媒体格式呈现和操纵的库,例如动态图像专家组

4(mpeg4)、高级视频编码(h.264或avc)、移动图片专家组层

3(mp3)、高级音频编码(aac)、自适应多速率(amr)音频编解码器、图像专家联合小组(jpeg或jpg),或便携式网络图形(png))、图形库(例如用于在显示器411的图形上下文中以二维(2d)和三维(3d)进行呈现的opengl框架)、数据库库(例如提供各种关系数据库功能的sqlite)、web库(例如提供web浏览功能的webkit)等。库1206还可以包括各种其他库1234,以便为应用1210提供许多其他api。
95.根据一些实施例,框架1208提供高级共用基础设施,该高级共用基础设施可以由应用1210利用。例如,框架1208提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务,等等。框架1208可以提供可以由应用1210利用的其他api广泛范围,其中一些可能针对特定的操作系统1204或平台。
96.在示例实施例中,应用1210包括家庭应用1250、联系人1252、浏览器应用1254、图书阅读器应用1256、位置应用1258、媒体应用1260、消息传递应用1262、游戏应用1264,以及广泛的其他应用,诸如第三方应用1266。根据一些实施例,应用1210是执行程序中限定的功能的程序。可以采用各种编程语言创建应用1210中的以各种方式构建的一个或多个应用,各种编程语言例如面向对象的编程语言(例如,objective

c、java或c )或过程性编程语言(例如c语言或汇编语言)。在特定的示例中,第三方应用1266(例如,由具体平台之外的实
体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用)可以是在移动操作系统(例如ios
tm
、android
tm
、phone或其他移动操作系统)上运行的移动软件。在此示例中,第三方应用1266可以调用操作系统1204提供的api调用1212,以促进本文所述的功能。
97.本文所述的实施例可具体地与任何应用或应用模块进行交互,这些应用或应用模块包括在资源有限的环境中对位置操作的使用,使得连续监测和更新设备位置不可行。相反,特定应用1210可包括位置服务作为在可穿戴设备31上运行的应用的一部分,或应用1210可以支持客户端设备1110处的位置操作,用于结合配套设备或具有资源限制的可穿戴设备31提供的位置服务。
98.某些实施例在本文被描述为包括逻辑或多个部件、模块、元件或机构。此类模块可以构成软件模块(例如,在机器可读介质上或在传输信号中实施的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以以某种物理方式进行配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)通过软件(例如,应用或应用部分)被配置为运行以执行本文所述某些操作的硬件模块。
99.在一些实施例中,硬件模块以机械、电子方式或任何它们合适的组合实现。例如,硬件模块可以包括被永久配置为执行某些操作的专用电路系统或逻辑。例如,硬件模块可以是专用处理器,例如现场可编程门阵列(fpga)或asic。硬件模块还可包括可编程逻辑或电路系统,该可编程逻辑或电路系统由软件暂时配置以执行某些操作。例如,硬件模块可以包括通用处理器或其他可编程处理器1310中包含的软件。应理解,在专用和永久配置的电路系统中或在临时配置的电路系统(例如,由软件配置)中机械地实现硬件模块的决定可以由成本和时间考虑因素驱动。
100.因此,短语“硬件模块”应理解为包含有形实体,是被永久配置(例如,被硬连线)或临时配置(例如,被编程)为以特定方式运行或执行本文所述的某些操作的物理构造的实体。如本所用,“硬件实现的模块”是指硬件模块。考虑到硬件模块被临时配置的(例如,被编程)实施例,硬件模块中的每一个硬件模块无需在任何一个时刻都被配置或实例化。例如,如果硬件模块包括由软件配置为专用处理器的通用处理器1310,则通用处理器1310可在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件模块)。因此,软件可以配置特定的一个或多个处理器1310,以例如在一个时刻构成特定的硬件模块,并在不同的时刻构成不同的硬件模块。
101.硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所述硬件模块可认为是经通信地耦合的。如果同时存在多个硬件模块,则可以通过两个硬件模块之间或更多个硬件模块中的信号传输(例如,在适当的电路和总线上)实现通信。在不同时间配置或实例化的多个硬件模块的实施例中,可以通过例如存储和检索多个硬件模块可以访问的存储器结构中的信息,来实现此类硬件模块之间的通信。例如,一个硬件模块执行操作并将该操作的输出存储在与该硬件模块通信耦合的存储器设备中。于是,此外的硬件模块稍后可以访问该存储器设备以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并可以针对资源而运行(例如,信息收集)。
102.本文所述的各种示例方法的操作可以至少部分地由被临时配置(例如,通过软件)
或永久配置为执行相关联操作的一个或多个处理器1310执行。无论是临时配置还是永久配置,此类处理器1310都构成处理器实现的模块,该模块运行以执行本文所述的一个或多个操作或功能。如本所用,“处理器实现的模块”是指使用一个或多个处理器1310实现的硬件模块。
103.类似地,本文所述的方法可以至少部分地是处理器实现的,其中具体一个或多个处理器1310是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或多个处理器1310或处理器实现的模块执行。此外,该一个或多个处理器1310也可以运行,以支持在“云计算”环境中的相关操作的性能或作为“软件即服务”(saas)。例如,该操作中至少一些操作可由一组计算机61(作为包括处理器1310的机器的示例)执行,其中这些操作能够经由网络1104(例如,互联网)和经由一个或多个适当的接口(例如,api)访问。例如,在一些实施例中,客户端设备1110可以在与云计算系统的通信中中继或运行,并可在云环境中存储媒体内容,例如本文所述的设备生成的图像或视频。
104.该操作中的某些操作的性能可分布在处理器1310中,不仅驻留在单台机器内,而且被部署在许多台机器中。在一些示例实施例中,处理器1310或处理器实现的模块位于单个地理位置(例如,在家庭环境内、在办公室环境内或在服务器场内)。在其他示例实施例中,处理器1310或处理器实现的模块分布在许多个地理位置中。
105.图13是图示根据一些实施例的机器1300的部件的框图,该机器1300能够读取来自机器可读介质(例如,机器可读存储介质)的指令,并执行本文讨论的任何一种或多种方法。具体来说,图13以计算机系统的示例形式示出该机器1300的图解表示,在该机器中可以执行用于导致机器1300执行本文讨论的方法中的任一种或多种方法的指令1316(例如,软件、程序、应用、小应用、app或其他可执行代码)。在替代实施例中,该机器1300作为独立设备运行,或可以耦合(例如,联网)到其他机器。在联网部署中,该机器1300可作为在服务器

客户端网络环境中的服务器机器或客户端机器运行,或在点对点(或分布式)网络环境中的对等机器运行。该机器1300可以包括但不限于,服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上计算机、上网本、机顶盒(stb)、pda、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备31(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或任何能够按顺序或其他方式执行指令1316的机器,该指令指定了该机器1300将采取的动作。此外,虽然只图示了单台机器1300,但术语“机器”还应被认为包括单独或联合执行指令1316以执行本文讨论的方法中的任一种或多种方法的机器1300的集合。
106.在各种实施例中,该机器1300包括处理器1310、存储器1330和i/o部件1350,它们可以经配置经由总线1302彼此通信。在示例实施例中,该处理器1310(例如,中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)、另一处理器或任何它们合适的组合)包括例如可执行指令1316的处理器1312和处理器1314。术语“处理器”旨在包括多核处理器1310,该多核处理器1310可包括可同时执行指令1316的两个或更多个独立处理器1312、1314(也称为“核心”)。尽管图13示出多个处理器1310,但该机器1300可包括具有单个核心的单个处理器1312、具有多个核心的单个处理器1312(例如,多核心处理器)、具有单个核心的多个处理器1310、具有多个核心的多个处理器1310或任何它们的组合。
107.根据一些实施例,存储器1330包括对于处理器1310能够经由总线1302接入的主存储器1332、静态存储器1334和存储单元1336。存储单元1336可以包括机器可读介质,在该机器可读介质上存储指令1316,指令1316实施本文所述的方法和功能中的任一种或多种方法或功能。指令1316也可以在其由机器1300执行期间,完全地或至少部分地驻留在主存储器1332内、静态存储器1334内、处理器1310中的至少一个内(例如,处理器的高速缓存存储器内),或它们的任何合适组合。因此,在各种实施例中,主存储器1332、静态存储器1334和处理器1310被视为机器可读媒体。
108.如本文所用,术语“存储器”是指能够暂时或永久存储数据的机器可读介质,可被认为包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓存存储器、闪存存储器和高速缓存存储器。虽然该机器可读介质在示例实施例中被示出为单个介质,但术语“机器可读介质”应被认为包括能够存储指令1316的单个介质或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓存器和服务器)。术语“机器可读介质”还应被认为包括能够存储指令(例如,指令1316)以供机器(例如,机器1300)执行的任何介质或多个媒体的组合,使得指令1316在由机器1300(例如,处理器1310)的一个或多个处理器执行时,导致机器1300执行本文所述的方法中的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”应被认为包括但不限于采取固态存储器(例如,闪存存储器)、光学介质、磁介质、其他非易失性存储器(例如,可擦除可编程只读存储器(eprom))或其它们的任何合适组合的形式的一个或多个数据储存库。术语“机器可读介质”特别排除了非法定信号本身。
109.i/o部件1350包括用以接收输入、提供输出、产生输出、发射信息、交换信息、捕获测量结果等等的多种部件。一般来说,应理解i/o部件1350可以包括图13中未示出的许多其他部件。i/o部件1350根据功能进行分组仅用于简化下文讨论,并且这种分组绝不是限制。在各种示例实施例中,i/o部件1350包括输出部件1352和输入部件1354。输出部件1352包括视觉部件(例如,显示器411,诸如等离子体平板显示器(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt)、声学部件(例如,扬声器)、触觉部件(例如振动式电机)、其他信号发生器等等。输入部件1354包括字母数字输入部件(例如,键盘、被配置为接收字母数字输入的触摸屏、光学照片键盘或其他字母数字输入部件)、基于指向的输入部件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按键、提供触摸或触摸手势的位置和力的触摸屏、或其他触觉输入部件)、音频输入部件(例如麦克风)等等。
110.此外,在一些示例实施例中,i/o部件1350包括生物识别部件1356、运动部件1358、环境部件1360或位置部件1362等广泛的其他部件。例如,生物识别部件1356包括检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼追踪)的部件、测量生物信号(例如,血压、心率、体温、流汗或脑电波)的部件、识别某人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)的部件等等。运动部件1358包括加速度传感器部件(例如加速度计)、引力传感器部件、旋转传感器部件(例如,陀螺仪)等等。环境部件1360包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声传感器部件(例如,检测背景噪声的一个或多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器
部件(例如,机器嗅觉检测传感器、为安全起见检测有害气体浓度或测量大气中污染物的气体检测传感器),或可提供对应于周围物理环境的指示、测量结果或信号的其他部件。位置部件1362包括位置传感器部件(例如,全球位置系统(gps)接收器部件)、海拔传感器部件(例如,海拔计或检测从中可以导出海拔的气压的气压计)、方向传感器部件(例如,磁力计)等。
111.通信可以使用各种技术实现。i/o部件1350可包括通信部件1364,通信部件1364可操作地分别经由耦合1382和耦合1372将机器1300耦合到网络1380或设备1370。例如,通信部件1364包括网络接口部件或另一与网络1380接口的合适的设备。在此外的示例中,通信部件1364包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件1364包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低能耗)、部件和其他通信部件,以经由其他方式提供通信。设备1370可以是另一台机器1300或各种外围设备(例如,经由usb耦合的外围设备)。
112.此外,在一些实施例中,通信部件1364检测标识符或包括可操作地检测标识符的部件。例如,通信部件1364包括射频识别(rfid)标签读取器部件、nfc智能标签检测部件、光学读取器部件(例如,光学传感器,用以检测一维条形码(例如通用产品代码(upc)条形码)、多维条形码(例如快速响应(qr)代码、aztec代码、数据矩阵、dataglyph、maxicode、pdf417、超代码、《统一商法典》缩小空间符号(uccrss)

2d条形码),和其他光学代码)、声检测部件(例如,识别标记音频信号的麦克风)或其任何合适的组合。另外,各种信息可经由通信部件1364导出,例如经由互联网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可指示具体位置的或nfc信标信号的位置,等等。
113.在各种示例实施例中,网络1380的一个或多个部分可以是自组网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线局域网络(wlan)、广域网络(wan)、无线wan(wwan)、城域网络(man)、互联网、互联网的一部分、公共交换电话网络(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络或两个或更多此类网络的组合。例如,网络1380或网络1380的一部分可包括无线或蜂窝网络,并且耦合1382可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一类型的蜂窝或无线耦合。在此示例中,耦合1382可实现各种类型的数据传递技术,例如单载波无线电传输技术(1xrtt)、演进数据最优化(evdo)技术、通用分组无线业务(gprs)技术、增强型数据速率gsm演进(edge)技术、第三代合作伙伴计划(3gpp)(包括3g)、第四代无线(4g)网络、通用移动通信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织限定的其他标准、其他远程协议或其他数据传递技术。
114.在示例实施例中,指令1316经由网络接口设备(例如,包括在通信部件1364中的网络接口部件)使用传输介质,并利用许多众所周知的传递协议(例如,http)中的任何一个来在网络1380上被发送或接收。类似地,在其他示例实施例中,指令1316经由到设备1370的耦合1372(例如,点对点耦合)使用传输介质被发送或接收。术语“传输介质”应被认为包括能够存储、编码或携带由机器1300执行的指令1316的任何无形介质,并包括数字或模拟通信信号或其他无形介质,以促进此类软件的通信。
115.此外,该机器可读介质是非临时性的(换言之,没有任何临时性信号),因为它不实
施传播的信号。然而,将该机器可读介质标记为“非临时性”不应解释为意指该介质不能够移动;该介质应被视为能够从一个物理位置转移到另一物理位置。除此之外,由于该机器可读介质是有形的,因此该介质可被视为是机器可读设备。
116.在整个本说明书中,复数实例可以实现描述为单个实例的部件、操作或结构。尽管一种或多种方法的单个操作被图示并描述为分开的操作,但一个或多个单个操作可以同时执行,并且不需要按照所图示的顺序执行该操作。在示例配置中作为单独部件呈现的结构和功能可作为组合结构或部件实现。类似地,作为单个部件呈现的结构和功能可作为分开的部件实现。这些和其他变型、修改、添加和改进落入本文主题的范围之内。
117.尽管已经参考具体的示例实施例对本发明主题进行了概述,但在不偏离本公开的实施例更广泛的范围的情况下,可以对这些实施例进行各种修改和更改。本发明主题的此类实施例在本文可以单独或集体地用术语“发明”来指代,这么做只是为了方便起见,并且并非意图将本技术的范围限制在任何单个公开或发明概念中(如果公开了不止一个的话)。
118.本文所示的实施例描述得足够详细,从而使本领域技术人员能够实践所公开的教导。可以从其中使用和得出其他实施例,使得在不偏离本公开范围的情况下,可进行结构和逻辑上的替代和更改。因此,本具体实施方式不应以限制意义理解,并且各种实施例的范围仅由所附权利要求以及所附权利要求有权享有的等效形式的全范围所限定。
119.如本文所用,术语“或”可以包容性或排他性中一者的意义解释。此外,可为本文描述为单个实例的资源、操作或结构提供复数实例。除此之外,各种资源、操作、模块、引擎和数据存储之间的界限是有些任意性的,并且具体操作是在具体的说明性配置的上下文中图示的。设想了其他功能分配,并且这些功能分配可落入本公开的各种实施例的范围内。一般来说,在示例配置中作为分开的资源呈现的结构和功能可作为组合结构或资源实现。类似地,作为单个资源呈现的结构和功能也可作为分开的资源实现。这些和其他变型、修改、添加和改进落入所附权利要求表示的本公开的实施例的范围之内。因此,本说明书和附图应被视为说明性意义,而不是限制性意义。
再多了解一些

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

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

相关文献