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

文档序号:20275233发布日期:2020-04-03 19:33阅读:172来源:国知局
动态控制指纹识别速率以促进媒体内容的时间精确修正的制作方法

相关申请的交叉引用

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

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



背景技术:

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

举例来说,电视可以接收广播流(例如,通过空气、从机顶盒、通过因特网连接或以另一方式),并且可向用户呈现所述广播流的媒体内容。作为另一实例,机顶盒可接收来自多信道视频节目分配器的广播流,并且可通过高清多媒体接口(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集成和/或可由媒体客户端12本地访问的数据存储装置,其中媒体客户端从数据存储装置接收(例如,检索)媒体流以供播出。许多实例也是可能的。

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

在实例实施方案中,媒体客户端12和网络服务器18可参与数据通信以促进实行操作,例如上文提到的那些操作。举例来说,代表性计算系统的方面可由服务器18实施,所述服务器18与客户端12相互操作以建立同步锁,以便应用所述同步锁来确定客户端应执行内容修正的客户端时间点,且以便使客户端在确定的客户端时间点执行内容修正。另外或替代地,代表性计算系统的方面可由客户端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 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1