用于自动内容识别的帧确定性

文档序号:1776845 发布日期:2019-12-03 浏览:15次 >En<

阅读说明:本技术 用于自动内容识别的帧确定性 (Frame certainty for automatation content identification ) 是由 安德鲁·L·阿什巴赫 于 2018-06-29 设计创作,主要内容包括:一种用于自动内容识别的帧确定性度量(340)的方法,该方法包括:确定媒体设备流(S)的媒体设备帧(F&lt;Sub&gt;D1-n&lt;/Sub&gt;)与广播媒体流(S)的广播帧(F&lt;Sub&gt;1-n&lt;/Sub&gt;)之间的帧匹配(310),以及通过确定以下来确定是否移位帧匹配:基于第一媒体设备指纹(222b)和目标广播指纹(222&lt;Sub&gt;TB&lt;/Sub&gt;)的第一帧确定性度量;基于与第一媒体设备指纹顺序相邻的第二媒体设备指纹和目标广播指纹的第二帧确定性度量;基于与第一媒体设备指纹顺序相邻的第三媒体设备指纹和目标广播指纹的第三帧确定性度量;以及最大帧确定性度量。该方法还包括将最大帧确定性度量识别为与目标广播指纹匹配的目标媒体设备指纹(222&lt;Sub&gt;TM&lt;/Sub&gt;)。(A method of for the frame certainty measure (340) of automatation content identification, this method comprises: determining the media device frame (F of media device stream (S) D1‑n ) with the broadcast frame (F of broadcast media stream (S) 1‑n ) between frame match (310), and following determine whether to shift frame matching by determining: based on the first media device fingerprint (222b) and target broadcast fingerprint (222 TB ) first frame certainty measure;The second frame certainty measure based on the second media device fingerprint and target broadcast fingerprint adjacent with the first media device fingerprint sequence;Third frame certainty measure based on the third media device fingerprint and target broadcast fingerprint adjacent with the first media device fingerprint sequence;And largest frames certainty measure.This method further includes the target media devices fingerprint (222 being identified as largest frames certainty measure with target broadcast fingerprint matching TM )。)

用于自动内容识别的帧确定性

技术领域

本公开涉及确定用于自动内容识别的帧确定性度量。

背景技术

如今媒体设备变得越来越普遍,并且范围可以从家庭中的固定设施(例如电视)到与媒体消费者一起移动的移动设备。诸如电视、机顶盒、移动电话、笔记本电脑和平板电脑之类的媒体设备可以访问并且可以检索来自各种源的媒体内容。例如,媒体设备可以经由卫星、无线广播或流媒体系统从有线或无线连接接收媒体内容。随着媒体设备使用的持续增长,媒体设备与媒体内容的连接性也得到增长。通过这种增长,新的媒体内容市场已经出现并且旧的媒体内容市场已经适应于了解媒体消费者并向媒体消费者提供上下文相关的媒体内容。

发明内容

本公开的一方面提供一种用于确定用于自动内容识别的帧确定性度量的方法。该方法包括在数据处理硬件处接收指示广播媒体流的广播帧的广播指纹。该方法还包括在数据处理硬件处接收指示对应的媒体设备处的媒体设备流的媒体设备帧的媒体设备指纹。该方法还包括由数据处理硬件确定媒体设备流的媒体设备帧与广播媒体流的广播帧之间的帧匹配。该方法包括由数据处理硬件通过以下来确定是否移位帧匹配:基于第一媒体设备指纹和目标广播指纹确定第一帧确定性度量;基于第二媒体设备指纹和目标广播指纹确定第二帧确定性度量,所述第二媒体设备指纹与所述第一媒体设备指纹顺序相邻;基于第三媒体设备指纹和目标广播指纹确定第三帧确定性度量,所述第三媒体设备指纹与第一媒体设备指纹顺序相邻,而与第二媒体设备指纹相反,每个帧确定性度量指示对应的指纹之间的匹配质量;以及在第一帧确定性度量、第二帧确定性度量和第三帧确定性度量之中确定最大帧确定性度量。该方法还包括由数据处理硬件将与最大帧确定性度量相对应的媒体设备指纹识别为与目标广播指纹相匹配的目标媒体设备指纹。

本公开的实施方式可以包括以下可选特征中的一个或更多个。在一些实施方式中,该方法包括由数据处理硬件确定媒体设备指纹是否与目标媒体设备指纹相对应。当媒体设备指纹与目标媒体设备指纹相对应时,该方法包括:将目标媒体设备指纹的帧确定性度量识别为目标帧确定性度量;基于第四媒体设备指纹和目标广播指纹确定第四帧确定性度量,所述第四媒体设备指纹与目标媒体设备指纹顺序相邻;基于第五媒体设备指纹和目标广播指纹确定第五帧确定性度量,所述第五媒体设备指纹与目标媒体设备指纹顺序相邻,而与第四媒体设备指纹相反;以及在目标帧确定性度量、第四帧确定性度量和第五帧确定性度量之中确定最大帧确定性度量。在本方法的各种实施方式中,帧确定性度量具有多于一个确定性级别。在一些示例中,当帧确定性度量具有多于一个确定性级别时,第一确定性级别对应于第一帧确定性度量、第二帧确定性度量和第三帧确定性度量之中的最大帧确定性度量。在其他示例中,第二确定性级别识别目标帧确定性度量、第四帧确定性度量和第五帧确定性度量之中的最大帧确定性度量。

