基于视觉的定位的制作方法

文档序号:18512705发布日期:2019-08-24 09:14阅读:133来源:国知局
基于视觉的定位的制作方法

本公开涉及室内定位技术领域,尤其涉及一种基于视觉进行定位的方法、计算设备、系统以及计算机可读存储介质。



背景技术:

目前,用于室内定位的方法主要包括基于视觉的定位方法,而基于视觉的定位方法又主要包括基于slam(simultaneouslocalizationandmapping)的定位方法以及基于深度学习的定位方法。

基于视觉里程计的定位方法是一种基于slam的定位方法。在基于视觉里程计的定位方法中,需要预先确定相机在世界坐标系下的初始坐标,然后再基于该初始坐标以及连续的图像序列通过帧间匹配进行定位。此外,该基于视觉里程计的定位方法还需要每间隔一段预设时间就进行累计误差的消除。

基于场景的端到端定位方法是一种基于深度学习的定位方法。该基于场景的定位方法基于相机所拍摄的图像的场景直接得到相机在世界坐标系下的三维相姿。



技术实现要素:

根据本公开的一个方面,提供了一种基于视觉进行定位的方法。该方法可以包括:获得图像;基于深度学习模型从所述图像的场景获得相机在世界坐标系下的第一坐标,基于所述第一坐标获得相机在世界坐标系下的初始坐标;以及基于相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。

在一个实施例中,所述方法还可以包括:检测所述图像中是否包括标志物,其中所述标志物具有至少3个顶点。在这种情况下,所述基于所述第一坐标获得相机在世界坐标系下的初始坐标包括:响应于所述图像中不包括所述标志物,将所述第一坐标用作相机在世界坐标系下的初始坐标。

在一个实施例中,所述方法还可以包括:检测所述图像是否包括标志物,其中所述标志物具有至少3个顶点。在这种情况下,所述基于所述第一坐标获得相机在世界坐标系下的初始坐标包括:响应于所述图像中包括所述标志物,基于所述标志物和第一坐标获得相机在世界坐标系下的第二坐标;以及将所述第二坐标用作相机在世界坐标系下的初始坐标。

在一个实施例中,所述基于所述标志物和第一坐标获得相机在世界坐标系下的第二坐标可以包括:基于所述图像获得所述标志物的顶点在相机坐标系下的坐标;基于所述第一坐标从预先存储的多个标志物的顶点在世界坐标系下的坐标检索出所述图像中包括的所述标志物的顶点在世界坐标系下的坐标;基于所述图像中包括的所述标志物的顶点在相机坐标系下的坐标以及所述图像中包括的所述标志物的顶点在世界坐标系下的坐标获得相机坐标系相对于世界坐标系的旋转矩阵和平移矩阵;以及基于所述旋转矩阵和平移矩阵确定相机在世界坐标系下的第二坐标。

在一个实施例中,所述检测所述图像中是否包括标志物可以包括:基于单次多框检测器算法检测所述图像中是否包括标志物。

在一个实施例中,所述方法还可以包括,以预设的时间间隔更新所述相机在世界坐标系下的初始坐标;以及基于更新的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。

在一个实施例中,每一次更新所述相机在世界坐标系下的初始坐标可以包括:如前所述那样基于实时获得的图像的场景和/或标志物获得相机在世界坐标系下的初始坐标。

在一个实施例中,所述深度学习模型是基于posenet网络的深度学习模型。

根据本公开的另一个方面,提供了一种基于视觉进行定位的计算设备。该计算设备可以包括:图像获取装置,其被配置成获得图像;初始坐标确定装置,其与图像获取装置相耦合且被配置成,基于深度学习模型从所述图像的场景获得相机在世界坐标系下的第一坐标,以及基于所述第一坐标获得相机在世界坐标系下的初始坐标;以及实时位置确定装置,其与图像获取装置和初始坐标确定装置相耦合,且被配置成,基于相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。

在一个实施例中,所述初始坐标确定装置还可以被配置成:检测所述图像中是否包括标志物,其中所述标志物具有至少3个顶点。在这种情况下,所述基于所述第一坐标获得相机在世界坐标系下的初始坐标可以包括:响应于所述图像中不包括所述标志物,将所述第一坐标用作相机在世界坐标系下的初始坐标。

