专利名称:双向网络下真视频点播的实现方法和设备的制作方法
技术领域:
本发明涉及视频点播的系统和方法,特别涉及在双向网络中的真视频点播系统和方法。
背景技术:
目前,根据不同的功能需求和应用场景,主要有三种视频点播(Video On Demand)系统NVOD,TVOD,IVOD。
NVOD(Near Video-On-Demand),可称其为准视频点播。这种点播的方式是多个视频流依次间隔一定的时间启动发送同样的内容。比如,十二个视频流每隔十分钟启动一个发送同样的两小时的电视节目。如果用户想看这个视频节目可能需要等待,但最长不会超过十分钟,他们会选择距他们最近的某个时间起点进行收看。在这种方式下一个视频流可能为许多用户共享。
TVOD(True Video-On-Demand),称其为真视频点播。它真正支持即点即放。当用户提出请求时,视频服务器将会立即传送用户所需的视频内容。若有另一个用户提出同样的需求,视频服务器就会立即为他再启动一个传输相同内容的视频流。不过,一旦视频流开始播放,就要连续不断的播放下去,直到停止或者结束。在这种方式下,每个视频流专为某个用户服务。
IVOD(Interactive Video-On-Demand),称为交互视频点播。它不仅可以支持即点即放,而且还可以让用户对视频流进行交互式的控制。这时用户可以实现节目的暂停、播放、倒回、快进和搜索等操作。
但是在传统的视频点播系统中,所有的数据流都是从视频服务器处获得的。考虑到一个普通的视频节目的大小就有几百兆,而且一台服务器要向几百个用户同时提供服务,这对服务器和网络带宽都有很高的要求。并且随着用户数量的增加,需要大量的服务器,很高的出口带宽以保证每个用户都能正常观看,使得运营成本不断提高。
另外,我们发现订阅影视服务的用户在使用上存在以下三个特性1.突发性用户的需求可能突然到来,不可预期,点播系统必须随时准备。
2.并发性用户可能同时有需求,如在每天晚上或休息日。大量用户集中在某一个时段提出需求,导致平时大量资源的浪费,然而在高峰时段却无法满足用户的集中点播。
3.同一性根据80/20原则,在互联网上80%的用户关心的是20%的内容,大量用户希望观看的可能是同一部影片。按照传统的真视频点播系统,每一个用户即使观看的是同一部影片也都要独立的占据服务器一份带宽,使服务器资源捉襟见肘。
因此,如何把节目按照终端用户的需要传递给他们,并把服务器和网络的开销控制得尽可能低,是一个十分关键的问题。
发明概要针对上述问题,本发明提出了一种新型的真视频点播系统。在双向网络中用户带宽分为两部分下载(下行)带宽和上传(上行)带宽。对于视频点播来说终端用户的上行带宽基本不使用,造成了极大的浪费。本发明充分利用了终端用户的冗余带宽,极大的降低了视频服务器的开销。在该系统中,对于点播同一内容的终端用户,只有第一个用户是从视频服务器处获得视频节目数据,其他用户都是从前一个用户处获得视频节目数据。视频服务器所需的带宽与提供的影片数成正比,与用户数无关,用户增加并不增加服务器的负担,使服务提供商从重复投资的怪圈中脱离出来。
同时本发明与一般的多客户机之间相互传递数据方式又有所不同,考虑到终端用户的带宽有限,不可能支持传输很多流。本发明采用一对一的传送方式,实现起来简单、高效、可靠。便于监控,容易实现服务质量保证。
每个终端用户设备包括一个存储单元,例如磁盘。这个存储单元可以把正在观看的视频节目存储下来,存放在这个存储单元内的数据视频和音频内容可以被播放出来。当一个用户(a)要观看一个视频节目时,他将视频音频数据下载到存储单元中,同时开始播放,即一边下载一边播放。假如过了5分钟,又有另外一个用户(b)希望观看同一个视频节目。在用户(a)的终端用户设备的存储单元中已经存放了5分钟的视频节目,用户(a)就将他下载的内容开始传送给用户(b),用户(b)也开始了一边下载一边播放。而用户(a)继续他的下载和观看,他应该感觉不到有下一个用户在从他处获得视频节目的数据,传输的过程对用户来说是透明的,不影响用户的正常观看视频节目。如果又有用户(c)也希望观看同一个视频节目,那么他将从用户(b)处获得。依此类推,将所有希望观看同一个视频节目的用户串联起来构成用户链,前一用户将自己已经下载的部分传送给后一个用户。充分利用双向网络可以同时上传和下载的特性,将空闲的带宽利用起来。用户完成观看后将存储单元中的视频数据删除,当用户观看其他视频节目时存储新的视频音频数据。
为了实现上述系统视频节目提供部分必须具有如下组成部分数据库服务器、节目信息发布服务器、控制服务器、视频服务器。系统中所述多个客户机中的每个包括如下模块接收单元、存储单元、转发单元、控制单元、播放单元。
附图的简要说明
图1示出了一个点播系统服务器端的结构。
图2示出了终端用户设备(客户机)的结构。
图3描绘了一个用户接入系统的流程。
图4示出了一个用户退出的过程。
图5说明了本发明实施例中视频节目数据流向。
具体实施例方式
下面将结合附图和具体实施例对本发明进行详细地说明。
为了实现上述系统视频节目提供部分必须具有如下组成部分数据库服务器、节目信息发布服务器、控制服务器、视频服务器各个服务器之间的关系如图1所示。各服务器功能如下1.数据库服务器数据库服务器保存了用户信息,用户使用信息,视频节目信息等为其他服务器提供所需的数据信息。
2.节目信息发布服务器节目信息发布服务器将系统拥有的视频节目信息提供给用户,使用户可以选择自己感兴趣的视频节目。
3.控制服务器控制服务器管理用户的接入,用户的退出和用户链的维护。查询和修改数据库服务器中相应的数据记录。
4.视频服务器存放视频节目的数据,传送给相应的用户。管理存放的视频节目。
系统可以拥有多个视频服务器以适应视频节目的增加。上述各个服务器是从功能角度作出的划分,可以是独立的设备,也可以集成在一个或几个设备中。或者上述各个服务器可以是运行在计算机上的不同的软件模块。
图2展示了客户机的结构。系统中所述多个客户机中的每个包括如下模块1.接收单元用于从视频服务器或者其他客户机处接收视频节目。
2.存储单元用于将从视频服务器或者其他客户机处接收到的视频节目暂时存储下来。
3.转发单元用于将暂时存储下来的视频节目传送给下一个客户机。
4.控制单元用于与控制服务器通信,将用户需求发送到控制服务器,接收控制服务器命令,作出相应调整。
5.播放单元将存储在存储单元内的视频节目播放出来,或输出视频信号。允许用户在已经下载的视频节目段中暂停、播放、倒回、快进和搜索等操作。
同时所有的服务器和客户机通过双向网络相互连接起来,可以互相通信。该双向网络的接入方式可以是光纤接入,同轴线接入,DSL方式接入,无线接入等宽带接入方式。
图3描绘了一个用户接入系统的流程。当一个用户希望通过用户终端设备观看一个视频节目时将采取如下步骤1.客户机(a)向控制服务器发送观看视频节目A的请求,以及客户机(a)的身份信息。
2.控制服务器审核客户机(a)的身份信息,是否有权观看视频节目A。
3.如果客户机(a)无权观看,则控制服务器结束与客户机(a)的会话。
4.如果客户机(a)有权观看,则控制服务器查询是否有其他用户观看视频节目A。
5.如果没有其他用户观看,控制服务器要求客户机(a)从存有视频节目A的视频服务器处获得视频节目。
6.如果已经有其他用户观看,控制服务器要求客户机(a)从客户机链中最后一个没有上传给其他客户机的客户机处获得视频节目A。
图4示出了一个用户退出的过程。控制服务器控制客户机退出的方法,包括1.客户机(b)向控制服务器发送退出请求。
2.客户机(b)的后一个客户机向控制服务器发送重新定位传送源的请求。
3.控制服务器要求客户机(b)的后一个客户机从客户机(b)的前一个客户机处获得视频节目的后续部分。如果客户机(b)是从视频服务器处获得视频节目的,则客户机(b)的后一个客户机从视频服务器处获得视频节目的后续部分。
控制服务器控制客户机链的维护的方法,包括如果客户机(c)发生传输故障,控制服务器将客户机(c)从客户机链中去除,由客户机(c)的前一客户机向客户机(c)的后一客户机继续传送视频节目。如果客户机(c)是从视频服务器处获得视频节目的,则客户机(c)的后一个客户机从视频服务器处获得视频节目的后续部分。
图5说明了本发明实施例中节目数据流向。所有观看同一部影片的用户按照提交请求时间的先后构成了一条用户链,由先申请的用户向后申请的用户传送视频节目的数据。
如果点播系统有1000个视频节目,这些视频节目是用MPEG-4方式压缩的具有DVD画面质量的视频,每个视频节目的平均比特率为1.5Mbps,考虑到通信的其他开销,服务器一般以高于视频节目比特率的速率传输视频节目,如2Mbps。则视频服务器所需的总带宽为2Gbps。如果每个视频服务器以100M接入双向网络,考虑到实际速率达不到100Mbps,可以设置30台服务器,这些影片可以分布在各个视频服务器中,平均每台视频服务器放置33个视频节目。
所有客户机都以2Mbps(下载能力)/2Mbps(上传能力)接入双向网络,可以用2Mbps的速率下载视频数据到磁盘,又可以以2Mbps的速率上传给其他用户。同时用户可以播放已经下载的视频内容,对已经下载的部分可以暂停、播放、倒退、搜索等操作。
随着技术的发展,光纤作为主干的双向数据网络成为主流,光纤接入将成为下一步的发展方向,用户带宽将大大增加,由于光纤的上下行走的是独立的线路,即上传和下载的能力是对称的。采用本发明可以充分利用网络资源。
如果采用更好的视频压缩方式则可以用更少的带宽提供更高质量的视频服务。
在当前的技术水平和网络环境下,实现上述系统是完全可能的。系统的成功应用将极大地减少服务器端的投资,将视频服务器所需资源数量正比于用户数的关系转化为正比于视频节目数的关系。同时充分利用了闲置的网络资源。
上面对本发明进行了详细的说明。本领域的技术人员应该明白,按照本发明的精神及指导思想对本发明做出的各种修改都在本发明的权利要求书所要求保护的范围内。
权利要求
1.一种在双向网络结构下充分利用网络资源实现视频点播的方法,用于在通过双向网络结构下视频节目提供设备和多个客户机设备间提供视频节目,其特征在于所述方法包括(1)控制服务器响应多个客户机中最早申请观看同一视频内容(A)的客户机(a)的请求,由拥有该视频内容(A)的视频服务器将内容传送给客户机(a)。客户机(a)将接受到的视频内容缓存下来,并开始播放。(2)控制服务器响应多个客户机中第二个申请观看同一视频内容(A)的客户机(b)的请求,由缓存下该视频内容(A)的客户机(a)将内容传送给客户机(b)。(3)控制服务器响应多个客户机中第三个申请观看同一视频内容(A)的客户机(c)的请求,由缓存下该视频内容(A)的客户机(b)将内容传送给客户机(c)。(4)依此类推,将希望观看同一视频内容的客户机按请求时间串联起来,构成客户机链,以节省视频服务器的开销,同时充分利用客户机端空闲的上传带宽。
2.如权利要求1所述的方法,其特征在于还包括当中间某一客户机退出,通知控制服务器,重新分配客户机间数据传送关系以及当某一客户机的传输线路发生故障时,控制服务器及时排除故障客户机,保证其他客户机的服务质量。
3.如权利要求1或2所述的方法,其特征在于控制服务器控制客户机的接入,客户机的退出,客户机链的维护。
4.如权利要求1或2所述的方法,其特征在于所述双向网络是指同时具有下载(下行)能力和上传(上行)能力的网络。
5.如权利要求3所述的控制服务器控制客户机的接入的方法,包括(1)客户机(a)向控制服务器发送观看视频节目A的请求,以及客户机(a)的身份信息。(2)控制服务器审核客户机(a)的身份信息,是否有权观看视频节目A。(3)如果客户机(a)无权观看,则控制服务器结束与客户机(a)的会话。(4)如果客户机(a)有权观看,则控制服务器查询是否有其他用户观看视频节目A。(5)如果没有其他用户观看,控制服务器要求客户机(a)从存有视频节目A的视频服务器处获得视频节目。(6)如果已经有其他用户观看,控制服务器要求客户机(a)从客户机链中最后一个没有上传给其他客户机的客户机处获得视频节目A。
6.如权利要求5所述的控制服务器控制客户机的接入的方法,还包括如果多个客户机同时向控制服务器发送观看同一部视频节目的请求,控制服务器将这些客户机送入排队系统,逐个按权利要求5所述的方法接入系统。
7.如权利要求3所述的控制服务器控制客户机退出的方法,包括(1)客户机(b)向控制服务器发送退出请求。(2)客户机(b)的后一个客户机向控制服务器发送重新定位传送源的请求。(3)控制服务器要求客户机(b)的后一个客户机从客户机(b)的前一个客户机处获得视频节目的后续部分。如果客户机(b)是从视频服务器处获得视频节目的,则客户机(b)的后一个客户机从视频服务器处获得视频节目的后续部分。
8.如权利要求3所述的控制服务器控制客户机链的维护的方法,包括如果客户机(c)发生传输故障,控制服务器将客户机(c)从客户机链中去除,由客户机(c)的前一客户机向客户机(c)的后一客户机继续传送视频节目。如果客户机(c)是从视频服务器处获得视频节目的,则客户机(c)的后一个客户机从视频服务器处获得视频节目的后续部分。
9.一种双向网络结构下的点播系统,包括通过双向网络互相连接的数据库服务器、节目信息发布服务器、控制服务器、多个视频服务器和多个客户机。其特征在于所述多个客户机中的每个包括接收单元用于从视频服务器或者其他客户机处接收视频节目。存储单元用于将从视频服务器或者其他客户机处接收到的视频节目暂时存储下来。转发单元用于将暂时存储下来的视频节目传送给下一个客户机。控制单元用于与控制服务器通信,将用户需求发送到控制服务器,接收控制服务器命令,作出相应调整。播放单元将存储在存储单元内的视频节目播放出来,或输出视频信号。允许用户在已经下载的视频节目段中暂停、播放、倒回、快进和搜索等操作。所述视频服务器包括发送单元用于将视频节目传送给客户机链的第一个客户机。管理单元用于管理视频节目的添加,删除,分类,索引。所述控制服务器包括接入单元将客户机接入系统,包括客户机的认证、授权和计费功能。向客户机分配前一客户机或视频服务器的信息,该客户机从前一客户机或视频服务器处开始下载。重分配单元当客户机退出或客户机链发生错误时,重新安排各个客户机之间的关系。所述数据库服务器包括数据库服务器保存了用户信息,用户使用信息,视频节目信息等为其他服务器提供所需的数据信息。所述节目信息发布服务器包括节目信息发布服务器将系统拥有的视频节目信息提供给用户,使用户可以选择自己感兴趣的视频节目。
10.如权利要求9所述的点播系统,其特征在于所述各个服务器是从功能角度作出的划分,可以是独立的设备,也可以集成在一个或几个设备中。或者上述各个服务器可以是运行在计算机上的不同的软件模块。
全文摘要
一种在双向网络结构下充分利用网络资源实现视频点播的方法,包括控制服务器响应多个客户机中最早申请观看同一视频内容(A)的客户机(a)的请求,由拥有该视频内容(A)的视频服务器将内容传送给客户机(a),客户机(a)将接受到的视频内容缓存下来,并开始播放;控制服务器响应多个客户机中第二个申请观看同一视频内容(A)的客户机(b)的请求,由缓存下该视频内容(A)的客户机(a)将内容传送给客户机(b);控制服务器响应多个客户机中第三个申请观看同一视频内容(A)的客户机(c)的请求,由缓存下该视频内容(A)的客户机(b)将内容传送给客户机(c),依此类推,将希望观看同一视频内容的客户机按请求时间串联起来,以节省视频服务器的开销,同时充分利用客户机端空闲的上传带宽。
文档编号H04L5/14GK1589009SQ20041005295
公开日2005年3月2日 申请日期2004年7月19日 优先权日2004年7月19日
发明者张铭 申请人:张铭