(计算机软件与理论专业论文)基于ip的连续媒体实时传输研究.pdf_第1页
(计算机软件与理论专业论文)基于ip的连续媒体实时传输研究.pdf_第2页
(计算机软件与理论专业论文)基于ip的连续媒体实时传输研究.pdf_第3页
(计算机软件与理论专业论文)基于ip的连续媒体实时传输研究.pdf_第4页
(计算机软件与理论专业论文)基于ip的连续媒体实时传输研究.pdf_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 f 在现有的因特网上进行实时的连续媒体传输是具有挑战性的。根本的原 因茬谆i p 网络只提供尽力而为的服务,不提供任何服务质量( q o s ) 保证,不 适合连续媒体流的传输。 为保证连续媒体实时传输的q o s ,根本的解决方案是网络本身提供支持。 尽管已经提出各种保证o o s 的措施,但这些标准和技术被广泛使用还需要一 段时间。因此,目前的连续媒体实时传输方案不但要考虑网络层,还要考虑 传输层和应用层的协调控制。 在连续媒体实时传输应用中,涉及到的关键技术主要有两个方面:编解 1 码技术和网络传输技术少本文讨论网络实时传输技术,主要包括实时传输技 术、组播技术、同步技,术和其它保证服务质量的措旌。 首先在探讨连续媒体基本特征的基础上,分析了连续媒体实时传输的需 求,并对相关技术和标准进行了介绍。然后详细讨论了实时传输协议( r t p ) 和组播技术,并对它们的实现和应用提出了相应的解决方案。接下来对连续 媒体的同步模型和机制进行分析,总结和提出了相应的些同步方法。最后 讨论端到端的q o s 保证,对主要的i pq o $ 模型进行比较分析,探讨了应用 一一 层实现q o s 的各种实现方案。 在对连续媒体实时传输技术探讨的基础上,实现了基于i p 的m p e g 实时 传输,并运用于实际的工程项目。它使用了组播技术,通过r t p 进行连续媒 体的实时传输,实现了基于r t p 的接收端同步控制和基于r t p 的发送端自适 应实时传输。 关键词:连续媒体;实时传笺1 p k 组播:同戋服务质量 a b s t r a c t i th a sb e e nac h a l e n g et ot r a n s f e rr e a l t i m ec o n t i n u o u sm e d i at h r o u g h t h ei n t e r n e t i pb a s e dn e t w o r ko n l yp r o v i d eb e s t e f f o r ts e r v i c e s ,i td o e s n o to f f e ra n yf o r mo fq u a l i t yo fs e r v i c e ( o o s ) g u a r a n t e ef o rr e a l t i m e c o n t i n u o u sm e d i a t h eu l t i m a t es o l u t i o n i sf o rt h en e t w o r kt o p r o v i d e r e q u i r e ds u p p o r t a i t h o u g hv a r i o u sw a y so fq o sh a v eb e e np r o p o s e d ,i tw i l lt a k es o m et i m e b e f o r et h e s es t a n d a r d sa n dt e c h n o l o g yh a v eb e e nw i d e l ya d o p t e d t h e r e f o r e , c u r r e n tr e a l t i m ec o n t i n u o u sm e d i at r a n s m i s s i o ns o l u t i o n sn o to n l yh a v et o c o n s i d e rt h en e t w o r kl a y e r ,b u ta l s ot h ec o o r d i n a t i o nw i t ht h et r a n s p o r t l a y e ra n da p p li c a t i o nl a y e r t h e r e8 3 et w o k e yt e c h n o l o g i e s i nt h eu t i l i z a t i o no fr e a l t i m e c o n t i n u o u sm e d i at r a n s m i s s i o n :e n c o d i n ga n dd e c o d i n gt e c h n o l o g ya n dn e t w o r k t r a n s f e rt e c h n o l o g y 7 h i sp a p e r w i l ld i s c u s st h en e t w o r kr e a l t i m e t r a n s f e r t e c h n o l o g y ,i n c l u d i n g r e a l t i m et r a n s f e r ,m u l t i c a s t , s y n c h r o n i z a t i o na n dm e t h o d st op r o v i d eo o s f i r s t 撇嗍婀i 1 1i n t r o d u c et h em a j o rc h a r a c t e r i s t i c so fa n dr e q u i r e m e n t s f o rr e a l t i m ec o n t i n u o u sm e d i a ,f o l l o w e db yr e l a t e dt e c h n o l o g ya n ds t a n d a r d s t h e n 怖i 1 1t a l ka b o u ts y n c h r o n i z a t i o nm o d e la n dm e c h a n i s mf o rc o n t i n u o u s r m e d i a ,w i t has u m m a r y o fs o m e s y n c h r o n i z a t i o nm e t h o d s n e x tr e a l t i m e t r a n s f e rp r o t o c o l ( r t p ) w i i ib ed i s c u s s e di nd e t a i l ,a l o n gw i t ht h ep r o p o s e d i m p l e m e n t a t i o nm e t h o d s f i n a l l y ,。脚押i i ic o n c l u d ew i t ht h eq o si s s u e , c o m p a r i n gt h em a j o rq o sm o d e l s ,e x p l o r i n gv a r i o u si m p l e m e n t a t i o na p p r o a c h e s o nt h ea p p l i c a t i o nl e v e l b a s e do nr e a l t i m ec o n t i n u o u sm e d i a t e c h n o l o g y 慨胪u t i l i z e d r e a l t i m et r a n s f e ro fm p e gi nr e a l i i f ep r o j e c t s i tm a d eu s eo f t e c h n o l o g i e si n c l u d em u l t i c a s t ,r e a l t i m ec o n t i n u o u st r a n s f e rb a s e d o nr t p ,s y n c h r o n i z e dc o n t r o lo nt h er e c e i v i n gs i d e ,a n ds e l f a d j u s t e d r t p b a s e dr e a l ti m et r a n s f e ro nt h es o u r c es i d e k e y w o r d s :c o n t i n u o u sw e d i a ,r e a l t i m et r a n s m i s s i o n ,m u l t i c a s t s y n c h r o n i z e ,o u a l i t yo fs e r v i c e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研 究工作及取得的研究成果。据我所知,除了文中特别加以标注和 致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得电子科技大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 签名:壹盥垒 日期:h j 年j 月2 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位 论文的规定,有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以 将学位论文的全部或部分内容编入有关数据库进行检索,- q - 以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:壶盟薹导师签名:在皿 e l 期:k 弓年= 月2 e l 电子科技大学硕士论文 第一章绪论 连续媒体( c o n t i n u o u sm e d i u m ) 也称为时基( t i m e b a s e d ) 媒体或时间依赖 ( t i m e - d e p e n d e n t ) 媒体,它们与时间有着强烈的依赖关系,在采样和播放时需要 以时间为参照系进行有序组织。h e r r t w i c h 给出的连续媒体定义为:连续媒体是 能在时间上连续播放的离散单元序列。本文的连续媒体主要指视频和音频,它是 多媒体( m u l t i m e d ia ) 的主体。连续媒体技术,如电话技术和电视技术,已经成为 人们生产、生活等必不可少的部分。 连续媒体实时传输技术应用非常广泛,如视频会议、i p 电话、实时监控、远 程教学、远程医疗、虚拟现实等系统。人们对此已进行了深入研究,早在1 9 6 4 年,a t & t 就推出了世界上第一个可视电话系统。但是传统的基于模拟的连续媒 体技术,由于必须使用专用的设备和线路,编解码器非常昂贵,并且还有一些 特殊的要求,除电话和电视外,基本上已被淘汰。 因特网的发明,特别是w w w 的出现,改变了人们的生活,世界因此而变小。 在因特网上实现连续媒体的实时传输一直是人们的梦想,但是由于网络带宽等限 制,这个梦想一直难以实现。随着计算机技术、网络技术和多媒体技术的飞跃发 展,这一梦想终于变成了可能。 i p 已经成为目前互联网络事实上的标准。主要为数据业务而设计的传统的 i p 网络只能支持尽力而为( b e s te f f o r t ) 的服务,且分组的存储转发和路由过程 可能造成较大的和不稳定的时延,这对传输少量的突发数据是没有问题的,但是 对于传输要求一定质量保证的连续媒体流时就会出现问题,不适用于对连续媒体 流的传输。 为了在因特网上有效的、高质量的传输连续媒体流,需要多种技术的支持。 已经提出多种基于i p 网络的连续媒体传输方案,i t u 和i e t f 等也已出台了众多 标准,并且得到广泛的应用。本文在分析上述方案和协议标准的基础上,根据监 控领域的实际需要,对实时音视频传输作了一定的研究,实现了基于i p 的m p e g 实时传输和播放,并应用于实践,取得了一定的经济效益。 1 1 连续媒体的基本特征 1 时间依赖性 连续媒体中包含了与时间密切相关的信息,这些信息具有时间连续性特点, 它们必须按照指定的时间信息呈现给收看它的用户。连续媒体的传输必须是实时 的,端到端的等待时间应当控制在一个很短的时间片内。例如,在视频会议系统 电子科技大学硕士论文 中,为了保持会议的视听效果,延迟应当控制在2 5 0 m s 以内。 2 比特率可变性 连续媒体的传输可以分为恒定比特率( c b r ) 和可变比特率( v b r ) 两种类型。在 c b r 中,连续媒体流以恒定速率产生,网络必须按照恒定比特率来传输这些媒体 流,否则各个接收端就需要大量的缓冲区开销,而且必然会带来较大的延迟。 在v b r 中,连续媒体流以可变速率产生,在不同的时间周期内产生数目不定 的数据,网络的传输速率也要随时间而变化,这种传输通常以猝发和跳变的形式 出现。v b r 数据流主要由两种因素引起:画面内容和压缩算法。7 b r 传输对网络 传输提出了新的要求,这也是基于i p 的连续媒体传输最具挑战性的部分。 m p e g 一】可以看作是恒定码率的压缩方法,m p e g 一2 和m p e g 一4 均支持v b r 压缩 方式。但我们的m p e g 一1 压缩使用了抽帧和动态压缩技术,所以产生的数据流也 可能是v b r 的。 3 信道对称性 在端到端的传输中,传输信道是双向的,分为上行信道和下行信道。根据应 用不同,上行信道和下行信道可能是对称的,也可能是不对称的。如在监控系统 中,下行信道主要用来传输音频和视频流,上行信道主要用来传输少量控制信息, 下行信道的通信量远远大于上行信道。而在对等的视频会议系统中,由于每个与 会者都参与会议讨论,所产生的数据通常是对称的。 4 内容重要性 连续媒体的种类不同,对传输的要求可能不同。例如,由于人们对声音的敏 感程度高于视频,因此音频的优先级应高于视频。即使为同一种媒体,但其重要 程度亦可能不同。如,压缩过的视频分为关键帧( k e yf r a m e s ) 和非关键帧。关键 帧的数据是一段时间内视频解压缩的基础,如果关键帧数据出错,将可能导致一 段数据无法解码和回放,这是不允许的。非关键帧数据出错仅会导致回放时某些 画面质量的下降,这在一定程度上是可以容忍的。 在基于分层的可扩展编码压缩方案中,连续媒体流被分为多个子位流 ( s u b s t r e a m ) ,其中一个位流是基本位流,它可以独立解码。其上可能还有若干 起质量增强作用的子位流,每一层的解码必须依靠它的下层。显然,下层子位流 的重要程度高于上层子位流。 电子科技大学硕士论文 1 2 连续媒体的传输需求 1 流式传输 流式传输是相对下载后再播放而言的。传统的传输方式,如f t p ,需要先下 载全部内容,然后才能开始播放,但是由于连续媒体数据量很大,下载时间一般 很长。流式传输允许用户随时播放所传输的内容,这些内容不需要用户下载完所 有媒体数据后才开始播放,而是经过短暂延时即可一边下载一边播放。 2 同步 连续媒体中包含了与时间密切相关的信息,这些信息具有时间连续性和实时 性的特点,它们必须按照指定的时间信息呈现给收看它的用户,在播放时还要保 证音视频之间在时序上的同步约束关系。同步要求网络不仅要实时的传输连续媒 体数据,而且要在传输过程中保持媒体数据之间在时序上的同步约束关系。同步 包括流内同步和流间同步。流内同步是保证单个媒体流内部的时序关系,即按照 一定的延迟和抖动约束来传输媒体流,以保证播放的连续性;流问同步是保证不 同流之间的同步关系,实现媒体表现的同步,如口唇同步。 3 高带宽、高吞吐量 连续媒体即使经过压缩,依然占据了比较高的带宽,提供一定大小和特性的 带宽是对网络基本要求。吞吐量是指有效的网络带宽,通常定义为物理链路的传 输速率减去各种传输开销。吞吐量与网络传输速率、接收端缓冲容量和数据流量 有关。带宽不足将导致网络拥塞,缓冲不足将导致缓冲溢出,数据流量与有效带 宽和持续时间有关。如果带宽得不到满足,会造成端到端延迟的增加、分组丢失 等。由于网络的吞吐量一般随时间变化而变化,这对连续媒体的传输带来了极大 的困难。 4 高可靠 差错率是网络可靠性的重要指标,它主要由位出错、分组丢失和乱序等原因 引起。位出错主要和传输介质有关;分组丢失和乱序可能的原因是由于包头信息 的错误而未被接收,但更主要的原因是由于网络拥塞,造成了分组的传输延时过 长、超过了应该到达的时限而被接收端丢弃,或者网络节点来不及处理而丢失。 虽然由于人们对视频和声音感知能力的限制,个别数据分组出错很难被察 觉,可靠性要求仿佛不是很高。但是因为传输的数据一般是经过压缩的,需要在 播放端懈码,所以对压缩数据的可靠性要求相当高。在很多情况下,可靠性需求 和端到端的等待时间是矛盾的,要保证可靠性,必须采取差错控制措施,这必定 电子科技大学硕士论文 会增加延迟。 5 低延迟和延迟抖动 延迟是衡量网络性能的重要参数,端到端的传输延迟如图卜1 所示。网络延 迟可以分为固有延迟和随机延迟,前者由位传输延迟和带宽决定,后者由网络故 障、传输错误和网络拥塞等引起,一般难以预测。接口延迟包括数据准备好等待 图卜l 传输延迟的组成 网络接受这组数据的时间。 由于延迟的变化,导致了延迟抖动。对于局域网,延迟抖动主要来源于介质 访问时问的变化:对于广域网,延迟抖动主要来源于流量控制的等待时间和存储 转发机制中由于节点拥塞而产生的排队延迟。 对于连续媒体,理想的情况是网络以最小的延迟进行传输,并且同时到达, 这就要求将延迟和延迟抖动限制在一个很小的范围内。在接收端设置充分的缓 冲,有助于减少延迟抖动,但同时增大了延迟。 6 多点播放 大多数连续媒体应用要求多方同时进行数据交换,如视频会议要求参加会议 的任何成员可以和其它任何成员通信;视频点播要求视频服务器可以同时将视频 数据发给多个提出要求的客户;实时监控需要将监控画面送到多个监控站点。由 于连续媒体数据量巨大,单播和广播将会导致效率和性能下降,同时限制了用户 数量。组播通过把相同的数据传输到同组所有站点,最适合连续媒体传输,但它 需要下层网络支持。 1 3 实时传输的关键技术 j - 3 1 压缩编码技术 连续媒体流的数据量远远超出当前普通信道的传输能力。例如,分辨率为6 4 0 4 8 0 ,2 4 位真彩色的数字视频图象,若要达到2 5 帧秒的显示速度,需要约为 1 8 4 m b p s 的网络带宽。通过简单的提高信道的传输速率来解决是不经济和不现实 的,有效的方法是采用压缩技术。但是,即使经过压缩的连续媒体,对网络带宽 4 电子科技大学硕士论文 的需求仍然很高,如m p e g - 1 的标准带宽为1 5 m b p s ,m p e g 一2 为6 2 0 m b p s 。 已经提出了多种压缩技术标准,常用的视频压缩标准有i s o 制定的m p e g 系 列和i t u t 的h 2 6 1 ,h 2 6 3 系列,音频压缩标准有i s o 的m p e g 系列和i t u t 的 g x x x 系列。在实现电话线传输时,还可能用到j p e g 标准。 m p e g 一】压缩产生的码率可以看作是恒定码率( c b r ) 的,而m p e g 一2 不但可以产 生可变比特的码流,而且支持分层编码。m p e g 一4 是面向甚低码率的编码方法, 它与m p e g - 1 和m p e g 一2 最根本的区别在于它是基于内容的压缩编码方法,它突破 了过去m p e g l 和m p e g 一2 以矩形方块形处理图像的方法,在这些方法中,将整 帧图像分割成固定尺寸、固定开头的子块进行处理。m p e g 一4 具有高效压缩、基 于内容交互以及基于内容分级扩展等特点,并且具有基于内容方式表示的视频数 据。这些特征使得m p e g - 4 适合网络传输,但是目前m p e g 一4 的实现仍是基本层编 码,其高级功能仍未很好实现。 压缩编码方法不仅节省带宽,而且影响o o s 参数,尤其是视频编码。如只采 用帧内编码,如m j p e g ,可以通过丢帧来允许o o s 变化;如同时采用帧内编码和 帧间编码,如m p e g 和h 2 6 1 ,可以通过建立不同的优先级来发送m p e g 视频的i 帧、p 帧和b 帧,以实现o o s 调节;如果采用分层编码,可以根据终端的处理能 力来优化各层数据的传输。 扩展分层编码最适合网络实时传输。种新的被称为细粒度扩展性( f g s ) 的 压缩机制被提交给m p e g 一4 。f g s 压缩把视频压缩成两个位流:基本层位流和增强 层位流。与质量信噪比( s n r ) 扩展性的编码不同,f g s 采用b i t p l a n e 编码。它可 以实现连续的增强层速率控制。一个f g s 编码的变体是p f g s ( p r o g r e s s i v ef g s ) 编码,除了具有f g s 的基本优点外,p f g s 可以实现超过两个位流层,具有更好 的预测和错误恢复能力。 在实际系统中已经开发了多种编码的格式,主要包括r m , 晌a ,a s f ,m p g ,d i v x 等。我们的系统中使用了a s f 和m p g 两种格式,a s f 格式用于k i p e g - 4 压缩流,m p g 用于m p e g - 1 压缩流。 1 3 2 服务质量保证 服务质量( q o s ) 是指需要达到应用要求的一组定量和定性的特性。传统的面 向连接的服务和无连接的服务只能表达简单的o o s 参数,如传输延迟或最大吞吐 率等。不同的应用,o o s 参数可能不同,某些参数之间可能存在某种关系。表卜1 列出了五种类型的q o s 参数。 电子科技大学硕士论文 表1 1 几种q o s 参数分类 分类方法举例参数 格式分辨率、帧率、存储格式、压缩方法 同步音视频序列起始点之间的时滞 可接受性主观视觉和听觉质量 费用连接和传输的费用和版权等 对连续媒体来说,端到端的延迟和延迟抖动是两个关键参数,必须保证一定 的延迟和延迟抖动,控制在人所能容忍的范围之内,否则将严重影响连续媒体的 效果。几种典型连续媒体对通信网络的要求如表卜2 。 视频o 2 5 i 0 4 i o 。3 1 0 0i o 压缩视频 o25i0+6 t ( f = o ) 表示位置持续的时间; r e :p - n ,n ) 表示位置集到资源集的映射; m :p 一 i ,i = 1 ,2 ,) 表示位置集中的标记分布。 用位置代表进程,并假定变迁瞬时发生。每一个位置分配了要求再现的资源, 以及输出再现数据所要求的时间。变迁表示同步点和处理的位置。0 p n 的启动 规则概括如下: ( 1 ) 当变迁t ,的每个输入位置的令牌都没有锁定时,变迁t i 立刻启动;( 2 ) 启动时,变迁t ,从每个输入位置移走令牌,同时将令牌加入到每个输入位置中; ( 3 ) 接受令牌后,位置p ,在其工作期间f 。内该令牌处于加锁状态,直至此段时间 结束,令牌变成无锁定状态。 在o c p n 中,每一个对象与一个时态间隔相连,然后将对象分解为同步间隔 单元( s l u ) 。图5 i 把l 3 秒中的1 0 帧视频对象划分为1 0 个s i u 。0 印n 指定了 在表现级的时态要求,但没有建立在分布式网络环境下的通信和同步机制, 时间间隔 同步间隔 = = 二丁= 二工= = = 二 二 = = 】= = 工叫 s i u ls i u 2s i u i o 8 1 u o - - - o 叶- 一一一- - - 1 :) - 1 图5 1 将对象分解成s i u o c p n 是一种典型的定性间隔时间模型,其定性关联信息包含的是对两个间隔 之间基本时域关系的描述。由于它直接描述流对象间的时域关系,由此得到的同 步描述数据较为复杂,不宜维护,但有利于同步机制实施同步控制。 电子科技大学硕士论文 5 2 2x o c p n 模型 1 x o c p n 的定义 x o c p n 是对o c p n 模型的扩充。它用一个八元组一= t ,p , ,d ,r e ,m ,y ,z j 表示,其中,t ,p ,a ,m ,d ,r e 的定义同o c p n , y :p - f 控制,对象 定义了位置集到位置类型集的映射; z :p - 5 动作,函数地址,s i u 地址,通信和同步的信息地址) 定义了位置集到 地址集的一个映射。 x o c p n 中的位置分为控制位置和对象位置两种。对象位置表示对象的播放进 程,每个对象位置与媒体对象的一个同步间隔单元相联系。每一个对象位置 p 。指定一个时间间隔,这个间隔与其对应的s i u 的时间间隔相等。每个对象位置 对应以下一种操作: s i u p l a y o u t :在媒体设备上播放相关联的s i u ; s i u t r a n s m i t :向指定的虚拟电路发送相关联的s i u : 控制位置表示基于x o c p n 语义的控制功能。每个控制位置对应以下一种功能: r e s o u r c e s e t u p ( r s ) :建立虚拟电路通道,根据用户指定的q o s 参数或缺省 值商定虚拟电路属性,分配接收缓冲区,预备输出设备等: r e s o u r c e r e l e a s e ( r r ) :媒体对象完成播出后,立即释放这些资源; 水象日一 西譬 卜c 一曲m 一十屺叶一叫 ( 卜 ocpn模型xogpn模型 图5 2o c # n 模型和x o c ? n 模型的映射关系 i n t e r s t r e a m - s y n c h r o n i z e :根据所希望的同步策略实现流间同步机制。 2 x o c p n 模型 电子科技大学硕士论文 x o c p n 模型可直接由o c p n 模型映射而得。如图5 2 所示。 3 基于x o c p n 模型的流内同步 x o c p n 模型包含两种同步机制,一种是中断策略( 挂起或空等待) ,另一种是 受限中断策略。对于前者,若流中的s i u 不能按时到达就等待,直到所等待的 s i u 到达才播放。在图s 3 ( a ) 中,每个s i u 的播放用三个位置表示,即p n ( 1 ) 、 p 。( 2 ) 和p 。( 3 ) 。其中,p 。( 1 ) 表示等待s i u 。;p 。( 2 ) 表示当s iu n 到达后才能得到令 牌使得变迁t ,发生;p 。( 3 ) 表示t 。发生后播放s i u 。 受限中断策略( 图5 3 ( b ) ) 与中断策略不同之点在于:指定一个中断时间,在 中断时间以内,情况与中断策略处理完全一样。但是,如果在指定的中断时间内 s i u 。仍未到达,就丢掉s i u 去演播s i u 。在图中,每个s i u 的演播用五个位置 表示,即p n ( 1 ) 、p 。( 2 ) 、p 。( 3 ) 、p 。( 4 ) 和p 。( 5 ) 。其中,p 。( 1 ) 表示等待s i u 。时启动 定时器,若在指定的中断时间内s i u o 仍未到达,则得到令牌使得变迁t 。发生; p 。( 2 ) 表示当s i u 。到达后才能得到令牌使得变迁t 。发生;p 。( 3 ) 表示t ;发生后播放 s i u 。;p 。( 4 ) 表示变迁t p 发生后播放s i u 。;p 。( 5 ) 表示变换空位置。 ( a ) 中断同步 图5 3 流内同步机制 4 基于x o c p n 模型的流间同步 流间同步( 见图5 4 ) 也可采用两种策略,即流间中断策略和非中断策略。 电子科技大学硕士论文 s l u n s i u n + l 一伊卜o 恤q 一 泐- 沪卜o 、卜沪 s i u n o s i u n 湖n f 1 u s h p a c k e t s0 : s t r u c tt i m e v a lr t t = s r c d a t 一 i n f g e t r o u n d t r i p t i m e0 7 3 服务端实现 7 3 1 传输控制 传输控制通过两个类实现c n e t w o r k i n g 实现客户连接管理,c c o n n e c t i o n 实 现控制命令收发。 1 客户连接管理 c n e t w o r k i n g 类首先通过s e t a c c e p t e v e n t ( h a n d l eh e v e n t ) 或s e t a c c e p t f u n c ( c a l l b a c k f u n ch f u n c ) 设置客户连接触发的事件或调用的函数,然后调用 l i s t e n 0 ,开始监听客户连接请求,如果有客户连接到来,将客户连接信息存入 c c o n n e c t i o n 类的一个链表中。 c c o n n e c t i o n 类实现控制命令收发,通过s e t r e c e i v e e v e n t0 n n d l eh e v e n t ) 或s e t r e c e i v e f u n c ( c a l l b a c k f u n ch f u n c ) 设置客户数据到来时的处理。通过函 数s e n d ( e o n s tc h a r * b u f f e r ,i n tb u f f e r i e n ) 和r e c e i v e ( c h a r * b u f f e r ,i n t b u f f e r l e n ) 实现数据发送和接收。 2 控制信息收发 下面介绍使用回调函数的方法,使用事件的方法是通过设置线程完成,该线 程循环等待客户数据,并进行同样的处理。一旦客户数据到达,数据接收回调函 数启动,完成如下的功能: 接收客户数据。每一个数据有一个数据头部,定义如下: t y p e d e fs t r u c t m s g t y p e n m s g t y p e :p a y l o a dt y p e u n s i g n e di n tn c h a n n e l ;c h a n n e ln o u n s i g n e di n tn m s g l e n g t h ;p a y l o a dl e n g t h ) a v e 6 k m s g h e a d e r ,枣p a v e 6 k m s g h e a d e r : 首先取得头部信息,再根据n m s g l e n g t h 接收余下数据;然后根据n m s g t y p e 作相应的处理。 目前定义的n m s g t y p e 为: t y p e d e fe m u n c l i e n tc o n n e c t ,c l i e n t d i s c o n n e c t ,s e r v e r _ o k ,s e r v e r _ r e f u s e d ,u s e r _ m s g l m s g t y p e : 电子科技大学硕士论文 余下处理如下:如果是用户数据,将其转发给上层应用: 如果是客户请求连接,则执行 ( 1 ) 判断该通道是否在正常压缩,如果正常则继续,否则转( 5 ) ; ( 2 ) 如果需要进行客户合法性检查,则检查( 如用户名、口令和i p 地址,权 限等) ,如果检查通过,则继续,否则转( 5 ) ; ( 3 ) 根据设定的传输方式分别处理:如果是组播,则允许接收。如果该通道 没有启动传输线程,则启动;如果是单播,判断当前是否允许连接,如 果允许,将客户目标地址和端口填入发送目标地址; ( 4 ) 如果允许客户,将客户信息添加道该路客户列表,相应客户计数增加1 : ( 5 ) 如果允许客户连接,将消息类型设为s e r v e r o k ,并将同步信源( s s r c ) 、 传输方式、端口、组播地址等填入数据部分;如果不允许,将消息类型 设为s e r v e r _ o k ,并将原因填入数据部分; ( 6 ) 发送应答信息给客户。 如果是客户请求断开连接,则执行 ( 1 ) 合法性检查,如果通过则继续,否则转( 4 ) ; ( 2 ) 将客户信息从相应通道的客户列表中删除,相应通道客户连接计数减1 ; ( 3 ) 客户根据传输方式分别处理:如果是组播方式,并且连接计数为0 ,则 停止发送数据线程;如果是单播方式,直接停止数据发送线程。释放相 应的资源。 ( 4 ) 反馈相应信息给客户; 7 3 2 实时数据发送 实时数据直接从压缩卡采集得到,经过处理打包后,填入发送缓冲区。发送 数据线程从缓冲取出数据,发布到网络。 数据发送线程相对简单,它等待从缓冲区取得数据,根据取得数据长度和类 型,如果大于r t p 数据包长度,将其分段后,通过r t p 协议发送出去。 7 3 3 自适应带宽控制 自适应带宽通过发送端速率控制和速率整型实现。速率整形的目的是将压缩 电子科技大学硕士论文 后的码流适应网络的带宽限制。工作在编码器和网络接口之间,不需要与编码器 交互,所以适应任何类型的编码器。实现时通常有两种方法:一是面向传输策略, 二是面向压缩策略。由于监控数据需要本地记录,因此不能采用面向压缩的策略。 面向传输的整形是发送码流在发送端选择性丢帧,主要是对网络带宽和收端 的q o s 进行智能判断。这样做有两个好处:一是全局的q o s 得到改善、节约带宽 资源;二是可以保留重要信息包。面向传输是根据人眼对高频的信息不很敏感的 特性,由于我们的m p e g 4 压缩卡只有i 帧和p 帧,我们选择丢弃p 帧。 自适应带宽通过数据准备线程实现,它根据当前q o s 状况,对数据进行相应 处理,然后填入发送缓冲区。当前q o s 状况主要通过r t c p 反馈的接收报告作出, 参考的字段包括报文丢失率( p ) 和往返时间( r t t ) 。 初始时将全部数据送入发送缓冲,以后在每次收到r t c p 反馈时进行网络q o s 状况检查。如果达到q o s 调节的条件,则对相应数据进行处理后再填入发送缓冲 区。 7 4 客户端实现 客户端主要完成的功能包括接收媒体数据,接收服务器信息反馈,发送信息 到服务器,向上层应用报告相应的状态和错误信息等。客户端还要和播放器打交 道,通过内部维持的缓冲区实现媒体流的同步播放。客户端工作主要通过数据接 收和播放线程实现,另外还有一个接收控制消息的回调函数。 7 4 1 媒体数据接收 媒体数据接收通过r t p 协议完成,上节已对r t p 数据接收作了说明。接收的 数据置入播放缓冲。在接收数据时要对r t p 报文中的序号字段进行检查,实现播 放数据有序放入。 由于组播数据对发送方不加任何限制,可能一个客户收到两个或两个以上的 数据,这将导致数据不能播放和解码。因此,接收方只能接收指定的同步信源 ( s s r c ) 数据,它已经在初始连接时由服务器通过命令字发送给客户端。这种方式 的好处是可以检测冲突,并可以通知发送方。 如果使用单播,可通过设置s e s s s e t r e c e i v e m o d e ( r e c e i v e m o d e _ a c c e p t s o m e ) 和函数a d d t o a c c e p t l i s t ( u n s i g n e dl o n gr e m o t e l p ,b o o la l l p o r t s ,i n tp o r t b a s e ) 实现。如果出现冲突,客户也只是接收指定的数据。 8 0 电子科技大学硕士论文 数据接收线程还要r t p 相关错误检查,并将严重错误报告上层应用程序,由 上层应用决定错误如何处理。 r t c p 的反馈控制由r t p 协议自动完成,在客户端不对r t c p 信息进行处理。 7 4 2 播放线程 播放线程从播放缓冲区读出数据,置入播放器缓冲。由于数据可能存在丢失 和错误,这时存在两种解决办法。可以通过播放器进行检查并处理,也可以由播 放线程处理。我们采取的方式是,播放线程只处理数据包丢失的情况,其它错误 由播放器进行处理。 播放线程对丢失的帧( 一般就是发送端丢弃的帧) 进行简单的补偿,补偿采取 简单的重复前一帧数据的办法。 为实现平滑播放,播放线程需要根据缓冲区的情况控制播放器的播放速度, 数据过多或过少时相应加快播放速度或减慢播放速度。 播放线程检查播放器的错误状态,如果出现不可恢复错误,将其报告上层应 用程序,由应用程序进行播放器复位等处理。 7 4 3 控制命令收发 控制命令发送在3 种情况下使用。第一种是在客户端初始化时,向服务器请 求连接。通过发送c l i e n t _ c o n n e c t 请求,然后等待服务器响应。如果没有收到 反馈,向上层应用反馈超时信息;如果在指定时间内收到服务器的反馈信息,则 根据反馈信息是拒绝或是同意进行不同处理。如果服务器拒绝请求,反馈给上层 应用。如果服务器同意连接,则初始化其它数据结构,启动数据接收和播放线 程。 第二种是客户端用户发送命令到客户端,赢接将数据发送到服务器即可。第 三种是客户正常终止播放,请求服务器断开连接。 数据接收通过回调函数实现,如果收到内部控制命令,则进行相应处理;如 果是用户数据,则转交给上层应用处理。 7 5 小结 本章主要面向监控应用,简要描述了基于i p 的m p e g 实时传输的实现。由于 技术基础已经在前述各章进行了讨论,本章主要涉及实现时的主要考虑和几个细 电子科技大学硕士论文 节,较好地完成了监控需求。 但是这些实现仍然有较大的改进之处,而且有时也不能令人满意。改进之处 主要在于自适应数据分发,以及本文并未进行考虑的分布式多服务器情况。不能 令人满意处主要在于画面突然变化时,特别是由静止突然转向剧烈运动瞬间,客 户端会出现花屏现象。这个问题和压缩算法、网络传输以及播放有关,未得到较 好的解决。 由于基于i p 的网络实时播放难度较大,特别是在可变码率编码压缩方式时, 这个问题的解决仍是我们较长一段时间的奋斗目标。 电子科技大学硕士论文 总结 近l o 年来,基于i p 的连续媒体实时传输的相关理论研究和技术实践取得了 许多重要的进展,并已经形成了众多的建议和标准。然而由于网络带宽和实际的 编解码算法效果的限制,这些研究与实际应用之间还有一定距离。 在因特网上实现连续媒体实时传输有许多困难,网络传输方面的根本原因在 于i p 的无连接每包转发机制主要为突发性的数据传输设计,不适用于连续媒体 流的传输。 为了实现i n t e r n e t 上有效的、高质量的传输音视频连续媒体流,不能仅仅 依靠网络提供的有限服务来解决,它需要其它多种技术的支持。其中最重要和关 键的技术是连续媒体的编解码技术。 本文并没有研究新的编解码算法,而是注重利用已有的标准和现有的条件实 现连续媒体的实时传输。针对的压缩标准主要是m p e g l 和m p e g 4 ,m p e g l 可以看 作是恒定码率的压缩方法,k t p e g 4 既支持恒定码率,又支持可变码率,同时m p e g 4 还有其他很多适于传输的特性,然而我们目前的m p e g 4 的实现还没有做到对这些 高级功能的支持。 本文的研究和实现不依赖于具体的网络环境和接入技术,因为是针对i p 网 络,所以可以不管下层具体的承载技术。当然实际的实现和测试主要有两种形式, 一是局域网,二是广域网。 本文的应用主要针对实时音视频监控。通常的一台下位机上至少氰6 路独立 的采集和压缩的视频和音频,数据量巨大。因此主要解决年个问题。第一、延迟。 要求尽可能快的把采集的数据播放出来,特别是操作云台的时候。第二、多点播 放。通常有多个客户端需要同时观看某一画面,单播方式是不可能接受的。第三、 同步,主要是音视频流之间的同步。同步和服务端采取传递系统流或是独立的音 视频流有很大关系。第四,保证服务质量。 本文在这四个方面进行了比较详细和深入的讨论。通过对这些相关技术的分 析,根据实际需要提出相应的解决方案,实现了一个基于i p 的m p e g 实时传输系 统,并应用于实际的工程项目中。 目前这一实现仍有很多值得改进的地方,特别是在大型分布式服务器方面。 另外,v b r 方式时画面质量和时延的矛盾仍为得到很好的解决,特别是从静止画 面突然变化为剧烈运动时的情况。 电子科技大学硕士论文 参考文献 ( i i s o i e c i n f o r m a t i o n t e c h n o l o g y - c o d i n g o f m o v i n g p i c t u r e s a n d a s s o c i a t e d a u d i o f o r d i g i t a ls t o r g e m e d i au p t o a b o u t l 5 m b i t s p a r t l :s y s t e m i s o i e c1 1 1 7 2 - 1 1 9 9 3 2 】i s o i e c i n f o r m a t i o nt e c h n o l o g y - c o d i n go f m o v i n g p i c t u r e sa n da s s o c i a t e da u d i of o r d i g i t a ls t o r g e m e d i a u p t o a b o u t l 5 m b i t s - p a r t 2 :v i d e o i s o i e c l l l 7 2 - 2 1 9 9 3 【3 】i s o i e c i n f o r m a t i o nt e c h n o l o g y c o d i n go f m o v i n g p i c t u r e sa n da s s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论