一种语音实时传输方法
【技术领域】
[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]监控客户端的音频处理包括音频上行处理和音频下行处理。上行语音数据的处理 包括接收、解压和播放。监控客户端运行过程中,多路语音同时播放,每路音频数据也同时 接收,但是考虑到多路声音同时播放会造成听觉上的干扰,所以用户
可根据需要随时切换 收听任意一路音频,其他路的音频则采用静音处理。
[0033]由于网络的不稳定,RTSP语音包可能会出现乱序,因此会首先对RTSP数据包进行 排序,将排序好的数据存入一级缓存中;然后从一级缓存中取出语音包,利用G723解压算法 对其进行解压,将解压好的数据放入二级缓存中;最后从二级缓存中取出语音数据,设置语 音数据播放格式,即8000Hz采样、16位单声道PCM数据,并嵌入时间戳。完成以上操作,将数 据推送到一级缓存中,便可以实现语音数据的播放。
[0034] 语音下行包括语音的采集、编码和发送。监控客户端音频采集首先初始化音频采 集设备、音频采集格式等具体参数。然后通过设备对象创建采集缓冲区对象并初始化通知 机制。最后在需要音频采集时触发音频采集主程序,设备将数据写入缓冲区,应用程序主动 从缓冲区将数据读出,这样就实现了音频采集的功能。为保持与终端发送的数据的一致性, 因此监控客户端语音数据也是按照8000Hz采样的16位单声道PCM语音数据。采集到语音数 据之后便是对数据进行G723编码。
[0035] 在上述监控客户端和移动终端向云平台上传语音数据过程中,不同的现场设备难 免处于多种噪声源的环境,给提取和处理带来的极大的困难,造成巨大的影响。本发明采用 以下去噪过程。
[0036] 首先通过延迟累加函数对期望方向的目标语音信号进行增强,而对其他方向的干 扰噪声进行抑制。对目标信号进行提取使其输出为干扰和噪声信号的组合,并为延迟累加 函数输出信号中的残留噪声提供参考信号。根据噪声参考信号估计延迟累加输出信号中的 噪声信号,以此获得目标语音信号再进一步去除期望方向上残留的干扰噪声信号,以实现 目标信号的增强。
[0037] 语音输入X(t)通过延迟累加函数的输出为yc(t)=ATX(t)。其中,A = C^f为权重向 量,C为约束矩阵,f为对应的约束响应向量。权重向量A随目标信号方向的变化而变化。另一 方面,语音输入通过提取矩阵和K阶冲激响应函数。经过延迟补偿后,每个通道中的信号在 时间上是同步的,要实现提取矩阵输出信号中不含期望信号,只要保证提取矩阵中每一行 元素之和为〇即可。经提取矩阵处理后的输出信号为
[0038] H(t)=BX(t)
[0039] 其中,提取矩阵B中的第m列元素向量bm是相互线性独立的。
[0040] 经提取矩阵处理后的输出信号再经自适应冲激响应函数处理,得到输出信号
[0041 ]其中,
[0042] Wk= [wi(t),W2(t) · · · WK(t) ]T,H(t) = [hi(t),h2(t) · · · hK(t) ]τ。两路输出信 号相减,便可以得到处理后较纯净的语音信号为γ2(υ=^(ο- 71α)。
[0043] yi(t)中不含期望信号而只是干扰和噪声信号的组合,因此寻找合适的滤波函数 权重系数Wk (t ),使得最终的输出功率最小。
[0044] 对权重向量进行调整:
[0045] W'k(t) =Wk(t)+2 γ y2(t)H(t)
[0046] ffk(t+l)=ff,k(t)+2yy,2(t)H(t)
[0047] 取γ=1/(2| |H(t)| I2)。最终权重系数调整为
[0048] Wk(t+l)=W,k(t)+y2(t)H(t)/( I |H(t) I I2)
[0049] 上述方法在一定程度上适用于随机信号的去噪处理。
[0050] 为了进一步去除残留噪声,在提取的输出信号72后,对带噪语音信号进行傅里叶 变换和重叠分帧处理,将每帧信号功率减去估计的噪声功率得到去噪语音信号功率,并根 据人耳对语音信号的幅度比较敏感而对语音的相位不敏感这一特性,用含有噪声的语音信 号72的相位代替去噪语音信号的相位;然后对去噪语音信号进行傅里叶逆变换即可得到增 强后的语音信号。
[0051] 综上所述,本发明提出了一种语音实时传输方法,在语音传输中提高了网络稳定 性,提升了通话质量,取得了较高的信噪比增量和降噪效果。
[0052]显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用 的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储 在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。 [0053]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种语音实时传输方法,用于在云平台环境下实现多个终端的语音传输,其特征在 于,包括: 对语音数据进行去噪处理,将去噪后的数据上传到所述云平台,根据云平台的反馈信 号调节数据发送速率,通过所述云平台将语音数据到监控客户端。2. 根据权利要求1所述的方法,其特征在于,所述云平台包括通信服务器和数据传输服 务器,云平台通信服务器进行信令的解析与转发,处理来自监控客户端的对语音操作的会 话连接信令;而云平台数据传输服务器提供语音的上行通道,把移动终端的语音转发给监 控客户端用户,同时提供语音的下行通道,从监控客户端到移动终端的语音信号转发;在移 动终端,语音数据按8000Hz采样,16位单声道PCM数据,将采集到的数据根据G723算法进行 压缩,在多播或单播的网络服务上提供端对端的网络传输,对于接收的音频数据,经过G723 算法解压,将音频播放设备的参数设置成8000Hz采样,16位单声道PCM数据执行播放。3. 根据权利要求2所述的方法,其特征在于,所述对语音数据进行去噪处理,进一步包 括: 语音输入X(t)通过延迟累加函数,输出为yc(t)=ATX(t);其中,A=C^f为权重向量,C为 约束矩阵,f为对应的约束响应向量; 再将语音输入X(t)通过提取矩阵和K阶冲激响应函数,经提取矩阵处理后的输出信号 为 H(t) =BX(t); 其中,提取矩阵B中的第m列元素向量bj互线性独立; 经提取矩阵处理后的输出信号再经自适应冲激响应函数处理,得到输出信号又"七)两路输出信号相减,得到处理后语音信号 寻找滤波函数权重系数Wk( t ),使得最终的输出功率最小,对权重向量进行调整: W'k(t) = Wk(t)+2 γ y2(t)H(t) Wk(t+1) = W'k(t)+2 γ y'2(t)H(t) 取γ =1/(2 I |H(t) I 12),最终权重系数调整为 Wk(t+l)=W'k(t)+y2(t)H(t)/(| |H(t)| I2); 在提取输出信号y2后,对语音信号y2进行傅里叶变换和重叠分帧处理,将每帧信号功率 减去估计的噪声功率得到去噪语音信号功率,用语音信号y2的相位代替去噪语音信号的相 位;然后对去噪语音信号进行傅里叶逆变换即可得到增强后的语音信号。
【专利摘要】本发明提供了一种语音实时传输方法,该方法包括:对语音数据进行去噪处理,将去噪后的数据上传到所述云平台,根据云平台的反馈信号调节数据发送速率,通过所述云平台将语音数据到监控客户端。本发明提出了一种语音实时传输方法,在语音传输中提高了网络稳定性,提升了通话质量,取得了较高的信噪比增量和降噪效果。
【IPC分类】G10L21/02, H04L1/00, H04L29/06
【公开号】CN105489223
【申请号】CN201510837151
【发明人】王天宇, 宋雷, 刘爽
【申请人】成都微讯云通科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日