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

道路识别方法以及装置与流程

2022-05-21 06:00:15 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种道路识别方法以及装置。


背景技术:

2.车载全景成像是一种汽车摄像技术,可以将汽车上的多个摄像头拍摄到的画面组合起来,提供多种视图,如俯视图、后视图、全景视图等。图1示出一个示例的车载全景成像的示意图。如图1所示,在车的前、后、左侧、右侧等位置可以安装多个摄像头,分别拍摄多个不同方向的画面,向驾驶员展示汽车外部的视野,为驾驶员提供协助,并向驾驶员警告路径中可能不会立即被看到的障碍物。车载全景成像技术只显示车辆附近的道路环境状况,无法定位。
3.车载导航通过商业通信卫星,把gps导航应用到车辆导航上,为汽车驾车人提供导航服务。gps车载导航系统通过接收gps卫星信号,可以在市区道路、郊外公路,甚至人迹罕见的沙漠、戈壁、草原等区域为汽车导航,避免司机对道路状况不熟悉带来的麻烦。
4.在终端硬件上利用卫星进行定位、引导等一系列服务的导航应用,为出行带来极大地便利。目前,导航应用可以提供两地之间路径推荐、路况提示、实时定位等服务。具有全球覆盖高,快速、省时、高效率,应用广泛、多功能,可移动定位等优点。
5.车载导航和终端上的导航应用在导航时受场景的限定,例如,车辆行驶在高速公路或高架桥下时,或者行驶在路面宽阔却又弯曲的道路上时,在路况比较复杂的情况下,无法准确定位到正确的车道上。或者,需要用户手动选择车道,图2a和图2b分别示出一个示例的用户手动选择车道的示意图,如图2a所示,车辆行进到高架桥附近时,显示器左下角显示了用户可以手动选择是否在桥上的图标(控件),如图2b所示,如果用户选择不在桥上、在桥下,显示器还可以进一步显示用户可选择是否在辅路的控件(图2b右下方)。用户对道路的认知存在一定的主观性,一方面容易选错道路导致开错路、绕路等,另一方面会使用户分心,可能造成安全隐患。


技术实现要素:

6.有鉴于此,提出了一种道路识别方法以及装置,能够结合车辆周围的实时画面定位出准确的道路,在路况比较复杂的情况下仍然可以正确导航,且不需要用户手动选择,能够实现正确导航的同时,消除安全隐患。
7.第一方面,本技术的实施例提供了一种道路识别方法,所述方法应用于第一设备,所述第一设备中包括两个以上虚拟相机hal,所述方法包括:
8.所述第一设备在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令;其中,所述控制命令用于控制所述实体相机拍摄当前画面;
9.所述第一设备通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面;
10.所述第一设备根据所述当前画面以及本地导航应用获取的道路信息,识别所述第
一设备所在的道路。
11.根据第一方面的第一种可能的实现方式中,所述第一设备通过所述dmsdp服务获取所述实体相机的硬件参数;所述第一设备根据所述实体相机的硬件参数在本地配置对应的虚拟相机。
12.根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述硬件参数包括实体相机的相机能力参数,所述第一设备根据所述实体相机的硬件参数在本地配置对应的虚拟相机,包括:所述第一设备根据所述相机能力参数创建所述实体相机对应的虚拟相机硬件抽象层hal和相机框架,并将所述相机框架加入到分布式相机框架中。
13.根据第一方面的第三种可能的实现方式中,所述dmsdp服务包括命令管道和数据管道,
14.所述第一设备通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令,包括:所述第一设备通过dmsdp服务的命令管道向虚拟相机对应的实体相机发送控制命令;
15.所述第一设备通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面,包括:所述第一设备通过dmsdp服务的数据管道接收所述实体相机响应于所述控制命令返回的所述当前画面。
16.根据第一方面的第四种可能的实现方式中,所述第一设备根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路,包括:
17.所述第一设备的本地相机的相机hal对多个所述当前画面进行拼接,得到拼接图像;
18.所述第一设备的导航应用根据所述拼接图像和导航应用获取的道路信息,识别所述第一设备所在的道路。
19.根据第一方面或者第一方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述实体相机为车载相机。
20.第二方面,本技术的实施例提供了一种获取图像的方法,所述方法包括:
21.第二设备通过dmsdp服务接收第一设备发送的控制命令,其中,所述控制命令用于控制所述第二设备拍摄当前画面;
22.所述第二设备根据所述控制命令打开摄像头并拍摄当前画面;
23.所述第二设备将所述当前画面发送给所述第一设备。
24.根据第二方面的第一种可能的实现方式中,所述方法还包括:
25.在接收到第一设备发送的配置请求时,所述第二设备通过所述dmsdp服务向所述第一设备发送所述第二设备的实体相机的硬件参数。
26.第三方面,本技术的实施例提供了一种道路识别装置,所述装置应用于第一设备,所述第一设备中包括两个以上虚拟相机hal,所述装置包括:
27.控制模块,用于在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令;其中,所述控制命令用于控制所述实体相机拍摄当前画面;
28.第一接收模块,用于通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面;
29.识别模块,用于根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路。
30.根据第三方面的第一种可能的实现方式中,所述装置还包括:
31.获取模块,用于通过所述dmsdp服务获取所述实体相机的硬件参数;
32.配置模块,用于根据所述实体相机的硬件参数在本地配置对应的虚拟相机。
33.根据第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述硬件参数包括实体相机的相机能力参数,
34.所述配置模块包括:
35.配置单元,用于根据所述相机能力参数创建所述实体相机对应的虚拟相机硬件抽象层hal和相机框架,并将所述相机框架加入到分布式相机框架中。
36.根据第三方面的第三种可能的实现方式中,所述dmsdp服务包括命令管道和数据管道,
37.所述控制模块包括:控制单元,用于通过dmsdp服务的命令管道向虚拟相机对应的实体相机发送控制命令;
38.所述第一接收模块包括:接收单元,用于通过dmsdp服务的数据管道接收所述实体相机响应于所述控制命令返回的所述当前画面。
39.根据第三方面的第四种可能的实现方式中,所述识别模块包括:
40.拼接单元,用于通过本地相机的相机hal对多个所述当前画面进行拼接,得到拼接图像;
41.识别单元,用于通过导航应用根据所述拼接图像和导航应用获取的道路信息,识别所述第一设备所在的道路。
42.根据第三方面或者第三方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述实体相机为车载相机。
43.第四方面,本技术的实施例提供了一种获取图像的装置,所述装置包括:
44.第二接收模块,用于通过dmsdp服务接收第一设备发送的控制命令,其中,所述控制命令用于控制所述第二设备拍摄当前画面;
45.拍摄模块,用于根据所述控制命令打开摄像头并拍摄当前画面;
46.第一发送模块,用于将所述当前画面发送给所述第一设备。
47.根据第四方面的第一种可能的实现方式中,所述装置还包括:
48.第二发送模块,用于在接收到第一设备发送的配置请求时,通过所述dmsdp服务向所述第一设备发送所述第二设备的实体相机的硬件参数。
49.第五方面,本技术的实施例提供了一种数据的传输装置,包括:
50.处理器;
51.用于存储处理器可执行指令的存储器;
52.其中,所述处理器被配置为执行所述指令时实现第一方面的任意一种实现方式所述的方法,或者实现第二方面任意一种实现方式所述的方法。
53.第六方面,本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现第一方面的任意一种实现方式所述的方法,或者实现第二方面任意一种实现方式所述的方法。
54.第七方面,本技术的实施例提供了一种终端设备,该终端设备可以执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的道路识别方法。
55.第八方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的道路识别方法。
56.第九方面,本技术的实施例提供了一种终端设备,该终端设备可以执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的图像获取方法。
57.第九方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的图像获取方法。
58.本技术的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
59.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。
60.图1示出一个示例的车载全景成像的示意图。
61.图2a和图2b分别示出一个示例的用户手动选择车道的示意图。
62.图3示出根据本技术一实施例的道路识别方法的应用场景示意图。
63.图4示出根据本技术一实施例的应用场景中设备配置的框图。
64.图5示出根据本技术一实施例的道路识别方法的流程图。
65.图6a和图6b分别示出根据本技术一示例的监测到道路识别请求的场景的示意图。
66.图7示出根据本技术一实施例的获取图像的方法的流程图。
67.图8示出根据本技术一实施例的道路识别方法的流程图。
68.图9示出根据本技术一实施例的应用场景的示意图。
69.图10示出根据本技术一实施例的第一设备和第二设备之间的交互图。
70.图11示出根据本技术一实施例的道路识别结果的示意图。
71.图12示出根据本技术一实施例的道路识别装置的框图。
72.图13示出根据本技术一实施例的获取图像的装置的框图。
73.图14示出根据本技术一实施例的终端设备的结构示意图。
74.图15示出根据本技术一实施例的终端设备的软件结构框图。
具体实施方式
75.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
76.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
77.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。在一些实例中,对于
本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本技术的主旨。
78.相关技术中,通过手机拍摄周围的画面,根据拍摄的画面和导航应用的获取的道路信息,定位准确的道路。但这种方式不适用于车辆行驶的过程,拍摄的多张画面可能是不同地点的,不利于准确定位。
79.为了解决上述技术问题,本技术提供了一种道路识别方法,本技术实施例的道路识别方法能够实现手机(或者其他终端设备,比如平板、智能手表等)和多个车载相机之间的通信,通过手机控制车载相机拍摄车辆周围的当前画面,并将当前画面回传到手机,手机综合当前画面和导航应用获取的道路信息,确定准确的道路信息。本技术的实施方式的道路识别方法,相比于现有技术中的车载导航,能够结合车辆周围的实时画面定位出准确的道路,在路况比较复杂的情况下仍然可以正确导航。相比于终端的导航应用,同样可以能够结合车辆周围的实时画面定位出准确的道路,且不需要用户手动选择,能够实现正确导航的同时,消除安全隐患。
80.图3示出根据本技术一实施例的道路识别方法的应用场景示意图。如图3所示,应用场景中可以包括第一设备,第一设备可以为手机、pad、智能手表等终端设备。应用场景中还可以包括一个或两个以上第二设备,第二设备可以为包括摄像头的车载相机、手机、pad、智能手表等。在一个应用场景中,第一设备可以为手机、第二设备可以为车载相机。
81.第一设备和第二设备之间建立了通信连接,第一设备和第二设备之间可以直接传输数据。
82.在一种可能的实现方式中,可以通过dmsdp(英文全称:distribute mobile sensing development platform;中文全称:分布式融合感知平台)服务在第一设备和第二设备之间建立通信。具体地,可以将第一设备和第二设备的dmsdp服务提供的相机接口进行对接,从而建立跨设备双景模式的场景,第一设备和第二设备之间可以通过dmsdp服务传输命令和数据。其中,dmsdp服务提供的相机接口可以为camerakit接口,通过统一第一设备和第二设备的相机编程接口为camerakit接口,可以实现相机接口对接。
83.在建立dmsdp通信后,第一设备和第二设备之间可以按照dmsdp协议进行通信。dmsdp服务可以包括命令管道和数据管道。第一设备可以通过dmsdp服务向第二设备发送配置请求,所述配置请求用于获取第二设备的实体相机的硬件参数。具体地,第一设备可以通过dmsdp服务的命令管道向第二设备发送配置请求。
84.第二设备接收到上述配置请求,响应于配置请求,第二设备可以通过dmsdp服务,将第二设备的实体相机的硬件参数以标准接口的形式发送给第一设备,比如说,可以通过dmsdp服务的数据管道发送实体相机的硬件参数。第一设备通过dmsdp服务接收到第二设备的实体相机的硬件参数,通过读取标准接口获取第二设备的实体相机的硬件参数,并根据第二设备的实体相机的硬件参数在本地配置对应的虚拟相机。具体地,硬件参数可以包括实体相机的相机能力参数,第一设备可以根据相机能力参数创建实体相机对应的虚拟相机硬件抽象层hal(hardware abstraction layer)和相机框架,并将所述相机框架加入到分布式相机框架中。
85.其中,虚拟相机hal是对第二设备的实体相机的硬件抽象层。hal是位于操作系统内核与硬件电路之间的接口层,以模块的方式来管理各个硬件访问的接口,每一个硬件模块都对应一个动态链接库文件。因此,相机hal是相机的访问接口,通过访问虚拟相机hal,
并将访问通过dmsdp服务发给虚拟相机hal对应的实体相机,可以实现对相应的实体相机的访问。
86.相机能力参数可以包括相机的光圈参数、焦距参数等,还可以包括高动态范围hdr(high dynamic range)能力、人像能力、超级夜景能力等。根据实体相机的硬件参数创建虚拟相机,可以全量同步实体相机的元数据,保证对本端虚拟相机的控制和对实体相机的远程控制完全相同。
87.第一设备可以通过控制虚拟相机hal,控制虚拟相机对应第二设备的实体相机。比如说,第一设备可以通过在本地打开虚拟相机hal,打开对应的第二设备的实体相机进行拍摄,还可以通过在本地虚拟相机hal,关闭对应的第二设备的实体相机。
88.在一种可能的实现方式中,第一设备本地可以包括一个或者两个以上虚拟相机hal,一个虚拟相机hal对应一个第二设备的实体相机。举例来说,假设车上搭载了两个以上实体相机,则第一设备可以将两个以上实体相机虚拟到本地,创建对应的虚拟相机hal。或者,第二设备也可以是手机,第一设备上的一个虚拟相机hal以第二设备上的多个实体相机(前置相机、后置相机)对应。
89.在一种可能的实现方式中,本技术不限制第一设备和第二设备的操作系统(operating system,简称os)的类型。第一设备可以采用安卓os、鸿蒙os、linux os等操作系统,第二设备也可以采用安卓os、鸿蒙os、linux os、lite os等操作系统。
90.图4示出根据本技术一实施例的应用场景中设备配置的框图。如图4所示,第一设备可以与多个第二设备通过dmsdp服务通信,第一设备上可以配置有多个虚拟相机hal,一个虚拟相机hal与一个第二设备的实体相机相对应,第二设备上可以包括一个或多个实体相机。
91.在一种可能的实现方式中,如图4所示,第一设备上还可以配置有分布式相机框架,第一设备在接收到第二设备的实体相机的硬件参数时,还可以创建对应的相机框架,并将相机框架加入到分布式相机框架中。分布式相机框架包括多个虚拟相机hal对应的相机框架、以及控制模块,控制模块可以连接多个相机框架,负责动态控制流水线、设备协同管理等。
92.在第一设备和第二设备之间建立dmsdp服务,在第一设备本地建立第二设备的实体相机的虚拟相机hal,模拟真实isp(internet service provider,互联网服务提供商)控制,实现相机命令和数据跨设备。根据本技术上述实施方式的配置方式,可以实现对第二设备的实体相机的快速控制,并获取第二设备的实体相机返回的第一设备周围的当前画面,结合当前画面和第一设备的导航应用获得的道路信息准确识别第一设备所在的准确道路。
93.图5示出根据本技术一实施例的道路识别方法的流程图,如图5所示,本技术的道路识别方法可以包括以下步骤:
94.步骤s50,第一设备在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令;其中,所述控制命令用于控制所述实体相机拍摄当前画面;
95.步骤s51,第一设备通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面;
96.步骤s52,第一设备根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路。
97.其中,道路识别请求可以是在多种情况下触发的。在一种可能的实现方式中,第一设备的导航应用运行时,可以在显示界面上显示道路识别控件,在检测到触发道路识别空间的操作时,可以生成道路识别请求,第一设备可以监测到道路识别请求。图6a和图6b分别示出根据本技术一示例的监测到道路识别请求的场景的示意图。如图6a所示,在打开的导航应用的显示界面上,可以显示有道路识别控件,在将要进入立交桥时,由于道路情况比较复杂,用户可以手动点击道路识别空间,触发道路识别,第一设备在监测到用户的触发操作时,可以生成道路识别请求。
98.上述实施方式的触发方法不需要用户选择具体的道路信息,可以排除错误的主观性认识导致的导航错误,能够实现正确导航,一定程度上可以减轻用户选择道路分心带来的安全隐患。
99.在另一种可能的实现方式中,第一设备可以通过导航应用预设需要生成道路识别请求的道路条件,这样,第一设备在监测到当前所在的道路满足道路条件时,生成道路识别请求,从而监测到道路识别请求。其中,道路条件可以是表示需要生成道路识别请求的道路场景,道路场景可以是指将要行驶进入立交桥时、行驶在包括主路和辅路的道路时、多条道路环路等场景,如图6b所示,位于立交桥并且道路包括主路、辅路多条道路,道路情况比较复杂。第一设备可以通过定位得到的位置信息和导航应用获得的道路信息得到设备所处的道路场景,进而根据道路场景确定是否需要生成道路识别请求,如果第一设备当前所处的道路场景与预设的需要生成道路识别请求的道路场景一致,也就是满足预设的道路条件,此时,第一设备可以生成道路识别请求。举例来说,如图6b所示,在车辆行驶到将要进入立交桥时,第一设备可以自动生成道路识别请求,比如说,第一设备上可以在导航应用上预先设置正在朝立交桥的方向行驶、且与立交桥之间的距离小于距离阈值时,生成道路识别请求。
100.上述实施方式的触发方法,不需要用户进行任何操作即可实现正确导航,消除安全隐患。
101.在一种可能的实现方式中,如图4所示,第一设备可以通过分布式相机框架向多个虚拟相机hal下发控制命令,通过控制多个虚拟相机hal控制虚拟相机hal对应的实体相机。控制命令可以包括打开、拍摄、关闭相机等过程,第一设备的虚拟相机hal在接收到控制命令时,可以根据控制命令向虚拟相机hal对应的实体相机发送子控制命令,比如说,打开命令、拍摄命令等等。
102.如图4所示,所述dmsdp服务可以包括命令管道和数据管道,命令管道用于传输控制命令,数据管道用于传输图像数据。因此,第一设备可以通过dmsdp服务的命令管道向虚拟相机对应的实体相机发送控制命令。
103.第二设备的实体相机通过dmsdp服务接收控制命令,根据控制命令控制本地的实体相机。图7示出根据本技术一实施例的获取图像的方法的流程图。如图7所示,可以包括以下步骤:
104.步骤s70,第二设备通过dmsdp服务接收第一设备发送的控制命令,其中,所述控制命令用于控制所述第二设备拍摄当前画面;
105.步骤s71,所述第二设备根据所述控制命令打开摄像头并拍摄当前画面;
106.步骤s72,所述第二设备将所述当前画面发送给所述第一设备。
107.第二设备通过dmsdp服务器接收到控制命令后,可以根据控制命令调用相机api(application programming interface,应用程序接口)接口,然后通过相机框架向相机hal下发控制命令,通过相机hal控制实体相机的打开、拍摄、关闭等操作。
108.在拍摄完当前画面后,第二设备可以通过dmsdp服务的数据管道向第一设备发送当前画面。因此,第一设备可以通过dmsdp服务的数据管道接收实体相机响应于控制命令返回的当前画面。
109.由于包括多个虚拟相机hal,也就是第一设备可以从多个实体相机获取当前画面。在接收到多个当前画面后,第一设备根据多个当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路。
110.在一种可能的实现方式中,第一设备的虚拟相机hal接收到对应的实体相机返回的当前画面后,可以将当前画面发送给本地相机的相机hal,由本地相机的相机hal采用相机算法对多个当前画面进行拼接得到拼接图像。由于本地的虚拟相机hal只是存储了对应的实体相机的相机能力,是不包括相机算法的,因此,第一设备的虚拟相机hal在接收到当前画面后可以发送给本地相机的相机hal,由本地相机的相机hal采用相机算法对当前画面进行拼接。
111.本地相机的相机hal在得到拼接图像后,可以传输给本地的导航应用,由第一设备的本地的导航应用结合拼接图像和导航应用获取的道路信息识别第一设备所在的具体的道路。其中,导航应用可以从云端服务器获取道路信息。
112.本技术实施例的道路识别方法能够实现手机和多个车载相机之间的通信,通过手机控制车载相机拍摄车辆周围的当前画面,并将当前画面回传到手机,手机综合当前画面和导航应用获取的道路信息,确定准确的道路信息。本技术的实施方式的道路识别方法,相比于现有技术中的车载导航,能够结合车辆周围的实时画面定位出准确的道路,在路况比较复杂的情况下仍然可以正确导航。相比于终端的导航应用,同样可以能够结合车辆周围的实时画面定位出准确的道路,且不需要用户手动选择具体道路信息,能够实现正确导航的同时,消除安全隐患。
113.图8示出根据本技术一实施例的道路识别方法的流程图。如图8所示,所述方法还包括:
114.步骤s80,所述第一设备通过所述dmsdp服务获取所述实体相机的硬件参数;
115.步骤s81,所述第一设备根据所述实体相机的硬件参数在本地配置对应的虚拟相机;
116.步骤s82,第一设备在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令;其中,所述控制命令用于控制所述实体相机拍摄当前画面;
117.步骤s83,第一设备通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面;
118.步骤s84,第一设备根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路。
119.其中,所述硬件参数包括实体相机的相机能力参数,步骤81可以包括:所述第一设备根据所述相机能力参数创建所述实体相机对应的虚拟相机硬件抽象层hal和相机框架,并将所述相机框架加入到分布式相机框架中。具体的过程,可以参见上文中关于配置部分
的具体描述,不再赘述。
120.步骤s82-s84可以参见步骤s50-s52部分的描述,不再赘述。
121.应用示例
122.图9示出根据本技术一实施例的应用场景的示意图。图10示出根据本技术一实施例的第一设备和第二设备之间的交互图。结合图9和图10进一步对本技术的道路识别方法进行说明。
123.如图9所示,第一设备可以与多个第二设备通信,第二设备上安装有摄像头。在一种可能的应用场景中,第一设备可以为手机,第二设备可以为车载相机,用户在车内驾驶汽车,通过第一设备进行导航,结合车载相机拍摄的当前画面准确识别道路。
124.在开启道路识别前,可以通过统一第一设备和第二设备的相机编程接口为camerakit接口,可以实现将第一设备和第二设备的dmsdp服务提供的相机接口对接,从而在第一设备和第二设备之间建立通信。之后,如图10所示,第一设备向第二设备发送配置请求(s100),第二设备接收到配置请求后,以标准接口的形式向第一设备发送实体相机的硬件参数(s200)。第一设备接收到硬件参数后,可以根据硬件参数配置实体相机对应的虚拟相机,具体包括:第一设备根据相机能力参数创建实体相机对应的虚拟相机hal和相机框架(s101)。
125.在创建完实体相机对应的虚拟相机后,第一设备可以通过控制虚拟相机,实现对相应的实体相机的控制,在导航的过程中,可以控制实体相机拍摄车体周围的当前画面,第一设备的导航应用可以结合当前画面和导航应用获取的道路信息,识别车体所在的道路。如图10所示,具体可以包括以下步骤:
126.第一设备在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令(s102)。第二设备根据控制命令打开摄像头并拍摄当前画面(s201)。第二设备将当前画面发送给所述第一设备(s202)。
127.第一设备接收到当前画面后,根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路(s103)。具体地,如图9所示,位于车辆的前、后、左、右等多个方向的车载相机根据控制命令打开摄像头并拍摄当前画面后,将当前画面发送给第一设备。第一设备接收到多个方向的当前画面,可以将多个方向的当前画面拼接得到拼接图像,拼接图像可以是全景图,第一设备的导航应用可以结合拼接图像和导航应用获取的道路信息识别准确的道路,比如说,位于立交桥的桥上道路、或者桥下道路,位于多车道的第几个车道,位于主路还是辅路,等等。
128.图11示出根据本技术一实施例的道路识别结果的示意图。如图11所示,结合全景图以及导航获取的道路信息,可以确定车辆位于左侧的车道。
129.本技术的道路识别方法基于分布式相机设备虚拟化技术,将不同设备的相机处理能力结合起来,形成车载-手机等设备的相机数据中心,并根据导航软件获取的道路信息,将这些设备获取的相机数据流进行分析,判断出当前车辆所在道路位置,从而提升车主的用户体验。
130.本技术还提供了一种道路识别装置,图12示出根据本技术一实施例的道路识别装置的框图。本技术提供的一实施方式的道路识别装置可以应用于第一设备,所述第一设备中包括两个以上虚拟相机hal。如图12所示,本技术提供的一实施方式的道路识别装置可以
包括:
131.控制模块91,用于在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令;其中,所述控制命令用于控制所述实体相机拍摄当前画面;
132.第一接收模块92,用于通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面;
133.识别模块93,用于根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路。
134.在一种可能的实现方式中,所述装置还包括:
135.获取模块,用于通过所述dmsdp服务获取所述实体相机的硬件参数;
136.配置模块,用于根据所述实体相机的硬件参数在本地配置对应的虚拟相机。
137.在一种可能的实现方式中,所述硬件参数包括实体相机的相机能力参数,所述配置模块包括:配置单元,用于根据所述相机能力参数创建所述实体相机对应的虚拟相机硬件抽象层hal和相机框架,并将所述相机框架加入到分布式相机框架中。
138.在一种可能的实现方式中,所述dmsdp服务包括命令管道和数据管道,
139.所述控制模块91包括:控制单元,用于通过dmsdp服务的命令管道向虚拟相机对应的实体相机发送控制命令;
140.所述第一接收模块92包括:接收单元,用于通过dmsdp服务的数据管道接收所述实体相机响应于所述控制命令返回的所述当前画面。
141.在一种可能的实现方式中,所述识别模块93包括:
142.拼接单元,用于通过本地相机的相机hal对多个所述当前画面进行拼接,得到拼接图像;
143.识别单元,用于通过导航应用根据所述拼接图像和导航应用获取的道路信息,识别所述第一设备所在的道路。
144.在一种可能的实现方式中,所述实体相机为车载相机。
145.本技术还提供了一种获取图像的装置,该获取图像的装置可以应用于第二设备。图13示出根据本技术一实施例的获取图像的装置的框图,如图13所示所述装置包括:
146.第二接收模块94,用于通过dmsdp服务接收第一设备发送的控制命令,其中,所述控制命令用于控制所述第二设备拍摄当前画面;
147.拍摄模块95,用于根据所述控制命令打开摄像头并拍摄当前画面;
148.第一发送模块96,用于将所述当前画面发送给所述第一设备。
149.在一种可能的实现方式中,所述装置还包括:
150.第二发送模块,用于在接收到第一设备发送的配置请求时,通过所述dmsdp服务向所述第一设备发送所述第二设备的实体相机的硬件参数。
151.图14示出根据本技术一实施例的终端设备的结构示意图。以终端设备是手机为例,图14示出了手机200的结构示意图。
152.手机200可以包括处理器210,外部存储器接口220,内部存储器221,usb接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块251,无线通信模块252,音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及sim卡接口295等。其中传感
器模块280可以包括陀螺仪传感器280a,加速度传感器280b,接近光传感器280g、指纹传感器280h,触摸传感器280k(当然,手机200还可以包括其它传感器,比如温度传感器,压力传感器、距离传感器、磁传感器、环境光传感器、气压传感器、骨传导传感器等,图中未示出)。
153.可以理解的是,本技术实施例示意的结构并不构成对手机200的具体限定。在本技术另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
154.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
155.处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
156.处理器210可以运行本技术实施例提供的道路识别方法,以便于在路况比较复杂的情况下仍然可以正确导航,且不需要用户手动选择,能够实现正确导航的同时,消除安全隐患。处理器210可以包括不同的器件,比如集成cpu和gpu时,cpu和gpu可以配合执行本技术实施例提供的道路识别方法,比如道路识别方法中部分算法由cpu执行,另一部分算法由gpu执行,以得到较快的处理效率。
157.显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,手机200可以包括1个或n个显示屏294,n为大于1的正整数。显示屏294可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,gui)。例如,显示器294可以显示照片、视频、网页、或者文件等。再例如,显示器294可以显示图形用户界面。其中,图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4g)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕(home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、wi-fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括dock栏,dock栏中可以包括常用的应用图标等。当处理器210检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于
该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示器294上显示该应用的用户界面。
158.在本技术实施例中,显示屏294可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。
159.当处理器210运行本技术实施例提供的道路识别方法后,终端设备可以通过天线1、天线2或者usb接口与其他的终端设备建立连接,并根据本技术实施例提供的道路识别方法传输数据以及控制显示屏294显示相应的图形用户界面。
160.摄像头293(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头)用于捕获静态图像或视频。通常,摄像头293可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
161.内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机200使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
162.内部存储器221还可以存储本技术实施例提供的道路识别方法对应的一个或多个计算机程序1310。该一个或多个计算机程序1304被存储在上述存储器221中并被配置为被该一个或多个处理器210执行,该一个或多个计算机程序1310包括指令,上述指令可以用于执行如图5、图8相应实施例中的各个步骤,该计算机程序1310可以包括控制模块91、第一接收模块92以及识别模块93。其中,控制模块91,用于在监测到道路识别请求时,通过dmsdp服务向虚拟相机hal对应的实体相机发送控制命令;其中,所述控制命令用于控制所述实体相机拍摄当前画面;第一接收模块92,用于通过dmsdp服务接收所述实体相机响应于所述控制命令返回的所述当前画面;识别模块93,用于根据所述当前画面以及本地导航应用获取的道路信息,识别所述第一设备所在的道路。
163.此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
164.当然,本技术实施例提供的道路识别方法的代码还可以存储在外部存储器中。这种情况下,处理器210可以通过外部存储器接口220运行存储在外部存储器中的道路识别方法的代码。
165.下面介绍传感器模块280的功能。
166.陀螺仪传感器280a,可以用于确定手机200的运动姿态。在一些实施例中,可以通过陀螺仪传感器280a确定手机200围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器280a可以用于检测手机200当前的运动状态,比如抖动还是静止。
167.当本技术实施例中的显示屏为可折叠屏时,陀螺仪传感器280a可用于检测作用于显示屏294上的折叠或者展开操作。陀螺仪传感器280a可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
168.加速度传感器280b可检测手机200在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器280a可以用于检测手机200当前的运动状态,比如抖动还是静止。当本技术实施例中的显示屏为可折叠屏时,加速度传感器280b可用于检测作用于显示屏294上的折叠或者展开操作。加速度传感器280b可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
169.接近光传感器280g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。当本技术实施例中的显示屏为可折叠屏时,接近光传感器280g可以设置在可折叠的显示屏294的第一屏上,接近光传感器280g可根据红外信号的光程差来检测第一屏与第二屏的折叠角度或者展开角度的大小。
170.陀螺仪传感器280a(或加速度传感器280b)可以将检测到的运动状态信息(比如角速度)发送给处理器210。处理器210基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明手机200处于手持状态)。
171.指纹传感器280h用于采集指纹。手机200可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
172.触摸传感器280k,也称“触控面板”。触摸传感器280k可以设置于显示屏294,由触摸传感器280k与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280k也可以设置于手机200的表面,与显示屏294所处的位置不同。
173.示例性的,手机200的显示屏294显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器280k点击主界面中相机应用的图标,触发处理器210启动相机应用,打开摄像头293。显示屏294显示相机应用的界面,例如取景界面。
174.手机200的无线通信功能可以通过天线1,天线2,移动通信模块251,无线通信模块252,调制解调处理器以及基带处理器等实现。
175.天线1和天线2用于发射和接收电磁波信号。手机200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
176.移动通信模块251可以提供应用在手机200上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块251可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块251可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块251还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块251的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块251的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。在本技术实施例中,移动通信模块251还可以用于与其它终端设备进行信息交互。
177.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基
带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270a,受话器270b等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块251或其他功能模块设置在同一个器件中。
178.无线通信模块252可以提供应用在手机200上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块252可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块252经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块252还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
179.另外,手机200可以通过音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机200可以接收按键290输入,产生与手机200的用户设置以及功能控制有关的键信号输入。手机200可以利用马达291产生振动提示(比如来电振动提示)。手机200中的指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机200中的sim卡接口295用于连接sim卡。sim卡可以通过插入sim卡接口295,或从sim卡接口295拔出,实现和手机200的接触和分离。
180.应理解,在实际应用中,手机200可以包括比图14所示的更多或更少的部件,本技术实施例不作限定。图示手机200仅是一个范例,并且手机200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
181.终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明终端设备的软件结构。
182.图15是本技术实施例的终端设备的软件结构框图。
183.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
184.应用程序层可以包括一系列应用程序包。
185.如图15所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
186.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
187.如图15所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话
管理器,资源管理器,通知管理器等。
188.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
189.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
190.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
191.电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
192.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
193.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
194.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
195.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
196.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
197.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
198.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
199.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
200.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
201.2d图形引擎是2d绘图的绘图引擎。
202.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
203.本技术的实施例提供了一种道路识别装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述图5和图8所示的道路识别方法。
204.本技术的实施例提供了一种获取图像的装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述获取图像的方
法。
205.本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述道路识别方法或者获取图像的方法。
206.本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述道路识别方法或者获取图像的方法。
207.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(electrically programmable read-only-memory,eprom或闪存)、静态随机存取存储器(static random-access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital video disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
208.这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
209.用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(wide area network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
210.这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
211.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据
处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
212.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
213.附图中的流程图和框图显示了根据本技术的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
214.也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或asic(application specific integrated circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
215.尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
216.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

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

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

相关文献