一种终端及快速显示组播图像的方法技术

技术编号:4076124 阅读:274 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种终端及快速显示组播图像的方法,所述快速显示组播图像的方法,包括:终端首先获取与组播流同源的快发流并解码输出;终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。本发明专利技术能够快速显示组播图像,提高用户的体验度。

【技术实现步骤摘要】

本专利技术属于网络多媒体领域,具体涉及。
技术介绍
目前,在互联网中传输的媒体流都是经过压缩的,一般采用H264格式压缩,这种 格式压缩出来的码流,码流中压缩出的数据由I帧、P帧、B帧构成,I帧是关键帧,P、B帧是 依赖于关键帧的过渡帧,只有I帧解压还原出来,才能还原P帧、B帧。现有技术中,互联网终端要显示组播流需要经过以下几个步骤获取组播地址,请 求加入组播,接收组播流,解码显示。由于组播流属于直播流,其当前直播点取决于组播源, 而请求加入组播的时间点取决于用户,这就导致用户请求组播流的时间点是随机的,请求 到的码流起始点不一定是I帧。如果不是以I帧开始的码流,解码器将会把数据丢弃,直到 收到下一个I帧才开始把数据解出来。理论上,组播图像显示出来需要花的最长时间等于I 帧间隔,而在实际网络中,为了提高码流的压缩率,减少网络带宽消耗,编码器会将码流的I 帧间隔做得很大,有的达到2秒,这就使得用户常常需要等待2秒以上才能看到图像,会给 用户带来很差的体验。
技术实现思路
本专利技术要解决的主要技术问题是,提供。为解决上述技术问题,本专利技术采用了如下技术方案一种快速显示组播图像的方法,包括终端首先获取与组播流同源的快发流并解码输出;终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两 个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。在本专利技术所述方法的一种实施例中,所述快发流的起始点为I帧。在本专利技术所述方法的一种实施例中,组播缓存进行组播流的网络包的缓存包括 在内存中开辟一块缓存区,并将缓存区按预定的数据结构划分为若干单元,每一个单元可 以存储一个网络包。在本专利技术所述方法的一种实施例中,终端通过向快发服务器请求来获取快发流, 向快发服务器请求包括创建发送请求的套接字,将所要加入的组播频道的IP地址及端口 号、终端接收码流的IP地址及端口号发送给快发服务器。在本专利技术所述方法的一种实施例中,终端通过向网络路由器发送加入组播请求来 获取组播流,向网络路由器发送加入组播请求包括按互联网组管理协议向网络路由器发 送JOIN消息,同时回应网络路由器发出的对该组播组成员的查询请求。在本专利技术所述方法的一种实施例中,终端通过如下方式接收快发流和组播流创 建接收快发流的套接字,并与接收快发流的IP地址和端口号绑定,同时监听该套接字;创 建、绑定、监听另一个用于接收组播流的套接字;使用快发套接字接收快发流的网络包,使3用组播套接字接收组播流的网络包。在本专利技术所述方法的一种实施例中,终端解码输出快发流包括对接收到的快发 流的网络包进行解码预处理,将预处理后的数据送至解码缓冲区;解析网络包中的媒体参 数;解码初始化及控制操作。在本专利技术所述方法的一种实施例中,所述解码预处理包括对所述快发流的网络包 进行预定时间的缓存、以及去除网络包的实时传送协议头。本专利技术还提供了一种终端,包括码流获取模块,用于获取组播流和快发流;所述快发流与组播流同源且起始点为 I帧;码流衔接处理模块,用于在并行获取组播流和快发流时进行码流衔接处理;解码模块,用于在组播流获取前解码输出快发流,以及根据码流衔接处理结果进 行解码输出,在两个码流内容衔接前,解码输出快发流,在两个码流内容衔接后,解码输出 组播流。本专利技术首先获取与组播流同源且起始点为I帧的快发流解码输出,从而解决了现 有技术中由于I帧间隔大导致的解码出第一帧图像慢的问题,使得组播图像能够快速显 示,极大地提高了用户的体验度。附图说明 图1为本专利技术实施例的基本流程;图2为本专利技术实施例的系统框架示意图;图3为本专利技术实施例的具体流程图。具体实施例方式下面通过具体实施方式结合附图对本专利技术作进一步详细说明。本专利技术主要专利技术构思是采用码流补偿方式,终端首先获取与组播流同源的快发 流并解码输出;而后再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接 前,解码输出快发流,在两个码流内容衔接后,解码输出组播流。即在加入组播前,终端先向 快发服务器请求一个传输速率很快的快发流,再发加入组播请求,快发流和组播流同源,但 请求点早于组播流,可以预期,快发流先于组播流到达终端,终端将先接收到的快发流送至 解码模块,快速显示出图像,然后并行接收后面的快发流和组播流,直到两个码流的内容衔 接上,此时终端停止接收快发流,后续流程和普通组播一样。这样就能有效提高组播图像的 显示速度,并在组播频道切换时提高组播频道切换的速度。一般的,可以设置快发服务器发 出的快发流是以I帧开始的。快发流是与组播流同源的单播码流,由于其传输速率快于一 般的组播流,因而在本文中将该快发的码流称为快发流,相应的,发出快发流的服务器称为 快发服务器。快发流的传输速率可根据实际需要进行配置,例如可为组播流的1.1倍或者 1.2倍等,本专利技术对此并不限制,当然,更高的传输速率要求更多的资源。本文中,同源是指 快发流和组播流来自同一个直播编码器。如图1所示,本专利技术实施例的方法的基本流程包括如下步骤11、终端向快发服务器发送频道切换请求,请求快发流;12、终端向网络路由器发送加入组播请求,请求加入组播组;13、终端接收快发服务器返回的快发流,并将这部分码流送至解码模块;14、终端接收组播流并进行缓存;15、终端进行码流衔接处理,将组播流和快发流的内容衔接起来,停止接收快发 流,输出缓存的组播流;16、接收并实时输出组播流。如图2所示,本专利技术的系统包括负责组播的网络路由器(包含组播源)、快发服 务器、终端。快发服务器与网络路由器同源,即由网络路由器将组播流传送给快发服务器。终端,例如可以是STB (Set Top Box,机顶盒),可以从网络路由器获得组播流,也 可以从快发服务器获得快发流(在本例中,起始为I帧);终端获得组播流,则送入组播流 缓存,获得快发流,则送入快发流缓存;组播流和快发流经过码流衔接处理,形成整合后的 码流,送入解码模块。码流衔接处理主要包括21)收到组播包就缓存起来;22)收到快发包,就在缓存的组播包中查找与该快发包相同的包,找到则认为衔接 成功,停止接收快发流,输出组播流缓存,找不到则继续进行步骤21)。如图3所示,本专利技术实施例的方法的具体流程包括如下步骤Si、向快发服务器发送频道切换请求,请求快发流,转步骤S2 ;S2、向网络路由器发送加入组播请求,请求组播流,转步骤S3 ;S3、接收网络包,如果接收到的是组播包(组播流的网络包),则转步骤S4,否则转 步骤S5 ;S4、将组播包缓存起来,转步骤S7 ;S5、将快发包(快发流的网络包)送至解码模块,进行显示,判断当前收到的包,是 否能在组播包缓存中找到,如果能找到转步骤S6,否则转步骤S3 ;由于快发流和组播流同 源,一般的,如果两个码流的网络包中RTP序号相同,则用RTP封装起来的内容相同。S6、停止接收快发包,输出当前输出包后(可以通过序号比较的方式,即序号比当 前输出包大的包)的所有缓存的组播包,转步骤S8 ;S7、判断组播缓存是否满,如果未满则转步骤S3,否则停止接收快发包,输出所有 组播缓存的包,转步骤S8;S8、接收组播流,并进行实时输出。步骤Sl中向快发服务器发送频道切换请求,包括创建发送请求的套接字 (socket, TC本文档来自技高网...

【技术保护点】
一种快速显示组播图像的方法,其特征在于,包括:终端首先获取与组播流同源的快发流并解码输出;终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。

【技术特征摘要】
一种快速显示组播图像的方法,其特征在于,包括终端首先获取与组播流同源的快发流并解码输出;终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。2.如权利要求1所述的方法,其特征在于,所述快发流的起始点为I帧。3.如权利要求1或2所述的方法,其特征在于,所述码流衔接处理包括组播缓存进行 组播流的网络包的缓存,终端接收到快发流的网络包后,检查是否能在所述组播缓存中找 到,如果能找到,码流内容衔接,否则,码流内容未衔接。4.如权利要求3所述的方法,其特征在于,组播缓存进行组播流的网络包的缓存包括 在内存中开辟一块缓存区,并将缓存区按预定的数据结构划分为若干单元,每一个单元可 以存储一个网络包。5.如权利要求1所述的方法,其特征在于,终端通过向快发服务器请求来获取快发流, 向快发服务器请求包括创建发送请求的套接字,将所要加入的组播频道的IP地址及端口 号、终端接收码流的IP地址及端口号发送给快发服务器。6.如权利要求1所述的方法,其特征在于,终端通过向网络路由器发送加入组播请求 来获取组播流,向网络路由器发送加入组播请...

【专利技术属性】
技术研发人员:孔繁夫周茂林
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1