在视频服务器中用于提供视频图象控制功能的编程方法

文档序号:6743935阅读:163来源:国知局
专利名称:在视频服务器中用于提供视频图象控制功能的编程方法
技术领域
本发明涉及一种按需播放系统,其中从中心视频服务器来的视频数据流可给多个订户服务。
相关的技术用于支持按需视频应用的前端锁定编程。
本发明涉及到在中心视频服务器中对按需暂停-重启的支持。
暂停-重启特性是VCR最常见的操作。最近,更加普遍的是开发一种多媒体服务器以支持按需视频(VOD)应用。在VOD环境中,经常有许多观众都请求观看的热点视频。每个观众都能独立地在任何时刻暂停视频信号而后再重新观看这样的需求在每个显示上为观众编程组的困难。
在常规的方法中,为了支持按需暂停-重启,给每个观众的视频请求提供一个视频数据流。对于多媒体服务器,到可被支持的盘的视频数据流有一个最大数。该上限被称为Nmax。因此上述的方法只能支持Nmax个观众。
在另一个有关暂停-重启问题的常规方法中,视频数据流被编程,因此它们可在很靠近的间隔中获得。按照接收来自观众的重启命令(在接收一个暂停之后),服务器给该观众指定一个视频数据流,它已被编程,在不久就可获得。这种系统的一个问题是观众在图象重启之前必须等待下一个视频数据流变成可获得的。
由此,本发明的目的是对暂停-重启需要提供有效的支持。
一种整体的编程方法,它给订户提供VCR控制功能,而不需给所有订户总是提供分离的视频数据流。当观看多重播放的视频数据流的订户在暂停之后开始重启时,该系统应用分级的方法来处理该请求。如果正在进行的视频数据流是可获得的,以致在可容忍的时延内该视频数据流可以到达订户被暂停的那点,则订户被指定该正在进行的视频数据流。如果不能获得这样的视频数据流,系统将订户分配到从保留的服务容量的选择中取出的保留视频数据流中。如果不能获得保留的服务容量,给订户到下一个视频数据流的分配优先权成为可能。


图1是按照本发明的一个实施例的方框图2显示了请求记录的格式;图3显示了图1的视频数据流表的结构;图4是由图1的订户程序器处理的暂停请求的流程图;图5是由图1的订户程序器处理的重启请求的流程图;图6是由图1的订户程序器处理的启动请求的流程图;图7是程序器分配工作的流程图;和图8是分配工作的一般优先权分配方法的流程图。
图1是按照本发明一个实施例的按需视频系统的方框图。在下面的描述中,假设按需视频系统订户10通过通信网络20从服务器30提出请求。图象(视频)被存储在盘50上。服务器和‘或订户可具有临时存储图象的内部缓冲器60、70,以处理短时间的暂停请求。订户可以请求开始、停止、暂停和重新开始一个图象。各个订户的请求由订户程序器40来处理。通过组合时间上靠近的、对于同一图象的请求订户程序器保存服务器的信息源,以允许每个订户单独地暂停和重启。
订户程序器40保存有多个目录和表格。每启动或重启图象的订户请求产生请求记录110。请求记录的格式如图2所示。
请求记录110包括订户识别符(订户ID)、请求优先权(优先权)110b、所请求电影的的识别符(请求图象ID)110c、所请求的起始块的块号(起始块)110d和请求的时间(请求时间)110e。请求优先权110b可以为正常或高。如果请求是为了在暂停之后重启图象,则请求请求优先权110b为高,如果请求是为了启动图象,则优先权为正常。
如果请求是要为了启动图象,则起始块110c为第一块,如果请求是为了重启,则起始块可能是另外的某个块。所有的高优先权请求被列在高优先权排队头100的目录中,而所有一般优先权的请求被列在低优先权排队120中。
订户程序器40也包含一个数据流表210,它具有将要播放的、有效节目的每个入口212。数据流表的结构如图3所示。每个数据流表入口包括数据流识别符(ID)212a、正在显示的图象的ID(当前图象ID)212b和在被显示的图象中的当前块的块号(当前块)212c。该入口还包括一个指针(请求表)212d,它指向由该数据流所满足的订户请求的一个所列目录。
计数器220、230用于保持服务器当前空间容量的轨迹。相邻选择计数器220保持现有的相邻数据流号的轨迹。一般选择容量计数器230保持一般现有流水号的轨迹。相邻数据流排它性地用于处理重启请求,而一般数据流可以处理重启和起动请求。
图4显示了处理由订户程序器40请求的暂停和停止请求的流程图。当订户做出一个暂停请求或停止请求时,在步骤310中由订户程序器40接收该请求。然后在步骤320中,程序器40删除该订户的请求。接下来,在步骤330中程序器检查该数据流是否还有其它订户观看。这是通过在数据流表210中查找该数据流的入口并审查请求目录埸212d而完成的。如果有其它订户在观看该数据流,则在步骤340中程序器退出。
如果没有其它订户观看该数据流,该数据流可以退回到相邻选择或一般选择。因此,在步骤350中程序器检测在相邻选择中是否有足够的容量。这是通过检查相邻选择容量220是否大于请求容量而完成的。该请求容量是被暂停订户号、多重订户号和多重数据流号的函数。
如果在相邻选择220中有足够的容量,在步骤360中数据流通过增加相邻选择容量被退回到相邻选择中。然后,在步骤370中处理排队请求的分配工作重新进行。这是因为通过数据流退回到相邻选择220中获得了新的服务器容量而做的。
如果在相邻选择220中没有足够的容量,在步骤380中通过增加一般选择容量230数据流被退回到一般选择中。然后,在步骤390中重新进行分配工作。
图5中显示了由订户程序器处理的重启请求的流程。当订户做出重启请求时,在步骤410中由订户程序器40接收该请求。相应在步骤420中程序器40产生一个请求记录,用于具有设置到高优先权以及请求块的起始块的请求(在这种情况,图象在该块处被重启)。
接下来,在步骤430中,程序器检查请求是否可由已经存在的数据流满足。这是通过扫描数据流表210并用请求记录中的起始块号与数据流入口中的块号进行比较而完成的。如果两个块号足够接近(比如小于一预定的阈值,比如30秒),在步骤440中程序器将该请求记录加到数据流请求目录中,并用该数据流来满足该请求。然后在步骤450中程序器退出。如果,在步骤440中,已确定两个块号不足够接近,则在步骤460中程序器通过检查相邻数据流选择容量220而确定是否可获得相邻数据流。
如果可获得相邻数据流,在步骤470中,通过给新的有效数据流产生一个数据流入口(在有效数据流表210中)、将请求记录加到该数据流的请求目录212d中并增加该相邻选择容量,程序器为这些请求分配相邻数据流。在步骤480中程序器然后退出。
如果在步骤460中程序器确定没有相邻数据流可获得,在步骤490中程序器通过检查一般选择容量230来确定是否可获得一般数据流。如果可获得一般数据流,在步骤500中,通过给新的有效数据流产生一个数据流入口(在有效数据流表210)、增加一般选择容量230并将该请求记录加到该数据流的请求目录中,程序器为该请求分配一般数据流。如果没有一般数据流可获得,在步骤510中程序器将该请求排在高优先权队列中然后在步骤520中退出。
图6显示了由订户程序器处理的启动请求的流程。当订户做出一个启动请求时,在步骤610中由订户程序器40接收该请求。相应在步骤620中程序器产生一个新的图象请求记录110并将该记录排在一般优先权队列120中。然后,在步骤630中进行分配工作。
图7和图8显示了程序器分配工作的流程。该分配工作是由程序器在各个点(如上所述)在步骤710中开始的。当分配工作开始时,在步骤720中程序器通过审查高优先权队列块100首先检查是否有任何排队的高优先权请求。如果没有高优先权请求,在步骤730中程序器图8的一般优先权分配工作。
如果有高优先权排队请求,在步骤740中程序器确定是否可获得任何相邻流水,这是通过审查相邻选择容量220而完成的。如果可获得相邻数据流,在步骤750中程序器通过给它分配一个相邻数据流来满足第一个高优先权请求。
为了分配相邻数据流,程序器在数据流表210中为新的数据流产生一个数据流入口、增加相邻选择容量220并将该请求记录加到新数据流的请求目录中。然后程序器在步骤720中退出。
如果没有相邻数据流可获得,在步骤745中通过检查一般选择容量230程序器确定是否可获得任何一般数据流。如果可获得一般数据流,在步骤760中,通过在有效数据流表210中产生一个新入口、增加一般选择容量230并将该请求记录加到该新数据流的请求目录212d中,程序器分配一个一般数据流。然后程序器在步骤720中退出。
如果,在步骤745中,程序器确定没有一般数据流或获得,程序器在步骤770中退出。
图8显示了一优先权分配工作。如果没有排队的高优先权请求在步骤810中开始该工作。当该工作开始时,在块820中程序器通过检查一般优先权队列头120来确定是否有任何排队的一般优先权请求。如果没有一般优先权请求,程序器在步骤830中退出。
如果有排队的请求,在步骤840中程序器检查一般选择容量230,以确定是否有任何一般数据流可获得。如果没有可获得的数据流,程序器在步骤850中退出。如果有数据流可获得,在步骤860中程序器执行图象选择工作。
该图象选择工作检查请求记录的请求埸的时间,以确定每个请求已经等待了多长时间。该电影选择应用这些请求等待时间以确定播放哪个图象(如果有的话)。用于图象选择工作准则的一个例子是播放所有的那些图象,即最早的请求的等待时间已经超过预定的时间(例如3分钟)。在步骤870中,程序器检查是否已经选择了播放的图象。如果没有选择,程序则从步骤880退出。如果有选择,则那些图象的所有请求都可满足。通过在有效流水表210中产生一个新入口、将那些图象的所有请求记录链接在该数据流的请求目录212d中并增加一般选择容量230,程序器在步骤890中为那些图象分配一个数据流。如果有更多排队的一般优先权请求,程序器然后退回到步骤820。
本发明也可与缓冲器一起工作。在这样的实施例中,在视频服务器中提供存贮缓冲器,以为正观看多重播放数据流的订户存贮被多重播放的视频的一小部分。如果订户暂停非常小的时间,在订户暂停时被传输图象的该部分可以存贮在缓冲器,当他重启时可从缓冲中得到服务。如果订户暂停的时间长于缓冲器能存贮的时间,则按照上述分级方法来处理该重启请求。
借助于优选实施例已经对本发明进行了描述,对于本专业的技术人员可作出各种改型和改进。因此,应理解优选实施例只是一个例子而不是对本发明的限制。本发明的范围由权利要求限定。
权利要求
1.一种支持按需视频服务的暂停-重启的方法,它可使多个观众共享一个共同的数据数据流,包括步骤接收来自观众之一的用于显示具体视频的再现请求;同时从视频服务器向观众位置处的接收设备传送共同的数据数据流,该数据数据流的传送导致在观众位置处的接收设备上再现具体的视频;在视频服务器中接收来自观众之一的暂停请求和随后的重启请求;在具体视频中确定由视频服务器接收的暂停请求的那点;响应于重启请求,确定是否有由不同数据数据流携带的、该视频的其它显示被编程,以在阈值时间期间内到达暂停被接收的那点;当确定在阈值时间期间内其它显示将到达接收暂停的那点时,将该观众分配到该不同数据数据流中;当确定在阈值时间期间内没有其它显示将到达接收暂停的那点时,确定是否或获得一个保留的视频数据流,如果是的话,则将该观众分配到保留的数据数据流并从接收暂停的那点开始、在保留的数据数据流上传送该视频;当确定不能获得保留的视频数据流时,等待正在进行的数据数据流结束并将该订户编程,以有分配到正在进行的数据数据流的优先权。
2.一种支持按需视频服务的暂停-重启的方法,它可使多个观众共享一个共同的数据数据流,包括步骤接收来自观众之一的用于显示具体视频的显现请求;同时从视频服务器向观众位置处的接收设备传送共同的数据数据流,该数据数据流的传送导致在观众位置处的接收设备上再现具体的视频;在视频服务器中接收来自观众之一的暂停请求和随后的重启请求;在具体视频中确定由视频服务器接收的暂停请求的那点;确定是否有由不同数据数据流携带的、该视频的其它显示被编程,以在阈值时间期间内到达暂停被接收的那点;当确定在阈值时间期间内另一个显示将到达接收暂停的那点时,将该观众分配到该不同数据数据流中。
3.一种支持按需视频服务的暂停-重启的方法,它可使多个观众共享一个共同的数据数据流,包括步骤接收来自观众之一的用于显示具体视频的显现请求;同时从视频服务器向观众位置处的接收设备传送共同的数据数据流,该数据数据流的传送导致在观众位置处的接收设备上再现具体的视频;在视频服务器中接收来自观众之一的暂停请求和随后的重启请求;响应于暂停请求,向存贮缓冲器的一个分配部分存贮数据数据流;确定订户是否从缓冲器中得到服务并继续观看该图象;当该图象不能从缓冲器中继续观看时,响应该重启请求,确定是否有由不同数据流携带的、该视频的其它显示被编程,以在阈值时间期间内到达暂停被接收的那点;当确定还有其它显示将在阈值时间内达到其中接收到暂停那点时,则将观众分配到不同的数据流;当确定在阈值时间期间内没有其它显示将到达接收暂停的那点时,确定是否或获得一个保留的视频数据流,如果是的话,则将该观众分配到保留的数据数据流并从接收暂停的那点开始、在保留的数据数据流上传送该视频;当确定不能获得保留的视频数据流时,等待正在进行的数据数据流结束并将该订户编程,以有分配到正在进行的数据数据流的优先权。
4.一种支持按需视频服务的暂停-重启的方法,它可容纳多个观众,包括步骤提供包含多个数据流的相邻选择容量,该数据流设置在侧边以处理重启请求;提供包含在按需系统上的、剩余的视频数据流容量的一般选择容量;接收来自观众之一的、用于显示具体视频的再现请求;同时从视频服务器向多个观众位置处的接收设备传送多重播放数据流,在视频服务器中接收来自观众之一的暂停请求和随后的重启请求;在具体视频中确定由视频服务器接收的暂停请求的那点;确定从一个非多重播放数据流的观众接收暂停请求的时间;响应于从非多重播放数据流观众接收到的暂停请求的确定,当在相邻选择中的流水容量低于阈值时,将非多重数据流退回到相邻选择容量中,否则将该非多重播放流水容量退回到一般选择容量;响应于来自多重播放数据流的观众的重启请求,确定是否有由不同数据数据流携带的、该视频的其它显示被编程,以在阈值时间期间内到达暂停被接收的那点;当确定在阈值时间期间内其它显示将到达接收暂停的那点时,将该观众分配到该不同数据数据流中;当确定在阈值时间期间内没有其它显示将到达接收暂停的那点时,确定是否或获得一个保留的视频数据流,如果是的话,则将该观众分配到保留的数据数据流并从接收暂停的那点开始、在保留的数据数据流上传送该视频;当确定不能获得保留的视频数据流时,等待正在进行的数据数据流结束并将该订户编程,以有分配到正在进行的数据数据流的优先权。
5.按照权利要求4的方法,其特征在于该阈值作为暂停的数据流号、多重播放数据流号和多重播放订户号的函数而被计算。
全文摘要
一种整体的编程方法,它给订户提供VCR控制功能,而不需给所有订户总是提供分离的视频数据流。当观看多重播放的视频数据流的订户在暂停之后开始重启时,该系统应用分级的方法来处理该请求。如果正在进行的视频数据流是可获得的,以致在可容忍的时延内该视频数据流可以到达订户被暂停的那点,则订户被指定该正在进行的视频数据流。如果不能获得这样的视频数据流,而且该订户请求也不能从缓冲器中得到服务,系统将订户分配到从保留的服务容量的选择中取出的保留视频数据流中。
文档编号G11B20/10GK1144436SQ95102940
公开日1997年3月5日 申请日期1995年2月28日 优先权日1994年3月15日
发明者A·丹, N·P·沙哈布丁, D·西塔兰姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1