首页 / 专利库 / 多媒体工具与应用 / 媒体流 / 视频流 / 用于搜索多个视频流的文本文摘生成

用于搜索多个视频流的文本文摘生成

阅读:1037发布:2020-10-07

专利汇可以提供用于搜索多个视频流的文本文摘生成专利检索,专利查询,专利分析的服务。并且文摘生成系统获取 视频流 并且包括准入控 制模 块 ,该准入 控制模块 为每个视频流选择要分析的视频流的 帧 的子集。帧到 文本分类 器为每个选择的帧生成文摘,并且生成的文摘以这样的方式被存储在文摘存储库中:使得每个文摘与从其生成文摘的视频流相关联。针对帧的文摘是描述帧的文本,诸如帧中标识的对象。期望观看具有特定特性的视频流的观看者将文本搜索查询输入到搜索系统。搜索系统基于文摘生成搜索结果,该搜索结果是满足搜索标准的视频流的指示。搜索结果被呈现给用户,允许用户选择和查看视频流中的一个。,下面是用于搜索多个视频流的文本文摘生成专利的具体信息内容。

1.一种方法,包括:
获取多个视频流
针对所述多个视频流中的每个视频流:
选择所述视频流的的子集;以及
针对所述帧的子集中的每个帧,通过将帧到文本分类器应用于该帧来生成包括描述该帧的文本的文摘;
接收文本搜索查询;
搜索所述多个视频流的所述文摘以标识所述多个视频流中满足所述文本搜索查询的一个子集;以及
返回视频流的所述子集的指示。
2.根据权利要求1所述的方法,所述多个视频流包括多个实时流,每个实时流从多个视频流源设备中的不同的一个视频流源设备被接收。
3.根据权利要求1或2所述的方法,选择所述帧的子集包括执行所述视频流的帧的均匀采样
4.根据权利要求1至3中任一项所述的方法,所述生成包括使用采用有损技术的降低精度分类器来生成所述文摘。
5.根据权利要求1至4中任一项所述的方法,所述生成包括使用针对所述视频流的专用分类器来生成所述文摘,所述专用分类器针对所述视频流被训练、但未针对其他视频流被训练。
6.根据权利要求1至5中任一项所述的方法,进一步包括生成描述所述帧的所述文本的可视属性,并且使用生成的所述可视属性来确定所述视频流与所述文本搜索查询的相关性。
7.根据权利要求6所述的方法,使用生成的所述视觉属性包括:按照所述视频流与所述文本搜索查询的相关性的顺序,对视频流的所述子集中的所述视频流的标识符进行排序。
8.一种系统,包括:
准入控制模,被配置为获取多个视频流,并且针对所述多个视频流中的每一个视频流,解码所述视频流的帧的子集;
分类器模块,被配置为针对每个视频流,生成针对每个解码帧的文摘,解码帧的所述文摘包括描述所述解码帧的文本;
存储设备,被配置为存储所述文摘;以及
查询模块,被配置为接收文本搜索查询,搜索存储在所述存储设备中的所述文摘以标识满足所述文本搜索查询的所述多个视频流的子集,并且向搜索器返回实时流的子集的指示。
9.根据利要求8所述的系统,所述系统在单个计算设备上被实现。
10.根据利要求8所述的系统,所述系统还包括调度器模块、用于所述多个视频流的多个分类器,和多个计算设备,所述调度器模块确定所述多个计算设备中的哪些计算设备包括用于为所述多个视频流中的哪些视频流的帧生成文摘的分类器。
11.根据权利要求8至10中任一项所述的系统,所述准入控制模块进一步被配置为通过执行所述视频流的所述帧的均匀采样来选择所述帧的子集。
12.根据权利要求8至11中任一项所述的系统,所述分类器模块进一步被配置为生成描述所述帧的所述文本的视觉属性,并且所述查询模块进一步被配置为使用生成的所述视觉属性来确定所述视频流与所述文本搜索查询的相关性。
13.根据权利要求8至12中任一项所述的系统,所述多个视频流包括多个实时流,每个实时流从多个视频流源设备中的不同的一个视频流源设备被接收。
14.根据权利要求8至13中任一项所述的系统,所述分类器模块被配置为使用针对所述视频流的专用分类器来生成所述文摘,所述专用分类器针对所述视频流被训练、但未针对所述多个视频流中的其他视频流被训练。

说明书全文

用于搜索多个视频流的文本文摘生成

背景技术

[0001] 随着计算技术的发展,计算设备已经越来越多地出现在我们的生活中。许多人经常携带诸如智能手机、平板电脑、可穿戴设备等的便携式计算设备,以便捕获视频内容。例如,用户可以在他经历其一天的不同时间捕获视频内容,并将该视频内容上载到其他人可以观看视频内容的服务。该视频内容也可以是实时流,允许其他用户与视频内容的记录大致同时地观看实时流。尽管视频内容的这种共享是有用的,但它并非没有问题。一个这样的问题是,为了搜索相关的视频,观众通常被迫搜索由广播公司输入的(通常是初级的)元数据信息(例如标签),或者通过视觉浏览试图找到感兴趣的视频。这对查看器来说可能是沉重的负担,这可能导致用户对他们的设备感到沮丧。发明内容
[0002] 本发明内容被提供以简化的形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在确定所要求保护的主题的关键特征或基本特征,也并非旨在用于限制所要求保护的主题的范围。
[0003] 根据一个或多个方面,多个视频流被获取。对于多个视频流中的每个视频流,视频流的的子集被选择,并且对于帧的子集中的每个帧,包括描述该帧的文本的文摘通过将帧到文本分类器应用到帧来生成。附加地,文本搜索查询被接收,多个视频流的文摘被搜索以标识满足文本搜索查询的多个视频流的子集,并且视频流子集的指示被返回。
[0004] 根据一个或多个方面,系统包括准入控制模和分类器模块。准入控制模块被配置为获取多个视频流,并且针对多个视频流中的每个视频流解码视频流的帧的子集。分类器模块被配置为针对每个视频流生成针对每个解码帧的文摘,解码帧的文摘包括描述解码帧的文本。该系统还包括被配置为存储文摘的存储设备,以及查询模块,该查询模块被配置为接收文本搜索查询,搜索存储在存储设备中的文摘以标识满足文本搜索查询的多个视频流的子集,并向搜索器返回实时流的子集的指示。附图说明
[0005] 参考附图对具体实施方式进行说明。在附图中,附图标记的最左边的(一个或多个)数字表示附图标记首次出现的数字。说明书和附图中在不同情况下使用相同的附图标记可表示相似或相同的项目。附图中表示的实体可以指示一个或多个实体,因此可以在讨论中对单个或多个形式的实体可互换地进行参考。
[0006] 图1示出了根据一个或多个实施例的实现用于搜索多个视频流的文本文摘生成的示例系统。
[0007] 图2示出了根据一个或多个实施例的实现用于以附加细节搜索多个视频流的文本文摘生成的示例系统的方面。
[0008] 图3示出根据一个或多个实施例的文摘和文摘存储库的示例。
[0009] 图4是示出根据一个或多个实施例的用于实现用于搜索多个视频流的文本文摘生成的示例过程的流程图
[0010] 图5示出了包括示例计算设备的示例系统,该示例计算设备表示可以实现本文描述的各种技术的一个或多个系统和/或设备。

