一种可动态配置的语音导游方法

文档序号:2528599阅读:204来源:国知局
专利名称:一种可动态配置的语音导游方法
技术领域
本发明涉及地理信息技术,尤其是涉及一种可动态配置的语音导游方法。
技术背景地理信息系统是一种特定的十分重要的空间信息系统。它是在计算机硬、 软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分 布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。地理信 息系统处理、管理的对象是多种地理空间实体数据及其关系,包括空间定位数 据、图形数据、遥感图像数据、属性数据等,用于分析和处理在一定地理区域 内分布的各种现象和过程,解决复杂的规划、决策和管理问题。目前市场上的地理信息产品主要是各种品牌的车载导航仪。这些导航仪利用GPS卫星信号以及专用的电子地图文件可以实现精确的提示、导航功能。但 是这些导航仪因为电子地图的局限, 一般只能实现交通系统中的导航。对于景 区内部的导游、以及详细的导游介绍的需求,往往无能为力。此外,由于电子 地图内容相对固定,但景区内导游信息的内容却是会经常变更,因此现有的导 航系统也不能满足提示信息频繁变更的需求。 发明内容为了解决现有导航产品存在的缺陷,本发明的目的在于提供一种可动态配 置的语音导游方法。本发明采用的技术方案是该方法的步骤如下1) 系统启动时,首先把XML文件中的景点相关信息载入到内存中;2) GPS语句采集模块从虚拟串口读取GPS接收器收到的数据,并从中分裂出GPS语句;3) 把GPS语句送到GPS语句解码模块得到当前的经纬度数据;4) 把经纬度数据送至位置信息处理模块,位置信息处理模块检查所有景点相 关信息;5) 如果判定是在当前位置附近,贝U调用TTS引擎读出导游信息,同时置标 志位为1。所述的读取XML文件以链表的形式把景点信息载入到内存中,并初始把 所有景点的标志位设为0。所述的检查并判定当前位置循环轮询景点链表,根据当前位置和景点位 置的距离判断当前位置附近是否有未输出的景点。如果当前位置附近有多个景 点,则判断当前处于最近的景点。如果判断当前处于景点中,且标志位为0,则 压入输一出队列。所述的调用TTS引擎读出导游信息建立待输出文本队列,以免发生语音 并行输出的情况;循环检查待输出文本队列,如长度大于0,则弹出队尾元素并 调用TTS引擎语音输出。本发明具有的有益效果是1、 可以支持各国不同的GPS卫星导航协议。2、 软硬件需要较少,不需要专门的电子地图文件,只需一个存放典型位置 和相关语音信息映射关系的配置文件。3、 景点介绍是用TTS引擎朗读配置文件中的文字,而不是播放预先录制的 介绍录音;介绍内容可动态配置,适合景区内部的详细导游。4、 功能模块可拆装,可以把位置信息处理模块换成其他GPS数据处理模块。