在一个实施例中,所述初始坐标确定装置还可以被配置成:检测所述图像是否包括标志物,其中所述标志物具有至少3个顶点。在这种情况下,所述基于所述第一坐标获得相机在世界坐标系下的初始坐标可以包括:响应于所述图像中包括所述标志物,基于所述标志物和第一坐标获得相机在世界坐标系下的第二坐标;以及将所述第二坐标用作相机在世界坐标系下的初始坐标。

在一个实施例中,所述基于所述标志物和第一坐标获得相机在世界坐标系下的第二坐标可以包括:基于所述图像获得所述标志物的顶点在相机坐标系下的坐标;基于所述第一坐标从预先存储的多个标志物的顶点在世界坐标系下的坐标检索出所述图像中包括的所述标志物的顶点在世界坐标系下的坐标;基于所述图像中包括的所述标志物的顶点在相机坐标系下的坐标以及所述图像中包括的所述标志物的顶点在世界坐标系下的坐标获得相机坐标系相对于世界坐标系的旋转矩阵和平移矩阵;以及基于所述旋转矩阵和平移矩阵确定相机在世界坐标系下的第二坐标。

在一个实施例中,所述检测所述图像中是否包括标志物可以包括:基于单次多框检测器算法检测所述图像中是否包括标志物。

在一个实施例中,所述初始坐标确定装置还可以被配置成:以预设的时间间隔更新所述相机在世界坐标系下的初始坐标;以及其中,所述实时位置确定装置还可以被配置成,基于更新的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。

在一个实施例中,每一次更新所述相机在世界坐标系下的初始坐标可以包括如前所述那样基于由图像获取装置实时获得的图像的场景和/或标志物获得相机在世界坐标系下的初始坐标。

在一个实施例中,所述深度学习模型是基于posenet网络的深度学习模型。

根据本公开的又一个方面,提供了一种基于视觉进行定位的计算设备。该计算设备可以包括:一个或多个处理器;以及存储器,其上存储有计算机可执行指令,所述计算机可执行指令被配置成当被所述一个或多个处理器执行时,执行如前所述的方法。

根据本公开的又一个方面,提供了一种基于视觉进行定位的系统,该系统包括:相机,其被配置成捕获图像;以及如前所述的计算设备,其与相机相耦合且被配置成获得所述图像。

根据本公开的再一个方面,提供了一种计算机可读存储介质。所述计算机可读存储介质上存储了计算机可执行指令。所述计算机可执行指令在由一个或多个处理器运行时,使所述一个或多个处理器执行如前所述的方法。

附图说明

为了更清楚地说明本公开实施例,下面通过参考附图详细描述本公开的实施例。本公开实施例旨在用于解释本公开,而不应理解为对本公开的限制。在附图中,

图1示出了根据本公开的实施例的用于基于视觉进行定位的系统的示意图;

图2示出了根据本公开的一个实施例的用于基于视觉进行定位的方法的流程的示意图;

图3示出了根据本公开的另一个实施例的用于基于视觉进行定位的方法的流程的示意图;以及

图4示出了根据本公开的实施例的用于基于视觉进行定位的计算设备的示意图。

相同或类似的标号表示相同或类似的元件。

具体实施方式

基于视觉里程计的定位方法几乎不受环境变化的影响。但是,基于视觉里程计的定位方法需要获取相机在世界坐标系下的初始坐标,并且每间隔一段时间就进行累积误差的消除。然而,相机在世界坐标系下的初始坐标的获取以及累积误差的消除都需要借助于wifi模块或者蓝牙之类的硬件设备,这增加了额外的硬件成本。基于场景的端到端定位方法对环境变化具有一定的鲁棒性,但是它的定位精度相对较低。

本公开的实施例的目的之一在于提供一种满足需要的定位精度的纯视觉的定位方法。

以下将结合附图对根据本公开的实施例进行说明。需要注意的是,尽管以下描述基于环境变化较大的商场进行说明,但是根据本公开的实施例可以应用于环境变化较大的任何其他现实应用情形。

