一种网络电视时移处理方法、系统和装置转让专利

申请号 : CN200710166596.2

文献号 : CN101431657B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨锦春

申请人 : 华为技术有限公司

摘要 :

本发明提供一种网络电视时移处理方法,包括以下步骤:接收发生时移后的用户终端的播放命令;根据所述用户终端的播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与服务器的组播传输进程一致;将所述播放命令对应的媒体流通过单播传输给所述用户终端;当所述单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。本发明实施例能够通过解析用户在时移状态后的播放行为,调整服务器对该用户的单播传输速率,使其传输的媒体流能够逐渐与组播传输的保持一致,从而最终将单播传输信道删除,达到节省带宽的目的。

权利要求 :

1.一种网络电视时移处理方法,其特征在于,包括以下步骤:接收发生时移后的用户终端的播放命令;

根据所述用户终端的播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与服务器的组播传输进程一致;

将所述播放命令对应的媒体流通过单播传输给所述用户终端;

当所述单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。

2.如权利要求1所述的网络电视时移处理方法,其特征在于,所述根据所述用户终端的播放命令调整对所述用户终端的单播传输速率,具体包括:判断接收的所述播放命令是否是在导致进入时移状态的命令之后的正常播放命令;

如果所述播放命令是在导致进入时移状态的命令之后的正常播放命令,则根据所述用户终端的播放命令应用速率调整策略;

根据所述速率调整策略调整所述用户终端的单播传输速率。

3.如权利要求1所述的网络电视时移处理方法,其特征在于,根据用户终端的播放命令调整对所述用户终端的单播传输速率具体为:为所述用户终端选择启动时间与所述用户终端发送所述播放命令时间最接近的组播组;

根据所述发送播放命令的时间与所述组播组启动传输时间的时间差设置相应的速率调整策略;

根据所述速率调整策略调整对所述用户终端的单播传输速率;

所述将对所述播放命令对应的媒体流切换到组播进行传输具体为:将所述播放命令对应的媒体流切换到所述选择的组播组进行传输。

4.如权利要求2或3所述的网络电视时移处理方法,其特征在于,所述速率调整策略包括正常倍速、快速播放、慢速播放或智能播放中的一种或多种。

5.如权利要求1所述的网络电视时移处理方法,其特征在于,在对所述播放命令对应的媒体流切换到组播进行传输之后,还包括:删除单播传输信道。

6.一种网络电视时移处理系统,其特征在于,包括服务器和至少一个用户终端,所述用户终端,用于向所述服务器发送播放命令;

所述服务器,用于根据所述播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与所述服务器的组播传输进程一致,同时将所述播放命令对应的媒体流通过单播传输给所述用户终端,并在所述用户终端的单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。

7.一种服务器,其特征在于,包括命令接收模块、单播播放处理模块和组播切换模块,所述命令接收模块,用于接收发生时移的用户终端的播放命令;

所述单播播放处理模块,用于根据所述播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与所述服务器的组播传输进程一致,并将所述用户终端请求的媒体流通过单播传输给所述用户终端;

所述组播切换模块,用于在所述单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。

8.如权利要求7所述服务器,其特征在于,所述单播播放处理模块包括判断子模块和速率调整策略确定子模块,所述判断子模块,用于判断所述播放命令是否是在导致进入时移状态的命令之后的正常播放命令;

所述速率调整策略确定子模块,用于在所述判断子模块判断是在导致进入时移状态的命令之后的播放命令时,根据所述用户终端的播放命令确定对应的速率调整策略,并根据所述速率调整策略调整所述时移用户终端的单播传输速率。

9.如权利要求7所述服务器,其特征在于,还包括轮播服务器模块,用于以固定的时间间隔向不同的组播组发送同一媒体流。

10.如权利要求9所述服务器,其特征在于,所述单播播放处理模块包括组播组确定子模块和速率调整策略设置子模块,所述组播组确定子模块,用于选择启动时间与用户终端发送所述播放命令时间最接近的组播组;

所述速率调整策略设置子模块,根据所述选择的组播组的播放时间与播放命令的接收时间设置所述速率调整策略,根据所述速率调整策略调整对所述用户终端的单播传输速率。

11.如权利要求7所述服务器,其特征在于,还包括单播信道删除模块,用于在所述组播切换模块将所述播放命令对应的媒体流切换到组播进行传输后,删除单播传输信道。

说明书 :

一种网络电视时移处理方法、系统和装置

技术领域

[0001] 本发明涉及通信技术领域,特别是一种网络电视时移处理方法和装置。

背景技术

