车辆的远程驾驶系统、方法、电子设备及存储介质与流程

文档序号:25956462发布日期:2021-07-20 17:15阅读:89来源:国知局
车辆的远程驾驶系统、方法、电子设备及存储介质与流程

本发明涉及车辆远程控制技术领域,特别是涉及一种车辆的远程驾驶系统和一种车辆的远程驾驶方法、一种电子设备以及一种计算机可读存储介质。



背景技术:

随着车辆工业的变革,智能化和网联化成为发展车辆的重要因素,对于发展智能交通系统和智慧城市来说也是必不可少的一环。其中,远程驾驶是车辆智能化、网联化的产物。远程驾驶是把多路车载摄像头拍摄到的视频流以及车况等信息通过互联网传输到远端的驾驶座舱中,并实时还原显示出车辆四周视频场景,仪表屏将车况展示给驾驶员,然后驾驶员根据这些信息做出判断,控制模拟驾驶台,最后模拟驾驶台将控制指令通过互联网发送至车端,实现对车辆的同步控制。

对于乘用车的远程驾驶过程中,由于车辆处于高速移动状态,车辆所处场景变化快、复杂性高,车辆的远程控制难度较大。相比于实时远程监控、工程车辆的远程驾驶、实时远程医疗等实时远程应用,乘用车的远程控制对网络可靠性有更高的要求,并且视频场景由于变化较大,视频流传输也更大。然而在车辆的远程控制过程中,无法保证网络稳定,也存在数据丢包、延时等情况导致数据流传输的实时性和可靠性差的问题。



技术实现要素:

本发明实施例提供了一种车辆的远程驾驶系统、方法、电子设备以及计算机可读存储介质,以解决或部分解决现有技术中车辆的远程驾驶过程中存在网络不稳定、数据流传输实时性和可靠性低的问题。

为了解决上述问题,本发明实施例公开了一种车辆的远程驾驶系统,所述远程驾驶系统至少包括车端、至少两个网络接入网关以及座舱端;其中,所述车端配置有与所述网络接入网关对应的组播ip地址,各个所述网络接入网关配置有与所述座舱端对应的目标ip地址,所述座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接。

可选地,所述车端,用于对所采集的视频帧进行切片,生成视频分片,并基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关。

可选地,所述网络接入网关,用于对所述视频分片进行地址转换,并基于所述目标ip地址将所述视频分片发送至所述座舱端。

可选地,所述座舱端,用于基于各个所述目标ip地址接收所述网络接入网关发送的视频分片,并对所述视频分片进行组包,生成视频帧;确定与所述视频帧对应的控制指令,控制所述车端执行与所述控制指令对应的远程驾驶操作。

可选地,所述车端至少包括若干个传感器、自动驾驶单元以及车载中央网关;其中,

所述传感器,用于采集与所述车端对应的视频帧,并将所述视频帧传输至所述自动驾驶单元;

所述自动驾驶单元,用于对所述视频帧进行切片,生成至少一个视频分片;将所述视频分片的目的地址配置为所述组播ip地址;

所述车载中央网关,用于基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关。

可选地,所述网络接入网关,用于将所述视频分片的组播ip地址转换为所述目标ip地址,并基于所述目标ip地址将所述视频分片发送至所述座舱端。

可选地,所述座舱端至少包括:

所述视频分片接收模块,用于基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

所述视频分片处理模块,用于根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

所述视频帧组包模块,用于同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

所述控制指令确定模块,用于采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令。

本发明实施例还公开了一种用于车辆远程驾驶的车端,所述车端配置有组播ip地址,所述组播ip地址用于与网络接入网关进行通信;其中,

所述车端,用于获取与所述车端对应的视频帧,并对所述视频帧进行切片,生成视频分片;将所述视频分片的目的地址配置为所述组播ip地址,并基于所述组播ip地址将所述视频分片发送至各个网络接入网关;接收针对所述视频分片的控制指令,执行与所述控制指令对应的远程驾驶操作。

本发明实施例还公开了一种用于车辆远程驾驶的网关组,所述网关组包括至少两个与车端通信连接的网络接入网关,所述网络接入网关配置有目标ip地址,所述目标ip地址用于与座舱端进行通信;其中,

所述网络接入网关,用于获取所述车端发送的视频分片,所述视频分片的目的地址为组播ip地址;将所述视频分片的组播ip地址转换为所述目标ip地址,并基于所述目标ip地址将所述视频分片发送至所述座舱端;接收所述座舱端发送的针对所述视频分片的控制指令,并将所述控制指令发送至所述车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

本发明实施例还公开了一种用于车辆远程驾驶的座舱端,所述座舱端与至少两个网络接入网关通信连接;其中,

所述座舱端,用于获取至少两个网络接入网关同时发送的视频分片,并对各个所述网络接入网关发送的视频分片进行组包,生成所述视频帧;确定与所述视频帧对应的控制指令,将所述控制指令发送至车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

可选地,所述座舱端包括:

视频分片获取模块,用于基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

视频分片处理模块,用于根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

视频帧生成模块,用于同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

控制指令确定模块,用于采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令。