图1示出了根据本公开的实施例的用于基于视觉进行定位的系统100的示意图。该系统100可以包括彼此耦合的计算设备110和相机120。它们通过诸如wifi、蓝牙等无线技术进行通信。尽管在图1中,计算设备110和相机120被示为分离的设备,但是根据本公开的实施例不限于此,计算设备110和相机120可以被集成在一起。

相机120被配置成捕获图像并将所捕获的图像发送给计算设备110。相机120可以实时地,或者以预设的时间间隔捕获和发送图像。相机120可以是任何一种能够捕获到图像的设备。在现实的应用中,相机120可以被固定在购物车上,并随着购物车移动从而捕获到现实场景中的多个图像。相机的位置实质上就是购物车或者用户的位置。

计算设备110与相机120相耦合并且被配置成从所述相机获得或接收图像。计算设备110可以是移动电话、计算机、服务器、上网本等任何可以基于视觉进行定位的设备。

计算设备110可以包括图像获取装置101、存在性确定装置102、初始坐标确定装置103以及实时位置确定装置104。

图像获取装置101可以被配置成例如从相机120实时地获得或接收图像,并将所获得或所接收的图像发送至存在性确定装置102和/或初始坐标确定装置103和/或实时位置确定装置104。

存在性确定装置102与图像获取装置101相耦合,并且可以被配置成确定存储器中是否包括相机120在世界坐标系下的初始坐标,并将确定的结果发送给初始坐标确定装置103。

初始坐标确定装置103与图像获取装置101和存在性确定装置102相耦合。初始坐标确定装置103可以从图像获取装置101获得或接收图像,以及从存在性确定装置102获得或接收所述确定的结果。初始坐标确定装置103可以被配置成,例如响应于确定存储器中不包括相机在世界坐标系下的初始坐标,基于深度学习模型从所获得的当前图像的场景获得相机在世界坐标系下的当前坐标,并基于所述当前坐标获得相机在世界坐标系下的初始坐标。在一个实施例中,所述当前坐标就可以用作相机在世界坐标系下的初始坐标,也可以用作相机120的当前位置。所述深度学习模型可以是基于posenet网络的深度学习模型。posenet网络的输入可以是rgb图像,输出可以是相机的三维位姿。为了提高所述深度学习模型的准确度,可以根据需要不断地采集现实场景进行学习。

在初始坐标确定装置103确定了相机在世界坐标系下的初始坐标之后,初始坐标确定装置103可以被配置成保存相机在世界坐标系下的该初始坐标,以及将该初始坐标发送给实时位置确定装置104。

实时位置确定装置104可以与图像获取装置101、存在性确定装置102和初始坐标确定装置103相耦合。实时位置确定装置104可以从图像获取装置101获得或接收图像,从存在性确定装置102获得或接收所述确定的结果,以及从初始坐标确定装置103获得或接收所保存的初始坐标。在一个实施例中,实时位置确定装置104可以基于从初始坐标确定装置103获得或接收的相机在世界坐标系下的当前初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。具体地,实时位置确定装置104可以被配置成持续地从图像获取装置101接收图像序列,并且基于从初始坐标确定装置103获得或接收的所述初始坐标通过帧间匹配来确定相机在世界坐标下的实时坐标。在此过程中,可以将相机的所述初始坐标和实时获得的坐标进行卡尔曼滤波融合,融合后的坐标结果可优于所述初始坐标和实时获得的坐标。需要注意的是,基于深度学习模型从图像获得相机在世界坐标系下的坐标以及基于相机在世界坐标系下的该初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标的实施方式可从相关技术中获知,在此不再详述。

根据本公开的实施例的定位方法完全基于视觉而不需要诸如wifi和蓝牙之类的任何额外的硬件设备,从而节约了硬件成本。此外,根据本公开的实施例的部分是基于视觉里程计的,因而可以满足相对高的定位精度。

在一个实施例中,所述初始坐标确定装置103还可以被配置成:检测所述图像是否包括标志物,其中,所述标志物具有至少三个顶点。在这样的情况下,所述初始坐标确定装置103还可以被配置为,响应于所述图像中不包括所述标志物,将从图像的场景获得的相机在世界坐标系下的当前坐标用作相机在世界坐标系下的初始坐标;以及响应于检测到所述图像包括所述标志物,基于所述标志物和从图像的场景获得的相机在世界坐标系下的当前坐标获得相机在世界坐标系下的另一坐标;以及将所述另一坐标用作相机在世界坐标系下的初始坐标。