[0002] 在通信技术日新月异的发展过程中,IPTV(网络电视)逐步深入到人民的生活之中。IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。用户在家中可以有两种方式享受IPTV服务:计算机或网络机顶盒+普通电视机。它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。IPTV既不同于传统的模拟式有线电视,也不同于经典的数字电视。因为,传统的和经典的数字电视都具有频分制、定时、单向广播等特点;尽管经典的数字电视相对于模拟电视有许多技术革新,但只是信号形式的改变,而没有触及媒体内容的传播方式。IPTV是利用宽带有线电视网的基础设施,以家用电视机作为主要终端电器,通过互联网络协议来提供包括电视节目在内的多种数字媒体服务。因此IPTV是一种全新的业务形态,是集传统电视节目、互联网信息服务、增值业务服务于一体的融合性业务,同时也是未来数字家庭的真正切入点。而随着其发展,用户会逐渐将IPTV平台认可为其未来家庭业务的一个娱乐、服务中心。而IPTV本身的架构也决定了其必然要向这个方向发展。
[0003] 在IPTV业务中,为了保证一定的清晰度,通常将媒体内容进行压缩编码,然而编码后的媒体码率仍然较高。为了节省传输带宽,媒体流是通过组播技术传输来实现。但是,用户在观看IPTV时,有时会暂停、后退等,然后按播放继续观看。为了保持用户观看的连续性,在IPTV系统中,会把用户的这种行为作为“时移”操作来处理。
[0004] 现有技术的时移操作是:准备一套供点播用的文件,内容与直播内容一致。正常观看直播内容的用户收到的是通过组播技术传输的节目,当用户要求时移时,系统将用户的请求转换为一个访问文件特定位置的点播要求。系统根据用户请求中的断点信息,在媒体文件中找到相应的位置,将后续的节目流以单播技术传输给用户。
[0005] 关于实现IPTV时移的方法,现有技术中有如下方法:用户时移后,服务器通过单播技术持续传输。用户后续的操作均针对点播文件,这就意味着服务器需要对每个时移用户终端都建立一条单播传输信道。该方法的缺点在于随着时移用户数量的增加,系统带宽的消耗也随之逐渐增大,系统性能将大大降低。

发明内容

[0006] 本发明的主要目的在于提供一种网络电视时移处理方法和装置,在无需用户干预的情况下能够自动让用户自动重新切换到组播播放,解决现有技术中因为长期存在单播持续传输,而导致系统带宽消耗增大,系统性能降低的技术缺陷。
[0007] 本发明实施例提出一种网络电视时移处理方法,包括以下步骤:接收发生时移后的用户终端的播放命令;根据所述用户终端的播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与服务器的组播传输进程一致;将所述播放命令对应的媒体流通过单播传输给所述用户终端;当所述单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。
[0008] 本发明实施例还提出一种网络电视时移处理系统,包括服务器和至少一个用户终端,所述用户终端,用于向所述服务器发送播放命令;所述服务器,用于根据所述播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与所述服务器的组播传输进程一致,同时将所述播放命令对应的媒体流通过单播传输给所述用户终端,并在所述用户终端的单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。
[0009] 本发明实施例还提出一种服务器,包括命令接收模块、单播播放处理模块和组播切换模块,所述命令接收模块,用于接收发生时移的用户终端的播放命令;所述单播播放处理模块,用于根据所述播放命令调整对所述用户终端的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与所述服务器的组播传输进程一致,并将所述用户终端请求的媒体流通过单播传输给所述用户终端;所述组播切换模块,用于在所述单播传输进程与所述组播传输进程一致时,将所述播放命令对应的媒体流切换到组播进行传输。
[0010] 与现有技术相比,本发明实施例能够通过解析用户在时移状态后的正常播放命令,判断是否需要根据该正常播放命令对单播传输速率进行调整,使其能够在不影响用户收看的情况下使其传输的媒体流能够逐渐与组播传输的保持一致,从而最终将单播传输信道删除,达到节省带宽,优化系统性能的目的。

附图说明

[0011] 图1为本发明实施例一的网络电视时移处理方法流程图;
[0012] 图2为本发明实施例二的网络电视时移处理方法流程图;
[0013] 图3为本发明实施例网络电视时移处理系统结构图。

具体实施方式

