掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、域控制器、设备及存储介质

文献发布时间:2024-04-18 19:58:21


一种数据处理方法、域控制器、设备及存储介质

技术领域

本申请涉及汽车技术领域,涉及但不限于一种数据处理方法、域控制器、设备及存储介质。

背景技术

随着车辆技术的不断发展,域控制器需要处理的数据也越来越多。

在域控制器中,对于视频数据、音频数据等数据的处理,一般通过一个芯片来实现,处理效率低下。

发明内容

本申请提供一种数据处理方法、域控制器、设备及存储介质,该方案可以通过双处理器及双操作系统对目标数据流进行处理,实现了算力的均衡分配,提高了处理效率。

本申请的技术方案是这样实现的:

第一方面,本申请提供了一种数据处理方法,所述方法应用于域控制器,所述域控制器包括第一处理器和第二处理器;所述方法包括:

第一服务将目标数据流存储至第一共享内存;所述第一服务运行于所述第一处理器上的第一操作系统;

第二服务从所述第一共享内存中获取所述目标数据流;所述第二服务运行于所述第一处理器上的第二操作系统;

所述第二服务将所述目标数据流进行处理后发送至第三服务,以供所述第二处理器上与所述目标数据流相关的业务应用使用;其中,所述第三服务运行于所述第二处理器上的第二操作系统。

第二方面,本申请提供了一种域控制器,所述域控制器包括第一处理器和第二处理器;

所述第一处理器用于:通过第一服务将目标数据流存储至第一共享内存;所述第一服务运行于所述第一处理器上的第一操作系统;通过第二服务从所述第一共享内存中获取所述目标数据流;所述第二服务运行与所述第一处理器上的第二操作系统;通过所述第二服务将所述目标数据流进行编码与压缩后发送至第三服务,以供所述第二处理器使用;其中,所述第三服务运行于所述第二处理器上的第二操作系统。

在一种可能的实施方式中,所述域控制器上运行有至少一条计算机程序,当所述域控制器在车辆设备上运行时,用于实现权利要求1-7任一项所述的数据处理方法。

第三方面,本申请还提供了一种车辆设备包括:所述车辆设备包括域控制器,所述域控制器包括第一处理器、第二处理器和存储器,所述存储器上存储有计算机程序,在所述计算机程序被所述第一处理器和/或第二处理器执行时,实现上述第一方面提供的数据处理方法。

第四方面,本申请还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。

本申请所提供的数据处理方法、装置、设备及存储介质,应用于域控制器,所述域控制器包括第一处理器和第二处理器;包括:第一服务将目标数据流存储至第一共享内存;所述第一服务运行于所述第一处理器上的第一操作系统;第二服务从所述第一共享内存中获取所述目标数据流;所述第二服务运行于所述第一处理器上的第二操作系统;所述第二服务将所述目标数据流进行处理后发送至第三服务,以供所述第二处理器上与所述目标数据流相关的业务应用使用;其中,所述第三服务运行于所述第二处理器上的第二操作系统。

可以看出:对于本申请的方案,在处理目标数据流时,通过双处理器和双操作系统的结合来实现。具体的,第一处理器的第一操作系统上运行的第一服务用于获取以及存储目标数据流;并将获取的目标数据流存储至第一共享内存,以供第一处理器的第二操作系统上运行的第二服务获取。对于需要第二处理器使用的数据,在第一服务获取到目标数据流后,第一服务将目标数据流进行处理后发送至第二服务,以供第二处理器上与所述目标数据流相关的业务应用使用。这样,一方面,通过双处理器实现算力的均衡分配,提高处理效率,另一方面,通过双操作系统的配合,进一步提高了数据的处理效率。

附图说明

图1为本申请实施例提供的域控制器第一种可选的结构示意图;

图2为本申请实施例提供的数据处理方法第一种可选的流程示意图;

图3为本申请实施例提供的数据处理方法第二种可选的流程示意图;

图4为本申请实施例提供的数据处理方法第三种可选的流程示意图;

图5为本申请实施例提供的A、B核的一种可选的结构示意图;

图6为本申请实施例提供的A、B核之间的接口关系的一种可选的结构示意图;

图7为本申请实施例提供的A、B核的软件架构的一种可选的结构示意图;

图8为本申请实施例提供的A、B核部分的软硬件架构的一种可选的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一第二第三”仅是为例区别不同的对象,不代表针对对象的特定排序,不具有先后顺序的限定。可以理解地,“第一第二第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