在一个实施例中,基于所述标志物和从图像的场景获得的相机在世界坐标系下的当前坐标获得相机在世界坐标系下的另一坐标可以包括:基于图像获得标志物的顶点在相机坐标系下的坐标;基于从图像的场景获得的相机在世界坐标系下的当前坐标从预先存储的多个标志物的顶点在世界坐标系下的坐标检索出所述图像中包括的所述标志物的顶点在世界坐标系下的坐标;基于所述图像中包括的所述标志物的顶点在相机坐标系下的坐标以及所述图像中包括的所述标志物的顶点在世界坐标系下的坐标获得相机坐标系相对于世界坐标系的旋转矩阵和平移矩阵;以及基于所述旋转矩阵和平移矩阵确定相机在世界坐标系下的坐标。

在实践中,标志物可以以一定的空间间隔布置在商场的各处,以便相机在行进中能够不定时地拍摄到所述标志物。在一个实施例中,标志物可以是具有至少三个顶点的任何形状,例如三角形、矩形、梯形、菱形、五边形等等。因为标志物是预先布置的,所以可以预先确定标志物的各个顶点在世界坐标系下的坐标,并将这些坐标存储在存储器中以便确定相机在世界坐标系下的实时位置。

为了说明如何基于标志物获得相机在世界坐标系下的坐标,假设一个物体在像素平面坐标系下的坐标为(u,v),在相机坐标系中的坐标为(xc,yc,zc)、在世界坐标系中的坐标为(x,y,z),则相机坐标系与世界坐标系的转换关系为:

公式(1)

其中,r为旋转矩阵,;t为三维平移矩阵,t=[];以及。具体地,r为相机相对于世界坐标系的旋转矩阵,为相机绕着世界坐标系的z轴旋转的偏航角,为相机绕着世界坐标系的y轴旋转的俯仰角,为相机绕着世界坐标系的x轴旋转的横滚角,t为相机相对于世界坐标系的平移,是相机在世界坐标系的z轴上的坐标,是在世界坐标系的x轴上的坐标,是在世界坐标系的y轴上的坐标。

在根据本公开的一个实施例中,例如,可以基于单次多框检测器(ssd:singleshotmultiboxdetector)深度学习算法来检测图像中是否包括标志物。这种算法的输入是rgb图像,而输出则是检测出的标志物的检测框。可以通过不断地模型训练而提高这种检测的精度。基于ssd的目标检测方法可以较快地检测到标志物。

在检测到图像中包括标志物时,从图像中去掉背景,裁剪出检测到的标志物,对其进行线特征提取,得到标志物的各个顶点,从而可以求出标志物的各个顶点的像素坐标(ui,vi),。进一步地,可以通过相机(双目相机或者深度相机)本身(相机的内部参数)直接得到各个顶点的对应深度数据,进而根据针孔相机模型确定所检测到的标志物的各个顶点在相机坐标系下的坐标等等。由此,可以得到标志物的各个顶点在相机坐标系下的坐标集合(其中,由于标志物至少包括三个顶点,因此,该坐标集合至少包括3个坐标)。如前所述,所检测到的标志物的各个顶点在世界坐标系下的对应坐标()预先被存储在了存储器中,因此它们是已知的。此外,由于相机被固定于购物车上,所以相机的高度俯仰角和横滚角也是已知的。在这种情况下,旋转矩阵r和平移矩阵t中仅仅偏航角这三个参数是未知的。如前所述,已经获得了标志物的各个顶点在相机坐标系下的坐标以及其在世界坐标系下的对应坐标,并且顶点的数目至少为3个,所以可以根据公式(1)求出偏航角。在这种情况下,可以得到旋转矩阵r和平移矩阵t,从而获得相机在世界坐标系下的当前坐标。

