《基于IP网络的语音通信系统设计.pdf》由会员分享,可在线阅读,更多相关《基于IP网络的语音通信系统设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、国 技 2 0 0 6 年 第 1 期 研 究 与 开 发 R E S E A R C H&D E V E I O P M E N T 文章编号:1 0 0 1 8 9 3 X(2 0 0 6)0 1 0 1 2 3 0 4 基于 I P网络的语音通信系统设计 魏 颖,王运盛2,陈 颖2,陈天麒(1 电子科技大学 电子-1-程学院,成都 6 1 0 0 5 4;2 中国西南电子技术研究所,成都 6 1 0 0 3 6)摘要:介绍了网络语音通信的原理,重点分析了影响语音质量的因素,如混音合成、语音延时等。随后描述了一个局域网的语音通信系统的设计实现,并对测试结果进行了 详细分析。关键词:语音通信
2、;网络通信;局域网;语音质量;混音算法 中圈分类号:T N 9 1 2 3;T N 9 1 5 0 2 文献标识码:A De s i g n o f a Vo i c e Co mmu n i c a t i o n S y s t e m Ba s e d o n I P Ne t wo r k WE I Y i n g ,W ANG Y u ns h e n g ,C HE N Y i n g ,C H EN T i a nq t(1 E l e c t r o n i c E n g i n e e r i n g S c h o o l,U n i v e r s i t y o f
3、S c i e n c e a n d T e c h n o l o g y o f C h i n a,C h e n g d u 6 1 0 0 5 4,C h i n a;2 S o u t h w e s t C h i n a I n s t i t u t e o f E l e c t r o n i c T e c h n o l o g y,C h e ngd u 6 1 0 0 3 6,C h i n a)Ab s t r a c t:T h e p r i n c i p l e o f v o i c e c o mmu n i c a t i o n o n n e
4、 t w o r k i s i n t r o d u c e d a n d t h e f a c t o r s a b o u t t h e v o i c e q u a l i t y a r e a n a l y z e d i n d e t a i l,s u c h a s mi x e d 3 i c e a n d v o i c e d e l a y T h e n the a p p l i c a t i o n d e s i g n o f a v o i c e c o m m u n i c a t i o n s y s t e m o n t
5、h e L A N(L o c a l A r e a N e t w o r k)i s d e s c ri b e d,T h e t e s t r e s u l t s a r e p r e s e n t e d a n d t h e i mp r o v e me n t me tho d s a r e s u g g e s t e d Ke y wo r d s:v o i c e c o mmu n i c a t i o n;n e t w o r k e G mmu n i c a t i o n;L A N v o i c e q u a l i;mi x e
6、 d v o i c e a l g o ri thm l 引言 随着通信技术综合化、智能化和个人化的发展,实现数据、语音、图像等多种综合业务的网络通信技 术已成为当今发展主流。目 前,以I P电话业务为代 表的网络音频传输技术已被广泛采用。然而网上语 音的传送仍受网络带宽、传输速率和网络环境等的 制约,因此 I P电话在语音质量和延时等方面还有待 完善。本文重点分析了影响语音质量的一些重要因 素,并介绍了一个局域网的语音通信系统的设计。2 网络语音通信的原理 网络语音通信的基本原理是:模拟语音信号经 模数转换、编码压缩后,按一定的打包规则将压缩帧 封装成 I P数据包通过数据网进行传输,在接
7、收端经 过数据解压、数模转换复原成话音,从而达到语音通 信的目的,如图 l 所示。而网络语音通讯要实现分 布式语音会议系统功能,还需要采用多路语音混合 技术。混音算法是网络语音通信的关键技术,直接 影响语音质量的好坏。H 嚣 煮 鏊 箍 1 解 j 缩 r 1 据 缓 冲 1r_1 茬 赢 r 1 薤 图 1 网络语音通信系统的原理框图 混音的基本思想是在各路输入语音流的采样率 相同的前提下,对各路语音进行线性叠加。为了保 证混音后的语音信号清晰流畅,混音算法必须采用 平滑技术消除叠加引起的溢出和失真。溢出现象是 由于语音数据表示范围和精度的限制而产生的,可 以通过对语音数据进行滤波处理而消除
8、。具体办法 收稿 日期:2 0 0 5一 O 6 0 9;修回 日期:2 0 0 5;一 0 8 0 5 1 2 3 维普资讯 http:/ 国讥 技 2 0 0 6 年 第 1 期 研 究 与 开 发 R E S E A R C H&D E V E I 0PM E NT 是:分析某个求和语音帧中的所有样本,若样本值超 过了器件所能表示的最大范围,那么该样本值之后 的所有样本均乘以一个衰减因子 f 语音包的数据 按照比例缩小不会改变语音的音质和内容。同时硬 件设计上选用高精度的语音 D A芯片,以保证混音 效果。3 网络语音通信的语音质量分析 语音质量一般 由 MO S(M e a n O p
9、 i n i o n S c o r e)来 衡量,M O S 是一种主观评价方法。在 M O S标准中,0 代表最差质量,5代表最佳质量。根据 I T U T(国 际电信联盟 电信标准化部门)G 1 1 4建议,国 标要求:单向延时小于4 0 0 in s,网络延时抖动小 于 8 0 m s,网络丢包率小于 1 O。同时网络丢包率 小于 5 的条件下,话音质量达到 MO S 3 5级以上。表 1 列出的是标准 V o l P编码器和其它一些常用编 码器的语音满意度比较。表 1 语音 电话 常用标准的话音质置 要求带宽 时延 语音 压缩技术(k b i t s)(m s)满意度 P C M(G
10、 7 1 1)6 4 O 7 5 4 4 A D P C M(G 7 2 6)3 2 1 4 2 C SA C E L P(G 7 2 9)8 1 0 4 2 C S A C E L P(G 7 2 9 a)8 1 0 4 2 M P M L G(G 7 2 3 1)6 3 3 0 3 9 8 A C L E P(G 7 2 3 1)6,3 3 0 3 5 其 中 G 7 l 1标 准(8位 P C M 编码,采 样率 8 k H z)实现语音压缩产生的延时小,具有较高 的 M O S,而且实现较简单 J。在网络语音通信系统中,语音采集和编码格式 确定之后,清晰度也就相应确定了。网络中的延时、
11、网络抖动和丢包率 等成为影响话 音质量 的主要 因 素。3 1 语音延时因素分析 语音延时,即端到端的延时,是指从发话人说话 到收话人 听到 中间经 历 的时 间。当延 时小 于 1 5 0 Il l s,不影响通 话 的交互性;当延 时在 2 0 0 4 0 0 m s,通话交互性较差,但 还可接受;当延时大于 4 0 0 m s,则交互通信困难,通话双方甚至需规定通话规则才 能完成通信。1 2 4 造成延时的因素有网络延时、缓冲延时和系统 延时。网络延时是指信息发出到信息收到中间的通信 延时,它又分为排队延时、发送延时和传输延时 J。排队延时指从信息进入队列到获得通信网络所需的 时间;发送
12、延时指从信息的第一位开始到整个信息 帧发送结束所需的时间;传输延时是信息在物理线 路中传输的u f-3。网络延时与节点数 目、帧的大小 及网络速率有关。在 1 0 M 1 0 0 M以太网且节点较少 的环境下,网络延时是随着帧长度而增加的。缓冲延时包括了录音缓冲延时和播放缓冲延 时。前者指录音数据填满一个缓冲区所需要的时 间,后者指从第一位开始播放到整个缓冲区的话音 数据播放完毕需要的时问。两者都和缓冲区的大小 成正比。为了提高网络通信的实时性,发送方应该 尽快地把语音缓冲区内的数据发送出去。当采用 U D P协议发送语音数据时,U D P的最大长度严格地 取决于发送方“网络接口层”的最大传输
13、单元 M T U 的大小。由于 U D P本身不提供任何大块的数据分 割功能,当语音缓冲区太大时,语音层需要把大的缓 冲区分割为小的语音数据块,交给 U D P层。这是一 个时间花费较多的过程,为了消除这个时间延迟,必 须限定语音缓冲区长度,使得一个语音缓冲区内的 数据可以通过一个 U D P发送。因而一个音频缓冲 区应该不大于一个 U D P包数据段的承载能力。系统延 时是指处理过程 中造成 的延时 如话音 数据录音完毕到数据发送出去所经历的延时。这部 分延时除与 Win d o w s 系统调度有关外,还与混音算 法、缓冲数据结构有关。由以上分析可以看出,系统设计中适当减小缓 冲区长度可以
14、缩短语音延时 3 2 延时抖动和丢包分析 抖动是指由于各种延时的变化导致网络中数据 分组到达速率的变化,引起这种变化的因素包括排 队延时、可变的分组大小、中间链路和路由器上的相 对负载。为了补偿抖动,语音设备在接收端上加入 了缓冲区,该缓冲区保存数据分组足够长的时间,使 最慢的分组能即时到达,顺序处理。这样做有助于 避免延时抖动,但会增加系统的延时时间。丢包是 指话音数据包在传输过程中的丢失。尽管以太网中 的数据丢包率低,但长时间的积累会严重影响话音 质量。由于话音数据在短时问内(4 4 0 m s)存在 相关性,接收端可以通过数据恢复方法补偿缺失的 维普资讯 http:/ 国钆 技 2 0
15、0 6 年 第 1 期 研 究 与 开 发 R E S E A R C H D E V E L 0 P M E N T 话音数据。常用的数据恢复方法有静音补偿、背景 噪声补偿、数据包重复、模式匹配修复和线性预测等 方法。4 网络语音通信的实现 在以上网络语音通信分析的基础上,我们实现 了一个以 P C机为平台的局域网语音通信系统。该 系统将用户端的语音数据和控制信号综合到以太网 中,通过以太网完成对终端的通信和控制。该系统 能实现语音、数据及控制信息的实时可靠传输;采用 实时多任务操作系统,完成网络接口、语音数字化以 及多路语音混音,实现分布式多用户会议的功能。为提高话音清晰度,在 G 7 1
16、 1 标准(8位 P C M 编码,采样率 8 k H z)的基础上,提高了采样精度(1 6 b it),并采用双声道。此时一路话音数据的速率为 2 5 6 k b p s(2 X 1 6 X 8 k b p s)。按照设计的规模。若 l 6 个用户终端同时工作,网络数据吞吐量约为 4 M b p s,在 1 0 0 M b p s 的以太网上占用4 的网络资源,这 样的数据量属于轻负荷范围,不会造成网络拥塞。缓冲区大小设计为 1 0 2 4字节,并采用环形缓 冲区来对话音数据进行缓冲和平滑。在图2 所示的 数据结构中,混音后的话音数据在队列的头指针上 加入环形队列,如果话音数据缺失,则填充零
17、数据 段;尾指针在话音缓冲区数据播放完后向前移动,数 据取 出队列 图 2 语 音数 据缓冲区结构示意图 为保障系统的维护性和扩展性,我们采用 广 面 向对象的分析和设计方法以及对象建模技术。具体 软件设计是基 于 Wi n d o w s平台,利用 V i s u a l C+开发工具编写而成。软件设计中,系统功能通过以下4个类及其相 互间的信息交互来实现(见图 3):窗E l 类(C D I g):实现一个能够完成操作和显示状态信息的界面;网 络套接字类(C S o c k e t):实现以太网数据链路的建立 和 发 送、接 收 等 基 本 操 作;网 络 线 程 类(C N e t T
18、h r e a d):实现语音数据的音量调节、混音处理 等;多媒体线程类(C A u d T h r e a d):实现网络数据与 多媒体数据的转换。图 3 语音信号处理类视图 语音信号的处理时序过程如图4 所示。C S o c k。e t 类在接收到网络数据后,向 C N e tT h r e a d传递接收 到的数据,C S o c k e t 进入等待状态,等待下一组数据 的到达,C N e t T h r e a d向 C D I g发出查询操作员控制状 态的消息,C D lg 在接收到该消息后根据操作界面目 前的状态返回控制状态,以确定需不需要对 目 前接 收到的数据进行处理。C N
19、 e t T h r e a d 在接收到控制状 态后,对数据进行缓冲调整、音量调节、混音等处理。与之独立的线程函数 C A u d T h r e a d 通过 Win d o w s 系 统提供的 w a v e o r m a u d io A P I,完成音频设备的打 开、关闭操作,响应音频设备的消息,从而得到录音 数据和填充放音数据,在操作员的控制下完成音频 数据的录音和放音功能。图4 语音信号时序图 5 结果分析 系统在 1 O M I O O M局域网环境下进行了测试,多路语音信号可同时通信,混音效果良好,各用户端 语音清晰连贯,预计 M O S 评分在4 4以上。混音效 果和语
20、音延时的测试结果如下。1 2 5 维普资讯 http:/ 国讥 技 2 0 0 6 年 第1 期 研 究 与 开 发 R E S E A R C H&1)E V E l O P M E N T 以P C M格式分别存储 2个发送端的声音波形 文件,并存储接收端的混音波形文件,从图5可以看 出,混音的语音波形很好地反映了输入声音波形的 叠加。耳机收听的声音清晰连贯,没有失真现象。(a)发送端 1 的语膏信号 (b)发 送端 2 的语 膏信 号 )罐 慢端 的伲 儒 图5 发送端语音波形和接收端混音波形的比较 测试结果也表明缓冲单元的大小直接影响语音 质量。缓冲单元过大导致延时 的增加,而缓 冲单
21、元 太小也会影响通话质量。当缓 冲单元设置为 2 0 4 8 亨节时,延时过长(大于 4 0 0 m s),不满足语音通信 的基本要求;当缓冲单元为 3 2字节时,无法听清对 方声音,因为 Wi n d o w s不完全是一个实 时性 的操作 系统,数据包过短会导致频繁的系统调度,造成数据 丢失。在既定的采样格式下,系统采用 1 0 2 4字节的 话音缓冲区来完成数据的发送和接收,缓冲单元的 录音时问和播放时问为 3 2 m s。当3个语音终端同 时通话时,试验测得网络平均延时约 3 m s。在发送 端,录音缓 冲单 元 的 数 据 存 满 后,Wi n d o w s向 C A u d T
22、h r e a d 发 送MM WI M D A T A 消 息,C A u d T h r e a d的消息处 理 函数读取录音缓 冲单 元 的 数据发送到以太网;在接收端,混音后的数据先放人 1 2 6 环形缓冲区,当输出设备的一个缓冲单元的数据播 放完 后,Wi n d o w s向 C A u d T h r e a d发送 MM WO M D O N E消息,该线程取出环形缓冲区的数据写入输 出设备的缓冲区等待播放。从语音数据单元被写入 环形缓冲区到被取出的平均延时约为 7 0 m S。如果 输出设备需要播放完 几 个缓冲单元的数据才能播放 当前缓冲单元,则等待播放的时间为凡 3 2
23、 m S,凡与 w fl v e fo l,T n a u d i o的配置有关。加之语音采集的缓 冲时间 3 2 m s,语音端到端延 时为:3 2+3+7 O+n 3 2 m s,当 n 为 1 时,延时为 1 3 7 m s。最终本系统测 出的端到端延时为 1 9 0 m s。6 结束语 基于上述分析而实现的网络语音通信系统完全 满足语音通信的要求,目前已成功应用于某集成通 信系统中。该系统还可在系统性能方面得到进一步 提高,如采用适当小的缓冲单元和实时嵌入式操作 系统(如 V x Wo r k s 等)可以缩短语音延时,提高系统 的实时性;采用背景噪声和线性预测等补偿方法进 行丢包数据
24、的恢复,可以提高语音质量。参考文献:1 Y D T 1 0 4 42 0 0 0,I P电话 传真业务 总体技术要求 S 2 赵慧玲,等 分组语音技术与网络实现方案 M 北 京:人民邮电出版社,2 0 0 1 f 3 陈磊,等 以太网在工业控制中的实时能力分析 J 化工自动化及仪表,2 0 0 3,3 0(1):4 4 4 7 4 张绍诚,计算机通信网络 M 北京:北京理工大学 出 版社,1 9 9 0 作者简介 魏颖(1 9 7 2一)。女,湖南人,硕士 研究生,主要研究方向为信号与信息处 理等,(电子信箱)J e n n y w y 1 2 6 c o n;王运盛(1 9 7 9一),男,新疆人,硕士,助理工程师,主要 研究方向为实时嵌入式系统等;陈颖(1 9 7 3一)男,江西人,博士,高级工程师,主要 研究方向包括随机信号处理、通信技术、信号分析、图像处理 及 目标识别等;陈天麒(1 9 3 8一)男,重庆人,教授、博导,主要研究方 向包括白适应信号处理、无源定位等。维普资讯 http:/