本申请实施例提供了数据处理方法、装置、设备及存储介质。实际应用中,数据处理方法可由数据处理装置实现,数据处理装置中的各功能实体可以由电子设备(如车辆设备)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。

下面,对本申请实施例提供的数据处理方法、装置、设备及存储介质的各实施例进行说明。

第一方面,本申请实施例提供了一种数据处理方法,该方法应用于数据处理装置。该方法所实现的功能可以通过车辆设备中的处理器或者域控制器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该车辆设备或者域控制器至少包括处理器和存储介质。

下面,以域控制器作为执行主体为例,对本申请实施例提供的数据处理方法进行说明。

域控制器,指具有相关数据处理能力的电子设备。示例性的,域控制器可以为车辆设备的座舱域控制器。

所述域控制器包括第一处理器和第二处理器;所述第一处理器与所述第二处理器之间可以通信。

第一处理器,可以指主处理器或者子处理器。

第二处理器与第一处理器不同。在第一处理器指代主处理器的情况下,第二处理器指代子处理器;在第一处理器指代子处理器的情况下,第二处理器指代主处理器。

示例性的,第一处理器和第二处理器可以集成于一个座舱域控制器(CabinDomain Controller,CDC)壳中。

第一处理器、第二处理器中运行了多个操作系统。示例性的,第一处理器上运行了第一操作系统和第二操作系统;第二处理器上运行了第一操作系统和第二操作系统。

在一种可能的实施方式中,第一处理器、第二处理器可以部署于不同的板子上。例如,第一处理器部署于板子1上,第二处理器部署于板子2上。

本申请实施例对第一处理器与第二处理器之间的通信方式不作具体限定,可以根据实际情况配置。

示例1、第二处理器与第二处理器之间可以通过以太网进行连接,以通过以太网进行数据的通信。

示例2、第一处理器与第二处理器之间可以通过转换芯片进行连接,以通过转换芯片进行数据的通信。

第一处理器、第二处理器还可以包括多个外接接口,与摄像头、显示屏、收音机、无线保真(Wireless Fidelity,WIFI)网络、通用串行总线(Universal Serial Bus,USB)设备等等。

示例性的,参考图1中所示的内容,域控制器10包括第一处理器101、第二处理器102、第一处理器101与第二处理器102之间通过以太网103进行数据的通信。

其中,第一处理器101包括运行于第一处理器101上的第一操作系统1011和第二操作系统1012。

第二处理器102包括运行于第二处理器102上的第一操作系统1021和第二操作系统1022。

第一操作系统1011为第二操作系统1012不同类型的操作系统。

图2为本申请实施例的数据处理方法的流程示意图,如图2所示,该过程可以包括但不限于下述S201至S203。

S201、第一服务将目标数据流存储至第一共享内存。

所述第一服务运行于所述第一处理器上的第一操作系统。

所述第一操作系统为任一个实时操作系统。

本申请实施例对第一操作系统的具体类型不作限定,可以根据实际需求配置。示例性的,第一操作系统可以为QNX操作系统。

这里的第一处理器可以为主处理器或者子处理器。具体可以根据实际情况配置。

目标数据流,指待处理的数据流。本申请实施例对目标数据流的具体类型与内容不作限定,可以根据实际需求确定。示例性的,目标数据流可以包括:视频数据、音频数据、音视频数据、地图数据等等。

这里的目标数据流可以是摄像头采集的原始视频流或者处理后的视频流,也可以是得到的地图数据等等。

第一共享内存,指第一处理器中运行的第一操作系统和第二操作系统均可以访问的内存。本申请实施例对第一共享内存的存储位置以及存储大小等均不不作限定,可以根据实际情况配置。

在一种可能的实时方式中,S201可以实施为:第一服务获取的其他设备(例如摄像头)采集的数据(地图数据或者视频数据),作为目标数据流,并将该目标数据流存储至第一共享内存。

在一种可能的实时方式中,S201可以实施为:第一服务将第一处理器生成的数据确定为目标数据流,并将该目标数据流存储至第一共享内存。

由于实时操作系统的处理速度较快,所以通过第一服务(运行于第一处理器上的第一操作系统)获取待处理的目标数据流,具有效率高的特点。且,第一服务将目标数据流存储至第一共享内存,可以实现第一处理器中第一操作系统与第二操作系统对于目标数据流的共享,增加了应用过程中的处理的灵活性。