[0014] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
[0015] 如图1所示,为本发明实施例一的网络电视时移处理方法流程图,该实施例中能够根据用户终端的命令组合确定相应的速率调整策略,并根据速率调整策略对当前的单播传输速率进行调整,使其能够尽快与组播传输速率保持一致,从而切换到组播进行传输。例如如果用户在按暂停键后又按播放键,那么就将用户的传输速率适当提高使其能够与组播保持一致,进行实时放送。其中上述用户终端可以是STB(Set Top Box,机顶盒)、手机或PC终端等能够进行IPTV播放的终端设备。该实施例包括以下步骤:
[0016] 步骤S101,用户终端向服务器发送请求命令,服务器会返回对该请求命令的响应,并相应的向用户终端传送用户终端请求的媒体。
[0017] 步骤S102,在收到用户终端暂停、快退或后拖等导致进入时移状态的命令后,服务器判断该用户终端出现时移。
[0018] 步骤S103,服务器接收时移用户终端的播放命令。为了便于对该实施例的理解,下面对IPTV中的命令进行简述,常见的应用于IPTV的请求和响应命令的协议为RTSP协议。其中,RTSP由消息头和消息体构成,消息头中除了定义命令名称之外,还定义了一些与该命令相关的属性。在RTSP协议里,暂停由RTSP_PAUSE命令实现;播放由RTSP_PLAY命令实现,该命令消息的Scale属性为1;快退操作也可由RTSP_PLAY命令实现,但该命令消息的Scale属性为一个非0的有理数,例如Scale=-3.5表示用户终端要求以3.5倍相对于正常播放的速度快退。
[0019] 步骤S104,服务器判断所述播放命令是否是在暂停、快退或后拖等导致进入时移状态的命令之后的播放命令,即判断是否在步骤S102后接收到RTSP_PLAY命令。如果服务器收到的正常播放命令是在暂停、前进或后拖等导致进入时移状态的命令之后,那么服务器就默认为需要调整单播传输速率,使得通过单播传输一定时间后单播传输进程能够与所述服务器的组播传输进程一致。
[0020] 步骤S105,由于快退操作也可由RTSP_PLAY命令实现,因此在收到RTSP_PLAY命令之后还需要检测其Scale参数是否为1。如果Scale参数不为1,表示用户可能在按“快进”或“快退”键,则系统以媒体服务器默认的处理方式进行处理。当Scale参数为1,系统则以预设的策略修改Scale值。
[0021] 步骤S106,如果是暂停命令之后的播放命令且Scale值为1,则根据用户终端的播放命令确定对应的速率调整策略。作为一个优选实施例,本发明提出的速率调整策略如下表所示:
[0022] 表1单播播放速率调整策略
[0023]速率调整 特点 实现方法
策略
正常倍速 服务器以正常倍速 RTSP_PLAY命令的Scale=1
播放媒体内容
快速播放 以一个恒定的的速度播放, RTSP_PLAY命令的Scale为预
播放速度是一个有理数 设的有理数。
智能加速 在一个预置的时间内 单播播放速度:RTSP_PLAY命
追上组播播放 令的Scale参数为:
1+(当前组播媒体帧号-当前单
播媒体帧号)/单帧播放时间

