首页 / 专利库 / 多媒体工具与应用 / 媒体流 / 基于获得新内容的预期延时的用于内容修订的提前准备

基于获得新内容的预期延时的用于内容修订的提前准备

阅读:332发布:2020-05-08

专利汇可以提供基于获得新内容的预期延时的用于内容修订的提前准备专利检索,专利查询,专利分析的服务。并且在媒体客户端正在接收 媒体流 时,所述媒体客户端确定所述媒体客户端要执行涉及新内容的插入(例如,替换或 覆盖 )的内容修订的即将到来的时间点。当所述媒体客户端应起始获取所述新内容的过程时,所述媒体客户端进一步确定提前时间点,在所述即将到来的内容修订时间点之前充分地设置所述提前时间点,以使所述媒体客户端能够至少获得足够的新内容以能够及时开始所述内容修订。在实例实施方案中,所述媒体客户端可基于对内容获取的过去例子的考虑,通过预测所述内容获取过程将花费多长时间来确定所述提前时间点,这可能与例如内容源、处理器负载、 存储器 负载、网络速度和当日时间等操作因素相关。,下面是基于获得新内容的预期延时的用于内容修订的提前准备专利的具体信息内容。

1.一种方法,其包括:
确定媒体流中即将出现的时间点,在所述时间点,媒体客户端将执行涉及插入新内容的内容修订;
调度所述媒体客户端应起始获取所述新内容的过程以促进在所述即将到来的时间点执行所述内容修订的提前时间点,其中调度所述提前时间点包括确定内容获取持续时间,以及将所述提前时间点设置为至少在所述即将到来的时间点之前的所述经确定的内容获取持续时间;
在所述提前时间点,由所述媒体客户端起始获取所述新内容的所述过程;以及在所述即将到来的时间点,由所述媒体客户端使用所述获取的新内容执行所述内容修订。
2.根据权利要求1所述的方法,其中确定所述内容获取持续时间包括基于内容获取持续时间的过去例子来预测所述内容获取持续时间。
3.根据权利要求2所述的方法,其进一步包括追踪内容获取持续时间以促进所述预测。
4.根据权利要求2所述的方法,其中基于内容获取持续时间的过去例子来预测所述内容获取持续时间包括:
确定与获取所述新内容相关的至少一个操作因素的状态;
基于与所述经确定状态相关的内容获取持续时间的过去例子来预测所述内容获取持续时间。
5.根据权利要求4所述的方法,其中所述至少一个操作因素包括从由内容源、处理器负载、存储器负载、网络速度和当日时间构成的组选择的至少一个因素。
6.根据权利要求2所述的方法,其中确定所述内容获取持续时间进一步包括添加安全时间段到所述经预测的内容获取持续时间。
7.根据权利要求1所述的方法,其中所述内容获取持续时间被静态地定义。
8.根据权利要求1所述的方法,在所述媒体客户端正在接收线性广播馈送中的所述媒体流时执行所述方法。
9.根据权利要求8所述的方法,其中所述内容修订包括广告替换。
10.根据权利要求1所述的方法,在所述媒体客户端正在播放所述媒体流时执行所述方法。
11.一种媒体客户端,其包括:
处理单元;
非暂时性数据存储器;以及
程序指令,其存储在所述非暂时性数据存储器中且可由所述处理单元执行以使所述媒体客户端执行操作,所述操作包含:
确定媒体流中即将出现的时间点,在所述时间点,所述媒体客户端将执行涉及插入新内容的内容修订,
设置所述媒体客户端应起始获取所述新内容的过程以促进在所述即将到来的时间点执行所述内容修订的提前时间点,其中设置所述提前时间点包括确定内容获取持续时间,以及将所述提前时间点设置为至少在所述即将到来的时间点之前的所述经确定的内容获取持续时间,
在所述提前时间点,起始获取所述新内容的所述过程,以及
在所述即将到来的时间点,使用所述获取的新内容执行所述内容修订。
12.根据权利要求11所述的媒体客户端,其中确定所述内容获取持续时间包括基于内容获取持续时间的过去例子来预测所述内容获取持续时间。
13.根据权利要求12所述的媒体客户端,其中所述操作进一步包括追踪内容获取持续时间以促进所述预测。
14.根据权利要求12所述的媒体客户端,其中基于内容获取持续时间的过去例子来预测所述内容获取持续时间包括:
确定与获取所述新内容相关的至少一个操作因素的状态;
基于与所述经确定状态相关的内容获取持续时间的过去例子来预测所述内容获取持续时间。
15.根据权利要求14所述的媒体客户端,其中所述至少一个操作因素包括从由内容源、处理器负载、存储器负载、网络速度和当日时间构成的组选择的至少一个因素。
16.根据权利要求12所述的媒体客户端,其中确定所述内容获取持续时间进一步包括添加安全时间段到所述经预测的内容获取持续时间。
17.根据权利要求11所述的媒体客户端,其中所述内容获取持续时间被静态地定义。
18.根据权利要求11所述的媒体客户端,其中在所述媒体客户端正在接收所述媒体流时执行所述操作。
19.根据权利要求11所述的媒体客户端,其中所述内容修订包括广告替换。
20.一种非暂时性计算机可读媒体,其存储可由处理单元执行以执行操作的指令,所述操作包括:
确定由客户端接收的媒体流中即将出现的时间点,在所述时间点,所述客户端将执行涉及插入新内容的内容修订;
设置所述客户端应起始获取所述新内容的过程以促进在所述媒体流中的所述即将到来的时间点执行所述内容修订的提前时间点,其中设置所述提前时间点包括确定内容获取持续时间,以及将所述提前时间点设置为至少在所述即将到来的时间点之前的所述经确定的内容获取持续时间;
在所述提前时间点,使所述客户端起始获取所述新内容的所述过程;以及在所述即将到来的时间点,使所述客户端使用所述获取的新内容执行所述内容修订。

