在围护结构内定位地点转让专利

申请号 : CN201380063737.1

文献号 : CN104884973B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M.比尔曼J.I.费雷尔E.昂K.王J.赵

申请人 : 微软技术许可有限责任公司

摘要 :

除其它方面之外,提供了用于在围护结构内定位地点的一个或多个技术和/或系统。在一个示例中,与围护结构内的地点相关联的已知全球坐标(例如,经度/维度的GPS坐标)可以被变换成针对该地点的本地坐标(例如,x/y坐标)。本地坐标可以用于跟踪围护结构内的地点的位置。在另一个示例中,围护结构内的地点的已知本地坐标可以被变换成针对该地点的全球坐标,其可以用于跟踪围护结构内的地点的位置。在另一个示例中,围护结构的蓝图图像可以被用来跟踪围护结构内的地点的位置。以这种方式,可以针对室内空间内的对象提供位置跟踪(例如,绘图应用可以跟踪建筑物内的移动设备的当前地点)。

权利要求 :

1.一种用于在围护结构内定位地点的方法,包括:从第一全球定位系统(GPS)设备获得与所述围护结构相关联的原点在全球坐标系统中的原点全球坐标;

从第二GPS设备获得与所述围护结构相关联的参考点在所述全球坐标系统中的参考点全球坐标,所述参考点不同于所述原点;

基于所述原点或参考点中的至少一个,确定从方向参考线到与所述围护结构相关联的本地坐标系统的第一轴的方位角γ,所述第一轴从所述原点延伸,所述方向参考线在已知方向上从所述原点延伸,确定方位角γ包括:基于所述原点和所述参考点,确定从所述方向参考线到将所述原点连接到所述参考点的参考点线的方位角β;

确定从所述第一轴到所述参考点线的角δ;以及基于所述方位角β和角δ,确定方位角γ;

确定从所述方向参考线到将所述原点连接到所述围护结构内的给定点的给定点线的方位角α,确定方位角α包括:基于所述给定点在所述本地坐标系统中的给定点本地坐标,确定所述第一轴和所述给定点线之间的角θ;以及基于所述角θ和方位角γ,确定方位角α;

基于所述方位角α和给定点线的给定点线长度,确定所述给定点在所述全球坐标系统中的给定点全球坐标;

基于所述给定点全球坐标,确定所述围护结构内的物体的物理地点;以及通过移动设备上的用户界面,显示位于所述围护结构的数字表示内的所述物理地点处的所述物体。

2.权利要求1的方法,所述围护结构包括建筑物并且所述地点对应于所述建筑物内的位置。

3.权利要求1的方法,确定方位角β包括:利用大地问题反解来确定方位角β。

4.权利要求1的方法,确定给定点全球坐标包括:利用大地问题正解来确定给定点全球坐标。

5.一种用于在围护结构内定位地点的系统,包括:坐标转换组件,被配置成:

获取围护结构的水平面的蓝图图像;

确定用于所述蓝图图像的一组比例参数,这组比例参数包括所述蓝图图像的像素到所述围护结构的物理坐标测量的映射;

确定从所述围护结构内的地点到第一结构的第一垂直距离和从所述地点到第二结构的第二垂直距离;

基于所述第一垂直距离,使用这组比例参数来生成第一圆;

基于所述第二垂直距离,使用这组比例参数来生成第二圆;

定义所述第一圆的第一位置,使得所述第一圆正切于所述第一结构;

定义所述第二圆的第二位置,使得所述第二圆正切于所述第二结构;以及基于所述第一圆的坐标和所述第二圆的坐标,确定所述围护结构内的地点的坐标点。

6.权利要求5的系统,所述坐标转换组件被配置成:通过绘图用户界面接收所述第一垂直距离和第二垂直距离。

7.权利要求6的系统,所述坐标转换组件被配置成:通过所述绘图用户界面显示所述坐标点。

