ccidnet????

出版日期:2000-11-06 总期号:970 本年期号:82

本期导读
要闻综合
电脑工作室
市场
产品
软件应用
infocd
网上信息“流”出来

谢伟凯、徐光祐


  徐光祐

  清华大学计算机系人机交互与媒体集成研究所责任教授,博士生导师,ieee高级会员,中国图形图像学会多媒体技术委员会主席,国际测量学会imeko tc-10中国代表。曾分别在美国purdue大学和illinois大学作访问教授。主要研究领域为计算机视觉、人机交互技术和多媒体技术。

  

  您在上网时是否遇到过这些烦恼:视频文件必须要等到全部下载完毕才能播放;花了一个小时下载一部电影,最终却发现并不是自己想要的……而有了刚刚兴起的流技术,这些问题就迎刃而解。它让用户可以无须等待全部数据下载到本地,就可以开始浏览或播放数据。目前,流技术已经成为学术界的研究热点,各种流技术产品层出不穷,但专家们认为,流技术的黄金时代还远没有到来,只有很好地解决了internet对qos和multicast的支持问题,流应用才能在internet上占据主流地位。

  几年前,几乎所有internet上的应用都是基于所谓download and play模式,但从1995年progressive network公司(后来改名为realnetwork)推出第一个成熟的流产品realaudio以后,internet上的各种流应用就如雨后春笋般涌现出来,流技术也成为学术界的研究热点。目前,基于流技术的数据流量已经占据了整个internet流量的大部分,media metrix公司每月发布的全美internet站点访问量top50排名表中,提供流媒体内容的门户网站www.real.com一直名列前茅。

  流技术最根本的特点可以归纳为一句话:用户无需等待全部数据下载到本地,就可以开始浏览或播放数据。这项技术为用户带来了很多好处:由于用户无需等到文件全部下载完毕就可以播放,从而减少了等待的时间。再也不会出现花了一个小时下载一部电影,下载完成后却发现不是自己想要看的,同时也消除或减少了对本地存储空间的要求。

  当然,并不是所有的数据都可以采用流这种方式来表现的,只有那些时间连续的数据和媒体(即continuous media)才能利用这种方式来表现。我们能想到最直观的连续媒体的例子就是音频和视频。实际上,可以流化(streaming)的数据还有很多,如flash和powerpoint之类的多媒体演示及各种实时更新的金融指数等。微软最新版的media technology技术,甚至包括了一个可以把计算机屏幕输出流化的机制,这个机制十分适合软件使用的远程培训工作。其实,只要发挥想象,很多形式的信息都可以从流技术中获得好处。


  流媒体从信息源的流化、网络传输到在客户端播放,每一个阶段都牵涉到很多关键技术。


  1)视音频压缩/解压缩算法(codec) 视音频压缩/解压缩算法一直是多媒体技术研究的一个重要领域。从流技术的角度来讲,压缩/解压缩算法主要是希望压缩算法具有伸缩性或层次性,就是说信息源经一次压缩编码后,编码数据在传输时应该能方便地根据网络带宽的变化进行一定的调整处理,使客户端获取最好质量的同时能维持最好的连续性。目前,已有多种形式的codec,如h.263、mpeg1、mpeg2,它们或多或少都具有一定的可伸缩特性。

  目前的方法可分为时域和频域两类:时域方法,区分视频编码结果中关键帧(如mpeg1中的i帧)和非关键帧(如mpeg1中的b、p帧),使得在网络拥塞时可以抛弃相对不重要的非关键帧,而减少客户端等待缓冲区重新同步(rebuffer)的时间;频域方法,区分dct变换的低频系数和高频系数或是子带编码中敏感区域和非敏感区域,给它们分配不同的编码比特率和传输优先级,来保证在网络拥塞时尽可能先丢弃对播放质量影响小的数据。

  2)网络的qos(quality of service)技术 ip网络的服务特性是所谓best effort,这显然不能满足流技术的要求。只有网络的带宽和时延抖动维持在一定水平上,流数据才能平稳地在客户端播放,所以必须在ip网络中引入一定的qos机制。rsvp协议是这方面努力的一个例子,它可以让流数据的接收者主动请求流路径上的路由器,为这个流保留一定资源,从而保证一定的服务质量。下一代的ipv6会对qos机制提供更多的支持。

  3)multicast技术 如果一个流数据源可能被成千上万人同时点播,并为每一个用户都建立一个独立连接,那么无论网络的带宽有多大都会被耗尽,这时就需要multicast技术。ip网络的multicast作为一个目标,早在tcp/ip技术发展的初期就已经被提出来,但是只到最近几年才获得了足够的重视,这与近年来流应用的蓬勃发展对网络带宽的压力有直接关系。ip multicast技术,包括用户申请加入多播组的igmp协议和构造路由器间多播路径的多播路由协议两部分,前者已经比较成形,而后者仍有许多问题尚待解决。尽管目前也提出了dvmrp、mosfpf、pim等协议,但它们都有一定的条件限制,尤其是对可能有大规模用户群的流应用支持不是很好。

  4)自适应传输 每个用户的网络连接速率各不相同,而且一次连接中实际的速率会随网络拥塞情况而变化,所以近年来的一个研究方向就是自适应传输。一般有以下两类解决方法:一类是事先在服务器上存放一个数据源的多个不同比特率的版本,在用户请求这个数据源时,服务器能自动探测出这个用户的网络连接情况,并为其选择一个最合适的版本传输给用户;另一类方法是与层次性压缩算法密切相关的,此时服务器只维护一个压缩版本,但能在网络拥塞时只传输编码数据的关键部分,而使客户能维持相对稳定的播放效果。上述两种方法也可以一起使用,如微软的intelligence stream技术就综合运用了这两种方法。

  5)rtsp和rtp 与流传输相关的两个传输协议分别是rtsp协议(real-time stream protocol , rfc 2326)和rtp协议(real-time transport protocol, rfc 1889)。rtsp是类似于http的一个session layer的协议,它增强了http的表达能力,使其能适用于internet上实时的流数据点播和播放控制。客户端能用其请求服务器播放、暂停和录制一个媒体数据,简单地说,它完成类似于录像机遥控器的功能。rtp建立在udp之上,对数据包进行编号和加盖时间戳。但其本身并不对数据包采取措施来保证数据实时传输,而是依靠应用程序自己利用数据包的编号和时间戳信息完成流数据的同步和实时传输。目前,rtp已经成为多媒体实时流产品的标准传输协议。

  6)同步技术 一段节目通常由多个媒体流组成,但必须保证它们通过网络传输给用户并在用户端重现时,原来的时间序列不变。与流媒体同步相关的两个标准是asf(advanced stream format)和smil(sychronous media integration language,w3c recommendation)。前者提供了一种容器文件格式(container file),可以把多个流文件数据和它们之间的同步关系及时间戳信息打包到一个单一的文件中。而后者则用了另一种方法,它不把多个媒体流数据打包到一个文件中,而是用一个类似html的文件来描述多个媒体流之间的同步关系,各媒体流数据则分布在各自独立的文件中。

  7)流服务器技术 流的发布可以使用标准的web服务器,也可以利用专用的服务器。前者不需增加额外的开支,但与后者相比有以下缺点。首先,tcp采取很多措施保证数据的可靠性,然而实时流数据一般不需要可靠性,所以采用tcp作为传输协议很有些得不偿失;其次,http服务器总是利用所有可用带宽一下子把所有数据发给用户,这样会加重客户端对缓存空间的需求。相对较好的做法是,服务器控制发送数据包的速率,使其与要传送媒体流的比特率相匹配。最后,web服务器无法根据客户的网络连接速度来调整发送媒体流的比特率,而专用的服务器可以根据客户端的反馈信息和网络拥塞情况而调整发送媒体流的比特率,使得网络拥塞时客户端尽可能保持播放的连续性。综上可知,采用专用的流服务器可以取得比使用web服务器更好的性能和效果,所以现在越来越多的网站转向专有服务器方案。microsoft和real network在它们各自的流产品系列中都包括了基于软件的流服务器产品,而sun和sgi则可以提供专用的流服务器硬件平台。

  8)内容加速(content delivery)技术 近两年,从isp中分化出一类专门致力于内容加速的服务提供商。所谓内容加速服务的核心思想是,无论骨干网的带宽怎么增长,其速度都赶不上internet用户和应用的爆炸式增长对带宽的需求,所以必须换一个角度去解决带宽饥饿(bandwith hungury)的问题,就是把icp的内容尽可能地放置在离最终用户最近的地方。他们可以提供分布全球范围的cache和mirror服务器,通过不同层次的重定向机制,使用户访问一个网站时,可以被导引到离其最近的服务器,从而获得更好的服务质量。

  流应用是典型的带宽饥饿型应用,商业化的流媒体网站为了能提供更多的用户在线使用,就必须借助这种服务。目前,有多家公司提供专门针对流媒体的主机host业务和content delivery服务。这里也有很多相关技术需要研究,如cache算法、重定向机制、内容同步等。


  从1995年real-audio把流的概念引入internet后,很多公司都先后加入了基于流技术的产品开发行列,并推出了自己的产品,但它们并没能吸引足够的用户群。


  目前,流应用市场主要由real network的realplayer 产品和microsoft的media technology产品占据。

  real network的realplayer 从1995年推出real audio以来,real network的产品到现在已经发展到最新的real player 8系列产品。目前,该产品占据了流应用市场的最大份额,据real network自己声称,其播放器realplayer的拥有者累计已达1.4亿之众。realplayer产品使用了自己专有的高效音频/视频codec,根据客户接入速率的不同,可以提供从可接受到接近dvd质量的播放效果。它支持标准的rtsp协议,并采用了所谓surestream传输技术,简单说来,就是服务器为一个信息源准备多份不同比特率的压缩版本,然后动态地根据客户可得的网络速率来选择一个最合适的版本传输给用户,这样可以尽可能地减少客户端因为网络拥塞而造成的重新缓冲的等待时间。该产品可以对包括音频、视频、图片、文本、flash等多种形式的媒体进行流化,并支持smil标准。

  microsoft的media technology微软虽然比real network进入流市场晚,但凭借其强大的技术力量和操作系统支持的优势,其media technology产品也迅速成为市场的主流产品。它的win2000产品就捆绑了客户端播放器media player和服务器端软件media service。目前,最新的media technology7版本采用了微软自己开发的windows media audio codec和microsoft mpeg-4 codec,压缩效率和性能十分出众。其intelligent streaming技术可以根据客户的网络接入速率选择一个最合适的比特率的版本,并在网络拥塞时通过抛弃视频数据的非关键数据来维持播放的连续感。media technology可以对音频、视频、powerpoint,甚至屏幕输出(screen capture)等媒体进行流化,文件格式采用asf格式。另外,它还使用了独特的客户端后处理技术,通过舍弃数据不完整的视频帧可以大大减少令人生厌的马赛克现象。


  流技术可以在我们工作和生活的很多方面发挥作用。


  新闻和娱乐 人们已经习惯于用电视作为获取新闻和娱乐资讯的最主要的媒介,因为它使用简单,即所谓“just tune on and sit back”。而流技术就是最大程度地模拟了人们对电视的使用习惯,不再需要去浩如烟海的internt上搜索,不再有令人厌烦的下载进度指示,你使用的客户端播放软件已经预置了很多新闻和娱乐的频道(channel),你只要选择一个频道就可以轻松靠在椅背上收看了。所以,流技术一开始就受到了新闻和娱乐媒体的欢迎,基本上大型的新闻和娱乐媒体目前都在internet上提供基于流技术的节目发布,包括对重大事件的直播,如cnn、cbs、discovery channel和我国中央电视台、北京电视台等,人们甚至因此创造了“webcast”这个词。

  企业 大型跨国公司可以利用基于流技术的视频会议系统来组织跨地区的会议和讨论,从而节省大量的差旅费用,还可以利用基于流技术的远程教育系统作为远程对员工进行培训的手段,这里不仅可以利用视频和音频,教员计算机屏幕的输出也可以被用流的方式传送给学员。例如,微软公司自己内部就大量使用了其流技术产品netshow和mediaplayer作为其全球各分公司间员工培训和交流的手段。

  金融 大型的金融企业一般都在世界各个金融中心城市设置了自己的业务机构,它们的雇员必须实时获得第一手的金融指数和世界各地的政治、经济消息和动态,才能在瞬息万变的金融市场上抓住获利的机会。传统上,为了实现这个目标,每个地方的分公司都要设立专门的卫星电视接收间和相应的录像机等设备,雇员只有在这个房间才能看到这些信息。而使用基于internet的流技术,雇员就可以直接在自己的桌面电脑上获得这些信息,从而能更及时地根据这些信息发出交易指令。美国第二大证券交易商从1998年开始,采用starlight network公司提供的流技术方案,为其分布在全球500多个城市和地区的分公司经纪人和投资咨询员实时提供到桌面的财经新闻,使他们的客户获取更多的投资利润。

  e-commerce 在线销售数字化的音像制品一直受到传统音乐产业界的排斥(如最近美国录音工业协会riaa就把mp3.com送上了法庭,控告其向用户提供的一项新业务违反了版权保护法),因为download and play的模式使得唱片公司无法控制消费者非法散播他们购买的拷贝。而流技术则可以较好地解决这个问题,通过一定的加密和数字证书机制,可以让用户无法把流传输的内容存储到本地反复播放,这使得唱片公司可以用pay per view的模式对用户进行收费。微软公司针对这个问题提出的digital rights management技术就获得了音乐产业界的欢迎。

  监控 流技术也可以应用于远程监控。近年来,一些公司已经开发了一类所谓web camera的产品,基本上它就是把图像采集、压缩、web server和internet接入集成在一个设备中,使得远程监控可以通过internet完成,这与传统的远程监控系统相比,在可控制性、监控距离、架设方便性等方面都有很强的竞争力。这里的关键技术之一就是流技术。

  尽管流技术和基于流的应用在这几年已经得到长足的发展,但限于目前的internet网络对qos和multicast的支持还不是很好,可以说,其黄金时间还远没有到来。我们完全可以预计,如果下一代internet能很好解决这两个问题,那么基于流的应用势必会占据internet上应用的主流地位。这个趋势可以说是“网络就是计算机”思想的一个延伸,因为你再也不需要为了自己喜欢的电影和cd而去购买大容量的硬盘来存储它们了,有了流技术,你就可以随时随地从internet上点播它们。