CN101132521A - 一种实现iptv频道切换的方法和装置 - Google Patents
一种实现iptv频道切换的方法和装置 Download PDFInfo
- Publication number
- CN101132521A CN101132521A CNA2007101513387A CN200710151338A CN101132521A CN 101132521 A CN101132521 A CN 101132521A CN A2007101513387 A CNA2007101513387 A CN A2007101513387A CN 200710151338 A CN200710151338 A CN 200710151338A CN 101132521 A CN101132521 A CN 101132521A
- Authority
- CN
- China
- Prior art keywords
- media stream
- stream data
- buffer queue
- receiving
- user terminal
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/163—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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 MPEG packets from an IP network
- H04N21/4383—Accessing a communication channel
-
- 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 MPEG 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
- 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
Abstract
本发明实施例公开了一种实现IPTV直播频道切换的方法,包括:分别缓存由节目源发出的各IPTV直播频道的媒体流数据;当收到用户终端的请求切换频道的消息时,读取与要切换的频道对应的所缓存的媒体流数据;将所读取的媒体流数据发送给所述用户终端。同时,本发明实施例还公开了一种实现IPTV直播频道切换的装置。本发明由于先将节目源发来的各IPTV直播频道的媒体流数据分别缓存起来,能够当用户终端请求切换频道时,可直接从所缓存的媒体流数据中,将要切换到的频道的媒体流数据直接发送给用户终端,使得用户终端能够尽快地收到所需的媒体流数据以进行播放,从而缩短了用户终端频道切换的等待时间。
Description
技术领域
本发明涉及IPTV(Internet Protocol TeleVision,交互式网络电视)技术领域,尤其涉及一种实现IPTV频道切换的方法和装置。
背景技术
IPTV又称网络电视或宽带电视,是以IP网络为基础,利用宽带网络为用户提供交互式服务的一种业务,通过流媒体方式将经数字化处理后的音视频节目以组播的方式提供给用户。
就用户终端来说,IPTV业务包括直播类业务。直播类业务都是通过组播实现的,组播是一种允许一个或多个发送者同时发送单一的数据包到多个接收者的网络技术。采用组播技术,会使媒体流占用大量的IP网络带宽,而在IP公共网中,当网络数据流量较大时,媒体流数据会出现不稳定,用户观看的节目会出现抖动。
因此,为了防止用户在观看节目时,由于网络流量不稳定而导致的画面抖动,现有技术的一种方法是在与用户终端连接的STB(Set Top Box,机顶盒)中增加一个缓冲区,当收到用户终端的请求切换频道的消息后,STB首先将接收到的该频道的媒体流数据存入缓冲区中,当所述缓存中的媒体流数据达到一定的数量,才允许被解码播放。
然而,该方法的缺陷是:由于用户每次在切换频道时,STB都要先将该频道的媒体流数据缓存在所述缓冲区中,并直到达到一定数量才能播放,这样,当用户以较快速度频繁切换频道时,每次都要等到缓冲区中的媒体流数据存够才能播放,这样会明显感到频道切换会有延迟。
现有技术还公开了一种频道切换的方法,是在直播服务器的输出端增加直播处理服务器,以用于接收直播服务器输出的所有直播频道的短时视频帧数据流,并将这些数据流保存在所述直播处理服务器上的缓冲区A中,所述缓冲区A将从所述短时视频帧数据流中解析出关键帧数据,并将这些关键帧数据保存在所述直播处理服务器上的缓冲区B中。同时,对应地,在用户终端上也设置两个缓冲区A和B。用户在切换频道时,用户终端首先向所述直播服务器发送IGMP(Internet Group Management Protocol leave,因特网组管理协议)的退出消息,以退出当前频道,然后再向所述直播处理服务器发送请求切换频道的IGMP消息,所述直播处理服务器在收到该请求消息后向所述终端发送缓冲区B中要切换的频道的关键帧数据,终端将所述关键帧数据缓存在自身的缓冲区A中,并在终端显示。然后,终端向所述直播服务器发送请求加入该频道的IGMP消息,并在收到所述直播服务器的响应后,接收来自于所述直播服务器的该频道的媒体流数据,并保存在终端的缓冲区B上,直到所述缓冲区B中的媒体流数据达到一定数量时,所述终端将切换到缓冲区B进行播放。
然而,在进行本发明创造过程中,发明人发现现有技术的第二种方法存在如下问题:
首先,由于终端也要先将缓冲区B中的媒体流数据缓冲至一定数量后,才能从缓冲区A切换到缓冲区B进行播放,因此,在缓冲区B未达到一定数量前,用户看到的都是缓冲区A中关键帧数据显示的画面,而该画面是静止的。因此,当用户在切换频道时,由于静止画面定格的时间过长,因此还能感觉到频道切换的时延。
其次,由于该现有技术需要在终端上增加两个缓冲区A和B,来配合新增的直播处理服务器,而且在播放时,终端需要在这两个缓冲区A和B之间切换,因此,增加了终端的实现复杂度和开发成本。
发明内容
本发明实施例的目的在于提供一种实现IPTV频道切换的方法和装置,以能够实现IPTV直播频道的快速切换。
本发明实施例提供的一种实现IPTV频道切换的方法,包括:
分别缓存由节目源发出的各IPTV直播频道的媒体流数据;
当收到用户终端的请求切换频道的消息时,读取与要切换的频道对应的所缓存的媒体流数据;
将所读取的媒体流数据发送给所述用户终端。
基于上述技术方案,本发明实施例还提供了一种实现IPTV频道切换的装置,包括数据接收单元、消息接收单元、存储单元、读取单元和发送单元,其中,
所述存储单元,用于将所述数据接收单元接收的来自于节目源的各IPTV直播频道的媒体流数据分别缓存;
所述读取单元,用于当收到所述消息接收单元的来自用户终端的请求切换频道的消息时,读取所述存储单元中与要切换的频道对应的媒体流数据,并将所述媒体流数据通过所述发送单元发送给所述用户终端进行播放。
与现有技术相比,本发明实施例具有以下优点:
本发明由于先将节目源发来的各IPTV直播频道的媒体流数据分别缓存起来,当用户终端请求切换频道时,可直接从所缓存的媒体流数据中,将要切换到的频道的媒体流数据直接发送给所述用户终端,使得用户终端能够尽快地收到所需的媒体流数据并进行播放,从而缩短了用户终端频道切换的等待时间。并且,由于本发明实施例将各IPTV直播频道的媒体流数据都分别缓存了,即便用户以较快的速度频繁切换频道,也能够以较快的速度读取并播放要切换的频道的媒体流数据。而且,本发明技术方案实现简单,可移植性强,可以在不需要改造终端的前提下,实现IPTV直播频道的快速切换。
附图说明
图1为本发明方法实施例一的流程框图;
图2为图1所示方法实施例的系统结构示意图;
图3为本发明方法实施例二的系统结构示意图;
图4为本发明方法实施例三的系统结构示意图;
图5本发明装置实施例一的结构框图;
图6本发明装置实施例二的结构框图;
图7本发明装置实施例三的结构框图;
图8本发明装置实施例四的结构框图。
具体实施方式
下面结合附图对本发明实施例的具体实施方式做进一步的详细阐述。
如图1所示,为本发明方法实施例一的流程框图。所述方法包括以下步骤:
步骤101:预先在STB的上一级DSLAM(Digital Subscriber Line AccessMultiplexer,数据用户线接入复用器)上为每一个IPTV直播频道分配一个缓冲队列,用于分别缓存由节目源发出的各IPTV直播频道的媒体流数据,同时还设置IPTV直播频道与组播地址的对应关系。
例如,如图2所示,为本方法实施例的系统结构示意图,在DSLAM上为每一个IPTV直播频道分配一个缓冲队列,同时根据DSLAM维护的直播频道信息表上记录的所有IPTV直播频道的组播地址,在该组播频道信息表上设置一个组播地址与一个IPTV直播频道的对应关系,例如,如果一个组播地址对应一个IPTV直播频道,可将两者对应关系设置为是;如果一个组播地址并不对应一个IPTV直播频道,则可将两者对应关系设置为否。
步骤102:所述DSLAM在收到BAS(Broadband Access Server,宽带接入服务器)或者组播路由器发来的组播包时,根据所接收到的组播包的组播地址,判断该组播组是否对应一个IPTV直播频道,如果是,则将该组播包中的媒体流数据保存在所述DSLAM中与该组播包的组播地址所对应的IPTV直播频道的缓冲队列。
步骤103:所述DSLAM收到用户终端的请求切换频道的消息后,根据该消息中指定的请求切换的频道号,从与要切换频道对应的缓冲队列中读取媒体流数据,并将所述媒体流数据发送给所述用户终端进行播放。
其中,所述步骤102和步骤103中可采用循环队列的方式将媒体流数据缓存入所述缓存队列或对所述缓存队列中的媒体流数据进行读取,所述循环队列相当于一个滑动窗口,该循环队列的头指针指向DSLAM下一个要读取的媒体流数据的位置,循环队列的尾指针指向下一个新收到的媒体流数据要存储的位置。所述DSLAM在向用户终端发送媒体流数据时,从循环队列的头指针所指的位置开始读取媒体流数据,每读取完一个媒体流数据,移动所述头指针使其指向下一个要读取的媒体流数据的位置,例如将循环队列的头指针加1;所述DSLAM在收到由BAS或者组播路由器发来的组播包时,将该组播包中的媒体流数据保存在循环队列的尾指针所指的位置,并且,每存入一个媒体流数据,移动所述尾指针使其指向下一个新收到媒体流数据要保存的位置,例如,将循环队列的尾指针加1。
在执行上述方式实施例的步骤102中,所述DSLAM在存储新的媒体流数据时,当所述缓冲队列中的媒体流数据存满时,而此时又有新的媒体流数据发来,则所述DSLAM可对发来的新媒体流数据进行以下方法的处理:
方法一:所述DSLAM将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
例如:所述DSLAM将所述缓冲队列的头指针和尾指针同时加1,即将接收媒体流数据的窗口平移,然后,将所收到的新媒体流数据存入所述缓冲队列的最后一位上,其他新收到媒体流数据也按此方法并依次类推。
或者,例如:将缓冲队列中的头指针的媒体流数据移出该缓冲队列,同时将缓冲队列中所述被移出数据后的媒体流数据依次往前移至前一个媒体流数据的位置上,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据,即该缓冲队列的最后一位上。
方法二:所述DSLAM丢弃后面新收到的媒体流数据,维持所述缓冲队列的头指针和尾指针不变。
上述方法所述DSLAM能够将所有IPTV直播频道的媒体流数据缓存至不同的缓冲队列中,当用户终端切换频道时,可直接将指定频道对应的缓冲队列中的媒体流数据发送至所述终端进行播放,这样用户在切换频道时等待播放的时间为所述DSLAM处理媒体流数据的时间以及从所述DSLAM发送至用户终端进行播放的时间,而省去了媒体流数据缓存的时间,因此,大大减少了用户频道切换时等待播放的时间。并且,即便用户以较快的速度频繁切换频道,也同样能以较快的速度切换到相应的频道。
上述实施例的步骤103中,所述DSLAM是在收到用户终端的请求切换频道的消息后,从与指定频道对应的缓冲队列中依次读取流媒体数据发给该终端。通常,媒体流数据在发送给终端前,所述DSLAM还需要将媒体流数据打包处理,例如,将原本位于应用层的媒体流数据封装为底层协议包(如IP包、ATM信元等)。而这需要一定的处理时间。因此,为了减少用户终端接收媒体流数据的时间,在上述步骤103中所述DSLAM还可以在收到用户终端的请求切换频道的消息前,事先将所有缓冲队列中的媒体流数据经过打包封装成底层协议包,并保存。这样,当所述DSLAM在收到终端的请求切换频道的消息后,可直接将对应的底层协议包发送给用户终端,从而进一步减少用户终端接收媒体流数据的时间,缩短了IPTV直播频道切换时间。
此外,在上述方法实施例的基础上,所述DSLAM当收到来自于同一组播组中所有用户终端的退出消息时,所述DSLAM停止向用户终端发送该频道的媒体流数据。同时,所述DSLAM可以不将所述退出消息通知给组播路由器,其目的在于,所述DSLAM能够一直接收并保存所述组播路由器发出的所述退出频道的媒体流数据。并且在当该频道的缓冲队列存满时,可将所述缓冲队列中头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据,以保持该频道的媒体流数据实时有效。
此外,由于流媒体多采用MPEG压缩格式。所述MPEG压缩技术涉及四种图像类型:帧内帧图像(I帧,不参照其他帧)、预测帧(P帧,参照前一幅I帧或者P帧进行运动补偿帧编码)、双向预测帧(B帧,参照前一幅和后一幅I帧或者P帧做双向运动补偿编码)、直流帧(D帧)。对于MPEG压缩格式的流媒体,由于有些播放器只有在收到I帧数据后才开始解码播放。因此,在这种情况下,本发明实施例为了缩短接收I帧的时间,在所述DSLAM的缓冲队列中不仅设置了队列的头指针和尾指针,而且还设置了I帧指针,所述I帧指针指向该缓冲队列中的第一个I帧的位置。所述DSLAM当收到新用户终端的请求切换频道的消息时,能够将指定频道对应的缓冲队列中I帧指针所指的I帧数据发给该终端,使得终端收到的第一个媒体流数据为I帧数据,即可进行解码播放,从而缩短了播放的时间,减少了频道切换的时间。
同时,由于不同的用户终端切换频道的时间不同,对于新加入的用户终端,需要发送I帧指针所指的I帧数据,而对于同一组播组中的其他正在接收媒体流数据的用户终端,由于需要接收的媒体流数据并不是所述I帧数据,因此,为了不影响其他各用户终端彼此独立地接收媒体流数据,本发明还公开了方法实施例二,如图3所示,为本发明方法实施例二的系统结构示意图。该实施例在上述方法实施例一的基础上,在所述DSLAM上还为观看同一个频道的各用户终端分别设置一个队列头指针,即在每个缓冲队列中分别为该缓冲队列对应的组播组中的每一个用户终端设置一个队列头指针,以分别指示不同的用户终端下一个读取媒体流数据的位置。同时,同一组播组中的各用户终端的队列尾指针都为所对应的缓冲队列的尾指针。通过上述设定,使得同一组播组中的每个用户终端都有各自的读取媒体流数据的窗口,因此能够彼此独立的读取各自队列头指针所指的媒体流数据。
由于每个用户终端的队列头指针所指的位置不同,而队列尾指针都是相同的,因此不同用户终端的窗口大小不尽相同。此时,设置缓冲队列的头指针为该队列中窗口最大的用户终端的队列头指针,缓冲队列的尾指针,与该队列中所有用户终端的队列尾指针相同。缓冲队列的I帧指针指向窗口最大的队列中的第一个I帧的位置。
所述缓冲队列在收到由BAS或者组播路由器发来的组播包时,将该组播包中的媒体流数据保存在所述缓存队列的队列尾,并且,每存储一个数据包,可以将所述缓冲队列的尾指针加1。当所述缓冲队列存满后,又收到新媒体流数据时,所述DSLAM判断所述缓冲队列中最早存入的媒体流数据是否为I帧数据,即判断所述缓冲队列中的头指针是否为I帧数据,若是,则将新收到的媒体流数据丢弃;否则,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。例如,可判断所述缓冲队列的头指针对应的媒体流数据是否为I帧,如果是,则将新收到的媒体流数据包丢弃,维持原窗口的头指针和尾指针不变;否则,将队列的头指针和尾指针同时加1,将所述新媒体流数据包存入缓冲队列的最后一位上。
当收到新用户终端的请求切换频道的消息时,所述DSLAM将指定频道对应的缓冲队列中的I帧指针复制给该用户终端的队列头指针,使得所述用户终端收到的第一个帧为该用户终端的队列头指针所指的I帧,从而进一步缩短了切换频道的时间。
此外,上述方法还同样适用于存在与MPEG格式类似的I帧和P帧的其他媒体流压缩格式的媒体流。
方法实施例三:上述实施例都是对DSLAM的改造,此外,本发明实施例除了在所述DSLAM上设置所有IPTV直播频道的媒体流数据对应的缓冲队列外,还可以将本发明所述方法应用在一个独立设备上,例如如图4所示,为本发明方法实施例三的系统结构示意图,所述独立设备可位于所述DSLAM和BAS之间,或者位于所述DSLAM和BRAS(Broadband Remote Access Server,宽带接入服务器)之间,并能够区分直播节目的组播包和其他数据包,同时,能够缓存直播节目的组播包,而转发其他类型的组播包。此外,所述独立设备还可以是组播路由器等三层交换设备。
或者,还可直接将本发明上述实施例中缓存所有直播节目媒体流数据的方法直接应用在所述DSLAM的上层设备,如BAS/BRAS。这样使得不通过DSLAM,而直接连接internet观看节目的用户终端(或STB/软终端)可同样实现IPTV直播频道的快速切换。
基于上述技术方案,本发明实施例还公开了一种实现IPTV直播频道切换的装置,所述装置可集成在DSLAM、BAS或者BRAS上,或者还可以集成在一个如组播路由器等三层交换设备上,或者集成在其他独立设备上。如图5所示,为本发明装置实施例一的结构框图,所述装置包括:数据接收单元501、消息接收单元502、发送单元503、存储单元504、和读取单元505,其中,
所述数据接收单元501,用于接收节目源发送的所有IPTV直播频道的媒体流数据;所述消息接收单元502,用于接收由用户终端发送的如请求切换频道的消息、或者频道退出消息等常用请求消息;
所述存储单元504,用于将所述数据接收单元501接收到的各IPTV直播频道的媒体流数据分别缓存;
所述读取单元505,用于当收到所述消息接收单元502转发的来自于用户终端的请求切换频道的消息时,根据该消息中要切换的频道的指示,读取所述存储单元504中与要切换的频道对应的媒体流数据,并将所述媒体流数据通过所述发送单元503发送给所述用户终端。
上述实施例存储单元504能够将收到的所有IPTV直播频道的媒体流数据分别缓存,当用户终端切换频道时,所述读取单元505可直接将指定频道对应的媒体流数据读取并发送至所述终端,使得用户终端能够尽快地收到所需媒体流数据并进行播放,从而缩短了用户终端频道切换的等待时间。并且,即便用户以较快的速度频繁切换频道,采用本发明方法同样能够以较快的速度切换到相应的频道。
与此同时,本发明实施例还公开了一种能够实现IPTV直播频道切换的装置,该实施例能够为各IPTV直播频道分配一个缓冲队列,当缓冲队列存满后,还能够根据所述缓冲队列中头指针是否为I帧数据,来对新收到的媒体流数据进行相应的处理。如图6所示,为本发明装置实施例二的结构框图,所述装置包括:数据接收单元601、消息接收单元602、发送单元603、存储单元604、读取单元605、判断单元606、和第一处理单元607,其中,
在所述存储单元604中可为各IPTV直播频道分别分配一个与之对应的缓冲队列,分别用于将所述数据接收单元601接收的所有来自于节目源的IPTV直播频道的媒体流数据缓存至各直播频道对应的缓冲队列中。同时,还可以设置IPTV直播频道与组播地址的对应关系,使得所述存储单元604在收到BAS或者组播路由器发来的组播包时,能够根据所接收到的组播包的组播地址,将该组播包中的媒体流数据保存在所述DSLAM中与该组播包的组播地址所对应的IPTV直播频道的缓冲队列中。
所述读取单元605,用于当收到所述消息接收单元602转发的来自用户终端的请求切换频道的消息时,根据该消息中要切换的IPTV直播频道的指示,从所述存储单元604中与要切换的频道对应的缓冲队列中读取媒体流数据,并将所述媒体流数据通过所述发送单元603发送给所述用户终端;
所述判断单元606,用于在得知所述存储单元604中的缓冲队列存满后,而此时又收到所述数据接收单元601发来的新媒体流数据时,判断所述缓冲队列的头指针所指的是否为I帧数据,得到相应的判断结果;
所述第一处理单元607,用于当从所述判断单元606的判断结果得知,所述缓冲队列中的头指针所指的是I帧数据时,将新收到的媒体流数据丢弃,或者当从所述判断单元606中得知不是I帧数据时,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
上述实施例当缓冲队列中的媒体流数据存满后,所述判断单元606能够在当又收到新媒体流数据时,先判断所述缓冲队列的头指针所指的是否为I帧数据,以便根据判断结果对新收到的媒体流数据进行相应处理,从而能够避免I帧数据的丢失,并且对于只有收到I帧才能解码播放的用户终端而言,能够尽可能地保证用户终端收到的第一个媒体流数据为I帧数据,从而缩短了此类用户终端切换频道的等待播放时间。
此外,本发明实施例还公开了一种实现IPTV直播频道切换的装置,如图7所示,为本发明装置实施例三的结构框图,所述装置包括:数据接收单元701、消息接收单元702、发送单元703、存储单元704、读取单元705、和第二处理单元706,其中,
所述数据接收单元701,用于接收节目源发送的各IPTV直播频道的媒体流数据;所述消息接收单元702,用于接收由用户终端发送的如请求切换频道的消息、或者频道退出消息等常用请求消息;
在所述存储单元704中可为各IPTV直播频道分别分配一个与之对应的缓冲队列,分别用于将所述数据接收单元701接收的所有来自于节目源的IPTV直播频道的媒体流数据缓存至各直播频道对应的缓冲队列中。同时,还可以设置IPTV直播频道与组播地址的对应关系,使得所述存储单元704在收到BAS或者组播路由器发来的组播包时,能够根据所接收到的组播包的组播地址,将该组播包中的媒体流数据保存在所述DSLAM中与该组播包的组播地址所对应的IPTV直播频道的缓冲队列中。
所述读取单元705,用于当收到所述消息接收单元702转发的来自于用户终端的请求切换频道的消息时,根据该消息中要切换的IPTV直播频道的指示,读取所述存储单元704中与要切换的频道对应的缓冲队列中的媒体流数据,并将所读取的媒体流数据通过所述发送单元703发送给所述用户终端;
所述第二处理单元706,用于在得知所述存储单元704中的缓冲队列存满后,而此时又收到所述数据接收单元701发来的新媒体流数据时,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
上述实施例当缓冲队列中的媒体流数据存满后,所述第二处理单元706能够将所述缓冲队列中最早存入的媒体流数据丢弃,并将新收到的媒体流数据存在最后收到的媒体流数据之后。从而能够一直保持所述缓冲队列中的媒体流数据的实时有效性,使得当有新用户终端切换到该频道时,能够将该频道中较新的媒体流数据发送给所述用户终端。
此外,本发明实施例还公开了一种能够实现IPTV直播频道切换的装置,如图8所示,为本发明装置实施例四的结构框图,所述装置包括:数据接收单元801、消息接收单元802、发送单元803、存储单元804、读取单元805、和第三处理单元806,其中,
所述数据接收单元801,用于接收节目源发送的所有IPTV直播频道的媒体流数据;所述消息接收单元802,用于接收由用户终端发送的如请求切换频道的消息、或者频道退出消息等常用请求消息;
所述存储单元804,可包括与各IPTV直播频道对应的缓冲队列,分别用于将所述数据接收单元801接收的所有来自于节目源的IPTV直播频道的媒体流数据缓存至各频道对应的缓冲队列中。
所述读取单元805,用于当收到所述消息接收单元802转发的来自于用户终端的请求切换频道的消息时,根据该消息中要切换的IPTV直播频道的指示,读取所述存储单元804中与要切换的频道对应的缓冲队列中的媒体流数据,并将所读取媒体流数据通过所述发送单元803发送给所述用户终端;
所述第三处理单元806,用于在得知所述存储单元804中的缓冲队列存满后,而此时又收到所述数据接收单元801发来的新媒体流数据时,将新收到的媒体流数据丢弃。
上述实施例存储单元804能够将收到的所有IPTV直播频道的媒体流数据分别缓存,当用户终端切换频道时,所述读取单元805可直接将指定频道对应的媒体流数据读取并发送至所述用户终端,使得用户终端能够尽快地收到所需媒体流数据并进行播放,从而缩短了用户终端频道切换的等待时间。并且,即便用户以较快的速度频繁切换频道,采用本发明方法同样能够以较快的速度切换到相应的频道。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种实现IPTV频道切换的方法,其特征在于,包括:
分别缓存由节目源发出的各IPTV直播频道的媒体流数据;
当收到用户终端的请求切换频道的消息时,读取与要切换的频道对应的所缓存的媒体流数据;
将所读取的媒体流数据发送给所述用户终端。
2.如权利要求1所述的实现IPTV频道切换的方法,其特征在于,所述分别缓存由节目源发出的各IPTV直播频道的媒体流数据之前包括:为每个IPTV直播频道分配一个缓冲队列;
所述分别缓存由节目源发出的各IPTV直播频道的媒体流数据具体为:将由节目源发出的各IPTV直播频道的媒体流数据分别保存在为其所分配的缓冲队列中。
3.如权利要求2所述的实现IPTV频道切换的方法,其特征在于,所述缓冲队列中的头指针指向下一个要读取的媒体流数据的位置,所述缓冲队列中的尾指针指向下一个新收到的媒体流数据要保存的位置,
当从所述缓冲队列中读取一个媒体流数据时,移动所述头指针使其指向下一个要读取的媒体流数据的位置;
当所述缓冲队列中存入一个媒体流数据时,移动所述尾指针使其指向下一个新收到媒体流数据要保存的位置。
4.如权利要求3所述的实现IPTV频道切换的方法,其特征在于,还包括:为所述缓冲队列设置一个I帧指针,所述I帧指针指向该缓冲队列中第一个I针的位置;
当收到用户终端的请求切换频道的消息时,所述读取和发送媒体流数据具体为:
从所述I帧指针处开始读取媒体流数据,并将所述媒体流数据发送给所述用户终端。
5.如权利要求4所述的实现IPTV频道切换的方法,其特征在于,当所述缓冲队列中的媒体流数据存满后,又收到新媒体流数据时,所述方法还包括:
判断所述缓冲队列中的头指针是否为I帧数据,若是,则将新收到的媒体流数据丢弃;否则,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
6.如权利要求2所述的实现IPTV频道切换的方法,其特征在于,所述方法还包括:
为所述缓冲队列中的每一个用户终端分别设置一个队列头指针,所述用户终端的队列头指针指向所述用户终端下一个要读取的媒体流数据的位置,所述用户终端的队列尾指针指示所述缓冲队列的尾指针;
当收到用户终端的请求切换频道的消息时,所述读取和发送媒体流数据具体为:
从所述用户终端的队列头指针处开始读取所述缓冲队列中的媒体流数据,并将所述媒体流数据发送给所述用户终端。
7.如权利要求1所述的实现IPTV频道切换的方法,其特征在于,当收到同一IPTV直播频道中所有用户终端的退出消息时,该方法还包括:
停止向用户终端发送所述退出消息中指定退出的频道的媒体流数据;且,继续接收并缓存从节目源发来的所述指定退出频道的媒体流数据。
8.如权利要求2所述的实现IPTV频道切换的方法,其特征在于,当所述媒体流数据存满后,又收到新媒体流数据时,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
9.如权利要求1所述的实现IPTV频道切换的方法,其特征在于,当所述媒体流数据存满后,又收到新媒体流数据时,丢弃新收到的媒体流数据。
10.一种实现IPTV频道切换的装置,包括数据接收单元、消息接收单元和发送单元,其特征在于,所述装置还包括:
存储单元,用于将所述数据接收单元接收的来自于节目源的各IPTV直播频道的媒体流数据分别缓存;
读取单元,用于当收到所述消息接收单元转发的来自用户终端的请求切换频道的消息时,读取所述存储单元中与要切换的频道对应的媒体流数据,并将所述媒体流数据通过所述发送单元发送给所述用户终端。
11.如权利要求10所述的实现IPTV频道切换的装置,其特征在于,所述存储单元中包括与各IPTV直播频道对应的缓冲队列,所述缓冲队列分别用于缓存所对应的IPTV直播频道的媒体流数据。
12.如权利要求11所述的实现IPTV频道切换的装置,其特征在于,所述缓冲队列的头指针指向下一个要读取的媒体流数据的位置,所述缓冲队列中的尾指针指向下一个新收到的媒体流数据要保存的位置,所述装置还包括:
判断单元,用于在所述缓冲队列中的媒体流数据存满后,又收到所述接收单元发来的新媒体流数据时,判断所述缓冲队列中的头指针是否为I帧数据,得到是或否结果;
第一处理单元,用于当所述判断单元得到的结果为是时,将新收到的媒体流数据丢弃;或者当所述判断单元得到的结果为否时,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
13.如权利要求11所述的实现IPTV频道切换的装置,其特征在于,所述装置还包括:
第二处理单元,用于在所述缓冲队列中的媒体流数据存满后,又收到所述接收单元发来的新媒体流数据时,将所述缓冲队列中的头指针的媒体流数据丢弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述缓冲队列中的尾指针的媒体流数据。
14.如权利要求11所述的实现IPTV频道切换的装置,其特征在于,所述装置还包括:
第三处理单元,用于在所述缓冲队列中的媒体流数据存满后,又收到所述接收单元发来的新媒体流数据时,将新收到的媒体流数据丢弃。
15.如权利要求10所述的实现IPTV频道切换的装置,其特征在于,所述装置集成在数据用户线接入复用器、宽带接入服务器、或三层交换设备上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101513387A CN101132521A (zh) | 2007-09-25 | 2007-09-25 | 一种实现iptv频道切换的方法和装置 |
PCT/CN2008/072062 WO2009039741A1 (fr) | 2007-09-25 | 2008-08-20 | Procédé et dispositif permettant la commutation de chaînes iptv |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101513387A CN101132521A (zh) | 2007-09-25 | 2007-09-25 | 一种实现iptv频道切换的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101132521A true CN101132521A (zh) | 2008-02-27 |
Family
ID=39129618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101513387A Pending CN101132521A (zh) | 2007-09-25 | 2007-09-25 | 一种实现iptv频道切换的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101132521A (zh) |
WO (1) | WO2009039741A1 (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009039741A1 (fr) * | 2007-09-25 | 2009-04-02 | Huawei Technologies Co., Ltd. | Procédé et dispositif permettant la commutation de chaînes iptv |
WO2010022598A1 (zh) * | 2008-08-25 | 2010-03-04 | 华为技术有限公司 | 交互电视频道切换方法及系统、音视频流发送方法及装置 |
WO2010054543A1 (zh) * | 2008-11-17 | 2010-05-20 | 华为技术有限公司 | 一种频道切换方法、装置和系统 |
WO2010066135A1 (zh) * | 2008-12-12 | 2010-06-17 | 华为技术有限公司 | 一种频道切换方法、装置和系统 |
WO2010075705A1 (zh) * | 2008-12-31 | 2010-07-08 | 华为技术有限公司 | 一种ip电视频道切换处理方法、装置和系统 |
CN101316357B (zh) * | 2008-06-30 | 2011-09-14 | 华为技术有限公司 | 一种频道切换的方法和终端 |
CN102223373A (zh) * | 2011-06-21 | 2011-10-19 | 中兴通讯股份有限公司 | Iptv系统中网络游戏的排队方法、装置及系统 |
CN103561285A (zh) * | 2013-10-11 | 2014-02-05 | 深圳市同洲电子股份有限公司 | 一种节目播放方法及网络推流服务器 |
CN103974092A (zh) * | 2013-01-31 | 2014-08-06 | 中兴通讯股份有限公司 | 一种基于网络电视实现网络广播的方法、装置及网络电视 |
CN104202676A (zh) * | 2014-09-12 | 2014-12-10 | 北京赛科世纪数码科技有限公司 | 一种频道切换方法和系统 |
CN104506924A (zh) * | 2014-12-23 | 2015-04-08 | 成都德芯数字科技有限公司 | 一种高集成度的iptv系统及其工作方法 |
CN105100888A (zh) * | 2015-07-17 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种基于olt设备的iptv频道切换加速的方法 |
WO2015196457A1 (zh) * | 2014-06-27 | 2015-12-30 | 北京新媒传信科技有限公司 | 一种关键帧路由的方法及媒体服务器 |
CN106375835A (zh) * | 2016-08-31 | 2017-02-01 | 北京奇艺世纪科技有限公司 | 一种流媒体播放方法及设备 |
CN106792120A (zh) * | 2017-02-07 | 2017-05-31 | 青岛海信电器股份有限公司 | 视频画面的显示方法、装置和终端 |
CN110809168A (zh) * | 2018-08-06 | 2020-02-18 | 中兴通讯股份有限公司 | 视频直播处理方法、装置、终端及存储介质 |
CN111866581A (zh) * | 2020-07-23 | 2020-10-30 | 杭州国芯科技股份有限公司 | 一种数字电视节目快速切换方法 |
CN114007087A (zh) * | 2020-07-28 | 2022-02-01 | 华为技术有限公司 | 一种媒体流切换方法及装置 |
CN114449357A (zh) * | 2020-11-02 | 2022-05-06 | 青岛海信宽带多媒体技术有限公司 | 一种iptv组播频道切换的优化方法、装置及终端 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486666A (zh) * | 2014-12-31 | 2015-04-01 | 四川金网通电子科技有限公司 | 一种通过缓存机制实现ott直播快速切台的方法 |
CN111262874A (zh) * | 2020-01-21 | 2020-06-09 | 北京梦想加信息技术有限公司 | 书写板信息分享方法、系统和书写板 |
CN112040309B (zh) * | 2020-09-08 | 2022-06-28 | 海信视像科技股份有限公司 | 一种频道切换方法及显示设备 |
CN113676744A (zh) * | 2021-07-28 | 2021-11-19 | 北京百度网讯科技有限公司 | 直播间的切换控制方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI0516492A (pt) * | 2004-10-15 | 2008-09-09 | Opentv Inc | acelerando mudança de canal |
US8630306B2 (en) * | 2006-01-09 | 2014-01-14 | At&T Intellectual Property I, L.P. | Fast channel change apparatus and method for IPTV |
EP1811780B1 (en) * | 2006-01-24 | 2012-11-07 | Alcatel Lucent | Access node with caching function for video channels |
CN100518311C (zh) * | 2006-03-27 | 2009-07-22 | 中兴通讯股份有限公司 | 一种减少直播频道切换响应时间的方法 |
CN100429901C (zh) * | 2006-05-10 | 2008-10-29 | 中国电信股份有限公司 | 音视频广播网络直播频道切换的方法及结构 |
CN101132521A (zh) * | 2007-09-25 | 2008-02-27 | 华为技术有限公司 | 一种实现iptv频道切换的方法和装置 |
-
2007
- 2007-09-25 CN CNA2007101513387A patent/CN101132521A/zh active Pending
-
2008
- 2008-08-20 WO PCT/CN2008/072062 patent/WO2009039741A1/zh active Application Filing
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009039741A1 (fr) * | 2007-09-25 | 2009-04-02 | Huawei Technologies Co., Ltd. | Procédé et dispositif permettant la commutation de chaînes iptv |
CN101316357B (zh) * | 2008-06-30 | 2011-09-14 | 华为技术有限公司 | 一种频道切换的方法和终端 |
CN101662689B (zh) * | 2008-08-25 | 2011-07-06 | 华为技术有限公司 | 交互电视频道切换方法及系统、音视频流发送方法及装置 |
WO2010022598A1 (zh) * | 2008-08-25 | 2010-03-04 | 华为技术有限公司 | 交互电视频道切换方法及系统、音视频流发送方法及装置 |
WO2010054543A1 (zh) * | 2008-11-17 | 2010-05-20 | 华为技术有限公司 | 一种频道切换方法、装置和系统 |
WO2010066135A1 (zh) * | 2008-12-12 | 2010-06-17 | 华为技术有限公司 | 一种频道切换方法、装置和系统 |
US8935736B2 (en) | 2008-12-12 | 2015-01-13 | Huawei Technologies Co., Ltd. | Channel switching method, channel switching device, and channel switching system |
WO2010075705A1 (zh) * | 2008-12-31 | 2010-07-08 | 华为技术有限公司 | 一种ip电视频道切换处理方法、装置和系统 |
CN102223373A (zh) * | 2011-06-21 | 2011-10-19 | 中兴通讯股份有限公司 | Iptv系统中网络游戏的排队方法、装置及系统 |
CN102223373B (zh) * | 2011-06-21 | 2017-09-26 | 中兴通讯股份有限公司 | Iptv系统中网络游戏的排队方法、装置及系统 |
CN103974092A (zh) * | 2013-01-31 | 2014-08-06 | 中兴通讯股份有限公司 | 一种基于网络电视实现网络广播的方法、装置及网络电视 |
CN103561285A (zh) * | 2013-10-11 | 2014-02-05 | 深圳市同洲电子股份有限公司 | 一种节目播放方法及网络推流服务器 |
WO2015196457A1 (zh) * | 2014-06-27 | 2015-12-30 | 北京新媒传信科技有限公司 | 一种关键帧路由的方法及媒体服务器 |
CN104202676A (zh) * | 2014-09-12 | 2014-12-10 | 北京赛科世纪数码科技有限公司 | 一种频道切换方法和系统 |
CN104506924A (zh) * | 2014-12-23 | 2015-04-08 | 成都德芯数字科技有限公司 | 一种高集成度的iptv系统及其工作方法 |
CN104506924B (zh) * | 2014-12-23 | 2018-09-11 | 成都德芯数字科技股份有限公司 | 一种高集成度的iptv系统及其工作方法 |
CN105100888A (zh) * | 2015-07-17 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种基于olt设备的iptv频道切换加速的方法 |
CN106375835A (zh) * | 2016-08-31 | 2017-02-01 | 北京奇艺世纪科技有限公司 | 一种流媒体播放方法及设备 |
CN106375835B (zh) * | 2016-08-31 | 2019-03-29 | 北京奇艺世纪科技有限公司 | 一种流媒体播放方法及设备 |
CN106792120A (zh) * | 2017-02-07 | 2017-05-31 | 青岛海信电器股份有限公司 | 视频画面的显示方法、装置和终端 |
CN110809168A (zh) * | 2018-08-06 | 2020-02-18 | 中兴通讯股份有限公司 | 视频直播处理方法、装置、终端及存储介质 |
CN111866581A (zh) * | 2020-07-23 | 2020-10-30 | 杭州国芯科技股份有限公司 | 一种数字电视节目快速切换方法 |
CN114007087A (zh) * | 2020-07-28 | 2022-02-01 | 华为技术有限公司 | 一种媒体流切换方法及装置 |
WO2022022471A1 (zh) * | 2020-07-28 | 2022-02-03 | 华为技术有限公司 | 一种媒体流切换方法及装置 |
CN114007087B (zh) * | 2020-07-28 | 2023-04-11 | 华为技术有限公司 | 一种媒体流切换方法及装置 |
CN114449357A (zh) * | 2020-11-02 | 2022-05-06 | 青岛海信宽带多媒体技术有限公司 | 一种iptv组播频道切换的优化方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2009039741A1 (fr) | 2009-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101132521A (zh) | 一种实现iptv频道切换的方法和装置 | |
CN1893364B (zh) | 一种广播多媒体流中的关键信息同步的方法及装置 | |
US7804831B2 (en) | Rapid media channel changing mechanism and access network node comprising same | |
KR101178853B1 (ko) | 채널 변경 응답 시간 향상 방법 및 채널 변경 응답 시간 향상 장치 | |
EP2385707B1 (en) | Channel switching method, device, and system | |
US9185151B2 (en) | Device, method and system for media packet distribution | |
US7778279B2 (en) | Method and apparatus for instant channel change | |
EP2288155A2 (en) | Method and apparatus for changing received streaming content channels | |
CN101938456B (zh) | 一种减小媒体延迟的方法、设备及系统 | |
CN104737514A (zh) | 用于分布媒体内容服务的方法和设备 | |
KR101223806B1 (ko) | 신속 미디어 채널 변경 메커니즘 및 이를 포함하는 액세스네트워크 노드 | |
US20110088069A1 (en) | Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system | |
CN100593333C (zh) | 一种发送视频信息的方法及系统 | |
KR100848309B1 (ko) | 고속 버퍼링 스위치를 이용한 인터넷 방송 서비스 제공방법 및 그 장치 | |
KR101625663B1 (ko) | 콘텐트를 수신하기 위한 방법 및 장치 | |
KR20080022816A (ko) | 아이피 티브이 방송 시스템에서의 실시간 채널 변경 장치및 방법 | |
KR100861239B1 (ko) | 디지털 방송 및 ip 방송의 다수가 이용할 수 있는공청방송과 공청방송에서 양방향 통신지원을 위한 ip미디어 게이트웨이 | |
CN101409631B (zh) | 一种频道切换的方法和装置 | |
WO2009089755A1 (fr) | Procédé et dispositif pour améliorer l'expérience de l'utilisateur de la télévision par ip | |
JP2012065237A (ja) | 放送素材再生装置及びデータ送出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080227 |