S202、第二服务从所述第一共享内存中获取所述目标数据流。

所述第二服务运行于所述第一处理器上的第二操作系统。

所述第二操作系统为任一个智能操作系统。

本申请实施例对第二操作系统的具体类型不作限定,可以根据实际需求配置。示例性的,第二操作系统可以为安卓操作系统。

由于第一共享内存是第一处理器中运行的第一操作系统和第二操作系统均可以访问的内存,第二服务运行于第一处理器上的第二操作系统,所以,第二服务可以访问共享内存,获取目标数据流。

S203、所述第二服务将所述目标数据流进行处理后发送至第三服务,以供所述第二处理器上与所述目标数据流相关的业务应用使用。

其中,所述第三服务运行于所述第二处理器上的第二操作系统。

其中,第二服务为运行于第一处理器上的第二操作系统的实时流传输控制服务;第三服务为运行于第二处理器上的第二操作系统的实时流传输控制服务。

本申请实施例对第一服务、第二服务的具体类型不作限定。示例性的,第一服务可以为实时流传输协议(Real Time Streaming Protocol,RTSP)服务端(RTSP server)的服务。第二服务可以为RTSP客服端(RTSP client)服务。

本申请实施例对第三服务在获取到目标数据流后的处理过程不作具体限定,可以根据实际情况配置。例如在目标数据流为地图数据的情况下,可以在第二处理器中做进一步的叠加处理等等。

S203可以实施为:域控制器第二服务和第三服务中规定的数据传输协议,来实现目标数据流的传输。具体的,将目标数据流进行编码与压缩后从第二服务发送至第三服务,以供所述第二处理器上与所述目标数据流相关的业务应用使用。

其中,第一服务与第二服务之间的目标数据流的传输可以通过以太网进行传输;或者还可以通过转换芯片的方式进行传输。

本申请实施例对编码的具体方法以及压缩的具体方式不作唯一限定,可以根据实际情况配置。

编码可以提高数据传输过程中的安全性,压缩可以提高数据传输过程中的传输效率。

本申请该实施例提供的数据处理方法,应用于域控制器,所述域控制器包括第一处理器和第二处理器;该方法包括:第一服务将目标数据流存储至第一共享内存;所述第一服务运行于所述第一处理器上的第一操作系统;第二服务从所述第一共享内存中获取所述目标数据流;所述第二服务运行于所述第一处理器上的第二操作系统;所述第二服务将所述目标数据流进行处理后发送至第三服务,以供所述第二处理器上与所述目标数据流相关的业务应用使用;其中,所述第三服务运行于所述第二处理器上的第二操作系统。

可以看出:对于本申请的方案,在处理目标数据流时,通过双处理器和双操作系统的结合来实现。具体的,第一处理器的第一操作系统上运行的第一服务用于获取以及存储目标数据流;并将获取的目标数据流存储至第一共享内存,以供第一处理器的第二操作系统上运行的第二服务获取。对于需要第二处理器使用的数据,在第一服务获取到目标数据流后,第一服务将目标数据流进行编码与压缩后发送至第二服务,以供第二处理器上与目标数据流相关的业务应用使用。这样,一方面,通过双处理器实现算力的均衡分配,提高处理效率,另一方面,通过双操作系统的配合,进一步提高了数据的处理效率。

本申请实施例提供的数据处理方法,还可以包括第一处理器对于目标数据流的应用。

具体的,参考图3所示的内容,该数据处理方法还可以包括但不限于下述S204。

S204、第四服务调用所述目标数据流,以供所述第一处理器上与所述目标数据流相关的业务应用使用。

其中,所述第四服务运行于所述第一处理器上第一操作系统或者第二操作系统。

其中,这里的第四服务可以为任一应用程序。

本申请实施例对第四服务的具体类型不作限定,可以根据实际情况配置。例如,在目标数据流为摄像头采集的视频流的情况下,第四服务可以为相机应用。在目标数据流为地图数据流的情况下,第四服务可以为导航应用或者地图应用。

可以看出,对于还需要第一处理器处理的目标数据流,可以通过第四服务直接调用,这样,对于目标数据流,可以被第一处理器和第二处理器上与目标数据流相关的业务应用同时使用,即可以被应用于多种场景,且互相不受影响。进一步的,目标数据流还可以被第一处理器和第二处理器同时使用,提高了应用效率。进一步的,目标数据流被不同的应用使用时,应用可以根据实际需求配置到不同的处理器,第一处理器或者第二处理器;还可以进一步配置到第一处理器的第一操作系统或者第二操作系统,第二处理器的第一操作系统或者第二操作系统,具有实现灵活、应用范围广泛的特点。

