[发明专利]一种基于移动终端的局域网集群双工语音通信方法有效
申请号: | 201510278541.5 | 申请日: | 2015-05-27 |
公开(公告)号: | CN104992711B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 衡伟;孙慧;徐明 | 申请(专利权)人: | 东南大学 |
主分类号: | G10L19/10 | 分类号: | G10L19/10;G10L19/02 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 黄成萍 |
地址: | 211189 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于移动终端的局域网集群双工语音通信方法,采用服务器/客户端架构,以安卓手机作为客户端,以计算机作为服务器,客户端和服务器在局域网内进行通信;客户端分为发送部分和接收部分,发送部分包括拾音模块、采样模块、压缩编码模块和发送模块四个主要部分,接收部分包括接收模块、数据分路模块、解码模块和语音合成模块成四个主要部分;本发明使用无线局域网作为通信环境,采用单播作为数据传输的方式,通过多线程机制实现集团双工的实时语音通信,由服务器程序实现集群通信的数据控制。 1 | ||
搜索关键词: | 客户端 局域网 服务器 双工语音 移动终端 集群 通信 发送 实时语音通信 压缩编码模块 语音合成模块 服务器程序 客户端架构 无线局域网 采样模块 发送模块 分路模块 机制实现 集群通信 接收模块 解码模块 拾音模块 数据传输 数据控制 通信环境 多线程 单播 手机 双工 计算机 | ||
客户端发送部分的工作过程为:客户端首先通过拾音模块获取模拟语音数据,然后经过采样模块进行量化得到PCM语音数据,接着使用压缩编码模块对PCM语音数据进行压缩编码,最后压缩编码形成的数据包经由发送模块的IP链路以UDP包的形式发送给服务器;
服务器的工作过程为:服务器首先将多个客户端发送来的数据包拼接为一个大数据包,然后将大数据包安排给各个目标客户端,同时将大数据包中目标客户端自身发送的数据置0,避免客户端接收到自身发出的数据导致回声,最后将大数据包以UDP包的形式发送给各个目标客户端;
客户端接收部分的工作过程为:客户端首先通过接收模块接收到服务器发送来的大数据包,然后通过数据分路模块将大数据包切分为多路小数据块,接着使用解码模块分别解码各路小数据块得到PCM语音数据,最后使用语音合成模块将所有路的PCM语音数据按采样点叠加得到合成语音,最终完成集群语音的目标;该方法具体包括如下步骤:
(1)拾音模块首先启动压缩编码模块,并初始化待编码数据队列为压缩编码做准备,所述队列满足先进先出的原则;然后拾音模块不断从麦克风中获取模拟语音数据;
(2)采样模块首先将模拟语音数据量化为数字数据,得到数字语音流,再将数字语音流切分成待编码数据块,再依次添加进待编码数据队列;
(3)压缩编码模块首先启动发送模块,并初始化待发送数据队列为发送数据做准备,所述队列满足先进先出的原则;然后压缩编码模块依次从待编码数据队列的头部将待编码数据块取出进行压缩编码,再依次添加进待发送数据队列;
(4)发送模块依次从待发送数据队列的头部将待发送数据取出并发送到服务器,数据发送采用的是UDP协议;
(5)服务器同时接收一个以上客户端发送来的数据,并根据发送客户端的不同对接收到的数据分别做临时存储:为了实现集群通信的目标,服务器为每个客户端维护一个数据队列,将各个发送客户端发送的数据临时存储在各自的数据队列中;
(6)服务器首先将多个客户端发送来的数据包拼接为一个大数据包,然后为每个目标客户端分别产生一个相应的大数据包,具体实现方法是:服务器从所有数据队列中取出位于队列头部的数据包,将其拼接为一个大数据包;对于某一个目标客户端,将该大数据包中,该目标客户端自身发送的数据置0,形成对应该目标客户端的相应的大数据包;服务器将相应的大数据包发送给对应的目标客户端;
(7)接收模块首先启动解码模块,并初始化待解码数据队列为解码做准备,所述队列满足先进先出的原则;然后不断从服务器处接受大数据包并交由数据分路模块;解码模块为每个客户端维护一个待解码数据队列;
(8)数据分路模块对大数据包进行切分形成多路小数据块,多路小数据块根据发送客户端的不同分别添加进不同的待解码数据队列;
(9)解码模块首先启动语音合成模块,并初始化待合成数据队列为语音播放做准备,然后将所有待解码数据队列中位于队列头部的小数据块进行解码,并将解码后的数据依次分别添加进不同的待合成数据队列;语音合成模块为每个客户端维护一个待合成数据队列;
(10)语音合成模块将所有待合成数据队列中位于队列头部的数据按采样点进行叠加,将叠加后数据添加进待播放数据队列;依次取出待播放数据队列中的数据,不断写入播放缓存中。
2.根据权利要求1所述的基于移动终端的局域网集群双工语音通信方法,其特征在于:所述步骤(10)中,将所有待合成数据队列中位于队列头部的数据按采样点进行叠加,具体方法为:将两路数据叠加为一路后再与另一路叠加,直至将所有路数据叠加为一路数据:对于n比特量化的语音幅度数据,若两路数据分别为A和B,则叠加的方法为:当A<0且B<0时:Y=A+B‑(A×B/(‑(2^(n‑1)‑1)))
其他情况:Y=A+B‑(A×B/(2^(n‑1))
其中为Y为叠加后的语音数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510278541.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种带读卡器的MP3播放器
- 下一篇:短时特定音频检测模型生成与检测方法