在一些实施方式中,该方法还包括由数据处理硬件确定最大帧确定性度量是否满足帧确定性度量阈值。在一些示例中,当最大帧确定性度量满足帧确定性度量阈值时,该方法包括由数据处理硬件将对应于目标广播指纹的帧位置与对应于目标媒体设备指纹的媒体设备帧相关联。可选地,该方法还包括由数据处理硬件基于与目标媒体设备指纹相对应的媒体设备帧的帧位置指示广告替换。

在一些示例中,当确定帧匹配时,该方法还包括确定媒体设备指纹与广播设备指纹之间的帧匹配。可选地,当媒体设备具有媒体设备帧速率并且广播公司具有广播帧速率时,媒体设备帧速率小于广播帧速率。

本公开的另一方面提供一种用于确定用于自动内容识别的帧确定性度量的系统。该系统包括数据处理硬件和与该数据处理硬件通信的存储器硬件。存储器硬件存储指令,所述指令在数据处理硬件上被执行时可以使数据处理硬件执行操作。该操作包括:接收指示广播媒体流的广播帧的广播指纹,接收指示对应的媒体设备处的媒体设备流的媒体设备帧的媒体设备指纹,以及确定媒体设备流的媒体设备帧与广播媒体流的广播帧之间的帧匹配。所述系统包括通过以下确定是否移位帧匹配:基于第一媒体设备指纹和目标广播指纹确定第一帧确定性度量;基于第二媒体设备指纹和目标广播指纹确定第二帧确定性度量,第二媒体设备指纹与第一媒体设备指纹顺序相邻;基于第三媒体设备指纹和目标广播指纹确定第三帧确定性度量,第三媒体设备指纹与第一媒体设备指纹顺序相邻,而与第二媒体设备指纹相反,每个帧确定性度量指示对应的指纹之间的匹配质量;以及在第一帧确定性度量、第二帧确定性度量和第三帧确定性度量之中确定最大帧确定性度量。该系统还包括将与最大帧确定性度量相对应的媒体设备指纹识别为与目标广播指纹相匹配的目标媒体设备指纹的操作。

在系统的各个实施方式中,所述操作还包括确定媒体设备指纹是否与目标媒体设备指纹相对应。当媒体设备指纹与目标媒体设备指纹相对应时,该系统还包括以下操作:将目标媒体设备指纹的帧确定性度量识别为目标帧确定性度量;基于第四媒体设备指纹和目标广播指纹确定第四帧确定性度量,第四媒体设备指纹与目标媒体设备指纹顺序相邻;基于第五媒体设备指纹和目标广播指纹确定第五帧确定性度量,第五媒体设备指纹与目标媒体设备指纹顺序相邻,而与第四媒体设备指纹相反;以及在目标帧确定性度量、第四帧确定性度量和第五帧确定性度量之中确定最大帧确定性度量。在本方法的各种实施方式中,帧确定性度量具有多于一个确定性级别。在一些示例中,当帧确定性度量具有多于一个确定性级别时,第一确定性级别对应于第一帧确定性度量、第二帧确定性度量和第三帧确定性度量之中的最大帧确定性度量。在其他示例中,第二确定性级别识别目标帧确定性度量、第四帧确定性度量和第五帧确定性度量之中的最大帧确定性度量。

在一些示例中,该系统还包括确定最大帧确定性度量是否满足帧确定性度量阈值的操作。在一些实施方式中,当最大帧确定性度量满足帧确定性度量阈值时,所述操作还可以包括将对应于目标广播指纹的帧位置与对应于目标媒体设备指纹的媒体设备帧相关联。可选地,所述操作还包括基于与目标媒体设备指纹相对应的媒体设备帧的帧位置指示广告替换。

在该系统的一些操作中,确定帧匹配还包括确定媒体设备指纹与广播设备指纹之间的帧匹配。在一些示例中,当媒体设备具有媒体设备帧速率并且广播公司具有广播帧速率,媒体设备帧速率小于广播帧速率。

在以下附图和描述中阐述了本公开的一个或更多个实施方式的细节。根据描述和附图以及权利要求,其他方面、特征和优点将是显而易见的。

附图说明

图1A是自动内容识别环境的示例的示意图。

图1B是自动内容识别环境的示例的示意图。

图2是自动内容识别环境的示例服务器的示意图。

图3A-3C是与媒体设备相对应的示例自动内容识别模块的示意图。

图3D-3F是与媒体设备相对应的自动内容识别模块的示例同步器的示意图。

图4是动态广告替换的示例情景的示意图。

图5是用于示例自动内容识别环境的流程图。

图6是可以用于实施本文所述的系统和方法的示例计算设备的示意图。

各个附图中的相同参考符号表示相同元件。

具体实施方式

通常,自动内容识别(ACR)是识别媒体设备上或媒体文件内的媒体内容的过程。ACR越来越有助于识别社会每日消费的大量媒体内容。从商业角度来看,ACR可以允许企业和其他实体了解媒体内容消费,并且可能更有效地了解媒体内容的市场或目标消费者(即,媒体设备用户)。例如,当针对媒体设备的用户使广告个性化时,广告或供应可能更有效。因此,广播公司、商业提供商、广告商和其他实体想要知道什么节目正在被观看,或者更具体地,用户在观看期间所看的节目中的位置。利用此类信息,媒体设备用户可以接收更精确迎合的媒体内容。

图1A是自动内容识别环境10的示例。自动内容识别环境10可以包括几层以将媒体内容分发给媒体设备30的用户20(即,观看者)。图1A试图将媒体内容分发过程简化为四层:广播层100、附加内容层110、网络层120和设备层130。每一层100、110、120、130可以具有影响媒体流S的实体。广播层100表示可以涉及产生广播媒体流SB的广播实体。这些广播实体可以包括广播公司102和广播发行商104。广播公司102可以是一个或更多个媒体内容提供商,诸如本地广播公司、多信道网络或其他媒体内容所有者。广播发行商104是广播实体,该广播实体提供基础设施或资源(例如,信号线、通信塔、通信天线、服务器等)以分发媒体内容。广播公司102和广播发行商104可以是相同的广播实体或不同的广播实体,这取决于广播变量,例如提供的媒体内容的类型或接收媒体内容的媒体设备的类型。

在一些实施方式中,广播媒体流SB包括来自表示为附加内容层110的内容实体的附加媒体内容SC。这些内容实体包括商业提供商112、广告商114或向广播媒体流SB贡献附加媒体内容SC的其他实体。通常,商业提供商112是获取和/或托管附加媒体内容SC的内容实体,而广告商114是生成具有内容(例如,商品和/或服务的广告、优惠、交易、折扣、益处或其他促销)的附加媒体内容SC的内容实体。附加地或替代地,商业提供商112和广告商114可以是相同的内容实体。附加内容层110可以将附加媒体内容SC传送到广播层100、网络层120、设备层130或其任何组合。可选地,附加内容层110可以将附加媒体内容SC与广播媒体流SB配对以形成包括附加媒体内容SC的组合广播媒体流SB,SC

进一步参考图1A,网络层120被配置为从广播层100和/或附加内容层110接收广播媒体流SB和附加媒体内容SC。例如,如果网络层120从广播层100接收媒体流S,则网络层120可以接收具有附加媒体内容SC或独立于附加媒体内容SC的广播媒体流SB。相似地,如果网络层120从附加内容层110接收媒体流S,则网络层120可以接收具有附加媒体内容SC或独立于附加媒体内容SC的广播媒体流SB。在一些实施方式中,网络层120可以将来自广播层100的广播媒体流SB与来自附加内容层110的附加媒体内容SC配对,以生成表示包含有附加媒体内容SC的广播媒体流SB的网络媒体流SN

网络层120包括指纹识别器200。指纹识别器200被配置为在具有数据处理硬件212和存储器硬件214的服务器210上运行。指纹识别器200包括广播指纹生成器220。网络层120可以被配置为将指纹222和与指纹222相关的元数据224存储在指纹数据库230和/或元数据数据库240中。通常,指纹222是与媒体流S的至少一个帧Fn相对应的至少一个唯一标识符。例如,所述至少一个唯一标识符可以是值(例如,像素值)、字母数字表示或者压缩版的视听图像。另外或可替代地,网络层120被配置为存储广播媒体流SB、附加媒体内容SC或两者。

图1A还示出了可以与设备层130通信的任何层(即,广播层100、附加内容层110或网络层120)。在设备层130处,媒体设备30(例如,电视、PC、笔记本电脑、平板电脑或移动电话)接收媒体设备流SD(例如,广播媒体流SB、附加内容流SC或网络媒体流SN的任何组合)并且可以将对应的媒体设备流SD(例如,广播媒体流SB、附加内容流SC或网络媒体流SN的任何组合)全部或部分传送给用户20。设备可以指与被配置为接收或传送媒体内容的某些形式的媒体设备30相关的任何硬件或任何软件。在一些实施方式中,媒体设备30可以被配置为解释对应的媒体流(例如,广播媒体流SB、附加内容流SC或网络媒体流SN的任何组合)或与所述对应的媒体流交互。例如,媒体设备30从广播媒体流101a中识别附加媒体内容SC。媒体设备30可以用替代媒体内容替换或覆盖广播媒体流101a中的附加媒体内容SC。媒体设备30可以针对预定义内容过滤广播媒体流SB,SC。另外或可替代地,媒体设备30可以被配置为与广播层100、附加内容层110、网络层120或设备层130的其他媒体设备30通信关于媒体流(例如,广播媒体流SB、附加内容流SC或网络媒体流SN的任何组合)的信息或数据。

图1B是自动内容识别环境10的示例。自动内容识别环境10包括广播公司102、指纹识别器200和自动内容识别模块(ACR模块)300。广播公司102以广播帧速率RB通过信道Ch1-n将广播媒体流SB,SC广播到指纹识别器200。广播帧速率RB将广播媒体流SB,SC划分为广播帧F1-n,使得每个广播帧F1-n对应于广播媒体流SB(101a)内的由像素表示的视听图像。指纹识别器200被配置为在广播指纹生成器220处接收每个广播帧F1-n。广播指纹生成器220接收每个广播帧F1-n,并且被配置为生成指示每个广播帧F1-n的广播指纹222,222a。通常,广播指纹222,222a是与至少一个广播帧F1-n相对应的至少一个唯一标识符。指纹识别器200可以将每个广播指纹222,222a存储在数据库中,例如指纹数据库230。在一些示例中,指纹识别器200根据对应于广播帧F1-n的元数据224或与所述元数据一起存储广播指纹222,222a,所述元数据为诸如帧位置(例如,帧时间码)、帧类型(例如,现场节目或广告)或指纹标识符标签。在其他示例中,指纹识别器200具有与每个广播指纹222,222a的元数据224相对应的单独数据库或多个数据库。用于元数据224的单独数据库可以允许指纹识别器200存储更多的广播指纹222,222a。

进一步参考图1B,广播公司102还将广播媒体流SB,SC广播到媒体设备30。媒体设备30从广播公司102接收广播媒体流SB,SC作为媒体设备流SD,101b。媒体设备30被配置为从媒体设备流SB,101b捕获媒体帧FD1-n,并将捕获的媒体帧FD1-n传送到ACR模块300。在图1B所示的示例中,媒体设备30是接收媒体设备流SD的电视30,30a(TV)。例如,电视30,30a接收电视频道Ch1-n作为媒体设备流SD

