快速频道切换中快速推送单播流的方法和装置的制作方法

文档序号:7896679阅读:255来源:国知局
专利名称:快速频道切换中快速推送单播流的方法和装置的制作方法
技术领域
本发明涉及IPTV (Internet Protocol Television,网络协议电视)快速频道切换 领域,特别涉及一种快速频道切换中快速推送单播流的方法和装置。
背景技术
和传统的数字电视相比,IPTV存在频道切换时间长的缺点,快速频道切换方法可 以缩短频道切换时延。在快速频道切换过程中,服务器接收到STBGet Top Box,机顶盒)发送的快速频 道切换请求后,从最新I帧(intra picture,内部帧)的前一个I帧开始快速推送单播流。现有技术从最新I帧的前一个I帧开始快速推送单播流,突发流量较大,增加了带 宽需求;并且STB从最新I帧的前一个I帧开始解码,因此画面内容比最新的频道内容要 早,即快速频道切换后的内容比最新的频道内容滞后。需要将STB播放的频道内容从最新 I帧的前一个I帧同步到最新的频道内容,增加同步处理时间。

发明内容
为了减少突发流量和频道内容同步处理时间,本发明实施例提供了一种快速频道 切换中快速推送单播流的方法和装置。所述技术方案如下一种快速频道切换中快速推送单播流的方法,所述方法包括获取终端的组播加入时延;根据所述终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数 据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;根据报文缓存状态,判断所述最新I帧是否完整到达;如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量大于等于 所述最小值,从所述最新I帧开始快速推送单播流。一种快速频道切换中快速推送单播流的装置,所述装置包括获取模块,用于获取终端的组播加入时延;确定模块,用于根据所述终端的组播加入时延、解码速率、单播推送速率和解码所 需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;判断模块,用于根据报文缓存状态,判断所述最新I帧是否完整到达;推送模块,用于如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数 据量大于等于所述最小值,从所述最新I帧开始快速推送单播流。本发明实施例提供的技术方案带来的有益效果是通过根据终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数 据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;当最新I帧完整到 达、并且从最新I帧开始已到达的数据量大于等于最小值时,从最新I帧开始快速推送单播 流,相对于固定从最新I帧的前一个I帧开始快速推送单播流,在减小突发流量的同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的同时,降 低了带宽需求和频道内容的同步处理时间。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中 所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附 图获得其他的附图。图1是本发明实施例1中提供的快速频道切换中快速推送单播流的方法流程图;图2是本发明实施例2中提供的快速频道切换中快速推送单播流的方法流程图;图3是本发明实施例2中提供的RTCP XR扩展消息示意图;图4是本发明实施例2中提供的快速频道切换的信息交互图;图5是本发明实施例2中提供的报文缓存状态示意图;图6是本发明实施例3中提供的快速频道切换中快速推送单播流的装置结构示意 图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。实施例1参见图1,本实施例提供了一种快速频道切换中快速推送单播流的方法,该方法包 括101 获取终端的组播加入时延。其中,终端可以是STB,个人电脑,电视,或者手机、平板电脑等移动终端,本实施例 并不限定。102:根据该终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存 数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值。该快速单播流起始位置到最新报文位置之间数据量的最小值用于保证终端的缓 存中的数据量在经过上述组播加入时延之后仍然大于上述解码所需最低缓存数据量。上述 解码所需最低缓存数据量可以为零。103 根据报文缓存状态,判断该最新I帧是否完整到达。104 如果该最新I帧完整到达,并且从该最新I帧开始已到达的数据量大于等于 该最小值,从该最新I帧开始快速推送单播流。快速频道切换过程中,服务器接收到终端发送的快速频道切换请求后快速推送单 播流。所谓快速推送单播流是指推送单播流的速率大于原始速率,举例来说,为原始速率 的1.3倍。终端接收单播流并对单播流进行解码,解码速度基本相当于原始速率。当服务 器发现单播流追上(catch)组播流时,开始慢速推送单播流,并向终端发送组播报文同步 消息。所谓慢速推送单播流是指推送单播流的速率小于原始速率,举例来说,为原始速率的 0. 3倍速。服务器之所以慢速推送单播流,是为了给终端将要接收到的组播流留出足够的带宽,因此慢速推送的速率通常为快速推送的速率减原始速率,当然,其他速率和方式,例 如继续快速推送单播流,也是可以的。当终端收到组播报文同步消息后,向组播复制点发送 IGMP (Internet Group Management Protocol,因特网组管理协议)Join (加入)消息以请 求加入组播,准备接收组播流。由于解码速率大于慢速推送速率,终端解码并播放画面过程 中会不断消耗缓存中的数据,如果从发出IGMP Join消息(因为服务器开始慢速推送单播 流时,同时发送组播报文同步消息,所以通常终端发出IGMP Join消息时,也是开始接收慢 速推送的单播流的时刻)到终端接收到组播流之间的时延,即组播加入时延过大,缓存中 的数据量可能下溢(underflow),即减少到门限阈值以下甚至被完全清空,解码器没有足够 数据用以解码,从而播放画面会出现停顿或花屏的现象。本实施例通过根据终端的组播加入时延、解码速率、单播推送速率和解码所需最 低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;当最新I 帧完整到达、并且从最新I帧开始已到达的数据量大于等于最小值时,从最新I帧开始快速 推送单播流,相对于固定从最新I帧的前一个I帧开始快速推送单播流,在减小突发流量的 同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的 同时,降低了带宽需求和频道内容的同步处理时间。实施例2本实施例是在实施例1的基础上改进而来,参见图2,一种快速频道切换中快速推 送单播流的方法包括201 服务器获取终端的组播加入时延;具体的,接收终端发送的RTCP (Real-time Transport Control Protocol,实时传 输控制协议)XR(Extended R印ort,扩展报告)扩展消息,该RTCP XR扩展消息携带终端的 组播加入时延(IGMPJoinDelay)的相关信息。组播加入时延的相关信息可以是组播加入时 延,也可以是终端发送组播加入消息的时间和终端接收到第一个组播报文的时间,根据终 端发送组播加入消息的时间和终端接收到第一个组播报文的时间计算得到组播加入时延, 即终端发送组播加入消息的时间和终端接收到第一个组播报文的时间之间的时间间隔为 组播加入时延。上述的终端的组播加入时延为终端根据历史数据获得的。图3所示为RTCP )(R扩展消息的一个示例,其中,扩展的字段包括=IGMPanternet Group Management Protocol,因特网组管理协议)Join Delay,即组播加入时延;或者,扩 展的字段包括time of send igmp join禾口 time of first multicast burst,艮口终端发送 组播加入消息的时间和终端接收到第一个组播报文的时间。也可以同时包括上述三个扩展 字段。202:服务器根据该终端的组播加入时延、解码速率、单播推送速率和解码所需最 低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;具体的,根据Vi(min) = (nX-sX) X T3+cB,确定快速单播流起始位置到最新报文位 置之间数据量的最小值Vi(min);其中,Vi0llin)为快速单播流起始位置到最新报文位置之间数据量的最小值,nX为解 码速率,X为片源平均速率,η为解码倍率,SX为单播推送速率,S为推送倍率,具体到服务 器在单播流追上组播流时开始慢速推送单播流的情况下,s为慢推倍率(设为b)即b < 1, 具体到服务器在单播流追上组播流时仍然快速推送单播直到组播复制点发送组播流的情况下,s为快推倍率(设为a)即a > 1,T3为该终端的组播加入时延,cB为终端解码所需 最低缓存数据量,c为缓存系数,B为视频缓存检验器能够缓存的最大数据量。图4所示为快速频道切换的信息交互图,包括301 终端在时刻1向服务器发送FCCO^st Channel change,快速频道切换)请 求。302 服务器在时刻2接收到该FCC请求,并开始向终端快速推送单播流,并在单播 流追上组播流时,即时刻3开始向终端慢速推送单播流并发送组播报文同步消息。其中,时刻2与时刻3之间为服务器快速推送单播流的时间Tl。本实施例设服务 器开始慢速推送单播报文的时刻即为服务器发送组播报文同步消息的时刻。303 终端接收该同步消息,并在时刻4发送组播加入请求。其中,终端将组播加入消息发送到相应的组播复制点,因此,组播加入时延受组播 复制点的级数、链路状况、接入条件、客户端自身条件等因素的影响。以组播复制点的级数 为例,对于已经部署的网络,组播复制点的级数是一定的,各级组播复制点都会有一定的组 播加入时延,如果户请求加入的频道数据已经到达最近的组播复制点,不再需要向上级组 播复制点请求频道数据,组播加入时延会比较小;如果最近的组播复制点没有用户请求的 频道数据,需要向上一级或者更上级的组播复制点请求频道数据,则组播加入时延会比较 大。其中,时刻4终端缓存的数据量为VI,即快速单播流赶上组播时终端缓存的数据量。304 终端在时刻5接收到FMP (First Multicast Packet,第一个组播报文)。其中,时刻3与时刻5之间的时间为服务器开始慢速推送单播报文到终端接收到 FMP的时间间隔T2,时刻4与时刻5之间的时间为组播加入时延T3。其中,时刻5终端缓存的数据量为V2,即终端收到FMP时缓存的数据量。305 终端向服务器返回携带FMP标识的同步消息响应。306 服务器接收到同步消息响应后,在时刻6结束慢速推送单播流。其中,时刻3与时刻6之间的时间为慢速单播流时间间隔T4。本实施例设片源平均速率(原始速率)为X Mbps,解码速率为nX Mbps, η为解码 倍率,通常η = 1,快速单播推送速率为aX,a为快推倍率,目前a通常为1. 3,慢速单播推送 速率为bX,b为慢推倍率,目前b通常为0. 3,通常终端的VBV(Video Buffering Verifier, 视频缓存检验器)能够缓存的最大数据量B = 7995392bits = 0. 95Mbytes,终端解码所需 最低缓存数据量为cB,c为缓存系数,目前通常规定c = 1/2,当VBV中缓存数据量低于cB 时就不能开始解码。当采用其他方式推定终端为其他数值,例如,采用简化方式认定当终端 缓存完全清空时终端无法解码。Vi为快速单播流起始位置到最新报文位置之间的数据量, Vi0llin)为快速单播流起始位置到最新报文位置之间数据量的最小值。在时刻3,单播推送的数据量比如果按照组播推送的数据量多出Vi,该多出的数 据量在终端接收到FMP之前不能问接收到的数据量bXT3之和要大于T3时间中终端解码的 数据量nXT3,即Vi-cB+bXT3>=nXT3,Vi>= (nX_bX) XT3+cB。因此,为了保证不会出现 画质下降,Vi 最小值 Vi(min) = (nX-bX) XT3+cB。本领域普通技术人员可以理解,根据上述原理,对于其他的单播推送方式,例如在时刻3之后仍然快速推送单播直到组播复制点发送组播流的方式或在时刻3之后仍然快速 推送单播一定时间再改为慢速推送的方式,也可以得到其相应的快速单播流起始位置到最 新报文位置之间数据量的最小值。例如,对于在时刻3之后仍然快速推送单播直到组播复 制点发送组播流的方式,Vi >= (nX-aX)T3+CB。其中aX为单播推送速率,具体到服务器在 单播流追上组播流时仍然快速推送单播直到组播复制点发送组播流的情况下,a为快推倍 率即a>l。此时可能造成画质下降的主要原因是解码所需缓存数据量过大。同理,对于 在时刻3之后仍然快速推送单播一定时间再改为慢速推送的方式,也可以得到其Viimiri = (nX-sX)T3+cB, b < s < a。203 服务器根据报文缓存状态,判断该最新I帧是否完整到达;参见图5所示的服务器的报文缓存状态示意图,斜线部分表示最新I帧,服务器的 报文缓存状态大体分为最新I帧完整到达(状态1)和未完整到达(状态幻两种状态。最 新I帧完整到达可进一步细分,即从最新I帧开始已到达的数据量由最新I帧组成(状态 1-1),或者由最新I帧及其后续帧组成(状态1-2)。204 服务器根据最新I帧是否完整到达,从相应的I帧开始快速推送单播流;具 体的,如果该最新I帧完整到达,并且从该最新I帧开始已到达的数据量大于等于该最 小值Vi Ollin),从该最新I帧开始快速推送单播流。如果最新I帧完整到达,并且从最新I帧开始已到达的数据量小于最小值,则从最 新I帧之前的I帧开始快速推送单播流,其中,最新I帧之前的I帧可以是最新I帧前一个 I帧或更早的I帧。另外,为了避免由于组播加入时延过大,缓存中的数据量可能下溢使解 码器没有足够数据用以解码,造成播放画面会出现停顿或花屏的现象,在从最新I帧之前 的I帧开始快速推送单播流之前,判断从最新I帧之前的I帧开始已到达的数据量是否满 足大于等于该最小值Vi (min)这一条件,如果是,则从最新I帧之前的I帧开始快速推送单播 流,如果否,则从满足条件的最新I帧之前更早的I帧开始快速推送单播流。如果最新I帧没有完整到达,则从最新I帧之前的I帧开始快速推送单播流,其 中,最新I帧之前的I帧可以是最新I帧前一个I帧或更早的I帧。另外,为了避免由于组 播加入时延过大,缓存中的数据量可能下溢使解码器没有足够数据用以解码,造成播放画 面会出现停顿或花屏的现象,在从最新I帧之前的I帧开始快速推送单播流之前,判断从最 新I帧之前的I帧开始已到达的数据量是否满足大于等于该最小值Vi(min)这一条件,如果 是,则从最新I帧之前的I帧开始快速推送单播流,如果否,则从满足条件的最新I帧之前 更早的I帧开始快速推送单播流。其中,最新I帧之前的I帧可以是最新I帧前一个I帧或更早的I帧。本实施例通过根据终端的组播加入时延、解码速率、单播推送速率和解码所需最 低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;当最新I 帧完整到达、并且从最新I帧开始已到达的数据量大于等于最小值时,从最新I帧开始快速 推送单播流,相对于固定从最新I帧的前一个I帧开始快速推送单播流,在减小突发流量的 同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的 同时,降低了带宽需求和频道内容的同步处理时间。实施例3
参见图6,本实施例提供了一种快速频道切换中快速推送单播流的装置,包括获取模块401,用于获取终端的组播加入时延;确定模块402,用于根据终端的组播加入时延、解码速率、单播推送速率和解码所 需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;判断模块403,用于根据报文缓存状态,判断最新I帧是否完整到达;参见图5所示的服务器的报文缓存状态示意图,斜线部分表示最新I帧,服务器的 报文缓存状态大体分为最新I帧完整到达(状态1)和未完整到达(状态幻两种状态。最 新I帧完整到达可进一步细分,即从最新I帧开始已到达的数据量由最新I帧组成(状态 1-1),或者由最新I帧及其后续帧组成(状态1-2)。推送模块404,用于如果最新I帧完整到达,并且从最新I帧开始已到达的数据量 大于等于最小值,从最新I帧开始快速推送单播流。其中,获取模块401,用于接收终端发送的实时传输控制协议RTCP扩展报告)(R扩 展消息,RTCP )(R扩展消息携带终端的组播加入时延的相关信息,相关信息包括,组播加入时延,组播加入时延为终端发送组播加入消息的时间与终端接收到第一 个组播报文的时间之间的时间间隔;或者终端发送组播加入消息的时间和终端接收到第一个组播报文的时间;或者组播加入时延、终端发送组播加入消息的时间和终端接收到第一个组播报文的时 间。图3所示为RTCP )(R扩展消息的一个示例,其中,扩展的字段包括=IGMPanternet Group Management Protocol,因特网组管理协议)join Delay,即组播加入时延;或者,扩 展的字段包括time of send igmp join禾口 time of first multicast burst,艮口终端发送 组播加入消息的时间和终端接收到第一个组播报文的时间。也可以同时包括上述三个扩展字段。其中,确定模块402,具体用于根据Vi(min) = (nX-sX) XT3+cB,确定快速单播流起始位置到最新报文位置之间数 据量的最小值;其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值,nX为解码速率,η为解码倍率,X为片源平均速率,sX为单播推送速率,s为推送倍率,Τ3为所述终端的组播加入时延,cB为所述终端解码所需最低缓存数据量,c为缓存系数,B为所述终端的视频缓存 检验器能够缓存的最大数据量。基于图4所示的快速频道切换的信息交互图,本实施例设片源平均速率(原始速 率)为X Mbps,解码速率为nX Mbps,n为解码倍率,通常η = 1,快速单播推送速率为aX,a 为快推倍率,目前a通常为1.3,慢速单播推送速率为bX,b为慢推倍率,目前b通常为0.3, 通常终端的VBV (Video Buffering Verifier,视频缓存检验器)能够缓存的最大数据量B =7995392bits = 0. 95Mbytes,终端解码所需最低缓存数据量为cB,c为缓存系数,目前通 常规定c = 1/2,当VBV中缓存数据量低于cB时就不能开始解码。当采用其他方式推定终 端为其他数值,例如,采用简化方式认定当终端缓存完全清空时终端无法解码。Vi为快速单播流起始位置到最新报文位置之间的数据量,Vi0llin)为快速单播流起始位置到最新报文位 置之间数据量的最小值。在时刻3,单播推送的数据量比如果按照组播推送的数据量多出Vi,该多出的数 据量在终端接收到FMP之前不能问接收到的数据量bXT3之和要大于T3时间中终端解码的 数据量nXT3,即Vi-cB+bXT3>=nXT3,Vi>= (nX_bX) XT3+cB。因此,为了保证不会出现 画质下降,Vi 最小值 Vi(min) = (nX-bX) XT3+cB。本领域普通技术人员可以理解,根据上述原理,对于其他的单播推送方式,例如在 时刻3之后仍然快速推送单播直到组播复制点发送组播流的方式或在时刻3之后仍然快速 推送单播一定时间再改为慢速推送的方式,也可以得到其相应的快速单播流起始位置到最 新报文位置之间数据量的最小值。例如,对于在时刻3之后仍然快速推送单播直到组播复 制点发送组播流的方式,Vi >= (nX-aX)T3+CB。其中aX为单播推送速率,具体到服务器在 单播流追上组播流时仍然快速推送单播直到组播复制点发送组播流的情况下,a为快推倍 率即a>l。此时可能造成画质下降的主要原因是解码所需缓存数据量过大。同理,对于 在时刻3之后仍然快速推送单播一定时间再改为慢速推送的方式,也可以得到其Viimiri = (nX-sX)T3+cB, b < s < a。进一步的,推送模块404,还用于如果最新I帧完整到达,并且从最新I帧开始已 到达的数据量小于最小值,则从最新I帧之前的I帧开始快速推送单播流。其中,最新I帧 之前的I帧可以是最新I帧前一个I帧或更早的I帧。另外,为了避免由于组播加入时延 过大,缓存中的数据量可能下溢使解码器没有足够数据用以解码,造成播放画面会出现停 顿或花屏的现象,在从最新I帧之前的I帧开始快速推送单播流之前,判断从最新I帧之前 的I帧开始已到达的数据量是否满足大于等于该最小值Vi(min)这一条件,如果是,则从最新 I帧之前的I帧开始快速推送单播流,如果否,则从满足条件的最新I帧之前更早的I帧开 始快速推送单播流。进一步的,推送模块404,还用于如果最新I帧没有完整到达,则从最新I帧之前 的I帧开始快速推送单播流。其中,最新I帧之前的I帧可以是最新I帧前一个I帧或更 早的I帧。另外,为了避免由于组播加入时延过大,缓存中的数据量可能下溢使解码器没有 足够数据用以解码,造成播放画面会出现停顿或花屏的现象,在从最新I帧之前的I帧开始 快速推送单播流之前,判断从最新I帧之前的I帧开始已到达的数据量是否满足大于等于 该最小值Vi(min)这一条件,如果是,则从最新I帧之前的I帧开始快速推送单播流,如果否, 则从满足条件的最新I帧之前更早的I帧开始快速推送单播流。本实施例提供的装置,与方法实施例中的服务器属于同一构思,具体实现过程详 见方法实施例,这里不再赘述。本实施例通过根据终端的组播加入时延、解码速率、单播推送速率和解码所需最 低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;当最新I 帧完整到达、并且从最新I帧开始已到达的数据量大于等于最小值时,从最新I帧开始快速 推送单播流,相对于固定从最新I帧的前一个I帧开始快速推送单播流,在减小突发流量的 同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的 同时,降低了带宽需求和频道内容的同步处理时间。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
权利要求
1.一种快速频道切换中快速推送单播流的方法,其特征在于,所述方法包括 获取终端的组播加入时延;根据所述终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数据量, 确定快速单播流起始位置到最新报文位置之间数据量的最小值; 根据报文缓存状态,判断所述最新I帧是否完整到达;如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量大于等于所述 最小值,从所述最新I帧开始快速推送单播流。
2.根据权利要求1所述的方法,其特征在于,所述获取终端的组播加入时延包括 接收终端发送的实时传输控制协议RTCP扩展报告)(R扩展消息,所述RTCP XR扩展消息携带所述终端的组播加入时延的相关信息,所述相关信息包括,组播加入时延,所述组播加入时延为所述终端发送组播加入消息的时间与所述终端接 收到第一个组播报文的时间之间的时间间隔;或者所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文的时间;或者 组播加入时延、所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文 的时间。
3.根据权利要求1所述的方法,其特征在于,所述根据所述终端的组播加入时延、解码 速率、单播推送速率和解码所需最低缓存数据量,确定快速单播流起始位置到最新报文位 置之间数据量的最小值包括根据Vi(min) = (nX-SX)XT3+cB,确定快速单播流起始位置到最新报文位置之间数据量 的最小值;其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值, nX为解码速率,η为解码倍率,X为片源平均速率, sX为单播推送速率,s为推送倍率, Τ3为所述终端的组播加入时延,cB为所述终端解码所需最低缓存数据量,c为缓存系数,B为所述终端的视频缓存检验 器能够缓存的最大数据量。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根据报文缓存状态,判断所 述最新I帧是否完整到达之后,还包括如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量小于所述最小 值,则从所述最新I帧之前的I帧开始快速推送单播流。
5.根据权利要求1至3任一所述的方法,其特征在于,所述根据报文缓存状态,判断所 述最新I帧是否完整到达之后,还包括如果所述最新I帧没有完整到达,则从所述最新I帧之前的I帧开始快速推送单播流。
6.一种快速频道切换中快速推送单播流的装置,其特征在于,所述装置包括 获取模块,用于获取终端的组播加入时延;确定模块,用于根据所述终端的组播加入时延、解码速率、单播推送速率和解码所需最 低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值; 判断模块,用于根据报文缓存状态,判断所述最新I帧是否完整到达; 推送模块,用于如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量大于等于所述最小值,从所述最新I帧开始快速推送单播流。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,用于接收终端发送的实时 传输控制协议RTCP扩展报告)(R扩展消息,所述RTCP XR扩展消息携带所述终端的组播加 入时延的相关信息,所述相关信息包括,组播加入时延,所述组播加入时延为所述终端发送组播加入消息的时间与所述终端接 收到第一个组播报文的时间之间的时间间隔;或者所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文的时间;或者 组播加入时延、所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文 的时间。
8.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于根据Vi(min) = (nX-SX)XT3+cB,确定快速单播流起始位置到最新报文位置之间数据量 的最小值;其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值, nX为解码速率,η为解码倍率,X为片源平均速率, sX为单播推送速率,s为推送倍率, Τ3为所述终端的组播加入时延,cB为所述终端解码所需最低缓存数据量,c为缓存系数,B为所述终端的视频缓存检验 器能够缓存的最大数据量。
9.根据权利要求6-8任一权利要求所述的装置,其特征在于,所述推送模块,还用于 如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量小于所述最小值,则从所述最新I帧之前的I帧开始快速推送单播流。
10.根据权利要求6-8任一权利要求所述的装置,其特征在于,所述推送模块,还用于 如果所述最新I帧没有完整到达,则从所述最新I帧之前的I帧开始快速推送单播流。
全文摘要
本发明公开了一种快速频道切换中快速推送单播流的方法和装置,属于IPTV快速频道切换领域。所述方法包括获取终端的组播加入时延;根据终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;根据报文缓存状态,判断最新I帧是否完整到达;如果最新I帧完整到达,并且从最新I帧开始已到达的数据量大于等于最小值,从最新I帧开始快速推送单播流。所述装置包括获取、确定、判断和推送模块。本发明通过上述方案,在减小突发流量的同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的同时,降低了带宽需求和频道内容的同步处理时间。
文档编号H04N21/236GK102137275SQ20101060278
公开日2011年7月27日 申请日期2010年12月20日 优先权日2010年12月20日
发明者于田昌, 吴杏芬, 郑合文, 黄治平 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1