一种交互式网络电视的时移方法和系统的制作方法

文档序号:7957283阅读:276来源:国知局
专利名称:一种交互式网络电视的时移方法和系统的制作方法
技术领域
本发明涉及一种网络电视,尤其涉及的是,一种交互式网络电视的时移方法和系统。
背景技术
IPTV(Internet Protocol TV,or Interactive Personal TV,交互式网络电视),是基于IP网络的电视,通过利用宽带网络,以计算机(PC)或“普通电视机+IPTV机顶盒”为主要终端设备,主要为用户提供四类业务直播电视(BTV)、点播电视(VOD)、时移电视(Time-shift TV)、基于机顶盒的因特网浏览业务等。所述时移电视的时移功能就是回到已经过去的时间点开始观看。例如观看直播的体育比赛时出现一个精彩镜头,用户可以回过去再看一遍,然后快进或直接跳到当前播放点。
现有的IPTV业务采用CDN(Content Delivery Network,内容传输网络)技术开展,即节目源放在一个核心媒体服务器上,核心媒体服务器以广播(Broadcast)/组播(Multicast,也称多播)方式向外直播节目。在靠近一组用户的地方放置一个边缘媒体服务器(简称媒体服务器或服务器)。边缘媒体服务器从核心媒体服务器收到节目后存储起来,再采用组播方式向其用户播送。边缘媒体服务器支持有限时间的时移功能,例如48小时,即用户最多用时移方式看48小时前的节目。时移电视的内容是用户定制的,只能基于单播(Unicast)方式提供,对带宽和服务质量需求很大。
目前运营商大多通过赠送机顶盒(STB,Set of Top Box,在此特指IPTV机顶盒)以有效推广IPTV,时移功能完全以媒体服务器传送单播媒体流的方式实现,机顶盒只要实现与媒体服务器的简单交互,达到切换媒体流的目的即可,这样做可使机顶盒造价低廉,易于运营商低成本推广IPTV业务,即使运营商不赠送机顶盒,廉价机顶盒也易于被用户接受。但是这样的机顶盒一般配置较低、功能简单,不能实现本地时移,完全依赖边缘媒体服务器实现时移功能,媒体服务器的负担较重,可支持同时时移用户数有限。
当第一个用户要观看时移的节目时,媒体服务器为其创建一个单播流,进行单点传送;用户机顶盒退出组播组;这时服务器要同时发送两个媒体流。当更多的用户时移观看节目时,服务器必须建立更多的单播流,负荷显著增加,对传输网络的带宽要求也显著增加。因此提供时移功能的边缘媒体服务器的负荷很重。
理论上,对于采用组播或广播方式直播电视节目时用户数是没有限制的;但是,现实中由于受媒体服务器的能力和传输网络带宽限制,对时移用户数就存在一定限制。每一个用户的时移操作产生一个单播流,这使得媒体服务器能支持的时移电视用户数必然是很有限的,例如服务器可以传输100个媒体流,其中一个流使用组播方式直播电视节目,这不影响它的用户数,但是它另外的99个媒体流能力只能另外支持99个用户进行时移操作,因此能同时进行时移的用户就只有99个。
综上,现有技术的边缘媒体服务器的负荷很重,不能支持过多的时移用户数量,不能满足IPTV发展的需求。
因此,现有技术存在缺陷,需要改进。

