动态控制指纹识别速率以促进媒体内容的时间精确修订的制作方法

文档序号:20788866发布日期:2020-05-19 21:58阅读:168来源:国知局
动态控制指纹识别速率以促进媒体内容的时间精确修订的制作方法

相关申请的交叉引用

本申请要求2018年10月22日申请的第16/166,948号美国专利申请和2018年7月16日申请的第62/698,629号美国临时专利申请的优先权,所述申请的每一个的全部内容在此以引用的方式并入。

本申请还与2018年10月22日提交的第16/166,561号美国专利申请有关,所述申请的全部内容在此以引用的方式并入。



背景技术:

典型的媒体客户端用以接收表示例如视频和/或音频内容的媒体内容的模拟或数字媒体流,并输出媒体内容和/或转发流以用于在例如显示屏和/或音频扬声器的用户接口上呈现内容。此类客户端的实例包含电视、计算机监视器、投影系统、扬声器、耳机、机顶盒(例如,电缆或卫星tv接收器)、数字视频录像机、无线电、个人计算机、移动通信装置、游戏机、流媒体播放器等。

作为实例,电视可接收广播流(例如,以空中方式、从机顶盒、通过因特网连接或以另一种方式),并可将广播流的媒体内容呈现给用户。作为另一实例,机顶盒可从多频道视频节目分配器接收广播流,并可通过高清晰度多媒体接口(hdmi)电缆或其它接口将所述流的媒体内容输出到电视和/或音频/视频接收器进行播放。作为另一实例,数字视频或音频记录器同样可以接收广播流,但可存储所述广播流用于稍后播放。且作为又一实例,扬声器或耳机可从无线电、计算机或另一装置接收音广播频流,并且可以将所述流的音频内容呈现给用户。许多其它实例也是可能的。



技术实现要素:

当媒体客户端正接收媒体流时,在某些情况下,客户端修订流的媒体内容的部分可能是有用的。举例来说,客户端可有用地用替换广告或其它替换内容动态地替换广告或媒体内容的其它片段,使得当内容向用户播放时,用户将接收替换广告而不是原来包含的广告。作为另一实例,客户端可有用地用覆盖或分屏内容动态地补充媒体内容的部分,所述覆盖或分屏内容例如频道标识、环境信息、广告内容等,使得当内容正被播放给用户时,用户将与原来包含的内容一起接收补充内容。

此外,可能需要客户端在媒体流内在特定时间点执行此类内容修订。举例来说,如果客户端要用替换广告动态地替换现有广告,那么可能需要客户端在现有广告本应已经开始时在媒体流中的某一时间放置替换广告。同样,如果客户端要用与媒体内容的特定部分相关的覆盖来补充所述部分,那么可能需要客户端在所述部分开始时开始覆盖。其它实例也是可能的。

更确切来说,所讨论的媒体流可定义帧序列,例如视频帧和/或音频帧,并且可能需要客户端在帧精确基础上执行内容修订。举例来说,对于广告替换,可能需要客户端在现有广告的第一帧处精准地开始插入替换广告来替代现有广告。并且为了向媒体流的特定部分添加覆盖,可能需要客户端在媒体流的所述部分的第一帧处或与所述第一帧以特定关系开始覆盖。

为了促进使客户端执行此内容修订,客户端可能需要获悉将发生修订的特定时间点。然而,实际上,可在客户端未知的时间线上定义修订时间点。举例来说,可在媒体流自身内的参考时间线上定义修订时间点,但客户端可能不具有针对所述时间线的上下文。因此,为客户端提供所述修订时间点可能并无法使客户端在媒体流中所要的时间点执行所述修订。

作为这个情况的非限制性实例,考虑定义广告荚的媒体流可出现于电视广播内。广告荚包括广告的序列,例如,电视商业广告的序列。通过此实例,客户端可以是正接收和呈现特定电视频道的线性广播馈送的电视,且广告荚可出现于所述馈送内的任何时刻。举例来说,尤其在例如体育赛事等直播的情况下,广告荚在此类馈送中出现的时间可能是不可预测的。替代地,广告荚可出现于特定安排的时间。

在此实例中,所要的修订可以是对广告荚内的特定广告的替换(例如,用不同广告或其它替换内容取代所述广告)。举例来说,如果广告荚是广告a1、a2、a3、a4的序列,那么所要的修订可以是广告a3的替换。

在此情况下,广告荚可定义内部时间线,其开始于时间t=0且继续到广告荚的末尾,且广告a3可开始于所述时间线上的时间ta3。然而,客户端可能缺乏对所述时间线的上下文。客户端可具有它自己的内部时钟,所述内部时钟具有定义“客户端时间”的时间线(例如,当日时间或其它内部时间基准)。但在未提前知晓广告荚时间线存在于客户端时间内何处的情况下,仅给出值ta3作为所要的内容修订时间点将无法使客户端在需要时执行广告替换。

解决这问题的一个方式是执行指纹匹配,比较正由客户端接收的媒体流的带时间戳的查询指纹与例如已知广告荚序列的已知媒体流的带时间戳的参考指纹。

举例来说,客户端可生成客户端正接收的媒体流的帧的查询指纹,且可基于客户端的内部时钟对那些查询指纹加时间戳,且计算系统可接收那些带时间戳的查询指纹以供分析。另外,计算系统可被预配有例如已知广告荚序列的已知媒体流的帧的参考指纹,其基于基准时间或沿着已知媒体流内的时间线定义的“真实时间”加时间戳。计算系统可因此比较带时间戳的查询指纹与带时戳的参考指纹,且在查找指纹匹配后就可得出匹配的查询指纹的时间戳与匹配的参考指纹的时间戳对应的结论。

在匹配的查询和参考指纹的时间戳之间建立此相关性可构成在客户端时间与真实时间之间建立“同步锁”或时间映射。举例来说,匹配的查询指纹与匹配的参考指纹的时间戳之间的差可定义已知媒体流内的真实时间与客户端接收媒体流时的客户端时间之间的时间偏移。假设知晓已知媒体流内的帧的真实时间点,计算系统可因此使用建立的同步锁来确定正由客户端接收的媒体流中的同一帧的相关联的客户端时间点。举例来说,计算系统可应用真实时间与客户端时间之间的时间偏移,以便确定客户端时间点与给定真实时间点对应。

继续上文的广告荚实例,计算系统可因此使用建立的同步锁将真实时间值ta3映射到标示客户端应替换正由客户端接收的媒体流中的广告a3的客户端时间点(例如,客户端应开始广告替换的客户端时间点)的客户端时间值。且客户端可接着执行在所述确定的客户端时间点的广告a3的替换。

然而,通过这个过程可出现的技术问题是,客户端可能不足够快地生成查询指纹来促进查询指纹与参考指纹之间的高置信度指纹匹配。确切地说,为了帮助节约客户端处的有限处理能力、内存和/或其它资源,客户端可经布置成以相对低帧速率生成指纹,所述帧速率可远低于客户端正接收的媒体流的帧速率。因此,检测到的指纹匹配可能是不准确的,建立的同步锁可能是不准确的,且客户端可能在媒体流中的错误点有可能过早或过迟地结束执行所要的内容修订。

举例来说,通过具有每秒30帧的视频,客户端可被设定以例如每秒2帧的低帧速率生成查询指纹。但以那种低速率执行指纹匹配可导致低置信度指纹匹配。这样的一个原因是,媒体流可包含相同或几乎相同帧的各种子序列,其与媒体内容在一段时间上根本不改变的媒体序列的部分对应。因此,以低速率生成的查询指纹中的一些可匹配多个参考指纹,从而产生低置信度匹配。

公开一种帮助解决此技术问题的机构。

根据本公开,客户端将通常以相对低速率(例如,在上述实例中每秒2帧)建立查询指纹,且计算系统将把所述低速率查询指纹用作与已知媒体流的参考指纹比较的基础,以便最初确定正由客户端接收的媒体流是已知媒体流,即以识别正由客户端接收的媒体流。

在由此确定客户端正接收已知媒体流后,计算系统就将接着使客户端增大其查询指纹生成速率,即从以相对低速率生成查询指纹切换到以相对高速率(例如,在上述实例中每秒16或30帧)生成查询指纹。且计算系统将接着将高速率查询指纹用作与已知媒体流的参考指纹比较的基础,以便建立具有相对高置信度的同步锁。计算系统将接着将建立的同步锁用作使客户端在正由客户端接收的媒体流中的特定点执行内容修订的基础。

在代表性实施方案中,计算系统可接收表示正由客户端接收的媒体流的查询指纹,其中查询指纹由客户端以第一帧速率生成(“低速率查询指纹”)。当计算系统接收由客户端生成的低速率查询指纹时,计算系统将比较低速率查询指纹与表示已知媒体流的参考指纹。且基于所述比较,计算系统将检测一或多个第一匹配,其指示正由客户端接收的媒体流是已知媒体流。

响应于检测一或多个匹配,计算系统将接着使客户端从以第一帧速率生成查询指纹转换到以高于第一帧速率的第二帧速率生成查询指纹(“高速率查询指纹”),且计算系统将接收由客户端生成的高速率查询指纹,其中每一高速率查询指纹具有根据客户端的时钟的相应查询指纹时间戳。

当计算系统接收由客户端生成的高速率查询指纹时,计算系统将接着进一步比较高速率查询指纹与表示已知媒体流的参考指纹。且基于此进一步比较,计算系统将检测一或多个第二匹配,每一第二匹配具有查询指纹时间戳中的相关联的一个查询指纹时间戳。

计算系统将接着基于与每一第二匹配相关联的查询指纹时间戳来确定客户端应执行正由客户端接收的媒体流中的内容修订的时间,所述时间根据客户端的内部时钟定义。且计算系统将使客户端在确定的时间执行内容修订。

所属领域的一般技术人员通过适当地参考附图阅读以下详细描述将明白这些以及其它方面、优点和替代方案。另外,应理解,本发明内容和下文中提供的描述意图仅以实例而非以限制来说明本发明。

附图说明

图1是其中可实施所公开的特征的系统的简化框图。

图2是描绘可根据本公开执行的操作的流程图。

图3是描绘可根据本公开执行的操作的另一流程图。

图4是描绘可根据本公开操作的计算系统的组件的简化框图。

具体实施方式

参考附图,图1是其中可应用各种所公开的原理的实例系统的简化框图。然而,应理解,本文描述的此配置和过程以及其它配置和过程可采用各种其它形式。举例来说,元件和操作可重新排序、分布、复制、组合、省略、添加或以其它方式修改。此外,应理解,本文描述为由一或多个实体执行的操作可通过硬件、固件和/或软件由和/或代表所述实体来实施,例如由执行程序指令等的一或多个处理单元来实施。

如图1所展示,实例系统包含经配置以从媒体源14实时接收媒体流的媒体客户端12。

实际上,媒体客户端12可经配置以如上文描述一般用以从媒体源14接收表示例如视频和/或音频内容的媒体内容的模拟或数字媒体流,并输出媒体内容和/或转发流以用于在例如显示屏和/或音频扬声器的用户接口上呈现内容。媒体客户端可采取上述任何形式,以及其它可能性。

媒体源14也可采取各种形式,这可能取决于媒体客户端12的形式。借助于实例,如果媒体客户端12是电视,那么媒体源14可以是本地机顶盒(例如,电缆或卫星接收器)或流媒体服务器,其经配置以输出选定的媒体流供电视呈现,或媒体源14可以是广播电视台等,以及其它可能性。且如果媒体客户端是计算机,那么媒体源可包括因特网流媒体服务器或其它媒体提供商。替代地,媒体源14可以是与媒体客户端12集成和/或可由其在本地存取的数据存储装置,其中媒体客户端从数据存储装置接收(例如,检索)媒体流以供播放。其它实例也是可能的。