说明书全文

基于获得新内容的预期延时的用于内容修订的提前准备

[0001] 相关申请案的交叉参考
[0002] 本申请案要求2018年10月22日申请的美国专利申请案第16/166,962号和2018年7月19日申请的美国临时专利申请案第62/700,647号的优先权,所述案的每一者的全部内容以引用的方式并入本文。

背景技术

[0003] 典型的媒体客户端用以接收表示例如视频和/或音频内容的媒体内容的模拟或数字媒体流,并输出媒体内容和/或转发流以用于在例如显示屏幕和/或音频扬声器的用户接口上呈现内容。此类客户端的实例包含电视、计算机监视器、投影系统、扬声器、机、机顶盒(例如电缆或卫星TV接收器)、数字视频录像机、无线电、个人计算机、游戏机、流媒体播放器等。
[0004] 例如,媒体客户端可以是电视,其可接收媒体流(例如,空中广播流、从机顶盒输出的媒体流、从数字存储媒体播放的媒体流、因特网流或另一此种流),并且可将所述流的媒体内容呈现给用户。作为另一实例,媒体客户端可以是机顶盒,其可从多频道视频节目分配器接收广播流,并可通过高清晰度多媒体接口(HDMI)电缆或其它接口输出所述流的媒体内容到电视和/或音频/视频接收器进行播放。作为另一实例,媒体客户端可以是数字视频或音频记录器,其同样可以接收广播流,但可存储流用于稍后播放。且作为又一实例,媒体客户端可以是扬声器或耳机,其可从无线电、计算机或其它接收器或音频存储设备接收音频流,并且可以将所述流的音频内容呈现给用户。许多其它实例也是可能的。发明内容
[0005] 当媒体客户端接收媒体流时,在某些情况下,客户端修订流的媒体内容的部分可能是有用的。例如,所述客户端可有用地用替换广告或其它替换内容动态地替换广告或所述媒体内容的其它片段,使得当所述内容向用户播放时,所述用户将接收所述替代广告而不是原来包含的广告。作为另一实例,所述客户端可有用地用覆盖或分屏内容动态地补充所述媒体内容的部分,所述覆盖或分屏内容例如频道标识、环境信息、广告内容等,使得当所述内容正被播放给用户时,所述用户将与原始包含的内容一起接收所述补充内容。
[0006] 此外,所述客户端可能希望在所述媒体流内在特定时间点执行此内容修订。例如,如果所述客户端要用替换广告动态地替换现有广告,那么所述客户端可能希望在所述现有广告本应已经开始时在所述媒体流中的某一时间放置所述替换广告。同样,如果所述客户端要用与所述媒体内容的特定部分相关的覆盖来补充所述部分,那么所述客户端可能希望在所述部分开始时开始所述覆盖。其它实例也是可能的。
[0007] 更具体来说,所讨论的所述媒体流可定义序列,例如视频帧和/或音频帧,并且可能希望所述客户端基于帧的精确度来执行所述内容修订。例如,对于广告替换,客户端可能希望在所述现有广告的第一帧上精确地开始插入所述替换广告来替换的现有广告。并且为了向所述媒体流的特定部分添加覆盖,所述客户端可能希望在所述媒体流的所述部分的所述第一帧处或与所述第一帧特定关系处开始所述覆盖。
[0008] 为了促进使所述客户端执行此内容修订,所述客户端可需要获得新的内容,例如新的流,所述客户端应当在所需的内容修订时间点插入(例如,替换或覆盖)所述新内容。实际上,所述客户端可预先提供或动态地提供有指向所述新内容的指针,例如地址或其它标识符,所述指针使所述客户端能够获取所述新内容。例如,所述客户端可提供有通用资源定位器(URL),所述通用资源定位器(URL)定义或关联流媒体服务器、文件服务器等的网络地址,所述客户端可以从所述网络地址请求和接收所述新内容。或者,所述客户端可以另一种方式学习所述客户端在何处获得所述新内容和/或如何获得所述新内容,使得所述客户端可在所述媒体流中的所述指定时间点执行所述内容修订。
[0009] 但是,不幸的是,在此过程中可能出现的问题是,所述客户端可需要一段时间获得所述客户端执行所述内容修订所需的所述新内容,而这种延时可导致执行所述内容修订的时间问题,且因此导致用户体验问题。
[0010] 例如,如果所述客户端将通过例如因特网的内容传送网络从流媒体服务器获得所述新内容,那么所述客户端可能需要首先与所述流媒体服务器进行消息传递,以建立实时媒体会话,所述服务器通过所述实时媒体会话将所述新内容流体传输到所述客户端,且所述客户端可能需要等待一段时间开始所述流传输,并等待所述客户端缓冲所述传入的新媒体内容,然后所述客户端才能够开始使用所述新媒体内容来执行所述内容修订。这些步骤和其它此类步骤将推迟所述客户端获取所述新内容的时间。此外,如果所述客户端将从文件服务器或以其它方式获得新内容,那么可能会出现类似的延迟。
[0011] 为了帮助解决此问题,本发明规定,所述客户端将在所述内容修订开始之前足够早地开始获取所述新内容的过程,以帮助确保所述客户端将有足够的新内容以及时开始所述内容修订。此外,本发明规定,所述客户端可动态地确定提前多久开始此过程,其中提前持续时间基于所述客户端历来需要多长时间来获取新内容,这可能与例如内容源、处理器负载、存储器负载、网络延时和/或当日时间等各种操作因素相关。
[0012] 例如,根据本发明,所述客户端可在媒体流中确定即将到来的时间点,在此时间点,所述客户端将执行涉及新内容的替换或覆盖的内容修订(例如,开始执行内容修订)。此外,所述客户端可确定所述客户端应起始获取所述新内容的过程以促进在所述即将到来的时间点执行所述内容修订的提前时间点。例如,所述客户端可基于可能与一或多个操作参数相关的内容获取持续时间的过去历史确定内容获取持续时间,且所述客户端可应用所述经确定的内容获取持续时间,例如通过从所述即将到来的时间点减去它,来确定所述提前时间点。在所述提前时间点,所述客户端可接着起始获取所述新内容的过程。且在所述即将到来的时间点,所述客户端可执行所述内容修订。
[0013] 所属领域的技术人员将通过阅读下面的具体实施方式,并且酌情参考附图了解这些以及其它方面、优势和替代方案。此外,应当理解,发明内容和下文所提供的描述只是通过实例的方式说明本发明而非限制。