本发明实施例还公开了一种车辆的远程驾驶方法,应用于远程驾驶系统,所述远程驾驶系统至少包括车端、至少两个网络接入网关以及座舱端;其中,所述车端配置有与所述网络接入网关对应的组播ip地址,各个所述网络接入网关配置有与所述座舱端对应的目标ip地址,所述座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,所述方法包括:

所述车端对所采集的视频帧进行切片,生成视频分片,并基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关;

各个所述网络接入网关同时对所述视频分片进行地址转换,并通过基于所述目标ip地址将所述视频分片发送至所述座舱端;

所述座舱端基于各个所述目标ip地址接收所述网络接入网关发送的视频分片,并对所述视频分片进行组包,生成视频帧;确定与所述视频帧对应的控制指令,控制所述车端执行与所述控制指令对应的远程驾驶操作。

可选地,所述车端对所采集的视频帧进行切片,生成视频分片,并基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关,包括:

所述车端采集与所述车端对应的视频帧,并将所述视频帧传输至所述自动驾驶单元;

所述车端对所述视频帧进行切片,生成至少一个视频分片;将所述视频分片的目的地址配置为所述组播ip地址;

所述车端基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关。

可选地,所述各个所述网络接入网关同时对所述视频分片进行地址转换,并通过基于所述目标ip地址将所述视频分片发送至所述座舱端,包括:

各个所述网络接入网关同时将所述视频分片的组播ip地址转换为所述目标ip地址,并基于所述目标ip地址将所述视频分片发送至所述座舱端。

可选地,所述座舱端基于各个所述目标ip地址接收所述网络接入网关发送的视频分片,并对所述视频分片进行组包,生成视频帧;确定与所述视频帧对应的控制指令,控制所述车端执行与所述控制指令对应的远程驾驶操作,包括:

所述座舱端基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

所述座舱端根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

所述座舱端同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

所述座舱端采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令;

所述座舱端将所述控制指令发送至所述车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

本发明实施例还公开了一种车辆的远程驾驶方法,应用于车端,所述方法包括:

获取与所述车端对应的视频帧;

对所述视频帧进行切片,生成视频分片;

将所述视频分片发送至各个网络接入网关;

接收针对所述视频帧的控制指令,并执行与所述控制指令对应的远程驾驶操作。

可选地,所述车端配置有与所述网络接入网关对应的组播ip地址,所述将所述视频分片发送至各个网络接入网关,包括:

将所述视频分片的目的地址配置为所述组播ip地址,并基于所述组播ip地址将所述视频分片发送至各个网络接入网关。

本发明实施例还公开了一种车辆的远程驾驶方法,应用于网络接入网关,所述网络接入网关配置有与座舱端对应的目标ip地址,所述方法包括:

获取车端发送的视频分片,所述视频分片的目的地址为组播ip地址;

将所述视频分片的组播ip地址转换为所述目标ip地址,并基于所述目标ip地址将所述视频分片发送至所述座舱端;

接收所述座舱端发送的针对所述视频分片的控制指令;

将所述控制指令发送至所述车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

本发明实施例还公开了一种车辆的远程控制方法,应用于座舱端,所述方法包括:

获取至少两个网络接入网关同时发送的视频分片;

对各个所述网络接入网关发送的视频分片进行组包,生成所述视频帧,并确定与所述视频帧对应的控制指令;

将所述控制指令发送至车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

可选地,所述座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,所述对各个所述网络接入网关发送的视频分片进行组包,生成所述视频帧,并确定与所述视频帧对应的控制指令,包括:

基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令。

本发明实施例还公开了一种电子设备,包括:

一个或多个处理器;和

存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上所述的方法。

本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的方法。

本发明实施例包括以下优点:

在本发明实施例中,远程驾驶系统可以包括车端、至少两个网络接入网关以及座舱端,其中,车端配置有与网络接入网关对应的组播ip地址,各个网络接入网关配置有与座舱端对应的目标ip地址,座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,在车辆的远程驾驶过程中,车端可以对视频帧进行分片并基于组播ip地址发送至各个网络接入网关,接着各个网络接入网关可以对视频分片进行目的地址的转换,并基于转换后的ip地址将视频分片发送至座舱端,通过先分片再多路传输的方式对视频帧进行处理,减小了数据传输单元,利用数据冗余的方式保证了数据流传输的实时性与可靠性,并且,通过多个网络接入网关保证了传输网络的稳定性。

附图说明

图1是本发明实施例中提供的一种车辆的远程驾驶方法的结构框图;

图2是本发明实施例中提供的远程驾驶系统的示意图;

图3是本发明实施例中提供的车端的硬件架构示意图;

图4是本发明实施例中提供的数据架构示意图;

图5是本发明实施例中提供的一种车辆的远程驾驶方法的步骤流程图;

图6是本发明实施例中提供的一种车辆的远程驾驶方法的步骤流程图;

图7是本发明实施例中提供的一种车辆的远程驾驶方法的步骤流程图;

图8是本发明实施例中提供的一种车辆的远程驾驶方法的步骤流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