如图1中进一步展示,媒体客户端12可通过网络(例如,因特网或私用网络)16与可或可不与媒体源14相关联和/或集成的网络服务器18通信。

在实例实施方案中,媒体客户端12和网络服务器18可参与数据通信以促进进行例如上文提及的那些操作的操作。举例来说,代表性计算系统的方面可由服务器18实施,所述服务器与客户端12相互操作以建立同步锁,以应用所述同步锁来确定客户端应执行内容修订的客户端时间点,且以使客户端在确定的客户端时间点执行内容修订。另外或替代地,代表性计算系统的方面可由客户端12实施,所述客户端与服务器18相互操作以进行类似操作。

如上文所提及,当例如客户端12的媒体客户端正接收媒体流时,客户端修订流的内容的一部分以便替换或补充流的内容的片段可能是有用的。另外,如上文所提及,可能需要客户端在媒体流内的特定时间点这样做。举例来说,如果流定义例如视频帧和/或音频帧等帧的序列,那么可能需要客户端执行开始于序列的特定帧的修订。

为了促进此类内容修订,如上文所指示,计算系统可首先识别正由客户端接收的媒体流。举例来说,计算系统可首先确定正由客户端接收的媒体流是含有应修订的特定内容的媒体流。在识别媒体流后,计算系统就可接着确定媒体流中客户端应执行内容修订的特定点,且可使客户端在所述确定的点执行内容修订。

识别正由客户端12接收的媒体流的一个方式是使客户端(或附属装置)生成表示正由客户端接收的媒体内容的数字指纹数据,并使服务器18比较所述指纹数据与表示已知媒体流的媒体内容的参考指纹数据,一或多个指纹匹配指示客户端正接收已知媒体流。

在实例实施方案中,服务器18或另一此类实体可建立或另外能够存取表示已知媒体流的参考指纹数据。举例来说,服务器18可建立或被预配有表示已知媒体流的帧的参考数字指纹的序列。服务器或另一实体可通过以下方式建立这些参考指纹:以编程方式分析已知媒体流的帧,接收已知媒体流的副本作为输入,以及应用现在已知或以后开发的任何媒体指纹识别过程或算法来生成参考指纹。

指纹可按相对高粒度级别生成这些参考指纹以促进指纹匹配。举例来说,可针对已知媒体流的每一帧分别建立参考指纹。对于包括每秒30帧下的视频的媒体流,序列可因此包含以每秒30帧的速率或以另一合理高的速率生成的参考视频指纹,作为高速率参考指纹。

另外,实时地,在客户端12接收媒体流时,客户端可生成表示其正接收的流的媒体内容的查询指纹数据,且可将查询指纹数据传输到服务器18供分析。客户端可使用应用于建立参考指纹的相同指纹识别过程或算法来建立这些查询指纹,以促进指纹比较。然而,如上文所提及,归因于在客户端处的资源限制(例如,对处理能力、内存和网络速度的限制)或针对其它原因,且鉴于这查询指纹生成可以是用于客户端的进行中的过程,客户端可经配置成以相对低速率生成这些查询指纹。举例来说,对于包括视频的媒体流,客户端可经配置成以仅每秒2帧的速率生成这些查询指纹,且客户端可每隔1.5秒左右将生成的查询指纹传输到服务器。其它实例也是可能的。

当服务器从客户端接收此查询指纹数据时,服务器可比较查询指纹数据与已知媒体流的参考指纹数据。并且如果服务器由此有足够置信度地确定查询指纹数据匹配参考指纹数据,那么所述服务器可得出正由客户端接收的媒体流是已知媒体流(即,已知媒体流的副本)的结论。

服务器可在每帧的基础上进行此指纹比较。考虑视频内容,举例来说,服务器可在每视频帧的基础上进行分析,将帧的查询指纹对照帧的参考指纹进行比较。取决于指纹的结构,比较过程可采取多种形式中的任一个。举例来说,所述比较可涉及计算指纹之间的最大偏差,并确定所述最大偏差是否在预定义容差内。另外,如果指纹为二进制的,那么这可以是布尔确定,或可涉及计算汉明距离(作为指纹中的相应位位置之间的失配的计数)。并且如果指纹是更复杂的值,例如小数值或向量(例如,每视频帧区的灰度值),那么这可涉及确定值或向量之间的距离。大量其它实例也是可能的。

此外,服务器可以所要容差水平进行此指纹比较过程。举例来说,所述比较可以是粗略的,对于指纹之间的差异具有相对高容差,例如具有对于较大数目差异的容差和/或对于较大尺寸差异的容差。借助于实例,当将两个32位指纹彼此比较时,粗略比较可认为指纹彼此大体匹配,即使两个位或另一指定数目的位并不匹配。或者比较可以是更加精细的,对于此类差异具有较低容差,和/或比较聚焦于可能表示基本媒体的特定部分的特定指纹组分。

经由客户端生成的查询指纹与已知媒体流的参考指纹的此比较,服务器可由此找到一或多个匹配。举例来说,服务器可找打一或多个时刻,其中正由客户端接收的媒体流的帧的查询指纹匹配已知媒体流的帧的相应参考指纹。此匹配可因此达成或支持这样的结论:正由客户端接收的媒体流是已知媒体流。

已识别了正由客户端接收的媒体流后,服务器可接着确定媒体流中客户端应执行内容修订的点。举例来说,在代表性实施方案中,服务器可能够存取指示已知媒体流中将发生内容修订的点和指示在所述点将发生何内容修订的参考数据。举例来说,参考数据可识别内容修订将开始的已知媒体流的特定帧。因此,服务器可是指参考数据以确定所述所要的内容修订点。

