微软亚洲研究院网络多媒体组 吴枫 李世鹏
一、 流媒体系统及其发展趋势
所谓流媒体是指用户通过网络或者特定数字信道边下载边播放多媒体数据的一种工作方式。流媒体应用的一个最大的好处是用户不需要花费很长时间将多媒体数据全部下载到本地后才能播放,而仅需将起始几秒的数据先下载到本地的缓冲区中就可以开始播放,后面收到的数据会源源不断输入到该缓冲区,从而维持播放的连续性,因此流媒体播放器通常只是在开始时有一些时延。流媒体系统要比下载播放系统复杂得多,所以需要将多媒体的编解码和传输技术很好地结合在一起,才能确保用户在复杂的网络环境下也能得到较稳定的播放质量。
多媒体数据在传输前必须要先经过编码器有效地压缩成码流,以减少对网络资源的占用率。目前常用的视频编码器有MPEG-2、MPEG-4、H.261、H.263、H.264、Window Media视频编码器和Real System视频编码器等;音频编码器有MP3、MPEG AAC、Window Media 音频编码器和AMR等;图像编码器有JPEG和JPEG2000等。多媒体编码器所生成的码流只包含了解码该码流所必需的信息,它不包含媒体间的同步、随机访问等系统信息,因此编码后的多媒体数据还要被组织成为具有特定系统格式的多媒体文件用于流媒体传输或者是存入磁盘中,目前常用的文件格式有MPEG-2系统,MP4,微软公司的ASF,Real的文件格式,QuickTime的文件格式以及用于3G无线服务的3GPP和3GPP2等等。
当流媒体在实时应用中(如现场流媒体广播),根据当前的网络状况和用户的终端参数,多媒体数据是一边被编码一边被流媒体服务器传输给用户。而在其他的非实时应用中,多媒体数据可以被事先编码生成多媒体文件,存储在磁盘阵列中。当提供多媒体服务时,流媒体服务器直接读取这些文件传输给用户,这样服务方式对设备的要求较低。目前许多流媒体服务属于后一种方式,这样就要求流媒体服务器具有一定的机制来适应网络状况和用户设备。
目前码流自适应这一模块主要采用的方法有:将多媒体文件中的视频码流转换为一个特定码率和图像尺寸的码流;或者把同一段视频内容编码生成多个具有不同码率和图像尺寸的码流,然后自适应选择一个最合适的码流传输给用户。生成的码流还需要进一步打包成为特定网络传输协议的数据包用于网络传输,由于现在许多网络并不能保证传输的数据能够及时并完全正确地被用户收到,传输的数据包可能需要加前向纠错编码(FEC)来保护,经过这些处理后多媒体数据就可以通过网络传输给用户,目前常用的传输协议有RTP/RTCP、HTTP和MMS。
用户收到传输的数据后,如果存在丢包或者是比特出错,错误恢复处理会根据附加的纠错数据来恢复传输错误。如果还不能恢复传输错误,用户端可以向服务器发出重传请求,在解码开始前重新传输丢失的包。恢复后的多媒体数据将由解码器解码得到重构的多媒体数据,由于容错保护和数据重传可能不能恢复所有的错误数据,错误掩藏模块可以利用重构的多媒体数据的相关性来掩盖这些错误,最后这些数据就播放给用户。
通常流媒体系统中的服务器和用户间并不是单向通信,如前面提到的重传请求。事实上,用户端会传递给服务器许多反馈信息,如终端设备的能力和网络连接速度会传给服务器的码流自适应模块来调整码流,在实时应用中这些信息还可能传给编码器;用户端的丢包率、数据包收到的时间信息和用户缓冲区状态等信息也会传递给服务器来估计当前的网络状况,从而控制码流的自适应和数据的发送策略。从上面的描述来看,实际上流媒体系统在多媒体信息处理中是一个非常复杂的系统,目前市面上主要的产品有微软公司的Windows Media, Real公司的Real System和苹果公司的QuickTime,其中Windows Media系统的市场占有率最大。
这篇文章主要集中讨论流媒体的发展趋势和出现的新的服务和技术。早期的流媒体系统常用在互联网上传输一些低质量的多媒体信息,但是随着网络技术的发展,一些高质量的流媒体应用已经开始出现,如IPTV将向用户传输标清甚至高清的电视节目。另外,随着无线网络和各种各样手持设备的出现,无线流媒体的应用也变得越来越重要。并且由于很多现代家庭中既有高端的PC和电视,又有多种功能的手机,PDA,便携式媒体播放器,流媒体也将在家庭娱乐和数据共享上一显身手。针对这些应用的需求,流媒体技术本身也在迅速地变革和发展,例如利用一些高效的编码技术和传输技术提高流媒体系统性能;发展新的标准扩展流媒体技术到各种不同的网络和设备;在流媒体系统中增加更多的新功能来满足应用的需要。
二、 流媒体新服务
本章将讨论流媒体系统的一些新的应用和服务。
1. IPTV
据国际电信联盟ITU在2004年9月的一份报告指出,全球的宽带用户已经在去年底首度突破 1亿大关,其中中国电信的宽带用户就超过了1千万,用户的主要接入方式是ADSL和以太网线,其实际的连接速率可以达到1Mbit/s。而且随着高性能的编码技术的采用,如H.264和最新的Windows Media视频编码器,800kbit/s的视频流就可以接近或达到DVD质量。
在这种情况下,扩展流媒体技术用来提供电视服务也就顺理成章了。IPTV,也叫交互式网络电视,就是利用流媒体技术通过宽带网络传输数字电视信号给用户,这种应用有效地将电视、电讯和PC三个领域结合在一起,具有很强的发展前景。IPTV可以采用两种不同的方式提供用户电视服务,组播或者广播方式和视频点播(VOD)方式。一个明显的优势是IPTV是基于现在互联网的方式来实现服务器和用户终端的连接,因此很容易同时提供现有的互联网的服务,将电视服务和互联网浏览,电子邮件,以及多种在线信息咨询、娱乐、教育及商务功能结合在一起。
2. 无线流媒体
2.5G、3G以及超3G无线网络的发展也使得流媒体技术可以被用到无线终端设备上,目前中国联通公司提供CDMA 1x,用户网络带宽最多可以达到100kbit/s,这已经足够提供QCIF大小的流媒体服务;而且随着3G无线网络的应用,用户的网络带宽可以达到384kbit/s。另一方面,手机设备运算能力越来越强,存储空间越来越大,不用说SMART Phone和Pocket PC等高端手机,就是一般的中档手机,如Nokia 6610,也能实现基本的H.264的软件解码。
面向无线网络的流媒体应用对当前的编码和传输技术提出了更大的挑战,首先,相对于有线网络而言,无线网络状况更不稳定,除去网络流量所造成的传输速率的波动外,手持设备的移动速度和所在位置也会严重地影响到传输速率,因此高效的可自适应的编码技术至关重要。其次,无线信道的环境也要比有线信道恶劣的多,数据的误码率也要高许多,而高压缩的码流对传输错误非常敏感,还会造成错误向后面的图像扩散,因此无线流媒体在信源和信道编码上需要很好的容错技术。尽管手机设备的运算能力越来越强,但是由于它是由电池供电的,因此编解码处理不能太复杂,并且最好能够根据用户设备的电池来调整流媒体的接收和处理,能源管理技术也是移动流媒体的一个研究热点。
3. 电子家庭
现代家庭中的越来越多的设备可以用来采集,接收,发送和播放多媒体数据。如人们可以通过电视来收看电视节目,通过PC机在互联网上欣赏流媒体节目,通过自己的数字相机和摄像机来拍摄图像和视频,通过手机和其他手持设备来发送彩信,通过汽车的音响系统来欣赏音乐和广播。并且家庭中的网络连接也是多样化的,如电视连接有线电视网,PC机连接着互联网,手机连接着无线网络,而且这些设备也能在家里通过蓝牙或者802.11无线网连接在一起。
所有这些设备所收到的多媒体数据如何在家庭网络和设备间共享,为流媒体的发展提供了一个更大的舞台,真正实现一种无所不在、随心所至的多媒体服务,让多媒体真正地像液体一样自由流动起来。流媒体在家庭网络应用中的关键是如何使多媒体数据能够适应不同的设备的能力,如在电视和PC机中播放的视频的大小可能是标清甚至是高清,但是同样的内容就可能需要经过流媒体系统有效的转换才能成为最适合在手持设备上播放的媒体。
三、 流媒体新技术
这章我们将讨论高效的视频编码、可伸缩的视频编码和P2P技术,它们都能极大地改进当前流媒体系统的性能。
1. 高效的编码技术
流媒体系统中的多媒体数据要通过网络来传输给用户,高效的编码技术可以极大地降低流媒体系统对网络带宽的要求。目前标准化和商业化的视频编码技术都是基于运动补偿和DCT变换的,从早期的MPEG-1和H.261,到最新的MPEG-4 AVC/H.264和Windows Media视频编码器都采用了这个框架。在这个框架中,运动估计和补偿模块用来消除相邻图像间的冗余信息,熵编码模块用来消除编码信号的冗余性,变换量化模块根据人的视觉系统对视频信号的细微变化的不敏感性丢失部分信息,从而提高压缩比。
在这个编码框架下,过去十多年的时间内编码技术取得了很大的发展,事实上,最新MPEG-4 AVC/H.264标准的编码效率要比MPEG-1提高了4倍左右,除去更精细的运动补偿和基于上下文的熵编码外,帧内预测,多参考帧的预测,环路滤波和率失真优化技术也极大地提高了该标准的性能。
2. 可伸缩性编码技术
在前面两章中我们也讨论过,在流媒体应用中需要解决的一个基本问题是网络带宽的波动,不同的人在不同的时刻使用互联网和无线网络时,得到的数据传输率存在着很大的差异;甚至同一个人在同一个时刻,哪怕是在传输同一个视频流,实际的数据传输率也会存在较大的波动。目前在流媒体系统中所用的编码技术都是生成固定码率的码流,它们很难适应如此复杂的网络带宽的波动。一个有效的方法是采用可伸缩性的视频编码,MPEG-4和H.263标准中就包含了分层的可伸缩性的视频编码,它们提供一定的适应网络带宽变化的能力,但是在流媒体应用中人们更期望视频编码技术能提供精细的码流可伸缩性,MPEG-4 FGS就是一种这样的编码技术,目前MPEG-21可伸缩视频编码组正在研究两套编码方案:高效的FGS编码方案和3D小波编码方案。
3. 多媒体标准技术
多媒体编码标准在流媒体里是至关重要的。一方面标准的制定和执行确保不同厂家和服务商之间可以互通互联,另一方面标准里的知识产权也是商家必争之处。掌握了标准里的知识产权,在竞争的时候就有很大的主动权。所以很多商家乃至政府部门都在全力推出自己的知识产权到各种国际标准里去,甚至打造自己的产业或国家标准。
4. 对等网络技术(P2P)
P2P是当前互联网上较热门的技术,已应用到网络文件共享和Napster的MP3下载。其基本思想是通过P2P技术,除了和服务器外,每个用户可以共享他的文件或信息给其他用户。
P2P技术也可以应用到流媒体,每个流媒体用户也是一个P2P中的一个节点,在目前的流媒体系统中用户之间是没有任何联系的,但是采用P2P技术后,用户可以根据他们的网络状态和设备能力与一个或几个用户建立连接来分享数据,这种连接能减少服务器的负担和提高每个用户的视频质量。P2P技术在流媒体应用中特别适用于一些热门事件,即使是大量的用户同时访问流媒体服务器,也不会造成服务器因负载过重而瘫痪。此外,对于多人的多媒体实时通信,P2P技术也会对网络状况和音视频质量带来很大改进。
P2P技术如果与可伸缩性视频编码技术结合将能极大地提高每个用户所接收的视频质量。由于可伸缩性码流的可加性,媒体数据不用全部传输给每个用户,而是把它们分散传输给每个用户,再通过用户间的连接,每个用户就可以得到合在一起的媒体数据。即使每个用户与服务器的连接带宽是有限的,应用P2P技术,每个用户依然可以通过流媒体系统享受高质量的多媒体服务。
四、结束语
流媒体的发展正处在一个酝酿着突变的阶段。无论从应用、服务和技术,都将会产生一系列重大的突破。在流媒体的领域里,重点不应是只放在几个孤立的关键技术上,而是应该把流媒体当作一个系统工程,编码、传输、分享、网络以及设备都是互相联系的一个整体。怎么能在这样一个系统里,最有效地将流媒体以一种最适合用户终端设备的形式传送给用户,并且不增加服务器和网络负担,可能是能否在流媒体领域的竞争中立于不败之地的根本。
----《中国多媒体视讯》