实际中,可以将实时性要求较高的应用配置到第一操作系统,将实时性要求不高但智能性要求高的应用配置到第二操作系统。

下面,对第一操作系统和第二操作系统进行说明。

在一种可能的实施方式中,所述第一操作系统包括:QNX操作系统或者UNIX操作系统;

所述第二操作系统包括:安卓操作系统、苹果操作系统或者鸿蒙操作系统。

第一操作系统还可以为其他实时操作系统,此处不再一一列举。第二操作系统还可以为其他智能操系统,此处不再一一列举。

下面对S201中第一服务将目标数据流存储至所述第一共享内存的过程进行说明。

在一种可能的实施方式中,在所述第一处理器为子处理器,所述子处理器与乘客监控系统(Occupancy Monitoring System,OMS)和/或驾驶员监控系统(Drive MonitoringSystem,DMS)的摄像头连接,所述目标数据流包括视频数据,的情况下,该过程可以实现为下述S2011和S2012。

乘客监控系统,用于监测乘客行为提高安全的系统。

乘客监控系统的视频数据,指乘客监控系统中采集的乘客的视频数据。

驾驶员监控系统,用于监测驾驶员行为提高行车安全的系统。

驾驶员监控系统的视频数据,指驾驶员监控系统中采集的驾驶员的视频数据。

S2011、所述第一服务采集所述OMS和/或所述DMS的摄像头的所述视频数据。

由于子处理器与OMS和/或DMS的摄像头连接,所以,运行于子处理器(第一处理器)上的第一服务可以采集OMS和/或DMS的摄像头的视频数据,并将采集得到的视频数据作为待处理器的目标数据流。

S2012、所述第一服务将所述视频数据存储至所述第一共享内存。

第一服务将该视频数据存储至第一共享内存中。

对应的,在将视频数据存储至第一共享内存后,第二服务从第一共享内存中获取该视频数据;通过第二服务将该视频数据进行编码与压缩后发送至第三服务,以供第二处理器使用。

可以看出,对于OMS和/或DMS的摄像头的视频数据,可以采用本申请实施例提供的数据处理方法将第一处理器侧的OMS和/或DMS的摄像头的视频数据传输至第二处理器侧,以供第二处理器使用,提高了视频数据的应用场景,可以多场景处理视频数据,具有高效灵活的特点。

下面,对地图数据的处理过程进行说明。

在所述第一处理器为主处理器,所述第二处理器为子处理器,所述目标数据流包括第一地图数据的情况。

在该情况下,首先,第一服务将第一地图数据存储至第一共享内存;第二服务从第一共享内存中获取第一地图数据;第二将第一地图数据进行编码与压缩后发送至第三服务,以供子处理器使用。

换而言之,在S203之后即将第一地图数据传输至子处理器上之后,在子处理器上进行进一步的处理,并在处理后返回至主处理器。

具体的,参考图4所示的内容,该对于地图数据的处理过程可以包括但不下限于下述S401至S406。

S401、第一服务将第一地图数据存储至第一共享内存。

在一种可能的实施方式中,第一地图数据包括车道指引数据。简单来说,第一地图数据为部分地图数据,即需要显示的重点区域的地图数据。

S401的具体实施可以参考S201中的详细描述,此处不再一一赘述。

S402、第二服务从第一共享内存中获取第一地图数据。

S402的具体实施可以参考S202中的详细描述,此处不再一一赘述。

S403、第二服务将第一地图数据进行处理后发送至第三服务,以供子处理器上与第一地图数据相关的上层应用使用。

S403的具体实施可以参考S203中的详细描述,此处不再一一赘述。

S404、所述第三服务将所述第一地图数据存储至第二共享内存。

第二共享内存,指第二处理器中运行的第一操作系统和第二操作系统均可以访问的内存。本申请实施例对第二共享内存的存储位置以及存储大小等均不不作限定,可以根据实际情况配置。

换而言之,在该过程中,第二共享内存为子处理器中运行的第一操作系统和第二操作系统均可以访问的内存。

S404的具体实施可以参考S201中的详细描述,此处不再一一赘述。

