掌桥专利:专业的专利平台
掌桥专利
首页

媒体项中的事件进度检测

文献发布时间:2023-06-19 12:16:29


媒体项中的事件进度检测

技术领域

本公开的各方面和实现方式涉及内容交付平台,并且更具体地而非限制地,涉及诸如直播流媒体项之类的媒体项中的事件进度检测。

背景技术

经由互联网连接的内容交付平台使用户能够彼此连接和共享信息。许多内容交付平台包括使用户能够上传、查看和共享诸如视频项、图像项、音频项等内容的内容共享方面。内容交付平台的其它用户可以评论共享内容,发现新内容,定位更新,共享内容以及以其它方式与所提供的内容交互。共享内容可以包括来自专业内容创建者的内容,例如,电影剪辑、电视剪辑和音乐视频项以及来自业余内容创建者的内容,例如,视频博客和原创短视频项。

发明内容

以下是为了提供对本公开一些方面的基本理解的本公开的简要概况。该概况并不是本公开的宽泛的概述。其意图既不是标识本公开的关键或至关重要的要素,也不是限定本公开的特定实现方式的任何范围或权利要求书的任何范围。其唯一目的是,以简化形式展示本公开的一些构思,作为稍后展示的更详细描述的序言。

本公开的一方面提供了一种方法,所述方法包括:接收从同时被流传输到内容交付平台的一个或多个用户的事件的媒体项中采样的一个或多个帧;分析所述一个或多个帧,以识别所述一个或多个帧内的一个或多个候选事件时钟;对于所述一个或多个帧中的每个帧,确定所述一个或多个候选事件时钟中的候选事件时钟是否满足一个或多个条件;以及响应于确定所述一个或多个候选事件时钟中的所述候选事件时钟满足所述一个或多个条件,将所述候选事件时钟识别为用于对所述事件进行定时的实际事件时钟,并生成将所述实际事件时钟映射到与所述媒体项的所述一个或多个帧中的相应帧关联的时间戳的映射数据。

本发明的另一方面提供了一种系统,所述系统包括:存储器;以及处理设备,其耦合到所述存储器,所述处理设备用于执行根据本文中描述的任何方面或实施例的方法。本发明的其它方面提供了一种包括指令的计算机程序产品(诸如,有形的计算机可读介质或软件产品,其可以被下载而不必以非暂态的方式存储),所述指令响应于处理设备的执行,使所述处理设备执行包括根据本文中描述的任何方面或实施例的方法的操作。本公开的其它方面提供了一种计算机程序,该计算机程序包括当由处理设备执行时使所述处理设备执行根据本文中描述的任何方面或实施例的操作的指令。

附图说明

将根据以下给出的详细描述以及本公开的各种方面和实现方式的附图,更充分地理解本公开的各方面和实现方式,然而,这些方面或实现方式不应该被视为将本公开限于特定方面或实现方式,而是用于说明和理解。

图1例示了按照本公开的实施例的示例系统架构。

图2A例示了按照本公开的实施例的用于将候选事件时钟识别为实际事件时钟并将实际事件时钟映射到与媒体项的相应帧关联的时间戳的方法的流程图。

图2B例示了按照本公开的实施例的用于确定候选事件时钟是否满足一个或多个条件的方法的流程图。

图3A是按照本公开的实施例的用于将实际事件时钟映射到与直播流媒体项的帧关联的时间戳的操作的示例流水线。

图3B是按照本公开的实施例的用于将实际事件时段映射到与直播流媒体项的帧关联的时间戳的操作的示例流水线。

图4是例示了按照本公开的实施例的用于针对候选事件时钟生成评分的评分操作的示例框图。

图5是例示了按照本公开的实施例的在客户端设备处呈现带有注释内容的直播流媒体项的示例。

图6是例示了按照本公开的实施例的示例性计算机系统的框图。

具体实施方式

内容交付平台可以经由用户设备向用户提供诸如视频项、音频项或游戏项等内容。用户可以登录到与内容交付平台关联的用户帐户以访问内容交付平台并上传和/或消费内容。内容交付平台可以将诸如直播流视频项的媒体项流传输到一个或多个客户端设备,以供用户消费。直播流媒体项可以指现场事件的现场广播或传输,其中,媒体项在事件发生时至少部分地被同时传输,并且其中,媒体项在媒体项开始传输时不是全部可用的。媒体项通常包括多个帧,其中,每个帧都包括可以在瞬时时间被渲染的视频数据(以及可选地,音频数据)。每一帧都与一个时间戳关联。每个时间戳为媒体项的相应帧编索引。例如,每个时间戳可以指示其关联帧被渲染的特定瞬时时间。时间戳可以被表示为相对于媒体项的第一帧或相对于任何其它合适基准点的时间(例如,毫秒数)。时间戳可以被存储在与它们相应的帧关联的元数据中,或者以任何其它合适的方式存储。内容交付平台可以从诸如内容所有者或内容分发者等源实体接收直播流媒体项,并在将媒体项传输到一个或多个客户端设备(例如,查看者的用户设备)之前,将媒体项缓冲短时间量(例如,30秒)。在缓冲时段期间,内容交付平台可在一个(多个)客户端设备处添加将与媒体项一起呈现的注释内容。注释内容可以指与诸如直播流媒体项或预记录媒体项等媒体项一起被呈现或同时提供的附加内容。注释内容可以包括但不限于视频、文本、图像、分析、视频覆盖等。在一些系统中,为了确定媒体项的相关注释内容,可以对媒体项执行诸如视频分析之类的分析,以识别媒体项的特定特征或特性。这样的特征或特性的示例可以包括在媒体项内呈现的人或事物、人正在执行的动作等。可以使用该特定特征或特性来生成媒体项的注释内容。分析操作可以消耗大量的计算资源(例如,处理和存储器资源),并可以针对同一事件的多个媒体项来执行。

例如,多个内容分发方可以流传输同一事件的不同直播流媒体项。即使直播流媒体项是同一事件的,但对于直播流媒体项,与同一场景有关的时间戳可以是不同的。这通常是在不同媒体项的时间戳被相对于不同的基准点表示时出现的。例如,直播流媒体项A的特定时间戳处的注释内容可以不适用于同一时间戳处的另一直播流媒体项B。如此,对同一事件的各直播流媒体项执行计算密集的分析,使得可以在同一场景(但在不同的相应时间戳)向各直播流媒体项添加同一注释内容。

本公开的各方面通过分析同一事件的一个或多个媒体项以识别媒体项的帧内的诸如事件时钟和/或事件时段之类的基准点,并且生成将诸如事件时钟和/或事件时段之类的基准点映射到与一个或多个媒体项的相应帧关联的时间戳的映射数据来应对以上提到的其它挑战。在一些实施例中,可以使用基准点,使得可以在不对同一事件的所有媒体项都执行分析操作的情况下,将针对事件的一个媒体项生成的注释内容应用于同一事件的其它媒体项。

在一些实施例中,基准点是由媒体项共享的公共特征。例如,事件可以是使用事件时钟和/或事件时段的体育事件。可以使用事件时钟对事件进行定时,并且可以使用事件时段来划分事件的时间。例如,足球比赛被划分为各自45分钟的两个时段(例如,半场)。足球比赛的事件时钟可以从0开始,一直运行,直到下半场的结尾结束(例如,90分钟)。虽然足球比赛的不同直播流媒体项都可以由不同的内容分发方传输并且对于足球比赛的同一场景(例如,比赛)具有不同的时间戳,但不同的直播流媒体项都共享同一事件时钟和时段,该时钟和时段可以被用作基准点。

在一些实施例中,接收事件的媒体项的一个或多个帧。媒体项可以被同时直播流传输到内容交付平台的一个或多个用户。分析媒体项的一个或多个帧,以识别帧内的一个或多个候选事件时钟(或事件时段)。对于该一个或多个帧,将一个或多个候选事件时钟(或事件时段)与一个或多个条件(例如,帧内的一个或多个候选事件时钟的总评分是否超过阈值、候选事件时钟是否在帧内呈现等)进行比较,以确定候选事件时钟是否满足该一个或多个条件。响应于确定候选事件时钟(或事件时段)满足该一个或多个条件,将候选事件时钟识别为事件的实际事件时钟(和/或将候选事件时段识别为实际事件时段)。生成将实际事件时钟(例如,在实际事件时钟上显示的时间)和/或事件时段映射到与一个或多个帧中的相应帧(例如,其中出现实际事件时钟的帧)关联的时间戳的映射数据。在一些实施例中,可以以类似的方式针对同一事件的多个媒体项中的每一个媒体项生成映射数据。

在一些实施例中,识别与媒体项相关的注释内容。基于映射数据用注释内容为媒体项加注释。提供具有注释内容的媒体项,以供在客户端设备处呈现。

在一些实施例中,注释内容可以对应于已被分析以推导注释内容的媒体项的特定时间戳。例如,注释内容可以与体育事件的重要场景或片段(例如,进球)相关。可以使用映射数据识别特定事件时钟(例如,事件时钟的特定时间)和/或与所分析的媒体项的时间戳关联的事件时段。利用特定事件时钟和/或事件时段,还可以使用映射数据识别具有同一特定事件时钟和/或事件时段的其它媒体项的对应时间戳。可以使用对应时间戳将同一或相似的注释内容应用于其它媒体项,而不用分析其它媒体项来识别注释内容。

如所指出的,本公开的实施例解决的技术问题是用于对同一事件的多个媒体项执行分析操作的大量计算资源。例如,对多个媒体项执行特征识别消耗了大量计算资源。另外,由于诸如直播流媒体项之类的媒体项将以极小的延迟或没有延迟地提供给终端用户,因此同一事件的多个媒体项的分析操作经常是同时执行的,这增加了在任何给定时间所需的计算资源。

以上识别的技术问题的技术解决方案可以包括:接收从同时被直播流传输到内容交付平台的一个或多个用户的事件的媒体流中采样的一个或多个帧;分析该一个或多个帧以识别该一个或多个帧内的一个或多个候选事件时钟;对于该一个或多个帧中的每个帧,确定该一个或多个候选事件时钟的候选事件时钟是否满足一个或多个条件;以及响应于确定该一个或多个候选事件时钟的候选事件时钟满足该一个或多个条件,将候选事件时钟识别为用于对事件进行定时的实际事件时钟,并生成将实际事件时钟映射到与媒体项的一个或多个帧的相应帧关联的时间戳的映射数据。

因此,本公开的技术效果可以包括减少在针对同一事件的媒体项生成注释内容并为同一事件的媒体项提供注释内容时使用的计算资源。

如上所指出的,直播流媒体项可以是现场事件的现场广播或传输。还可以注意到,除非另有说明,否则“直播流媒体项”或“当前呈现的直播流媒体项”是指正在直播流传输的媒体项(例如,当事件发生时媒体项被同时传输)。继直播流媒体项的直播流结束之后,可以获得并存储完整的直播流媒体项,并且本文可以将其称为“先前呈现的直播流媒体项”或“存档的直播流媒体项”。

图1例示了按照本公开的一个实施例的示例系统架构100。系统架构100(本文中也被称为“系统”)包括连接到网络105的内容交付平台114(本文中也被称为“内容分发平台”)、数据存储104和109、客户端设备103A-103Z(本文中通常被称为“(多个)客户端设备103”)、注释内容生成服务器108、内容分发服务器107和调度服务器106中的一个或多个。

