专利名称:一种频道切换的方法、终端和媒体服务器的制作方法
技术领域:
本发明涉及IPTV (Internet Protocol Television,交互式网络电视)技术领域, 尤其涉及一种IPTV中频道切换的技术。
背景技术:
IPTV又称网络电视或宽带电视,是以IP网络为基础,利用宽带网络为用户 提供交互式服务的一种业务,通过流媒体方式将经数字化处理后的音视频节目 以IP组播的方式提供给用户。频道切换时间是IPTV业务服务质量的重要指标之一,快速的频道切换能显 著提升IPTV业务的用户体验。在传统电视技术中,所有频道内容一般是按频分复用的方式同时发送到 媒体接收设备的,如目前常用的有线电视(Cable TV),如果媒体接收设备 要切换频道,只需要调谐到相应频道的播放频率或频带上。对于IPTV而言,考虑传输带宽等因素的限制,是按照需要将部分媒体 的内容发送到媒体接收设备的,而不是同时发送所有频道的内容,由于此时 频道切换涉及到媒体接收设备和网络的信令交互过程,因此可能导致整个切 换过程的各个环节出现延迟,从而影响终端用户的最终体验。其中,整个切 换过程中时延一般出现在以下三个环节1 、冲妄入节点处理IGMP (Internet Group Management Protocol,互耳关网组播管理协议)或MLD ( Multicast Listener Discovery,组播侦听者发现协议)时产生延迟;2、媒体流从媒体服务器传送到媒体接收者的传输延迟,以及媒体接收 者为了消除IP网络抖动从而对收到的IP包文进行消抖处理而引入的緩 存时延;3、媒体接收设备解码媒体流并显示所产生的延迟,主要包括音/视频解 码算法的处理时延以及搜寻节目特定信息和搜寻I帧的时延。所以,在IPTV的频道切换过程中,由于出现-渚多的延迟,例如上述三 种延迟,对IPTV业务的播放画面质量产生较大的影响。发明内容有鉴于此,本发明提供一种IPTV中频道切换的方法、 一种终端和一种媒体 服务器,用于提高画面的质量,提高用户的业务体验质量。本发明实施例提供了一种IPTV中的频道切换方法,终端切换到目标频 道后,该方法包4舌对收到的第一个组播RTP包进行检查,如果发现当前帧是非I帧,向媒 体服务器发送传输I帧的请求消息;终端接收媒体服务器发送的以I帧为起始帧的媒体流。本发明实施例还提供了一种IPTV中的频道切换方法,媒体服务器接收 终端发送的传输I帧的请求消息,所述传输I帧的请求消息为终端切换到目 标频道后,该方法包4舌对收到的第一个组播RTP包进行检查,发现当前帧为非I帧时向媒体服 务器发送的;媒体服务器向终端发送以I帧为起始帧的媒体流。 本发明实施例还才是供了一种终端,该终端包括卩险测单元,用于当终端切换到目标频道后,对目标频道的第 一个组播RTP 包进行检查,确定是否为I帧;处理单元,用于当所述第一个组播RTP包为非I帧时,向媒体服务器发 送传输I帧的请求消息;接收单元,用于接收媒体服务器发送的以I帧为起始帧的媒体流。本发明实施例还提供了 一种媒体服务器,该媒体服务器包括接收单元,用于接收终端发送的传输I帧的请求消息,所述传输I帧的 请求消息为终端切换到目标频道后,对收到的第一个组播RTP包进行检查,发现当前帧为非I帧时发送的;发送单元,用于向终端发送以I帧为起始帧的々某体流。 与现有技术相比,本发明实施例中,通过在媒体服务器上对直播视频流中最新发送的GOP (Group Of Pictures,图片组)序列进行缓存,当终端切换到用 户目标频道后,如果发现收到的第一个报文不是I帧,就发送传输I帧的请求消 息,要求发送以I帧为起始帧的媒体流,终端接收到以I帧为起始帧的媒体流后 就能解码和输出,从而有效提高画面的质量,有效消除时延的体现,提高用户 的业务体验质量。
图1为本发明一较佳实施方式之IPTV系统结构示意图; 图2为本发明第 一 实施例的频道切换中各网元的交互流程图; 图3为本发明第二实施例的频道切换中各网元的交互流程图; 图4为本发明另一较佳实施方式之IPTV系统结构示意图; 图5为本发明另一较佳实施方式之IPTV系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施方 式及附图,对本发明作进一步详细的说明。在IPTV的频道切换过程所出现时延的各个环节中,I帧时延是比较主要和 关键的时延。MPEG编码将画面(即帧)分为I帧、P帧、B帧三种,其中,I是内部编 码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,I 帧包含一个静态画面中最全面的信息,可以独立的由解码器解码生成画面,其编解码完全由自身决定,而不需要依赖其它帧;P帧和B帧记录的是相对于I 帧的变化,P帧要依赖前面的I帧才能完成编解码;而B帧要依赖于当前的I帧 和相关的P帧才能完成编解码。因此,I帧在媒体流的编解码中十分重要,解码 器必须要收到I帧才能开始解码。所以,降低等待I帧的时延,对提高频道切换 的速度效果非常明显。
如图l所示,为本发明实施例的一种IPTV系统结构框图,如图l所示,该 IPTV系统包括头端20、媒体服务器21、接入设备22、终端23、 EPG服务器24、 应用服务器25。
其中,头端20为提供节目内容的源头设备,用于将非IPTV网络的节目内 容转换成适合在IPTV网络中传输的形式。如实际中,为节省带宽,头端20可 以将通过卫星传输的基于MPEG-2编码格式的直播节目内容接收下来后,转码 成基于H.264编码格式的节目内容,再将重新生成的直播节目内容按照IP组播 方式的输入到IPTV网络中供用户观赏,例如传给IPTV网络中的媒体服务器21。
媒体服务器21 —般在本地存储节目内容,用于为终端23提供VOD ( Video on Demand,视频点播)业务,本发明实施例中是基于媒体服务器21来加快直播 业务的快速频道切换。
节目部署时,头端20将直播节目推送到媒体服务器21,媒体服务器21对 直播视频流中最新发送的GOP序列进行緩存。即媒体服务器21在节目部署时 加入从头端20过来的组播报文的组播组,接收直播频道的节目内容,并将接收 到的报文中最新的GOP序列去掉IP层的封装后保存在循环緩存中,緩存深度需 要大于该直播节目的I帧间隔周期。 一个GOP序列就是一组连续的画面。媒体 服务器21的緩存中保存的是最新的GOP序列,当媒体服务器21从组播报文中 收到I帧所对应的报文时,将新收到的I帧所对应的寺艮文放入循环緩存,I帧随 后的P帧和B帧所对应的才艮文也纟皮力文入循环纟爰存。
例如,假设々某体服务器21从头端20收到的帧序列如下
II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15 B16 P17 B18 P19 B20当媒体服务器21从组播报文中收到II帧所对应的报文时将新收到的II帧 所对应的报文放入緩存,II帧随后的P帧和B帧所对应的报文也被放入緩存。 例如j某体月良务器21收到P10时》爰存的内容为II P2 B3 P4 B5 P6 B7 P8 B9 PIO。 当媒体服务器21收到P15帧报文后达到循环緩存的容量,则收到的新的报文后 从头开始填充緩存,例如媒体服务器收到P17时緩存的内容为B16P17B3P4 B5 P6 B7 P8 B9P10B11 112 P13 B14 P15。
为了减少组播加入的时延,在节目部署时,头端20同样将直播节目内容推 送到了接入设备22上,即接入设备22也加入组^番组-接收组播报文,实际中比 较常见的接入设备22可以为IP数字用户线接入复用器(IP-Digital Subscriber Line Access Multiplexer, IP-DSLAM)或千兆以太网无源光网络(Gigabit Ethernet Passive Optical Networks, GEPON)接入设备。这样,接入设备22上就总能收 到头端20传过来的组播流,终端23接入时,接入设备22就可以将组播数据发 给终端23。
在实际组网中,也可以由媒体服务器21接收到直播节目内容之后将直播节 目内容推动到接入设备22。
终端23开机后与应用服务器25交互进行必要的鉴权。终端23鉴权通过后, 通过与EPG ( Electronic Program Guide,电子节目菜单)服务器24的交互获得 直播频道列表信息。
该直播频道列表信息中除了可以包含正常的直播节目的组播IP地址和用于 对直播节目音视频码流进行解码的编解码参数信息外,还包括为终端23提供快 速频道切换的媒体服务器21的IP地址和端口号信息,当终端23在进行快速频 道切换时,通过所述快速频道切换的媒体服务器21的IP地址及端口号与所述快 速频道切换的媒体服务器21进行交互。
例如,如下是按照SDP (Session Description Protocol,会话描述协议)形式 给出直播频道列表中某个频道参数信息的示例〃协议版本
0=陽2890844526 2890842807 IN IP4 192.16.24.202
〃会话标识
s=SDP Session
〃会话名字
a=control: sdp:〃ts.example.com/twister/cctv 1
〃控制URL
m=video 7722 MP2T /AVP 33
〃在RFC3551中定义33为
MPEG-2 TS流对应的PT类型
c=INIP4 224.2.1.183
〃节目的组播IP地址
a=rtcp:3021 IN IP4 126.16.64.4
〃媒体服务器21接收RTCP请
求消息的IP地址和端口号。
终端23接收接入设备22发送的节目内容,如果终端23需要切换频道,按 照正常切换频道的方式切换到目标频道,即通过IGMP消息加入目标频道所对 应的组播组。接入设备22完成IGMP消息处理后,将所述用户目标频道的组播 报文转发给终端23。
例如,参照前述的SDP,如果要加入某一目标频道,则加入该目标频道对 应的组播组224.2.1.183。
终端23根据获得的所述直播频道列表信息中的直播节目的组播IP地址,通 过IGMP消息加入目标频道所对应的组、!番组。
接入设备22完成IGMP消息处理后,将所述目标频道的组播报文转发给终 端23。
终端23对收到第 一个组播RTP包进行检查,如果发现当前帧不是I帧,则 向媒体服务器21发送传输I帧的请求消息,要求媒体服务器21发送以I帧为起 始帧的媒体流。
例如,i某体服务器21当前缓存的目标频道的内容为
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端23切换到目标频道后,当前接收的帧为P6帧,由于P帧不能解 码出图像的主要部分,当等到接收下一个I帧时才开始解码可能会表现出传输的延时。所以,为提高画面质量,使得终端23切换到目标频道后解码出的画面是 静态画面中最全面的信息,进而减少时延的表现,则终端23判断当前接收的帧 不是I帧时,就向媒体服务器21发送传输I帧的请求消息,要求媒体服务器21 发送以I帧为起始帧的々某体流。
例如,终端23可以通过向々某体服务器21发送扩展的RTCP (Real-time Transport Control Protocol,实时传输控制协议)请求消息,要求媒体服务器21 发送以I帧为起始帧的媒体流。
所述扩展的RTCP请求消息中包括终端23当前收到的目标频道的RTP包序 列号以及可以进一步包括终端23接入的线路带宽、终端23緩冲区大小信息、 终端23接收报文的IP地址和终端23接收报文的UDP端口号信息。
所述扩展的RTCP请求消息的报文格式可以有多种构造方式,只要包含上 述当前终端23收到的目标频道的RTP包序列号或者进一步包括终端23接入的 线路带宽、终端23緩冲区大小信息,终端23接收"l艮文的IP地址和终端23接收 报文的UDP端口号信息即可。例如,可根据实际应用需要,扩展应用定义的RTCP 报文(Application-Defined RTCP Packet, APP ) , APP寺艮文才各式如下
0 12 3
0 12345 67890 1234567890 1234567890 1 +_+_+-+_+■+■+■+-+-+_+_+_+■+_+_+_+ +_+ +_+-+ +■+■+_+■+ +_+ + + +■+
|V=2|P| subtype IPT=APP=204 | length |
+_+_+—+_+■+_+_+—+_+ +_+_+—+_+_+ + + +_+_+_+■+_+_+_+_+_+_+_+■+-+_+
I SSRC/CSRC I
+-+ +-+-+-+-+_+-+-+-+-+ + +■+_+-+-+ + +_+-+ +-+-+_+-+-+-+_+_+_+-+
I name (ASCII) |
+_+ +_+-+_+■+■+_+_+ +_+_+_+-+ +_+_+ +_+_+ +_+■+_+_+ + +_+_+_+_+ +
I application-dependent data ...
+_+■+_+_+ +■+_+■+-+_+_+_+■+_+_+ + +■+_+_+_+ +■+■+_+_+
APP报文的包类型(packettype, PT)固定为204 bits,子类型subtype(5bits)可以根据实际应用进行扩展,APP报文主要是利用应用相关数据 application-d印endentdata信元来传输收到的目标频道的RTP包序列号、终端23 接收重传报文的UDP端口号、终端23接收重传报文的IP地址、终端23接入的 线路带宽和终端23緩冲区大小等相关信息,本实施例中,可以定义application -dependent data信元部分如下
收到的目标频道的RTP包序列号 (16bits)
终端接收重传报文的UDP端口号 (16bits)
终端接收重传报文的IP地址(32bits)
终端接入的线路带宽(32bits,单位为bit/s)
终端缓冲区Buffer(32bits,单位为byte)
媒体服务器21收到所述传输I帧的请求消息后,向终端22发送以I帧为
起始帧的媒体;,
云
所以,当终端23切换到目标频道后,当接收的当前帧为非I帧时,由于重 新请求媒体服务器21传输以I帧为起始帧的媒体流,所以终端23解码出的图像 是静态画面中最全面的信息,所以终端23显示出的图像体现不出来时延,画面 质量比较高。
例如,假设媒体服务器21需要从头端20接收的目标频道的内容为 II P2 B3 P4 B5 P6 B7 P8 B9P10B11 I12P13B14P15 媒体服务器21当前緩存的目标频道的内容为 II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端23切换到目标频道后,媒体服务器21发送的当前帧为P8帧,媒 体服务器21接收到终端23发送的传输I帧的请求消息后,向终端23发送以I 帧为起始帧的媒体流时,所述媒体流包括当前帧之前的最近I帧,以及当前帧与 最近I帧之间的内容。
例如,媒体服务器21向终端23发送当前P8帧之前最近的II帧,以及该Il帧之后的i某体流,即II P2 B3 P4 B5 P6 B7。或者,々某体服务器21只向终端 23发送当前P8帧之前最近的II帧,即Il,只发Il帧并让终端基于Il帧对P8 帧进行解码会导致图像质量有所下降,但是这时可以基于II帧快速解码显示新 的频道,降低了切换时延。
由于终端23切换到目标频道后,接收媒体服务器21发送的媒体流总是以I 帧为起始帧的媒体流,所以终端23解码出的图像是静态画面中最全面的信息, 所以终端23显示出的图像体现不出来时延,画面质量比较高。
另外,媒体服务器还可以根据自己的緩存情况来计算终端收到的RTP包相 对于之前最近的I帧的时间,并根据I帧周期计算出终端收到下一个I帧的等待 时延,再按照一定的策略决定是否重发,如可以根据终端当前所收到的报文、 节目的I帧间隔周期和系统对切换时间的要求来判断是否需要重发
如果终端收到下一个I帧的等待时延小于预定的阈值,则媒体服务器可以不 做任何处理,其中阈值可以根据系统对切换时间的要求来设定;
如果终端收到下一个I帧的等待时延大于预定的阈值,则可以将之前最近的 I帧、以及I帧到当前帧之间的报文重新发送给终端。
另外,为进一步提高画面的质量,媒体服务器21收到终端23发送的扩展 的RTCP请求消息后,可以根据所述扩展的RTCP请求消息获知当前终端23已 经收到了那个RTP包,并且还可以知道该终端23的接入带宽和緩沖区大小。
所以,为了快速填充终端23的緩沖区,从而减少緩沖时延,媒体服务器21 在发送Il帧至当前帧P8之间的报文时,发送该报文的发送速率大于正常报文的
收的报文的速率,这样也可以减少与组播报文中即将到来的I帧的沖突。
终端23收到II帧报文后就可以开始解码输出,之后按照收到的组播报文连 续解码。
进一步地,如果基于对所述扩展的RTCP请求消息中的终端23接入的线路 带宽和终端23緩冲区Buffer信息分析发现,终端23接入的线路带宽或者终端緩23冲区Buffer偏小,考虑到视频流中的B帧主要是用来增加帧频,并不影响 视频的主要画面,所以媒体服务器21在报文发送时,可以将II帧至当前帧P8 的报文中的B帧所对应的RTP包丢弃,即不发送Il帧至当前帧P3之间的B帧 给终端23,从而减小发送报文对终端23接入的线路带宽和终端23緩冲区Buffer 的压力,以减少时延。
例如,媒体服务器21当前緩存的目标频道的内容为
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端切换到目标频道后, 一企测首先接收到的P8帧不是I帧后,向媒体 服务器请求I帧,媒体服务器接收到终端发送的传输I帧的请求消息后向终端发 送II帧,P2 P4以及P6帧(II帧与P8帧之间的非B帧)。这时媒体服务器 发送的是II P2 P4以及P6帧,不发送II帧至当前帧P8之间的B帧所对应的 RTP包。
另外,由于实际中I帧的数据量相对P帧大,为了降低对重传带宽的要求, 媒体服务器21还可以对需要传输的II帧做降质处理,降质处理后的II帧相对 原始Il帧数据量变小。
这样,在媒体服务器21上緩存的是降质后的II帧,媒体服务器21收到终 端23发送的传输I帧的请求消息后,就将降质的II帧发送给终端23。
对Il帧的降质处理可以采用先解码,然后再根据比较低的编码参数重新编 码的方式,以降低对重传带宽的要求。也可以在参数域进行,例如较为常用的 降质处理方式为减少运动矢量的量化字长,并将高频的DCT系数置为O或者 进行重新量化,如对图像编码的DCT参数进行重新量化,以降低量化精度,从 而减小重发报文对终端23接入的线路带宽和终端23緩冲区Buffer的压力,以 减少时延。
根据本发明另 一个实施例,如果媒体服务器21上具有实时编解码转换能力, 还可以利用媒体服务器21实时生成I帧来进一步降低时延和对终端23接入的带 宽的要求。例如,假设媒体服务器21从头端20收到的某个目标频道的帧序列为 II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bl 1 112 P13 B14 P15 ...,
媒体服务器21每收到一帧图像信号就对其进行解码,恢复原始图像Ol 02 03 04 05 06 07 08 09 O10…。
终端23切换到用户目标频道后,如果收到的第 一个RTP包是B7帧的数据, 则终端23通过扩展的RTCP请求消息向媒体服务器21请求传输I帧。
媒体服务器21收到该传输I帧的请求消息,获知终端23收到B7帧的数据。 此时可以才艮据B7之前的帧,如P6或B5或P4或B3或P2,重新编码为I帧编 码数据106或105或104或103或102。以将当前帧B7之前最近P6帧重新编码为I 帧编码数据Io6为例,媒体服务器21除解码P6帧获得对应的帧图像06,还对 当前帧(即B7 )之前的最近帧图像(即06 )按照I帧^^莫式重新编码生成对应的 1帧编码数据106,再将重新编码的数据Io6发送给终端23。这样终端23只要收 到IQ6后就可以开始解码,而々某体服务器21不用发送II帧以及II到P6帧之间 的数据。即媒体服务器21传输的是当前帧图像B7之前最近的帧图像06被重 新编码的106。
这样终端23收到的报文如下B7Io6P8B9P10Bll I12P13B14P15…。 另外,媒体服务器21还可以按照一定的帧间隔来编码I帧。例如还是上面 的帧序列,媒体服务器21可以将P4、 P8和P10重新按照I帧模式编码,这样 如果终端23切换到该频道后收到的第一个RTP包是B7帧的数据且终端23向 媒体服务器21请求传输I帧时,当前帧B7之前最近的且被重新编码为I帧的帧 是P4,所以媒体服务器21发送按照I帧模式重新编码的104帧以及104帧之后的 帧数据B5 P6,而不需要传输II帧到B3之间的帧数据。
另外,由于实际中I帧的数据量相对P帧大,为了降低对重传带宽的要求, 媒体服务器21可以对需要传输的按照I帧模式重新编码的I帧做降质处理。这 样,媒体服务器21收到终端23发送的传输I帧的请求消息后就将降质的I帧发 送给终端23,从而减小报文对终端23接入的线路带宽和终端23緩冲区Buffer的压力,以减少时延。
另外,从减少网络成本的角度考虑,媒体服务器21的编解码能力可以放在 最高层次的媒体服务器上,其所编码的I帧报文通过单独的组播通道传输到靠近
终端23的媒体服务器上,靠近终端23的媒体服务器收到组播的I帧报文后緩存 下来,当收到终端23的扩展的RTCP请求消息时,靠近用户的媒体服务器再将 所述缓存的I帧报文发给终端23。
根据本发明提供的另一实施例,如图2所示,为本发明一较佳实施例所提 的一种频道切换方法的流程示意图,该频道切换方法的具体实施步骤可以如下。
步骤IOI、头端将直播节目推送到媒体服务器,媒体服务器对直播视频流中 最新发送的GOP序列进行緩存。
头端是提供节目内容的源头设备,用于将非IPTV网络的节目内容转换成适 合在IPTV网络中传输的形式。
媒体服务器一般在本地存储节目内容,用于为用户提供VOD (Video on Demand,视频点播)业务,本发明实施例中是基于媒体服务器来加快直播业务 的快速频道切换。
节目部署时,头端将直播节目推送到媒体服务器,即媒体服务器在节目部 署时加入从头端过来的组播报文的组播组,接收直播频道的节目内容,并将接 收到的报文中最新的GOP序列去掉IP层的封装后保存在循环緩存中,緩存深度 需要大于该直播节目的I帧间隔周期。 一个GOP序列就是一组连续的画面。媒 体服务器21的緩存中保存的是最新的GOP序列,当4某体服务器21从组播报文 中收到I帧所对应的报文时,将新收到的I帧所对应的报文放入緩存,I帧随后 的P帧和B帧所对应的4艮文也祐:放入循环緩存。
例如,假设媒体服务器21从头端20收到的帧序列如下 II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15 B16 P17 B18 P19 B20 P21 B22 123
当媒体服务器21从组播报文中收到II帧所对应的报文时将新收到的II帧所对应的报文放入緩存,II帧随后的P帧和B帧所对应的报文也被放入緩存。
例如J某体月良务器21 4丈到P10时》爰存的内容为II P2 B3 P4 B5 P6 B7 P8 B9 PIO。 当媒体服务器21收到P15帧报文后达到循环緩存的容量,则收到的新的报文后 从头开始填充緩存,例如媒体服务器收到P17时緩存的内容为P16P17B3P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15。
步骤102、头端将直播节目内容推送到接入设备。
为减少组播加入的时延,在节目部署时,头端同样将直播节目内容推送到 了接入设备上,即接入设备也加入组播组接收组播报文,实际中比较常见的接 入设备包括IP数字用户线接入复用器和千兆以太网无源光网络接入设备。这样, 接入设备上就总能收到头端传过来的组播流,用户接入时,接入设备就可以将 组播数据发给用户。
该步骤中,在实际组网中,也可以由媒体服务器接收到直播节目内容之后 将直播节目内容推动到接入设备。
步骤103、终端开机后与应用服务器交互进行必要的鉴权。
步骤104、终端鉴权通过后,通过与EPG服务器的交互获得直播频道列表
4吕息。
终端鉴权通过后,通过与EPG服务器的交互获得直播频道列表信息。该直 播频道列表信息中除了包含正常的直播节目的组播IP地址和用于对直播节目音 视频码流进行解码的编解码参数信息外,还包括为终端提供快速频道切换的媒 体服务器的IP地址和端口号信息,当终端在进行快速频道切换时,通过所述快 速频道切换的媒体服务器的IP地址及端口号与所述快速频道切换的媒体服务器 进行交互。
例如,如下是按照SDP ( Session Description Protocol,会话描述协议)形式 给出直播频道列表中某个频道参数信息的示例
v=0 //协议版本 0=- 2890844526 2890842807 IN IP4 192.16.24.202 〃会话标识s=SDP Session
〃会话名字
a=control: sdp:〃ts.example.com/twister/cctvl〃4空制URL
m=video 7722 MP2T /AVP 33
〃在RFC3551中定义33为
MPEG-2 TS流对应的PT类型
c=INIP4 224.2.1.183
〃节目的组播IP地址
a=rtcp:3021 IN IP4 126.16.64.4
〃媒体服务器接收RTCP请求
消息的IP地址和端口号。
步骤105、终端接收接入设备发送的节目内容,如果终端需要切换频道,按 照正常切换频道的方式切换到目标频道,即通过IGMP消息加入目标频道所对 应的纽i番组。
例如,参照步骤104的描述,如果要加入某一目标频道,则加入该目标频 道对应的组播组224.2.1.183。
终端根据获得的所述直播频道列表信息中的直播节目的组播IP地址,通过 IGMP消息加入目标频道所对应的纽i番组。
步骤106、接入设备完成IGMP消息处理后,将所述用户目标频道的组播报 文转发给终端。
步骤107、终端对收到第一个组播RTP包进行检查,如果发现当前帧是非I 帧,则向媒体服务器发送传输I帧的请求消息,要求々某体服务器发送以I帧为起 始帧的媒体流。
例如,媒体服务器当前緩存的目标频道的内容为
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端切换到目标频道后,当前接收的帧为P6帧,由于P帧不能解码出 图像的主要部分,当等到接收下一个I帧时才开始解码可能会表现出传输的延 时,所以,为提高画面质量,使得终端切换到目标频道时解码出的画面是静态 画面中最全面的信息,进而减少时延的表现,则终端判断当前接收的帧不是I 帧,就向媒体服务器发送传输I帧的请求消息,要求媒体服务器发送以I帧为起始帧的媒体流。
例如,终端可以通过向媒体服务器发送扩展的RTCP请求消息,要求媒体
服务器发送最近的I帧。所述扩展的RTCP请求消息中包括当前终端收到的目标 频道的RTP包序列号以及可以进一步包括终端接入的线路带宽、终端缓冲区大 小信息、终端接收报文的IP地址和终端接收报文的UDP端口号信息。
所述扩展的RTCP请求消息的报文格式可以有多种构造方式,只要包含上 述当前终端收到的目标频道的RTP包序列号或者进一步包括终端接入的线路带 宽、终端緩冲区大小信息,终端接收报文的IP地址和终端接收报文的UDP端口 号信息即可。例如,可#4居实际应用需要,扩展应用定义的RTCP l艮文 (Application-Defined RTCP Packet, APP ) , APP报文格式如下
0 12 3
0 1234567890 1234567890 1234567890 1 +_+_+_+_+_+_+_+_+_+_+-+ + +_+■+_+_+_+_+■+_+_+ +■+■+■+_+_+-+—+_+_+
|V=2|P| subtype IPT=APP=204 | length |
+-+ +-+-+_+-+■+_+-+_+-+-+-+_+_+—+-+_+-+-+—+-+_+-+■+-+-+ + +■+-+-+
I SSRC/CSRC I
+-+-+-+-+ +-+_+-+-+ + +_+-+■+_+-+ +■+■+_+-+■+_+-+-+-+_+-+-+ +_+_+
I name (ASCII) |
+■+_+_+_+_+_+_+_+_+_+_+ + + +■+_+_+_+_+_+_+_+_+_+_+—+ +_+ + +■+■+
I application-dependent data …
+-+_+_+_+_+_+_+_+■+_+ +_+_+_+_+-+_+ +■+_+_+_+_+_+■+■+
APP报文的包类型(packettype, PT)固定为204 bits,子类型subtype(5
bits)可以根据实际应用进行扩展,APP报文主要是利用应用相关数据
application-dependent data信元来传输收到的目标频道的RTP包序列号、终端接
收重传报文的UDP端口号、终端接收重传报文的IP地址、终端接入的线路带宽
和终端緩沖区大小等相关信息,本实施例中,可以定义application -dependent data
信元部分如下收到的目标频道的RTP包序列号 C16bits)
终端接收重传报文的UDP端口号 (16bits)
终端接收重传报文的IP地址(32bits)
终端接入的线路带宽(32bits,单位为bit/s)
终端缓冲区Buffer(32bits,单位为byte)
步骤108、媒体服务器收到所述传输I帧的请求消息后,向终端发送以I 帧为起始帧的媒体流。
所以,当终端切换到目标频道后,当接收的当前帧为非I帧时,由于重新请 求媒体服务器传输以I帧为起始帧的媒体流,所以终端解码出的图像是静态画面 中最全面的信息,所以终端显示出的图像体现不出来时延,画面质量比较高。
例如,假设媒体服务器需要从头端接收的目标频道的内容为
II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15
媒体服务器当前緩存的目标频道的内容为
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端切换到目标频道后,媒体服务器发送的当前帧为P8帧,媒体服务 器接收到终端发送的传输I帧的请求消息后,向终端发送以I帧为起始帧的媒体 流时,媒体流包括当前帧之前的最近I帧,以及当前帧与最近I帧之间的内容。
例如,媒体服务器21向终端23发送当前P3帧之前最近的II帧,以及该 Il帧之后的i某体流,即II P2 B3 P4 B5 P6 B7。或者,々某体服务器21只向终端 23发送当前P8帧之前最近的II帧,即Il,只发Il帧并让终端基于Il顿对P8 帧进行解码会导致图像质量有所下降,但是这时可以基于Il帧快速解码显示新 的频道,降低了切换时延。
由于终端切换到目标频道后,接收媒体服务器传输的媒体流总是以I帧为起 始帧的媒体流,所以终端解码出的图像是静态画面中最全面的信息,所以终端 显示出的图像体现不出来时延,画面质量比较高。媒体服务器还可以根据自己的緩存情况来计算终端收到的RTP包相对于之 前最近的I帧的时间,并根据I帧周期计算出终端收到下一个I帧的等待时延, 再按照一定的策略决定是否重发,如可以根据终端当前所收到的报文、节目的I
帧间隔周期和系统对切换时间的要求来判断是否需要重发
如果终端收到下一个I帧的等待时延小于预定的阈值,则媒体服务器不做任 何处理,其中阈值可以根据系统对切换时间的要求来设定;
如果终端收到下一个I帧的等待时延大于预定的阈值,则将之前最近的I帧、 以及I帧到当前帧之间的报文重新发送给终端。
另外,为进一步提高画面的质量,媒体服务器收到该扩展的RTCP请求消 息后,可以根据所述扩展的RTCP请求消息获知当前终端已经收到了那个RTP 包,并且还可以知道该终端的接入带宽和緩冲区大小。
所以,为了快速填充终端緩冲区从而减少緩冲时延,媒体服务器在发送II 帧至当前帧P8之间的报文时,发送该报文的发送速率大于正常报文的发送速率,
速率,这样也可以减少与组#^艮文中即将到来的I帧的冲突。
终端收到II帧报文后就可以开始解码输出,之后按照收到的组播报文连续 解码。
进一步地,如果基于对所述扩展的RTCP请求消息中的终端接入的线路带 宽和终端緩冲区Buffer信息分析发现,终端接入的线路带宽或者终端緩冲区 Buffer偏小,考虑到视频流中的B帧主要是用来增加帧频,并不影响视频的主 要画面,所以媒体服务器在报文发送时,可以将I1帧至当前帧P3的报文中的B 帧所对应的RTP包丢弃,即不发送Il帧至当前帧P3之间的B帧给终端,从而 减小发送报文对终端接入的线路带宽和终端緩冲区Buffer的压力,以减少时延。
例如,媒体服务器当前緩存的目标频道的内容为
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端切换到目标频道后,检测首先接收到的P8帧不是I帧后向媒体服务器请求I帧J某体服务器接收到终端发送的传输I帧的请求消息后向终端发送
II帧,P2 P4以及P6帧(II帧与P8帧之间的非B帧)。这时i某体服务器发送 的是II P2 P4以及P6帧,不发送II帧至当前帧P8之间的B帧所对应的RTP 包。
另外,由于实际中I帧的数据量相对P顿大,为了降低对重传带宽的要求, 媒体服务器还可以对需要传输的II帧做降质处理,降质处理后的II帧相对原始 II帧数据量变小。
这样,在媒体服务器上緩存的是降质后的II帧,媒体服务器收到终端发送 的传输I帧的请求消息后,就将降质的II帧发送给终端。
对Il帧的降质处理可以采用先解码,然后再根据比较低的编码参数重新编 码的方式,以降低对重传带宽的要求。也可以在参数域进行,例如较为常用的 降质处理方式为减少运动矢量的量化字长,并将高频的DCT系数置为0或者 进行重新量化,如对图像编码的DCT参数进行重新量化,以降低量化精度,从 而减小重发报文对终端接入的线路带宽和终端緩冲区Buffer的压力,以减少时 延。
本发明提供的另一个实施例,如图3所示,为一种频道切换方法的流程示 意图,该频道切换方法与第一实施例中提供的频道切换方法基本类似,不同点 在于在步骤108中媒体服务器实时生成I帧并发送给终端,具体实施步骤如下。 步骤201,头端将直播节目推送到媒体服务器,媒体服务器对直播视频流中 最新发送的GOP序列进行緩存。
步骤202、头端将直播节目内容推送到接入设备。
步骤203、终端开机后与应用服务器交互进行必要的鉴权。
步骤204、终端鉴权通过后,通过与EPG服务器的交互获得直播频道列表
4吕息。
步骤205、终端接收接入设备发送的节目内容,如果终端需要切换频道,按 照正常切换频道的方式切换到目标频道,即通过IGMP消息加入目标频道所对应的组4番纟且。
步骤206、接入设备完成IGMP消息处理后,将所述用户目标频道的组播报
文转发给终端。
步骤207、终端对收到第一个组播RTP包进行检查,如果发现不是I帧,则 向媒体服务器发送传输I帧的请求消息。
步骤208、媒体服务器收到该传输I帧的请求消息后,实时生成I帧并发送 给终端。
为减少对终端接入的线路带宽和终端緩冲Buffer大小的压力,如果媒体服 务器上具有实时编解码转换能力,还可以利用媒体服务器实时生成I帧来进一步 降低时延和对终端接入的带宽的要求。
例如,假设媒体服务器从头端收到的某个目标频道的帧序列为 II P2B3P4B5P6B7P8B9P10B11 I12P13B14P15…, 媒体服务器每收到一帧图像信号就对其进行解码,恢复原始图像Ol 02 03 04 05 06 07 08 09 010 ...。例如,终端切换到用户目标频道后,收到的第一个 RTP包是B7帧的数据,则终端向媒体服务器通过扩展的RTCP请求消息请求传 输I帧时,媒体服务器获知终端收到了 B7帧的数据,此时可以根据B7之前的 帧,如P6或B5或P4或B3或P2,重新编码为I帧编码数据106或105或104或 103或Io2。以将当前帧B7之前最近P6帧重新编码为I帧编码数据106为例,媒 体服务器除解码P6帧获得对应的帧图像06,还对当前帧(即B7)之前的最近 帧图像(即06 )按照I帧模式重新编码生成对应的I帧编码数据106,再将重新 编码的数据106发送给终端。这样终端只要收到106后就可以开始解码,而々某体 服务器不用发送II帧以及II到P6帧之间的数据。即媒体服务器传输的是当前 帧之前最近的帧图像06被重新编码生成的106。
这样终端收到的才艮文如下B7IO6P8B9P10Bll 112 P13 B14P15...。 另夕卜,i某体服务器还可以按照一定的帧间隔来编码I帧。例如还是上面的帧 序列,媒体服务器可以将P4、 P8和P10重新按照I帧模式编码,这样如果终端切换到该频道后收到的第一个RTP包是B7帧的数据且终端向媒体服务器请求 传输I帧时,当前帧B7之前最近的且被重新编码为I帧的帧是P4,所以媒体服 务器传输按照I帧模式重新编码的104帧以及104帧之后的帧数据B5 P6,而不需 要传输Il帧到B3之间的帧数据。
另外,由于实际中I帧的数据量相对P帧大,为了降低对重传带宽的要求, 媒体服务器可以对需要传输的按照I帧模式重新编码的I帧估支降质处理。这样, 媒体服务器收到终端发送的传输I帧的请求消息后就将降质的I帧发送给终端, 从而减小报文对终端接入的线路带宽和终端緩沖区Buffer的压力,以减少时延。
另外,从减少网络成本的角度考虑,媒体服务器的编解码能力可以放在最 高层次的媒体服务器上,其所编码的I帧报文通过单独的组播通道传输到靠近用 户的媒体服务器上,靠近用户的媒体服务器收到组播的I帧报文后緩存下来,当 收到终端的扩展的RTCP请求消息时,靠近用户的媒体服务器再将所述緩存的I 帧报文发给终端。
根据本发明的另 一个实施例,图1对应实施例所描述的媒体服务器21和终 端23的逻辑结构进一步可以参考图4,如图4所示,媒体服务器21可以进一步 包括接收单元401, I帧选取单元403,发送单元405、缓存单元407。终端23 可以进一步包括接收单元402,检测单元404,处理单元406。
对所述媒体服务器21和终端23切换过程中的详细过程,可以参考图1所 对应系统实施例的描述,下面仅就切换时,所述+某体服务器21和终端23的工 作过程进行描述。
终端23接收接入设备22的节目内容时,接收单元402接收接入设备22发 送的节目内容,如果终端23需要切换频道,按照正常切换频道的方式切换到目 标频道。
切换发生过程中,检测单元404对收到的目标频道的第一个组播RTP包进 行检查,如果发现当前帧是非I帧,将结果通知处理单元406,处理单元406向 媒体服务器21发送传输I帧的请求消息,要求媒体服务器21发送以I帧为起始帧的媒体流。所述传输I帧的请求消息可以通过扩展RTCP请求消息发送,具体 可以参考图1所对应系统实施例的描述。
例如,假设媒体服务器21需要从头端20接收的目标频道的内容为 II P2 B3 P4 B5 P6 B7 P8 B9P10B11 I12P13B14P15 媒体服务器21的緩存单元407当前緩存的目标频道的内容为 II P2 B3 P4 B5 P6 B7 P8 B9 P10
假设终端23切换到目标频道后,发送单元405发送的当前帧为P8帧,则 检测单元404可以判断当前帧为非I帧,处理单元406向媒体服务器21发送传 输I帧的请求消息,要求媒体服务器21发送以I帧为起始帧的媒体流。
接收单元401收到所述传输I帧的请求消息后,I帧选取单元403进行I帧 选取。
I帧选取单元403选取的I帧可以是当前帧之前的最近I帧。根据本发明的 另 一个实施例,所述媒体服务器21还可以包括判断单元409,用于判断终端收 到下一个I帧的等待时延是否小于预定的阈值,当判断单元409判断终端收到下 一个I帧的等待时延小于预定的阈值时,则媒体服务器不做任何处理,此时可以 直接丟弃终端的传输I帧的请求消息,其中阈值可以根据系统对切换时间的要求 来设定;当判断单元409判断终端收到下一个I帧的等待时延大于预定的阈值 时,则根据终端发送的传输I帧的请求消息,将以I帧为起始帧的媒体流发送给 终端。
根据本发明的另 一个实施例,I帧选取单元403还可以每收到一帧图像信号, 就对其进行解码,恢复原始图像,I帧选取单元403选取当前帧之前最近的且被 重新进行I帧模式编码的I帧。
如果I帧选取单元403选取的为当前帧之前的最近I帧,则发送单元405向 终端23发送以I帧为起始帧的媒体流可以包括当前帧之前的最近I帧及该最 近I帧之后的内容,例如II P2B3P4B5P6B7。或者只包括当前帧之前的最近 I帧,例如II。在本发明的另一个实施例中,I帧选取单元403选取当前帧之前最近的且被
重新进行I帧才莫式编码的I帧时,其具体可以如下所述。
接收单元401接收所述传输I帧的请求消息,获知终端23收到的当前帧为 非I帧,这时I帧选取单元403选取当前帧之前最近的且重新进行I帧模式编码 的I帧。发送单元405将该重新编码的I帧发送给终端23,这样终端23只要收 到该重新编码的I帧后就可以开始解码。
发送单元405向终端23发送以I帧为起始帧的J 某体流。 例如,假设媒体服务器21从头端20收到的某个目标频道的帧序列为 II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bl 1 112 P13 B14 P15…, 媒体服务器21每收到一帧图像信号,I帧选取单元403就对其进行解码, 恢复原始图像01 02 03 04 05 06 07 08 09 010 ...。例如,终端23切换到用 户目标频道后,接收单元402收到的第一个RTP包是B7帧的数据,检测单元 404检测为非I帧,则处理单元406向媒体服务器21通过扩展的RTCP请求消 息请求传输I帧。
接收单元401接收所述传输I帧的请求消息,获知终端23收到B7帧的数 据,当前帧B7之前最近的且重新进行I帧模式编码的帧为P6帧,这时I帧选取 单元403除解码P6帧获得对应的原始图像06外,还对原始图像06按照I帧 模式重新编码生成对应的I帧编码数据I06, I帧选取单元403选取当前帧(即 B7帧)之前最近的且进行I帧模式编码的I帧,即I06。发送单元405将重新编 码的数据Io6发送给终端23,这样终端23只要收到IQ6后就可以开始解码,而发 送单元405不用发送Il帧以及Il到P6巾贞之间的数据。
这样接收单元402收到的报文如下B7 I。6 P8 B9 P10 Bll 112 P13 B14 P15…。
所以,当终端23切换到目标频道后,当接收的当前帧为非I帧时,由于重 新请求媒体服务器21传输以I帧为起始帧的媒体流,所以终端23解码出的图像 是静态画面中最全面的信息,所以终端23显示出的图像体现不出来时延,画面质量比较高。
另外,I帧选取单元403还可以按照一定的帧间隔来编码I帧。例如还是上
面的帧序列,I帧选取单元403可以将P4、 P8和Pll重新按照I帧模式编码, 这样如果终端23切换到该目标频道后收到的第一个RTP包是B7帧的数据且处 理单元406向々某体服务器21请求传输I帧时,当前帧B7之前最近的且被重新 编码为I帧的帧是P4,所以I帧选取单元403选取当前帧(即B7帧)之前最近 的且进行I帧模式编码的I帧,即104。发送单元405发送按照I帧模式重新编码 的1(M帧以及Io4帧之后的帧数据B5 P6,而不需要传输Il帧到B3之间的帧数据。 所以,当终端23切换到目标频道后,当接收的当前帧为非I帧时,由于重 新请求媒体服务器21传输以I帧为起始帧的媒体流,所以终端23解码出的图像 是静态画面中最全面的信息,所以终端23显示出的图像体现不出来时延,画面 质量比较高。
根据本发明的另一个实施例,上述媒体服务器21和终端23的逻辑结构还 可以参考图5,如图5所示,I帧选取单元403可以进一步包括编码单元501、 选择单元502。
接收单元401接收所述传输I帧的请求消息,获知终端23收到的当前帧为 非I帧,编码单元501对当前帧之前最近的帧图像重新进行I帧模式编码。选择 单元502选择该重新进行I帧才莫式编码的I帧为々某体流的起始帧。发送单元405 将该重新编码的I帧发送给终端23,这样终端23只要收到该重新编码的I帧后 就可以开始解码。
发送单元405向终端23发送以I帧为起始帧的媒体流。 例如,假设i某体服务器21从头端20收到的某个目标频道的帧序列为 II P2B3P4B5P6B7P8B9P10B11 I12P13B14P15…, 媒体服务器21每收到一帧图像信号,编码单元501就对其进行解码,恢复 原始图^f象01 02 03 04 05 06 07 08 09 010 ...。例如,终端23切换到用户目 标频道后,接收单元402收到的第一个RTP包是B7帧的数据,检测单元404检测为非I帧,则处理单元406向々某体服务器21通过扩展的RTCP请求消息请 求传输I帧。
接收单元401接收所述传输I帧的请求消息,获知终端23收到B7帧的数 据,编码单元501对当前帧B7之前最近的帧图像06按照I帧模式重新编码生 成对应的I帧编码数据I06,选择单元502选取当前帧(即B7帧)之前最近的且 进行I帧才莫式编码的I帧,即I06。发送单元405将重新编码的数据106发送给终 端23,这样终端23只要收到106后就可以开始解码,而发送单元405不用发送 II帧以及Il到P6帧之间的凝:据。
这样接收单元402收到的报文如下B7 I06 P8 B9 P10 Bll 112 P13 B14 P15…。
另外,编码单元501还可以按照一定的帧间隔来编码I帧。例如还是上面的 帧序列,编码单元501可以将P4、 P8和P11重新按照I帧模式编码,这样如果 终端23切换到该目标频道后收到的第一个RTP包是B7帧的数据且处理单元406 向媒体服务器21请求传输I帧时,当前帧B7之前最近的且被重新编码为I帧的 帧是P4,所以选择单元502选取当前帧(即B7帧)之前最近的且进行I帧模式 编码的I帧,即104。发送单元405发送按照I帧模式重新编码的104帧以及104 帧之后的帧数据B5P6,而不需要传输Il帧到B3之间的帧数据。
所以,当终端23切换到目标频道后,当接收的当前帧为非I帧时,由于重 新请求媒体服务器21传输以I帧为起始帧的媒体流,所以终端23解码出的图像 是静态画面中最全面的信息,所以终端23显示出的图像体现不出来时延,画面 质量比较高。
本领域普通技术人员可以理解实现上述实施例中任意实施例的全部或部分 步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算 机可读取的存储介质中,所述的存储介质,如ROM/RAM、磁碟、光盘等。
综上所述,本发明实施例中,通过在媒体服务器上对直播视频流中最新发 送的GOP (Group Of Pictures,图片组)序列进行缓存,当终端切换到目标频道后,如果发现收到的第一个报文不是I帧,就发送RTCP (Real-time Transport Control Protocol,实时传输控制协议)扩展报文,终端接收到以I帧为起始帧的 报文后就能解码和输出,从而时延体现不明显,提高频道切换速度,提高用户 的业务体验质量。
但上述仅为本发明的较佳实施方式,并非用于限定本发明的保护范围,任 何熟悉本技术领域的技术人员应当认识到,凡在本发明的精神和原则范围之内, 所做的任何修饰、等效替换、改进等,均应包含在本发明的权利保护范围之内。
权利要求
1、一种IPTV中的频道切换方法,其特征在于,终端切换到目标频道后,该方法包括对收到的第一个组播RTP包进行检查,如果发现当前帧是非I帧,向媒体服务器发送传输I帧的请求消息;终端接收媒体服务器发送的以I帧为起始帧的媒体流。
2、 如权利要求l所述的方法,其特征在于,所述终端接收媒体服务器发送的 以I帧为起始帧的媒体流具体包括终端接收媒体服务器发送的以当前帧的最近I帧为起始帧的媒体流。
3、 如权利要求l所述的方法,其特征在于,所述终端接收媒体服务器发送的 以I帧为起始帧的媒体流具体包括终端接收媒体服务器发送的当前帧之前的最近I帧,所述当前帧的内容, 以及所述当前帧之后的媒体流。
4、 如权利要求l所述的方法,其特征在于,所述终端接收媒体服务器发送的 以I帧为起始帧的媒体流具体包括终端接收媒体服务器发送的当前帧之前的最近I帧,以及所述最近I帧之 后的媒体流。
5、 如权利要求l所述的方法,其特征在于,所述终端接收媒体服务器发送的 以I帧为起始帧的媒体流具体包括终端接收媒体服务器发送的当前帧之前的最近I帧,所述最近I帧与当前 帧之间的非B帧,当前帧以及当前帧之后的i某体流。
6、 如权利要求1所述的方法,其特征在于,所述终端接收媒体服务器发送的 以I帧为起始帧的々某体流具体包括终端接收媒体服务器发送的以重新进行I帧模式编码的I帧为起始帧的媒 体流,所述重新进行I帧模式编码的I帧为媒体服务器对当前帧之前最近的 帧图像进行I帧模式编码所得的I帧。
7、 如权利要求6所述的方法,其特征在于,终端接收媒体服务器发送的以重 新进行I帧模式编码的I帧为起始帧的媒体流具体包括终端接收媒体服务器发送的以重新进行I帧模式编码的并进行降质处理 的I帧为起始帧的媒体流。
8、 如权利要求1所述的方法,其特征在于,所述对收到的第一个组播RTP 包进行纟企查之前,还包括媒体服务器上对直播视频流中最新发送的图片组GOP序列进行缓存。
9、 一种IPTV的频道切换方法,其特征在于,媒体服务器接收终端发送的传 输I帧的请求消息,所述传输I帧的请求消息为终端切换到目标频道后,该 方法包括对收到的第一个组播RTP包进行检查,发现当前帧为非I帧时向媒体服 务器发送的;媒体服务器向终端发送以I帧为起始帧的媒体流。
10、 如权利要求9所述的方法,其特征在于,所述J 某体服务器向终端发送以 I帧为起始帧的媒体流具体包括所述媒体服务器向终端发送以当前帧的最近I帧为起始帧的媒体流。
11、 如权利要求9所述的方法,其特征在于,所述媒体服务器向终端发送以 I帧为起始帧的媒体流具体包括所述媒体服务器向终端发送当前帧之前的最近I帧,所述当前帧的内容, 以及所述当前帧之后的媒体流。
12、 如权利要求9所述的方法,其特征在于,所述媒体服务器向终端发送以 I帧为起始帧的媒体流具体包括所述媒体服务器向终端发送当前帧之前的最近I帧,以及所述最近I帧之 后的媒体流。
13、 如权利要求9所述的方法,其特征在于,所述媒体服务器向终端发送以 I帧为起始帧的媒体流具体包括媒体服务器向终端发送当前帧之前的最近I帧,所述最近I帧与当前帧之 间的非B帧,当前帧以及当前帧之后的媒体流。
14、 如权利要求9所述的方法,其特征在于,所述媒体服务器向终端发送以 I帧为起始帧的媒体流具体包括媒体服务器对当前帧之前最近的帧图像进行I帧模式编码得到I帧; 所述媒体服务器向终端发送以所述重新进行I帧模式编码的I帧为起始帧 的媒体流。
15、 如权利要求14所述的方法,其特征在于,媒体服务器对当前帧之前最近 的帧图像进行I帧模式编码得到I帧之后还包括对所述进行I帧模式编码得到的I帧进行降质处理。
16、 如权利要求9所述的方法,其特征在于,所述对收到的第一个组播RTP 包进行检查之前,还包括媒体服务器上对直播视频流中最新发送的图片组GOP序列进行緩存。
17、 一种终端,其特征在于,该终端包括检测单元,用于当终端切换到目标频道后,对目标频道的第一个组播RTP 包进行纟企查,确定是否为I帧;处理单元,用于当所述第一个组播RTP包为非I帧时,向媒体服务器发 送传输I帧的请求消息;接收单元,用于接收媒体服务器发送的以I帧为起始帧的媒体流。
18、 一种媒体服务器,其特征在于,该媒体服务器包括接收单元,用于接收终端发送的传输I帧的请求消息,所述传输I帧的请 求消息为终端切换到目标频道后,对收到的第一个组播RTP包进行检查,发 现当前帧为非I帧时发送的;发送单元,用于向终端发送以I帧为起始帧的i某体流。
19、 如权利要求18所述的媒体服务器,其特征在于,所述媒体服务器进一步 包括I帧选取单元,用于选取当前帧之前的最近I帧。
20、 如权利要求19所述的媒体服务器,其特征在于,所述I帧选取单元进一 步包括编码单元,用于对当前帧之前最近的帧图像进行I帧模式编码得到I帧; 选择单元,用于选择所述进行I帧模式编码得到的I帧作为所述的起始帧。
21、 如权利要求18所述的媒体服务器,其特征在于,所述媒体服务器进一步 包括緩存单元,用于对直播视频流中最新发送的图片组GOP序列进行缓存。
22、 如权利要求18所述的媒体服务器,其特征在于,所述媒体服务器进一步 包括判断单元,用于判断终端收到下一个I帧的等待时延大于预定的阈值时,根 据终端发送的传输I帧的请求消息,将以I帧为起始帧的媒体流发送给终端。
全文摘要
本发明提供了一种IPTV中的频道切换方法,终端切换到目标频道后,该方法包括对收到的第一个组播RTP包进行检查,如果发现当前帧是非I帧,向媒体服务器发送传输I帧的请求消息;终端接收媒体服务器发送的以I帧为起始帧的媒体流。另外,本发明还提供了一种终端和一种媒体服务器。本发明通过在媒体服务器上对直播视频流中最新发送的GOP序列进行缓存,当终端切换到用户目标频道后,如果发现收到的第一个报文不是I帧,就发送传输I帧的请求消息,要求发送以I帧为起始帧的媒体流,终端接收到以I帧为起始帧的媒体流后就能解码和输出,从而有效提高画面的质量,有效消除时延的体现,提高用户的业务体验质量。
文档编号H04L29/06GK101316357SQ20081006819
公开日2008年12月3日 申请日期2008年6月30日 优先权日2008年6月30日
发明者新 方, 曾思南, 欧雄兵, 胡加伦 申请人:华为技术有限公司