自动驾驶仿真测试场景动画视频生成方法及相关装置与流程

文档序号:33521301发布日期:2023-03-22 06:37阅读:33来源:国知局
自动驾驶仿真测试场景动画视频生成方法及相关装置与流程

1.本技术涉及计算机仿真和仿真测试的技术领域,具体而言,涉及一种自动驾驶仿真测试场景动画视频生成方法、装置、电子设备及存储介质。


背景技术:

2.目前,在自动驾驶系统的仿真测试领域中,测试人员在预览自动驾驶系统的仿真测试场景时,通常是需要将图形素材进行渲染后才能够预览,然而,使用图形素材渲染仿真测试场景动画视频的速度比较慢,导致测试车辆模型的仿真测试场景动画视频的生成效率较低。


技术实现要素:

3.本技术实施例的目的在于提供一种自动驾驶仿真测试场景动画视频生成方法、装置、电子设备及存储介质,用于改善虚拟仿真测试场景动画视频的生成效率较低的问题。
4.本技术实施例提供了一种自动驾驶仿真测试场景动画视频生成方法,包括:获取仿真测试场景预览请求,仿真测试场景预览请求包括:场景标识;查找到场景标识对应的场景脚本,并从场景脚本中解析出场景元素标识和场景事件标识;查找场景元素标识对应的图形素材和场景事件标识对应的动画模板;执行场景脚本,以对场景标识对应的图形元素素材和场景事件标识对应的动画模板进行处理,获得仿真测试场景动画视频。在上述方案的实现过程中,通过场景脚本对场景元素标识对应的图形素材和场景事件标识对应的动画模板进行处理,从而使用了不依赖仿真渲染的方式来获得仿真测试场景动画视频,改善了使用图形素材渲染仿真测试场景动画视频的速度比较慢的情况,有效地提高了虚拟仿真测试场景动画视频的生成效率。
5.可选地,在本技术实施例中,从场景脚本中解析出场景元素标识和场景事件标识,包括:判断是否在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频;若否,则从场景脚本中解析出场景元素标识和场景事件标识。
6.可选地,在本技术实施例中,场景元素标识包括:道路网络标识和交通参与者实体标识;查找场景元素标识对应的图形素材和场景事件标识对应的动画模板,包括:从场景脚本中解析出道路网络标识和交通参与者实体标识;在素材库中查找道路网络标识对应的道路网络图形,以及交通参与者实体标识对应的交通参与者实体图形;从事件模板库中查找场景事件标识对应的动画模板。
7.可选地,在本技术实施例中,动画模板包括:交通参与者实体图形的故事板,故事板用于描述交通参与者的初始状态参数和行为变化参数;执行场景脚本,包括:根据故事板中的初始状态参数将交通参与者实体图形加载至道路网络图形中;根据故事板中的行为变化参数改变交通参与者实体图形的行为动作。
8.可选地,在本技术实施例中,对场景元素标识对应的图形素材和场景事件标识对应的动画模板进行处理,包括:判断场景事件标识对应的动画模板中是否包括组合标识;若
是,则从事件模板库中查找到组合标识对应的组合事件,并使用组合事件对场景标识对应的图形素材进行处理。在上述方案的实现过程中,通过从事件模板库中查找到组合标识对应的组合事件,并使用组合事件对场景标识对应的图形素材进行处理,从而改善了使用图形素材渲染仿真测试场景动画视频的速度比较慢的情况,有效地提高了虚拟仿真测试场景动画视频的生成效率。
9.可选地,在本技术实施例中,在从事件模板库中查找到组合标识对应的组合事件之前,还包括:获取多个场景事件,并将多个场景事件进行组合,获得组合事件;将组合事件存储至事件模板库中。在上述方案的实现过程中,通过将多个场景事件组合后的组合事件存储至事件模板库中,以使得组合事件能够对图形素材进行处理,从而改善了使用图形素材渲染仿真测试场景动画视频的速度比较慢的情况,有效地提高了虚拟仿真测试场景动画视频的生成效率。
10.可选地,在本技术实施例中,获取仿真测试场景预览请求,包括:接收仿真设备发送的仿真测试场景预览请求;在获得仿真测试场景动画视频之后,还包括:生成仿真测试场景动画视频的预览链接,并向仿真设备发送预览链接,以使仿真设备点击预览链接播放仿真测试场景动画视频。
11.本技术实施例还提供了一种自动驾驶仿真测试场景动画视频生成装置,包括:预览请求获取模块,用于获取仿真测试场景预览请求,仿真测试场景预览请求包括:场景标识;场景脚本解析模块,用于查找到场景标识对应的场景脚本,并从场景脚本中解析出场景元素标识和场景事件标识;动画模板查找模块,用于查找场景元素标识对应的图形素材和场景事件标识对应的动画模板;动画视频获得模块,用于执行场景脚本,以对场景元素标识对应的图形素材和场景事件标识对应的动画模板进行处理,获得仿真测试场景动画视频。
12.可选地,在本技术实施例中,场景脚本解析模块,包括:视频获取判断子模块,用于判断是否在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频;场景标识解析子模块,用于若没有在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频,则从场景脚本中解析出场景元素标识和场景事件标识。
13.可选地,在本技术实施例中,场景元素标识包括:道路网络标识和交通参与者实体标识;动画模板查找模块,包括:场景脚本解析子模块,用于从场景脚本中解析出道路网络标识和交通参与者实体标识;图形素材查找子模块,用于在素材库中查找道路网络标识对应的道路网络图形,以及交通参与者实体标识对应的交通参与者实体图形;动画模板查找子模块,用于从事件模板库中查找场景事件标识对应的动画模板。
14.可选地,在本技术实施例中,动画模板包括:交通参与者实体图形的故事板,故事板用于描述交通参与者的初始状态参数和行为变化参数;动画视频获得模块,包括:实体图形加载子模块,用于根据故事板中的初始状态参数将交通参与者实体图形加载至道路网络图形中;行为动作改变子模块,用于根据故事板中的行为变化参数改变交通参与者实体图形的行为动作。
15.可选地,在本技术实施例中,动画视频获得模块,包括:组合标识判断子模块,用于判断场景事件标识对应的动画模板中是否包括组合标识;图形素材处理子模块,用于若场景脚本中包括组合标识,则从事件模板库中查找到组合标识对应的组合事件,并使用组合事件对场景标识对应的图形素材进行处理。
16.可选地,在本技术实施例中,自动驾驶仿真测试场景动画视频生成装置,还包括:组合事件获得子模块,用于获取多个场景事件,并将多个场景事件进行组合,获得组合事件;组合事件存储子模块,用于将组合事件存储至事件模板库中。
17.可选地,在本技术实施例中,自动驾驶仿真测试场景动画视频生成装置,还包括:预览请求接收模块,用于接收仿真设备发送的仿真测试场景预览请求;链接生成发送模块,用于生成仿真测试场景动画视频的预览链接,并向仿真设备发送预览链接,以使仿真设备点击预览链接播放仿真测试场景动画视频。
18.本技术实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
19.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
20.本技术实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。
附图说明
21.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1示出的本技术实施例提供的自动驾驶仿真测试场景动画视频生成方法的流程示意图;图2示出的本技术实施例提供的处理图形素材的实施示意图;图3示出的本技术实施例提供的点击预览链接播放仿真测试场景动画视频的流程示意图;图4示出的本技术实施例提供的自动驾驶仿真测试场景动画视频生成装置的结构示意图;图5示出的本技术实施例提供的电子设备的结构示意图。
具体实施方式
23.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术实施例中的附图仅起到说明和描述的目的,并不用于限定本技术实施例的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术实施例中使用的流程图示出了根据本技术实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术实施例内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
24.另外,所描述的实施例仅仅是本技术实施例的一部分,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因
此,以下对在附图中提供的本技术实施例的详细描述并非旨在限制要求保护的本技术实施例的范围,而是仅仅表示本技术实施例的选定实施例。
25.可以理解的是,本技术实施例中的“第一”“第二”用于区别类似的对象。本领域技术人员可以理解“第一”“第二”等字样并不对数量和执行次序进行限定,并且“第一”“第二”等字样也并不限定一定不同。在本技术实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组)。
26.需要说明的是,本技术实施例提供的自动驾驶仿真测试场景动画视频生成方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和unix服务器。
27.下面介绍该自动驾驶仿真测试场景动画视频生成方法适用的应用场景,这里的应用场景包括但不限于:自动驾驶仿真、无人机仿真、军事仿真、制造业工厂仿真等应用场景,此处以自动驾驶仿真的应用场景为例说明,具体例如:测试人员将仿真测试平台、模拟器和自动驾驶系统进行相互连接,并使用自动驾驶系统通过通信接口控制模拟器中的测试车辆模型,然后,测试人员在测试的过程中可以使用该自动驾驶仿真测试场景动画视频生成方法,具体地,可以使用模拟器等终端设备向电子设备发送动画预览请求,以使电子设备生成动画预览请求对应的仿真测试场景动画视频。
28.请参见图1示出的本技术实施例提供的自动驾驶仿真测试场景动画视频生成方法的流程示意图;本技术实施例提供了一种自动驾驶仿真测试场景动画视频生成方法,包括:步骤s110:获取仿真测试场景预览请求,仿真测试场景预览请求包括:场景标识。
29.上述步骤s110中的仿真测试场景预览请求的获取方式有很多种,包括但不限于:第一种获取方式,接收其它终端设备发送的仿真测试场景预览请求,将仿真测试场景预览请求存储至文件系统、数据库或移动存储设备中;第二种获取方式,获取预先存储的仿真测试场景预览请求,具体例如:从文件系统、数据库或移动存储设备中获取仿真测试场景预览请求;第三种获取方式,使用浏览器等软件获取互联网上的仿真测试场景预览请求,或者使用其它应用程序访问互联网获取仿真测试场景预览请求。
30.可以理解的是,在获取到仿真测试场景预览请求之后,还可以使用预设编程语言编译或者解释的可执行程序从仿真测试场景预览请求中解析出场景标识,其中,可以使用的编程语言例如:c、c++、java、basic、javascript、lisp、shell、perl、ruby、python和php等等。
31.步骤s120:查找到场景标识对应的场景脚本,并从场景脚本中解析出场景元素标识和场景事件标识。
32.步骤s130:查找场景元素标识对应的图形素材和场景事件标识对应的动画模板。
33.步骤s140:执行场景脚本,以对场景标识对应的图形元素素材和场景事件标识对应的动画模板进行处理,获得仿真测试场景动画视频。
34.可以理解的是,由于步骤s120至步骤s140的实施方式有很多种,因此,将在下面详
细地介绍步骤s120至步骤s140的实施方式。
35.在上述的实现过程中,通过查找到场景标识对应的图形素材和场景脚本,并通过场景脚本对场景标识对应的图形素材进行处理,从而使用了不依赖仿真渲染的方式来获得仿真测试场景,改善了使用图形素材渲染仿真测试场景动画视频的速度比较慢的情况,有效地提高了虚拟仿真测试场景动画视频的生成效率。
36.作为上述步骤s120的一种可选实施方式,可以先从缓存视频库中获取场景标识对应的仿真测试场景动画视频,若没有获取到,再生成该场景标识对应的仿真测试场景动画视频,该实施方式可以包括:步骤s121:查找到场景标识对应的场景脚本,并判断是否在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频。
37.上述步骤s121的实施方式例如:在场景脚本库中查找场景标识对应的场景脚本,并使用预设编程语言编译或者解释的可执行程序判断是否在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频;其中,可以使用的编程语言例如:c、c++、java、basic、javascript、lisp、shell、perl、ruby、python和php等等。
38.步骤s122:若没有在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频,则从场景脚本中解析出场景元素标识和场景事件标识。
39.上述步骤s122的实施方式例如:若没有在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频,则继续使用可执行程序执行上述的从场景脚本中解析出场景元素标识和场景事件标识。
40.步骤s123:若在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频,则直接向仿真测试场景预览请求的发送设备返回该仿真测试场景动画视频。
41.上述步骤s123的实施方式例如:假设是目标仿真设备发送的仿真测试场景预览请求,那么如果在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频,则直接向该目标仿真设备返回该仿真测试场景动画视频,当然也可以返回该仿真测试场景动画视频的预览链接。
42.可选地,在生成场景标识对应的仿真测试场景动画视频之后,还可以将场景标识对应的仿真测试场景动画视频存储至缓存视频库中,以便于下一次访问该场景标识对应的仿真测试场景动画视频时,直接从缓存视频库中直接获取该场景标识对应的仿真测试场景动画视频即可,而必备重新生成场景标识对应的仿真测试场景动画视频,有效地节约了视频的生成时间。
43.作为上述步骤s130的第一种可选实施方式,上述的场景元素标识还可以包括:道路网络标识和交通参与者实体标识;在查找场景元素标识对应的图形素材和场景事件标识对应的动画模板时,还可以在素材库中查找道路网络标识对应的道路网络图形,以及交通参与者实体标识对应的交通参与者实体图形,该实施方式可以包括:步骤s131:从场景脚本中解析出道路网络标识和交通参与者实体标识。
44.可以理解的是,上述的场景脚本可以是openscenario文件,该openscenario文件可以包括这几种数据:道路网络(road network)标识、交通参与者实体(entity)标识等等,其中,道路网络(road network)是指自动驾驶仿真测试场景中的运行道路网络,该道路网络可以是引用opendrive文件中的道路网络。交通参与者实体(entity)标识是指交通参与
者的实体标识,此处的交通参与者实体包括但不限于:车辆、行人和树木、路灯等物体,不同类型的参与者具有不同的实体参数,具体例如:车辆的实体参数有长宽高、轴距和最高车速等,行人的实体参数有质量和名称等。
45.上述步骤s131的实施方式例如:使用预设编程语言编译或者解释的可执行程序从场景脚本中解析出道路网络标识和交通参与者实体标识。其中,可以使用的编程语言例如:c、c++、java、basic、javascript、lisp、shell、perl、ruby、python和php等等。
46.步骤s132:在素材库中查找道路网络标识对应的道路网络图形,以及交通参与者实体标识对应的交通参与者实体图形。
47.上述步骤s132的实施方式例如:在素材库中查找道路网络标识对应的道路网络图形,并在素材库中查找车辆、行人和树木、路灯等交通参与者实体图形。
48.步骤s133:从事件模板库中查找场景事件标识对应的动画模板。
49.上述步骤s133的实施方式例如:场景事件标识对应的动画模板可以包括:交通参与者实体图形的故事板,该故事板可以用于描述交通参与者的初始状态参数和行为变化参数;当然,如果上述的场景脚本(例如openscenario文件)也包括该交通参与者实体图形的故事板的话,那么该交通参与者实体图形的故事板也可以从场景脚本中解析出来。
50.作为上述步骤s130的第二种可选实施方式,在查找到场景元素标识对应的图形素材时,可以先在缓存文件库中查找,该实施方式可以包括:步骤s134:判断是否在缓存文件库中查找到场景元素标识对应的图形素材。
51.上述步骤s134的实施方式例如:使用预设编程语言编译或者解释的可执行程序,判断是否在memcached和redis等缓存文件库中查找到场景元素标识对应的图形素材。
52.步骤s135:若没有memcached和redis等缓存文件库中查找到场景元素标识对应的图形素材,则在关系型数据库和非关系型数据库中查找到场景元素标识对应的图形素材;其中,可以使用的关系型数据库例如:mysql、postgresql、oracle和sqlsever等,可以使用的非关系型数据库包括:grakn数据库、hadoop子系统hbase、mongodb和couchdb等。
53.作为上述步骤s130的第三种可选实施方式,还可以根据场景元素标识对应的图形素材的类型在对应的素材库中查找到场景元素标识对应的动态素材或者静态素材,此处的图形素材的类型可以是动态素材或者静态素材,因此该实施方式可以包括:步骤s136:判断场景元素标识对应的图形素材是否是动态素材。
54.上述步骤s136的实施方式例如:可以理解的是,上述的图形素材还可以是动态素材(例如:gif格式文件、avi格式文件或者mpg格式文件等等)或者静态素材(例如:tif格式文件、bmp格式文件、pcx格式文件、jpg格式文件和psd格式文件等),使用预设编程语言编译或者解释的可执行程序判断场景元素标识对应的图形素材是否是动态素材;其中,可以使用的编程语言例如:c、c++、java、basic、javascript、lisp、shell、perl、ruby、python和php等等。
55.步骤s137:若场景元素标识对应的图形素材是动态素材,则在动态素材库中查找场景元素标识对应的图形素材。
56.步骤s138:若场景元素标识对应的图形素材不是动态素材,在静态素材库中查找场景元素标识对应的图形素材。
57.上述步骤s137至步骤s138的实施方式例如:若场景元素标识对应的图形素材是动
态素材,则在动态素材库中查找场景元素标识对应的图形素材;其中,动态素材库可以采用gfs、hdfs、ceph、lustre、mogilefs、moosefs、fastdfs、tfs和gridfs等分布式文件系统(distributed file system,dfs),由于动态素材库的更新频率较高且大部分动态素材的文件非常大,因此,使用分布式文件系统(dfs)作为动态素材库能够有效地降低运行过程中的内存使用率。若场景元素标识对应的图形素材不是动态素材,在静态素材库中查找场景元素标识对应的图形素材;其中,由于静态素材库的更新频率较低且大部分静态素材的文件非常小,因此,静态素材库可以采用hbase和oceanbase等等分布式数据库(distributed data base,ddb),从而提升静态素材库中读取图形素材的速度。
58.作为上述步骤s140的第一种可选实施方式,上述的动画模板可以包括:交通参与者实体图形的故事板,该故事板可以用于描述交通参与者的初始状态参数和行为变化参数;因此,在执行场景脚本时,可以根据故事板的初始状态参数和行为变化参数来改变交通参与者实体图形的行为动作,该实施方式可以包括:步骤s141:根据故事板中的初始状态参数将交通参与者实体图形加载至道路网络图形中。
59.上述步骤s141的实施方式例如:此处以自动驾驶汽车为例进行说明,那么自动驾驶汽车在故事板中的初始状态参数包括但不限于:自动驾驶汽车的位置、朝向和速度等,因此,可以将自动驾驶汽车按照故事板中的初始状态参数将交通参与者实体图形加载至道路网络图形中。
60.步骤s142:根据故事板中的行为变化参数改变交通参与者实体图形的行为动作。
61.上述步骤s142的实施方式例如:在执行场景脚本时,从动画模板中或者场景脚本中解析出交通参与者实体图形(例如自动驾驶汽车)在故事板中的行为变化参数,并根据行为变化参数改变交通参与者实体图形(例如自动驾驶汽车)的行为动作。
62.可以理解的是,上述的行为变化参数包括但不限于:行为时间(when)、行为参与者(who)、行为内容(what);具体地,行为时间(when)可以采用开始触发器(start trigger)和结束触发器(stop trigger)来描述,具体例如:比如两车距离为50米;然后设定条件触发的方式(上升沿、下降沿等),比如两车距离逐渐缩短为50米或逐渐增加为50米时条件触发。上述的行为参与者(who)和行为内容(what)也是类似的原理,因此不再赘述。
63.作为上述步骤s140的第二种可选实施方式,通过场景脚本对场景元素标识对应的图形素材进行处理,处理图形素材和动画模板的实施方式可以包括:步骤s143:通过场景脚本对场景元素标识对应的图形素材进行拼接处理和/或标注处理。
64.请参见图2示出的本技术实施例提供的处理图形素材的实施示意图;上述步骤s143的实施方式可以包括:可以理解的是,上述的图形素材可以包括:道路边缘、红绿灯、行人、斑马线和慢行路标等等。通过场景脚本对场景元素标识对应的图形素材进行标注处理,具体例如:在自动驾驶的模拟道路的测试场景中,可以对模拟道路的测试场景中的各种图形素材进行标注。具体地,假设图形素材是道路边缘的图形或图像,那么可以将该图形素材标注为道路边缘,同理地,假设图形素材是红绿灯的图形或图像,那么可以将该图形素材标注为红绿灯,其他的标注处理过程的原理也是类似的,因此不再赘述。和/或,通过场景脚本对场景元素标识对应的图形素材进行拼接处理,具体例如:在自动驾驶的模拟道路的测试
场景中,该测试场景中的道路右侧行人有很多,但是道路左侧行人只有一个,此时可以从动态素材库中查找出行人的图形素材,并将该行人的图形素材拼接至模拟道路的测试场景中。当然,在具体实践过程中也可以从该模拟道路的测试场景中复制一个行人的图形素材,并将复制的行人的图形素材拼接至模拟道路的测试场景中。在上述方案的实现过程中,通过场景脚本对场景标识对应的图形素材进行拼接处理和/或标注处理,从而改善了使用图形素材渲染仿真测试场景动画视频的速度比较慢的情况,有效地提高了虚拟仿真测试场景动画视频的生成效率。
65.作为上述步骤s140的第三种可选实施方式,对场景标识对应的图形素材进行处理的实施方式,可以包括:步骤s144:判断场景事件标识对应的动画模板中是否包括组合标识。
66.步骤s145:若场景事件标识对应的动画模板中包括组合标识,则从事件模板库中查找到组合标识对应的组合事件,并使用组合事件对场景标识对应的图形素材进行处理,获得仿真测试场景动画视频。
67.仿真测试场景动画视频,是指图形素材处理后获得的仿真场景的视频数据,该仿真测试场景动画视频具体可以采用swf(shock wave flash)格式的文件来表示视频数据,也可以采用flv(flash video)格式的文件来表示视频数据,也可以使用mp4等等格式文件来表述视频数据。
68.上述步骤s144至步骤s145的实施方式例如:使用预设编程语言编译或者解释的可执行程序判断场景事件标识对应的动画模板中是否包括组合标识,例如:在场景事件标识对应的模拟道路动画模板中,该模拟道路旁边的红绿灯可能会绑定多个事件,且这多个事件之间可能存在拓扑关系,那么该场景脚本在处理动画模板并生成动画视频的过程中可能会被绑定为组合事件。在具体的实践过程中,该模拟道路旁边的红绿灯可以直接绑定多个离散的事件,也可以绑定多个离散的事件组合后的组合事件,可以根据具体情况来确定需要绑定的事件类型。如果事件类型是组合事件,那么可以先从场景事件标识对应的动画模板中解析出组合事件的组合标识,然后,从事件模板库中查找到组合标识对应的组合事件,并使用组合事件对场景元素标识对应的图形素材进行处理。
69.使用组合事件处理图形素材的具体过程例如:可以从场景脚本中解析出ryb或byr的组合标识,并从事件模板库中查找到组合标识ryb对应的组合事件是红绿灯由红灯切换为绿灯的组合事件,即红绿灯由红灯切换为绿灯时,是先触发红灯事件(该事件标识可以表示为r,即查找并加载红灯图像素材至该模拟道路的对应位置中),然后再触发黄灯事件(该事件标识可以表示为y,即查找并加载黄灯图像素材至该模拟道路的对应位置中),最后触发绿灯事件(该事件标识可以表示为g,即查找并加载绿灯图像素材至该模拟道路的对应位置中)。同理地,可以从事件模板库中查找到组合标识byr对应的组合事件是红绿灯由绿灯切换为红灯的组合事件,即红绿灯由绿灯切换为红灯时,是先触发绿灯事件(该事件标识可以表示为g),然后再触发黄灯事件(该事件标识可以表示为y),最后触发红灯事件(该事件标识可以表示为r)。
70.在上述方案的实现过程中,通过根据场景元素标识对应的图形素材是动态素材或静态素材来分别在不同的库中加载,从而有效地利用了动态素材库和静态素材库的特点进行优化,有效地提高了图形素材的查找速度。
71.作为上述步骤s145的一种可选实施方式,在从事件模板库中查找到组合标识对应的组合事件之前,还可以将组合事件存储至事件模板库中,该实施方式可以包括:步骤s145a:获取多个场景事件,并将多个场景事件进行组合,获得组合事件。
72.步骤s145b:将组合事件存储至事件模板库中。
73.上述步骤s145a至步骤s145b的实施方式例如:从场景事件库中查找绿灯事件(表示为g)、黄灯事件(表示为y)和红灯事件(表示为r),然后,将绿灯事件(表示为g)、黄灯事件(表示为y)和红灯事件(表示为r)进行组合,获得组合事件(可以表示为gyr或者ryg)。最后 ,将组合事件(可以表示为gyr或者ryg)存储至事件模板库中。
74.请参见图3示出的本技术实施例提供的点击预览链接播放仿真测试场景的流程示意图;作为上述自动驾驶仿真测试场景动画视频生成方法的一种可选实施方式,还可以向仿真设备发送仿真测试场景动画视频的预览链接,以使仿真设备点击预览链接播放仿真测试场景动画视频,该实施方式可以包括:步骤s210:电子设备接收仿真设备发送的仿真测试场景预览请求,仿真测试场景预览请求包括:场景标识。
75.上述步骤s210的实施方式例如:电子设备通过传输控制协议(transmission control protocol,tcp)或者用户数据报协议(user datagram protocol,udp)接收仿真设备发送的仿真测试场景预览请求。
76.步骤s220:电子设备查找到场景标识对应的场景脚本,并从场景脚本中解析出场景元素标识和场景事件标识。
77.步骤s230:电子设备查找场景元素标识对应的图形素材和场景事件标识对应的动画模板。
78.步骤s240:电子设备通过场景脚本对场景标识对应的图形素材进行处理,获得仿真测试场景动画视频。
79.其中,该步骤s220至步骤s240的实施原理和实施方式与步骤s120至步骤s140的实施原理和实施方式是类似的,因此,这里不再说明其实施原理和实施方式,如有不清楚的地方,可以参考对步骤s120至步骤s140的描述。
80.步骤s250:电子设备生成仿真测试场景动画视频的预览链接,并向仿真设备发送预览链接,以使仿真设备点击预览链接播放仿真测试场景动画视频。
81.上述步骤s250的实施方式例如:电子设备根据swf格式的文件路径或者flv格式的文件路径生成该仿真测试场景动画视频的预览链接;其中,该预览链接可以是超文本传输协议(hyper text transfer protocol,http)格式,例如该预览链接可以是http://abc.com/def.swf;当然该预览链接可以是超文本传输安全协议(hyper text transfer protocol secure,https)格式,例如该预览链接可以是https://abc.com/def.swf。然后,电子设备可以通过http协议或者https协议向仿真设备发送预览链接,以使仿真设备点击预览链接播放仿真测试场景动画视频。
82.请参见图4示出的本技术实施例提供的自动驾驶仿真测试场景动画视频生成装置的结构示意图;本技术实施例提供了一种自动驾驶仿真测试场景动画视频生成装置300,包括:预览请求获取模块310,用于获取仿真测试场景预览请求,仿真测试场景预览请求
包括:场景标识。
83.场景脚本解析模块320,用于查找到场景标识对应的场景脚本,并从场景脚本中解析出场景元素标识和场景事件标识。
84.动画模板查找模块330,用于查找场景元素标识对应的图形素材和场景事件标识对应的动画模板。
85.动画视频获得模块340,用于执行场景脚本,以对场景元素标识对应的图形素材和场景事件标识对应的动画模板进行处理,获得仿真测试场景动画视频。
86.可选地,在本技术实施例中,场景脚本解析模块,包括:视频获取判断子模块,用于判断是否在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频。
87.场景标识解析子模块,用于若没有在缓存视频库中获取到场景脚本被执行后的仿真测试场景动画视频,则从场景脚本中解析出场景元素标识和场景事件标识。
88.可选地,在本技术实施例中,场景元素标识包括:道路网络标识和交通参与者实体标识;动画模板查找模块,包括:场景脚本解析子模块,用于从场景脚本中解析出道路网络标识和交通参与者实体标识;图形素材查找子模块,用于在素材库中查找道路网络标识对应的道路网络图形,以及交通参与者实体标识对应的交通参与者实体图形;动画模板查找子模块,用于从事件模板库中查找场景事件标识对应的动画模板。
89.可选地,在本技术实施例中,动画模板包括:交通参与者实体图形的故事板,故事板用于描述交通参与者的初始状态参数和行为变化参数;动画视频获得模块,包括:实体图形加载子模块,用于根据故事板中的初始状态参数将交通参与者实体图形加载至道路网络图形中;行为动作改变子模块,用于根据故事板中的行为变化参数改变交通参与者实体图形的行为动作。
90.可选地,在本技术实施例中,动画视频获得模块,包括:组合标识判断子模块,用于判断场景事件标识对应的动画模板中是否包括组合标识。
91.图形素材处理子模块,用于若场景脚本中包括组合标识,则从事件模板库中查找到组合标识对应的组合事件,并使用组合事件对场景标识对应的图形素材进行处理。
92.可选地,在本技术实施例中,自动驾驶仿真测试场景动画视频生成装置,还包括:组合事件获得子模块,用于获取多个场景事件,并将多个场景事件进行组合,获得组合事件。
93.组合事件存储子模块,用于将组合事件存储至事件模板库中。
94.可选地,在本技术实施例中,自动驾驶仿真测试场景动画视频生成装置,还包括:预览请求接收模块,用于接收仿真设备发送的仿真测试场景预览请求。
95.链接生成发送模块,用于生成仿真测试场景动画视频的预览链接,并向仿真设备发送预览链接,以使仿真设备点击预览链接播放仿真测试场景动画视频。
96.应理解的是,该装置与上述的自动驾驶仿真测试场景动画视频生成方法实施例对
应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,os)中的软件功能模块。
97.请参见图5示出的本技术实施例提供的电子设备的结构示意图。本技术实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
98.本技术实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory, 简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory, 简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory, 简称eprom),可编程只读存储器(programmable read-only memory, 简称prom),只读存储器(read-only memory, 简称rom),磁存储器,快闪存储器,磁盘或光盘。
99.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
100.本技术实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本技术实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
101.另外,在本技术实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”“一些实施例”“示例”“具体示例”“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
102.以上的描述,仅为本技术实施例的可选实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1