服务器可接着将使客户端在媒体流中的确定点执行内容修订的指令传输到客户端。举例来说,服务器可通过网络16将指定媒体流中的确定点和给客户端提供替换或叠加媒体或另外关于客户端在媒体流中的所述点应执行何内容修订指导客户端的消息传输到客户端。且客户端可经配置以接收和解释所述指令且响应性地在媒体流中的指示的点执行内容修订。

在此过程中,服务器可知道客户端应在媒体流中执行内容修订的特定时间点。举例来说,可由服务器存取的参考数据可将此时间点指定为在已知媒体流内的时间线中,即在如上文所描述的“真实时间”内,测量的特定时间。举例来说,如上文所提及,此时间线可开始于在已知媒体流开始时的原点时间(例如,t=0),且已知媒体流的每一帧可出现于所述时间线上的特定时间点。因此,服务器可从参考数据确定客户端应在媒体流中执行内容修订的真实时间点。

然而,客户端的时间参考可不同。如上文所提及,客户端的时间参考可以是根据客户端中的内部时钟定义的“客户端时间”。尽管客户端时间和真实时间可最优地以彼此相同的速率运行,但它们的原点将有可能不同。因此,仅仅知晓已知媒体流中的真实时间点将不会自身提供客户端时间中的上下文。因此,如上文所提及,所讨论的是服务器可如何以客户端可理解方式特征化媒体流中客户端将开始执行内容修订的时间点。

解决如上所表明的这个问题的一个方式是使服务器将匹配的查询指纹的客户端提供的时间戳用作用于服务器确定用于媒体流的客户端的时间参考的方式,且接着使服务器将所述客户端时间参考用作特征化媒体流中客户端将开始内容修订的时间点的基础。

为了促进此操作,当客户端生成其查询指纹时,客户端可基于客户端的内部时钟对每一查询指纹加时间戳。因此,客户端传输到服务器供分析的查询指纹可以是带时间戳的查询指纹。另外,服务器可被预配有或另外能够存取已知媒体流帧的带时间戳的参考指纹。举例来说,服务器可被预配有针对已知媒体流的每一帧指定以下各者的参考数据:(i)所述帧的参考指纹,和(ii)在所述已知媒体流内的相关联的真实时间时间戳。

当服务器从客户端接收带时间戳的查询指纹时,服务器可比较查询指纹与参考指纹以企图检测匹配点,即查询指纹匹配参考指纹的时刻。当服务器已检测到一或多个此类匹配点时,服务器将针对每一检测到的匹配点知道以下两者:(i)匹配点的真实时间时间戳,和(ii)匹配点的客户端时间时间戳。

因此,服务器将已在真实时间与客户端时间之间有效地建立同步锁。即,服务器将已有效地建立以下两者之间的映射:(i)媒体流内的真实时间时间戳与(ii)根据客户端的内部时钟的客户端时间,因为服务器现在将知道匹配的帧在媒体流中何处,和在所述媒体流中的所述时间点,客户端的时间是什么。如上所论述,此同步锁可构成时间偏移,使得服务器可将时间偏移应用到媒体流中的给定真实时间点以确定媒体流中的对应的客户端时间点。

在已发现媒体流中的此匹配点后且在已建立同步锁后,服务器可计算客户端将执行媒体流中的内容修订的客户端时间点,即客户端将开始媒体流中的内容的客户端时间点。举例来说,假设将发生内容修订的真实时间点的参考数据指示,服务器可应用由同步锁定义的偏移,以确定将发生内容修订的相关联的客户端时间点。或者,服务器可计算从匹配点的真实时间点到内容修订将开始的帧的时间的在已知媒体流内的持续时间,且服务器可接着将计算得到的持续时间添加到匹配点的客户端时间点上,以便确定内容修订将开始的相关联的客户端时间点。其它实例也是可能的。

服务器可接着将此确定的客户端时间点的说明传输到客户端,伴有用于客户端执行开始于这个客户端时间点的内容修订的指令。并且如果客户端已不被预配有关于开始于当时的执行的内容修订的信息,那么服务器还可将所述内容修订信息传输到客户端。举例来说,服务器可从数据存储装置检索,且将用于客户端取代的某些替换内容传输到客户端,代替媒体流中正由客户端接收的内容。或者,服务器可将对此类替换内容的指针传输到客户端,例如,客户端获得替换内容可来自的网络或本地存储地址。

客户端可因此从服务器接收在所指示的客户端时间点开始内容修订的指令。并且如果客户端已不被预配有定义在所述客户端时间点执行的修订的数据,那么客户端可接收所述数据,例如,来自服务器或来自由服务器指定的地址。通过参考客户端的内部时钟,客户端可接着工作以在所指示的客户端时间点精确地开始内容修订。举例来说,在所指示的客户端时间点,客户端可开始用替换内容的帧取代正由客户端接收的媒体流的帧,或在正由客户端接收的媒体流的帧上覆盖补充内容,以及其它可能性。

然而,如上文所提及,如果客户端以相对低速率生成其查询指纹,例如如上所论述,以每秒2帧生成视频指纹,那么在这过程中可引起另一问题。为服务器提供以此类低速率生成的查询指纹可使服务器难以确信地识别媒体流中的匹配点,和/或可导致低置信度同步锁。如上文所提及,此困难的一个原因是,所述媒体流可包含相同或几乎相同帧的各种子序列,其与媒体内容在一段时间上根本不改变的媒体序列的部分对应。因此,以低速率生成的查询指纹中的一些可匹配多个参考指纹,从而充其量产生低置信度匹配和低置信度同步锁。

