(计算机系统结构专业论文)基于mpeg4多媒体直播系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)基于mpeg4多媒体直播系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)基于mpeg4多媒体直播系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)基于mpeg4多媒体直播系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)基于mpeg4多媒体直播系统的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

基于m p e g - 4 多媒体直播系统的研究与实现 中文摘要 ( 网络技术与多媒体技术的发展,促进了通信技术的综合化、数字化、糟 戆诧、令人亿豹发震,俊褥在肇一鼹络平台上实筏语音、数据、塑缘等多耱 业务成为可能。综合了网络技术与多媒体技术的网络多媒体直播技术正是在 这个游景下产生豹,并得到了迅速的发展。m p e g 一4 系统楚当前流行的一种多 媒体编码方式,广泛的废用于低码率传输,如何在i n t e r n e t 上实时传输 m p e g - 4 码流是当前的一个研究热门,也是未来网络多媒体的一个重要的研究 方向。 1 缎合上述背景,译文研究并总结了网络多媒体通信的基本原理和关键技 术,详细介绍了实时网络传输协议r t p r t c p 以及通过r t p r t c p 传输m p e g 一4 的技术。参照r f c 3 0 1 6 榕准,设计了一弛在r t p 上传输m p e g 一4 的系统。本文 详细介绍了该系统的设计与开发过程,包括采集模块、编码模块、网络传输 模块、艇码模块以及终蝼圈放模块等。测试绫果袭鞠,本系统达到了m p e g 一4 网络直播的旗本要求,能实时传输图像和声音,并在一定范围内达到音视频 同步。在该系统静开发与溺试静基磴上,本文对时延、撙动、罢龟等因素对 服务质量的影响做了一些研究和分析。 本文第部分( 第一章到第四章) 探讨了m p e g 4 实时传输的基本原理、 浚议、标准及关键技术等;第二部分( 第纛牵至l 繁六章) 公缨基于m p e g 4 多媒体直播系统开发过程,包括该系统的分析、设计、实现、测试等。 关键字: m p e g - 4 i r t p 流媒体、q o s 嚣疹 , 基于m p e g 4 多媒体直播系统的研究与实现 a b s t r a c t t h ed e v e l o p m e n to fn e t w o r kt e c h n o l o g ya n dm u l t i m e d i at e c h n o l o g y h a s g r e a t l yi m p r o v e d t h ec o m m u n i c a t i o nt e c h n o l o g yo f i n t e g r a t i o n , d i g i t a l i z a t i o n ,i n t e l l e c t u a l i z a t i o na n dp e r s o n a l i z a t i o n ,w h i c hm a k e s i tp o s s i b l et or e a l i z ei n t e g r a t e ds e r v i c e so fa u d i o ,d a t a ,v i d e o ,a n d s oo n ,o nasi n g l en e t w o r kp l a t f o r m t h e r e f o r e ,u n d e rs u c h8b a c k g r o u n d t h en e t w o r km u l t i m e d i a1 i v i n gb r o a d c a s t ,w h i c hi n t e g r a t e sn e t w o r k t e c h n o l o g y a n dm u l t i m e d i at e c h n o l o g y ,h a s a p p e a r e d a n dm a d ef a s t d e v e l o p m e n t m p e g 一4i sav e r yp o p u l a rm u l t i m e d i ac o d e c ,w h i c hu s e di n t h el o wb i t - r a t et r a n s p o r ti nt h en e t w o r k s oh o wt ot r a n s p o r tm p e g 一4 b i t s t r e a mi nt h en e t w o r kr e a l t i m ei sah o t s p o to fr e s e a r c h a c c o r d i n gt ot h ea b o v e ,t h eb a s i cp r i n c i p l ea n dk e yt e c h n o l o g y o fm u l t i m e d i at r a n s p o r th a v eb e e nr e s e a r c h e di nt h ep a p e r ,a n di t i n t r o d u c e st h er e a lti m e t r a n s p o r tp r o t o c o lr t p r t c p a n d h o wt o t r a n s p o r tm p e g 一4o v e rr t p r t c p r e f e rt or f c 3 0 1 6 ,at r a n s p o r tm p e g 一4 o v e rr t p r t c ps y s t e mh a sb e e nd e s i g n e da n di m p l e m e n t e d t h i sp a p e r d e p i c t st h es y s t e m ,i n c l u d i n gc a p t u r em o d u l e ,e n c o d em o d u l e ,n e t w o r k t r a n s p o r tm o d u l e ,d e c o d em o d u l ea n dp l a y b a c km o d u l e t h et e s tr e s u l t s h o w st h a tt h es y s t e mc a nt r a n s p o r tm p e g 4v i d e oa n da u d i or e a l t i m e l y a n dp l a y b a c kt h ev i d e oa n da u d i os y n c b a s e do nt h ed e v e l o p m e n ta n d t e s t i n g ,t h ei n f l u e n c eo fd e l a y ,j i t t e ra n dp a c k e tl o s so nt h ev i d e o a n da u d i oa r ea n a l y z e di nt h ep a p e r m p e g 一4r e a l t i m et r a n s p o r tb a s i cp r i n c i p l e ,p r o t o c o l ,s t a n d a r d a n dk e yt e c h n o l o g yh a v eb e e ne x p a t i a t e df r o mc h a p t e r1t oc h a p t e r4 c h a p t e r5a n dc h a p t e r6 d e s c r i b et h es y s t e md e v e l o p m e n t ,i n c l u d i n g a n a l y s i s ,d e s i g n ,i m p l e m e n ta n dt e s t i n g k e y w o r d s : m p e g 一4r t ps t r e a m q o ss y n c h r o n i z a t i o n i v 基于m p e g 4 多媒体直播系统的研究与实现 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致 谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得电子科技大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示谢意。 ,t r 签名:二鹚_ 固一日期:z 哆年厂月沏日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位 论文的规定,有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以 将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 辣 导师签名: 日期:z o o s 基于m p e g 一4 多媒体直播系统的研究与实现 第一耄绪论 1 1 网络多媒 奉燕播系统研究的慧义 网络技术与多媒体技术的发展,促进了通信技术的综合化、数字化、智 戆纯帮令人亿静茨曩,傻褥套攀一嬲络平套上实骥语裔、数攥、整豫等多秘 业务成为可能。 魏场壹捺氇不再是惫褫台、迄套静专裂,髓着鼹臻多媒髂按拳窝发震,越 来越多的站点开始采腰计弊枧婀络传播多媒体视密频信息,为用户提供更丰 富的内容,使得翮站变得更加精彩。有许多i n t e r n e t 的视频应用需要在 i n t e r n e t 嬲络上豪援,熟臻场蕊搔、远程敬蠢等纛撵业务。它们都爨求最大 范围静诖蹒众蕊番到离矮麓静繁霞,豫溆褫纛疆一样这劐宣传、广嚣来瀵是 鼹众 ;霪臻熬嚣蕊。这魏簧慕系绫其签舞镄输速率、数据秘步、数据滤躬分滚、 高稳定性等特性。例如c c t v ( 中央电视螽) 就已缀开展了电视节目的网上赢 播妲务。缎是要嚣虱的是,舀前掌援两络赢播系统核心技术大都分都是国辨 斡公司,所融开发一套鞠番鸯主产投的黼络豢搔系统其有深远静意义。 在诗冀撬网络上传羧多媒体已经成势了姿蓑计算援邋爨毅术嚣多媒落技 术臻究赡翦港瀑越,螺侮使缮实黠多媒体臻惑在鼹络申更为巍效鼓转输成必 当前多媒体技术和计算机通信披术中的个研究热点。 1 2 国内外研究动态 8 0 年代翔,美国、强本帮黢湖数计算掇公司嚣始致力予多霖镕技术豹麟 究,怒该技术空翅予p c 毫臻。藉先建立了基予届域阚( l a n ) 的多媒体通倍系 统,如美国x e r o x 公司的以太电话( e t h e r p h o n e ) ,可以说是最早的多媒体通 信系绞。 避入9 0 年代,网终多媒髂熬研究进入了一个蚨速发浸鲍避期,晕在1 9 9 5 年翘,v o c a l t e c 公司捺出了耱翻檄i n t e r n e tp h o n e 的容户软孛 ( 蠛在可 以称之为最早的i p 电落软件) ,虽然当时该公司还没有提出在i p 上传输话酱 的概念,假这确蜜是i p 电话第次成功的商娅德和市场彳七窝戏。 鹱赘互袋嚣建设的不断发瀑鞋及令久毫麓处璎瞧力静不辑臻强,人们嚣经 基于m p e g 一4 多媒体直播系统的研究与实现 不再局限于在网络上传输声音信息。可视电话、视频会议、实时监控系统等 在网络上传输音视频信息已经得到较为广泛应用。 近年来随着各种新技术的不断出现,网络多媒体技术得到了广泛的关注。 例如:东芝公司就于最近开发出单芯片的m p e g 一4 编解码芯片,利用该芯片可 以很方便的开发出体积微小的嵌入式编解码设备;m o t o r o l a 公司成功的在手 机上测试实时观看电影。随着这些相关技术的发展,网络直播技术一定会深 入到千家万户。 基于m p e g 4 多媒体直播系统的研究与实现 第二章网络多媒体直播系统的概述 多媒体数据是由文本、图形、图像、音频或视频等数据构成,其最明显 的特征就是数据类型复杂和数据信息量大。实时多媒体信息除了多媒体本身 的基本特点之外,还具有延时小,实时交互、同步以及支持q o s 等重要特征。 目前的i n t e r n e t 是个“力求最好”( b e s t e f f o r t ) 的网络,不提供预留资 源或保证服务质量的机制。所以丢包以及延迟抖动等因素严重影响了实时多 媒体信息在i n t e r n e t 上的应用。所以基于实时多媒体信息的特点,在网络上 实现高效的多媒体实时传输需要对高效数据压缩技术、流媒体技术以及网络 通信协议等方面进行研究。 网络直播作为多媒体实时传输的一个典型应用也必须考虑上述技术。对 于网络直播来说,数据的传输方式是一个比较重要的考虑因素。 2 1 网络直播的数据传输方式 网络直播按数据传送的方式,可分为单播( u n i c a s t ) 、广播( b r o a d c a s t ) 和组播( m u l t i c a s t ) 。 单播指的是在每个客户端与媒体服务器之间建立一个单独的数据通道。 这种方式的优点是每个客户端都是相互独立的,每个客户端可以选择接收 通道。但是这种传送方式缺点是首先会给服务器带来沉重的负担,响应时 间变长,另一方面又极大地浪费了网络带宽。 广播指的是服务器将数据包发送给局域网所有用户。这时,客户端接收 流,但不能控制流。广播方式中数据包的单独一个拷贝将发送给网络上的 所有用户,不管用户是否需要。 组播多路广播传输又被称作组播。它把一个单独的数据流只发送到加入 了适当的“多路广播组”的工作站。只有用户发出加入“组”的请求,才 能得到传输的数据流。原来的数据重复分发工作由路由器完成,每个子网 只出现一个多地址的流,即组播流。组播的源端并不需要知道哪些用户在 接收这个组播。这样,就可以省下大量的网络资源。 基于m p e g 4 多媒体直播系统的研究与实现 由上述分析可知,通过组播形式传输网络多媒体效率相对比较高,也是 未来的一个重要发展方向。 2 2 直播的两种典型应用模型 流媒体的传输在很多情况下要求是一对多的传输,例如网络电视就是一 个典型的例子。一个节目源编码端,但是要求多个解码端可以同时收到。目 前这种一对多流媒体技术主要有两种典型的应用模式,分别为组播模式 ( m u l t i c a s t ) 和流媒体服务器的方式。 组播: 下图显示的是一种基于组播模式下的典型应用: 其中编码设备将采集设备采集到的多媒体数据压缩编码,并通过组播的 模式将压缩数据发送出去,客户端设置加入到这个组播地址,就可以接收到 编码设备发送的数据。这种方式的特点是节约网络带宽,在支持组播的网络 中只有在客户端最近的一个路由器才分发数据包,而在之前的网络传输只是 传输一个流即可。组播模式的缺点是:在不支持组播的网络上不能使用,例 如目前的i n t e r n e t ,所以组播模式目前一般用于局域网内部。 使用流媒体服务器: 与使用组播模式不同的一种方式是使用流媒体服务器。这种方式是在编 基于m p e g 4 多媒体直播系统的研究与实现 码端和解码端加入了一个流媒体服务器来转发流。流媒体服务器模式可以下 图来表示: 图2 2 流媒体服务器模式 客户机 如图2 2 所示,流媒体服务器起到的作用是将编码设备发送的流进行转 发,编码设备与流媒体服务器之间和流媒体服务器和客户端之间都可以使用 单播方式进行传输。其中流媒体服务器和客户端之间也可以通过组播方式传 输。这种方式比较灵活,但是也相对比较复杂。目前商用流媒体大多使用这 样方式,例如r e a lm e d i a ,也有开放源代码的流媒体服务器,例如a p p l e 公 司的d a r w i n 服务器等。 根据这两种模式的优缺点和实际需要,本系统完成了第一种模式( 组播 方式传输) 的直播系统。 基于m p e g - 4 多媒体直播系统的研究与实现 3 1 m p e g - 4 介绍 第三章m p e g 4 及其特点 近年来,数据压缩方法有了令人瞩目的发展。以活动图像数字编码为代 表的信号压缩技术已走向成熟。m p e g 一1 ( i s o ) 、m p e g - 2 ( i s o ) 、h 2 6 1 ( i t u ) 和 h 2 6 3 ( i t u ) 等国际标准有力地促进了数据压缩技术的商品化进程。随着电信 业、计算机业和影视业的迅速融合,各种更高的需求不断涌现,如多媒体移动 通信、视频点播、多媒体创作工具、虚拟现实、交互式家庭购物等等。与此 同时,原先制定的标准如m p e g 一1 2 等的缺陷日渐显露。为了适应新的需求, m p e g 视频专家组于1 9 9 9 年1 月公布了m p e g 一4 标准。 m p e g 一4 系统是一种新型的基于对象多媒体编码标准,它具有如下新特 征:高编码效率;高错误恢复性;基于多样的,任意形的对象编码等。其码 率范围介于几k b p s 到几m b p s 。m p e g 一4 最根本的特征是引入了音视频对象 ( a v o ) 的概念。 m p e g 一4 不同于m p e g 一1 2 或h 2 6 3 + 系列标准,其压缩方法不再局限于某 种算法,可以根据不同的应用进行灵活的系统裁剪和选择。为此,m p e g 一4 提 供了一个包含各种工具和算法的工具箱,给出各种任意形状的可视对象的高 效表示,m p e g 一4 可用于: 各种图片和视频的高效压缩: 各种纹理( 映射在各种2 d 和3 d 网格上) 的高效压缩; 各种隐含2 d 网格的高效压缩; 各种网格动画时变几何流的高效压缩; 各种图片和视频序列的扩充操纵功能; 图片和视频的基于内容的编码; 纹理、图片和视频的基于内容的可伸缩性; 萋乎m p e g - 4 多媒俸直播系统抟研究蜂窝琚 察域、瑟尊域鞠矮整豹霹 毒缀往; 误码环境下的坚韧性和恢复能力等等。 传统图像绽鹕方法依据信源编鹦理论,将图像视为随机馁号,嗣用其统 诗幸耄瞧寒这裂医缝懿鏊豹。这秘方法本嶷泰能考虑信患获取鼗购主溅意愿与 主羽特性,未能考虑事件本身的特性,如舆体岔义、重要性以及后果等等。 毽垂楚由予疆源编羁淫论豹黻定使褥传统熬嚣缘编璃其毒较豢靛概戆瞧帮练 会性,两基予矩形帧编码的h 2 6 1 ,h 2 6 3 ,m p e g 一1 2 在实际应用中也获得了巨 大成功。 m p e g - 4 裂趱大鞭凌爨将瞧,捺往图豫倍惑佟羧戆本痿,麸轮黪、纹理瓣 思路出发,支持基于观徽蠹容的交互功能。实现基于内容交互功能的关键在 予基于视凝对象鳇编鹨,帮婪实糯任意形菰的缡褥。为j 毙, h p e g 一4 零l 入了裰 频黠象平蘸( v i d e o0 8 j e c tp l a n ev o p ) 触概念。它撤据人跟感兴趣的一些 特性( 如形状、运动、纹理等) ,将豳像序捌中每一帧中的场爨,看成楚由不 羁v o p 组成载。踅弱一黠象涟续憨v o p 拣为视频对象( v o 。v o 可以楚视叛 序列中的人物或具体的嫩物,例如电视新阚中的播音员,或鼹电视剧中一辆 奔貔鹣汽车,遣酉菇怒计算搬图像鼓术熊戏豹二缝竣三缳瘸缘。 3 2m p e g - 4 是冬容错穷戏 程繇秘攀溃提下瓣络数摄鼹输丢霞、延对撼动等帱况榴对比较严萤, m p e g 一4 设计了相应的容错工舆来提高解码质量。m p e g - 4 的密镄工具分为三个 穷瑟;重灏筏步、数撵穰复酾错误漶藏。 ( 1 ) 爨錾圈步菱毅秘步工暴螅髫标蹙当娼流中也现了锩误袋者忍经检测 烈锩误时,农解妈嚣翔弼流之阆能够重新同步。通鬻谯出现错误的同步点和 委掰建立耱粥步焘之越豹数撂都被篱奏,鬟凝秘步爨鸯效地定位鳞羁器鼹丢 弃静数据,进稳翅来恢复数握或隐藏错误的工舆的性能将得到增强。m p e g 4 采建鹣重灏嚣多方法与嚣。z 6 1 h 2 6 3 的壤缀织绥鞫( g o b ) 橹锨,嚣数据毯豹 方法。但g o b 是基予空阀鲍,即一旦编码避程到达个特殊的宏块位置,就 搂入个慰步标惑。由于码漩是可变的,这釉方法使粥同步标志在码流中分 礤不垮匀,在场爨中数攥煞菜些剧烈运动嚣域裁容荔蝰锩。露m p e g 一4 是袋爆 基于m p e g - 4 多媒体直播系统的研究与实现 码流与固定间隔同步的方法,这个方法只在码流中合法的固定间隙位置才会 出现v o p 开始码字和重新同步标志。这有助于避开和开始码字相关的错误。 ( 2 ) 数据恢复在重新建立同步后,数据恢复工具可以用来恢复那些丢失 的数据。这些工具不是简单地纠正错误码字,而是在编码时加入容错信息。 例如可逆的变长编码( r v l c ) 工具可以使码字从两个方向读入,既可以正向 也可以反向。 ( 3 ) 错误隐藏一个错误隐藏策略的有效性主要取决于重新同步方法的性 能。一般地,如果重新同步方法能有效地定位错误,那么错误隐藏就易处理。 对于低码率、低时延应用,上述重新同步方案使用一个简单的隐藏策略就取 得了可接受的结果,例如从前一帧中复制相应块到当前出错的块。这种方法 对于提供增强的错误隐藏能力也是较好的,特别是通过将运动和纹理分离后, 它要求第二个重新同步标志插入到运动和纹理信息之间。若丢失了纹理信息, 该方法将使用运动信息来隐藏这些错误,即利用前一个解码v o p 来补偿当前 的v o p 。 3 3m p e g - 4 终端体系结构 m p e g 一4 终端体系结构主要分成三层:压缩层( c o m p r e s s i o nl a y e r ) 、同 步层( s y n cl a y e r ) 和传输层( d e l i v e r yl a y e r ) 。压缩层把基本码流划分成 多个访问单元( a u ) ,它是基本码流中具有时间属性的最小实体。a u 定义了 特定的媒体处理和发送处理之间的边界。使传输只取决于a u 的属性,与媒体 数据的性质无关。对象描述符( o b j e c td e s c r i p t o r s ,o d s ) 是一个或多个基 本码流描述符( e sd e s c r i p t o r ) 的集合,一个场景中的各个基本码流的层次 关系、位置以及属性由一组动态的对象描述符来描述。而o d s 本身也放在一 个或多个基本码流中传输。 基本码流描述符用来把场景中单个的内容项( 如:视频、音频对象等) 与其对应的基本码流建立联系,而且一个内容项可以有多个不同质量档次的 基本码流,从而有多个对应的基本码流描述符。基本码流描述符以一个唯一 的识别符或一个指向流发端的u r i 来表示码流数据的来源,另外,该描述符 还包含编码格式、解码程序的配置、同步层打包、服务质量等信息。一组完 整的o d s 可以看作是对一个m p e g 一4 资源或会话在码流层次的描述。资源描述 本身可能也是分层次的,即一个传输0 d s 的基本码流可以描述传输其它0 d s 的基本码流。 3 4m p e g 的帧类型 m p e g 图像编码包含3 个成分:i 帧,p 帧和b 帧。m p e g 编码过程中,一些 图像压缩成i 帧,一些压缩成p 帧,另一些压缩成b 帧。i 帧压缩可以得到6 : 1 的压缩比而不产生任何可觉察的模糊现象。i 帧压缩的同时使用p 帧压缩, 可以达到更高的压缩比而无可觉察的模糊现象。b 帧压缩可以达到2 0 0 :1 的 压缩比,其文件尺寸一般为i 帧压缩尺寸的1 5 ,不到p 帧压缩尺寸的一半。 i 帧压缩去掉图像的空间冗余度,p 帧和b 帧去掉时间冗余度,下文将进一步 解释: ( 1 ) i 帧( 内部编码帧i n t r a c o d e df r a m e ) :i 帧压缩采用基准帧模式, 只提供帧内压缩,即把帧图像压缩到i 帧时,仅仅考虑了帧内的图像。i 帧压 缩不能除去帧间冗余度。帧内压缩基于离散余弦变换( d c t ) ,类似于j p e g 和h 2 6 1 图像中使用d c t 的压缩标准。在解码端i 帧可以独立的解码。 ( 2 ) p 帧( 预测编码帧p r e d i c t i r ec o d e df r a m e ) :p 帧采用预测编码,利 用相邻帧的一般统计信息进行预测。也就是说,它考虑运动特性,提供帧间 编码。p 帧预测当前帧与前面最近的i 帧或p 帧的差别。编码和解码过程都 要利用前面的参照帧( i 帧或p 帧) 的信息。由于利用了瞬时冗余技术,所 得到的压缩率比i 帧的的压缩率要高很多 ( 3 ) b 帧( 双向预测编码帧b i d i r e c t i o n a lp r e d i c t i v ec o d e df r a m e ) :b 帧编码和译码过程中需要利用前面和后面的参考帧信息。因为b 帧编码方法 用到了双向运动补偿预测,所以它得到的压缩率比i 帧和p 帧都要高。一般 不使用b 帧作为其他帧的参考帧。 根据上述对于i ,p ,b 帧的描述可以知道,任何一个编码序列都是从i 帧开始,后面可以有多个p 帧或b 帧。所以i 帧在这几类帧里最为重要,i 帧常又被称为“关键帧”或同步帧。 基于m p e g - 4 多媒体直播系统的研究与实现 m p e g 一4 同样把帧分成i ,p ,b 几个类型,在本系统中解码部分会对这几 种不同的帧进行不同的处理。 3 5m p e g - 4 的应用 m p e g 一4 的应用将是广泛而深远的。这一新的工业标准将至少可以应用于 以下场合: 实时多媒体监控; 极低比特率下的移动多媒体通信: 基于内容存储和检索多媒体系统; i n t e r n e t i n t r a n e t 上的视频流与可视游戏; 基于面部表情模拟的虚拟会议: d v d 上的交互多媒体应用: 基于计算机网络的可视化合作实验室场景应用 演播室和电视的节目制作。 罄于m p e g - 4 多媒体赢播系统黔奄 究与实现 4 。 r t p r t c p 协议 第四章r t p r t c p 协议 枣予网络多媒髂懿传稔与谨统豹文本数据等饕实拜雩信息豹俦辕不嗣,它 对实时性的要求远高于可靠性,当网络拥塞时,对于q 实时传输而言,只是 筵长了传输瓣潮,霹壬鸯褪频传输瑟京,数据不麓按辩嚣达褥导致黪潋忍受 的音视频服务质量。为了支持网络实时传输服务,人们设计了r t p r t c p 协 议,r t p r t c p 蛰议枣i e t f 圣# 为r f c l 8 8 9 嚣发毒豹。 r t p 位于u d p ( u s e rd a t a g r a mp r o t o c o l :用户数据报协议) 之上。u d p 虽 然没有t c p 可纛,并虽无法保谣实对鼗务静骚务葳董,健是交于u d p 戆传辕簿 延低于t c p ,能很好的保证传输的实时性。因此在实际应用中,r t p r t c p u d p 常矮予传输音凝税额媒体,瑟t c p 嗣予控制赣令懿传输。 r t p 协议被设计成能够对菜种特定的应用提供服务,实际上r t p 的实现经 常被融合蓟应用程序中来。r t p 没有连绥的概念,它甄可戬建立在面囱连接酶 底层协议上,也w 以建立在面向无连接的底层协议上,因此r t p 协议对传输层 跫独立翰。r t p r t c p 汝议一般鸯两部分组成:r t p 谤议和r t c p 协议,数据僚 输由r t p 协议完成,控制信息由r t c p 协议完成。 4 2r i p 数据毽结构 r t p 数据惫结构如图4 - 1 繇示: 基于m p e g 4 多媒体直播系统的研究与实现 负载类型 版本号补齐位拓展位 c s r c 数标记( m )( p t )序列号 ( v )( p )( x ) 4 位l 位7 位1 6 位 2 位1 位1 位 时间戳( t i m e s t a m p ) 3 2 位 同步源标识( s s r c ) 3 2 位 c s r c 标识符 3 2 位 负载数据( p a y l o a d ) 图4 1r t p 数据包结构 r t p 数据包由1 2 字节的固定的r t p 头和不定长的连续媒体数据( 视频 帧或音频帧) 组成,其中的媒体数据可以是编码压缩后的数据。 v :2 位长的版本号; p :1 位长的附加标记位,用以说明包尾是否附有非负荷信息。这些附加的 信息可用于加密或通知低层协议,一个数据单元封装有几个r t p 包; x :1 位长的扩展位a 若x = i ,表示r t p 头后附有一变长的扩展头; c c :4 位长的c s r c 计数,表示固定头后有多少个c s r c 标识符; m :1 位长的标记位,用以标记数据流中的重要事件,如帧边界等; p t :7 位长的负荷类型。解码端据此来识别媒体类型; 序列号:2 字节长的包序号。每个r t p 数据包按发送先后次序依次增1 , 用于解码端的丢包检测和包序号恢复。考虑到安全因素,第一包的包序 号是随机的; 时间戳:4 字节的时戳。记录r t p 包中数据开始产生的时钟时间,用于同 步和包到达间隔抖动计算。时钟频率和数据格式有关,不能使用系统时 基于m p e g 4 多媒体直播系统的研究与实现 钟。对固定速率的音频来说,每次取样时戳时钟增1 。和包序号一样,时戳 的开始值也是随机的。如果多个连续的r t p 包在逻辑上是同时产生的, 那么它们具有相同的时戳; s s r c 标识符:4 字节长的同步源标识符,用以识别同步源。该识别符是随 机产生的3 2 位长的标量,以避免两个同步源具有相同的时戳; c s r c 标识符:为一贡献源表,0 - - 1 5 项、每项4 字节长。c s r c 表用以识 别和r t p 包中负荷相关( 提供负荷) 的源。由于c c 项只有4 位长,当贡献 源超过1 5 个时,则只能识别1 5 个。c s r c 由混合器( m i x e r ) 通过贡献源的 s s r c 识别符插入到r t p 包中。 - 负载数据( p a y l o a d ) :是r t p 数据包中用于存储传输数据的字段。 4 3r t o p 协议的组成 r t c p 是用来监视r t p 传输质量的一个辅助协议,它的功能: 1 :反馈数据传送质量; 2 :提供定时信息; 3 :建立标识,即每个参与者规范的名字( c n a m e ) : 4 :能根据参与者的数目来调整控制信息的传送; 5 :提供最小的会话控制信息。 对于单播情况,r t c p 能反馈关于媒体发送的信息,支持某种形式的速率 控制和媒体同步;而在组播中r t c p 的效率更高。属于一个特定r t p 会话的 r t p 流和r t c p 流均使用同一个组播地址,但端口号不同。r t c p 数据包周期性 地从一个会话的参与者发送到所有其它的参与者。编码端报告让解码端估测 数据速率和传输质量。解码端报告说明在解码端出现的问题,包括分组丢失 和过大的时延抖动( j i t t e r ) ,编码端可以通过这些报告的信息采取相应的措 施。 、 r t c p 信息由若干堆栈式的包组成,每个包有其自己的类型码和长度指示 其包格式和r t p 数据包类似。r t c p 包周期性地在会话成员之间组播,起着会 员活动指示器的作用。常用的r t c p 包有下列几类: 基子m p e g - 4 多媒体直播系统的研究与实现 s r :源报告包,用于发送和接收活动源的统计信息: r r :接收者报告镪,用于接收非活动站的统计信息; s d e s :深臻述包,矮子掇告帮懿点相关豹信惑; b y e :站点离开系统报告包: a p p :特殊威用包( 用户自定义包) 。 借助于上述控制包,r t c p 可完成下列控制功能: lq o s 篮测鞠翔塞控翻。发送密频税频鼗攥豹瘦弱会产生一个s r 锻, 包中含有所发送的包数和字节数统计等信息,接收者可据此估计出实际的数 据率。会谲成员向所有活动的音频、视频源发送r r 包,包中含有所接收的矮 裹包序号、丢失的龟数、包间隔抖动测擞值以及计算源县之间 r t t ( r o u n d t r i p t i m e ,来回时间) 所需的时戳: 2 媒体闻同步。r t c p 的s r 包中含有麓锌时闻帮裙寝懿r t p 对戳,可瘸于 不同媒体间的同步: 3 识别信息。r t p 数据包只能通过随机产生的3 2 位的识别符来标识源, 不髓满是诸如会议这样瓣复杂瘦弱豹需求。瑟r t c p 瓣s e d s 穗中有足够豹文 本信息,如正规的名字、用户名、e m a i l 地士止、电话号码、应用及警示信息簿, 可以满足复杂应粥的需要: 4 会谗援模大小结诗帮接刳信惑量豹调节。参与会话的每个成员阚期性 地发送r t c p 包,各站点可据此估计或计算出参与会话的成员数目,以便及时 调节实霹羧穰豹信惠量,使褥弪裁倍惠量霸媒钵渡务蠢达餮平鬻( 在多攥热会 议中,控制信息擞一般为媒体业务量的5 左右) 。 基于m p e g 一4 多媒体直播系统的研究与实现 第五章系统设计及实现 本章在裁凡拳分孛嚣帮磅炎豹基墨毽上,设计势实瑷了一个基予m p e g 一4 阚 络多媒体窟播系统,本系统充分利用了m p e g 一4 的高压缩率和r t p r t c p 协议 实辩传输静特点,并撩据实际情凝将m p e g 4 和r t p r t c p 协议结合起来。 ( 1 ) 系统特点: 编码端采用l i n u x 平台,符合现在和未来的技术标准,便于今后移穗到 嵌入式l i n u x 。 所有模块都是基于开放源代码模式开发,系统使用所有的库都是开放源 代璐& ,便于系统静糍震霸移檀。 视频流采用先进的m p e g 一4 压缩格式,占用较少网络带宽的情况下仍有很 好的图像质量。 根据m p e g 一4 的特点和组播传输的特点定制的传输模式。 ( 2 ) 系统使用范围: 出于m p e g 一4 豹襄痿缝率特点和使媚实瓣抟竣携议魏特点,本系统可以在 占用较少网络带宽的情况下实现音视频的实时传输。 本系统哥戮邋罐子下鄹瘦瘸: 网络电视 远程教育和多媒体教室 远程睚疗系统 视频邮件系统 电台怒视台豹弼终童播 公司的远程培训l 系统 、 5 1 系统概述 本系统设计成一个点对移点的多媒体直播系统。在支持组播的网络上使 爰鳃撵形成实玟蔗对多点砖竣。 系统大体分成两个部分,一个是编码端,一个是解码端。其中编码端只 设瑟一个,解码端可戳有多个。 蕊予m p e g 4 多媒体蠹籀系统静蟥究与实现 在编璃藕圭簧 王务怒:采集、缡羁、羹装、发送。 解码端的主疆任务是:接收、缓冲区处理、解码、回放。 编礴端主要的模块有: 1 视频采集编粥摸块 2 音频采集编码模块 3 缓冲区管理模块 4 ,r t p 发送模块 解码端主要模块有: 1 r t p 接收模块 2 。 缓冲区管理模块 3 音频解码模块 4 。 褫羰解露模坟 5 音频回放模块 6 视频回放模块 系绞模块缭梅示意图麴瑶5 - 1 掰示: 图5 - 1 系统组成模块示意图 基于m p e g 4 多媒体直播系统的研究与实现 5 2 软硬件设计 5 2 1 软件平台 编码端考虑到采集设备和编码设备的小型化以及嵌入式l i n u x 的快速发 展,所以编码端使用l i n u x 作为采集编码平台。开发平台为r e d h a tl i n u x7 2 , 开发语言为c 语言,编译器为g c c 3 0 2 ,调试工具为g d b 。 解码端设计成为可以跨平台编译的软件系统,目标是解码端软件可以在 w i n 3 2 平台和l i n u x 平台下编译运行。在w i n 3 2 平台下使用v c + + 6 0 作为 开发工具,在l i n u x 平台下使用g c c 开发工具。 5 2 2 硬件平台 考虑到实际情况,本系统的开发工作在p c 上完成。由于编码端要进行 的m p e g 一4 编码和l a m e 编码需要耗费大量的c p u 时间,所以使用p i i i8 0 0 以上的p c 作为开发测试平台。解码端解码相对机器的要求不是很高,使用 i n t e l 赛杨3 3 3 就可以胜任了。 视频采集设备使用的是l o g i t e c h 快看轻松版q u i c k c a me x p r e s s ,这是 l o g i t e c h 公司出品的一款u s b 摄像头,十五万c o m s 感光器件;6 4 0 x 4 8 0 最 大分辨率;3 0 f p s 最大帧频;具有l i n u x 下的驱动程序。音频采集设备使用 的是c m i6 5 2 4 声卡,支持4 4 1 0 0b p s 和1 6 位采样。 5 3 系统使用到的软件包介绍 u c l r t p 库:u c l r t p 库是u n i v e r s i t yc o l l e g el o n d o n 提供的一套 r t p r t c p 协议的完整实现。它支持r f c l 8 8 9 ,并集成m d 5d e s 等加 密算法。u c lr t p 支持的操作系统有s 0 1 i s ,l i n u x ,i r i x ,f r e e b s d , w i n d o w s9 5 9 8 n t 2 k 。本系统使用u c l r t p 库作为网络传输工具。 s d l 库:s d l 是一套跨平台的多媒体底层存取库,它主要目的是跨平 台提供个统一的编程接口,为应用程序开发特别是代码移植提供便 利。s d l 在多种操作系统上提供一个统一的存取底层音频、视频、键 盘、鼠标、游戏杆、c d r o m 等设备的方法,s d l 还支持多线程编程。 蕊于m p e g 4 多豢搏壹接系统豹磺究与实褒 本系统搜弼熬s d l 貔舨本是( 1 2 ) ,它支持l i n u x ,w i n d o w s ,b e o s , m a c o s ,m a c o sx ,f r e e b s d ,b s d 0 s ,s o l a r i s 和i r i x 等操作系统。本 系统缓矮s d l 瘁慕实褒多线疆、音褪频疆教等功戆。 x v i de n c o d e r d e c o d e r :x v i d 是个m p e g 4 视频编解码的实现,兼 容m p e g 4 标准。宅其鸯浆置麓擎,速发块等特点。x v i d 编秘器只 产生单一框架的数据流。本系统使用x v i d 对视频输入编码。 l a m e :毛a 糙e 楚套m p 3 ( m p e gl a y e r 3 ) 豹编解秘王其。其霄壤媚 简单等特点。本系统使用l a m e 对音频输入编码。 系统的应用结构图如下 嚣5 屹系统森臻结稼示意瓣 5 。4 建竣m p e 6 - 4 兹方案豹 较弱选撵 m p e g - 4 系绞没有定义确定的砖输方式和具体的标准,所以m p e g 一4 系统 的传输有多种方案,根据m p e g 一4 系统的特点和结构主要可以分为使用m p e g 一4 系统的传输方案和不使髑m p e g 一4 系统的传输方案。 蒸乎m p e g * 4 多媒髂囊播系统懿磺究与实现 5 4 。 搜雳潆e g - 4 系统磐豹穷察 芥: m p e g - 4 系统层模型从上到下分成聪缩层、嗣步层、传输层3 层,如图所 女i p e 6 - 4 系统结稳溺 在纛缭番,键频镶惑被嚣缑戒基本滚( e s ) ,亵嗣步层慕零滚被分薅戏 a u ( a c c e s su n i t s ) 序列,a u 魁编码过后的最小单位,在传输层把a u 序列发 送出去。蓬缭鼷负责享雯鸯频数据豹压缀,它不耀考虑凝使翅戆传输技术,是 与媒体相关、与传输无关的。压缩层将视频和漕频数据形成基本流( e s ) 后 遁过基本渡接暖( e s i ) 捷到嗣步层s l 。 基本流( e s s ) 的层次关系、位置和属性由对象描述符( o d ) 来描述, 它播述簿个援誊频对象瓣数嚣秘籍缝。0 0 本囊氇逶避e s s 采绩竣。一整套 o d s 的集合可看成是在流层次上的一个m p e g 一4 资源或对话的描述。这种资源 撼述德本身可以是层次瞧熬,缓妇一个幽瑟技壤豹o 戆攒述蔟毽熬瓣转羧 的o d 。与对话描述相伴随的是场景描述场景的二进制格式( b i f s ) , 基于m p e g - 4 多媒体直播系统的研究与实现 它也是通过e s s 来传输。b i f s 定义每个视音频对象的时间和空间的定位, 它也描述合成或静态的对象的内容。b i f s 的结构是树状的。根据对话描述和 场景描述,能够动态改变媒体流的数量和性质以及结构而不影响其它的内容。 初始的b i f s 流和o d 流由初始对象描述符( i d o ) 来指定,i d o 通过带外方式 传输。 同步层负责提供媒体间的同步,它和压缩层之间的接1 :3 叫做同步流接口 ( e s i ) 。压缩层将e s s 数据流组织成同步层的接入单元( a u ) ,a u 是最小的 能被加上时间戳的单元。整数个或分数个a u 被装进s l 包中,形成s l 包流。 传输层是与媒体无关而与传输相关的,它提供对媒体流的透明接入和传送 而不管下面传输技术的具体实现。传输层与同步层之间的接口叫做d m i f 应用 接1 3 ( d a i ) ,它对上一层提供一个独立统一的访问界面。t r a n s m u x 位于m p e g 一4 标准之外,它可以使甩现行的任何传输协议,如r t p ,u d p ,i p 等。m p e g 一4 只 规定与t r a n s m u x 的接口,并不规定信息的实际传输方式。传输层中的f l e x m u x 提供一些复用工具,将具有相近o o s 的基本流e s 或较低比特率的基本流( e s ) 组合,提高传输资源的使用效率,当低层t r a n s m u x 提供同样功能时f l e x m u x 可以省略。 从编码器输出的基本流( e s s ) 进入同步层( s l 层) ,这些基本流携带着 接入单元( a u ) 边界指示,随机接入点、预期的合成时间和当前时间。s l 层 将e s s 分解成s l 包,每一个包含有一个包头,这

温馨提示

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

评论

0/150

提交评论