S405、第五服务从所述第二共享内存中获取所述第一地图数据;并将所述第一地图数据与辅助数据进行叠加,以得到第二地图数据。

所述第五服务运行于所述子处理器上的第一操作系统。

所述辅助数据包括以下至少一项:车模数据、仪表数据以及行程数据。

座舱与控制器通过子处理器中的渲染引擎(例如unity)将第一地图数据与辅助数据叠加到一个图层,将叠加到一个图像的数据作为第二地图数据。

在一种可能的实施方式中,第二地图数据可以叠加了第一地图数据和车模数据。

在又一种可能的实施方式中,第二地图数据可以叠加了第一地图数据和仪表数据、行程数据。

在又一种可能的实施方式中,第二地图数据可以叠加了第一地图数据、仪表数据、行程数据、以及车模型数据。

这里的车模指,域控制器所属的车辆设备的三维模型。

S406、所述第五服务将所述第二地图数据进行处理后发送至第六服务,以基于所述第六服务将所述第二地图数据发送至远端屏进行显示。

所述第六服务运行于所述主处理器上的第一操作系统。

其中,第五服务将第二地图数据进行编码与压缩后发送至主处理器的过程,与第一服务将第一地图数据进行编码与压缩后发送至子处理器的过程类似,具体实施可以参考S203的详细描述,此处不再一一赘述。

示例性的,远端屏,指位于驾驶员视野前方,用于替代仪表盘的显示屏。

其中,主处理器与远端屏预先是连接的,所以可以通过主处理器将第二地图数据发送至远端屏进行显示。

这样,在远端屏可以显示叠加了车道指引数据、仪表数据、行程数据、以及车模型数据的信息,将导航信息显示与远端屏可以提高导航的便利性,从而提高车辆驾驶的安全性能。

在一种可能的实施方式中,所述第一地图数据包括车道指引数据;所述辅助数据包括以下至少一项:车模数据、仪表数据以及行程数。

下面对S201中第一服务将目标数据流存储至第一共享内存的执行时机进行说明。

在一种可能的实施方式中,针对任何情况下的目标数据流,均执行上述S201。即对于任何情况下的目标数据流,均执行本申请实施例提供的数据处理方法。

在另一种可能的实施方式,在目标数据流满足预设条件时,执行上述S201。在该可能的实施方式中,检测所述目标数据流的分辨率,以及传输速率;判断所述目标数据流的分辨率是否小于分辨率阈值,传输速率是否小于传输速率阈值;在所述目标数据流的分辨率小于所述分辨率阈值,且传输速率小于所述传输速率阈值的情况下,执行所述第一服务将目标数据流存储至第一共享内存;所述第一服务运行于所述第一处理器上的第一操作系统;第二服务从所述第一共享内存中获取所述目标数据流;所述第二服务运行于所述第一处理器上的第二操作系统;所述第二服务将所述目标数据流进行处理后发送至第三服务,以供所述第二处理器上与所述目标数据流相关的业务应用使用;其中,所述第三服务运行于所述第二处理器上的第二操作系统。

即在目标数据流满足预设条件时,执行本申请实施例提供的数据处理方法。

其中,分辨率阈值、输速率阈值的具体取值可以根据实际需求配置,本申请实施例对此不作具体限定。

需要说明的是,在目标视频流不满足预设条件时,还可以通过视频直传的方式进行数据的传输。这样,既可以保证对于实时性要求较高的数据的传输效率,也可以实现负载的均衡。

下面,以第一处理器为A核,第二处理器为B核为例,对本申请实施例提供的数据处理方法进行说明。

首先,对A、B核的硬件结构进行说明。

参考图5所示的内容,包括:A核501、B核502。A核501与B核502集成于CDC壳体中。A核501与B核502之间的连接包括:B2B连接器503、以太网504、视频转换传输505、高速串行计算机扩展总线(peripheral component interconnect express,PCIE)506、物理端口(Physical,PHY)507。其中,PHY507可以通过以太网与网关(GateWay,GW)5071连接,GW5071通过可变速CAN总线(CAN with Flexible Data rate,CANFD)与微控制单元(Microcontroller Unit,MCU)5072连接。

A核501可以与多个外接设备连接,包括:中控屏5011、2K屏5012、模拟麦克风(MIC)5013、模拟功放5014、连接器(AMP)5015、USB5016、电子外后视镜5017、预留的2K屏5018。

B核502可以与多个外接设备连接,包括:预留的2K屏5021、远端屏5022、DMS/OMS5023、360全景摄像头5024。