作为一种示例,随着5g移动通信网络的快速发展,其高速率、低时延以及大连接的特点,十分适合基于5g网络的远程自动驾驶的应用落地。远程驾驶是车辆智能化、网联化的产物。远程驾驶是把多路车载摄像头拍摄到的视频流以及车况等信息通过互联网传输到远端的驾驶座舱中,并实时还原显示出车辆四周视频场景,仪表屏将车况展示给驾驶员,然后驾驶员根据这些信息做出判断,控制模拟驾驶台,最后模拟驾驶台将控制指令通过互联网发送至车端,实现对车辆的同步控制。

其中,在车辆的远程驾驶过程中,由于车辆高速移动以及场景多变等情况,车辆的远程控制对网络可靠性、数据传输稳定性等有更高的要求,需要保证数据传输过程中网络稳定,避免数据出现丢包、延时等情况。

对此,本发明实施例的核心发明点之一在于构建针对车辆的远程驾驶系统,该系统可以包括车端、若干个网络接入网关,以及分别与各个网络接入网关通信连接的座舱端,从而在车辆的远程驾驶过程中,车端先对视频帧进行切片,生成视频分片,接着发送至各个网络接入网关,由网络接入网关对视频帧进行目的地址的转换,再发送至座舱端,座舱端接收到不同网络接入网关发送的视频分片后,进行视频帧的组包,并确定与视频帧对应的控制指令,以便车端执行与控制指令对应的驾驶操作,通过车端与至少两个网络接入网关进行通信连接,使得车端可以对视频帧进行分片后通过多路通道传输至座舱端,一方面通过若干个网络接入网关保证了网络的稳定性,另一方面通过先分片、多路传输以及组包等方式对视频帧进行处理,在减小传输数据单元的情况下,保证了数据流传输的实时性与可靠性。

具体的,参照图1,示出了本发明实施例提供的一种车辆的远程驾驶系统的结构框图,远程驾驶系统具体可以包括:车端、至少两个网络接入网关以及座舱端;其中,所述车端配置有与所述网络接入网关对应的组播ip地址,各个所述网络接入网关配置有与所述座舱端对应的目标ip地址,所述座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接;

车端,用于对所采集的视频帧进行切片,生成视频分片,并基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关;

网络接入网关,用于对所述视频分片进行目的地址转换,并通过转换后的目标ip地址将所述视频分片发送至所述座舱端;

座舱端,用于基于各个所述目标ip地址接收所述网络接入网关发送的视频分片,并对所述视频分片进行组包,生成视频帧;根据所述视频帧控制所述车端执行对应的驾驶操作。

在本发明实施例中,参照图2,示出了本发明实施例中提供的远程驾驶系统的示意图,车端可以需要进行远程控制的车辆,车端可以包括若干个传感器、自动驾驶单元、中央网关以及网络接入网关等,其中,传感器可以用于对车辆实时行驶过程中相关环境参数进行采集,自动驾驶单元可以对传感器所采集的环境参数进行处理,并将处理结果传输至中央网关,由中央网关发送至网络接入网关;网络接入网关可以为设置于车端中用于车端连接外部网络的5g通信模块,一方面与车端的中央网关通信连接,实现车端的内部通信,另一方面通过5g空口与运营商的接入网、互联网等相互连接,以便车端将数据传输至云端;座舱端可以为云端处理设备,可以对车端发送的数据进行处理,还原车辆实际所处的车辆场景,以便针对车辆场景确定相应的控制指令,并控制车辆执行对应的远程驾驶操作。

可选地,对于网络接入网关,可以配置有dnat(destinationnetworkaddresstranslation,目的地址转换)规则,实现对ip地址为目标地址的报文进行dnat转换,以转换至与座舱端对应的ip地址,从而当车端发送的多播报文到达网络接入网关时,可以被若干个独立的通信通道传输至座舱端,以便座舱端进行相应的处理。需要说明的是,网络接入网关还可以是位于车端外部的独立网关,车端可以通过中央网关与外部的网络接入网关建立通信连接,以接入车端外部的网络,本发明对此不作限制。

对于车端,传感器可以包括雷达传感器、红外传感器、微波传感器以及摄像头等等,则在远程驾驶的过程中,车端可以通过摄像头采集车辆周围的图像数据,得到相应的视频帧,接着对各个视频帧进行切片,生成与每一个视频帧对应的至少一个视频分片,然后将每一个视频分片的目的地址配置为组播ip地址,并基于组播ip地址将视频分片发送至各个网络接入网关,以便网络接入网关将视频分片发送至座舱端。例如,参照图3,示出了本发明实施例中提供的车端的硬件架构示意图,在车端中可以包括摄像头、超声波雷达、毫米波雷达、激光雷达等传感器,以及底盘、车身控制器,自动驾驶单元、中央网关、域控制器、车载信息娱乐系统等,以及至少两个5g模块,从而车端可以通过各种传感器采集对应的环境数据,如视频帧等,然后进行切片,并通过5g模块发送至座舱端,实现车辆的远程驾驶。

在一种示例中,车端的自动驾驶单元可以实时接收各个摄像头传输的视频帧,并通过硬件编码器对每一个视频帧进行h265编码,然后对视频帧进行分片,使之符合udp(userdatagramprotocol,用户数据包协议)数据传输大小的要求。对于视频分片,其可以包括摄像头id、时间戳、分片序号、帧标识、分片标记以及视频数据长度等字段,并且来自同一个视频帧的视频分片可以拥有相同的帧标识。

