1、概述
自有电视业务以来,人们便不满足于仅被动地接收电视节目。用户一直希望能够按自己的意愿获得所喜爱的电视节目。这也不难理解为什么20世纪80年代,人们希望使用MTV;20世纪90年代人们希望使用视频点播业务;近几年,人们希望使用Internet协议电视( IPTV )业务。事实上目前所谈的IPTV在某种意义上讲是20世纪90年代视频点播业务(VOD)的一种继续。
VOD出现之初。人们希望能够针对大众喜爱的电视节目内容提供时移电视,这样人们就可以在家里非常舒服地在方便的时候观看电影或电视节目。基本的思想是将内容存储在存储器中同时发展分发网络提供接入并投递这些视频内容。最初业务的推动者来自广播电视业务提供者和电影制片者。但遗憾的是由于在当时的技术条件下(当时期望的承载网络是基于ATM技术的宽带ISDN)所需要的基础设施费用相对于VOD业务的需求显得太高了一些。这样VOD在一段时间内发展缓慢,除了在一些局域网络上开放了一些VOD业务外,大多数的VOD停留在研究和试验层面。同时Web业务的出现,给人们带来了使用Web业务获得文本信息的 喜悦。
随着数字摄像机的出现、存储系统能力的增强、网络传输带宽的增加以及移动电话终端能力的增强,对网络视频信息的传输又一次成为人们关注的热点问题之一。与20世纪90年代的VOD的不同点在于网络视频的承载网络是IP网络,而用户的显示终端也扩展到包括电视终端、计算机、移动手机等。提供视频的方式也由广播电视的纯“推”的方式扩展到包括原有电视的“推”方式和VOD的“拉”方式。用户可以根据自己的意愿获取节目信息。也就是说IPTV将以类似于Web业务向用户提供文本信息一样向用户提供视频信息。
虽然IPTV主要是向用户提供视频信息,但由于IPTV业务的业务形式和用户终端种类的增加,使得业务提供者不能仅采用单一的信息源同时向数量众多、终端能力各异的用户提供业务。本文将介绍IPTV业务中进行视频内容分发的一种技术—— 代理 缓存 技术。
2、IPTV业务服务质量要求
由于视频节目内容的信息量较大、若采用下载后播放的方式,用户在下载全部节目信息时需要花费较长的时间,为此在提供业务时不能使用下载后播放的方式而应采用类似于现有广播电视播放的方式,也就是说在下载的同时进行播放,从用户的角度看就是边下载边播放。IPTV业务主要提供媒体直播(广播)业务和媒体信息点播业务。对于直播方式要求视频流在播放时不能出现中断,同时播放时允许用户在多个节目中进行切换,切换时间要在相对短的时间范围内。而对于点播方式的业务要求用户可以找到所希望观看的节目同时可以对观看的节目进行适当的控制(包括快进、快退、暂停等),同时要求播放的视频节目信息流畅没有明显的中断。
就目前视频编码技术的发展现状,实现用户在线实时播放视频节目信息所需的网络传输带宽通常在每秒兆比特数量级。IPTV业务主要以提供双向不对称的视频信息为主。用户和业务提供者之间主要是客户端/服务器方式进行通信。这样若多个用户同时观看存储在一个视频存储器中的视频节目信息对存储服务器的输入输出具有较高的要求,同时通信网络的带宽要求也较高。为此,对于IPTV业务通常采用类似目前CDN的技术将视频节目信息缓存到接近用户的边缘设施,以减小主视频存储服务器和通信网络的压力。但视频信息通常比文本信息的信息量大,若将全部的视频信息均缓存到边缘存储设备中会造成存储设施的浪费,同时由于用户采用具有不同能力的终端,要求业务提供者提供传输速率不同的视频信息。这样采用代理缓存技术成为解决Internet上媒体流传输的一个重要手段。
3、代理缓存技术简介
3.1 媒体流代理缓存辅助的系统结构
采用代理缓存的基本思想是用户(客户端)的控制信息和媒体投递信息在传输时采用两个不同的信道来进行。媒体流服务器根据控制信息的指令向用户(客户端)传递媒体信息。用户将其控制信息上传到媒体代理,若媒体代理的缓存器中存储有用户所要的媒体内容,则代理直接将其缓存器中存储的信息投递给用户(客户端)的缓存空间,缓存空间接收到媒体信息后将其传递给播放器用于播放。若缓存代理的缓存器中没有用户要求的信息,则发送指令给服务器请求传递相应的媒体信息。根据缓存代理的不同策略,服务器将媒体信息直接传输到代理的交换器或存储到缓存代理的缓存器中,由缓存器将媒体流信息再通过交换器传送给用户。
www.55dianzi.com
3.2 缓存 代理 技术
从缓存代理技术本身来讲,是将媒体信息缓存在缓存代理处,然后将其传送给用户。但由于视频媒体信息本身信息量大的特点,若缓存代理作为服务器的备份,那么对缓存代理的要求将太高,势必增大业务提供者的成本。同时由于不同的节目内容用户的点击率并不相同,为此将所有的媒体内容采用相同的方式进行缓存没有必要。因而目前采用的代理缓存通常采用对热播的内容采用全部存储,而对点播量不大的媒体内容采用部分缓存的方式进行。但如何确定需要缓存什么、缓存多长时间的算法就成了研究者研究和讨论的一个问题。现有的缓存算法主要包括用于同质客户端的代理缓存和用于不同质客户端的代理缓存。
3.3 用于同质客户端的代理缓存
目前大多数代理缓存技术适用于在代理之后具有相同或类似配置和能力的同质客户端。这样同一版本的媒体信息可以满足所有同质客户端对相同内容请求,同时对客户端连接到网络的带宽以及客户端的播放能力具有相同的要求。即使是这样,在代理缓存中存储一个节目内容的哪些部分以及如何管理代理缓存中已经存储的信息(如何放置以及如何替换所存的信息)仍然是具有挑战性的问题。不同算法会带来不同服务质量以及代理资源的不同消耗 。本文主要介绍目前研究较多的4类代理缓存算法:可变时间间隔缓存、前缀缓存、分段缓存以及变速缓存。
3.3.1 可变时间间隔缓存
可变时间间隔缓存算法采用缓存可变时间间隔的媒体信息以用于连续地接入流媒体。该算法的实现方式如下:当两个客户端在一段时间间隔内向同一个代理缓存器请求同一个媒体内容时,根据第一个客户端的请求,代理缓存器向媒体服务器请求发送媒体信息并将接收到的媒体信息发送给第一个请求者,同时将媒体信息存储在代理缓存器中,在第二个客户端的请求到来时,代理缓存器就可以将已经存储在缓存器中的媒体信息直接发送给第二个请求者,待媒体信息发送给第二个请求者后代理缓存器释放该媒体信息。这样媒体服务器只需要通过骨干网络将媒体信息传送一次便可以服务于两个客户端。从而节省了骨干网络带宽,同时减少了第二个请求者开始的等待时间,提高了服务质量。当多个客户端在一定的时间间隔内请求同一个媒体信息时,就可以将媒体信息从媒体服务器中请求一次然后存储在代理缓存器中,根据后续请求者的请求发送给相应的请求者,在媒体信息发送给最后一个请求者时释放媒体信息。这样仅在第一个客户端请求媒体信息时需要代理缓存器从媒体服务器中请求传送媒体信息,后续的客户端仅需从代理缓存器中获得媒体信息便可。根据请求同一媒体信息的第一个客户端到最后一个客户端请求的时间间隔不同,需要将媒体信息在代理缓存器中对媒体信息保留不同的时间间隔,当该间隔与整个节目的播放时间相同时,在代理缓存器中就保留了请求节目的全部信息。在一个节目热播期间通常需要在代理缓存器中存储热播节目的全部信息。
3.3.2 前缀缓存
在上一种算法中,主要是减少对骨干网络的传输带宽的压力,同时提高后续请求者的初始播放速度。但第一个请求者的起始播放时间并没有减少,若在没有用户请求之前将每一个节目的开始部分存储在代理缓存器中,在第一个客户端请求媒体信息时也可以提高其起始速度,同时代理缓存器向每一个媒体服务器请求后续部分内容。这便是前缀缓存算法的基本思想。
在采用前缀缓存算法时一个需要考虑的问题是最初在代理缓存器中应当缓存多长一段节目内容。考虑到,客户端需要平滑地播放媒体内容,代理缓存器中至少要存储从代理服务器到媒体服务器处接收到后续媒体信息的一段时间内足够客户端播放的信息。在代理缓存器的存储空间比较富裕的情况下,可以尽可能将前缀信息存储的相对长一些。
3.3.3 分段缓存
前缀缓存算法主要解决起始响应速度问题,在其中隐含了一个媒体信息分段问题。前缀本身就意味着将媒体信息分成了不同的段信息。在代理缓存器从媒体服务器后续请求过程中也需要根据媒体信息的特征分段请求或发送。特别是针对点播类业务,客户端需要快进、快退等操作,这意味着需要在媒体信息中在分段处有标注信息。这也要求将媒体信息本身进行分段。
分段缓存算法是目前学术界研究较多的一种算法,根据不同的用途分段缓存算法又分为指数级分段和“慢分段”,指数级分段是根据内容信息距起始点距离的不同将信息分成不同长度的段,距起始点越远段落的长度越大,这主要是用于代理缓存器快速调整所缓存的内容,在需要的时候可以丢弃大块的媒体信息内容。“慢分段”其基本思想是尽可能晚地对媒体信息进行分段,而要等到收集到了尽可能多的统计信息再对媒体信息进行分段,这样可以最好地降低对带宽的要求,提高服务质量。
本文关键字:技术 综合-其它,单片机-工控设备 - 综合-其它
上一篇:未来音频技术