具体实施方式

[0011] 用于搜索多个视频流的文本文摘生成在本文中被讨论。多个不同的用户可以在不同的时间录制视频流。例如,一些用户希望记录和实时直播其当天的部分或特定的活动。实时流式传输是指将来自视频流源的视频内容(例如,具有诸如摄像机的视频流源设备的用户)流式传输到一个或多个视频流观看者(例如,具有诸如计算设备的视频流观看者设备的另一用户),使得视频流观看者可以与视频内容的捕获大致同时地看到流传输的视频内容。在视频内容的捕获和视频内容的观看之间的一些延迟或延时通常由于处理视频内容(诸如编码、传输和解码视频内容)而发生。然而,实时流传输的视频内容通常可被用于短时间内(例如,在10到60秒内)观看正被捕获的视频内容。视频内容可以通过流服务从视频流源设备流式传输到视频流观看者设备,或者备选地,直接从视频流源设备流式传输到视频流观看者设备。
[0012] 考虑到可能提供视频流的大量用户和可能希望观看这些视频流的大量用户,可能在计算上非常昂贵和/或难以允许用户搜索并标识感兴趣的视频流。这是因为为了搜索相关的视频流,观看者通常被迫搜索由广播公司输入的(通常是初级的)元数据信息(例如标签),或者被迫视觉浏览视频流来试图找到感兴趣的视频流。该问题的一个解决方案是避免依赖广播公司来注释视频流,并且使用计算机视觉技术来自动将用户的文本查询与视频流的内容进行匹配。但是这在计算上是昂贵的并且可能导致很长的延时。例如,可能有数百万的视频流和数百万的用户希望几乎同时观看这些视频流中的不同视频流。希望观看视频流的数百万用户可以提供搜索标准,从而导致搜索标准与将要执行的视频流之间的数百万次比较。
[0013] 本文讨论的技术提供了允许快速搜索视频流的视频流分析和搜索服务。视频流被提供给分析和搜索服务的准入控制模块。准入控制模块针对每个视频流选择要分析的视频流的帧的子集。帧到文本分类器针对每个选择的帧生成文摘,并且生成的文摘以使得每个文摘与从其生成文摘的视频流相关联的方式被存储在文摘存储库中。用于帧的文摘是描述帧的文本(例如单词或短语),诸如帧中标识的对象。帧到文本分类器可以被可选地修改,使得分类器专用于文摘生成,并且可选地针对每个不同的视频流生成不同的分类器(并且被修改以使得在当前时间快速且可靠地生成针对关联的视频流的文摘)。
[0014] 期望观看具有特定特性的视频流(例如,诸如狗、猫、日落等的特定对象)的观看者将搜索查询输入到搜索系统。搜索查询是文本搜索查询,并且搜索系统将搜索查询的文本与文摘存储库中的文摘进行比较。搜索结果被生成,这些搜索结果是与满足搜索标准的文摘相关联的视频流。搜索结果被呈现给用户,允许用户选择他或她希望观看的视频流之一。响应于从搜索结果中选择视频流,所选视频流被流式传输到观看者的计算设备以进行显示。
[0015] 作为文摘的一部分或以其他方式与文摘相关联,帧到文本分类器还可选择性地存储文摘中与视频流相关的文本的各种视觉属性。例如,如果文摘包括指示狗被包括在帧中的文本,则视觉属性可以是该帧中所标识的狗的尺寸(例如,近似数量的像素)。当呈现搜索结果以确定视频流在搜索结果中的相关性,这些视觉属性可以被使用,并且按照搜索结果的相关性对搜索结果的呈现排序。
[0016] 本文讨论的技术提供了对多个不同视频流的快速搜索。搜索查询和文摘都是文本,允许执行文本搜索,与可能试图分析每个视频流的帧以确定帧是否表示输入搜索文本的技术相比,通常执行文本搜索的计算成本更低。各种性能增强技术也被使用,包括为少于每个视频流的帧的全部生成文摘,以及使用经修改的分类器来提高执行视频流分析的速度。本文讨论的技术因此通过减少搜索视频流时消耗的时间量来增加系统的性能。
[0017] 图1示出了根据一个或多个实施例的实现用于搜索多个视频流的文本文摘生成的示例系统100。系统100包括多个视频流源设备102,其中的每个可以是能够捕获视频内容的各种类型的设备中的任何一个。这样的设备的示例包括摄像机、智能电话、数码相机、可佩戴设备(例如,眼镜、头戴式显示器手表、手镯)、台式计算机、膝上型计算机或上网本计算机、移动设备(例如,平板电脑或平板手机设备、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、娱乐设备(例如,娱乐电器、通信地耦合到显示设备的机顶盒、游戏控制台)、物联网(IoT)设备(例如,具有允许与其他设备通信的软件固件和/或硬件的对象或事物)、电视机或其他显示设备、汽车计算机等等。每个视频流源设备102可以与用户(例如,用户佩戴的眼镜或摄像机、用户拥有的智能手机)相关联。备选地,每个视频流源设备102可以独立于任何特定的用户,诸如建筑物屋顶上的固定式摄像机或俯瞰鹰巢的摄像机。
[0018] 系统100还包括多个视频流观看者设备104,其中的每一个可以是能够显示视频内容的各种类型的设备中的任何一个。这样的设备的示例包括电视机、台式计算机、膝上型计算机或上网本计算机、移动设备(例如,平板电脑或平板手机设备、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可佩戴设备(例如,眼镜、头戴式显示器、手表、手镯)、娱乐设备(例如,娱乐电器、通信地耦合到显示设备的机顶盒、游戏控制台)、IoT设备、电视机或其他显示设备、汽车计算机等等。每个视频流观看者设备104通常与用户(例如,用户使用的计算设备的显示器搜索用于在显示器上观看的视频内容)相关联。
[0019] 视频内容可以从视频流源设备102中的任何被流式传输到任何视频流观看者设备104。视频内容的流式传输指的是在视频内容的全部已被传输之前传输视频内容并允许在视频流观看者设备104处回放视频内容。(例如,在开始显示视频内容之前,视频流观看者设备104不需要等待整个视频内容被下载到视频流观看者设备104)。以这种方式传输的视频内容也被称为视频流。
[0020] 在一个或多个实施例中,系统100包括便于将视频内容从视频流源设备102流式传输到视频流观看者设备104的视频流式传输服务106。每个视频流源设备102可以将视频内容流式传输到视频流式传输服务106,并且视频流式传输服务106将视频内容流式传输到期望视频内容的视频流查看器设备104中的每个。备选地,没有这样的视频流式传输服务106可以被使用,并且视频流源设备102可以在不使用任何中间视频流传输服务的情况下将视频内容流式传输到视频流观看者设备104。尽管本文参考了视频流,但应该注意的是,其他类型的媒体(例如,音频内容)可以对应于视频流并且被类似地从视频流源设备102流式传输到视频流观看者设备104(与视频流分开或与视频流同时进行,诸如多媒体流式传输的一部分)。
[0021] 系统100还包括视频流分析和搜索服务108。视频流分析和搜索服务108便于搜索视频流,并提供允许视频流观看者搜索他们期望的视频流的搜索服务。视频流分析和搜索服务108生成表示在任何给定时间从视频流源设备102接收的视频流的文本文摘,并且允许这些文本文摘被搜索,如下面更详细讨论的。
[0022] 视频流源设备102、视频流观看者设备104、视频流式传输服务106和视频流分析和搜索服务108可以经由网络110彼此通信。网络110可以是包括因特网、局域网(LAN)、电话网络、内联网、其他公共和/或专有网络、其组合等等的各种不同网络中的任何网络。
[0023] 视频流式传输服务106和视频流分析和搜索服务108均可以使用各种不同类型的计算设备中的任何一种来实现。这样的设备的示例包括台式计算机、服务器计算机、膝上型计算机或上网本计算机、移动设备(例如,平板电脑或平板手机设备、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可佩戴设备(例如,眼镜、头戴式显示器、手表、手镯)、娱乐设备(例如,娱乐电器、通信地耦合到显示设备的机顶盒、游戏控制台)等等。视频流式传输服务106和视频流分析和搜索服务108均可以使用多个计算设备(相同或不同类型的)或者备选地使用单个计算设备来实现。
[0024] 图2示出了根据一个或多个实施例的实现用于以附加细节搜索多个视频流的文本文摘生成的示例系统200的方面。系统200包括文摘生成系统202、文摘存储库204、搜索系统206和用户设备208。多个视频流210被输入到文摘生成系统202或者由文摘生成系统202获取。每个视频流210可以是例如来自图1的视频流源设备102的视频流。
[0025] 文摘生成系统202包括准入控制模块212、帧到文本分类器模块214、分类器修改模块216和调度器模块206。每个视频流210是包括多个帧的视频内容的流。例如,视频流可以包括每秒30帧。通常,对于每个视频流210,准入控制模块212选择要分析的视频流210的帧的子集。帧到文本分类器214针对每个选择的帧生成文摘并将生成的文摘存储库在文摘存储库204中。分类器修改模块216可选地修改帧到文本分类器模块214,使得帧到文本分类器模块专门用于生成文摘,并且可选地专门用于生成用于特定视频流210的文摘。调度器模块218可选地调度用于为不同的视频流210生成文摘的文本分类器模块214的不同版本或副本,以在特定计算设备上运行,由此分布在多个计算设备上生成文摘的计算负载。
[0026] 准入控制模块212针对每个视频流210选择要分析的视频流210的帧的子集。通过选择要分析的每个视频流210的帧的子集,由帧到文本分类器模块214生成文摘的帧的数量被减少,由此增加文摘生成系统202的性能(与其中帧到文本分类器模块214要为每个视频流210的每个帧生成文摘的情况相反)。
[0027] 准入控制模块212可以使用各种不同技术中的任何技术来确定要选择视频流210的哪些帧的子集。准入控制模块212被设计成减少通向帧到文本分类器模块214的帧的数量,同时保留视频流210中的相关信息内容的大部分(例如,至少阈值百分比)。在一个或多个实施例中,帧的子集是视频流210的帧的均匀采样(例如,每n帧中的一帧,其中n是大于1的任何数)。因此,例如,准入控制模块212可以每隔50帧选择一次、每隔100帧选择一次,等等。相同的均匀采样率可以针对所有视频流210被使用,或者不同的均匀采样率可以针对不同的视频流210被使用。针对视频流210的均匀采样率也可以可选地随时间变化。
[0028] 附加地或备选地,其他技术可以被用来确定要选择的视频流210的帧的哪些子集。例如,准入控制模块212可以在文摘生成系统202的解码器组件中被实现。解码器组件可以在硬件(例如,在专用集成电路(ASIC))、软件、固件或其组合中被实现。视频流210的帧以编码格式(例如以压缩格式)被接收,以便减小帧的尺寸并因此减少传输帧所花费的时间量(例如,通过图1的网络110)。解码器组件被配置为解码视频流210的帧的子集并且将帧的解码子集提供给帧到文本分类器模块214。
[0029] 作为解码器组件的一部分的准入控制模块212分析编码帧中的各种信息以确定解码器组件将解码哪些帧。例如,视频流的编码帧中的一个或多个编码帧可以包括运动矢量,该运动矢量指示该帧与视频流中的一个或多个先前帧之间的数据的变化量。如果运动矢量指示显著的改变量(例如,运动矢量具有超过阈值的值),则该帧被选择为要为其生成文摘的帧的子集中的一个。然而,如果运动矢量不指示显著的改变量(例如,运动矢量具有不超过阈值的值),则该帧不被选择为要为其生成文摘的帧的子集中的一个。如果帧未被选择为要为其生成文摘的帧的子集中的一个,则该帧可以被解码器组件丢弃或以其他方式忽略(例如,该帧不需要由解码器组件解码)。
[0030] 帧到文本分类器模块214从准入控制模块212接收帧220的所选子集。对于从准入控制模块212接收的每个帧,帧到文本分类器模块214针对该帧生成文摘并且将生成的文摘存储库在文摘存储库204中。帧到文本分类器模块214可以是各种不同类型的分类器中的任何分类器,其在给定帧的情况下提供帧的文本描述。取决于具体框架,文本描述可以包括框架中的对象(例如,建筑物、标志、树木、狗、猫、人、汽车等)、描述帧的形容词(例如,帧中标识的颜色,帧中具体对象的颜色等)、在框架中的活动或行为(例如,玩耍、游泳、跑步等)等等。描述帧的各种其他信息可以可选地被包括在帧的文本描述中,诸如与帧相关联的情绪或感觉,帧的亮度等等。
[0031] 在一个或多个实施例中,帧到文本分类器模块214被实现为深度神经网络。深度神经网络是一种包括输入层输出层人工神经网络。输入层接收帧作为输入,输出层提供帧的文本描述,并且输入层和输出层之间的多个隐藏层对帧进行各种分析以生成文本描述。帧到文本分类器模块214可以备选地被实现为各种其他类型的分类器中的任何一个。例如,帧到文本分类器模块214可以使用各种不同的聚类算法中的任何一个、各种回归算法中的任何一个、各种序列标记算法中的任何一个等等来实现。
[0032] 在一个或多个实施例中,帧到文本分类器模块214被训练以生成帧的文本描述。该训练通过向帧到文本分类器模块214提供训练数据来执行,文本分类器模块214包括具有已知文本描述(例如,已知对象、已知形容词、已知活动)的帧以及已知缺少那些文本描述的帧。帧到文本分类器模块214使用该训练数据来自动配置其自身以生成文本描述。各种公共和/或专有技术中的任何技术可以被用来训练帧到文本分类器模块214,并且帧到文本分类器模块214被训练的具体方式可以基于帧到文本分类器模块214被实现的特定方式而变化。
[0033] 帧到文本分类器模块214生成文摘222并将文摘存储库在文摘存储库204中。图3示出了根据一个或多个实施例的文摘和文摘存储库的示例。文摘存储库204可以使用诸如闪存、磁盘、光盘等等的各种不同的存储机制中的任何一个来实现。
[0034] 文摘存储库204存储多个文摘302。在一个或多个实施例中,文摘存储库204存储从图2的视频流210中的每个中的一个帧生成的文摘。对于每个视频流,存储在文摘存储库204中的文摘是从准入控制模块212从视频流中最近选择的帧生成的文摘。备选地,对于视频流中的一个或多个,文摘存储库204存储多个文摘,文摘中的每个是从视频流的不同帧生成的。例如,对于视频流中的一个或多个,存储在文摘存储库204中的文摘是由准入控制模块212从视频流中最近选择的x个帧生成的x(其中x大于1)个文摘。
[0035] 示例文摘304在图3中被示出。文摘304包括文本数据306,其在一个或多个实施例中是由图2的帧到文本分类器模块214生成的文本。附加地或备选地,文本数据306可以是基于由帧到文本分类器模块214生成的文本生成的另一个值。例如,文本数据306可以是通过将散列函数应用于由帧到文本分类器模块214生成的文本而生成的散列值。
[0036] 文摘304可选地包括视觉属性数据308,视觉属性数据308是描述由帧到文本分类器模块214生成的文本(或由文本表示的对象)的各种视觉属性的信息。视觉属性数据308可以由帧到文本分类器模块214生成或备选地由另一个模块生成,该另一个模块分析帧(以及可选地多个先前帧)和由帧到文本分类器模块214生成的文本。
[0037] 视觉属性数据308通过将多种不同规则或标准中的任何一个应用于由帧到文本分类器模块214生成的对象或其他文本来生成。在一个或多个实施例中,视觉属性数据308指示帧中检测到的对象的尺寸。尺寸可以以不同的方式来指示,诸如以像素(例如,大约200×300像素)的方式,相对于整个帧(例如,大约帧的15%)的值等等。
[0038] 附加地或备选地,规则或标准可以被应用以确定对象是处于前景还是背景中。这种确定可以以各种方式进行,诸如基于对象的尺寸相对于帧中其他对象的尺寸,对象的部分是否被其他对象阻挡等等。
[0039] 附加地或备选地,规则或标准可以被应用以确定帧中的对象的驻留时间或速度。例如,先前由准入控制模块212选择的帧中的对象的位置可以与由准入控制模块212当前选择的帧中的对象的位置进行比较。基于两个帧中的对象的位置的差异和帧之间的时间量的差异,移动速度(例如,每秒像素的特定数量)的指示可以被容易地确定。通过另一个示例,对象的驻留时间的指示可以基于对象在帧中已经停留多久来确定。例如,视觉属性数据308可以包括指示检测到对象的日期和/或时间(例如,包括该对象的帧被准入控制模块212接收的日期和/或时间)的时间戳。当针对视频流生成新的文摘时,如果对象存在于针对视频流的先前生成的文摘中,则指示检测到对象的日期和/或时间的时间戳(如在先前生成的文摘的视觉属性数据308中所指示的)可以被复制到新文摘的视觉属性数据308。
[0040] 在一个或多个实施例中,文摘304还包括视频流标识符310。视频流标识符310是视频流的标识符,从该视频流中获取用于生成文摘304的帧。如果文摘304导致与搜索标准匹配,则视频流标识符310允许与文摘304相关联的视频流容易地被标识,如下文中更详细讨论的。
[0041] 附加地或备选地,与其将视频流标识符310包括在文摘304中,文摘304和从其中获取用于生成文摘304的帧的视频流之间的关联可以以其他方式来维护。例如,关联表或关联列表可以被维护,视频流的指示可以是用于存储或标识文摘存储库204中的文摘304的记录或文件名称中固有的,等等。
[0042] 返回到图2,在一个或多个实施例中,帧到文本分类器模块214向分类器修改模块216提供各种统计信息224,该分类器修改模块216可以生成一个或多个修改的分类器226并将其提供给帧到文本分类器模块214。修改的分类器226可以被用来替换或补充由帧到文本分类器模块214实现的分类器以生成文摘222。统计信息224是指关于由帧到文本分类器模块214执行的分类的各种信息,诸如在给定的时间段内(例如,先前的10或20分钟)针对视频流的帧中的文摘生成什么文本。
[0043] 在一个或多个实施例中,分类器修改模块216生成为精度降低分类器的修改分类器226。精度降低分类器是指使用有损技术的分类器,该分类器将分类器精度降低少量(例如2%至5%)以换取资源使用的大量减少。有损技术是指其中由分类器使用的一些数据丢失的技术,从而降低了分类器的精确度。各种不同的公共和/或专有有损技术可以被使用,诸如在深度神经网络的分类器中的层分解。
[0044] 附加地或备选地,分类器修改模块216可以生成专用于特定媒体流210的修改分类器226。媒体流210中的一个或多个可以各自具有它们自己的专用分类器。专用分类器是指基于当前正在被接收(例如,过去5或10分钟)的媒体流的帧被训练的分类器。帧到文本分类器模块214可选地包括被训练成基于帧生成许多(例如,10,000到20,000个不同的文本词或短语)的通用分类器。然而,在任何给定的时间,通常只有这些单词或短语的一小部分适用于给定的视频流。例如,通用分类器可能能够标识(例如,生成文本词或短语针对)动物的100种不同类型,但是当用户在家中傍晚时他或她可能遇到不超过5种不同类型的动物。
[0045] 统计信息224标识哪个文本正由帧到文本分类器模块214生成,并且分类器修改模块216将各种规则或标准应用到统计信息224以分析正在生成的文本。如果对于特定的视频流相同的文本被定期生成(例如,针对诸如5或10分钟的时间阈值量已经生成仅特定的100个文本词或短语),则分类器修改模块216通过使用定期生成的文本(例如,特定的100个文本词或短语)训练分类器来生成专用于当前时间处的特定视频流的分类器。专用分类器因此被训练用于该特定的视频流而不是其他视频流。
[0046] 应该注意的是,视频流的专用分类器可能遇到它不能标识(例如,不能生成文本词或短语)的对象。在这种情况下,通用分类器在帧上被使用。还应该注意,随着时间的推移,由于视频流源设备移动或视频流源设备周围的环境改变,适用于给定视频流的词或短语改变。如果视频流的专用分类器在一帧或多帧中遇到它不能标识的足够的对象(例如,至少阈值数目的对象),则帧到文本分类器模块214可以停止使用专用分类器并返回到使用通用分类器(例如,直到新的专用分类器可以被生成)。
[0047] 专用分类器的高速缓存可以可选地由分类器修改模块216来维护。针对视频流生成的每个专用分类器可由分类器修改模块216维护一段时间(例如,几小时、几天或无限期)。如果分类器修改模块216检测到定期生成相同文本(例如,针对诸如5或10分钟的时间阈值量已经生成仅特定的100个文本词或短语)并且相同的文本(例如,相同的特定100个文本词或短语)先前已被用于训练视频流的专用分类器,则先前训练和高速缓存的专用分类器可以被作为修改分类器226提供给帧到文本分类器模块。
[0048] 在一个或多个实施例中,分类器修改模块216还可以生成针对特定的一个或多个查询而定制的修改的分类器216。例如,如果至少阈值百分比的搜索查询(如下文中更详细讨论的)由一组文本词或短语(例如,特定的200个文本词或短语)的某种组合组成,则在该组文本词或短语(例如,那些特定的200个文本词或短语)上被训练的定制分类器可以被生成。这种定制分类器类似于上面讨论的专用分类器,但是用于多个视频流而不是专用于单个视频流。
[0049] 通过生成修改的分类器226,分类器修改模块216减少了由帧到文本分类器模块214使用的计算资源,由此增加了文摘生成系统202的性能。如上所述,用于视频流的专用或定制分类器标识较少的文本字或短语,并且因此可以以降低的复杂度(并因此使用较少的计算资源)来实施。如上所述,精度降低分类器降低了分类器的精确度,以换取资源使用的大量减少,从而减少了由帧到文本分类器模块214耗费的计算资源。
[0050] 文摘生成系统202还可选地包括调度器模块218。文摘生成系统202能够接收大量(例如,数百万)的视频流210,并且因此文摘生成系统202的部分可以分布在不同的计算设备上。在一个或多个实施例中,帧到文本分类器模块214的多个版本或副本分布在多个计算设备上,帧到文本分类器模块的每个版本或副本为视频流210的不同子集生成文摘。调度器模块218应用各种规则或标准来确定多个计算设备中的哪些计算设备为视频流210中哪些视频流的帧生成文摘。取决于计算设备可以同时运行的帧到文本分类器模块214(或多少分类器)的版本或副本的数量,视频流的每个这样的子集中的视频流210的数目可以变化(例如,可以是100-1000)。在一个或多个实施例中,每个这样的子集中的视频流210的数目被选择,使得计算设备不被期望同时运行多于分类器的阈值数目的分类器。准入控制模块212不会将视频流210的每个帧转发到帧到文本分类器模块214,因此预期帧到文本分类器模块214的版本或副本不需要期望针对由计算设备接收的视频流的所有被同时运行。
[0051] 应该注意的是,在准入控制模块212使用均匀采样的情况下,视频流可以基于这种均匀采样被输入到实现文摘生成系统202的计算设备中的不同的一个计算设备。例如,假设计算设备一次只能运行帧到文本分类器模块214的一个版本或副本,并且准入控制模块212以1每60帧的速率对帧进行采样,则视频流210可以被分配给计算设备,使得一个计算设备接收在第1、第61、第121等帧上采样的视频流;在第3、第63、第123等帧中上采样的另一个视频流;在第5、第65、第125等帧上采样的另一个视频流,等等。由于这些采样的交错本质,计算设备不会被期望试图运行帧到文本分类器模块214的多个版本或副本以同时为多个视频流生成文摘。
[0052] 还应该注意的是,如果上述专用分类器被文摘生成系统202使用,可能会出现其中特定的专用分类器无法运行的情况,因为特定的专用分类器要运行的计算设备已经达到最高程度(并且当前不能运行另一分类器)。在这种情况下,与其等待计算设备能够运行特定的专用分类器,调度器模块218可以将特定的专用分类器分配给不同的计算设备来运行。附加地或备选地,与其等待特定的专用分类器被加载并运行在不同的计算设备上,调度器模块218运行用于视频流的计算设备上的通用分类器(例如,已经被加载的分类器),而不是针对视频流的特定专用分类器。一旦特定的专用分类器被加载到计算设备上,调度器模块218可以运行视频流的特定的专用分类器而不是普通分类器。
[0053] 附加地,在一个或多个实施例中,调度器模块218考虑帧到由文本分类器模块214的不同副本或版本对计算资源(例如,处理器时间)的使用。例如,取决于由分类器修改模块216执行的修改的类型,一些分类器使用比其它分类器显著更多的计算资源来运行。调度器模块218可以通过检查分类器的结构来估计修改的分类器的计算资源使用中的变化。调度器模块218可以将具有互补的结构估计的计算资源使用模式的分类器组合在同一计算设备上。
[0054] 此外,由帧到文本分类器模块214执行的分类中消耗的计算资源可以是依赖于输入的。例如,如果帧中有许多对象,则分析该帧的时间可能会比分析其中对象数目少的帧的时间要长。调度器模块218可以通过将各种规则或标准应用于其选择的帧220来预测不同视频流的计算资源使用。例如,大量对象已被标识的视频流(例如,大于阈值数目的文本词或短语已被生成)被预测比大量对象尚未被标识的视频流(例如,小于阈值数目的文本词或短语已被生成)使用更多的计算资源。调度器模块218可以将具有互补的预测的计算资源使用的分类器一起分组到同一计算设备上。
[0055] 在一个或多个实施例中,文摘生成系统202的各个方面可以用硬件来实现。例如,准入控制模块212可以可选地在如上所述的解码器组件中被实现。文摘生成系统202的其他模块也可以可选地用硬件来实现。例如,帧到文本分类器模块214可以包括在硬件中实现的分类器,诸如在ASIC中、在现场可编程门阵列(FPGA)中等等。
[0056] 因此,用于视频流210的文摘由文摘生成系统202生成并存储在文摘存储库204中。搜索系统206还访问文摘存储库204以处理搜索查询,从而允许用户基于文摘存储库204中的文摘来搜索特定的视频流。
[0057] 搜索系统206包括查询模块232、视频流排名模块234和查询接口236。查询接口236从用户设备208接收文本搜索查询,文本搜索查询是描述搜索者(例如,用户设备208的用户)感兴趣的视频流的类型的文本。例如,有兴趣观看儿童与狗玩耍的视频流的搜索者可以提供“儿童狗玩耍”的文本搜索查询。
[0058] 查询模块232在文摘存储库204中搜索与文本搜索查询相匹配的文摘(并且因此用于与文本搜索查询相匹配的视频流(如由文摘标识的或以其他方式与文摘相关联的))。在一个或多个实施例中,如果文摘(例如,图3的文本数据306)包括文本搜索查询中的词的全部,则文摘与文本搜索查询匹配。附加地或备选地,如果文摘包括文本搜索查询中的至少阈值数目或百分比的词或短语,则文摘与文本搜索查询相匹配。各种通配符值还可以被包括在文本搜索查询中,诸如表示任何零个或多个字符的星号、表示任何单个字符的问号等等。
[0059] 在其中文摘存储库已经基于如上所述由帧到文本分类器模块生成的文本生成的另一个值(例如,散列值)的情况下,然后针对文本搜索查询以同样地方式生成另一个值。该另一个值然后被用来确定哪些文摘与文本搜索查询相匹配。例如,如果散列值被存储在文摘中,则针对文本搜索查询生成散列值,并与文摘的散列值进行比较以确定哪些文摘与文本搜索查询相匹配(例如,具有与文本搜索查询相同的散列值)。
[0060] 查询模块232将与文本搜索查询相匹配的文摘提供给视频流排名模块234。视频流排名模块234根据文摘与文本搜索查询的相关性对文摘进行排名(也称为对与文摘相关联的视频流进行排名)。通过将一个或多个规则或标准应用于文摘的视觉属性数据和文本搜索查询来确定文摘与文本搜索查询的相关性。各种不同的规则或标准可以被用来确定文摘的相关性。例如,如果文本搜索查询包括词“狗”,并且如果文摘的视觉属性数据指示标识为“狗”的对象在帧的背景中,则该文摘被认为具有比具有视觉属性数据的文摘更低的相关性,该视觉属性数据指示标识为“狗”的对象在该帧的前景中。通过另一个示例,如果文本搜索查询包括词“汽车”,并且如果文摘的视觉属性数据指示标识为“汽车”的对象在该帧中并且快速移动(例如,大于每秒像素的阈值数目,诸如每秒20个像素),则该文摘被认为具有比具有视觉属性数据的文摘更低的相关性,该视觉属性数据指示被标识为“汽车”的对象在帧中并且缓慢移动(例如,小于每秒像素的另一阈值数目,诸如每秒5个像素),因为假设在用户选择观看该视频流并且所选视频流被传输到搜索者的设备开始时,快速移动的汽车可能不再在视频流中可见。
[0061] 视频流排名模块234基于它们的相关性,例如从最相关到最不相关,对文摘进行排序或排名。视频流排名模块234也可以将文摘的每个的相关性用作过滤器。例如,查询模块232可以标识满足文本搜索查询的75个视频流,但是搜索系统206可以将25个视频流的限制强加给返回给用户设备208的搜索结果。在这种情况下,视频流排名模块234可以选择具有最高相关性的25个视频流作为要被包括在搜索结果中的视频流。
[0062] 查询接口236将搜索结果返回给用户设备208。在一个或多个实施例中,搜索结果是与文摘相关联的视频流的标识符,该文摘满足文本搜索查询(如由查询模块232确定的)并且已经可选地基于相关性由视频流排名模块234排序和过滤。备选地,搜索结果可以采用其他形式。例如,搜索结果可以是文摘,该文摘满足文本搜索查询(由查询模块232确定)并且已经可选地基于相关性由视频流排名模块234排序和过滤。
[0063] 用户设备208可以是用于查看视频流的各种不同设备中的任何设备,诸如图1的视频流观看者设备104。用户设备208包括用户查询接口242和视频流显示模块244。用户通过提供各种不同的输入中的任何(诸如在键盘上键入文本搜索查询、从先前生成的或建议的文本搜索查询的列表中进行选择、提供文本搜索查询的语音输入等等)来向用户查询接口242提供文本搜索查询。附加地或备选地,文本搜索查询可以由用户设备208的另一个组件或模块输入而不是用户设备208的用户输入。
[0064] 如上所述,用户查询接口242将文本搜索查询提供给搜索系统206的查询接口236,并且接收搜索结果作为响应。在搜索结果中指示的视频流然后可以在给定被包括在搜索结果中的视频流的标识符的情况下由用户设备208获取并显示。在一个或多个实施例中,由搜索结果标识的(例如,包括在搜索结果中或由包括在搜索结果中的文摘标识的)视频流的指示被视频流显示模块244以其排序或排名的顺序(如由视频流排名模块234所确定的)显示或呈现。由视频流显示模块244呈现的视频流的指示可以采取各种形式。在一个或多个实施例中,视频流的指示是显示视频流的缩略图,其可以仍然是缩略图(例如,从视频流源设备或视频流式传输服务获取的视频流的单个帧),或者可以是实际的视频流(例如,从视频流源设备或视频流式传输服务获取的)。用户然后可以以各种方式(例如,触摸缩略图、点击缩略图、提供标识缩略图的语音输入等)中的任一种来选择缩略图中的一个,响应于此,由选择的缩略图指示的视频流被提供给用户设备(例如,来自视频流源设备或视频流传输服务)并由视频流显示模块244显示。
[0065] 在一个或多个实施例中,由用户设备208的用户搜索视频流的请求是单个搜索。在这种情况下,查询模块232搜索文摘存储库204并且查询接口236将搜索结果(可选地,由视频流排名模块234排序和/或过滤)返回给用户查询接口242。备选地,由用户设备208的用户搜索视频流的请求是重复搜索。在这种情况下,以规则或不规则间隔(例如,每30秒),查询模块232搜索文摘存储库204并且查询接口236将搜索结果(可选地,由视频流排名模块234排序和/或过滤)返回给用户查询接口242。搜索因此被重复,考虑到在文摘存储库204中的文摘的变化,每次搜索后可能具有不同的搜索结果。
[0066] 视频流的搜索因此以文本为基础完成,在针对视频流的帧生成的文摘中具有文本搜索查询和文本数据。该搜索是基于如上讨论的由帧到文本分类器模块对视频流的帧的分析而不是基于由广播者或其他用户添加到视频流的元数据。考虑到可以被搜索的大量视频流,而不是由广播公司或其他用户允许的添加到视频流的元数据,本文讨论的搜索技术提供更快和更可靠的性能。搜索还基于文本搜索查询来完成,而不是通过让用户提供图像并搜索与图像类似的视频流。考虑到可能被搜索的大量视频流,本文讨论的搜索技术提供比搜索相似图像所允许的更快的性能。
[0067] 图4是示出根据一个或多个实施例的用于实现用于搜索多个视频流的文本文摘生成的示例过程400的流程图。过程400由一个或多个设备执行,诸如实现图1的视频流分析和搜索服务108的一个或多个设备、或实现图2的文摘生成系统202、文摘存储库204和/或搜索系统206。过程400可以用软件、固件、硬件或其组合来实现。过程400被示出为一组动作,并且不限于为了执行各种动作的操作而示出的顺序。过程400是用于实现用于搜索多个视频流的文本文摘生成的示例过程;参考不同的附图,实现用于搜索多个视频流的文本文摘生成的附加讨论被包括在本文中。
[0068] 在过程400中,多个视频流被获取(动作402)。多个视频流可以以各种方式获取,诸如来自视频流源设备、来自视频流式传输服务等等。
[0069] 视频流被分析(动作404)。视频流的分析包括为每个视频流选择帧的子集(动作406)。这个子集可以以各种方式来选择,诸如使用均匀采样或使用如上所述的其他规则或标准。分析还包括,对于每个选择的帧,生成描述帧的文摘(动作408)。文摘是帧的文本描述(例如,一个或多个文本词或短语)。文摘可以可选地包括附加信息,诸如上面讨论的帧的视觉属性。
[0070] 所生成的文摘被传送给文摘存储库(动作410)。在一个或多个实施例中,在文摘存储库中仅维护每个视频流的最近生成的文摘-每次用于视频流的新的文摘被生成时,先前生成的用于视频流的文摘从文摘存储库被移除。备选地,用于每个视频流的多个先前生成的文摘可以在文摘存储库中被维护。
[0071] 在某个时刻,文本搜索查询被接收(动作412)。文本搜索查询是从用户设备接收的。文本搜索查询可以是用户输入文本搜索查询,或者备选地是自动生成的文本搜索查询(例如,由用户设备的模块或组件生成)。
[0072] 文摘存储库中的文摘被搜索以标识满足文本搜索查询的视频流的子集(动作414)。例如,如果与视频流相关联的文摘包括文本搜索查询中的词或短语的全部(或至少阈值量),则视频流满足文本搜索查询。
[0073] 视频流的子集的指示被作为搜索结果返回给用户设备(动作416)。如上所述,这些搜索结果可以可选地基于相关性被过滤和/或分类。
[0074] 返回图2,本文讨论的视频流可以是直播流,其是从视频流源设备流式传输到一个或多个视频流观看者设备的视频流,使得视频流观看者可以与捕获视频内容大致同时地看到流式传输的视频内容。在这种情况下,文摘存储库204可以仅维护针对在文摘存储库中维护的每个视频流最近生成的文摘。
[0075] 附加地或备选地,本文讨论的技术可用于支持较旧的(例如,一天中较早的、一周中较早的)视频流的流式传输。来自视频流源设备的视频流可以由诸如图1的视频流传输服务106之类的服务来存储。在这种情况下,在一段时间内(例如,就像期望搜索视频流那样临时)的文摘被维护在文摘存储库204中。时间戳也可以被包括在每个文摘中,时间戳指示捕获(或者备选地由文摘生成系统202接收或分析)生成文摘的视频的帧的日期和/或时间。视频流的先前区段或部分因此可以通过搜索文摘来搜索,并且考虑文摘中的时间戳,满足该区段的区段或部分可以容易地被标识。视频流的这些先前区段或部分因此可以被搜索和回放,类似于上面的讨论。
[0076] 在本文的讨论中,视觉属性数据被讨论为被包括在由帧到文本分类器模块214生成的文摘中。附加地或备选地,视觉属性数据可以被维护在其他位置,诸如维护用于帧和/或作为整体的视频流的视觉属性数据的单独存储或记录。
[0077] 在本文的讨论中,参考由文摘生成系统202生成的文摘。附加地或备选地,文摘可以由其他系统生成。例如,图1的视频流源设备102可以生成由该设备102流式传输的该视频流的文摘并将这些文摘传送给文摘生成系统202。
[0078] 虽然在本文中参照特定模块讨论特定功能,应该注意的是,本文讨论的单独模块的功能可以被分成多个模块,和/或多个模块的至少一些功能可以被组合成单个模块。附加地,本文讨论的执行动作的特定模块包括该特定模块本身执行该动作,或者该特定模块调用或以其他方式访问执行动作(或者结合该特定模块执行动作)的另一个组件或模块。因此,执行动作的特定模块包括执行该动作的特定模块本身和/或由执行动作的该特定模块调用或以其他方式访问的另一模块。
[0079] 图5一般地示出了在500处的示例系统,其包括示例计算设备502,该示例计算设备502代表可以实现本文描述的各种技术的一个或多个系统和/或设备。计算设备502可以是例如服务提供商的服务器、与客户端(例如客户端设备)相关联的设备、芯片上系统和/或任何其他合适的计算设备或计算系统。
[0080] 如图所示的示例计算设备502包括处理系统504、一个或多个计算机可读介质506以及一个或多个I/O接口508,这些I/O接口508彼此通信地耦合。虽然未被示出,但是计算设备502可以进一步包括将各种组件彼此耦合的系统总线或其他数据和命令传输系统。系统总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线体系结构中的任一个的处理器或本地总线。各种其他示例也被构想,诸如控制线和数据线。
[0081] 处理系统504表示使用硬件来执行一个或多个操作的功能。相应地,处理系统504被图示为包括可以被配置为处理器、功能块等等的硬件元件510。这可以包括在硬件中实施为专用集成电路或使用一个或多个半导体形成的其他逻辑器件。硬件元件510不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以包括半导体和/或晶体管(例如,电子集成电路(IC))。在这种情况下,处理器可执行指令可以是电子可执行指令。
[0082] 计算机可读介质506被图示为包括存储器/存储512。存储器/存储512表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储512可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储512可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等等)以及可移除介质(例如,闪存、可移动硬盘驱动器、光盘等等)。如下文中进一步描述的,计算机可读介质506可以以各种其他方式来配置。
[0083] 一个或多个输入/输出接口508表示允许用户向计算设备502输入命令和信息的功能,并且还允许使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、扩音器(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容或其他传感器)、摄像机(例如,其可以采用可见或不可见波长,诸如红外频率来检测不涉及触摸的移动作为手势)等等。输出设备的示例包括显示设备(例如,监测器或投影仪)、扬声器、打印机、网卡、触觉响应设备等等。因此,计算设备502可以以各种方式配置,如下文中进一步描述的,以支持用户交互。
[0084] 计算设备502还包括文摘生成系统514和搜索系统516。文摘生成系统514生成用于视频流的文摘,并且搜索系统516支持如上所述基于文摘搜索视频流。文摘生成系统514可以是例如图2的文摘生成系统202,并且搜索系统516可以是例如图2的搜索系统206。尽管计算设备502被图示为包括文摘生成系统514和搜索系统516两者,备选地,计算设备502可以仅包括文摘生成系统514(或其一部分)或仅包括搜索系统516(或其一部分)。
[0085] 本文的各种技术可以在软件、硬件元件或程序模块的通用上下文中描述。通常,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等等。本文使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。这里描述的技术的特征是平台无关的,这意味着这些技术可以在具有各种处理器的各种计算平台上被实现。
[0086] 所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或者通过其传输。计算机可读介质可以包括可由计算设备502访问的各种介质。通过示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
[0087] “计算机可读存储介质”指的是与仅仅信号传输,载波或信号本身形成对比的,能够持久存储有形信息和/或存储的媒体和/或设备。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据等信息的方法或技术实现的诸如易失性和非易失性、可移动和不可移动介质和/或存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储设备,硬盘,磁带盒,磁带,磁盘存储器或其他磁存储设备或其他存储设备、有形介质或适于存储所需信息并可由计算机访问的制品。
[0088] “计算机可读信号介质”是指被配置成诸如经由网络向计算设备502的硬件传输指令的信号承载介质。信号介质通常可以体现计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,诸如载波、数据信号或其他传输机制。信号介质还包括任何信息传递介质。术语“调制数据信号”是指具有以对信号中的信息进行编码的方式设置或改变其一个或多个特性的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外线和其他无线介质之类的无线介质。
[0089] 如前所述,硬件元件510和计算机可读介质506代表以硬件形式实现的指令,、模块、可编程设备逻辑和/或固定设备逻辑,其可以在一些实施例中用于实现本文所描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及或其他硬件设备中的其他实现。在这种情况下,硬件元件可以作为执行由硬件元件具体化的指令、模块和/或逻辑定义的程序任务的处理设备以及用于存储用于执行的指令的硬件设备,例如前述的计算机可读存储介质。
[0090] 前述的组合也可以被用于实施本文描述的各种技术和模块。相应地,软件、硬件或程序模块和其他程序模块可以被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件510体现的一个或多个指令和/或逻辑。计算设备502可以被配置为实施对应于软件和/或硬件模块的特定指令和/或功能。相应地,作为软件可由计算设备502执行的模块的模块的实现,例如通过使用处理系统的计算机可读存储介质和/或硬件元件510,可以至少部分地用硬件来实现。指令和/或功能可以由一个或多个制造物品(例如,一个或多个计算设备502和/或处理系统504)执行/操作以实现本文描述的技术、模块和示例。
[0091] 如图5进一步所示,当在个人计算机(PC)、电视设备和/或移动设备上运行应用程序时,示例系统500使能无处不在的环境能够用于无缝用户体验。当从一个设备转换到另一个设备的同时使用应用程序、玩视频游戏、观看视频等时,服务和应用程序在所有三种环境中运行时都基本相似,以用于提供共同的用户体验。
[0092] 在示例系统500中,多个设备通过中央计算设备互连。中央计算设备对于多个设备可以是本地的或者可以位于远离多个设备的位置。在一个或多个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到多个设备的一个或多个服务器计算机的
[0093] 在一个或多个实施例中,该互连体系结构使能功能在多个设备上被递送,以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同的物理要求和能,并且中央计算设备使用平台来使能既向设备定制又为所有设备共用的向设备的体验的递送。在一个或多个实施例中,一类目标设备被创建,并且体验根据通用类别的设备被量身定制。一类设备可以由物理特征、使用类型或设备的其他共同特征来限定。
[0094] 在各种实现中,计算设备502可以采取各种不同的配置,诸如用于计算机516、移动设备518和电视520的使用。这些配置中的每一个包括可能具有通常不同的构造和能力的设备,并且因此计算设备502可以根据一个或多个不同的设备类来配置。例如,计算设备502可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的设备的计算机516类。
[0095] 计算设备502还可以被实现为包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板电脑、多屏幕计算机等的移动设备518类的移动设备。计算设备502还可以被实现为电视520类的设备,其包括具有或连接到在临时观看环境中的通常更大的屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
[0096] 本文所描述的技术可以由计算设备502的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。该功能还可以全部或部分地通过使用分布式系统来实现,诸如经由如下所述的平台524通过“云”522。
[0097] 云522包括和/或代表资源526的平台524。平台524抽象云522的硬件(例如,服务器)和软件资源的基础功能。资源526可以包括当计算机处理在远离计算设备502的服务器上被执行时可被使用的应用程序和/或数据。资源526还可以包括通过因特网和/或通过订户网络(诸如蜂窝或Wi-Fi网络)提供的服务。
[0098] 平台524可以抽象资源和功能以将计算设备502与其他计算设备连接。平台524还可以用于抽象资源的规模以向经由平台524实现的资源526遇到的需求提供相应的规模等级。相应地,在互连设备实施例中,本文描述的功能的实现可以分布在整个系统500中。例如,该功能可以部分地在计算设备502上以及经由抽象云522的功能的平台524来实现。
[0099] 在本文的讨论中,各种不同的实施例被描述。应该认识和理解的是,本文描述的每个实施例可以被单独使用或与本文描述的一个或多个其他实施例结合使用。本文讨论的技术的其他方面涉及以下一个或多个实施例。
[0100] 一种方法,包括:获取多个视频流;对于多个视频流中的每一个:选择视频流的帧的子集;以及通过将帧到文本分类器应用于帧来为帧的子集中的每个帧生成包括描述帧的文本的文摘;接收文本搜索查询;搜索多个视频流的文摘以标识满足文本搜索查询的多个视频流的子集;以及返回视频流的子集的指示。
[0101] 作为上述方法中的任何一个的备选或附加,以下中的任何一个或组合:多个视频流包括多个实时流,每个实时流从多个视频流源设备中的不同的一个被接收;选择帧的子集包括执行视频流的帧的均匀采样;生成包括使用采用有损技术的降低精度分类器生成文摘;该生成包括使用针对视频流的专用分类器来生成文摘,该专用分类器针对该视频流训练但未针对其他视频流训练;该方法进一步包括针对描述帧的文本生成可视属性,并且使用生成的可视属性来确定视频流与文本搜索查询的相关性;使用所生成的视觉属性包括按照它们的相关性的顺序对视频流的子集中的视频流的标识符进行排序。
[0102] 一种系统,包括:准入控制模块,被配置为获取多个视频流,并且对于多个视频流中的每一个,解码视频流的帧的子集;分类器模块,被配置为针对每个视频流生成用于每个解码帧的文摘,解码帧的文摘包括描述解码帧的文本;存储设备,被配置为存储文摘;以及查询模块,被配置为接收文本搜索查询,搜索存储在存储设备中的文摘以标识满足文本搜索查询的多个视频流的子集,并且向搜索器返回实时流的子集的指示。
[0103] 作为上述系统中的任何一个的备选或附加,可以使用以下中的任何一个或组合:系统在单个计算设备上被实现;系统还包括调度器模块、用于多个视频流的多个分类器和多个计算设备,调度器模块确定多个计算设备中的哪些包括用于为多个视频流中的哪些的帧生成文摘的分类器;准入控制模块进一步被配置为通过执行视频流的帧的均匀采样来选择帧的子集;分类器模块进一步被配置为生成用于描述帧的文本的视觉属性,并且查询模块进一步被配置为使用所生成的视觉属性来确定视频流与文本搜索查询的相关性;多个视频流包括多个实时流,每个实时流从多个视频流源设备中的不同的一个被接收;分类器模块被配置为使用针对视频流的专用分类器来生成文摘,该专用分类器针对该视频流训练但未针对其他多个视频流中的一个训练。
[0104] 一种计算设备,包括:一个或多个处理器;以及其上存储有多个指令的计算机可读存储介质,该指令响应于由一个或多个处理器的执行而使一个或多个处理器执行动作,包括:获取多个视频流;以及对于多个视频流中的每一个:选择视频流的帧的子集;通过将帧到文本分类器应用于帧来为帧的子集中的每个帧生成包括描述帧的文本的文摘;以及向文摘存储库发送所生成的文摘。
[0105] 作为上述计算设备中的任何一个的备选或附加,可以使用以下中的任何一个或组合:该动作进一步包括接收文本搜索查询,搜索文摘存储库中的文摘以标识满足文本搜索查询的多个视频流的子集,并且返回视频流子集的指示;多个视频流包括多个实时流,每个实时流从多个用户中的不同一个用户的视频流源设备被接收;选择帧的子集包括执行视频流的帧的均匀采样;生成包括使用采用有损技术的降低精度分类器生成文摘;生成包括使用针对视频流的专用分类器生成文摘,该专用分类器针对该视频流训练但未针对其他视频流训练。
[0106] 虽然主题已经用特定于结构特征和/或方法动作的语言进行了描述,但是应当理解,所附权利要求书中限定的主题不一定限于上述具体特征或动作。相反,上述具体特征和行为作为实施权利要求的示例形式被公开。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