其中,摄像头id可以用于区分车端不同的摄像头;时间戳可以为每个视频分片传输至中央网关时,自动驾驶单元记录的时间,单位可以为毫秒级,可以用于对视频分片进行监控统计;帧标识(vframeid)可以为视频帧的唯一标识,对于同一个摄像头,每发送一个视频帧,则帧标识累积加1,实现对视频帧的监控统计,并且,相邻两帧之间的时间间隔可以为5ms;分片序号可以为视频分片的排列序号,对于同一个摄像头,自动驾驶单元每生成一个视频分片,则分片序号累积加1,实现对视频分片的监控统计;分片标记可以用于区分视频分片属于视频帧的头部、中间以及末尾分片,例如,“0”表示不分片,即一个视频帧为一个视频分片;“1”表示视频分片为视频帧的头部分片,即第一个视频分片;“2”表示视频分片为视频帧的中间分片;“3”表示视频分片为视频帧的末尾分片,即最后一个视频分片,在通常情况下,可以将一个视频帧切片为头部分片、至少一个中间分片以及末尾分片等。

当自动驾驶单元对视频帧分片完毕后,可以将视频分片通过多播的方式,对每个视频分片的目的ip设置为组播ip地址,接着通过中央网关发送至各个5g通信模块,以便5g通信模块进行地址转换并传输至座舱端。例如,对于车端发送的视频分片,其源地址可以为车端的ip地址:111.11.1.10,目标地址可以为组播ip地址:222.22.2.10,组播ip地址可以分别对应于5g通信模块的接收地址,从而车端可以通过中央网关将视频分片传输至5g通信模块,并且通过对视频帧进行分片,可以减少数据传输的大小,提高数据传输的稳定性以及可靠性。

在本发明实施例中,各个网络接入网关中可以配置有与座舱端对应的ip地址,且不同的网络接入网关对应于座舱端中不同的ip地址,从而当网络接入网关接收到车端通过中央网关发送的视频分片后,可以进行dnat转换,将视频分片的目的地址转换为座舱端对应的ip地址,然后基于转换后的ip地址将视频分片发送至座舱端,座舱端基于各个目标ip地址接收各个网络接入网关发送的视频分片,并对视频分片进行组包,生成视频帧,并确定与视频帧对应的控制指令。

在具体实现中,为了将视频分片同时经过多个独立的5g通道发送至座舱端,可以将各个5g通信模块组成一个组播组,每个5g节点均配置了与座舱端对应的静态组播ip地址,使得车端将视频分片发送至组播ip地址之后,经过中央网关的二组组播转发后,传输至各个5g节点,从而车端至需要发送一份视频数据,而且在多份视频数据完全相同的情况下,可以有效降低cpu的消耗,提高传输效率,并且相比于单播,组播的传输更加高效,可以节省网络带宽,降低网络负载。

在一种示例中,参照图4,示出了本发明实施例中提供的数据架构示意图,车端的自动驾驶单元实时接收各个传感器传输的视频帧,并通过硬件编码器对每一个视频帧进行h265编码,然后进行分片,得到视频分片。接着车端可以将视频分片的报文通过多播方式,传输至各个5g通信模块,目的地址为组播ip地址:222.22.2.10。对于5g通信模块①中可以配置有与座舱端对应的ip地址①:111.11.1.11,对于5g通信模块②中可以配置有与座舱端对应的ip地址②:111.11.1.12,则各个5g通信模块接收到视频分片后可以进行dnat转换,对目的地址为组播ip地址的报文分别转换为座舱端的ip地址①与ip地址②,从而当多播报文到达5g通信模块时,可以通过两个独立的5g通道将视频分片转换至座舱端,座舱端接收到各个5g通信模块发送的视频分片后,可以对属于同一帧标识的视频分片进行组包,以还原对应的视频帧,进而进行控制指令的确定,实现车辆的远程控制。

在本发明的一种可选实施例中,座舱端至少包括视频分片接收模块、视频分片处理模块、视频帧组包模块以及控制指令确定模块;其中,

视频分片接收模块,用于基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

视频分片处理模块,用于根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

视频帧组包模块,用于同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

控制指令确定模块,用于采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令。

可选地,对于视频分片,由于各个网络接入网关传输的是同一份视频数据,则座舱端可以基于多路5g通道接收到冗余视频数据,从而座舱端可以对冗余的视频数据进行组包,还原车端发送的视频帧。在进行视频分片的组包过程中,座舱端需要对冗余的视频分片进行去重处理,包括在视频帧组包完成后到达的视频分片,以及在视频帧组包完成前到达的视频分片,座舱端可以根据具体的情况进行对应视频分片处理,以还原对应的视频帧。

座舱端在进行视频分片的组包过程中,可以预先设置若干个分片集合,同一个分片集合用于存储同一视频帧的视频分片,分片集合可以为在座舱端中预设的缓冲队列。具体的,由于udp传输乱序的存在,前一个视频帧的末尾分片可能会晚于后一个视频帧的头部分片到达座舱端,出现数据传输的延时情况,因此,在针对同一个摄像头数据的接收处理过程中,设置多个分片集合,同时对多个视频帧进行组包。可选地,可以设置3个分片集合,允许同时进行3个视频帧的组包过程,对于某一个视频分片,可以采用帧标识模上3,即vframeid%3,确定该视频分片应该选用哪个分片集合进行组包,例如,当帧标识为1时,表示视频分片属于第一帧视频帧,则可以存储于分片集合①进行视频组包;当帧标识为2时,表示视频分片属于第二帧视频帧,则可以存储于分片集合②进行视频组包;当帧标识为3时,表示视频分片属于第三帧视频帧等等,从而通过多个分片集合对多个视频帧同时进行组包,有效提高了视频帧的组包效率。