下面,对A、B核之间的接口关系进行说明。

参考图6所示的内容,A核601通过DSI1接口6011与转换芯片一603(MIPI convert)连接,A核601通过CSI接口6012与转换芯片二604(DP2MIPI convert)连接,A核601通过DP接口6013、DS60UB983与远端屏605连接,A核601通过DSI0接口6014、DS60UB981与中控屏606连接,A核601通过PCIE接口6015、网络转换器(Eth Switch)与B核602中的RGMII接口6021连接。

B核602通过DP接口6022与转换芯片二604(DP2MIPI convert)连接,B核602通过CSI接口6023与转换芯片一603(MIPI convert)连接,B核602通过CSI接口6024、MAX96712与DMS/OMS607连接。其中,图6中的虚线表示摄像头数据传输链路,实线表示显示屏数据传输链路。

下面,对A、B核的软件架构进行说明。

参考图7所示的内容,包括A核701、B核702。其中,A核701包括QNX操作系统7011、安卓Android操作系统7012以及虚拟机(Hypervisor)7013。B核702包括QNX操作系统7021、安卓Android操作系统7022以及虚拟机(Hypervisor)7023。

其中,A、B核之间的数据传输链路可以参考图7中实线所示的链路。

示例性的,A核中具有完整的地图数据(就类似于中控屏上显示的地图导航相关数据),部分地图数据(主要是转向箭头等)会通过虚拟显示屏的方式从A核传输到B核(对应图7中DSI1到Cam driver这一条线),在B核中对这部分地图数据和3D模型(例如,3D车辆模型)使用unity引擎进行叠加,目的是让3D模型和部分地图数据叠加到一个图层上来,叠加后的数据再通过虚拟显示屏的方式从B核传输到A核(对应图7中DP到Cam driver这一条线),A核调用远端屏的显示接口显示在远端屏上。

达到的显示效果包括:中控屏上显示完整的地图数据,远端屏上显示有部分地图数据和3D模型。

DMS/OMS数据的传输过程可以包括:DMS/OMS数据通过B核的QNX的相机驱动(camdriver)获取并存储到共享内存中,B核的安卓的AIS Client Lib从共享内存中读取并编码后发送到RTSP server,RTSP server获取编码后的视频流并进行压缩,通过以太网传输到A核的RTSP client,A核的camera应用可以通过V4L2拿取到视频流,以供A核的上层应用使用。

B核安卓的camera应用也可以通过V4L2(A核和B核使用同一套架构)拿取到视频流以供A核的上层应用使用。

其中,视频驱动(Video4Linux,V4L2)是Linux下关于视频采集相关设备的驱动框架,为驱动和应用程序提供了一套统一的接口规范。

下面,对A、B核的部分软硬件架构进行说明。

参考图8所示的内容,包括A核801、B核802。其中,A核801包括QNX操作系统8011、安卓Android操作系统8012以及虚拟机(Hypervisor)8013。B核802包括QNX操作系统8021、安卓Android操作系统8022以及虚拟机(Hypervisor)8023。

其中,B核802的QNX操作系统8021包括:WFD_Client80211、WFD_Server80212,WFD_Server80212中的外接接口与A核801连接。B核802的虚拟机(Hypervisor)8023通过HAB、WFD_BE反馈至WFD_Client80211。

B核802的安卓操作系统8022包括:APP80221、Fwk80222、hardwarecomposer80223、UHAB80224。其中,UHAB80224与Hypervisor8023连接。

A核801的QNX操作系统8011包括:Cluster APP80111、显示屏80112、WFD_Client80113、WFD_Server80114,WFD_Server80114中的外接接口分别与B核801、中控屏803、远端屏804连接。A核801的虚拟机(Hypervisor)8013通过HAB、WFD_BE反馈至WFD_Client80113。

A核801的安卓操作系统8012包括:APP80121、Fwk80122、hardwarecomposer80123、UHAB80124。其中,UHAB80124与Hypervisor8013连接。

下面,对A、B核各操作系统的处理分工进行说明。

通过B核接收视频数据后,通过B核安卓系统的处理包括:数据的转发(通过以太网或者视频链路进行转发),将视频数据等传输给A核。

通过B核QNX系统的处理包括:基于视频数据做人脸识别、手势识别等处理。

通过A核安卓系统的处理包括:基于视频数据等做应用层的处理,例如拍照等应用的处理。