[0024] 步骤S107,根据预设的速率调整策略修改Scale值,从而指导单播以预设的速率调整策略快速播放,将用户终端请求的媒体流通过单播传输给用户终端。例如速率调整策略为快速播放,且Scale值为1.5,则单播将以1.5倍的速率进行快速播放,其中Scale值的设置以不影响用户收看为宜。
[0025] 步骤S108,当单播传输进程与服务器的组播传输进程一致时,服务器将对播放命令对应的媒体流切换到组播进行传输,并删除单播传输信道。
[0026] 通过上述实施例能够根据用户输入的正常播放命令对单播进行快速播放,并在单播播放追上组播播放时,将媒体流切换到组播进行传输,并删除单播传输信道,从而达到节省带宽的目的。
[0027] 如图2所示,为本发明实施例二的网络电视时移处理方法流程图。在该实施例中采用轮播服务器的发送组播组的方式,为用户终端选择开始播放时间最接近的组播组使其加入,这样需要调整用户单播播放的时间最短,因此对用户产生的影响也最小。
[0028] 步骤S201,轮播服务器以固定的时间间隔向不同的组播组发送同一个媒体内容,并为每个组播组对应一个组播链接。但是对于用户来说服务器对于一个特定媒体只为该用户提供一个媒体链接,用户在点击该媒体链接后由服务器选择该用户应当加入哪个组播组,然后在根据该组播组对应的组播链接进行接入。
[0029] 步骤S202,服务器接收发生时移的用户终端的播放命令。由于用户终端在进行播放时已经发生了时移,无法与正常播放的组播保持一致。因此服务器需要通过单播方式向用户传送用户终端请求的媒体。
[0030] 步骤S203,服务器根据用户终端发送播放命令的时间,选择与用户终端发送所述播放命令的时间最接近的组播组。作为本发明的一个实施例,具体为:服务器读取接收用户播放命令的当前时间t,查找最接近的组播组的开播时间T,其中查找相应组播组的开播时间T优选可采用快速查找算法进行,如二分法等。计算开播时间T与接收命令的当前时间t的差值,如计算min|t-T|。从而根据开播时间T与接收命令的当前时间t的差值的最小值确定相应的最接近的组播组。
[0031] 步骤S204,服务器根据所述发送播放命令的时间与所述组播组播放时间差设置相应的速率调整策略。同样在该实施例中速率调整策略也可为正常倍速、快速播放或智能播放。通过设置速率调整策略从而使得通过单播传输一定时间后单播传输进程能够与所述服务器的组播传输进程一致。
[0032] 步骤S205,根据速率调整策略设置RTSP_PLAY命令的Scale值。具体为首先根据组播组开播时间T与接收命令的当前时间t的差值的正负,若判断t-T为正,则说明用户播放时间早于确定的组播组的开播时间,因此设置Scale为负数减慢播放速度;若判断t-T为负正,则说明用户播放时间晚于确定的组播组的开播时间,因此设置Scale为正数加快播放速度。
[0033] 步骤S206,服务器根据当前用户RTSP_PLAY命令对应的Scale值调整单播的播放速度,将用户终端请求的媒体流通过单播传输给用户终端。
[0034] 步骤S207,当所述单播传输进程与组播组的组播传输进程一致时,服务器将对所述用户终端的媒体流切换到服务器选择的组播组进行传输,并删除单播传输信道。
[0035] 本发明上述实施例通过为请求播放的用户选择最接近的组播组,并根据组播组与当前用户请求的时间差对单播播放速度进行调整,从而在无需用户干预的情况下,使单播播放能够与组播播放保持一致,并在单播播放能够与组播播放保持一致时,将媒体流切换到组播进行传输,并删除单播传输信道,从而达到节省带宽的目的。
[0036] 如图3所示,为本发明实施例网络电视时移处理系统结构图,该系统包括服务器1和至少一个用户终端2,用户终端2用于向服务器1发送播放命令,其中上述用户终端2可以是STB、手机或PC终端等能够进行IPTV播放的终端设备;服务器1用于根据用户终端2发送的播放命令调整对用户终端2的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与所述服务器1的组播传输进程一致,同时将播放命令对应的媒体流通过单播传输给用户终端2,并在用户终端2的单播传输进程与组播传输进程一致时,将播放命令对应的媒体流切换到组播进行传输。
[0037] 其中,服务器1包括命令接收模块11、单播播放处理模块12和组播切换模块13。命令接收模块11用于接收发生时移的用户终端2的播放命令;单播播放处理模块12用于所述命令接收模块11接收到播放命令后,根据命令接收模块11接收的播放命令调整对用户终端2的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与服务器1的组播传输进程一致,并将用户终端2请求的媒体流通过单播传输给用户终端2;组播切换模块13用于在单播传输进程与服务器1的组播传输进程一致时,将对播放命令对应的媒体流切换到组播进行传输。
[0038] 其中,单播播放处理模块12包括判断子模块121和速率调整策略确定子模块122,判断子模块121用于判断所述播放命令是否是在暂停、快退或后拖等导致进入时移状态的命令之后的正常播放命令;速率调整策略确定子模块122用于在判断子模块121判断是在导致进入时移状态的命令之后的播放命令时,根据用户终端2的播放命令确定对应的速率调整策略,并根据所述速率调整策略调整时移用户终端2的单播传输速率,使得通过单播传输一定时间后单播传输进程能够与服务器1的组播传输进程一致。
[0039] 其中,服务器1还包括轮播服务器模块14,用于以固定的时间间隔向不同的组播组发送同一媒体流。
[0040] 其中,单播播放处理模块12包括组播组确定子模块123和速率调整策略设置子模块124,组播组确定子模块123用于选择启动时间与用户终端2发送播放命令时间最接近的组播组;速率调整策略设置子模块124根据选择的组播组的播放时间与播放命令的接收时间设置所述速率调整策略,调整对用户终端2的单播传输速率。
[0041] 其中,服务器1还包括单播信道删除模块15,用于在组播切换模块13将对用户终端2的媒体流切换到组播进行传输后,删除单播传输信道。
[0042] 通过上述实施例的网络电视时移处理系统,能够用户输入的正常的播放命令,判断是否需要根据该正常播放命令对单播传输速率进行调整,使其能够在不影响用户收看的情况下尽快与组播保持一致,从而将单播传输信道删除,达到节省带宽的目的。
[0043] 上述通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0044] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。