需要说明的是,座舱端在进行视频帧的组包过程中,针对同一个摄像头的视频帧,可以通过多个分片集合同时进行组包,并且每一个摄像头所对应的视频帧组包方式,均可以参考上述过程,在此不再赘述,以下将以座舱端对一个分片集合中的视频帧组包过程进行示例性说明。

座舱端在存储视频分片之前,可以先对所要存储的分片集合进行判断,以确定所要存储的分片集合中是否有残留数据,具体的,若所要存储的分片集合为空集合,则获取首个添加至分片集合的视频分片的第一时间戳,将第一时间戳对应的时间点作为分片集合的组包开始时间,并将目标帧标识作为分片集合的集合标识。若预设的分片集合为非空集合,则获取分片集合对应的集合标识,以及确定当前视频分片与分片集合的时间差;若目标帧标识与集合标识属于不同帧标识,且时间差大于第一预设帧间隔,则清除分片集合的历史视频分片;获取首个添加至分片集合的视频分片的第一时间戳,将第一时间戳对应的时间点作为分片集合的组包开始时间,并将目标帧标识作为分片集合的集合标识。若目标帧标识与集合标识属于相同帧标识,且时间差大于第二预设帧间隔,则清除分片集合的历史视频分片;获取首个添加至分片集合的视频分片的第一时间戳,将第一时间戳对应的时间点作为分片集合的组包开始时间,并将目标帧标识作为分片集合的集合标识。

对于分片集合,其集合标识即为当前所存储的视频分片所属的视频帧对应的帧标识,则在分片集合为空集合的情况下,表示分片集合未存储任何视频分片,可以记录首个存储于分片集合中的视频分片所属的帧标识,将该帧标识作为分片集合的集合标识vframeid,并记录视频分片的时间戳,作为分片集合的组包开始时间t_start;若分片集合为非空集合,则分片集合中可能存储有与本次视频分片属于同一个视频帧(即vframeid)的视频分片,也可能存储前面某一个未完成组包的视频帧的视频分片,属于残留数据,因此,若帧标识不相同的情况下,则可以获取当前视频分片的第二时间戳,以及分片集合的组包开始时间,计算两者的时间差,若时间差大于第一预设帧间隔(第一预设帧间隔可以为3个帧间隔,与分片集合的数量对应),则可以判定分片集合中的视频分片为残留数据,清除残留数据,更新分片集合的集合标识以及组包开始时间,存储当前的视频分片;若帧标识相同的情况下,同样可以计算对应的时间差,若时间差大于第二预设帧间隔(第二预设帧间隔可以为256个帧间隔,表示回环),则可以判定分片集合中的视频分片为残留数据,清除残留数据,更新分片集合的集合标识以及组包开始时间,存储当前的视频分片,从而通过对分片集合中的视频分片进行检查,主动清理过期视频分片或组包失败的视频分片,并且在处理新视频分片的过程中,顺带进行检查后清理,有效提高了分片集合的检查效率以及视频帧组包效率。

在分片集合进行组包的过程中,可以按照视频分片的分片号,将不同网络接入网关发送的属于同一帧标识的视频分片,添加至与帧标识对应的分片集合中,例如,对于网络接入网关①传输视频分片a1、a2、a3…,网络接入网关②传输视频分片b1、b2、b3…等,两者传输的为同一份视频帧数据,则对于同一个分片集合,可以按照分片序号由小到大的顺序,依次存储a1b1a2b2a3b3…等视频分片,可选地,在分片集合中对相同的视频分片仅会存储一个,如对于视频分片a1与视频分片b1,可以根据两者到达的先后顺序,将后到的视频分片进行丢弃,从而利用视频分片的冗余性,可以有效保证远程控制过程中数据的完整性,同时对冗余的数据及时进行处理,降低存储空间的开销。

在本发明实施例中,分片集合可以采用链表或数组的方式对视频分片进行组包处理,若采用链表形式,则座舱端可以获取各个分片集合中视频分片的分片标记,以及分片指针信息,若视频分片的分片标记包含末尾标记,且分片指针信息指向最后一个视频分片,表示视频帧所对应的视频分片已经缓存完毕,则对分片集合中的视频分片进行组包,生成对应的视频帧。若采用数组形式,则座舱端可以获取各个分片集合中各个视频分片的分片标记,若分片标记包含头部标记以及末尾标记,则计算视频分片中最大分片序号与最小分片序号之间的差值;若差值与分片集合中视频分片的数量相同,表示视频帧所对应的视频分片已经缓存完毕,则对分片集合中各个视频分片进行组包,生成与分片集合对应的视频帧。

