一种语音实时传输方法
【技术领域】
[0001] 本发明涉及即时通讯,特别涉及一种语音通讯实现方法。
【背景技术】
[0002] 基于移动设备的监控通讯系统,在企业日常工作中由相关工作人员随身携带或是 手持设备位于现场,通过3G或WiFi信号进行即时通讯,将现场的实时语音和音频信息及时 回传到监控人员,由于设备简单,易于携带等优点,因此得到广泛应用,例如勘察、传媒、物 流运输等行业。对于企业及时了解现场情况作出有效解决方案具有极大的意义。加入语音 和音频传输之后将会极大地提高终端人员的应用范围与效率。然而现有的通讯系统普遍多 为端到端的直接通信,各个终端所在现场的网络状况不确定的情况下,流媒体传输缺乏稳 定性,容易发生数据包丢失和延迟,导致通话质量显著下降,并且对复杂的环境噪声没有针 对性的控制手段,难以达到较好的主观体验。
【发明内容】
[0003] 为解决上述现有技术所存在的问题,本发明提出了一种语音实时传输方法,包括:
[0004] 对语音数据进行去噪处理,将去噪后的数据上传到所述云平台,根据云平台的反 馈信号调节数据发送速率,通过所述云平台将语音数据到监控客户端。
[0005] 优选地,所述云平台包括通信服务器和数据传输服务器,云平台通信服务器进行 信令的解析与转发,处理来自监控客户端的对语音操作的会话连接信令;而云平台数据传 输服务器提供语音的上行通道,把移动终端的语音转发给监控客户端用户,同时提供语音 的下行通道,从监控客户端到移动终端的语音信号转发;在移动终端,语音数据按8000Hz采 样,16位单声道PCM数据,将采集到的数据根据G723算法进行压缩,在多播或单播的网络服 务上提供端对端的网络传输,对于接收的音频数据,经过G723算法解压,将音频播放设备的 参数设置成8000Hz采样,16位单声道PCM数据执行播放。
[0006] 优选地,所述对语音数据进行去噪处理,进一步包括:
[0007] 语音输入X(t)通过延迟累加函数,输出为yc(t)=ATX(t);其中,A = C^f为权重向 量,C为约束矩阵,f为对应的约束响应向量;
[0008] 再将语音输入X(t)通过提取矩阵和K阶冲激响应函数,经提取矩阵处理后的输出 信号为
[0009] H(t)=BX(t);
[0010] 其中,提取矩阵B中的第m列元素向量互线性独立;
[0011] 经提取矩阵处理后的输出信号再经自适应冲激响应函数处理,得到输出信号又丄 ⑴
[0014] 两路输出信号相减,得到处理后语音信号y2(t)=yc(t)-yi(t);
[0015] 寻找滤波函数权重系数Wk( t),使得最终的输出功率最小,对权重向量进行调整:
[0016] W'k(t) =Wk(t)+2 γ y2(t)H(t)
[0017] Wk(t+l)=W'k(t)+2 γ y'2(t)H(t)
[0018]取γ =1/(2| |H(t) I |2),最终权重系数调整为
[0019] Wk(t+l)=W,k(t)+y2(t)H(t)/(| |H(t)| I2);
[0020] 在提取输出信号72后,对语音信号y2进行傅里叶变换和重叠分帧处理,将每帧信号 功率减去估计的噪声功率得到去噪语音信号功率,用语音信号 y2的相位代替去噪语音信号 的相位;然后对去噪语音信号进行傅里叶逆变换即可得到增强后的语音信号。
[0021] 本发明相比现有技术,具有以下优点:
[0022] 本发明提出了一种语音实时传输方法,在语音传输中提高了网络稳定性,提升了 通话质量,取得了较高的信噪比增量和降噪效果。
【附图说明】
[0023] 图1是根据本发明实施例的一种语音实时传输方法的流程图。
【具体实施方式】
[0024] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利 要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以 便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的 一些或者所有细节也可以根据权利要求书实现本发明。
[0025] 本发明的一方面提供了一种语音实时传输方法。图1是根据本发明实施例的一种 语音实时传输方法流程图。
[0026]本发明在基于移动终端进行双向语音传输的即时通讯,即从移动终端经云平台转 发到监控客户端,从监控客户端经云平台转发到移动终端的语音传输。其中移动终端用于 语音数据的采集、编码压缩、去噪与实时播放,对信息进行存储并将语音数据上传到云平 台;云平台包括通信服务器和数据传输服务器,通信服务器用于转发连接消息,数据传输服 务器用于转发语音数据;监控客户端则是用来接收从移动终端上传的语音,因此需要接收 解码并播放接收到的语音信息,并且可以实现控制、数据存储以及用户设备管理。
[0027]移动终端将需要传送的语音数据分割成固定大小的数据段,利用序列号和时间戳 对每个数据段进行标识,将数据段封装到数据包中。移动终端统计传输过程中丢包率,并检 测当前可用带宽;在检测链路的带宽过程中,记录连续数据包之间的间隔时间,通过均值滤 波函数过滤后,使用平均值估计带宽容量。移动终端基于当前丢包率和所检测的带宽来调 整发送速率;为了降低数据传输服务器的资源开销,本发明采用数据传输服务器定期应答 的方式对发送速率进行反馈,数据传输服务器每隔预定时间向移动终端发送一个反馈信 号,移动终端根据收到的反馈信号调节数据发送速率。反馈信号中包含如下内容:该反馈间 隔内收到的数据包总数量;该反馈间隔内丢失的数据包总数量;检测得到的网络带宽;该反 馈间隔内发生的丢包事件数量。在每个传输周期完成时,服务器将丢失的数据段的标识信 息反馈给移动终端,请求重新发送。移动终端在下一个传输周期重新发送这些丢失的数据 包,整个过程反复进行,直到所有的数据包都被成功接收。
[0028]在第一个传输周期,数据传输服务器通过序列号判断数据包有无丢失,如果一次 丢包事件内连续丢失了多个数据包,则记录丢失的第一个和最后一个数据包的序列号,并 加上连续丢包的标志位,以降低反馈的数据量。在传输周期结束时,移动终端向数据传输服 务器发送传送完成的信号,数据传输服务器收到信号后,将丢包链表反馈给移动终端。移动 终端重新发送丢失的数据包,整个过程循环进行,直到数据传输服务器成功接收到所有的 数据包。
[0029]本发明中语音数据按8000Hz采样,16位单声道PCM数据,采集到的数据根据G723算 法进行压缩。在发送之前还需要将语音数据进行去噪和RTSP打包,在多播或单播的网络服 务上提供端对端的网络传输功能,适合传输实时数据。而接收的音频数据,经过G723算法解 压,将音频播放设备的参数设置成8000Hz采样,16位单声道PCM数据即可正常播放。
[0030] 云平台的通信服务器实现信令的解析与转发,处理来自监控客户端的对语音操作 的会话连接信令,如打开语音双向或仅开单向语音等。数据传输服务器提供语音的上行通 道,把移动终端的语音转发给监控客户端用户,同时提供语音的下行通道,从监控客户端到 移动终端一对一的语音信号的转发。
[0031] 当移动终端的数据上传时,数据传输服务器将该数据直接转发给请求的用户;对 于语音下行,因为在移动终端,目前直接接收RTSP数据,然后进行解码。所以,采用跟上行一 样的方式,采用G723数据,进行RTSP打包发送,数据传输服务器直接用于转发,到某一台设 备,在终端接收,解码播放。
[0032]监控客户端的音频处理包括音频上行处理和音频下行处理。上行语音数据的处理 包括接收、解压和播放。监控客户端运行过程中,多路语音同时播放,每路音频数据也同时 接收,但是考虑到多路声音同时播放会造成听觉上的干扰,所以用户