此问题的解决方案可能是使客户端以高得多速率,例如每秒16帧或有可能甚至每秒30帧,生成其查询指纹。在客户端以更高速率生成其查询指纹的情况下,服务器可在查询指纹与参考指纹之间建立一或多个更高置信度匹配。举例来说,如果服务器检测到查询指纹匹配两个顺序参考指纹,那么服务器可以不明确性为由丢弃那些匹配且可等待查询指纹仅匹配单个参考指纹的匹配。或如果服务器检测到查询指纹和参考指纹的两个顺序对之间的相同匹配,服务器可以不明确性为由丢弃匹配且可同样地等待更多唯一匹配。

然而,不利的是,如上文所提及,客户端处的资源限制可能使客户端难以在进行中的基础上以此类高速率生成指纹。

根据本公开,改进的解决方案是使客户端使用这些指纹生成速率的混合物。客户端可通常以低速率(例如,每秒2帧)生成查询指纹,以帮助节约资源。且服务器可基于那些低速率查询指纹进行其指纹分析以确定客户端正接收已知媒体流,如上文所论述。在服务器由此确定客户端正接收已知媒体流时,且假设服务器知晓应在媒体流中的稍晚特定点执行内容修订,服务器可接着指导客户端增大客户端的指纹生成速率,以使服务器能够进行更精细的指纹比较。举例来说,服务器可指导客户端从以每秒2帧生成查询指纹切换到以每秒16帧或甚至每秒30帧生成查询指纹,且以将那些高速率查询指纹提供到服务器。

在已基于低速率查询指纹识别正由客户端接收的媒体流的情况下,服务器可接着使用高速率查询指纹进行更精细的分析,以便在帧精确基础上或至少在高得多置信度级别的情况下检测匹配点,并实现更高置信度同步锁。

在此过程的实例实施方案中,服务器发送到客户端的指纹速率改变指令可使客户端开始在后续客户端时间使用增大的指纹速率,所述后续客户端时间是远早于将开始内容修订(例如,下个发生的内容修订)的时间的阈值。这可能在以下情况中有帮助,其中在将开始内容修订的时间之前将经过检测到的匹配点的大量时间量,且其中服务器将有可能不需要所述过多时间来使用高速率查询指纹确信地检测匹配点。

举例来说,基于历史数据,服务器或另一实体可确定在代表性客户端(有可能是所讨论的客户端)开始以增大速率生成查询指纹客户端后服务器确信地检测已知媒体流中的匹配点通常所耗费的时间。服务器接着可将所述时间量加上在分析中造成低置信度的预定义安全持续时间视为客户端增大其查询指纹生成速率的阈值提前持续时间。替代地,服务器可以其它方式确定或被预先预配有此类阈值提前持续时间值。

服务器可接着配置其速率改变指令,以使客户端在客户端时间从低速率指纹识别切换到高速率指纹识别,所述客户端时间是将开始内容修订之前的所述阈值提前持续时间。服务器可基于上文所描述的低置信度同步锁计算此提前客户端时间。即,通过基于客户端的低速率查询指纹建立同步锁,服务器可估计将发生内容修订的客户端时间点。且服务器可接着从所述估计的客户端时间点减去阈值提前持续时间以计算提前客户端时间点,其是将开始内容修订之前的阈值提前持续时间。

服务器可以不同方式配置其速率改变指令以使客户端在确定的提前客户端时间点切换到高速率指纹识别。举例来说,服务器在提前客户端时间点向客户端提供指令,以使客户端紧接着增大其指纹生成速率。替代地,服务器可在其指令中向客户端包含提前客户端时间点的说明,以使客户端在提前客户端时间达到时增大其指纹生成速率。另外,客户端可对应地经配置以通过切换到如所指示的高速率指纹来对此类指令作出响应。其它实例也是可能的。

在服务器已在帧精确基础上或以其它方式在更高置信度的情况下使用客户端的高速率查询指纹检测匹配点后,服务器可接着建立具有更高置信度的同步锁,如上文所论述。即,基于与检测到的匹配点相关联的查询指纹时间戳,且基于将开始内容修订的时间之前的计算得到的持续时间,服务器可在更高置信度的情况下计算将开始内容修订的客户端时间点。服务器可接着向客户端传输客户端在计算得到的客户端时间点开始内容修订的指令。且客户端可因此接收指令且在所指示的客户端时间点达到时响应性地开始内容修订。

作为此过程的非限制性实例,考虑定义可出现在电视广播内的广告荚的媒体流。如上所指出,广告荚将包括广告的序列,例如电视商业广告的序列,且广告荚可出现在正由客户端接收的例如线性广播馈送的线性媒体馈送中的任何给定时间。

实际上,服务器可被预配有表示广告荚的帧和与广告荚的帧对应的带时间戳的参考指纹,其中时间戳是沿着广告荚内定义的时间线的点(作为真实时间)。另外,服务器可被预配有广告荚中的广告中的特定一个应被替换的指示,和所述广告替换应开始的帧的时间戳。

在进行中的基础上,或响应于一或多个其它触发事件,当客户端正接收媒体馈送时,客户端可正生成广播馈送的低速率(例如,以每秒2帧)带时间戳的查询指纹,且可正向服务器报告那些带时间戳的查询指纹以供分析。将每一此类查询指纹与表示广告荚序列的帧的参考指纹比较,服务器可由此检测到客户端正在接收已知的广告荚序列。

已确定客户端正接收广告荚序列,服务器可接着响应性地向客户端传输客户端切换到高速率指纹识别的指令,以便从以每秒2帧生成查询指纹切换到代替地以每秒16帧或每秒30帧生成查询指纹,这有可能指定客户端应执行如上文所论述的此速率切换的提前客户端时间点。且客户端可响应性地执行速率切换且开始向服务器传输其高速率带时间戳的查询指纹以供分析。