此外,座舱端在对分片集合中所有的视频分片组包完毕后,可以获取分片集合中最后一个视频分片的目标分片序号,并将目标分片序号作为分片集合的比对分片序号,清除分片集合中的视频分片,并返回接收各个网络接入网关发送的视频分片的步骤,继续对下一个视频帧进行组包处理,从而通过车端与至少两个网络接入网关进行通信连接,使得车端可以对视频帧进行分片后通过多路通道传输至座舱端,一方面通过若干个网络接入网关保证了网络的稳定性,另一方面通过先分片、多路传输以及组包等方式对视频帧进行处理,在减小传输数据单元的情况下,保证了数据流传输的实时性与可靠性。

在一种示例中,分片集合可以采用链表的方式对视频分片进行缓存,则针对链表形式的分片集合,可以设置一个ready指针,用于标识从第一个视频分片(链表头部)到此指针位置为已经完整的序列,即如果新到达的视频分片的分片序号不大于ready指针所指位置的分片序号,表示新到达的视频分片属于重复分片,直接进行丢弃。基于链表形式的视频分片接收过程,大概率的情况可以为视频分片是以理想的a1b1a2b2a3b3…的方式到达,即有序且相邻重复,所以如果未被快速丢弃,每次尝试插入和检查重复总是优先在链表尾部,然后才用从头遍历的方式。当检查到重复则丢弃,否则按照序号从小到大插入到链表中。具体的,在接收视频分片的过程中,如果头部分片(分片标记为1)已经收到,且当前插入到链表中的分片的序号和其前一个节点的序号刚好衔接,则从ready指针从当前位置向后移动并检查,直到遇到序号不连续的节点,当末尾分片(分片标记为3)已经收到,且ready指针指向了最后一个视频分片时,表示该分片集合中的视频分片已经接收完整,可以进行视频帧的组包,生成对应的视频帧,以便座舱端根据视频帧确定对应的控制指令。

在另一种示例中,分片集合可以采用数组的方式对视频分片进行缓存,则针对数组形式的分片集合,可以根据视频帧的最大分片数设置数组长度,并确定该数组长度对应的约束条件,约束条件可以用于将第一个接收到的视频分片添加至数组中相应的位置,接着对后续的视频分片,根据视频分片的分片序号、约束条件以及数组长度,确定其在数组中的位置,并添加至对应的位置,实现视频分片的存储。若数组中已经存储有视频分片,即可确定为重复视频分片,对其进行丢弃。例如,假设视频帧的最大分片个数为100,则数组集合可以用一个长度为200的数组进行表达,其下标可以为0-199,其中100可以约束条件,则在接收视频分片的过程中,当接收到第一个视频分片时,无论其为头部分片、中间分片还是末尾分片,可以直接将其存储于下标为100的位置。当接收到后续视频分片时,可以根据其与第一个视频分片的分片序号的偏移确定其应该存储于数组中的哪个位置,即可以通过“当前视频分片的分片序号+100-第一视频分片的分片序号”确定当前视频分片的存储位置。当检测到数组中的视频分片已经存在头部标记以及末尾标记,且数组中存储的视频分片的个数等于最后一个视频分片与首个视频分片下标的差值,则表示该分片集合中的视频分片已经接收完整,可以进行视频帧的组包,生成对应的视频帧,以便座舱端根据视频帧确定对应的控制指令。

需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,本领域技术人员在本发明的思想指导下,还可以根据实际需要进行设置,本发明对此不作限制。

在具体实现中,当座舱端根据网络接入网关发送的视频分片还原出视频帧后,可以采用若干个对应的视频帧,输出车端对应的车辆环境,接着根据车辆环境,确定对应的控制指令。例如,座舱端可以展示车端当前所处的车辆环境,包括展示与车端对应的红绿灯状态、车道线、行人状态、车辆状态对应的场景等等,以便座舱端做出对应的控制指令,或由座舱端所对应的用户做出相应的控制指令等,实现车辆的远程控制。

当座舱端生成控制指令之后,可以将控制指令发送至网络接入网关,并由网络接入网关将控制指令转发至车端,车端响应于控制指令,执行对应的驾驶操作,如减速、加速、变道、超车等驾驶操作。

在本发明实施例中,远程驾驶系统可以包括车端、至少两个网络接入网关以及座舱端,其中,车端配置有与网络接入网关对应的组播ip地址,各个网络接入网关配置有与座舱端对应的目标ip地址,座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,在车辆的远程驾驶过程中,车端可以对视频帧进行分片并基于组播ip地址发送至各个网络接入网关,接着各个网络接入网关可以对视频分片进行目的地址的转换,并基于转换后的ip地址将视频分片发送至座舱端,通过先分片再多路传输的方式对视频帧进行处理,减小了数据传输单元,利用数据冗余的方式保证了数据流传输的实时性与可靠性,并且,通过多个网络接入网关保证了传输网络的稳定性。

参照图5,示出了本发明实施例提供的一种车辆的远程驾驶方法的步骤流程图,应用于远程驾驶系统,所述远程驾驶系统至少包括车端、至少两个网络接入网关以及座舱端;其中,所述车端配置有与所述网络接入网关对应的组播ip地址,各个所述网络接入网关配置有与所述座舱端对应的目标ip地址,所述座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,具体可以包括如下步骤:

步骤501,所述车端对所采集的视频帧进行切片,生成视频分片,并基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关;

步骤502,各个所述网络接入网关同时对所述视频分片进行地址转换,并通过基于所述目标ip地址将所述视频分片发送至所述座舱端;

步骤503,所述座舱端基于各个所述目标ip地址接收所述网络接入网关发送的视频分片,并对所述视频分片进行组包,生成视频帧;确定与所述视频帧对应的控制指令,控制所述车端执行与所述控制指令对应的远程驾驶操作。

在本发明的一种可选实施例中,所述车端对所采集的视频帧进行切片,生成视频分片,并基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关,包括:

所述车端采集与所述车端对应的视频帧,并将所述视频帧传输至所述自动驾驶单元;

所述车端对所述视频帧进行切片,生成至少一个视频分片;将所述视频分片的目的地址配置为所述组播ip地址;

所述车端基于所述组播ip地址将所述视频分片发送至各个所述网络接入网关。

在本发明的一种可选实施例中,所述各个所述网络接入网关同时对所述视频分片进行地址转换,并通过基于所述目标ip地址将所述视频分片发送至所述座舱端,包括:

各个所述网络接入网关同时将所述视频分片的组播ip地址转换为所述目标ip地址,并基于所述目标ip地址将所述视频分片发送至所述座舱端。

在本发明的一种可选实施例中,所述座舱端基于各个所述目标ip地址接收所述网络接入网关发送的视频分片,并对所述视频分片进行组包,生成视频帧;确定与所述视频帧对应的控制指令,控制所述车端执行与所述控制指令对应的远程驾驶操作,包括:

所述座舱端基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

所述座舱端根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

所述座舱端同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

所述座舱端采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令。

在本发明的一种可选实施例中,所述座舱端根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合之前,所述方法还包括:

若预设的分片集合为空集合,则所述座舱端获取首个添加至所述分片集合的视频分片的第一时间戳,将所述第一时间戳对应的时间点作为所述分片集合的组包开始时间,并将所述目标帧标识作为所述分片集合的集合标识。

在本发明的一种可选实施例中,所述座舱端根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合之前,所述方法还包括:

若预设的分片集合为非空集合,则所述座舱端获取所述分片集合对应的集合标识,以及确定当前视频分片与所述分片集合的时间差;

若所述目标帧标识与所述集合标识属于不同帧标识,且所述时间差大于第一预设帧间隔,则所述座舱端清除所述分片集合的历史视频分片;

所述座舱端获取首个添加至所述分片集合的视频分片的第一时间戳,将所述第一时间戳对应的时间点作为所述分片集合的组包开始时间,并将所述目标帧标识作为所述分片集合的集合标识。

在本发明的一种可选实施例中,所述方法还包括:

若所述目标帧标识与所述集合标识属于相同帧标识,且所述时间差大于第二预设帧间隔,则所述座舱端清除所述分片集合的历史视频分片;

所述座舱端获取首个添加至所述分片集合的视频分片的第一时间戳,将所述第一时间戳对应的时间点作为所述分片集合的组包开始时间,并将所述目标帧标识作为所述分片集合的集合标识。

在本发明的一种可选实施例中,所述所述座舱端确定所述视频分片与所述分片集合的时间差,包括:

所述座舱端获取当前视频分片的第二时间戳,以及所述分片集合的组包开始时间;

所述座舱端采用所述当前视频分片的第二时间戳,计算所述视频分片与所述分片集合的时间差。

在本发明的一种可选实施例中,所述座舱端根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合,包括:

所述座舱端按照所述分片序号的大小顺序,将不同网络接入网关发送的属于同一帧标识的视频分片,添加至与帧标识对应的分片集合。

在本发明的一种可选实施例中,所述座舱端根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合之后,所述方法还包括:

若同一分片集合中存在相同分片序号的视频分片,则所述座舱端从所述相同分片序号的视频分片中择一进行丢弃。

在本发明的一种可选实施例中,所述座舱端同时对若干个所述分片集合的视频分片进行组包,生成视频帧,包括:

所述座舱端获取各个所述分片集合中视频分片的分片标记,以及分片指针信息;

若所述视频分片的分片标记包含末尾标记,且所述分片指针信息指向最后一个视频分片,则所述座舱端对所述分片集合中的视频分片进行组包,生成对应的视频帧。

在本发明的一种可选实施例中,所述座舱端同时对若干个所述分片集合的视频分片进行组包,生成视频帧,包括:

所述座舱端获取各个所述分片集合中各个所述视频分片的分片标记;

若所述分片标记包含头部标记以及末尾标记,则所述座舱端计算所述视频分片中最大分片序号与最小分片序号之间的差值;

若所述差值与所述分片集合中视频分片的数量相同,则所述座舱端对所述分片集合中各个所述视频分片进行组包,生成与所述分片集合对应的视频帧。

在本发明的一种可选实施例中,所述座舱端同时对若干个所述分片集合的视频分片进行组包,生成视频帧之后,所述方法还包括:

所述座舱端获取所述分片集合中最后一个视频分片的目标分片序号,并将所述目标分片序号作为所述分片集合的比对分片序号;

所述座舱端清除所述分片集合中的视频分片,并返回接收各个所述网络接入网关发送的视频分片的步骤。

