解决网络抖动的方法及装置制造方法及图纸

技术编号:3552456 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种解决网络抖动的方法及装置。本发明专利技术方法包括:在接收到的语音帧中查找是否有静音帧,如果有,若判断得到网络延时增加,则在静音帧构成的静音段中插入静音帧,若判断得到网络延时减小,则从静音帧构成的静音段中抽取静音帧。本发明专利技术还提供了一种与所述方法对应的解决网络抖动的装置。当网络延时变化时,在本发明专利技术实施例通过改变接收到的语音帧中的静音帧的数量,调整播放接收到的语音帧的时间以消除网络抖动对语音通信的影响,并且,插入或者抽取静音帧并不影响非静音帧的播放。因此,本发明专利技术实施例提供的技术方案不仅解决了网络抖动问题,而且还解决了因网络抖动引起的语音失真问题。

【技术实现步骤摘要】

本专利技术涉及数据传输技术,尤其涉及一种解决网络抖动的方法及装置。技术背景随着互联网技术的不断成熟,在网络上进行语音交流变得相当普及,但 现有网络的质量状况并不能充分满足语音交流的需要,网络中固有的延时、 网络抖动、丢包、乱序等问题对网络上进行的语音交流造成了不可避免的影响,从而直接影响到语音交流的服务质量(Qos)。在对语音交流造成影响的各个因素中,网络抖动是较常见的一个。网络 抖动是指网络中相邻数据包的延时变化,以实现语音交流的即时通讯为例, 发送端以相同的时间间隔,如10毫秒(ms ),将语音帧发送到互联网,通过 互联网将语音帧发送到接收端,如果互联网的网络质量状况能够充分满足语 音交流的需要,则这些语音帧在到达接收端时,仍会保持发送时的时间间隔, 从而使得接收端播放的语音与发送端发送的语音相一致。但是,现有网络的质量状况并不能满足语音交流的需要,发送端发送的 语音帧在网络上经历不同的路由和网络拥塞,使得每个语音帧在网络中的延 时各不相同,在此情况下,语音帧到达接收端的时间间隔不再与发送时的时 间间隔完全一致,从而导致接收端播放的语音产生失真,直接影响到语音交 流的服务质量。为了解决网络抖动对语音交流的影响,现有技术提供了一种Time-scale 抗抖动技术,该技术利用接收端的抖动緩冲区保存接收到的语音帧,采用同 步叠加算法(SOLA)、基音同步叠加算法(PSOLA)或者基于波形相似性的 同步叠加算法(WSOLA)等,对保存在抖动緩冲区中的所有语音帧进行时域 的拉伸或压缩处理。具体包括若判断得到在新的语音帧到来前,抖动緩冲 区中的所有语音帧将被播放完,即网络延时增加时,则采用上述任一算法对 保存在抖动緩冲区中的所有语音帧做时域的拉伸处理,以延长语音帧的播放时间;相反,若判断得到抖动緩冲区将在短时间内收到很多语音帧,即网络 延时减小时,为避免抖动緩冲区中的语音帧溢出,则采用上述任一算法对保 存在抖动缓冲区中的所有语音帧做时域的压缩处理,以缩短语音帧的播放时 间。在对现有技术的研究和实践过程中,专利技术人发现现有技术存在以下问题 Time-scale技术通过调整抖动緩沖区中保存的所有语音帧的播放时间来 适应网络抖动的变化,但是语音帧中包括静音帧和非静音帧,由于对非静音 帧进行时域处理会改变非静音帧的原始采样频率,因此,如果接收端按照原 始采样频率播放经时域处理的非静音帧,则会产生语音失真的问题,具体表 现是语速加快或者语速变的很慢。由此可见,Time-scale技术虽然能够适应网 络抖动的变化,但无法消除网络抖动所带来的语音失真问题。
技术实现思路
本专利技术实施例要解决的技术问题是提供一种解决网络抖动的方法及装 置,能够消除网络抖动带来的语音失真。为解决上述技术问题,本专利技术所提供的实施例是通过以下技术方案实现的本专利技术实施例提供了一种解决网络抖动的方法,包括在接收到的语音帧中查找是否有静音帧,如果有,若判断得到网络延时 增加,则在静音帧构成的静音段中插入静音帧,若判断得到网络延时减小, 则从静音帧构成的静音段中抽取静音帧。优选的,上述方法进一步包括对接收到的语音帧进行静音检测,并标 识出静音帧。优选的,所述对接收到的语音帧进行静音检测,并标识出静音帧具体包括计算接收到的语音帧的语音信号能量以及背景噪声能量,若所述背景噪 声能量与语音信号能量的比值大于预置的静音域值,则将所述语音帧标识为 静音帧。 优选的,判断网络延时是否增加具体包括获取网络抖动预测值,以及播放接收到的语音帧所需时间;计算所述网络抖动预测值与所述时间的差值;将所述差值与预置的网络抖动第一域值进行比较,若所述差值大于所述网络抖动第一域值,则判断得到网络延时增加; 判断网络延时是否减小具体包括将所述网络抖动预测值与所述时间的差值与预置的网络第二域值进行比 较,若所述差值小于所述网络抖动第二域值,则判断得到网络延时减小。 优选的,所述获取网络抖动预测值具体为用从接收到的语音帧中取走语音帧的时间减去相对所述取走的语音帧最 近一次接收的语音帧的接收时间,得到网络抖动预测值。优选的,所述在所述静音帧构成的静音段中插入静音帧具体包括用所述网络抖动预测值与所述播放接收到的语音帧所需时间的差值减去 所述网络抖动第一域值,再除以每帧语音帧播放时间,获得插入静音帧的帧 数;在静音帧构成的静音段中插入所述帧数的静音帧。优选的,所述从所述静音帧构成的静音段中抽取静音帧具体包括用所述网络抖动第二域值减去所述网络抖动预测值与所述播放接收到的 语音帧所需时间的差值,再除以每帧语音帧播放时间,获得抽取静音帧的帧 数;从静音帧构成的静音段中抽取所述帧数的静音帧。本专利技术实施例还提供了一种解决网络抖动的装置,包括静音帧查找单 元,延时判断单元,静音帧插入单元,静音帧抽取单元;所述静音帧查找单元,用于在接收到的语音帧中查找是否有静音帧,如 果有,则触发所述延时判断单元;所述延时判断单元,若判断得到网络延时增加,则触发所述静音帧插入单元,若判断得到网络延时减小,则触发所述静音帧抽取单元;所述静音帧插入单元,用于在静音帧构成的静音段中插入静音帧; 所述静音帧抽取单元,用于从静音帧构成的静音段中抽取静音帧。 优选的,上述装置进一步包括静音帧检测单元; 所述静音帧检测单元,用于对语音帧进行静音检测,并标识出静音帧。 优选的,所述静音检测单元具体包括能量计算单元,用于计算接收到的语音帧的语音信号能量以及背景噪声静音标识单元,用于计算背景噪声能量与语音信号能量的比值,若所述 比值大于预置的静音域值,则将所述语音帧标识为静音帧。优选的,所述延时判断单元具体包括抖动预测单元,第一差值计算单 元,判断单元;所述抖动预测单元,用于获取网络抖动预测值,以及播放所述接收到的 语音帧所需时间;所述第 一差值计算单元,用于计算所述网络抖动预测值与所述时间的差值;所述判断单元,用于将所述差值与预置的网络抖动第一域值进行比较, 若所述差值大于所述网络抖动第一域值,则判断得到网络延时增加,如果否, 则将所述差值与预置的网络抖动第二域值进行比较,若所述差值小于所述网 络抖动第二域值,则判断得到网络延时减小。优选的,所述抖动预测单元具体包括第一时间获取单元,第二时间获 取单元,第二差值计算单元;所述第 一时间获取单元,用于获取从接收到的语音帧中取走语音帧的时间;所述第二时间获取单元,用于获取相对所述取走的语音帧最近一次接收 的语音帧的接收时间;所述第二差值计算单元,用于用所述第 一时间获取单元获取的时间减去 所述第二时间获取单元获取的时间,得到网络抖动预测值。优选的,所述静音帧插入单元具体包括第三差值计算单元,插入帧数 计算单元,插帧单元;所述第三差值计算单元,用于用所述第一差值计算单元获取的差值减去 所述网络抖动第一域值;所述插入帧数计算单元,用于用所述第三差值计算单元的计算结果除以 每帧语音帧播放时间,获得插入静音帧的帧数;所述插帧单元,用于在静音帧构成的静音段中插入所述帧数的静音帧。优选的,所述静音帧抽取单元具体包括第四差值计算单元,抽取帧数 计算单元,抽帧单元;所述第四差值计算单元,用于用所述网络抖动第二域值减去所述第一差 值计算单元获取的差值;所述抽取帧数计算单元,用于用所述第四差值计算单元的计算结本文档来自技高网
...

【技术保护点】
一种解决网络抖动的方法,其特征在于,包括:    在接收到的语音帧中查找是否有静音帧,如果有,若判断得到网络延时增加,则在静音帧构成的静音段中插入静音帧,若判断得到网络延时减小,则从静音帧构成的静音段中抽取静音帧。

【技术特征摘要】

【专利技术属性】
技术研发人员:王新亮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1