以上文所描述的方式使用高速率查询指纹,服务器可由此检测广告荚序列中的一或多个匹配点,且具有高置信度等级。基于如上文所论述的检测到的匹配点,服务器可接着建立相对高置信度同步锁,其定义真实时间到客户端时间的映射。且服务器可接着将建立的同步锁用作将广告替换将开始的帧的真实时间点平移到客户端应开始广告替换的对应客户端时间点的基础。

服务器可接着将在所述确定的客户端时间点开始广告替换的指令传输到客户端,且如果客户端已不被预配有所述信息,那么可将替换广告(或替换广告的指针)传输到客户端。且客户端可接着在所指示的客户端时间点相应地执行广告替换。

在代表性实施方案中,在客户端执行指示的内容修订,例如广告替换之后,客户端可自动恢复到生成低速率查询指纹。举例来说,如果客户端已从以每秒2帧生成查询指纹切换到以每秒16帧或每秒30帧生成查询指纹,那么客户端可接着恢复以每秒2帧生成查询指纹。且可视需要重复过程。

上文描述为由服务器执行的操作中的某些操作可替代地由如上文所提及的客户端或就此来说由另一装置进行。

借助于实例,尽管以上论述所描述的服务器工作以建立同步锁且由此确定将发生内容修订的客户端时间点,但客户端可经配置以自身进行那些操作中的一些。

举例来说,在服务器已确定客户端正接收已知媒体流后,客户端可进行所述过程以在(i)媒体流中的真实时间时间戳与(ii)根据客户端的内部时钟的时间之间建立同步锁,并确定将发生内容修订的客户端时间点。在实例实施方案中,为了促进此情况,除了指导客户端切换到高速率指纹识别之外,服务器还可为客户端提供用于媒体流的即将到来的部分的一组带真实时间时间戳的参考指纹,且可对客户端通知用于媒体流内将开始内容修订的帧的真实时间时间戳。

客户端可因此从服务器接收那些带时间戳的参考指纹且可进一步开始生成高速率查询指纹。且客户端可比较其高速率查询指纹与提供的参考指纹,以企图找出具有相对高置信度的一或多个匹配点。当客户端已由此检测到一或多个匹配点时,客户端将知道(i)匹配点的真实时间时间戳和(ii)匹配点的客户端时间点。因此,客户端自身将已在(i)媒体流内的真实时间时间戳与(ii)根据客户端的内部时钟的时间之间有效地建立同步锁,因为客户端现将知道匹配的帧在媒体流中何处,和在所述媒体流中的所述时间点,客户端的时间是什么。

已发现媒体流中的此匹配点且已建立同步锁,客户端可接着在将发生内容修订时容易地计算客户端时间点。举例来说,假设内容修订将开始的真实时间点的服务器提供的指示,客户端可应用由同步锁定义的偏移,以确定将发生内容修订的相关联的客户端时间点。或者,客户端可计算从匹配点的真实时间点到将开始内容修订的指示的真实时间点的在媒体流内的持续时间,且客户端可将计算得到的持续时间添加到匹配点的客户端时间点上,以便确定将开始内容修订的相关联的客户端时间点。客户端可接着工作以在计算得到的客户端时间点精确地开始内容修订。

在此替代实施方案中,服务器可为客户端提供媒体流的即将出现的部分的高速率参考指纹,以促进客户端进行的其高速率查询指纹与那些高速率参考指纹的比较。替代地,有可能取决于资源约束条件,服务器可为客户端提供低速率参考指纹,以便客户端与客户端的高速率查询指纹比较。客户端可接着确定最匹配低速率参考指纹中的一或多个的一或多个高速率查询指纹,以帮助增强确定的匹配点的帧精确度且增大同步锁的置信度。

还应注意,以上过程可关于正由客户端接收的线性广播馈送等的实时分析来应用(例如,用于目前播出和/或存储),且可还关于正由客户端从数据存储装置等检索的媒体流的分析来应用(例如,用于目前播出或转移)。其它实施方案也是可能的。

图2是描绘可由计算系统依据以上论述进行的方法的流程图。尽管方法的操作在此图中描绘为以特定序列进行,但所述操作中的一些可与其它并行地进行,并且其它修改也是可能的。

如图2中所展示,在框20处,计算系统接收表示正由客户端接收的媒体流的查询指纹,所述查询指纹由客户端以帧速率生成。在框22处,计算系统确定正由客户端接收的媒体流是已知媒体流,其中所述确定基于计算系统进行的(i)以帧速率生成的查询指纹与(ii)表示已知媒体流的参考指纹的比较。且在框24处,响应于所述确定,计算系统使客户端增大客户端生成正由计算系统接收的查询指纹的帧速率。

在框26处,计算系统接着将以增大的帧速率生成的查询指纹用作在(i)沿着已知媒体流内的时间线定义的真实时间与(ii)根据客户端的时钟定义的客户端时间之间建立同步锁的基础。且在框28处,计算系统将建立的同步锁用作确定客户端应在正由客户端接收的媒体流中执行内容修订的客户端时间点的基础。在框30处,计算系统接着使客户端在确定的客户端时间点执行内容修订。

如上文所论述,此类计算系统可由与客户端网络通信的服务器实施。在所述状况下,使客户端增大客户端生成正由计算系统接收的查询指纹的帧速率的动作可能涉及向客户端传输指令,所述客户端经配置以通过增大客户端生成正由计算系统接收的查询指纹的帧速率来对所述指令作出响应。另外,使客户端在确定的客户端时间点执行内容修订可能涉及向客户端传输指示确定的客户端时间点的内容修订指令。

如上文进一步论述,将以增大的帧速率生成的查询指纹用作在真实时间与客户端时间之间建立同步锁的基础的动作可能涉及(a)比较以增大的帧速率生成的查询指纹与已知媒体流的参考指纹,例如与另外已知媒体流的参考指纹,(b)基于以增大的帧速率生成的查询指纹与已知媒体流的参考指纹的比较,识别定义查询指纹与参考指纹之间的匹配的至少一个匹配点,以及(c)基于查询指纹的客户端时间时间戳与参考指纹的真实时间时间戳之间的映射建立同步锁。

