CN105898390A - 基于虚拟视频总线多频道快速切换的方法及其*** - Google Patents
基于虚拟视频总线多频道快速切换的方法及其*** Download PDFInfo
- Publication number
- CN105898390A CN105898390A CN201510552214.4A CN201510552214A CN105898390A CN 105898390 A CN105898390 A CN 105898390A CN 201510552214 A CN201510552214 A CN 201510552214A CN 105898390 A CN105898390 A CN 105898390A
- Authority
- CN
- China
- Prior art keywords
- channel
- data
- prestrain
- module
- 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.)
- Pending
Links
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
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)
Abstract
本发明公开了一种基于虚拟视频总线多频道快速切换的方法,包括:在一个多频道视频播放***中,多个频道的内容数据以虚拟视频总线预加载的方式下预先加载到客户端;当客户切换到另一个频道时,先播放本地预加载缓冲区中选择相应的频道预加载数据;同时向服务器端请求,接收频道补丁流和当前正常播放流数据;当客户端播放器播放完后续补丁视频数据后,将播放正常视频流数据,以实现播放内容的无缝衔接;所有预加载数据以多个预览窗口的方式展示。本发明还公开了一种实现基于虚拟视频总线多频道快速切换的方法的***,包括:虚拟VBUS模块、分段式本地缓冲模块、接收模块和发送模块。具有所有预加载数据可以以多个预览窗口的方式展示等优点。
Description
技术领域
本发明涉及IPTV即网络电视技术领域,尤其涉及一种基于虚拟视频总线多频道快速切换的方法及其***。
背景技术
近年来,缩短延迟成为IP电视研究和工业化的一个主要挑战。对于传统电视,通常观众通过遥控器用少于1秒的时间就把一个频道切换到另一个频道。但对于部署在电脑或移动设备的互联网电视,频道切换的延迟通常超过5秒,甚至大于20秒,从而导致许多观众不喜欢在网上看电视。而且,观众在观看在线直播***或IPTV***中经常发生频道切换。统计显示,普通观众连续看一个频道的时间最长不过13分钟,就会切换到另一个频道。这现象可能起源于人的好奇心,电视内容的多样性,干扰广告等等。
切换延时和滞后延时是QoE的两个关键体验指标。切换延时是指切换频道的请求发送时刻到切换频道的第一帧在客户端的屏幕上显示时刻之间的时间间隙。滞后延时是指一个视频帧在客户端播放和它在源服务器产生的时间间隙。
直至今日,通讯领域的现有工作都没有完美的解决切换延时和滞后延时。虽然以往的工作可以缩短了切换响应延迟,但往往它们的应用受很多的限制,如带宽能力,网络范式(组播、P2P)或用户行为。事实上,2013年,全球的平均访问带宽不超过4Mbps,而数以万计的视频应用,如YouTube和Netflix已经使用云计算平台而不是组播、P2P等进行数据传输。另一方面,频道切换的交互模式也随着互联网上的传输形式的改变而改变,特别是移动互联网的兴起。现在除了使用一个遥控器,越来越多的观众也倾向于使用新的HMI(人机界面)触摸屏模式,如鼠标,语音识别和手势控制等进行频道切换。但以前的工作解决方案不能覆盖这些变化,也不能挣脱这些约束。
目前解决频道切换时间过长的方法主要有三种:借助IP组播扩大数据传输,借助P2P模式加快数据传输和预加载未收看频道。但这些方法存在以下明显的缺陷:
(1)应用环境的限制,要求IP组播或P2P模式。
(2)增加带宽消耗,同时额外带宽的消耗会随着预加载频道数的增多而增多。
(3)有限的切换延时减少,不能实现0秒切换。
(4)即使减少切换延时,但同样地会丢失GOP中的帧,导致图像失真。
(5)仅考虑电视机顶盒的特性,而缺少考虑移动终端的移动不稳定,带宽小等特性。
(6)移动端视频应用常常滞后性得不到保障,波动大。
(7)移动端视频应用的切换滞后时长比非移动端的视频应用要长。
发明内容
本发明的首要目的在于克服现有技术的缺点与不足,提供一种基于虚拟视频总线多频道快速切换的方法,该方法适用于各种类型的实时媒体流或视频的编码模式以及任何的IP通信网络和IP协议。
本发明的另一目的在于克服现有技术的缺点与不足,提供一种实现所述虚拟视频总线多频道快速切换的方法的***,该***通过构建vBUS模块,优化滞后时间,实现了比现有技术中的滞后时间更短,甚至实现了零延时。
本发明的首要目的可以通过以下技术方案实现:一种基于虚拟视频总线多频道快速切换的方法,包括:
在一个多频道视频播放***中,多个频道的内容数据以虚拟视频总线(简称:VBUS)预加载的方式下预先加载到客户端;
当客户切换到另一个频道时,先播放本地预加载缓冲区中选择相应的频道预加载数据;
同时向服务器端请求,接收频道补丁流和当前正常播放流数据;
当客户端播放器播放完后续补丁视频数据后,将播放正常视频流数据,以实现播放内容的无缝衔接;
所有预加载数据以多个预览窗口的方式展示;
进一步地,把一定的时间长度划分为一个时隙,在每个时隙中,客户端挑选预加载一个频道的内容。在一个时隙中,VBUS调度器仅预加载一个频道的若干个GOPs数据,同时把预加载频道数据缓存在本地缓冲***中,直到下一个更新时序到来;多个频道的预加载数据将组合成一条虚拟预加载流,在不同的时隙内,该预加载流包含不同的频道数据。
进一步地,把当前频道预加载数据的后续至当前时刻的播放数据归为滞后数据,并存储在服务器端;将滞后数据整合成补丁流数据。
进一步地,预加载数据和补丁流数据需要在一定时间后更新,防止缓存数据的无限增长。
本发明提出了三种频道挑选算法,ML最大等待时间算法,MPL最大概率等待时间算法和MAPL最大累积概率等待时间算法。
进一步地,在客户端中若采用顺序频道选择算法ML挑选预加载频道,即通过计算各个频道的当前滞后值,将当前滞后值最大的频道挑选作为当前时隙的预加载频道。
进一步地,在客户端中若采用MPL算法挑选预加载频道,即通过计算各个频道的当前滞后值和当前观看概率的乘积,将乘积值最大的频道挑选作为当前时隙的预加载频道;这里当前观看概率值即当前频道热度。
进一步地,在客户端中若采用MAPL算法挑选预加载频道,预先统计各频道的播放热度和滞后值,即滞后数据的播放时间长度;通过计算各个频道的上次更新时隙到当前时隙的所有滞后值和观看概率的乘积和,将乘积和值最大的频道挑选作为当前时隙的预加载频道,式中表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,j表示时间间隙,j*表示频道i的上一个更新时隙,k是指当前时隙,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
所述VBUS采用MAPL算法挑选预加载频道。
本发明的首要目的也可以通过以下技术方案实现:一种基于虚拟视频总线多频道快速切换的方法,包括:
在一个多频道视频播放***中,多个频道的内容数据以VBUS预加载的方式下预加载到客户端。
当客户切换到另一个频道后,先播放本地预加载缓冲区中选择相应的频道预加载数据。
同时向服务器端请求,接收频道补丁流和当前正常播放流数据。
当客户端播放器播放完后续视频流后,将播放正常视频流数据,以实现播放内容的无缝衔接。
所有预加载数据以多个预览窗口的方式展示。
进一步地,还包括:
把一定的时间长度划分为一个时隙,在每个时隙中,客户端挑选预加载一个频道的内容。在一个时序中,VBUS调度器仅预加载一个频道的若干个GOPs数据,同时把预加载频道数据缓存在本地缓冲***中,直到下一个更新时序到来;多个频道的预加载数据将组合成一条虚拟预加载流,在不同的时隙内,该预加载流包含不同的频道数据。
把当前频道预加载数据的后续至当前时刻的播放数据归为滞后数据,并存储在服务器端;将滞后数据整合成补丁流数据。
预加载数据和补丁流数据需要在一定时间后更新,防止缓存数据的无限增长。
本发明包括三种频道挑选算法,ML,MPL和MAPL算法,其中:
若采用顺序频道选择算法ML挑选预加载频道,即通过计算各个频道的当前滞后值,将当前滞后值最大的频道挑选作为当前时隙的预加载频道,式中,表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,k表示时间间隙,lik表示在当前时隙k中频道i的滞后值;
若采用MPL算法挑选预加载频道,即通过计算各个频道的当前滞后值和当前观看概率的乘积,将乘积值最大的频道挑选作为当前时隙的预加载频道,式中表示将进行预加载的频道序号,M表示频道个数,i表示频道序号,k表示当前时隙,lik表示在当前时隙k中,频道i的滞后值,频道热度pik表示当前时隙k频道i的观看概率。频道热度可以用在当前时隙k,频道i的观看人数Nik与总在线人数Nk的比值求得,即pik=Nik/Nk;
若采用MAPL算法挑选预加载频道,即通过计算各个频道的上次更新时隙到当前时隙的所有滞后值和观看概率的乘积和,将乘积和值最大的频道挑选作为当前时隙的预加载频道,式中表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,j表示时间间隙,j*表示频道i的上一个更新时隙,k是指当前时隙,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
一种基于Vbus预加载的多频道快速切换方法将采用MAPL算法挑选预加载频道。
本发明的另一目可以的通过以下技术方案实现:一种实现所述虚拟视频总线多频道快速切换的方法的***,包括:
虚拟VBUS模块,用于安排计划当前时隙的预加载频道,执行频道挑选算法;
分段式本地缓冲模块,用于分段缓存不同频道预加载数据;
接收模块,用于接收频道数据,包括预加载流,补丁流和正常播放流。
发送模块,用于发送频道请求信息。
进一步地,还包括:
活动频道节目导向模块,该模块提供一个缓存频道列表;该模块用于将安排各个频道播放窗口,当频道未为观看时,该频道在小窗口中播放;当一个小窗口中的频道被点击,节目导向模块立即将该频道内容切换到更大的窗口进行播放,同时,原播放频道将提取的本地缓存,在小窗口中显示。
频道热度统计模块,用于统计各个频道的播放次数和切换概率;
频道临时缓存模块,用于缓存当前频道预加载数据的后续至当前时刻的播放数据归为滞后数据,即存放补丁流数据;
正常播放流模块,用于缓存正常播放流数据;
第一发送模块,用于发送频道预加载数据;
第二发送模块,用于发送频道补丁流数据;
第三发送模块,用于发送频道正常播放流数据;
接受模块,用于接收预加载流,补丁流和正常播放流数据的请求。
进一步地,还包括终端设备、服务器,以及分别与所述服务器和所述用户终端设备连接的客户端。
本发明的另一目的也可以通过以下技术方案实现:一种实现所述虚拟视频总线多频道快速切换的方法的***,包括:
虚拟VBUS模块,用于安排计划当前时隙的预加载频道,执行频道挑选算法;
分段式本地缓冲模块,用于分段缓存不同频道预加载数据;
接收模块,用于接收频道数据,包括预加载流,补丁流和正常播放流。
发送模块,用于发送频道请求信息。
频道节目导向模块,该模块提供一个缓存频道列表;该模块用于将安排各个频道播放窗口,当频道未为观看时,该频道在小窗口中播放;当一个小窗口中的频道被点击,节目导向模块立即将该频道内容切换到更大的窗口进行播放,同时,原播放频道将提取的本地缓存,在小窗口中显示。
进一步地,还包括:
频道热度统计模块,用于统计各个频道的播放次数和切换概率;
频道补丁缓存模块,用于缓存当前频道预加载数据的后续至当前时刻的播放数据归为滞后数据,即存放补丁流数据;
正常播放流模块,用于缓存正常播放流数据;
第一发送模块,用于发送频道预加载数据;
第二发送模块,用于发送频道补丁流数据;
第三发送模块,用于发送频道正常播放流数据;
接受模块,用于接收预加载流,补丁流和正常播放流数据的请求。
进一步地,还包括终端设备和服务器,以及分别与所述服务器和所述用户终端设备连接的客户端。
本发明涉及到三种流数据,预加载频道流,频道补丁流和正常播放流都采用单播模式;
在组播网络,本发明中的预加载频道流和频道补丁流采用单播方式,而正常播放流则采用组播方式,即仅正常播放流需要基于IGMP协议的单频道组播服务;
在基于组播的IPTV网络,本发明中的预加载频道流,频道补丁流和正常播放流都采用IP组播模式,即要求客户端预先加入相应的组播组;
在P2P模式的在线直播网络中,本发明中的预加载频道流和频道补丁流采用单播方式,而正常播放流则采用P2P传输方式,即仅正常播放流需要基于P2P协议的传输服务;
在P2P模式的点播网络中,本发明涉及到三种流数据,预加载频道流,频道补丁流和正常播放流都采用P2P模式传输,即要求各频道预先加入相应的P2P簇。
进一步地,还包括:在P2P模式中,需要增加一个补丁流缓冲区,即扩大原有的P2P共享缓存区域,以缓存每个频道的补丁流的数据,类似在C/S模式中服务器的临时缓冲区。同时,频道的预加载数据在vbUS模块中存储,而频道补丁流和正常播放流则以一般的P2P的方式缓存和传输。所述补丁流缓冲区可以作为一种保证传输的补偿机制。
本发明的原理:本发明在接入带宽受限的情况下,频道切换时间缩短至零,实现快速的频道切换。该方法具体为:在一个多频道视频播放***中,多个频道的内容数据以VBUS预加载的方式下提前按照预定的机制缓存到客户端。当客户发起一个频道切换请求时,先在本地预加载缓冲区中选择相应的频道预加载数据进行播放;同时向服务器端请求,接收该频道补丁流以及当前正常播放视频流数据;当客户端播放器播放完补丁流数据后,将播放正常视频流数据,以实现播放内容的无缝衔接。本发明公开使VBUS中的视频流播放延时缩小的方法;本发明同时公开一种基于视频的电子节目指南(VEPG)方法,即所有预加载数据可以以多个预览窗口的方式展示。
相对于现有技术,本发明具有如下的优点与有益效果:
1、本发明能够在网络电视***的接入带宽有限的情况下,减少频道切换的响应延迟。本发明主要利用在客户端的一个本地缓冲区来存储预加载频道数据和一个在服务器端临时存储区来保存滞后数据。由于客户端中已经预加载了频道数据,所以当发生频道切换时,客户端可以即时播放频道数据,而不需要再通过网络从服务器下载数据,也因此,信道变化的延迟是接近零。本发明适用于各种类型的实时媒体流或视频的编码模式以及任何的IP通信网络和IP协议。
2、在本发明可以用于IPTV和在线直播***,利用在客户端的预加载频道数据,实现快速频道切换,同时实现在有效带宽情况下,提高带宽利用率,为观众提供更高的QoE体验。
3、本发明的主要创新点在于,提出一种新的带宽使用模式和一种缩短频道切换滞后时间算法。在各种xDSL技术下,本发明通过构建vBUS模块,优化滞后时间,实现比之前方法更小,甚至零延时。
附图说明
图1为本发明实施例提供的网络电视基本框架图。
图2为本发明实施例提供的客户端和服务器端的结构图。
图3为本发明实施例提供的虚拟串行视频服务总线VBUS的原理图。
图4为本发明实施例提供的虚拟串行视频服务总线VBUS的信令图。
图5为本发明实施例提供的虚拟串行视频服务总线VBUS的状态转移图。
图6a为本发明实施例提供的频道挑选算法ML原理图。
图6b为本发明实施例提供的频道挑选算法MPL原理图。
图6c为本发明实施例提供的频道挑选算法MAPL原理图。
图7为本发明实施例提供的三种频道挑选算法MPL的流程图。
图8为本发明实施例提供的三种频道挑选算法MAPL的流程图。
图9为本发明实施例提供的基于虚拟串行视频服务总线的播放流程图。
图10为本发明实施例提供的基于虚拟串行视频服务总线VBUS的P2P节点缓冲区划分图。
图11为本发明实施例提供的P2P模式下的虚拟串行视频服务总线VBUS的原理图。
图12为本发明实施例提供的P2P模式下的虚拟串行视频服务总线VBUS的播放流程图。
图13a为本发明实施例提供的频道节目指南(EPG)中的第一个频道的分屏布局图。
图13b为本发明实施例提供的频道节目指南(EPG)中的第二个频道的分屏布局图。
图13c为本发明实施例提供的频道节目指南(EPG)中的第三个频道的分屏布局图。
图13d为本发明实施例提供的频道节目指南(EPG)中的第四个频道的分屏布局图。
图13e为本发明实施例提供的频道节目指南(EPG)中的第五个频道的分屏布局图。
图13f为本发明实施例提供的频道节目指南(EPG)中的第六个频道的分屏布局图。
图13g为本发明实施例提供的频道节目指南(EPG)中的第七个频道的分屏布局图。
图13h为本发明实施例提供的频道节目指南(EPG)中的第八个频道的分屏布局图。
图13i为本发明实施例提供的频道节目指南(EPG)中的第九个频道的分屏布局图。
具体实施方式
为了使本技术领域的人员更好地理解本发明,下面结合附图对本发明作进一步的详细说明。
实施例
如图1所示,为一个互联网电视网络基础设施框架图,通常包含5部分,视频数据源,视频服务中心,骨干交通网,接入网和客户端。一般地,IPTV是通过互联网协议,在局域网或互联网进行分组交换来传输数据,而不是通过传统的地面,卫星信号或有限电视网络进行数据传输。同时,IPTV区别于传统的网络下载观看模式,它提供在线流媒体服务,给用户提供边下载边观看节目的功能。
IPTV的基本工作流程是一个客户端(例如,电脑,机顶盒和智能手机)发送一个频道观看请求,请求消息从客户端101,通过101s,102S和103S,到达服务器端104,然后服务器把已经编码的视频流从服务器端104发送到客户端101,路径如103r,102r、101r所示。最后,用户可以在终端上观看解码后的视频内容。在视频源105处,视频可采用多种编码方式,如MPEG,H.264或者WMV。通常在计算消息101s到101R的IPTV的通信开销时,上行会话时间会被忽略,但下行的媒体传输时间则非常重要,特别是传输一个大型视频文件。例如,在源信号编程速率为4.5Mbps,而下行传输带宽仅有3Mbps,那么一个频道的切换延时肯定是大于或等于3秒。如果想延时缩减至1秒,那么要不源信号编码下降1.5Mbps,要不将下行传输带宽扩大到4.5mbps。然而,在真正的IPTV***中,这两种方法通常是不能接受的。
本实施例提供了一个快速频道切换***,如图2所示,该***与其他IPTV播放***的差别在于客户端添加了一个调度器(例如213)和一个本地缓冲模块(例215),在服务器端添加了调度器(例223)和频道补丁缓存模块(例225)。这些额外的设备联合其他标准IPTV组件可以提高用户Qoe体验。
在图2中,客户端的本地缓冲模块215,用于缓存从服务器下载的未观看频道的数据,即频道预加载数据。
客户端调度器213,用于向概率统计模块224提供频道观看信息,并计划安排频道预加载顺序。
服务器端概率统计模块224,用于统计每个频道的切换概率,即频道当前热度。
服务器端调度器,用于向概率统计模块224提供频道观看信息。
当发生频道切换时,播放控制器212向频道缓冲区发送消息,要求缓冲区播放预加载数据。同时,控制器212发送同样的消息向服务器中控制器223。当本地缓冲模块215接受到消息,本地缓冲模块215立刻和播放器或解码器214一起协力解码播放视频数据。同时,服务器端的补丁缓存模块225开始向客户端播放器214发送频道补丁流数据。当频道补丁区的数据发送完毕后,服务器直接向客户端发送正常播放流数据,而不再经过缓存模块225。若用户观看视频的过程中进行回放操作,则需要操作三个模块215,225,222,如图4所示。
如图3所示,详细描述了1到k个时隙里频道选择的情况,频道缓冲模块304缓存着k个时隙里已经预加载的数据。
在服务器端,视频内容发布模块GVS301存放着当前源服务器的编码数据,即正常播放流数据,CPS补丁缓存模块302存放着滞后数据,即频道补丁流数据。其中VBUS 303是频道选择过程中最关键的部分,它是安排带宽使用的虚拟设备,目的是规划带宽使用时间,保证在一定的时间内,多个频道能从服务器上的GVS(一般视频服务器)301获得预加载数据。VBUS的基本原理是设置一个单位时间,然后在单位时间内预加载一个频道数据。假定***中频道的数量是M,因此在本地缓冲模块304中设计了M个缓冲段用来缓存M个频道的预加载数据,每个频道的缓冲段的大小都等于或大于一个GOP大小。为了避免缓冲模块304的预加载数据无限增加,所有频道的预加载数据必须在一定时间后更新,即使这些数据从未被观看。
在缓冲模块304的频道滞后值等于当前时刻到缓冲区中最近更新时间差值。如图3所示,Ci表示第i个缓冲段,Cm表示当前某个缓冲段。频道缓冲模块304中的第Ci个缓冲段在当前对于当前时隙k中获得从301GVS频道缓冲区来的GOP数据,C2在第k-1个时隙获得GOP数据,而Cm在更早的时隙获得数据,Cm在第k-2个时隙获得GOP数据,以此类推。因此,存在多种方案安排频道预加载顺序,根据当时带宽的不同,不同的方案将被采用。
为了更具体地貌似VBUS的运作机制,本发明建立如下频道选择模型。
当VBUS选中某一频道,该频道的滞后值变为1,其他没有被选中的频道滞后值在原来基础上相应增加1。滞后值变为1代表着一个GOP需要从服务器端下载。用lij代表i频道在j时刻的滞后值,公式一如下:
式中i表示频道序号,j表示时间间隙,表示频道i的上一个更新时隙,表示在j时隙,VBUS挑选中的频道,li(j-1)表示上一个时间间隙中i频道的滞后值。VBUS中,从第1个时隙到当前时隙k,各个频道的滞后值将排列成如下矩阵:
式中,M表示频道个数,l11表示第1个时间间隙中频道1的滞后值,l1k表示第k个时间间隙中频道1的滞后值,lM1表示第1个时间间隙中最后一个频道的滞后值,lMk表示第k个时间间隙中最后一个频道的滞后值。
通过公式一,计算M个频道的第j个时隙的总滞后值,如下,公式二:
式中Lj表示总滞后值,M是指频道个数,i表示频道序号,j表示时间间隙,j*表示频道i的上一个更新时隙,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
利用公式一和公式二,计算整个***在k个时隙内滞后值的平均值,如下,公式三:
式中L表示平均滞后值,k是指当前时隙,Lj表示总滞后值,M是指频道个数,i表示频道序号,j表示时间间隙,p表示频道热度,l表示滞后值,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
上式中,若假设用户频道切换的概率服从均匀分布,这就意味着,用户切换到任一频道概率都是相同的,所以,用户感知的滞后时间等于在频道缓冲区304中所有预加载频道的平均滞后时间,即L,也等于CPS补丁缓存模块302的平均滞后数据长度。
现在假设一个时隙为通过接入网络305传输一个GOP的时间。也因为用户切换到任一频道概率都是相同的,所以在m个时隙内,所有的频道都会被预加载一个GOP数据,每个频道的平均滞后值为(M+1)/2。显然,频道平均滞后值随着频道数量增加而增加。本发明提供了三种减少平均滞后值的算法,如图6。在实际中,滞后的频道数据会存储到服务器端220的302CPS补丁缓存模块,作为预加载数据的来源。当vbus选中了该频道,该频道的滞后数据将作为补丁流数据发送到客户端,以此实现客户端补丁流数据与服务器端滞后数据的无缝衔接。
如图4所示,描述了一个用户观看过程。当播放器接受到一个频道切换命令(切换到频道2),播放器411,(也是图2的214)立即向频道缓冲区304中的缓冲段2发出预加载数据的消息。同时该消息s20,s30也转发到服务器端的调度器412(图2的223)和GVS。当调度器接受到请求消息后,让CPS补丁缓存模块302把其中的滞后数据组合成补丁流,再发送到播放器的缓冲区。为了不占接入网正常数据传输带宽,适当增加补偿带宽传输补丁流。当播放器的播放内容与当前在GVS的数据同步时,GVS就直接向播放器发送正常播放流数据。如图9所示,是关于用户观看过程的流程图。整个过程可以分为三部分,等待901,频道切换902-904,观看905。整个过程播放数据的来源顺序是903客户端中频道缓冲区304中的数据,904服务器端的GPS补丁流数据,905服务器的GVS来的正常播放流数据。
一般的观看电视都是经过观看,切换,等待三个状态,因此不同状态的带宽使用情况略有差别。如图5所示,描述了不同状态之间的转换过程中,VBUS的工作情况。在切换状态,网络主要传输补丁流。在观看状态,网络主要传输正常播放流。图5中标注的序号是一个用户观看频道的请求过程。下公式描述了每一种状态的分配带宽情况。μ是客户端的接入带宽,u是VBUS的可用带宽,v是VCS正常播放流的带宽,b是PCS补丁流的带宽。
同时,为了保证用户QoE体验和负载均衡,VBUS的实际使用带宽一般小于或等于编码器的编码速率值。
为了进一步减少***的平均时延,本发明提出了两种新的频道选择算法,用于选择更合适的频道进入VBUS预加载频道。如图6b所示,是MPL算法,如图6c所示,是MAPL算法,如图6a所示,是原来的顺序频道选择算法ML。
顺序频道选择算法ML是顺序频道选择算法,即选择当前时隙滞后值最大的频道作为预加载频道进入VBUS。如图6a,l1,li,lM,l3,分别对应着C1,Ci,CM,C3,频道的当前时隙滞后值,如果l1是所有频道中最大的滞后值,则选择C1作为预加载频道,被VBUS选中。同样地,在任何时隙,顺序频道选择算法ML都将选择具有最大滞后值的频道i*进入VBUS,即式中,表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,lik表示在当前时隙k中,频道i的滞后值。若采用ML频道选择算法,则频道平均延时L等于(M+1)/2,显然,频道平均延时随着频道数增加而增加。尽管顺序频道选择算法ML不是最优的算法,但是它易于实现,可以作为MPL和MAPL算法的对照算法。
为了改进顺序频道选择算法ML,MAPL和MPL算法将考虑频道热度pij。频道热度pij是指当前时隙该频道被观看概率,pij表示j时隙里频道i观看概率,根据在j时隙,频道i的观看人数Nij与总在线人数Nj比值求得,即pij=Nij/Nj。
MPL是通过计算当前时隙的频道热度pij和频道滞后lij的乘积,挑选预加载频道。具有最大乘积值的频道将被挑选进入VBUS,成为预加载频道,即对于当前时隙k,式中,表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,j表示时间间隙,j*表示频道i的上一个更新时隙,k是指当前时隙,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
所以,在图6b中,MPL将从{l1p1,lipi,lMpM,l3p3,}中选出最大值,对应的频道将作为下一个时隙的预加载频道。
MAPL算法是MPL的改进算法,通过计算从上一个更新时隙到当前时隙的频道热度pij和频道滞后lij的乘积和,挑选预加载频道。具有最大乘积和值的频道将被挑选进入VBUS,成为预加载频道,即对于当前时隙k,式中表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,j表示时间间隙,j*表示频道i的上一个更新时隙,k是指当前时隙,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
如图6c所示,MAPL将从下集合中选出最大值,对应的频道将作为下一个时隙的预加载频道。
式中,k表示当前时隙,M表示频道个数,表示频道i的上一个更新时隙,lik表示在当前时隙k,频道i的滞后值,频道热度pik表示在当前时隙k,频道i的观看概率。
MAPL,MPL和MP算法的具体描述如图6,MPL和MAPL的算法流程如图7和图8所示。在大多数情况下,MAPL的频道选择结果使得频道平均延时L小于MPL和MP算法,虽然三个算法仅在频道选择的度量不同,如图7中的702和图8中的802。
本发明可用在不同的网络模式,如C/S,IP组播和P2P。而本发明中最为重要的VBUSB不但可以用在IP层的单播和组播,而且可以用在应用层组播的P2P模式。
由于IP组播和单播技术在传输方式上的差别,本发明应用在组播上需要客户端主机预先加入分发各频道的组播组,然后进入VBUS传输数据。这也意味着,在组播网络,预加载数据是通过已经搭建好的组播网络传输的,VBUS的预加载数据传输不需要改变原来的组播网络结构,也不需要增加额外的带宽。对于整个FIPTV***,主要流量消耗是产生于滞后数据,但这个可以通过MAPL和MPL算法得到改善。
在P2P网络模式下,因为P2P节点是通过直接交换来共享资源,所以VBUS的预加载数据流也不会消耗额外的带宽。同样地,当P2P节点数足够多,规模足够大,节点甚至可以通过共享来获得补丁流,所以VBUS的补丁流也不会消耗额外带宽。同时,为了实现MAPL算法,P2P节点的缓冲区结构需要重新调整,如图10所示。本来位于服务器端的CPS补丁缓存模块也需要整合到每一个节点中,如图10中的1010。如图11所示,给出了整个P2P模式下的VBUS结构。在新的VBUS结构下,节点大多数的频道数据都从同一个频道簇的节点中获取,而不再从图3的GVS中获取,也就是说,频道预加载数据,补丁流数据和正常播放流数据都从其他P2P节点中获取。如图10,一个P2P节点被重新划分缓冲区,1001是原来的数据分享缓冲区,1002是补丁流缓冲区,1003是预加载数据缓冲区,其中1002补丁流缓冲区是从原来数据分享缓冲区扩充而来,1003预加载缓冲区则是为了实现快速频道切换方法而增加的。如图11所示,描述了P2P网络结构下,节点实现快速频道切换的过程。如图11所示,节点110x的预加载数据从节点1101的已播放缓冲区11011,节点1102的已播放缓冲区11021,节点1103的已播放缓冲区11031获得,具体流程图如图12所示。
考虑到***的实用性,本发明提出一个用于展示多频道画面的方法。因为VBUS已经获得预加载数据,所以只需要把缓冲区304的预加载放到播放器中即可。如图13a、图13b、图13c、图13d、图13e、图13f、图13g、图13h和图13i所示,展示了9个频道的分屏布局。例如,其中,图13a展示了一种有效的视频节目指南菜单模式。它可以预览N×N个频道(这里N=3),若想观看其中一个频道,只需把该频道全屏观看。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种基于虚拟视频总线多频道快速切换的方法,其特征在于,包括:
在一个多频道视频播放***中,多个频道的内容数据以虚拟视频总线预加载的方式下预先加载到客户端;
当客户切换到另一个频道时,先播放本地预加载缓冲区中选择相应的频道预加载数据;
同时向服务器端请求,接收频道补丁流和当前正常播放流数据;
当客户端播放器播放完后续补丁视频数据后,将播放正常视频流数据,以实现播放内容的无缝衔接;
所有预加载数据以多个预览窗口的方式展示。
2.如权利要求1所述的基于虚拟视频总线多频道快速切换的方法,其特征在于,把一定的时间长度划分为一个时隙,在每个时隙中,客户端挑选预加载一个频道的内容;在一个时隙中,VBUS调度器仅预加载一个频道的若干个GOPs数据,同时把预加载频道数据缓存在本地缓冲***中,直到下一个更新时序到来;多个频道的预加载数据将组合成一条虚拟预加载流,在不同的时隙内,该预加载流包含不同的频道数据。
3.如权利要求1所述的基于虚拟视频总线多频道快速切换的方法,其特征在于,把当前频道预加载数据的后续至当前时刻的播放数据归为滞后数据,并存储在服务器端;将滞后数据整合成补丁流数据。
4.如权利要求1所述的基于虚拟视频总线多频道快速切换的方法,其特征在于,预加载数据和补丁流数据需要在一定时间后更新,防止缓存数据的无限增长。
5.如权利要求1所述的基于虚拟视频总线多频道快速切换的方法,其特征在于,所述频道具有频道挑选算法,所述为频道挑选算法为最大等待时间算法ML、最大概率等待时间算法MPL或最大累积概率等待时间算法MAPL。
6.如权利要求5所述的基于虚拟视频总线多频道快速切换的方法,其特征在于,在客户端中若采用顺序频道选择算法挑选预加载频道,即通过计算各个频道的当前滞后值,将当前滞后值最大的频道挑选作为当前时隙的预加载频道;
在客户端中若采用MPL算法挑选预加载频道,即通过计算各个频道的当前滞后值和当前观看概率的乘积,将乘积值最大的频道挑选作为当前时隙的预加载频道;这里当前观看概率值即当前频道热度;
在客户端中若采用MAPL算法挑选预加载频道,预先统计各频道的播放热度和滞后值,即滞后数据的播放时间长度;通过计算各个频道的上次更新时隙到当前时隙的所有滞后值和观看概率的乘积和,将乘积和值最大的频道挑选作为当前时隙的预加载频道,式中表示将进行预加载的频道序号,M是指频道个数,i表示频道序号,j表示时间间隙,j*表示频道i的上一个更新时隙,k是指当前时隙,lij表示在第j个时隙,频道i的滞后值,频道热度pij表示在第j个时隙,频道i的观看概率。
7.如权利要求1所述的基于虚拟视频总线多频道快速切换的方法,其特征在于,还包括活动频道节目导向模块,该模块提供一个缓存频道列表;该模块用于将安排各个频道播放窗口,当频道未为观看时,该频道在小窗口中播放;当一个小窗口中的频道被点击,节目导向模块立即将该频道内容切换到更大的窗口进行播放,同时,原播放频道将提取的本地缓存,在小窗口中显示;所述虚拟视频总线采用MAPL算法挑选预加载频道。
8.一种实现权利要求1所述的基于虚拟视频总线多频道快速切换的方法的***,其特征在于,包括:
虚拟VBUS模块,用于安排计划当前时隙的预加载频道,执行频道挑选算法;
分段式本地缓冲模块,用于分段缓存不同频道预加载数据;
接收模块,用于接收频道数据,包括预加载流,补丁流和正常播放流;
发送模块,用于发送频道请求信息。
9.如权利要求8所述的基于虚拟视频总线多频道快速切换的方法的***,其特征在于,还包括:
频道热度统计模块,用于统计各个频道的播放次数和切换概率;
频道临时缓存模块,用于缓存当前频道预加载数据的后续至当前时刻的播放数据归为滞后数据,即存放补丁流数据;
正常播放流模块,用于缓存正常播放流数据;
第一发送模块,用于发送频道预加载数据;
第二发送模块,用于发送频道补丁流数据;
第三发送模块,用于发送频道正常播放流数据;
接受模块,用于接收预加载流,补丁流和正常播放流数据的请求。
10.如权利要求8所述的基于虚拟视频总线多频道快速切换的方法的***,其特征在于,还包括终端设备、服务器,以及分别与所述服务器和终端设备连接的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510552214.4A CN105898390A (zh) | 2015-08-31 | 2015-08-31 | 基于虚拟视频总线多频道快速切换的方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510552214.4A CN105898390A (zh) | 2015-08-31 | 2015-08-31 | 基于虚拟视频总线多频道快速切换的方法及其*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105898390A true CN105898390A (zh) | 2016-08-24 |
Family
ID=57002786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510552214.4A Pending CN105898390A (zh) | 2015-08-31 | 2015-08-31 | 基于虚拟视频总线多频道快速切换的方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105898390A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920259A (zh) * | 2017-10-31 | 2018-04-17 | 深信服科技股份有限公司 | 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质 |
CN108668165A (zh) * | 2017-03-31 | 2018-10-16 | 澜至电子科技(成都)有限公司 | 快速切换网络节目的方法、***及通用播放器和终端 |
CN109218801A (zh) * | 2018-08-15 | 2019-01-15 | 咪咕视讯科技有限公司 | 一种信息处理方法、装置及存储介质 |
CN110809185A (zh) * | 2019-10-22 | 2020-02-18 | 四川长虹电器股份有限公司 | 一种智能电视基于Web化视频预览的主页呈现方法 |
CN116471312A (zh) * | 2023-06-20 | 2023-07-21 | 南京维赛客网络科技有限公司 | 一种通过离线频道对用户分流的方法、***及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231848A (zh) * | 2011-06-22 | 2011-11-02 | 中兴通讯股份有限公司 | Iptv频道切换的方法及装置 |
US20130235934A1 (en) * | 2007-12-18 | 2013-09-12 | At&T Intellectual Property I, Lp | Redundant Data Dispersal In Transmission Of Video Data Based On Frame Type |
-
2015
- 2015-08-31 CN CN201510552214.4A patent/CN105898390A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130235934A1 (en) * | 2007-12-18 | 2013-09-12 | At&T Intellectual Property I, Lp | Redundant Data Dispersal In Transmission Of Video Data Based On Frame Type |
CN102231848A (zh) * | 2011-06-22 | 2011-11-02 | 中兴通讯股份有限公司 | Iptv频道切换的方法及装置 |
Non-Patent Citations (1)
Title |
---|
杨灿等: "On Achieving Short Channel Switching Delay and Playback Lad in IP-Based TV Systems", 《IEEE TRANSACTIONS ON MULTIMEDIA》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108668165A (zh) * | 2017-03-31 | 2018-10-16 | 澜至电子科技(成都)有限公司 | 快速切换网络节目的方法、***及通用播放器和终端 |
CN107920259A (zh) * | 2017-10-31 | 2018-04-17 | 深信服科技股份有限公司 | 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质 |
CN109218801A (zh) * | 2018-08-15 | 2019-01-15 | 咪咕视讯科技有限公司 | 一种信息处理方法、装置及存储介质 |
CN110809185A (zh) * | 2019-10-22 | 2020-02-18 | 四川长虹电器股份有限公司 | 一种智能电视基于Web化视频预览的主页呈现方法 |
CN110809185B (zh) * | 2019-10-22 | 2021-06-22 | 四川长虹电器股份有限公司 | 一种智能电视基于Web化视频预览的主页呈现方法 |
CN116471312A (zh) * | 2023-06-20 | 2023-07-21 | 南京维赛客网络科技有限公司 | 一种通过离线频道对用户分流的方法、***及存储介质 |
CN116471312B (zh) * | 2023-06-20 | 2023-08-15 | 南京维赛客网络科技有限公司 | 一种通过离线频道对用户分流的方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101888409B (zh) | 基于广域网的远程信息发布和监控***及其控制方法 | |
US8230458B2 (en) | System and method of providing video content commentary | |
CN105898390A (zh) | 基于虚拟视频总线多频道快速切换的方法及其*** | |
CN100429901C (zh) | 音视频广播网络直播频道切换的方法及结构 | |
US10187669B2 (en) | Apparatus and method for managing media content for mobile devices | |
CN106534916B (zh) | 一种针对网吧环境基于三层服务器架构的视频直播*** | |
CN104869438B (zh) | 基于移动终端的现场视频云发布***的云发布方法 | |
US20100138892A1 (en) | Apparatus and method for managing media distribution | |
WO2020220902A1 (zh) | 视频资源的传输参数分发方法及装置 | |
CN102713883A (zh) | 用编解码器强制的帧大小进行音频分割 | |
CN106612463A (zh) | 弹幕处理方法、***及终端 | |
CN107409235A (zh) | 用于使用单播abr流播在交换数字视频网络中提供vod内容的***和方法 | |
US8589795B2 (en) | Method and apparatus for sharing viewing information | |
CN106462490A (zh) | 多媒体流水线架构 | |
CN101321275A (zh) | 视频流的处理***和处理方法 | |
CN101267531A (zh) | 一种交互式网络电视***及实现方法 | |
Chen et al. | Live360: Viewport-aware transmission optimization in live 360-degree video streaming | |
CN105992062A (zh) | 一种媒体节目分享的方法及装置 | |
CN108574883A (zh) | 实现多个cdn并行下载视频切片的方法 | |
Sun et al. | Live 360 degree video delivery based on user collaboration in a streaming flock | |
CN105812838B (zh) | 一种多屏互动数据分享方法及*** | |
KR100888111B1 (ko) | 날씨 콘텐츠를 제공하는 iptv 서비스 시스템 및 그방법 | |
CN102710967A (zh) | 一种云电视***与方法 | |
Khosroshahi et al. | IPTV channel switching delay reduction through predicting subscribers’ behaviors and preferences | |
CN102710968A (zh) | 云电视***中视频流同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160824 |
|
WD01 | Invention patent application deemed withdrawn after publication |