附图说明

[0014] 图1是其中可实施所公开的特征的系统的简化框图
[0015] 图2是描绘内容修订时间点和用于起始内容获取的提前时间点的时间线
[0016] 图3是描绘可根据本发明执行的操作的流程图
[0017] 图4是描绘可根据本发明操作的媒体客户端的组件的简化框图。

具体实施方式

[0018] 参考附图,图1是其中可应用各种所公开的原理的实例系统的简化框图。但是,将理解,本文描述的此配置和过程以及其它配置和过程可采用各种其它形式。例如,元件和操作可重新排序、分布、复制、组合、省略、添加或以其它方式修改。此外,应理解,本文描述为由一或多个实体执行的操作可通过硬件固件和/或软件由和/或代表所述实体来实施,例如由执行程序指令等的一或多个处理单元来实施。
[0019] 如图1所示,实例系统包括经配置以从媒体源14实时接收媒体流的媒体客户端12。
[0020] 媒体客户端12可经配置以如上文描述一般用以从媒体源14接收表示例如视频和/或音频内容的媒体内容的模拟或数字媒体流,并输出媒体内容和/或转发流以用于在例如显示屏幕和/或音频扬声器的用户接口上呈现内容。媒体客户端可采取上述任何形式,以及其它可能性。
[0021] 媒体源14也可采取各种形式,这可能取决于媒体客户端12的形式。例如,如果媒体客户端12是电视,那么媒体源14可以是本地机顶盒(例如,电缆或卫星接收器)或流媒体服务器,其经配置以输出选定的媒体流供电视呈现,或媒体源14可以是广播电视台等,以及其它可能性。且如果媒体客户端是计算机,那么媒体源可包括因特网流媒体服务器或其它媒体提供商。或者,媒体源14可以是与媒体客户端12集成和/或可由其在本地存取的数据存储器,其中媒体客户端从数据存储器接收(例如,检索)媒体流以供播放,例如当客户端正在播放媒体流或转发媒体流进行播放时。其它实例也是可能的。
[0022] 如图1中进一步展示,媒体客户端12可具有与网络(例如因特网或专用网络)16的通信接口,媒体客户端可通过所述网络与一或多个服务器18进行通信。服务器18可包含文件服务器、媒体服务器和/或其它类型的内容服务器等。此外,虽然媒体源14展示为与服务器18分开,但媒体源14可替代地包含一或多个服务器18或与一或多个服务器18集成,并且可通过网络16存取。
[0023] 如上文所述,当媒体客户端(例如客户端12)正在接收媒体流时,客户端可有用地修订流内容的部分,例如替换或补充流内容的部分。此外,如上文所述,客户端可能希望在媒体流内的特定时间点执行此内容修订。例如,如果所述媒体流定义帧序列,例如,视频帧和/或音频帧,那么客户端可能希望执行在序列的特定帧开始的修订。
[0024] 实际上,客户端可以各种方式了解媒体流中的特定时间点,客户端应在其中执行内容修订。
[0025] 例如,客户端可经提供有一组数据或与媒体流一起或结合媒体流接收一组数据,所述数据识别媒体流内的每个帧或对媒体流内的每个帧加时间戳(例如,嵌入在媒体流中的时间戳或通过流内信令以其它方式提供的时间戳)以及指定要开始内容修订的帧的标识或时间戳的数据。基于所述数据,客户端可因此确定媒体流中要开始内容修订的特定时间点。
[0026] 或者,当客户端接收媒体流(例如,当客户端播放媒体流)时,客户端可与网络服务器一起工作,以了解媒体流中要开始内容修订的点。例如,服务器可首先识别由客户端接收的媒体流。且在识别媒体流之后,服务器可接着确定媒体流中的特定时间点,其中客户端应执行内容修订,且服务器可将所述确定的时间点通知给客户端。
[0027] 为了促进服务器识别由客户端接收的媒体流,客户端(或者可能是辅助装置)可在客户端接收媒体流时实时生成表示媒体内容的数字指纹数据,且服务器可将所述指纹数据与表示已知媒体流的媒体内容的参考指纹数据进行比较,其中指纹匹配表明由客户端接收和/或播放的媒体流是已知媒体流。
[0028] 服务器可建立或以其它方式存取表示已知媒体流的参考指纹数据。例如,服务器或相关的观察站或其它实体可接收已知媒体流的广播,且在接收到广播时,可生成表示已知媒体流的帧的参考数字指纹序列。服务器或另一实体可通过编程分析已知媒体流的帧,接收已知媒体流的副本作为输入且应用现在已知或以后开发以生成参考指纹的任何媒体指纹识别过程或算法而建立这些参考指纹。或者服务器可另建立或提供有表示已知媒体流的所述参考指纹序列。服务器可接着存储与已知媒体流的标识相关联的参考指纹。
[0029] 此外,当客户端实时接收媒体流时,客户端可生成表示所述流的帧的查询指纹,且可将查询指纹传输到服务器以进行分析。为了促进指纹比较,客户端可使用应用于建立参考指纹的相同的指纹识别过程或算法来生成这些查询指纹。另外,客户端可以特定的帧率生成查询指纹,且可将指纹分组传输到服务器。例如,对于包括每秒30帧的视频的媒体流,客户端可以约每秒2帧的低帧率生成查询指纹,以帮助节省资源,且客户端可每1.5秒左右向服务器传输最新的查询指纹组。其它实例也是可能的。
[0030] 当服务器从客户端接收查询指纹数据时,服务器可将查询指纹数据与已知媒体流的参考指纹数据进行比较。且如果服务器因此充分自信地确定查询指纹数据与参考指纹数据相匹配,那么服务器可得出由客户端接收的媒体流是已知的媒体流的结论。
[0031] 服务器可逐帧进行指纹比较。例如,考虑视频内容,服务器可逐视频帧地进行分析,将帧的查询指纹与帧的参考指纹进行比较。比较过程可采取各种形式,这取决于指纹的结构。例如,比较可涉及计算指纹之间的最大偏差,和确定最大偏差是否在预定义的公差范围内。此外,如果指纹是二进制的,那么这可以是布尔确定,或可涉及计算汉明距离(作为指纹中各个比特位置之间的失配计数)。且如果指纹是更复杂的值(例如十进制值或向量(例如,每个视频帧区域的灰度值)),那么这可能涉及确定值或向量之间的距离。许多其它实例也是可能的。
[0032] 此外,服务器可以期望的容忍度进行此指纹比较过程。例如,比较可以是粗略的,对指纹之间差异的容忍度相对较高,例如对较大数目的差异的容忍较高和/或对较大尺寸的差异的容忍较高。例如,当将两个32位指纹彼此比较时,即使两个或另一个指定数量的位不匹配,粗略比较也可认为指纹彼此是大体匹配的。或比较可以是更精细的,对此类差异的容忍度较低,和/或将聚焦于可能表示底层媒体的特定部分的特定指纹组分上进行比较。
[0033] 通过将客户端生成的查询指纹与已知媒体流的参考指纹进行比较,服务器可借此找到一或多个匹配。例如,服务器可找到一或多个实例,其中客户端接收到的媒体流的帧的查询指纹匹配已知媒体流的帧的各个参考指纹。此匹配可因此建立或支持客户端接收的媒体流是已知的媒体流的结论。
[0034] 或者,服务器可以其它方式识别所讨论的媒体流。例如,如果媒体流含有与媒体流的标识相对应的印数据,那么客户端可读取或另提取水印数据并向服务器报告水印数据。且服务器可接着使用所报告的水印数据作为识别客户端接收的媒体流的基础。例如,服务器可参考将各种水印数据与特定已知媒体流相关的参考数据,以确定由客户端报告的水印数据与特定的已知媒体流相对应。
[0035] 在已经识别客户端接收的媒体流后,服务器可接着确定媒体流中发生内容修订的时间点。例如,服务器可参考指定要开始内容修订的已知媒体流中的时间点的参考数据。且服务器可接着向客户端传输指示所述时间点的指令。
[0036] 服务器的参考数据指定的修订时间点可以客户端可理解的方式来定义。例如,如果客户端提供有沿着在媒体流中定义的“真实时间”时间线对媒体流的每一帧加时间戳的数据,那么服务器具有的修订时间点可能是媒体流的即将到来的帧的真实时间时间戳。因此,服务器可向客户端提供真实时间时间戳作为客户端应执行内容修订的时间的指示。
[0037] 此外,客户端可将所述真实时间时间戳映射到根据客户端内部时钟定义的“客户端时间”,使得客户端可在自身的时钟上确定其应执行内容修订的时间。例如,客户端可(i)计算当前帧的真实时间时间戳与客户端的时钟上的当前时间之间的差,以及(ii)将所确定的差应用于将要发生修订的即将到来的帧的指示的真实时间时间戳,以确定客户端应执行内容修订的客户端时间点。
[0038] 或者,服务器的参考数据指定的修订时间点可以客户端可理解的方式来定义。例如,服务器具有的修订时间点可能是根据已知媒体流中的真实时间时间线定义的时间戳,但客户端可能没有真实时间的背景或视。在所述情况下,服务器可参与在真实时间和客户端时间之间建立映射或“同步”的过程,且服务器接着将发生内容修订的真实世界时间点映射到对应客户端时间点,并将所述客户端时间点提供到客户端。
[0039] 作为此的非限制性实例,考虑定义可在电视广播内出现的广告荚的媒体流。广告荚包括一序列广告,例如电视广告。在此实例中,客户端可以是接收和呈现特定电视频道的线性广播馈送的电视,且广告荚可在所述馈送中的任何时刻出现。例如,特别是对于例如体育赛事之类的直播,广告荚出现在此馈送中的时间可能是不可预测的。或者,广告荚可出现在具体调度时间。
[0040] 在此实例中,期望的修订可以是广告荚内的特定广告的替换(例如,用不同的广告或其它替换内容代替所述广告)。例如,如果广告荚是广告A1、A2、A3、A4的序列,那么期望的修订可以是广告A3的替换。
[0041] 在此情况下,广告荚可定义从时间T=0开始且持续到广告荚结束的真实时间时间线,且广告A3可开始于所述时间线上的时间TA3。但是,客户端可能缺乏所述时间线的环境。客户端可具有其自身的内部时钟,所述内部时钟具有定义客户端时间的时间线(例如,当日时间或其它内部时间参考)。但是,如果事先不知道广告时间线在客户端时间内的位置,仅仅将值TA3作为期望的内容修订时间点无法使客户端在需要时执行广告替换。
[0042] 为了使服务器在所述环境中在真实时间和客户端时间之间建立同步锁,客户端可对客户端发送到服务器的查询指纹加时间戳。具体来说,当客户端接收媒体流并生成查询指纹时,客户端可用当前客户端时间值对每一查询指纹加时间戳。当服务器检测到查询指纹与已知媒体流的加时间戳的参考指纹之间的一或多个匹配时,服务器可接着使用所述匹配点作为将真实时间映射到客户端时间的基础。例如,基于至少一个此检测到的匹配点,服务器可定义(i)匹配参考指纹的真实时间时间戳和(ii)匹配查询指纹的客户端时间戳之间的映射。
[0043] 一旦服务器建立同步锁,服务器就可使用已建立的同步锁将发生内容修订的真实时间时间点转换为发生内容修订的对应客户端时间时间点。且服务器可将所述经确定的客户端时间时间点传输到客户端,以使客户端能够在客户端正在接收的媒体流中的期望时间点执行内容修订。
[0044] 此外,在替代性实施方案中,客户端而不是服务器可执行建立和应用同步锁的过程,以便确定发生内容修订的客户端时间点。
[0045] 例如,一旦服务器已经识别客户端接收的媒体流,服务器就可向客户端传输定义参考指纹的一些参考数据和已知媒体流中即将出现的部分的真实时间时间戳。客户端可接着在查询指纹和参考指纹之间进行指纹匹配,以找到一或多个匹配点,且客户端可通过类似地关联至少一个匹配点的时间戳而在真实时间和客户端时间之间建立同步锁。一旦客户端已经建立同步锁,服务器就可使用同步锁作为将发生内容修订的所提供真实时间时间点转换为发生内容修订的对应客户端时间时间点的基础。
[0046] 除了当客户端应开始内容修订时了解媒体流中的特定时间点外,客户端还可以各种方式了解客户端应该在所述时间点开始执行哪些内容修订。
[0047] 例如,客户端可预先提供有在指定时间点执行的内容修订的规范,例如,客户端应用某些内容来代替媒体流的现有内容和/或向媒体流的现有内容添加覆盖或其它补充内容的指示。或者,客户端可从服务器或另一实体接收要执行的内容修订的规范。例如,当服务器向客户端传输指令,通知客户端其执行内容修订时的媒体流中的时间点时,服务器可以在给客户端的所述指令中包含(或单独地提供)要执行的内容修订的规范。
[0048] 实际上,要执行的内容修订的规范可包括客户端要获得的且要代替媒体流的现有内容或作为媒体流的现有内容的补充而插入的新内容的指针。例如,如上文所述,规范可包括通用资源定位器(URL),所述通用资源定位器(URL)定义或关联流媒体服务器、文件服务器等的网络地址,客户端可以从所述网络地址请求和接收新内容。或者,所述规范可以另一种方式指示客户端在何处获得新内容和/或如何获得新内容,以促进在媒体流中的指定时间点执行内容修订。此外,规范可指示客户端要应用的内容修订的类型,例如内容修订是内容替换、覆盖还是其它。
[0049] 在要开始内容修订的指定时间点,客户端可因此开始内容修订。例如,如果内容修订涉及用新内容替换媒体流的内容,那么客户端可开始用新内容的帧替换现有媒体流的帧。或者,如果内容修订涉及将新内容覆盖到媒体流的现有内容上,那么客户端可开始修改媒体流的帧,使其成为现有内容和新内容的组合。其它实例也是可能的。
[0050] 作为非限制性实例,再次考虑上文论述的广告荚。实际上,服务器可提供有加时间戳的参考指纹,其表示和对应于广告荚的帧。此外,服务器可提供有应替换广告荚中的一个特定广告的指示,和所述广告替换应开始的帧的参考时间戳(例如,在真实时间中)的指示。
[0051] 在客户端接收可含有此广告荚的线性广播馈送持续进行的基础上,或者响应于一或多个其它触发器,客户端可生成广播馈送的时间戳查询指纹,且可将所述时间戳的查询指纹报告给服务器以供分析。将此类查询指纹与表示广告荚序列的帧的参考指纹进行比较,服务器可借此检测到客户端正在接收广告荚序列。
[0052] 在已经确定客户端正在接收广告荚序列后,服务器可接着以例如上文论述的方式将要开始广告替换的帧的真实时间点转换为对应客户端时间点,且可向客户端传输指定客户端时间点的指令,所述指令包含客户端要替换在客户端时间开始的媒体流的帧的替换广告的指针,且指引客户端执行所指示的内容替换。因此,客户端可获得所指示的替换广告,且可用所述广告替换从指示的客户端时间点开始的媒体流的帧。
[0053] 如上文所述,在此过程中可能出现的一个问题是,客户端可需要一段时间获得客户端执行内容修订所需的新内容,而这种延时可导致执行内容修订的时间问题,且因此导致用户体验问题。例如,如上文所述,如果客户端将通过例如因特网的内容传送网络从流媒体服务器获得新内容,那么客户端可能需要首先与流媒体服务器进行消息传递,以建立实时媒体会话,服务器通过所述实时媒体会话将新内容流到客户端,且客户端可能需要等待一段时间开始流传输,并等待客户端缓冲传入的新媒体内容,然后客户端才能够开始使用新媒体内容来执行内容修订。
[0054] 各种因素可能导致此延迟。例如,当客户端的处理器(例如,中央处理单元(CPU))特别繁忙和/或当客户端的存储器或其它数据存储器尤其负载时,可能存在客户端能够请求和/或接收(例如,开始接收)新内容的延迟。此外,当客户端与新内容的服务器或其它来源的网络连接或其它接口经特别负载或数据传输速率缓慢时,客户端接收新内容时可能存在延迟。也可存在其它因素。
[0055] 不幸的是,由于此延迟,客户端可比预期更迟开始内容修订。例如,在广告荚实例中,如果客户端尚未获得足够的替换广告,以便能够在现有广告的第一帧之前开始广告替换,那么客户端可在若干帧后开始广告替换。因此,当广告荚被播放给用户时,可呈现现有广告的前几个帧,然后呈现可能突然切换为替代广告。此外,替换广告的延迟开始可在替换广告播放结束时产生相关问题,因为客户端可需要(但可能不需要)提前终止替换广告,以避免使替换广告与下一个广告或现有媒体流的其它部分的开始重叠。
[0056] 为了根据本发明帮助解决此问题,如上文所述,客户端将在内容修订开始之前足够早地开始获得新内容的过程,以帮助确保客户端将有足够的新内容以及时开始内容修订。此外,如上文所述,客户端可动态地确定提前多久开始此过程,其中提前持续时间是基于客户端历来需要多长时间来获取新内容,这可能与例如内容源、CPU负载、存储器负载、网络负载和/或网络延时等其它实例的操作因素相关。
[0057] 在实例实施方案中,客户端可监视其通常需要多长时间才能获取新内容。例如,每当客户端获得新内容时,客户端可确定从客户端起始内容获取过程到客户端获得足够多的新内容以促进开始相关内容修订所经过的时间。
[0058] 这里,起始内容获取过程的行为可以采取各种形式。例如,如果客户端将从流媒体服务器接收内容,那么起始内容获取过程的行为可以是客户端向流媒体服务器发送传输控制协议(TCP)握手消息,以建立TCP套接字,通过所述套接字与服务器进行进一步通信。或者,起始内容获取过程的行为可以是客户端向流媒体服务器发送实时流协议(RTSP)SETUP请求等,以请求设置流媒体会话,客户端将通过所述会话接收新内容。其它实例也是可能的。
[0059] 客户端可接着在最近时间以统计方式汇总这些经确定的内容获取持续时间,作为平均数或其它衡量标准,以建立代表性的内容获取持续时间。此外,随着时间的推移,客户端可继续进行此评估,定期确认或更新代表性的内容获取持续时间。
[0060] 当面临需要在媒体流中的即将到来的时间点执行内容修订时,客户端可接着调度(例如,确定和设置)开始其内容获取过程的提前时间点。例如,当内容修订开始时,客户端可从客户端时间点减去其最新建立的内容获取时间,以计算客户端应开始其内容获取过程的提前时间点。然后,客户端可设置客户端的内部定时器,以在经计算的提前时间点开始内容获取过程。客户端可接着在计算得到的提前时间点起始内容获取过程。
[0061] 此外,为了帮助避免内容修订中的时间问题,并考虑到实际内容获取持续时间的变化(例如,抖动)和分析中的错误的可能性,客户端还可在其最新确定的内容获取持续时间中添加安全时间段(例如,定义的固定时间段,例如几秒或另一个固定时间段)。因此,客户端计算的提前时间点可在内容修订时间点之前由最新建立的内容获取持续时间和安全时间段的和来设置。替代地或另外,为了考虑此变化的可能性,客户端可有意地计划比预期晚几帧开始内容修订,且对于视频内容,可有意地添加开始黑帧和/或在结束时添加逐渐淡出,以帮助确保连续性。
[0062] 此外,考虑到客户端的实际内容获取持续时间可基于例如内容源、CPU负载、存储器负载、网络负载和/或网络延时等操作因素而变化,客户端可根据这些或其它因素(单独和/或组合)建立各种代表性的内容获取持续时间。反过来,当客户端面临需要在媒体流中的即将到来的时间点执行内容修订时,客户端可确定(例如,近似)一或多个此类操作因素的当前状态,且可选择客户端已经与所确定的状态相关联的内容获取持续时间,其可能在适当的情况下在各点之间进行外推。客户端可接着根据选定的内容获取持续时间计算并应用提前时间点。
[0063] 例如,对于客户端请求且获得新内容的例如特定服务器、域或网络等一或多个内容源的每一者,客户端可确定各自、代表性的内容获取持续时间。当客户接着面临需要使用来自给定内容源的新内容在即将到来的时间点执行内容修订时,客户端可接着基于客户端为所述内容源建立的最新的代表性的内容(例如,所述特定内容源和/或同一域、网络等的内容源)计算和应用提前时间点。
[0064] 作为另一实例,对于每个不同级别的CPU负载(例如,所使用的每单位时间处理周期和/或可用的处理周期)和/或存储器负载(例如,所使用或保留的存储器容量的范围),客户端可确定各自、代表性的内容获取持续时间。当客户端接着面临需要在即将到来的时间点执行内容修订时,客户端接着可评估其CPU负载和/或存储器负载的级别,且客户端可基于客户端针对所述级别的CPU负载和/或存储器负载建立的最新代表性内容获取持续时间来计算并应用提前时间点。
[0065] 同样,对于每个不同级别的网络延时,客户端可确定各自、代表性的内容获取持续时间。实际上,例如,客户端可通过使用因特网控制消息协议(ICMP)回音检查或其它回波请求信令来估计网络延时。或者,客户端可使用指纹识别服务器基于其查询指纹信令来估计网络延时,例如通过服务器测量来自客户端的查询指纹传输的传输延迟,以及客户端从服务器接收所述延迟测量的报告。(此近似于指纹识别服务器和内容服务器不相同的情况,但这种近似可以是合理的,特别是在服务器并置的情况下。)
[0066] 此外,客户端可确定并记录与此类网络延时测量相关的内容获取持续时间。因此,当客户端面临需要在即将到来的时间点执行内容修订时,客户端可确定当前或最新的网络延时级别,且可基于客户端为所述网络延时级别建立的最新代表性的内容获取持续时间来计算和应用提前时间点。
[0067] 作为此过程的变化或加强,客户端还可基于当日时间(例如,任何一天、一周中的一天和/或其它日历或时钟基础上的时钟时间)追踪其代表性的内容获取持续时间,以说明实际内容获取持续时间可能随时间而变化的可能性。例如,当客户端的内容获取持续时间趋于较长时,通常可存在繁忙时间,而当客户的内容获取持续时间趋于较短时,可存在清闲时间。当客户端接着面临需要在即将到来的时间点执行内容修订时,客户端可确定当日时间,且可基于客户端为所述当日时间建立的最新代表性的内容获取持续时间来计算和应用提前时间点。
[0068] 此外,在替代性实施方案中,客户端可静态提供以应用特定的内容获取持续时间,以帮助确保客户端足够早地开始其内容获取过程。例如,客户端或芯片组或客户端的其它组件的制造商可指定客户应当应用的提前持续时间,以作为确定客户何时应起始内容获取以促进内容修订,和客户端可经配置为应用所述提前持续时间的基础。基于例如装置或组件的定义功能,此持续时间可能因装置和/或组件而异。当面临需要在即将到来的时间点执行内容修订时,客户端可基于此指定的持续时间来计算并应用提前时间点。
[0069] 还注意到,上述过程可适用于客户端接收的线性广播馈送等的实时分析(例如,用于当前播放和/或存储),且还可适用于客户端从数据存储器等接收的媒体流的分析(例如,用于当前播放或传输)。其它实施方案也是可能的。
[0070] 图2是说明如上所述的操作的结果的时间线。具体来说,图2可表示在客户端接收媒体流时的客户端时间的进展。如图2中展示,时间点T当前表示当前时间,且时间点T修订表示客户端将执行内容修订,例如,以开始替换或覆盖内容的帧的即将到来的时间。时间点T提前接着表示客户端应起始内容获取的时间,以便具有足够的内容来在时间T修订执行内容修订。
[0071] 根据上文讨论,在时间T当前,客户端可确定内容获取持续时间,且可设置时间T提前作为至少是时间T修订之前的内容获取持续时间的时间点。客户端可接着等待,直到计算得到的时间T提前的到来,且响应于时间T提前的到来,客户端可起始新内容的获取,以帮助促进在时间T修订进行内容修订。例如,在时间T提前,客户端可开始与流媒体服务器进行信令,以建立流媒体会话,通过所述会话客户端可接收和缓冲新的内容,以促进在T修订时开始内容修订,或者客户端可采取其它行动开始内容获取过程。
[0072] 图3是描绘根据上文的论述由计算系统(例如,媒体客户端)执行的方法的流程图。如上文论述,当媒体客户端正在接收线性广播馈送中的媒体流或从存储器接收媒体流时,可能在媒体客户端正在播放媒体流或转发媒体流用于播放等之时执行所述方法。如上文论述,所述方法可帮助促进适时的内容修订,例如广告替换。
[0073] 如图3所展示,在框30处,方法包含确定媒体客户端要执行涉及新内容的插入(例如,替换或覆盖)的内容修订的媒体流中即将到来的时间点。此外,在框32处,方法包含调度媒体客户端应起始获取新内容的过程以促进在即将到来的时间点执行内容修订的提前时间点,其中调度提前时间点包含确定内容获取持续时间,以及将提前时间点设置为至少在即将到来的时间点之前的经确定的内容获取持续时间。在框34处,方法接着包含在提前时间点,媒体客户端起始获取新内容的过程。且在框36处,方法包含在即将到来的时间点,媒体客户端使用经获取的新内容执行内容修订。
[0074] 如上文论述,确定内容获取持续时间的行为可涉及基于内容获取持续时间的过去例子来预测内容获取持续时间。例如,方法可进一步涉及随时间的推移追踪内容获取持续时间,以帮助促进预测内容获取持续时间,可能维持汇总统计数据,如平均值等。
[0075] 此外,如上文论述,基于内容获取持续时间的过去例子预测内容获取持续时间的行为可涉及确定与获取新内容相关的至少一个操作因素的状态,以及根据与所确定的状态相关的内容获取持续时间的过去例子来预测内容获取持续时间。例如,至少一个操作因素可包含内容源、处理器负载、存储器负载、网络负载、网络速度和当日时间的一或多者。因此,媒体客户端可确定一或多个此类操作因素的当前状态,且可接着在一或多个操作因素具有相同或相似状态时基于内容获取持续时间的过去例子来预测内容获取持续时间作为统计数据测量。
[0076] 此外,如上文论述,确定内容获取持续时间的行为还可涉及添加安全时间段到预测的内容获取持续时间,且计划在即将到来的内容修订时间点之前至少通过经确定的内容获取持续时间和安全时间段之和来开始内容获取过程。
[0077] 或者,如上文论述,内容获取持续时间可被静态地定义。例如,媒体客户端可设置为应用特定的内容获取持续时间,以便计算客户端应开始其内容获取过程的提前时间点以促进及时开始内容修订。
[0078] 接着,图4是可操作以执行上文描述的各种操作的实例媒体客户端的框图。如图4展示,媒体客户端包含通信接口40、用户接口42、处理单元44和非暂时性数据存储器46,其全部都可通过网络、消息总线和/或一或多个其它连接机构48耦合或通信连接在一起。
[0079] 通信接口40可包含媒体输入接口,例如HDMI接口等,以及相关的电路和软件,其配置以从外部媒体源接收媒体流。此外,通信接口40可包含网络通信接口,例如有线和/或无线以太网接口,以及相关的电路和软件,其配置以促进在例如网络16等网络上进行通信。
[0080] 用户接口42可包括媒体呈现接口,以通过所述接口播放媒体流的内容。例如,如果媒体客户端是电视,那么用户接口42可包括显示屏和扬声器,以通过所述显示屏和扬声器播放从广播站、流式媒体设备或机顶盒接收的线性馈送的视频和音频内容。其它实例也是可能的。
[0081] 处理单元44接着可包括一或多个通用处理器(例如,微处理器)和/或一或多个专用处理器(例如专用集成电路等)。非暂时性数据存储器46可包括一或多个易失性和/或非易失性存储组件,例如磁、光或快闪存储器。此外,非暂时性数据存储器46可包括例如随机存取存储器等的存储器,且可以全部或部分地与处理单元44集成。
[0082] 如图4展示,非暂时性数据存储器46存储(例如,保存、用其编码或以其它方式体现或含有)可由处理单元执行以使计算系统执行例如上文所述的操作的程序指令50。
[0083] 例如,这些操作可包含确定媒体流中即将出现的时间点,在所述时间点,媒体客户端将执行涉及插入(例如替换或覆盖)新内容的内容修订。此外,所述操作可包含设置媒体客户端应起始获取新内容的过程以促进在即将到来的时间点执行内容修订的提前时间点,其中设置提前时间点包含确定内容获取持续时间,以及将提前时间点设置为至少在即将到来的时间点之前的经确定的内容获取持续时间。所述操作可接着包含在提前时间点(例如,响应于提前时间点的到来)起始获取新内容的过程。且所述操作可包含在即将到来的时间点(例如,响应于即将到来的时间点的到达),用所获取的新内容执行内容修订。
[0084] 如上文论述,媒体客户端可基于与一或多个操作因素相关的内容获取持续时间的过去例子来预测内容获取持续时间。一个此操作因素可以是媒体客户端的处理单元的负载,媒体客户端可基于执行处理器任务的队列长度、处理器不空闲的频率和/或处理器执行某些任务所用的时间等其它可能性来确定所述处理单元的负载。另一此操作因素可以是媒体客户端的存储器的负载,媒体客户端可根据每单位时间其随机存取存储器所占百分比等确定所述负载。此外,另一操作因素可以是网络速度,媒体客户端可通过运行标准网络速度测试和/或基于上面讨论的信令延迟来确定网络速度。其它实例也是可能的。
[0085] 上述各种特征可以在此媒体客户端的上下文中实现,反之亦然。此外,上述各种操作可以由存储在非暂时性计算机可读媒体上的程序指令来定义,所述程序指令可由处理单元执行以执行所述操作。可接着在媒体客户端和/或另一实体提供、集成或以其它方式实现此非暂时性计算机可读媒体。此外,所述操作可采取其它形式。
[0086] 实例实施例已经在上文中描述。但是,所属领域的技术人员将理解,在不脱离本发明的真实范围和精神的情况下,可以对这些实施例进行改变和修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