在一些实施方式中,广播公司102以广播帧速率RB提供广播媒体流SB,SC。媒体设备30(例如,描绘为TV 30,30a)可以以对应的广播帧速率RB接收广播媒体流SB,SC作为媒体设备流SD。通常,广播帧速率RB与广播格式(例如,1080 60i、720 60P等)的各种工业标准相对应。例如,一些通用广播帧速率RB包括30P(29.97帧/秒)、24P(23.98帧/秒)和60P(59.94帧/秒)。媒体设备30可以被配置为以媒体设备帧速率RMD捕获媒体设备流SD的帧FD1-n。媒体设备帧速率RMD是将捕获的帧FD1-n提供给ACR模块300的对应的媒体设备30的帧速率。在一些实施方式中,媒体设备30可以被配置为以广播帧速率RB接收媒体设备流SD,但是还被配置为以媒体设备帧速率RMD为ACR模块300捕获媒体设备流SD的帧FD1-n。例如,广播帧速率RB与媒体设备帧速率RMD不同。这种不同的示例是广播帧速率RB大于媒体设备帧速率RMD(例如,30P的广播帧速率和每秒4帧的媒体设备帧速率RMD)。帧速率的差别可以是与媒体设备30处的帧捕获硬件或软件相关的资源限制(CPU、存储器等)。

在一些示例中,ACR模块300从指纹识别器200接收广播指纹222,222a并且从媒体设备流SD接收媒体设备帧FD1-n。ACR模块300可以将媒体设备帧FD1-n与广播帧F1-n进行比较以识别配对帧Fn、FDn。ACR模块300可以是电视30,30a的内部设备(例如,电视30,30a的硬件或软件)或与电视30,30a通信的外部设备(例如,前端系统或机顶盒)。

图2是指纹识别器200的广播指纹生成器220的示例。广播指纹生成器220接收与广播媒体流SB,SC的信道Ch1-n相对应的广播帧F1-n。广播指纹生成器220可以为每个接收到的广播帧F1-n生成广播指纹222,222a,并且可以将广播指纹222,222a存储在指纹数据库230中。在一些示例中,每个广播指纹222,222a表示对应的广播媒体流SB(101a)的广播帧F1-n的至少一个像素值VP。所述至少一个像素值VP可以是广播帧F1-n的平均像素值或颜色空间值的总和。例如,当广播指纹生成器220根据灰度UV(YUV)颜色空间生成广播指纹222,222a时,所述至少一个像素值VP可以表示对应的广播帧F1-n的灰阶值的总和和/或平均值。换句话说,对应的广播帧F1-n的每个像素由灰阶值表示,使得广播指纹222,222a表示像素区域的灰阶值的总和和/或平均值。在一些实施方式中,指纹222(例如,广播指纹222,222a)是基于对应的广播帧F1-n的子帧Fsub的唯一标识符。根据每个子帧Fsub的像素,每个子帧Fsub可以具有对应的像素值VP或对应的平均像素值。

图2还示出了与被划分为子帧Fsub的广播帧F1-n相对应的广播指纹222a,F1-n的示例。在一些示例中,广播指纹生成器220可以将每个广播帧F1-n划分为子帧Fsub以更准确地比较或区分广播帧F1-n。利用子帧Fsub,每个指纹222可以表示对应的帧F1-n的多于一个平均像素值VP。通过将每个广播帧F1-n划分为子帧Fsub,与基于整个广播帧F1-n的像素值VP(或平均像素值)的广播指纹222,222a相比,在广播指纹生成期间更多细节(例如,每个子帧Fsub的像素)被考虑。这样,广播指纹生成器220将每个广播帧F1-n划分为子帧Fsub的数量取决于期望的准确度水平。例如,如图2所示,广播指纹生成器220将每个广播帧F1-n划分为定义成四乘四阵列的十六个子帧Fsub。十六个子帧Fsub的每个子帧Fsub具有平均像素值VP11-44,使得每个广播指纹222a通过十六值整数向量表示每个对应的广播帧F1-n,所述十六值整数向量具有与每个子帧Fsub相关联的整数值。尽管附图可以将每个广播帧F1-n或每个媒体设备帧FD1-n描绘为四乘四阵列,但是任何子帧划分都是可能的。

图3A-3B是ACR模块300的示例。ACR模块300被配置为确定媒体设备流SD的媒体设备帧FD1-n与广播媒体流SB,SC的广播帧F1-n之间的帧匹配310。在一些示例中,ACR模块300包括指纹生成器320和同步器330。除了ACR模块300的指纹生成器320生成与在媒体设备30(例如,TV 30,30a)处捕获的媒体设备帧FD1-n相对应的指纹222(即,媒体设备指纹222,222b)以外,指纹生成器320功能类似于广播指纹生成器220。指纹生成器320被配置为将媒体设备指纹222,222b传送到同步器330。

在一些实施方式中,同步器330接收媒体设备指纹222,222b和来自指纹识别器200的广播指纹222,222a。通过媒体设备指纹222,222b和广播指纹222,222a,同步器330识别帧匹配310。帧匹配310是广播帧F1-n与所给出的媒体设备帧FD1-n匹配。另外或可替代地,与帧匹配310相对应的广播帧F1-n还被称作匹配广播帧FMB,而与帧匹配310相对应的媒体设备帧FD1-n被称作被匹配媒体设备帧FMD。基于匹配广播帧FMB,ACR模块300可以识别媒体设备流SD处的媒体内容的参数。例如,通过帧匹配310,ACR模块300可以识别来自匹配广播帧FMB的元数据224。元数据224可以包括帧位置(例如,帧时间码)、帧类型(例如,现场直播或广告)、对应于匹配广播帧FMB的信道、标识符标签或与匹配广播帧FMB相关的任何描述符。ACR模块300可以将来自匹配广播帧FMB的元数据224与帧匹配310的被匹配媒体设备帧FMD相关联。在一些示例中,ACR模块300将关于与媒体设备帧FD1-n相对应的信道Ch和/或信道Ch内的帧位置(例如,帧时间码)的元数据224进行关联。

