运营商在开展流媒体业务中,最为关心的问题是服务质量(QoS)。流媒体的QoS问题在有线网络中已经得到了广泛的研究并提出了很好的解决方案,然而无线网络中,用户的移动性、传输信道的恶劣等使得移动流媒体的QoS保证更加复杂。本文就3G流媒体业务的QoS问题进行了分析,并给出了解决方法。
移动流媒体业务是运营商通过移动网络和移动流媒体系统向终端用户提供音、视频多媒体内容服务,涉及到流媒体数据的采集、压缩、存储以及网络通信等多项技术。
根据内容的播放方式与内容来源,移动流媒体业务可以分为流媒体点播(VOD)、流媒体直播和下载播放3种业务类型。开展流媒体业务至少需要一台内容服务器和一台流媒体客户端,此外还可能会涉及到门户、档案服务器、缓存服务器和代理等其他组件,以提供附加业务或改善整体业务质
图1 3G流媒体业务的系统结构
流媒体的播放有严格的实时性要求,要求在特定的时间间隔内将特定的数据单元解码显示。而目前3G流媒体业务开展中存在一些问题,如媒体文件播放中的停顿、马赛克等现象,大量用户突发访问一个热门内容(如电视直播)时服务器处理困难等等,这些问题都涉及到流媒体的QoS保证。 在网络传输过程中,影响流媒体服务质量最主要的几个因素是带宽、误码率及延迟抖动。 带宽 随着移动流媒体业务的发展和用户的不断增长,带宽的问题日益凸显,运营商无法为所有的用户提供足够的带宽。这种矛盾对于无线频段资源有限的移动通信来说尤为突出。带宽的问题对流媒体业务开展的影响是双方面的:一方面会影响到用户收看质量;另一方面,由于流媒体应用消耗带宽大,会对网络造成影响。 误码率 相对于有线传输信道,移动通信所要使用的无线传输信道环境要恶劣得多,因信道质量、流量控制机制而导致的数据丢包、误码率要高得多。而压缩视频流对误码非常敏感,即使接收到数据包的误码率很低,也会对解码后的图像质量造成很大影响。 延迟抖动 数据分组存储转发的性质决定了延迟和抖动是不可避免的,所以对流媒体传输而言,端到端的延迟应该控制在一定范围之内。 终端能力 终端侧的影响因素包括缓冲区的设置、接入带宽和编解码的处理能力等。缓冲设置得不合适则可能导致溢出和丢包,从而影响用户观看质量;接入带宽应大于媒体流的码率,否则会出现停顿、跳帧现象;解码处理能力则与CPU、内存、显卡、显示驱动程序的关系密切。另外,流媒体系统应提供终端类型识别和终端设备能力适配等功能。 QoS问题解决方法 编码技术 先进的视频编码方案可进一步提高视频数据的压缩效率,尽可能消除视频中的冗余信息,使得信源编码输出的数据量尽可能少,从而适应网络最低传输带宽的情况,同时,可以提供灵活的视频质量分级来最大限度适应网络的动态特性,尽可能为用户提供好的视频质量。 视频编码技术可以分为两类:面向存储的非扩展性编码技术和面向网络传输的可扩展性编码技术。 非扩展性编码的主要缺点是传输码流码率的变化缺少适应网络动态变化的灵活性。虽然一些编码方案为了提高视频流适应网络带宽变化的灵活性,进行了技术上的改进,如转码技术和码流切换技术,但只能算是一种折中方案,因为这种灵活性的提高是以增加视频服务器开销或增加存储量作为代价的。存在这种 |
为了彻底克服面向存储编码技术的缺点,可扩展性编码技术得到了快速的发展。这些技术在进一步提高编码效率的同时,增加了编码输出码流适应网络带宽动态变化的灵活性。可扩展性编码就是将多媒体数据压缩编码成多个码流,其中一个可以独立解码,它称为基本层码流;其他的码流称为增强层,它们不可以单独解码,而只能与基本层和它以前的增强层联合在一起解码,用来提高观看效果。可扩展性编码主要分为分层可扩展性编码、精细可扩展性编码和渐进精细可扩展性编码3种。
分层可扩展性编码已经被许多现行的国际压缩标准接纳,主要包括时域可扩展性、空域可扩展性和质量可扩展性编码。
精细可扩展性编码(FGS)特点如下:增强层使用位平面编码技术对DCT(Discrete Cosine Transform)残差进行编码来覆盖网络带宽的变化范围;每一帧的增强层码流可以在任何地点截断;解码器重建的视频质量和收到的比特数成正比。
渐进精细可扩展性编码(PFGS)重构的增强层的质量明显高于基本层的图像质量,运动补偿更有效,从而提高了编码效率,同
拥塞和差错控制
拥塞控制的目的是采用某种机制应对和避免网络阻塞,降低时延和丢包率。对于流媒体业务,拥塞控制的主要方法是速率控制。速率控制机制可以同时使网络拥塞和包丢失率达到最小。速率控制机制主要包括基于源端、基于目的端以及混合速率控制。
拥塞控制只能减少数据包的丢失,但是网络中不可避免的会存在数据包丢失,而且到达时延过大的分组也会被认为没有用而被丢弃,从而降低了视频质量。要改善视频质量就需要一定的差错控制机制。
差错控制机制包括以下几项:
前向纠错(FEC)。FEC是通过在传输的码流中加入用于纠错的冗余信息,在遇到包丢失的情况时,利用冗余信息恢复丢失的信息。它的不足是增加了编码时延和传输带宽。
延迟约束的重传。通常流的播放有时间限制,因此,仅有当重传的时间小于正常的播放时间时,重传才是有价值的。
差错抑制。这是一种根据存在的前后帧的相关性来重构丢失帧的方法。这种方案的优点是对发送端没有任何影响,缺点是增加了终端解码工作的负担。另外,对于大量突发丢包的情况,重构依据的帧也丢失,导致重构失败。
容错编码。容错编码通过编码时的特殊处理来减小丢包对整个文件播放造成的影响。流媒体文件传输中,丢包产生的影响包括两个方面:一个是丢失了视频流的同步信息;二是导致独立编码帧错误,错误扩散到依赖它的帧的解码。对前者,编码器通过加入再同步点、可逆变长编码、数据迁移、应用层成帧等方法加以克服;对于后者,一般的处理方法是对每帧中的一部分独立编码,这样就避免了因完全依赖其他帧的信息而造成错误扩散。
移动流媒体内容分发网络
移动流媒体内容分发网络(MSM-CDN)提供了一种新的媒体传输平台,通过叠加的服务器实现端到端的媒体传输以及网间的媒体业务,是实现向大规模移动用户提供流媒体服务的基础。MSM-CDN是由一系列节点组成的,它们相互协调地为移动用户传输流媒体,这些叠加的节点在网络中起到了关键控制点的作用,大大提高了端到端的流媒体传输的性能。MSM-CDN具有资源利用率高及时延小等优点,利用MSM-CDN传输流媒体是大规模流媒体应用的发展趋势。
采用MSM-CDN传输流媒体的优点主要包括:通过应用层的内容分发降低了主干网络的流媒体流量;通过分布在网络边缘的流媒体服务器,避免了拥塞链路,提高了流媒体传输的性能和响应时间;有效地提高整个流媒体系统的扩展性,降低对每个流媒体服务器的性能要求。
MSM-CDN中的关键技术包括以下几个方面:
内容分布
把媒体内容放置在靠近客户端的叠加服务器上,媒体流可以在一个较短的网络路径上传输,从而减少流媒体会话的启动时延,降低丢包率和整个网络的占用。这就需要通过最优的内容分布算法来优化系统性能。这种优化可以通过收敛的统计方法和可预测预取算法在数据统计分析基础上实现。
与内容分布紧密相关的就是叠加服务器上的内容缓冲问题。提高缓冲内容的命中率需要在叠加服务器上存储大量的媒体,而流媒体流缓冲问题需要确定哪些媒体流或媒体流片断需要缓冲。内容分布和缓冲是MSM-CDN最关键的组成部分,对资源利用率以及系统的可靠性有很大的影响。
内容分发
内容分发是指媒体内容从内容源到MSM-CDN边缘的Cache节点的过程,有两种主流的内容分发技术:PUSH和PULL。
PU
SH是一种主动分发的技术。通常,PUSH由内容管理系统发起,将内容从中心媒体资源库分发到各边缘的Cache节点。需要考虑的主要问题是分发策略,即在什么时候分发什么内容。PULL是一种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本地的边缘Cache上不存在时,Cache启动PULL方法从内容源或者其他CDN节点实时获取内容。在PULL方式下,内容的分发是按需的。
在实际的CDN系统中,一般两种分发方式都支持,但是根据内容的类型和业务模式的不同,在选择主要的内容分发方式时会有所不同。通常,PUSH的方式适合内容访问比较集中的情况,如热点的影视流媒体内容;PULL方式比较适合内容的访问比较分散的情况。
内容路由
当一个客户端请求某些内容时,这一请求必须发送到能够提供这些内容服务的服务器。这一操作需要寻找最佳的叠加服务器,寻找的条件包括内容的可获得性、服务器负载、网络负载等。内容路由功能由MSM-CDN负载均衡系统实现。负载均衡系统是整个MSM-CDN的核心,负载均衡的准确性和效率直接决定了整个MSM-CDN的效率和性能。
缓存
技术
目前缓存技术是延迟控制中最常用的方法。流媒体业务以包传输为基础,一个实时媒体流或媒体文件在传输中将被分成多个包。由于网络的延时、抖动等因素,包到达客户端的顺序和延迟可能不一样,可能出现先发的包后到的情况,因此需要缓存系统来弥补网络延迟和抖动的影响,以保证数据包的顺序正确以及不会因为网络暂时拥塞而出现播放停顿的现象。目前主要用到的缓存技术有正向缓存、反向缓存和透明代理缓存3种。
本文就3G流媒体业务中的服务质量问题产生原因及其解决办法进行了阐述分析。相信随着编码技术、差错控制及CDN等技术的发展及终端设备的不断完善,移动流媒体的服务质量问题可以得到有效解决,用户体验将得到极大改善。