1、摘 要 本文对于基于DSP 网络电话终端的语音传输进行了研究, 提出了网络电话通信系统总体设计方案。采用DSP(TMS320DM642)和以太网接口电路(Intel LXT 971)设计了网络电话终端的硬件电路。采用TCP/IP协议对语音包进行封装打包从而达到网络通信的目的,实现了语音信号的计算机网络传输。适用于企、事业单位的电话通信,能够节省安装电话的设备费、维修费和电话费。关键词: TMS320DM642; TLV320AIC23; TCP/IP 协议;Intel LXT 971; Abstract In this paper, we research of VOIP Transmissi
2、on Terminal based on DSP, propose the design program of telephone communication system network. Utilize DSP (TMS320DM642) and Ethernet interface circuit (Intel LXT 971) design the VOIP terminals hardware circuitry. Use the TCP/IP protocol pack the voice bin for the communication though the Internet,
3、realize the computer network transmission of voice signal. Apply to enterprises and institutions of the telephone communication,be able to save the installation of telephone equipment and maintenance fees and telephone charges.Key words: TMS320DM642; TLV320AIC23; TCP/IP protocol ;Intel LXT 971;目 录中文
4、摘要.1英文摘要.21绪论1.1 IP电话的发展背景1.2 IP电话的发展概况1.3 IP电话与传统电话的比较1.4本论文的主要工作2 IP网络技术概述2.1计算机网络基础2.1.1网络分类2.1.2协议软件的分层结构2.2相关TCP/IP网络协议3语音编码技术3.1语音编码的基本原理3.2 G.711语音编码标准的介绍4 IP电话原理及技术4.1 IP电话基本原理4.2 IP电话的关键技术4.2.1分组语音技术4.2.2语音的编码和压缩技术4.2.3静音检测4.2.4分组丢失补偿4.2.5回波抵消4.3 IP电话的控制协议4.3.1H.323协议4.3.2会话初始化协议SIP4数字信号处理(
5、DSP)技术4.1 DSP概述5 系统的设计5.1系统的框图5.2 TLV320AIC23语音处理模块5.2 DSP语音处理模块5.3以太网模块6.软件部分7.数据仿真过程与结果结束语致谢参考文献第一章 绪 论1.1 IP电话的发展背景目前,在数据通信领域中存在着三大交换技术:电路交换、报文交换和分组交换。而历史最为悠久、目前应用最为广泛的就是公众电话网(PSTN ),其是基于电路交换技术,基本特点是为通话双方固定分配一条具有固定带宽的通信电路,在数字网中电路带宽为64kbit/s。一次通信包括建立电路、通话和释放电路三个过程,其中电路建立和释放需要信令的支持。通常将基于电路交换技术的通信网称
6、为电路交换网(SCN-Switched Circuit Network),它包括模拟和数字的固定电话网和移动电话网。SCN的优点是可以保证为用户提供足够的带宽,从而确保低时延、低失真的实时通信服务质量(QOS);缺点是网络带宽利用率不高,无论用户是否处于讲话状态,分配的电路始终被占用。据统计,在正常的通话情况下,大约只有40%的时间为有声期,其余时间电路均为空占。至于报文交换,来源于电报通信,其最大的贡献在于提出了存储转发的概念。其传输单元为整个报文,由于报文长度的差异很大,长报文可能导致很大的时延,且缓冲区分配较困难,因此应用范围极其有限。 随着计算机技术的不断发展,尤其是Internet网
7、络不断完善,基于分组交换的数据通信成为最重要的通信方式。而数据通信与话音通信相比具有完全不同的特性和要求:首先,数据通信具有很强的突发性,表现为在短时间内会集中产生大量的信息,突发性的定量描述为峰值比特率和平均比特率之比,对于一般的数据传输,突发性可高达50,如果采用电路交换,若按峰值速率分配电路带宽,则会造成资源严重浪费,若按平均速率分配带宽,则会造成大量数据丢失;其次,在数据通信中,大量的数据终端为计算机,计算机型号繁多,速率相差很大,而电路交换只能定义若干种标准带宽的电路,因此很难用有限类型的电路将不同类型和速率的数据终端有效连接起来;另外,数据通信的基本要求是数据无差错地传送给对端用户
8、,而对传送时延则无严格要求,因此没有必要为通信双方事先分配一条独占的电路,而可根据用户的要求和网络可提供的带宽,动态分配带宽,将突发数据按选定的路径逐个节点地接力前传,数据在每个节点允许暂存,这就是分组交换的基本思想。分组交换技术的两大要素:一是采用长度受限、结构统一的分组作为数据传输的基本单位,每个分组的头部带有地址、序号、校验码等信息,供节点作检错校错、排队、选路等处理,数据部分则透明传送。二是采用存储转发机制,每个节点首先将前一节点送来的分组收下,暂存在缓冲区,然后根据分组头部中的地址信息选择适当的链路将其送至下一节点。由此可见,同一链路在不同时刻可以传送不同通信会话的数据,称之为网络资
9、源的统计复用,这是分组交换和电话交换的最大不同之处。分组交换最适合于数据通信,它不但极大地提高了网络带宽的利用率,而且由于存储转发机制可以根据网络的实际状态动态选择路由,因此即使某些节点发生故障,数据仍然能绕道到达目的地,从而提高了通信的可靠性。但是分组交换技术应用于话音通信就并非那么简单,国际上自七十年代初就开始进行分组话音通信的研究,但其目的并非出于经济上的考虑,而是源于军事通信的需要。由于军事通信系统要求可靠性高,网络可以重构,因此基于分组交换技术的网络被军方青睐,该网络不但需传送数据,还需传送口授命令等话音信号。但由于当时分组网络远未普及,缺乏市场推动力,因此基本上停留在理论研究和实验
10、室研制阶段。1.2 IP电话的发展概况 计算机网络上的话音通信是从七十年代起就开始研究,当时主要是基于ARPANET网络平台进行研究和试验,但话音质量不能令人满意,主要原因是网络速度慢,低比特率话音编码技术还很差,编码质量也不好。由于在广域网上进行分组话音通信的时机尚不成熟,八十年代的研究主要集中在局域网上的话音通信,而IP电话技术的迅速发展是在九十年代以后,特别是在1995年初,以色列VocalTec公司开发出可以通过Internet打长途电话的软件产品Internet Phone ,只要在多媒体PC上安装该软件,就可以通过Internet和其它安装同样的软件的联机用户通话。这个技术上的突破
11、引起了全世界的瞩目,同时,其背后的无限商机也使得许多研究机构、国际标准组织、产品制造公司开始进行此项技术的研究,从而使IP电话技术得到迅速的发展。但是,由于IP电话的国际标准还不完善,不同厂家的产品不能互通,限制了IP电话的进一步发展。到了1996年,经过各国专家数年的努力,ITU-T通过了局域网上支持可视电话通信的网络协议H.323协议,这一协议的推出成为IP网络电话系统的公共规范。与此同时,IETF也积极制订了IP电话通信的网络协议即基于SIP(Session Initiation Protocol)的控制协议。电话到电话:就是普通电话经过电话交换机连到IP电话网关,用电话号码通过IP网进
12、行呼叫,发端网关鉴别主叫用户,翻译电话号码/网关IP地址,发起IP电话呼叫,连接到最靠近被叫的网关,并完成语音编码和打包。收端的网关实现拆包、解码和连接被叫。对于电话到PC或是PC到电话的情况:就是由网关来完成IP地址和电话号码的对应和翻译,以及语音编解码和打包。PC到PC:多媒体PC经过电话线或局域网连接到Internet上,利用IF地址进行呼叫,语音压缩、编解码和打包均利用PC上的处理器、声卡、网卡等硬件资源通过软件方式来完成。从目前应用的IP电话的接入方式看,都必须经过PSTN接入到语音网关,经网守等管理服务器的一系列认证,再进行呼叫、接通和通话。现在虽然打IP电话的费用比打长途电话的费
13、用低了不少,但仍比上网费高了许多。或是PC机上网后通过IP电话软件来打IP电话,这样的话,双方必须都要有多媒体PC机才能实现。造成这种情况的原因是因为网络环境尚不完善,带宽不足,网络接口尚不能直达用户等。但是,随着网络的不断扩展和新技术的出现,高速宽带网络技术,如ATM, FR, FD DI、快速以太网以及高速接入网ADSL, VDSL, SDV, HFC等,尤其现在很多新型的小区都已经将网络接口接入到家庭用户,以前的IP电话接入技术已不太适合这些拥有网络接口直接上网的群体,人们需要的是一种设备终端可以直接上网打电话,而不需要经过公用电话网PSTN,这种设备终端就是IP电话机。也就是说,取而代
14、之将会是用户直接通过IP电话机拨打电话。1.3 IP电话与传统电话的比较与传统的电话比较,IP电话具有如下优点:(1) 节省带宽。电路交换电话消耗的带宽为64kbit/s,而IP电话只需6-8kbit/s(甚至低于2.4kbit/s),从而节省了带宽,降低了成本。(2) 通话费用低。成本的降低,使通话费用随之下降,尤其是长距离通信。(3) 可以方便地集成智能。IP电话网继承了计算机网的智能模块,可以灵活地控制信令和连接,有利于各种增值业务的开发。(4) 开放的体系结构。IP电话的协议体系是开放式的,有利于各个厂商产品的标准化和产品之间的互相连通。(5) 多媒体业务的集成。IP电话网络同时支持语
15、音、数据、图像的传输,为将来全面提供多媒体业务打下基础。1.4本论文的主要工作本文研究的是基于DSP网络电话终端的语音传输的研究,主要工作分以下几部分:(1) 介绍IP网络及相关的TCP/IP协议,IP网络是IP电话的主要载体,采用的是基于分组交 换,这正是IP电话与传统电话的最大不同之处,通过两者的比较分析,更清楚地了解IP电话的优点和使用价值。(2) 介绍语音编码的基本原理,并对几种语音编码标准进行分析和比较。重点介绍和分析G.711标准的语音编码。(3) 介绍DSP原理和结构,主要是TMS320C642,此部分是作为语音编码的核心器件。(4) 重点介绍IP电话的语音传输的软件实现过程,包
16、括语音的数模转换,压缩编码,以及打包封装等过程。第二章IP网络技术概述2.1计算机网络基础2.1.1网络分类按照网络规模的大小,可将计算机网络分为:广域网(WAN-Wide Area Network)和局域网(LAN-Local Area Network)。广域网有时称远程网,它能提供长距离的通信,许多广域网技术并不限制通信的距离;一个广域网可以允许通信的终点在任意远的地方。通常,广域网运行的速率比局域网的低,而且在连接之间有更大的时延,可从几毫秒到十分之几秒。而局域网技术提供计算机之间的最高速连接,但牺牲连接长距离的能力,因为局域网技术覆盖了较短的距离,所以它的时延比广域网的小,在十分之几毫
17、秒到10毫秒之间。2.1.2协议软件的分层结构TCP/IP协议族是当今互连网上最普遍也是最重要的协议,所以在此部分主要介绍TCP/IP协议族。在协议软件的分层中存在两个协议分层模型:一国际标准化组织ISO所制定的开放系统互连参考模型,通常被称为OSI模型。 1.物理层:定义了主机与分组交换机之间物理连接的标准,两台机器之间分组传输的流程,包括对电压和电流等电气特性值的规定。2.数据链路层:定义了如何在主机与分组交换机之间传输数据。由于底层的硬件只能传送比特流,第二层协议必须定义帧的格式,给出帧边界的识别方法;由于传送时的差错破坏数据,还需要差错检测机制(如帧的校验和);还有传输是不可靠的,也要
18、定义互相交换确认机制,使得两台机器能够知道是否传输成功。 3.网络层:第三层又叫通信子网层,定义了在网络上传输的基本数据单元以及目的寻址和选路的概念,同时还要处理网络拥塞的问题。 4.运输层:提供收信主机到发信主机之间的端到端的可靠传输。需要指出的是,即使下层的协议在传输时都提供可靠性检查,作为端到端的第四层也要进行检验来确保在中间的传输过程中没有机器出故障。 5.会话层:描述了协议软件应该如何组织,以便提供应用程序所需的功能。 6.表示层:第六层的目的在于将许多应用程序在使用网络时所需的功能包容进来,如:将文本压缩,将图象转换为可在网络上传输的比特流。7.应用层:第七层包括了使用网络的应用程
19、序,如:电子邮件和文件传输程序。 二.TCP/IP Internet分层模型,这个分层模型并非出自哪个标准组织,而是出自一些对TCP/IP协议的研究。 TCP/IP软件是由四个构筑在第五层即硬件层上的概念性层次构成的。 1.应用层:在这个最高层中,用户调用应用程序来访问TCP/IP互连网络;与各个运输层协议协调工作的应用程序负责接收和发送数据。 2.运输层:运输层的基本任务是提供应用程序之间的通信服务,这种通信又叫端到端通信。运输层要系统地管理信息的流动,还要提供可靠的传输的传输服务以确保数据无差错的,无乱序的到达,为了达到这个目的,运输层协议软件要进行协商,让接收方回送确认信息及让发送方重发
20、丢失的分组。运输协议软件把传送的数据流划分为小块(有时把这些小块称为分组),把每个分组连同目的地址交给下一层去发送。3.Internet层:这一层是用来处理机器之间的通信问题。它接收运输层请求,传输某个具有目的地址信息的分组。该层把分组封装到IF数据报中,填入数据报的首部(也称报头),用路由算法来选择是直接把数据报发送到目标机还是把数据报发给路由器,然后把数据报交给下面的网络接口层中的对应网络接口模块。该层还要处理接收到的数据报,检验其正确性,使用路由算法来决定对数据报是否在本地进行处理还是继续向前传送。如果数据报的目的机处于本机所在的网络,该层软件就把数据报的首部剥去,再选择适当的运输层协议
21、来处理这个分组。最后,Internet层还要适时地发出ICMP (Internet控制报文协议)的差错和控制报文,并处理接收到的ICMP报文。4.网络接口层:这是TCP/IP协议软件的最底层,它负责接收IP数据报和把数据报通过选定的网络发送出去。网络接口层包括一个设备驱动程序(如机器与局域网相连时需要相应的驱动程序),也可能是一个复杂的使用自己的数据链路协议的子系统(如网络是由分组交换机组成的时候,这些分组交换机是使用HDLC协议与主机进行通信的)。2.2相关TCP/IP网络协议在TCP/IP模型中存在两个重要的分界线,一个是协议地址分界线,它区分出高层与低层寻址操作;另一个是操作系统分界线,
22、它把系统与应用程序区分开来。应用程序和在Internet层之上的所有协议软件只使用IP地址,而网络接口层处理的是物理地址。如图2.2.1所示。 在此主要介绍Internet层和运输层协议:(1) Internet层协议Internet层中的协议称为Internet协议(IP),它是一种不可靠、无连接投递机制的协议,IP提供了三个重要的定义:第一,IP定义了在整个TCP/IP互连网上数据传输所用的基本单元Internet数据报(datagram ),因此,规定了互连网上传输数据的确切格式;第二,IP软件完成路由选择的功能,选择一个数据发送的路径;第三,除了数据格式和路由选择的精确而正式的定义以外
23、,IP还包括了一组嵌入了不可靠分组投递思想的规则。 (2)运输层协议 运输层协议包括两个协议:一个是不可靠的无连接传输协议用户数据报协议(UDP);另一个是可靠的数据流传输协议(TCP)。1.用户数据报协议(UDP ) 在TCP/IP协议族中,用户数据报协议UDP提供应用程序之间传送数据报的基本机制。UDP提供的协议端口能够区分在一台机器上运行的多个程序,每个UDP报文不仅传送用户数据,还包括发送方和接收方的协议端口,这使得接收方的UDP软件能够把报文送到正确的接收进程,而接收进程也能回送应答报文。UDP使用底层的互连网络协议来传送报文,提供和IP一样的不可靠的无连接数据报传输服务,它不使用确
24、认信息对报文的到达进行确认,不对收到的报文进行排序,也不提供反馈信息来控制机器之间传输的信息流量。所以,UDP报文可能会出现丢失、重复、乱序的现象。2.传输控制协议(TCP)在TCP/IP协议族中,TCP协议提供了可靠的数据流运输服务,确保了在机器之间进行没有重复和丢失的数据流的投递。应用程序与TCP/IP可靠传输服务之间的接口可以用五个特征来表示:面向数据流:当两个应用程序(用户进程)传输大量数据时,将这些数据当做一个可划分为八位组的比特流。 虚电路连接:数据流的传输与打电话类似,在传输开始之前,接收应用程序和发送应用程序都要与操作系统进行交互,通知它们需要进行数据流传输。有缓冲的传送:使用
25、虚电路服务来发送数据流的应用程序不断地向协议软件递交数据八位组,在传输数据时,每个应用程序使用各种大小的数据片。在接收端,协议软件所收到的由数据流投递服务的八位组与其发送顺序完全相同,八位组到达之后经过校验就立即送交相应的接收应用程序。无结构的数据流:TCP/IP协议并未区分结构化的数据流,所以使用数据流服务的应用程序必须在开始连接之前就了解数据流的内容并对其格式进行协商。全双工连接:包括两个独立的、流向相反的数据流,而且这两个数据流之间不进行显式的交互。 TCP也使用伪首部,结构与UDP相同,其中TCP伪首部的协议值为6。3.实时传输协议(RTP) RTP用于实时数据通信,包括语音和图像的传
26、输层协议,它与其它协议一起用于象IP电话这类的交互式业务,提供对实时性应用的支持(如语音、图像),包括定时重建、丢失检测、安全保障以及内容确认等。4.RTP控制协议(RTCP) RTCP是RTP紧密相关的部分,用于监视服务质量和传输对话中成员信息。它接收、分析、产生和发送控制报文,根据需要产生SR, RR, SDES. CNAME. BYE类型的报文。RTCP接收控制模块提交来的报文,把分析结果送到系统数据库中,在数据库中为每一个会话动态提供一张用户列表,记录每一个终端的个人信息以及由RTCP控制报文分析所得出的结果,如丢失报文数目、包丢失率、平均时延、时延抖动,终端个人信息包括IP地址、通信
27、状态等等。如果发现包丢失率超过了指标或时延抖动超过指标则减少媒体传输速率。数据的封装:语音数据在互连网络中传输时要封装到IP数据报中,图2.2.2和图2.2.3给出了示意图。采集到的语音数据经过语音处理后,在每一层中都要加上每层协议的首部,首部中包含了数据的控制和传输信息。语音数据RTP首部 RTP数据区UDP首部 UDP数据区IP首部 IP数据区帧首部 帧数据区图2.2.2数据的UDP/IP封装控制信息TCP首部 TCP数据区IP首部 IP数据区帧首部 帧数据区 图2.2.3数据的TCP/IP封装3语音编码技术3.1语音编码的基本原理语音编码的主要属性有比特率、时延、复杂度和话音质量。在具体
28、实现中,这些属性往往是有矛盾的,必须根据实际应用进行取舍,对各个属性提出折衷的要求,从而确定合适的编码方法。(1)比特率降低比特率是话音编码的首要目标,它直接关系到传输资源的有效利用和网络容量的提高。根据比特率和输入话音的关系可将编码器分两类:固定比特率和可变比特率编码器。现在大部分编码标准都是固定比特率编码,其范围为0.864kbit/s。可变比特率编码是近年来出现的新技术。根据统计,双方通话大约只有40%的时间是真正有声音的,因此一个自然的想法是采用通/断二状态编码尸通状态对应有声期,采用固定比特率编码;断状态对应无声期,传送极低比特率信息(如背景噪声特征)甚至不传任何信息。更复杂的多状态
29、编码还可根据网络负荷、剩余存储容量等外部因素调整其比特率。可变比特率编码主要包含两个算法。一是有声检测(VAD一Voice Activity Detection),主要用于确定输入信号是话音还是背景噪声,其难点在于正确识别话音段的起始点,确保话音的可懂度。二是舒适噪声生成(GNG一Comfortable Noise Generation),主要用于接收端重建背景噪声,其设计必需保证发送端和接收端的同步。(2)时延话音编码器时延由4部分组成:1.算法时延。编码器通常都是根据一定数量的采样值生成话音编码的,这些值的集合称之为一帧。某些算法还需要知道下一帧的部分数据,称之为“前视”(Look hea
30、d)。因此,算法时延就等于帧长和前视长度之和,其值完全取决于算法。2.计算时延。即编码器分析时间和解码器重建时间,其值取决于硬件速度。通常可认为计算时延等于或略小于帧长,以确保下一帧数据到齐后,当前帧已处理完毕。算法时延和计算时延之和称为单向编译器时延。3.复用时延。即装配时延。编码器发送之前和解码器解码之前,必需将整个数据块的所有比特都装配好。4.传输时延。其值离散性很大,取决于是采用专用线还是共享信道。对于共享信道而言,常假设传输时延和复用时延之和约为l个帧长。(3)复杂度复杂度决定了编码器硬件的成本和功耗,也影响到编译码器的实时性。对于诸如手机这样的小型终端设备功耗尤为重要,它关系到设备
31、的价格、体积和电池的大小。通常编码算法都在DSP芯片上运行,其原因是DSP芯片的处理机结构最有利于算法的高效计算。复杂度的衡量指标为定点DSP实现所需的处理器能力,以百万指令/秒(MIPS)为计量单位;以及所需的RAM容量。常称=30MIPS的为高复杂度编码器。一般说来,压缩比特率越低,其复杂度越高。IP网络电话一般选用中低复杂度的低比特率编码。(4)话音质量编解码后恢复的话音质量和许多外界条件有关。一般需要考虑:理想条件下的性能、噪声条件下的性能、传输信道误码的影响、多重编解码的影响、和其它标准编码器级联的情况、不同发话者(如高音和低音)的识别、两个讲话者同时讲话的情况以及不同语言的影响等。
32、编码比特率越低,恢复信号的质量和输入信号特性的关系越大,而且话音质量的要求又和应用密切相关,因此迄今为止无法给出对话音质量的客观评价准则。目前常用的3种主观评测法是:(1)诊断性音律测试(DRT-Diagnostic Acceptability Measure)法:用以测量恢复话音的可懂度。(2)诊断性可接受性测试(DAM一Diagnostic Acceptability Measure)法:将话音信号质量划分为信号质量、背景质量和总体质量三大类6个等到级,每个等级按百分制计分。其意图是为设计者提供详尽的反馈意见,但要求测试者具有很高的专业水平。(3)平均意见分(MOS一Mean opinio
33、n Score)法:是目前应用最为广泛的测试方法。由20一60个非专职测试者对所听的话音进行综合打分,然后进行统计分析。采用5分制,按MOS分的高低对编码器质量进行分类:MOS=4.0为长途质量,恢复信号和原信号几乎不可区分;MOS=3.54.0为通信质量,可用于普通电话通信,但有明显可感失真;MOS3.0为虽可懂,但已缺乏自然性,难以识别发话者。语音编码根据编码原理主要分为波形编码和参数编码两种。(l)波形编码波形编码就是根据语音信号波形导出相应的数字编码形式,使其在接收端忠实地再现原始话音。最早的也是最著名的波形编码是PCM编码,它包括三个过程:抽样、量化和编码。根据奈奎斯特原理,为了保证
34、信息不丢失,抽样频率至少应为模拟信号所含最高频率的2倍,由于人发音的主要频率在4kHz以内,所以语音抽样频率取在skHz,这就是所有语音编码方法的基本假设。量化就是将连续的模拟波形划分为若干离散的区域,以便用数字形式表示每个抽样值。由于用量化值表示连续抽样值是近似的,由此必然带来所谓“量化噪声”。如果按均匀分段的方式划分量化区间,就称之为均匀量化或线性量化,其主要问题是小信号处量化噪声大,信号过大超过量化范围时又会产生显著的过载量化噪声。因此,实际采用的都是非均匀量化。 PCM编码虽然能够提供相当好的长途通信级语音质量,但由于其速率过高,尤其在多媒体应用以及在共享信道的数据网中应用时,采用PC
35、M传送话音占用的网络带宽资源过高,所以人们提出了许多改进技术,以降低话音编码的速率,或者说在同样的码率下可以进一步提高话音的质量。1.差分编码技术降低编码比特率的基本思路是利用话音抽样信号之间的相关性。分析表明,话音波形中有很多的冗余信息,作为信息冗余的度量,相邻8khz抽样值之间的自相关系数一般为0.85以上。由此可知,相邻抽样值之差一般很小,其包含的信息量远小于抽样值本身。因此一个自然的想法就是设计一种编码方法,对此差值进行编码,而不是对抽样值本身进行编码,这样所需的比特率必然可以下降,这就是差分脉冲编码(DPCM)。2.自适应量化为了获得尽可能小的量化信噪比,应该对小信号采用较小的量化步
36、长,对大信号可采用较大的量化步长。由于对不同讲话者和在不同环境下,话音能量的差别可高达40dB,即使在同一话音中,不同时刻的信号幅度也会有相当大的变化,因此有必要根据输入信号的幅度变化动态地调整量化步长。这样可使量化器范围和输入信号的动态范围相匹配,减小量化噪声,从而进一步降低编码比特率,这就是自适应量化技术。它可用于PCM、DPCM和DM。对于线性量化来说,只需控制一个量化步长即可;对于非线性量化来说,则要根据给定的非线性特性控制多个量化步长。3.自适应线性预测自适应线性预测的基本原理:根据话音波形的时间相关性确定预测系数,使差分信号的方差为最小,时间相关性则是以自相关函数来度量的。由于话音
37、信号的自相关函数大体是随音节而变化的,也就是在一个音节时间内自相关函数基本不变,只是从一个音节至另一音节时才有较明显的变化,因此,自适应预测都采用音节适应算法。在此,一个音节的时间常称为一帧。为了计算预测系数,需要设定一个数据取样窗口。设窗口宽度为N,则每帧需用到N个抽样值,利用这些样值估算自相关函数值,并进而计算预测系数。和差分编码类似,这N个抽样值可以直接取自于输入信号,由缓冲寄存器暂存,也可以由量化后的差分信号反馈后重构生成。前者称为前馈(feed-forward)自适应预测,又称开环自适应预测,是根据原始信号调整预测系数的。后者知称为反馈(feed-back)自适应预测,又称闭环自适应
38、预测,是根据重构信号调整系数的。(2)参数编码参数编码器又称为声码器(Vocoder),它的原理和设计思想和波形编码完全不同。波形编码的基本思路是忠实地再现话音的时域波形,为了降低比特率,可以充分利用相邻抽样点之间的信息冗余性,对差分信号进行编码,在不影响话音质量的前提下,比特率可降至32kbit/s。在话务过载的情况下,还可降质使用24或16kbit/s编码,但要进一步降低比特率就有困难了。参数编码根据对声音形成机理的分析、着眼于构造话音生成模型,该模型以一定精度模拟发话者的发声声道,接收端根据该模型还原生成发话者的音素,在频域上该模型就对应为具有一定零极点分布的数字滤波器。编码器发送的主要
39、信息就是该模型的参数,相当于话音的主要特征,而并非具体的话音波形幅值。而且由于话音信号变化是缓慢的,一个音素要持续相当长一段时间(相对于抽样周期而言),因此模型参数的更新频度较低,不但可以利用抽样值间的相关性,还可以充分利用帧与帧之间的信息冗余性以及更长时间段中的音源信息冗余性,有效地降低编码比特率。因此,目前小于16kbit/s的低比特率话音编码都采用参数编码。虽然参数编码和波形编码的原理完全不同,但是归根到底信息都取自于对抽样值的分析计算,为了去除冗余信息都需对差分信号(或称残差信号)进行处理,因此在技术上两者并无明显的界线,许多技术,如线性预测、自适应预测、矢量量化等既可用于参数编码,也
40、可用于波形编码。两种编码技术的比较:波形编码的基本出发点是最小化原信号和重构信号之间的差值信号,最小化判据一般为以“块”为基础的差分信号的均方差,块可以小到单个话音抽样。波形编码的设计要求是获得尽可能高的信噪比(SNR)。改进的编码器还考虑人类听觉系统的主观感觉效果,为此可设置屏蔽滤波器,修正原信号和重构信号。这样SNR有可能下降,但主观感觉质量反而会提高。波形编码器主要利用话音波形的短时相关性,特别是相邻抽样点之间的相关性来降低比特率,改进算法还考虑了长时相关性。参数编码的基本出发点是根据确定的成音模型确定模型参数,虽然LPC声码器也是通过残差信号的最小化进行计算的,但是其着眼点是要求模型参
41、数的最佳值,而并非SNR的最大化。3.2 G.711语音编码标准的介绍G.711编码标准取样频率为8khz,码率为64kbit/s,主要包括A律和u律两种,都是采用压扩方法。它将13位或14位的PCM编码转换成8位A律或u律的压扩编码,质量相当于12位比特的线性量化,同时还规定了A律和u律之间的转换关系。设归一化输入信号为x,则采用A律的压缩函数为:当x=0时,y趋于负的无穷,这样不满足压缩特性的要求,所以当x很小时,应对它加以修正,过零点做切线,这就是公式的上式,他是一个线性方程,对应的国际标准值为87.6.A为压扩参数,A=1时无压缩,A值越大压缩效果越明显。图3.2.1 折线逼近的压缩方
42、程曲线x为压缩器归一化输入电压;y为压缩器归一化输出电压;A为常数,决定压缩程度;4 IP电话原理及技术4.1 lP电话基本原理IP电话是通过Internet/Intranet等互联网络来传递语音信息的,该系统包括终端设备、网关、多点接入控制单元(MCU)和网络管理者等部分。其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按TCP/IP标准进行打包,经过IP网络把数据包送至接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。由于IP电话使用了分组交换和统计复用技术,实现了语音、数据的综合传输,从而克服了传统电话
43、对紧缺通信带宽的高额消耗(一路电话话音占用了64Kbps的带宽),而它只需要6一8Kbps(甚至低于2.4Kbps),大大地节省了通信带宽,使得整个网络的运营成本大幅度降低。这对于渴望减少巨额国际传统电话通话费用的公司来说,用IP电话带来的好处是显而易见的。接收器A/D转换压缩编码器IP封装/发送器Internet播放器D/A转换压缩解码器IP解包/接收器4.2 IP电话的关键技术IP电话的关键技术包括分组语音技术、语音编码和压缩技术、静音检测、分组丢失补偿和回波抵消等。传统的电话网是以电路交换的方式传输语音,它需要的基本带宽为64kbit/s。而要在基于IP的分组网络上传输语音,就必须对模拟
44、的语音信号进行特殊的处理,使处理后的信号可以适合在面向无连接的分组网络上传输,这就是分组语音技术。语音编码就是将语音信息转换为分组信息以及将分组信息转换为语音,其中包括优化编码方案、寻找最佳算法、对语音进行高效、优质的编解码以及语音恢复等。4.2.1分组语音技术 无论对实时的应用(如IP电话)还是非实时的应用(如语音邮件),发送端语音都要经过模拟信号数字信号语音包的处理过程,并在接收端对语音包进行相反处理,从而得到与输入端相同的语音信号。所以可将分组语音的处理流程分为发送端处理流程和接收端处理流程。(l)发送端处理流程:首先,把模拟信号转换为数字信号,并对其进行进入缓冲器前的量化数据处理。先对
45、模拟信号进行8位或16位量化,然后再送入缓冲区,再由编码器对语音块(也被称为帧)进行编码,典型帧为10一30ms,考虑到传输过程中的代价,语音包通常由60、120或者240ms长的语音数据组成。其次,把语音包按照特定的帧长进行编码。大部分的编码器都有特定的帧尺寸,若一个编码器使用15ms的帧,则把第一级来的包分成8帧,并按顺序进行编码。每个帧合120个语音样点(抽样频率为skHz)。编码后,将8个压缩的帧合成一个压缩的语音包送入网络处理器。最后网络处理器为语音包添加包头、时标和其它信息后通过网络传送出去。(2) 接收端处理流程:首先,网络提供一个可变长度的缓冲区,用来调节网络产生的抖动。缓冲区
46、可容纳许多语音包,用户可选择缓冲区的大小,大的缓冲区能调节大的抖动,但产生延迟较大,小的缓冲区产生延迟较小,但不能调节大的抖动。其次,解码器将接收到的语音包进行解压缩产生新的语音包。这里也可按帧进行操作,完全和编码器的长度相同。若帧长为15ms,则120ms的语音包被分成8帧,然后被解码还原成120ms的语音数据流送入解码缓冲区。最后,缓冲区中的语音样点被播放驱动器取出送入声卡,通过扬声器按预定的频率(如8kHz)播出。4.2.2语音的编码和压缩技术 模拟语音信号必须经过处理,转换成适合在护网络上传输的IP数据包。这个过程需要先进行数字编码,转换为PCM码,然后经过专门的DSP芯片进行数据压缩,最后再打上IP包的标记,形成IP数据包的形式,以适合IP网络上的传输带宽,其中涉及到PCM、DSP、编码、压缩等内容。(l)PCM技术:脉冲编码调制(Pusle Code Modulation简称PCM),是指把模拟信号转化为数字信号的过程,为目前世界各国主要采用的方式。PCM包括抽样、量化和编码三个过程。编码形式有多种,如:低速编码和高速编码;线性编码和非线性编码;逐次反馈型、级联型和混合性等。(2) DSP技术:DSP是数字信号处理器(digital signal Proeessor)的缩写,属于MPU(微处理器)的一种,它主要应用于声音压缩、图像压缩等数字压缩技术领域,能将声音、图