发明内容
本申请提供一种点云数据传输方法,用以提高点云数据的安全性,以及降低播放延迟。
第一方面,本申请一种点云数据传输方法,应用于客户端,包括:接收服务器发送的点云数据组,所述点云数据组包括连续的N个点云数据帧,所述N个点云数据帧中每个点云数据帧包括用于指示在所述N个点云数据帧中的时间先后顺序的指示符;根据所述N个点云数据帧分别包括的指示符,渲染所述N个点云数据帧。
在上述方法中,服务器分组将点云数据发送给客户端,防止客户端一次性获取到所有数据,提高了点云数据的安全性。另外,采用分组传输向客户端传输,可以降低在获取到所有数据再执行渲染所带来的延迟。
在一种可能的设计中,所述方法还包括:在接收所述服务器发送的所述点云数据组之前,向所述服务器发送获取请求,所述获取请求包括所述点云数据组的开始时间。上述设计,采用客户端请求再传输的方式,根据用户需求传输,减少不必要的传输,提高资源利用率。
在一种可能的设计中,向所述服务器发送获取请求,包括:每确定达到请求时间时,向所述服务器发送所述获取请求;其中,所述请求时间为渲染完成所述N个点云数据帧中K个点云数据帧的时间,K为小于N的正整数。上述设计中,客户端根据需求分组向服务器请求,减少不必要的传输,提高资源利用率。
在一种可能的设计中,所述获取请求还包括M个分片请求,其中,所述M个分片请求中每个分片请求携带点云数据帧的数量且所述M个分片请求携带的点云数据帧的总数量为N;接收服务器发送的点云数据组,包括:接收所述服务器根据所述M个分片请求发送的M个点云片段,所述M个点云片段分别包括的点云数据帧的数量与所述M个分片请求携带的点云数据帧的数量一一对应。上述设计中,采用并发的方式传输点云数据组,提高传输的速率,并且将点云数据组在传输过程中进一步片段化,提高点云数据传输的安全性。
在一种可能的设计中,所述M个点云片段分别携带索引号,所述M个点云片段分别对应的索引号是按照所述M个点云片段在所述点云数据组中的时间顺序进行编号得到的。
上述设计中,客户端可以通过点云片段的索引号将M个点云片段进行播放时间先后排序,简单且有效。
在一种可能的设计中,所述方法还包括:向所述服务器发送所述获取请求之前,根据所述客户端的处理能力和/或所述客户端与所述服务器之间的通信链路传输情况,确定分片请求的数量为M以及确定M个分片请求分别携带的点云数据帧的数量。
上述设计中,客户端结合自身处理能力和/或通信链路传输情况来调整分片请求的数量为M以及每个分片请求携带的点云数据帧的数量,可以减少拥塞,提高传输效率。
在一种可能的设计中,所述N个点云数据帧分别包含的点云数据满足如下条件中的一项或者多项:
已隐藏原始点云数据的绝对位置信息;
已经过对原始点云数据加扰;
已消除原始点云数据所表征的物体的明显特征;
已隐藏原始点云数据所表征的物体的实际高度信息;或者,
已去除所述原始点云数据中的离群点。
上述设计中,服务器向客户端发送的点云数据已隐藏原始点云数据的绝对位置信息,隐藏敏感的位置信息,并且屏蔽道路两旁的建筑物信息,避免敏感建筑物信息的公开,还可以进一步降低点云数据量,提升点云数据的传输、播放等的效率。
在一种可能的设计中,所述方法还包括:通过HTTPS与所述服务器协商密钥,所述密钥用于对所述点云数据组进行加密或解密。
上述设计中,可以提高点云数据组传输的安全性。
第二方面,本申请实施例提供一种点云数据传输方法,包括:向客户端发送所述点云数据组,所述点云数据组包括连续的N个点云数据帧,所述N个点云数据帧中每个点云数据帧包括用于指示在所述N个点云数据帧中的时间先后顺序的指示符。
在上述方法中,服务器分组将点云数据发送给客户端,防止客户端一次性获取到所有数据,提高了点云数据的安全性。另外,采用分组传输向客户端传输,可以降低在获取到所有数据再执行渲染所带来的延迟。
在一种可能的设计中,所述方法还包括,在向所述客户端发送所述点云数据组之前,接收所述客户端发送的获取请求,所述获取请求包括所述点云数据组的开始时间;根据所述开始时间从点云数据组集合中确定所述点云数据组。上述设计,采用客户端请求再传输的方式,根据用户需求传输,减少不必要的传输,提高资源利用率。
在一种可能的设计中,所述获取请求还包括M个分片请求,所述M个分片请求中每个分片请求携带点云数据帧的数量且M个分片请求携带的点云数据帧的总数量为N;向所述客户端发送所述点云数据组,包括:根据所述M个分片请求分别携带的点云数据帧的数量向所述客户端发送M个点云片段;所述M个点云片段分别包括的点云数据帧的数量与所述M个分片请求携带的点云数据帧的数量一一对应。上述设计中,采用并发的方式传输点云数据组,提高传输的速率,并且将点云数据组在传输过程中进一步片段化,提高点云数据传输的安全性。
在一种可能的设计中,所述方法还包括:
获取用于描述道路环境的原始点云数据;
对所述原始点云数据进行处理得到目标点云数据;
将目标点云数据划分为多个点云数据组得到所述点云数据组集合。
比如,目标点云数据满足播放规定要求。
在一种可能的设计中,所述对所述原始点云数据进行处理得到目标点云数据,包括通过以下一项或多项处理得到所述目标点云数据:
隐藏所述原始点云数据的绝对位置信息;
对所述原始点云数据进行加扰;
消除所述原始点云数据所表征的物体的明显特征;
对所述原始点云数据的高程信息进行泛化处理,以隐藏所述原始点云数据所表征的物体的实际高度信息;
去除所述原始点云数据中的离群点。
在一种可能的设计中,所述方法还包括:
通过所述超文本传输协议HTTPS与所述服务器协商密钥,所述密钥用于对所述点云数据组进行加密或解密。
第三方面,本申请实施例提供一种点云数据传输装置,应用于客户端,包括:通信单元,用于接收服务器发送的点云数据组,所述点云数据组包括连续的N个点云数据帧,所述N个点云数据帧中每个点云数据帧包括用于指示在所述N个点云数据帧中的时间先后顺序的指示符;处理单元,用于根据所述N个点云数据帧分别包括的指示符,渲染所述N个点云数据帧。
另外,该第三方面中,通信装置其他可选的实施方式可参见上述第一方面的相关内容,此处不再详述。
第四方面,本申请实施例提供一种点云数据传输装置,包括:
处理单元,用于确定待向客户端发送的点云数据组;
通信单元,用于向所述客户端发送所述点云数据组,所述点云数据组包括连续的N个点云数据帧,所述N个点云数据帧中每个点云数据帧包括用于指示在所述N个点云数据帧中的时间先后顺序的指示符。
另外,该第四方面中,通信装置其他可选的实施方式可参见上述第二方面的相关内容,此处不再详述。
第五方面,本申请实施例提供一种点云数据传输装置,该装置可以是客户端设备,也可以是能够应用于客户端设备的芯片。包括处理器和通信接口,通信接口用于接收消息或者数据,处理器与通信接口进行通信,通过通信接口接收的消息或,执行上述第一方面或第一方面的任一实现方法中的点云数据传输方法。
可选地,点云数据传输装置中还包括存储器,该存储器用于存储指令,当该点云数据传输装置运行时,该处理器执行该存储器存储的该指令,以使该点云数据传输装置执行上述第一方面或第一方面的任一实现方法中的点云数据的传输方法。需要说明的是,该存储器可以设置于点云数据传输装置之外。另外该存储器位于点云数据传输装置之内时,该存储器可以集成于处理器中,也可以是独立于处理器之外。点云数据传输装置还可以包括总线。其中,处理器通过总线耦接通信接口。其中,存储器可以包括可读存储器以及随机存取存储器。
第六方面,本申请实施例提供一种点云数据传输装置,该装置可以是服务器,也可以是能够应用于服务器的芯片。包括处理器和通信接口,通信接口用于接收消息或者数据,处理器与通信接口进行通信,通过通信接口接收的消息或,执行上述第二方面或第二方面的任一实现方法中的点云数据传输方法。
可选地,点云数据传输装置中还包括存储器,该存储器用于存储指令,当该点云数据传输装置运行时,该处理器执行该存储器存储的该指令,以使该点云数据传输装置执行上述第二方面或第二方面的任一实现方法中的点云数据的传输方法。需要说明的是,该存储器可以设置于点云数据传输装置之外。另外该存储器位于点云数据传输装置之内时,该存储器可以集成于处理器中,也可以是独立于处理器之外。网络设备还可以包括总线。其中,处理器通过总线耦接通信接口。其中,存储器可以包括可读存储器以及随机存取存储器。
第七方面,本申请提供一种点云数据传输装置,包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算程序,实现上述第一方面或第一方面的任一可能的设计所描述的方法。
第八方面,本申请提供一种点云数据传输装置,包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算程序,实现上述第二方面或第二方面的任一可能的设计所描述的方法。
第九方面,本申请实施例还提供了一种系统,包括第三方面所述的装置和第四方面所述的装置,或者包括第五方面所述的装置和第六方面所述的装置。
第十方面,本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有程序或指令,当其在计算机上运行时,使得上述各方面的任意的点云数据传输方法被执行。
第十一方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面中的任意的点云数据传输方法。
另外,第三方面至第九方面中任一种设计方式所带来的技术效果可参见第一方面至第二方面中不同实现方式所带来的技术效果,此处不再赘述。
具体实施方式
下面将结合附图,对本申请实施例进行详细描述。
为了便于理解,如下示例性的给出了与本申请相关概念的说明以供参考。
1)、3D点云数据:也可以简称为点云数据。通过测量设备测量得到的物体外观表面上的点数据集合可称之为点云数据。点云数据是在获取物体表面每个采样点的空间坐标后得到的一个点的集合,也称为目标对象表面特性的海量点集合。
例如但不限于,基于激光测量原理测量到的点云数据(也可以称为激光点云数据)包括三维坐标和激光反射强度(intensity)等信息。基于摄影测量原理得到的点云数据包括三维坐标和颜色等信息,其中,颜色信息可以为红绿蓝(red、green、blue,RGB)格式的颜色数据。结合激光测量原理和摄影测量原理得到点云数据包括三维坐标、激光反射强度和颜色等信息。
2)、绝对位置:采用经纬度、海拔高度来体现事物与地理现象的空间关系。
3)、高程信息:指的是某点沿铅垂线方向到绝对基面的距离,或者是某点沿铅垂线方向到某假定水准基面的距离。
4)超文本传输安全协议(hypertext transfer protocol over secure socketlayer,HTTPS)协议通信:HTTPS是HTTP报文直接将报文信息传输给安全套接字层(securesocket layer,SSL)套接字进行加密,SSL加密后将加密后的报文发送给传输控制协议(transmission control protocol,TCP)套接字,然后TCP套接字再将加密后的报文发送给目的主机,目的主机将通过TCP套接字获取加密后的报文给SSL套接字,SSL解密后交给对应进程。
5)本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的大小、形状、内容、顺序、时序、优先级或者重要程度等。
前文介绍了本申请实施例所涉及到的一些名词概念,下面示例性介绍本申请实施例涉及的技术特征。
3D点云数据是自动驾驶和高精地图制作等各种场景中需要采集的重要数据。例如,在智能驾驶领域,高精度电子地图采集系统或者自动驾驶系统、辅助驾驶系统通常利用雷达采集点云数据,例如,利用激光雷达(light detection and ranging,LiDAR)获取具有反射强度的3D点云数据,进而根据3D点云数据获取对应的环境信息。
激光雷达是以发射激光束探测目标的位置、速度等特征量的雷达系统,其工作原理是向目标发射探测信号如激光束,然后将接收到的从目标反射回来的信号如目标回波与发射信号进行比较,作适当处理后获得目标的有关信息,如目标的距离、方位、高度、速度、姿态、甚至形状等参数。若通过激光雷达将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,因而扫描过程中能够得到大量的激光点,进而形成原始点云数据。
在获得的点云中可能包括了多个对象,例如,在激光雷达所采集的点云中,包括了行人、车辆、以及房屋等对象。在获得原始点云后,激光雷达可以通过聚类识别,将各个对象所对应的点聚集到一起,相当于,聚类得到的多个类别的点,就可以分别表示不同的对象,得到点云数据对应的感知结果。
目前,通过激光雷达扫描的道路环境的点云数据一般属于国家安全涉密数据,因此,在开展自动驾驶等相关研究业务时,需要合理使用点云数据,需要保障点云数据的数据安全。
基于此,本申请实施例提供一种点云数据的传输方法及装置,通过对点云数据进行分片传输以及分片渲染,满足开展自动驾驶等相关研究业务的播放需求,并且进一步防止需要播放点云数据的客户端一次性获取到完整的点云数据,提高的点云数据的安全性。由于点云数据量较大,分片传输并且分片渲染,能够减少传输时延导致的播放等待的时延。其中,方法、装置及系统是基于同一发明构思的,由于方法、装置及系统解决问题的原理相似,因此系统、装置与方法的实施可以相互参见,重复之处不再赘述。
参见图1所示,为本申请实施例提供的点云数据的传输系统的结构示意图。在图1所示的系统中,包括服务器和至少一个客户端。其中,服务器和至少一个客户端通过互联网连接,服务器可以是一个独立的服务设备,也可以是由多个独立的服务设备共同构成的集群服务设备,该服务器可以为浏览器应用(application,APP)提供后台服务。服务器可以是云端服务器。客户端可以是指浏览器应用,也可以是指安装有浏览器APP的终端设备,该终端设备可以包括如智能手机、平板电脑、笔记本电脑、台式电脑、车载终端等,本申请实施例不做限定。
服务器中可以存储有点云数据。例如但不限于,点云数据由激光雷达采集,可以通过离线方式传输给服务器,也可以通过在线方式传输给服务器。点云数据还可以由其他的采集装置来采集,比如摄像机等装置,本申请实施例对此不作限定。
下面结合附图,对本申请实施例提供的点云数据的传输方法进行详细描述,可以理解的是,以下所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
参见图2所示,为一种可能的点云数据的传输方法流程示意图。
201,客户端向服务器发送获取请求,获取请求用于获取点云数据。获取请求携带所请求的点云数据的开始时间,点云数据用于描述道路环境。从而服务器接收来自客户端的获取请求。
本申请实施例中,服务器与客户端之间传输点云数据可以采用分组的方式,获取请求携带的所请求的点云数据的开始时间,也可以描述为获取请求携带点云数据组的开始时间。
点云数据至少包括点云的位置信息,位置信息可以为点云的三维坐标,点云数据还可以包括点云的色彩参数,比如RGB色彩值,和/或,反射强度参数等。点云数据中还可以包括各个点云的感知结果,比如车辆、行人、路灯、建筑物等等。
202,服务器向客户端发送点云数据组,点云数据组包括连续的N个点云数据帧,点云数据组对应的时间段范围包含所述开始时间。
其中,N个点云数据帧中每个点云数据帧包括用于指示在N个点云数据帧中的时间先后顺序的指示符。
例如,指示符可以是点云数据帧的时间戳或者点云数据帧的索引编号或者点云数据帧的序列号等等。
服务器针对点云数据采用分组存储方式。比如服务器中存储有多个点云数据组。不同的点云数据组对应的时间段范围不同。不同的点云数据组对应的时间段范围可以不重叠。多个点云数据组之间的时间段范围可以是连续的。
例如,服务器可以针对点云数据包括的点云数据帧,每连续的N个点云数据帧划分一个点云数据组。可选地,可以对每个点云数据组进行编号,或者说每个点云数据组对应一个组编号。不同的点云数据帧组可以对应不同的时间段范围。在对每个点云数据组进行编号时,可以根据时间段范围的先后顺序,采用由小到大的方式或者采用由大到小的方式进行编号,基于此,组编号能够指示该点云数据组在多个点云数据组中的开始时间。
作为一种举例,同一点云数据组的点云位于同一区域。比如,可以针对点云数据进行区域划分,点云数据所表征的区域范围进行划分,划分为多个区域,属于同一区域的点云划分到同一组。
可选地,在点云数据组包括组编号时,客户端在请求点云数据时,可以在获取请求中携带点云数据组的组编号,用于表征请求的点云数据的开始时间。
示例性地,点云数据帧可以是针对原始点云数据进行处理后再经过组帧得到的。点云数据组包括的内容可以用于描述N个点云数据帧包括的点云。
203,客户端根据所述N个点云数据帧分别包括的指示符渲染所述N个点云数据帧。
在一种可能的示例中,客户端在按照N个点云数据帧的时间顺序渲染N个点云数据帧中的第一点云数据帧后,删除所述第一点云数据帧。因此在渲染一个点云数据帧后,及时的销毁该点云数据帧中的点云数据,防止缓存数据带来的安全风险,提高点云数据的安全性。
本申请实施例中,服务器在向客户端发送点云数据组后,未向客户端的设备提供点云数据的下载接口,从而使得客户端设备的用户无法看到点云数据组,可以提高点云数据的安全性。
雷达扫描道路环境生成原始点云数据后,原始点云数据会传输至服务器中。而在高精度电子地图采集、自动驾驶、辅助驾驶等领域,雷达采集的所在场景的初始点云数据可能包含有敏感建筑特征等不宜显示的数据,并且相关法规要求这些敏感数据不可公开或者不能大面积长期持有,因此对点云数据的查看有很大的限制。
而在实际应用中,点云数据主要用于驾驶感知,对于距雷达超远距离的点云,对驾驶感知是没有太大帮助的,尤其在自动驾驶、辅助驾驶等智能驾驶领域,一般主要依赖于以车辆中心为原点的一定范围内的点云数据,来进行驾驶感知的,因此,可以对雷达采集及后续显示的点云数据的范围进行限制,从而避开或模糊掉敏感建筑的点云特征,同时对驾驶感知也不会有太大影响。
基于此,为了防止他人获取到原始点云数据,本申请实施例中,服务器在对点云数据划分为多个点云数据组之前,先对原始点云数据进行处理,处理用于隐藏原始点云数据的绝对位置和/或原始点云数据所表征的物体的明显特征。可选地,服务器获取用于描述道路环境的原始点云数据后,进一步地对原始点云数据进行处理得到目标点云数据,处理用于隐藏原始点云数据的绝对位置和/或原始点云数据所表征的物体的明显特征;然后再将目标点云数据划分为多个点云数据组得到点云数据组集合。
在一些实施例中,服务器获取到的原始点云数据可以是离线获取的,也可以在线实时获取的。比如,车载终端上部署有客户端,车载终端通过点云采集设备实时采集到原始点云数据后,发送给服务器,服务器针对原始点云数据进行处理后,使得处理后的数据满足播放要求,再进一步发送给车载终端的客户端进行播放。
具体实施处理时,可以执行如下一项或者多项的处理:
(1)隐藏原始点云数据的绝对位置信息。
比如,绝对位置信息可以包括经纬度信息,实施时,将原始点云数据的经纬度信息隐藏,可以将原始点云数据的绝对位置信息转换为相对位置信息。
相对位置信息可以理解为与某个预设的参考点之间的相对位置。
(2)消除原始点云数据所表征的物体的明显特征。
作为一种举例,可以将高于激光雷达所在的位置,第一设定距离的点云从原始点云数据中删除。比如,第一设定距离为2.5米。
图3为本申请实施例提供的一种消除原始点云数据所表征的物体的明显特征的方法示意图。如图3所示,以雷达作为原点,在竖直方向上,仅保留雷达两侧第一设定距离对应的范围内的点云数据,即图3中虚线L4与虚线L5之间限制的范围内的点云数据,对于超出该范围的点云数据,服务器将该点云数据删除。
在一种示例中,消除原始点云数据所表征的物体的明显特征,可以不由服务器执行,可以在采集阶段执行,比如,图3中虚线L4与虚线L5之间限制的范围内的点云数据,对于超出该范围的点云数据,雷达不进行点云采集或者删除已采集的点云数据,不再传输至服务器。
鉴于目前一般小型车辆高度基本在2米以下,大型货车最高限高不超过4.2米,因此,第一设定距离可以为2.5米,仅保留雷达两侧各2.5米对应的范围内的点云数据,即图3中两条虚线之间限制的是5米高度的范围,这样既可以覆盖到地面,也可以覆盖到基本所有车型的高度。而车道两旁的建筑会因为高度2.5米的限制,基本全部被屏蔽,不会过多显示出来,从而避免敏感建筑物信息被全部公开,实现消除原始点云数据所表征的物体的明显特征。
(3)对原始点云数据的高程信息进行泛化处理,以隐藏所述原始点云数据所表征的物体的实际高度信息。
数据泛化是指,一个从相对低层概念到更高层概念且对数据库中与任务相关的大量数据进行抽象概述的一个分析过程。作为一种举例,以X轴、Y轴、Z轴为采集原始点云数据的装置采用的三维坐标系的三个坐标轴,其中任意两个坐标轴互相垂直,O点为该三维坐标系的原点。X轴可以与车辆行驶的方向相同或者与车辆行驶方向的垂直方向相同,XOY平面可以为自然坐标系下的水平面,则Z轴表示高度。可选地,服务器可以根据原始点云数据中各个点云对应的Z轴方向上的值,对低于激光雷达的第二设定距离的点云进行聚类,并将聚类后的离散的点云,转换为有限范围内的高度选项值。比如原始点云数据中低于第二设定距离的点云的Z轴方向值,分布在0-4米之间,经过数据泛化后,使得Z轴方向值分布在0-4米之间的点云Z轴方向值分布在一个小于0-4米的设定范围,比如,分布在1-2米之间。
通过数据泛化处理后,对原始点云数据所表征的物体的实际高度进行了隐藏,可以提高原始点云数据的安全性。
(4)删除所述原始点云数据中采集车辆的周围环境设定范围以外的点云数据。
例如,基于以上实施例,服务器在针对原始点云数据进行处理时,可以将采集车辆周围环境的点云数据中设定范围之外的点云数据删除掉,仅保留设定范围内的点云数据,采用本申请上述实施例提供的点云数据处理方法对该原始点云数据进行处理,进而在对点云数据进行有效精简的同时,合规抹除非有效范围内的点云。
图4为本申请实施例提供的一种限制点云显示范围的方法示意图。如图4所示,仅保留雷达左右及前后两侧设定距离对应的范围内的点云数据,即图4中虚线框包围的范围,对于超出该范围的点云数据,服务器将其从原始点云数据中删除。
在一种示例中,删除所述原始点云数据中采集车辆的周围环境设定范围以外的点云数据,可以不由服务器执行,可以在采集阶段由雷达执行,比如,图4中虚线框包围的范围内的点云数据,对于超出该范围的点云数据,雷达不进行点云采集或者删除已采集的点云数据,不再传输至服务器。其中,图4中所示的x轴与车辆行驶方向相同,y轴与x轴垂直。
示例性的,一般车辆前后100米以外的范围点云分布比较稀疏,不具备参考价值,可以去掉,因此,在雷达前后方向上的设定距离可以为100米。而相关标准规定标准车道最宽3.75米,则单向8车道的宽度是低于16米的,雷达左右50米范围以外的点云是不影响目标检测的,也可以去掉,因此,在雷达左右方向上的设定距离可以为50米。
上述通过保留雷达前后各100米、左右各50米范围内的点云数据,能够在保留车道内和道路两旁必要的检测信息的同时,减少对无效信息的采集。可以理解的,上述100米和50米仅为举例,本申请实施例对此不作限定。
(5)对原始点云数据进行加扰。示例性地,服务器可以对原始点云数据进行随机偏转,比如针对同一点云数据帧中的点云数据进行的偏转的角度相同。服务器还可以将偏转的角度携带在该点云数据帧中发送给客户端,从而客户端在渲染时可以进行偏转角度的偏转,可以使得用户观看到的点云连续且无法获知点云的实际位置信息,可以提高点云安全性。
本实施例中,服务器经过上述处理后,向客户端发送的点云数据已隐藏原始点云数据的绝对位置信息,并且仅包括车辆四周设定范围的点云数据,能够在覆盖有用信息范围的同时,隐藏敏感的位置信息,并且屏蔽道路两旁的建筑物信息,避免敏感建筑物信息的公开,还可以进一步降低点云数据量,提升点云数据的传输、播放等的效率。
通过本申请实施例提供的方案,服务器向客户端发送的点云数据组中N个点云数据帧分别包含的点云数据满足如下条件中的一项或者多项:已隐藏原始点云数据的绝对位置信息;已消除原始点云数据所表征的物体的明显特征;已隐藏原始点云数据所表征的物体的实际高度信息;或者,仅包括采集车辆四周设定范围内的点云数据。
示例性的,雷达扫描通常会生成不同点云密度的点云集合,此外,测量中产生的噪声点及由于测量误差产生的稀疏的离群点,会影响点云数据局部特征的分布,进而可能会破坏处理结果。在本申请的一些实施例中,服务器还可以去除原始点云数据中的离群点,从而去除一些不符合标准的点云,可以提高后续感知结果识别的准确度。
目前,雷达扫描采集的点云数据的数据量较大,不利于进行点云数据的传输以及点云数据播放等处理,因此,可以对点云数据进行降采样处理,来降低点云数据的数据量。举例来说,降采样可以采用体素滤波法,比如,非均匀体素滤波或者均匀体素滤波,对点云数据中的点云进行非均匀化或者均匀化的稀疏。降采样还可以采用其它的方式,本申请对此不作限定。
本申请实施例中,服务器采用分组的方式向客户端传输点云数据,服务器每次向客户端传输一个点云数据组。服务器分多次将点云数据发送给至客户端进行渲染,避免客户端一次性获取到所有的点云数据,并且采用分组传输渲染的方式,减少接收到所有点云数据再执行渲染所带来的时延。
客户端可以分多次向服务器请求点云数据,比如每次确定达到请求时间时,向服务器发送获取请求。客户端接收一个点云数据组后,针对点云数据组包括的N个点云数据帧按照时间顺序渲染N个点云数据帧,基于此,在确定请求时间时,可以将渲染完成N个点云数据帧的K个点云数据帧的时间作为请求时间,K为小于N的正整数。
作为一种举例,比如N为100,K小于100,比如K可以为95。可选地,K可以大于N/2。通过上述方案,客户端每次渲染完成接收到的点云数据组包括的N个点云数据帧中的K个时,可以向服务器发送下一次获取请求,从而服务器接收到该下一次获取请求后,继续向客户端发送给一个点云数据组。可选地,客户端可以根据自身的处理能力和/或客户端与服务器之间的通信链路传输情况来更新发送时间。作为一种举例,客户端渲染N-K个点云数据帧的时间大于服务器向客户端发送N个点云数据帧的传输时间。
比如客户端自身的CPU处理能力的不同,导致渲染速率不同,因此K的取值可以不同。客户端自身CPU的处理能力较高时K的取值,大于,客户端自身的CPU处理能力较低时,K的取值。客户端自身CPU的处理能力较高,渲染速率较快,从而渲染点云数据帧的时间较短,如果CPU的处理能力较低,渲染速率较慢,从而渲染点云数据帧的时间较长。
再比如,通信链路的传输速率的变化,可以更新K的取值。通信链路的传输速率高时,K的取值,小于,通信链路的传输速率低时,K的取值。比如通信链路的传输速率的由小变大时,可以将K的取值调小。再比如,通信链路的传输速率由大变小时,可以将K的取值增大。再比如,CPU的处理能力较高,并且通信链路的传输速率较快,可以将K值调大。
本申请实施例中通过分组传输的方式,并且采用分组渲染的方式,减少接收到所有点云数据再执行渲染所带来的时延。
进一步地,本申请实施例中可以采用并发的方式传输点云数据组。比如,点云数据组划分为多个点云片段,客户端可以采用并发的方式向服务器请求点云数据。比如,客户端上包括多个用于请求点云片段的请求任务,请求任务可以由请求线程或者进程实现。采用并发的方式向服务器请求点云数据,提高传输的速率,并且将点云数据组在传输过程中进一步片段化,提高点云数据传输的安全性。
在一种可能的实施方式中,客户端在向服务器发送获取请求时,获取请求中包括M个分片请求,每个分片请求携带用于请求的点云数据帧的数量,M个分片请求所请求的点云数据帧的数量为N。比如,M为4,N为100,每个分片请求携带的用于请求的点云数据帧的数量为25。再比如,M为3,N为100,其中两个分片请求携带的用于请求的点云数据帧的数量为33,另外一个分片请求携带的用于请求的点云数据帧的数量为34。一个分片请求可以由一个请求任务来生成并发送。M个分片请求可以由M个请求任务一一对应生成并发送。客户端中包括的请求任务的数量可以大于或者等于M。
作为一种举例,M个分片请求中均可以携带开始时间。从而无论哪个分片请求先到达服务器,服务器均可以根据开始时间来从点云数据组集合中确定该开始时间对应的点云数据组。
进一步地,服务器在执行向客户端发送点云数据组时,可以根据开始时间从点云数据组集合中确定该开始时间对应点云数据组;然后根据M个分片请求分别请求的点云数据帧的数量向客户端发送M个点云片段。M个点云片段与M个分片请求一一对应。
接着上面的举例,以M为4,N为100为例。4个分片请求分别为分片请求1、分片请求2、分片请求3和分片请求4。分片请求1-4分别请求25个点云数据帧。应理解的是,客户端发送的4个分片请求,到达服务器的时间可能不同。服务器每接收到一个分片请求,可以从根据开始时间确定的点云数据组中获取25个点云数据帧构成一个点云片段,发送给客户端。需要说明的是,服务器连续发送4个点云片段,4个点云片段到达客户端的时间可能不同,并且顺序也可能不同。一种示例中,客户端可以根据点云片段中各个点云数据帧的时间戳或者序列号,将4个点云片段包括的点云数据帧按照顺序排列。另一种示例中,服务器根据分片请求从点云数据组中获取点云片段时,可以对点云片段进行编号,进而服务器可以对4个点云片段进行时间排序。应该理解的是,一般来说,一个点云片段中包括的多个点云数据帧是按照时间顺序来排序的。基于此,通过编号对点云片段来排序,即能实现一个点云数据组中的N个点云数据帧的排序更加简单可行。
在一种可能的实施方式中,客户端每次并发的分片请求的数量以及每个分片请求所请求的点云数据帧的数量可以根据客户端的处理能力和/或所述客户端与所述服务器之间的通信链路传输情况来确定。比如,在向服务器发送获取请求之前,可以根据所述客户端的处理能力和/或所述客户端与所述服务器之间的通信链路传输情况,确定并发的分片请求的数量为M以及M个分片请求分别用于请求的点云数据帧的数量,然后再进一步向服务器发送M个分片请求。
客户端的处理能力较高时,能够处理的请求任务的数量也较高,客户端处理能力较低时,能够处理的请求任务的数量也较低。另外,可以理解的是,通信链路的传输速率较高以及客户端的处理能力较高时,可以增加分片请求的数量,比如,10个分片请求,每个分片请求用于请求10个点云数据帧。通信链路的传输速率较低以及客户端的处理能力较低时,可以减少分片请求的数量,比如,4个分片请求,每个分片请求用于请求25个点云数据帧。
作为一种可能的示例,服务器可以预先向客户端配置不同的处理能力参数和/或不同的传输速率与每个分片请求所请求的数据帧数量的对应关系。或者预先向客户端配置根据不同的处理能力参数和/或不同的传输速率确定每个分片请求所请求的数据帧数量的策略。服务器可以预先向客户端配置不同的处理能力参数和/或不同的传输速率与分片请求的数量的对应关系。或者预先向客户端配置根据不同的处理能力参数和/或不同的传输速率确定分片请求的数量的策略。
本申请实施例通过采用并发的方式来获取点云数据片段,从而提高点云数据的传输效率,并且能够防止点云数据的整体泄露,进一步提高的点云数据的安全性。
在本申请的一种可能的实施方式中,在服务器向客户端发送点云数据组时,可以通过超文本传输安全协议(hypertext transfer protocol over secure socket layer,HTTPS)来传输,进一步提高传输的点云数据组的安全性。需要说明的是,服务器也可以采用其它的安全协议来向客户端发送点云数据组,以提高点云数据传输的安全性。
在客户端向服务器请求点云数据之前,可以先建立HTTPS通信连接。比如,可以采用登录的方式。作为一种示例,参见图5所示,为一种可能的点云数据的传输方法流程示意图。
501,客户端响应于用户的登录操作,向服务器发送登录请求,登录请求可以用于请求认证信息。
502,服务器向客户端发送认证信息,认证信息包括接入令牌(access token),或者access token和刷新令牌(refresh token)。
access token是客户端访问服务器的资源时,需要带上的令牌,表示得到用户的授权。refresh token就是用来刷新access token。活跃用户的access token过期了,用refresh token获取新的access token。
可选地,客户端在向服务器发送登录请求之前,向服务器发送页面加载请求。本申请实施例中,页面加载请求可以是用户触发的,例如,用户点击了一个网页链接,或者在网页的地址栏输入了网页地址,并点击“进入”或“确定”功能按键等,客户端在检测到用户的上述操作后,从而可以生成页面加载请求,并将其发送至服务器。服务器在接收到页面加载请求后,向客户端返回初始页面内容,该初始页面内容可以包括初始网页以及至少一个DOM对象。DOM对象,也可以称为页面组件,如<body>、<uee:gadget>这类标签就可以称为DOM对象。作为一种举例,至少一个DOM对象可以包括初始画布。
进一步地,客户端可以对初始页面进行初始化,可以为用户提供登录页面,从而客户端用户可以在登录页面上执行登录操作,比如,输入用于表征用户身份的一些信息。进而,客户端响应于用户的登录操作,向服务器发送登录请求。
503,客户端与服务器通过HTTPS协商后续需要对待传输的点云数据进行加密或者解密的密钥。
进一步的,客户端在向服务器发送获取请求时,可以携带access token,或者携带access token和refresh token。
504,客户端向服务器发送获取请求,获取请求包括access token,或者携带access token和refresh token。
505,服务器使用密钥对待发送的点云数据组进行加密,并将加密后的点云数据组发送给客户端。
作为一种举例,向客户端发送加密后的点云数据组时,可以采用Protobuf(protocol buffers)数据格式,进一步保障点云数据传输的安全性。其中,Protobuf是一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储。服务器可以采用Protobuf数据格式将点云数据组包括的点云数据转换为3D点云模型对象的形式发送给客户端。需要说明的是,向客户端发送加密后的点云数据组时,还可以采用其它的数据格式,本申请实施例对此不作具体限定。
506,客户端使用所述密钥从加密后的所述点云数据组中解密得到点云数据组。
507,参见步骤203,此处不再赘述。
在一种可能的实施方式中,步骤203客户端渲染点云数据帧时,可以通过如下方式实现:
客户端通过渲染引擎,将点云数据组包括的每个点云的三维坐标进行二维化投影处理。例如渲染引擎可以采用webgl、或者three.js或者unity_web3d等。渲染引擎也可以为其它方式,本申请实施例对此不作限定。
参见图6所示为显示一种可能的点云数据帧示意图。在一些实施例中,用户可以根据需求对播放的点云数据帧包括的点云数据进行旋转、放大、缩小、或者拖拽画布等操作。
本申请实施例还提供了一种点云数据传输装置700,如图7所示,装置700包括通信单元701和处理单元702。
一种可能的应用场景中,装置700应用于客户端。
通信单元701,用于接收服务器发送的点云数据组,所述点云数据组包括连续的N个点云数据帧,所述N个点云数据帧中每个点云数据帧包括用于指示在所述N个点云数据帧中的时间先后顺序的指示符;处理单元702,用于根据所述N个点云数据帧分别包括的指示符,渲染所述N个点云数据帧。
在一种可能的实施方式中,所述通信单元701,还用于:
在接收所述服务器发送的所述点云数据组之前,向所述服务器发送获取请求,所述获取请求包括所述点云数据组的开始时间。
在一种可能的实施方式中,所述通信单元701,用于:
每确定达到请求时间时,向所述服务器发送所述获取请求;
其中,所述请求时间为渲染完成所述N个点云数据帧中K个点云数据帧的时间,K为小于N的正整数。
在一种可能的实施方式中,所述获取请求还包括M个分片请求,其中,所述M个分片请求中每个分片请求携带点云数据帧的数量且所述M个分片请求携带的点云数据帧的总数量为N;
所述通信单元701,用于接收所述服务器根据所述M个分片请求发送的M个点云片段,所述M个点云片段分别包括的点云数据帧的数量与所述M个分片请求携带的点云数据帧的数量一一对应。
在一种可能的实施方式中,所述M个点云片段分别携带索引号,所述M个点云片段分别对应的索引号是按照所述M个点云片段在所述点云数据组中的时间顺序进行编号得到的。
在一种可能的实施方式中,所述处理单元702,还用于向所述服务器发送所述获取请求之前,根据所述客户端的处理能力和/或所述客户端与所述服务器之间的通信链路传输情况,确定分片请求的数量为M以及确定M个分片请求分别携带的点云数据帧的数量。
在一种可能的实施方式中,所述N个点云数据帧分别包含的点云数据满足如下条件中的一项或者多项:
已隐藏原始点云数据的绝对位置信息;
已经过对原始点云数据加扰;
已消除原始点云数据所表征的物体的明显特征;
已隐藏原始点云数据所表征的物体的实际高度信息;或者,
已去除所述原始点云数据中的离群点。
在一种可能的实施方式中,所述通信单元701,还用于通过HTTPS与所述服务器协商密钥,所述密钥用于对所述点云数据组进行加密或解密。
一种可能的应用场景中,装置700应用于服务器。
通信单元701,用于向客户端发送所述点云数据组,所述点云数据组包括连续的N个点云数据帧,所述N个点云数据帧中每个点云数据帧包括用于指示在所述N个点云数据帧中的时间先后顺序的指示符。
在一种可能的设计中,所述通信单元701,用于在向客户端发送所述点云数据组之前,接收所述客户端发送的获取请求,所述获取请求包括所述点云数据组的开始时间;
所述处理单元702,用于根据所述开始时间从点云数据组集合中确定所述点云数据组。
在一种可能的设计中,所述获取请求还包括M个分片请求,所述M个分片请求中每个分片请求携带点云数据帧的数量且M个分片请求携带的点云数据帧的总数量为N;
所述通信单元701,具体用于根据所述M个分片请求分别携带的点云数据帧的数量向所述客户端发送M个点云片段;所述M个点云片段分别包括的点云数据帧的数量与所述M个分片请求携带的点云数据帧的数量一一对应。
在一种可能的设计中,所述通信单元701,还用于获取用于描述道路环境的原始点云数据;
所述处理单元702,还用于对所述原始点云数据进行处理得到目标点云数据;将目标点云数据划分为多个点云数据组得到所述点云数据组集合。
在一种可能的设计中,所述处理单元702,用于通过以下一项或多项处理得到所述目标点云数据:
隐藏所述原始点云数据的绝对位置信息;
对原始点云数据进行加扰;
消除所述原始点云数据所表征的物体的明显特征;
隐藏所述原始点云数据所表征的物体的实际高度信息;
去除所述原始点云数据中的离群点。
在一种可能的设计中,所述通信单元701,还用于通过HTTPS与服务器协商密钥,所述密钥用于对所述点云数据组进行加密或解密。
作为一种实现方式,所述点云数据传输装置700还可以包括存储单元703,用于存储所述点云数据传输装置700的程序代码和数据。其中,所述处理单元702可以是处理器或控制器,例如可以是通用中央处理器(central processing unit,CPU),通用处理器,数字信号处理(digital signal processing,DSP),专用集成电路(application specificintegrated circuits,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块等。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。所述存储单元703可以是存储器。所述通信单元701可以是一种该点云数据传输装置700的接口电路,用于从其它装置接收数据,例如接收点云数据采集装置发送的初始点云数据。当该点云数据传输装置700以芯片的方式实现时,收发单元701可以是该芯片用于从其它芯片或装置接收数据或者向其它芯片或装置发送数据的接口电路。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图7中的各个单元的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
基于以上实施例及相同构思,本申请实施例还提供了一种点云数据传输装置,用于实现本申请实施例提供的点云数据处理方法。如图8所示,所述点云数据传输装置800可以包括:一个或多个处理器801,存储器802,以及一个或多个计算机程序(图中未示出)。作为一种实现方式,上述各器件可以通过一个或多个通信线路803耦合。其中,存储器802中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;处理器801调用存储器802中存储的所述指令,使得点云数据传输装置800执行本申请实施例提供的点云数据处理方法。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置。
作为一种实现方式,所述点云数据传输装置800还可以包括通信接口804,用于通过传输介质和其它装置进行通信,例如,在采集初始点云数据的装置不是所述点云数据传输装置800时,所述点云数据传输装置800可以通过所述通信接口804,与采集初始点云数据的装置进行通信,从而接收该装置采集的初始点云数据。在本申请实施例中,通信接口804可以是收发器、电路、总线、模块或其它类型的通信接口。在本申请实施例中,通信接口804为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是接口电路。
在本申请一些实施例中,所述处理器801、存储器802以及通信接口804可以通过通信线路803相互连接;通信线路803可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。所述通信线路803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供了一种系统,包括客户端和服务器。示例性地,通信系统包括用于实现上述图2或者图5的相关功能的客户端和服务器。所述客户端用于实现图2或图5相关客户端的功能。所述服务器用于实现图2或图5相关服务器的功能。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有程序或指令,当其在计算机上运行时,使得计算机执行图2或者图5中客户端执行的方法或者服务器执行的方法。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图2或者图5中客户端执行的方法或者服务器执行的方法。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD)、或者半导体介质(例如,SSD)等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。