此外,如上文所论述,将建立的同步锁用作确定客户端应在正由客户端接收的媒体流中执行内容修订的客户端时间点的基础的动作可能涉及将建立的同步锁用作将应在已知媒体流中执行内容修订的预定义真实时间点映射到客户端应在正由客户端接收的媒体流中执行内容修订的对应客户端时间点的基础。

另外,如上文所论述,所讨论的内容修订可包括内容替换。举例来说,正由客户端接收的媒体流可包括定义广告序列的广告荚,且内容修订可涉及用替换媒体内容替换具有所述序列的广告。此外,如上文所提及,方法还可包括向客户端预配客户端将取代为正由客户端接收的媒体流的替换内容。

图3是描绘可由客户端或一或多个其它实体根据本公开进行的方法的另一流程图。此处同样,尽管方法的操作描绘为以特定序列进行,但所述操作中的一些可与其它并行地进行,并且其它修改也是可能的。

如图3中所展示,在框32处,方法包含生成表示正由客户端接收的媒体流的查询指纹,所述查询指纹以帧速率生成。在框34处,方法包含提供生成的查询指纹以用以基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。且在框36处,方法包含在识别正由客户端接收的媒体流之后,增大生成查询指纹的帧速率。

在框38处,方法接着包含提供以增大的帧速率生成的查询指纹,以用以在(i)沿着已知媒体流内的时间线定义的真实时间与(ii)根据客户端的时钟定义的客户端时间之间建立同步锁。且在框40处,方法包含在特定客户端时间点执行正由客户端接收的媒体流的内容修订,其中特定客户端时间点是基于建立的同步锁确定。

根据上文的论述,提供生成的查询指纹以用以基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流的动作可涉及将生成的查询指纹传输到服务器,以供服务器用以基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。继而,在识别正由客户端接收的媒体流之后增大生成查询指纹的帧速率的动作可能涉及在服务器已识别正由客户端接收的媒体流之后,从服务器接收增大生成查询指纹的帧速率的指令,并且响应性地(响应于指令)增大生成查询指纹的帧速率。

另外,如上文所论述,提供以增大的帧速率生成的查询指纹以用以在真实时间与客户端时间之间建立同步锁的动作可能涉及向服务器传输以增大的帧速率生成的查询指纹,以供服务器用以建立同步锁。且在基于建立的同步锁而确定的特定客户端时间点执行正由客户端接收的媒体流的内容修订的动作可能涉及(a)由客户端从服务器接收内容修订指令,所述内容修订指令指导客户端在基于建立的同步锁而确定的特定客户端时间点修订媒体流,且(b)由客户端在特定客户端时间点进行媒体流的修订。

此外,提供以增大的帧速率生成的查询指纹以用以在真实时间与客户端时间之间建立同步锁的动作可能涉及包括向客户端处的程序模块提供查询指纹供客户端处的程序模块用以建立同步锁。举例来说,客户端可被预配有程序逻辑,所述程序逻辑包含程序模块,所述程序模块将用以基于以增大的帧速率生成的查询指纹建立同步锁,因此那些查询指纹可被提供到所述模块,以促进同步锁的建立。

另外,如上文所论述,方法可另外包含将以增大的帧速率生成的查询指纹用作在真实时间与客户端时间之间建立同步锁的基础。举例来说,方法可包含(i)比较以增大的帧速率生成的查询指纹与已知媒体流的参考指纹,(ii)基于以增大的帧速率生成的查询指纹与已知媒体流的参考指纹的比较,识别定义查询指纹与参考指纹之间的匹配的至少一个匹配点,以及(iii)基于查询指纹的客户端时间时间戳与参考指纹的真实时间时间戳之间的映射建立同步锁。

在实例实施方案中,如上文另外论述,同步锁的建立可由客户端进行。且为了促进这样做,方法可另外包含由客户端接收已知媒体流的参考指纹,使得客户端可执行以增大的速率生成的查询指纹与已知媒体流的参考指纹的比较。

图4是可用以进行上文所描述的各种操作的实例计算系统的下一个框图。如上文所提及,此类计算系统的方面可由媒体客户端12和/或服务器18实施,以及其它可能性。因此,图4的框图可表示一或多个此类实体的组件。

如图4中所展示,实例计算系统包含网络通信接口42、处理单元44和非暂时性数据存储装置46,所有这些可通过网络、消息总线和/或一或多个其它连接机构48耦合或以通信方式链接在一起。

网络通信接口42使计算系统能够传输和接收。网络通信接口42可包括有线和/或无线以太网接口,以及相关联的电路和软件,以及其它可能性。处理单元44可接着包括一或多个通用处理器(例如,微处理器)和/或一或多个专用处理器(例如,专用集成电路等)。并且非暂时性数据存储装置46可包括一或多个易失性和/或非易失性存储组件,例如,磁性、光学或快闪存储装置。

如图4中所展示,非暂时性数据存储装置46存储(例如,容纳、被编码有或以其它方式体现或含有)程序指令50,所述程序指令可由处理单元执行以使计算系统进行例如上文所描述的那些操作的操作。

借助于实例,这些操作可包含识别正由媒体客户端接收的媒体流,其中识别包含(i)接收媒体流的查询指纹,所述查询指纹由媒体客户端以帧速率生成,以及(ii)匹配接收到的查询指纹与已知媒体流的参考指纹。此处,如果计算系统由媒体客户端至少部分地实施,那么接收查询指纹的动作可能涉及向媒体客户端的程序模块中接收由媒体客户端的指纹生成器模块(例如,将执行查询指纹生成的媒体客户端的程序模块)生成的查询指纹。且如果计算系统由服务器至少部分地实施,那么接收查询指纹的动作可能涉及接收从媒体客户端传输到服务器的查询指纹。