发明内容
本发明的目的在于提供一种交互式网络电视的时移方法和系统,用于为用户提供时移服务时,减轻媒体服务器的负荷,让媒体服务器能够支持更多同时发生的时移用户数量。
本发明的技术方案如下一种交互式网络电视的时移方法,其用于具有本地时移缓冲区的机顶盒及媒体服务器系统中,其步骤包括A1、机顶盒从媒体服务器接收并播放组播媒体流,同时将所述组播媒体流的数据缓存到时移缓冲区;A2、当进行时移播放时,机顶盒判断时移后所播放媒体内容是否存在于时移缓冲区,是则执行步骤A3,否则执行步骤A4;A3、机顶盒从时移缓冲区取出内容进行播放,并且继续录制当前组播媒体流数据进入时移缓冲区;不执行步骤A4;A4、机顶盒向媒体服务器申请创建单播媒体流后播放所述单播媒体流。
所述的时移方法,其中,步骤A3还包括用户进行快进操作时,机顶盒判断快进后所播放内容存在于时移缓冲区,则播放缓冲区的内容,否则播放组播流的内容。
所述的时移方法,其中,步骤A4还包括步骤B1、媒体服务器检索所述时移单播媒体流可加入的时移组播媒体流,未找到可加入的时移组播媒体流,则执行步骤B2,否则执行步骤B4;B2、媒体服务器检索到可与所述时移单播媒体流合并的其它时移单播媒体流;B3、媒体服务器为可合并的时移单播媒体流建立时移组播媒体流;所述时移组播媒体流的起始时间点是所述可合并的时移单播媒体流中时移时间最小的单播媒体流的当前播放时间点;B4、媒体服务器通知正在接收所述可合并时移单播媒体流的机顶盒接收所述时移组播媒体流,并停止所述可合并的时移单播媒体流;其中当前时移播放时间点早于所述共同的时移组播媒体流当前播放时间点的机顶盒,继续接收并播放所述时移单播媒体流,并将所述时移组播媒体流的内容保存到时移缓冲区,直到所述时移单播媒体流播放时间点到达共同的时移组播媒体流起始时间点后,才开始播放所述时移组播媒体流,其内容取自所述机顶盒的时移缓冲区,同时停止所述单播媒体流。
所述的时移方法,其中,步骤B1之前还包括步骤机顶盒记录以正常速度时移播放单播媒体流的持续时间,判断所述持续时间达到设定值,将所述持续时间达到设定值的信息通知媒体服务器。
所述的时移方法,其中,步骤B1之前还包括步骤媒体服务器记录所述机顶盒以正常速度时移播放单播媒体流的持续时间,判断所述持续时间达到设定值。
所述的时移方法,其中,步骤A4在机顶盒向媒体服务器申请创建单播媒体流时,还包括步骤所述机顶盒将机顶盒能力信息通知所述媒体服务器;其中,所述机顶盒能力信息包括所述机顶盒能否增加一个媒体流的处理、所述时移缓冲区可支持的时移时间长度。
所述的时移方法,其中,步骤A1还包括步骤机顶盒判断接收的媒体流数据超过时移缓冲区的最大存储量,按进入时移缓冲区的时间顺序丢弃时移缓冲区中最早的媒体流数据,同时录制当前媒体流数据进入时移缓冲区。
所述的时移方法,其中,机顶盒为所述用户播放时移单播媒体流过程中,当用户进行快进操作时,步骤A4还包括步骤所述机顶盒判断当前媒体流数据在时移缓冲区中是否存在,是则执行步骤A3;否则继续执行步骤A4。
所述的时移方法,其中,步骤A4还包括步骤所述机顶盒撤出组播组,停止录制组播媒体流数据进入时移缓冲区。
所述的时移方法,其中,步骤A4还包括步骤所述机顶盒留在组播组,继续录制组播媒体流数据进入时移缓冲区。
所述的时移方法,其中,步骤A4还包括步骤C1、所述机顶盒判断所访问的当前媒体流数据在时移缓冲区中是否存在,否则播放单播媒体流,不再执行后续步骤;C2、所述机顶盒给媒体服务器发送停播单播媒体流的通知;C3、所述机顶盒播放在时移缓冲区中的所述当前媒体流数据。
所述的时移方法,其中,步骤C1之前还包括步骤所述机顶盒撤出组播组,停止录制组播媒体流数据进入时移缓冲区;则步骤C3还包括步骤D1、所述机顶盒判断所访问的当前媒体流在时移缓冲区中的数据已经播放完毕;D2、机顶盒给媒体服务器发送恢复发送单播媒体流的通知,所述通知包括单播媒体流的接续点;D3、媒体服务器为所述机顶盒发送单播媒体流,机顶盒录制单播媒体流数据进入时移缓冲区。
所述时移方法,其中步骤D3还包括用户进行快进操作,所述机顶盒判断播放数据存在于所述时移缓冲区,则播放时移缓冲区中的内容,否则加入直播组播组,播放直播组播组的内容,并通知媒体服务器删除所述时移单播流,直播组播组的内容继续录制到时移缓冲区。
一种交互式网络电视的时移系统,其中,其包括至少一具有时移缓冲功能的机顶盒和至少一媒体服务器,所述机顶盒与所述媒体服务器通过网络连接,所述时移缓冲功能采用时移缓冲区实现。
所述的时移系统,其中,所述时移缓冲区是可提供存储空间的设备所提供的存储空间。
所述的时移系统,其中,所述时移缓冲区设置在机顶盒的内部。
所述的时移系统,其中,所述时移缓冲区是随机存取存储器、闪存或硬盘。
所述的时移系统,其中,所述时移缓冲区设置在机顶盒的外部,其与所述机顶盒通过网络连接或专用接口连接。
所述的时移系统,其中,所述可提供存储空间的设备是基于随机存取存储器或闪存的移动存储设备、移动硬盘、计算机、局域网络媒体中心、局域网络存储设备或个人视频录制设备。
采用上述方案,本发明通过将组播媒体流数据存储在与机顶盒相连接的时移缓冲区上,实现了机顶盒的本地时移功能,从而减轻媒体服务器的负荷,使得媒体服务器支持更多同时发生的时移用户数量。