在本发明实施例中,远程驾驶系统可以包括车端、至少两个网络接入网关以及座舱端,其中,车端配置有与网络接入网关对应的组播ip地址,各个网络接入网关配置有与座舱端对应的目标ip地址,座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,在车辆的远程驾驶过程中,车端可以对视频帧进行分片并基于组播ip地址发送至各个网络接入网关,接着各个网络接入网关可以对视频分片进行目的地址的转换,并基于转换后的ip地址将视频分片发送至座舱端,通过先分片再多路传输的方式对视频帧进行处理,减小了数据传输单元,利用数据冗余的方式保证了数据流传输的实时性与可靠性,并且,通过多个网络接入网关保证了传输网络的稳定性。

参照图6,示出了本发明实施例提供的一种车辆的远程驾驶方法的步骤流程图,应用于车端,具体包括如下步骤:

步骤601,获取与所述车端对应的视频帧;

步骤602,对所述视频帧进行切片,生成视频分片;

步骤603,将所述视频分片发送至各个网络接入网关;

步骤604,接收针对所述视频帧的控制指令,并执行与所述控制指令对应的远程驾驶操作。

在本发明的一种可选实施例中,所述车端配置有与所述网络接入网关对应的组播ip地址,所述将所述视频分片发送至各个网络接入网关,包括:

将所述视频分片的目的地址配置为所述组播ip地址,并基于所述组播ip地址将所述视频分片发送至各个网络接入网关。

在本发明实施例中,在车辆的远程驾驶中,车端配置有与网络接入网关对应的组播ip地址,各个网络接入网关配置有与座舱端对应的目标ip地址,座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,则车端可以对视频帧进行分片并基于组播ip地址发送至各个网络接入网关,由各个网络接入网关可以对视频分片进行目的地址的转换,并基于转换后的ip地址将视频分片发送至座舱端,通过先分片再多路传输的方式对视频帧进行处理,减小了数据传输单元,利用数据冗余的方式保证了数据流传输的实时性与可靠性,并且,通过多个网络接入网关保证了传输网络的稳定性。

参照图7,示出了本发明实施例提供的一种车辆的远程驾驶方法的步骤流程图,应用于网络接入网关,所述网络接入网关配置有与座舱端对应的目标ip地址,具体包括如下步骤:

步骤701,获取车端发送的视频分片,所述视频分片的目的地址为组播ip地址;

步骤702,将所述视频分片的组播ip地址转换为所述目标ip地址,并基于所述目标ip地址将所述视频分片发送至所述座舱端;

步骤703,接收所述座舱端发送的针对所述视频分片的控制指令;

步骤704,将所述控制指令发送至所述车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

在本发明实施例中,在车辆的远程驾驶中,网络接入网关可以配置有与网络接入网关对应的目标ip地址,座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,则网络接入网关可以在接收到车端发送的视频分片之后,对视频分片进行目的地址的转换,并基于转换后的ip地址将视频分片发送至座舱端,通过先分片再多路传输的方式对视频帧进行处理,减小了数据传输单元,利用数据冗余的方式保证了数据流传输的实时性与可靠性,并且,通过多个网络接入网关保证了传输网络的稳定性。

参照图8,示出了本发明实施例提供的一种车辆的远程驾驶方法的步骤流程图,应用于座舱端,具体包括如下步骤:

步骤801,获取至少两个网络接入网关同时发送的视频分片;

步骤802,对各个所述网络接入网关发送的视频分片进行组包,生成所述视频帧,并确定与所述视频帧对应的控制指令;

步骤803,将所述控制指令发送至车端,所述车端用于执行与所述控制指令对应的远程驾驶操作。

在本发明的一种可选实施例中,所述座舱端通过不同的目标ip地址与不同的网络接入网关建立通信连接,所述对各个所述网络接入网关发送的视频分片进行组包,生成所述视频帧,并确定与所述视频帧对应的控制指令,包括:

基于各个所述目标ip地址接收各个所述网络接入网关发送的视频分片,并获取各个所述视频分片的分片序号以及所属视频帧的目标帧标识;

根据所述分片序号,将不同网络接入网关发送的属于同一帧标识的视频分片添加至同一个预设的分片集合;

同时对若干个所述分片集合的视频分片进行组包,生成视频帧;

采用若干个所述视频帧,输出所述车端对应的车辆环境,并确定针对所述车辆环境的控制指令。

在本发明实施例中,在车辆的远程驾驶中,座舱端可以接收不同网络接入网关发送的视频分片,接着对各个网络接入网关发送的视频分片进行组包,生成视频帧,并确定与视频帧对应的控制指令,然后将控制指令发送至车端,车端用于执行与控制指令对应的远程驾驶操作,通过先分片再多路传输的方式对视频帧进行处理,减小了数据传输单元,利用数据冗余的方式保证了数据流传输的实时性与可靠性,并且,通过多个网络接入网关保证了传输网络的稳定性。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

对于方法实施例而言,由于其与系统实施例基本相似,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。

本发明实施例还提供了一种电子设备,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。

本发明实施例还提供了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器、eeprom、flash以及emmc等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种车辆的远程驾驶系统、一种车辆的远程驾驶方法、一种电子设备以及一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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