图1系统的模块结构。 图2系统的运行流程图。
具体实施方式
下面结合附图和实施例对发明作进一步说明。图1指出了整个系统的软硬件模块结构。系统的运行环境是在装有Wince 操作系统的便携设备上。系统依赖的其他硬件主要是蓝牙GPS接收器。系统的 软件模块用带透视效果的块表示,主要包括三个模块GPS语句采集模块、GPS 语句解码模块、位置信息处理模块。模块之间的数据交互关系如下GPS语句 采集模块通过蓝牙接收GPS数据接收器收到的卫星数据,并把他分裂成多条 GPS语句。GPS语句采集模块把GPS语句传给GPS语句解码模块,然后得到返 回的经纬度位置信息。GPS语句采集模块把经纬度位置信息传给位置信息处理 模块处理。位置信息处理模块判断当前位置附近有景点,则调用TTS引擎用语 音输出导游信息。图2指出了整个系统的运行流程图。系统启动后GPS语句采集模块启动采 集线程,把GPS数据从蓝牙虚拟串口处读出并存在缓冲区中。GPS语句采集模 块中的分裂线程也随系统启动而启动。该线程负责从缓冲区中逐条分裂出GPS 语句,然后把GPS语句传给GPS语句解码模块,并取得返回的经纬度数据,再把经纬度数据传给位置信息处理模块。位置信息处理模块在系统启动的时候首先加载XML文件,并把其中存放的各景点的信息存在一个链表中。位置信息处 理模块中的处理线程随即启动,定时遍历该链表,并根据当前位置和景点之间 的距离来判断当前位置附近是否存在景点。如果当前位置附近有超过一个的景 点,则取距离当前位置最近的那个景点。如果判断当前位置附近有未曾输出的 景点,则把景点的导游信息压入语音输出队列中,并把表示是否曾输出过的字 段标为'T'。位置信息处理模块中的输出线程也随系统启动而启动。该线程循环 检查输出队列中是否有待输出元素,如果有,则调用TTS引擎语音输出其中的 队尾元素。XML配置文件的格式如下所示< xml version="1.0" encoding="GB2312" > - <Msp>- <Location id="0" name-"placel" longitude="lonl" eow二T latitude二"latl" nos二"4" range-"50'5<intro>introductionl</intra> <south distance:"咖'、place3〈/south〉 <west distance="50">pl3CB4</west> <north distance="70">pl3ce5</north> </Location>- <Location id=T name pl3ce211 Iongitude="lon2" eow二'T Iatitude="lat2" nos="4" range="50":><intro:>iiitraducUon2</intro> <south distance="100">place3</sMth> <west distance="50">place4</west> <north distance="70">place5</ncirth> </Locstion> </Map>配置文件中,Map为根结点,每一个Location结点代表一个景点。其中每个 标签或属性名意义如下1、 Id:景点编号,全局唯一2、 name: 景点名3、 longitude:经度4、 eow:东经或西经(东1,西3)5、 latitude:讳度6、 nos:北纬或南讳(南:2,北4)7、 range:范围(米)8、 intro:景点介绍
9、 east:东邻景点
10、 south:南邻景点
11、 west:西邻景点
12、 north:北邻景点
13、 distance:距离(米)
权利要求
1、一种可动态配置的语音导游方法,其特征在于该方法的步骤如下1)系统启动时,首先把XML文件中的景点相关信息载入到内存中;2)GPS语句采集模块从虚拟串口读取GPS接收器收到的数据,并从中分裂出GPS语句;3)把GPS语句送到GPS语句解码模块得到当前的经纬度数据;4)把经纬度数据送至位置信息处理模块,位置信息处理模块检查所有景点相关信息;5)如果判定是在当前位置附近,则调用TTS引擎读出导游信息,同时置标志位为1。
2、 根据权利1所述的一种可动态配置的语音导游方法,其特征在于所述的 读取XML文件以链表的形式把景点信息载入到内存中,并初始把所有景点的 标志位设为0。
3、 根据权利1所述的一种可动态配置的语音导游方法,其特征在于所述的 检査并判定当前位置循环轮询景点链表,根据当前位置和景点位置的距离判 断当前位置附近是否有未输出的景点。如果当前位置附近有多个景点,则判断当前处于最近的景点。如果判断当前处于景点中,且标志位为o,则压入输一出队列。
4、 根据权利1所述的一种可动态配置的语音导游方法,其特征在于所述的 调用TTS引擎读出导游信息建立待输出文本队列,以免发生语音并行输出的 情况;循环检查待输出文本队列,如长度大于0,则弹出队尾元素并调用TTS 引擎语音输出。
全文摘要
本发明公开了一种可动态配置的语音导游方法。该方法的步骤为系统启动时,首先把XML文件中的景点相关信息载入到内存中;GPS语句采集模块从虚拟串口读取GPS接收器收到的数据,并从中分裂出GPS语句;把GPS语句送到GPS语句解码模块得到当前的经纬度数据;把经纬度数据送至位置信息处理模块,位置信息处理模块检查所有景点相关信息;如果判定是在当前位置附近,则调用TTS引擎读出导游信息。本发明可以支持各国不同的GPS卫星导航协议;不需要专门的电子地图文件;景点介绍内容可动态配置,适合景区内部的详细导游;功能模块可拆装,可以把位置信息处理模块换成其他GPS数据处理模块。
文档编号G09F25/00GK101217016SQ200810059109
公开日2008年7月9日 申请日期2008年1月14日 优先权日2008年1月14日
发明者吴朝晖, 洁 孙, 纲 潘, 威 罗 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1