通过A核QNX系统的处理包括:将处理后的视频数据传输给中控屏、远端屏进行显示。

下面,对地图数据在A、B和不同操作系统中的处理过程进行说明。

其中,在车辆中控屏上显示完整的地图数据(路网,车道指引等),在车辆的远端屏上只显示部分地图数据(如车道指引数据)。

包括:车辆的中控屏采用现有方式显示地图完整数据。A核对地图应用的地图完整数据中的车道指引数据和其他数据进行区分,A核的QNX系统将车道指引数据存储至共享内存,A核的安卓系统在共享内存中读取车道指引数据,并将车道指引数据发送到B核的安卓系统,B核的QNX系统道指引数据、仪表数据,车辆行程数据等进行图层叠加,通过B核的安卓系统发送给A核,A将叠加后的地图数据发送至在车辆的远端屏上进行显示。

第二方面,本申请实施例提供了一种域控制器,所述域控制器包括第一处理器和第二处理器;

所述第一处理器用于:通过第一服务将目标数据流存储至第一共享内存;所述第一服务运行于所述第一处理器上的第一操作系统;通过第二服务从所述第一共享内存中获取所述目标数据流;所述第二服务运行与所述第一处理器上的第二操作系统;通过所述第二服务将所述目标数据流进行编码与压缩后发送至第三服务,以供所述第二处理器使用;其中,所述第三服务运行于所述第二处理器上的第二操作系统。。

在一些实施例中,第一处理器还用于:通过第四服务调用所述目标数据流,以供所述第一处理器上与所述目标数据流相关的业务应用使用;其中,所述第四服务运行于所述第一处理器上第一操作系统或者第二操作系统。

在一些实施例中,所述第一操作系统包括:QNX操作系统或者UNIX操作系统;所述第二操作系统包括:安卓操作系统、苹果操作系统或者鸿蒙操作系统。

在一些实施例中,在所述第一处理器为子处理器,所述子处理器与乘客监控系统OMS和/或驾驶员监控系统DMS的摄像头连接的情况下,所述目标数据流包括视频数据,

第一处理器还用于执行:

通过所述第一服务采集所述OMS和/或所述DMS的摄像头的所述视频数据;通过所述第一服务将所述视频数据存储至所述第一共享内存。

在一些实施例中,在所述第一处理器为主处理器,所述第二处理器为子处理器,所述目标数据流包括第一地图数据的情况下,在第一处理器(主处理器)执行完将所述目标数据流进行处理后发送至第三服务之后,第二处理器(子处理器)用于执行:

通过所述第三服务将所述第一地图数据存储至第二共享内存;通过第五服务从所述第二共享内存中获取所述第一地图数据;并将所述第一地图数据与辅助数据进行叠加,以得到第二地图数据;所述第五服务运行于所述子处理器上的第一操作系统;所述第五服务将所述第二地图数据进行处理后发送至第六服务,以基于所述第六服务将所述第二地图数据发送至远端屏进行显示;所述第六服务运行于所述主处理器上的第一操作系统。

在一些实施例中,所述第一地图数据包括车道指引数据;所述辅助数据包括以下至少一项:车模数据、仪表数据以及行程数据。

在一些实施例中,第一处理器或者第二处理器还用于:检测所述目标数据流的分辨率,以及传输速率;判断所述目标数据流的分辨率是否小于分辨率阈值,传输速率是否小于传输速率阈值;

在所述目标数据流的分辨率小于所述分辨率阈值,且传输速率小于所述传输速率阈值的情况下,第一处理器执行所述第一服务将目标数据流存储至第一共享内存。

需要说明的是,本申请实施例提供的数据处理装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

第三方面,本申请实施例提供一种车辆设备,所述车辆设备包括域控制器,所述域控制器包括第一处理器、第二处理器和存储器,所述存储器上存储有计算机程序,在所述计算机程序被所述第一处理器和/或第二处理器执行时,实现上述实施例中第一方面所提供的数据处理方法中的步骤。

第四方面,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据处理方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种数据处理方法及装置、一种计算设备及存储介质
  • 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
  • 一种数据处理方法、装置、设备及存储介质
  • 一种调用链数据的处理方法、装置、设备及存储介质
  • 一种数据处理方法、电子设备及存储介质
  • 数据处理方法、装置、域控制器以及存储介质
  • 一种压疮预防的检测与处理系统及其方法
技术分类

06120116484426