CN102137275A - 快速频道切换中快速推送单播流的方法和装置 - Google Patents
快速频道切换中快速推送单播流的方法和装置 Download PDFInfo
- Publication number
- CN102137275A CN102137275A CN2010106027832A CN201010602783A CN102137275A CN 102137275 A CN102137275 A CN 102137275A CN 2010106027832 A CN2010106027832 A CN 2010106027832A CN 201010602783 A CN201010602783 A CN 201010602783A CN 102137275 A CN102137275 A CN 102137275A
- Authority
- CN
- China
- Prior art keywords
- date
- multicast
- frame
- message
- unicast stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 239000000872 buffer Substances 0.000 claims description 67
- 230000010076 replication Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种快速频道切换中快速推送单播流的方法和装置,属于IPTV快速频道切换领域。所述方法包括:获取终端的组播加入时延;根据终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;根据报文缓存状态,判断最新I帧是否完整到达;如果最新I帧完整到达,并且从最新I帧开始已到达的数据量大于等于最小值,从最新I帧开始快速推送单播流。所述装置包括:获取、确定、判断和推送模块。本发明通过上述方案,在减小突发流量的同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的同时,降低了带宽需求和频道内容的同步处理时间。
Description
技术领域
本发明涉及IPTV(Internet Protocol Television,网络协议电视)快速频道切换领域,特别涉及一种快速频道切换中快速推送单播流的方法和装置。
背景技术
和传统的数字电视相比,IPTV存在频道切换时间长的缺点,快速频道切换方法可以缩短频道切换时延。
在快速频道切换过程中,服务器接收到STB(Set 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 Report,扩展报告)扩展消息,该RTCP XR扩展消息携带终端的组播加入时延(IGMPJoinDelay)的相关信息。组播加入时延的相关信息可以是组播加入时延,也可以是终端发送组播加入消息的时间和终端接收到第一个组播报文的时间,根据终端发送组播加入消息的时间和终端接收到第一个组播报文的时间计算得到组播加入时延,即终端发送组播加入消息的时间和终端接收到第一个组播报文的时间之间的时间间隔为组播加入时延。上述的终端的组播加入时延为终端根据历史数据获得的。
图3所示为RTCP XR扩展消息的一个示例,其中,扩展的字段包括:IGMP(Internet Group Management Protocol,因特网组管理协议)Join Delay,即组播加入时延;或者,扩展的字段包括:time of send igmp join和time of first multicast burst,即终端发送组播加入消息的时间和终端接收到第一个组播报文的时间。也可以同时包括上述三个扩展字段。
202:服务器根据该终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;
具体的,根据Vi(min)=(nX-sX)×T3+cB,确定快速单播流起始位置到最新报文位置之间数据量的最小值Vi(min);
其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值,nX为解码速率,X为片源平均速率,n为解码倍率,sX为单播推送速率,s为推送倍率,具体到服务器在单播流追上组播流时开始慢速推送单播流的情况下,s为慢推倍率(设为b)即b<1,具体到服务器在单播流追上组播流时仍然快速推送单播直到组播复制点发送组播流的情况下,s为快推倍率(设为a)即a>1,T3为该终端的组播加入时延,cB为终端解码所需最低缓存数据量,c为缓存系数,B为视频缓存检验器能够缓存的最大数据量。
图4所示为快速频道切换的信息交互图,包括:
301:终端在时刻1向服务器发送FCC(Fast Channel change,快速频道切换)请求。
302:服务器在时刻2接收到该FCC请求,并开始向终端快速推送单播流,并在单播流追上组播流时,即时刻3开始向终端慢速推送单播流并发送组播报文同步消息。
其中,时刻2与时刻3之间为服务器快速推送单播流的时间T1。本实施例设服务器开始慢速推送单播报文的时刻即为服务器发送组播报文同步消息的时刻。
303:终端接收该同步消息,并在时刻4发送组播加入请求。
其中,终端将组播加入消息发送到相应的组播复制点,因此,组播加入时延受组播复制点的级数、链路状况、接入条件、客户端自身条件等因素的影响。以组播复制点的级数为例,对于已经部署的网络,组播复制点的级数是一定的,各级组播复制点都会有一定的组播加入时延,如果户请求加入的频道数据已经到达最近的组播复制点,不再需要向上级组播复制点请求频道数据,组播加入时延会比较小;如果最近的组播复制点没有用户请求的频道数据,需要向上一级或者更上级的组播复制点请求频道数据,则组播加入时延会比较大。
其中,时刻4终端缓存的数据量为V1,即快速单播流赶上组播时终端缓存的数据量。
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,n为解码倍率,通常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为快速单播流起始位置到最新报文位置之间的数据量,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值。
在时刻3,单播推送的数据量比如果按照组播推送的数据量多出Vi,该多出的数据量在终端接收到FMP之前不能问接收到的数据量bXT3之和要大于T3时间中终端解码的数据量nXT3,即Vi-cB+bXT3>=nXT3,Vi>=(nX-bX)×T3+cB。因此,为了保证不会出现画质下降,Vi最小值Vi(min)=(nX-bX)×T3+cB。
本领域普通技术人员可以理解,根据上述原理,对于其他的单播推送方式,例如在时刻3之后仍然快速推送单播直到组播复制点发送组播流的方式或在时刻3之后仍然快速推送单播一定时间再改为慢速推送的方式,也可以得到其相应的快速单播流起始位置到最新报文位置之间数据量的最小值。例如,对于在时刻3之后仍然快速推送单播直到组播复制点发送组播流的方式,Vi>=(nX-aX)T3+cB。其中aX为单播推送速率,具体到服务器在单播流追上组播流时仍然快速推送单播直到组播复制点发送组播流的情况下,a为快推倍率即a>1。此时可能造成画质下降的主要原因是解码所需缓存数据量过大。同理,对于在时刻3之后仍然快速推送单播一定时间再改为慢速推送的方式,也可以得到其Vi(min)=(nX-sX)T3+cB,b<s<a。
203:服务器根据报文缓存状态,判断该最新I帧是否完整到达;
参见图5所示的服务器的报文缓存状态示意图,斜线部分表示最新I帧,服务器的报文缓存状态大体分为最新I帧完整到达(状态1)和未完整到达(状态2)两种状态。最新I帧完整到达可进一步细分,即从最新I帧开始已到达的数据量由最新I帧组成(状态1-1),或者由最新I帧及其后续帧组成(状态1-2)。
204:服务器根据最新I帧是否完整到达,从相应的I帧开始快速推送单播流;具体的,
如果该最新I帧完整到达,并且从该最新I帧开始已到达的数据量大于等于该最小值Vi(min),从该最新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)和未完整到达(状态2)两种状态。最新I帧完整到达可进一步细分,即从最新I帧开始已到达的数据量由最新I帧组成(状态1-1),或者由最新I帧及其后续帧组成(状态1-2)。
推送模块404,用于如果最新I帧完整到达,并且从最新I帧开始已到达的数据量大于等于最小值,从最新I帧开始快速推送单播流。
其中,获取模块401,用于接收终端发送的实时传输控制协议RTCP扩展报告XR扩展消息,RTCP XR扩展消息携带终端的组播加入时延的相关信息,相关信息包括,
组播加入时延,组播加入时延为终端发送组播加入消息的时间与终端接收到第一个组播报文的时间之间的时间间隔;或者
终端发送组播加入消息的时间和终端接收到第一个组播报文的时间;或者
组播加入时延、终端发送组播加入消息的时间和终端接收到第一个组播报文的时间。
图3所示为RTCP XR扩展消息的一个示例,其中,扩展的字段包括:IGMP(Internet Group Management Protocol,因特网组管理协议)join Delay,即组播加入时延;或者,扩展的字段包括:time of send igmp join和time of first multicast burst,即终端发送组播加入消息的时间和终端接收到第一个组播报文的时间。也可以同时包括上述三个扩展字段。
其中,确定模块402,具体用于
根据Vi(min)=(nX-sX)×T3+cB,确定快速单播流起始位置到最新报文位置之间数据量的最小值;
其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值,
nX为解码速率,n为解码倍率,X为片源平均速率,
sX为单播推送速率,s为推送倍率,
T3为所述终端的组播加入时延,
cB为所述终端解码所需最低缓存数据量,c为缓存系数,B为所述终端的视频缓存检验器能够缓存的最大数据量。
基于图4所示的快速频道切换的信息交互图,本实施例设片源平均速率(原始速率)为X Mbps,解码速率为nX Mbps,n为解码倍率,通常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为快速单播流起始位置到最新报文位置之间的数据量,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值。
在时刻3,单播推送的数据量比如果按照组播推送的数据量多出Vi,该多出的数据量在终端接收到FMP之前不能问接收到的数据量bXT3之和要大于T3时间中终端解码的数据量nXT3,即Vi-cB+bXT3>=nXT3,Vi>=(nX-bX)×T3+cB。因此,为了保证不会出现画质下降,Vi最小值Vi(min)=(nX-bX)×T3+cB。
本领域普通技术人员可以理解,根据上述原理,对于其他的单播推送方式,例如在时刻3之后仍然快速推送单播直到组播复制点发送组播流的方式或在时刻3之后仍然快速推送单播一定时间再改为慢速推送的方式,也可以得到其相应的快速单播流起始位置到最新报文位置之间数据量的最小值。例如,对于在时刻3之后仍然快速推送单播直到组播复制点发送组播流的方式,Vi>=(nX-aX)T3+cB。其中aX为单播推送速率,具体到服务器在单播流追上组播流时仍然快速推送单播直到组播复制点发送组播流的情况下,a为快推倍率即a>1。此时可能造成画质下降的主要原因是解码所需缓存数据量过大。同理,对于在时刻3之后仍然快速推送单播一定时间再改为慢速推送的方式,也可以得到其Vi(min)=(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帧开始快速推送单播流,在减小突发流量的同时,保证终端缓存不会因组播加入时延过大而下溢,从而在保证终端播放画面的质量的同时,降低了带宽需求和频道内容的同步处理时间。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种快速频道切换中快速推送单播流的方法,其特征在于,所述方法包括:
获取终端的组播加入时延;
根据所述终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值;
根据报文缓存状态,判断所述最新I帧是否完整到达;
如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量大于等于所述最小值,从所述最新I帧开始快速推送单播流。
2.根据权利要求1所述的方法,其特征在于,所述获取终端的组播加入时延包括:
接收终端发送的实时传输控制协议RTCP扩展报告XR扩展消息,所述RTCP XR扩展消息携带所述终端的组播加入时延的相关信息,所述相关信息包括,
组播加入时延,所述组播加入时延为所述终端发送组播加入消息的时间与所述终端接收到第一个组播报文的时间之间的时间间隔;或者
所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文的时间;或者
组播加入时延、所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文的时间。
3.根据权利要求1所述的方法,其特征在于,所述根据所述终端的组播加入时延、解码速率、单播推送速率和解码所需最低缓存数据量,确定快速单播流起始位置到最新报文位置之间数据量的最小值包括:
根据Vi(min)=(nX-sX)×T3+cB,确定快速单播流起始位置到最新报文位置之间数据量的最小值;
其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值,
nX为解码速率,n为解码倍率,X为片源平均速率,
sX为单播推送速率,s为推送倍率,
T3为所述终端的组播加入时延,
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扩展报告XR扩展消息,所述RTCP XR扩展消息携带所述终端的组播加入时延的相关信息,所述相关信息包括,
组播加入时延,所述组播加入时延为所述终端发送组播加入消息的时间与所述终端接收到第一个组播报文的时间之间的时间间隔;或者
所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文的时间;或者
组播加入时延、所述终端发送组播加入消息的时间和所述终端接收到第一个组播报文的时间。
8.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于
根据Vi(min)=(nX-sX)×T3+cB,确定快速单播流起始位置到最新报文位置之间数据量的最小值;
其中,Vi(min)为快速单播流起始位置到最新报文位置之间数据量的最小值,
nX为解码速率,n为解码倍率,X为片源平均速率,
sX为单播推送速率,s为推送倍率,
T3为所述终端的组播加入时延,
cB为所述终端解码所需最低缓存数据量,c为缓存系数,B为所述终端的视频缓存检验器能够缓存的最大数据量。
9.根据权利要求6-8任一权利要求所述的装置,其特征在于,所述推送模块,还用于
如果所述最新I帧完整到达,并且从所述最新I帧开始已到达的数据量小于所述最小值,则从所述最新I帧之前的I帧开始快速推送单播流。
10.根据权利要求6-8任一权利要求所述的装置,其特征在于,所述推送模块,还用于
如果所述最新I帧没有完整到达,则从所述最新I帧之前的I帧开始快速推送单播流。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106027832A CN102137275B (zh) | 2010-12-20 | 2010-12-20 | 快速频道切换中快速推送单播流的方法和装置 |
CA2758763A CA2758763C (en) | 2010-12-20 | 2011-11-18 | Method and device for fast pushing unicast stream in fast channel change |
HUE11191244A HUE025968T2 (en) | 2010-12-20 | 2011-11-30 | A method and apparatus for rapidly conveying a single-stream stream in case of fast channel change |
EP11191244.0A EP2466911B1 (en) | 2010-12-20 | 2011-11-30 | Method and device for fast pushing unicast stream in fast channel change |
MX2011013684A MX2011013684A (es) | 2010-12-20 | 2011-12-15 | Metodo y dispositivo para el empuje rapido de torrente de transmision unidireccional en cambio rapido de canal. |
US13/331,579 US8861372B2 (en) | 2010-12-20 | 2011-12-20 | Method and device for fast pushing unicast stream in fast channel change |
BRPI1107348A BRPI1107348B8 (pt) | 2010-12-20 | 2011-12-20 | método e dispositivo para empurrar fluxo rápido de difusão ponto a ponto em mudança de canal rápida |
JP2011277873A JP5421346B2 (ja) | 2010-12-20 | 2011-12-20 | 高速チャンネル変更におけるユニキャストストリームの高速送信方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106027832A CN102137275B (zh) | 2010-12-20 | 2010-12-20 | 快速频道切换中快速推送单播流的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102137275A true CN102137275A (zh) | 2011-07-27 |
CN102137275B CN102137275B (zh) | 2012-12-19 |
Family
ID=44296916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106027832A Active CN102137275B (zh) | 2010-12-20 | 2010-12-20 | 快速频道切换中快速推送单播流的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8861372B2 (zh) |
EP (1) | EP2466911B1 (zh) |
JP (1) | JP5421346B2 (zh) |
CN (1) | CN102137275B (zh) |
BR (1) | BRPI1107348B8 (zh) |
CA (1) | CA2758763C (zh) |
HU (1) | HUE025968T2 (zh) |
MX (1) | MX2011013684A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106937155A (zh) * | 2015-12-29 | 2017-07-07 | 北京华为数字技术有限公司 | 接入设备、因特网协议电视iptv系统和频道切换方法 |
CN107615731A (zh) * | 2016-04-25 | 2018-01-19 | 华为技术有限公司 | 一种组播时延诊断方法及装置 |
CN108471548A (zh) * | 2018-01-25 | 2018-08-31 | 湖南机友科技有限公司 | 直播视频快速播放方法及装置 |
CN109756745A (zh) * | 2018-12-06 | 2019-05-14 | 北京东方广视科技股份有限公司 | 一种直播流数据的发送方法、直播加速服务器及终端 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITTO20110745A1 (it) | 2011-08-05 | 2013-02-06 | Indesit Co Spa | Cassetto per una vasca di una lavastoviglie comprendente un telaio perimetrale estraibile da detta vasca |
TW201338528A (zh) * | 2012-03-02 | 2013-09-16 | Mstar Semiconductor Inc | 數位電視資料處理方法以及使用此數位電視資料處理方法的數位電視系統 |
CN103533437A (zh) * | 2013-10-30 | 2014-01-22 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的频道切换方法及装置 |
EP3125125A4 (en) | 2014-03-24 | 2018-07-25 | Square Enix Co., Ltd. | Interactive system, terminal device, server device, control method, program, and recording medium |
CN107637084A (zh) * | 2015-05-20 | 2018-01-26 | Nxt解决方案公司 | 被管网络中的iptv |
KR102654716B1 (ko) * | 2019-02-11 | 2024-04-04 | 한화비전 주식회사 | 요청된 영상 재생시점에 따라 영상을 재생하는 방법 및 그 장치 |
CN111866526B (zh) * | 2019-04-29 | 2021-10-15 | 华为技术有限公司 | 一种直播业务处理方法和装置 |
CN114363715A (zh) * | 2021-12-22 | 2022-04-15 | 中国电信股份有限公司 | 视频播放方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212328A (zh) * | 2006-12-27 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统及其方法 |
CN101212406A (zh) * | 2006-12-28 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统 |
WO2008110122A1 (fr) * | 2007-03-15 | 2008-09-18 | Huawei Technologies Co., Ltd. | Procédé, système et entité tampon de commutation de chaînes de téléréseau |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562375B2 (en) * | 2003-10-10 | 2009-07-14 | Microsoft Corporation | Fast channel change |
US7430222B2 (en) * | 2004-02-27 | 2008-09-30 | Microsoft Corporation | Media stream splicer |
US20090064242A1 (en) * | 2004-12-23 | 2009-03-05 | Bitband Technologies Ltd. | Fast channel switching for digital tv |
US8713195B2 (en) * | 2006-02-10 | 2014-04-29 | Cisco Technology, Inc. | Method and system for streaming digital video content to a client in a digital video network |
US8424036B2 (en) * | 2007-10-05 | 2013-04-16 | Alcatel Lucent | Targeted/addressable advertisement insertion into video streams delivered to users |
US9032433B2 (en) * | 2007-10-05 | 2015-05-12 | Alcatel Lucent | Personalized ad insertion during start over service |
JP2012503907A (ja) * | 2008-09-24 | 2012-02-09 | アルカテル−ルーセント | マルチメディアサービスの高速チャネル変更のためのクライアントの構成および管理 |
US20100115566A1 (en) * | 2008-10-30 | 2010-05-06 | Raziel Haimi-Cohen | Fast Channel Change Request Processing |
US7830908B2 (en) * | 2008-11-03 | 2010-11-09 | Cisco Technologies, Inc. | Systems and methods of reducing delay in decoding |
US9077937B2 (en) * | 2008-11-06 | 2015-07-07 | Alcatel Lucent | Method and apparatus for fast channel change |
US8381258B2 (en) * | 2008-11-14 | 2013-02-19 | Alcatel Lucent | Creating channel sequence segments for fast channel change in IPTV |
WO2010106075A1 (en) * | 2009-03-16 | 2010-09-23 | Koninklijke Kpn N.V. | Modified stream synchronization |
CN101854336A (zh) * | 2009-03-31 | 2010-10-06 | 华为技术有限公司 | 一种获取视频传输管理服务器地址的方法、系统和装置 |
JP5376350B2 (ja) * | 2009-08-24 | 2013-12-25 | ▲ホア▼▲ウェイ▼技術有限公司 | チャネル切替方法、デバイス、およびシステム |
US8301982B2 (en) * | 2009-11-18 | 2012-10-30 | Cisco Technology, Inc. | RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows |
-
2010
- 2010-12-20 CN CN2010106027832A patent/CN102137275B/zh active Active
-
2011
- 2011-11-18 CA CA2758763A patent/CA2758763C/en active Active
- 2011-11-30 EP EP11191244.0A patent/EP2466911B1/en active Active
- 2011-11-30 HU HUE11191244A patent/HUE025968T2/en unknown
- 2011-12-15 MX MX2011013684A patent/MX2011013684A/es active IP Right Grant
- 2011-12-20 BR BRPI1107348A patent/BRPI1107348B8/pt active IP Right Grant
- 2011-12-20 JP JP2011277873A patent/JP5421346B2/ja active Active
- 2011-12-20 US US13/331,579 patent/US8861372B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212328A (zh) * | 2006-12-27 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统及其方法 |
CN101212406A (zh) * | 2006-12-28 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统 |
WO2008110122A1 (fr) * | 2007-03-15 | 2008-09-18 | Huawei Technologies Co., Ltd. | Procédé, système et entité tampon de commutation de chaînes de téléréseau |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106937155A (zh) * | 2015-12-29 | 2017-07-07 | 北京华为数字技术有限公司 | 接入设备、因特网协议电视iptv系统和频道切换方法 |
CN107615731A (zh) * | 2016-04-25 | 2018-01-19 | 华为技术有限公司 | 一种组播时延诊断方法及装置 |
CN107615731B (zh) * | 2016-04-25 | 2020-06-26 | 华为技术有限公司 | 一种组播时延诊断方法及装置 |
US11032122B2 (en) | 2016-04-25 | 2021-06-08 | Huawei Technologies Co., Ltd. | Multicast delay diagnosis method and apparatus |
CN108471548A (zh) * | 2018-01-25 | 2018-08-31 | 湖南机友科技有限公司 | 直播视频快速播放方法及装置 |
CN108471548B (zh) * | 2018-01-25 | 2021-07-06 | 湖南于一科技有限公司 | 直播视频快速播放方法及装置 |
CN109756745A (zh) * | 2018-12-06 | 2019-05-14 | 北京东方广视科技股份有限公司 | 一种直播流数据的发送方法、直播加速服务器及终端 |
CN109756745B (zh) * | 2018-12-06 | 2021-06-15 | 北京东方广视科技股份有限公司 | 一种直播流数据的发送方法、直播加速服务器及终端 |
Also Published As
Publication number | Publication date |
---|---|
US8861372B2 (en) | 2014-10-14 |
CA2758763A1 (en) | 2012-06-20 |
JP2013042473A (ja) | 2013-02-28 |
MX2011013684A (es) | 2012-06-19 |
BRPI1107348A2 (pt) | 2013-11-05 |
JP5421346B2 (ja) | 2014-02-19 |
BRPI1107348B1 (pt) | 2018-12-26 |
US20120155280A1 (en) | 2012-06-21 |
CA2758763C (en) | 2016-01-26 |
EP2466911B1 (en) | 2015-08-19 |
BRPI1107348B8 (pt) | 2019-07-16 |
HUE025968T2 (en) | 2016-05-30 |
CN102137275B (zh) | 2012-12-19 |
EP2466911A1 (en) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102137275B (zh) | 快速频道切换中快速推送单播流的方法和装置 | |
EP1708506B1 (en) | Rapid media channel changing mechanism and access network node comprising same | |
US7430222B2 (en) | Media stream splicer | |
CN101536497B (zh) | 用于减少频道变化时间以及在频道变化期间同步音频/视频内容的方法 | |
US7793329B2 (en) | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique | |
CN107566918B (zh) | 一种视频分发场景下的低延时取流秒开方法 | |
EP2494774B1 (en) | Method of digital audio/video channel change and corresponding apparatus | |
CN101938456B (zh) | 一种减小媒体延迟的方法、设备及系统 | |
WO2020029935A1 (zh) | 视频直播处理方法、装置及终端 | |
EP2472857A1 (en) | Media stream processing method and communication system and related devices | |
WO2009039741A1 (fr) | Procédé et dispositif permettant la commutation de chaînes iptv | |
CN102761773A (zh) | 一种利用i帧改善iptv业务的用户体验的方法 | |
WO2010012155A1 (zh) | 移动多媒体广播终端自适应调整接收速率缓冲播放的方法 | |
WO2006107424A2 (en) | Rapid media channel changing mechanism and access network node comprising same | |
CN103685314A (zh) | 实现流媒体播放单播和多播无缝切换的方法 | |
CN101662689B (zh) | 交互电视频道切换方法及系统、音视频流发送方法及装置 | |
CN100593333C (zh) | 一种发送视频信息的方法及系统 | |
CN102149021B (zh) | 网络时移的处理方法、装置及系统 | |
CN106937155B (zh) | 接入设备、因特网协议电视iptv系统和频道切换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |