经由网络递送媒体选择的方法与系统 【技术领域】
本发明涉及网络多媒体递送系统。特别涉及一媒体递送系统用于在一混合多点/单点传送网络上递送媒体选择至多个媒体客户端。
背景技术
在真正的视频点播(VOD)系统中,使用者被允许随时观看视频节目及执行任何类似VCR的交互功能,如快进/快退、前跳/后跳、慢速与暂停。此可藉由对每一使用者提供专用信道而容易地达到。但是该方法很昂贵、低效且不可伸缩。因而,多点传送网络递送被视为大规模VOD系统降低成本与提高可伸缩性的解决方案之一。一多点传送媒体流可被大量的使用者共享。不幸的是,对多点传送媒体流难以实施交互功能。近年来如何满足一使用者的交互请求而不致影响相同多点传送组内其他的使用者是一个具挑战性且热门的课题。
很多研究已尝试要解决此问题。其中一个研究为根据机顶盒的缓冲区大小来提供有限的VCR功能。诸如快进的交互功能只能利用已储存于缓冲区中的帧来实施。因此为了得到较佳的VCR功能便需要大量的缓冲区。而且,此技术无法服务某些交互功能,如前跳/后跳,此涉及改变缓冲区内容。在另一研究中,其提出可通过创建一单点传送媒体流来处理用户地互动。此新的流可被保留至该视频的结束。此意即所有的用户最终可保存单个的流而非共享相同的多点传送流。因而,可伸缩性被降低或很多交互请求请求会被阻断。这些问题限制此类系统的有用性,特别是在此类系统在具有数百万用户的都市被实施的情形中尤然。
因此,本发明的目标是要解决现有技术带来的至少某些问题。最低限度,本发明的目标为要为大众提供一有用的选择。
【发明内容】
因此,本发明提供一种方法,用于递送媒体至多个媒体客户端,所述客户端具有一缓冲区用于高速缓冲选择的媒体流在一流间隔内的媒体,及用于经网络播放一多点传送媒体流内的媒体的处理能力,包括的步骤为:
-产生多个多点传送媒体流,其中每一多点传送媒体流在规律的流间隔内被重复;
-响应来自该媒体客户端的选择请求将该媒体客户端加入至所选择的多点传送媒体流;
-高速缓冲在至少一交互服务器内的所选择的多点传送媒体流,
使得在该媒体客户端内播放该媒体时的交互请求和/或错误被交互服务器或媒体服务器处理。
本发明的另一层面提供一种系统,用于递送媒体选择至多个媒体客户端,所述客户端具有一缓冲区用于高速缓冲被选择的媒体流在一流间隔内的媒体,及用于经网络播放一多点传送媒体流内的媒体的处理能力,包括:
-至少一媒体服务器用于产生多个多点传送媒体流,其中每一多点传送媒体流在规律的流间隔内被重复,响应来自所述媒体客户端的选择请求将该媒体客户端加入至所选择的多点传送媒体流;以及
-至少一交互服务器用于高速缓冲所选择的多点传送媒体流,
使得在媒体客户端内播放媒体时的交互请求和/或错误被交互服务器或媒体服务器处理。
【附图说明】
现在本发明的优选实施例参照附图以做为例子的方式被解释;其中:
图1显示本发明的媒体递送系统的整体架构。
图2显示由一交互服务器产生的特定优选实施例的媒体流的时序安排。
图3显示该媒体客户端如何在交互操作被实施后合并回到多点传送媒体流。
图4显示暂停操作,而图5显示媒体客户端的缓冲区在暂停操作期间对应的变化。
图6显示该媒体客户端的缓冲区在慢动作操作期间的变化。
图7显示在快进操作后如何决定适当的多点传送媒体流。
图8显示在快进操作与正常播放操作的播放点间的差异。
图9显示在快退操作与正常播放操作的播放点间的差异。
图10显示在前跳操作后如何决定适当的多点传送媒体流。
【具体实施方式】
现在本发明在下列段落中参照附图以做为例子的方式被描述。列表1是一个部件列表,便于参照附图标记。
虽然下面描述的要被递送的媒体或媒体选择是视频,但可以理解其他形式的媒体亦可取代视频在本发明中被递送,例如为音频或它们的组合。
1.系统架构
1.2概述
本发明的媒体递送系统(10)的整体系统架构被显示于图1。此系统包含四个主要的元件:
a)至少一媒体服务器。该媒体服务器可为独立服务器或可如图1中显示的视频服务器集群VSC(12)的一成员;
b)作为客户端工作站CS(14)的多个媒体客户端;
c)一网络(16),其可被表示为一多点传送骨干网络MBN(20)及多个本地分发网络LDN(22);以及
d)作为分布式交互服务器DIS的至少一交互服务器(18)。
注意,MBN(20)可使用支持多点传送网络通讯协议的任何任意的拓朴。图1中显示的环结构系就简单性而被使用,但不应被解释为本发明要求此种令牌环网络。
1.2视频服务器集群VSC(12)
VSC(12)的角色是为整个系统产生多点传送媒体流。每一VSC(12)包含至少1个且优选为5至15个媒体服务器。集群中的媒体服务器个数必要时可被改变。
优选地,每一媒体服务器以带有用于前向纠错的奇偶校验位的简单条式格式储存部分的视频内容,类似RAID 5。若CS(14)从该奇偶校验位群组遗漏一视频区块,这将允许简单的错误恢复。同样地,甚至当某些媒体服务器故障时,整个VSC(12)仍可为操作性的,达成某些程度的容错。其他的公知带状做法可在本发明被运用。
VSC(12)所发送的视频区块优选随机交错以使猝发区块错误的冲击达到最小并提高系统安全性。由于区块最可能藉由交错VSC(12)所发送的分组而以猝发的方式停止,丢失的分组会更均匀地散布。因此,简单的奇偶校验位做法能恢复大多数的丢失分组,若非全部恢复的话。
此外,区块交错阻碍偷听者捕取视频区块以便观赏。一伪随机数序列可被用以产生该随机交错:该数列的产生密钥于建立信道期间用一公共密钥加密法则传送至CS(14)。其结果为CS(14)可由重新产生的伪随机数序列记录该视频数列。
为了提供交互功能给用户,所述多点传送媒体流例如以每30至60秒的固定的规律流间隔在VSC(14)开始以对未实施任何交互功能的大多数顾客供应多个媒体流。30秒流间隔的媒体流时序安排被显示于图2。
该流间隔可根据系统(10)的规模与性能被选择。然而,该流间隔优选设定为约30-60秒,使得平均起始时间可为约15-30秒,此为可接受的。虽然需要大量的多点传送媒体流,其值得如此做,因其可提供更高的服务品质给用户并能降低客户端用于完整的交互功能的缓冲区需求。此外,多点传送媒体流越多,为提供互动性与并入所需的单点传送媒体流的数目与保存时间可被减少。
1.3客户端工作站CS(14)
每一CS(14)具有一缓冲区,其可保存包含于多点传送媒体流内的媒体达到一视频区块的流间隔。就等于30秒及MPEG-2视频(2至4Mb/s)的流间隔而言,其数量达到8-15MB。用简单的奇偶校验位纠错,诸如10位有1位作为奇偶校验位,所需的缓冲区为约15*10/9,即16.7MB。因此,每一CS有32MB的缓冲区是为足够的。
除了存储需求外,每一CS(14)必须具有一网络连接,使得媒体流可被递送至CS(14)。此网络连接优选地为宽带网络连接,其允许MPEG-2传输速度的1.5至2倍。此外,每一CS(14)必须具有足够的处理能力用于在多点传送媒体流中播放媒体。配备有Pentium 266与硬件或软件MPEG-2解码器的低阶产品被发现是另人满意的。
1.4网络(16)
1.4.1多点传送骨干网MBN(20)
对于底层网络(16)除了其应能供应足够的带宽用于递送多点传送媒体流至CS(14)外,其没有特定的要求。在真实生活的应用中,MBN(20)可能负责处理数千的多点传送媒体流用于透过LDN(22)分配至CS(14)。
优选地,MBN(20)经高速路由器连接至LDN(22)。每一路由器必须能执行所要的多点传送网络路由通讯协议,如PIM,MOSPF,DVMRP等。理想上,MBN(20)必须能为容错的,且在需要时能重新被路由至替选的路径。目前IP在DWDM网络上的提议因其似乎能提供此一所要的特征而可被使用。一般而言,骨干网络的带宽越高,其能提供越多媒体流至用户。
1.4.2本地分发网络LDN(22)
LDN(22)承载多点传送媒体流至每一CS(14),而在每当其中的流不被需要时就删减它。一简单的树状网络就此目的可为足够的。
1.5分布式互动服务器DIS(18)
DIS(18)主要负责藉由高速缓冲多点传送媒体流进行错误恢复,以及响应CS(14)提出的交互请求来产生单点传送内容。虽然这些功能可被VSC(12)提供,其优选被DIS(18)实施以降低整体的服务器与网络的负荷。
由于VSC所提供的每一多点传送媒体流可被实际上未受限数目的用户观看,而交互功能的单点传送媒体流不是如此,一种分布式的做法被选择,使得该系统更具有可伸缩性。
DIS(18)的功能之一为在CS(14)中播放媒体时处理错误,包括传输CS(14)未曾接收的任何视频区块。当CS(14)在重建丢失的视频区块失败时,其就该丢失的视频区块送出一请求至DIS。
当DIS(18)分布得更靠近CS(14)时,分组延迟可被最小化,且此改进所述交互功能的响应时间与重传的成功率。该多点传送媒体流提供大多数的业务流。其在相关的研究发现小于2%的用户同时实施交互功能。因此,低阶产品的DIS(18)就足以用于该媒体递送系统(10)。
2.服务提供
媒体递送系统(10)的架构可提供统一于单一框架内的三个不同的服务等级A,B与C。
等级A服务类似于目前的有线TV服务。用户可用非互动的方式观看任何播出频道。为了支持等级A服务,媒体递送系统(10)必须能支持数百个非交互式多点传送网络信道。此在宽带基础设施上被标准的IP多点传送网络信道提供(也在很多其他架构中被提供)。将被解决的关键课题为错误重传的处理。在此文意中,等级A服务被VSC(12)使用多点传送网络IP流提供且经由网络(16)被分配至CS(14)。错误恢复与重传可在每一LDN被DIS(18)处理以改进错误重传。
等级B服务的目标在于以具有用户可伸缩性高的完全的互动方式支持有限数量的媒体(如数百小时的MPEG-2节目)。此被本发明的混合多点传送网络一单点传送媒体流技术提供,此可能需要中度数量的系统资源以支持大量的用户。此服务在都市中是特别需要的,其中数百万的用户会要在很少甚或没有限制下观看某些媒体(如电影、体育或音乐盛会)。在本发明的媒体递送系统(10)中,数百小时的视频内容(MPEG-2)可就目前的交互式多点传送网络配送成本有效地被支持。
等级B服务为最复杂而将在下面的段落被解释。
等级C服务的目标为提供未受限的内容给固定数目的用户。此服务观念类似于为每一观赏者分配唯一单点传送媒体流的许多现有服务。不幸的是,此服务不具可伸缩性,因其每用户的服务提供成本为固定的且就当前的技术水准而言亦是相当地高。然而,当此服务与先前二DINA服务束在一起时,可能仅有小百分比的观赏者请求此服务,因而整体系统成本可大幅地被降低。
等级C服务以下列方式被处理。当某一CS(14)请求等级C服务时,一专用交互请求被CS(14)提出而要求专用媒体。先检查本地DIS(18)是否存在储存于DIS(18)的本地高速缓存的专用媒体的拷贝。若然,该本地DIS(18)将通过启动一单点传送媒体流而直接服务于该请求。若否,该用户管理员将发起对VSC(12)的请求。VSC(12)将直接地由VSC(12)或间接地对DIS(18)经由一单点传送媒体流分配其内容至请求该服务的CS(14)。互动性被VSC(12)或DIS(18)处理。在本地DIS(18)上实现高速缓存目标在于依据该媒体的使用统计数据减少对VSC的请求次数与所需的骨干带宽。
3.交互功能
CS(14)的交互功能,包括快进、快退、前跳与后跳可用来自DIS的专用单点传送媒体流执行。此些交互功能在等级B服务内被提供。
一般而言,当CS(14)请求一交互功能时,CS(14)首先会离开其目前所属的多点传送群组,然后请求一单点传送媒体流以处理交互功能。当CS(14)完成该交互功能时,其首先使用单点传送媒体流用于正常播放,但使用较高的如1.5~2X的泵率。其结果为,CS(14)的缓冲区将被不断填入且将在一、二时隙后填满。在此点CS(14)将关闭该单点传送媒体流以再参加一适当的多点传送网络。虽然该单点传送流可被保持打开,但将增加网络负荷。
为了以完全互动的方式提供限量的媒体至无限的用户,批处理观念在本发明中被运用,使得所述用户可在交互功能仍被实施时同时共享相同的视频流。此可允许一多点传送网络服务许多用户且减少服务器与网络。
在等级B服务有三种型式的流被定义:1)M(i)流-其代表在第i流间隔的开始处启动的正常播放的多点传送媒体流;2)I流-其代表为任何用户请求的交互功能所开启的交互式单点传送媒体流;3)J流-其代表被一用户使用以并入回M(i)流的并入单点传送媒体流。
当一用户从事于一交互功能时,新的单点传送网络可依据发起的交互请求是什么而被提供至该用户。因而一单点传送网络据称由原来的多点传送网络分割而来。当新的单点传送网络被提供以处理所请求的互动时,该分割操作为直接的。
另一方面,并入操作更复杂,且因其允许单点传送网络上的用户并入回到M(i)流及在实施该交互功能后释放该I流而为极端重要的。VOD互动特点中的一重大改进因并入操作减少单点传送媒体流的数目而可被达成。其又允许相同数目的流服务于更多的用户交互请求,因而服务与可伸缩性的较佳品质可被达成。
媒体递送系统(10)的架构可确保所有的客户端可并入回到M(i)流,只要满足下列的要求:1)CS(14)足以保存一流间隔(如30-60秒)内所有的帧,2)J流能以比M(i)流高的速度传输因而在并入前能填满必需的缓冲区。
例如,考虑一30秒的MPEG-2(4.7Mbps)视频,所需的缓冲区为18MB(30*4.7/8)。用户一完成所有的交互功能且回到正常播放,J流马上被开启。然后J流以更快的速度f传输帧。由于到来的数据率比耗用率r快,该缓冲区将填满。f可依据网络架构被选择为不同的值。具有较大带宽的网络可支持较大的f,此意即客户端可在较短的时间内并入回到M(i)流。
假设缓冲区以(f-r)Mbps的速度正被填入。在最坏的情形下,填满缓冲区所需的时间为:
举例若f=1.5*4.7Mbps,则TFill=60秒。
一旦缓冲区被填满,该用户必须能并入回到M(i)流,此在图3中被显示。假设在某些互动动作与J流传输后,该缓冲区已在相对于CS(14)的随意的标记280秒处被填入。该流的目前播放点为在90秒,故CS(14)缓冲区储存该流由90秒至120秒的帧。然后CS(14)因没有更多的数据可被储存故离开J流,因而释放J流以服务其他用户。
由于M(i)流之间的流间隔与CS缓冲区大小相同,因此具有在CS缓冲区时间标记内的目前播放时间的M(i)流总是可被找到。由于CS必须继续播放超过已经缓冲储存的帧,其可并入回到适当的M(k)流。这样做,其可以在M(k)流的120秒处(即相对于CS的时间标记290秒)开始接收帧。在此时,当由90秒至100秒的帧已被播放,CS中10秒的缓冲区空间可被释放。因此,此用户成功地被并入回到共享的M(k)流。
可优选地在本发明的媒体递送系统(10)中实施的每一交互功能的操作现在将在下列的段落被描述。
播放/停止
就正常播放而言,CS(14)首先送出一播放请求至VSC(14),然后加入多点传送媒体流,最后等候VSC视频数据。而就停止而言,CS仅是告诉VSC并离开所选择的多点传送媒体流。在播放时间期间,CS缓冲区持续地被所选择的多点传送媒体流的媒体填入。
为改进多点传送网络递送的利益,VSC(12)优选在用户发出一选择请求时启动新选择的多点传送媒体流之前等候一些时间以填入CS(14)的缓冲区。
暂停
暂停维持播放点于其目前的位置。在暂停期间,CS缓冲区持续由M(i)流接收数据,此时无数据被耗用。因而数据会在缓冲区内累积。若正常播放在CS缓冲区满前被恢复,CS(14)可继续由同一个M(i)流接收数据。仅有缓冲区内的播放点位置被改变。若暂停至缓冲区满了为止,CS(14)在缓冲区被填满后不做任何操作。其保存帧于缓冲区内用于并入。一旦启动并入操作,其将寻找适当的M(i)流并入。此并入操作与在段落C已被描述者相同。假设原始流为M(k)且暂停时间为TPause,其算法则如下:
若m×流间隔TPause
(m+1)×流间隔,
则并入至M(k+m)流
其中由于CS(14)再参加稍后的多点传送媒体流以便其在视频内维持相同的位置,m一般必须为正的。当该播放点在接近该流的结束处暂停且其暂停时间较长时,其在流附近可有一卷绕且m可取负值。
慢动作
慢动作以例如0.5X的较慢速度播放流。在慢动作期间,数据耗用率比到达率小。因而数据将在缓冲区内累积。类似于暂停者,若在CS缓冲区填满之前恢复播放,CS(14)继续由M(i)流接收数据。若慢动作持续至缓冲区满了为止,CS(14)必须离开目前的M(i)流。CS(14)将继续播放慢动作至缓冲区的结束。然后CS(14)需要加入下一个流以取得需要的帧以便继续慢动作。CS(14)加入下一个流亦为必需的,使得其能随时恢复正常播放。
显示于图6的CS(14)缓冲区状态有助于解释慢动作如何工作,其参照慢动作操作的特殊例子。其时间标记为相对于CS(14)。在图4,0.5X的慢动作在CS 30秒开始。此后,5秒的帧以每10秒的CS时间被播放。然而,到来的帧率没有改变。因而5秒的帧以每10秒的CS时间被累积。该缓冲区将在80秒填满,且CS(14)必须离开目前的M(k)流。然后CS(14)加入下一个M(k+1)流以取得80秒后的丢失的帧。由于每一流隔开相同的流间隔30秒,由M(k+1)流来的80秒的帧将在CS 110秒可用。在CS110秒前被接收的帧与在缓冲区中者重复且将被弃置。在CS 120秒,CS(14)恢复正常播放。因为旧的帧已被播放出来且CS(14)以来自新的M(k+1)流的帧恢复正常播放,该播放点位置将改变至新的M(k+1)流。
各种速度的快进/快退(FF/REW)
快进FF或快退REW为比正常速度快地播放帧。在操作中,CS(14)首先试图使用其本身的缓冲区中的帧藉由跳过某些帧来服务FF。若FF动作超过缓冲区内帧的范围,以不同速度为前进与后退方向FF/REW预先被录制的I流所提供的视频被运用。此做法不仅更有效率地使用带宽,且提供先进的VCR中的各种速度的FF/REW动作(如1X的快退、2X、4X等)其在被提供。
包含预先录制的媒体的I流由DIS(18)产生并被提供至CS(14)。例如,当用户请求4X FF时,DIS送出包含在所需时间开始的预先录制的4X前向I流至CS(14)。然后CS(14)可播放这些帧而不浪费任何带宽。当CS结束该交互功能且恢复正常播放时,所有的CS缓冲区因其不再为有效的而被清除。然后,一J流被送至DIS(18)以较快的速率传输数据至CS(14)而如在前面段落描述的填满缓冲区用于并入操作。
为了要知道J流应承载那个分组以符合播放时间,所需的分组序列号码P必须被设定等于(播放时间×M(i)流的传输率)/x,其中x以位为单位表示的分组大小。
图7显示如何在FF后决定适当的M(i)流。其可了解20秒的4X FF的实际播放时间为80秒。TFF为FF动作的时间,且TFill为如先前所定义者。该播放时间已过去(PMC-PFF),其中PFF为要开始FF的播放时间,且PMC为恢复正常多点传送网络M(i)流的播放时间。(TFF+TFill)为分割与并入操作的总时间。因而,该流已被播放了(TFF+TFill)的时间。在图8中,显示了FF操作与正常播放操作的播放点间的差异,其显示[(PMC-PFF)-(TFF+TFill)]为在原始多点传送媒体流的播放时间前的新多点传送媒体流的播放时间。假设CS起先是在M(k)流内,FF操作的算法如下:
若m×流间隔(PMC-PFF)-(TFF+TFill)
<(m+1)×流间隔
则并入至M(k-m)流
其中m必须为正的,因其须前进至先前的流以到达观看的后面部分。
就REW而言,其操作为类似于FF。其将播放时间向后带动。DIS将送出一预先录制的1X/2X/4X后向I流至CS,且J流亦被使用以填满缓冲区用于并入。然而,参照图9,现在[TFF+TFill+(PREW-PMC)]]为在目前位置后的播放时间。PREW为开始REW的时间。REW操作的算法如下:
若m×流间隔≤TFF+TFill+(PREW-PMC)
<(m+1)×流间隔
则并入至M(k+m)流
其中m必须为正的以进入稍后的流而到达观看的较早部分。
前跳/后跳(JF/JB)
前跳为立即前进到一特定的播放时间。此为VCD与DVD播放器的先进的特点,其允许用户直接前进至该播放时间而搜寻帧。
当一用户在本发明的媒体递送系统(10)发出一JF请求时,其首先决定目标时间帧是否在CS缓冲区内。若然,该用户可藉由仅移动缓冲区内的播放点位置至所需的帧而被服务。若否,在所需时间开始的J流将由DIS立即地被送出。CS清除(CS)其本身的缓冲区并播放由J流而来的帧。其接受J流直至该缓冲区满了为止,然后离开J流并并入回到一M(i)流。
图10显示一特殊的例子,其中一用户由70秒时间标记向前跳至130秒时间标记。PJF为JF开始的时间。正如同其他交互功能者,CS需要找到适合的M(i)流以便并入回去。其算法类似于FF:
若m×流间隔≤(PMC-PJF)-TFill
<(m+1)×流间隔
则并入至M(k-m)流
其中m必须为正的,因其藉由跳回先前的流而请求观看稍后的部分。
JB操作类似于JF,除了JB将跳到观看的较早部分的播放时间外。
若m×流间隔≤TFill+(PJB-PMC)
<(m+1)×流间隔
则并入至M(k+m)流
其中因其藉由跳至稍后的流而请求较早的部分,故m必须为正的。
很久以来,在多点传送网络VOD系统提供完全的交互功能一直是困难的问题。本发明的媒体递送系统(10)可允许用户实施完全的交互功能,包括暂停、慢动作、快进/快退、前跳与后跳,其需要相对低的系统资源来作用。此可藉由在交互功能操作期间限制单点传送媒体流的数目而被达成。因此,提供交互功能的此种VOD系统的整体拥有成本可被降低。
虽然本发明的优选实施例已以例子详细地被描述,本发明的修改与改良对本领域一般技术人员显而易见。应理解这些修改与改良落于本发明申请权利要求的范围内。而且,本发明的实施例不应被解释为仅被例子或图所限制者。
列表1 附图标记 说明 10 媒体递送系统 12 视频服务器集群 14 媒体客户端 16 网络 18 分布式交互服务器 20 多点传送网络骨干网络 22 本地分发网络