在实施例中,网络105可以包括公共网络(例如,互联网)、专用网络(例如,局域网(LAN)或广域网(WAN))、有线网络(例如,以太网)、无线网络(例如,802.11网络或Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。

在实施例中,数据存储104和109是持久性存储,其能够存储内容项(诸如,媒体项)以及用于为内容项标记、组织和编索引的数据结构。数据存储104和109可以由诸如主存储器、基于磁或光存储的盘、磁带或硬盘驱动器、网络附加存储(NAS)、存储区域网络(SAN)等一个或多个存储设备托管。在一些实施例中,数据存储104和109可以是网络附加文件服务器,而在其它实施例中,数据存储104和109可以是诸如面向对象数据库、关系数据库等某种其它类型的持久性存储,其可以由内容交付平台114或经由网络105耦合到内容交付平台114的一个或多个不同的机器托管。

在一些实施例中,客户端设备103A-103Z可以各自包括诸如个人计算机(PC)、膝上型计算机、移动电话、智能电话、平板计算机、上网本计算机、网络连接的电视等计算设备。在一些实施例中,客户端设备103A-103Z也可以被称为“用户设备”。在实施例中,每个客户端设备包括媒体查看器102。在一个实施例中,媒体查看器102可以是使用户能够回放、查看或上传诸如图像、视频项、网页、文档、音频项等内容的应用。例如,媒体查看器102可以是可以访问、检索、呈现或导航由网络服务器服务的内容(例如,诸如超文本标记语言(HTML)页面之类的网页、数字媒体项等)的网络浏览器。媒体查看器102可以向用户渲染、显示或呈现内容(例如,网页、媒体查看器)。媒体查看器102还可以包括内置在网页(例如,可以提供关于由在线商家销售的产品的信息的网页)中的内置式媒体播放器(例如,

在一些实施例中,内容交付平台114、调度服务器106、内容分发服务器107或注释内容生成服务器108中的一个或多个可以是可以用于使用户能访问媒体项或向用户提供媒体项的一个或多个计算设备(诸如,机架服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如,硬盘、存储器、数据库)、网络、软件组件或硬件组件。例如,内容交付平台114可以使用户能够消费、上传、搜索、认可(“喜欢”)、不认可(“不喜欢”)或评论媒体项。内容交付平台114还可以包括可以用于使用户能访问媒体项的网站(例如,网页)或应用后台软件。

在本公开的实施例中,“用户”可以被表示为单个个体。然而,本公开的其它实施例涵盖“用户”是由一组用户和/或自动化源控制的实体。例如,在社交网络中联合作为社群的一组个体用户可以被视为“用户”。在另一示例中,自动消费者可以是内容交付平台114的诸如主题频道之类的自动引入流水线。

在一些实施例中,内容交付平台114可以包括多个频道(例如,频道A至Z,图1中仅示出了其中的频道A)。频道可以是可得自公共源的数据内容或具有公共主题、主题或实质的数据内容。数据内容可以是由用户选择的数字内容、使用户可用的数字内容、由用户上传的数字内容、由内容提供方选择的数字内容、由广播方选择的数字内容等。例如,频道X可以包括视频Y和Z。频道可以与所有者关联,所有者是可以对频道执行动作的用户。可以基于拥有者的动作将不同的活动与频道关联,诸如拥有者使数字内容在频道上可用、拥有者选择(例如,喜欢)与另一频道关联的数字内容、拥有者评论与另一频道关联的数字内容等。可以将与频道关联的活动收集到针对该频道的活动提要中。不同于频道所有者的用户可以订阅他们感兴趣的一个或多个频道。“订阅”的概念也可以被称为“喜欢”、“追随”、“交友”等。

一旦用户订阅了频道,就可以向用户呈现来自频道活动提要的信息。如果用户订阅了多个频道,则用户订阅的各频道的活动提要可以被组合成联合活动提要。可以将来自联合活动提要的信息呈现给用户。频道可以有他们自己的提要。例如,当导航到内容交付平台114上的频道的主页时,可以在频道主页上示出由该频道产生的提要项。用户可以有联合提要,该联合提要是包括来自用户订阅的所有频道的内容项的至少子集的提要。联合提要还可以包括来自用户未订阅的频道的内容项。例如,内容交付平台114或其它社交网络可以将所推荐的内容项插入用户的联合提要中,或者可以将与用户的相关连接关联的内容项插入联合提要中。

每个频道可以包括一个或多个媒体项111。媒体项111的示例可以包括而不限于数字视频、数字电影、数字照片、数字音乐、音频内容、旋律、网站内容、社交媒体更新、电子书(电子书籍)、电子杂志、数字报纸、数字音频书、电子期刊、网络博客、真实简单联合(RSS)提要、电子漫画书、软件应用等。在一些实施例中,媒体项111也被称为内容或内容项。

为了简洁和简单,而非限制,在整个本文档中使用视频项、音频项或游戏项作为媒体项111的示例。如本文所使用的,“媒体”、“媒体项”、“在线媒体项”、“数字媒体”、“数字媒体项”、“内容”和“内容项”可以包括电子文件,可以使用被配置为将数字媒体项呈现给实体的软件、固件或硬件来执行或加载该电子文件。在一个实施例中,内容交付平台114可以使用数据存储104存储媒体项111。在另一实施例中,内容交付平台114可以使用数据存储104和109以一种或多种格式将视频项或指纹作为电子文件存储。

在一个实施例中,媒体项111是视频项。视频项是表示运动中的场景的一组连续视频帧(例如,图像帧)。例如,一系列顺序视频帧可以被连续捕获或随后被重构以生成动画。视频项可以以各种格式呈现,这些格式包括但不限于模拟、数字、二维和三维视频。另外,视频项可以包括电影、视频剪辑或将按顺序显示的任何一组动画图像。另外,视频项可以被作为包括视频分量和音频分量的视频文件存储。视频分量可以指视频编码格式或图像编码格式(例如,H.264(MPEG-4AVC)、H.264MPEG-4Part 2、图形交换格式(GIF)、WebP等)的视频数据。音频分量可以指音频编码格式(例如,高级音频编码(AAC)、MP3等)的音频数据。可以注意到,GIF可以被保存为图像文件(例如,.gif文件),或者被保存为动画GIF(例如,GIF89a格式)中的一系列图像。可以注意到,H.264可以是视频编码格式,即例如用于记录、压缩或分发视频内容的基于块定向的运动补偿的视频压缩标准。

在一些实施例中,媒体项111可以被诸如在直播流中流传输到客户端设备103A-103Z中的一个或多个。可以注意到,“被流传输”或“正在流传输”指诸如媒体项之类的内容的传输或广播,其中,接收到的媒体项的一些部分可以在接收后立即地,或者在接收设备没有接收到整个媒体项的情况下而媒体内容的其它部分被交付的同时由接收设备回放(在技术限制内)。“流”可以指被流传输或正在流传输的诸如媒体项之类的内容。直播流媒体项可以指现场事件的现场广播或传输,其中,媒体项在发生事件时至少部分地同时被传输到接收设备,并且其中,媒体项至少在媒体项开始传输时不是全部可用的。

在实施例中,内容交付平台114可以允许用户创建、共享、查看或使用包含媒体项的播放列表(例如,包含媒体项111的播放列表A-Z)。播放列表是指被配置为在没有任何用户交互的情况下以特定顺序相继播放的媒体项的集合。在实施例中,内容交付平台114可以代表用户维护播放列表。在实施例中,内容交付平台114的播放列表特征允许用户将他们喜爱的媒体项在单个位置中分组在一起以进行回放。在实施例中,内容交付平台114可以将播放列表上的媒体项发送到客户端设备103以进行回放或显示。例如,可以使用媒体查看器102按媒体项在播放列表上罗列的顺序播放播放列表上的媒体项。在另一示例中,用户可以在播放列表上的媒体项之间转换。在又一示例中,用户可以等待播放列表上的下一媒体项,或者可以选择播放列表中的特定媒体项进行回放。

在实施例中,用户可以通过用户帐户访问内容交付平台114。用户可以通过经由客户端设备103A(例如,媒体查看器102)上的应用提供用户帐户信息(例如,用户名和密码)来访问(例如,登录到)用户帐户。在一些实施例中,用户帐户可以与单个用户关联。在其它实施例中,用户帐户可以是共享帐户(例如,由多个用户共享的家庭帐户)(本文中也被称为“共享用户帐户”)。共享帐户可以具有多个各自与不同用户关联的用户简档。多个用户可以使用同一账户信息或不同的账户信息登录到共享账户。在一些实施例中,可以基于共享账户的不同用户简档来区分共享账户的多个用户。

在一些实施例中,内容交付平台114可以向客户端设备103A-103Z广播一个或多个直播流媒体项。在一些实施例中,当从内容分发服务器107流传输直播流媒体项时,内容交付平台114可以接收诸如直播流媒体项120之类的直播流媒体项的一些部分。在一些实施例中,直播流媒体项的一些部分可以对应于直播流媒体项120的帧序列。例如,流传输到内容交付平台114的直播流媒体项的第一部分可以是直播流媒体项的第一个30秒(0-30秒),直播流媒体项的第二部分可以是直播流媒体项的第二个30秒(31-60秒),以此类推。在一些实施例中,内容交付平台114可以在将直播流媒体项的一些部分流传输到客户端设备103A-103Z之前缓冲直播流媒体项的这些部分。例如,内容交付平台114可以在从内容分发服务器107接收到直播流媒体项120之后并前在将直播流媒体项120流传输到客户端设备103A-103Z之前,将直播流媒体项(例如,其一些部分)缓冲30秒。

在一些实施例中,内容交付平台114可以在客户端设备103A-103Z处的直播流媒体项呈现中添加注释内容。在一些实施例中,内容交付平台114可以确定与直播流媒体项关联的诸如事件时钟或事件时段之类的一个或多个基准点,该基准点可以被用作将注释内容添加到直播流媒体项呈现的基准。

在一些实施例中,内容交付平台114可以对直播流媒体项120的一些部分的帧(例如,视频帧)进行采样。内容交付平台114可以分析一个或多个采样帧,以确定直播流媒体项120的采样帧内的一个或多个候选事件时钟。对于采样帧中的每个帧,内容交付平台114可以确定一个或多个候选事件时钟中的任一个是否满足一个或多个条件。响应于确定候选事件时钟满足一个或多个条件,内容交付平台114可以识别候选事件时钟是用于对事件进行定时的实际事件时钟。内容交付平台114可以将实际事件时钟映射到与其中呈现实际事件时钟的相应帧关联的时间戳。在一些实施例中,内容交付平台114可以以如上所述的类似方式确定直播流媒体项120的一些或所有采样帧内的实际事件时段。实际事件时钟和实际事件时段可以被映射到与其中呈现实际事件时钟和/或实际事件时段的相应帧关联的时间戳。相对于图3A进一步描述实际事件时钟的识别,并且相对于图3B进一步描述实际事件时段的识别。

在一些实施例中,系统架构100包括调度服务器106。调度服务器106可以提供诸如调度信息之类的关于诸如直播流媒体项之类的媒体项的传输或广播的信息。调度信息可以包括诸如直播流媒体项的事件类型、媒体项的传输或广播的开始时间、媒体项的传输或广播的结束时间、媒体项的标题和/或与媒体项关联的其它元数据之类的信息。在一些实施例中,调度信息可以指示将传输或广播直播流媒体项的特定内容分发方。例如,调度信息可以指示内容分发服务器107的内容分发方将在7月18日太平洋标准时间下午4:00传输直播流媒体项120。调度信息还可以指示直播流传输是圣克拉拉野马队与科罗拉多老虎队之间的篮球体育赛事。在一些实施例中,调度服务器106是第三方服务提供方。在一些实施例中,调度服务器106可以是内容交付平台114或内容分发服务器107的一部分。

在一些实施例中,内容交付平台114(例如,映射模块110)可以查询调度服务器106以检索与诸如直播流媒体项之类的媒体项的广播或传输对应的调度信息。在一些实施例中,内容交付平台114可以经由网络105与调度服务器106通信,以确定将来要广播的任何直播流媒体项以及直播流媒体项的事件类型。在一些实施例中,例如,内容交付平台114可以选择诸如体育赛事或使用事件时钟的任何事件之类的感兴趣的特定事件类型的直播流媒体项。

在一些实施例中,系统架构100包括一个或多个诸如内容分发服务器107之类的内容分发服务器。内容分发服务器107可以是诸如直播流媒体项之类的广播或传输媒体项的内容分发方的一部分。在一些实施例中,内容分发服务器107可以向内容分发平台114传输一个或多个直播流媒体项。内容交付平台114可以用注释内容为直播流媒体项加注释,并将经注释的直播流媒体项传输到一个或多个客户端设备103A-103Z。在一些实施例中,内容分发服务器107是内容交付平台114的一部分。在其它实施例中,内容分发服务器107是向内容交付平台114分发内容的第三方平台。

在一些实施例中,系统架构100包括注释内容生成服务器108。在一些实施例中,注释内容生成服务器108可以提供识别或生成被提供给内容交付平台114以包括在直播流媒体项的呈现中的注释内容的注释服务。

在一些实施例中,注释内容生成服务器108可以分析直播流媒体项(例如,直播流媒体项的一些部分)以识别直播流媒体项内的或与其关联的感兴趣的内容。在一些实施例中,注释内容生成服务器108可以使用机器学习模型112来识别直播流媒体项内的或与其关联的感兴趣的内容。例如,内容交付平台114可以向注释内容生成服务器108发送直播流媒体项的一些部分。注释内容生成服务器108可以使用直播流媒体项的一部分作为机器学习模型112的输入(例如,特征)(在任何预处理之前或在预处理直播流媒体项的一些部分之后),并接收机器学习模型112的输出,该输出给出了直播流媒体项的特定时间戳范围包含某些感兴趣内容的概率。在一些实施例中,注释服务器可以基于机器学习模型112的输出为直播流媒体项生成特定注释内容。可以使用训练数据(例如,诸如实时流媒体项之类的示例性媒体项可以被用作训练输入,并且诸如媒体项内的短片段之类的媒体项内的感兴趣内容可以被用作目标输出)来训练机器学习模型112。

例如,注释内容生成服务器108可以在1分30秒至2分钟的时间戳范围内识别相对于直播流媒体项的篮球比赛的相关片段(例如,重要比赛或关键比赛)。注释内容生成服务器108还可以生成包括高亮剪辑(例如,短视频)的注释内容,该高亮剪辑示出了相关片段的视频连同关于相关片段的一些信息,诸如涉及的运动员、相对于直播流媒体项的重要比赛发生时的时间戳范围、重要比赛发生时的比赛分数等。所生成的注释可以被提供给内容交付平台114以包括在直播流媒体项的呈现中。

在一些实施例中,注释内容生成服务器108可以向内容交付平台114提供注释信息,其中,内容交付平台114使用该注释信息来生成注释内容。

例如,注释内容生成服务器108可以向内容交付平台114发送诸如当相对于直播流媒体项发生重要比赛时的时间戳范围之类的注释信息。内容交付平台114可以基于相对于直播流媒体项的时间戳的范围来生成重要比赛的高亮剪辑。

在一些实施例中,注释内容生成服务器108可以是内容交付平台114的一部分。在一些实施例中,注释内容生成服务器108可以由经由应用编程接口(API)与内容交付平台114通信的第三方服务提供。相对于图2A和图3A,进一步描述由注释内容生成服务器108生成的注释内容。

在一些实施例中,系统架构100包括数据存储109。在一些实施例中,数据存储109可以存储与直播流媒体项有关的相关内容。例如,相关内容可以包括可以用于生成包括在直播流媒体项的呈现中的注释内容的事件信息。在一些实施例中,注释内容生成服务器108或内容交付平台114可以使用数据存储109来生成用于直播流媒体项的注释内容。例如,数据存储109可以包括与正被作为直播流媒体项流传输的特定事件有关的事件信息113。例如,事件信息可以包括关于事件的直播统计信息、关于事件参与者的统计信息或其它信息、事件的玩家、关于事件的评分信息、关于参与事件的(多个)团队的团队信息、与事件、参与者或团队有关的历史信息或任何其它类型的事件相关信息。可以查询数据存储109来检索事件信息。在一些实施例中,可以基于事件的实际事件时钟(和/或实际事件时段)来获得数据存储109的信息。

在一些实施例中,本文中描述的操作中的一个或多个可以由作为内容交付平台114的部分的映射模块110执行。在一些实施例中,映射模块110可以是图1的另一部件的部分。例如,映射模块110可以由诸如第三方服务之类的外部服务托管。

图2A例示了按照本公开的实施例的用于将候选事件时钟识别为实际事件时钟并将实际事件时钟映射到与媒体项的相应帧关联的时间戳的方法200的流程图。方法200由可以包括硬件(电路、专用逻辑等)、软件(例如,在处理设备上运行的指令)或其组合的处理逻辑来执行。在一些实施例中,方法200的一些或全部操作可以由图1的系统100的一个或多个部件执行。在一些实施例中,方法200的一个或多个操作可以由内容交付平台114的映射模块110执行,如相对于图1描述的。可以注意到,可以使用相对于图1描述的部件来例示图2A的各方面。

在框202处,实现方法200的处理逻辑接收从事件的诸如直播流媒体项之类的媒体项中采样的一个或多个帧。在一些实施例中,事件同时被直播流传输到内容交付平台114的一个或多个用户。例如,一个或多个帧可以来自在内容交付平台114处接收的媒体项的一部分,其中媒体项的其它部分尚未被记录(因为事件尚未完成)或被传输到内容交付平台114。

在框204处,处理逻辑分析一个或多个帧以识别一个或多个帧内的一个或多个候选事件时钟。术语“候选事件时钟”指帧的一部分,其可以是实际事件时钟或者可以不是实际事件时钟。例如,候选事件时钟可以包括在帧中可见显示的文本(例如,数字)。可以分析候选事件时钟以确定其是否是用于对事件进行定时的实际事件时钟。在一些实施例中,分析一个或多个帧以识别一个或多个帧内的一个或多个候选事件时钟包括对一个或多个帧执行光学字符识别操作,以识别指示一个或多个候选事件时钟的文本以及描述一个或多个候选事件时钟相对于一个或多个帧的位置的位置信息。相对于图3进一步描述分析一个或多个帧以识别一个或多个帧内的一个或多个候选事件时钟的一些方面。

在框206处,处理逻辑确定一个或多个候选事件时钟中的候选事件时钟是否满足一个或多个条件。在实施例中,可以针对一个或多个帧中的每个帧执行确定一个或多个候选事件时钟中的候选事件时钟是否满足一个或多个条件。将相对于图2B至图3A进一步描述确定候选事件时钟是否满足一个或多个条件的一些方面。对于其中处理逻辑确定满足一个或多个条件的候选事件时钟的每个帧,处理逻辑可以前进至框208。如果处理逻辑确定一个或多个帧中的任一个帧的候选事件时钟不满足一个或多个条件,则处理逻辑可以返回到框202,以对媒体项的其它部分(例如,最近接收的)的附加采样帧执行方法200的操作。

在框208处,处理逻辑将该候选事件时钟识别为用于对事件进行定时的实际事件时钟。在一些实施例中,候选事件时钟被识别为一个或多个帧中的每个帧中的实际事件时钟,对于该一个或多个帧中的每个帧,候选事件时钟被确定为满足一个或多个条件。

在框210处,处理逻辑生成将实际事件时钟映射到与媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。在一些实施例中,响应于确定一个或多个候选事件时钟中的候选事件时钟满足一个或多个条件,生成将实际事件时钟映射到与媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。在一些实施例中,针对在其内识别了实际事件时钟的一个或多个帧中的每个帧,执行生成将实际事件时钟映射到与媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。相对于图3A至图3B进一步描述生成映射数据的一些方面。

在一些实施例中,处理逻辑可以识别与媒体项有关的注释内容。在一些实施例中,处理逻辑可以基于映射数据用注释内容注释媒体项。例如,当在参考实际事件时钟定义的特定时间将给定注释内容进行渲染时,处理逻辑可以使用映射数据来识别对应于该特定时间的时间戳。然后,处理逻辑可以通过将注释内容与具有所识别时间戳的帧关联来为媒体项加注释。例如,处理逻辑可以通过将注释内容添加到该帧的元数据来为媒体项加注释。在一些实施例中,处理逻辑可以提供具有注释内容的媒体项以供在客户端设备处呈现。

在一些实施例中,处理逻辑可以分析一个或多个帧,以识别一个或多个帧内的一个或多个候选事件时段。术语“候选事件时段”指帧的一部分,其可以表示实际事件时段或者可以不表示实际事件时段。例如,候选事件时钟可以包括在帧中可见显示的文本(例如,一个或多个字母和/或数字)。可以分析候选事件时段以确定其是否是用于对事件的时间进行划分的实际事件时段。在一些实施例中,分析一个或多个帧以识别一个或多个帧内的一个或多个候选事件时段包括对一个或多个帧执行光学字符识别操作,以识别指示一个或多个候选事件时段的文本以及描述一个或多个候选事件时段相对于一个或多个帧的位置的位置信息。

在一些实施例中,处理逻辑可以确定一个或多个候选事件时段中的候选事件时段是否满足一个或多个条件。在一些实施例中,可以针对一个或多个帧中的每个帧或一个或多个帧中的一些帧执行确定一个或多个候选事件时段中的候选事件时段是否满足一个或多个条件。

在一些实施例中,响应于确定一个或多个候选事件时段中的候选事件时段满足一个或多个条件,处理逻辑将候选事件时段识别为用于划分事件时间的实际事件时段。在一些实施例中,处理逻辑生成将实际事件时段映射到与媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。在一些实施例中,响应于确定一个或多个候选事件时段中的候选事件时段满足一个或多个条件,执行生成将实际事件时段映射到与媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。相对于图3B进一步描述将候选事件时段识别为实际事件时段的一些方面。

在一些实施例中,当媒体项同时被流传输到一个或多个用户时,处理逻辑可以进行媒体项的注释内容分析。在一些实施例中,执行注释内容分析,以识别在与媒体项关联的(多个)特定时间戳与媒体项相关的注释内容。在一些实施例中,处理逻辑将注释内容提供给客户端设备以与媒体项的实例一起呈现。相对于图3B进一步描述进行媒体项的注释内容分析的一些方面。

在一些实施例中,媒体项是第一媒体项并且客户端设备是第一客户端设备。在一些实施例中,处理逻辑生成将实际事件时钟映射到与第二媒体项的一个或多个帧中的相应帧关联的时间戳的附加映射数据。可以以与本文中相对于生成媒体项(例如,第一媒体项)的映射数据所述的类似方式来执行生成针对第二媒体项的映射数据。在一些实施例中,处理逻辑基于实际事件时钟和附加映射数据用注释内容为第二媒体项加注释。在一些实施例中,处理逻辑提供具有注释内容的第二媒体项以供在第二客户端设备处呈现。

在一些实施例中,不执行第二媒体项的注释内容分析。例如,处理逻辑可以确定不执行第二媒体项的注释内容分析,因此省略执行这样的注释内容分析。在一些实施例中,与第一媒体项关联且对应于事件的实际事件时钟的特定时间的时间戳不同于与第二媒体项关联且对应于事件的实际事件时钟的相同特定时间的时间戳。

图2B例示了按照本公开的实施例的用于确定候选事件时钟是否满足一个或多个条件的方法212的流程图。方法212由可以包括硬件(电路、专用逻辑等)、软件(例如,在处理设备上运行的指令)或其组合的处理逻辑来执行。在一些实施例中,方法212的一些或全部操作可以由图1的系统100的一个或多个部件执行。在一些实施例中,方法212的一个或多个操作可以由内容交付平台114的映射模块110执行,如相对于图1描述的。可以注意到,可以使用相对于图1描述的部件来例示图2B的各方面。可以注意到,相对于方法212描述的条件中的一个或多个条件可以独立地实现或与一个或多个其它条件一起实现,以确定候选事件时钟是否满足所确定的(多个)条件。还可以注意到,可以对媒体项的一个或多个帧执行方法212的操作。出于例示而非限制的目的,方法212将被描述为是针对单个帧执行的。

在框214处,实现方法212的处理逻辑针对媒体项的帧的一个或多个候选事件时钟中的每个候选事件时钟生成评分。在一些实施例中,评分可以指示一个或多个候选事件时钟中的相应候选事件时钟是用于对事件进行定时的实际事件时钟的可能性。在一些实施例中,各帧可以具有两个评分:帧评分和总评分。帧评分可以指针对特定帧所确定的候选事件时钟的评分。总评分可以指候选事件时钟的先前帧评分和候选事件时钟的当前帧频分的总评分或累积评分。相对于图4进一步描述帧评分和总评分。除非另有描述或暗示,否则本文所使用的评分是指总评分。

在框216处,处理逻辑通过确定(帧的)一个或多个候选事件时钟的任何评分是否满足阈值评分来确定是否满足第一条件。例如,满足阈值评分可以包括确定候选事件时钟评分(例如,总评分)大于或等于阈值评分。在一些实施例中,如果候选事件时钟评分确实满足阈值评分,则处理逻辑可以行进到框218以确定候选事件时钟是否满足第二条件,诸如确定满足阈值评分的候选事件时钟中的哪一个候选事件时钟具有最高评分。在一些实施例中,如果候选事件时钟评分不满足阈值评分,则处理逻辑可以针对一个或多个帧中的下一顺序帧或针对媒体项的附加部分的帧重复在框214处执行的操作。

在框218处,处理逻辑通过选择具有最高评分的候选事件时钟来确定是否满足第二条件。可以注意到,帧中的多个候选事件时钟在某些情形下可以具有满足阈值评分的评分。在一些实施例中,选择具有最高评分的候选事件时钟是响应于确定一个或多个候选事件时钟的评分中不止一个评分满足阈值评分。

在框220处,处理逻辑通过确定所选择的候选事件时钟是否呈现在帧内来确定是否满足第三条件。在一些实施例中,如果在帧内呈现候选事件时钟,则处理逻辑可以确定候选事件时钟是实际事件时钟。可以注意到,在一些实施例中,没有候选事件时钟的帧可以不具有该帧的帧评分,但仍然可以具有该帧的候选事件时钟的总评分。在一些实施例中,如果在帧内未呈现候选事件时钟,则处理逻辑返回到框214以处理下一帧。将相对于图4进一步描述确定候选事件时钟是否满足一个或多个条件的一些方面。

还可以注意到,可以以与针对方法212描述的类似方式来执行确定候选事件时段是否满足一个或多个条件。

图3A是按照本公开的实施例的用于将实际事件时钟映射到与媒体项的帧关联的时间戳并且向直播流媒体项提供注释内容以供在客户端设备处呈现的操作的示例流水线。流水线300的一个或多个操作可以由映射模块110执行。尽管流水线300是以特定顺序图示的,但可以理解,操作中的一些可以串行或并行地执行。还可以注意到,在一些实施例中可以执行相同的、更少的、更多的或不同的操作。

在一些实施例中,在查询操作302处,内容交付平台114(例如,映射模块110)可以查询图1的调度服务器106,以识别将来将传输或广播(或目前正在广播或传输)的任何直播流媒体项。内容交付平台114还可以通过查询调度服务器106来确定直播流媒体项的事件类型。内容交付平台114可以通过将事件类型与感兴趣的事件类型的记录进行比较来确定直播流媒体项的事件类型是否是感兴趣的事件类型。事件类型可以包括例如不同类型的体育赛事或具有事件时钟的事件类型。在一些实施例中,如果被调度进行传输的直播流媒体项是感兴趣的事件类型,则一旦直播流媒体项的传输已经开始,内容交付平台114就可以调度作业以生成用于直播流媒体项的映射数据。

在一些实施例中,在广播操作304处,如图1中详细描述的,内容分发服务器107可以向内容交付平台114传输(例如,流传输)直播流媒体项。如上所述,直播流媒体项的一些部分可以被流传输到内容交付平台114。内容交付平台114可以缓冲直播流媒体项的这些部分,并执行本文描述的操作(例如,直播流媒体项的映射和注释等)。

可以注意到,事件可以被作为诸如多个直播流媒体项之类的多个媒体项进行流传输。多个直播流媒体项可以是不同于同一直播流媒体项的多个实例。例如,事件的多个直播媒体项可以是用不同的照相机记录的,由不同的内容分发方传输,或者针对不同的区域市场进行创作。同一事件的多个直播流媒体项可以具有与该事件的同一实际事件时钟或实际事件时段对应的不同时间戳。例如,西班牙正在举办一项体育赛事。在美国的体育赛事广播的直播流可以不同于在西班牙的同一体育赛事广播的直播流(例如,由同一内容分发方提供赛事的不同区域版本)。在另一示例中,内容分发方A可以广播体育赛事X的一个直播流,内容分发方B可以广播体育赛事X的另一个不同的直播流。同一赛事的不同直播流媒体项中的每一个可以被发送到内容分发平台114。

在一些实施例中,内容交付平台114可以执行采样操作306。在采样操作306处,内容交付平台114可以对直播流媒体项120的一些部分进行采样。在一些实施例中,内容交付平台114可以对接收到的直播流媒体项的一些部分的帧的子集进行采样。在其它实施例中,内容交付平台114可以对接收到的直播流媒体项的一些部分的所有帧进行采样。

在一些实施例中,可以以特定频率对直播流媒体项的(一些部分的)帧进行采样。例如,可以以每秒一帧的频率对直播流媒体项120的一些部分进行采样。在一些实施例中,频率可以根据事件类型改变。在一些实施例中,采样频率可以对应于特定事件类型的事件时钟的最小增量。例如,对于具有以1秒为单位递增的事件时钟的事件类型,可以以每秒一帧对直播流媒体项的一些部分的帧进行采样。对于具有以亚秒为单位的事件时钟的事件类型,可以以亚秒级频率对直播流媒体项的一些部分的帧进行采样,或者可以使用直播流媒体项的所有帧。例如,美式足球赛事类型可以具有以秒为单位递增的事件时钟,并且美式足球赛事类型的直播流的帧可以每秒1帧地进行采样。在另一示例中,100码短跑赛事类型可以具有以毫秒为单位递增的事件时钟。100码短跑型的直播流的帧可以以亚秒级频率进行采样。

在一些实施例中,内容交付平台114可以对直播流媒体项的采样视频帧执行内容分析操作308(例如,文本分析)。在一些实施例中,在内容分析操作308处,内容交付平台114可以分析一个或多个采样帧以检索描述帧的内容的帧内容信息。在一些实施例中,帧内容信息可以包括所分析的视频帧内的文本或指示文本相对于所分析的视频帧的位置的文本位置信息。

在一些实施例中,可以使用光学字符识别技术来检索文本和文本的位置信息。可以注意到,光学字符识别技术是出于例示的目的而非限制的目的使用的。在其它实现方式中,可以使用其它技术检索帧内容信息。在一些实施例中,光学字符识别操作可以将文本的图像转换为机器编码文本。例如,在直播流媒体项的帧内的事件时钟图像可以被转换为文本。在一些实施例中,帧内的所有文本图像可以被转换为文本。

在一些实施例中,识别文本的位置信息可以包括识别相对于给定帧在坐标结构中定位文本的坐标标识符(例如,四个坐标标识符)。例如,可以向各帧应用诸如X轴和Y轴之类的坐标结构。文本的位置可以在坐标结构内确定。文本的位置可以用坐标标识符来描述。在一些实施例中,对于每个帧,可以将文本、位置信息和识别与文本和位置信息对应的帧的帧标识符中的一个或多个发送到候选事件时钟操作312。在一些实施例中,对于没有文本的帧,可以将在帧和帧标识符中没有找到文本的指示发送到候选事件时钟操作312。

在一些实施例中,内容交付平台114可以执行候选事件时钟操作312。在候选事件时钟操作312处,内容交付平台114使用由内容分析操作308提供的文本和位置信息来识别一个或多个采样帧中的每个帧或一些帧内的一个或多个候选事件时钟。在一些实施例中,可以使用模式识别技术从文本和文本的位置信息中识别候选事件时钟。模式识别可以指在诸如文本和/或文本的位置信息之类的给定序列值中检查某种预定模式的存在。

例如,事件时钟常常对应于特定的格式。例如,由冒号(“12:45”)分隔的四个数字是事件时钟的常见格式。在一些实施例中,从光学字符识别技术检索的文本和文本的位置信息可以被用作输入,并通过模式识别子操作进行处理,以确定文本是否将被视为候选事件时钟(或候选事件时段)。模式识别子操作可以确定文本和文本位置信息是否与特定模式或格式(例如,事件时钟模式)对应(例如,匹配)并过滤掉与模式不对应的文本和文本位置信息(例如,噪声)。如果文本和/或文本位置信息匹配或对应于模式,则该文本可以被确定为候选事件时钟。如果文本与模式不匹配或不对应,则该文本不被识别为候选事件时钟。

在一些实施例中,可以基于事件类型从多个模式识别操作中选择特定模式识别操作。不同的事件类型可以具有不同的事件时钟模式和时段模式。所选择的模式识别操作可以检测特定事件类型的特定模式。

在一些实施例中,内容交付平台114可以对在候选事件时钟操作312处识别的候选事件时钟执行评分操作314。所确定的候选事件时钟和相应的文本位置信息可以从候选事件时钟操作312发送到评分操作314。执行评分操作314的内容交付平台114可以针对一个或多个采样帧中的每个帧中的一个或多个候选事件时钟中的每个候选事件时钟生成评分。

在一些实施例中,可以基于事件类型从多个评分操作中选择特定评分操作。不同的事件类型可以具有不同的特性。例如,预计足球赛事的事件时钟相对于顺序帧而增加,而预计美式足球赛事的事件时钟减少。所选择的评分操作可以基于特定事件类型的特定特性对候选事件时钟进行评分。

在一些实施例中,评分可以基于一种或多种标准(或规则)。如上所述,标准可以是基于事件类型。在示例中,内容交付平台114可以确定候选事件时钟中的一个或多个的时间是否已经从采样视频帧的一帧改变为下一顺序帧。响应于确定候选事件时钟的时间已经从一帧改变为下一顺序帧,内容交付平台114可以确定改变的幅度和方向。

如果改变的幅度和方向与特定事件类型的事件时钟一致,则内容交付平台114可以对相应帧的候选事件时钟进行正评分(例如,帧评分)。如果改变的幅度或改变的方向与特定事件类型的事件时钟不一致,则内容交付平台114可以对相应帧的候选事件时钟进行负评分(例如,帧评分)。

例如,对于帧1,候选事件时钟X与读取为“12:20”的文本关联。对于下一顺序采样帧(即帧2),候选事件时钟X与读取为“12:19”的文本关联。帧每秒被采样一次,并且特定事件类型具有以1秒为增量倒数的事件时钟。内容交付平台114可以将在帧2处的候选事件时钟帧评分加5分,并将该数据作为与在帧2处的候选事件时钟X关联的帧评分进行存储。

在一些实施例中,候选事件时钟的评分可以相对于顺序帧被求和。例如,在帧2处的候选事件时钟X的总评分(例如,累积评分)可以是在帧1处的候选事件时钟X的评分(如果有的话)与在帧2处的候选事件时钟X的评分的总和。在帧3处的候选事件时钟X的评分可以是帧1、帧2和帧3的候选事件时钟X的评分的总和。

对于各采样帧的各候选事件时钟的评分(帧和/或总评分)可以被发送到条件分析操作316。相对于图4进一步描述了候选事件时钟的评分的一些方面。

在一些实施例中,在条件分析操作316处,内容交付平台114可以确定一个或多个采样帧中的每个帧的候选事件时钟是否满足一个或多个条件。在一些实施例中,在条件分析操作316处,内容交付平台114确定一个或多个候选事件时钟的任一评分是否满足阈值评分。例如,满足阈值评分可以包括确定特定帧的候选事件时钟评分(例如,总评分)大于或等于阈值评分。在实施例中,特定帧的候选事件时钟的评分对应于特定帧的候选事件时钟的总评分。在一些实施例中,内容交付平台114确定特定帧的一个或多个候选事件时钟的任一评分是否满足阈值评分。

例如,在帧3处有三个候选事件时钟:候选事件时钟X、候选事件时钟Y和候选事件时钟Z的总评分分别为15、10和-5。阈值评分为5。候选事件时钟X(15)和候选事件时钟Y(10)二者的评分都满足阈值评分,而候选事件时钟Z不满足阈值评分。

在一些实施例中,如果候选事件时钟中的任一个都具有满足阈值评分的特定帧的总评分,则可以借鉴另一条件(例如,第二条件)来评估那些(多个)候选事件时钟。在一些实施例中,对于具有满足阈值评分的总评分的一个或多个候选事件时钟,内容交付平台114可以选择具有最高评分的候选事件时钟。

例如,帧3的候选事件时钟X(15)和候选事件时钟Y(10)二者都满足阈值评分。与候选事件时钟Y的总评分(10)相比,候选事件时钟X具有最高的总评分15。

在一些实施例中,可以评估具有最高评分的候选事件时钟,以确定候选事件时钟是否满足另一条件(例如,第三条件)。在一些实施例中,第三条件确定候选事件时钟是否呈现在一个或多个帧的相应帧内。

例如,候选事件时钟X是针对帧3所选的候选事件时钟,因为它满足阈值评分并对于帧3而言具有最高总评分。由于可以对特定候选事件时钟的总评分进行求和,因此在当前帧内没有候选事件时钟的一些帧仍然可以具有在先前帧中存在的候选事件时钟的总评分。没有候选事件时钟的帧的一个示例可以包括插入到赛事的直播流媒体项中的商业广告。可以从候选事件时钟中所包括的先前帧中保留候选事件时钟的总评分,并将其填充到不包括候选事件时钟的后续帧。

在实施例中,如果候选事件时钟满足一个或多个条件,则候选事件时钟被识别为实际事件时钟。如果候选事件时钟不满足一个或多个条件,则该候选事件时钟不被识别为实际事件时钟。

在以上示例中,如果帧3的候选事件时钟X不在帧3内,则候选事件时钟X不被识别为帧3的实际事件时钟。如果帧3的候选事件时钟X在帧3内(并满足其它条件),则候选事件时钟X被识别为实际事件时钟。

在一些实施例中,可以使用以上条件中的一个或多个来确定实际事件时钟。在其它实施例中,可以使用不同条件来确定实际事件时钟。

在一些实施例中,内容交付平台114可以执行映射操作318。在映射操作318处,内容交付平台114可以生成将实际事件时钟映射到与直播流媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。如所指出的,实际事件时钟可以被用作同一事件的多个直播流媒体项的基准或基准点。在一些实施例中,映射数据可以被存储在记录中。在示例中,映射数据可以识别一个或多个实际事件时钟(例如,实际事件时钟的时间)、其中已识别到实际事件时钟的直播流媒体项的帧的时间戳以及直播流媒体项的标识符。

在一些实施例中,内容交付平台114可以执行注释内容生成操作310。如相对于图1所指出的,注释内容生成操作可以由诸如第三方服务之类的服务(例如,注释服务)来执行。在一些实施例中,图1的注释内容生成服务器108可以执行注释内容生成操作310。

在一些实施例中,注释内容生成操作310可以接收由内容交付平台114接收的直播流媒体项的一些部分(例如,未采样的)。在一些实施例中,注释内容生成操作310可以接收直播流媒体项的采样帧。在一些实施例中,注释内容生成操作310可以向内容交付平台114提供注释信息,其中,内容交付平台114使用该注释信息来生成注释内容。在一些实施例中,在注释内容生成操作310处,在接收到的直播流媒体项的帧内生成或识别注释内容。在一些实施例中,可以将注释内容与在直播流媒体项内可以找到注释内容的时间戳范围一起发送。在一些实施例中,可以将注释内容与指示与注释内容相关的直播流媒体项的时间的时间戳范围一起发送。可以将时间戳与映射数据一起使用,以识别与注释内容相关的事件的实际事件时钟。

在示例中,在注释内容生成操作310处,内容交付平台114可以分析直播流媒体项,以识别诸如得分片段(例如,导致得分或达阵的比赛)之类的美式足球体育赛事的直播流媒体项的相关片段(例如,关键比赛)。在注释内容生成操作310处,可以识别包含相关片段的采样帧或采样帧的序列(例如,(多个)时间戳)。所生成的注释内容和/或注释信息可以被发送到直播流媒体项注释操作322。在一些实施例中,内容交付平台114可以执行注释内容发现操作320。在一些实施例中,在注释内容发现操作320处,内容交付平台114可以使用实际事件时钟(或从注释内容生成操作310接收的时间戳)来识别可以用于生成注释内容或修改从注释内容生成操作310接收的注释内容的诸如事件信息之类的相关内容。在一些实施例中,内容交付平台114可以查询数据存储109以识别与实际事件时钟的时间有关的事件信息。在一些实施例中,可以使用映射数据将与事件信息有关的事件时钟的时间映射到直播流媒体项的(多个)时间戳,使得可以在适当的时间将从事件信息生成的注释内容与直播流媒体项一起呈现。

例如,数据存储109可以存储与事件的事件时钟的某个时间对应的事件的直播统计数据。例如,在篮球体育赛事期间,运动员A可能在赛事时间11:15处得到了20分。可以查询数据存储109以检索事件信息并使用该事件信息来生成注释内容。例如,内容交付平台114可以为直播流媒体项加注释(例如,生成覆盖),从而将事件信息随直播流媒体项的呈现显示。

在一些实施例中,内容交付平台114可以执行直播流媒体项注释操作322。在直播流媒体项注释操作322处,内容交付平台114可以向一个或多个直播流媒体项应用注释内容。

在一些实施例中,可以将来自注释内容生成操作310的注释内容与注释内容相关的直播流媒体项的对应的(多个)时间戳一起发送到直播流媒体项注释操作322。可以使用映射数据将注释内容映射到实际游戏时钟(例如,实际游戏时钟的(多个)时间)。

在一些实施例中,可以处理同一事件的多个直播流媒体项使得生成多个直播流媒体项的映射数据。在一些实施例中,在注释内容生成操作310处,处理同一事件的多个直播流媒体项中的单个直播流媒体项。可以使用在注释内容生成操作310处识别的时间戳来识别同一事件的多个直播流媒体项的实际事件时钟(例如,基准点)。例如,可以将所识别的实际事件时钟与映射数据一起使用,以识别与注释内容相关的多个直播流媒体项中的其它直播流媒体项的对应时间戳。在一些实施例中,可以在对应的时间戳处将注释内容应用于其它直播流媒体项,而不对其它直播流媒体项执行注释内容生成操作310。

在一些实施例中,内容交付平台114可以将从注释内容发现操作320接收的事件信息(或从事件信息生成的注释内容)应用于事件的一个或多个直播流媒体项。在一些实施例中,注释内容发现操作320的事件信息或从事件信息生成的注释内容可以被用作对从注释内容生成操作310接收的注释内容的补充或修改。在一些实施例中,注释内容发现操作320的事件信息或从事件信息生成的注释内容可以被用作独立于在注释内容生成操作310处生成的注释内容的注释内容。在一些实施例中,从注释内容发现操作320接收的事件信息(或从事件信息生成的注释内容)包括对应的事件时钟。可以使用映射数据和对应的事件时钟信息识别多个直播流媒体项的对应时间戳,该时间戳可以被应用于事件信息或从事件信息生成的注释内容。

在一些实施例中,内容交付平台114可以向一个或多个客户端设备103A-103Z发送(多个)带注释的直播流媒体项,以便将直播流媒体项与注释内容一起呈现。如以上所指出的,由内容交付平台114从内容分发服务器107接收的直播流媒体项可以被缓冲为短时间段。如相对于流水线300描述的操作可以在缓冲时段期间执行,并且可以以最小的延迟将带注释的直播流媒体项提供给客户端设备103A-103Z。

图3B是按照本公开的实施例的用于将实际事件时段映射到与直播流媒体项的帧关联的时间戳的操作的示例流水线。流水线350的一个或多个操作可以由映射模块110执行。尽管流水线350是以特定顺序图示的,但可以理解,操作中的一些可以串行或并行地执行。还可以注意到,在一些实施例中可以执行相同的、更少的、更多的或不同的操作。可以注意到,流水线350的操作可以类似于图3A的流水线300的操作。在实施例中,除非另有描述,否则图3A的流水线300的操作应用于图3B的操作,并且为了清楚起见,不再重复。

在一些实施例中,内容交付平台114可以执行候选事件时段操作326。在一些实施例中,在候选事件时段操作326处,内容交付平台114识别一个或多个采样帧内的一个或多个候选事件时段。在一些实施例中,可以使用模式识别从一个或多个采样帧内识别的文本中识别候选事件时段。例如,事件时段可以对应于特定模式。例如,单词“Quarter”(或其缩写)后跟着的是冒号然后是数字(Quarter:1)可以是事件时段的模式。在一些实施例中,从内容分析操作308检索的文本和文本的位置信息可以被用作候选事件时段操作326的模式识别子操作的输入。可以基于直播流媒体项的事件类型,从多个模式识别子操作中选择特定模式识别子操作。模式识别子操作可以确定文本(和/或文本的位置信息)是否与特定模式(例如,事件时段模式)对应并过滤掉与特定模式不对应的文本和文本位置信息(例如,噪声)。在一些实施例中,响应于确定文本(和/或文本位置信息)对应于特定模式,文本可以被识别为候选事件时段。

在一些实施例中,内容交付平台114可以执行评分操作328。所确定的候选事件时段和相应的位置信息可以从候选事件时段操作326发送到评分操作328。执行评分操作328的内容交付平台114可以针对一个或多个采样帧中的每个帧的一个或多个候选事件时段中的每个候选事件时段生成评分。

在一些实施例中,可以基于事件类型从多个评分操作中选择特定评分操作。不同的事件类型可以具有不同的特性。例如,足球赛事的事件时段可以分为前半场和后半场,而美式足球赛事的事件时段可以分为4节。所选择的评分操作可以基于特定事件类型的特定特性对候选事件时段进行评分。

在一些实施例中,评分可以是基于一种或多种标准(例如,规则)。如上所述,标准可以是基于事件类型。在示例中,内容交付平台114可以确定候选事件时段中的一个或多个是否已经从采样视频帧的一帧改变为下一顺序帧。响应于确定候选事件时段已经从一帧改变为下一顺序帧,内容交付平台114可以确定改变的幅度和方向。如果改变的幅度和改变的方向与特定事件类型的事件时段一致,则内容交付平台114可以对候选事件时段进行正评分(例如,帧评分)。如果改变的幅度或改变的方向与特定事件类型的事件时段不一致,则内容交付平台114可以对候选事件时段进行负评分(例如,帧评分)。例如,对于帧1,候选事件时段X与读取为“Quarter:2”的文本关联。对于下一顺序帧(即帧2),候选事件时段X与读取为“Quarter:3”的文本关联。对于有4节的事件类型,从“Quarter:2”改变为“Quarter:3”可以被确定对应于事件时段模式,并且可以对帧2进行正评分(例如,帧评分)。

在一些实施例中,候选事件时段评分可以相对于顺序帧被求和。例如,在帧2处的候选事件时段X的总评分可以是在帧1和帧2处的候选事件时段A的评分的总和。

在一些实施例中,内容交付平台114可以执行映射操作330。在映射操作330处,内容交付平台114可以生成将实际事件时段映射到与直播流媒体项的一个或多个帧中的相应帧关联的时间戳的映射数据。如所指出的,实际事件时段可以被用作同一事件的多个直播流媒体项的基准或基准点。在一些实施例中,映射数据可以被存储在记录中。在示例中,映射数据可以识别一个或多个实际事件时段、在对应帧内已经识别出实际事件时段的直播流媒体项的时间戳以及直播流媒体项的标识符。

在一些实施例中,由映射操作330生成的映射数据可以与在图3A中的映射操作318中生成的映射数据组合。例如,实际事件时钟可以读取为“10:45”并且事件时段读取为“Quarter:3”。映射数据可以将实际事件时钟、实际事件时段、在对应帧内已识别到的实际事件时钟和实际事件时段的直播流媒体项的时间戳以及直播流媒体项的标识符关联。

图4是例示了按照本公开的实施例的用于针对候选事件时钟生成评分(例如,帧评分和总评分)的评分操作的示例框图400。在一些实施例中,图400的评分操作可以类似于相对于图3A描述的评分操作314。为了清楚起见,相对于图4描述对候选事件时钟的评分操作。可以理解,图400的评分操作可以应用于候选事件时段的评分。

图400例示了采样帧402A-402Z(通常被称为帧402)。应该注意,采样帧402可以包括相同的、更多或更少的视频帧。在一些实施例中,采样视频帧402可以基于与各采样帧402关联的时间戳进行排序。采样帧402中的一些被示出为具有候选事件时钟。各候选事件时钟与对应的帧评分和对应的总评分关联。

例如,采样帧402A中的候选事件时钟A具有帧评分0和总评分0。在采样帧402B中,候选事件时钟A具有帧评分5和总评分5。可以注意到,以下数字、尺寸、等式是出于例示的目的而非限制的目的使用的。

如图400中所示,采样帧402中的一些包括两个候选事件时钟:候选事件时钟A和候选事件时钟B。这两个候选事件时钟都以对应的帧评分和对应的总评分例示。评分操作基于一种或多种标准针对各候选事件时钟生成帧评分,如图3A中所述。所选择的一个或多个标准可以是基于特定事件类型。在图400中,事件类型是篮球赛事类型,并且用于评分的对应的一个或多个标准可以是针对篮球赛事类型。

在一个示例中,标准包括分析候选事件时钟相对于顺序采样帧的变化。帧402A是首先在其中识别到候选事件时钟A和候选事件时钟B的初始帧。候选事件时钟A和B中的每个的帧评分被初始化为0,并且累积评分也被初始化为0。从帧402A到帧402B,候选事件时钟A从“12:00”变为“11:59”,而候选事件时钟B从“2:32”变为“7:53”。如上所述,图400中的事件类型是篮球赛事类型,并且如果以每秒1帧对帧进行采样,则预计该事件时钟对于顺序采样的帧而言减少1秒。在帧401B处,评分操作将正的帧评分赋予候选事件时钟A,因为候选事件时钟A从帧402A到帧402B减少了1秒(例如,根据标准)。在帧402B处,候选事件时钟A的总评分为5。在帧402B处,评分操作将负的帧评分赋予候选事件时钟B,因为候选事件时钟B从帧402A到帧402B有所增加,从而不满足标准。在帧402B处,候选事件时钟B的总评分为-5。

在一些实施例中,评分标准可以包括相对于顺序采样帧是否存在候选事件时钟评分。帧内没有呈现候选事件时钟的一个实例是在商业广告暂停期间。

在帧402C处,呈现商业广告暂停,并且暂时停止篮球赛事的呈现。如所例示的,在帧402C内不存在候选事件时钟A和候选事件时钟B。由于在帧402C内不存在候选事件时钟A和候选事件时钟C两者,因此在帧402C处没有为候选事件时钟A和候选事件时钟B赋予帧评分。候选事件时钟A和候选事件时钟B的总评分被顺着传递并且在商业广告暂停的持续时间内是不变的。可以注意到,帧402D至402Y表示商业广告的帧,并且为了清楚起见被省略。

从帧402B到帧402Z,候选事件时钟A从“11:59”变为“11:58”,而候选事件时钟B从“7:53”变为“1:02”。将帧402Z的候选事件时钟A和候选事件时钟B与帧402B(而不是正好在前一个的采样帧)的相应候选事件时钟进行比较,因为帧402B是其中存在候选事件时钟A和候选事件时钟的最近的帧。在帧420Z处,评分操作将正的帧评分赋予候选事件时钟A,因为候选事件时钟A从帧402B到帧402Z减少了1秒(例如,根据事件类型的标准)。在帧420Z处,候选事件时钟A的帧评分为5,并且候选事件时钟A的总评分为10。在帧420Z处,评分操作将负的帧评分赋予候选事件时钟B,因为候选事件时钟B从帧402B到帧402Z有所增加,从而不满足事件类型的标准。在帧420Z处,候选事件时钟B的帧评分为-5,并且候选事件时钟B的总评分为-10。

图5是例示了按照本公开的实施例的在客户端设备处呈现带有注释内容的直播流媒体项的示例。

客户端设备的图形用户界面(GUI)500示出了直播流媒体项504的呈现。直播流媒体项504是篮球赛事类型。在直播流媒体项504下面是注释内容502A、502B和502C(通常被称为“注释内容502”)。

注释内容502是直播流媒体项的相关片段的示例。例如,注释内容502A对应于篮球运动员Kevin D在事件时钟2:25处的第4节(例如,事件时段)接收到空中接力灌篮的相关片段。如所例示的,注释内容502B对应于篮球运动员Kevin L投进一个两分球的相关片段。注释内容502C对应于篮球运动员Lebron J盖帽的相关片段。

相关片段可以是由图1的注释内容生成服务器108或图3A的注释内容生成操作310识别的注释内容的示例。例如,可以选择注释内容502A-502C,以在GUI 500处显示相关片段的视频。

注释内容502A中的一些内容可以是从图1的数据存储109或图3A的注释内容发现操作320识别的注释信息的示例。例如,运动员的姓名、比赛类型和运动员的照片可以是已经在数据存储109处识别的注释信息的示例。已经将来自数据存储109的注释信息添加到来自注释内容生成服务器108的注释内容,以生成注释内容502。

提供注释内容502作为例示而非限制。在其它实施例中,注释内容可以是不同的或被不同地呈现。例如,注释内容可以被直接添加到直播流媒体项以便在特定帧中显示。在一些实施例中,注释内容可以与直播流媒体项一起呈现在媒体查看器中。在一些实施例中,注释可以被覆盖在媒体视图中的直播流媒体项上。

图6是例示了按照本公开的实施例的示例性计算机系统600的框图。计算机系统600执行使机器执行本文中讨论的任何一个或多个方法的一个或多个指令集。指令集、指令等可以指当执行计算机系统600时使计算机系统600执行映射模块110的一个或多个操作的指令。机器可以在客户端-服务器网络环境中以服务器或客户端设备的能力操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、服务器、网络路由器、交换机或网桥或者能够执行指定将由该机器采取的动作的指令集(顺序的或以其它方式)的任何机器。另外,虽然仅例示了单个机器,但术语“机器”也应当被视为包括独立地或联合地执行指令集以执行本文中讨论的任何一个或多个方法的机器的任何集合。

计算机系统600包括经由总线608彼此通信的处理设备602、主存储器604(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)之类的动态随机存取存储器(DRAM)等)、静态存储器606(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储设备616。

处理设备602表示诸如微处理器、中央处理单元等之类的一个或多个通用处理设备。更具体地,处理设备602可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实现其它指令集的处理设备或实现指令集组合的处理设备。处理设备602还可以是诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等之类的一个或多个专用处理设备。处理设备602被配置为执行系统架构100和映射模块110的指令,以执行本文中讨论的操作。

计算机系统600还可以包括网络接口设备622,网络接口设备622通过诸如局域网(LAN)、内联网、外联网或互联网之类的网络618提供与其它机器的通信。计算机系统600还可以包括显示设备610(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备612(例如,键盘)、光标控制设备614(例如,鼠标)和信号生成设备620(例如,扬声器)。

数据存储设备616可以包括非暂态计算机可读存储介质624,非暂态计算机可读存储介质624上存储有实施本文中描述的方法或功能中的任何一个或多个的系统架构100或映射模块110的指令集。系统架构100或映射模块110的指令集还可以在其被也构成计算机可读存储介质的计算机系统600、主存储器604和处理设备602执行期间完全或至少部分地驻留在主存储器604内和/或处理设备602内。还可以经由网络接口设备622通过网络618发送或接收指令集。

虽然计算机可读存储介质624的示例被示出为单个介质,但术语“计算机可读存储介质”可以包括存储指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器)。术语“计算机可读存储介质”可以包括能够存储、编码或携带指令集以供机器执行并使机器执行本公开的方法中的任何一个或多个的任何介质。术语“计算机可读存储介质”可以包括但不限于固态存储器、光学介质和磁介质。

在前面的描述中,阐述了众多细节。然而,对于受益于本公开的本领域的普通技术人员,将显而易见的是,可以在没有这些具体细节的情况下实践本公开。在某些情形下,为了避免混淆本公开,以框图形式而非详细地示出熟知的结构和设备。

具体实施方式中的一些部分是依据对计算机存储器内的数据比特进行操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域中的技术人员所使用的将其工作的内容最有效传达给本领域中的其它技术人员的手段。这里通常料想到的算法是造成所期望结果的有条理的一系列操作。这些操作是需要对物理量进行物理操纵的操作。通常,这些量采取了能够被存储、传递、组合、比较和以其它方式操纵的电或磁信号的形式,但不是一定的。主要出于通用的原因,有时证明将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。

然而,可以记住,所有这些和类似的术语都要与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非另外具体阐述,否则清楚的是,在整个说明书中,利用诸如“生成”、“分析”、“确定”、“确认”、“提供”、“加...注释”、“确定”、“选择”等之类的术语进行讨论是指计算机系统或类似电子计算设备的动作和处理,该类似电子设备操纵被表示为计算机系统的存储器或寄存器内的物理(电子)量的数据并将该数据转变为被类似表示为计算机系统的存储器或寄存器或其它这种信息存储、传输或显示设备内的物理量的其它数据。

本公开还涉及用于执行本文中的操作的装置。该装置可以被特殊构造以便用于所需目的,或者它可以包括由存储在计算机中的计算机程序选择性地启用或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,计算机可读存储介质是诸如但不限于任何类型的盘,包括软盘、光盘、光盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡或适于存储电子指令的任何类型的介质。

本文中使用词语“示例”或“示例性”来意指用作示例、实例或例示。本文中被描述为“示例”或“示例性”的任何方面或设计不一定被解释为比其它方面或设计优选或有利。确切地,使用词语“示例”或“示例性”旨在以具体方式呈现构思。如在本申请中使用的,术语“或”旨在意指包含性的“或”而不是排他性的“或”。也就是说,除非另有指定或根据上下文是清楚的,否则“X包括A或B”旨在意指任何自然包含性的排列。也就是说,如果X包括A;X包括B;或者X包括A和B二者,则“X包括A或B”在前述任一情形下都得以满足。另外,在本申请和所附权利要求书中使用的冠词“一”和“一个”通常可以被解释为意指“一个或多个”,除非另有指定或根据上下文清楚地是涉及单数形式。此外,通篇使用的术语“实施例”或“一个实施例”或“实现方式”或“一个实现方式”并不旨在意指同一实施例或实现方式,除非这样描述。本文中使用的术语“第一”、“第二”、“第三”、“第四”等是意图用来区分不同元件的标记,可以不一定具有根据它们的数字标记的序号含义。

为了说明的简单,本文中的方法被描绘和描述为一系列动作或操作。然而,按照本公开的动作可以按各种顺序和/或同时地发生,并且与本文中未呈现和描述的其它动作一起发生。此外,并非所有例示的动作都会是实现按照所公开主题的方法需要的。另外,本领域技术人员将理解并了解,可替换地,可以经由状态图或事件将这些方法表示为一系列相关的状态。另外,应该理解,在本说明书中公开的方法能够被存储在制品上,以便于将这种方法传送和传递到计算设备。本文中使用的术语制品旨在涵盖从任何计算机可读设备或存储介质可访问的计算机程序。

在附加实施例中,公开了用于执行上述实施例的操作的一个或多个处理设备。另外,在本公开的实施例中,非暂态计算机可读存储介质存储用于执行所描述实施例的操作的指令。同样在其它实施例中,还公开了用于执行所述实施例的操作的系统。

要理解,以上描述旨在是例示性的而非限制性的。本领域的技术人员在阅读和理解了以上描述后,将清楚许多其它实施例。因此,可以参考所附权利要求书连同被赋予这种权利要求书的权利的等同物的全部范围来确定本公开的范围。

相关技术
  • 媒体项中的事件进度检测
  • 用于数字设备的媒体文件管理应用中的媒体项表示
技术分类

06120113236179