另外,操作可包含响应于识别媒体流,指导媒体客户端增大生成查询指纹的帧速率。举例来说,如果计算系统由媒体客户端至少部分地实施,那么这可涉及指导媒体客户端的指纹生成器模块增大帧速率。且如果计算系统由服务器至少部分地实施,那么这可涉及向媒体客户端传输使媒体客户端增大生成查询指纹的帧速率的指令。

此外,操作可包含基于由媒体客户端以增大的帧速率生成的查询指纹在沿着已知媒体流内的时间线定义的真实时间与根据媒体客户端的时钟定义的客户端时间之间建立同步锁。举例来说,这可包含(i)接收由媒体客户端(类似地由媒体客户端和/或由服务器进行)以增大的帧速率生成的查询指纹,(ii)检测由媒体客户端以增大的帧速率生成的查询指纹与已知媒体流的参考指纹之间的至少一个匹配,且(iii)使至少一个匹配的真实时间时间戳与至少一个匹配的客户端时间时间戳相关。

且操作可包含将建立的同步锁用作确定媒体客户端应在正由媒体客户端接收的媒体流中执行内容修订的客户端时间点的基础。举例来说,这可包含将建立的同步锁用作将在已知媒体流中应执行内容修订的预定义的真实时间点映射到在正由媒体客户端接收的媒体流中媒体客户端应执行内容修订的对应客户端时间点的基础。

操作可接着包含使媒体客户端在确定的客户端时间点执行内容修订。举例来说,如果计算系统由媒体客户端至少部分地实施,那么这可涉及指导媒体客户端的内容修订模块(例如,媒体客户端将执行内容修订的程序模块)来在确定的客户端时间点执行内容修订。且如果计算系统由服务器至少部分地实施,那么这可涉及向媒体客户端传输使媒体客户端在确定的客户端时间点执行内容修订的指令。

替代地或另外,操作可包含生成表示正由客户端接收的媒体流的查询指纹,其中以帧速率生成查询指纹。另外,操作可包含提供生成的查询指纹以用以基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。且操作可包含在识别正由客户端接收的媒体流之后,增大生成查询指纹的帧速率。操作可接着包含提供以增大的帧速率生成的查询指纹,以用以在(i)沿着已知媒体流内的时间线定义的真实时间与(ii)根据客户端的时钟定义的客户端时间之间建立同步锁。且操作可包含在特定客户端时间点执行正由客户端接收的媒体流的内容修订,其中基于建立的同步锁确定特定客户端时间点。

上文所描述的各种特征可实施于此计算系统的上下文中,且反之亦然。举例来说,此处同样,内容修订可包括内容替换,例如广告荚中的广告的替换,以及其它可能性。另外,提供生成的查询指纹以用以识别媒体流的动作可能涉及将生成的查询指纹传输到服务器以供服务器用以识别媒体流,且提供以增大的帧速率生成的查询指纹以用以在真实时间与客户端时间之间建立同步锁的动作可能涉及向服务器传输以增大的帧速率生成的查询指纹以供服务器用以建立同步锁。

另外,上文所描述的各种操作可由存储在非暂时性计算机可读媒体上的程序指令定义,所述程序指令可由处理单元执行以进行操作。此类非暂时性计算机可读媒体可接着在客户端、服务器和/或另一实体处提供、集成或以其它方式实施。另外,此类操作可采取其它形式。

借助于实例,操作可包含识别正由客户端接收的媒体流,其中识别包含(i)接收媒体流的查询指纹,接收到的查询指纹由客户端以帧速率生成,以及(ii)匹配查询指纹与已知媒体流的参考指纹。另外,操作可包含响应于识别媒体流,使得客户端增大生成查询指纹的帧速率。且操作可包含基于由客户端以增大的帧速率生成的查询指纹在沿着已知媒体流内的时间线定义的真实时间与根据客户端的时钟定义的客户端时间之间建立同步锁。

操作可接着包含将建立的同步锁用作确定在正由客户端接收的媒体流中客户端应执行内容修订的客户端时间点的基础。且操作可包含使客户端在确定的客户端时间点执行内容修订。

替代地或另外,可由处理单元执行的操作可包含生成表示正由客户端接收的媒体流的查询指纹,其中以帧速率生成查询指纹。另外,操作可包含提供生成的查询指纹以用以基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。且操作可包含在识别正由客户端接收的媒体流之后,增大生成查询指纹的帧速率。操作可接着包含以提供增大的帧速率生成的查询指纹,以用以在真实时间与客户端时间之间建立同步锁。且操作可包含在特定客户端时间点执行正由客户端接收的媒体流的内容修订,其中基于建立的同步锁确定特定客户端时间点。

上文所描述的各种特征也可实施于此上下文中,且反之亦然。

举例来说,在服务器处的实施方案中,使客户端增大生成查询指纹的帧速率的动作可能涉及输出以向客户端传输指令,客户端经配置以通过增大客户端生成查询指纹的帧速率来对所述指令作出响应,且使客户端在确定的客户端时间点执行内容修订的动作可能涉及输出,以向客户端传输指示确定的客户端时间点的内容修订指令。

然而,在客户端处的实施方案中,使客户端增大生成查询指纹的帧速率的动作可能涉及指导客户端的指纹生成器模块增大帧速率,且使客户端在确定的客户端时间点执行内容修订的动作可能涉及指导客户端的内容修订模块在确定的客户端时间点执行内容修订。

举例来说,此处同样,正由客户端接收的媒体流可包括定义广告序列的广告荚,且内容修订可包括用替换媒体内容替换具有所述序列的广告。

上文已经描述示范性实施例。然而,所属领域的技术人员将理解,可在不脱离本发明的真实范围和精神的情况下对这些实施例作出改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1