利用对媒体设备30处的媒体流SD的位置和信道Ch的了解,广播公司102和附加内容提供商可以知道用户20正在观看什么节目以及当前用户20在节目序列中的何处。广播公司102和附加内容提供商可以随后使用这类信息以精确地将用户20作为广告和优惠的目标或给用户20提供非商业信息(例如,新闻提醒、公告、教育信息等)。因此,ACR模块300可以允许实体在媒体设备30的使用期间协调提供给用户20的媒体内容。然而,ACR模块300处的帧匹配过程的潜在问题是连续的媒体设备帧FD1-n可以非常相似,使得连续媒体设备帧FD1-n随着时间变化仅具有轻微的变化,除非场景的变化极大地改变连续的媒体设备帧FD1-n。由于通常在连续的媒体设备帧FD1-n之间仅有轻微变化,因此ACR模块300可能具有错误识别帧匹配310的风险。换句话说,当ACR模块300确定用户20在一个帧媒体设备帧FD1-n(被匹配媒体设备帧FD1-n)处正在观看媒体设备流SD时,用户20实际是正在观看来自媒体设备流SD的媒体内容,在被匹配媒体设备帧FMD之前或之后的几个媒体设备帧FD1-n

在一些情况下,当广播(即,广播帧速率RB)和媒体设备(即,媒体设备帧速率RMD)之间具有帧速率上的差异时,通过ACR模块300的帧匹配可能具有甚至更大的匹配错误(即,错误识别帧匹配310的风险)。例如,如果媒体设备帧速率RMD比广播帧速率RB慢的多,被匹配媒体设备帧FMD可能与用户20当前观看的媒体设备帧FD1-n相隔一段时间,引起时间失配。在一些示例中,时间失配足够大使得基于ACR模块300执行动态广告替换(DAR)的附加内容提供商替换现场直播而不是广告。

为了解决潜在的匹配错误,ACR模块300被配置为确定帧确定性度量340作为帧匹配310是否对应于与匹配广播帧FMB最佳匹配的媒体设备帧FD1-n的指示。换句话说,ACR模块300可以通过帧确定性度量340确定帧匹配310应该移位(shift)到与原始匹配媒体设备帧FMD不同的媒体设备帧FD1-n。ACR模块300可以被编程为当与匹配媒体设备帧FMD顺序相邻的媒体设备帧FD1-n具有更大的帧确定性度量340时,移位帧匹配310。

如示例图3A-3G所示,ACR模块300的同步器330包括度量生成器332和调节器334。度量生成器332基于帧F之间的比较生成帧确定性度量340,340i-n。帧确定性度量340是指示帧F和/或与帧F相对应的指纹222之间匹配强度的相似性测量。指示匹配强度的相似性测量可以是量化相关性,例如,测量两个变量(例如,Pearson相关、Kenall相关或Spearman相关)之间关联的统计相关性。在一些实施方式中,帧确定性度量340具有不只一个确定性级别,其中每个确定性级别指示帧F和/或与帧F相对应的指纹222之间的不同的匹配强度。作为基础示例,帧确定性度量340可以具有与离散量化测量范围(例如,低=0-0.33、中=0.34-0.66和高=0.067-1.0)相对应的两个或三个确定性级别(例如,低和高,或低、中和高)。在一些示例中,度量生成器332根据媒体设备指纹222,222b和广播指纹222,222a确定帧确定性度量340。在一些示例中,广播指纹222,222a是与匹配广播帧FMB相对应的指纹222,222TB。如图3A-3C所示,指纹生成器200可以将包括目标广播指纹222,222TB的广播指纹222,222a提供给ACR模块300。在其他示例中,ACR模块300可以查询指纹生成器200或与指纹生成器200通信以获取目标广播指纹222,222TB

在一些实施方式中,度量生成器332生成帧确定性度量340,340i-n的迭代以确定用于ACR模块300的最大帧确定性度量342。每次迭代可以对应于与由调节器334提供的匹配媒体设备帧FFD顺序相邻的媒体设备帧FD1-n。另外或可替代地,每次迭代可以对应于三个不同帧确定性度量340,340(1-3),所述三个不同帧确定性度量对应于匹配媒体设备帧FFD和与匹配媒体设备帧FFD顺序相邻的每个帧Fadj。调节器334被配置为接收帧F(例如,媒体设备帧FD1-n或媒体设备帧FD1-n)和/或与帧F相对应的指纹222,并且返回与所接收的帧F顺序相邻的帧Fadj和/或与顺序相邻的帧Fadj相对应的顺序相邻指纹222,Fadj

图3A-3C是度量生成器332的第一迭代的示例。在这些示例中,度量生成器332基于与帧匹配310相关的指纹222确定第一帧确定性度量340,3401。换句话说,度量生成器332基于第一媒体设备指纹222,FMD(例如,与匹配媒体设备帧FMD相对应的媒体设备指纹222,222b)和目标广播指纹222,222TB来确定第一帧确定性度量340,3401。调节器334接收第一媒体设备指纹222,FMD和/或目标广播指纹222,222TB,并且将与第一媒体设备指纹222,FMD顺序相邻的第二媒体设备指纹222,Fadj和目标广播指纹222,222TB一起返回给度量生成器332。另外或可替代地,度量生成器332可以被配置为存储目标广播指纹222,222TB,使得调节器334仅返回与第一媒体设备指纹222,FMD顺序相邻的第二媒体设备指纹222,Fadj。例如,如果度量生成器332基于帧匹配310存储目标广播指纹222,222TB,度量生成器332可以不将目标广播指纹222,222TB传送给调节器334。

ACR模块300可以在度量生成器332和调节器334之间重复帧确定性度量过程的多次迭代。ACR模块300可以执行所述多次迭代以在每次迭代的每个帧确定性度量340,340i中确定最大帧确定性度量342。利用最大帧确定性度量342,ACR模块300将与最大帧确定性度量342相对应的媒体设备指纹222,222b识别为目标媒体设备指纹222,222TD,所述目标媒体设备指纹与目标广播指纹222,222TB匹配。

在一些示例中,ACR模块300可以基于帧确定性度量340执行操作。除了ACR模块300还与动态广告替换(DAR)模块400通信外,图3B是与图3A的ACR模块300类似的ACR模块300的示例。通常,DAR模块400是可以识别表示媒体设备流SD内的广告的媒体设备帧FD1-n并可以将广告替换(或覆盖)为替换广告的系统。DAR模块400可以使用从ACR模块300传送来的信息以相对于与目标媒体设备指纹222,222TD相对应的媒体设备帧FD1-n的帧位置识别媒体设备流SD内的广告的帧位置。例如,随着ACR模块300识别出与目标广播指纹222,222TB匹配的目标媒体设备指纹222,222TD,ACR模块300将目标媒体设备指纹222,222TD或与目标媒体设备指纹222,222TD相对应的媒体设备帧FD1-n传送给DAR模块400。在一些示例中,ACR模块300传送与对应于目标媒体设备指纹222,222TD的媒体设备帧FD1-n相关联的元数据224(例如,帧位置),使得DAR模块400可以将一组替换帧FRP(1-n)与待替换的媒体设备帧FD1-n对齐。

除了ACR模块300包括阈值比较器336外,图3C也是与图3B和图3C的ACR模块300类似的ACR模块300的示例。阈值比较器336可以被配置为将由ACR模块300执行的帧确定性度量340的迭代最小化。通过最小化迭代,ACR模块300可以更快地处理并且依赖更少的处理能力。阈值比较器336可以被配置有帧确定性度量阈值340Th,以在每次迭代之后与帧确定性度量340进行比较。利用帧确定性度量阈值340Th,ACR模块不再需要继续确定帧确定性度量340,直到ACR模块300确定最佳帧确定性度量342。例如,如果帧确定性度量340超出帧确定性度量阈值340Th,同步器330中断帧确定性度量的生成,并且将与超出帧确定性度量阈值340Th的帧确定性度量340相对应的媒体设备指纹222,222b识别为与目标广播指纹222,222TB匹配的目标媒体设备指纹222,222TD。如图3C的示例所示,度量生成器332为调节器334生成帧确定性度量340,3401的第一迭代,并且阈值比较器336确定帧确定性度量340,3401的第一迭代是否满足帧确定性度量阈值340Th。可选地,如果帧确定性度量340,3401满足帧确定性度量阈值340Th,则ACR模块300可以与DAR模块400通信(如与图3B进一步详细讨论的)。

图3D-3G是当ACR模块300确定是否移位帧匹配310时的同步器330的可替代视图。度量生成器332在与媒体设备帧FD1-n相对应的每个媒体设备指纹222,222b和目标广播指纹222,222TB之间生成帧确定性度量340。图3D-3G将与媒体设备帧FD1-n(例如,经由媒体设备指纹222,222b)相对应的每个帧确定性度量340,340(1-n)表示为曲线上的点。在一些示例中,如图3D-3G所示,度量生成器332的一次迭代将三个帧确定性度量340,3401-3传送给调节器334:基于第一媒体设备指纹222,222b1和目标广播指纹222,222TB的第一帧确定性度量340,3401;基于第二媒体设备指纹222,222b2和目标广播指纹222,222TB的第二帧确定性度量340,3402,使得第二媒体设备指纹222,222b2与第一媒体设备指纹222,222b1顺序相邻(例如,按时间在第一媒体设备指纹之前或之后);以及基于第三媒体设备指纹222,222b3和目标广播指纹222,222TB的第三帧确定性度量340,3403,使得第三媒体设备指纹222,222b3与第一媒体设备指纹222,222b1顺序相邻,而与第二媒体设备指纹222,222b2相反。调节器334可以从这三个帧确定性度量340,3401-3选择最大帧确定性度量342,并且可以将具有最大帧确定性度量342的媒体设备指纹222,222b指定为用于下次迭代的第一媒体设备指纹222,222b1(或目标媒体设备指纹)。例如,图3D描绘具有实线选择框的三个媒体设备指纹222,222b1-3,并且使用虚线选择框指定第一媒体设备指纹222,222b1为所述三个媒体设备指纹的中心。三个所选媒体设备指纹222,222b1-3与对应的帧确定性度量340,3401-3配对,并且调节器334选择具有最大帧确定性度量342的第三媒体设备指纹222,222b3。基于这个选择,ACR模块300确定向前移位帧匹配310。图3E示出帧匹配沿相反方向移位。更特别地,具有最大帧确定性度量342的媒体设备指纹222,222b是对应于向后移位的第二媒体设备指纹222,222b2,因为第二媒体设备指纹222,222b2与按时间在第一媒体设备指纹之前的帧相对应。图3F示出第三潜在场景,其中与帧匹配310的匹配媒体设备帧相对应的媒体设备指纹222,222b具有最大帧确定性度量342。在这个示例中,ACR模块300不需要移位帧匹配310,而是将媒体设备指纹222,222b1识别为与目标广播指纹222,222TB匹配的目标设备指纹222,222TD

进一步参考ACR模块300,图3G提供度量生成器332和调节器334之间的第二迭代的示例作为图3D或图3E的第一迭代的进展。在第二迭代中,度量生成器332与调节器334通信以确定帧匹配310的另一移位是否必要。在第二迭代期间,ACR模块300将第一迭代的目标媒体设备指纹222,222TD的帧确定性度量342识别为目标帧确定性度量340,340T。度量生成器332将目标帧确定性度量340,340T与另外两个帧确定性度量340,3404-5一起传送给调节器334:基于第四媒体设备指纹222,222b4和目标广播指纹222,222TB的第四帧确定性度量340,3404,使得第四媒体设备指纹222,222b4与目标媒体设备指纹222,222TD顺序相邻;以及基于第五媒体设备指纹222,222b5和目标广播指纹222,222TB的第五帧确定性度量340,3405,使得第五媒体设备指纹222,222b5与目标媒体设备指纹222,222TD顺序相邻并且与第四媒体设备指纹222,222b4相反。调节器334可以从这三个帧确定性度量340,3404,5,TD中选择最大帧确定性度量342,并且可以将具有最大帧确定性度量342的媒体设备指纹222,222b指定为目标媒体设备指纹222,222TD。在图3G的示例中,第一迭代的目标媒体设备指纹222,222TD再一次具有最大帧确定性度量342。因此,ACR模块300再一次将第一迭代的目标媒体设备指纹222,222TD识别为与目标广播指纹222,222TB匹配的目标媒体设备指纹222,222TD。尽管仅仅描述了两次迭代,但是所捕获的媒体设备流可以进行几次迭代以识别将使ACR模块300与媒体设备流SD正确地同步的目标媒体设备指纹222,222TD

图4是示出关于动态广告替换(DAR)模块400的时间失配(也称为“溢出(slop)”)的四个场景的示例。时间失配或溢出,通常是指在替换期间错误替换的媒体设备帧FD1-n的数量。针对每个场景,图4示出替换帧FRP(1-n)组(示出为八帧)、原始帧FO(1-n)组和结果帧FR(1-n)组。原始帧FO(1-n)组对应于被DAR模块400作为目标用于动态广告替换的帧。目标帧可以表示附加内容提供商想要替换的媒体设备流中预先存在的广告。场景1示出理想的或完美的动态广告替换。在这个场景中,替换帧FRP(1-n)组与原始帧FO(1-n)组对齐,使得结果帧FR(1-n)组仅包括替换帧FRP(1-n)组中的帧而不包括原始帧FO(1-n)组的任何帧。在完美动态广告替换中,对于用户20替换应该看起来几乎是无缝的。替换帧FRP(1-n)组没有太早(例如,潜在地截断现场直播)或太晚(例如,潜在地看到两个不同的广告)切入媒体设备流SD。当DAR模块400使替换帧FRP(1-n)组与原始帧FO(1-n)组未对齐,这种未对齐可能引起早的或晚的DAR。场景二表示早的DAR。早的DAR可能损害媒体内容观看质量,因为该替换帧FRP(1-n)组能够通过在目标帧之前太早拼接到媒体设备流SD中来截断现场直播。例如,用户20观看现场直播,突然切换到广告,完成广告播放,并随后过渡回另一广告的结尾(即,目标帧的部分)。场景二通过说明结果帧FR(1-n)组包含来自原始帧FO(1-n)组的两个原始帧表示早的DAR。如果DAR模块400太晚替换目标帧,则可能发生相反的效果。例如,用户20在现场直播的部分后看到广告,随后见证媒体设备流SD切换为替换广告,并且随后在现场直播恢复后返回到现场直播。场景三通过说明结果帧FR(1-n)组包含来自替换帧FRP(1-n)组的两帧来表示晚的DAR。场景四表示DAR模块400的超限预防。在一些示例中,DAR模块400被配置为通过超限预防减轻DAR未对齐的这些效果的一些。例如,如图4所示,超限预防截去替换帧FRP(1-n)组的未对齐组。在不同帧速率的情况下正确对齐的DAR是特别重要的,因为通常溢出的可接受级别仅为三帧。

尽管ACR模块300的示例通常描绘在设备层130处或与设备层130交互的ACR模块300,但是ACR模块300的不同功能或部分功能可以在自动内容识别环境10内的任何层(例如,广播层100、网络层120或设备层130)执行。例如,同步器330能够存在于与设备层130通信的网络层120(例如,指纹生成器200)上。在其他示例中,同步器330的部分,例如度量生成器332或调节器334发生在网络层120。此外,根据广播公司102、广播发行商104、商业提供商112或广告商114所寻求的控制水平,DAR模块400的功能可以在广播层100或附加内容层110处发生。

图5示出用于自动内容识别的帧确定性度量的方法500。在块502处,方法500包括接收指示广播媒体流SB、SC的广播帧F1-n的广播指纹222,222a。在块504处,方法500包括接收指示对应的媒体设备30处的媒体设备流SD的媒体设备帧FD1-n的媒体设备指纹222,222b。在块506处,方法500包括确定媒体设备流SD的媒体设备帧FD1-n与广播媒体流SB、SC的广播帧F1-n之间的帧匹配310。在块508处,方法500包括通过以下确定是否移位帧匹配310:(a)基于第一媒体设备指纹222,222b1和目标广播指纹222,222TB确定第一帧确定性度量340,3401;(b)基于第二媒体设备指纹222,222b2和目标广播指纹222,222TB确定第二帧确定性度量340,3402;(c)基于第三媒体设备指纹222,222b3和目标广播指纹222,222TB确定第三帧确定性度量340,3403;以及(d)在第一帧确定性度量340,3401、第二帧确定性度量340,3402和第三帧确定性度量340,3403之中确定最大帧确定性度量342。在块510处,方法500包括将与最大帧确定性度量340相对应的媒体设备指纹222,222b(1-3)识别为与目标广播指纹222,222TB匹配的目标媒体设备指纹222,222TD

软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以指“应用”、“app”、或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、字处理应用、电子表格应用、消息传送应用、媒体流应用、社交网络应用和游戏应用。

图6是示例计算设备600的示意图,其可以用于实现本文献所述的系统和方法,例如,指纹识别器200,指纹生成器220、320,ACR模块300,同步器330,DAR模块400等等。计算设备600旨在表示各种形式的数字计算机,例如笔记本电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他合适的计算机。这里示出的组件、所述组件的连接和关系以及所述组件的功能仅仅是示例性的,并不意味着限制本文献中描述和/或要求保护的发明的实现。

计算设备600包括处理器610(例如,数据处理硬件)、存储器620(例如,存储器硬件)、存储设备630、连接到存储器620和高速扩展接口650的高速接口/控制器640以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660的每个通过各种总线互连,并且可以被安装到公共母板上或以其他合适的方式安装。处理器610能够处理用于在计算设备600内执行的指令,包括存储在存储器620中或存储在存储设备630上的指令以在外部输入/输出设备(例如,耦合到高速接口640的显示器680)上显示用于图形用户界面(GUI)的图形信息。在其他实施方式中,如果合适,多个处理器和/或多个总线可以与多个存储器和多种类型的存储器一起使用。另外,多个计算设备600可以与提供必要操作的部分的每个设备(例如,作为服务器银行、刀片服务器组或多处理器系统)相连。

在计算设备600内存储器620非暂时性地存储信息。存储器620可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器620可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。非易失性存储器的示例包括,但不限于,闪存和只读性存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于诸如启动程序之类的固件)。易失性存储器的示例包括,但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。

存储设备630能够提供用于计算设备600的大容量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似固态存储器设备,或包括其他配置或存储区域网络中设备的设备阵列。在其他实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含当执行时执行诸如上述的一个或更多个方法的指令。信息载体是计算机可读介质或机器可读介质,例如存储器620、存储设备630或处理器610上的存储器。

高速控制器640为计算设备600管理带宽密集的操作,而低速控制器660管理较低带宽密集的操作。这种职责分配只是示例性的。在一些实施方式中,高速控制器640耦合到存储器620、显示器680(例如,通过图像处理器或加速器)并且耦合到高速扩展接口650,该高速扩展接口可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器660耦合到存储设备630和低速扩展接口690。可以包括各种通信接口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展接口690可以例如通过网络适配器耦合到一个或更多个输入/输出设备,例如键盘、指向设备、扫描器或诸如交换机或路由器之类的网络设备。

如图所示,计算设备600可以实现为几种不同形式。例如,计算设备可以实现为标准服务器600a或在服务器600a的组中被多次实现,实现为笔记本电脑600b或实现为机架式服务器600c的部分。

这里所述的系统和技术的各种实施方式能够在数字电子电路和/或光学电路、集成电路、特殊设计的ASICs(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式能够包括在一个或更多个程序中的实施方式,所述一个或更多个程序在包括至少一个可编程处理器的可编程系统上的可执行和/或可解释,可编程系统可以是专用的或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并向存储系统、至少一个输入设备和至少一个输出设备传送数据和指令。

这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象的程序语言和/或汇编/机器语言来实现。如这里所使用的,术语“机器可读介质”和“计算机可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),其包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指的是用于向可编程处理器提供机器指令和/或数据的任何信号。

在本说明书中描述的过程和逻辑流程能够由一个或更多个可编程处理器执行,一个或更多个可编程处理器执行一个或更多个程序来通过操作输入数据和产生输出来执行功能。过程和逻辑流程还能够由专用逻辑电路执行,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。举例来说,适用于执行计算机程序的处理器包括通用和专用微处理器两者以及任何类型的数字计算机的任何一个或更多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器以及用于存储指令和数据的一个或更多个存储设备。通常,计算机还将包括用于存储数据的一个或更多个大容量存储设备(例如,磁盘、磁光盘或光盘)或可操作地耦合以从所述一个或更多个大容量存储设备接收数据或向所述一个或更多个大容量存储设备传送数据或者两者。然而,计算机不必具有这种设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移除硬盘);磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或并入专用逻辑电路。

为了提供与用户的交互,本公开的一个或更多个方面能够在具有显示设备的计算机上实现,例如,CRT(阴极射线管)、LCD(液晶显示器)监测仪,或用于向用户显示信息的触摸屏,以及可选地键盘和指向设备,例如,鼠标或跟踪球,用户能够通过该键盘和指向设备向计算机提供输入。其他类型的设备也能够被用于提供与用户的交互,例如,提供给用户的反馈能够是任何形式的感官反馈;例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任何形式接收,包括声音输入、语言输入或触觉输入。另外,计算机能够通过向用户所使用的设备发送文件或从用户所使用的设备接收文件与用户交互;例如,通过响应于从网页浏览器接收的请求而将网页页面发送给用户的客户端设备上的网页浏览器。

已经描述多种实施方式。然而,应该理解,在不脱离本发明的精神和范围的情况下,可以进行各种修改。相应地,其他的实施方式在以下权利要求的范围内。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于在物理层帧和视频帧之间将帧定时同步的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类