发明内容
本发明的目的是提供一种利用QAM设备(正交幅度调制转换设备)和HFC网络并将上行数据和下行数据分离的视频点播网络和点播方法。将成本较低的HFC网络应用到视频点播网络中,将使运营商将更加有效地利用现有的HFC网络资源,以较低的代价在HFC网络上实现交互数字电视业务,为扩展交互式数字电视业务提供多种接入方案。
在HFC的互动电视方案中,相对于IPTV(互联网电视)***,引入QAM设备之后,STB和边缘流媒体服务引擎缓存之间的控制信息和视频流数据分别通过不同的通路传输。由于上行的点播请求信息量极小,可以通过任何一种IP网络送到VOD(视频点播)头端,下行的视频流则通过使用了QAM设备的HFC网络送达用户机顶盒。
QAM设备是一种能将数字媒体信号调制成射频信号在HFC网络上进行传输的设备。QAM设备一般被部署在边缘节点,输入为IP数据,输出为射频(RF)信号。
基于HFC网络的视频点播网络与现行lPTV***的区别是,STB的接入认证、信息浏览等流程相同,通过IP网络交互,当用户的点播请求被重定向到边缘流服务器后,流服务器并不直接把视频流通过lP网络传输给STB,而是将视频流以恰当的封包形式输出至QAM设备,QAM将视频流调制成射频(RF,Radio Frequency),通过HFC网络传输给STB,STB对视频流进行解调和解码。
根据本发明的第一方面,提供一种视频点播网络,在基于IP的主干网和STB之间使用QAM设备和HFC网络,STB向基于IP的主干网发送的上行数据利用IP网络通道,基于IP的主干网向STB发送的下行数据利用HFC网络的射频通道。
根据本发明的一实施例,该视频点播网络包括:
基于IP的主干网;
边缘流媒体服务引擎以及边缘流媒体服务引擎缓存,连接到基于IP的主干网,从主干网接收数据;
QAM设备,连接到边缘流媒体服务引擎,接收来自边缘流媒体服务引擎的数据;
HFC网络,通过射频链路与QAM设备相连,以射频RF的形式传输数据;
STB,通过射频链路与HFC网络相连;
IP通信网络,连接在边缘流媒体服务引擎和STB之间,执行IP协议连接;
其中,从STB至基于IP的主干网的上行数据通过IP通信网络传输,从基于IP的主干网至STB的下行数据通过QAM设备及HFC网络传输,其中,QAM设备输出射频RF信号。
根据本发明的一实施例,该视频点播网络包括负载均衡***,位于所述IP的主干网,比如CDN网络(内容分发网络)中,包括:
全局负载均衡器,与STB可通信地相连,接收来自STB的点播请求;
至少一个本地负载均衡器,连接到全局负载均衡器,每一个本地负载均衡器具有一区域信息,每一个本地负载均衡器可通信地连接到STB;
每一个所述本地负载均衡器还连接到:
至少一个媒体服务控制器,每一个所述媒体服务控制器与内容控制器可通信地相连,还可通信地连接到所述STB;
至少一个所述QAM设备,每一个所述QAM设备与至少一个媒体服务控制器可通信地相连,还可通信地连接到所述STB;其中
所述STB的点播请求中包括一请求区域信息,所述全局负载均衡器保存有路由表,路由表记录本地负载均衡器的区域信息,所述全局负载均衡器根据请求区域信息在路由表中选择有相匹配的区域信息的本地负载均衡器;
所述具有相匹配的区域信息的本地负载均衡器查询其所连接的媒体服务控制器和QAM设备的负载状况,如果负载状况允许为所述机顶盒提供服务,则由所选中的本地负载均衡器及其所连接的媒体服务控制器和QAM设备为所述STB提供服务;如果负载状况不允许为所述STB提供服务,则所述本地负载均衡器向全局负载均衡器报告,全局负载均衡器向所述STB报告请求失败。
根据本发明的一实施例,该视频点播网络还包括流媒体封包解包***,包括:
TS封包装置,将通过视频/音频信号编码而成的数字信号封装成TS流格式,并加上TS包头;
UDP封包装置,连接于所述TS流封包装置,还连接于主干网,将TS流封装成UDP格式,并加上UDP和TCP/IP包头,通过主干网传送给QAM设备;
UDP解包装置,位于QAM设备中,去除UDP和TCP/lP包头,从UDP格式中提取TS流,并通过射频RF信号传输给HFC网络,HFC网络将TS流以射频RF信号的形式传输给STB;
TS解包装置,位于所述STB中,将TS流还原成数字信号,并有STB中的解码芯片将数字信号解码成视频/音频信号。
较佳的,全局负载均衡器将所有视频点播网络的地址划分成数个区域,每一个区域由一本地负载均衡器进行服务,该本地负载均衡器具有和该区域相对应的区域信息;其中
本地负载均衡器往设定的QAM设备和UDP端口发送区域信息,同时将该QAM资源置为使用状态;
STB在预先设置或者其他途径得到的频点和PID接收区域信息。
根据本发明的第二方面,提供一种视频点播方法,用于在基于lP的主干网和机顶盒STB之间使用QAM设备和HFC网络的视频点播网络,该方法包括:
利用IP网络通道进行STB向基于IP的主干网发送的上行数据传输;
利用HFC网络的射频通道进行基于IP的主干网向STB发送的下行数据传输。
根据本发明的一实施例,所述视频点播网络包括:
基于IP的主干网;
边缘流媒体服务引擎以及边缘流媒体服务引擎缓存,连接到基于lP的主干网,从主干网接收数据;
QAM设备,连接到边缘流媒体服务引擎,接收来自边缘流媒体服务引擎的数据;
HFC网络,通过射频链路与QAM设备相连,以射频RF的形式传输数据;
STB,通过射频链路与HFC网络相连;
IP通信网络,连接在边缘流媒体服务引擎和STB之间,执行IP协议连接;
上行数据传输流程如下,STB将上行数据以IP协议通过IP通信网络传输到基于IP的主干网;
下行数据传输流程如下,基于lP的主干网将下行数据传输到边缘流媒体服务引擎以及边缘流媒体服务引擎缓存,再传输到QAM设备,QAM设备将下行数据调制成射频RF传输给HFC网络,HFC网络以射频RF传输经调制的下行数据至STB。
根据本发明的一实施例,所述视频点播方法还包括负载均衡步骤,包括:
由负载均衡***中的全局负载均衡器接收来自STB的点播请求;所述点播请求中包含一请求区域信息;
全局负载均衡器根据请求区域信息在路由表中选择有相匹配的区域信息的本地负载均衡器,所述路由表由全局负载均衡器保存,路由表记录负载均衡***中的本地负载均衡器的区域信息;
具有相匹配的区域信息的本地负载均衡器查询其所连接的媒体服务控制器和QAM设备的负载状况,如果负载状况允许为所述STB提供服务,则由所选中的本地负载均衡器及其所连接的媒体服务控制器和QAM设备为所述STB提供服务;如果负载状况不允许为所述STB提供服务,则所述本地负载均衡器向全局负载均衡器报告,全局负载均衡器向所述STB报告请求失败。
根据本发明的一实施例,还包括流媒体封包解包步骤,包括:
将通过视频/音频信号编码而成的数字信号封装成TS流格式,并加上TS包头;
将TS流封装成UDP格式,并加上UDP和TCP/IP包头,通过主干网传送给QAM设备;
QAM设备将去除UDP和TCP/IP包头,从UDP格式中提取TS流,并通过射频RF信号传输给HFC网络;
HFC网络将TS流以射频RF信号的形式传输给STB;
STB将TS流还原成数字信号,并有STB中的解码芯片将数字信号解码成视频/音频信号。
较佳的,全局负载均衡器将所有视频点播网络的地址划分成数个区域,每一个区域由一本地负载均衡器进行服务,该本地负载均衡器具有和该区域相对应的区域信息;其中
本地负载均衡器往设定的QAM设备和UDP端口发送区域信息,同时将该QAM资源置为使用状态;
STB在预先设置或者其他途径得到的频点和PID(信息包识别码)接收区域信息。
采用本发明的技术方案,利用射频RF进行数据传输的HFC网络,将数据量巨大的下行数据通过带宽资源相对更加丰富的射频RF传输,大大缓解下行数据的拥堵问题,而对于数据量较小的上行数据,仍然使用IP协议进行传输,避免了对现有网络的大规模改造,节约了成本,同时又能有效提高用户的使用体验。
具体实施方式
本发明的目的是提供一种利用QAM设备和HFC网络并将上行数据和下行数据分离的视频点播网络和点播方法。将成本较低的HFC网络应用到视频点播网络中。根据本发明,提供一种视频点播网络,在基于IP的主干网和STB之间使用QAM设备和HFC网络,STB向基于IP的主干网发送的上行数据利用IP网络通道,基于IP的主干网向STB发送的下行数据利用HFC网络的射频通道。
参考图1,图1是根据本发明的一实施例的视频点播网络的结构框图,该视频点播网络100包括:
基于IP的主干网102;
边缘流媒体服务引擎104以及边缘流媒体服务引擎缓存105,连接到基于IP的主干网102,从主干网102接收数据;
QAM设备106,连接到边缘流媒体服务引擎104,接收来自边缘流媒体服务引擎的数据;
HFC网络108,通过射频RF链路与QAM设备106相连,以射频RF的形式传输数据;
STB 110,通过射频链路与HFC网络108相连;
IP通信网络112,连接在边缘流媒体服务引擎104和STB 110之间,执行IP协议连接;
其中,从STB 110至基于IP的主干网102的上行数据通过IP通信网络112传输,从基于IP的主干网102至STB 110的下行数据通过QAM设备106及HFC网络108传输,其中,QAM设备106输出射频RF信号。
在HFC的互动电视方案中,相对于IPTV***,引入QAM设备之后,STB和边缘流媒体服务引擎缓存之间的控制信息和视频流数据分别通过不同的通路传输。由于上行的点播请求信息量极小,可以通过任何一种IP网络送到VOD头端,下行的视频流则通过使用了QAM设备的HFC网络送达用户STB。
QAM设备是一种能将数字媒体信号调制成射频信号在HFC网络上进行传输的设备。QAM设备一般被部署在边缘节点,输入为IP数据,输出为RF射频信号。
基于HFC网络的视频点播网络与现行IPTV***的区别是,STB的接入认证、信息浏览等流程相同,通过IP网络交互,当用户的点播请求被重定向到边缘流服务器后,流服务器并不直接把视频流通过IP网络传输给STB,而是将视频流以恰当的封包形式输出至QAM设备,QAM将视频流调制成射频(RF,Radio Frequency),通过HFC网络传输给STB,STB对视频流进行解调和解码。
负载均衡技术
为了更好地利用HFC资源以及提高传输的速度,本发明在HFC网络中应用负载均衡技术,应用在基于HFC网络的视频点播***中的负载均衡包括全局负载均衡以及本地负载均衡。
全局负载均衡主要功能是维护各节点的可用性及负载信息,并根据就近性的原则将用户重定向到就近的节点。与IP网络分组交换方式不同,HFC网络使用射频方式传输节目,因此在HFC网络上不存在“次优节点”。即全局负载均衡器重定向的结果只有两种:重定向到最优节点或者返回错误信息。全局路由的实现方式是:为STB增加区域信息(以Region ID的形式)的属性,该属性标识用户属于HFC网络上的哪一个区域(如所属的分前端、光节点等)。全局负载均衡器中维护STB Region ID与服务节点的对应列表。当STB发送点播请求时,请求中带有Region ID。全局负载均衡器查询该Region ID对应的服务节点,并将该点播请求重定向到该节点的本地负载均衡器上。
本地负载均衡设备的功能是管理节点内容及服务能力信息,根据负载情况,为用户选择特定的流服务引擎来提供服务。与现有IPTV***不同,本地负载均衡器除了要管理节点内流服务器的负载信息以外,还需要维护QAM设备可用的频道资源,并根据频道资源及流服务器的负载情况为用户选择恰当的服务资源。
图2是根据本发明的一实施例的负载均衡***的结构框图及工作原理框图。
参考图2所示,一负载均衡***200与视频点播网络中的STB 300、QAM设备208(QAM设备208被视为是负载均衡***200以外的组件)和内容控制器302相连,其中,具体的连接方式如下:
全局负载均衡器201,与STB 300可通信地相连,接收来自STB 300的点播请求;
至少一个本地负载均衡器202,连接到全局负载均衡器201,每一个本地负载均衡器202具有一区域信息,每一个本地负载均衡器202可通信地连接到STB 300;需要说明的是,在图2中虽然仅仅示出了一个本地负载均衡器202,但是根据本发明的技术方案,可以包括多个本地负载均衡器202,分别服务于不同的区域,这些本地负载均衡器202都连接到全局负载均衡器201;
每一个本地负载均衡器202还连接到:
至少一个媒体服务控制器204,每一个媒体服务控制器204与内容控制器302可通信地相连,还可通信地连接到STB 300;
至少一个QAM设备208,该QAM设备208就是图1中所述的QAM设备106,每一个QAM设备208与至少一个媒体服务控制器204可通信地相连,还可通信地连接到STB 300;同样需要说明的是,在图2中虽然仅仅示出了一个媒体服务控制器204和一个QAM设备208,但是根据本发明的技术方案,可以包括多个媒体服务控制器204和一个QAM设备208,其中
STB 300的点播请求中包括一请求区域信息(Region ID),全局负载均衡器201保存有路由表,路由表记录本地负载均衡器202的区域信息(Region ID),全局负载均衡器201根据请求区域信息在路由表中选择有相匹配的区域信息(Region ID)的本地负载均衡器202;
具有相匹配的区域信息(Region ID)的本地负载均衡器202查询其所连接的媒体服务控制器204和QAM设备208的负载状况,如果负载状况允许为STB 300提供服务,则由所选中的本地负载均衡器202及其所连接的媒体服务控制器204和QAM设备208为STB 300提供服务;如果负载状况不允许为STB 300提供服务,则本地负载均衡器202向全局负载均衡器201报告,全局负载均衡器201向STB 300报告请求失败。
继续参考图2,其中还包括节目表浏览器(EPG)304,用于浏览电子节目菜单,同时,图2所示的实施例的负载均衡***的工作原理框图中还定义了一系列的接口:
接口A:EPG 304和STB 300之间的接口。STB 300浏览点播EPG304上节目信息,EPG 304返回影片的URL(统一资源定位符),URL的IP地址为全局负载均衡器201的IP地址;
接口B:全局负载均衡器201和STB 300之间的接口。全局负载均衡器201根据STB 300的Region ID进行静态路由,将STB 300重定向到对应区域(Region)的本地负载均衡器202;
接口C:本地负载均衡器202和STB 300之间的接口。本地负载均衡器202根据当前媒体服务控制器204和QAM设备208的负载状况,选择相应的媒体服务控制器204和QAM设备208资源,对STB 300提供服务;
接口D:媒体服务控制器204和STB 300之间的接口。STB 300和媒体服务控制器204交互进行播放、退出,快进、快退等操作信息;媒体服务控制器204返回给STB 300接受节目的频点Frequency/SID(服务识别码)等QAM设备208所需的相关信息;STB 300向媒体服务控制器204汇报在指定QAM设备208资源接受不到数据的错误;
接口E:QAM设备208和STB 300之间的接口。QAM设备208通过CabIe网络向STB 300发送视频流;
接口F:全局负载均衡器201和本地负载均衡器202之间的接口。本地负载均衡器202向全局负载均衡器201汇报活动和负载情况。
接口G:本地负载均衡器202和媒体服务控制器204之间的接口。媒体服务控制器204向本地负载均衡器202申请能满足带宽要求的QAM设备208相关的参数信息:SessionID,QAM IP、UDP port、Frequency、lnput Sid、Output Sid等;媒体服务控制器204汇报STB对QAM设备208资源的使用释放情况;媒体服务控制器204向本地负载均衡器202汇报STB 300接受特定QAM设备资源数据失败的信息;
接口H:原始内容控制器302和媒体服务控制器204之间的接口。影片文件下载(FTP下载和流式下载);代理播放;
接口I:媒体控制服务器204和QAM设备208之间的接口。媒体控制服务器204往指定QAM设备208的IP和UDP端口上发送TS数据包。
在具体的应用过程中,全局负载均衡器201会将所有视频点播网络的地址划分成数个区域,每一个区域由一本地负载均衡器202进行服务,该本地负载均衡器202具有和该区域相对应的区域信息(Region ID);STB300发送点播请求时,其请求区域信息(Region ID)与该STB 300地址的区域相对应。
同时,根据本发明的实施例,本地负载均衡器202还保存下列的信息:区域信息、主频率信息、主PID信息、备选频率信息、备选PID信息。同时,本地负载均衡器202对其所连接的QAM设备208的进行PID配置和UDP端口管理,设定UDP端口和PID的对应关系,当本地负载均衡器202所连接的媒体服务控制器204向本地负载均衡器202请求资源来服务STB时,除了分配带宽,还需要本地负载均衡器202向媒体服务控制器204提供UDP端口和PID的信息,以便媒体服务控制器204向QAM设备208发送媒体数据。
为了应对可能出现的区域划分变化的情况,本地负载均衡器202还可以被设置成定期对其所连接的媒体服务控制器204、QAM设备208以及STB进行区域信息配置,使属于同一本地负载均衡器202的媒体服务控制器204、QAM设备208以及STB具有相应的区域信息。
总而言之,本发明的负载均衡技术中,全局负载均衡器中主要管理的实体是其所管辖的本地负载均衡器,本地负载均衡器被称作全局负载均衡器的子节点。根据基于HFC网络的视频点播***的需要,绑定了本地负载均衡器和其所对应的QAM设备的关系,该绑定是通过RegionID来完成的。
全局负载均衡器可以根据IP范围的就近性信息,并且在配置时设置一定的优先级和权重,依据这些信息查找合适的子节点---本地负载均衡器。在HFC-VOD***中,根据STB请求服务时附加的Region ID,查找静态路由表,将用户重定向到HFC网络上距离用户最近的服务节点----本地负载均衡器;如果没有RegionID,也就是IP接入方式,则按照以前IPTV方式进行路由。
而本地负载均衡器面对的实体有全局负载均衡器、QAM设备和媒体服务控制器。全局负载均衡器是根据就近性原则进行初步分配的,而本地负载均衡器则根据业务应用需要,以及媒体服务控制器的服务能力负载均衡等信息进行更进一步的分配。
本地负载均衡器根据应用业务的配置,以及各个媒体服务控制器的负载值、服务情况的信息,以及一定的优先级、权重等配置,通过智能的算法查找合适的媒体服务控制器为STB提供服务。本地负载均衡器同样也支持自定义脚本的分配策略,为用户对整个子节点查找分配提供更大的灵活性和自由度。
本地负载均衡器需要接受全局负载均衡器的管理监控,提供负载、当前服务情况等信息供全局负载均衡器进行路由分配算法时使用。而本地负载均衡器也需要监控其子节点媒体服务控制器,查询各个子节点的负载、当前服务等信息,供本地负载均衡器自身的路由分配算法使用。
本地负载均衡器在分配用户的请求时,需要首先判断QAM是否还有富余的资源----频点资源、媒体服务控制器资源是否有可用的。如果该本地负载均衡器管理的RegionID的区域中没有相应的QAM资源可用,或者媒体服务控制器的服务能力已经满了,就返回相应的“服务能力已到”的提示。如果QAM资源和媒体服务控制器的服务能力都有剩余,本地负载均衡器就会选择相应的QAM(以及具体的QAM资源)、媒体服务控制器即为该STB提供服务。
根据基于HFC网络的视频点播***的需要,本地负载均衡器具有对QAM资源的管理的功能:
本地负载均衡器还具有所对应的HFC网络基本信息,包括RegionID、发放主频率信息、主PID信息、备选频率信息、备选PID信息。
本地负载均衡器还具有区域信息配置功能,即RegionID的配置,并且可以配置本地负载均衡器定期在指定的QAM设备上发送RegionID,以便STB能够在从QAM中获取自己所处的网络的区域信息。
本地负载均衡器还能够对各个区域的频率和带宽的管理,STB请求服务时需要为其分配带宽,服务结束时释放带宽,当可用带宽不足时,不能向STB提供服务。
本地负载均衡器还能够对每个区域里的QAM设备的管理,包括设备的标识和通信地址。
本地负载均衡器还能够对各个QAM设备的UDP端口和PID的配置和管理。可以设定QAM设备的接收的UDP端口和所对应的PID的关系,当流服务控制器向本地负载均衡器请求资源来服务STB时,除了分配带宽,还需要向流服务控制器提供UDP端口和PID的信息,以便流服务控制器向QAM发送媒体数据。这些UDP端口和PID信息也是象带宽一样需要动态分配和释放的。具体配置时,用户可以指定IPQAM某个Frequency的起始UDP端口,和起始PID、PID编号之间的步长这样批量增加,并且可以对单个QAM设备的UDP端口对应的PID信息进行修改。
媒体控制服务器
在本发明的负载均衡***中,另一个重要的装置是媒体控制服务器。首先,参考图3,图3是采用本发明的负载均衡***的视频点播网络中各个组件的业务关系图。视频点播网络媒体中的内容服务器310、媒体服务控制器312、本地负载均衡器314都是本发明所述的负载均衡***的组成部分,它们与QAM设备316、STB 318之间的关系如下:
媒体服务控制器312和内容服务器310之间进行ISMA ProtocoI(互联网流媒体联盟协议)交互和媒体数据获取;媒体服务控制器和内容服务器进行标准的RTSP(实时流协议)的信令交互,并通过TCP获取原始内容服务器发送的媒体数据。
媒体服务控制器312和本地负载均衡器314之间进行业务层认证;媒体服务控制器和本地负载均衡器进行业务层的交互,向本地负载均衡器汇报点播STB的RegionID标识,并从本地负载均衡器获取一个空闲的信道,用于媒体数据的发送。信道相关的参数包括QAM设备的IP和UDP端口、输出的频点、输出的PID等。
媒体服务控制器312和QAM设备316之间传输UDP封装的SPTS(单节目流)数据流;媒体服务控制器通过UDP数据包封装多个TS数据包,向QAM设备传送TS数据包。每个UDP端口只对应一个单节目传输流(SPTS)的传送。每个SPTS都包括PAT(节目关联表)、PMT(节目映射表)和DATA(数据)对应的TS(传输码流)数据包,PAT和PMT用于告知该单节目传输流SPTS中基本流的组成情况(几个基本流,每个基本流类型),使QAM设备能较快的锁定需要接收的TS数据,并过滤其他无效的干扰数据。每个UDP数据携带的TS数据包为1~7个不等。
媒体服务控制器312和STB 318之间进行RTSP交互。媒体服务控制器和STB控制层的信令以标准RFC2326的RTSP为基础,并根据应用中的需要进行部分扩展(遵循RFC2326的扩展要求)。扩展后通过RTSP的交互,STB可以上传RegionID标识,可以从媒体服务控制器获取数据的频点、PID。
媒体服务控制器在接受该用户的请求后,首先判断该用户的接入方式,是否携带x-RegionID选项,如果是HFC接入,媒体服务控制器将向本地负载均衡器申请服务该STB的QAM资源;如果申请成功,媒体服务控制器将为该用户提供相应的点播服务。
媒体服务控制器是整个内容分发网络内容路由***的边缘节点,负责最终提供给用户流媒体服务。根据基于HFC网络的视频点播***的需要,媒体服务控制器在处理应用业务时,需要协助本地负载均衡器进行QAM资源的管理。
媒体服务控制器是基于HFC网络的视频点播***中重要一环,与***中各个部分都有着一定的联系。首先它连接着终端STB,和STB进行RTSP的控制信令的交互。其次它连接着QAM设备,向QAM传送需要转发的TS数据包。它还连接着CDN网络,对于任何点播请求需要向CDN网络发起认证并汇报状态。最后它还连接着原始内容服务器,如果用户点播某部影片,该影片没有在媒体服务控制器本地磁盘上(即没有命中),媒体服务控制器需要向原始内容服务器请求该影片的点播服务,以代理(Proxy)方式向用户提供服务。针对基于HFC网络的视频点播***,增加了如下机制:
1)增加保活机制
在Proxy工作方式下,媒体服务控制器会向原始内容服务器发送“Options”命令,以保活该连接。
命令发送的间隔为30秒,如果原始内容服务器在70秒内没有接收到该命令,则将断开该连接,结束播放。
2)增加Set_Parameter命令处理
当文件播放到最后时,原始内容服务器将发送Set_Parameter命令,命令中的具体内容为“本次播放正常结束”
媒体服务控制器需要接受本地负载均衡的实时监控,并提供负载、当前服务情况等信息供本地负载均衡器的路由算法使用。
媒体服务控制器需要处理STB的连接请求,进行应用业务相关的判断,决定是否允许提供流媒体内容的服务。相关的判断包括STB是否通过认证,STB请求的内容是否能够提供,媒体服务控制器是否超过其服务能力。
根据基于HFC网络的视频点播***的需要,对媒体服务控制器进行扩展,在STB请求服务时,媒体服务控制器需要向本地负载均衡器报告并申请QAM的资源,并得到相应的QAM的输入端口信息,以便将STB请求的媒体数据通过相应的QAM设备发送给STB。STB播放结束或者异常退出后,媒体服务控制器要向本地负载均衡器进行汇报,释放相应的资源。
区域信息的分发
根据本发明,全局负载均衡器将所有视频点播网络的地址划分成数个区域,每一个区域由一本地负载均衡器进行服务,该本地负载均衡器具有和该区域相对应的区域信息。参考图4,图4是根据本发明的一实施例的视频点播网络中区域信息分发的示意图;其中
402.本地负载均衡器往设定的QAM设备和UDP端口发送区域信息,同时将该QAM资源置为使用状态;
404.STB在预先设置或者其他途径得到的频点和PI D接收区域信息。
流媒体封包解包***
由于在本发明的视频点播网络中使用了QAM设备和HFC网络,因此就需要一种适合QAM设备和HFC网络的流媒体格式,本发明还提供封包解包技术,比如流媒体分包解包***,参考图5所示,图5是根据本发明的一实施例的流媒体封包解包***500的结构框图,该流媒体封包解包***500包括:
TS封包装置502,将通过视频/音频信号编码而成的数字信号封装成TS流格式,并加上TS包头;TS封包装置502通常是位于提供视频/音频节目的内容服务器上,由于该服务器通常都是连接于主干网102,因此在图5中TS封包装置502被示为连接到主干网102(通过下面将要描述的UDP封包装置504)。
UDP封包装置504,连接于TS流封包装置502,还连接于主干网102,将TS流封装成UDP格式,并加上UDP和TCP/IP包头,通过主干网102传送给QAM设备106。需要说明,通常,QAM设备106是通过边缘流媒体服务引擎104和边缘流媒体服务引擎缓存105连接到主干网102的,在此不详细说明。
UDP解包装置506,位于QAM设备106中,图5中示为连接于QAM设备106,在实际的应用中,UDP解包装置506可以与QAM设备106集成在一起,也可以是分开的。UDP解包装置506去除UDP和TCP/IP包头,从UDP格式中提取TS流,并通过射频RF信号传输给HFC网络108 ,HFC网络108将TS流以射频RF信号的形式传输给STB 110。
TS解包装置508,位于STB 110中,图5中示为连接于STB 110,在实际的应用中,TS解包装置508可以与STB 110集成在一起,也可以是分开的,TS解包装置508将TS流还原成数字信号,并有STB 110中的解码芯片(未示出,对于本领域技术人员来说,STB 110包含解码芯片是公知的技术)将数字信号解码成视频/音频信号。
根据图5所示的实施例,对于流媒体数据为视频/音频信号通过MPEG4编码而成的情况,该***500还包括:
RTP/RTCP(实时传输协议/实时传输控制协议)封包装置501,连接TS封包装置502,将通过视频/音频信号编码而成的数字信号封装成RTP/RTCP格式,加上RTP/RTCP包头,再将RTP/RTCP包传输给TS封包装置502封装成TS格式;以及
RTP/RTCP解包装置509,位于STB 110中,连接TS解包装置508,先将TS流还原成RTP/RTCP格式,再进一步传输给TS解包装置508还原成数字信号,并由STB 110中的解码芯片将数字信号解码成视频/音频信号。
上面说了,两种最常用的编码格式是MPEG 2和MPEG 4。下面针对这两种编码格式的数据分别进行描述。
首先,对于MPEG 2编码格式,图7是根据本发明的一实施例对MPEG2格式数据的流媒体封包解包流程。MPEG2格式节目,采用直接封装成TS流的方式传输,这样的传输方式对终端的要求最低,只要能够收看DVB节目的机顶盒,就可以对节目进行接受和解码。但是考虑到节约带宽和存储,一般不采用MPEG2来实现视频点播。目前的情况是将MPEG 2信号封包成RTP over TS的方式,再进行传输。如图7所示,封包/解包的流程大致如下:
首先,在存储设备,比如内容服务器或者连接着主干网的其他设备上,文件以MPEG2的文件格式存放。
之后,TS封包装置读取文件数据并封装成TS包方式,再由UDP封包装置加上UDP包头和TCP/IP包头,并通过主干网络发送给QAM设备。
UDP解包装置(例如位于QAM设备中)进行UDP解包将TS包取出并解调制成Radio Frequency信号通过HFC网络传输给STB,在QAM设备处,数据又恢复成了TS流的形式。
STB接收到TS数据后由TS解包装置对其进行TS解包并进行解码播放,在图中,STB处的数据仍然被示为TS流的形式。
对于MPEG4/H.264编码的节目,根据终端解码方式的不同,有两种封包形式可以选择。包括采用RTP over TS的方式进行传输和采用MPEG4/H.264 over TS的方式进行封装。目前采用的是RTP over TS的方式。下面就以RTP over TS为例进行说明。参考图6,图6是根据本发明的一实施例对MPEG 4格式数据的流媒体封包解包流程:
首先,在存储设备,比如内容服务器或者连接着主干网的其他设备上,文件以MPEG 4文件格式存放。
RTP/RTCP封包装置读取文件,先封装成RTP/RTCP格式,然后传输给TS封包装置加上TS的包头,再传输给UDP封包装置加上U DP包头和TCP/IP包头,然后通过主干网发送给QAM设备。
UDP解包装置进行UDP解包将TS数据取出并调制成RadioFrequency信号通过HFC网络传输给STB;
STB接收到TS数据后,由TS解包装置将TS包头数据去掉,取出TS的承载信息也就是RTP/RTCP包数据,提供给STB中的RTP/RTCP解包装置。
STB中的RTP/RTCP解包装置对RTP/RTCP包数据信息处理,解出MPEG 4格式的数据,最后再由MPEG4/H.264解码芯片对音视频数据进行解码播放。
提供给QAM设备的数据包为UDP包。UDP包内承载着传输流TS数据包,每个UDP包内TS包为1~7个不等。TS数据流内承载了RTP/RTCP包,RTP/RTCP包内承载经编码(MPEG 2或者MPEG 4编码)后的视频/音频格式数据。更具本发明的一实施例,MPEG 4编码格式数据的封包格式如下,参考图8,图8是根据本发明的一实施例对MPEG 4格式数据的流媒体封包结构图,结构如下:
IP头(IP Header)、UDP头(UDP Header)、TS头部(TS Header)、RTP/RTCP头(RTP Header)、MPEG 4格式信号承载(PayIoad MPEG4/H.264)。
考虑到QAM设备和HFC网络的传输特性,同时在单个基本码流ES中传输属于不同内容的音频视频的RTP/RTCP包是比较好的,比如在单个ES传输四个流的数据包。为了区分这些分属不同内容的RTP/RTCP,在RTP/RTCP包前加了一个嵌入标示头,比如4个字节的Embedded Binary头,通过包括在其中的通道ID来区分这些流,并通过长度字节Length为RTP/RTCP在重组过程提供完整性的检查。
这样,同一个RTP/RTCP包的数据被拆分到一个或数个TS包中,RTP/RTCP格式中包括嵌入标示头,用于识别位于不同的TS包中的属于同一个RTP/RTCP包的数据。
上面所述的嵌入标示头的一个实例Embedded Binary头的格式如下,如图9所示,图9是根据本发明的一实施例RTP/RTCP包中嵌入标示头,即Embedded Binary头的结构图,该Embedded Binary头包括:
1个字节的起始符“$”;
1个字节的通道ID;
2个字节的长度字节Length。
由于同一个RTP/RTCP包的数据被拆分到一个或数个TS包中,就需要通过如下的处理过程:
RTP/RTCP封包装置将视频/音频数据编码成为RTP/RTCP数据包;
RTP/RTCP包中的数据分别属于不同音频和/或视频轨道,每个RTP/RTCP包包括4个字节的嵌入标示头,比如Embedded Binary头,用于标识RTP/RTCP包所属的音频和/或视频轨和记录RTP/RTCP包的长度;
TS封包装置将RTP/RTCP包拆分到多个TS数据包中,并且在RTP/RTCP头所在的TS数据包头上置起始标志;
UDP封包装置将TS数据包封装到UDP数据包中时,每个UDP数据包承载的TS包为1~7个。
图10是根据本发明的一实施例拆分RTP/RTCP包至不同的TS包的示意图;参考图10所示的实施例,具体的封包步骤包括:
RTP/RTCP封包装置将视频/音频数据编码成为RTP/RTCP数据包长度最大不超过1416;
这些RTP/RTCP包数据分别属于不同的轨道Track(包括音频和视频),因此在每个RTP/RTCP数据包前加上4个字节的Embedded Binary头,用于标识RTP/RTCP所属的Track和记录RTP/RTCP包的长度。
将这些RTP/RTCP包拆分到多个TS数据包中,并且在RTP/RTCP头所在的TS数据包头上置起始标志,比如Start Unit Indicate标志。需要说明的是,参考图7所示,RTP/RTCP包前部的交错头部(InterleaveHead)也作为RTP/RTCP包的一部分一同被拆分到多个TS数据包中。
最后将TS数据包封装到UDP数据包中,每个UDP数据包承载的TS包为1~7个不等。
由于QAM设备对码流变化的适应能力相对较弱,而现阶段片源的码率变化又不太平稳。因此流媒体依靠传统以太网上的发包策略往往会导致某个时刻发包过快,QAM设备缓存不足而导致溢出(Overflow)。
针对这种情况,需要在传送流媒体时对每个点播流的码流动态的进行控制,使码流尽可能平稳,而减少或消除QAM设备的溢出(Overflow)异常。
由此,参考图5所示的***500,在QAM设备106之前增加了如下的两个装置:
限速控制装置510,限速控制装置510设定一个拥塞窗口,记录当前时间片已发送的数据量,对每个时间片内发送的数据进行限制,当新的时间片到来时,拥塞窗口将被清空,从前开始累加发送的数据量,当某一段码流过大拥塞窗口被填满时,将停止发包,到下一个时间片再尝试进行发送;
加速控制装置512,设定一个预缓存prebuffer,表示在发包过程中可以提前发送的最大数据,当发送的进度超前还没有达到prebuffer指定的量时,将在带宽允许的条件下以最大值发送,直到进度超前达到或超过prebuffer。
限速控制装置510优先于加速控制装置512,只有在限速控制装置510允许发送的前提下才运作加速控制装置512。
这样,限速控制装置510和加速控制装置512主要从两方面入手使码流趋于平滑。首先是限速控制装置510的限速控制,通过引入一个拥塞窗口,记录当前时间片已发送的数据量,对每个时间片内发送的数据进行限制。新的时间片到来时,拥塞窗口将被清空,从前开始累加发送的数据量。
当片源某一段码流过大拥塞窗口被填满时,将停止发包,到下一个时间片再尝试进行发送。这样就能限制住码流的峰值,不出现剧烈的码流波动。但这种控制算法可能降低发包速率,可能使终端的缓存数量减少,甚至消耗光。需要通过加速控制装置512的加速控制算法的配合才能防止这类情况的出现。加速控制再引入一个预缓存prebuffer,表示在发包过程中可以提前发送的最大数据。当发送的进度超前还没有达到prebuffer指定的量时,将在带宽允许的条件下尽力发送(以最大值发送),直到进度超前达到或超过prebuffer。这样在码流不大时,可以多发送一些后续prebuffer范围内的数据,当码流变大时,降速终端的缓存也不会很快就消耗光。同时在点播启动阶段通过这种加速能缩短启动时间,提供较好的用户体验效果。
这两种控制,限速控制是优先考虑的,只有在限速控制允许发送的前提下加速控制才有可能运作。通过这一对限速控制和加速控制算法,就能在一定范围能使码流变化相对剧烈的片源输出码流相对平稳,趋向于固定码率。
STB开机流程
根据本发明的一实施例,STB的开机流程如下:
STB开机后,广播DHCP请求,请求分配合法的IP地址;
连接于主干网的DHCP+服务器响应STB请求,为STB分配IP地址;
STB获得合法IP地址后,首先访问连接于主干网的TView-ADS,进行STB合法性认证;
TView-ADS将STB的身份信息提交给数字电视运营支撑***进行认证;
数字电视运营支撑***将认证结果返回给ADS,如果用户是首次登录,则将该STB的区域信息(Region ID)信息给返回给ADS;
ADS为STB分配全局唯一的会话标示符(SessionID),根据终端适配的结果将EPG的URL返回给STB。如果用户是首次登录,还需要将STB的Region ID反写回STB;
STB访问连接于主干网的升级服务器TView-US,判断软件是否需要更新。
如果需要更新,则在软件升级后重新启动,回到第一步;如果无需更新,则继续;
STB将启动日志报告给连接于主干网的监控服务器MS;
STB根据TView返回的EPG URL访问对应的EPG Server,浏览节目和进行点播。
STB点播流程
根据本发明的一实施例,STB的开机流程如下:
用户浏览EPG,点播某个节目;
EPG向数字电视运营管理***请求授权
数字电视运营管理***检查用户是否已经购买此内容,如已付费则返回授权信息,如果未付费则返回失败信息;
EPG如果得到授权信息则将全局负载均衡器入口地址和令牌Token返回给STB,否则返回未经授权的提示页面;
STB访问全局负载均衡器,访问请求中带有该STB的Token和区域信息Region ID;
全局负载均衡器根据STB的Region ID,查找静态路由表,将用户重定向HFC网络上距离用户最近的服务节点---本地负载均衡器;
STB访问该节点的本地负载均衡器,访问请求中带有Region ID;
本地负载均衡器根据影片信息和负载选择媒体服务控制器,返回STB到选定的媒体服务控制器的URL。如果服务能力已满,则返回“服务能力已满”的信息,或者是有该信息的URL,本地负载均衡器维护播放失败的URL;
STB访问媒体服务控制器请求播放;
媒体服务控制器向认证管理***请求防盗链认证(校验token);
认证管理***返回防盗链认证结果;
如果认证通过,媒体服务控制器向本地负载均衡器汇报该请求的RegionlD和播放的带宽,申请QAM设备资源;否则回复STB“认证失败,
拒绝服务”信息;
如果QAM设备资源足够,本地负载均衡器回复QAM设备资源信息(QAM IP、QAM UDP port、Frequency、Input SID,Output SId);如果QAM设备资源不足,则返回“服务能力已满”的信息,或者是有该信息的URL;
如果认证和申请QAM设备资源成功,媒体服务控制器回复STB允许播放,告知STB特定的频点(Frequency)上获取OutputSID的节目内容;否则返回相应失败提示信息:“认证失败,拒绝服务”、“服务能力已满”或者是有该提示的URL;
媒体服务控制器将用户访问内容以特定的封包形式传送给QAM设备,数据包中的SID值为lnput SID;如果内容不在本地,媒体服务控制器到原始内容服务器获取原始内容服务以PROXY方式提供服务;
QAM设备通过特定的频道将视频数据调制成RF的形式在节点内广播,STB在特定频道上获取相应TS流中带有特定Output SID的节目;
播放结束后,STB向媒体服务控制器发送结束播放请求;
媒体服务控制器回复STB确认结束播放;
媒体服务控制器收到结束播放请求后或者发现该STB不再处于连接状态时,通知本地负载均衡器释放资源;
媒体服务控制器向认证管理***报告播放时长等播放信息。
视频点播方法
本发明还提供一种视频点播方法,用于在基于IP的主干网和STB之间使用QAM设备和HFC网络的视频点播网络,该方法包括:
利用IP网络通道进行STB向基于IP的主干网发送的上行数据传输;
利用HFC网络的射频通道进行基于IP的主干网向STB发送的下行数据传输。
参考图11,图11是根据本发明的一实施例的视频点播方法的流程图,该方法用于下列结构的视频点播网络中:
基于IP的主干网;
边缘流媒体服务引擎以及边缘流媒体服务引擎缓存,连接到基于IP的主干网,从主干网接收数据;
QAM设备,连接到边缘流媒体服务引擎,接收来自边缘流媒体服务引擎的数据;
HFC网络,通过射频链路与QAM设备相连,以射频RF的形式传输数据;
STB,通过射频链路与HFC网络相连;
IP通信网络,连接在边缘流媒体服务引擎和STB之间,执行IP协议连接;
该方法1100包括:
1102.上行数据传输流程如下,STB将上行数据以IP协议通过IP通信网络传输到基于IP的主干网;
1104.下行数据传输流程如下,基于IP的主干网将下行数据传输到边缘流媒体服务引擎以及边缘流媒体服务引擎缓存,再传输到QAM设备,QAM设备将下行数据调制成射频RF传输给HFC网络,HFC网络以射频RF传输经调制的下行数据至STB。
根据本发明的一实施例,该视频点播方法还包括负载均衡步骤,包括:
由负载均衡***中的全局负载均衡器接收来自STB的点播请求;所述点播请求中包含一请求区域信息;
全局负载均衡器根据请求区域信息在路由表中选择有相匹配的区域信息的本地负载均衡器,所述路由表由全局负载均衡器保存,路由表记录负载均衡***中的本地负载均衡器的区域信息;
具有相匹配的区域信息的本地负载均衡器查询其所连接的媒体服务控制器和QAM设备的负载状况,如果负载状况允许为所述STB提供服务,则由所选中的本地负载均衡器及其所连接的媒体服务控制器和QAM设备为所述STB提供服务;如果负载状况不允许为所述STB提供服务,则所述本地负载均衡器向全局负载均衡器报告,全局负载均衡器向所述STB报告请求失败。
根据本发明的一实施例,还包括流媒体封包解包步骤,包括:
将通过视频/音频信号编码而成的数字信号封装成TS流格式,并加上TS包头;
将TS流封装成UDP格式,并加上UDP和TCP/IP包头,通过主干网传送给QAM设备;
QAM设备将去除UDP和TCP/IP包头,从UDP格式中提取TS流,并通过射频RF信号传输给HFC网络;
HFC网络将TS流以射频RF信号的形式传输给STB;
STB将TS流还原成数字信号,并有STB中的解码芯片将数字信号解码成视频/音频信号。
此外,全局负载均衡器将所有视频点播网络的地址划分成数个区域,每一个区域由一本地负载均衡器进行服务,该本地负载均衡器具有和该区域相对应的区域信息;其中
本地负载均衡器往设定的QAM设备和UDP端口发送区域信息,同时将该QAM资源置为使用状态;
STB在预先设置或者其他途径得到的频点和PID接收区域信息。
采用本发明的技术方案,利用射频RF进行数据传输的HFC网络,将数据量巨大的下行数据通过带宽资源相对更加丰富的射频RF传输,大大缓解下行数据的拥堵问题,而对于数据量较小的上行数据,仍然使用lP协议进行传输,避免了对现有网络的大规模改造,节约了成本,同时又能有效提高用户的使用体验。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。