Chinaunix首页 | 论坛 | 博客
  • 博客访问: 458562
  • 博文数量: 711
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 4200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 14:18
文章分类

全部博文(711)

文章存档

2011年(1)

2008年(710)

我的朋友

分类:

2008-10-28 14:22:31


  一、引言
  流媒体(Media Streaming)技术是指支持多媒体数据流通过网络从向客户机传送,接收方边接收边播放的技术。与传统的先后播放的做法相比,流媒体技术有很大的优势,如实时性强,有利于保护版权等。但是流媒体技术存在一个严重的问题:服务质量问题。粗略地讲,流媒体的视频和音频播放质量通常较差,常常出现画面模糊、马赛克、播放断续停顿等现象,影响客户的观看效果,也阻碍了流媒体技术的推广。本文就是着眼于流媒体的服务质量问题,研究如何在给定的网络条件下有效地提升流媒体的服务质量。
  
  考虑到网络技术自身的发展很难为流媒体应用提供绝对的服务质量保证,本文主要定位在流媒体终端系统的服务质量控制,以求在不同的网络环境下利用终端的一些控制策略使用户尽可能享受到好的服务质量并尽量减轻网络的负担。进一步地,由于丢包率和时延的需求在一定条件下可转化为带宽需求,以及流媒体码率和网络带宽变化范围很广等原因,我们认为因特网可提供的网络带宽和流媒体要求的码率之间的不匹配是QoS矛盾的中心,所以本文主要利用视频的视频质量控制和发送速率控制,来解决带宽与视频流码率的不匹配问题。我们是在服务器端进行视频质量和发送速率控制,来达到播放码率与网络环境相匹配。视频质量控制是根据网络状况自适应地控制视频质量;发送速率控制则是通过有效的视频数据发送调度来进一步提升网络利用率。视频质量控制和发送速率控制互为补充,协同工作,从而在可预约带宽和不可预约带宽的网络环境中共同提升流媒体应用的服务质量。
  
  本文在第二部分将阐述基于控制理论的通用的多媒体自适应视频质量控制方案。与传统的方案不同,该方案几乎可以实现在所有不可预约带宽的网络环境下的多媒体自适应传输;同时,该方案可以适用于大部分通用编码和码率整形算法,并有坚实的理论保证。考虑到已有的流媒体服务器解决方案存在并发用户受限,传输图像画面不连续,视频质量低下等问题,第三部分阐述了我们自主研发的独立知识产权、与国际标准完全兼容的流媒体服务器:Clear Media Server。Clear Media Server采用新颖独特的架构以提高其并发用户数,并初步实现视频质量和发送速率控制及符合工业标准的拥塞控制以大幅提高流媒体服务质量。最后,本文各部分内容统一于第三部分的实现(产品化)部分。
  
  二、基于控制理论的视频质量控制(自适应传输)方案
  进行自适应传输的关键是匹配视频质量与时变的网络带宽。已有的自适应传输方案只是为特定的拥塞控制和码率整形算法设计的。在实际的工业应用中,拥塞控制和码率整形算法的不确定性很大,与研究用的拥塞控制和码率整形算法差别明显。如,流媒体传输的工业标准RTCP反馈包的时间间隔最小为5s,与TCP——友好拥塞控制算法的几十毫秒一个反馈包的假设相去甚远。又如,工业界的媒体文件(如ASF,RM,MP4,DAT等格式的文件)大部分不是分层编码的,也不是FGS(精细粒度可扩展编码)码流,很难采用已有的自适应传输方案。所以很有必要开发一种简单通用的自适应流媒体传输机制,该机制应该能与任意的拥塞控制策略、任意的码率整形算法和任意的编码方案协同工作,从而可以真正在工业上应用。
  
  在我们的研究里,我们把控制理论引入质量自适应传输的研究之中,提出并实现了一种缓冲区驱动的自适应传输方案。由于是缓冲区驱动的,该自适应传输方案不依赖于具体的拥塞控制算法,所以可以与任何一种拥塞控制算法协同工作。该方案的主要思想是把接收方缓冲区的数据占有量控制在一个给定的水平上,同时保证发送方缓冲区(Sender Buffer)不下溢。
  
  其中自适应流媒体传输(Adaptive Streaming)模块包括4个子模块:
  
  (1)发送方缓冲区监视(Sender Buffer Monitor)模块:监视发送方缓冲区的数据占有量Bs(t)。
  
  (2)接收方缓冲区观测器(Receiver Buffer Observer)模块:重构接收方缓冲区的数据占有量Br(t)。
  
  (3)根据接收方缓冲区观测器的输出,视频质量控制器(Video Quality Controller)可以算出参考视频质量(Reference Video Quality)QRef (t)。QRef (t)然后被码率整形器(Rate Shaper)模块用来控制如何调整视频质量。在我们的方案里,我们用比例积分(PI)来实现{视频质量控制器},具体形式如下:
  
  QRef (t)=Kp•[Br(t)-BrRef(t)]+I(t)I(t)=I(t-1)+Ki•[Br(t)-BrRef(t)],其中 是PI控制器的参考输入,Kp和Ki分别为比例和积分增益。
  
  (4)在我们的方案里,为了防止发送缓冲区溢出,对于数据帧调度器(Frame Scheduler)我们采用了一套缓冲区驱动的数据调度方法。就是说,每当发送方缓冲区的数据占有量Bs(t)小于一给定阈值Bsthrsd时,数据帧调度器就从设备取下一帧数据供码率整形器(Rate Shaper)处理,处理后的数据再放到{发送方缓冲区}中。数据帧调度器不断重复该过程直到{发送方缓冲区}的数据占有量超过Bsthrsd。
  
  根据控制理论我们可以推出如下稳定性结论:判据1 若Kp和Ki满足
  
  综合而言,该自适应传输方案采用控制理论设计,有坚实的理论保证,同时并没对拥塞控制和码率整形算法做限制,是一个通用、稳定并具良好性能的方案。
  
  三、高性能流媒体服务器的设计和实现
  在流媒体服务质量研究工作的基础上,我们联合上海清鹤数码科技公司设计了一个全新的拥有独立知识产权的,与国际标准完全兼容的流媒体服务器:清灵流媒体服务器(Clear Media Server)。Clear Media Server采用新颖独特的架构以提高其并发用户数;并初步实现视频质量和发送速率控制及符合工业标准的拥塞控制以大幅提高流媒体服务质量。本节着重讲述了Clear Media Server的架构、视频质量和发送速率控制在Clear Media Server中的统一实现模式。
  
  其中,主进程(Main Process)管理和协调其他进程的运行;RTSP(Real Time Streaming Protocol)通信进程负责与客户端的RTSP控制信息的传输;媒体数据发送进程(Media Data Sender Process)负责发送媒体数据。
  
  对于流媒体服务器,其主要性能瓶颈在于需从硬盘读取和向网络发送以吉比特计的媒体数据,相比而言,进程之间通信的开销很小。所以Clear Media Server的这种架构非常有利于系统的扩展性和灵活性。比如,可以针对用户的不同需求,配置不同数量的媒体数据发送服务器(运行媒体数据发送进程的机器);各个媒体数据发送服务器可以集中在一起,也可以分散在广域网中,使得既能就近为客户提供媒体服务从而节省网络资源和提升服务质量,主控服务器(运行主进程和其他管理进程的机器)又能集中管理各个媒体数据发送服务器和客户机;从开发和升级的角度来看,这种系统架构使得各个进程具有相对的独立性,便于开发管理和升级。
  
  媒体数据发送进程是Clear Media Server的核心模块,该模块统一实现了视频质量控制、发送速率控制和媒体数据的RTP打包发送。媒体数据发送进程设一个定时器,每隔一定时间(如100ms)轮询一遍该进程的活跃Session(即已经建立连接的Session)的状态,若当前Session的状态为play,则对该Session的各个缓冲器内的数据进行合理的调度,并按照质量控制或速率控制的策略进行数据发送。
  
  在视频质量控制时同样需要对视频的数据流进行合理的调度,所以我们可以把发送速率控制看作视频质量控制的一种特殊情况。从而可以作为发送速率控制和视频质量控制的统一实现模式。用来表示发送速率的实现模式时,发送速率控制算法由帧调度模块实现,而质量控制器的输出始终为1(即为无损传输);在这种情况下,码率整形器、接收方缓冲区观测器不需做任何工作,拥塞控制模块也被屏蔽掉。
  
  四、小结
  本文着眼于流媒体的服务质量问题,研究如何在给定的网络条件下利用视频质量和发送速率控制来有效地提升流媒体的服务质量。我们首先创造性地利用控制理论设计了一个通用的稳定的多媒体自适应传输方案;然后通过发送速率控制(或平滑)策略,我们将各个部分研究成果统一起来,设计和实现了一个新的独立知识产权、与国际标准完全兼容的流媒体服务器,其特点在于简单易行,性能良好,具有系统化、实用化和实用性。
【责编:admin】

--------------------next---------------------

阅读(369) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~