专利名称:基于组播的广播式视频点播系统及其点播方法
技术领域:
本发明涉及一种基于组播的广播式视频点播系统及其点播方法。
背景技术:
随着Internet网络技术的发展,人们不仅仅用它来传输文本文件、渴望在网络上实现视频多媒体信息的获取,也就是视频点播技术的发展能逐步满足人们的需求。
基于TCP/IP协议的视频点播技术,利用组播的方式播放同一视频流供指定的局域网所有用户收看,它可以节省带宽资源,但是用户不能随点随看,无法满足人们个性化的要求。
准视频点播技术(NVOD)就是轮播的概念,将一个完整的视频流(如一个120分钟电影)切成许多段在TCP/IP网上组播,若切成10个流则等待时间为12分钟,可以使局域网上的用户收看,但是它是以牺牲带宽为前提,而且用户的等待时间也是不可承受的。
传统VOD系统结构如图1所示,包括VOD服务器11、存储装置12、时钟13以及多个播放终端14-1~14-n。各播放终端14-1~14-n与时钟13双向连接,时钟13与VOD服务器11双向连接,VOD服务器11与存储装置12连接。视频点播技术(VOD)是将节目存储于服务器里,用户有需求则服务器根据请求发出视频流,以满足个性化要求,这种技术需要高昂的服务器、大容量的磁盘、宽带的网络,就现有条件来说,用户数也只能限制在500用户以上,否则会引起网络的堵塞。
以往视频点播系统根据每个点播用户请求,为每个用户播出节目并分配带宽,这些点播用户每一个都需要单独的节目源、带宽和重现装置,造成资源竞争,限制了在IP网络上视频点播技术的发展。当点播用户增多时,就无法正常运行,而且使视频点播的服务成本居高不下。
发明内容
本发明的目的就是解决视频点播系统存在的网络带宽瓶颈、设备数据吞吐瓶颈、磁盘阵列瓶颈问题而提出的一种基于组播的广播式视频点播系统及其点播方法,该技术能节省服务器成本,点播等待时间短,用户数不限,真正满足人们个性化要求,从而在保证服务质量的前提下,有效的降低了服务成本。
实现本发明的技术措施是,一种基于组播的广播式视频点播系统,其特点是,包括节目源、至少一个节目封装装置、磁盘阵列、至少一个前端播出装置、以及多个接收回放装置;所述的节目源用于将节目制成多个节目文件,并将节目文件输出到节目封装装置中;所述的节目封装装置用于对节目文件安装时间段分段重组并封装成节目封装文件保持到磁盘阵列;所述的磁盘阵列用于存储节目封装文件,并等待前端播出装置取出;所述的前端播出装置用于从磁盘阵列取出节目封装文件以组播或广播的方式播出到网络上;所述的各接收回放装置用于从相应网络通道上接收节目封装文件,并进行解封装操作。
上述一种基于组播的广播式视频点播系统,其中,所述的节目封装装置包括存储器、节目封装单元,所述的存储器用以存储多个节目块,并将各节目块送到节目封装单元中进行节目封装单元;所述的节目封装单元对节目块封装后保存到磁盘阵列中。
上述一种基于组播的广播式视频点播系统,其中,所述的接收回放装置,包括接收模块、接收缓冲模块、解封装模块、播放缓冲模块、以及回放模块;所述接收模块响应用户操作,从相应网络通道上接收节目封装文件,并存储到接收缓冲模块中;所述的解封装模块从接收缓冲模块中取出节目封装文件,进行解封装操作,从头开始输出节目文件到播放缓冲模块;
所述的回放模块回放播出缓冲模块中的节目文件。
一种基于组播的广播式视频点播方法,其特点是,包括以下步骤a、将节目制成多个节目文件形成节目源,并将节目文件输出到节目封装装置中;b、通过节目封装装置将节目文件安装时间段分段重组并封装成节目封装文件保持到磁盘阵列;c、在磁盘阵列中存储节目封装文件,并等待前端播出装置取出;d、通过前端播出装置用于从磁盘阵列取出节目封装文件以组播或广播的方式播出到网络上;e、由各接收回放装置从相应网络通道上接收节目封装文件,并进行解封装操作。
上述一种基于组播的广播式视频点播方法,其中,步骤a中所述的节目封装包括两个步骤a-1、把原始文件节目块按排序方法重新组织排序,存储在存储器中;a-2、在各重新组织排序的节目块上加上块信息标志。
上述一种基于组播的广播式视频点播方法,其中,步骤a-1所述的排序方法包括以下步骤a-1-1、首先将每个节目源平均分成m块,并依次冠以符号0、1、2、3、…、m;a-1-2、将0块节目块放在首位,其后每间隔一定块数再循环出现;a-1-3、其它节目块n应在n-1块出现的位置后的W/BR比值之内的块数内出现;其中BR为节目码率,W为节目占用带宽;a-1-4、直至原节目的所有节目块至少出现一次为止。
上述一种基于组播的广播式视频点播方法,其中,步骤a-1-2所述的一定块数可由应用者自己确定,一般为大于4的自然数,该自然数的选择影响最大点播延迟。步骤a-1-2所述的一定块数中间也可有序号为0的节目块。
上述一种基于组播的广播式视频点播方法,其中,步骤a-1-3所述的W/BR比值取大于1的整数。
上述一种基于组播的广播式视频点播方法,其中,步骤a-2所述的块信息标志由8个字节构成。
上述一种基于组播的广播式视频点播方法,其中,步骤e所述的接收回放包括以下步骤e-1、接收模块响应用户操作,从相应网络通道上接收节目封装文件,并存储到接收缓冲模块中;e-2、解封装模块从接收缓冲模块中取出节目封装文件,进行解封装操作,从头开始输出节目文件到播放缓冲模块;e-3、回放模块回放播出缓冲模块中的节目文件。
由于本发明采用了以上的技术措施,可有效地解决视频点播系统中播出系统数据吞吐瓶颈问题、网络带宽瓶颈问题、磁盘阵列瓶颈问题。对点播相同节目的所有用户来说,不分点播时间,都共享同一节目源。点播用户的最大点播延迟不超过48秒,点播用户数量不受限制,点播时间不受限制。
本发明的具体特征性能由以下的实施例及其附图进一步给出。
图1是传统VOD系统结构示意图。
图2是本发明基于主播的视频点播系统结构示意图。
图3是本发明节目封装装置功能原理图。
图4是本发明接收回放装置原理图。
图5是本发明广播式视频点播方法。
图6是本发明一实施例结构示意图。
具体实施例方式
本发明广播式视频点播系统,包括节目存储、节目播出、响应请求与节目回放。
请参阅图2。一种基于组播的广播式视频点播系统,包括节目源21、至少一个节目封装装置22、磁盘阵列23、至少一个前端播出装置24、以及多个接收回放装置25;节目源21用于将节目制成多个节目文件,并将节目文件输出到节目封装装置22中;节目封装装置22用于安装节目封装软件,对节目文件安装时间段分段重组并封装成节目封装文件保持到磁盘阵列23;磁盘阵列23用于存储节目封装文件,并等待前端播出装置24取出,在本发明系统中,磁盘阵列也可以是IDE硬盘等大容量数字存储装置。前端播出装置24用于从磁盘阵列23取出节目封装文件以组播或广播的方式播出到网络A上;各接收回放装置25用于从相应网络通道上接收节目封装文件,并进行解封装操作。
请参阅图3,节目封装装置22包括存储器221、节目封装单元222,其中存储器221用以存储原始节目文件,而且可以把它看作连续存储的多个节目块,并根据必要的排序方法将各节目块送到节目封装单元222中进行节目封装,然后再保存到磁盘阵列23中。该封装方法保证节目起始段在任意几十秒传输时间内都能出现,并保证各段在播出时间前都能够出现,包括按时间分段模块和重组封装模块。
所述的必要的排序方法与原始文件的长度、码率、接收播放终端的缓冲大小,以及网络传播速率相关,其包括两个步骤a-1、把原始文件节目块按排序方法重新组织排序,存储在存储器中;a-2、在各重新组织排序的节目块上加上块信息标志。
其中,步骤a-1所述的排序方法包括以下步骤a-1-1、首先将每个节目源平均分成m块,并依次冠以符号0、1、2、3、…、m;a-1-2、将0块节目块放在首位,其后每间隔一定块数再循环出现;一定块数可由应用者自己确定,一般为大于4的自然数,该自然数的选择影响最大点播延迟。一定块数中间也可有序号为0的节目块。
a-1-3、其它节目块n应在n-1块出现的位置后的W/BR比值之内的块数内出现;其中BR为节目码率,W为节目占用带宽;该W/BR比值取大于1的整数。
a-1-4、直至原节目的所有节目块至少出现一次为止。
对于任意接收播放终端,例如对于50分钟、1Mbps的原始节目流文件,其最大点播延迟不超过60秒,其原始节目文件按长度平均分成51块,依次给予的序号0块、1块、2块……、50块分别为原始节目文件顺序各块物理存储位置。若接收播放终端缓冲有128MB,该节目流在网络中占用7Mbps的带宽,则按照本发明的排序方法,则将所有节目块排序如下述形式;0,0,50,36,35,1, 19;0,9,6, 3, 2, 20,1;
0,49,38,37,21,3, 1;0,10,5, 4, 22,2, 1;0,40,39,23,7, 5, 1;0,24,11,6, 3, 2, 1;0,46,42,41,25,7, 1;0,12,8, 26,4, 2, 1;0,44,43,27,9, 3, 1;0,28,13,10,5, 2, 1;0,45,30,29,14,11,1;0,12,6, 4, 3, 2, 1;0,48,47,33,31,13,1;0,32,15,14,7, 2, 1;0,16,17,15,5, 3, 1;0,34,18,8, 4, 2, 1。
封装过程是按照排序方法把原始文件节目块排序后重新组织,同时要把各节目块加上块信息标志,在该节目块头加上8个字节,
0X47为块头标记,紧跟两个字节的块号,后面跟节目块长度,占4个字节,表示该块的字节数,块头后紧跟该块的原始数据。对于两个字节的块号最高4位用于标识节目开始结束。
请参加图4,接收回放装置25包括接收模块251、接收缓冲模块252、解封装模块253、播放缓冲模块254、以及回放模块255。其中所述接收模块251响应用户操作,从相应网络通道上接收节目封装文件,并存储到接收缓冲模块252中;解封装模块253从接收缓冲模块252中取出节目封装文件,进行解封装操作,从头开始输出节目文件到播放缓冲模块254;然后回放模块255回放播出缓冲模块254中的节目文件。每一个节目封装文件的播出都是循环的、高速的,也就是高速轮播技术。配合接收回放装置的本地交互技术保证任意用户共享同一节目源。点播同一节目的任意用户共享同一节目封装文件,尽管他们的点播时间各不相同,但都能够在很短的时间内从头开始回放。
本地交互是指接收播放终端接收数据后,首先寻找块头信息0X47、0X47字节,然后提取块号信息及该块长度信息,对于需要存储的节目块,接收播放终端根据块长度信息开辟缓冲存储该块数据,至于判断哪一个节目块需要存储受接收播放终端的缓冲影响。如果缓冲能够存储m块节目,且当前正在播放n节目块,则对于块号小于m+n且大于n的节目块都要存储,而对于其它块号的节目块则丢弃,当n节目块播放完成后则释放该内存块,播放n+1节目块,直到节目播放结束,或者接收播放终端由于用户干预,清空缓冲,离开点播通道。
所谓解封装操作,可以理解为把接收节目流的8字节块头标记去掉。
以下是本发明系统与现有技术系统在10Mbps网络点播MPEG1节目的性能对比表
本发明一种基于组播的广播式视频点播方法,包括以下步骤a、将节目制成多个节目文件形成节目源,并将节目文件输出到节目封装装置中;该节目封装包括两个步骤a-1、在存储器中存储多个节目块;a-2、将各节目块送到节目封装单元中进行节目封装。
b、通过节目封装装置将节目文件按照时间段分段重组并封装成节目封装文件保持到磁盘阵列;c、在磁盘阵列中存储节目封装文件,并等待前端播出装置取出;d、通过前端播出装置用于从磁盘阵列取出节目封装文件以组播或广播的方式播出到网络上;
e、由各接收回放装置从相应网络通道上接收节目封装文件,并进行解封装操作。该接收回放包括以下步骤e-1、接收模块响应用户操作,从相应网络通道上接收节目封装文件,并存储到接收缓冲模块中;e-2、解封装模块从接收缓冲模块中取出节目封装文件,进行解封装操作,从头开始输出节目文件到播放缓冲模块;e-3、回放模块回放播出缓冲模块中的节目文件。
基于组播的广播式视频点播方法,播出服务器高速循环播出封装好的节目流,图5所示就是网络上组播的节目流,该节目流是一个循环的闭合环流,一个闭合的环流就是经节目封装单元封装好的一个节目流,对于任意一个接收播放终端,在任一时刻点播该节目,由于该封装保证节目起始段在任意几十秒传输时间内都能出现,因此该点播终端的最大延迟只有几十秒,也可能没有延迟,同时该封装方法保证各段在播出时间前都能够出现,因此保证了接收播放终端能够流畅地播放该节目。
请参阅图6,下面结合一实施例对本发明进一步说明最简单的实施例包括一台服务器,PENTUM4,配CD-ROM,网卡,30G IDE硬盘,128M内存,安装WIN2000操作系统,安装节目封装软件和播出软件;100M IP网;多台播放终端PC,PENTUM3,网卡,10G硬盘,128M内存,安装WIN2K操作系统,安装接收播放软件;节目封装软件读取CD-ROM或硬盘中的节目媒体文件,封装后保存到IDE硬盘,播出软件从硬盘中读出节目封装文件,组播到网络上,播放终端的接收播放软件,到指定的网络通道上接收节目封装文件,进行解封装,还原节目文件,再从头把节目文件回放出来。其中网络通道的参数可以通过手动配置,也可通过上行信号,查询节目播出服务器,获得点播节目的播出通道参数。
权利要求
1.一种基于组播的广播式视频点播系统,其特征在于,包括节目源、至少一个节目封装装置、磁盘阵列、至少一个前端播出装置、以及多个接收回放装置;所述的节目源用于将节目制成多个节目文件,并将节目文件输出到节目封装装置中;所述的节目封装装置用于对节目文件安装时间段分段重组并封装成节目封装文件保持到磁盘阵列;所述的磁盘阵列用于存储节目封装文件,并等待前端播出装置取出;所述的前端播出装置用于从磁盘阵列取出节目封装文件以组播或广播的方式播出到网络上;所述的各接收回放装置用于从相应网络通道上接收节目封装文件,并进行解封装操作。
2.根据权利要求1所述的一种基于组播的广播式视频点播系统,其特征在于,所述的节目封装装置包括存储器、节目封装单元,所述的存储器用以存储多个节目块,并将各节目块送到节目封装单元中进行节目封装单元;所述的节目封装单元对节目块封装后保存到磁盘阵列中。
3.根据权利要求1所述的一种基于组播的广播式视频点播系统,其特征在于,所述的接收回放装置,包括接收模块、接收缓冲模块、解封装模块、播放缓冲模块、以及回放模块;所述接收模块响应用户操作,从相应网络通道上接收节目封装文件,并存储到接收缓冲模块中;所述的解封装模块从接收缓冲模块中取出节目封装文件,进行解封装操作,从头开始输出节目文件到播放缓冲模块;所述的回放模块回放播出缓冲模块中的节目文件。
4.一种基于组播的广播式视频点播方法,其特征在于,包括以下步骤a、将节目制成多个节目文件形成节目源,并将节目文件输出到节目封装装置中;b、通过节目封装装置将节目文件安装时间段分段重组并封装成节目封装文件保持到磁盘阵列;c、在磁盘阵列中存储节目封装文件,并等待前端播出装置取出;d、通过前端播出装置用于从磁盘阵列取出节目封装文件以组播或广播的方式播出到网络上;e、由各接收回放装置从相应网络通道上接收节目封装文件,并进行解封装操作。
5.根据权利要求4所述的一种基于组播的广播式视频点播方法,其特征在于,步骤a中所述的节目封装包括两个步骤a-1、把原始文件节目块按排序方法重新组织排序,存储在存储器中;a-2、在各重新组织排序的节目块上加上块信息标志。
6.根据权利要求5所述的一种基于组播的广播式视频点播方法,其特征在于,步骤a-1所述的排序方法包括以下步骤a-1-1、首先将每个节目源平均分成m块,并依次冠以符号0、1、2、3、…、m;a-1-2、将0块节目块放在首位,其后每间隔一定块数再循环出现;a-1-3、其它节目块n应在n-1块出现的位置后的W/BR比值之内的块数内出现;其中BR为节目码率,W为节目占用带宽;a-1-4、直至原节目的所有节目块至少出现一次为止。
7.根据权利要求6所述的一种基于组播的广播式视频点播方法,其特征在于,步骤a-1-2所述的一定块数可由应用者自己确定,一般为大于4的自然;该一定块数中间也可有序号为0的节目块。
8.根据权利要求6所述的一种基于组播的广播式视频点播方法,其特征在于,步骤a-1-3所述的W/BR比值取大于1的整数。
9.根据权利要求5所述的一种基于组播的广播式视频点播方法,其特征在于,步骤a-2所述的块信息标志由8个字节构成。
10.根据权利要求4所述的一种基于组播的广播式视频点播方法,其特征在于,步骤e所述的接收回放包括以下步骤e-1、接收模块响应用户操作,从相应网络通道上接收节目封装文件,并存储到接收缓冲模块中;e-2、解封装模块从接收缓冲模块中取出节目封装文件,进行解封装操作,从头开始输出节目文件到播放缓冲模块;e-3、回放模块回放播出缓冲模块中的节目文件。
全文摘要
本发明公开了一种基于组播的广播式视频点播系统及其点播方法,其特点是,系统包括节目源、至少一个节目封装装置、磁盘阵列、至少一个前端播出装置以及多个接收回放装置;方法包括以下步骤a.将节目制成多个节目文件形成节目源输出到节目封装装置;b.将节目文件安装时间段分段重组并封装成节目封装文件保持到磁盘阵列;c.在磁盘阵列中存储节目封装文件并等待前端播出装置取出;d.从磁盘阵列取出节目封装文件以组播或广播的方式播出到网络上;e.由各接收回放装置接收节目封装文件并进行解封装操作。对点播相同节目的所有用户来说,不分点播时间都共享同一节目源。可有效地解决视频点播系统中数据吞吐、网络带宽、磁盘阵列的瓶颈问题。
文档编号H04N7/173GK1543217SQ0311665
公开日2004年11月3日 申请日期2003年4月28日 优先权日2003年4月28日
发明者徐仲权, 许乃锋, 朱爱玺, 陆庆元, 文勇, 罗世盈 申请人:中广大正信息科技有限公司