图1为本发明方法的流程图;图2为本发明的欣赏直播节目的缓冲方法图;图3为本发明的在时移缓冲区内的完全本地时移方法图;图4为本发明方法的STB仅支持一个单播流并且时移到录制节目内容外时初始情况示意图;图5为本发明方法的时移欣赏点移到了录制的节目内容范围内示意图;图6为本发明方法的STB缓冲区中的内容播放完毕后恢复播放单播流的示意图;图7为本发明的临时删除组播流的时移方法的交互过程示意图;图8为本发明的时移的单播流和直播的组播流同时存在示意图;图9为本发明的保留组播流的时移方法交互过程图;图10为合并两个单播流开始的示意图;图11为合并两个单播流一个阶段的示意图;图12为合并两个单播流另一个阶段的示意图;图13为合并两个单播流完成的示意图。
具体实施例方式
以下对本发明的较佳实施例加以详细说明。
本发明的基本思想是STB可获得足够的存储空间来存储足够长的正在观看的直播媒体信息,在此基础上实现STB本地的时移功能,尽量不让媒体服务器产生新的单播媒体流,以及媒体服务器利用STB的本地时移功能在可行的时候合并多个时移单播媒体流为一个时移组播媒体流,以减轻媒体服务器的负担。IPTV机顶盒可以支持PVR(Private Video Record,个人视频录像),PVR需要的存储体可以是STB本身拥有的,例如硬盘,也可以是通过通信接口从用户网络中其它设备获得的,例如外置的PVR专用存储设备。只要STB有PVR功能,就可以从其PVR存储体中分配一部分空间用作本地时移功能。即使STB没有PVR功能,也可以使用足够多的内存,或者内置的闪存,或者使用一个硬盘作为本地时移所需的存储器。STB也可以通过通信接口从用户网络中其它设备获得本地时移功能所需存储空间,除了前面所说的PVR存储设备,局域网络中用于存储大量媒体内容并提供相关服务的媒体服务中心、或者专门为其它设备提供存储服务的存储设备都可以向STB提供必要的存储空间。STB还可以使用移动介质所提供的存储空间实现本地时移功能,例如基于随机存取存储器的PCMCIA卡,或基于闪存的存储卡或U盘,或移动硬盘。当STB本地时移功能所需存储空间不能获得时,STB的时移功能就蜕化成完全由媒体服务器实现。
不管STB本地时移功能所需存储空间来自何处,这样的存储空间这里称为时移缓冲区。
由此,本发明提供了一种交互式网络电视的时移系统,其包括至少一具有时移缓冲功能的机顶盒和至少一媒体服务器,所述机顶盒与所述媒体服务器通过网络连接,所述时移缓冲功能采用时移缓冲区实现。所述时移缓冲区是可提供存储空间的设备所提供的存储空间。所述时移缓冲区可以设置在机顶盒的内部或外部。所述时移缓冲区设置在机顶盒的内部时,所述时移缓冲区可以是随机存取存储器、快速闪存或硬盘等可用介质。所述时移缓冲区设置在机顶盒的外部时,其与所述机顶盒通过网络连接或专用接口连接。所述可提供存储空间的设备是计算机、局域网络媒体中心、网络存储设备或个人视频录制设备。所述时移缓冲区与所述机顶盒的连接方式包括以太网连接、WiFi连接、PLC连接或USB连接等,本发明不限制具体的连接方式,只要能够实现本发明所述时移缓冲区与所述机顶盒的连接,均应认为属于本发明所述连接方式的范畴。所述机顶盒可以从所述能提供存储空间的设备获得所需的存储空间,例如机顶盒具备实现在网络中搜索可用外部存储空间的功能,并且所述能提供存储空间的设备具备实现响应此搜索的功能,并可以根据机顶盒的指示分配存储空间。
由此,本发明提供了一种交互式网络电视的时移方法,其用于具有本地时移缓冲区的机顶盒及媒体服务器系统中,如附图1所示,其主要步骤包括A1、机顶盒从媒体服务器接收并播放直播组播媒体流,同时将直播组播媒体流的数据缓存到时移缓冲区;A2、当进行时移播放时,机顶盒判断时移后所播放媒体内容是否存在于时移缓冲区,是则执行步骤A3,否则执行步骤A4;A3、机顶盒从时移缓冲区取出内容进行播放,不执行后续步骤;A4、机顶盒向媒体服务器申请创建单播媒体流后播放单播媒体流。
机顶盒为所述用户播放时移单播媒体流过程中,当用户进行快进操作时,步骤A3还包括快进后所播放内容存在于时移缓冲区,则播放缓冲区的内容,否则播放组播流的内容。
机顶盒为所述用户播放时移单播媒体流过程中,当用户进行快进操作时,步骤A4还可以包括步骤所述机顶盒判断当前媒体流数据在时移缓冲区中是否存在;当用户快进操作后,当前媒体流数据已经存在于时移缓冲区中,则机顶盒从时移缓冲区取出内容进行播放;否则媒体服务器继续向机顶盒播放单播媒体流。
步骤A1所说的组播媒体流缓冲方法如下当机顶盒从媒体服务器接收并播放组播媒体流,同时将所述组播媒体流的数据缓存到时移缓冲区时;假设时移缓冲区可支持最多录制T秒钟的节目,机顶盒判断接收的媒体流数据是否超过T秒;如果没有超过T秒,则继续存储媒体流数据到时移缓冲区;当接收的媒体流数据超过T秒时,机顶盒按进入时移缓冲区的时间顺序丢弃时移缓冲区中最早的媒体流数据。
如附图2所示的时移缓冲区,内容从缓冲区的右侧进入,左侧移出,并设缓冲区中存储的内容为t秒,t<=T,这是用户正常欣赏直播节目没有作过时移操作的情况,说明如下201)来自媒体服务器的直播媒体流从右侧进入时移缓冲区,直播媒体流是一个组播流;202)在这种情况下,缓冲区的最右端对应的就是当前节目正在直播的时间点;203)在这种情况下,用户正在欣赏的时间点就是当前节目正在直播的时间点,它就在缓冲区右端;204)缓冲区内存储了最近t秒的节目内容,t最大为T。缓冲区内的内容随着新的内容的进入而向左移动,超出T秒的早期内容从左端移出丢弃;205)缓冲区的最左端对应的是T秒以前的直播内容;206)T秒以前的节目内容被移出了缓冲区,它们被丢弃了。
在步骤A2中,用户进行了时移操作,即定位或快退。为了描述方便,对于快退操作,可以理解为多次直接定位操作的组合,每次向后时移一小段时间,则快退过程可以看成是一连串的定位过程,这里只描述每次定位后的情况。假设时移时间即定位后播放时间点与当前直播时间点的差值为s,则根据s与步骤A1中t的关系有不同的处理。如果s<=t(即s小于等于t,下同),STB进行完全本地时移播放,否则STB向媒体服务器申请一个时移单播流进行播放。
步骤A3就是s<=t时的完全本地时移播放,具体描述如下在时移操作后,STB从缓冲区中离缓冲区右端s秒的地方开始取其内容播放,来自网络的直播组播媒体流继续进入缓冲区,此时STB不需要与媒体服务器交互,媒体服务器也不为用户产生一个单播流。附图3所示为在时移缓冲区内的完全本地时移的情况,说明如下。
301)来自媒体服务器的直播组播媒体流继续从右侧进入时移缓冲区。
302)缓冲区的最右端仍然对应的是当前节目正在直播的时间点。
303)用户正在欣赏的时间点向后移了s秒,但没有落在录制的t秒节目内容之外,因此欣赏的内容是缓存器中的内容。在时移时间点t和当前直播时间点之间的快进、快退都和媒体服务器无关。
304)缓冲区仍存储的是最近t秒的节目内容,如果开始时移时t<T,则t可以继续增长到T。
305)缓冲区的最左端对应的仍然是T秒以前的直播内容。
306)如果t=T,T秒以前的节目内容被移出了缓冲区,它们被丢弃了。
当s>t即时移时间比时移缓冲区中缓存的最早内容还要早时,STB不得不向媒体服务器申请一个时移的单播流,即步骤A4。这时STB根据自身能力会有不同的做法。须作说明的是,STB可能仅具有接收和处理一个媒体流的能力,也可能具有接收和处理多个媒体流的能力,例如一个用户正在欣赏的媒体流和另一个按照用户预定正在录制的媒体流,通俗的说就是STB正在接收两个频道的媒体数据。甚至STB可以同时接收更多频道的数据,多个频道同时录制,并且/或通过画中画功能同时欣赏两个频道的节目。不管怎样,STB能同时接收和处理的媒体流个数是有限的,这不仅局限于STB自身的处理能力,还依赖于接入网络分配给用户局域网络的带宽。根据STB自身能力的不同,本发明提供了不同的实现方法。
当STB时移到录制节目内容外时,STB向服务器请求时移的节目内容,告知服务器时移时间s。当然实际消息中肯定还包含用户的识别符例如STB的地址、媒体流的识别符号例如频道等,这些都是隐含的,以下不再重复。至于时间信息可以是相对当前直播时间的相对时间值即s,也可以是绝对时间点,本发明不指定具体形式。服务器收到请求后将为此STB创建一个单播流。
如果STB不能再增加一个媒体流,在成功向媒体服务器申请时移单播流之后就退出直播的组播组。同时,所述机顶盒也就停止录制组播媒体流数据进入时移缓冲区。时移后的STB内部初始情况如附图4所示,具体说明如下。
401)不再接收来自媒体服务器的直播组播媒体流。
402)当前直播时间点暂时还在缓冲区右端。
403)在这种情况下,用户正在欣赏的时间点向后移了s秒,s>t,它落在了缓冲区缓存的内容之外。
404)因为STB退出了直播组播组,缓冲区中存储的内容不再变化。
405)时移后的单播流时间位置即当前欣赏点位于缓冲区外。
由于时移缓冲区中的内容不变,随着单播流的播放,对应的单播播放时间点逐步右移,最终会落到缓冲区录制的节目内容范围内,因此,本发明采用方法所述机顶盒判断所访问的当前媒体流数据在时移缓冲区中是否存在;不存在则继续为所述用户播放单播媒体流;如果存在,则所述机顶盒为所述用户播放在时移缓冲区中的所述当前媒体流数据。具体如附图5所示,说明如下。
501)仍然不接收媒体服务器的直播组播媒体流。
502)这时,当前直播时间点不再指向时移缓冲区的最右端,它右移了。
503)这时,时移欣赏时间点落到缓冲区录制的内容范围内,STB可以取缓冲区中的内容播放,也可以继续取单播流中的内容播放,两者是一样的。当时移缓冲区中没有存储过内容或存储的内容很少,STB仍然取单播媒体流的内容播放。
504)这时单播流传送的内容实际上已存在于缓冲区中。
505)如果用户在时移欣赏中作过快进操作,此时的时移时间s小于初始时移值。
如附图5所示,单播流与缓冲区中的内容一致时,服务器是可以不用在这段时间内传送单播流的,服务器可以在STB请求时移单播流的响应中要求STB将单播流时间点进入缓冲区内容范围内时将此事件通知服务器,即所述机顶盒给媒体服务器发送停播单播媒体流的通知。此通知中包括一个媒体流精确的时间标签,服务器能据此知道从哪一个报文开始不必向STB发送,即暂时停止单播流。
在没有收到服务器要求通知停播单播流的情况下,STB可以向媒体服务器发送停播通知,也可以不发送。而如果服务器明确要求STB发送停播单播流的通知,当STB具备发送该通知的能力时,STB可以发送此通知,也可以不发送此通知,这由STB的能力决定。
当服务器收到STB的停播单播流通知时,服务器就从指定的媒体帧开始停止向STB发送单播流。STB将从自己的缓冲区中取出媒体帧播放。
在上述情况下,如果STB播放完了缓冲区中的内容,必须向服务器请求恢复单播流播放,同样,这个请求中应该包括精确的时间标签,以便服务器所发媒体帧能和STB缓冲区中的内容衔接上。为了不产生停顿,STB应该适当提前发出请求。这个提前时间是与STB的时延抖动缓冲区和网络时延相关的,新的单播流首帧数据必须在时移缓冲区内的内容播放完之前到达STB,但又不导致时延抖动缓冲区溢出。
服务器收到恢复单播流的请求后就恢复向STB发送单播流,并且STB开始录制单播流内容到缓冲区,此时STB的情况见附图6。推而广之,一旦单播流内容能与缓冲区右端衔接上,STB应该开始继续录制新的内容到时移缓冲区。如果时移之前时移缓冲区中就没有内容或因为内容很少因而STB视之为没有内容,意味着单播流的内容是与时移缓冲区内容能衔接的,这是一种特殊情况,STB应该录制单播流内容到时移缓冲区。
附图6即STB缓冲区中的内容播放完毕后恢复单播流播放的方法的说明如下601)STB仍然不接收直播的组播流。
602)直播时间点仍然远离缓冲区。
603)现在的欣赏点在缓冲区右端,内容取自单播流。
604)单播流的内容与缓冲区中的内容衔接,并录制到缓冲区中,因此缓冲区中内容再次开始变化。
在图4的情况下,用户也可以快退,回到图4的状态。在图6的情况下,用户也可以快退,回到图5或图4的状态。
本方法增加了STB与媒体服务器之间的交互,并且媒体数据在缓冲区内容和单播流之间切换时,需要考虑以正常速度欣赏的情况下的平滑性,以免画面抖动,降低用户体验。
本方法临时删除组播流的时移方法的交互过程如附图7所示,说明如下701、正常情况下,媒体服务器向STB传送直播的组播媒体流;702、用户欣赏直播的节目;703、用户时移s秒,s>t;704、STB向媒体服务器请求时移;705、媒体服务器创建时移的单播流,STB退出组播组,此时STB不再收到组播流;服务器可能在这时要求STB在必要时向服务器发送暂停单播流的通知;所谓必要,是指单播媒体流的内容与STB缓冲区中的内容一致时,不论欣赏点是正常播放或快进时从左侧进入缓冲区还是快退时从右侧进入缓冲区;706、媒体服务器向STB发送时移s秒的单播流;707、用户欣赏时移s秒的节目;708、用户可能在这时做快进操作;709、STB将快进指令发给媒体服务器,通过媒体服务器实现内容的快进;710、在快进或正常速度欣赏的情况下,欣赏点逐步移到时移缓冲区内;711、STB通知媒体服务器停止单播流,可选;不管是否之前收到服务器的要求,STB都可以发送此通知;712、媒体服务器收到暂停单播流的通知时停止单播流,这是可选的,但如果是服务器要求STB发送暂停单播流通知的,服务器必须暂停此单播流;713、如果单播流暂停了,这时用户欣赏到的内容来自时移缓冲区;714、用户可能继续快进或以正常速度欣赏节目;715、时移缓冲区中的内容播放完了,即欣赏点移出了缓冲区;716、如果单播流之前被暂停,STB向媒体服务器请求恢复时移的单播流,此时的时移时间不一定是原来的s了,例如做过快进快退操作;717、媒体服务器通知STB恢复了时移的单播流,但是这样的通知不是必须的;718、媒体服务器传送时移的单播流;719、用户继续欣赏时移的节目,这时来自单播流的内容也录制到时移缓冲区,缓冲区中的内容仍然是连续的最近t秒的内容,只不过这时所谓的“最近”是相对于时移单播流的;720、用户快进;721、STB将快进指令发给媒体服务器,通过媒体服务器实现内容的快进;722、媒体服务器发现快进到了当前直播时间点;723、媒体服务器通知STB删除了单播流,这个通知不是必须的;STB加入直播组播组,考虑到传输延时和网络结点延时,这个加入操作应该适当提前,这需要STB预测快进操作将到达当前直播时间点。
724、媒体服务器恢复向STB传送组播的媒体流,这是时移缓冲区录制的内容来自组播流;725、用户欣赏直播的节目。
在步骤720,用户进行快进一段时间然后继续正常的欣赏,此时STB的时移缓冲区录制不到快进过程中连续的节目内容,时移缓冲区已录制的内容应丢弃。
在步骤A4,如果STB可再增加一个媒体流,当时移时间s大于缓冲区存储的节目时长t时,STB不必退出直播组播组,此时时移的单播流和直播的组播流同时存在。此方法时移操作后STB的初始情况如附图8所示,说明如下。
801)来自媒体服务器的直播组播媒体流继续从右侧进入时移缓冲区。
802)在这种情况下,缓冲区的最右端仍然对应的是当前节目正在直播的时间点。
803)在这种情况下,用户正在欣赏的时间点向后移了s秒,s>t,它落在了缓冲区之外。
804)缓冲区存储的是最近t秒的节目内容。
805)缓冲区的最左端对应的仍然是T秒以前的直播内容。
806)如果t=T,T秒以前的节目内容被移出了缓冲区,它们被丢弃了。
807)此时用户欣赏到的内容是一个单播流的内容。
在这种方法下,一旦单播流的内容在时移缓冲区中已存在,意即用户快进使s<t,则STB应主动通知服务器停止单播流,并从缓冲区取内容。如果STB未主动发送停止单播流的通知,则当STB快进到当前直播时间点时,服务器主动删除单播流,并通知STB切换到组播流。由于缓冲区录制的内容始终来自直播的组播流且组播流不停止,于是不存在上一方法中可能存在的缓冲区中内容断档的情况。并且,此时只要播放的内容存在于时移缓冲区,STB就可切换到时移缓冲区而通知媒体服务器停止单播流。整个保留组播流的时移方法交互过程如附图9所示,具体说明如下。
901、媒体服务器以组播流直播节目;902、用户正常地欣赏直播节目;903、用户要求时移s秒当前节目;904、STB发现s大于t,向媒体服务器发送时移请求,请求消息中应包含时移时间,以及其它必要信息。;905、媒体服务器为STB创建一个时移了s秒的单播流;906、由于STB没有从组播组中撤出,因此STB同时收到时移的单播流和直播的组播流;907、用户欣赏单播流的内容;908、用户快进;909、STB将快进指令发给服务器;910、媒体服务器判断是否快进到当前直播时间点,如果是,直接转步骤912;911、STB发现s<t,通知媒体服务器删除单播流,并从缓冲区取内容;912、服务器通知STB删除了单播流,这个通知不是必须的;913、服务器继续传送组播流;914、此时用户正常欣赏节目,可能还是处于时移状态,但s<t。
在步骤A4,如果用户始终以正常速度欣赏节目,而不再快进,则机顶盒始终播放时移单播流,时移缓冲区就失去意义,接收直播组播流也没有必要。此时,媒体服务器可利用机顶盒具有的本地时移功能,将时移时间相近的多个同源时移单播流合并为一个时移的组播流,机顶盒可以在时移缓冲区的辅助下维持正常的时移播放,而媒体服务器的负载则下降了。以下说明在本发明方法中,当用户固定时移欣赏节目,且s>T时,单播流的合并方法。
媒体服务器或STB必须能识别出这种情况。
可以由媒体服务器检测时移单播流持续的时间,然后决定是否将同源即同频道或同节目的时移单播流加入到一个同源时移组播组。在服务器进行合并操作前应从STB获得STB的能力,包括STB的时移缓冲区可支持的时移时长、是否可增加一个媒体流。这可以在步骤A4当机顶盒申请时移单播流的时候就随同时移时间一起发给媒体服务器,也可以在媒体服务器准备合并单播流时向机顶盒查询而得到。合并单播流的方法是删除时移单播流并创建时移组播流,并通知STB时移单播流已删除以及应加入的组播流。
也可以由STB检测时移单播流持续的时间,当这个持续时间超过一个阈值后,STB向媒体服务器发送一个事件,并将自己的能力发送给服务器。之后的事情由媒体服务器完成,与前面所描述的类似。所说的时移单播流持续的时间阈值在STB出厂有一个缺省值,在STB获得配置时可以重新设置这个值,当STB连接到媒体服务器时媒体服务器可以再次对此阈值进行设置,并且不同的媒体服务器可能设置不同的阈值,即不同的媒体服务器使用不同的阈值,它们互不影响。
综上所述,媒体服务器或STB识别上述情况的唯一条件就是,为STB创建的单播流持续以正常速度播放了一定的时间,例如5分钟。这个时间是从最近一次时移操作开始的,即任何快进、快退、暂停后的继续播放、定位时移即按时间直接跳转都应将这个持续时间归零,而在时移操作过程中不应计时。
需要说明的是,以下都是对于同源媒体流而言,不同源的媒体流是不能合并的。
对于一个时移单播流,如果存在一个时移组播流,这个时移组播流的时移时间小于这个时移单播流的时移时间,且它们的差值(指绝对值)小于这个时移单播流对应的STB的时移缓冲区可支持的时移时长,并且这个STB有能力增加一个媒体流的处理,则可将这个时移单播流合并到这个时移组播流。媒体服务器将所说的时移差值和所加入的时移组播组通知这个STB,STB收到通知后立即加入通知中的时移组播组,并将时移缓冲区清空,将来自时移组播流的内容录制到时移缓冲区,同时继续播放时移单播流的内容。在经过所说的时移差值后,媒体服务器删除这个时移单播流,而STB转而从时移缓冲区取内容播放。为了确保STB播放内容的连续,媒体服务器应该比所说的时移差值稍长的时间后再删除这个时移单播流(以下同)。
如果不存在上述的时移组播流,则媒体服务器检索两个时移时间相近的单播流。时移较大的那个单播流所对应的STB必须具有时移缓冲区,并且其时移缓冲区能支持的时移时长大于这两个时移单播流的时移差值。媒体服务器建立一个时移的组播流,该组播流的时移时间就是那个时移时间最小的单播流的时移时间。媒体服务器分别通知两个STB将删除其单播流和应加入的组播组。两个STB在收到通知后都立即加入到时移组播组。时移时间最小的那个STB在收到通知后立即切换到组播流,如果有时移缓冲区则将时移组播流的内容录制到时移缓冲区。时移时间较大的那个继续播放单播流的内容,但将组播流的内容录制到时移缓冲区,直到经过所说的时间差值后转而从时移缓冲区取内容播放。媒体服务器在通知STB之后立即删除时移时间最小的那个单播流,并在经过所说的时移差值之后删除另一个单播流。
以下示例以两个用户来进行说明,但是本发明方法可以应用于多用户环境中。例如A、B两个用户分别时移20分钟和23分钟欣赏同一个频道的节目,A、B的STB都具有本地时移缓冲区,它们缓冲区的大小不一定相同,但假设都小于20分钟且大于3分钟。合并时以时移时间最小的单播流为准,本例两个单播流合并后新的组播流为时移20分钟。对于B,新的组播流与其时移时间有3分钟的差距,因此服务器需要向B的STB继续发送单播流3分钟,同时B的STB也接收组播流。B的STB继续播放原单播流的内容,同时将组播流的内容保存到时移缓冲区,3分钟后,单播流停止,从缓冲区取内容播放。合并两个单播流一开始、1分钟后、3分钟后、4分钟后的情况分别如附图10、附图11、附图12、附图13所示。
附图10说明如下1001)合并后的时移了20分钟的组播流Sab发送到STB A和STB B。
1002)STB B的单播流Sb仍然继续发送给STB B,因此STB B此时接收两个媒体流,它们之间相差3分钟。
1003)A欣赏的内容开始取自组播流Sab。
1004)B欣赏的内容仍然取自单播流Sb。
过了1分钟后,如附图11所示,基本情况与附图10类似,不再赘述,但是A和B的STB中的缓冲区存了1分钟的内容,都是来自组播流Sab的。
又过了2分钟后,单播流Sb被删除了,如附图12所示,具体说明如下1201)组播流Sab继续传送到STB A和STB B。
1202)A的欣赏点就是组播流Sab的当前播放点,缓冲区中已经录制了3分钟的内容。
1203)B的欣赏点在缓冲区内,缓冲区中已经录制了3分钟的内容,此时单播流Sb删除了,STB从缓冲区中取内容播放。
单播流Sb删除1分钟后,如附图13所示,基本情况与附图12类似,不再赘述,只是STB的缓冲区中的内容又多了1分钟。需注意STB B的欣赏点指向缓冲区固定的位置,它离缓冲区右端的距离是3分钟的内容。
在上述描述的例子的基础上,如果有用户C时移同一频道22分钟或者24分钟,其STB时移缓冲区仅支持10分钟,则可以将其单播流并入Sab,新的组播流仍然时移20分钟,只是C的STB也加入这个组播组。
用户在时移组播的基础上重新时移,包括暂停、快退、快进,只要欣赏点还未移出时移缓冲区,则继续留在组播组里,而一旦其欣赏点移出时移缓冲区,则STB必须通知服务器为其另外创建单播流,并脱离那个组播组。这个过程和在直播的基础上进行时移是一样的,只是在STB接收时移组播流内容时可以快进到直播时间点,而不仅仅是时移组播流的当前播放点,只不过STB越过时移组播流的当前播放点之后必然离开这个组播组。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
权利要求
1.一种交互式网络电视的时移方法,其用于具有本地时移缓冲区的机顶盒及媒体服务器系统中,其步骤包括A1、机顶盒从媒体服务器接收并播放组播媒体流,同时将所述组播媒体流的数据缓存到时移缓冲区;A2、当进行时移播放时,机顶盒判断时移后所播放媒体内容是否存在于时移缓冲区,是则执行步骤A3,否则执行步骤A4;A3、机顶盒从时移缓冲区取出内容进行播放,并且继续录制当前组播媒体流数据进入时移缓冲区;不执行步骤A4;A4、机顶盒向媒体服务器申请创建单播媒体流后播放所述单播媒体流。
2.根据权利要求1所述的时移方法,其特征在于,步骤A3还包括用户进行快进操作时,机顶盒判断快进后所播放内容存在于时移缓冲区,则播放缓冲区的内容,否则播放组播流的内容。
3.根据权利要求1所述的时移方法,其特征在于,步骤A4还包括步骤B1、媒体服务器检索所述时移单播媒体流可加入的时移组播媒体流,未找到可加入的时移组播媒体流,则执行步骤B2,否则执行步骤B4;B2、媒体服务器检索到可与所述时移单播媒体流合并的其它时移单播媒体流;B3、媒体服务器为可合并的时移单播媒体流建立时移组播媒体流;所述时移组播媒体流的起始时间点是所述可合并的时移单播媒体流中时移时间最小的单播媒体流的当前播放时间点;B4、媒体服务器通知正在接收所述可合并时移单播媒体流的机顶盒接收所述时移组播媒体流,并停止所述可合并的时移单播媒体流;其中当前时移播放时间点早于所述共同的时移组播媒体流当前播放时间点的机顶盒,继续接收并播放所述时移单播媒体流,并将所述时移组播媒体流的内容保存到时移缓冲区,直到所述时移单播媒体流播放时间点到达共同的时移组播媒体流起始时间点后,才开始播放所述时移组播媒体流,其内容取自所述机顶盒的时移缓冲区,同时停止所述单播媒体流。
4.根据权利要求3所述的时移方法,其特征在于,步骤B1之前还包括步骤机顶盒记录以正常速度时移播放单播媒体流的持续时间,判断所述持续时间达到设定值,将所述持续时间达到设定值的信息通知媒体服务器。
5.根据权利要求3所述的时移方法,其特征在于,步骤B1之前还包括步骤媒体服务器记录所述机顶盒以正常速度时移播放单播媒体流的持续时间,判断所述持续时间达到设定值。
6.根据权利要求1所述的时移方法,其特征在于,步骤A4在机顶盒向媒体服务器申请创建单播媒体流时,还包括步骤所述机顶盒将机顶盒能力信息通知所述媒体服务器;其中,所述机顶盒能力信息包括所述机顶盒能否增加一个媒体流的处理、所述时移缓冲区可支持的时移时间长度。
7.根据权利要求1所述的时移方法,其特征在于,步骤A1还包括步骤机顶盒判断接收的媒体流数据超过时移缓冲区的最大存储量,按进入时移缓冲区的时间顺序丢弃时移缓冲区中最早的媒体流数据,同时录制当前媒体流数据进入时移缓冲区。
8.根据权利要求1所述的时移方法,其特征在于,机顶盒为所述用户播放时移单播媒体流过程中,当用户进行快进操作时,步骤A4还包括步骤所述机顶盒判断当前媒体流数据在时移缓冲区中是否存在,是则执行步骤A3;否则继续执行步骤A4。
9.根据权利要求1所述的时移方法,其特征在于,步骤A4还包括步骤所述机顶盒撤出组播组,停止录制组播媒体流数据进入时移缓冲区。
10.根据权利要求1所述的时移方法,其特征在于,步骤A4还包括步骤所述机顶盒留在组播组,继续录制组播媒体流数据进入时移缓冲区。
11.根据权利要求1所述的时移方法,其特征在于,步骤A4还包括步骤C1、所述机顶盒判断所访问的当前媒体流数据在时移缓冲区中是否存在,否则播放单播媒体流,不再执行后续步骤;C2、所述机顶盒给媒体服务器发送停播单播媒体流的通知;C3、所述机顶盒播放在时移缓冲区中的所述当前媒体流数据。
12.根据权利要求11所述的时移方法,其特征在于,步骤C1之前还包括步骤所述机顶盒撤出组播组,停止录制组播媒体流数据进入时移缓冲区;则步骤C3还包括步骤D1、所述机顶盒判断所访问的当前媒体流在时移缓冲区中的数据已经播放完毕;D2、机顶盒给媒体服务器发送恢复发送单播媒体流的通知,所述通知包括单播媒体流的接续点;D3、媒体服务器为所述机顶盒发送单播媒体流,机顶盒录制单播媒体流数据进入时移缓冲区。
13.根据权利要求12所述时移方法,其特征在于步骤D3还包括用户进行快进操作,所述机顶盒判断播放数据存在于所述时移缓冲区,则播放时移缓冲区中的内容,否则加入直播组播组,播放直播组播组的内容,并通知媒体服务器删除所述时移单播流,直播组播组的内容继续录制到时移缓冲区。
14.一种交互式网络电视的时移系统,其特征在于,其包括至少一具有时移缓冲功能的机顶盒和至少一媒体服务器,所述机顶盒与所述媒体服务器通过网络连接,所述时移缓冲功能采用时移缓冲区实现。
15.根据权利要求14所述的时移系统,其特征在于,所述时移缓冲区是可提供存储空间的设备所提供的存储空间。
16.根据权利要求15所述的时移系统,其特征在于,所述时移缓冲区设置在机顶盒的内部。
17.根据权利要求16所述的时移系统,其特征在于,所述时移缓冲区是随机存取存储器、闪存或硬盘。
18.根据权利要求15所述的时移系统,其特征在于,所述时移缓冲区设置在机顶盒的外部,其与所述机顶盒通过网络连接或专用接口连接。
19.根据权利要求18所述的时移系统,其特征在于,所述可提供存储空间的设备是基于随机存取存储器或闪存的移动存储设备、移动硬盘、计算机、局域网络媒体中心、局域网络存储设备或个人视频录制设备。
全文摘要
本发明提供了一种交互式网络电视的时移方法,用于具有本地时移缓冲区的机顶盒及媒体服务器系统中,包括步骤A1.机顶盒从媒体服务器接收并播放组播媒体流,同时将组播媒体流的数据缓存到时移缓冲区;A2.当进行时移播放时,机顶盒判断时移后所播放媒体内容是否存在于时移缓冲区,否则执行步骤A4;A3.机顶盒从时移缓冲区取出内容进行播放,不执行后续步骤;A4.机顶盒向媒体服务器申请创建单播媒体流后播放单播媒体流。本发明还提供了一种交互式网络电视的时移系统。通过将组播媒体流数据存储在与机顶盒相连接的时移缓冲区,实现了机顶盒的本地时移功能,从而减轻媒体服务器的负荷,使得媒体服务器支持更多同时发生的时移用户数量。
文档编号H04N5/00GK101094378SQ20061006126
公开日2007年12月26日 申请日期2006年6月21日 优先权日2006年6月21日
发明者丁志明 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1