流媒体的底层与中间层同步支撑技术

作者:梁晓辉 游志胜 文章来源:全球VOIP联盟
关键字:流媒体、同步、QoS、 RTSP协议、时间戳

一、引言
Internet发展至今,新技术、新应用层出不穷,如流媒体技术所提供的播放功能、交互性能和缓冲区功能,以及其在传输声像文件时表现出的“占用硬盘小、速度快、高保真”等性能,使得网上收听广播、收看实时电视广播进入实用阶段(www.bbc.co.uk、www.audionet.com、www.cnn.com)。流媒体服务系统在强调对数据对象的共享使用和追求最大化的数据吞吐率的同时,更强调对高速、稳定和连续的访问流支持,强调对同步的支持,从而确保媒体数据的按时到达。本文将对流媒体的同步技术进行探讨,从而很好地理解流媒体的传输过程,使流媒体技术在娱乐行业以外的应用(电子商务、远程培训、视频会议、客户支持等)成为可能。

二、流媒体概述
目前在网络上传输音/视频(A/V)等多媒体信息主要有两种方案:下载和流式传输,由于网络带宽的限制、A/V文件所需的存储容量大,采用下载方式需要的时间很长。流式传输则把声音、影像或动画等到信息由音视频服务器向用户计算机连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒的启动延时即可进行播放,当音频、视频等媒体文件在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式传输不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。在Internet/Intranet中使用流式传输技术的连续时基媒体就称为流媒体(streaming media)。流媒体实现的关键技术是流式传输①。流媒体的工作过程如图1所示。

①用户浏览Web页时点击了一个由流媒体服务器提供的流媒体内容的链接;

②流媒体服务器生成一个小的播放文件(播放文件中含有链接中流媒体内容的地址),并送到用户的Web浏览器上;

③浏览器下载这个播放文件,把它传送到用户的流媒体播放器;

④流媒体播放器读取播放文件中的链接,直接向流媒体服务器请求内容;

⑤流媒体服务器以流式传输的方式把内容传送给播放器,播放器开始播放。

流媒体系统由流媒体服务器、网络和流媒体播放器构成。由于流媒体数据从数据模型到数据结构都不同于常规信息系统所处理的数据,因此,流媒体的研究内容主要为:流媒体数据的编码、传输、如何实现各种媒体间的同步、媒体数据的存储和检索等等。

流媒体传输的数据主要为视频和音频,各媒体对象在时间和空间上彼此关联,互相约束,在连续的视频流或音频流中,少数数据帧的丢失或不能及时处理,并不会导致服务质量的下降,但是,对同步技术要求很强,否则会造成一幅画面中一个人说话和动作的不协调,或者声音与画面存在相对时延等。流媒体的同步类型有三种:用户层同步、媒体层同步、系统同步。用户级同步需要从用户的角度出发,来设计模型框架,这种模型一般以时间为控制线索;媒体层同步反映了名不同媒体对象之间的同步关系,要进行数据传输,必须要把图像、语音、文字等多媒体信息转换成数据流形式,在播放连续的媒体流时,要求各数据流之间的时序关系得到精确的重现;系统同步是指该层的同步如何根据各种输入媒体对应的系统设备的性能指标来协调实现其上层合成同步所描述的各媒体对象间的时序关系②。

三、流媒体的同步技术
3.1 流媒体的系统同步
系统同步是底层同步。在网络通信系统中,要考虑不同类型的媒体数据段在传输变换中的延迟、分组中的时间次序错位、丢失等情况,同步机制比较复杂,本文只通过分析其QoS(Quality of Service)来讨论流媒体服务端的服务质量。在流媒体应用系统中,视频、音频流只要满足一定的QoS(如视频流平均33ms处理一帧,音频可以采用44.1KHz的采样频率),认为是可接受的,因此当系统负载较大时,可在QoS允许的范围内,通过适当降低某些任务的服务质量来保证系统中所有任务的服务质量。

在流媒体服务器端,对于每条媒体流的QoS控制,可以用三个参数来描述:S、Q、F,在对S个连续实例处理过程中,至少要成功完成Q个,而且连续失败的数据流个数不能超过F个,Q/S为任务的最小成功率,F为任务允许的最大连续失败数③。如果服务器调度导致某条流S个连续实例中成功数少于Q个,或者失败的实例连续出现超过F个,认为服务器没有能满足该媒体流的服务质量。服务的QoS参数是通过任务的最小成功率和允许的连续失败数来描述。因此,在服务端应根据不同媒体对象的需求特点,分析其所需QoS,决定传输策略,选择相应的交换方式,安排不同的传输信道,保证在流数据在服务端的传输所需的服务质量。

3.2 流媒体的媒体间同步

网络的带宽是完成流媒体传输的物质基础,在传输声音、图像、视频等多媒体信息流时,即使这些媒体流予以压缩,所需的带宽仍然比文字文件大,但并不是有足够的带宽就可以完全解决流媒体传输问题。一般而言,所需带宽的多少是与应用密切相关的,从应用角度来看,只要用户数不断增加、信息服务量不断增加,带宽有多少都是不够的。同步是媒体流的基本控制方法。流媒体是时间属性的表现,而HTTP协议不能提供时间的可靠性,因此产生了RTSP(Real-Time Streaming Protocol)协议④。

RTSP是应用层协议,目的是为流媒体实现多点传送和以点播方式单一传送提供健壮的协议。RTSP利用流技术把数据分成许多包,包的大小由客户端和服务端的实际带宽决定,当客户端接收到足够的数据包时,用户不需下载整个媒体文件就可以开始播放流媒体。因为播放器在播放一个包的同时,解压另一个包并下载第三个包。流媒体数据可以是输入的实况信息,也可以是存储的视、音频片段。通过RTSP协议,服务器端可以跟踪流媒体传输的时间、地址和方式。RTSP增加了对流媒体的控制请求,能恢复来自媒体服务器的流媒体。

媒体之间通信的同步有三种基本方法:时间戳法是、同步标记法及多级复用法。RTSP中的同步支持采用了时间戳法。时间戳法是在每个媒体的数据流单元中加进统一的时间戳,或时间码,具有相同时间戳的信息单元将同时予以表现。在发送时,将各个媒体都按时间顺序分成单元,在同一个时间轴上,给每个单元都打上一个时间戳,处于同一时标的各个媒体单元具有相同的时间戳。在各个媒体到达终端后,让具有相同时间戳的媒体单元同时进行表现,这样就得到了媒体之间同步的效果⑤。

时间戳法不需要附加同步信道,有绝对时间戳法和相对时间戳法两种,相对时间戳同步技术更为灵活。所谓相对时间戳,是指在多种媒体中选取一种为主媒体,而其它媒体则定为从属媒体,在主媒体的各个单元上打上时间戳,而依照与主媒体的单元在同一时间上的表现,在从属媒体相对应的单元上打上相同的时间戳,从属媒体各单元上的时间戳是相对于主媒体单元的时间戳而言的。例如,在图2中我们可以选择视频为主媒体,音频段1与视频段1的时间戳是相同的,音频段2、音频段3与视频段2的时间戳是相同的,经过分组交换,使到达客户端的具有相同时间戳的媒体单元同时进行表现,这样就很好地实现了不同媒体之间的同步。

3.3 流媒体的用户层同步
用户层同步或交互同步,是最上层的同步,要求能反映和满足用户的交互性,容易为用户理解接受。用户层同步是交互性参与的同步,用户可以控制和使用信息,如反复调用感兴趣的内容、快速掠过不感兴趣的部分。例如,用户在借助流媒体学习外语的过程中,可以反复收听难以理解的听力内容。

虽然RTSP协议支持类似录像机的功能:播放、快进、暂停、停止,但流媒体的交互性同步能力主要体现在数据流编码过程中对交互性能的考虑。

四、结束语
未来的流媒体将能够通过互联网传送高质量的音频及视频节目,流媒体的动态性、交互性、实时性将使互联网变得更加个性化,因而,为了使流媒体的应用更加普及,还需要对流媒体的关键技术进行深入的研究,使得流媒体能在娱乐行业以外的其他领域展示出广泛的应用前景。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值