CN112880703B - 导航语音播报数据的生成方法、装置、介质及电子设备 - Google Patents
导航语音播报数据的生成方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN112880703B CN112880703B CN202110191525.8A CN202110191525A CN112880703B CN 112880703 B CN112880703 B CN 112880703B CN 202110191525 A CN202110191525 A CN 202110191525A CN 112880703 B CN112880703 B CN 112880703B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- event
- priority
- original
- road section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3629—Guidance using speech or audio output, e.g. text-to-speech
Abstract
本申请提供一种导航语音播报数据的生成方法、装置、介质及电子设备,涉及计算机技术领域。通过基于目标导航任务,确定目标导航任务对应的候选导航路线;获取候选导航路线对应的播报事件集合;依次读取播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于该一个播报事件的冲突播报事件,则基于该一个播报事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据。该方法可以实现更好的灵活性,降低SDK筛选播报语句的难度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种导航语音播报数据的生成方法、装置、介质及电子设备。
背景技术
导航作为地图软件的关键功能,直接影响用户在驾车过程中使用地图软件的体验。语音播报作为导航功能的核心模块之一,它的准确性会直接影响用户的驾车体验。
现有的服务端生成播报语句,SDK进行筛选播报的方式会随着播报内容的不断丰富,筛选逻辑也越来越复杂,而且对播报内容的筛选逻辑不便于根据具体需要做出调整,不灵活。
因此,相关技术的导航语音播报数据的生成方法存在着灵活性差,也可能存在同一条路线在不同版本的SDK上播报内容不一致的问题,增加了后期维护难度。
发明内容
本申请实施例提供了一种导航语音播报数据的生成方法、装置、介质及电子设备,实现导航语音播报数据的生成时更好的灵活性,降低了SDK筛选播报语句的难度,减小后期维护难度。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种导航语音播报数据的生成方法,包括:
基于目标导航任务,确定所述目标导航任务对应的候选导航路线;
获取所述候选导航路线对应的播报事件集合,其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级;
依次读取所述播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若所述各个播报事件中存在预设优先级低于所述一个播报事件的冲突播报事件,则基于所述一个播报事件对应的原始播报路段,对所述冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;所述冲突播报事件与所述一个播报事件之间存在原始播报路段重叠;
基于所述调整后的播报事件集合,生成所述候选导航路线对应的导航语音播报数据。
第二方面,本申请实施例提供一种导航语音播报数据的生成装置,包括:
导航路线生成模块,用于基于目标导航任务,确定所述目标导航任务对应的候选导航路线;
数据初始化模块,用于获取所述候选导航路线对应的播报事件集合,其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级;
避让处理模块,用于依次读取所述播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若所述各个播报事件中存在预设优先级低于所述一个播报事件的冲突播报事件,则基于所述一个播报事件对应的原始播报路段,对所述冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;所述冲突播报事件与所述一个播报事件之间存在原始播报路段重叠;
播报数据生成模块,用于基于所述调整后的播报事件集合,生成所述候选导航路线对应的导航语音播报数据。
在一种可选的实施例中,所述数据初始化模块,还用于:根据各个播报事件对应的原始播报路段的先后到达顺序,以及所述各个播报事件的预设优先级,对所述各个播报事件进行排序,获得目标排序结果;
所述避让处理模块,具体用于:基于所述目标排序结果,依次读取每个播报事件。
在一种可选的实施例中,所述原始播报路段包括原始播报起点和原始播报终点;所述数据初始化模块,具体用于:
根据各个原始播报路段对应的原始播报起点的前后到达顺序,对所述各个原始播报路段关联的播报事件进行第一排序,获得第一排序结果;
若基于所述第一排序结果,确定存在原始播报起点的前后到达顺序冲突的至少一组播报事件时,则针对所述至少一组播报事件中的各组播报事件执行以下操作:针对所述至少一组播报事件中的一组播报事件,按照所述一组播报事件中各个播报事件的预设优先级的先后顺序,对所述各个播报事件进行第二排序,获得第二子排序结果;
基于获得的第二子排序结果对所述第一排序结果进行调整,获得相应的第二排序结果;
若基于获得的第二排序结果,确定存在原始播报起点的前后到达顺序和预设优先级的先后顺序均冲突的至少一组播报事件时,则针对所述至少一组播报事件中的各组播报事件执行以下操作:针对所述至少一组播报事件中的一组播报事件,按照所述一组播报事件中各个播报事件的原始播放终点的前后到达顺序,对所述各个播报事件进行第三排序,获得第三子排序结果;
基于获得的第三子排序结果对所述第二排序结果进行调整,获得相应的第三排序结果,将所述第三排序结果作为所述目标排序结果。
在一种可选的实施例中,所述每个播报事件还包括事件特征参数子集和原始推荐播报子路段;每个播报事件对应的原始推荐播报子路段为相应的所述原始播报路段中建议播报相应播报事件的子路段;所述数据初始化模块,还用于:
分别确定所述播报事件集合中的各个播报事件对应的所述事件特征参数子集以及对应的原始推荐播报子路段;所述避让处理模块,具体用于:
基于所述一个播报事件对应的原始推荐播报子路段,按预设规则对所述冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;
根据所述冲突播报事件的目标播报路段,对所述冲突播报事件的原始推荐播报子路段进行调整,获得相应的目标推荐播报子路段。
在一种可选的实施例中,所述事件特征参数子集至少包括所述每个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;所述播报内容长度是所述每个播报事件的字数最多的播报语句的长度;所述数据初始化模块,具体用于:
基于所述播报事件集合中的各个播报事件对应的播报内容和原始播报路段,分别获取所述各个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;
根据所述各个播报事件对应的播报内容长度和播报速度,分别得到所述各个播报事件对应的播报时长;
根据所述各个播报事件对应的播报时长,以及所述各个播报事件对应的路段行驶均速、预设播报时机类型,分别得到所述各个播报事件对应的原始推荐播报子路段。
在一种可选的实施例中,所述原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;所述目标播报路段包括目标播报起点和目标播报终点;所述预设优先级包括第一优先级和第二优先级;所述第一优先级的优先级先后顺序先于所述第二优先级;所述播报事件包括第一优先级事件和第二优先级事件;所述预设播报时机类型为开始位置优先;所述开始位置优先表示所述播报事件的播报位置为原始播报路段的起点;
所述避让处理模块,具体用于:
将所述一个播报事件作为第一优先级事件,所述冲突播报事件作为第二优先级事件,并获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序;
若所述第一先后到达顺序为所述第一优先级事件的原始播报起点先到达,则执行以下操作:将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始推荐播报终点;
若所述第一先后到达顺序为所述第二优先级事件的原始播报起点先到达,则执行以下操作:若所述第二先后到达顺序为所述第二优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报终点调整为所述第一优先级事件的原始播报起点;若所述第二先后到达顺序为所述第一优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始推荐播报终点。
在一种可选的实施例中,所述原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;所述目标播报路段包括目标播报起点和目标播报终点;所述预设优先级包括第一优先级和第二优先级;所述第一优先级的优先级先后顺序先于所述第二优先级;所述播报事件包括第一优先级事件和第二优先级事件;所述预设播报时机类型为结束位置优先;所述结束位置优先表示所述播报事件的播报结束位置为原始播报路段的终点;
所述避让处理模块,具体用于:
将所述一个播报事件作为第一优先级事件,所述冲突播报事件作为第二优先级事件,并获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序;
若所述第一先后到达顺序为所述第一优先级事件的原始播报起点先到达,则执行以下操作:若所述第二先后到达顺序为所述第一优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始播报终点;若所述第二先后到达顺序为所述第二优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报终点调整为所述第一优先级事件的原始推荐播报起点;
若所述第一先后到达顺序为所述第二优先级事件的原始播报起点先到达,则执行以下操作:若所述第二先后到达顺序为所述第二优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报终点调整为所述第一优先级事件的原始推荐播报起点;若所述第二先后到达顺序为所述第一优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始播报终点。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面任一项所述的方法。
第四方面,本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面任一项所述的方法。
本申请实施例的导航语音播报数据的生成方法、装置、介质及电子设备,通过基于目标导航任务,确定所述目标导航任务对应的候选导航路线;获取所述候选导航路线对应的播报事件集合;依次读取所述播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若所述各个播报事件中存在预设优先级低于所述一个播报事件的冲突播报事件,则基于所述一个播报事件对应的原始播报路段,对所述冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;所述冲突播报事件与所述一个播报事件之间存在原始播报路段重叠;基于所述调整后的播报事件集合,生成所述候选导航路线对应的导航语音播报数据。该方法能够在导航服务器中对预设优先级低的冲突播报事件进行调整,可以实现更好的灵活性,降低SDK筛选播报语句的难度,减小后期维护难度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种导航语音播报数据的生成方法的应用场景示意图;
图2为本申请实施例提供的一种导航语音播报数据的生成方法的流程示意图;
图3为本申请实施例提供的第二种导航语音播报数据的生成方法的流程示意图;
图4为本申请实施例提供的第三种导航语音播报数据的生成方法的流程示意图;
图5为本申请实施例提供的第四种导航语音播报数据的生成方法的流程示意图;
图6为本申请实施例提供的一种对冲突播报事件的原始播报路段进行调整的流程示意图;
图7为本申请实施例提供的另一种对冲突播报事件的原始播报路段进行调整的流程示意图;
图8为本申请实施例提供的一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图9为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图10为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图11为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图12为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图13为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图14为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图15为本申请实施例提供的另一种低优先级事件和高优先级事件的播报区间的相对关系的示意图;
图16为本申请实施例提供的另一种导航语音播报数据的生成方法的流程示意图;
图17为本申请实施例提供的一种导航语音播报数据的生成装置的结构示意图;
图18为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)诱导(Guidance):诱导是指在基于GPS的导航软件中,根据GPS和地图数据,以语言和图形的形式,用程序生成的,指示用户如何按规划路线行进的信息。
(2)诱导包:指诱导后台服务器通过互联网络传输到移动端的,用于支撑导航诱导功能的数据包,是导航功能的核心数据单元模块。
(3)诱导播报事件(Voice Event,VEvent):诱导播报事件是用于记录导航播报相关信息的事件。在本申请的实施例中,诱导播报事件又称为播报事件。
(4)播报区间:播报区间是诱导播报事件对应的播报范围,在该范围内可以播报该事件的内容,播报区间包括开始位置和结束位置。
(5)播报时机类型:播报事件的播报时机类型分为开始位置优先(BeginFirst)和结束位置优先(EndFirst)两类。开始位置优先是指播报事件的播报位置尽量靠近播报区间的起点位置;结束位置优先是指播报事件的播报位置尽量靠近播报区间的结束位置。本申请的实施例中,预设播报时机类型是诱导播报事件的播报时机类型。
(6)播报时长:根据播报内容长度和播报速度预估的所需播报时间,以秒为单位。
(7)最佳播报区间:根据播报事件的播报时长和播报时机类型计算的最合适的播报区间。
(8)播报优先级:播报事件的优先级整体分为两个等级:高优先级和低优先级。在本申请的实施例中,将播报事件按播报优先级分为高优先级事件和低优先级事件。高优先级事件的播报区间不能够调整;低优先级事件的播报区间可以调整,不必考虑调整后区间长度是否能够完成播报。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
导航作为地图软件的关键功能,直接影响用户在驾车过程中使用地图软件的体验。语音播报作为导航功能的核心模块之一,它的准确性会直接影响用户的驾车体验。
现有的服务端生成播报语句,SDK进行筛选播报的方式会随着播报内容的不断丰富,筛选逻辑也越来越复杂,而且对播报内容的筛选逻辑不便于根据具体需要做出调整,不灵活。
因此,相关技术的导航语音播报数据的生成方法存在着灵活性差,也可能存在同一条路线在不同版本的SDK上播报内容不一致的问题,增加了后期维护难度。
因此,需要一种导航语音播报数据的生成方法及装置,用以解决上述问题。
本申请实施例中,通过基于目标导航任务,确定所述目标导航任务对应的候选导航路线;获取所述候选导航路线对应的播报事件集合;依次读取所述播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若该各个播报事件中存在预设优先级低于该一个播报事件的冲突播报事件,则基于该一个播报事件对应的原始播报路段,对该冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;该冲突播报事件与该一个播报事件之间存在原始播报路段重叠;基于该调整后的播报事件集合,生成该候选导航路线对应的导航语音播报数据。该方法能够在导航服务器中对预设优先级低的冲突播报事件进行调整,可以实现更好的灵活性,降低SDK筛选播报语句的难度,减小后期维护难度。
为更好地理解本申请实施例提供的技术方案,下面对本申请实施例提供的技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
图1示出了本申请实施例提供的导航语音播报数据的生成方法的一种应用场景,参见图1所示,该应用场景中包括多个终端设备100、服务器200、数据存储设备300。服务器200可以包括多个路线规划引擎2001。在一些实施例中,路线规划引擎2001可以提供路线规划服务,具体地根据终端设备100上传的起点位置信息和目的地位置信息进行导航路径路线计算。例如,路线规划引擎2001可以根据起点和终点的位置进行路线计算,确定起点和终点间的至少一条候选导航路线。终端设备100、服务器200和数据存储设备300之间可以通过有线连接方式或无线连接方式(如通信网络)进行连接并传输数据。例如,终端设备100与服务器200可以通过数据线连接或者通过有线网络连接;终端设备100与服务器200也可以通过无线网络连接;服务器200与数据存储设备300可以通过数据线连接或者通过有线网络连接;服务器200与数据存储设备300也可以通过无线网络连接。
其中,终端设备100可以是手机、掌上电脑(Personal Digital Assistant,PDA)、计算机、笔记本、平板电脑、智能穿戴式设备(例如智能手表和智能头盔)等。服务器200可以是一台服务器或由若干台服务器组成的服务器集群或云计算中心,或者是一个虚拟化平台,也可以是个人计算机、大中型计算机或计算机集群等。根据实现需要,本申请实施例中的应用场景中可以具有任意数目的终端设备和服务器。本申请对此不做特殊限定。
在一些实施例中,数据存储设备300可以泛指具有存储功能的设备。数据存储设备300主要用于存储从终端设备100收集的数据和服务器200工作中产生的各种数据。数据存储设备300可以是本地的,也可以是远程的。数据存储设备与其它模块间可以通过通信网络进行信息交换。
本申请实施例提供的导航语音播报数据的生成方法由服务器200执行。例如,终端设备100上安装有导航客户端,终端设备100通过上述客户端发送用户输入的目标导航任务。服务器200接收到终端设备100发送的目标导航任务,先基于目标导航任务,确定目标导航任务对应的候选导航路线,然后获取候选导航路线对应的播报事件集合,其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级,服务器200依次读取播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则基于一个播报事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;冲突播报事件与一个播报事件之间存在原始播报路段重叠,最后基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据,服务器200将导航语音播报数据发送至终端设备100,终端设备100基于该导航语音播报数据进行导航播报,可以实现导航语音播报数据的生成时更好的灵活性,降低了SDK筛选播报语句的难度,减小后期维护难度。
在本申请的以下实施例的说明中,均以导航语音播报数据是导航使用的诱导包,原始播报路段是诱导播报事件的播报区间,预设优先级是诱导播报事件的播报优先级,目标播报路段是对诱导播报事件的播报区间进行调整所得到的调整后的播报区间为例。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
图2示出了本申请实施例提供的一种导航语音播报数据的生成方法,该方法由图1中的服务器200执行。如图2所示,该导航语音播报数据的生成方法包括如下步骤:
步骤S201,基于目标导航任务,确定目标导航任务对应的候选导航路线。
具体地,服务器200基于目标导航任务,确定该目标导航任务对应的候选导航路线。候选导航路线的数量可以是一个,也可以是多个。本申请实施例中,均以候选导航路线的数量是一个为例进行说明。
示例性地,终端设备100上安装有导航客户端,为导航终端。通过上述客户端可以发送用户输入的目标导航任务。服务器200接收到用户通过终端设备100上安装的导航客户端发送的目标导航任务,通过路线规划引擎2001确定目标导航任务对应的候选导航路线,是导航服务器。本申请实施例提供的导航语音播报数据的生成方法,首先基于目标导航任务,确定目标导航任务对应的候选导航路线。若候选导航路线的数量是多个,则服务器200针对多个候选导航路线中的每个候选导航路线,分别生成对应的导航语音播报数据。当候选导航路线的数量是多个时,每个候选导航路线生成对应的导航语音播报数据的过程与候选导航路线的数量是一个时采取的方法步骤相同。
步骤S202,获取候选导航路线对应的播报事件集合。
其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级。
具体地,服务器200根据候选导航路线生成候选导航路线对应的各个播报事件,将生成的播报事件存储为播报事件集合,从而得到候选导航路线对应的播报事件集合。其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级。
示例性地,在一些实施例中,服务器200根据数据存储设备300中存储的播报信息点数据集识别出候选导航路线上包含的播报信息点,根据预设的播报信息距离条件生成与各个播报信息点相关的播报事件,从而获得候选导航路线对应的各个播报事件,将生成的播报事件存储为播报事件集合,得到候选导航路线对应的播报事件集合。其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级。例如,任意一个播报信息点可以是候选导航路线Line1上的点P1,预设的播报信息距离条件可以是:当车辆位置到播报信息点P1的距离可以分别满足[1000米~2000米]、[300米~500米]、[30米~50米]时,生成与该三个路段分别相对应的一个播报事件,分别为播报事件E1、播报事件E2和播报事件E3。该三个播报事件的播报内容,均为与播报信息点P1关联的一个播报信息,例如播报事件E1的播报内容可以是“前方两公里后,走左侧道路,然后左转,进入利民大街”,播报事件E2的播报内容可以是“前方五百米后,走左侧道路,然后左转,进入利民大街”,播报事件E3的播报内容可以是“前方五十米后,走左侧道路,然后左转,进入利民大街”。除了播报内容,每个播报事件还包括原始播报路段和预设优先级。原始播报路段为播报事件对应的播报区间,表示播报事件对应的播报范围,在该范围内可以播报该事件的内容,播报区间包括开始位置和结束位置。以播报事件E1为例,播报事件E1的播报区间可以根据播报信息点P1的位置及播报事件E1对应的播报信息距离条件[1000米~2000米]进行确定。播报事件E1可以在候选导航路线Line1上,向播报信息点P1行驶时,播报信息点P1的前方距离为[1000米~2000米]的一个子路段VE_P1_1上进行播报。服务器200根据子路段VE_P1_1可以确定该播报区间包括的播报开始位置和播报结束位置。根据上述方法逐一确定候选导航路线Line1上的所有播报信息点对应的播报事件,得到候选导航路线Line1对应的播报事件集合VE_a。
步骤S203,依次读取播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则基于一个播报事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段。
其中,冲突播报事件与一个播报事件之间存在原始播报路段重叠。
可选地,预设优先级包括低优先级和高优先级。
可选地,在本申请的一些实施例中,每个播报事件还包括播报事件类型,依次读取播报事件集合中的各个播报事件时,每读取一个,还执行以下操作:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则基于冲突播报事件对应的播报类型和播报内容,对播报类型相同的冲突播报事件中的播报内容进行聚合,获得相应的目标播报内容。
示例性地,如果当前读取的一个播报事件,其冲突播报事件有多处关于电子眼的预警播报,则可以基于冲突播报事件对应的播报类型和播报内容,对该多处关于电子眼的预警播报进行聚合,得到一个目标播报内容,例如为“前方有多处违法拍照,请按交规行驶”。对播报内容进行聚合后可以逐一播报,也可以只进行一次播报。
本申请的以下实施例均以播报事件是诱导播报事件,播报事件的预设优先级是诱导播报事件的播报优先级为例进行说明。
示例性地,假定播报事件集合是VE_a={VE1,VE2,VE3,VE4,…,VEi,…,VEj,…VEn},其中VEi是播报事件集合VE_a中的任意的一个高优先级事件,其播放优先级为一个高优先级;VEj是播报事件集合VE_a中的任意的一个低优先级事件,其播放优先级为低优先级。服务器200依次读取播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合VE_b:针对当前读取的一个播报事件VEi,若各个播报事件中存在预设优先级低于一个播报事件VEi的冲突播报事件VEj,则基于一个播报事件VEi对应的原始播报路段,对冲突播报事件VEj的原始播报路段进行调整,获得相应的目标播报路段。其中,冲突播报事件VEj与一个播报事件VEi之间存在原始播报路段重叠。
步骤S204,基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据。
其中,导航语音播报数据用于下发到终端设备100上的导航客户端。
在本申请的实施例中,导航语音播报数据是用于支撑导航诱导功能的诱导包。
示例性地,服务器200基于调整后的播报事件集合VE_b,生成候选导航路线Line1对应的诱导包。
上述的导航语音播报数据的生成方法,通过基于目标导航任务,确定目标导航任务对应的候选导航路线;获取候选导航路线对应的播报事件集合;依次读取播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则基于一个播报事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;冲突播报事件与一个播报事件之间存在原始播报路段重叠;基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据。该方法能够在导航服务器中对预设优先级低的冲突播报事件进行调整,可以实现更好的灵活性,降低SDK筛选播报语句的难度,减小后期维护难度。
在本申请的一种可选的实施例中,在执行依次读取播报事件集合中的各个播报事件,对预设优先级低的冲突播报事件进行调整的步骤之前,可以先将播报事件集合中的播报事件进行全局排序。如图3所示,该方法包括:
步骤S301,基于目标导航任务,确定目标导航任务对应的候选导航路线。
步骤S302,获取候选导航路线对应的播报事件集合。
其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级。
示例性地,服务器200获取候选导航路线Line1对应的播报事件集合VE_a。
步骤S303,根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对各个播报事件进行排序,获得目标排序结果。
具体地,导航服务器可以是根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级的先后顺序,对各个播报事件进行排序,获得目标排序结果。
示例性地,服务器200根据播报事件集合VE_a中各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对播报事件集合VE_a中的各个播报事件进行排序,获得目标排序结果VE_c。
步骤S304,基于目标排序结果,依次读取每个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则基于一个播报事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段。
其中,冲突播报事件与一个播报事件之间存在原始播报路段重叠。
示例性地,服务器200基于目标排序结果VE_c,依次读取每个播报事件,然后对每个读取的播报事件,执行与前述实施例的步骤S203类似的处理过程,以对冲突播报事件的原始播报路段进行调整,以得到调整后的播报事件集合VE_d。
步骤S305,基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据。
步骤S301~步骤S302、步骤S304~步骤S305中的实施过程可以参照图2示出的实施例中步骤S201~步骤S204的实施过程,在此不再赘述。
上述的导航语音播报数据的生成方法,通过在依次读取播报事件集合中的各个播报事件之前,根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对各个播报事件进行排序。该方法能够使生成的导航语音播报数据具备与各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级的先后顺序的基础属性,减少后续数据处理的计算量,降低SDK筛选播报语句的难度,减小后期维护难度。
在一些实施例中,原始播报路段包括原始播报起点和原始播报终点。步骤S303中的排序,可以是根据原始播报起点、预设优先级和原始播报终点对各个播报事件进行排序。如图4所示,在该实施例中,根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对各个播报事件进行排序,获得目标排序结果的过程,具体包括如下步骤:
步骤S3030,根据各个原始播报路段对应的原始播报起点的前后到达顺序,对各个原始播报路段关联的播报事件进行第一排序,获得第一排序结果。
在本申请的实施例中,原始播报路段为播报事件集合VE_a中各个播报事件对应的播报区间。播报区间包括播报开始位置和播报结束位置。原始播报起点和原始播报终点分别是诱导播报事件的播报区间所包含的播报开始位置和播报结束位置。
示例性地,服务器200根据播报事件集合VE_a中各个播报事件对应的播报区间对应的播报开始位置的前后到达顺序,对各个播报区间关联的诱导播报事件进行第一排序,获得第一排序结果VE_a_01。
步骤S3031,若基于第一排序结果,确定存在原始播报起点的前后到达顺序冲突的至少一组播报事件时,则针对至少一组播报事件中的各组播报事件执行以下操作:针对至少一组播报事件中的一组播报事件,按照一组播报事件中各个播报事件的预设优先级的先后顺序,对各个播报事件进行第二排序,获得第二子排序结果。
示例性地,若基于第一排序结果VE_a_01,确定存在播报开始位置的前后到达顺序冲突的至少一组播报事件时,假定存在播报开始位置的前后到达顺序冲突的i组播报事件{VE_a_01_sub_1,VE_a_01_sub_2,…,VE_a_01_sub_i},其中,自然数i≥1,则针对至少一组播报事件中的各组播报事件执行以下操作:针对该i组播报事件中的一组播报事件VE_a_01_sub_j,按照该一组播报事件VE_a_01_sub_j中各个播报事件的播报优先级的先后顺序,对该一组播报事件VE_a_01_sub_j中的各个播报事件进行第二排序,获得该一组播报事件VE_a_01_sub_j的第二子排序结果VE_a_01_sub_j_2。例如,该一组播报事件VE_a_01_sub_j中各个播报事件的(播报开始位置,播报优先级,播报结束位置)分别为{(1500,低,2500)、(1500,低,1700)、(1500,高,1520)},其中,播报开始位置的数值“1500”表示其对应的播报事件的播报开始位置是对应的导航路线上距离导航起点1500米的位置点,播报结束位置的数值的含义与播报开始位置的数值的含义类似,则第二子排序结果VE_a_01_sub_j_2可以是{(1500,高,1520)、(1500,低,2500)、(1500,低,1700)}。最终,获得i组播报事件{VE_a_01_sub_1,VE_a_01_sub_2,…,VE_a_01_sub_i}的第二子排序结果{VE_a_01_sub_1_2,VE_a_01_sub_2,…,VE_a_01_sub_i_2}。
步骤S3032,基于获得的第二子排序结果对第一排序结果进行调整,获得相应的第二排序结果。
示例性地,服务器200基于获得的该i组播报事件的第二子排序结果{VE_a_01_sub_1_2,VE_a_01_sub_2,…,VE_a_01_sub_i_2}对第一排序结果VE_a_01进行调整,获得相应的第二排序结果VE_a_02。假定第一排序结果是{(1400,高,1420)、(1500,低,2500)、(1500,低,1700)、(1500,高,1520)、(1600,低,2600)},则根据第二子排序结果VE_a_01_sub_j_2={(1500,高,1520)、(1500,低,2500)、(1500,低,1700)},对第一排序结果进行调整,得到相应的第二排序结果为{(1400,高,1420)、(1500,高,1520)、(1500,低,2500)、(1500,低,1700)、(1600,低,2600)}。
步骤S3033,若基于获得的第二排序结果,确定存在原始播报起点的前后到达顺序和预设优先级的先后顺序均冲突的至少一组播报事件时,则针对至少一组播报事件中的各组播报事件执行以下操作:针对至少一组播报事件中的一组播报事件,按照一组播报事件中各个播报事件的原始播放终点的前后到达顺序,对各个播报事件进行第三排序,获得第三子排序结果。
示例性地,若基于获得的第二排序结果VE_a_02,确定存在播报开始位置的前后到达顺序和播报优先级的先后顺序均冲突的至少一组播报事件时,假定存在播报开始位置的前后到达顺序和播报优先级的先后顺序均冲突的k组播报事件{VE_a_02_sub_1,VE_a_02_sub_2,…,VE_a_02_sub_k},其中,自然数k≥1,则针对至少一组播报事件中的各组播报事件执行以下操作:针对该k组播报事件中的一组播报事件VE_a_02_sub_m,按照该一组播报事件VE_a_02_sub_m中各个播报事件的播报结束位置的前后到达顺序,对该一组播报事件VE_a_02_sub_m中各个播报事件进行第三排序,获得第三子排序结果VE_a_02_sub_m_2。例如,仅以一组发生冲突的播报事件为例进行说明,假设冲突的是VE_a_01_sub_j_2={(1500,高,1520)、(1500,低,2500)、(1500,低,1700)}中的(1500,低,2500)和(1500,低,1700)构成的一组播报事件{(1500,低,2500)、(1500,低,1700)},则调整后的第三子排序结果为{(1500,低,1700)、(1500,低,2500)}。最终,获得k组播报事件{VE_a_02_sub_1,VE_a_02_sub_2,…,VE_a_02_sub_k}的第三子排序结果{VE_a_02_sub_1_2,VE_a_02_sub_2_2,…,VE_a_02_sub_k_2}。
步骤S3034,基于获得的第三子排序结果对第二排序结果进行调整,获得相应的第三排序结果,将第三排序结果作为目标排序结果。
示例性地,服务器200基于获得的该k组播报事件的第三子排序结果{VE_a_02_sub_1_2,VE_a_02_sub_2_2,…,VE_a_02_sub_k_2}对第二排序结果VE_a_02进行调整,获得相应的第三排序结果VE_a_03,例如,第二排序结果为{(1400,高,1420)、(1500,高,1520)、(1500,低,2500)、(1500,低,1700)、(1600,低,2600)},第三子排序结果为{(1500,低,1700)、(1500,低,2500)},获得相应的第三排序结果可以是{(1400,高,1420)、(1500,高,1520)、(1500,低,1700)、(1500,低,2500)、(1600,低,2600)}。将第三排序结果VE_a_03作为目标排序结果VE_c。
上述的导航语音播报数据的生成方法,通过在依次读取播报事件集合中的各个播报事件之前,根据播报开始位置的前后到达顺序、播报优先级的先后顺序和播报结束位置的前后到达顺序,对各个播报事件进行排序。该方法能够使生成的导航语音播报数据的顺序能够优先参照播报开始位置的前后到达顺序和播报优先级的先后顺序,然后参照播报结束位置的前后到达顺序,更符合导航习惯,并且可以减少后续数据处理的计算量,降低SDK筛选播报语句的难度,减小后期维护难度。
在一种可选的实施例中,每个播报事件至少包括播报内容、原始播报路段、预设优先级、事件特征参数子集和原始推荐播报子路段;每个播报事件对应的原始推荐播报子路段为相应的原始播报路段中建议播报相应播报事件的子路段。
在本申请的实施例中,原始推荐播报子路段是诱导播报事件的最佳播报区间,目标推荐播报子路段是对诱导播报事件的最佳播报区间进行调整所得到的调整后的最佳播报区间。
在本申请的另一种实施例中,如图5所示,在对各个播报事件进行排序之前,获取候选导航路线对应的播报事件集合之后,先确定各个播报事件对应的事件特征参数子集以及对应的原始推荐播报子路段。如图5所示,该方法可以采用以下方式执行:
步骤S501,基于目标导航任务,确定目标导航任务对应的候选导航路线。
步骤S502,获取候选导航路线对应的播报事件集合。
其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级。
步骤S503,分别确定播报事件集合中的各个播报事件对应的事件特征参数子集以及对应的原始推荐播报子路段。
示例性地,播报事件集合为是VE_a={VE1,VE2,VE3,VE4,…,VEi,…,VEj,…VEn},VE_a对应的候选导航路线是Line1。服务器200在获取候选导航路线是Line1对应的播报事件集合VE_a={VE1,VE2,VE3,VE4,…,VEi,…,VEj,…VEn}之后,分别确定播报事件集合VE_a中的各个播报事件对应的事件特征参数子集以及对应的原始推荐播报子路段。
在一些实施例中,事件特征参数子集至少包括每个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;播报内容长度是每个播报事件的字数最多的播报语句的长度。该实施例中,分别确定播报事件集合中的各个播报事件对应的事件特征参数子集以及对应的原始推荐播报子路段,可以通过以下步骤:
步骤A1,基于播报事件集合中的各个播报事件对应的播报内容和原始播报路段,分别获取各个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速。
示例性地,服务器200基于播报事件集合中的各个播报事件对应的播报内容和原始播报路段,分别获取各个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速。其中,播报内容长度是每个播报事件的字数最多的播报语句的长度。在一些实施例中,预设播报时机类型可以是服务器200根据播报事件对应的播报内容查询数据存储设备300中存储的事件参数对照表得到的。事件参数对照表中可以存储播报内容与预设播报时机类型、播报速度的对应关系。本申请中的预设播报时机类型是诱导播报事件的播报时机类型。播报速度也可以是通过根据播报事件对应的播报内容查询数据存储设备300中存储的事件参数对照表得到的。事件参数对照表中还可以存储有播报区间与路段行驶均速的对应关系。服务器200可以根据各个播报事件对应的播报区间,查询数据存储设备300中存储的事件参数对照表得到路段行驶均速。
可选地,事件特征参数子集还可以包括道路等级。
具体地,道路等级包括高速和普通路。
示例性地,道路等级也可以在数据存储设备300中存储的事件参数对照表中与播报区间进行关联存储。服务器根据诱导播报事件的播报区间查询事件参数对照表,得到道路等级。根据道路等级可以得到不同道路等级分别对应的平均速度。
步骤A2,根据各个播报事件对应的播报内容长度和播报速度,分别得到各个播报事件对应的播报时长。
示例性地,播报事件集合为是VE_a={VE1,VE2,VE3,VE4,…,VEi,…,VEj,…VEn}中的一个诱导播报事件VEs的播报内容长度可以是U个字,播报速度可以是每秒钟播报H个字,则该诱导播报事件的播报时长Ts为:
Ts=U/H,
其中,s表示该播报时长Ts对应于播报事件集合VE_a中的第s个诱导播报事件。
步骤A3,根据各个播报事件对应的播报时长,以及各个播报事件对应的路段行驶均速、预设播报时机类型,分别得到各个播报事件对应的原始推荐播报子路段。
示例性地,对于一个诱导播报事件VEs,假定其播报区间确定的播报起始位置是point_s1,播报起始位置是point_s2,路段行驶均速为Speed_s_1,播报时机类型为开始位置优先。服务器200根据诱导播报事件VEs对应的播报时长Ts,以及该播报事件对应的路段行驶均速Speed_s_1、预设播报时机类型为开始位置优先,结合诱导播报事件VEs播报区间,得到该播报事件对应的最佳播报区间。例如,确定的诱导播报事件VEs的最佳播报区间的长度Length_s可以是:
Speed_s_1=Ts*Speed_s_1,
确定的诱导播报事件VEs的最佳播报区间起点super_point_s1是point_s1所在的点,进一步地,根据最佳播报区间的长度Length_s和最佳播报区间起点super_point_s1,可以得到最佳播报区间终点super_point_s2。
步骤S504,根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对各个播报事件进行排序,获得目标排序结果。
示例性地,服务器200根据播报事件集合VE_a中各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对播报事件集合VE_a中的各个播报事件进行排序,获得目标排序结果VE_c。
步骤S504的实施过程可以参照图4示出的实施例中步骤S3030~步骤S3034的实施过程,在此不再赘述。
步骤S505,基于目标排序结果,依次读取每个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则依次执行步骤S506和步骤S507。
其中,冲突播报事件与一个播报事件之间存在原始播报路段重叠。
步骤S506,基于一个播报事件对应的原始推荐播报子路段,按预设规则对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段。
示例性地,服务器200基于当前读取的一个播报事件对应的最佳播报区间,按预设规则对冲突播报事件的播报区间进行调整,获得相应的目标播报区间。其中,目标播报区间是对冲突播报事件的播报区间进行调整,得到的该冲突播报事件对应的新的播报范围,在该范围内可以播报该冲突播报事件。
在本申请一种实施例中,原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;目标播报路段包括目标播报起点和目标播报终点;预设优先级包括第一优先级和第二优先级;第一优先级的优先级先后顺序先于第二优先级;播报事件包括第一优先级事件和第二优先级事件;预设播报时机类型为开始位置优先;开始位置优先表示播报事件的播报位置为原始播报路段的起点,该实施例中,原始推荐播报起点为诱导播报事件的最佳播报区间起点,原始推荐播报终点是诱导播报事件的最佳播报区间终点,目标播报起点是对诱导播报事件的播报区间进行调整所得到的调整后的播报区间起点,目标播报终点是对诱导播报事件的播报区间进行调整所得到的调整后的播报区间终点。第一优先级是诱导播报事件的播报优先级的类型中的高优先级,第一优先级是诱导播报事件的播报优先级的类型中的低优先级,高优先级的优先级先后顺序先于低优先级,诱导播报事件包括高优先级事件和低优先级事件;诱导播报事件的预设播报时机类型为开始位置优先;开始位置优先表示诱导播报事件的播报位置为播报区间的起点。该实施例中,步骤S506,基于一个播报事件对应的原始推荐播报子路段,按预设规则对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段,可以如图6所示,包括如下步骤:
步骤S5060,将一个播报事件作为第一优先级事件,冲突播报事件作为第二优先级事件,并获取第一优先级事件和第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取第一优先级事件和第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序。
示例性地,在基于目标排序结果,依次读取每个播报事件时,每读取一个,针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,服务器200将一个播报事件作为高优先级事件,冲突播报事件作为低优先级事件,并获取高优先级事件和低优先级事件分别对应的播报区间起点之间的第一先后到达顺序,以及获取高优先级事件和低优先级事件分别对应的播报区间终点之间的第二先后到达顺序。例如,目标排序结果{(1400,高,1420)、(1500,高,1520)、(1510,低,1710)、(1515,低,2515)、(1600,低,2600)},当前读取的一个播报事件可以是(1500,高,1520),目标排序结果的各个播报事件中存在预设优先级低于播报事件(1500,高,1520)的冲突播报事件:(1510,低,1710)、(1515,低,2515)。服务器200将播报事件作(1500,高,1520)为高优先级事件,冲突播报事件(1510,低,1710)和(1515,低,2515)作为低优先级事件,并获取高优先级事件和低优先级事件分别对应的播报区间起点之间的第一先后到达顺序,以及获取高优先级事件和低优先级事件分别对应的播报区间终点之间的第二先后到达顺序。
例如,对于高优先级事件(1500,高,1520)与低优先级事件(1510,低,1710)而言,第一先后到达顺序为“高优先级事件的播报区间起点先到达”,第二先后到达顺序是“高优先级事件的播报区间终点先到达”。
又例如,若一个目标排序结果中的高优先级事件是(1500,高,1700),假定其对应的冲突播报事件为(1510,低,1530),则第一先后到达顺序为“高优先级事件的播报区间起点先到达”,第二先后到达顺序是“低优先级事件的播报区间终点先到达”。
又例如,若一个目标排序结果中的高优先级事件是(1500,高,1700),假定其对应的冲突播报事件为(1490,低,1510),则第一先后到达顺序为“低优先级事件的播报区间起点先到达”,第二先后到达顺序是“低优先级事件的播报区间终点先到达”。
又例如,若一个目标排序结果中的一个高优先级事件是(1500,高,1700),假定其对应的冲突播报事件为(1490,低,2490),则第一先后到达顺序为“低优先级事件的播报区间起点先到达”,第二先后到达顺序是“高优先级事件的播报区间终点先到达”。
步骤S5061,若第一先后到达顺序为第一优先级事件的原始播报起点先到达,则执行以下操作:将第二优先级事件的原始播报起点调整为第一优先级事件的原始推荐播报终点。
示例性地,一种低优先级事件和高优先级事件的播报区间的相对关系如图7所示,图7中的点A是高优先级事件的最佳播报区间终点的位置,点B是高优先级事件的播报区间终点的位置。服务器200判断出图7中的高优先级事件对应的播报区间起点比低优先级事件对应的播报区间起点先到达,则将图7中的低优先级事件的播报区间起点调整为图7中的高优先级事件的最佳播报区间终点A。
示例性地,一种低优先级事件和高优先级事件的播报区间的相对关系如图8所示,图8中的点A是高优先级事件的最佳播报区间终点的位置。服务器200判断出图8中的高优先级事件对应的播报区间起点比低优先级事件对应的播报区间起点先到达,则将图8中的低优先级事件的播报区间起点调整为图8中的高优先级事件的最佳播报区间终点A。
步骤S5062,若第一先后到达顺序为第二优先级事件的原始播报起点先到达,则执行以下操作:若第二先后到达顺序为第二优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报终点调整为第一优先级事件的原始播报起点;若第二先后到达顺序为第一优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报起点调整为第一优先级事件的原始推荐播报终点。
示例性地,若第一先后到达顺序为低优先级事件的播报区间起点先到达,服务器200分为两种情况作不同处理,以下分别对两种情况举例说明:
第一种情况,一种低优先级事件和高优先级事件的播报区间的相对关系如图9所示,图9中的点D是高优先级事件的播报区间起点的位置。若服务器200进一步判断第二先后到达顺序为低优先级事件的播报区间终点先到达,如图9所示,则将低优先级事件的播报区间终点调整为高优先级事件的播报区间起点D。
第二种情况,一种低优先级事件和高优先级事件的播报区间的相对关系如图10所示,图10中的点D是高优先级事件的播报区间起点的位置,点A是高优先级事件的最佳播报区间终点的位置。若服务器200进一步判断第二先后到达顺序为高优先级事件的播报区间终点先到达,如图10所示,则将低优先级事件的播报区间起点调整为高优先级事件的最佳播报区间终点A。
在本申请另一种实施例中,原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;目标播报路段包括目标播报起点和目标播报终点;预设优先级包括第一优先级和第二优先级;第一优先级的优先级先后顺序先于第二优先级;播报事件包括第一优先级事件和第二优先级事件;预设播报时机类型为结束位置优先;结束位置优先表示播报事件的播报结束位置为原始播报路段的终点;该实施例中,原始推荐播报起点为诱导播报事件的最佳播报区间起点,原始推荐播报终点是诱导播报事件的最佳播报区间终点,目标播报起点是对诱导播报事件的播报区间进行调整所得到的调整后的播报区间起点,目标播报终点是对诱导播报事件的播报区间进行调整所得到的调整后的播报区间终点。第一优先级是诱导播报事件的播报优先级的类型中的高优先级,第一优先级是诱导播报事件的播报优先级的类型中的低优先级,高优先级的优先级先后顺序先于低优先级,诱导播报事件包括高优先级事件和低优先级事件;诱导播报事件的预设播报时机类型为结束位置优先;结束位置优先表示诱导播报事件的播报结束位置为播报区间的终点。该实施例中,步骤S506,基于一个播报事件对应的原始推荐播报子路段,按预设规则对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段,可以如图11所示,包括如下步骤:
步骤S5060’,将一个播报事件作为第一优先级事件,冲突播报事件作为第二优先级事件,并获取第一优先级事件和第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取第一优先级事件和第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序。
示例性地,在基于目标排序结果,依次读取每个播报事件时,每读取一个,针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,服务器200将一个播报事件作为高优先级事件,冲突播报事件作为低优先级事件,并获取高优先级事件和低优先级事件分别对应的播报区间起点之间的第一先后到达顺序,以及获取高优先级事件和低优先级事件分别对应的播报区间终点之间的第二先后到达顺序。
例如,目标排序结果{(1400,高,1420)、(1500,高,1520)、(1510,低,1710)、(1515,低,2515)、(1600,低,2600)},当前读取的一个播报事件可以是(1500,高,1520),目标排序结果的各个播报事件中存在预设优先级低于播报事件(1500,高,1520)的冲突播报事件:(1510,低,1710)、(1515,低,2515)。服务器200将播报事件作(1500,高,1520)为高优先级事件,冲突播报事件(1510,低,1710)和(1515,低,2515)作为低优先级事件,并获取高优先级事件和低优先级事件分别对应的播报区间起点之间的第一先后到达顺序,以及获取高优先级事件和低优先级事件分别对应的播报区间终点之间的第二先后到达顺序。
例如,对于高优先级事件(1500,高,1520)与低优先级事件(1510,低,1710)而言,第一先后到达顺序为“高优先级事件的播报区间起点先到达”,第二先后到达顺序是“高优先级事件的播报区间终点先到达”。
又例如,若一个目标排序结果中的高优先级事件是(1500,高,1700),假定其对应的冲突播报事件为(1510,低,1530),则第一先后到达顺序为“高优先级事件的播报区间起点先到达”,第二先后到达顺序是“低优先级事件的播报区间终点先到达”。
又例如,若一个目标排序结果中的高优先级事件是(1500,高,1700),假定其对应的冲突播报事件为(1490,低,1510),则第一先后到达顺序为“低优先级事件的播报区间起点先到达”,第二先后到达顺序是“低优先级事件的播报区间终点先到达”。
又例如,若一个目标排序结果中的一个高优先级事件是(1500,高,1700),假定其对应的冲突播报事件为(1490,低,2490),则第一先后到达顺序为“低优先级事件的播报区间起点先到达”,第二先后到达顺序是“高优先级事件的播报区间终点先到达”。
步骤S5061’,若第一先后到达顺序为第一优先级事件的原始播报起点先到达,则执行以下操作:若第二先后到达顺序为第一优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报起点调整为第一优先级事件的原始播报终点;若第二先后到达顺序为第二优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报终点调整为第一优先级事件的原始推荐播报起点。
示例性地,若第一先后到达顺序为高优先级事件的播报区间起点先到达,服务器200分为两种情况作不同处理,以下分别对两种情况举例说明:
第一种情况,一种低优先级事件和高优先级事件的播报区间的相对关系如图12所示,图12中的点B是高优先级事件的播报区间终点的位置。若服务器200进一步判断第二先后到达顺序为高优先级事件的播报区间终点先到达,如图12所示,则将低优先级事件的播报区间起点调整为高优先级事件的播报区间终点B。
第二种情况,一种低优先级事件和高优先级事件的播报区间的相对关系如图13所示,图13中的点C是高优先级事件的最佳播报区间起点的位置。若服务器200进一步判断第二先后到达顺序为低优先级事件的播报区间终点先到达,如图13所示,则将低优先级事件的播报区间终点调整为高优先级事件的最佳播报区间起点C。
步骤S5062’,若第一先后到达顺序为第二优先级事件的原始播报起点先到达,则执行以下操作:若第二先后到达顺序为第二优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报终点调整为第一优先级事件的原始推荐播报起点;若第二先后到达顺序为第一优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报起点调整为第一优先级事件的原始播报终点。
示例性地,若第一先后到达顺序为低优先级事件的播报区间起点先到达,服务器200分为两种情况作不同处理,以下分别对两种情况举例说明:
第一种情况,一种低优先级事件和高优先级事件的播报区间的相对关系如图14所示,图14中的点C是高优先级事件的最佳播报区间起点的位置。如图14所示,若服务器200进一步判断第二先后到达顺序为低优先级事件的播报区间终点先到达,则将低优先级事件的播报区间终点调整为高优先级事件的最佳播报区间起点C。
第二种情况,一种低优先级事件和高优先级事件的播报区间的相对关系如图15所示,图15中的点B是高优先级事件的播报区间终点的位置。如图10所示,若服务器200进一步判断第二先后到达顺序为高优先级事件的播报区间终点先到达,则将低优先级事件的播报区间起点调整为高优先级事件的播报区间终点B。
步骤S507,根据冲突播报事件的目标播报路段,对冲突播报事件的原始推荐播报子路段进行调整,获得相应的目标推荐播报子路段。
示例性地,服务器根据冲突播报事件的目标播报区间,对冲突播报事件的最佳播报区间进行调整,获得相应的目标最佳播报区间。其中,目标最佳播报区间,是根据对冲突播报事件的播报区间进行的调整,确定的该冲突播报事件的最合适的播报范围。
示例性地,若一个目标排序结果中的高优先级事件是(1500,高,1700),该高优先级事件的预设播报时机类型为开始位置优先,假定其对应的冲突播报事件为(1510,低,1530),该冲突播报事件的预设播报时机类型为开始位置优先,则第一先后到达顺序为“高优先级事件的播报区间起点先到达”,第二先后到达顺序是“低优先级事件的播报区间终点先到达”。若该高优先级事件(1500,高,1700)的最佳播报区间是(1500,1520),其对应的冲突播报事件(1510,低,1530)的最佳播报区间是(1510,1525)。冲突播报事件的播报区间是(1510,1530),调整后,该冲突播报事件的目标播报区间是(1520,1530)。服务器200根据冲突播报事件(1510,低,1530)的目标播报区间(1520,1530),对冲突播报事件(1510,低,1530)的最佳播报区间(1510,1525)进行调整:冲突播报事件的目标播报区间是(1520,1530),最佳播报区间是(1510,1525),取两个区间的交集,获得相应的目标最佳播报区间(1520,1525)。
步骤S508,基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据。
步骤S501~步骤S502、步骤S504~步骤S505、步骤S508的具体实施过程可以参照前述实施例的实施过程执行,在此不再赘述。
上述的导航语音播报数据的生成方法,通过在对各个播报事件进行排序之前,确定各个播报事件的原始推荐播报子路段,并按预设规则对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段,同时还根据目标播报路段,对冲突播报事件的原始推荐播报子路段进行调整。该方法能够使在服务器中确定导航语音播报数据中的播放事件的建议播报的路段,实现更好的灵活性,可以减少后续数据处理的计算量,降低SDK筛选播报语句的难度,减小后期维护难度。
在本申请另一种实施例中,如图16所示,由服务器200执行的导航语音播报数据的生成方法,可以包括以下步骤:
步骤S1601,获取播报事件集合。
具体地,服务器200基于目标导航任务,确定该目标导航任务对应的候选导航路线,并根据候选导航路线生成候选导航路线对应的各个播报事件,将生成的播报事件存储为播报事件集合,从而得到候选导航路线对应的播报事件集合。候选导航路线的数量可以是一个,也可以是多个。步骤S1601的获取播报事件集合的具体过程可以参照步骤S201~S202,在此不再赘述。
步骤S1602,播报事件避让初始化。
具体地,服务器200分别确定播报事件集合中的各个播报事件对应的事件特征参数子集以及对应的原始推荐播报子路段。步骤S1602的播报事件避让初始化的具体过程可以参照步骤S503,在此不再赘述。
步骤S1603,播报事件排序。
具体地,服务器200根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对各个播报事件进行排序,获得目标排序结果。步骤S1603的播报事件排序的具体过程可以参照步骤S303,在此不再赘述。
步骤S1604,依次处理排序后的高优先级事件。
具体地,基于目标排序结果,服务器200依次读取每个播报事件,并处理排序后的高优先级事件。
步骤S1605,是否有播报区间重叠的低优先级事件。若是,执行S1606;若否,执行S1609。
具体地,对于每个读取的高优先级事件,服务器200判断是否有与当前读取的高优先级事件的播报区间重叠的低优先级事件。
在一些实施例中,与高优先级事件之间存在原始播报路段重叠的低优先级事件,可以称为冲突播报事件。
步骤S1606,将播报区间重叠的低优先级事件保存在临时集合中。
具体地,服务器200将与当前读取的高优先级事件的播报区间重叠的低优先级事件保存在临时集合中,得到与当前读取的高优先级事件对应的低优先级事件集合。
步骤S1607,遍历低优先级事件集合,按照避让处理规则调整低优先级事件区间位置。
具体地,服务器200遍历低优先级事件集合,按照避让处理规则调整低优先级事件的原始播报路段。
在一些实施例中,服务器200基于高优先级事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段。步骤S1607的按照避让处理规则调整低优先级事件区间位置的具体过程可以参照步骤S5060~S5062和步骤S5060’~步骤S5062’,在此不再赘述。
步骤S1608,更新低优先级事件最佳播报区间。
具体地,服务器200根据冲突播报事件的目标播报路段,对冲突播报事件的原始推荐播报子路段进行调整,获得相应的目标推荐播报子路段。
示例性地,服务器根据冲突播报事件的目标播报区间,对冲突播报事件的最佳播报区间进行调整,获得相应的目标最佳播报区间。其中,目标最佳播报区间,是根据对冲突播报事件的播报区间进行的调整,确定的该冲突播报事件的最合适的播报范围。更新低优先级事件最佳播报区间的具体过程可以参照步骤S507,在此不再赘述。
步骤S1609,当前的高优先级事件是否为最后一个高优先级事件。若否,返回步骤S1604;若是,执行步骤S1610。
具体地,服务器200判断当前读取的高优先级事件是否为最后一个高优先级事件:若否,则说明服务器尚未处理完了排序后的播报事件中所有的高优先级事件,返回执行步骤S1604,继续处理排序后的高优先级事件;若是,则说明服务器已经处理完了排序后的播报事件中所有的高优先级事件,执行步骤S1610,以得到导航语音播报数据。
步骤S1610,基于处理后的播报事件集合,生成导航语音播报数据。
其中,导航语音播报数据用于下发到终端设备100上的导航客户端。
具体地,服务器200基于处理后的播报事件集合,生成与候选导航路线对应的导航语音播报数据。生成的导航语音播报数据用于下发到终端设备100上的导航客户端。
上述的导航语音播报数据的生成方法,通过在对各个播报事件进行避让初始化,播报事件排序,依次处理排序后的高优先级事件,并按预设规则对低优先级事件的原始播报路段进行调整,同时对低优先级事件的最佳播报区间进行更新调整,然后基于处理后的播报事件集合,生成导航语音播报数据。该方法能够实现更好的灵活性,可以减少后续数据处理的计算量,降低SDK筛选播报语句的难度,减小后期维护难度。
基于同一发明构思,本申请实施例中还提供了一种导航语音播报数据的生成装置,该导航语音播报数据的生成装置可以布设在服务器中。由于该装置是本申请实施例提供的导航语音播报数据的生成方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图17示出了本申请实施例提供的一种导航语音播报数据的生成装置的结构框图,如图17所示,该导航语音播报数据的生成装置,包括:导航路线生成模块1701、数据初始化模块1702、避让处理模块1703和播报数据生成模块1704;其中,
导航路线生成模块1701,用于基于目标导航任务,确定目标导航任务对应的候选导航路线;
数据初始化模块1702,用于获取候选导航路线对应的播报事件集合,其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级;
避让处理模块1703,用于依次读取播报事件集合中的各个播报事件,每读取一个,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若各个播报事件中存在预设优先级低于一个播报事件的冲突播报事件,则基于一个播报事件对应的原始播报路段,对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;冲突播报事件与一个播报事件之间存在原始播报路段重叠;
播报数据生成模块1704,用于基于调整后的播报事件集合,生成候选导航路线对应的导航语音播报数据。
在一种可选的实施例中,数据初始化模块1702,还用于:根据各个播报事件对应的原始播报路段的先后到达顺序,以及各个播报事件的预设优先级,对各个播报事件进行排序,获得目标排序结果;
避让处理模块1703,具体用于:基于目标排序结果,依次读取每个播报事件。
在一种可选的实施例中,原始播报路段包括原始播报起点和原始播报终点;数据初始化模块1702,具体用于:
根据各个原始播报路段对应的原始播报起点的前后到达顺序,对各个原始播报路段关联的播报事件进行第一排序,获得第一排序结果;
若基于第一排序结果,确定存在原始播报起点的前后到达顺序冲突的至少一组播报事件时,则针对至少一组播报事件中的各组播报事件执行以下操作:针对至少一组播报事件中的一组播报事件,按照一组播报事件中各个播报事件的预设优先级的先后顺序,对各个播报事件进行第二排序,获得第二子排序结果;
基于获得的第二子排序结果对第一排序结果进行调整,获得相应的第二排序结果;
若基于获得的第二排序结果,确定存在原始播报起点的前后到达顺序和预设优先级的先后顺序均冲突的至少一组播报事件时,则针对至少一组播报事件中的各组播报事件执行以下操作:针对至少一组播报事件中的一组播报事件,按照一组播报事件中各个播报事件的原始播放终点的前后到达顺序,对各个播报事件进行第三排序,获得第三子排序结果;
基于获得的第三子排序结果对第二排序结果进行调整,获得相应的第三排序结果,将第三排序结果作为目标排序结果。
在一种可选的实施例中,每个播报事件还包括事件特征参数子集和原始推荐播报子路段;每个播报事件对应的原始推荐播报子路段为相应的原始播报路段中建议播报相应播报事件的子路段;数据初始化模块1702,还用于:
分别确定播报事件集合中的各个播报事件对应的事件特征参数子集以及对应的原始推荐播报子路段;避让处理模块1703,具体用于:
基于一个播报事件对应的原始推荐播报子路段,按预设规则对冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;
根据冲突播报事件的目标播报路段,对冲突播报事件的原始推荐播报子路段进行调整,获得相应的目标推荐播报子路段。
在一种可选的实施例中,事件特征参数子集至少包括每个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;播报内容长度是每个播报事件的字数最多的播报语句的长度;数据初始化模块1702,具体用于:
基于播报事件集合中的各个播报事件对应的播报内容和原始播报路段,分别获取各个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;
根据各个播报事件对应的播报内容长度和播报速度,分别得到各个播报事件对应的播报时长;
根据各个播报事件对应的播报时长,以及各个播报事件对应的路段行驶均速、预设播报时机类型,分别得到各个播报事件对应的原始推荐播报子路段。
在一种可选的实施例中,原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;目标播报路段包括目标播报起点和目标播报终点;预设优先级包括第一优先级和第二优先级;第一优先级的优先级先后顺序先于第二优先级;播报事件包括第一优先级事件和第二优先级事件;预设播报时机类型为开始位置优先;开始位置优先表示播报事件的播报位置为原始播报路段的起点;
避让处理模块1703,具体用于:
将一个播报事件作为第一优先级事件,冲突播报事件作为第二优先级事件,并获取第一优先级事件和第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取第一优先级事件和第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序;
若第一先后到达顺序为第一优先级事件的原始播报起点先到达,则执行以下操作:将第二优先级事件的原始播报起点调整为第一优先级事件的原始推荐播报终点;
若第一先后到达顺序为第二优先级事件的原始播报起点先到达,则执行以下操作:若第二先后到达顺序为第二优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报终点调整为第一优先级事件的原始播报起点;若第二先后到达顺序为第一优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报起点调整为第一优先级事件的原始推荐播报终点。
在一种可选的实施例中,原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;目标播报路段包括目标播报起点和目标播报终点;预设优先级包括第一优先级和第二优先级;第一优先级的优先级先后顺序先于第二优先级;播报事件包括第一优先级事件和第二优先级事件;预设播报时机类型为结束位置优先;结束位置优先表示播报事件的播报结束位置为原始播报路段的终点;
避让处理模块1703,具体用于:
将一个播报事件作为第一优先级事件,冲突播报事件作为第二优先级事件,并获取第一优先级事件和第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取第一优先级事件和第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序;
若第一先后到达顺序为第一优先级事件的原始播报起点先到达,则执行以下操作:若第二先后到达顺序为第一优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报起点调整为第一优先级事件的原始播报终点;若第二先后到达顺序为第二优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报终点调整为第一优先级事件的原始推荐播报起点;
若第一先后到达顺序为第二优先级事件的原始播报起点先到达,则执行以下操作:若第二先后到达顺序为第二优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报终点调整为第一优先级事件的原始推荐播报起点;若第二先后到达顺序为第一优先级事件的原始播报终点先到达,则将第二优先级事件的原始播报起点调整为第一优先级事件的原始播报终点。
基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器。在该实施例中,电子设备的结构可以如图18所示,包括存储器901,通讯模块903、一个或多个处理器902以及一个或多个路线规划引擎905。
存储器901,用于存储处理器902执行的计算机程序。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器901可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器901也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器901是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器901可以是上述存储器的组合。
处理器902,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器902,用于调用存储器901中存储的计算机程序时实现上述导航语音播报数据的生成方法。
通讯模块903用于与终端设备或其他服务器进行通信。
路线规划引擎905用于提供路线规划服务,具体地根据接收到的起点位置信息和目的地位置信息进行导航路径路线计算。
本申请实施例中不限定上述存储器901、通讯模块903、路线规划引擎905和处理器902之间的具体连接介质。本申请实施例在图18中以存储器901和处理器902之间通过总线904连接,总线904在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器901中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的导航语音播报数据的生成方法。处理器902用于执行上述的导航语音播报数据的生成方法。
本申请的实施例还提供了一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请任一实施例所记载的导航语音播报数据的生成方法。
在一些可能的实施方式中,本申请提供的导航语音播报数据的生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的导航语音播报数据的生成方法的步骤,例如,计算机设备可以执行如图2所示的步骤S201~S204的导航语音播报数据的生成方法的流程。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (8)
1.一种导航语音播报数据的生成方法,其特征在于,包括:
基于目标导航任务,确定所述目标导航任务对应的候选导航路线;
获取所述候选导航路线对应的播报事件集合,其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级;所述原始播报路段包括原始播报起点和原始播报终点;
根据各个原始播报路段对应的原始播报起点的前后到达顺序,对所述各个原始播报路段关联的播报事件进行第一排序,获得第一排序结果;
若基于所述第一排序结果,确定存在原始播报起点的前后到达顺序冲突的至少一组播报事件时,则针对所述至少一组播报事件中的各组播报事件执行以下操作:针对所述至少一组播报事件中的一组播报事件,按照所述一组播报事件中各个播报事件的预设优先级的先后顺序,对所述各个播报事件进行第二排序,获得第二子排序结果;
基于获得的第二子排序结果对所述第一排序结果进行调整,获得相应的第二排序结果;
若基于获得的第二排序结果,确定存在原始播报起点的前后到达顺序和预设优先级的先后顺序均冲突的至少一组播报事件时,则针对所述至少一组播报事件中的各组播报事件执行以下操作:针对所述至少一组播报事件中的一组播报事件,按照所述一组播报事件中各个播报事件的原始播放终点的前后到达顺序,对所述各个播报事件进行第三排序,获得第三子排序结果;
基于获得的第三子排序结果对所述第二排序结果进行调整,获得相应的第三排序结果,将所述第三排序结果作为目标排序结果;
基于所述目标排序结果,依次读取每个播报事件,每读取一个播报事件,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若所述各个播报事件中存在预设优先级低于所述一个播报事件的冲突播报事件,则基于所述一个播报事件对应的原始播报路段,对所述冲突播报事件的原始播报路段进行调整,获得所述冲突播报事件的目标播报路段;所述冲突播报事件与所述一个播报事件之间存在原始播报路段重叠;
基于所述调整后的播报事件集合,生成所述候选导航路线对应的导航语音播报数据。
2.根据权利要求1所述的方法,其特征在于,所述各个播报事件均包括事件特征参数子集;
在对所述各个播报事件进行排序之前,所述方法还包括:
分别根据所述各个播报事件的事件特征参数子集,确定所述各个播报事件对应的原始推荐播报子路段;每个播报事件对应的原始推荐播报子路段为相应的所述原始播报路段中建议播报相应播报事件的子路段;
所述基于所述一个播报事件对应的原始播报路段,对所述冲突播报事件的原始播报路段进行调整,获得所述冲突播报事件的目标播报路段,包括:
基于所述一个播报事件对应的原始推荐播报子路段,按预设规则对所述冲突播报事件的原始播报路段进行调整,获得相应的目标播报路段;
根据所述冲突播报事件的目标播报路段,对所述冲突播报事件的原始推荐播报子路段进行调整,获得相应的目标推荐播报子路段。
3.根据权利要求2所述的方法,其特征在于,所述事件特征参数子集至少包括所述每个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;所述播报内容长度是所述每个播报事件的字数最多的播报语句的长度;
所述分别根据所述各个播报事件的事件特征参数子集,确定所述各个播报事件对应的原始推荐播报子路段,包括:
基于所述播报事件集合中的各个播报事件对应的播报内容和原始播报路段,分别获取所述各个播报事件对应的播报内容长度、预设播报时机类型、播报速度、路段行驶均速;
根据所述各个播报事件对应的播报内容长度和播报速度,分别得到所述各个播报事件对应的播报时长;
根据所述各个播报事件对应的播报时长,以及所述各个播报事件对应的路段行驶均速、预设播报时机类型,分别得到所述各个播报事件对应的原始推荐播报子路段。
4.根据权利要求3所述的方法,其特征在于,所述原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;所述目标播报路段包括目标播报起点和目标播报终点;所述预设优先级包括第一优先级和第二优先级;所述第一优先级的优先级先后顺序先于所述第二优先级;所述播报事件包括第一优先级事件和第二优先级事件;所述预设播报时机类型为开始位置优先;所述开始位置优先表示所述播报事件的播报位置为原始播报路段的起点;
所述基于所述一个播报事件对应的原始推荐播报子路段,按预设规则对所述冲突播报事件的原始播报路段进行调整,包括:
将所述一个播报事件作为第一优先级事件,所述冲突播报事件作为第二优先级事件,并获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序;
若所述第一先后到达顺序为所述第一优先级事件的原始播报起点先到达,则执行以下操作:将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始推荐播报终点;
若所述第一先后到达顺序为所述第二优先级事件的原始播报起点先到达,则执行以下操作:若所述第二先后到达顺序为所述第二优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报终点调整为所述第一优先级事件的原始播报起点;若所述第二先后到达顺序为所述第一优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始推荐播报终点。
5.根据权利要求3所述的方法,其特征在于,所述原始推荐播报子路段包括原始推荐播报起点和原始推荐播报终点;所述目标播报路段包括目标播报起点和目标播报终点;所述预设优先级包括第一优先级和第二优先级;所述第一优先级的优先级先后顺序先于所述第二优先级;所述播报事件包括第一优先级事件和第二优先级事件;所述预设播报时机类型为结束位置优先;所述结束位置优先表示所述播报事件的播报结束位置为原始播报路段的终点;
所述基于所述一个播报事件对应的原始推荐播报子路段,按预设规则对所述冲突播报事件的原始播报路段进行调整,包括:
将所述一个播报事件作为第一优先级事件,所述冲突播报事件作为第二优先级事件,并获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报起点之间的第一先后到达顺序,以及获取所述第一优先级事件和所述第二优先级事件分别对应的原始播报终点之间的第二先后到达顺序;
若所述第一先后到达顺序为所述第一优先级事件的原始播报起点先到达,则执行以下操作:若所述第二先后到达顺序为所述第一优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始播报终点;若所述第二先后到达顺序为所述第二优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报终点调整为所述第一优先级事件的原始推荐播报起点;
若所述第一先后到达顺序为所述第二优先级事件的原始播报起点先到达,则执行以下操作:若所述第二先后到达顺序为所述第二优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报终点调整为所述第一优先级事件的原始推荐播报起点;若所述第二先后到达顺序为所述第一优先级事件的原始播报终点先到达,则将所述第二优先级事件的原始播报起点调整为所述第一优先级事件的原始播报终点。
6.一种导航语音播报数据的生成装置,其特征在于,包括:
导航路线生成模块,用于基于目标导航任务,确定所述目标导航任务对应的候选导航路线;
数据初始化模块,用于获取所述候选导航路线对应的播报事件集合,其中,每个播报事件至少包括播报内容、原始播报路段和预设优先级;所述原始播报路段包括原始播报起点和原始播报终点;根据各个原始播报路段对应的原始播报起点的前后到达顺序,对所述各个原始播报路段关联的播报事件进行第一排序,获得第一排序结果;若基于所述第一排序结果,确定存在原始播报起点的前后到达顺序冲突的至少一组播报事件时,则针对所述至少一组播报事件中的各组播报事件执行以下操作:针对所述至少一组播报事件中的一组播报事件,按照所述一组播报事件中各个播报事件的预设优先级的先后顺序,对所述各个播报事件进行第二排序,获得第二子排序结果;基于获得的第二子排序结果对所述第一排序结果进行调整,获得相应的第二排序结果;若基于获得的第二排序结果,确定存在原始播报起点的前后到达顺序和预设优先级的先后顺序均冲突的至少一组播报事件时,则针对所述至少一组播报事件中的各组播报事件执行以下操作:针对所述至少一组播报事件中的一组播报事件,按照所述一组播报事件中各个播报事件的原始播放终点的前后到达顺序,对所述各个播报事件进行第三排序,获得第三子排序结果;基于获得的第三子排序结果对所述第二排序结果进行调整,获得相应的第三排序结果,将所述第三排序结果作为目标排序结果;
避让处理模块,用于基于所述目标排序结果,依次读取每个播报事件,每读取一个播报事件,执行以下操作,以得到调整后的播报事件集合:针对当前读取的一个播报事件,若所述各个播报事件中存在预设优先级低于所述一个播报事件的冲突播报事件,则基于所述一个播报事件对应的原始播报路段,对所述冲突播报事件的原始播报路段进行调整,获得所述冲突播报事件的目标播报路段;所述冲突播报事件与所述一个播报事件之间存在原始播报路段重叠;
播报数据生成模块,用于基于所述调整后的播报事件集合,生成所述候选导航路线对应的导航语音播报数据。
7.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~5中任一项所述的方法。
8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191525.8A CN112880703B (zh) | 2021-02-19 | 2021-02-19 | 导航语音播报数据的生成方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191525.8A CN112880703B (zh) | 2021-02-19 | 2021-02-19 | 导航语音播报数据的生成方法、装置、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112880703A CN112880703A (zh) | 2021-06-01 |
CN112880703B true CN112880703B (zh) | 2022-03-01 |
Family
ID=76056551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191525.8A Active CN112880703B (zh) | 2021-02-19 | 2021-02-19 | 导航语音播报数据的生成方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112880703B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114136308B (zh) * | 2022-01-27 | 2022-06-07 | 荣耀终端有限公司 | 导航方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202147A (ja) * | 2000-12-28 | 2002-07-19 | Aisin Aw Co Ltd | ナビゲーション装置 |
CN106156303A (zh) * | 2016-06-30 | 2016-11-23 | 百度在线网络技术(北京)有限公司 | 播报处理方法及装置 |
CN110017848A (zh) * | 2019-04-11 | 2019-07-16 | 北京三快在线科技有限公司 | 语音导航方法、装置、电子设备及存储介质 |
CN111664863A (zh) * | 2019-03-07 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种播报信息的处理方法、装置及存储介质 |
-
2021
- 2021-02-19 CN CN202110191525.8A patent/CN112880703B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202147A (ja) * | 2000-12-28 | 2002-07-19 | Aisin Aw Co Ltd | ナビゲーション装置 |
CN106156303A (zh) * | 2016-06-30 | 2016-11-23 | 百度在线网络技术(北京)有限公司 | 播报处理方法及装置 |
CN111664863A (zh) * | 2019-03-07 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种播报信息的处理方法、装置及存储介质 |
CN110017848A (zh) * | 2019-04-11 | 2019-07-16 | 北京三快在线科技有限公司 | 语音导航方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112880703A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112766607B (zh) | 出行路线的推荐方法、装置、电子设备及可读存储介质 | |
JP2022520344A (ja) | メッセージプッシュ方法、コンピュータプログラム及びサーバ | |
JP6944970B2 (ja) | 位置更新方法、位置及びナビゲーション経路の表示方法、車両並びにシステム | |
US20110131172A1 (en) | Identifying geospatial patterns from device data | |
CN110573837B (zh) | 导航方法、装置、存储介质以及服务器 | |
US10939240B2 (en) | Location information processing method and apparatus, storage medium and processor | |
JP2018528415A (ja) | ナビゲーション参照点特定及びナビゲーション方法、装置並びに記憶媒体 | |
US20160223344A1 (en) | Travel information recording system, method, and program | |
US10760924B2 (en) | POI information providing server, POI information providing device, POI information providing system and program | |
US20170336216A1 (en) | Guidance device, guidance method, and guidance program | |
US10989549B2 (en) | Route recommendation in map service | |
CN112880703B (zh) | 导航语音播报数据的生成方法、装置、介质及电子设备 | |
CN110264760B (zh) | 一种导航语音播放方法、装置及电子设备 | |
CN112539754A (zh) | 一种基于rds-tmc的高精度地图与传统地图路径匹配方法及装置 | |
CN106323306B (zh) | 一种导航信息处理方法及电子设备 | |
CA3010482A1 (en) | System and method for airport terminal area trajectory data clustering for selecting efficient terminal area procedures | |
US20160047673A1 (en) | Apparatus and method for use with a navigation system | |
JP2020193956A5 (zh) | ||
US8788194B2 (en) | Navigation server and navigation system | |
CN111854775A (zh) | 基于自动导航的无人驾驶汽车,方法和系统 | |
JP2016156770A (ja) | 経路案内システム、方法およびプログラム | |
JP2019120601A (ja) | 経路探索システム及び経路探索装置 | |
CN109297480A (zh) | 用于管理设备的位置的方法和系统 | |
US11869048B2 (en) | User recommendations and reviews using autonomous vehicle information | |
US20210156706A1 (en) | Information provision system, information provision device, and information provision program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046829 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |