车载语音对讲方法、V2X车载终端以及语音对讲系统与流程

文档序号:12494476阅读:482来源:国知局
车载语音对讲方法、V2X车载终端以及语音对讲系统与流程

本发明涉及智能交通技术领域,特别是涉及一种车载语音对讲方法、V2X车载发送终端、V2X车载接收终端以及车载语音对讲系统。



背景技术:

随着经济技术的高速发展,汽车己走进千家万户。人作为交通获得的主动参与者、车辆控制者,在整个交通参与过程中如果能够进行直接的沟通交流是非常有必要的。现有技术中,车辆驾驶者可以通过交通电台、移动电话、手机APP、车载对讲机进行信息沟通,但是由于不同车辆的硬件配置不同,另外各个驾驶员的喜好也不尽相同,使得以上交流平台的受众相对有限,车辆驾驶者不能通过实时语音分享路况信息,影响了车辆驾驶者的交通参与感以及驾驶体验。



技术实现要素:

本发明的目的是提供一种车载语音对讲方法、V2X车载发送终端、V2X车载接收终端以及车载语音对讲系统,以解决现有车载语音对讲交流平台受众有限,影响车辆驾驶员的交通参与感以及驾驶体验的问题。

为解决上述技术问题,本发明提供一种车载语音对讲方法,包括:

车载发送终端接收用户输入的对外发送语音消息的指令,对声音信息进行录入,生成音频数据;将录入的所述音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送至车载无线局域网络中;

车载接收终端通过DSRC技术接收来自所述车载无线局域网络中的所述语音消息;将所述语音消息对应的目的接收终端的设备ID与终端自身的设备ID进行对比,在对比一致的情况下,对接收到的所述语音消息进行播放。

可选地,所述将录入的所述音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送到车载无线局域网络中包括:

将录入的所述音频数据依次存储至发送缓冲队列中;

从所述发送缓冲队列中提取预设长度的音频数据流,采用语音传输协议对所述音频数据以及所述设备ID进行组帧;

将组帧后的语音信息通过DSRC技术发送到所述车载无线局域网络中。

可选地,所述接收来自所述车载无线局域网络中的语音消息包括:

通过DSRC技术接收来自车载无线局域网络中的语音消息;

采用所述语音传输协议对接收到的所述语音消息进行解析,得到音频数据以及对应的设备ID;

将解析得到的所述音频数据以及所述设备ID存入接收缓冲队列中;

所述对接收到的所述语音消息进行播放包括:

从所述接收缓冲队列中获取所述音频数据对应的发送终端的设备ID;

查询是否存在与所述发送终端的设备ID对应的播放句柄,如果是,则将所述音频数据与对应的播放句柄存入播放缓冲队列中;如果否,则新建播放句柄后,将所述音频数据与新建的播放句柄存入播放缓冲队列中;

对所述播放缓冲队列中的音频数据进行播放。

可选地,所述发送缓冲队列、所述接收缓冲队列和/或所述播放缓冲队列采用环形缓冲队列读写算法:

当从所述环形缓冲队列写入或读出数据时,根据R-mK+nK计算所述环形缓冲队列的空闲空间计数值,其中R为所述环形缓冲队列的空间大小,其中R=iK,K为单次写入或读出的长度大小,mK为累计写入数据的大小,nK为累计读出数据的大小,且n<=m,qK为当次读取数据的大小,pK为当次写入数据的大小,其中qK<=R-(R-mK+nK),pk<=R-mK+nK;

若R-mK+nK=0,则所述环形缓冲队列的空闲已写满,写入线程不再写入数据;

若R-mK+nK=R,则所述环形缓冲队列的空间全为空闲,读取线程不再读取数据;

若0<R-mK+nK<R,则所述环形缓冲队列的空闲空间存在且不全为空闲;

当读线程从所述环形缓冲队列中读取数据时,判断nK+qK是否大于R;

如果是,则分别从区间[nK,R-1]和区间[0,[(n+q)%i]K-1]进行读取;如果否,则从区间[nK,nK+qK-1]进行读取;

当写线程从所述环形缓冲队列中写入数据时,判断mK+pK是否大于R;

如果是,则分别从区间[mK,R-1]和区间[0,[(m+p)%i]K-1]进行写入;如果否,则从区间[mK,mK+pK-1]进行写入,其中,%为求余运算。

本发明还提供了一种V2X车载发送终端,包括:

语音录入模块,用于接收用户输入的对外发送语音消息的指令,对声音信息进行录入,生成音频数据;

发送模块,用于将录入的所述音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送至车载无线局域网络中,以使所述车载无线局域网络中的接收终端通过DSRC技术进行接收。

可选地,所述发送模块包括:

发送缓冲单元,用于将录入的所述音频数据依次存储至发送缓冲队列中;

组帧单元,用于从所述发送缓冲队列中提取预设长度的音频数据流,采用语音传输协议对所述音频数据以及所述设备ID进行组帧;

发送单元,用于将组帧后的语音信息通过DSRC技术发送到所述车载无线局域网络中。

本发明还提供了一种V2X车载接收终端,包括:

接收模块,用于通过DSRC技术接收车载无线局域网络中发送终端发送的语音消息;

语音播放模块,用于将所述语音消息对应的目的接收终端的设备ID与终端自身的设备ID进行对比,在对比一致的情况下,对接收到的所述语音消息进行播放。

可选地,所述接收模块包括:

接收单元,用于通过DSRC技术接收车载无线局域网络中发送终端发送的语音消息;

解析单元,用于采用语音传输协议对接收到的所述语音消息进行解析,得到音频数据以及对应的设备ID;

接收缓冲单元,用于将解析得到的所述音频数据以及所述设备ID存入接收缓冲队列中。

可选地,所述语音播放模块包括:

获取单元,用于从所述接收缓冲队列中获取所述音频数据对应的发送终端的设备ID;

查询单元,用于查询是否存在与所述设备ID对应的播放句柄,如果是,则将所述音频数据与对应的播放句柄存入播放缓冲队列中;如果否,则新建播放句柄后,将所述音频数据与新建的播放句柄存入播放缓冲队列中;

播放单元,用于对所述播放缓冲队列中的音频数据进行播放。

本发明还提供了一种车载语音对讲系统,包括:至少一个上述任一种所述V2X车载发送终端以及至少一个上述任一种所述V2X车载接收终端。

本发明所提供的车载语音对讲方法,车载发送终端接收用户输入的对外发送语音消息的指令,对声音信息进行录入,生成音频数据;将录入的音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送至车载无线局域网络中;车载接收终端通过DSRC技术接收来自车载无线局域网络中的语音消息;将语音消息对应的目的接收终端的设备ID与终端自身的设备ID进行对比,在对比一致的情况下,对接收到的语音消息进行播放。本申请利用DSRC技术以及V2X技术实现车车语音实时对讲,为车辆驾驶者之间、车辆驾驶者与智能路侧设施之间、车辆驾驶者与交通指挥者之间提供统一的语音实时对讲平台,使得驾驶者能够通过实时语音相互分享路况信息,及时获知交通指挥口令,提升车辆驾驶者的交通参与感和驾驶体验。此外,本申请还提供了一种V2X车载发送终端、V2X车载接收终端以及车载语音对讲系统。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的车载语音对讲方法的一种具体实施方式的流程图;

图2为本发明所提供的车载语音对讲方法的另一种具体实施方式的流程图;

图3为本发明实施例所提供的消抖键值识别算法的流程示意图;

图4为本发明实施例所提供的消抖键值识别算法的时序示意图;

图5为本发明实施例所提供的语音消息组成字段的结构示意图;

图6为本发明实施例所提供的环形缓冲队列示意图;

图7为本发明实施例所提供的环形缓冲队列读写算法流程示意图;

图8为本发明实施例所提供的V2X车载发送终端的结构框图;

图9为本发明实施例所提供的V2X车载接收终端的结构框图;

图10为本发明实施例提供的V2X车载终端的架构示意图;

图11为车载语音对讲系统的一种具体实施方式中语音信息录入流程示意图;

图12为车载语音对讲系统的一种具体实施方式中语音信息接收播放流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所提供的车载语音对讲方法的一种具体实施方式的流程图如图1所示,具体的,该方法应用于车载无线局域网络,该网络包括信号相连的至少一个V2X车载发送终端以及至少一个V2X车载接收终端。该方法包括:

步骤S101:车载发送终端接收用户输入的对外发送语音消息的指令,对声音信息进行录入,生成音频数据;将录入的所述音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送至车载无线局域网络中;

步骤S102:车载接收终端通过DSRC技术接收来自所述车载无线局域网络中的所述语音消息;将所述语音消息对应的目的接收终端的设备ID与终端自身的设备ID进行对比,在对比一致的情况下,对接收到的所述语音消息进行播放。

基于DSRC的V2X技术是在无线局域网IEEE802.11p标准的基础上发展而来的车载自组织网络通信技术。该技术被广泛运用于车与外界的信息交互,尤其在美国的WAVE和欧洲的CAR2CAR项目中被用于相邻车辆之间行车安全数据的相互通信和数据交换,以期望实现车辆主动式安全预警以及重要交通信息传播。目前基于DSRC的V2X车载装置的应用软件开发主要集中在车辆安全预警、交通信号控制、路况信息提示等功能应用方面,忽略了人作为交通主动参与者、车辆控制者在整个交通参与过程中直接沟通交流的作用。

本申请利用DSRC的V2X技术实现车车语音实时对讲,为车辆驾驶者之间、车辆驾驶者与智能路侧设施之间、车辆驾驶者与交通指挥者之间提供统一的语音实时对讲平台,使得驾驶者能够通过实时语音相互分享路况信息,及时获知交通指挥口令,提升车辆驾驶者的交通参与感和驾驶体验。

在上述实施例的基础上,在发送端将录入的所述音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送到车载无线局域网络中的步骤可以具体为:将录入的所述音频数据依次存储至发送缓冲队列中,从所述发送缓冲队列中提取预设长度的音频数据流,采用语音传输协议对所述音频数据以及所述设备ID进行组帧,将组帧后的语音信息通过DSRC技术发送到所述车载无线局域网络中;

在接收端接收来自所述车载无线局域网络中的语音消息的步骤可以具体为:

通过DSRC技术接收来自车载无线局域网络中的语音消息;采用语音传输协议对接收到的所述语音消息进行解析,得到音频数据以及对应的设备ID,将解析得到的所述音频数据以及所述设备ID存入接收缓冲队列中。

进行播放的步骤具体为:从所述接收缓冲队列中获取所述音频数据对应的发送终端的设备ID;查询是否存在与所述发送终端的设备ID对应的播放句柄,如果是,则将所述音频数据与对应的播放句柄存入播放缓冲队列中;如果否,则新建播放句柄后,将所述音频数据与新建的播放句柄存入播放缓冲队列中;对所述播放缓冲队列中的音频数据进行播放。

如图2本发明所提供的车载语音对讲方法的另一种具体实施方式的流程图所示,该方法包括:

步骤S201:车载发送终端接收用户输入的对外发送语音消息的指令,对声音信息进行录入,生成音频数据;

在本实施例中,可以在车载发送终端上设置手咪按键。在该车载发送终端对外发送语音消息时,手咪按键检测到当前按键信号,在检测到当前按键信号为按下时,启动开始录音。

语音对讲时,需要一直保持手咪按键为按下状态,语音对讲完毕后,需要松开手咪按键。语音对讲需要实时根据手咪按键状态做出响应,因此精确的按键检测显得尤为必要。手咪按键检测可采用中断或查询的方式实现,在机械按键过程中不可避免会产生抖动,因此需要进行消抖确认按键状态。按键消抖可分为硬件消抖和软件消抖,本申请采用了软件消抖键值识别算法,即在按键抖动和按键稳定的时间段内周期采样键值,其中按键稳定采样时间应至少大于等于按键抖动时间的2倍,并分别统计整个采样时间段内各键值的计数值,最后比较各键值计数值的大小,键值计数值较大的就认为是当前按键的状态。

假如机械按键的抖动时间为5-10ms,当软件检测到按键变化时,每隔5ms读取一次键值并计数,在50ms内分别统计键值0和1的采样计数值,由于抖动时间最高为10ms,40ms内均能稳定读取到键值数据,所以其中计数值较大的就表示此时的按键状态。该算法流程示意图以及时序示意图如图3、4所示。

该过程可以具体包括:

在预设周期内统计手咪按键的键值分别为1和0的采样计数值;

比较键值为1以及键值为0的采样计数值,根据采样计数值大的键值的状态,确定手咪按键的当前状态;

在手咪按键的当前状态为按下状态时,生成对外发送语音消息的指令。

步骤S202:将录入的音频数据依次存储至发送缓冲队列中;

录音初始化过程中,对录音模式,配置声道、数据格式、编码率等进行配置。然后根据接收到的对外发送语音消息的指令判断是否调用语音录入函数,语音录入函数是由操作系统(linux、winCE、android、ios等)直接提供的API调用接口。本实施例中在手咪按键状态为按下时,启动录音并依次读取到录入的音频数据,将其存入发送缓冲队列中。

步骤S203:从发送缓冲队列中提取预设长度的音频数据流,采用语音传输协议对音频数据以及设备ID进行组帧;

语音传输协议约定消息帧的组成,为数据封装和解析提供依据。语音消息由设备节点名、消息流标号、消息标识、数据长度、音频数据组成,其组成字段结构如图5所示。

设备节点名和消息流标号字段的长度可能因设备的不同而不同,在协议解析时需要准确辨别设备节点名、消息流标号的起止,才能获得正确的消息标识和音频数据,在协议设计中对这两字段添加起始符和截止符以便辨别,程序在解析消息的过程中可以通过字段起始符和截止符提取变长度的节点名和消息流标号。

判断发送缓冲队列中是否有数据,当数据存在时依次从中取出固定预设长度的音频数据流,并根据语音消息协议将设备节点名、语音消息标志、数据长度和音频数据组帧。

步骤S204:将组帧后的语音信息通过DSRC技术发送到车载无线局域网络中;

调用由V2X协议栈提供的V2X消息发送函数将语音消息发送到车载无线局域网络中,V2X消息发送函数可以具体通过多播或单播的方式将组帧后的数据发送至车载无线局域网络中。

步骤S205:车载接收终端通过DSRC技术接收来自车载无线局域网络中的语音消息;

步骤S206:采用语音传输协议对接收到的语音消息进行解析,得到音频数据以及对应的设备ID;

步骤S207:将解析得到的音频数据以及设备ID存入接收缓冲队列中;

步骤S208:将所述语音消息对应的目的接收终端的设备ID与自身终端的设备ID进行对比,在对比一致的情况下,对接收到的所述语音消息进行播放。

由V2X协议栈提供的V2X消息接收函数获取车载无线网络中的语音消息,根据语音消息协议过滤无线网络中的其它消息,并解析出发送方的设备节点名和音频数据,然后存入接收缓冲队列中。

首先从接收缓冲队列中读取一组包含设备节点名和音频数据的数据信息,然后查询判断该设备节点名是否已有播放句柄,若有则将找到的播放句柄和音频数据存入到播放缓冲队列中,否则为其新建一个播放句柄,并将播放句柄和音频数据存放到播放缓冲队列中。同时查找并清除已经超时未通信的节点播放句柄,维护播放句柄资源。本实施例通过对播放句柄资源的新建和回收管理,保证不同设备节点名的播放句柄和音频数据的一一对应,从而保证多人混音播放的实现。

查询播放缓冲队列中是否存在数据,当数据存在时依次从中取出一组包含播放句柄和音频数据的数据信息,并将其传入操作系统提供的语音播放API接口函数中实现语音播放。

在本实施例中,手咪按键检测、语音录入、V2X消息发送、V2X消息接收、多人混音、语音播放均采用独立的线程,这样的设计方式有利于提高程序处理效率,增强语音对讲的实时性。

其中,手咪按键检测线程实时监控按键状态,并将获得的按键变化信号发送给语音录入线程;语音录入线程根据获得的按键变化信号决定是否启动录音并将获得的音频数据放入发送缓冲队列;V2X消息发送线程循环从发送缓冲队列中读取固定长度的音频数据,按照语音消息协议将设备节点名和音频数据组帧,然后调用V2X消息发送函数将语音消息发送到车载无线局域网络中;V2X消息接收线程调用V2X消息接收函数获取车载无线局域网络中的语音消息,根据语音消息协议解析出发送方的设备节点名和音频数据,并存入接收缓冲队列中;多人混音线程依次从接收缓冲队列中读取数据,分别为每一个不同设备节点名新建并初始化一个唯一的播放句柄,再将该播放句柄和音频数据存入播放缓冲队列中,同时多人混音线程根据超时时间清除不再通信的设备节点名所对应的播放句柄,维护播放句柄列表;语音播放线程依次从播放缓冲队列中读取播放句柄和音频数据,调用语音播放函数实现语音的播放。

进一步地,在上述多线程对同一缓冲队列进行写入和读出操作时,如果没有适当的机制,缓冲队列中的数据可能有被破坏的风险。例如当缓冲队列中的数据还未被B线程读取时,就已经被A线程新写入的数据覆盖而造成数据丢失。因此需要恰当的读写算法,协调各线程之间的读写操作,避免不同线程的读写操作对缓冲队列中的数据造成破坏。多线程对共享资源的操作通常采用临界保护的办法,即一个资源对应一个唯一的操作权限。例如当读取线程获得资源的操作权后,写入线程必须等待读取线程释放操作权后才能获得对资源的操作权,读取和写入线程之间形成对资源操作的互斥关系,从而保护共享资源的数据不被破坏。但是当写入线程获得资源操作权的频率大于读取线程时,将影响读取线程的效率,甚至破坏未读取的数据;当多线程分别对共享资源的操作不产生冲突时,也会分别降低各线程的效率。

鉴于此,本发明实施例提供了一种环形缓冲队列读写算法,利用环形缓冲队列的头、尾标号值和环形缓冲队列的空闲空间计数值来协调各线程对环形缓冲队列的读写,实现数据的环形写入和读取,缓冲队列空间的循环重复利用,读取和写入线程对共享资源的并行操作,保护共享资源的数据不被破坏,提升线程效率。环形缓冲队列示意图如图6所示,环形缓冲队列读写算法流程示意图如图7所示。

设环形缓冲队列的空间大小为R,R=iK,且K>0,i>0,单次从该环形缓冲队列写入或读出的长度大小为K的倍数。初始环形缓冲队列中无数据时,环形缓冲队列的头和尾标号值均相等为0,环形缓冲队列的空闲空间计数值为R。若向环形缓冲队列累计写入大小为mK的数据,且mK<R,此时环形缓冲队列的头标号值为0,环形缓冲队列的尾标号值为mK,环形缓冲队列的空闲空间计数值为R-mK;若再从环形缓冲队列累计读出大小为nK的数据,且n<=m,此时环形缓冲队列的头标号值为nK,环形缓冲队列的尾标号值为mK,环形缓冲队列的空闲空间计数值为R-mK+nK。

各线程分别从环形缓冲队列写入或读出数据时,首先应判断环形缓冲队列的空闲空间计数值R-mK+nK。

(1)R-mK+nK=0

若R-mK+nK=0,表明环形缓冲队列的空闲空间为0,队列中已写满数据。写入线程发现环形缓冲队列的空间已写满数据,将不再继续向该环形缓冲队列写入数据;读取线程发现环形缓冲队列的空间还不全为空闲,可以继续从该环形缓冲队列读取数据。

(2)R-mK+nK=R

若R-mK+nK=R,表明环形缓冲队列的空闲空间为R,队列中已无数据。写入线程发现环形缓冲队列的空闲空间存在,可以继续向该环形缓冲队列写入数据;读取线程发现环形缓冲队列的空间已全为空闲,将不再继续从该环形缓冲队列读取数据。

(3)0<R-mK+nK<R

若0<R-mK+nK<R,表明环形缓冲队列的空闲空间为R-mK+nK。写入线程发现环形缓冲队列的空闲空间存在,可以继续向该环形缓冲队列写入数据;读取线程判断环形缓冲队列的空间不全为空闲,可以继续从该环形缓冲队列读取数据。

然后,各线程从环形缓冲队列写入或读出数据时,应再判断环形缓冲队列的头、尾标号值是否超越计数上限值R。

(1)mK+pK>R

若mK+pK>R,表明环形缓冲队列的尾标号值已超越计数上限值R。按照环形存储算法计算可得写入K长度后环形缓冲队列的尾标号值为[(m+p)%i]K,数据将分别被写入到区间为[mK,R-1]和[0,[(m+p)%i]K-1]的环形缓冲队列中。其中,区间[0,[(m+p)%i]K-1]的左边端点值为0,右边端点值为:m与p的相加值,对i取余后乘以K,再减去1后的数值。

(2)mK+pK<=R

若mK+pK<=R,表明环形缓冲队列的尾标号值未超越计数上限值R。按照环形存储算法计算可得写入K长度后环形缓冲队列的尾标号值为mK+pK,数据将被写入到区间为[mK,mK+pK-1]的环形缓冲队列中。

(3)nK+qK>R

若nK+qK>R,表明环形缓冲队列的头标号值已超越计数上限值R。按照环形存储算法计算可得读取K长度后环形缓冲队列的头标号值为[(n+q)%i]K,数据将分别从区间为[nK,R-1]和[0,[(n+q)%i]K-1]的环形缓冲队列中被读出。其中,区间[0,[(n+q)%i]K-1]的左边端点值为0,右边端点值为:n与q的相加值,对i取余后与K相乘,再减去1后的数值。

(4)nK+qK<=R

若nK+qK<=R,表明环形缓冲队列的头标号值未超越计数上限值R。按照环形存储算法计算可得读取K长度后环形缓冲队列的头标号值为nK+qK,数据将从区间为[nK,nK+qK-1]的环形缓冲队列中被读出;其中qK为当次读取数据的大小,pK当次为写入数据的大小,qK<=R-(R-mK+nK),pk<=R-mK+nK。

本发明实施例基于DSRC的V2X技术上实现的语音实时对讲软件,填补了V2X通信在语音实时对讲应用的空白。V2X语音实时对讲将为车辆驾驶者之间、车辆驾驶者与智能路侧设施之间、车辆驾驶者与交通指挥者之间提供统一的语音实时对讲平台,使得驾驶者能够通过实时语音相互分享路况信息,及时获知交通指挥口令。同时还可以根据单播、组播、广播等不同的消息类型实现与特定车辆通话、车队组内通话以及广播通话等不同应用场景,提升车辆驾驶体验和交通效率。

此外,本发明还提供了一种V2X车载发送终端1,如图8V2X车载发送终端的结构框图所示,该终端包括:

语音录入模块11,用于接收用户输入的对外发送语音消息的指令,对声音信息进行录入,生成音频数据;

发送模块12,用于将录入的所述音频数据以及目的接收终端的设备ID组装成语音信息,并通过DSRC技术发送至车载无线局域网络中,以使所述车载无线局域网络中的接收终端通过DSRC技术进行接收。

作为一种具体实施方式,发送模块12可以进一步包括:

发送缓冲单元,用于将录入的所述音频数据依次存储至发送缓冲队列中;

组帧单元,用于从所述发送缓冲队列中提取预设长度的音频数据流,采用语音传输协议对所述音频数据以及所述设备ID进行组帧;

发送单元,用于将组帧后的语音信息通过DSRC技术发送到所述车载无线局域网络中。

本发明还提供了一种V2X车载接收终端2,如图9所示,该终端包括:

接收模块21,用于通过DSRC技术接收车载无线局域网络中发送终端发送的语音消息;

语音播放模块22,用于将所述语音消息对应的目的接收终端的设备ID与终端自身的设备ID进行对比,在对比一致的情况下,对接收到的所述语音消息进行播放。

其中,接收模块21可以具体包括:

接收单元,用于通过DSRC技术接收车载无线局域网络中发送终端发送的语音消息;

解析单元,用于采用语音传输协议对接收到的所述语音消息进行解析,得到音频数据以及对应的设备ID;

接收缓冲单元,用于将解析得到的所述音频数据以及所述设备ID存入接收缓冲队列中。

语音播放模块22可以具体包括:

获取单元,用于从所述接收缓冲队列中获取所述音频数据对应的发送终端的设备ID;

查询单元,用于查询是否存在与所述设备ID对应的播放句柄,如果是,则将所述音频数据与对应的播放句柄存入播放缓冲队列中;如果否,则新建播放句柄后,将所述音频数据与新建的播放句柄存入播放缓冲队列中;

播放单元,用于对所述播放缓冲队列中的音频数据进行播放。

容易理解的,V2X车载发送终端和V2X车载接收终端可以是不同的终端,但是在多数实施例中,V2X车载发送终端和V2X车载接收终端可以集成为一个V2X车载终端,即V2X车载终端同时包括发送和接收的功能,在一个系统中,既是语音信息采集和发送端,也可以从车载无线局域网络中获取其它V2X车载终端发送的语音信息并播放,从而实现不同安装车辆之间的对讲功能。

下面对本发明实施例提供的车载语音对讲系统进行介绍,下文描述的车载语音对讲系统与上文描述的车载语音对讲方法可相互对应参照。

本发明实施例所提供的车载语音对讲系统具体包括:至少一个上述V2X车载发送终端以及至少一个上述V2X车载接收终端。

容易理解的,车载语音对讲系统也可以是至少两个相互信号连接的如上一实施例所述V2X车载终端。

其中所述V2X终端包括:录入指令检测装置、扬声器、V2X天线、至少一个上述V2X车载发送终端以及至少一个上述V2X车载接收终端,如图10本发明实施例提供的V2X车载终端的架构示意图所示,其中:

录入指令检测装置可以具体为手咪按键,其具体包括:

统计单元,用于在预设周期内统计手咪按键的键值分别为1和0的采样计数值;

检测单元,用于比较键值为1以及键值为0的采样计数值,根据所述采样计数值大的键值的状态,确定所述手咪按键的当前状态;

指令生成单元,用于在所述手咪按键的当前状态为按下状态时,生成对外发送语音消息的指令。

参照图11车载语音对讲系统的一种具体实施方式中语音信息录入流程示意图,车载发送终端的手咪按键实时监控按键状态,并将获得的按键变化信号发送给V2X发送终端;V2X发送终端中的语音录入线程根据获得的按键变化信号决定是否启动录音并将获得的音频数据放入发送缓冲队列;V2X消息发送线程循环从发送缓冲队列中读取固定长度的音频数据,按照语音消息协议将设备节点名和音频数据组帧,然后调用V2X消息发送函数将语音消息发送到车载无线局域网络中。

如图12车载语音对讲系统的一种具体实施方式中语音信息接收播放流程示意图所示,接收终端中的V2X消息接收线程调用V2X消息接收函数获取车载无线局域网络中的语音消息,根据语音消息协议解析出发送方的设备节点名和音频数据,并存入接收缓冲队列中;多人混音线程依次从接收缓冲队列中读取数据,分别为每一个不同设备节点名新建并初始化一个唯一的播放句柄,再将该播放句柄和音频数据存入播放缓冲队列中,同时多人混音线程根据超时时间清除不再通信的设备节点名所对应的播放句柄,维护播放句柄列表;语音播放线程依次从播放缓冲队列中读取播放句柄和音频数据,调用语音播放函数实现语音的播放。

本实施例的车载语音对讲系统用于实现前述的车载语音对讲方法,因此车载语音对讲系统中的具体实施方式可见前文中的车载语音对讲方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的车载语音对讲方法、V2X车载发送终端、V2X车载接收终端以及车载语音对讲系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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