8.权利要求5的系统,生成第一圆和生成第二圆包括:基于所述第一垂直距离定义所述第一圆的第一半径;以及基于所述第二垂直距离定义所述第二圆的第二半径。

说明书 :

在围护结构内定位地点

背景技术

[0001] 许多设备提供利用地点跟踪的基于位置的服务。在一个示例中,移动电话上的绘图服务可以利用全球坐标(例如,来自全球定位系统(GPS)的地点信息,诸如经度和纬度)来标识该移动电话的当前位置。以这种方式,用户可以规划从当前位置到用户感兴趣的特定目的地的旅游路径。在另一个示例中,平板设备上的餐厅应用可以利用诸如全球坐标那样的地点信息向用户建议本地餐厅。当前地点跟踪技术利用与GPS相关联的全球坐标,因为GPS可以为户外空间提供相对准确的经度和纬度信息。然而,GPS可能不会准确地表示室内位置,因为GPS可能不能标识围护结构(诸如建筑物)内的位置。以这种方式,基于位置的服务可能局限于跟踪户外地点。

发明内容

[0002] 提供本概要以便以简化形式介绍概念的选择,这些概念还在下面的详细说明中进行描述。本概要既不旨在标识所要求保护的主题的关键因素或必要特征,也不旨在用来限制所要求保护的主题的范围。
[0003] 除其它方面之外,本文提供了用于在围护结构内定位地点的一个或多个系统和/或技术。也就是说,地点(例如,对象的位置,所述对象诸如移动设备、人、实体、建筑物的部分等等)可位于围护结构(例如,地下结构、地铁、建筑物的楼层等等)内,使得可在室内空间内跟踪地点而不会丢失基于位置的功能性。以这种方式,移动设备的用户可以在例如室内和户外空间之间无缝地过渡。可以领会的是,为了说明性的目的,在本概要中描述的各种角、线、点和/或其它特征的示例在图3中进行图示。
[0004] 在围护结构内定位地点的一个示例中,与围护结构相关联的本地坐标可以用来将给定点的全球坐标确定为该围护结构内的地点。也就是说,本地坐标系统的原点(例如,建筑物内的第一地点(诸如建筑物的角落)可以表示与该建筑物相关联的笛卡尔坐标系统的原点)可以基于针对该原点的全球坐标系统的原点全球坐标而确立。例如,与建筑物的角落相关联的GPS设备可以提供原点的原点全球坐标。本地坐标系统中的参考点(例如,建筑物内的第二地点(诸如该建筑物的第二角落)可对应于该建筑物内的参考点的位置)可以基于针对该参考点的全球坐标系统的参考点全球坐标而确立。例如,与建筑物的第二角落相关联的GPS设备可以提供参考点的参考点全球坐标。
[0005] 可以基于全球坐标系统针对围护结构确立方向参考线(例如,正北)。可以基于原点确立本地坐标系统的第一轴(例如,y轴)。以这种方式,本地坐标系统的方位角γ(例如,从方向参考线到第一轴的角)可以基于原点和/或参考点而确定。例如,方位角β(例如,从方向参考线到将原点连接到参考点的参考点线的角)和角δ(例如,从第一轴到参考点线的角)可以被用来确定方位角γ。以这种方式,可以确定方位角γ。可以确定方位角α(例如,从方向参考线到将原点连接到围护结构内的给定点的给定点线的角)。例如,角θ(例如,从第一轴到给定点线的角)和方位角γ可以被用来确定方位角α。因此,针对给定点,全球坐标系统的给定点全球坐标可以被确定为围护结构内的地点。给定点全球坐标可以基于例如方位角α、原点全球坐标和/或给定点线的给定点线长度而确定。以这种方式,与围护结构相关联的本地坐标可被用来确定围护结构内的给定点的地点的全球坐标。
[0006] 在围护结构内定位地点的另一个示例中,与围护结构相关联的全球坐标可被用来将给定点的本地坐标确定为围护结构内的地点。也就是说,可以针对与围护结构相关联的原点(例如对于与建筑物相关联的本地坐标系统,对应于建筑物内的第一地点的原点)获取全球坐标系统的原点全球坐标(例如,从GPS获取的坐标)和/或本地坐标系统的原点本地坐标。可以针对与围护结构相关联的参考点(例如,在建筑物内的第二地点处的点)获取全球坐标系统的参考点全球坐标(例如,从GPS获取的坐标)和/或本地坐标系统的参考点本地坐标。
[0007] 可以基于全球坐标系统针对围护结构确立方向参考线(例如,正北)。可以基于原点确立本地坐标系统的第一轴(例如,y轴)。以这种方式,本地坐标系统的方位角γ(例如,从方向参考线到第一轴的角)可以基于原点和/或参考点而确定。可以确定方位角α(例如,从方向参考线到将原点连接到围护结构内的给定点的给定点线的角)。可以确定将原点连接到给定点的给定点线的给定点线长度。角θ(例如,从第一轴到给定点线的角)可以基于方位角γ和/或方位角α而确定。因此,针对给定点,本地坐标系统的给定点本地坐标可以被确定为围护结构内的地点。给定点本地坐标可以基于角θ和/或给定点线长度而确定。以这种方式,与围护结构相关联的全球坐标可以用来确定围护结构内的给定点的地点的本地坐标。
[0008] 在围护结构内定位地点的另一个示例中,围护结构的蓝图图像可以被用来确定围护结构内的地点(例如,对应于移动设备的地点)的坐标点。也就是说,可以获取围护结构的水平面(level)的蓝图图像(例如,包括表示建筑物的楼层的像素的蓝图图像)。因为蓝图图像可以使用像素来表示该水平面,所以用于该蓝图图像的一组比例参数可以用来在像素值和物理坐标之间转变。这组比例参数可以将蓝图图像的像素映射到围护结构的物理坐标测量。可以确定从围护结构内的地点到第一结构的第一垂直距离(例如,从移动设备到建筑物的第一墙的第一距离)。可以确定从该地点到第二结构的第二垂直距离(例如,从移动设备到建筑物的第二墙的第二距离)。以这种方式,可以基于第一垂直距离使用该组比例参数来生成第一圆(例如,可以通过使用第一垂直距离作为半径而生成第一圆),并且可以基于第二垂直距离使用该组比例参数来生成第二圆(例如,可以通过使用第二垂直距离作为半径而生成第二圆)。
[0009] 第一圆和/或第二圆的地点可以在蓝图图像内转移(translate),使得第一圆和第二圆与第一结构和第二结构正切。例如,可以定义第一圆的第一位置,使得第一圆与第一结构正切(例如,第一圆可以被移动到蓝图图像内的第一位置,使得第一圆与建筑物的第一墙正切)。可以定义第二圆的第二位置,使得第二圆与第二结构正切(例如,第二圆可以被移动到蓝图图像内的第二位置,使得第二圆与建筑物的第二墙正切)。以这种方式,围护结构内的地点的坐标点可以基于第一圆的坐标和/或第二圆的坐标(例如,基于第一圆和/或第二圆的中心值)而确定。
[0010] 为了完成前述和相关目的,以下描述和附图阐述了某些说明性的方面和实施方案。这些仅指示其中可采用一个或多个方面的各种方式中的一些。当结合附图考虑时,本公开内容的其它方面、优点和新颖特征将根据以下详细描述而变得明显。

附图说明

[0011] 图1是图示出在围护结构内定位地点的示范性方法的流程图。
[0012] 图2是图示出在围护结构内定位地点的示范性方法的流程图。
[0013] 图3是围护结构的表示的示例的图示。
[0014] 图4是图示出用于生成用来在围护结构内定位地点的一个或多个圆的示范性系统的组件框图。
[0015] 图5是图示出用于在围护结构内定位地点的示范性系统的组件框图。
[0016] 图6是示范性计算机可读介质的图示,其中可包括被配置成体现本文阐述的一个或多个规定的处理器可执行指令。
[0017] 图7图示出其中可实施本文阐述的一个或多个规定的示范性计算环境。

具体实施方式

[0018] 现在参考附图描述所要求保护的主题,其中贯穿全文,相似的参考数字一般用来指代相似的元件。在以下描述中,为了解释的目的,阐述许多具体细节,以便提供对所要求保护的主题的理解。然而,可明显的是,可以在没有这些具体细节的情况下实践所要求保护的主题。在其它实例中,以框图形式图示结构和设备,以便促进对所要求保护的主题的描述。
[0019] 许多设备提供利用地点跟踪功能性(诸如GPS)的基于位置的服务,其在围护结构(例如,建筑物、多层建筑物、商场、隧道、地铁等等(例如,GPS信号可能不可得的、被阻塞等等的场合))内无法提供相对准确的地点跟踪。因此,如本文提供的,可以在围护结构内定位地点(例如,诸如移动设备那样的对象的地点),使得可以在室内空间内跟踪该地点的位置。例如,全球空间模型可以被用来利用已知的全球坐标(例如,安装在建筑物角落上的GPS接收机)和/或与围护结构相关联的本地坐标系统(例如,笛卡尔坐标系统)的本地坐标来表示对象的位置(例如,三维位置)。全球空间模型可以在全球坐标和本地坐标之间变换,以便标识围护结构内的地点。在一个示例中,全球空间模型可以利用围护结构的蓝图图像,以便确定围护结构内的地点。以这种方式,可以在室内空间内提供位置跟踪,并且位置跟踪可以在室内和户外空间之间无缝地过渡。
[0020] 在围护结构内定位地点的一个实施例由图1中的示范性方法100图示。可领会的是,为了说明性的目的,方法100可结合图3的示例300进行描述(例如,示例300包括围护结构302的表示,诸如建筑物的楼层,其包括在该围护结构302内位于原点304处的第一GPS设备和/或位于参考点306处的第二GPS设备)。围护结构内的地点可以对应于围护结构302内的给定点308的地点。
[0021] 在102处,方法开始。在104处,可基于针对原点304的全球坐标系统的原点全球坐标(例如,位于原点304处的第一GPS设备可以提供原点全球坐标)来确立与围护结构302相关联的本地坐标系统(例如,包括第一轴314和第二轴316的笛卡尔坐标系统)的原点304。在106处,可基于针对参考点306的全球坐标系统的参考点全球坐标(例如,位于参考点306处的第二GPS设备可以提供参考点全球坐标)来在本地坐标系统中确立参考点306。
[0022] 可以在围护结构302内标识方向参考线318(例如,第一GPS设备可以提供正北测量,该正北测量可以被用来构建方向参考线318)。在108处,可以基于原点304和/或参考点306来确定方位角γ322(例如,方向参考线318和第一轴314之间的角)。在确定方位角γ322的一个示例中,可以基于原点304、参考点306和/或参考点线310的参考点线长度来确定方位角β326(例如,从方向参考线318到将原点304连接到参考点306的参考点线310的角)。例如,大地问题反解(an inverse geodetic problem solution)(例如,反弦方程)可以被用来确定方位角β326。可以确定从第一轴314到参考点线310的角δ328。以这种方式,方位角γ
322可以基于方位角β326和/或角δ328而确定(例如,方位角γ322等于方位角β326减去角δ
328)。
[0023] 在110处,可以确定方位角α320(例如,从方向参考线318到将原点304连接到给定点308的给定点线312的角)。在确定方位角α320的一个示例中,角θ324(例如,第一轴314和给定点线312之间的角)可以基于针对给定点308的本地坐标系统的给定点本地坐标而确定。以这种方式,方位角α320可以基于角θ324和/或方位角γ322而确定。
[0024] 在112处,针对给定点308,全球坐标系统的给定点全球坐标(例如,给定点308的GPS坐标,诸如经度和纬度值)可以被确定为围护结构内的地点。给定点全球坐标可以基于方位角α320和/或给定点线312的给定点线长度(例如,从原点304到给定点308的距离)而确定。例如,大地问题正解(a direct geodetic problem solution)可用来确定给定点全球坐标。以这种方式,针对给定点308,全球坐标(诸如GPS坐标)可以基于给定点308的本地坐标(例如,用来确定方位角α320的给定点本地坐标)而确定。在一个示例中,给定点308可以对应于对象,诸如移动设备。对象的地点可以通过例如移动设备和/或另一个设备等等上的用户界面(例如,绘图应用)而显示在围护结构302的数字表示内。以这种方式,可以在围护结构302内跟踪移动设备(例如,通过将本地坐标转化为全球坐标,诸如GPS坐标)。可以领会的是,给定点308可以对应于任何对象,诸如无线接入点、人、启用位置跟踪的设备等等。在114处,方法结束。
[0025] 在围护结构内定位地点的一个实施例由图2中的示范性方法200图示。可以领会的是,为了说明性的目的,方法200可以结合图3的示例300进行描述(例如,示例300包括围护结构302的表示,诸如建筑物的楼层,其包括在围护结构302内位于原点304处的第一GPS设备和/或位于参考点306处的第二GPS设备)。围护结构内的地点可以对应于围护结构302内的给定点308的地点。
[0026] 在202处,方法开始。在204处,可以针对原点304获取全球坐标系统的原点全球坐标(例如,位于原点304处的第一GPS设备可以提供原点全球坐标)和本地坐标系统(例如,包括第一轴314和第二轴316的笛卡尔坐标系统)的原点本地坐标。在206处,可以针对参考点306获取全球坐标系统的参考点全球坐标(例如,位于参考点306处的第二GPS设备可以提供参考点全球坐标)和本地坐标系统的参考点本地坐标。
[0027] 可以在围护结构302内标识方向参考线318(例如,第一GPS设备可以提供正北测量,其可以用来构建方向参考线318)。在208处,方位角γ322(例如,从方向参考线318到本地坐标系统的第一轴314的角)可以基于原点304和/或参考点306而确定。在一个示例中,可以获取全球坐标系统的给定点全球坐标,其可以用来确定一个或多个角,诸如方位角α320(例如,给定点全球坐标可以被用来标识给定点线312的给定点线长度,其可以用来确定方位角α320)。因此,在210处,可以确定方位角α320(例如,从方向参考线318到连接原点304和给定点308的给定点线312的角)和给定点线312的长度。例如,大地问题反解(例如,反弦方程)可以被用来确定方位角α320和给定点线312的长度。
[0028] 在212处,从第一轴314到给定点线312的角θ324可以基于方位角γ322和/或方位角α320而确定(例如,角θ324等于方位角α320减去方位角γ322)。
[0029] 在214处,针对给定点308,本地坐标系统的给定点本地坐标(例如,x/y坐标)可以被确定为围护结构302内的地点。给定点本地坐标可以基于角θ和/或给定点线312的给定点线长度而确定。以这种方式,针对给定点308,可以基于例如与围护结构302相关联的全球坐标来确定诸如x/y坐标那样的本地坐标。在216处,方法结束。
[0030] 图4图示出被配置用于生成用来在围护结构内定位地点的一个或多个圆的系统400的示例。系统400可以包括坐标转换组件402。坐标转换组件402可以被配置成获取围护结构的水平面(例如,建筑物的楼层)的蓝图图像404(例如,蓝图图像处理406)。蓝图图像
404可以包括表示该围护结构的一个或多个像素(例如,第一房间426、第二房间424、第一墙
414、第二墙416、第三墙428、第四墙430、第五墙432和/或其它结构)。
[0031] 坐标转换组件402可以被配置成确定用于蓝图图像404的一组比例参数408。因为蓝图图像404将围护结构表示为像素,所以这组比例参数408可以包括像素到围护结构的物理坐标测量的映射。以这种方式,这组比例参数408可以由坐标转换组件402使用,以在像素值和围护结构的物理坐标之间切换。
[0032] 坐标转换组件402可以被配置成确定从围护结构内的地点422到第一结构(例如,第一墙414)的第一垂直距离434和从地点422到第二结构(例如,第二墙416)的第二垂直距离436。以这种方式,坐标转换组件402可以创建垂直距离410。在一个示例中,第一垂直距离434和/或第二垂直距离436可以通过绘图用户界面来接收(例如,对应于地点422的移动设备的用户可以利用该移动设备来检测和/或输入垂直距离)。
[0033] 坐标转换组件402可以被配置成基于第一垂直距离434使用这组比例参数408来生成第一圆418。例如,可以基于第一垂直距离434针对第一圆418定义第一半径。当生成第一圆418时,这组比例参数408可以用来将像素值变换成物理坐标。坐标转换组件402可以被配置成基于第二垂直距离436使用这组比例参数408来生成第二圆420。例如,可以基于第二垂直距离436针对第二圆420定义第二半径。当生成第二圆420时,这组比例参数408可以用来将像素值变换成物理坐标。以这种方式,坐标转换组件402可以被配置成生成第一圆418和/或第二圆420,其可以被用来在由蓝图图像404表示的围护结构内定位地点(例如,针对地点422的本地坐标系统的本地坐标)(例如,如在图5中所示)。
[0034] 图5图示出被配置用于在围护结构内定位地点的系统500的示例。可以领会的是,在一个示例中,蓝图图像504可以对应于图4的蓝图图像404(例如,坐标转换组件402可以已经生成对应于第一圆512的第一圆418和/或对应于第二圆514的第二圆420)。系统500可以包括坐标转换组件502。坐标转换组件502可以已经获取对蓝图图像504的访问和/或可以已经生成蓝图图像504内的第一圆512和/或第二圆514。
[0035] 坐标转换组件502可以被配置成定位506蓝图图像504内的第一圆512和/或第二圆514。例如,坐标转换组件502可以定义第一圆512的第一位置,使得第一圆512与第一结构(例如,第一墙508)正切。坐标转换组件502可以定义第二圆514的第二位置,使得第二圆514与第二结构(例如,第二墙510)正切。以这种方式,坐标转换组件502可以基于第一圆512的坐标和/或第二圆514的坐标(例如,针对该地点的像素坐标或本地坐标系统的本地坐标)来确定围护结构内的地点的坐标点(例如,针对图4的地点422的本地坐标系统的本地坐标)。
例如,坐标点可以基于第一圆512和/或第二圆514的中心值。在一个示例中,坐标转换组件
502可以通过绘图用户界面显示坐标点。可以领会的是,地点可以对应于建筑物的楼层,使得坐标点可以对应于三维坐标。以这种方式,可以在建筑物的楼层之间和/或在例如户外空间和建筑物之间跟踪地点。
[0036] 还有另一个实施例涉及包括处理器可执行指令的计算机可读介质,所述处理器可执行指令被配置成实施本文呈现的一个或多个技术。可以以这些方式设计的示范性计算机可读介质在图6中图示,其中实施方案600包括计算机可读介质616(例如,CD-R、DVD-R、或硬盘驱动器的圆形磁盘片),计算机可读数据614被编码在所述计算机可读介质616上。这种计算机可读数据614进而包括被配置成按照本文阐述的一个或多个原理操作的一组计算机指令612。在一个这样的实施例600中,处理器可执行计算机指令612可以被配置成执行方法610,诸如例如图1的示范性方法100中的至少一些和/或图2的示范性方法200中的至少一些。在另一个这样的实施例中,处理器可执行指令612可以被配置成实施系统,诸如例如图4的示范性系统400中的至少一些和/或图5的示范性系统500中的至少一些。被配置成按照本文呈现的技术操作的许多这样的计算机可读介质可以由本领域一般技术人员来设计。
[0037] 虽然已经以特定于结构特征和/或方法动作的语言描述了本主题,但应当理解的是,在所附权利要求中限定的主题未必限于上述特定特征或动作。而是,上述特定特征和动作是作为实施权利要求的示例形式而公开的。
[0038] 如本申请中使用的,术语“组件”、“模块”、“系统”、“界面”等等一般旨在指代计算机相关的实体,其或是硬件、硬件和软件的组合、软件,或是执行中的软件。例如,组件可以但不限于是在处理器上运行的过程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在控制器上运行的应用和该控制器都可以是组件。一个或多个组件可以驻留于过程和/或执行线程内,并且组件可以位于一个计算机上和/或在两个或更多计算机之间分布。
[0039] 此外,所要求保护的主题可以被实施为方法、装置或制品,其使用标准编程和/或工程技术来产生软件、固件、硬件或其任何组合以控制计算机实施所公开的主题。如本文使用的术语“制品”旨在包含从任何计算机可读设备、载体或介质可访问的计算机程序。当然,本领域技术人员将识别的是,可以对该配置做出许多修改而不会偏离所要求保护的主题的范围和精神。
[0040] 图7和以下讨论提供对用于实施本文阐述的一个或多个规定的实施例的适当计算环境的简要一般描述。图7的操作环境仅仅是适当操作环境的一个示例,并且不旨在建议关于该操作环境的使用范围或功能性的任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费电子用品、微型计算机、大型计算机、包括以上系统或设备中的任一项的分布式计算环境等等。
[0041] 虽然不要求,但是在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述实施例。计算机可读指令可以经由计算机可读介质(下文中讨论)分布。计算机可读指令可以被实施为执行特定任务或实施特定抽象数据类型的程序模块,诸如函数、对象、应用编程接口(API)、数据结构等等。典型地,可以按照各种环境中所期望的来组合或分布计算机可读指令的功能性。
[0042] 图7图示出系统710的示例,系统710包括被配置成实施本文提供的一个或多个实施例的计算设备712。在一个配置中,计算设备712包括至少一个处理单元716和存储器718。取决于确切配置和类型的计算设备,存储器718可以是易失性的(诸如例如RAM)、非易失性的(诸如例如ROM、闪速存储器等)或是两者的某种组合。这种配置在图7中由虚线714图示。
[0043] 在其它实施例中,设备712可以包括附加的特征和/或功能性。例如,设备712还可以包括附加的存储装置(例如,可移除和/或不可移除),其包括但不限于磁性存储装置、光学存储装置等等。这样的附加存储装置在图7中由存储装置720图示。在一个实施例中,用于实施本文提供的一个或多个实施例的计算机可读指令可处于存储装置720中。存储装置720还可以存储用于实施操作系统、应用程序等等的其它计算机可读指令。计算机可读指令可以被载入到存储器718中,以便例如由处理单元716执行。
[0044] 如本文使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储信息(诸如计算机可读指令或其它数据)的任何方法或技术实施的易失性和非易失性、可移除和不可移除的介质。存储器718和存储装置720是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多用盘(DVD)或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储设备、或者可以用来存储期望的信息并且可以由设备712访问的任何其它介质。任何这样的计算机存储介质可以是设备712的部分。
[0045] 设备712还可以包括(多个)通信连接726,其允许设备712与其它设备通信。(多个)通信连接726可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外端口、USB连接、或者用于将计算设备712连接到其它计算设备的其它接口。(多个)通信连接726可以包括有线连接或无线连接。(多个)通信连接726可以传送和/或接收通信媒体。
[0046] 术语“计算机可读介质”可以包括通信介质。通信介质典型地体现诸如载波或其它传送机制的“调制数据信号”中的计算机可读指令或其它数据,并且包括任何信息递送介质。术语“调制数据信号”可以包括如下信号:该信号的一个或多个特性以将信息编码在该信号中的这样的方式来设定或改变。
[0047] 设备712可以包括(多个)输入设备724,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外摄像机、视频输入设备和/或任何其它输入设备。诸如一个或多个显示器、扬声器、打印机和/或任何其它输出设备的(多个)输出设备722也可包括在设备712内。(多个)输入设备724和(多个)输出设备722可以经由有线连接、无线连接或其任何组合连接到设备712。在一个实施例中,来自另一个计算设备的输入设备或输出设备可以被用作计算设备
712的(多个)输入设备724或(多个)输出设备722。
[0048] 计算设备712的组件可以通过诸如总线那样的各种互连连接。这样的互连可以包括诸如PCI Express的外围组件互连(PCI)、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等等。在另一个实施例中,计算设备712的组件可以通过网络互连。例如,存储器718可以包括位于不同物理位置的通过网络互连的多个物理存储器单元。
[0049] 本领域技术人员将意识到,用来存储计算机可读指令的存储设备可以跨网络分布。例如,经由网络728可访问的计算设备730可以存储计算机可读指令以实施本文提供的一个或多个实施例。计算设备712可以访问计算设备730并且下载计算机可读指令的部分或全部以便执行。可替换地,计算设备712可以按需下载计算机可读指令的片段,或者一些指令可以在计算设备712处执行而一些指令在计算设备730处执行。
[0050] 本文提供了实施例的各种操作。在一个实施例中,所描述的一个或多个操作可以构成存储在一个或多个计算机可读介质上的计算机可读指令,如果所述计算机可读指令由计算设备执行,则将使得计算设备执行所描述的操作。描述一些或全部操作的次序不应该被解读为暗示着这些操作必然是依赖于次序的。可替换的次序将由得益于本描述的本领域技术人员所领会。此外,将理解的是,不是所有操作都在本文提供的每个实施例中必然存在。
[0051] 而且,词语“示范性”在本文中用来意味着充当示例、实例或说明。本文描述为“示范性”的任何方面或设计不是必然地被解读为比其它方面或设计有利。而是,词语示范性的使用旨在以具体方式呈现概念。如在本申请中使用的,术语“或”旨在意味着包含性的“或”,而不是排他性的“或”。也就是说,除非以其它方式指定或根据上下文是清楚的,否则“X采用A或B”旨在意味着任何自然包含性排列。也就是说,如果X采用A;X采用B;或X采用A和B两者,那么“X采用A或B”满足任何前述实例。附加地,如本申请和附权利要求中使用的冠词“一”和“一个”一般可以被解读为意味着“一个或多个”,除非以其它方式指定或根据上下文清楚的是涉及单数形式。同样,A和B中的至少一个等等一般意味着A或B或A和B两者。
[0052] 同样,虽然已经关于一个或多个实施方案示出和描述了本公开内容,但是基于对本说明书和附图的阅读和理解,本领域技术人员将认识到等同的更改和修改。本公开内容包括所有这样的修改和更改,并且仅由以下权利要求的范围限制。特别地关于由以上描述的组件(例如,元件、资源等等)执行的各种功能,除非以其它方式指示,否则用来描述这样的组件的术语旨在对应于执行所描述的组件的指定功能的任何组件(例如,在功能上等同),即便其在结构上不等同于执行本公开内容的本文说明的示范性实施方案中的功能的公开结构。附加地,虽然可能已经仅关于数个实施方案之一公开了本公开内容的特定特征,但是如可能对任何给定或特定应用所期望和有利的,这样的特征可以与其它实施方案的一个或多个其它特征相组合。此外,就术语“包括”、“具有”、“有”、“带有”或其变型在详细描述或权利要求中使用的程度而言,这样的术语以与术语“包含”相似的方式旨在为包含性的。