一种基于预加载的网络电视频道快速切换方法及系统的制作方法

文档序号:8447714阅读:840来源:国知局
一种基于预加载的网络电视频道快速切换方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络电视技术领域,更具体地,涉及一种基于预加载的网络电视频道快速切换方法及系统。
【背景技术】
[0002]流媒体业务是多媒体应用技术中发展迅速,并得到广泛应用的一种互联网业务。流媒体业务使用流式传输技术,即在互联网上以IP包通信方式传输多媒体数据,包括视频、音频等内容。这些内容在传输时无需完全下载即可立即播放,即用户可以一边下载一边观看,而不需等到整个音视频文件下载到本地后才可以观看。
[0003]随着网络带宽的快速增长,网络电视(IPTV)已成为流媒体领域最重要的应用之一。网络电视即是通过互联网向用户提供类似传统电视的业务,同时具有更大的灵活性,用户不仅可以观看当前电视节目,还可将其录制下来,便于以后观看。也可直接观看服务器端录制的节目。这些都大大改善了用户的体验。但同时也产生了一系列新的问题,如频道切换的速度就是网络电视迫切需要解决的一个问题。若频道切换速度太慢,则严重影响用户体验。
[0004]传统有线电视技术中,用户终端同时接收所有频道信息,终端在切换频道时,只需调到相应频道的播放频带上。而在网络电视中,由于传输带宽等因素的限制,媒体服务器只将用户收看的媒体流发送给终端,当用户切换频道时,需要重新向服务器请求目标频道的媒体数据。所以在网络电视中,频道的切换会包括以下三个步骤:
a)终端与服务器端控制信息交互过程;
b)媒体数据从服务器到终端的传输过程;
c)终端接收媒体数据,进行解码并显示的过程。
[0005]这三个过程是导致网络电视频道切换延迟的主要原因。目前有多种方案解决频道切换速度的问题。
[0006]方案一:当终端请求频道信息时,服务器向终端发送以I帧起始的频道媒体数据来减少切换时间。其原理是运动图像专家组(MPEG)流的组成包括编码帧(I帧)、预存编码帧(P帧)和双向预测编码帧(B帧),媒体流由这三种类型的数据帧以交替排序组成,终端只收到B、P帧无法进行解码,必须等收到第一个I帧后才能解码播放。该方案可以减少上述步骤c)的时间来改善频道切换速度,但是因为在一个GOP (图像组)中,I帧数据是主要的(一般60%以上),相对P帧和B帧而言所占数据量要大得多,故该方法改善效果有限。
[0007]方案二:采用分层视频编码(layered video coding)技术。分层视频编码技术是把视频数据流进行分层压缩编码的方法。主要思想是输出多个编码层,上层的编码层依赖下层的编码层,最底部是基本层(base layer),基本层之上有多个增强层(enhancementlayer),各个编码层可以分开发送,走不同的网络路径。在接收端,基本层可以独立解码重构出基本层视频,但是增强层必须依赖于其下面的基本层,或增强层,才能解码出各层各自对应的音视频内容。在接收端,解码出来的各个层的音视频内容按照由具体规定的方法进行叠加,从而得到总的音视频内容。使用分层视频编码技术对音视频流进行编码,对基本层编码使用低码率编码,使其在网络中的传输延迟较小,而且终端对该基本层编码的解码速度相对较快。该方案通过减少上述步骤b)、c)来改善频道切换速度。该方案的缺点是,由于采用了分层视频编码技术,服务器端和终端设备实现的复杂性将大大提高,系统成本也因此提高,并且实施的可行性不高。由于没有解决上述步骤a)所产生的延时,并且也只是缓解b)而不能消除b)产生的延迟,故频道切换响应时间还是较大。
[0008]方案三:在终端切换频道时,优先发送对应频道的低分辨率视频流,终端在播放低分辨率的视频流的同时接收目标频道的正常视频流,当正常视频流可以播放时,切换到正常视频流进行播放。该方案与方案二类似,都是通过减少视频图像在网络中传输需要的时间和终端解码视频流的时间来提高频道切换速度,亦不可完全消除b)且对图像质量的损伤在IPTV中影响较大,一般不可取。
[0009]以上三种方法通过减少频道切换过程中的步骤b),或c)的时间来减少切换时延,但是在媒体服务器与终端之间的网络带宽紧张或抖动严重的情况下,网络传输时延较长,而且存在终端与服务器端控制信息交互过程,媒体服务器必须在这一过程完成后,媒体服务器才会发送媒体流,所以对频道切换时延的改善依然十分有限。

【发明内容】

[0010]本发明旨在为明显改善上述技术问题提供有效方法。
[0011]本发明的首要目的是克服现有技术在进行网络电视频道切换时时延长的缺陷,提供一种能够大幅减小频道切换时延的基于预加载的网络电视频道快速切换方法。
[0012]本发明的进一步目的是提供一种能够大幅减小频道切换时延的基于预加载的网络电视频道快速切换系统。
[0013]为解决上述技术问题,本发明的技术方案如下:
一种基于预加载的网络电视频道快速切换方法,所述方法基于媒体服务器和终端,所述方法包括以下步骤:
在媒体服务器:
步骤S1:媒体服务器为每个频道缓存预设时长的音视频数据块;
步骤S2:媒体服务器监听终端请求,并根据终端的请求向终端发送音视频数据块; 在终端:
步骤Tl:终端向媒体服务器请求预加载各个频道的最新音视频数据块并缓存到本地; 步骤T2:终端在切换到目标频道时播放预加载该频道最新音视频数据;
步骤T3:终端从媒体服务器获取并播放目标频道后续要播放的音视频数据。
[0014]在一种优选的方案中,所述方法还包括:步骤SI中,媒体服务器对每个频道的音视频数据进行切片并封装为细粒度音视频数据块,相对于一般音视频数据流,细粒度音视频数据块的形式更加便于缓存和更新且更具时间敏感性。
[0015]在一种优选的方案中,所述方法还包括:步骤SI中,所述音视频数据块以TS格式封装,封装的音视频数据块的首部为音视频媒体数据格式的信息头,或者音视频数据块以I帧为起始帧,使终端对每个单独的音视频数据块都能够快速的解码并播放。
[0016]在一种优选的方案中,所述方法还包括:步骤S2中,终端请求和媒体服务器发送的数据的最小单位是一个音视频数据块,音视频数据块的发送方式为IP单播,使用TCP或UDP协议。
[0017]在一种优选的方案中,步骤SI中,媒体服务器中每个频道缓存的音视频数据块是周期性更新的;步骤Tl中,终端向媒体服务器获取直播的频道列表,并周期性向媒体服务器请求预加载各个频道的最新音视频数据块并更新缓存到本地的最新音视频数据,从而能够保证缓存的数据是最新的,保证终端所播放的音视频数据是最新的,从而保证用户的体验度。
[0018]在一种优选的方案中,所述方法还包括:步骤SI中,媒体服务器对封装后的音视频数据块按序进行编号,媒体服务器更新音视频数据块时,缓存新的音视频数据块,同时删除排序靠前的音视频数据块。从而便于音视频数据块的更新,并且保证音视频数据块按顺序发送给终端。
[0019]在一种优选的方案中,所述方法还包括:步骤Tl中,终端周期性向媒体服务器请求预加载各个频道的最新音视频数据块时,终端采取以下三种预加载策略之一:
a)终端顺次预加载各个频道的最新音视频数据块,每间隔时间X,重复该预加载过程,其中X彡O ;
b)终端同时并行预加载各个频道的最新音视频数据块,每间隔时间X,重复该预加载过程,其中X多O ;
C)终端循环预加载各个频道的最新音视频数据块,预加载每两个频道的时间间隔为X,其中x>0。
[0020]在X=0时,策略a)所需的平均额外网络带宽最大,为观看一条直播频道所需带宽,但用户观看目标频道时,播放内容与正常直播内容的时差最小。x#0时策略a)、b)和c)能够通过设置X的大小来调节所需的平均额外网络带宽,X值越大,所需的平均额外网络带宽越小,播放内容与正常直播内容的时差越大。X值越小,所需的平均额外网络带宽越大,播放内容与正常直播内容的时差越小。
[0021 ] 在一种优选的方案中,所述方法还包括:终端在播放目标频道的过程中,删除该频道已播放过的音视频数据的缓存;终端在退出目标频道的播放时,保留缓存的该频道的最新音视频数据块,删除其余的音视频数据块,确保该频道的缓存中保留足够的最新的音视频数据,从而尽可能提高缓存区的利用效率。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1