![[硕士论文精品]基于g4+微处理器的wifi_voip语音技术研究和实现_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/84bbee3b-be34-4462-9115-7f4aa5600e3c/84bbee3b-be34-4462-9115-7f4aa5600e3c1.gif)
![[硕士论文精品]基于g4+微处理器的wifi_voip语音技术研究和实现_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/84bbee3b-be34-4462-9115-7f4aa5600e3c/84bbee3b-be34-4462-9115-7f4aa5600e3c2.gif)
![[硕士论文精品]基于g4+微处理器的wifi_voip语音技术研究和实现_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/84bbee3b-be34-4462-9115-7f4aa5600e3c/84bbee3b-be34-4462-9115-7f4aa5600e3c3.gif)
![[硕士论文精品]基于g4+微处理器的wifi_voip语音技术研究和实现_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/84bbee3b-be34-4462-9115-7f4aa5600e3c/84bbee3b-be34-4462-9115-7f4aa5600e3c4.gif)
![[硕士论文精品]基于g4+微处理器的wifi_voip语音技术研究和实现_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/84bbee3b-be34-4462-9115-7f4aa5600e3c/84bbee3b-be34-4462-9115-7f4aa5600e3c5.gif)
已阅读5页,还剩59页未读, 继续免费阅读
[硕士论文精品]基于g4+微处理器的wifi_voip语音技术研究和实现.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要随着无线通信技术以及业务的发展,VOWLANVOICEOVERWIRELESSLOCALA他ANETWORK,无线局域网语音通信正受到越来越多的关注,有着广阔的发展前景。作为VOWLAN的关键技术之一,语音技术对实现VOWLAN有着重要的意义。本文采用一款国产低端嵌入式微处理器与BGW211无线通信模块实现VOWLAN语音技术,有着一定的研究意义与商业价值。本文研究对象为基于WIHWIRELESSFIDEL时,又称8021LB标准的无线局域网语音通信中的语音技术,即语音信号的编码压缩技术以及语音信号的实时传输技术。研究内容主要包括了基于G4微处理器的语音编码器的实现,以及基于ASIXOSII操作系统的实时传输协议栈的构建。文中选用ITUTG729A算法实现语音编码器,并提出了基于G4硬件系统的G729A优化方案。优化方案涉及了C语言级优化、冗余判断优化、算法优化、编译器优化、硬件优化等方面。优化后编码一帧共需要491,320个指令周期,与优化前原始代码相比优化了653。文中采用开源实时传输协议栈ORTPVERSION091作为移植对象,根据ORIT协议栈的特点和实现方式,提出了基于ASIXOSII系统的ORTP协议栈移植方案,完成了基于ASIXOSII系统的实时传输协议栈的构建。方案从操作系统线程组件、动态内存分配机制、套接字接口函数等角度阐述了ORTP协议栈移植方法,并在此基础上进一步提出了基于ASIXOSII系统的ORTP协议栈的优化改进方案,方案从功能定制、内存分配机制等角度对ORTP协议栈的执行速度进行了优化。通过系统测试平台的搭建,本文使用ETHEREAL网络监听软件、NETASSIST网络调试助手等工具完成了对整个语音方案的测试与分析。测试时设定终端G洱微处理器主频为90MHZ,ASIXOSII操作系统滴答TICK为10MS。整套代码占用ROREADONLY,只读属性空间为18968KBYTE,RWREADWRITE。可读写属性空间为2661KBYTE。测试结果表明基于ASIXOSII系统的ORTP语音实时发送和接收会话工作正常,整个系统的功能与性能基本达到设计要求,能够较好地应用到具体的工程项目中去。关键词无线局域网,语音技术,语音编码器,实时传输,嵌入式系统ABSTRACTWITHTHEDEVELOPMENTOFWIRELESSCOMMUNICATIONTECHNOLOGY,THEVOWLANVOICEOVERWIRELESSLOCALAREANETWORKTECHNOLOGYISGAININGMOREANDMORECONCERNANDHASABROADPROSPECTASONEOFTHEKEYTECHNOLOGIESINWIRELESSVOIP,THEVOICETECHNOLOGYISOFGREATIMPORTANCEINTHEREALIZATIONOFV,0WLANAHOMEMADELOW1EVELMICROPROCESSORANDAWIRELESSCOMMUNICATIONCHIPBGW211AREUSEDTOACHIEVEVOWLANVOICETECHNOLOGYINTHISPAPER,WHICHISOFCERTAINSIGNIFICANCEANDCOMMERCIALVALUETHEVOICETECHNOLOGYINWIFIIEEE8021IBWLANVOIPTECHNOLOGYISSELECTEDASTHERESEARCHSUBJECTOFTHISPAPERANDTHEFOCUSISONTHEENCODINGTECHNOLOGYOFVOICESIGNALANDTHEREALTIMETRANSMISSIONOFVOICEDATAINTHISPAPER,THEREALIZATIONOFSPEECHCODINGISBASEDONTHEG4PLUSMICROPROCESSORANDTHEREALTIMETRANSPORTPROTOCOLSTACKISCONSTRUCTEDINTHEASIXOSIIOPERATINGSYSTEMTHENUTG729AALGORITHMISUSEDFORSPEECHCODINGANDITSOPTIMIZATIONDESIGNISPROPOSEDBASEDONTHEG4PLUSHARDWARESYSTEMTHEDESIGNINCLUDESTHEOPTIMIZATIONOFCLANGUAGELEVEL,REDUNDANCYJUDGMENT,ALGORITHM,COMPILER,HARDWAREANDETE111EOPTIMIZEDENCODINGALGORITHMNEEDSATOTALOF491,320INSTRUCTIONSFOREACHFRAME,WHICHHASBEENOPTIMIZEDBY653INACCORDANCEWITHTHECHARACTERISTICSANDWORKINGMANNERSOFTHEORTP,THEORTPVERSION091OPENSOURCEREALTIMETRANSMISSIONPROTOCOLSTACKISTRANSPLATEDASTHERTPRTCPSTACKINTHEASIXOSIISYSTEM11“TRANSPLANTATIONPROGRAMISPRESENTEDFROMTHEASPECTSOFTHEOPERATINGSYSTEMTHREADS,DYNAMICMEMORYALLOCATIONMECHANISMANDSOCKETINTERFACEFUNCTIONONTHISBASIS,THEIMPROVEDORTPTRANSPLANTATIONPROGRAMBASEDONASIXOSIISYSTEMISPROPOSEDINTERMSOFFUNCTIONCUSTOMIZATIONANDDYNANICMEMORYALLOCATIONMECHANISM,THEIMPLEMENTATIONSPEEDOFTHEORTPPROTOCOLSTACKISOPTIMIZEDWITHTHEBUILTUPOFTHETESTINGPLATFORM,THEVALIDITYOFTHEWHOLEPROJECTISTESTIFIEDBYUSEINGETHEREAL,NETASSISTANDOTHERPLATFORMTOOLSDURINGTHETEST,THEG4PLUSWORKSAT90MHZANDTHETICKOFASIXOS11OPERATIONSYSTEMISLOMS111EWHOLECODEOCCUPIESAROSIZEOF18968KBYTEANDARWSIZEOF2661KBYTETHETESTINGRESULTSHOWSTHATTHEORTPINTHEASI【OS11WORKSPROPERLYINTHEREALTIMERECEIVINGANDSENDINGOFVOICE11地WHOLESYSTEMMEETSTHEDESIGNINGREQUIREMENTSINTERMSOFFUNCTIONANDEFFECTIVENESSANDCANBEWELLAPPLIEDINPRACTICALENGINEERINGPROJEETSKEYWORDWLAN,VOICETECHNOLOGY,SPEECHCODER,REALTIMETRANSMISSION,EMBEDDEDSYSTEM东南大学学位论文独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。研究生签名蔡窑、日东南大学学位论文使用授权声明东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布包括刊登论文的全部或部分内容。论文的公布包括刊登授权东南大学研究生院办理。研究生签名寥桌Q、导师签名社第一章绪论11课题背景与意义第一章绪论随着无线通信技术的发展,以及人们对移动通信服务的需求,无线口VOICEOVERINTEMETPROTOC01技术得到了越来越多的关注。基于WLAN网络的无线VOIP技术VOWLAN是目前无线VOIP的研究热点。VOWLAN是WLAN与VOD的有机结合,VOWLAN技术可以方便的在无线局域网内添加设备,实现无线语音会议,而且运行过程不需要额外的费用。特别适用于大型办公室、车间、建筑群间、校园局域网区域内实现无线语音通信。随着VOWLAN在技术、标准和商用终端方面日趋成熟,许多支持VOWLAN技术的产品在市场上不断涌现。不仅如此,VOWLAN应用的推广带来的服务需求给移动和固定运营商都创造了新的发展机遇。因此,对VOWLAN技术的研究与开发有着非常重要的意义。VOWLAN的实现包含了以下几个关键技术语音信号的编码压缩技术语音模拟信号通过音频CODEC芯片采样得到的PCMPULSECODEMODULATION,脉码调制码流数据量较大,在网络上传输时容易产生网络拥塞现象,影响传输的实时性。采用语音编码技术对PCM码流进行编码压缩可以减小网络传输的数据量,提高线路带宽的利用率。而且通过语音压缩技术使得语音在线路产生误码、网络抖动和突发传输时具有健壮性。语音数据的实时传输技术由于口采用分组交换网进行数据传输,数据传输的时延会是一个很大的问题。因为互联网的初衷并不是实时的应用,而是数据的传输,保证的是数据传输的效率。这个问题可以通过使用实时传输协议以及QOSQUAUTYOFSERVICE,服务质量机制得到解决。标准的信令协议标准的信令协议的选择,有助于各个VO口系统开发厂商的产品之间以及产品与V0口服务器之间的互联。目前,口有两个完整和独立的信令标准H323和S口。WLAN网络的互联技术基于WLAN的VO口其网络通信的载体是WLAN,其目前较常用的标准有两个,分别是IEEE8021LA和IEEE8021LB。该技术由于自身的优点,受到许多厂商的青睐。WLAN互联的实现包括了WLAN硬件设备驱动、链路层与上层协议栈的结合。语音信号的编码压缩技术、语音数据的实时传输技术统称为语音技术,是VOWLAN技术实现的重点之一。它涉及到了语音质量、带宽占用等VOWLAN技术的难点,因此语音技术的研究与实现对VOWLAN技术来说有着十分重要的意义。目前市场上已经出现了一些成熟的VOWLAN语音技术方案,这些方案实现时多采用高端微处理器加无线通信模块,或者低端微处理器与专用语音处理DSP芯片加无线通信模块的设计方法,方案实现的成本往往较高。本论文中研究并提出了基于一款国产低端ARM720T微处理器GARFIELD4PLUS,简称G4,产品序号为SEP3221与BGW21L8021LB无线通信模块的VOWLAN语音技术解决方案,该方案相对于市场上现有方案而言降低了硬件系统实现的成本,方案软件的实现主要采用开源软件资源,减少了产品的研发费用和版权费用。因此,本文提出的语音技术方案有着一定的研究意义与商业价值。东南大学硕士学位论文12论文研究目标和研究对象本文研究对象为基于WIFI的VOWLAN技术中的语音技术,即语音信号的编码压缩技术以及语音数据的实时传输技术。语音信号编码压缩技术研究的主要目标是在GARFIELD4PLUS嵌入式微处理器平台下,选择合适的语音编码算法,结合处理器处理能力,确定优化方案,实现高效的实时语音编解码。实时传输技术的研究,目的是在ASIXOSII操作系统平台下,研究和确定实时传输协议栈的构建方案,实现基于ASIXOSII操作系统的实时传输协议栈的基本功能。论文最终目标是建立一个有效的,可以应用到实际工程项目中去的VOWLAN语音技术方案。13论文的主要内容本课题研究与实现的硬件平台是ASIC工程技术研究中心自主研发的GARFIELD4PLUS简称G4硬件系统以及PHILIPS公司的BGW2118021LB无线网卡模块。以ASIC工程技术研究中心自主研发的嵌入式操作系统ASIXOS作为系统软件平台。在课题研究之前,系统采用的BGW211无线网卡模块已经与G4硬件系统完成联调,BGW211驱动已经加入到ASIXOSII系统的TCPIP协议栈中,实现了基于WIFI的TCP、UDP数据传输。经过长期的测试,整个硬件平台的稳定性和软件开发环境各模块间的兼容性都很好,完全可以实现基于该套平台的系统开发。在引入上述环境后,论文的主要内容包括以下几点1介绍VOWLAN的相关基础知识,分析在VOWLAN系统中语音技术的实现难点。2分析ASIXOSII操作系统的运行机制和任务调度策略,以及动态内存管理方法。3分析ASI】【OSII系统基于BGW21L平台的TCPIP协议栈特点。4介绍语音编码的基本原理,研究ITUTTELEEOMMUNICATIONSTANDARDIZATIONSECTOROFTHEINTERNATIONALTELECOMMUNICATIONSUNION,国际电信联盟通信标准部G729A算法,在此基础上研究基于G4微处理器的语音编码器的设计方案。根据G4微处理器的特点,提出基于G4微处理器的G729A语音编码器的优化方案。通过仿真和实测验证优化方案的有效性,完成系统实现语音实时编解码的能力评估。5研究语音实时传输技术的基本原理,结合ASIXOSII系统特点确定语音实时传输方案。详细分析嵌入式实时传输协议栈ORTPVERSION091的实现过程和特点。完成基于ASIXOSII系统平台的ORTP协议栈的移植,并在此基础上提出基于ASIXOSII系统的ORTP协议栈的优化方案。6构建测试平台,完成语音方案的系统测试,分析测试结果。7总结系统方案。14论文的组织与结构本文研究重点是VOWLAN语音技术,主要包括了基于G4硬件系统的语音编码器的设计以及基于ASIXOSII系统的实时传输协议栈的设计。本文的总体结构安排如下第一章,绪论,阐述课题的背景和意义及论文的主要研究方向和结构;第二章,介绍V0口基本原理与VOIP系统组成,分析VOWLAN技术的工作方式和技术难点;第三章,基于VOWLAN的语音技术方案的硬件和软件平台介绍;第四章,基于G4微处理器的语音编码器的设计,主要包括G729A语音编码器原理介绍,基于G4硬件平台的编码器优化方案,以及优化方案的测试与分析;第五章,基于ASIXOSII系统的实时传输协议栈的设计,包括对ORTP协议栈的特点与会话实现过程的介绍,基于ASIXOSII系统的ORTP协议栈的移植方法介绍,基于ASIXOSII系统的ORTP协议栈的优化与改进;2第一章绪论第六章,语音技术方案系统测试,包括系统测试平台与测试方法介绍,语音技术方案的发送接收会话测试与分析,以及系统综合测试与分析;总结与展望。3东南大学硕士学位论文第二章WLANVOLP的基本原理与技术基于WLAN的口技术简称为VOWLAN,VOICEOVERWLAN是无线局域网的新兴应用之一。、,0D口电话通过数据网络传输语音信号。WLAN无线局域网。VOWLAN可以说是这两者的有机结合。本章从传输过程、实现方式和系统组成等方面介绍了VOIP技术。随后在了解V0口技术特点的基础上分析了VOWLAN系统的工作方式,并从语音质量问题和带宽占用这两个角度分析了VOWLAN系统实现的技术难点。21VOIP技术简介V0口也可称为口网络电话,泛指在以口为网络层协议的计算机网络中进行语音通信的系统。VOIP技术作为语音通信在现有口网络上的应用,是语音编码技术和网络技术结合的产物。近几年来随着网络通信技术的发展和应用需求的增长,VO口应用和业务发展迅速。211VOIP传输过程传统的电话网是以电路交换方式传输语音,所要求的传输宽带为64KBITS。VO口是以口分组交换网络为传输平台,对模拟的语音信号进行采样、压缩、打包等一系列的特殊处理,使之可以采用无连接的UDP协议进行传输。在一个口网络上传输语音信号要求几个元素和功能。最简单形式的网络由两个或多个具有VO口功能的设备组成,这些设备通过一个口网络连接。VO口模型的基本结构图如图21所示。图21VO口基本结构设备之间互联的口分组交换网要求支持口传输,可以是路由器与网络链路的组合。VO口的传输过程可以分为以下几个阶段LIJ1语音一数据转换语音信号是模拟波形,通过口方式来传输语音,不管是实时应用业务还是非实时应用业务,首先要对语音信号进行模拟数据转换,也就是对模拟语音信号进行8位或16位的量化,然后送入到存储缓冲区中,缓冲区的大小可以根据延迟和编码的要求选择。许多低比特率的编码器以帧为单位进行编码,典型帧长为10MS30MS。语音信号的编码压缩可以使用各种语音编码方案来实现。源端和目的端的语音编码器必须采用相同的语音编码算法,从而使目的端能够正确还原语音信号。4第二章WLANVOIP的基本原理与技术2原数据到疋转换一旦语音信号进行数字编码,下一步就是对语音数据以特定的帧长进行编码压缩。编码压缩后的语音信息被网络协议层添加包头、时标和其它信息后通过网络传送到另一端。口网络不像电路交换网络,它不形成连接,它要求把数据放在变长的数据报或分组中,然后给每个数据报附带寻址和控制信息,并通过网络发送到目的地。3传送在这个通道中,全部网络被看成一个从输入端接收语音数据,然后在一定时间T内将其传送到网络输出端。T可以在某范围内变化,用于反映网络传输中的抖动。网络中的网间节点检查每个口数据报附带的寻址信息,并使用这个信息把该数据报转发到目的地路径上的下一站。网络链路可以是支持P数据流的任何拓扑结构或访问方法。4IP包一数据的转换目的V0口设备接收这个口数据包并开始处理。网络级提供一个可变长度的缓冲区,用来调节网络产生的抖动。该缓冲区可容纳许多语音包,用户可以选择缓冲区的大小。小的缓冲区产生延迟较小,但不能调节大的抖动。在数据包的处理过程中,首先去掉寻址和控制信息,保留原始的源端数据,然后把这个源端数据提供给解码器。解码器将编码后的语音数据解压后产生新的语音数据。5数字语音转换为模拟语音播放器驱动程序将解码后的语音信号按照一定的采样频率送到CODEC芯片,通过扬声器播放语音。212VOIP的实现方式目前,VOIP终端的实现方式主要有3种【L】带扬声器的PCPERSONALCOMPUTER、传统电话机、D电话机。每种终端连接不同的网络,并且都支持相互之间的通信。当PC被当作VO口用户终端使用时,能够直接接入到P网络而不需要网关的存在。但在这种情况下,用户PC上需要安装特殊的客户端软件,例如微软的NETMEETING、TOMSKYPE等。在VO口通信中,传统电话机PHONETOPHONE通信方式仍然占据主导地位。例如,中国已经大规模开展的长途口电话业务,就是一种PHONETOPHONE形式的口电话业务。用户两端的电话机通过本地电路交换网络,如PSTNPUBLICSWITCHEDTELEPHONENETWORK,公共交换电话网络、ISDNINTEGRATEDSERVICEDIGITALNETWORK,综合业务数字网络、移动网或PBXPRIVATEBRANCHEXCHANGE,程控电话交换机接入到P网中,而V0口提供了一种像树干一样的功能,将两端的电路交换网络连接起来以提供长途电话服务。为了达到传统的电路交换网络和口网的互通,必须在两种网络之间架设网关。口电话机是一种新的电话终端,具有以太网或ADSLASYMMETRICDIGITALSUBSCRIBER,非对称数字用户线路接口,只需将口话机连接在家中的宽带网接口上,并通过话机键向服务提供商进行注册,就可以像普通电话机一样进行通信。213VOIP的系统组成D技术的主要目的是用于处理语音和信令,实现语音在口网络上的实时传输。因此可以将它分为四个类别1】信令协议、语音编码、媒体传送协议和媒体网管控制协议。2131信令协议VOP进行语音传输时,首先要在会话的参与者之间建立媒体话路,然后通过实时传输协议在会话参与者之间传输语音。而媒体话路的建立和拆除,以及参与者之间的呼叫与接受请求等操作都要通过信令来解决。5东南大学硕士学位论文传统的电话网络中有特定的信令协议,在一个呼叫发生前和呼叫进行的过程中,都要用到这些信令协议;这样,就可以传递呼叫请求,监视呼叫的进行以及妥善的结束一个呼叫。在V0口系统中,出于同样的原因,信令协议也是必需的。目前应用于V0口的信令协议主要有H323,SIP两种。2132语音编码语音编码技术在V0口系统中具有非常重要的意义。简单地说,话音语音编码是这样一个过程把模拟语音波形转化为OL数字流。这个过程包括两个步骤在发送端将输入的模拟语音转化为一组数字流;在目的端将数字流又还原成模拟语音。运用VO邛的原因之一就是有机会利用高效的语音编码,用较少的比特来表示被传输的语音,从而降低所需的带宽和成本。一共有三种类型的编码器【ZJ波形编码器、源编码器又称为声码器和混合编码器。波形编码器基本上是将输入的模拟信号抽样编码而不考虑信号是如何产生的。然后,它将量化后的样值传送到终端,在终端原始信号被重组到与原信号大致接近的程度。大体上说波形编码器提供了一个高质量的输出,而且不是很复杂。同其它的编码器相比,它最大的缺点是要使用大量的带宽。当波形编码器用于低带宽时,语音质量下降得非常快。源编码器试图使输入信号符合话音产生的数学模型。它们通常使用声道的线性预测过滤模型,用一个清浊音标志来代表使用于过滤器的激发信号。换一句话说,过滤器代表了声道,而清浊音标志代表了从声道接收的是一个清音还是一个浊音。被传送到远程终端的信息是一组参数模型,而不是信号标志本身。使用相同模型技术的远程终端接收信号并重组模拟信号。源编码器以低比特速率运行试图形成合成的话音。使用较高比特率并不能提供任何帮助,这主要是由于潜在模型的限制。源编码器通常用于私人通信系统,特别用于军事领域。混合编码器旨在提供世界上最好的话音质量。该类编码器试图在某种程度上进行波形匹配的同时也利用人们发声的知识,并试图以低比特率提供比波形编码器更好的话音质量。表21语音编码器概要语音编码器波特率KBPS帧长MS期望的MOS值G71LPCM64012542G721ADPCM32012540G7231MPMLQACELP6353303937G726ADPCML6,243240012540G729CSACELP81040表21给出了几种常见的语音编码器,以及它们的波特率、帧长、期望的MOS值。其中MOSMEANOPINIONSCORE平均意见得分,是衡量语音质量的一个参数。它分为5级,从L非常差到5非常好。2133媒体传输协议当网络使用统计多路复用来传送实时数据如语音时,接收端必须能够处理抖动问题。路由器就是这类统计多路复用设备的一个很好的例子。所以语音等实时数据通过P将要面对的是抖动问题。实时传输协议REALTIMETRANSPORTPROTOCOL,RTP的设计就是让接收端能校正口网络所造成的抖动和乱序问题。RTP可以用于任何实时数据流,例如语音和视频信号。另一个协议,实时传输控制协议REALTIMECONTROLPROTOCOL,RTCP通常和RTP一同使用,它可以用于承载关于传输质量的反馈如抖动量、分组的平均丢失率等,也能用于传输一些有关参与者的身份信息。6第二章WLANVOIP的基本原理与技术RTP协议RTP可以在基于包的网络上传输实时数据,而且允许抖动和包失序的情况存在。它一般用UDP封装,而UDP提供了一种端口与校验和的概念。当使用UDP时,可以使用多播地址例如224017,这样由一个数据源发送的RTP数据流就可以到达多个目的地。1RTP的应用【3】序列号和时间戳。每个RTP包都带有一个序列号和一个时间戳。根据应用,它们可以被多种方式使用。对于音频应用来说,由于语音的有序性,序列号和时间戳会被用于管理一个接收缓冲区。例如,一个应用程序可能会确定在开始播放之前需要LOOMS的语音。每次当新的RTP数据包到达时,根据它的序列号,它都会被存放在缓冲区的适当位置。如果在播放的时候有一个包还没到达,那么应用程序也许会决定将刚刚播放的部分重复播放,直到接收到下一个包;或者使用一些特殊的音频编码器的插值机制来解决。有效载荷类型PT,PAYLOADTYPE。每个RTP包的有效载荷是包中包含的实时信息。表22描述了一些不同的RTP音频和视频载荷类型。有关有效载荷类型号的说明在RFC1890中有规定“使用最小限度控制的音频和视频会议的RTP概要”,这是一个伴随RTP规定本身的规定。表22部分RTP音频和视频有效载荷类型PAYLOADTYPEENCODINGNAMEMEDIATYPECLOCKRATEHZCHANNELSOPCMUAUDIO800012G72632AIUDIO8,00014G723AUDIO8,00018PCMAAUDIO8000L18G729AUDIO8,000126腰EGVIDEO90,00034H263VIDEO90,0002RTP中的定义【4】1RTP负载RTPPAYLOAD。RTP包中传输的数据,比如音频数据和压缩了的视频数据。2RTP包RTPPACKET。由RTP包头HEADER,组成源服务器CSRC列表见下和传输数据构成。一般来说一个下层协议如UDPUSERDATAGRAMPROTOCOL,用户数据报协议的包中仅包含一个RTP包,但也可以通过封装方式包含几个RTP包。3传输地址11RANSPORTADDI迎SS。由地址和端口号组成,如一个口地址和UDP端口。数据由传送方地址传到接收方地址。4RTP会话RTPSESSION。多个参与者通过RTP协议通信,这就形成了一个RTP会话。对于每个参与者来说,RTP会话被一个地址和一对端口号定义。5同步化源S屺阳如IZALNONSOURCE。即SSRC,可理解为信号的源头,如一个麦克风输入或一个摄像头输入,在整个会话中有一个独一无二的标识符。从它输出的信号都经过它的同步处理,以使接收方能实现对源端的控制,如回放功能。若个服务器有多个输入,如多个摄像头信号,那么每个摄像头都有一个SSRC。SSRC标识符靠RTCP绑定。6供流源CONXRIBUTINGSOURCE。即CSRC,经由混流服务器MIXER输出的一个流,通常由多个分流汇成,每个分流都有一个供流源。7终端系统ENDSYSTEM。一个能产生也可以接收需要传输的RTP包的进程。在一个会话中可以由一个或几个同步化源组成,但通常仅由一个组成。8混流服务器MIXER。从一个或多个源接收信息,然后可能对数据类型作适当修改,混合接收流,产生一个新数据流的实体。输入流的SSRC被修改,混流服务器的SSRC将作为新的同步化源标识符。9译流服务器TRANSLATOR。有输入流,也有输出流,但不改变输入流的SSRC,这点与7蔓窭查兰堡主兰竺堡苎MIXER不同。举几个例子转换流的编码,但不混合输入流的程序将多播转换为多个单播的程序;应用层上的防火墙过滤器。3RTP数据封包RTP头部字段格式如图22所示。前12个字节是每个RTP头都有的CSRC字段只有当MIXER插入时才产生。012,01234S6789012,45E7E9012345678901一一一一一一一一一一一一一一LV2IPLXICCWSEQUENCENU心ERI一一一一一一一一一一一一一一一一一ITIMASTAMPL一一一一_一一一一一一一一一一一ISYNCHRONIZATIONBOURCESSRCIDENTIFLET一十LI一一一LCONTRIBUTINGSOURCECSRCIDENTLFIERS图22R_IP头部封装VMNM2BI扛RTP版本号。PADDIDGPIBIT置1时表明末尾有非有效数据的填充字段。所有填充字段的犀后一个字节为填充字段长度。填充字段常被用于需加密的场合。EXTCNSIONFXLLBIT此位若置1,则在RTP头部的CSRC列表后如果有这个列表的话产生一个16位的DEFINEDBYPMFILE字段和一个16位的L衄GTH字段。前者由特定的配置文件定义,后者的值为LGM字段后扩展定义位所需字节数,其长度不包括L舶GM和DEFREEDBYPROFILE所占的4个字节其定义如圈23HL所示。所以长度0也是允许的,虽然这样并没什么意义。扩展定义通常仅用于实验或者个别的场合。图23RTP扩展头部CSRCCOUNTCCL4BITSCSRC列表的项数。MARKEILBIT由配置文件定义,用于特定的应用程序。PAYLOAFL帅EPT7BLB负载数据类型编号,具体格式定义在PAYLOADFORMATSPECIFICATION文件中。SEQMMCENUMBER16BILS每发送一个RTP包,该项加1其初始数值随机产生,咀防止被他人砬译加密。TIMESTAMP32BITS该项用于时间同步计算和抖动控制。时钟频率与负载共型有关,两者同时定义在PAYLOADFORMAT卜卜JO卜卜9卜卜,卜卜十0卜盹卜;叶啦_2D卜;_N,卜卜垧0卜卜惦,卜卜沁0卜F卜旺RO卜卜|,卜卜眈卜E卜H0,卜F卜,叶H叶;叶D叶;叶怕_0叶N。,叶拈叶2卜卜OO卜I卜L第二章WLANVOIP的基本原理与技术SPECIFICATION文件中。其初始值随机。SSRC32BITS同步化源标识符,即此RTP包的发出者。因为一个RTP会话中不能有2个相同的SSRC,所以当发送者传输地址改变时此标识符需要重新生成,以防止形成循环。CSRCLISTO15项,每项32BITS字段头中CSRCCOUNT项给出了该项中CSRCLIST的数量。当包通过MIXER时由MDER将原来包中的SSRC标识符作为CSRC插入,而将MIXER自己的SSRC作为新的SSRC项。RTCP协议RTP有一个伴随控制协议,RTCP。这个协议使得会话参与者之间可以周期性地交换控制信息,主要是为了提供与质量相关的反馈信息。这个反馈信息可以用来检测并潜在地解决发送问题。通过使用RTCP和P多播,第三方可以监控会话质量和检测网络问题。1RTCP的主要功能1411提供数据分布服务质量的反馈。这是RTP作为传输协议必不可少的部分。同时也与别的协议中拥塞和流量控制功能有关。反馈功能主要通过“接收者报告”和“发送者报告”实现。在某些时候,第三方也可以通过RTCP包实现对网络的监控。2RTCP包中携带着RTP源的永久标识符信息存放为CNAMECANONICALNAME项。在会话中的RTP源有可能因为SSRC冲突或者因为程序重启而重新生成一个SSRC,但它的CNAME是不变的,这样就可以追踪会话的每个参与者。3前2个功能均要求会议的参与者发送RTCP包。所以,发送速率应该得到控制以适应有大规模参与者的RTP会话。每个参与者必须可以独立地知道会话参与者的数量,来决定发包的速率。4第四个,同时也是一个可选功能项,通过RTCP协议传递最少的会话控制信息,比如用户界面上显示的参与者身份。这个功能在参与者可随时加入或离开的会话中非常有用,因为可以传递控制信息到每个参与者。该功能用于P多播环境。功能13是必需的,功能4是在所有环境下推荐使用的。RTP协议的设计应避免只能用于单播模式而应当能推广到大规模的传输应用。2RTCP分组类型HRTCP定义了五种不同类型的RTCP分组SRSENDERREPORT会话中频繁发送包的参与者的报告。RRRECEIVERREPORT非频繁发包的参与者发送的接收方统计数据。SDESSOURCEDESCRIPTIONITEMS发送源描述项,包括一个或多个关于某个会话参与者的描述。特别是,SDES必须包含一个规范名CNAME,用来标志会话参与者。这个规范名独立于SSRC,因为SSRC可能在一个主机重启时发生变化。而且,在一个特定的会话中,某个源可以产生多个RTP流,正如可以同时传递音频和视频数据一样。在这种情况下,这两个流有不同的SSRC值,但有相同的CNAME值。在一个会话中,CNAME必须是唯一的。BYE终止参与会议信息的包。APP用于特定进程的包。其中SR、RR数据包是RTCP分组中最重要的两个数据包。用以携带发送者和接收者的信息,用以反馈服务质量。有关RTCP分组数据包的详细信息请参考RFC1889。3RTCP组包方式【4】每个RTCP包都有一个包头,根据包的类型,包头后跟着不同长度的结构化的数据项,但这些数据项都有一个32位的包的边界。RTCP包通过下层协议传输时,相邻的包之间没有分隔符。比如9东南大学磺学位论文用UDP传输时,并没有给出UDP包中RTCP包的教量,而仅有一个总长度。几个RTCP包通过下层协议传输时对包的排列次序和组合方式也没有要求,但有以下限制1接收方数据统计包含于SR和P,R内必须在带宽允许下尽可能多地发送以使统计更加精确。因此每个RTCP包集合必须有一个SR或RR的包但新的接收者必须尽快得到源端的CNAME并联系媒体求得同步。每个RTCP包集台必须包含SDESCNAME。2134媒体网关控制媒体用关控制有多个协议,但其中有两个被广泛接受。一个是MGCPRFC2705协议,另个是MEGACOH248协议。关于MGCP协议与MEGACO协议的详细内容可参考文献【5第三章。VOWLAN技术是VOM技术与WLAN的有机结舍,它可以利用现有的WLAN网络实现无线V0口通话能力企业员工通过VOWLAN可在办公场所以外的地方随时访问语音、EMALL和其它已连接的网络资源,这样提高了网络瓷源的利用率并降低了每次电话呼叫的成本从而节省了企业的总体RR费用。对于住宅用户也可以通过与宽带80211无线网络如W矾相连的VO口电话降低话费。随着WLAN技术的发展以厦应用的迅速普及,VOWLAN有着广阔的发展前景。22LVOWL悄工作方式上传输语音数据,用户可以通过PDA、移动电话和笔记本电脑在提供WLAN接入的区域使用这种议。如圈24”所示为基于软件电话的VOWLAN结构图,每个局域WLAN的话音终端包括PC上耻固RCV_LAST_APPTSSTLAST_RTCPREPORTSNTRSTRTCP_X印ORTSNTINTERVAL;51STSNDLASTTSSTLAST_RTCPREPORTSNTSST一RTCP_REPORTSNTINTERVAL;52当式51、52其中之一成立时准许发送RTCP数据包。式51表示最近接收到的RTP数据包的时间戳与最近接收到的RTCP数据包的时间戳的间隔大于设定的RTCP数据包的发送间隔。式52表示最近发送RTP数据包的时间戳与最近发送RTCP数据包的时间戳的间隔大于设定的RTCP数据包的发送间隔。这样,通过设定的RTCP数据包的发送间隔RTCPREPONSNTJNTEN,AL来控制发送RTCP与发送RTP数据包,以及接收RTCP与接收RTP数据包的比例,即控制了RTCP数据包的带宽占用率。RTEP_REPORTSNTINTERVAL设置为RTCP_DEFAULT_REPORTINTERVAL宰PTELOEK_RATE,其中RTCP缺省值为,取决于有效载荷的采样率。对于_D来EF说AU,LTREPORT_IN值T为ERVAL,则5PT一CLOCKRATEG729APTCLOCK_RATE8000RTCP_REPORTSNTINTERVAL值设置为58000,时间戳步长为240,那么系统每发送至少166个RTP数据包后才发送一个RTCP数据包。上述RTCP数据包发包间隔控制策略较为常用,其优点在于算法实现简单,不需要复杂的算法描述。缺点在于,此方式不能动态的调整RTCP发包间隔,因此只适用于中小型的会话,对于有大量参与者的大型会话必须采用改进算法实现。有关RTCP发包间隔改进算法请参考文献【30】。第五章ASIXOSII系统实时传输协议栈设计51I4ORTP抖动控制策略抖动会引起端到端时延的增加,降低语音质量。在音频数据的传输过程中,由于传输延迟的不稳定而造成相邻数据包接收时刻的间隔不稳定,从而产生抖动。消除抖动的主要依据就是RTP包的首部中包含的时间戳字段。每两个RTP包的抖动可以用其RTP包中的RTP时间戳和接收的时刻进行计算。RFC1889定义了抖动控制的详细算法。ORTP抖动控制策略严格遵循RFC1889建议,使用NTP来完成端点的端到端同步。接收者最先了解到的是它的时间戳和接收者当前时间之间的差值。该差值是DIR,S,表示从包被盖上戳开始,到它在信源的输出链路上被实际发送为止,其中的传送时间和某个机器时间。包I和包J之间增加的延迟差二阶效应计算公式如下设R,代表第J个包的接收时刻,S,代表第J个包的RTP时间戳值,则第I个RTP报文与第J个RTP报文间的抖动为DF力。DI,R,R1一S,SIR,一S,一天FSF53在生成RTCP报文时,时延抖动值用下述公式递推计算,FJI11DI1,叫J0I1654ORTP协议栈源文件ITTERCTLC详细描述了ORTP抖动控制策略的实现。ORTP协议栈通过调用函数IITTEREONTROL_NEW_PACKETJITTERCXRNTROLCTL,UINT32_TPACKETTS,UINT32_TCUR_STR_TS,INT32_TSLIDE,ING2TSAFE;实现抖动控制。其中入口参数CTL为抖动控制结构体指针,其定义如下所示PACKET为当前收到的数据包的时间戳,为本地时间戳,以及LAY_TSRTPCURSTRTSRTPSLIDESAFEDE为通过抖动算法得到的相关返回值信息。SLIDC用于时钟滑动检测和修正,SAFE用于补偿未按照DELAY正确的时间间隔到来的数据包。抖动控制初始化时必须设置一个CORRECTIVE,可以解释为修正步长。用于量化抖动延迟的时STEP间,CORRECTIVESTEP是由有效载荷类型决定的,8K采样情况下为160。JITTCOMPTSOITTERCOMPENSATETIMESTAMPFLJ初始化时指定的JITT_COMP缺省时RTPDEFAULT_JITTERTIME为80MS根据有效载荷类型量化为时间戳类型JITTCOMP1000CLOCKRATC,当抖动控制自适应功能关闭时ADAPT_JITT_COMP_TS固定为ITTCOMPTS。这样,每接收到一个RTP数据包就要延迟JITT时间。根据抖动控制算COMPTS法计算出CORRECTIVESLIDE、SLIDE以及SAFEDELAY,这些参数将作为下一步实现抖动控制的依据。根据ORTP的抖动控制机制,每接收到一个RTP数据包都存在一个基本的延迟时间,这个基本的延迟时间是必要的。这样,当自适应功能开启时才能在这个基本延时范围之内对有效延时进行修正。37东南大学硕士学位论文512ORTP实时传输的实现上文分析了ORTP协议栈的四个重要机制的特点与实现方法,它们在ORTP实现实时传输时扮演了重要的角色。ORTP协议栈提供的测试文件描述了ORTP实时传输的详细流程,并依据对ORIT测试代码和ORTP机制的理解给出了ORTP实时传输机制中接收和发送数据包的核心函数的实现过程。5121ORTP的发送过程ORTP数据包的发送主要通过调用函数RTP_SESSION_SEND_WITHTS实现,该函数是上层函数。包括了R1曙组包函数RTP_SESSION_CREATE_PACKET以及RTP数据包发送主控函数NP_SESSION_SENDM_WITH_TS。RTP组包函数根据输入的有效数据和时间戳等信息在ORTP存储管理机制的控制下生成RTP数据包。RTP数据包主控函数是RTP数据包发送的核心函数,它的实现过程涉及了RTCP发包间隔控制等ORTP协议栈的重要机制。其实现流程如下图图55所示图55ORTP发送会话实现流程根据ORTP发送会话设置的不同,函数RTP将会执行不同的方案。SESSIONSENDMWITHTSRTP会话控制结构体中定义的标志信息FLAGS指明了RTP会话的模式信息。如果RTP会话尚未开始,系统进入会话初始化阶段,这一阶段主要是设置发送时间戳偏移值SND_TS_OFFSET、初始化发送时间LASTCVTIME等信息。这些信息设置完后将修改会话标志信息,下次进入该发送函数将不再执行会话初始化操作。RTP会话中的调度机制和阻塞机制在实际应用中非常重要,这两种机制可以利用系统提供的线程控制函数自动控制会话线程,实现RTP数据包的发送与接收,而且可以充分利用CPU资源,否则用户必须采用循环监控的方式实现RTP会话,造成CPU资源的浪费。38第五章ASIXOSII系统实时传输协议栈设计进入调度模式后,首先根据入口参数传递的发送时间戳值计算本次将要发送的RTP数据包的偏移时间从首次发送RTP数据包开始计算的时间,如果该时间比当前偏移时间小,说明该数据包应该马上发送。否则如果阻塞模式启动,发送线程将被挂起直到发送时间到点激活发送线程。调用RTP组包函数后,RTP数据包中的时间戳和发送序列号选项并没有被初始化。在RTP发送线程运行之前,必须根据上次发送的RTP数据包中这两项的值正确设置本次RTP数据包中的对应值。同时为了正确得到下次发送RTP数据包时的相关数值,系统必须更新发送信息,以及会话状态信息以利于系统监控。调用ORTP函数用于发送R1RP数据包。由于网络上采用的是大端字节序,而嵌入式设备中采用的是小端_RIP字,S节EN序D,因此首先要对RTP数据包内容的某些选项完成字节序的转换。根据ORTP存储结构的特点,一个RTP数据包可能由两块不连续的存储空间构成,在调用TCP佃协议栈发送函数之前,要将这两块空间中的内容整合到一块连续的空间中。之后根据会话标志信息FLAGS关于使用SOCKET地址的设置值,调用TCPIP协议栈提供的的UDP数据包发送函数发送RTP数据包。发送完RTP数据包后,接收端根据RTCP数据包发包原则可能会发送RTCP数据包给发送端取决于接收端RTCP发包间隔控制算法,因此有必要调用RTCP接收处理函数处理可能接收到的RTCP数据包。必须注意的是,由于发送端未必一定会在此时发送RTCP数据包,所以此时的RTCP数据包接收处理函数的实现必须采用非阻塞方式。ORTP协议栈中RTCPRE“函数用于接收和处理RTCP数据包,在收到RTCP数据包后RTCP函数调用函数,根据收到的数据包提RECVRTCPPARSERTCP供的信息更新相关控制结构体计算网络抖动、往返时间等信息用以监控RTP会话,通知系统校正其编码和传输的参数。发送完RTP数据包后,发送端会调用RTCP数据包发送历程RIP,根据本SESSIONRTCP地发送间隔算法发送RTCP数据包。PROCESSRTCP在应用中实现ORTP发送会话
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省定西市公务员省考公共基础知识模拟题(附答案)
- 高速公路服务区停车位租赁协议
- 2025车库买卖合同范本
- 企业在线健身服务系统开发协议
- 生产安全管理体系文件编写框架
- 房屋维修造价咨询服务协议
- 会议记录与决策跟踪表会议效果与决策执行
- 2025年人民防空防化防疫员招聘笔试模拟题及答案
- 地球美丽的摇篮课件
- 生态旅游合同模板
- 2022年江苏省春季高考数学试卷
- XXX加油站风险分级管控台账
- 甘12J8 屋面标准图集
- 购买设备合同
- GB/T 28288-2012足部防护足趾保护包头和防刺穿垫
- GB/T 19666-2019阻燃和耐火电线电缆或光缆通则
- GA/T 1241-2015法庭科学四甲基联苯胺显现血手印技术规范
- 小学和初中科学教学衔接
- 《循证医学》治疗性研究证据的评价和应用
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
评论
0/150
提交评论