CN103716658B - 视频点播服务装置与方法 - Google Patents
视频点播服务装置与方法 Download PDFInfo
- Publication number
- CN103716658B CN103716658B CN201210371155.7A CN201210371155A CN103716658B CN 103716658 B CN103716658 B CN 103716658B CN 201210371155 A CN201210371155 A CN 201210371155A CN 103716658 B CN103716658 B CN 103716658B
- Authority
- CN
- China
- Prior art keywords
- video
- prefix
- user terminal
- request
- user
- 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.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种视频点播服务装置与方法。所述视频点播服务装置与用户终端及基站网络连接,其特征在于,具备:视频前缀计算发送模块(205),计算并选取视频中的一部分作为视频前缀,并将视频前缀广播发送给用户终端,接收用户请求模块(206),接收用户终端的视频播放请求,以及发送模式决策模块(207),根据所述视频前缀是否已被缓存于用户终端来决定是否等待收集请求播放同一视频的其他用户终端,并且,根据是否在一定时间内收集到有请求播放同一视频的其他用户终端,决定采用组播或单播发送模式向用户终端传输视频数据。
Description
技术领域
本发明涉及在通信系统中提供视频点播服务的设备和方法。尤其涉及到采用预缓存及组播技术传输的系统。
背景技术
近年来,随着信息及通信技术的迅猛发展,传统的话音业务已逐步被各种数据应用业务取代。实时视频点播作为其中最热门的业务之一,其传输技术越来越引起重视。更进一步,如何减少数据业务,尤其是多媒体业务的传输能耗并同时保持其服务质量一直是运营商及服务提供商最为关心的问题。
现有技术中组播作为一种节约能耗的传输方式已被广泛引用,如3GPP(3rdGeneration Partnership Project,第三代合作伙伴计划)在GSM/WCDMA系统中采用的MBMS(Multimedia Broadcast and Multicast Service,多媒体广播和组播业务)和3GPP2(3rdGeneration Partnership Project 2,第三代合作伙伴计划2)在CDMA2000系统中采用的BCMCS(Broadcast and Multicast Service,广播与组播业务)多媒体广播与组播技术。于此同时,缓存技术也在通信网络中得到广泛应用以提高用户体验,减少拥塞及资源消耗。其中,预缓存技术(将用户未请求的数据进行缓存)可以预见在当今迅速发展的存储技术基础下必将为多媒体服务提供更多支持。
专利US 5631694 A采用批处理组播传输方式一次服务多个用户,从而节省了在提供视频实时点播服务时的网络开销。为了最大化系统的吞吐率,其采用了加权队长的队列服务选择方式。然而,基于批处理的组播给到达较早的用户带来了一定的等待延时,影响了用户的体验。而在提供视频实时点播服务中,用户要求自己点播的视频被立即响应。虽然在本地服务器上缓存部分视频前缀有利于降低用户体验到的延时,但其仍然难以满足用户零延时的要求。专利US 6859840 B2提出的系统将提供的视频内容分为前缀和主体两部分,视频前缀被缓存在本地服务器。在用户请求视频后,由本地服务器首先传输数据给用户,这样减少了用户从直接从远程服务器获取数据所带来的延时。然而,虽然采用缓存技术减少了用户体验到的延时,但是该发明没有考虑网络资源消耗的问题,即没有选取更节省资源的方式传输视频。
现有技术
专利文献1 US 5631694 A
专利文献2 US 6859840 B2
发明内容
本发明就是针对上述问题进行的。本发明结合多种提供视频实时点播的技术手段,提出一种采用用户终端视频前缀预缓存和批处理组播结合的技术,以减少视频从服务器传输到用户终端所带来的资源消耗。
首先通过关键参数,如视频点击率,视频大小,用户存储空间,用最优化算法选取视频中的一部分作为视频前缀,利用网络空闲的时间,视频服务器将上述视频前缀广播给所有的用户终端。用户终端将广播的视频前缀缓存在本地。
当一个用户请求某一视频节目时,如果该视频前缀未被缓存于本地,则向视频服务器提出完整的视频请求,之后服务器将该视频全部内容单播给该用户;如果该视频前缀已被缓存于本地,可以在等待服务器发送剩余部分前播放本地的该视频前缀,服务器利用这段时间尝试收集其他请求该视频的用户,如果能收集到,则在本地缓存的内容播放结束前开始将该视频剩余部分组播发送给提出请求的所有用户;如果未能收集到其他用户,则仍以单播的方式发送该视频的剩余部分给该用户。
具体地讲,本发明提供一种视频点播服务装置,与用户终端及基站网络连接,具备:视频前缀计算发送模块205,计算并选取视频中的一部分作为视频前缀,并将视频前缀广播发送给用户终端,接收用户请求模块206,接收用户终端的视频播放请求,以及发送模式决策模块207,根据所述视频前缀是否已被缓存于用户终端来决定是否等待收集请求播放同一视频的其他用户终端,并且,根据是否在一定时间内收集到有请求播放同一视频的其他用户终端,决定采用组播或单播发送模式向用户终端传输视频数据。
优选的是,当接收到用户终端的视频播放请求而用户终端未缓存有视频前缀的消息时,所述发送模式决策模块决定以单播发送模式向用户终端传输该视频的完整内容。
优选的是,当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端而未收集到的消息时,所述发送模式决策模块决定以单播发送模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
优选的是,当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端且收集到的消息时,所述发送模式决策模块决定以组播发送模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
优选的是,所述一定时间根据存储于用户终端的视频前缀长度来设定。
优选的是,本发明的视频点播服务装置还具备:存储单元202,存储视频内容及视频信息记录表,以及更新视频点击量模块204,根据用户终端点击播放视频的请求,更新存储于所述存储单元的视频信息记录表。
优选的是,所述视频前缀计算发送模块通过视频点击率、用户到达率、视频大小、用户存储限制的至少一个作为参数来计算并选取视频中的一部分作为视频前缀。
此外,本发明还提供一种视频点播服务方法,包括:视频前缀计算发送步骤,计算并选取视频中的一部分作为视频前缀,并将该视频前缀广播发送给用户终端,接收用户请求步骤,接收用户终端的视频请求,以及发送模式决策步骤,根据所述视频前缀是否已被缓存于用户终端来决定是否等待收集请求播放同一视频的其他用户终端,并且,根据是否在一定时间内收集到有请求播放同一视频的其他用户终端,决定采用组播或单播发送模式向用户终端传输视频数据。
优选的是,当接收到用户终端的视频播放请求且用户终端未缓存视频前缀的消息时,所述发送模式决策步骤决定以单播发送模式向用户终端传输该视频的完整内容。
优选的是,当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端而未收集到的消息时,所述发送模式决策步骤决定以单播发送模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
优选的是,当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端且收集到的消息时,所述发送模式决策步骤决定以组播模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
优选的是,所述一定时间根据存储于用户终端的视频前缀长度来设定。
优选的是,所述视频前缀计算发送步骤,通过视频点击率、用户到达率、视频大小、用户存储限制的至少一个作为参数来计算并选取视频中的一部分作为视频前缀。
发明效果
本发明提供的装置与方法既能够使得用户享受到了零延时的视频实时点播业务,同时由于采用了批处理的组播模式也使网络的资源消耗大大降低。
附图说明
图1表示本发明的应用场景图。
图2表示本发明中视频服务器框架图。
图3表示本发明中基站框架图。
图4表示本发明中用户设备框架图。
图5表示本发明中视频服务器中视频信息记录表格式。
图6表示本发明中用户设备中视频信息记录表格式。
图7表示本发明中用户请求的消息格式。
图8表示本发明中视频服务器发送模式告知的消息格式。
图9表示本发明中基站发送模式告知的消息格式。
图10是本发明中视频前缀广播的信令交互图。
图11是本发明中有用户请求,该用户未缓存该视频前缀,视频服务器决策为单播传输时的信令交互图。
图12是本发明中有用户请求,该用户已缓存该视频前缀,视频服务器决策为单播传输时的信令交互图。
图13是本发明中有用户请求,该用户已缓存该视频前缀,视频服务器决策为组播传输时的信令交互图。
图14表示本发明中视频服务器利用用户设备本地播放时间收集用户的过程。
图15表示本发明中视频服务器端视频前缀分割及更新模块如何分割各视频前缀大小的框图。
图16表示本发明中视频前缀分割、广播及更新的流程图。
图17表示本发明中用户端请求视频的流程图。
图18表示本发明中视频服务器端响应用户请求的流程图。
具体实施方式
下面结合附图以当用户请求视频点播服务时回应用户请求的整个过程为示例说明本发明的具体实施方式。需要指出的是,在本示例中,以VoD(Video-on-Demand,视频点播)服务为例,但本发明中的装置与方法并不局限于这一种服务,也可将此方法应用于任何流媒体传输服务,用户点播服务。另外,在本示例中,主要以移动网络中(如加入基站)实现组播等传输的机制为例说明实施方法,但如果将其扩展成有线网络或其他可实现组播广播的系统中,本发明中提到的传输方法仍可适用。最后,本示例中列举了一种应用场景和视频分割的一些参数,并结合我们假设的一些相关请求信息给出相应的处理结果,但是其它的场景或其他一些参考信息和参数也当然适用于本发明。
首先,介绍一下本发明实施方式中系统的各部分部件构成。
图1表示本发明的一种应用场景图。图中主要包括视频服务器(Video Server)101,基站(BS,Base Station)102和用户设备(也可叫终端)103。视频服务器101与各基站102由有线网络或无线网络进行连接,可以通过广播、组播及单播方式进行传输。基站102和各所辖用户设备103由无线连接,同样可以通过广播、组播及单播方式进行传输。视频服务器101作为本发明的核心主要负责视频存储及记录表更新,视频分割,决策传输模式,并以广播、组播及单播方式响应用户请求视频。基站102作为系统中传输设备,主要负责接收并报告所辖范围内的用户请求,接收指令及视频数据,并以广播、组播及单播方式传输用户请求视频。显然,此基站102作为中间设备可以被其他拥有上述功能的传输设备,如小型基站,中继站,网关,接入点或远端服务器等取代。用户设备103主要负责存储视频前缀,请求视频并报告本地缓存情况,接收指令及视频数据,并播放视频。
图2表示本发明中视频服务器101的框架图。此视频服务器101中包含视频处理单元201,存储单元202和网络接口单元203。视频处理单元201包括多个处理模块,分别是更新视频点击量模块204,负责当收到用户点击某视频请求时,更新该视频服务器存储单元202中视频信息记录表(格式如图5)内的累计点击数量502(通过该点击数量可以计算出每个视频的点击率);视频前缀计算发送模块205,负责通过关键参数,如视频点击率,用户到达率,视频大小(或长度),用户存储限制,用最优化算法计算选取(分割)各视频中的一部分作为视频前缀,同时可采用广播的发送方式将更新后的视频前缀发送给用户;接收用户请求模块206,负责接收由用户设备103(或经由基站102)发送来的视频播放请求;发送模式决策模块207,首先根据该视频的前缀是否已经存储于用户来决定是否等待收集请求播放同一视频的其他用户,并且,根据是否在一段时间内(取决于用户存储的该视频前缀大小)等待并收集到有请求同一视频的其他用户决定采用组播或单播发送模式向用户终端传输视频数据,如果在该段时间内收集到其他用户则采用组播发送模式,如果未收集到其他用户则采取单播发送模式;告知基站和用户设备决策模块208,负责向相关基站及用户设备发送由发送模式决策模块207做出的发送模式决策(发送的配置指令消息格式如图8),相应的基站及用户设备可根据该决策配置;广播发送模块209,负责当需要服务器进行广播发送时(如广播发送视频前缀给各个用户时),采用广播模式发送数据;组播发送模块210,负责当需要服务器进行组播发送时(如发送模式决策模块207做出组播发送的决策时),采用组播模式发送数据;单播发送模块211,负责当需要服务器进行单播发送时(如发送模式决策模块207做出单播发送的决策时),采用单播模式发送数据。存储单元202,包括两个存储模块,分别是视频存储模块212,保存有各个视频(或及其前缀);视频信息记录表模块213,保存有视频信息记录表(格式如图5)。网络接口单元203,负责提供该视频服务器101与基站102(或直接与用户设备103)的网络接口。
图3表示本发明中基站102的框架图。由于在本发明中基站作为承接视频服务器101与用户设备103之间传输用户请求、指令及数据的中间设备,所以相对比较简单。此基站102中包含视频处理单元301和网络接口单元302。视频处理单元301包括多个处理模块,分别是接收用户请求模块303,负责当收到用户点击播放某视频请求时,接收该视频请求;向视频服务器反馈用户请求模块304,负责将收到的用户视频请求发送给视频服务器101;接收及转发视频服务器指令模块305,负责接收由视频服务器101发来的发送模式决策指令(发来的配置指令消息格式如图8)并将该指令转发给用户设备103(发送的配置指令消息格式如图9);接收视频数据流模块306,负责接收由视频服务器101发来的视频数据;广播发送模块307,负责当需要基站进行广播发送时(如需要转发视频服务器101发来的视频前缀给各个用户时),采用广播模式发送数据;组播发送模块308,负责当需要基站进行组播发送时(如需要转发视频服务器101组播发来的数据时),采用组播模式发送数据;单播发送模块309,负责当需要基站进行单播发送时(需要转发视频服务器101单播发来的数据时),采用单播模式发送数据。网络接口单元302,负责提供该基站102与视频服务器101和用户设备103的网络接口。
图4表示本发明中用户设备103的框架图。此用户设备103中包含视频处理单元401,存储单元402和网络接口单元403。视频处理单元401包括多个处理模块,分别是请求视频下载,查询并报告本地是否缓存模块404,负责向所辖基站102或视频服务器101提出视频请求,并同时根据查询存储单元402内视频信息记录表(格式如图6)的视频存储情况向所辖基站102或视频服务器101报告本地是否已缓存该视频的前缀;接收指令模块405,负责接收由视频服务器101内告知基站和用户设备决策模块208发来的发送模式决策指令(发来的配置指令消息格式如图8)或由基站102内接收及转发视频服务器指令模块305转发来的发送模式决策指令(发来的配置指令消息格式如图8);广播接收模块406,负责当需要该用户设备进行广播接收时(如广播接收视频前缀时),采用广播接收模式接收数据;组播接收模块407,负责当需要该用户设备进行组播接收时(如发送模式决策模块207做出组播发送的决策时),采用组播接收模式接收数据;单播接收模块408,负责当需要该用户设备进行单播接收时(如发送模式决策模块207做出单播发送的决策时),采用单播接收模式接收数据;视频播放模块411,负责本地播放用户请求的视频(包括本地存储的视频前缀及接收到的视频数据)。存储单元402,包括两个存储模块,分别是视频存储模块409,保存有各个视频前缀或接收到的视频数据;视频信息记录表模块410,保存有视频信息记录表(格式如图6)。网络接口单元403,负责提供该用户设备103与基站102(或直接与视频服务器101)的网络接口。
接下来,对本发明实施方式中用到的记录表和消息格式加以说明。
图5表示本发明中视频服务器101中视频信息记录表格式。此视频信息记录表保存于视频服务器101存储单元202中的视频信息记录表模块213中,对于每一个视频(或前缀)主要记录五个项目,分别是视频编号501,负责记录该视频在视频服务器101存储单元202的视频存储模块212中的序列号;累计点击数量502,负责记录用户点击该视频的次数,此数量可由该服务器视频处理单元201中更新视频点击量模块204进行更新,并可通过该点击数量计算出该视频的点击率;视频长度503,负责记录该视频的长度(或大小);视频前缀长度504,负责记录该视频前缀的长度(或大小);存储位置505,负责记录该视频在存储单元202的视频存储模块212中的存储位置。
图6表示本发明中用户设备103中视频信息记录表格式。此视频信息记录表保存于用户设备103存储单元402中的视频信息记录表模块410中,对于每一个视频(或前缀)主要记录四个项目,分别是视频编号601,负责记录该视频在视频服务器101存储单元202的视频存储模块212中的序列号;视频前缀是否已缓存602,负责记录该视频前缀是否;视频长度603,负责记录该视频的长度(或大小);已缓存视频前缀长度604,负责记录已被缓存在该用户设备103存储单元402的视频存储模块409中的该视频前缀的长度(或大小),如果为0,则表示未缓存该视频前缀;存储位置605,负责记录该视频在该用户设备103存储单元402的视频存储模块409中的存储位置。
图7表示本发明中用户请求的消息格式。该消息由用户设备103内视频处理单元401中请求视频下载,查询并报告本地是否缓存模块404向其所属的基站102或直接向视频服务器101发出。该消息包含以下六个项目,分别是源地址701;目的地址702;基站(BS)编号703,负责报告其所属的基站编号;用户设备(UE)编号704,负责报告该请求用户设备的编号(可根据网络配置的属性赋予);视频编号705,负责报告该视频在视频服务器101存储单元202的视频存储模块212中的序列号;已缓存视频前缀长度706,负责报告已被缓存在该用户设备103存储单元402的视频存储模块409中的该视频前缀的长度(或大小),如果为0,则表示该用户设备未缓存该视频前缀,需要请求完整视频。另外需要指出的是,视频服务器101视频处理单元201中发送模式决策模块207可以通过比较存储单元202视频信息记录表模块213中记录的视频长度503和此用户请求消息中报告的已缓存的视频前缀的长度706计算(1)剩余主体视频的长度,(2)可供等待收集其他用户请求的时限。
图8表示本发明中视频服务器101发送模式告知的消息格式。该消息由视频服务器101内视频处理单元201中告知基站和用户设备决策模块208向基站102或直接向用户设备103发出。该消息包含以下六个项目,分别是源地址801;目的地址802;基站(BS)编号803,负责记录需要告知的基站编号;用户设备(UE)编号804,负责记录需要告知的该请求用户设备的编号;视频编号805,负责记录要发送的该视频(或前缀)在视频服务器101存储单元202的视频存储模块212中的序列号;发送模式806,负责记录需要告知基站102或用户设备103的由视频服务器101内视频处理单元201中视频前缀计算发送模块205或发送模式决策模块207做出的发送模式决策,可以设为如果该值为0,表示决策为采用广播发送,如果该值为1,表示决策为采用组播发送,如果该值为2,表示决策为采用单播发送。另外,如果采用广播发送模式,基站编号803和用户设备编号804可均设为0,表示对所有基站和用户设备进行广播。
图9表示本发明中基站102发送模式告知的消息格式。该消息由基站102内视频处理单元301中接收及转发视频服务器指令模块305向用户设备103发出。该消息包含以下五个项目,分别是源地址901;目的地址902;用户设备(UE)编号903,负责记录需要告知的该请求用户设备的编号;视频编号904,负责记录要发送的该视频(或前缀)在视频服务器101存储单元202的视频存储模块212中的序列号;发送模式905,负责记录需要告知用户设备103的由视频服务器101内视频处理单元201中视频前缀计算发送模块205或发送模式决策模块207做出的发送模式决策,同图8可以设为如果该值为0,表示决策为采用广播发送,如果该值为1,表示决策为采用组播发送,如果该值为2,表示决策为采用单播发送。另外,如果采用广播发送模式,用户设备编号903可设为0,表示对所有用户设备进行广播。
下面,结合本发明涉及到的各种信令交互及处理流程具体说明本发明中的视频处理机制。
图10是本发明中视频前缀广播的信令交互图。本图说明了从视频服务器101分割视频生成前缀并将其传输给用户设备103的具体交互过程。首先,视频服务器101计算各视频前缀大小,分割视频前缀1001,该操作由视频服务器101内视频前缀计算发送模块205通过关键参数,如视频点击率,用户到达率,视频大小,用户存储空间,用最优化算法计算选取(分割)各视频中的一部分作为视频前缀。然后,视频服务器101内告知基站和用户设备决策模块208向基站告知采用广播模式传输视频前缀1002(发送的配置指令消息格式如图8,发送模式806为0)。当基站102收到此告知消息后,立即由其内的接收及转发视频服务器指令模块305向用户设备103转发此告知消息1003(发送的配置指令消息格式如图9,发送模式905为0),并配置本基站102为广播模式1004。当用户设备103收到上述告知配置指令的消息后,配置本用户设备103为广播模式1005。接下来,视频服务器101的广播发送模块209开始向所有基站102广播传输视频前缀1006,当基站102内接收视频数据流模块306收到该视频前缀后,再利用其内部广播发送模块307向所有用户设备103广播传输视频前缀1007。最后,当用户设备103内广播接收模块406收到广播的视频前缀数据后,将其缓存于本地1008。
在本发明中,当有用户请求视频服务,可能发生多种场景,不同场景下视频服务器101会做出不同的传输决策来响应用户请求,以下列举了三种场景,并对视频服务器101,基站102和用户设备103之间的信令交互过程加以阐述。
第一种场景,当有用户请求视频服务,而该用户设备103并未缓存该视频前缀,则基于零延时的服务要求视频服务器101会决策为单播传输该视频请求至用户。此过程中,视频服务器101,基站102和用户设备103之间的信令交互图如图11所示。当用户请求视频服务时,该用户设备103内请求视频下载,查询并报告本地是否缓存模块404首先进行本地视频前缀缓存查询1101。如果未缓存该视频前缀1102,则向其所属的基站102发送完整视频请求1103(用户请求消息格式如图7,已缓存视频前缀长度706为0)。当基站102内接收用户请求模块303收到用户完整视频请求后,基站102内向视频服务器反馈用户请求模块304负责向视频服务器101转发该完整视频请求1104(用户请求消息格式如图7,已缓存视频前缀长度706为0)。当视频服务器101收到该完整视频请求后,由其内的发送模式决策模块207做出决策为:单播模式传输1105。随后,视频服务器101内告知基站和用户设备决策模块208负责向基站告知采用单播模式传输完整视频1106(发送的配置指令消息格式如图8,发送模式806为2)。当基站102收到此告知消息后,立即由其内的接收及转发视频服务器指令模块305向用户设备103转发此告知消息1107(发送的配置指令消息格式如图9,发送模式905为2),并配置本基站102为单播模式1108。当用户设备103收到上述告知配置指令的消息后,配置本用户设备103为单播模式1109。接下来,视频服务器101的单播发送模块211开始向相应的基站102单播传输视频数据1110,当基站102内接收视频数据流模块306收到该视频数据后,再利用其内部单播发送模块309向相应用户设备103单播传输视频数据1111。最后,当用户设备103内单播接收模块408收到单播的视频数据后,开始用视频播放模块411进行视频播放1112。另外,当视频服务器101完成完整视频数据传输后,其内的更新视频点击量模块204将更新视频点击数量1113(即视频信息记录表中的累计点击数量502加1)。
第二种场景,当有用户请求视频服务,而该用户设备103已缓存该视频前缀,然而在等待收集其他用户请求时并未收集到其他用户,则视频服务器101会决策为单播传输该视频请求至用户。此过程中,视频服务器101,基站102和用户设备103之间的信令交互图如图12所示。当用户请求视频服务时,该用户设备103内请求视频下载,查询并报告本地是否缓存模块404首先进行本地视频前缀缓存查询1201。如果已缓存该视频前缀1202,则只需向其所属的基站102发送剩余主体视频请求1203(用户请求消息格式如图7,已缓存视频前缀长度706为当前用户设备103内视频信息记录表记录的已缓存视频前缀长度604),与此同时该用户设备103内的视频播放模块411开始进行视频播放1204。当基站102内接收用户请求模块303收到用户剩余主体视频请求后,基站102内向视频服务器反馈用户请求模块304负责向视频服务器101转发该剩余主体视频请求1205(用户请求消息格式如图7,已缓存视频前缀长度706为当前用户设备103内视频信息记录表记录的已缓存视频前缀长度604)。当视频服务器101收到该剩余主体视频请求后,由其内的发送模式决策模块207做出决策为:等待收集其他相同用户请求1206。当设置的等待门限(可根据已缓存视频前缀长度604来设定)到达后,发送模式决策模块207将做出决策:如果未收集到其他用户,则决策为单播模式传输1207。随后,视频服务器101内告知基站和用户设备决策模块208负责向基站告知采用单播模式传输剩余主体视频1208(发送的配置指令消息格式如图8,发送模式806为2)。当基站102收到此告知消息后,立即由其内的接收及转发视频服务器指令模块305向用户设备103转发此告知消息1209(发送的配置指令消息格式如图9,发送模式905为2),并配置本基站102为单播模式1210。当用户设备103收到上述告知配置指令的消息后,配置本用户设备103为单播模式1211。接下来,视频服务器101的单播发送模块211开始向相应的基站102单播传输视频数据1212,当基站102内接收视频数据流模块306收到该视频数据后,再利用其内部单播发送模块309向相应用户设备103单播传输视频数据1213。此时用户设备103内单播接收模块408收到单播的视频数据,并在视频播放模块411播放完视频前缀后继续播放剩余主体视频。另外,当视频服务器101完成完整视频数据传输后,其内的更新视频点击量模块204将更新视频点击数量1214(即视频信息记录表中的累计点击数量502加1)。
第三种场景,当有用户请求视频服务,而该用户设备103已缓存该视频前缀,并且在等待收集其他用户请求时收集到其他用户,则视频服务器101会决策为组播传输该视频请求至用户。此过程中,视频服务器101,基站102和用户设备103之间的信令交互图如图13所示。当用户请求视频服务时,该用户设备103内请求视频下载,查询并报告本地是否缓存模块404首先进行本地视频前缀缓存查询1301。如果已缓存该视频前缀1302,则只需向其所属的基站102发送剩余主体视频请求1303(用户请求消息格式如图7,已缓存视频前缀长度706为当前用户设备103内视频信息记录表记录的已缓存视频前缀长度604),与此同时该用户设备103内的视频播放模块411开始进行视频播放1304。当基站102内接收用户请求模块303收到用户剩余主体视频请求后,基站102内向视频服务器反馈用户请求模块304负责向视频服务器101转发该剩余主体视频请求1305(用户请求消息格式如图7,已缓存视频前缀长度706为当前用户设备103内视频信息记录表记录的已缓存视频前缀长度604)。当视频服务器101收到该剩余主体视频请求后,由其内的发送模式决策模块207做出决策为:等待收集其他相同用户请求1306。当设置的等待门限(可根据已缓存视频前缀长度604来设定)到达后,发送模式决策模块207将做出决策:如果收集到其他用户(如图中虚线所示,有两个用户发出同一视频请求),则决策为组播模式传输1307。随后,视频服务器101内告知基站和用户设备决策模块208负责向基站告知采用组播模式传输剩余主体视频1308(发送的配置指令消息格式如图8,发送模式806为1)。当基站102收到此告知消息后,立即由其内的接收及转发视频服务器指令模块305向用户设备103转发此告知消息1309(发送的配置指令消息格式如图9,发送模式905为1),并配置本基站102为组播模式1310。当用户设备103收到上述告知配置指令的消息后,配置本用户设备103为组播模式1311。接下来,视频服务器101的组播发送模块210开始向相应的基站102组播传输视频数据1312,当基站102内接收视频数据流模块306收到该视频数据后,再利用其内部组播发送模块308向相应用户设备103组播传输视频数据1313。此时用户设备103内组播接收模块407收到组播的视频数据,并在视频播放模块411播放完视频前缀后继续播放剩余主体视频。另外,当视频服务器101完成完整视频数据传输后,其内的更新视频点击量模块204将更新视频点击数量1314(即视频信息记录表中的累计点击数量502加1)。
图14表示了本发明中视频服务器101利用用户设备103本地播放时间收集其他用户的过程。此图仅以三个视频的请求为例,图中视频1,视频2,视频3的视频前缀(大小(或长度)为d1,d2,d3)如前所述已被事先广播发送并存储于用户设备103中,t表示请求的时间,L表示视频的长度(本图中假设三个视频长度相同)。第一条线表示全部三个视频请求,其中t1,t2,t4,t7,t8,t10,t14表示不同用户请求视频1的时间,t3,t5,t9,t12,t13表示不同用户请求视频2的时间,t6,t11表示不同用户请求视频3的时间,第二、三、四条线分别表示视频1,2,3的请求。第二条线上,在t1时间有用户请求视频1,则该用户设备103随即开始播放存储在本地的视频1的视频前缀,同时视频服务器101可利用视频前缀播放的时间t1到t1+d1收集其他请求视频1的用户。如图所示,在时间t2和t4分别有用户请求视频1,所以视频服务器101在此段时间内收集到了另外两个用户(此两个用户也分别在发出请求的时间t2和t4开始播放本地视频前缀)。从时间t1+d1开始,视频服务器101向此三个用户组播发送剩余主体视频内容L-d1。值得注意的是,在时间t7请求视频1的用户由于已经在收集时间门限t1+d1之后提出的请求,所以这个用户不会参与前面的视频接收,而会触发视频服务器101另外一个判决过程。在第四条线上,由用户在时间t6触发的等待过程并没有在时间t6到t6+d3收集到其他请求视频3的用户,所以从时间t6+d3开始,视频服务器101向此用户单播发送剩余主体视频内容L-d3。
很显然,如何进行视频前缀的分割是实现本发明资源高效利用率的关键。在本发明中,上述视频分割是通过视频服务器101中视频前缀计算发送模块205来实现的,考虑到一些可能涉及到的关键参数,如视频点击率,用户到达率,视频大小(或长度),用户存储限制,具体实现方法可以用以下几种方式:
(1)单独考虑一种参数(假设其他参数已知),如视频点击率,按照点击率的高低分配不同的前缀分割比例,点击率越高比例越大;如视频大小(或长度),按照视频的大小分配不同的前缀分割比例,视频越大比例越大;如用户存储限制,按照用户存储空间的大小分配不同的前缀分割比例,用户存储空间越大比例越大。
(2)综合考虑几种参数,如同时考虑视频点击率和视频大小(或长度)分配不同的前缀分割比例,点击率越高且视频越大(长),比例越大;如同时考虑视频点击率和用户存储限制分配不同的前缀分割比例,点击率越高且用户存储空间越大,比例越大;如同时考虑视频大小(或长度)和用户存储限制分配不同的前缀分割比例,视频大小(或长度)越大(长)且用户存储空间越大,比例越大;如同时考虑视频点击率,视频大小(或长度)和用户存储限制分配不同的前缀分割比例,点击率越高且视频大小(或长度)越大(长)且用户存储空间越大,比例越大;
图15表示本发明中视频服务器101中视频前缀计算发送模块205如何分割各视频前缀大小的框图。图中视频前缀计算发送模块205的输入参数为视频点击率Pi 1501,用户到达率λ1502,每个视频长度(或大小)Li 1503和用户存储限制D1504。视频点击率Pi 1501可通过如下公式来计算:
其中,ni表示第i个视频被点击的数量;用户到达率λ1502表示用户发出请求到达视频服务器101的速率,这种到达率可以假设符合为某一分布,如泊松分布等;每个视频长度(或大小)Li 1503;用户存储限制D1504,这里假设各用户设备103被允许的存储限制一致为D(以便得出最优解)。图中的输出参数为各视频前缀的长度d1,d2,…,di,…1505。
下面例举一下求出最优解的算法:
综合以上参数可以得出对于N个视频请求组播总共需要的传输能量为:
其中,C为组播一个视频平均每秒的能量消耗。优化问题随之即可写为:
0≤di≤Li,i=1,2,...,N.
通过最优化求解,可以得出最优解为
其中,c为归一化因子,选取需要满足的限制。
接下来,说明本系统中的几个处理流程。
图16表示本发明中视频服务器101视频前缀分割、广播及更新的流程图。首先,视频服务器101内视频前缀计算发送模块205用最优化算法计算各视频前缀长度1601并随后进行分割1602。经告知广播模式后,视频服务器101的广播发送模块209开始向所有基站102和用户设备103进行视频前缀广播1603。随后,视频服务器101接收用户请求模块206进入等待1604并随时监听是否有用户请求1605的状态。如果没有用户请求,则继续等待;如果有用户请求,则在响应完该请求后更新视频点击量模块204将更新视频点击数量1606(即视频信息记录表中的累计点击数量502加1)。最后,视频前缀计算发送模块205需要重新判断是否需要重新分割视频前缀1607,如果不需要,则继续等待;如果需要,则回到开始的计算各视频前缀长度1601重新分割。这里需要指出的是,频繁的重新分割计算及广播会造成资源的浪费并使本系统的效率降低。因此为避免频繁分割,可以在视频前缀计算发送模块205判断是否需要重新分割1607时加一些限制,例如(1)只有当视频(尤其是点击率不高的视频)点击率增长超过一定数量后才可触发重新分割;(2)只有当某一视频的点击率超过另一视频时才可触发重新分割;(3)只有当本视频的点击率增长超过一定比例才可触发重新分割。
图17表示本发明中用户设备103请求视频的流程图。首先,用户设备103点击请求一个视频1701,该设备需先判断本地是否已缓存该视频前缀1702。如果未缓存,则发送完整视频请求1703,并在收到视频服务器101的告知单播模式发送指令后,配置本设备为单播接收1704;如果已缓存,则发送剩余主体视频请求1705,并在收到视频服务器101的告知发送模式指令(是否组播传输1706)后,决定配置本设备为单播接收1704或组播接收1707。最后,由相应的接收模块接收数据1708并结束。
图18表示本发明中视频服务器101响应用户请求的流程图。当视频服务器101接收到一个用户请求1801后,首先由发送模式决策模块207根据接收到的用户请求消息中的已缓存视频前缀长度706记录判断用户是否请求的是剩余主体视频1802,如果不是(证明用户请求为完整视频),则发送配置单播模式传输指令1803;如果是,则等待收集其他用户1804,并在等待门限到达后判断是否收集到多个用户1805,如果是,则发送配置组播模式传输指令1806;如果不是,则发送配置单播模式传输指令1803。最后,由相应的发送模块接发送数据1807并结束。
以上说明的实施方式只是举例说明,不意味着对发明的范围进行限定。这些新的实施方式能够通过其他各种方式实施。另外,在不脱离发明的主旨的范围内,能够进行各种省略、置换、变更。这些实施方式及其变形都包含在发明的范围和主旨中,并且包含在权利要求的范围所记载的发明及与其均等的范围中。
Claims (13)
1.一种视频点播服务装置,与用户终端及基站网络连接,其特征在于,具备:
视频前缀计算发送模块(205),计算并选取视频中的一部分作为视频前缀,并将视频前缀广播发送给用户终端,
接收用户请求模块(206),接收用户终端的视频播放请求,以及
发送模式决策模块(207),根据所述视频前缀是否已被缓存于用户终端来决定是否等待收集请求播放同一视频的其他用户终端,并且,根据是否在一定时间内收集到有请求播放同一视频的其他用户终端,决定采用组播或单播发送模式向用户终端传输视频数据。
2.根据权利要求1所述的视频点播服务装置,其特征在于,
当接收到用户终端的视频播放请求而用户终端未缓存有视频前缀的消息时,所述发送模式决策模块决定以单播发送模式向用户终端传输该视频的完整内容。
3.根据权利要求1所述的视频点播服务装置,其特征在于,
当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端而未收集到的消息时,所述发送模式决策模块决定以单播发送模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
4.根据权利要求1所述的视频点播服务装置,其特征在于,
当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端且收集到的消息时,所述发送模式决策模块决定以组播发送模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
5.根据权利要求1所述的视频点播服务装置,其特征在于,
所述一定时间根据存储于用户终端的视频前缀长度来设定。
6.根据权利要求1所述的视频点播服务装置,其特征在于,还具备:
存储单元(202),存储视频内容及视频信息记录表,以及
更新视频点击量模块(204),根据用户终端点击播放视频的请求,更新存储于所述存储单元的视频信息记录表。
7.根据权利要求1所述的视频点播服务装置,其特征在于,
所述视频前缀计算发送模块通过视频点击率、用户到达率、视频大小、用户存储限制的至少一个作为参数来计算并选取视频中的一部分作为视频前缀。
8.一种视频点播服务方法,其特征在于,包括:
视频前缀计算发送步骤,计算并选取视频中的一部分作为视频前缀,并将该视频前缀广播发送给用户终端,
接收用户请求步骤,接收用户终端的视频请求,以及
发送模式决策步骤,根据所述视频前缀是否已被缓存于用户终端来决定是否等待收集请求播放同一视频的其他用户终端,并且,根据是否在一定时间内收集到有请求播放同一视频的其他用户终端,决定采用组播或单播发送模式向用户终端传输视频数据。
9.根据权利要求8所述的视频点播服务方法,其特征在于,
当接收到用户终端的视频播放请求且用户终端未缓存视频前缀的消息时,所述发送模式决策步骤决定以单播发送模式向用户终端传输该视频的完整内容。
10.根据权利要求8所述的视频点播服务方法,其特征在于,
当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端而未收集到的消息时,所述发送模式决策步骤决定以单播发送模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
11.根据权利要求8所述的视频点播服务方法,其特征在于,
当接收到用户终端的视频播放请求且用户终端已缓存有视频前缀,并且,在一定时间内收集请求播放同一视频的其他用户终端且收集到的消息时,所述发送模式决策步骤决定以组播模式在视频前缀播放结束前开始向用户终端传输该视频的剩余内容。
12.根据权利要求8所述的视频点播服务方法,其特征在于,
所述一定时间根据存储于用户终端的视频前缀长度来设定。
13.根据权利要求8所述的视频点播服务方法,其特征在于,
所述视频前缀计算发送步骤,通过视频点击率、用户到达率、视频大小、用户存储限制的至少一个作为参数来计算并选取视频中的一部分作为视频前缀。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371155.7A CN103716658B (zh) | 2012-09-28 | 2012-09-28 | 视频点播服务装置与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371155.7A CN103716658B (zh) | 2012-09-28 | 2012-09-28 | 视频点播服务装置与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103716658A CN103716658A (zh) | 2014-04-09 |
CN103716658B true CN103716658B (zh) | 2017-05-17 |
Family
ID=50409157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210371155.7A Expired - Fee Related CN103716658B (zh) | 2012-09-28 | 2012-09-28 | 视频点播服务装置与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103716658B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282566B (zh) * | 2014-05-28 | 2018-04-06 | 中国电信股份有限公司 | 将交互式电视点播节目转换为组播节目的方法和系统 |
CN104009853B (zh) * | 2014-06-18 | 2017-12-01 | 深圳市三峰光电科技有限公司 | Cdn系统中数据请求、发送的方法、装置及系统结构 |
CN111372103B (zh) * | 2018-12-26 | 2023-05-26 | 中兴通讯股份有限公司 | 一种组播方法、装置、设备和计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5631694A (en) * | 1996-02-01 | 1997-05-20 | Ibm Corporation | Maximum factor selection policy for batching VOD requests |
US6859840B2 (en) * | 2001-01-29 | 2005-02-22 | Kasenna, Inc. | Prefix caching for media objects |
CN1859562A (zh) * | 2006-03-13 | 2006-11-08 | 华为技术有限公司 | 视频点播方法、系统、服务器和终端 |
CN101383944A (zh) * | 2007-09-05 | 2009-03-11 | 上海贝尔阿尔卡特股份有限公司 | 多用户视频点播方法及实现该方法的视频点播服务器 |
CN101595731A (zh) * | 2007-01-18 | 2009-12-02 | 汤姆森许可贸易公司 | 前缀高速缓存辅助的服务质量感知对等视频点播 |
-
2012
- 2012-09-28 CN CN201210371155.7A patent/CN103716658B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5631694A (en) * | 1996-02-01 | 1997-05-20 | Ibm Corporation | Maximum factor selection policy for batching VOD requests |
US6859840B2 (en) * | 2001-01-29 | 2005-02-22 | Kasenna, Inc. | Prefix caching for media objects |
CN1859562A (zh) * | 2006-03-13 | 2006-11-08 | 华为技术有限公司 | 视频点播方法、系统、服务器和终端 |
CN101595731A (zh) * | 2007-01-18 | 2009-12-02 | 汤姆森许可贸易公司 | 前缀高速缓存辅助的服务质量感知对等视频点播 |
CN101383944A (zh) * | 2007-09-05 | 2009-03-11 | 上海贝尔阿尔卡特股份有限公司 | 多用户视频点播方法及实现该方法的视频点播服务器 |
Non-Patent Citations (1)
Title |
---|
基于可扩展视频服务器集群的视频点播系统设计;郭相勇,黄战;《计算机工程与应用》;20040108;第39卷(第7期);第153-155页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103716658A (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101669331B (zh) | 在宽带无线接入网络中定位内容的方法及系统 | |
CN102035839B (zh) | 一种提供流媒体服务的方法及系统、设备 | |
CN100377602C (zh) | 移动通信系统中聚合广播业务和多播业务的方法和装置 | |
CN100442774C (zh) | 在微波接入全球互通系统中提供组播业务的方法及系统 | |
CN101453699B (zh) | 一种广告播放方法和用户终端 | |
EP1753165A1 (en) | The method of data transmission of multimedia broadcast/multicast service | |
CN101820585B (zh) | 移动通信网络中的资源动态分配的方法及设备 | |
CN101120556A (zh) | 通信网络的控制系统、通信终端以及通信网络的控制方法 | |
CN101427512A (zh) | 用于改进无线网络中的组播流动的方法和装置 | |
US20100118758A1 (en) | Distributing content in a communication network | |
CN103348609B (zh) | 用于在无线通信系统中接收多播数据的方法及其m2m设备 | |
US20150036494A1 (en) | Grouped multicast/broadcast single frequency network (mbsfn) splitting | |
US20230083175A1 (en) | Communication method and apparatus for multicast and broadcast service, medium, and electronic device | |
CN108886669A (zh) | 广播和单播递送之间的流送服务的动态切换 | |
CN105743958A (zh) | 一种终端之间的通信方法和装置 | |
CN103716658B (zh) | 视频点播服务装置与方法 | |
CN105898550B (zh) | 一种端到端对等视频协助传输的方法 | |
WO2012068954A1 (zh) | Mbms业务的传输方法和系统 | |
CN100426886C (zh) | 一种实现流媒体业务的方法 | |
CN101383944A (zh) | 多用户视频点播方法及实现该方法的视频点播服务器 | |
CN101146255A (zh) | 一种整合广播组播业务和单播业务的方法及系统 | |
CN102300122B (zh) | 数字电视节目点播方法 | |
CN101374074A (zh) | 一种统计在线接收mbms业务的用户设备数目的方法 | |
CN107566994A (zh) | 组区域调整方法和系统,集群应用服务器及集群用户终端 | |
JP3627631B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170517 |
|
CF01 | Termination of patent right due to non-payment of annual fee |