欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于在流内容中拼接广告的系统和方法独创技术73167字

用于在流内容中拼接广告的系统和方法

2021-04-25 15:26:47

用于在流内容中拼接广告的系统和方法

  本申请是2017年5月31日提交的题为“用于在流内容中拼接广告的系统和方法”的中国专利申请201780051796.5的分案申请.

  版权声明

  本专利文件的公开内容的一部分包含受版权保护的材料。当它出现在专利和商标局专利文件或记录中时,版权所有者不反对任何人对专利文件或专利公开内容进行传真复制,但版权所有者在其它方面保留所有版权。

  技术领域

  本发明的实施例通常涉及流内容领域。更具体地,本发明的实施例涉及在流内容中拼接广告。

  背景技术

  在2015年生产并分发了超过400个原创系列。内容供应中的这种显着增加主要是由于点播内容(例如,流内容)的增加。然而,已经证明点播内容货币化是困难的。通常,商业广告是流内容货币化的主要来源。

  点播服务和解决方案公司(例如,Brightcove、Freewheel等)需要手动插入点来标示广告服务器并插入商业广告。例如,操作员可能必须浏览视频并手动标示视频中的各个点以插入商业广告,这既费时又昂贵。

  发明内容

  在过去几年中,原创内容(例如,节目、电影等)的数量急剧增加。点播服务提供商已经为内容提供商(例如,Young Hollywood)提供了用于按需传递其内容的平台,而不受传统广播要求(例如,广播时间表、媒体格式要求等)的限制。然而,点播内容货币化一直存在问题且成本高昂。例如,点播服务提供商通常要求内容提供商手动对视频的各个点加标签以指示广告的位置。例如,操作员可以观看视频并查找指示潜在插入点的黑色帧序列。在到达黑色帧序列时,操作员可以手动标示插入点。这样的过程可能是耗时的、昂贵的并且容易出错。

  本文描述的一些实施例包括用于在流内容中拼接广告的系统和方法。例如,可以在流内容的回放期间提供广告,而不需要操作员先前对插入点加标签。在一些实施例中,服务器系统扫描流内容的连续的黑色帧组。在定位第一黑色帧时,可以由服务器系统自动注册(例如,不需要用户输入)潜在插入点,并且可以由服务器系统扫描下一个黑色帧。如果下一个帧也是黑色帧,则服务器系统可以自动地注册插入点。替代性地,如果下一个帧是视频内容帧,如不是黑色帧,则服务器系统可以清除注册的潜在插入点,并继续扫描黑色帧。服务器系统可以执行该过程,直到到达流内容的结尾。

  在一些实施例中,为每个注册的插入点实时提供一个或更多个广告。例如,注册的插入点可以触发服务器系统“暂停”视频内容的流传输,并且流传输一个或更多个广告而不是视频内容。在广告结束时可以恢复视频内容的流传输。

  在各种实施例中,一种系统包括广告提供商接口引擎,其被配置为接收一个或更多个广告。内容提供商接口引擎可以被配置为接收未标记的内容项,未标记的内容项包括支持流的(stream-enabled)视频,该支持流的视频包括连续的黑色帧组。插入点检测器引擎可以被配置为基于连续的黑色帧组中的至少一个黑色帧的位置来识别插入点,而不需要用户输入,在将未标记的内容项流传输到消费者系统期间识别插入点,插入点位于流传输到消费者系统的未标记的内容项的当前回放点的前面。内容处理引擎可以被配置为在插入点处将一个或更多个广告拼接在未标记的内容项中。内容传递引擎可以被配置为将未标记的内容项流传输到消费者系统,直到到达插入点,并且当到达插入点时将一个或更多个广告流传输到消费者系统。

  在一些实施例中,一个或更多个广告包括支持流的视频。

  在一些实施例中,插入点检测器引擎还被配置为响应于对预定的阈值条件的满足来识别插入点。在相关实施例中,如果连续的黑色帧组中的每个帧的对角线(diagonal)部分包括所有黑色像素,则满足预定的阈值条件。

  在一些实施例中,内容处理引擎被配置为在插入点处将一个或更多个广告拼接在未标记的内容项中包括,内容处理引擎被配置为触发内容传递引擎以在插入点处将一个或更多个广告流传输到消费者系统。

  在一些实施例中,内容处理引擎被配置为在插入点处将一个或更多个广告拼接在未标记的内容项中包括,内容处理引擎被配置为修改未标记的内容项以在插入点处将一个或更多个广告添加到未标记的内容项。

  在一些实施例中,该系统还包括消费者配置文件管理器,其被配置为识别消费者系统的一个或更多个消费者系统属性。在相关实施例中,广告提供商接口引擎还被配置为基于一个或更多个消费者系统属性提供对一个或更多个广告的请求,广告提供商接口引擎被配置为基于一个或更多个消费者系统属性接收一个或更多个广告。在相关实施例中,在将未标记的内容项流传输到消费者系统期间选择一个或更多个广告。在相关实施例中,内容处理引擎还被配置为基于一个或更多个消费者系统属性来修改一个或更多个广告的格式,在将未标记的内容项流传输到消费者系统期间修改一个或更多个广告的格式。在相关实施例中,内容处理引擎还被配置为基于一个或更多个消费者系统修改未标记的内容项的格式,并且内容传递引擎还被配置为将经修改的未标记的内容项流传输到消费者系统,直到到达传递时间。

  在各种实施例中,一种方法包括接收一个或更多个广告。可以接收未标记的内容项,未标记的内容项包括支持流的视频,该支持流的视频包括连续的黑色帧组。可以基于连续的黑色帧组中的至少一个黑色帧的位置来识别插入点,而不需要用户输入,在将未标记的内容项流传输到消费者系统期间识别插入点,插入点位于流传输到消费者系统的未标记的内容项的当前回放点的前面。可以在插入点处将一个或更多个广告拼接在未标记的内容项中。可以将未标记的内容项流传输到消费者系统,直到到达插入点,并且当到达插入点时,可以将一个或更多个广告流传输到消费者系统。

  在一些实施例中,一个或更多个广告包括支持流的视频。

  在一些实施例中,该方法还包括响应于对预定的阈值条件的满足来识别第一黑色帧。在相关实施例中,如果连续的黑色帧组中的第一黑色帧的对角线部分包括所有黑色像素,则满足预定的阈值条件。

  在一些实施例中,在插入点处将一个或更多个广告拼接在未标记的内容项中包括在插入点处将一个或更多个广告流传输到消费者系统而不修改未标记的内容项。

  在一些实施例中,内容处理引擎被配置为在插入点处将一个或更多个广告拼接在未标记的内容项中包括,内容处理引擎修改未标记的内容项以在插入点处将一个或更多个广告添加到未标记的内容项。

  在一些实施例中,该方法还包括由服务器系统识别消费者系统的一个或更多个消费者系统属性。在相关实施例中,该方法还包括由服务器系统基于一个或更多个消费者系统属性提供一个或更多个广告,接收一个或更多个广告包括基于消费者系统属性接收一个或更多个广告。在相关实施例中,在将未标记的内容项流传输到消费者系统期间选择一个或更多个广告。

  在一些实施例中,该方法还包括基于一个或更多个消费者系统属性修改一个或更多个广告的格式,在将未标记的内容项流传输到消费者系统期间修改一个或更多个广告的格式。

  在一些实施例中,该方法还包括基于一个或更多个消费者系统修改未标记的内容项的格式,并将经修改的未标记的内容项流传输到消费者系统,直到到达传递时间。

  在各种实施例中,非暂时性计算机可读介质包括可执行指令,该指令可由处理器执行以执行一种方法,该方法包括接收一个或更多个广告。可以接收未标记的内容项,未标记的内容项包括支持流的视频,该支持流的视频包括连续的黑色帧组。可以基于该连续的黑色帧组中的至少一个黑色帧的位置来识别插入点,而不需要用户输入,在将未标记的内容项流传输到消费者系统期间识别插入点,插入点位于流传输到消费者系统的未标记的内容项的当前回放点的前面。可以在插入点处将一个或更多个广告拼接在未标记的内容项中。可以将未标记的内容项流传输到消费者系统,直到到达插入点,并且当到达插入点时,可以将一个或更多个广告流传输到消费者系统。

  在各种实施例中,系统、方法和非暂时性计算机可读介质被配置为:接收未标记的内容项,未标记的内容项包括多个支持流的视频段,多个支持流的视频段中的至少一个支持流的视频段包括连续的黑色帧组;针对多个支持流的视频段中的至少一个支持流的视频段识别一个或更多个插入点,该识别基于连续的黑色帧组中的至少一个黑色帧的一个或更多个位置而不需要用户输入;丢弃不包括至少一个连续的黑色帧组的多个支持流的视频段中的至少一些;从包括一个或更多个连续的黑色帧组的多个支持流的视频段中的至少一个支持流的视频段中移除一个或更多个连续的黑色帧组;生成播放列表,该播放列表包括:第一流源位置,其与不包括至少一个连续的黑色帧组的多个支持流的视频段中的至少一些相关联,第二流源位置,其与具有移除的连续的黑色帧组的多个支持流的视频段中的至少一个支持流的视频段相关联,以及第三流源位置,其与广告提供商系统相关联,该第三流源位置被配置为向消费者系统提供一个或更多个支持流的广告;以及将播放列表提供给消费者系统,该播放列表允许消费者系统:将不包括至少一个连续的黑色帧组的多个支持流的视频段中的至少一些进行第一流传输,从第一流源位置接收该第一流传输,将具有移除的连续的黑色帧组的多个支持流的视频段中的至少一个支持流的视频段进行第二流传输,直到到达一个或更多个插入点中的对应插入点,从第二流源位置接收该第二流传输,以及当到达一个或更多个插入点中的对应插入点时,将一个或更多个支持流的广告进行第三流传输,从第三流源位置接收该第三流传输。

  在一些实施例中,一个或更多个广告包括支持流的视频。

  在一些实施例中,从包括一个或更多个连续的黑色帧组的多个支持流的视频段中的至少一个支持流的视频段中移除一个或更多个连续的黑色帧组包括:修改包括一个或更多个连续的黑色帧组的多个支持流的视频段中的至少一个支持流的视频段,以移除一个或更多个连续的黑色帧组,插入指示一个或更多个相应插入点的一个或更多个相应标签。

  在一些实施例中,第一流源位置包括内容提供商流源位置。在一些实施例中,第二流源位置包括系统的流源位置。在一些实施例中,第三流源位置包括广告提供商流源位置。

  在一些实施例中,第一流源位置、第二流源位置和第三流源位置各自包括具有不同域的相应统一资源定位符(URL)。

  附图说明

  图1描绘了根据一些实施例的说明内容传递网络系统的框图。

  图2描绘了根据一些实施例的说明未标记的内容项的细节的框图。

  图3描绘了根据一些实施例的说明广告放置检测系统的细节的框图。

  图4描绘了根据一些实施例的说明发布系统的细节的框图。

  图5描绘了根据一些实施例的说明内容传递网络系统的细节的框图。

  图6描绘了根据一些实施例的说明在流内容中拼接一个或更多个广告的方法的流程图。

  图7描绘了根据一些实施例的说明用于在流内容中拼接一个或更多个广告的服务器系统的操作方法的流程图。

  图8描绘了根据一些实施例的说明用于在流内容的段中拼接一个或更多个广告的服务器系统的操作方法的流程图。

  图9描绘了根据一些实施例的说明内容传递网络系统的细节的框图。

  图10描绘了根据一些实施例的说明在流内容中拼接一个或更多个广告的方法的流程图。

  图11描绘了根据一些实施例的说明计算设备的细节的框图。

  图12描绘了根据一些实施例的说明动态拼接一个或更多个广告的方法的流程图。

  具体实施方式

  在过去几年中,原创内容(例如,节目、电影等)的数量急剧增加。点播服务提供商已经为内容提供商(例如,Young Hollywood)提供了用于按需传递其内容的平台,而不受传统广播要求(例如,广播时间表、媒体格式要求等)的限制。然而,点播内容货币化一直存在问题且成本高昂。例如,点播服务提供商通常要求内容提供商手动对视频的各个点加标签以指示广告的位置。例如,操作员可以观看视频并查找指示潜在插入点的黑色帧序列。在到达黑色帧序列时,操作员可以手动标示插入点。这样的过程可能是耗时的、昂贵的并且容易出错。

  本文描述的一些实施例包括用于在流内容中拼接广告的系统和方法。例如,可以在流内容的回放期间提供广告,而不需要操作员先前对插入点加标签。在一些实施例中,服务器系统针对连续的黑色帧组扫描流内容。在一些实施例中,在定位第一黑色帧时,可以由服务器系统自动注册(例如,不需要用户输入)插入点。在一些实施例中,仅在检测到第二黑色帧时,可以由服务器系统自动注册插入点。在一些实施例中,服务器系统可以在此后忽略任何连续的黑色帧。在一些实施例中,当定位一个或更多个黑色帧的序列中的最后的黑色帧时,可以由服务器系统自动注册插入点。在一些实施例中,服务器系统可以查看下一个帧是否也是黑色帧,并且仅当下一个帧是视频内容帧(如不是黑色帧)时才自动注册插入点。在一些实施例中,如果下一个帧是另一个黑色帧,则服务器系统可以清除先前的潜在插入点并在下一个黑色帧处生成新的插入点。服务器系统可以执行该过程,直到到达流内容的结尾。

  在一些实施例中,为每个注册的插入点实时提供一个或更多个广告。例如,注册的插入点可以触发服务器系统“暂停”视频内容的流传输,并且在广告结束时恢复视频内容之前流传输一个或更多个广告。

  图1描绘了根据一些实施例的说明内容传递网络系统100的框图。系统100包括广告提供商系统102、内容提供商系统104、服务器系统106、消费者系统108和通信网络110。

  广告提供商系统102可以被配置为存储和提供广告112。例如,广告112可以是视频商业广告,其可以在流内容的回放期间在各个点处流传输。如本文所使用的,流内容可以包括交易型视频点播内容(或“TVOD”内容)、互联网电视内容(或“OTT”内容)、广告支持的视频点播内容(或“AVOD”内容)、订阅视频点播内容(或“SVOD”内容)等。在一些实施例中,广告提供商系统102的功能由一个或更多个工作站、台式计算机、膝上型计算机、移动设备等执行。应当理解,出于说明性目的示出了一个广告提供商系统102,但是其它实施例可以包括任何数量的这种广告提供商系统102。

  在一些实施例中,广告提供商系统102包括基于云的系统。例如,广告提供商系统102可以包括远程系统。替代性地,广告提供商系统102可以包括本地系统。例如,广告提供商系统102可以存储从远程系统检索的广告的本地实例。

  内容提供商系统104可以被配置为存储和提供未标记的内容项114。在一些实施例中,内容提供商系统104的功能由一个或更多个工作站、台式计算机、膝上型计算机、移动设备等执行。应当理解,出于说明性目的示出了一个内容提供商系统104,但是其它实施例可以包括任何数量的这种内容提供商系统104。

  在一些实施例中,未标记的内容项114包括支持流的视频(例如,节目、电影等的剧集)或其它点播内容。如在本文中所使用的,“未标记”可以指示内容项包括内容的帧(例如,视频内容帧)和指示符帧组,但是不包括定时信息(例如,时间戳),该定时信息指示何时可以将广告插入在内容项中和/或以其它的方式结合流内容将广告提供给消费者。在一些实施例中,指示符帧组包括每个完全由黑色像素构成的帧,并且用于确定何时可以将广告插入未标记的内容项中和/或以其它方式结合流传输的未标记的内容项将广告提供给消费者系统。如下,“标记的”内容项可以包括定时信息,该定时信息指示何时可以将广告插入内容项中和/或以其它方式结合流传输的标记的内容项将广告提供给消费者系统。

  在一些实施例中,内容提供商系统104包括基于云的系统。例如,内容提供商系统104可以包括远离其它系统的Young系统。替代性地,内容提供商系统104可以包括本地系统。例如,内容提供商系统104可以存储从远程系统或其它方式检索的未标记的内容项的本地库。

  服务器系统106可以被配置为将一个或更多个广告拼接到未标记的内容项的回放中。例如,服务器系统106的功能可以由一个或更多个工作站、台式计算机、膝上型计算机、移动设备等执行。在一些实施例中,拼接可以包括自动(例如,不需要用户输入)确定可以将广告插入在未标记的内容项中的位置和/或以其它方式结合流传输的未标记的内容项来提供广告的位置。例如,服务器系统106可以处理内容项的一部分(例如,高速缓存的部分或流传输部分),直到它识别出黑色帧序列(例如,两个或更多个连续的帧、1秒黑色帧等),并指示在回放期间应该在未标记的内容项的被识别位置处提供广告。

  在一些实施例中,拼接可以包括将广告添加到未标记的内容项,但是其它实施例可以不将广告添加到未标记的内容项。例如,拼接可以指示应该在特定位置处(例如,基于连续的黑色帧的位置)暂停内容项的回放,并且在暂停内容回放时应当流传输一个或更多个广告。在一个或更多个广告结束时,可以恢复内容项的回放。

  在一些实施例中,服务器系统106被配置为将一个或更多个广告拼接在未标记的内容项的段(或“组块(chunk)”)中。例如,未标记的内容项可以包括25个段。服务器系统106可以仅处理和/或存储已知具有插入点的段(例如,段4、10、11、19和22-24)。例如,这可以通过允许其它系统(例如,内容提供商系统104)处理剩余的段来帮助减少服务器系统106上的负载。在该整篇文章中可以找到对段的进一步讨论(例如,参考图8-图10)。

  在一些实施例中,服务器系统106包括广告放置检测系统116、发布系统118以及分析和报告系统120。广告放置检测系统116可以被配置为处理未标记的内容项以进行检测,或者以其它方式识别插入点以提供一个或更多个广告。在一些实施例中,广告放置检测系统116针对插入点扫描未标记的内容项的高速缓存或缓冲的部分,例如特定类型的帧、特定帧组、黑色帧序列等。例如,广告放置检测系统116可以扫描未标记的内容项的第一黑色帧、未标记的内容项的第二黑色帧、未标记的内容项的黑色帧序列中的最后一个黑色帧、未标记的内容项的(例如,第二)黑色帧的时间段等。当定位插入点时,广告放置检测系统116可以注册插入点。

  在一些实施例中,广告放置检测系统116可以减少由于针对单个预期的插入点错误地标示多个插入点而导致的错误。在一些实施例中,广告放置检测系统116可以在插入点背对背的情况下取消插入点。例如,如果在检测到插入点之后的下一个帧也是黑色帧,则其可以被忽略(并且可能被移除)。这可以帮助减少拼接过程中的错误。可以忽略和/或移除后续黑色帧,直到未标记的内容项的下一个帧包括非黑色帧,例如视频内容帧。一旦定位了视频内容帧,广告放置检测系统116就可以重置并开始扫描另一个第一黑色帧,并且可以重复上述过程。

  在一些实施例中,如果插入点太靠近在一起,例如,在先前插入点的10分钟内发生,则广告放置检测系统116可以取消插入点。在其它实施例中,如果插入点在由用户设置的时间段内,如果插入点在由服务器系统106的管理者设置的可配置时间段内,如果插入点在根据观看者的订阅级别设置的时间段内(例如,一个订阅级别可以经常不超过每10分钟提供广告,一个订阅级别可以经常不超过每30分钟提供广告,一个订阅级别可以永远不供应广告等),则广告放置检测系统116可以取消插入点。

  在一些实施例中,发布系统118被配置为将广告拼接到内容中,并流传输拼接的内容。例如,发布系统118可以接收未标记的内容项、高速缓存或缓冲未标记的内容项的一部分,评估用于插入点的未标记的内容项、用于接收目标广告的提供商消费者系统属性,将广告插入到插入点中以及流传输拼接的内容。在一些实施例中,发布系统118可以在流传输广告时停止或暂停流传输未标记的内容项,尽管其它实施例可以同时流传输两者,例如,以当正在播放一个或更多个广告时允许消费者缓冲未标记的内容项的一部分。

  在一些实施例中,发布系统118被配置为格式化广告和未标记的内容项而无需来自用户(例如,运营商)的输入。例如,发布系统118可以接收消费者系统的消费者系统属性,例如操作系统类型、回放播放器类型、浏览器类型、网络连接速度、屏幕显示尺寸和/或分辨率等等。发布系统118可以基于消费者系统属性来格式化广告和未标记的内容项。在一些实施例中,广告和未标记的内容项是预先格式化的,并且不由发布系统118或服务器系统106的其它组件格式化。

  在一些实施例中,分析和报告系统120被配置为分析和报告流会话的流传输属性(例如,流传输特定未标记的内容项)、与特定消费者系统相关联的流会话、与消费者系统组相关联的流会话等。例如,流传输属性可以包括流会话的持续时间、在流会话期间提供的广告的数量、为流会话的每个广告段提供的广告的数量等等。广告段可以包括与特定插入点相关联的一个或更多个广告。例如,可以针对单个插入点在未标记的内容项中拼接三个广告。

  在一些实施例中,分析和报告系统120生成预测模型,用于确定针对每个插入点拼接多少广告,以及提供哪些消费者系统属性以用于广告的选择。例如,分析和报告系统120可以在流传输未标记的内容项期间记录特定消费者系统被提供有三个不同的广告段。分析和报告系统120可以记录由广告生成的点进次数和/或快进或跳过的广告的数量。例如,如果特定段中的广告与具有两个广告的段相比导致了更少的点进次数和/或更多的快进或跳过,则预测模型可以指示应该每段提供两个广告。

  在一些实施例中,可以预定义预测模型(例如,针对特定消费者系统或消费者系统组),但是在其它实施例中,预测模型可以是动态的。例如,随着消费者系统属性和/或流传输属性改变,可以更新预测模型。这可以允许例如分析和报告系统120提供更准确的度量,并考虑特定消费者系统的流传输习惯。

  在一些实施例中,服务器系统106包括基于云的系统。例如,服务器系统106可以包括远离其它系统的AWS系统。替代性地,服务器系统106可以包括通过局域连接和/或广域连接被连接到一个或更多个其它系统的本地系统。

  消费者系统108可以被配置为流传输和回放未标记的内容项和广告。例如,消费者系统108的功能可以由一个或更多个移动设备(例如,智能手机、移动电话、智能手表、平板电脑等)、台式计算机、膝上型计算机、工作站等来执行。在一些实施例中,消费者系统108包括客户端系统122和回放系统124。消费者系统122可以被配置为接收和提供数据(例如,流数据)、生成图形用户接口、接收用户输入等。例如,客户端系统122可以包括网页浏览器(例如,IE、Firefox、Chrome、Safari等)。

  回放系统122可以被配置为回放流数据,该流数据包括未标记的内容项和广告。在一些实施例中,流数据包括段。例如,回放系统122可以包括播放器、播放器、web浏览器组件等。在一些实施例中,回放系统122可以被配置为执行各种不同的回放功能。例如,回放系统122可以暂停、终止、提前(例如,快进或跳过)或倒回未标记的内容项和/或广告。在一些实施例中,可以限制特定的回放功能(例如,快进或跳过)。例如,特定流会话可以仅允许有限数量的快进或跳过。

  在一些实施例中,通信网络110表示一个或更多个计算机网络(例如,LAN、WAN等)。通信网络110可以提供广告提供商系统102、内容提供商系统104、服务器系统106和消费者系统108中的任何系统之间的通信。在一些实施方式中,通信网络110包括计算设备、路由器、电缆、总线和/或其它网络拓扑。在一些实施例中,通信网络110可以是有线和/或无线的。在各种实施例中,通信网络110可以包括因特网、一个或更多个网络,该一个或更多个网络可以是公共的、私有的、基于IP的、基于非IP的等等。

  图2描绘了根据一些实施例的说明未标记的内容项114的细节的框图200。未标记的内容项114包括第一视频内容部分202、黑色帧组204-1至204-n以及第二视频内容部分206。应当理解,内容项114可包括任意数量的视频内容部分和黑色帧组。例如,内容项114可以包括六个视频内容部分和五个黑色帧组,其可以指示内容项114被配置用于五个不同的广告段。在各种实施例中,可以为每个广告段提供一个或更多个广告。

  图3描绘了根据一些实施例的说明广告放置检测系统116的细节的框图300。在一些实施例中,广告检测系统116包括内容获取引擎302、插入点检测引擎304、插入点标示编辑器引擎306和广告放置检测系统数据存储308。与本文中提到的许多其它元件一样,插入点标示编辑器306是可选的。

  内容获取引擎302可以被配置为获取未标记的内容项。在一些实施例中,内容获取引擎302接收一个或更多个未标记的内容项的数据流。例如,内容获取引擎302可以包括实时流传输协议(RTSP)的实施方式。可以将获取的未标记的内容项至少临时(例如,高速缓存或缓冲)存储在广告放置检测系统数据存储308中。如本文中所使用的,数据存储可以是适合用于至少临时存储数据的任何一个和/或更多个结构(例如,高速缓存器、缓冲区、活动数据库、关系数据库、自引用数据库、表、矩阵、数组、平面文件、面向文档的存储系统、非关系型No-SQL系统、FTS管理系统等)。

  插入点检测引擎304可以被配置为检测未标记的内容项的插入点以用于拼接一个或更多个广告。在一些实施例中,插入点指示未标记的项内的位置。例如,插入点检测引擎304可以针对具有一个或更多个帧检测属性的特定组的帧或帧组来扫描未标记的内容项的高速缓存或缓冲部分(例如,针对一个或更多个黑色帧的序列内的第一黑色帧、第二黑色帧、第n黑色帧、最后一帧、黑色帧的时间段等进行扫描)。在一些实施例中,帧检测属性包括像素颜色(例如,黑色)。在一些实施例中,如果像素的阈值数量、百分比或图案具有帧检测属性(例如,所有像素是黑色,帧的对角线是黑色,两个对角线均为黑色,某些预定的点是黑色等),则帧可以被认为具有该帧检测属性,例如,可以被认为是黑色。

  插入点检测引擎304可以被配置为基于预定的标准忽略一些插入点,例如,如果先前插入点在一定数量的帧内或者在时间上太接近,如果先前插入点基于用户的订阅级别在时间上太接近等。在一些实施例中,插入点检测引擎304可以注册插入点,可能还有定时信息(例如,未标记的内容项114的5分13秒(5m:13s))。在一些实施例中,插入点检测引擎304可以从未标记的内容项中移除具有一个或更多个帧检测属性组(例如,黑色帧)的一个或更多个帧。在一些实施例中,插入点检测引擎304可以忽略和/或移除任何数量的帧,直到到达视频内容帧。该过程可以帮助例如防止错误的插入点检测。

  插入点标示编辑器引擎306可以被配置为插入指示用于拼接一个或更多个广告的插入点的自定义帧。例如,在基于定位黑色帧序列来注册插入点时,插入点标示编辑器引擎306可以用自定义帧替换黑色帧。然后,在将来的过程中,插入点检测引擎304可以针对与自定义帧匹配的帧来扫描未标记的内容项。在一些实施例中,自定义帧可包括一个或更多个帧检测属性的特定组。例如,自定义帧可以包括徽标(logo)(例如,“SnifferCat”徽标)。这可以是例如结合未标记的内容项的流传输实时完成的和/或这可以在“离线”或批处理过程中完成。

  图4描绘了根据一些实施例的说明发布系统118的细节的框图400。在一些实施例中,发布系统118包括控制器引擎402、消费者接口引擎404、消费者配置文件管理器406、内容提供商接口引擎408、内容管理器引擎410、广告提供商接口引擎412、广告管理器引擎414、节目指南引擎416、内容和广告处理系统(或“内容处理系统”)418、内容和广告传递系统(或“内容传递系统”)420以及发布系统数据存储422。

  控制器引擎402可以被配置为控制引擎404-420和发布系统数据存储422中的一些或全部的功能和/或交互。在一些实施例中,控制器引擎402管理数据存储422。例如,控制器引擎402可以高速缓存或缓冲数据存储422中接收的流内容(例如,未标记的内容项114),从数据存储422读取高速缓存的或缓冲的内容,更新数据存储422中的高速缓存的或缓冲的内容,删除数据存储422中高速缓存的或缓冲的内容等等。

  消费者接口引擎404可以被配置为通过通信网络请求和接收消费者配置文件信息,以生成与消费者系统相关联的消费者配置文件。例如,消费者配置文件可用于格式化未标记的内容项以供对应的消费者系统展示、格式化广告以供对应的消费者系统展示、选择消费者系统属性用于请求广告、推荐未标记的内容项等。在一些实施例中,消费者接口引擎404可以包括HTTP或HTTPS协议的实施方式。

  消费者配置文件管理器406可以被配置为管理(例如,创建、读取、更新、删除或以其它方式访问)消费者配置文件。例如,消费者配置文件可以存储在数据存储422中。在一些实施例中,消费者配置文件可以存储计算机硬件属性、人口统计属性、地理属性、心理属性等。例如,消费者配置文件可以存储以下信息中的一些或全部:

  ·消费者配置文件标识符:识别消费者配置文件。

  ·OS:相关联的消费者系统的操作系统(例如,Windows、MacOS、Linux等)。

  ·网络连接:速度(例如,5Mb/s)和/或连接的类型(例如,LAN、WAN、无线、有线等)。

  ·显示:相关联的消费者系统的显示属性(例如,屏幕大小、屏幕分辨率等)。

  ·音频:相关联的消费者系统的音频属性。

  ·设备类型:相关联的消费者系统的设备的类型(例如,移动设备、膝上型计算机、台式计算机等)

  ·性别:与消费者配置文件相关联的消费者的性别。

  ·名称:与消费者配置文件相关联的消费者的名称。

  ·年龄:与消费者配置文件相关联的消费者的年龄。

  ·地理位置:与消费者配置文件相关联的消费者的当前位置,例如,如由位置服务确定的和/或由消费者指定的。

  ·内容查看历史记录:由消费者或相关联的系统流传输的内容的历史记录。例如,流传输的标题列表、时间戳信息等等。

  ·广告查看历史记录:广告的查看历史记录。例如,流传输的广告的列表、导致点进次数的广告列表或其它相关的活动(例如,查看广告赞助商网站)、跳过或快进的列表广告等等。

  内容提供商接口引擎408可以被配置为通过通信网络请求和接收未标记的内容项。在一些实施例中,内容接口引擎408包括RTSP协议的实施方式。

  内容管理器引擎410可以被配置为管理(例如,创建、读取、更新、删除或以其它方式访问)本地存储的(例如,流传输的、高速缓存的、缓冲的等)未标记的内容项。例如,可以将未标记的内容项至少临时地本地存储在数据存储422中。例如,未标记的内容项可以包括以下信息中的一些或全部:

  ·内容项标识符:识别未标记的内容项。

  ·内容:未标记的内容项的支持流的数据。

  ·内容格式:未标记的内容项的媒体格式(例如,MPEG、MOV、AVI等)。

  ·显示质量:未标记的内容项的显示属性(例如,分辨率、推荐屏幕尺寸、颜色质量、音频质量等)

  ·视频内容时间:未标记的内容项中包含的视频内容的持续时间。例如,节目剧集的运行时间。

  ·标题:内容的标题(例如,“Seinfeld、S1、Ep.2(宋飞正传第一季第二集)”)。

  ·风格:未标记的内容项的风格(例如,喜剧、戏剧、动作等)。

  在一些实施例中,内容管理器410格式化或以其它方式修改未标记的内容项。例如,内容管理器引擎410可以基于与目标计算机系统相关联的消费者配置文件属性来格式化未标记的内容项。

  广告提供商接口引擎412可以被配置为通过通信网络请求和接收广告。在一些实施例中,广告提供商接口引擎412可以包括VAST协议的实施方式。

  广告管理器引擎414可以被配置为管理(例如,创建、读取、更新、删除或以其它方式访问)本地存储的(例如,流传输的、高速缓存的、缓冲的等)广告。例如,可以将广告至少临时地存储在数据存储422中。例如,广告可以包括以下信息中的一些或全部:

  ·广告标识符:识别广告。

  ·广告:广告的支持流的数据。

  ·广告格式:广告的媒体格式(例如,MPEG、MOV、AVI等)。

  ·显示质量:广告的显示属性(例如,分辨率、推荐的屏幕尺寸、颜色质量、音频质量等)

  ·广告时间:广告的持续时间。例如,广告的运行时间。

  ·标题:广告的标题。

  ·风格:广告的风格(例如,体育、家庭装修、餐饮、购物等)。

  在一些实施例中,广告管理器引擎414格式化或以其它方式修改广告。例如,广告管理器引擎414可以基于与目标计算机系统相关联的消费者配置文件属性来格式化广告。

  在一些实施例中,广告管理器引擎414选择用于接收目标广告的消费者系统属性。例如,可以由广告提供商系统102基于与流传输目标相关联的一个或更多个消费者配置文件属性来选择广告。在一些实施例中,可以(例如,当相关联的未标记的内容项正被流传输到目标时)实时和/或在流传输之前(或“离线”)选择消费者系统属性。

  节目指南引擎416可以被配置为提供未标记的内容项的指南(或“内容列表”)。例如,可以将指南提交给消费者系统用于选择未标记的项。在一些实施例中,指南可以包括可以在消费者系统上显示的图形用户界面(GUI)。在一些实施例中,节目指南引擎416提供内容映射(或“映射”)以存储未标记的内容项。例如,未标记的内容项可以被本地地存储(例如,在数据存储422中),和/或(例如,由内容提供商系统104)远程地存储。映射可以用于检索未标记的内容项用于流传输到消费者系统108。例如,消费者系统108可以通过指南浏览和选择未标记的内容项,并且可以基于映射来检索所选择的未标记的内容项。

  在一些实施例中,可以在段中检索未标记的内容项,这可以改善流传输质量和/或性能。例如,可以基于(例如,从内容提供商系统104流传输到消费者系统108的)映射来检索第一段。在第一段的结尾处,或者在第一段的结尾附近,例如,为了允许缓冲后续段,可以基于(例如,从服务器系统106流传输到消费者系统108的)映射来检索第二段。

  在一些实施例中,节目指南引擎416可以被配置为针对存储在不同位置中的相同未标记的内容项的段生成映射。例如,映射可以指示:第一组段(例如,包括至少一个插入点的段)被存储在服务器系统106上,并且第二组段(例如,没有任何插入点的段)被存储在内容提供商系统104上。例如,可以将映射存储在服务器系统数据库422中。在一些实施例中,基于映射,可以将第一组段从服务器系统106流传输到消费者系统108,并且可以从内容提供商系统104流传输第二组段。

  内容处理引擎418可以被配置为将广告拼接在未标记的内容项中。在一些实施例中,内容处理引擎418修改未标记的内容项以将广告数据包括在未标记的内容项的数据中。例如,它可以用一个或更多个广告替换连续的黑色帧组。在其它实施例中,在到达注册的插入点时,内容处理引擎418触发一个或更多个广告的流传输,而不必修改未标记的内容项。

  在一些实施例中,内容处理引擎418计算未标记的内容项的“真实时间”。例如,未标记的内容项可以包括视频内容,以及指示广告的插入点的黑色帧。例如,视频内容的持续时间或“运行时间”可以是22分钟。可以基于任何拼接的广告的运行时间和持续时间来计算真实时间。例如,如果在第一插入点处拼接总共一分钟的两个广告的段,并且在第二插入点处拼接总共一分钟三十秒的三个广告的段,则真实时间可以是二十四分三十秒。在消费者查看流传输的未标记的内容项和/或广告的同时,真实时间可以反映在提供给消费者的状态指示符(例如,滚动条)中。

  在一些实施例中,可以动态地和/或在发起未标记的内容项的流传输之前计算真实时间。例如,如果在流传输之前接收到广告,则可以类似地在流传输之前计算真实时间。替代性地,如果实时接收广告(例如,在未标记的内容项的流传输期间),则在流传输之前广告的持续时间可能是未知的,并且可以在流传输期间计算真实时间。

  内容传递引擎420可以被配置为提供未标记的内容项和广告以供消费者系统回放。例如,内容传递引擎420可以通过通信网络流传输未标记的内容项和广告。如上所述,在各种实施例中,未标记的内容项可以以段的形式流传输,这可以改善流传输质量和/或性能。例如,第一段可以被流传输,并且在第一段的结尾,或者在第一段的结尾附近,例如,为了允许缓冲后续段,可以流传输第二段。

  图5描绘了根据一些实施例的说明内容传递网络系统100的细节的框图500。如图所示,服务器系统数据库422存储消费者配置文件422a、经处理的内容高速缓存422b和内容映射422c。消费者系统108向消费者接口引擎404提供对未标记项的HTTP请求。消费者接口引擎404从服务器系统数据库422检索对应的配置文件。内容提供商接口引擎408使用RTSP协议从内容提供商系统104中检索所请求的未标记的内容项。插入点检测器引擎304处理未标记的内容项以检测和注册一个或更多个插入点。经处理的未标记的内容项存储在经处理的内容高速缓存422中。内容处理引擎418基于对应的配置文件选择一个或更多个广告,并且广告提供商接口引擎412使用VAST协议从广告提供商系统102检索所选择的广告。服务器系统106可以基于内容映射422c将经处理的未标记的内容项以段的形式流传输到消费者系统108。

  图6描绘了根据一些实施例的说明在流内容(例如,未标记的内容项114)中拼接一个或更多个广告的方法的流程图600。在该流程图和其它流程图中,流程图通过示例的方式示出了步骤序列。应当理解,可以重新组织步骤以用于并行执行,或者如果适用的话重新排序。此外,为了清楚起见,可能已经移除了可能已包括的一些步骤以避免提供太多信息,并且可以移除包括的一些步骤,但是为了说明清楚起见可能已经包括的一些步骤。

  在步骤602中,消费者系统108将消费者配置文件信息提供给服务器系统106。例如,服务器系统106可以响应于账户注册请求获得该信息。在一些实施例中,消费者系统108的客户端系统122通过通信网络110发送消费者配置文件信息,并且服务器系统106的消费者接口引擎404通过通信网络110接收消费者配置文件信息。配置文件信息可以是从其它手段(例如,从社交网络、从监控用户内容选择、从内容提供商(例如,Netflix)、从搜索公司(例如,Google)等)获得。

  在步骤604中,消费者系统108将对内容列表的请求发送到服务器系统106。在一些实施例中,服务器系统106的节目指南引擎416接收该请求。

  在步骤606中,服务器系统106将对内容列表的请求发送到内容提供商系统104。在一些实施例中,内容提供商接口引擎408发送该请求。

  在步骤608中,内容系统104将内容列表发送到服务器系统106。在一些实施例中,服务器系统106的内容提供商接口引擎408接收内容列表。

  在步骤610中,服务器系统106将内容列表发送到内容提供商系统104。内容提供商系统104将内容列表展示给消费者。在一些实施例中,客户端系统122接收并显示内容列表。

  在步骤612中,消费者系统108发送对回放所选择的未标记的内容项的请求。在一些实施例中,客户端系统122提交该请求。

  在步骤614中,服务器系统106向广告提供商系统102发送请求,用于将一个或更多个广告拼接到未标记的内容项中。在一些实施例中,广告提供商接口引擎412发出该请求。在一些实施例中,该请求基于消费者系统108的一个或更多个属性。

  在步骤616中,广告提供商系统102将一个或更多个广告提供给服务器系统106。在一些实施例中,广告接口引擎412接收一个或更多个广告。

  在步骤618中,服务器系统106向内容提供商系统104发送对所选择的未标记的内容项的请求。在一些实施例中,内容提供商接口引擎408发出该请求。

  在步骤620中,内容提供商系统104将所选择的未标记的内容项提供给服务器系统106。在一些实施例中,内容提供商系统104下载未标记的内容项,并且内容提供商接口引擎408接收该下载。在一些实施例中,内容提供商系统104提供整个内容。在一些实施例中,内容提供商系统104仅提供先前未下载到服务器系统106的内容。在一些实施例中,内容提供商系统104以段的形式提供内容。

  在步骤622中,服务器系统106处理未标记的内容项并自动识别一个或更多个插入点。在一些实施例中,内容处理引擎418执行识别。服务器系统106还将一个或更多个广告拼接在检测到的插入点中。在一些实施例中,内容处理引擎418执行该拼接。

  在步骤624中,服务器系统106将拼接的内容发送到消费者系统108。在一些实施例中,服务器系统106可以在插入点处将广告插入到内容中并流传输拼接的内容。在一些实施例中,服务器系统106可以将未标记的内容项流传输到消费者系统108,直到到达插入点。一旦到达插入点,服务器系统106可以暂停未标记的内容项的流传输,并且服务器系统106可以流传输一个或更多个广告。在完成广告之后,服务器系统106可以恢复流传输未标记的内容项。服务器系统106可以针对每个插入点重复。在一些实施例中,服务器系统106的内容传递引擎420提供拼接的内容。

  图7描绘了根据一些实施例的说明用于在流内容中拼接一个或更多个广告的服务器系统106的操作方法的流程图700。

  在步骤702中,广告接口引擎404接收一个或更多个广告112,并且控制器引擎402将它们至少临时地(例如,高速缓存的或缓冲的)存储在服务器系统数据存储422中。

  在步骤704中,内容接口引擎408接收未标记的内容项114,并且控制器引擎402至少临时地(例如,高速缓存的或缓冲的)将其存储在服务器系统数据存储422中。未标记的内容项可以包括:支持流的视频,其包括一个或更多个连续的黑色帧组。

  在步骤706中,插入点检测器引擎304基于连续的黑色帧组中的至少一个黑色帧的位置来识别插入点。在一些实施例中,插入点位于流传输到消费者系统的未标记的内容项114的当前回放点的前面。

  在步骤708中,内容处理引擎418在插入点处将一个或更多个广告拼接在未标记的内容项中。在一些实施例中,内容处理引擎418可以将一个或更多个广告添加到未标记的内容,例如,通过用一个或更多个广告的帧替换黑色帧。在其它实施例中,内容处理引擎418不修改未标记的内容项,并在到达插入点时,指导内容传递引擎422在暂停内容回放之后流传输一个或更多个广告。

  在步骤710中,内容传递系统422将未标记的内容项114流传输到消费者系统108,直到到达插入点,并在到达插入点时将一个或更多个广告流传输到消费者系统108。

  图8描绘了根据一些实施例的说明用于在流内容的特定段中拼接一个或更多个广告的服务器系统106的操作方法的流程图800。如上所述,未标记的内容项可以以段的形式流传输。在一些实施例中,未标记的内容项的特定段可以由服务器系统106流传输,并且未标记的内容项的剩余段可以由远程系统(例如,内容提供商系统104)提供。这可以通过要求服务器系统106仅处理和/或流传输未标记的内容项的特定段(例如,具有插入点的段)来帮助减少服务器系统106上的负载。

  在步骤802中,内容处理引擎418识别未标记的内容项的段。例如,节目的22分钟剧集的未标记的内容项可以具有25个段。在一些实施例中,未标记的内容项的一个或更多个特定段包括至少一个插入点(例如,通过一组一个或更多个连续的黑色帧来识别),并且其余段仅包括没有任何插入点的视频内容。例如,前两个段可以不具有任何插入点,第三段可以包括一个插入点,等等。

  在一些实施例中,插入点可以完全包括在单个段中,或者可以分布在多个段上。例如,连续的黑色帧组可以包括在特定段内或在两个段之间(例如,在段3和段4之间)。

  在一些实施例中,服务器系统106识别具有插入点的离线段(offline segment),例如,作为批量识别过程的一部分。例如,内容提供商系统104可以维护未标记的内容项的库。相应地,在一些实施例中,服务器系统106可以在消费者系统108请求所选择的未标记的内容项的流之前识别具有插入点的段。

  在步骤804中,节目指南引擎416为未标记的内容项生成内容映射。在一些实施例中,内容映射包括表或其它结构,其指示播放器将从其获得段的未标记的内容项的每个段的位置。例如,没有插入点的段可以存储在内容提供商系统104上并由播放器使用识别内容提供商系统104上的位置的URL来检索,并且具有插入点的段可以存储在服务器系统106上并由播放器使用识别服务器系统106上的位置的URL来检索。

  在步骤806中,控制器引擎402将内容映射存储在服务器系统数据存储422中。在各种实施例中,可以将内容映射中的一些或全部提供给消费者系统108以便于选择和回放未标记的内容项。例如,在选择用于流传输的未标记的内容项之后,服务器系统106可以将用于未标记的内容项的每个段的URL提供给消费者系统108。然后,消费者系统108可以通过顺序地导航到各个URL来回放未标记的内容项。

  在步骤808中,内容管理器引擎410存储具有插入点的至少一部分的未标记的内容项的特定段。例如,对于包括25个段的未标记的内容项,其中段1-3、5-9、12-18、20-21和25不包括插入点的至少一部分,以及段4、10、11、19和22-24每个包括插入点的至少一部分,服务器系统106可以存储段4、10、11、19和22-24。

  在步骤810中,内容处理引擎418在一个或更多个插入点处将一个或更多个广告拼接在特定段中。继续上面的示例,服务器系统106可以将广告拼接在25-段未标记的内容项的段4、10、11、19和22-24中。在一些实施例中,服务器系统106可以例如通过用一个或更多个广告的帧替换黑色帧来在特定段内附加一个或更多个广告。在其它实施例中,服务器系统106不修改特定段,并在到达插入点时,在暂停内容回放之后流传输一个或更多个广告。相应地,应当理解,在一些实施例中,“拼接的内容”可以包括不必修改的内容项,或者已经修改的内容项。

  在步骤812中,内容提供商系统104提供没有插入点的段,并且服务器系统106将拼接的段提供给消费者系统108。继续上面的示例,内容提供商系统104可以将其段1-3、5-9、12-18、20-21和25流传输到消费者系统108。服务器系统106可以将段4、10、11、10和22-24流传输到消费者系统108。服务器系统106可以在其特定段回放期间在确定的传递时间提供广告。在一些实施例中,内容传递处理引擎420提供拼接的段。

  图9描绘了根据一些实施例的说明内容传递网络系统100的细节的框图900。如图所示,内容提供商数据库104a存储未标记的内容项114。插入点检测器引擎304检测未标记的内容项114中的一个或更多个插入点(例如,如由连续的黑色帧组指示的)。管理员应用程序(admin app)902可以验证插入点和/或修改插入点。例如,管理员应用程序902可以用单个插入点替换顺序的插入点。可选的视频切片器引擎(video slicer engine)904可以基于具有至少一个插入点的段对未标记的内容项114进行切片,并且可以在没有任何插入点的情况下对段进行切片。在一些实施例中,未标记的内容项114可以被预先切片(例如,由内容提供商系统104)。服务器系统数据库422存储具有至少一个插入点的切片(或“段”)906,并生成存储在服务器系统数据库422中的映射422c。例如,映射422c可以包括M3U8格式。映射422c可以包括用于未标记的内容项114的每个段的位置。消费者系统108例如,使用HTTPS协议经由消费者接口引擎404从服务器系统106请求未标记的内容项114(或“视频”)。播放列表创建器908基于存储在服务器系统数据存储422中的内容映射422c,生成包括具有插入点的段和没有插入点的段的播放列表。广告提供商接口引擎412使用VAST协议从广告服务器102收集广告112。播放列表可以通过消费者接口引擎404被提供给消费者系统108,并且消费者系统108可以执行播放列表或播放列表的部分,以从服务器系统106流传输具有广告的段906,以及从内容提供商数据库104a流传输没有任何广告的段114。内容处理引擎418可以在将一个或更多个段流传输到消费者系统108期间拼接广告。

  图10描绘了根据一些实施例的说明在流内容中拼接一个或更多个广告的方法的流程图1000。

  在步骤1002中,内容提供商系统104将未标记的内容项提供给服务器系统106。在一些实施例中,服务器系统106的内容提供商接口引擎404接收未标记的内容项,以及内容管理器引擎410将未标记的内容项至少临时地(例如,高速缓存的)存储在服务器系统数据存储422中。

  在步骤1004中,服务器系统106检测未标记的内容项中的至少一个插入点。在一些实施例中,插入点检测器引擎304基于一个或更多个连续的黑色帧组来检测插入点。

  在步骤1006中,服务器系统106将具有插入点的段存储在数据库422中。在步骤108中,服务器系统106生成指示用于每个段的位置的内容映射。例如,内容映射可以包括一组URL,该组URL指向用于具有插入点的段的服务器系统106,并且指向用于没有任何插入点的段的内容提供商系统104。在一些实施例中,节目指南引擎416生成内容映射。

  在步骤1010中,服务器系统106将内容映射存储在服务器系统数据存储422中。在一些实施例中,控制器引擎402将内容映射存储在服务器系统数据存储422中。

  在步骤1012中,消费者系统108向服务器系统106提供请求以浏览未标记的内容项,例如未标记的内容项的列表或其它结构。在一些实施例中,服务器系统106的消费者接口引擎404从消费者系统108接收请求。

  在步骤1014中,服务器系统106向数据库422提供对未标记的内容项列表的请求。在步骤1016中,数据库422将列表提供给服务器系统106。在步骤1018中,服务器系统106将列表提供给消费者系统108。在一些实施例中,内容管理器引擎410提供对列表的请求并接收对列表的请求,以及消费者接口引擎404将列表提供给消费者系统108。

  在步骤1020中,消费者系统108向服务器系统106提供请求以流传输未标记的内容项。在一些实施例中,消费者接口引擎404接收该请求。

  在步骤1022中,服务器系统106向数据库422提供对与未标记的内容项对应的内容映射的请求。在一些实施例中,内容管理器引擎410提供该请求。

  在步骤1024中,数据库422将内容映射提供给服务器系统108。在步骤1026中,服务器系统106基于内容映射和广告生成播放列表。在一些实施例中,节目指南引擎416生成播放列表。在其它实施例中,播放列表创建器引擎908生成播放列表。

  在步骤1028中,服务器系统106将播放列表提供给消费者系统108。在一些实施例中,消费者接口引擎404提供播放列表。

  在步骤1030中,消费者系统108向内容提供商系统104提供对没有任何插入点的一个或更多个段的请求。该请求可以基于播放列表。例如,该请求可以包括指向内容提供商系统104的位置的URL。在步骤1032中,内容提供商系统104将所请求的段提供给消费者系统108,并且消费者系统108呈现(render)这些段。

  在步骤1034中,消费者系统108向服务器系统106提供对于每个具有至少一个插入点的一个或更多个段的请求。该请求可以基于播放列表。例如,该请求可以包括指向服务器系统106的位置的URL。在步骤1036中,服务器系统106将请求提供给数据库422。

  在步骤1038中,服务器系统106向广告服务器102提供对一个或更多个广告的请求。在一些实施例中,广告提供商接口引擎412提供该请求。在步骤1040中,广告服务器102将广告提供给服务器106。在一些实施例中,广告提供商接口引擎412接收广告。

  在一些实施例中,服务器系统106在请求段(例如,在步骤1034中)之前请求广告。例如,服务器系统106可以在内容流传输之前高速缓存从广告提供商系统102接收的广告。

  在步骤1042中,数据库422向服务器系统106提供具有插入点的段。在步骤1044中,服务器系统106将广告拼接在未标记的内容项中。在一些实施例中,内容处理引擎418拼接广告。

  在步骤1046中,服务器系统106将所请求的段与拼接的广告一起提供给消费者系统108,并且消费者系统108呈现这些段。可以以各种顺序重复步骤1030-1046,直到终止未标记的内容项的流传输(例如,在到达未标记的内容项的结尾时,响应于消费者输入,等等)。

  图11描绘了根据一些实施例的说明计算设备1102的细节的框图1100。广告提供商系统102、内容提供商系统104、服务器系统106、消费者系统108和通信网络110中的任何一个可以包括数字设备1102的实例。数字设备1102包括通信地耦合到通信信道1116的处理器1104、存储器1106、存储装置1108、输入设备1110、通信网络接口1112和输出设备1114。处理器1104被配置为执行可执行指令(例如,程序)。在一些实施例中,处理器1104包括能够处理可执行指令的电路或任何处理器。

  存储器1106存储数据。存储器1106的一些示例包括存储设备,诸如RAM、ROM、RAM高速缓存、虚拟存储器等。在各种实施例中,工作数据被存储在存储器1106内。存储器1106内的数据可被清除或最终转移到存储装置1108。

  存储器1108包括被配置为检索和存储数据的任何存储装置。存储装置1108的一些示例包括闪存驱动器、硬盘驱动器、光盘驱动器和/或磁带。存储器系统1106和存储装置系统1108中的每一个包括计算机可读介质,其存储可由处理器1104执行的指令或程序。

  输入设备1110是输入数据的任何设备(例如,鼠标和键盘)。输出设备1114输出数据(例如,扬声器或显示器)。应当理解,存储装置1108、输入设备1110和输出设备1114可以是可选的。例如,路由器/交换机可以包括处理器1104和存储器1106以及用于接收和输出数据的设备(例如,通信网络接口1112和/或输出设备1114)。

  通信网络接口1112可以经由链路1118耦合到网络(例如,网络110)。通信网络接口1112可以支持通过以太网连接、串行连接、并行连接和/或ATA连接进行的通信。通信网络接口1112还可以支持无线通信(例如,1102.11a/b/g/n、WiMax、LTE、WiFi)。显然,通信网络接口1112可以支持许多有线和无线标准。

  应当理解,数字设备1102的硬件元件不限于图11中所描绘的那些。数字设备1102可以包括比所描绘那些更多或更少的硬件、软件和/或固件组件(例如,驱动器、操作系统、触摸屏、生物统计分析器等)。此外,硬件元件可以共享功能并且仍然在本文描述的各种实施例内。在一个示例中,编码和/或解码可以由处理器1104和/或位于GPU(即,NVidia)上的协处理器执行。

  应当理解,“引擎”、“系统”、“数据存储”和/或“数据库”可以包括软件、硬件、固件和/或电路。在一个示例中,包括能够由处理器执行的指令的一个或更多个软件程序可以执行本文描述的引擎、数据存储、数据库或系统的一个或更多个功能。在另一个示例中,电路可以执行相同或类似的功能。替代实施例可以包括更多、更少或功能上等同的引擎、系统、数据存储或数据库,并且仍然在本实施例的范围内。例如,各种系统、引擎、数据存储和/或数据库的功能可以被不同地组合或划分。

  图12描绘了根据一些实施例的说明动态拼接一个或更多个广告的方法的流程图。

  在步骤1202中,内容提供商系统104将未标记的内容项提供给服务器系统106。在一些实施例中,内容提供商接口引擎404接收未标记的内容项,并且内容管理器引擎410将未标记的内容项至少临时地(例如,高速缓存)存储在服务器系统数据存储422中。

  在步骤1204中,服务器系统106检测未标记的内容项中的至少一个插入点。在各种实施例中,插入点检测器引擎304基于一个或更多个连续的黑色帧组来检测至少一个插入点。

  在一些实施例中,基于一个或更多个连续的黑色帧组,可以将具有一个或更多个连续的黑色帧组的未标记的内容项的每个段逻辑地划分为内容的一个或更多个部分。例如,段的第一部分可以包括从开始部分(例如,段的第一帧)直到第一连续的黑色帧组的内容部分,并且段的第二部分可以包括在第一组黑色帧之后直到结尾部分(例如,段的最后帧)或第二组连续的黑色帧的内容部分。一个段可以具有任意数量的连续的黑色帧组,并且每个连续的黑色帧组可以与相应的第一部分和相应的第二部分相关联。

  在步骤1206中,服务器系统106从包括至少一个插入点的未标记的内容项的段中移除一个或更多个连续的黑色帧组。例如,服务器系统106可以修改特定段以移除特定的连续的黑色帧组,使得围绕对应插入点的内容部分变得连续,而在连续的内容部分之间没有任何中间帧((intervening frame)例如,黑色帧、空帧等)。在一些实施例中,服务器系统106用指示至少一个插入点的一个或更多个标签或元数据替换所移除的一个或更多个连续的黑色帧组。

  在步骤1208中,服务器系统106存储具有插入点的段(例如,经修改的段,其已经被移除了(一个或更多个)连续的黑色帧的组)。在一些实施例中,服务器系统106将具有插入点的段存储在数据库422中。

  在步骤1210中,服务器系统106生成指示用于每个段的位置(例如,流源位置)的内容映射。例如,内容映射可以包括第一组URI(例如,URL),其指向用于具有插入点的段的服务器系统106,以及包括第二组URI,其指向用于没有任何插入点的段的内容提供商系统104。在一些实施例中,内容映射指示被选择的一个或更多个广告提供商系统102提供与流传输包括插入点的段相关联的广告。例如,内容映射可以包括指向广告提供商系统102的第三组URI。在一些实施例中,节目指南引擎416生成内容映射。

  在步骤1212中,服务器系统106存储内容映射。在一些实施例中,控制器引擎402将内容映射存储在数据库422中。

  在步骤1214中,消费者系统108向服务器系统106提供请求以浏览未标记的内容项,例如未标记的内容项的列表或其它结构。在一些实施例中,消费者接口引擎404从消费者系统108接收请求。

  在步骤1216中,服务器系统106向数据库422提供对未标记的内容项的列表或其它合适结构的请求。在步骤1218中,数据库422将列表提供给服务器系统106。在步骤1220中,服务器系统106将列表提供给消费者系统108。在一些实施例中,内容管理器引擎410提供对列表的请求并接收对列表的请求,以及消费者接口引擎404将列表提供给消费者系统108。尽管本文描述了列表,但是可以使用其它结构来代替列表或者可以使用除了列表之外的其它结构。

  在步骤1222中,消费者系统108向服务器系统106提供请求以流传输未标记的内容项。在一些实施例中,消费者接口引擎404接收该请求。

  在步骤1224中,服务器系统106向数据库422提供对与未标记的内容项对应的内容映射的请求。在一些实施例中,内容管理器引擎410提供该请求。在步骤1226中,数据库422将内容映射提供给服务器系统108。

  在步骤1228中,服务器系统106向广告提供商系统102提供广告提供商请求。例如,广告提供商请求可以包括VAST请求。广告提供商请求可以包括对广告提供商系统102的位置(例如,URL或其它URI)和/或与其相关联的一个或更多个支持流的广告的请求。在一些实施例中,广告提供商接口引擎422提供广告提供商请求。

  在步骤1230中,广告提供商系统102基于广告提供商请求向服务器系统106提供广告提供商响应。例如,广告提供商响应可以包括VAST响应。广告提供商响应可以包括所请求的广告提供商系统102的位置和/或与其相关联的一个或更多个支持流的广告。在一些实施例中,广告提供商接口引擎412接收广告提供商响应。

  在步骤1232中,服务器系统106基于内容映射和广告提供商响应来生成或更新播放列表。在一些实施例中,播放列表可以包括位置,可以从这些位置流传输未标记的内容项的段和一个或更多个广告。例如,播放列表可以包括:指向用于包括插入点的段的服务器系统106的位置、指向用于没有插入点的段的内容提供商系统104的位置以及指向用于广告的广告提供者系统102的位置,在到达插入点时这些广告结合对未标记的内容项的对应片段的回放被流传输。在一些实施例中,节目指南引擎416生成播放列表。在其它实施例中,播放列表创建器引擎908生成播放列表。

  在步骤1234中,服务器系统106将播放列表提供给消费者系统108。在一些实施例中,消费者接口引擎404提供播放列表。

  在步骤1236中,消费者系统108基于播放列表向内容提供商系统104提供对没有任何插入点的一个或更多个段的请求。例如,该请求可以包括指向内容提供商系统104的位置的URL。在步骤1238中,内容提供商系统104向消费者系统108提供所请求的一个或更多个段,以及消费者系统108呈现一个或更多段。

  在步骤1240中,消费者系统108向服务器系统106提供对每个具有至少一个插入点的一个或更多个段的请求。该请求可以基于播放列表。例如,该请求可以包括指向服务器系统106的位置的URL。在步骤1242中,服务器系统106向数据库422提供请求。在步骤1244中,数据库422向服务器系统106提供具有至少一个插入点的所请求的一个或更多个段。

  在步骤1246中,服务器系统106将具有至少一个插入点的一个或更多个段的特定段的第一部分提供给消费者系统108,以及该消费者系统108呈现特定段的第一部分。例如,服务器系统106可以基于播放列表选择并提供第一部分。在一些实施例中,消费者接口引擎408将特定段的第一部分提供给消费者系统108。

  在步骤1248中,消费者系统106基于播放列表向广告服务器102提供对一个或更多个广告的请求。例如,该请求可以包括在完成具有移除的黑色帧的段的第一部分之后要流传输的一个或更多个支持流的广告的位置。

  在步骤1250中,广告提供商系统102响应于对一个或更多个广告的请求将一个或更多个广告提供给消费者系统108,并且消费者系统108呈现一个或更多个广告。在一些实施例中,一个或更多个广告直接从广告提供商系统102被提供给消费者系统108(例如,不需要来自服务器系统106的路由或其它帮助)。

  在步骤1252中,服务器系统106将具有至少一个插入点的一个或更多个段的特定段的第二部分提供给消费者系统108,并且该消费者系统108呈现特定段的第二部分。例如,服务器系统106可以基于播放列表选择并提供第二部分。在一些实施例中,消费者接口引擎408将特定段的第二部分提供给消费者系统108。

  可以以各种顺序重复步骤1236-1252中的一些或全部,直到终止未标记的内容项的流传输(例如,在到达未标记的内容项和/或播放列表的结尾时、响应于消费者输入,等等)。

  尽管方法1200描述了从内容提供商系统104、服务器系统106和广告提供商系统108流传输到消费者系统108,但是应当理解,各种实施例可以包括提供代替内容提供商系统104、服务器系统106和广告提供商系统108或除了内容提供商系统104、服务器系统106和广告提供商系统108之外的一个或更多个其它流源的系统和方法。例如,其它流源可以包括元数据流源、附加内容提供商和/或内容浏览源(例如,Uplynk)等。因此,应当理解,各种实施例可以包括任何数量的流源,并且消费者系统102可以从任何数量的流源接收流。

  以上参考示例实施例描述了(一个或更多个)本发明。对于本领域技术人员明显的是,在不脱离(一个或更多个)本发明的更宽范围的情况下,可以进行各种修改并且可以使用其它实施例。因此,(一个或更多个)本发明旨在涵盖示例实施例的这些和其它变型。

《用于在流内容中拼接广告的系统和方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)