如前所述,在存储器中预先存储了多个标志物及其对应的顶点的坐标。因此,在从当前图像中检测出标志物时,需要从存储器中存储的多个标志物中找到所检测出的标志物,进而找出其对应的顶点在世界坐标系下的坐标。在一个实施例中,可以首先基于深度学习模型(例如posenet网络)通过基于场景定位而从当前的图像获得相机在世界坐标系下的当前坐标(xs,ys,zs)。然后基于相机在世界坐标系下的该坐标(xs,ys,zs)从存储器中搜索距离该坐标最近的标志物。由于标志物的分布位置比较分散,如几十米布置一个,在检测出标志物的相机位置处,距离该相机最近的标志物为唯一的(即不存在检测出标志物、并且有两个同等距离的标志物),进而找出预先存储的该标志物的各个顶点在世界坐标系下的坐标。由于基于场景定位存在一定的误差(假设最大定位误差是d),所以基于场景定位获得的相机的坐标范围可能是(xsd,ysd,zsd)。在这种情况下,基于相机的坐标范围(xsd,ysd,zsd)从存储器中搜索当前的图像中的标志物,进而找出预先存储的该标志物的各个顶点在世界坐标系下的坐标。

根据本公开的实施例,基于标志物进行定位进而确定相机在世界坐标系下的初始位置。这可以进一步提高定位的精度。

在一个实施例中,所述初始坐标确定装置103还可以被配置成:以预设的时间间隔更新所述相机在世界坐标系下的初始坐标。在这种情况下,实时位置确定装置104可以被配置为,基于更新的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。根据本公开的实施例,每一次更新所述相机在世界坐标系下的初始坐标可以包括初始坐标确定装置103重新基于从图像获取装置101实时获得的图像的场景和/或标志物获得相机在世界坐标系下的初始坐标。具体地,在根据本公开的实施例中,在根据本公开的实施例获得相机在世界坐标系下的当前初始坐标的同时,可以为该初始坐标设置一个定时器。该定时器(预设的时间间隔)可以例如是30秒,或者任何其他适当的时间。当该初始坐标没有经历定时器所设定的时间段时,保持所存储的相机在世界坐标系下的该初始坐标不变,并且继续基于所存储的该初始坐标从图像序列通过帧间匹配获得相机在世界坐标系下的实时坐标。当该初始坐标经历了定时器所设定的时间段时,可以再一次触发根据本公开实施例的对于相机在世界坐标系下的初始坐标的获取。在一个实施例中,可以触发对于当前图像的获取、对于所捕获的当前图像中的标志物的检测,进而如前所述那样基于所述当前图像的场景或所述当前图像的标志物确定相机在世界坐标系下的当前坐标,并用所确定的相机在世界坐标系下的当前坐标更新或者替换先前存储的相机在世界坐标系下的初始坐标,以便将所确定的相机在世界坐标系下的当前坐标用作相机在世界坐标系下的新的初始坐标,进而继续基于所更新的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。在将所确定的相机在世界坐标系下的当前坐标用作相机在世界坐标系下的新的初始坐标的同时,再一次设置定时器,以此类推。

根据本公开实施例,由于以预设的时间间隔更新所存储的相机在世界坐标系下的初始坐标,所以可以消除累积定位误差,从而进一步提高定位精度。

图2示出了根据本公开的一个实施例的用于基于视觉进行定位的方法200的流程的示意图。该方法200例如可以由如图1中所示的计算设备110执行。

如图2中所示,在步骤201中,可以由计算设备110获得图像,例如,从相机120接收相机所捕获的当前图像。

在步骤202中,可以由计算设备110确定在存储器中是否包括相机在世界坐标系下的初始坐标。

在步骤203中,可以由计算设备110响应于确定存储器中不包括相机在世界坐标系下的初始坐标,基于深度学习模型从所述当前图像的场景获得相机在世界坐标系下的当前坐标。在一个实施例中,所述深度学习模型是基于posenet网络的。

在步骤204中,由计算设备110基于所述相机在世界坐标系下的当前坐标获得相机在世界坐标系下的初始坐标。在一个实施例中,所述相机在世界坐标系下的当前坐标就可以用作相机在世界坐标系下的初始坐标。

接下来,由计算设备110继续执行步骤201。例如随着时间的推移,由计算设备110从相机120获得另一个图像。在这种情况下,存储器中已经包括相机在世界坐标系下的初始坐标,因而在步骤205中,计算设备110基于所存储的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的当前(实时)坐标。自此以后,计算设备110反复地获得图像,并基于所存储的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的当前(实时)坐标。通过帧间匹配获得相机在世界坐标系下的坐标可以从基于视觉里程计定位方法中获知,在此不再详述。

需要说明的是,在一个实施例中,根据本公开的一个实施例的用于基于视觉进行定位的方法可以不包括步骤202。相应地,可以由计算设备110基于深度学习模型从所述当前图像的场景获得相机在世界坐标系下的当前坐标。图3示出了根据本公开的另一个实施例的用于基于视觉进行定位的方法300的流程的示意图。该方法300例如可以由如图1中所示的计算设备110执行。

如图3中所示,方法300也包括如图2中所示的方法200的步骤201、202、203和205。与图2中所示的方法200不同的是,方法300还可以包括步骤207。在步骤207中,计算设备110可以检测所获得的图像是否包括标志物。在一个实施例中,所述标志物具有至少3个顶点。在一个实施例中,响应于检测到所述图像包括所述标志物,计算设备110执行步骤208,基于所述标志物以及在步骤203中从图像的场景确定的当前坐标获得相机在世界坐标系下的另一坐标。所述方法300继续到步骤209。在步骤209中,将所述另一坐标用作相机在世界坐标系下的初始坐标。这与图2不同,在图2中,将在步骤203中从所获得的图像的场景直接获得的相机在世界坐标系下的当前坐标用作相机在世界坐标系下的初始坐标。基于所述标志物获得相机在世界坐标系下的当前坐标已经在前面阐述了,在此不再详述。

如图3中所示,响应于检测到所述图像不包括所述标志物,计算设备110直接执行步骤209,基于从所获得的图像的场景直接获得的相机在世界坐标系下的当前坐标来获得相机在世界坐标系下的初始坐标。在一个实施例中,所述获得相机在世界坐标系下的初始坐标包括,将从所获得的图像的场景直接获得的相机在世界坐标系下的当前坐标用作相机在世界坐标系下的初始坐标。在一个实施例中,方法300还可以包括步骤206。在步骤206中,响应于确定存储器中包括相机在世界坐标系下的初始坐标,确定该初始坐标是否经历了预设的时间段。进一步地,响应于确定该初始坐标没有经历所述预设的时间段,所述方法300进行到步骤205,基于当前的初始坐标通过帧间匹配从确定相机实时坐标。响应于确定该初始坐标经历了所述预设的时间段,所述方法300进行到步骤201、203、207、208或209。也就是,计算设备110通过确定图像中是否包括标志物而基于所述图像的场景或所述图像的标志物更新相机在世界坐标系下的初始坐标,从而基于更新的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。步骤206的作用在于以预设的时间间隔不断地更新相机在世界坐标系下的初始坐标,并且基于更新的相机在世界坐标系下的初始坐标通过帧间匹配确定相机在世界坐标系下的实时坐标。如图3中所示,每一次更新所述相机在世界坐标系下的初始坐标可以包括执行一次方法300,也就是重新执行步骤201、202、203、207、208或209。

图4示出了根据本公开的实施例的用于基于视觉进行定位的计算设备的示意图。

参考图4,用于实施所描述的系统和方法的各种部件的示例性系统可以包括通用计算设备400。计算设备400可以用于实施图2或图3的方法。计算设备400仅仅是合适的计算设备的一个示例,并且不旨在关于当前所公开的主题的用途或者功能性的范围建议任何限制。

计算设备400的部件可以包括但不限于处理器11、存储器12和将包括存储器的各种系统部件耦合到处理器11的系统总线16。系统总线16可以是使用各种各样总线架构中的任一种总线架构的包括存储器总线或者存储器控制器、外围总线和本地总线的几种类型的总线结构中的任一种总线结构。作为示例而非限制,这样的架构包括工业标准架构(isa)总线、微通道架构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)本地总线和也被称为夹层总线的外围部件互连(pci)总线。

