一种voip服务器端同步混音转发方法

文档序号:7684868阅读:440来源:国知局
专利名称:一种voip服务器端同步混音转发方法
技术领域
本发明属于语音信号处理技术领域。
背景技术
随着网络技术的发展,VOIP (Voice over Internet Protocol)由于其低 廉的通话费用和良好的网络融合性,越来越有取代传统PSTN电话的趋 势。基于IP网络的电话会议系统利用企业原有的网络线路和设备进行多 方通话会议,将为企业节省巨额的电话费用。通话者只要通过PC终端 或VoIP电话终端就可以进行会议,非常方便。
现有网络设备的速度和带宽完全可以进行基于IP网络的电话会议。 随着芯片厂家的推动,基于WI-FI的各种移动VOIP终端和其它固定的 VoIP终端的价格将不断下降,这将大大方便企业召开会议,增强企业内 部的事务传达和交流。
实现IP网络的电话会议系统的关键是服务器的同步混音算法,它需 要克服网络之间的抖动(networkjitter)及延时,多路语音信号与服务器 之间的时钟倾斜(clock skew),输入语音的活动情况所造成的不同步问 题。此外,混音算法的高效性也非常重要。

发明内容
针对后前面所述三个方面即网络之间的抖动(networkjitter)及延时, 终端与服务器之间的时钟偏差造成的时钟倾斜(clock skew)和输入语音 的活动情况,本发明提出了一种更加高效的VOIP服务器端同步混音转发 方法,它的主要步骤包括
1) 从RTP端口取出的语音帧通过信道被解码,再进行信源解码得 到原始语音波形;
2) 结合语音帧的时间信息和Playout Calc计算出延迟时间Playout time;
3) 结合信源解码的语音波形和Playout time,通过Clock Skew Calc 计算出clock skew的当前状态Skew status;
4) 设计循环缓冲器来处理混音数据;
5) 最后混音器Mixer利用skew status和playout time来控制多个循 环缓冲器的标志位,把当前要的语音波形累加到标志位限定的区间,完 成混音,输出的多路混音帧分别被转发到相应的终端。
所述步骤2) Playout Calc模块针对网络抖动,采用延时的估计和补 偿机制,通过对一帧内的最先和最后一个数据包的延时估计,收到任何 错误纠错包之前的延时估计和网络队列的抖动和路由器的改变所引起的 包间变化估计,采用分类补偿,算出Playout time,消除以上网络因素对 混音处理的影响。
所述步骤3)中Clock Skew Calc采用时钟倾斜的估计和补偿机制, 通过利用指数滑动平均估计,算出时钟倾斜的状态,消除其对混音处理的影响。所述步骤4)中的循环缓冲器包括公共循环缓冲器和分别给每路终端 建立的循环缓冲器。所述步骤5)建立公共循环缓冲器标志位与各个终端循环缓冲器标志 位之间的同步更新机制来保持各个循环缓冲器之间的同步。本发明的有益效果为通过同步机制的使用,使得服务器能够对多 路语音数据进行同步混音,并同步被转发到各个与会终端,使得IP网 络语音会议在实际应用中更加广泛。


图1为VOIP服务器端同步混音转发方法示意图; 图2为Mixer模块中的循环缓冲器结构。
具体实施方式
下面结合附图对本发明进行进一步阐述。如图1所示,从RTP端口取出的语音帧一方面被进行信道解码,然 后再进行信源解码得到原始语音波形,另一方面用语音帧的时间信息用 来计算playout time。用信源解码的语音波形和playout time计算出clock skew的当前状态,最后混音器Mixer利用skew status和playout time来控 制多个循环缓冲器的标志位,把当前要的语音波形累加到标志位限定的 区间,完成混音,输出的多路混音帧分别被转发到各自的终端。Playout Calc模块主要计算出由于网络抖动和延时等因素造成的滞后 播放时间。Clock Skew Calc模块则依据终端与服务器端中,每两帧数据的时间 戳差来判断skew状态(fast, slow, none)。 Mixer模块中的循环缓冲器如图2所示。 本发明主要采用以下技术来实现多路语音的混音及发送
1. 网络抖动(networkjitter)延时的估计,监控和分类补偿机制;
2. 采用时钟倾斜(clockskew)的监控和补偿机制;
3. 设计循环缓冲区来处理存放混音数据;
4. 保持各个循环缓冲区之间的同步。
(1) 网络的抖动,延时的估计和分类补偿机制; 考虑如下三个方面
一帧内的最先和最后一个数据包的延时;
网络队列的抖动和路由器的改变所引起的包间变化;
收到任何错误纠错包之前的延时;
(2) 采用时钟倾斜(clockskew)的估计和补偿机制;
《乂(")-7^) (1) ^ )和、 )是分别是第n个帧的当前到达时间和时间戳,
<formula>formula see original document page 7</formula>
化和^是分别是平均延时估计值和活动延时。
再利用以上status进行补偿操作。
(3) 设计多循环缓冲器来存放各路混音数据;
Mixer模块中除了有公共循环缓冲器外,还分别给每路终端建立循环 缓冲器。(4)保持各个循环缓冲器之间的同步; 混音处理用减法实现。公共循环缓冲器存放所有活动终端的混合语 音数据(m/xtoto,),这些数据被后继处理后发送到非活动的终端。第i个活 动终端循环缓冲器存放自己的语音数据附、,在发送时,再用m/x,。,。,减去 m 的值,后继处理后发送回自己。
(4)
而各个终端循环缓冲器的同步标志位"head"和"tail"都跟着公共 循环缓冲器同步更新。
tail在每帧时间内都同步增加一个单位,而各个"head,中的最大值 赋给"headmix":
headmix = arg max(headj) ( 5 )
基于对网络抖动延时,时钟倾斜和输入语音信号的活动情况的综合 分析及对资源的高效利用的要求,提出一种高效的VOIP服务器端同步混
音转发方法。
权利要求
1. 一种VOIP服务器端同步混音转发方法,它包括1)从RTP端口取出的语音帧通过信道被解码,再进行信源解码得到原始语音波形;2)结合语音帧的时间信息和Playout Calc计算出延迟时间Playouttime;3)结合信源解码的语音波形和Playout time,通过Clock Skew Calc计算出clock skew的当前状态Skew status;4)设计循环缓冲器来处理混音数据;5)最后混音器Mixer利用skew status和playout time来控制多个循环缓冲器的标志位,把当前要的语音波形累加到标志位限定的区间,完成混音,输出的多路混音帧分别被转发到相应的终端。
2、 根据权利要求l所述的VOIP服务器端同步混音转发方法,其特 征在于,所述步骤2) Playout Calc模块针对网络抖动,采用延时的估计 和补偿机制,通过对一帧内的最先和最后一个数据包的延时估计,收到 任何错误纠错包之前的延时估计和网络队列的抖动和路由器的改变所引 起的包间变化估计,采用分类补偿,算出Playout time,消除以上网络因 素对混音处理的影响。
3、 根据权利要求l所述的VOIP服务器端同步混音转发方法,其特 征在于,所述步骤3)中Clock Skew Calc采用时钟倾斜的估计和补偿机 制,通过利用指数滑动平均估计,算出时钟倾斜的状态,消除其对混音 处理的影响。
4、 根据权利要求l所述的VOIP服务器端同步混音转发方法,其特 征在于,所述步骤4)中的循环缓冲器包括公共循环缓冲器和分别给每路 终端建立的循环缓冲器。
5、 根据权利要求l所述的VOIP服务器端同步混音转发方法,其特 征在于,所述步骤5)建立公共循环缓冲器标志位与各个终端循环缓冲器 标志位之间的同步更新机制来保持各个循环缓冲器之间的同步。
全文摘要
本发明公开了一种VOIP服务器端同步混音转发方法,属于语音信号处理技术领域。它针对网络抖动和延时,采用延时的估计和补偿机制;针对终端和服务器之间的时钟偏差造成的时钟倾斜,采用针对时钟倾斜的估计和补偿机制;再就是通过设计循环缓冲器来处理混音数据,并且通过公共循环缓冲器标志位与各个终端循环缓冲器标志位之间的同步更新机制来保持各个循环缓冲器之间的同步。本发明通过同步机制的使用,使得服务器能够对多路语音数据进行同步混音,并同步被转发到各个与会终端,使得IP网络语音会议在实际应用中更加广泛。
文档编号H04L29/06GK101282386SQ20081002822
公开日2008年10月8日 申请日期2008年5月22日 优先权日2008年5月22日
发明者宇 李, 李中华, 谭洪舟, 陈建铭 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1