计算设备400可以包括各种各样的计算机可读介质。计算机可读介质可以是可以被计算设备400访问的任何可用介质,并且包括易失性和非易失性介质、可移除和非可移除介质两者。作为示例而非限制,计算机可读介质可以包括计算机可读存储介质和通信介质。计算机可读存储介质包括使用任何用于存储诸如是计算机可读指令、数据结构、程序模块或者其他数据之类的信息的方法或者技术实施的易失性和非易失性以及可移除和非可移除介质。计算机可读存储介质包括但不限于:随机存取存储器(ram)、只读存储器(rom)、eeprom、闪存或者其他存储器技术、cd-rom、数字多功能盘(dvd)或者其他光盘存储器、盒式磁带、磁带、磁盘存储装置或者其他磁存储设备、或者任何其他可以用于存储期望的信息并且可以被计算设备400访问的介质。通信介质通常将计算机可读指令、数据结构、程序模块或者其他数据体现在诸如是载波或者其他传输机制之类的已调制数据信号中,并且包括任何信息递送介质。术语“已调制数据信号”表示使其特性中的一个或多个特性以使得将信息编码在该信号中的方式被设置或者改变的信号。作为示例而非限制,通信介质包括:诸如是有线网络或者直接有线连接之类的有线介质;以及诸如是rf和其他无线介质之类的无线介质。以上各项中的任何项的组合也被包括在计算机可读介质的范围内。

存储器12可以包括采用诸如rom和ram之类的易失性和/或非易失性存储器的形式的计算机存储介质。包含诸如在启动期间帮助在计算设备400内的元件之间传输信息的基本例程的基本输入/输出系统(bios)通常被存储在rom中。ram通常包含对于处理器11来说可立即访问和/或当前正被处理器11操作的数据和/或程序模块。作为示例而非限制,图4所示的存储器12中可以存储的数据13可以包括bios、操作系统、应用程序、其他程序模块和程序数据。

计算设备400还可以包括其他可移除/非可移除、易失性/非易失性计算机存储介质。

可以在示例性操作环境中使用的其他可移除/非可移除、易失性/非易失性计算机存储介质包括但不限于盒式磁带、闪存卡、dvd、数字视频磁带、固态ram、固态rom等。

上面所讨论的计算机存储介质为计算设备400提供对计算机可执行指令、数据结构、程序模块和其他数据的存储。

用户可以通过诸如键盘和通常被称为鼠标、轨迹球或者触摸板的指向设备之类的输入设备向计算设备400输进命令和信息。其他输入设备可以包括麦克风、操纵杆、游戏板、碟形卫星天线、扫描仪等。这些和其他输入设备通常通过耦合到系统总线16的用户输入输出(i/o)接口14连接到处理器11。监视器或者其他类型的显示设备可以经由诸如是视频接口之类的用户输入输出(i/o)接口14连接到系统总线16。除监视器之外,计算设备400还可以通过用户输入输出(i/o)接口14连接到其他外围输出设备,诸如是扬声器和打印机。

计算设备400可以通过网络接口15与一个或多个远程计算机连接。远程计算机可以是个人计算机、服务器、路由器、网络pc、对等设备或者其他常见网络节点,并且通常包括上面关于计算设备400所描述元件中的许多或者全部单元。

本公开实施例还提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机指令在一个或多个处理器上运行时,使得所述一个或多个处理器执行根据本公开实施例的方法和功能。所述计算机可读介质可以包括以上所述的任何一种计算机可读介质。

本公开实施例还提供一种计算机程序产品,当上述计算机程序产品中的指令由处理器执行时,可以实现根据本公开实施例的方法。

在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序(包括根据所涉及的功能按基本同时的方式或按相反的顺序)来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例可以例如包括以下各项:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(randomaccessmemory)、只读存储器(readonlymemory),可擦除可编辑只读存储器(erasableprogrammablereadonlymemory)或闪速存储器、光纤装置、以及便携式光盘只读存储器(compactdiscreadonlymemory)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(programmablegatearray)、现场可编程门阵列(fieldprogrammablegatearray)等。

本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。

此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

尽管上面已经示出和描述了本公开的实施例,但是可以理解的是,上述实施例是示例性的,不应理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改和替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1