CN110692251B - 组合数字视频内容的方法及系统 - Google Patents
组合数字视频内容的方法及系统 Download PDFInfo
- Publication number
- CN110692251B CN110692251B CN201780091424.5A CN201780091424A CN110692251B CN 110692251 B CN110692251 B CN 110692251B CN 201780091424 A CN201780091424 A CN 201780091424A CN 110692251 B CN110692251 B CN 110692251B
- Authority
- CN
- China
- Prior art keywords
- content
- data processing
- digital video
- processing system
- static portion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000003068 static effect Effects 0.000 claims abstract description 186
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 301
- 238000013475 authorization Methods 0.000 claims description 11
- 238000007477 logistic regression Methods 0.000 claims description 5
- 230000000153 supplemental effect Effects 0.000 description 33
- 230000008569 process Effects 0.000 description 31
- 238000010801 machine learning Methods 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000009877 rendering Methods 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011143 downstream manufacturing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4722—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
Abstract
描述了组合数字视频的系统和方法。系统可以接收包括帧的数字视频。系统可以分析帧以识别具有静态部分的连续帧的子集,由在两个或更多帧之间具有匹配像素的空间区域来定义静态部分。系统可以用子集的指示和触发给数字视频加标签,触发使得在子集之前在播放期间的时间偏移发送对用于覆盖静态部分的内容的请求。系统可以从客户端设备接收请求,客户端设备基于在子集之前在播放期间的时间偏移来发送请求。系统可以响应于请求选择并发送内容项,使客户端设备在子集的静态部分渲染内容项。
Description
背景技术
补充内容可以与数字视频内容一起显示,例如,使用横幅(banner)内容项或插播(instream)内容项(有时称为前插、后插或插页式元素)。横幅内容项可以是指在有限时间中将补充内容项覆盖在数字视频上(例如,在许多实现中具有不透明或半不透明背景)。插页式(interstitial)内容项可以是指在有限时间内中断数字视频并在这段时间期间显示补充内容项;类似地,前插内容项和后插内容项可以分别出现在数字视频之前和之后。然而,横幅内容项和插播内容项都在有限时间量中出现,并且中断或至少部分遮盖原始数字视频。此外,因为服务器可能发送数字视频并且然后单独发送补充内容项,或者通过中断数字视频延长整体渲染的持续时间,所以使用横幅内容项和插播内容项可能会导致带宽利用、存储器利用和处理器利用的增加。因此,在不中断数字视频的情况下,还要管理计算资源利用的同时,为数字视频内容提供更长持续时间的补充内容可能具有挑战性。
发明内容
本公开涉及组合数字多媒体内容的系统和方法。在数字视频处理中,可能希望在单个视频流中组合两个或更多个数字视频内容源,以提供给观看者。例如,可能期望用补充数字视频内容来修改原始数字视频内容。补充数字视频内容可以被动态地选择,并且可以随着时间和/或针对最终数字视频内容的不同观看者而改变。以此方式,例如,最终数字视频内容可以被修改(例如,针对新鲜度、本地化、个性化等),而无需完全替换原始数字视频内容。
本文所述的技术允许视频内容的更无缝组合。这进而允许在更长的持续时间内提供补充内容,且中断更少或没有中断,同时减少计算资源的利用。例如,本解决方案可以包括接收(例如,从内部存储器或从外部源)数字视频并对视频进行预处理以识别视频中的静态部分的系统。静态部分可以由数字视频中的空间区域定义,空间区域在数字视频中的多个帧之间具有相似或匹配的像素。该系统可以基于识别的静态部分的特征在数字视频中自动创建空间和/或时间槽(slot)。例如,如果识别的静态部分满足预定的持续时间阈值、大小、颜色、位置或其他特性,则系统可以创建槽。为了对补充内容项进行实时内容选择处理而不在数字视频播放中引入进一步的等待时间或延迟,系统可以在优化实时内容选择和降低等待时间之间的槽之前计算播放期间的时间偏移,以选择和提供选择的补充内容项,因此它可以在创建的槽中被合并或渲染,而不会引起延迟或滞后。
在识别空间和/或时间间隙并计算时间偏移之后,系统可以给数字视频加标签。例如,系统可以在数字视频的元数据中插入标签,该标签提供对空间和/或时间间隙和时间偏移的指示。标签还可以提供指令,使客户端设备在时间偏移生成对内容的请求(例如,在渲染或呈现时间之前预取内容)。对内容的请求可以包括在标签中提供的参数,诸如空间和/或时间内容槽的大小或位置,或者有助于实时内容选择的特性(例如,背景颜色、前景颜色、与数字视频或槽相关联的关键词)。
系统可以给数字视频加标签并将数字视频提供给客户端设备。客户端设备可以播放或渲染数字视频。例如,由客户端设备执行的应用(例如,视频播放器、多媒体播放器、应用编程接口或web浏览器)可以播放、呈现或渲染数字视频。客户端设备可以解析包括由系统生成和插入的标签的元数据。客户端设备可以响应于嵌入在数字视频的元数据中的标签或触发生成并发送请求。客户端设备可以将请求发送到系统。因此,系统可以基于元数据中的时间偏移从客户端设备接收对内容的请求。响应于接收对内容的请求,系统可以使用与请求或客户端设备相关联的参数来执行内容选择处理。在选择内容项后,系统可以将内容项提供给客户端设备,以使客户端设备在数字视频的槽渲染内容项。在一些情况下,系统可以将选择的内容项和与形成内容槽的静态部分相对应的帧合并,并将合并的数字视频的帧流传输到客户端设备。因此,通过在数字视频中识别合适的静态部分并给视频加标签以使客户端设备在槽的播放之前的时间偏移发送对内容的实时请求来自动生成槽,系统可以提供沉浸式的补充内容,而不会中断数字视频、延长视频播放的持续时间或阻止数字视频的活动部分,同时减少了提供和渲染补充内容项的延迟或等待时间。
在下面详细讨论这些和其他方面以及实现方式。前述信息和以下详细描述包括各个方面和实现方式的说明性示例,并且提供了用于理解所要求保护的方面和实现方式的性质和特性的概述或框架。附图提供了对各个方面和实现方式的说明和进一步的理解,并且被并入本说明书中并构成本说明书的一部分。
附图说明
本说明书中描述的主题的一种或多种实现方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
图1A-图1D是根据用于组合数字视频的系统的各种实现方式的显示界面以及与其他计算设备的交互的示图。
图2是根据实现方式的用于组合数字视频的系统的示图。
图3是根据实现方式的用于组合数字视频的方法的流程图的示图。
图4是示出可以用于实现图1A-图1D和图2所示的系统的各种元件以及图3所示的方法计算机系统的架构的实现的框图。
在各个附图中,相同的附图标记和标记表示相同的元件。
具体实施方式
以下是与在网络上在计算设备和内容选择基础架构之间平衡数据请求的方法、装置和系统相关的各种概念以及其实现的各种概念的更详细描述。可以以许多方式中的任何一种来实现上面介绍的且下面更详细讨论的各种概念。
本公开涉及组合数字视频内容以在对数字视频具有更少中断或没有中断,同时减少计算资源利用的情况下,在更长的持续时间中提供附加内容的系统和方法。例如,无论原始视频内容如何都在限定的固定位置上以叠加横幅的形式提供的补充视频内容项可能会阻挡或隐藏数字视频的活动或重要部分,通过使服务器提供或发送横幅内容项的额外数据而导致额外的带宽使用,或因为与横幅内容项相对应的数据分组可能会优先于数字视频的数据分组,所以导致数字视频播放的延迟或滞后。此外,以插播提供的插页式补充内容项可能在与补充内容项相对应的持续时间内暂停数字视频的播放,从而中断数字视频的播放并延长整个数字视频的持续时间(因此需要额外的服务器资源和带宽,同时涉及连接和相应网络套接字等)。此外,横幅内容项和插页式内容项二者可能对整体用户体验和数字播放图形用户界面产生负面影响。
本解决方案的系统和方法可以组合数字视频以在对数字视频具有更少中断或没有中断,同时减少计算资源利用的情况下,在更长的持续时间中提供附加内容的系统和方法。本解决方案的系统和方法可以通过将补充内容沉浸式嵌入在数字视频中来引起更多的用户关注。例如,本解决方案的数据处理系统可以经由数字视频上传器用户接口来接收数字视频内容项。数字视频内容项可以包括多个帧。数据处理系统可以将视频上传器接口提供给内容发布者设备。内容发布者设备可以通过上传器接口将数字视频内容项发送到数据处理系统。数字视频内容项可以由多个连续的帧形成,其中每个帧可以包括图像。数据处理可以对数字视频进行预处理,以确定数字视频内容项是否满足用于进一步下游处理的预定最小标准(例如,最小帧速率、最小分辨率、主题或视频编码协议)。数据处理系统可以分析数字视频内容项的帧以识别具有静态部分的帧的子集。静态部分可以由在时间区域或窗口(例如,视频的两个或更更多帧)之间具有匹配或相似像素的空间区域来定义,并且因此具有空间和时间维度二者。数据处理系统可以确定识别的静态部分是槽(slot) 的候选,在槽中可以通过实时内容选择处理插入补充内容项。
在一些情况下,数据处理系统可以识别数字视频中的多个候选槽。数据处理系统可以利用机器学习模型或算法来选择多个候选槽中的一个或多个。例如,数据处理系统可以使用逻辑回归、线性回归、人工神经网络或其他机器学习模型或算法来识别候选槽。数据处理系统可以提示上传数字视频的内容发布者设备选择多个候选槽中的一个或多个。在一些情况下,内容发布者设备可以拒绝或锁定一个或多个候选内容槽,以防止将内容项插入到内容槽中。
在选择用于数字视频内容的内容槽之后,数据处理系统可以生成用于插入到数字视频内容项的元数据中的标签。标签可以提供关于自动生成的内容槽的信息,诸如槽的大小和位置。标签可以包括关于内容槽的附加信息,附加信息可以用于生成对内容的请求或促进由数据处理系统响应于该请求而执行的实时内容选择处理。例如,数据处理系统可以在与槽相对应的帧的子集之前在播放期间计算时间偏移。时间偏移可以指示客户端设备何时将发送对内容的请求以使数据处理系统执行内容选择处理并选择提供插入数字视频内容项中的内容槽的内容项。
数据处理系统可以将加标签的数字视频内容提供给客户端设备,以使客户端设备播放数字视频内容。客户端设备可以渲染数字视频内容,解析元数据以识别标签和时间偏移,然后响应于标签而发送对内容的请求。响应于接收到请求,数据处理系统可以选择内容项并将其提供给客户端设备,以使客户端设备在数字视频的自动生成的槽中渲染选择的内容项。在一些情况下,数据处理系统可以将选择的补充内容项与数字视频内容合并,并且将相应的帧提供或流传输到客户端设备,以使客户端设备渲染或播放具有补充内容项的数字视频。在一些情况下,数据处理系统可以利用指令向客户端设备提供补充内容项,以使客户端设备在于数字视频内容的元数据中识别的内容槽中渲染补充内容项。
现参照图1A,示出了用于组合或修改数字视频的系统的显示界面的实现方式的示图。图1A示出了播放、渲染和呈现数字视频内容项102的视频播放器应用100。视频播放器应用100可以由客户端计算设备(例如,图2中描绘的客户端计算设备228)执行。视频播放器应用100可以包括一个或多个视频控件,诸如:播放按钮108,在一些实现中可以在播放期间被切换到暂停按钮;前进按钮110;音量控制接口112;隐藏字幕切换116;以及全屏按钮118。在各种实现中可以包括更多或更少的控件。视频播放器应用100 可以提供进度条106,可以是被配置为可视化数字视频内容项的进度的图形控制元素。视频播放器应用100可以提供视频的当前进度和视频的总体持续时间的指示114(例如,当前进度可以是0:56秒,并且总体持续时间可以是 6:23)。
视频播放器应用100可以呈现在空间上被覆盖在数字视频内容102上的横幅内容槽120。然而,在所示示例中,因为横幅内容槽120遮挡数字视频内容102的一部分,所以它在指定部分以指定大小(例如480x70)在有限时间内被覆盖在视频的顶部。横幅内容槽120可能遮挡视频的一部分,导致用户感到烦恼或沮丧,并浪费处理资源来渲染潜在遮挡视频的相应部分。视频的活动部分经常需要更多的处理来解码和/或渲染,例如,由于频繁改变或需要更精细的宏块进行解码的详细图像(例如,文本或运动);因此,尽管没有为用户提供可观察到的益处,但是渲染这些部分并随后用覆盖横幅遮挡它们需要利用处理资源。
在本解决方案中,内容发布者可以将数字视频内容102上传到数据处理系统(例如,图2所示的数据处理系统202)。数据处理系统202可以分析数字视频内容以识别空白或静态空间122。空白或静态空间122可以对应于数字视频内容的静态部分,其中,像素在预定的持续时间或帧数内基本上不会变化。例如,相对于先前帧中的像素或区域中的像素,像素可以相同或变化小于特定百分比(例如,1%、2%、3%、4%、5%、10%等)。空白或静态空间122可以代表背景或其他区域。
例如,数字视频内容可以是新闻节目。新闻节目可以呈现在数字视频102 中通常固定的区域中的新闻播音员104。新闻播音员104可以被空白或静态空间122包围,诸如静态颜色的包围边框、固定的家具或新闻集。因此,创建或呈现数字视频内容102的内容发布者可以将数字视频内容102上传到数据处理系统202,其可以分析数字视频内容项102。在接收到数字视频内容 102时,数据处理系统202可以执行预处理,可以包括将视频转换为多种格式、改变分辨率或改变帧速率。
现在参照图1B,示出了用于组合或修改数字视频的显示界面和系统的实现的另一示图。图1B示出了系统101的操作,在该操作期间,内容发布者 232在步骤140将数字视频内容102上传到数据处理系统202。然后,数据处理系统202可以分析数字视频内容102。数据处理系统202分析数字视频内容102以识别位于图1A中指示的空白空间122处的候选内容槽124、126、 128、130、132和134。数据处理系统202可以执行候选内容槽的自动检测。
数据处理系统202可以利用图像解释、图像处理、机器学习或其他技术来识别候选内容槽124、126、128、130、132和134。例如,数据处理系统 202可以通过比较数字视频内容102中的连续帧以识别低于阈值的像素变化,来识别一个或多个候选内容槽。数据处理系统202可以使用机器学习来基于历史性能或预测模型来选择多个候选内容槽中的一个或多个。例如,数据处理系统202可以使用逻辑回归来分析多个帧,以识别由在两个或更多帧之间具有匹配像素的空间区域定义的第一静态部分。数据处理系统202可以利用机器学习模型或算法来选择多个候选槽中的一个或多个。数据处理系统可以使用逻辑回归、线性回归、人工神经网络或其他机器学习模型或算法来识别候选槽。例如,数据处理系统202可以接收基于先前选择的内容槽的性能反馈,以识别与正反馈相关联的特征和与负反馈相关联的特征。数据处理系统202可以使用正反馈、负反馈和关联的特性来生成或构建机器学习模型,数据处理系统202可以使用该机器学习模型来预测视频中可以放置内容槽以产生正反馈的静态区域。数据处理系统202还可以使用机器学习模型基于预测的负面性能来预测视频中不应放置内容槽的静态区域。
数据处理系统202可以利用自动槽检测技术,包括去除数字视频102的包括人物(例如,人104)、古迹、移动物体或其他预定物体的一个或多个区段(section)。自动槽检测技术可以包括对相邻帧逐像素进行比较,以识别数字视频102具有静态背景的公共部分。自动槽检测算法的输出可以得到多个候选槽(例如,具有静态背景的数字视频102的多个时间和位置),如图1B所示。例如,内容槽126、130和134在持续时间142可以具有静态背景,而内容槽124、128和132在持续时间144可以具有静态背景。
在识别出多个候选内容槽124、126、128、130、132和134时,数据处理系统202使用自动槽检测技术,可以过滤出与人物(例如,人104)或其他变化的或细节部分(例如,文本、动作等)接近的一个或多个候选内容位置,以减少干扰。数据处理系统202可以应用最大/最小规则以将多个候选槽合并为更少的候选内容槽,以简化下游处理,从而提高下游处理的效率。例如,候选内容槽124、128和132可以被合并为最大内容槽136;候选内容槽 126、130和134可以被合并为最大内容槽138。
数据处理系统202使用自动槽检测处理,可以将合并的内容槽(或区域) 136和138转发给机器学习算法,以选择最佳内容槽。机器学习算法可以利用以下信号来选择最佳的内容槽:i)观看视频的最终用户——最终用户可以选择退出这些类型的视频内容项,并且如果他们选择从特定视频集合退出,则利用的槽可能被认为是不良的或非最佳的,并且相应信号可以基于用户选择退出来指示不良槽位置;ii)视频上传器——提供视频的视频上传器或用户可以拒绝一些槽建议并接受一些槽建议,因此,信号可以根据内容发布者是否接受槽位置来指示统计上更好的槽位置,并且根据发布者是否拒绝该槽位置来指示统计上不良的槽位置;iii)众包(crowdsourced)信息——众包评分系统,为机器学习算法提供基本真实数据,以训练明确识别槽中内容的好坏布置(通过正信号和负信号);iv)视频补充内容项服务——观察与内容槽中的渲染内容项相关联的各种度量(例如,性能、选择、用户观看时间减少),以基于A/B测试、水桶测试或分批运行测试来改善槽选择。
因此,数据处理系统202可以利用自动槽检测技术、处理或算法(其可以包括机器学习算法)来在数字视频中自动创建与数字视频中的静态部分相对应的内容槽。数据处理系统202可以确定内容槽的帧(例如,对应于持续时间142或144的开始的内容槽在数字视频中的开始时间、内容槽的坐标、周围颜色、背景颜色或内容槽的持续时间)。例如,数据处理系统202可以确定每个候选内容槽的持续时间。数据处理系统202可以确定每个候选内容槽具有相同的持续时间,或者一个或多个候选内容槽具有不同的持续时间(例如,持续时间142和146)。数据处理系统202可以基于预定的持续时间值或基于与候选内容槽的位置相对应的像素保持静态的持续时间来设置每个候选内容槽的持续时间。数据处理系统202可以逐帧查看并识别数字视频中的区域在哪里是静态的或对应于相同内容(例如,相同像素、没有运动等)。即使区域可能不会改变,数据处理系统也可以应用进一步的处理来排除特定区域,诸如,如果该区域已经包含文本(或包含的文本多于预定阈值,以防止排除诸如广播电台的呼叫信函的文本量较小的区域),该区域的颜色不利于提供补充内容项,该区域包括不被补充内容项覆盖的面部或其他可识别对象。
在一些情况下,数据处理系统202可以向候选内容槽的内容发布者提供指示。数据处理系统202可以提示内容发布者接受或拒绝一个或多个候选内容槽。在一些情况下,内容发布者可以在数字视频内容项上标记附加区域作为候选内容槽。例如,内容发布者可以使用图形用户界面或其他输入机制(例如,鼠标、触摸界面或输入坐标)将框132标记为候选内容槽。
数据处理系统202可以选择一个或多个候选内容槽。数据处理系统202 可以给具有关于选择的内容槽的信息的数字视频加标签。数据处理系统202 可以将信息包括在数字视频内容102的元数据中。例如,数据处理系统202 可以包括关于内容槽的位置、背景颜色、大小、关键字或时间偏移。该信息可以促进随后的内容选择。例如,背景颜色对于选择内容项可能是有用的,因为内容项可以包括内容选择标准,内容选择标准可以指示为在预定背景颜色上显示而选择的偏好,或者另一方面,为在预定背景颜色上显示而不选择的偏好。
现在参照图1C,示出了用于组合修改数字视频的显示界面和系统的实现的另一示图。图1C示出了系统102的操作,其中数据处理系统202在步骤 150中将加标签的数字视频102’提供给客户端计算设备230。加标签的数字视频102’可以包括关于选择的内容槽的信息(例如,大小、位置、背景颜色等) 和时间偏移。时间偏移160可以指在包括内容槽的帧的子集之前在播放期间的时间。时间偏移160可以是预定值,或者可以基于与数字视频内容102’、客户端计算设备230或者客户端计算设备230和数据处理系统202通过其通信的网络(例如,图2中描绘的网络205)相关联的特性来动态确定。特性可以包括缓冲量。例如,在客户端计算设备230上缓冲或预加载的视频内容越多,时间偏移160可以越大,以确保补充内容项被数据处理系统202选择并与在客户端计算设备230上预加载或缓存的数字视频内容一起被提供给客户端计算设备230。
在一些实现方式中,当客户端计算设备230开始播放加标签的数字视频 102’时,标签可以包括使客户端计算设备230将请求152发送到具有与数字视频内容项102’或客户端计算设备230相关联的信息的数据处理系统202的指令。请求152可以包括加标签的数字视频内容项102’的标识符。请求152 可以包括与加标签的数字视频内容项102’相关联的元数据。数据处理系统202 响应于客户端计算设备230开始播放加标签的数字视频内容102’而从客户端计算设备230接收请求152。响应于请求152,数据处理系统202可以基于经由请求152接收的元数据或基于使用经由请求152接收的标识符在数据库中执行查找来识别数字视频内容项102’是否适合沉浸式内容槽。
在一些实现方式中,当客户端计算设备230开始播放加标签的数字视频 102’时,客户端计算设备将请求152与关于加标签的数字视频102’的信息、设备情境和设备简档信息一起发送。数据处理系统202可以获取与加标签的数字视频102’相关的预处理的元数据,并确定加标签的数字视频102’适合嵌入式内容槽体验。预处理的元数据还可以包括关于嵌入式内容槽164的定时和位置的信息。例如,数据处理系统202可以将元数据存储在与数据处理系统202相关联的数据库中。元数据可以被分配加标签的数字视频102’的标识符。在加标签的数字视频102’的播放期间,客户端计算设备230可以将标识符提供给数据处理系统202,并且数据处理系统202可以使用接收的标识符来执行查找,以便检索加标签的数字视频102’的元数据。通过将元数据存储在数据处理系统202处,客户端计算设备230可以仅发送加标签的数字视频内容102’的标识符,从而减少带宽使用并减少等待时间。
在一些实现方式中,数据处理系统202可以向客户端计算设备230发送响应154,包括关于在数字视频内容项102'中何时何处呈现沉浸式内容槽的信息。客户端计算设备230或在客户端计算设备230上运行的视频应用播放器可以存储接收的信息。
在一些实现方式中,在步骤150提供的加标签的数字视频内容项102’可以将该信息包括在数字视频102’的元数据中,这可以排除请求步骤152和响应步骤154,从而减少了远程程序调用的数量、网络使用和等待时间。
当加标签的数字视频102’在播放期间前进时,视频可以前进到时间偏移 160的开始。前进到时间偏移160可以触发对内容156的请求。前进到时间偏移160可以使客户端计算设备230执行视频应用播放器,以将对内容156 的请求发送到数据处理系统202。可以基于时间偏移160来发送对内容的请求156,在内容槽持续时间162之前的播放期间发生时间偏移160。
数据处理系统202可以接收对内容的请求156并执行内容选择处理。数据处理系统202可以使用与请求相关联的信息来选择内容项(例如,内容槽的背景颜色、与加标签的数字视频102’相关联的关键字、内容槽的位置、内容槽的大小或与客户端计算设备230相关联的简档信息等)。数据处理系统 202可以经由传输158将选择的内容项提供给客户端计算设备230。数据处理系统202还可以在传输158期间提供指令以使客户端计算设备230在内容槽164中插入、嵌入、合并、覆盖或者渲染或呈现选择的内容项。选择的内容项可以在内容槽164中被渲染达内容槽持续时间162(例如,30秒、1分钟、 2分钟、3分钟或更长)。
选择的内容项可以是图像,例如静态图像。数据处理系统202可以将包括与选择的内容项相对应的静态图像的数据文件提供给客户端计算设备230。客户端计算设备230或其上运行的视频播放器应用可以渲染数字视频内容的帧。当在客户端计算设备上运行的视频播放器应用渲染数字视频内容的帧时,视频应用播放器可以将与在数据文件中接收的选择的内容项相对应的图像与指定位置(例如,在内容槽164中)的视频帧合并,并且达指定持续时间162。因此,通过在单个传输158中提供选择的内容项作为静态图像,并指示客户端计算设备230在数字视频的每个相应帧中的指定位置和指定持续时间中渲染内容项,系统可以降低网络利用。
在持续时间162完成之后,由客户端计算设备230运行的视频播放器应用可以渲染没有内容槽164的数字视频102’。视频播放器应用可以等待其中内容项可以被显示为视频进度的下一个内容槽。
现参照图1D,示出了用于组合或修改数字视频的显示界面和系统的实现的另一示图。图1D示出了系统102的操作,其中加标签的数字视频102”包括第二内容槽174。第二内容槽174可以与第二时间偏移176和第二内容槽持续时间178相关联。第二时间偏移176和第二内容槽持续时间178可以在时间偏移160和内容槽持续时间162之后。第二内容槽174的位置和大小可以与内容槽164的位置和大小不同。例如,内容槽164可以位于数字视频内容102’的右上角中,而第二内容槽174可以位于加标签的数字视频内容102”的左下角中。加标签的数字视频102’和102”可以是在不同呈现时间的同一视频,也可以是不同视频。加标签的数字视频102”可以包括内容槽164和174 两者,但是呈现时间不同。在一些情况下,内容槽164和174两者可以同时或在重叠的时间被呈现。例如,第二时间偏移176可以在内容槽持续时间162 期间发生,以便在内容槽持续时间162期间正在呈现内容项的同时将在内容槽174中呈现的第二内容项排队,使得存在最小等待时间。
响应于加标签的数字视频102”前进到或播放到达第二时间偏移176,客户端计算设备230可以发送对内容170的请求。数据处理系统202可以选择第二内容项并在传输172期间向客户端计算设备230提供第二内容项。数据处理系统202可以使用与内容请求170相关联的信息来选择第二内容项。该信息可以包括与第二内容槽174或周围像素(例如,大小、位置、背景颜色) 相关联的信息。数据处理系统202可以将与内容槽相关联的特性和与内容项相关联的内容选择标准进行匹配,以便选择匹配内容项。
图2示出用于组合或修改数字视频的示例系统200。系统200可以包括内容选择基础架构。系统200可以包括数据处理系统202,通过网络205与内容提供者计算设备234、内容发布者计算设备232或客户端计算设备230 中的一个或多个通信。网络205可以包括计算机网络(诸如互联网、局域网、广域网、城域网或其他局域网)、内联网、卫星网络以及其他通信网络(诸如语音或数据移动电话网络)。网络205可以用于访问信息资源(诸如网页、网站、域名)或可以显示在至少一个计算设备230(诸如膝上型计算、台式机、平板电脑、个人数字助理、智能手机、便携式计算机或移动电信设备)上的统一资源定位符。例如,经由网络205,计算设备230的用户可以访问由至少一个网站运营商或内容发布者232提供的网页。客户端计算设备230的web 浏览器(例如,应用104)可以访问网站运营商或内容发布者232的web服务器以检索用于显示在计算设备230的监视器上的网页。内容发布者232可以向在计算设备230上执行的应用104提供指令以呈现内容。网站运营商或内容发布者232通常包括操作网页的实体。网站运营商或内容发布者232包括至少一个网页服务器,与网络205通信以使网页对计算设备230可用。数据处理系统202可以向在计算设备230上运行的应用104提供指令以呈现内容。
网络205可以是任何类型或形式的网络,并且可以包括以下任何一种:对等网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络205可以包括无线链路,诸如红外信道或卫星频带。网络205的拓扑可以包括总线、星形或环形网络拓扑。网络可以包括使用任何一种或多种用于在移动设备之间进行通信的协议的移动电话网络,包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线业务 (“GPRS”)或通用移动电信系统(“UMTS”)。可以通过不同的协议传输不同类型的数据,或者可以通过不同的协议传输相同类型的数据。
系统200可以包括至少一个数据处理系统202。数据处理系统202可以包括至少一个逻辑设备,诸如计算设备,具有经由网络205与例如计算设备 230、网站运营商或内容发布者计算设备232(或内容发布者232)以及至少一个内容提供者计算设备234(或提供者设备234或内容提供者234)进行通信的处理器。数据处理系统202可以包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统202可以包括位于至少一个数据中心中的多个计算资源或服务器。数据处理系统202可以包括按逻辑分组的多个服务器,并且有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器也可以在地理位置上分散。数据中心或机器场可以作为单个实体进行管理,或者机器场可以包括多个机器场。每个机器场中的服务器可以是异构的——一个或多个服务器或机器可以根据一种或多种类型的操作系统平台进行操作。
机器场中的服务器可以与关联的存储系统一起被存储在高密度机架系统中,并位于企业数据中心。例如,通过将服务器和高性能存储系统放置在本地高性能网络上,以这种方式合并服务器可以提高系统的可管理性、数据安全性、系统的物理安全性和系统性能。集中服务器和存储系统并将它们与高级系统管理工具结合使用允许更有效地利用服务器资源。
数据处理系统202可以包括具有至少一个计算资源或服务器的内容放置系统。数据处理系统202可以包括至少一个内容选择器226或与至少一个内容选择器226通信。内容提供者设备234可以提供诸如补充内容项的内容,可以包括图像、电子文档、在线文档、网页或文本,以及数据处理系统202 可以将内容项提供给客户端计算设备230。
数据处理系统202可以包括至少一个内容选择器组件226、至少一个接口228、至少一个视频信号处理器204和至少一个数据存储库216,访问至少一个内容选择器组件226、至少一个接口228、至少一个视频信号处理器204 和至少一个数据存储库216,与至少一个内容选择器组件226、至少一个接口 228、至少一个视频信号处理器204和至少一个数据存储库216交互,或与至少一个内容选择器组件226、至少一个接口228、至少一个视频信号处理器 204和至少一个数据存储库216通信。至少一个视频信号处理器可以包括至少视频预处理器206、槽检测器208、偏移计算器210、元数据加标签器212 或视频编辑器214,与至少视频预处理器206、槽检测器208、偏移计算器210、元数据加标签器212或视频编辑器214交互,或与至少视频预处理器206、槽检测器208、偏移计算器210、元数据加标签器212或视频编辑器214通信。至少一个数据存储库216可以在一个或多个数据结构或数据库中包括或存储阈值218、元数据220、时间偏移222、内容数据224或数字视频238。内容数据224可以包括例如内容活动信息、内容组、内容选择标准、内容项对象或由内容提供者234提供或由数据处理系统202获得或确定的其他信息,以促进内容选择。
视频信号处理器204、视频预处理器206、槽检测器208、偏移计算器210、元数据加标签器212、视频编辑器214、接口228或内容选择器226每个可以包括至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎或被配置为与数据存储库216通信的模块。视频信号处理器204、视频预处理器206、槽检测器208、偏移计算器210、元数据加标签器212、视频编辑器214、接口228和内容选择器226可以是分立组件、单个组件或数据处理系统202的一部分。数据处理系统202及其组件可以包括硬件元件,诸如一个或多个处理器、逻辑设备或电路。
数据处理系统202可以获得与多个计算设备230相关联的匿名计算机网络活动信息。计算设备230的用户可以肯定地授权数据处理系统202获得与用户的计算设备230相对应的网络活动信息。例如,数据处理系统202可以提示计算设备230的用户同意获得一种或多种类型的网络活动信息。计算设备230的用户的身份可以保持匿名,并且计算设备230可以与唯一标识符(例如,由数据处理系统或计算设备的用户提供的用户或计算设备的唯一标识符) 相关联。数据处理系统可以将每个观察与相应唯一标识符相关联。
数据处理系统202可以包括接口228,执行接口228或与接口228通信,诸如网络接口、通信端口、输入/输出端口或具有一个或多个输入文本框、按钮、下拉菜单、小部件(widget)或其他用户接口元素的图形用户界面。数据处理系统202可以提供用于在内容提供者设备234上渲染的图形用户界面。数据处理系统202可以通过图形用户界面接收参数或有助于内容选择处理或建立内容选择处理的其他信息。
数据处理系统的接口228可以包括图形用户界面。接口228可以允许内容发布者232上传数字视频。接口228可以允许内容发布者提供附加输入,诸如作为数字视频的候选内容槽的标记框(例如,图1B中所示的候选内容槽)。数据处理系统202的接口228可以将从内容发布者设备232接收的数据分组转发或路由到数据处理系统202的一个或多个组件,诸如视频信号处理器204 或数据存储库216。
接口228可以包括网络接口、用户接口、输入/输出接口、通信端口、总线或其他软件或硬件,以接收经由通信地耦合到客户端计算设备230的一个或多个输入/输出设备输入的信息或指令,通过网络205接收数据分组,或者通过网络205发送数据。接口228可以包括图形用户界面、多点触摸界面、基于手势的界面、基于音频或语音的界面。
接口228可以向内容提供者设备234、内容发布者设备232或数据处理系统202提供数据分组或信息,并从内容提供者设备234、内容发布者设备 232或数据处理系统202接收数据分组或信息。
接口228可以包括具有一个或多个输入文本框、按钮、下拉菜单、小部件或其他用户界面元素的图形用户界面,执行该图形用户界面或与该图形用户界面通信。数据处理系统202可以提供用于在内容提供者设备234、内容发布者设备232或客户端计算设备230上渲染的图形用户界面。数据处理系统202可以通过计算设备230的接口228接收有助于内容选择处理的参数或其他信息。接口228可以将从客户端计算设备230的一个或多个组件接收的数据分组转发或路由到数据处理系统202、内容提供者设备234或内容发布者232的组件。
内容发布者232可以提供数字视频。内容发布者232可以创建数字视频。内容发布者232可以创建或提供多媒体内容。例如,内容发布者可以创建新闻节目、纪录片、演出、电影、视频剪辑或其他内容。内容发布者232可以将数字视频发送或上传到数据处理系统202,使得数据处理系统202可以将数字视频流传输或提供给客户端计算设备230以在客户端计算设备230上播放。
数据处理系统202还可以通过接口228与内容提供者设备234通信。例如,数据处理系统202的接口228可以将从内容提供者设备234接收的数据分组转发或路由到数据处理系统202(诸如内容选择器组件226或数据存储库216)的一个或多个组件。数据处理系统202可以包括网络接口、用户接口、输入/输出接口、通信端口、总线或其他软件或硬件,向内容提供者设备 234、内容发布者设备216或计算设备230提供数据分组或信息,以及从内容提供者设备234、内容发布者设备216或计算设备230接收数据分组或信息。
内容提供者234可以提供一个或多个内容项对象以供数据处理系统202 选择。当内容放置机会(例如,自动创建的内容槽164或174)变得可用时,数据处理系统202可以选择与预算、内容调度、最高出价、关键字以及为内容组指定的其他选择标准相匹配的内容项对象。在内容组中可以包括不同类型的内容项对象,诸如文本内容项、图像内容项、视频内容项、音频内容项、多媒体内容项、呼叫内容项、内容项链接、插页式内容项或横幅内容项。
客户端计算设备230可以包括视频播放器应用236,执行视频播放器应用236或与视频播放器应用236通信。视频播放器应用236可以包括或利用硬件或软件组件。视频播放器应用236可以包括例如web浏览器,移动应用或媒体播放器。视频播放器应用236可以包括播放多媒体文件(诸如数字视频、电影或音乐)的计算机程序。视频播放器应用236可以被配置有一个或多个可以压缩或解压缩数字视频的视频编解码器。视频编解码器可以将压缩格式的视频转换为原始格式,以通过与客户端计算设备230通信耦合的显示设备进行渲染或显示。视频编解码器可以包括例如MPEG-2,可以是指用于运动图像和相关音频信息的编码的标准。
客户端计算设备230可以包括一个或多个接口,可以是相同或不同的类型。接口可以包括网络接口、用户接口、输入/输出接口、通信端口、总线或其他软件或硬件,以接收通过通信地耦合到客户端计算设备230的一个或多个输入/输出设备输入的信息或指令,通过网络205接收数据分组,或通过网络205发送数据。接口202可以包括图形用户界面、多点触摸界面、基于手势的界面、基于音频或语音的界面。接口可以包括传感器或与传感器交互,诸如位置传感器(例如,全球定位系统、无线传输、短距离无线互连、近场通信等)、加速度计、陀螺仪、环境光传感器、运动检测器、环境声音传感器、环境温度传感器等。接口202可以允许客户端计算设备230的一个或多个组件彼此交互。
客户端计算设备230可以通过在客户端设备上运行的应用236发送用于呈现内容的请求。请求可以包括有助于由数据处理系统202(例如,由内容选择器组件226)进行内容选择的信息。在计算设备230上运行的应用236 可以生成请求,并指示客户端计算设备230将请求发送到数据处理系统202。应用236可以响应于指示、交互或触发事件来生成请求。例如,应用236可以响应于应用236正在播放或渲染的数字视频中的触发或标签来生成请求。请求可以包括有助于选择数字内容的信息,或与有助于选择数字内容的信息相关联,诸如内容选择标准、偏好、内容槽的大小、内容槽的宽度、内容槽的位置、显示器的大小、客户端计算设备230的类型(例如,移动设备、台式机、平板计算设备)、数字内容的类型(例如,静态、动态、图像、文本、视频、音频)、背景颜色、前景颜色等。
数据处理系统202可以包括内容选择器组件226,执行内容选择器组件 226或与内容选择器组件226通信,以基于关键字接收和选择经由实时内容选择处理的内容项。内容选择处理可以参考或包括选择由第三方内容提供者 214提供的赞助内容项对象。实时内容选择处理可以包括对多个内容提供者提供的内容项进行解析、处理、加权或匹配的服务,以选择一个或多个内容项提供给计算设备230。内容选择器组件226可以实时执行内容选择处理。实时执行内容选择处理可以指响应于通过客户端计算设备230接收的对内容的请求而执行内容选择处理。实时内容选择处理可以在接收请求的时间间隔内(例如,5秒、10秒、20秒、30秒、1分钟、2分钟、3分钟、5分钟、10 分钟或20分钟)执行(例如,发起或完成)。实时内容选择处理可以在与客户端计算设备230的通信会话期间执行,或者可以在通信会话终止之后的一时间间隔内执行。
例如,数据处理系统202可以包括被设计为、构造为、配置为或操作为选择内容项对象的内容选择器组件226。为了选择用于显示的内容项,数据处理系统202可以使用关键字基于匹配技术来选择匹配的内容项。候选内容项可以包括指示候选内容项的主题的元数据,在这种情况下,内容选择器组件226可以处理元数据以确定候选内容项的主题是否对应于输入关键词。
内容选择器组件226可以基于与数字视频中的内容槽相关联的特性或元数据来选择内容项对象。数据处理系统202(例如,通过视频信号处理器204) 可以分析数字视频以自动检测内容槽以及与内容槽相关联的特性,这可以有助于内容选择器组件226为内容槽选择内容项。内容槽的特性可以包括例如内容槽的大小、内容槽的位置、内容槽的持续时间、内容槽的背景颜色、内容槽周围的对象类型、与内容槽相邻的人、数字视频的主题、与数字视频相关的关键字、数字视频上显示的文本等。
例如,数据处理系统202可以从计算设备230接收包括对要在内容槽中被渲染的内容的请求的一个或多个数据分组。内容槽可以由电子显示硬件通过计算设备230运行的视频播放器应用236来呈现。响应于接收到请求,数据处理系统202(例如,经由内容选择器组件226)可以执行实时内容选择处理以基于一个或多个数据分组来识别多个内容项。内容选择器组件226可以基于将由一个或多个数据分组携带或指示的一个或多个标准与由内容提供者 234提供的一个或多个内容选择标准相匹配来识别多个内容项。一个或多个数据分组指示的标准可以包括关于将渲染内容项的内容槽的信息、与应用104 相关联的信息、关于网页的信息或与计算设备230相关联的信息。
数据处理系统202可以包括被设计为和构造为分析由内容发布者232提供的数字视频的视频信号处理器204,检测数字视频中的槽,并用元数据给数字视频加标签。视频信号处理器204可以包括一个或多个硬件或软件组件、模块或元件。视频信号处理器204可以包括视频预处理器206。视频预处理器206可以接收由内容发布者232上传的数字视频,并对数字视频进行初始分析。视频预处理器206可以识别上传的数字视频的格式。视频预处理器206 可以将上传的数字视频转换为一种或多种附加视频格式。例如,视频预处理器206可以将上传的数字视频从第一格式转换成适合于在不同类型的客户端计算设备230上播放的一个或多个附加格式。视频预处理器206可以选择格式以提高客户端计算设备230的渲染或播放效率。视频预处理器206可以选择减小数字视频的数据文件大小的格式,以便减小带宽利用。视频预处理器可以通过改变分辨率(例如,480p,由480行一个接一个地堆叠组成,每行852像素宽;720p,由720行组成,每行宽1,280像素宽等)或者帧速率(例如,每秒帧数“fps”可以是指在动画显示器中显示连续图像或帧的频率)来转换或修改上传的数字视频。
视频预处理器206可以确定上传的数字视频是否已存在于数据存储库 216中,并执行重复数据删除处理以减少数据存储库216中的存储消耗。视频预处理器206可以将上传的数字视频的标识符与已存储在数字视频数据结构238中的数字视频的标识符进行比较。视频预处理器206可以使用上传的数字视频的标识符在数字视频数据结构238中执行查找。响应于通过查找识别匹配,视频预处理器206可以确定保留对应于标识符的先前存储的数字视频之一,或者用新上传的数字视频替换先前存储的数字视频。视频预处理器 206可以基于与数字视频相关联的特性(诸如数字视频的质量(例如,帧速率或分辨率)、文件大小或内容发布者232的证书)来确定保留原始数字视频还是替换原始数字视频。例如,视频预处理器206可以确定保留更高质量的数字视频(例如,更高的分辨率或更高的帧速率)。在另一个示例中,视频预处理器206可以确定保留由授权内容发布者232提供的数字视频,诸如创建数字视频的内容发布者232,而不是可能已经复制数字视频的内容发布者232。
视频预处理器206可以确定上传的数字视频的特性,以确定上传的数字视频是否符合沉浸式内容槽检测。特性可以包括例如帧速率、分辨率、数据文件大小、主题、数字视频的类型、风格或视频创建日期。例如,视频预处理器206可以将上传的数字视频的帧速率与最小帧速率阈值进行比较。如果帧速率大于或等于最小帧速率阈值,则视频预处理器206可以确定上传的数字视频具有令人满意的帧速率。然而,如果帧速率小于最小帧速率阈值,则视频预处理器206可以锁定数字视频,以防止插入沉浸式内容槽。
在一些情况下,视频预处理器206可以确定是否已经用自动检测的内容槽给上传的数字视频加标签。视频预处理器206可以解析上传的数字视频的元数据以检测加标签的内容槽或触发。在视频预处理器确定尚未用内容槽给上传的数字视频加标签的情况下,视频预处理器206可以将上传的数字视频提供给槽检测器208。响应于确定上传的数字视频缺少指示内容槽的标签或元数据,视频预处理器206可以指令槽检测器208使用槽检测技术自动分析上传的数字视频以识别或检测一个或多个内容槽。在一些情况下,视频预处理器206可以检测到已经用内容槽和触发对上传的数字视频加标签,但是可以确定重新分析数字视频以检测内容槽。
视频信号处理器204可以包括槽检测器208,被设计和构造为分析数字视频以检测内容槽。槽检测器208可以被配置有槽检测处理、技术或算法,诸如以上讨论的那些中的任何一个。例如,槽检测器208可以包括:光学字符识别引擎,用于识别一个或多个帧内的文本;面部识别系统,用于识别一个或多个帧中存在面部或不存在面部;像素比较器,用于识别一个或多个帧内或之间的相同像素的区域;或用于检测潜在内容槽的任何其他类型和形式。在使用槽检测处理检测到一个或多个内容槽时,槽检测器208可以使用机器学习模型从检测的一个或多个内容槽中选择至少一个内容槽。
上传的数字视频可以包括多个帧。例如,如果上传的数字视频的持续时间是6分23秒,并且帧速率是24fps,则上传的数字视频中的帧总数可以是 9,192帧。槽检测器208可以分析9,192帧以识别具有静态部分的连续帧的第一子集。静态部分可以由在连续帧的子集中具有匹配像素的空间区域来定义。例如,如图1B所示,槽检测器208可以分析数字视频102中的9,192帧以识别静态区域124、126、128、130、132和134。
在一些情况下,槽检测器208可以确定不分析所有9,192帧。相反,为了减少计算资源利用并提高效率,槽检测器208可以被配置为在视频中在特定时间间隔不生成内容槽,例如,在数字视频的开头或数字视频的结尾。例如,槽检测器208可以防止将沉浸式内容槽放置在数字视频的前30秒和数字视频的后30秒中。因此,槽检测器可以确定不分析前30秒中的帧(例如,前720个帧)或后30秒中的帧(例如,后720个帧),从而防止分析总共9,192 帧中的1,440帧,这样可以将计算资源消耗减少15%。
槽检测器208可以首先检测各种槽位置。为此,槽检测器208可以去除视频中具有人物、古迹或其他对象的区段,这些区段不会被内容槽覆盖或替换。槽检测器208可以使用图像解释算法来识别与预定形状或对象(诸如视频中的人、古迹或其他不可改变的对象)相对应的像素。图像解释算法可以包括数字图像处理技术,可以识别出图像中的人或识别出图像中的特定对象。图像解释算法可以使用模式识别、数字几何或信号处理来识别图像中的人或图像中的特定对象。
槽检测器208在识别出人或对象时,可以确定人或对象在图像中的位置。槽检测器208还可以识别包括人或对象的帧。然后,槽检测器208可以将帧中包含人或对象的区域从内容槽的候选中去除。在一些情况下,不被覆盖或替换的人或对象可以包含帧的相对较大(例如,大于70%、80%、90%、95%或更大)的区域。在从帧中去除人或对象后,如果剩余的可用区域小于最小槽大小,则槽检测器208可以根据进一步考虑而去除该帧,从而减少下游处理中的计算资源利用。如图1A所示,槽检测器208可以识别人104,然后识别数字视频102中不包含人104的空白122。
在去除将不被覆盖的人或对象并且识别出包含足够剩余区域用于内容槽的帧之后,槽检测器208可以分析帧以从具有第一静态部分的多个帧中识别连续帧的第一子集。可以由在两个或多个帧之间具有匹配像素的空间区域来定义第一静态部分。例如,槽检测器208可以对相邻帧逐个像素进行比较,以识别数字视频具有静态背景的公共部分或静态区域。使用该技术,槽检测器208可以识别对应于包含静态背景或区域的视频的不同时间和位置的多个静态区域。例如,使用该算法的槽检测器208可以识别图1B中描绘的候选内容槽124、126、128、130、132和134。在另一个示例中,槽检测器208可以将区域136和138识别为静态区域。
在一些情况下,槽检测器208可以去除候选内容槽或调整识别的候选槽的大小,以便减少对数字视频中的人104或其他对象的分散或干扰。例如,槽检测器208可以使靠近人104或其他变化部分的边缘变平滑,从而产生更小的候选内容槽132和134,如图1B所示。
在识别候选内容槽或静态区域(例如136和138或124、126、128、130、 132和134)之后,槽检测器208可以将静态区域输入到机器学习算法中,以便对静态区域进行分类或排名以选择内容槽。机器学习算法可以使用各种信号对静态区域进行分类。例如,第一信号可以基于来自数字视频的历史观看的反馈。如果大多数用户选择不接收候选内容槽124的补充内容项,但是大多数用户选择接收候选内容槽126的补充内容项,则机器学习模型可以确定内容槽126被评分或排名高于内容槽124。
第二信号可以基于来自内容发布者设备232的反馈。当内容发布者设备232上传数字视频时,数据处理系统202可以提供候选内容槽(例如,候选内容槽124、126、128、130、132或134的初始指示,如图1B所示)。然后,内容发布者设备232可以确定接受还是拒绝候选内容槽中的一个或多个。数据处理系统202可以跟踪接受或拒绝的候选槽,并使用反馈来对候选内容槽进行评分或排名。例如,如果大多数内容发布者设备232拒绝候选内容槽124,但是接受候选内容槽126,则数据处理系统202可以确定使候选内容槽126 的排名高于候选内容槽124。
机器学习算法使用的第三信号可以包括众包反馈。例如,数据处理系统 202可以从几个内容发布者设备232或客户端计算设备230获得关于各种候选内容槽的反馈。该反馈可以形成基本真实数据,供机器学习算法进行训练。
第四信号可以基于放置在各种内容槽中的补充内容项的性能。数据处理系统202、内容发布者232或内容提供者234可以观察与提供的补充内容项相关联的各种度量。度量可以包括与用户观看没有候选内容槽或具有不同候选内容槽的数字视频的时间量相比较的用户观看具有特定候选内容槽的数字视频的时间量。数据处理系统202可以跟踪由于内容槽导致的观看持续时间的减少。例如,如果内容槽124减小数字视频的平均观看持续时间大于内容槽126,则数据处理系统202可以确定对内容槽126评分或排名高于内容槽 124。
机器学习模型可以随时间合并这些信号中的一个或多个或者附加信号。由于机器学习模型合并更大的数据集,因此机器学习算法可以随着时间的推移而发展,以更好地对各种候选内容槽进行评分或排名。槽检测器208可以选择排名前N个的内容槽包括在数字视频中。
槽检测器208可以确定内容槽的持续时间(例如,第一静态部分的持续时间)。槽检测器208可以使用各种技术来确定第一静态部分的持续时间。槽检测器208可以基于静态部分的开始时间戳和静态部分的结束时间戳来确定持续时间。槽检测器208可以基于连续帧的第一子集中包含静态部分的帧的数量乘以帧速率来确定静态部分的持续时间。槽检测器208可以将静态部分的第一持续时间与阈值进行比较,以确定第一持续时间是否适合插入数字视频。
如果第一持续时间小于阈值,则槽检测器208可以忽略第一内容槽,并继续选择排名第二高的内容槽。然后,槽检测器208可以确定排名第二高的内容槽的持续时间,并且响应于满足阈值的持续时间,用第二内容槽给数字视频加标签。
数据处理系统202(例如,经由接口228)可以请求来自内容发布者设备 232的授权以覆盖识别的静态部分。内容发布者设备232可以接受或拒绝请求,从而授权或不授权静态部分进行覆盖。在一些情况下,数据处理系统202 从内容发布者设备232接收对于静态部分的否定授权。否定授权可以使数据处理系统202锁定静态部分,以防止用第三方内容提供者设备234提供的补充内容覆盖静态部分。
视频信号处理器208可以包括偏移计算器,被设计和构造为确定静态部分或内容槽的时间偏移。时间偏移可以指示在包含内容槽的连续帧的第一子集之前在播放期间的时间,客户端计算设备230(或其视频播放器应用236) 将在该时间发送对内容槽的内容的请求。时间偏移的范围可以从几秒钟到几分钟。例如,时间偏移可以是1秒、2秒、3秒、4秒、5秒、10秒、15秒、 30秒、45秒、60秒、90秒、2分钟、3分钟或更长。
时间偏移可以是从偏移数据结构22检索的预定偏移。偏移数据结构222 可以存储多个偏移。偏移可以映射到客户端计算设备230、数字视频或网络 205的特性。例如,第一偏移可以映射到移动设备,第二偏移可以映射到平板设备,第三偏移可以映射到高分辨率视频且第四偏移可以映射到小区网络 205。在一些情况下,可以基于网络205的速度、由在客户端计算设备230上运行的视频应用播放器236维护的数字视频缓存、数据处理系统202的当前处理器利用率(例如,如果是高峰使用,则增加时间偏移以允许处理队列中的更多时间并减少等待时间)、或者数字视频的持续时间,动态确定时间偏移。
偏移计算器210可以基于视频应用播放器236正在缓冲的数字视频数据的量来确定时间偏移。偏移计算器210可以基于视频应用播放器236正预加载在存储器中的帧数来确定时间偏移。可以计算时间偏移,使得发送对内容的请求,并且内容选择器226在视频应用播放器236缓冲其中要插入选择的内容项的帧之前选择内容项并返回。例如,如果视频应用播放器236正在缓冲30秒的数字视频(例如,以24fps 720帧),则时间偏移可以为35秒,以允许5秒用于视频应用播放器发送对内容的请求以及数据处理系统202选择和返回用于插入内容槽中的内容项。例如,如果内容槽出现在数字视频的56 秒,并且时间偏移是35秒,则可以在数字视频的21秒(例如,在图1C中描绘的时间偏移160)从客户端计算设备230发送对内容的请求。
视频信号处理器204可以包括元数据加标签器212,被设计和构造为用关于自动检测的内容槽和用于触发对内容槽的内容的请求的时间偏移的信息给数字视频加标签。元数据加标签器212可以更新与数字视频相关联的元数据文件。元数据加标签器212可以包括与数字视频或内容槽相关联的附加信息,诸如关键字、颜色、背景颜色、颜色梯度或字体。
元数据加标签器212可以用关于内容槽的信息给数字视频的元数据加标签。元数据加标签器212可以为每个内容槽生成内容槽数据结构。例如,内容槽数据结构可以包括:content_slot_1{begin_timestamp,end_timestamp, temporal_offset,height,width,x-coordinate,y-coordinate,background color}。在另一个示例中,内容槽数据结构可以包括:content_slot_1{begin_timestamp, duration,temporal_offset,height,width,x-coordinate,y-coordinate}。可以将时间偏移作为呈现时间戳(“PTS”)存储在MPEG传输流或MPEG节目流的时间戳元数据字段中。
元数据加标签器212可以将信息插入数字视频的预先存在的元数据中。元数据加标签器212可以将信息附加到数字视频的预先存在的元数据。元数据加标签器212可以替换数字视频的预先存在的元数据的至少一部分。元数据加标签器212可以将一个或多个字段添加到数字视频的元数据。元数据加标签器212可以包括用于使视频播放器应用236基于时间偏移发送对内容的请求的指令。
在一些实现方式中,视频信号处理器204可以将具有加标签的元数据的数字视频流传输到客户端计算设备230。客户端计算设备230可以播放数字视频。客户端计算设备230可以基于时间偏移将对内容的请求发送到数据处理系统202,接收补充内容项,并且然后在数字视频的元数据中指示的内容槽中渲染接收的内容项。
在一些实现方式中,视频信号处理器204包括视频编辑器214。视频编辑器214可以将选择的内容项合并到内容槽中,并且然后将修改的帧发送到客户端计算设备230以使视频播放器应用236渲染选择的内容项已经被插入到内容槽的整个帧。视频编辑器214可以在内容槽的持续时间内继续将选择的内容项合并到每个帧中。在将修改的帧发送到客户端计算设备230之前,由数据处理系统202合并选择的内容项可以减少客户端计算设备230的计算资源消耗,并且可以防止客户端计算设备230(或在客户端计算设备230上执行的软件程序)拦截选择的内容项并阻挡选择的内容项被渲染在内容槽中。
系统200或者其一个或多个组件或元件(包括例如数据处理系统202、视频信号处理器204、内容选择器226、接口228、客户端计算设备230、内容发布者设备232或内容提供者设备234)可以执行图1A-图1D所示的一个或多个功能或方面。
图3是组合或修改数字视频的方法的实现的流程图。方法300可以包括组合或修改数字视频的计算机实现的方法。可以通过图1A-图1D、图2或图 4所示的一个或多个系统或组件来执行方法300,包括例如数据处理系统202、视频信号处理器204、内容选择器226、接口228、客户端计算设备230、内容发布者设备232或内容提供者设备234。简要概述,方法300可以包括:在步骤302,数据处理系统接收视频。在步骤304,数据处理系统可以确定视频的帧速率。在步骤306,数据处理系统可以确定帧速率是否满足阈值。如果帧速率不满足阈值,则数据处理系统可以前进到步骤308。在步骤308,数据处理系统可以锁定视频以防止编辑,并且然后进行到在步骤310,通知发布者视频被锁定。当在步骤306确定时,如果帧速率满足阈值,则数据处理系统前进到步骤312以识别第一静态部分并确定第一静态部分的持续时间。然后,数据处理系统可以前进到判定步骤314,以确定持续时间是否满足阈值。如果在步骤314数据处理系统确定持续时间不满足阈值,则数据处理系统可以前进到步骤316并锁定第一静态部分以防止编辑。然后,数据处理系统可以前进到步骤318,在步骤318,数据处理系统可以确定识别的第二静态部分是否满足阈值。如果识别的第二静态部分不满足持续时间阈值,则数据处理系统可以前进到步骤308,然后前进到步骤310。如果识别的第二静态部分满足持续时间阈值,则数据处理系统可以前进到步骤320,并确定将第二静态部分用作内容槽。在步骤322,数据处理系统可以计算第二静态部分的时间偏移。另外,如果在步骤314数据处理系统确定第一静态部分的持续时间满足持续时间阈值,则数据处理系统可以直接前进到步骤322,并计算第一静态部分的时间偏移。在步骤324,数据处理系统可以给视频加标签。在步骤326,数据处理系统可以发送视频。在步骤328,数据处理系统可以接收请求。在步骤330,数据处理系统可以选择内容项。在步骤332,数据处理系统可以提供内容项。
仍然参照图3,并且更详细地,方法300可以包括:在步骤302接收视频的数据处理系统。视频可以是数字视频。数据处理系统可以从内容发布者设备接收数字视频。数据处理系统可以提供视频上传器接口。内容发布者设备可以通过接口发送、上传或提供数字视频。数字视频可以包括多个帧,其中每个帧可以包括图像数据。数字视频可以包括元数据或关于数字视频的信息,诸如标题。可以使用视频协议对数字视频进行编码。数字视频可以是2维数字视频、3维数字视频、动画、实景数字视频、卡通、彩色或单色。在各种实现方式中,数字视频可以包括音频或可以是无声的。在一些实现方式中,数字视频可以包括多个音轨(例如,以不同的语言)。
在步骤304,数据处理系统可以确定视频的帧速率。在一些实现方式中,数据处理系统可以基于数字视频中的帧数和数字视频的持续时间来确定帧速率。例如,帧速率可以是数字视频中的帧数除以数字视频的以秒计的持续时间,得到速率为帧每秒。在一些实现方式中,数据处理系统可以基于用于对数字视频进行编码的编码类型或媒体协议来确定帧速率。在一些实现方式中,数据处理系统可以基于与数字视频相关联的元数据信息来确定帧速率(例如,帧速率的明确标识)。在一些实现方式中,数据处理系统可以确定与数字视频相关联的附加信息,诸如数字视频的分辨率、数字视频的类型、配置播放数字视频的设备的类型、数字视频的主题、或数字视频的持续时间。
在步骤306,数据处理系统可以确定帧速率是否满足阈值。数据处理系统可以从数据存储库中检索帧速率阈值。帧速率阈值可以是24帧每秒(fps)、 12fps或任何其他此类帧速率。帧速率阈值可以低于播放数字视频的帧速率。例如,如果数字视频包括绘制的动画,则视频可以包括12帧每秒,但是可以以24fps播放,其中,两个连续的帧包括相同的图像。在其他实现方式中,媒体可以被提供少于播放的帧数的每秒的帧数,并且客户端设备执行插值以重新生成去除的帧。这可以减少数据存储需求和带宽需求。
如果帧速率不满足阈值,则数据处理系统可以前进到步骤308并锁定视频以防止编辑。数据处理系统可以确定锁定视频,因为帧速率对于补充内容槽由于内容槽可能会干扰数字视频的播放而不令人满意。锁定数字视频可以包括给数字视频的元数据加标签以指示数字视频不适合自动内容槽检测和沉浸式内容槽。锁定数字视频可以包括将数字视频的标识符存储在数据处理系统的数据存储库中,并带有数字视频不适用于自动内容槽检测的指示。
在步骤308锁定视频进行编辑后,数据处理系统可以前进到步骤310,通知发布者视频已被锁定。数据处理系统可以向内容发布者提供提示,指出视频已被锁定。数据处理系统可以向内容发布者提供指示,指示数字视频被锁定的原因,诸如未通过帧速率检查。响应于接收到失败的帧速率检查的指示,内容发布者可以上传具有令人满意的帧速率的第二数字视频。第二数字视频可以是相同的数字视频,但以合适的帧速率采样,或者是不同的数字视频。
如果在步骤306,数据处理系统确定数字视频满足帧速率检查,则数据处理系统可以前进到步骤312。在步骤312,数据处理系统可以识别第一静态部分并确定第一静态部分的持续时间。数据处理系统可以基于使用槽检测算法或机器学习算法中的一个或多个来识别第一静态部分。数据处理系统可以识别数字视频的帧中适合沉浸式内容槽的区域,并且然后对识别的区域进行评分以选择一个或多个内容槽。
例如,数据处理系统可以比较数字视频帧中的像素,以基于帧之间像素变化的缺乏来识别静态部分,并且然后将静态区域标记为内容槽。如果存在多个内容槽,则数据处理系统可以使用机器学习模型对多个内容槽进行评分。数据处理系统可以基于分数来对内容槽进行排名(例如,第一内容槽、第二内容槽和第三内容槽)。然后,数据处理系统可以选择排名最高的内容槽(例如,第一内容槽)用于插入到数字视频中。
然后,数据处理系统可以前进到判定步骤314以确定第一内容槽的持续时间是否满足持续时间阈值。第一内容槽可以包括开始时间戳和结束时间戳 (或持续时间)。持续时间可以对应于包括与第一内容槽相对应的静态区域的帧数。例如,如果与第一内容槽相对应的静态区域存在于数字视频的720个连续帧中,并且帧速率为24fps,则第一内容槽的持续时间为30秒(例如, 720帧除以24fps等于30秒)。
数据处理系统可以从数据存储库中检索持续时间阈值。数据处理系统可以使用预定的持续时间阈值。数据处理系统可以使用动态持续时间阈值,该阈值可以根据与数字视频相关的特性(例如,持续时间、帧速率、质量、分辨率、主题、颜色等)而变化。持续时间阈值可以是数字视频持续时间的百分比或比率。例如,持续时间阈值可以是数字视频持续时间的5%、10%、 15%、20%、25%、30%或更多。持续时间阈值可以包括最小持续时间和最大持续时间。最大持续时间可以是60秒、90秒、120秒。如果内容槽的持续时间超过最大持续时间,则数据处理系统可以修整或削减内容槽的持续时间。
如果数据处理系统确定第一内容槽的持续时间满足持续时间阈值,则数据处理系统可以前进到在步骤322计算时间偏移。然而,如果在步骤314数据处理系统确定持续时间不满足阈值,则数据处理系统可以前进到步骤316 并锁定第一静态部分以防止编辑。然后数据处理系统可以前进到步骤318,在步骤318,数据处理系统可以确定识别的第二内容槽是否满足阈值。第二内容槽可以是基于根据机器学习模型确定的分数的排名第二的内容槽。如果识别的第二静态部分不满足持续时间阈值,则在一些实现方式中,数据处理系统可以前进至步骤308,然后前进到步骤310。如果识别的第二静态部分满足持续时间阈值,则数据处理系统可以前进至步骤320,并确定使用第二内容槽而不是第一内容槽。尽管仅示出了测试两个静态部分,但是在许多实现方式中,可以对多个附加识别的静态部分中的每一个迭代地重复步骤312-320,直到识别出超出所需阈值的静态部分或不再识别出静态部分为止。
在步骤322,数据处理系统可以计算内容槽的时间偏移(例如,基于在步骤314满足持续时间阈值的结果的第一内容槽或第二槽之一)。数据处理系统可以计算在内容槽的开始时间戳之前在数字视频播放期间的时间偏移。可以计算时间偏移以减少或消除选择和提供用于在内容槽中渲染的内容项的等待时间。可以基于数字视频的缓冲度量、数字视频的分辨率、网络特性、数字视频的持续时间等来计算时间偏移。
在步骤324,数据处理系统可以给视频加标签。数据处理系统可以用内容槽的指示给数字视频加标签。数据处理系统可以用内容槽数据结构给数字视频加标签,该结构可以包括具有与内容槽相对应的静态部分的连续帧的子集的指示。数据处理系统可以用触发给数字视频加标签,该触发使得在所计算的时间偏移来发送对内容的请求。内容槽数据结构可以包括例如:{开始时间戳,持续时间,时间偏移,大小,位置}。
在步骤326,数据处理系统可以发送视频。数据处理系统可以将数字视频提供给客户端设备。客户端设备可以从数据处理系统请求数字视频。客户端设备可能已经访问了包含到数字视频的链接或指针的网页。可以将数字视频嵌入客户端设备访问的网页中。数据处理系统可以向数字视频内容提供内容槽的指示和触发。接收数字视频内容项可以使得客户端设备渲染数字视频内容项,解析指示以识别连续帧的第一子集,并响应触发的执行在连续帧的第一子集之前在播放期间的时间偏移发送对内容的请求。
在步骤328,数据处理系统可以接收请求。数据处理系统可以从客户端设备接收请求。客户端设备可以在大约(例如,10%)的时间偏移来发送请求。响应于接收到对内容的请求,在步骤330,数据处理系统可以选择内容项。在步骤332,数据处理系统可以将内容项提供给客户端设备。客户端设备可以在内容槽的持续时间内在内容槽中渲染内容项。在内容槽的持续时间内,客户端设备可以仅接收一次内容项,从而减少网络带宽使用和远程程序调用。例如,内容项可以对应于720个连续帧在内容槽中被渲染720次,但是内容项可以仅从数据处理系统发送到客户端计算设备一次,从而提供了改进。
在内容槽的持续时间结束之后,客户端设备可以终止内容槽,并去除或擦除内容项。客户端设备可以等待直到第二内容槽开始,并且在与第二内容槽相对应的第二时间偏移处发送对内容的第二请求。
图4是示例计算机系统400的框图。计算机系统或计算设备400可以包括或用于实现系统200或其组件,诸如数据处理系统202。计算系统400包括总线405或其他用于传递信息的通信组件,以及耦合到总线405以处理信息的处理器410或处理电路。计算系统400还可以包括一个或多个处理器410 或耦合到总线以处理信息的处理电路。计算系统400还包括主存储器415,诸如随机存取存储器(RAM)或其他动态存储设备,耦合到总线405用于存储信息以及将由处理器410执行的指令。主存储器415可以是或包括数据存储库104。主存储器415还可以用于存储处理器410执行指令期间的位置信息、临时变量或其他中间信息。计算系统400还可以包括只读存储器(ROM) 420或耦合到总线405的其他静态存储设备,用于存储处理器410的静态信息和指令。存储设备425(诸如固态设备、磁盘或光盘)可以耦合到总线405,以持久存储信息和指令。存储设备425可以包括数据存储库104或者是数据存储库104的一部分。
计算系统400可以经由总线405耦合到显示器435(诸如液晶显示器或有源矩阵显示器),用于向用户显示信息。输入设备430(诸如包括字母数字和其他键的键盘)可以耦合到总线405,用于将信息和命令选择通信到处理器410。输入设备430可以包括触摸屏显示器435。输入设备430还可以包括光标控件(诸如鼠标、轨迹球或光标方向键),用于将方向信息和命令选择通信到处理器410,并用于控制显示器435上的光标移动。例如,显示器435 可以是数据处理系统202、客户端计算设备150或图2的其他组件的一部分。
可以由计算系统400响应于处理器410执行包含在主存储器415中的指令的布置来实现本文所述的处理、系统和方法。可以从计算机可读介质(诸如存储介质425)将这种指令读入主存储器415。主存储器415中包含的指令的布置的执行使得计算系统400执行本文所述的说明性处理。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器415中的指令。可以使用硬连线电路代替软件指令或与软件指令一起用于本文所述的系统和方法。本文描述的系统和方法不限于硬件电路和软件的任何特定组合。
尽管在图4中描述了示例计算系统,但是包括在本说明书中描述的操作的主题可以在其他类型的数字电子电路中或在计算机软件、固件或硬件中实现,包括在本说明书中公开的结构及其等同结构,或者他们的一个或多个的组合。
对于本文讨论的系统收集关于用户的个人信息或可以使用个人信息的情况,可以为用户提供控制是否可以收集个人信息的程序或功能(例如,关于用户社交网络、社交动作或活动,用户的偏好或用户的位置的信息)的机会,或控制是否或如何从内容服务器或其他与用户更相关的数据处理系统接收内容的机会。另外,特定数据可以在存储或使用之前以一种或多种方式匿名化,以便在生成参数时删除个人身份信息。例如,可以对用户的身份进行匿名处理,使得无法为用户确定个人可识别信息,或者可以在获取位置信息的地方将用户的地理位置概括化(例如,城市、邮政编码或州别信息),因此无法确定用户的具体位置。因此,用户可以控制如何收集关于他或她的信息以及如何由内容服务器使用。
本说明书中描述的主题和操作可以以数字电子电路或计算机软件、固件或硬件来实现,包括本说明书中公开的结构及其等同结构,或它们中的一种或多种的组合。本说明书中描述的主题可以被实现为一个或多个计算机程序,例如,计算机程序指令的一个或多个电路,被编码在一个或多个计算机存储介质上,以由数据处理装置执行或控制数据处理装置的操作。可选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,被生成以对信息进行编码以传输到合适的接收器装置,由数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合中。尽管计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的组件或介质(例如,多个CD、磁盘或其他存储设备)或包括在其中。本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、片上系统或上述的多个或组合。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础架构,诸如网络服务、分布式计算和网格计算基础架构。内容选择器组件226、动态内容服务器130、静态内容服务器132和其他数据处理系统202组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。此外,接口228、视频信号处理器204、内容选择器226、视频预处理器206、槽检测器208、偏移计算器210、元数据加标签器212、视频编辑器214和数据存储库216或其他客户端计算设备230组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、app、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明性或程序语言)编写,并且可以以任何形式进行部署,包括作为独立程序或适合在计算环境中使用的模块、组件、子例程、对象或其他单元。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),专用于所讨论程序的单个文件中或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。可以部署计算机程序以在位于一个站点上或分布在多个站点上并通过通信网络互连的一个计算机或多个计算机上执行。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器(例如,数据处理系统202的组件)执行,以通过对输入数据进行操作并生成输出来执行动作。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
本说明书中描述的主题可以实现在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互)或者包括一个或多个这种后端组件,中间件组件或前端组件的任意组合的计算系统中。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网络间(例如,互联网)以及对等网络(例如,ad hoc对等网络)。
诸如系统200或系统400的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络(例如,网络205)进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。服务器可以将数据(例如,表示内容项的数据分组)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从与客户端设备交互的用户接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统202从计算设备230或内容提供者计算设备234或内容发布者设备232接收)。
因此,本公开的各方面涉及修改数字视频内容的系统和方法。例如,系统和方法可以组合视频内容。例如,方法可以由包括或执行视频信号处理器和内容选择器的数据处理系统执行。方法可以包括数据处理系统从发布者设备接收包括多个帧的数字视频内容项。视频信号处理器可以确定数字视频内容项的帧速率。视频信号处理器可以分析多个帧以从具有第一静态部分的多个帧中识别连续帧的第一子集。可以由在两个或多个帧之间具有匹配像素的空间区域来定义第一静态部分。视频信号处理器可以基于连续帧的第一子集中的帧数和帧速率来确定第一静态部分的第一持续时间。视频信号处理器可以将第一静态部分的第一持续时间与阈值进行比较。视频信号处理器可以用连续帧的第一子集的指示和触发给数字视频内容项加标签。视频信号处理器可以响应于第一静态部分的第一持续时间大于或等于阈值给数字视频内容项加标签。触发可以引起发送对用于覆盖第一静态部分的内容的请求。触发可以在连续帧的第一子集之前在播放期间的时间偏移发送请求。视频信号处理器可以将具有指示和触发的数字视频内容项提供给客户端设备。客户端设备接收到数字视频内容项可以使客户端设备渲染数字视频内容项,解析指示以识别连续帧的第一子集,并响应触发的执行在连续帧的第一子集之前在播放期间的时间偏移发送对内容的请求。视频信号处理器可以接收请求,该请求是客户端设备基于连续帧的第一子集之前在播放期间的时间偏移发送。数据处理系统执行的内容选择器可以响应于从客户端设备接收对内容的请求来选择内容项。数据处理系统可以将内容项发送到客户端设备,客户端设备接收到内容项可以使客户端设备在连续帧的第一子集的第一静态部分渲染内容项。
在一些实现方式中,发布者设备和数据处理系统可以包括不同的设备。在其他实现方式中,发布者设备可以是数据处理系统的一部分。例如,在一些实现方式中,发布者设备和数据处理系统可以在相同设备上执行。接收数字视频内容项可以包括从存储器或存储设备加载数字视频内容项。
在一些实现方式中,数据处理系统分析帧以识别连续帧的第一子集中的第二静态部分。数据处理系统可以识别与第一静态部分相关联的第一参数和与第二静态部分相关联的第二参数。数据处理系统可以基于第一参数和第二参数的比较来选择用于加标签的第一静态部分。在一些实现方式中,第一参数包括背景颜色、颜色梯度、大小或位置中的至少一个。第二参数可以包括背景颜色、颜色梯度、大小或位置中的至少一个。
在一些实现方式中,数据处理系统可以分析多个帧以识别连续帧的第一子集中的第二静态部分。数据处理系统可以识别第二静态部分的第二持续时间。数据处理系统可以基于第一持续时间超过第二持续时间选择第一静态部分加标签。
在一些实现方式中,数据处理系统可以识别数字视频内容项中的第二静态部分。数据处理系统可以从发布者设备请求覆盖第二静态部分的授权。数据处理系统可以从发布者设备接收对第二静态部分的否定授权。数据处理系统可以锁定第二静态部分,以防止第二静态部分被数据处理系统选择的内容覆盖。
在一些实现方式中,数据处理系统可以基于多个帧中的连续帧之间的像素变化来识别第一静态部分。在一些实现方式中,数据处理系统可以从发布者设备接收背景颜色的指示,以控制第一静态部分的标识。数据处理系统可以使用背景颜色的指示基于多个帧中的连续帧之间的像素特性来识别第一静态部分。
在一些实现方式中,数据处理系统可以识别与第一静态部分相关联的一个或多个特性。一个或多个特性可以包括文本、字体、面部、对象类型或颜色中的至少一个。数据处理系统可以基于与第一静态部分相关联的一个或多个特性选择内容项。
在一些实现方式中,数据处理系统可以识别被预加载到客户端设备的存储器中的数字视频内容项的量。数据处理系统可以基于该量来设置时间偏移,以使得客户端设备在该量被预加载到客户端设备的存储器中之前发送对内容的请求。
在一些实现方式中,数据处理系统可以通过数据处理系统在数字视频内容项的连续帧的第一子集的第一静态部分合并内容项。数据处理系统可以将合并有内容项的数字视频内容项的连续帧的第一子集发送到客户端设备,以使客户端设备渲染内容项。
至少一个方面涉及一种用于修改数字视频内容的系统。系统可以包括数据处理系统。数据处理系统可以包括至少一个处理器和存储器。数据处理系统可以执行视频信号处理器和内容选择器。视频信号处理器可以从发布者设备接收包括多个帧的数字视频内容项。视频信号处理器可以确定数字视频内容项的帧速率。视频信号处理器可以分析多个帧以从具有第一静态部分的多个帧中识别连续帧的第一子集。可以由在两个或多个帧之间具有匹配像素的空间区域来定义第一静态部分。视频信号处理器可以基于连续帧的第一子集中的帧数和帧速率来确定第一静态部分的第一持续时间。视频信号处理器可以将第一静态部分的第一持续时间与阈值进行比较。视频信号处理器可以用连续帧的第一子集的指示和触发给数字视频内容项加标签。视频信号处理器可以响应于第一静态部分的第一持续时间大于或等于阈值来执行此加标签。触发可以引起发送对用于覆盖第一静态部分的内容的请求。可以在连续帧的第一子集之前在播放期间的时间偏移发送请求。视频信号处理器可以将具有指示和触发的数字视频内容项提供给客户端设备。数字视频内容项的接收可以使得客户端设备渲染数字视频内容项,解析该指示以识别连续帧的第一子集,并响应于触发的执行在连续帧的第一子集之前在播放期间的时间偏移发送对内容的请求。内容选择器组件可以从客户端设备接收对内容的请求。客户端设备基于在连续帧的第一子集之前的播放期间的时间偏移来发送请求。内容选择器组件可以响应于从客户端设备接收对内容的请求来选择内容项。 dps可以将内容项发送到客户端设备。客户端设备可以接收内容项。客户端设备对内容项的接收可以使客户端设备在连续帧的第一子集的第一静态部分渲染内容项。
在一些实现方式中,视频信号处理器分析多个帧以识别连续帧的第一子集中的第二静态部分。视频信号处理器可以识别与第一静态部分相关联的第一参数和与第二静态部分相关联的第二参数。视频信号处理器可以基于第一参数和第二参数的比较来选择用于加标签的第一静态部分。在一些实现方式中,第一参数包括背景颜色、颜色梯度、大小或位置中的至少一个。第二参数可以包括背景颜色、颜色梯度、大小或位置中的至少一个。
在一些实现方式中,视频信号处理器可以分析多个帧以识别连续帧的第一子集中的第二静态部分。视频信号处理器可以识别第二静态部分的第二持续时间。视频信号处理器可以基于第一持续时间超过第二持续时间选择第一静态部分加标签。
在一些实现方式中,视频信号处理器可以识别数字视频内容项中的第二静态部分。视频信号处理器可以从发布者设备请求覆盖第二静态部分的授权。视频信号处理器可以从发布者设备接收对第二静态部分的否定授权。视频信号处理器可以锁定第二静态部分,以防止第二静态部分被数据处理系统选择的内容覆盖。
在一些实现方式中,视频信号处理器可以基于多个帧中的连续帧之间的像素变化来识别第一静态部分。在一些实现方式中,视频信号处理器可以从发布者设备接收背景颜色的指示以控制第一静态部分的标识。视频信号处理器可以使用背景颜色的指示基于多个帧中的连续帧之间的像素特性来识别第一静态部分。
在一些实现方式中,内容选择器识别与第一静态部分相关联的一个或多个特性。一个或多个特性可以包括文本、字体、面部、对象类型或颜色中的至少一个。内容选择器可以基于与第一静态部分相关联的一个或多个特性选择内容项。
在一些实现方式中,视频信号处理器可以识别被预加载到客户端设备的存储器中的数字视频内容项的量。视频信号处理器可以基于该量来设置时间偏移,以使得该客户端设备在该量预加载到客户端设备的存储器中之前发送对内容的请求。
在一些实现方式中,视频信号处理器可以在数字视频内容项的连续帧的第一子集的第一静态部分合并内容项。视频信号处理器可以将合并有内容项的数字视频内容项的连续帧的第一子集发送到客户端设备,以使客户端设备渲染内容项。
在一些实现中,视频信号处理器可以使用逻辑回归分析多个帧,以识别由在两个或更多帧之间具有匹配像素的空间区域定义的第一静态部分。
尽管在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或按顺序来执行这样的操作,并且不需要执行所有示出的操作。本文描述的动作可以以不同的顺序执行。
各种系统组件的分离并不需要在所有实现方式中都进行分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,视频预处理器206、内容选择器206或视频编辑器214可以是单个组件、应用或程序或者是具有一个或多个处理电路的逻辑设备,或者是数据处理系统202的一个或多个服务器的一部分。
现在已经描述了一些说明性的实现方式,明显的是,前述内容是说明性的而不是限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是可以以其他方式组合那些动作和那些元件以实现相同的目标。结合一个实现方式所讨论的动作、元件和特征不旨在被排除在其他实现方式或实现方式中的类似角色之外。
本文所使用的措词和术语是出于描述的目的,并且不应被视为限制。本文中“包括”、“具有”、“包含”、“涉及”、“特征是”、“特征在于”及其变型的使用意在涵盖其后列出的项,其等同物和附加项,以及仅包括其后列出的项的替代实现。在一种实现方式中,本文描述的系统和方法包括所描述的元件、动作或组件中一个、多于一个的每个组合或者全部。
对本文中以单数形式提及的系统或方法的实现方式或元素或动作的任何引用也可以包含包括多个这些元素的实现方式,并且对本文中任何实现方式或元素或动作的复数形式的任何引用也可以包含仅包括单个元素的实现方式。单数或复数形式的引用无意将当前公开的系统或方法、它们的组件、动作或元件限制为单个或多个配置。对基于任何信息、行为或元素的任何动作或元素的引用可以包括该行为或元素至少部分基于任何信息、行为或元素的实现方式。
本文公开的任何实现方式可以与任何其他实现方式或实施例组合,并且对“实现方式”,“一些实现方式”,“一个实现方式”等的引用不一定是互斥的,并且旨在指示结合实现方式描述的特定特征、结构或特性可以被包括在至少一个实现方式或实施例中。如本文所使用的这样的术语不一定全部指代相同的实现方式。任何实现方式可以以与本文公开的各方面和实现方式相一致的任何方式与任何其他实现方式(包括性地或排他性地)组合。
对“或”的引用可以被解释为包括性的,使得使用“或”描述的任何术语可以指示单个,一个以上以及所有所描述的术语中的任何一个。例如,对“A”和“B”中的至少一个的引用可以包括仅“A”,仅“B”以及“A”和“B”两者。结合“包括”或其他开放式术语使用的此类参考文献可以包括附加项。
在附图、详细描述或任何权利要求中的技术特征之后是附图标记,已经包括了附图标记以提高附图,详细描述和权利要求的可理解性。因此,存在或不存在附图标记对任何权利要求要素的范围没有任何限制作用。
本文描述的系统和方法可以以其他特定形式来体现而不背离其特征。前述实现方式是说明性的,而不是限制所描述的系统和方法。因此,本文所描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同含义和范围内的改变被包含在其中。
Claims (19)
1.一种组合数字视频内容的方法,包括:
由数据处理系统从发布者设备接收包括多个帧的数字视频内容项;
由数据处理系统执行的视频信号处理器确定数字视频内容项的帧速率;
由视频信号处理器分析多个帧,以从具有第一静态部分的多个帧识别连续帧的第一子集,第一静态部分由在两个或更多帧之间具有匹配像素的空间区域定义;
由视频信号处理器基于连续帧的第一子集中的帧数和帧速率,确定第一静态部分的第一持续时间;
由视频信号处理器将第一静态部分的第一持续时间与阈值进行比较;
由视频信号处理器响应于第一静态部分的第一持续时间大于或等于阈值,用连续帧的第一子集的指示和触发给数字视频内容项加标签,所述触发使得在连续帧的第一子集之前在播放期间的时间偏移发送对用于覆盖第一静态部分的内容的请求;
由视频信号处理器向客户端设备提供具有指示和触发的数字视频内容项,数字视频内容项的接收使得客户端设备渲染数字视频内容项,解析指示以识别连续帧的第一子集,并且响应于触发的执行,在连续帧的第一子集之前在播放期间的时间偏移发送对内容的请求;
由视频信号处理器从客户端设备接收对内容的请求,客户端设备基于在连续帧的第一子集之前在播放期间的时间偏移发送请求;
由数据处理系统执行的内容选择器响应于从客户端设备接收的对内容的请求,选择内容项;以及
由数据处理系统向客户端设备发送内容项,内容项的接收使得客户端设备在连续帧的第一子集的第一静态部分渲染内容项。
2.根据权利要求1所述的方法,包括:
由数据处理系统分析多个帧,以识别连续帧的第一子集中的第二静态部分;
由数据处理系统识别与第一静态部分相关联的第一参数和与第二静态部分相关联的第二参数,
其中,第一参数包括背景颜色、颜色梯度、大小或位置中的至少一个,并且第二参数包括背景颜色、颜色梯度、大小或位置中的至少一个;以及
基于第一参数或第二参数与内容选择标准匹配来选择第一静态部分用于加标签。
3.根据权利要求1所述的方法,包括:
由数据处理系统分析多个帧,以识别连续帧的第一子集中的第二静态部分;
由数据处理系统识别第二静态部分的第二持续时间;以及
由数据处理系统基于第一持续时间超过第二持续时间来选择第一静态部分用于加标签。
4.根据权利要求1所述的方法,包括:
由数据处理系统识别数字视频内容项中的第二静态部分;
由数据处理系统从发布者设备请求覆盖第二静态部分的授权;
由数据处理系统从发布者设备接收对第二静态部分的否定授权;以及
由数据处理系统锁定第二静态部分,以防止第二静态部分被数据处理系统选择的内容覆盖。
5.根据前述任一权利要求所述的方法,包括:
由数据处理系统基于在多个帧中的连续帧之间的像素变化来识别第一静态部分。
6.根据权利要求1所述的方法,包括:
由数据处理系统从发布者设备接收背景颜色的指示,以控制第一静态部分的标识;以及
由数据处理系统使用背景颜色的指示,基于多个帧中的连续帧之间的像素特性,识别第一静态部分。
7.根据权利要求1所述的方法,包括:
由数据处理系统识别与第一静态部分相关联的一个或多个特性,所述一个或多个特性包括文本、字体、面部、对象类型或颜色中的至少一个;以及
由数据处理系统基于与第一静态部分相关联的一个或多个特性选择内容项。
8.根据权利要求1所述的方法,包括:
由数据处理系统识别被预加载到客户端设备的存储器中的数字视频内容项的量;以及
由数据处理系统至少部分地基于所述量来设置时间偏移,以使得客户端设备在所述量被预加载到客户端设备的存储器中之前发送对内容的请求。
9.根据权利要求1所述的方法,包括:
由数据处理系统将内容项合并到数字视频内容项的连续帧的第一子集的第一静态部分;以及
由数据处理系统向客户端设备发送合并有内容项的数字视频内容项的连续帧的第一子集,以使得客户端设备渲染内容项。
10.一种组合数字视频内容的系统,包括:
数据处理系统,包括至少一个处理器和存储器,数据处理系统执行视频信号处理器和内容选择器;
其中,视频信号处理器被配置为:
从发布者设备接收包括多个帧的数字视频内容项;
确定数字视频内容项的帧速率;
分析多个帧,以从具有第一静态部分的多个帧识别连续帧的第一子集,第一静态部分由在两个或更多帧之间具有匹配像素的空间区域定义;
基于连续帧的第一子集中的帧数和帧速率,确定第一静态部分的第一持续时间;
将第一静态部分的第一持续时间与阈值进行比较;
响应于第一静态部分的第一持续时间大于或等于阈值,用连续帧的第一子集的指示和触发给数字视频内容项加标签,所述触发使得在连续帧的第一子集之前在播放期间的时间偏移发送对用于覆盖第一静态部分的内容的请求;以及
向客户端设备提供具有指示和触发的数字视频内容项,数字视频内容项的接收使得客户端设备渲染数字视频内容项,解析指示以识别连续帧的第一子集,并且响应于触发的执行,在连续帧的第一子集之前在播放期间的时间偏移发送对内容的请求;
其中,内容选择器组件被配置为:
从客户端设备接收对内容的请求,客户端设备基于在连续帧的第一子集之前在播放期间的时间偏移发送请求;以及
响应于从客户端设备接收的对内容的请求,选择内容项;并且数据处理系统还被配置为:
向客户端设备发送内容项,内容项的接收使得客户端设备在连续帧的第一子集的第一静态部分渲染内容项。
11.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
分析多个帧,以识别连续帧的第一子集中的第二静态部分;
识别与第一静态部分相关联的第一参数和与第二静态部分相关联的第二参数,
其中,第一参数包括背景颜色、颜色梯度、大小或位置中的至少一个,并且第二参数包括背景颜色、颜色梯度、大小或位置中的至少一个;以及
基于第一参数或第二参数与内容选择标准匹配来选择第一静态部分用于加标签。
12.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
分析多个帧,以识别连续帧的第一子集中的第二静态部分;
识别第二静态部分的第二持续时间;以及
基于第一持续时间超过第二持续时间,选择第一静态部分用于加标签。
13.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
识别数字视频内容项中的第二静态部分;
从发布者设备请求覆盖第二静态部分的授权;
从发布者设备接收对第二静态部分的否定授权;以及
锁定第二静态部分,以防止第二静态部分被数据处理系统选择的内容覆盖。
14.根据权利要求10至13中的任一项所述的系统,其中,视频信号处理器还被配置为:
基于多个帧中的连续帧之间的像素变化,识别第一静态部分。
15.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
从发布者设备接收背景颜色的指示,以控制第一静态部分的标识;以及
使用背景颜色的指示,基于多个帧中的连续帧之间的像素特性,识别第一静态部分。
16.根据权利要求10所述的系统,其中,内容选择器还被配置为:
识别与第一静态部分相关联的一个或多个特性,所述一个或多个特性包括文本、字体、面部、对象类型或颜色中的至少一个;以及
基于与第一静态部分相关联的一个或多个特性,选择内容项。
17.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
识别被预加载到客户端设备的存储器中的数字视频内容项的量;以及
至少部分地基于所述量来设置时间偏移,以使得客户端设备在所述量被预加载到客户端设备的存储器中之前发送对内容的请求。
18.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
将内容项合并到数字视频内容项的连续帧的第一子集的第一静态部分;以及
向客户端设备发送合并有内容项的数字视频内容项的连续帧的第一子集,以使得客户端设备渲染内容项。
19.根据权利要求10所述的系统,其中,视频信号处理器还被配置为:
使用逻辑回归来分析多个帧,以识别由在两个或多个帧之间具有匹配像素的空间区域定义的第一静态部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107479.5A CN113965777A (zh) | 2017-12-08 | 2017-12-08 | 组合数字视频内容的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/065381 WO2019112616A1 (en) | 2017-12-08 | 2017-12-08 | Modifying digital video content |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111107479.5A Division CN113965777A (zh) | 2017-12-08 | 2017-12-08 | 组合数字视频内容的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110692251A CN110692251A (zh) | 2020-01-14 |
CN110692251B true CN110692251B (zh) | 2021-10-12 |
Family
ID=60937881
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780091424.5A Active CN110692251B (zh) | 2017-12-08 | 2017-12-08 | 组合数字视频内容的方法及系统 |
CN202111107479.5A Pending CN113965777A (zh) | 2017-12-08 | 2017-12-08 | 组合数字视频内容的方法及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111107479.5A Pending CN113965777A (zh) | 2017-12-08 | 2017-12-08 | 组合数字视频内容的方法及系统 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11044521B2 (zh) |
EP (1) | EP3616407A1 (zh) |
JP (1) | JP6920475B2 (zh) |
KR (1) | KR102200317B1 (zh) |
CN (2) | CN110692251B (zh) |
WO (1) | WO2019112616A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102200317B1 (ko) | 2017-12-08 | 2021-01-08 | 구글 엘엘씨 | 디지털 비디오 컨텐츠 수정 |
US10986402B2 (en) | 2018-07-11 | 2021-04-20 | Qualcomm Incorporated | Time signaling for media streaming |
US11823421B2 (en) * | 2019-03-14 | 2023-11-21 | Nokia Technologies Oy | Signalling of metadata for volumetric video |
US10951563B2 (en) | 2019-06-27 | 2021-03-16 | Rovi Guides, Inc. | Enhancing a social media post with content that is relevant to the audience of the post |
JP7441735B2 (ja) | 2020-06-08 | 2024-03-01 | 株式会社ソニー・インタラクティブエンタテインメント | 配信サーバおよび画像配信方法 |
US11582502B2 (en) * | 2020-07-22 | 2023-02-14 | Yandex Europe Ag | Method and system for uploading media objects unto a web platform |
EP4136549A1 (en) | 2021-01-07 | 2023-02-22 | Google LLC | Selection and provision of digital components during display of content |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2416949A (en) * | 2004-07-30 | 2006-02-08 | Agency Science Tech & Res | Insertion of additional content into video |
CN101290787A (zh) * | 2007-04-16 | 2008-10-22 | 奥多比公司 | 改变视频回放速度比率 |
CN102254160A (zh) * | 2011-07-12 | 2011-11-23 | 央视国际网络有限公司 | 视频比分的检测识别方法及装置 |
CN102339625A (zh) * | 2011-09-20 | 2012-02-01 | 清华大学 | 视频对象级时域编辑方法及系统 |
CN102907093A (zh) * | 2010-05-28 | 2013-01-30 | 微软公司 | 使到视频中的动态信息插入自动化 |
CN104219559A (zh) * | 2013-05-31 | 2014-12-17 | 奥多比公司 | 在视频内容中投放不明显叠加 |
CN105103566A (zh) * | 2013-03-15 | 2015-11-25 | 康格尼蒂夫媒体网络公司 | 用于标识视频片段以便显示上下文相关内容的系统和方法 |
KR101610007B1 (ko) * | 2014-11-13 | 2016-04-08 | 주식회사 그로브소프트 | 동영상 생성 방법 |
CN107251008A (zh) * | 2015-02-27 | 2017-10-13 | 索尼克Ip股份有限公司 | 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100610690B1 (ko) * | 2005-06-29 | 2006-08-09 | 엔에이치엔(주) | 3차원 화면에 플래시 동영상 삽입 방법 및 이를 위한 기록매체 |
US20080066107A1 (en) * | 2006-09-12 | 2008-03-13 | Google Inc. | Using Viewing Signals in Targeted Video Advertising |
GB0809631D0 (en) * | 2008-05-28 | 2008-07-02 | Mirriad Ltd | Zonesense |
US20090327346A1 (en) * | 2008-06-30 | 2009-12-31 | Nokia Corporation | Specifying media content placement criteria |
US20100043046A1 (en) | 2008-07-07 | 2010-02-18 | Shondip Sen | Internet video receiver |
US20100154007A1 (en) | 2008-12-17 | 2010-06-17 | Jean Touboul | Embedded video advertising method and system |
US9009066B2 (en) * | 2009-02-12 | 2015-04-14 | Echostar Technologies L.L.C. | Advertisement management for live internet multimedia content |
US20110080521A1 (en) * | 2009-10-05 | 2011-04-07 | Sony Corporation | On-screen display to highlight what a demo video is meant to illustrate |
KR101737084B1 (ko) * | 2009-12-07 | 2017-05-17 | 삼성전자주식회사 | 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치 |
JP5465620B2 (ja) | 2010-06-25 | 2014-04-09 | Kddi株式会社 | 映像コンテンツに重畳する付加情報の領域を決定する映像出力装置、プログラム及び方法 |
US20120072957A1 (en) * | 2010-09-20 | 2012-03-22 | Google Inc. | Providing Dynamic Content with an Electronic Video |
KR101105467B1 (ko) * | 2011-03-30 | 2012-01-17 | 주식회사 엑스디웍스 | 동영상 합성을 통한 광고 서비스 제공 방법 |
US20130268621A1 (en) * | 2012-04-08 | 2013-10-10 | Broadcom Corporation | Transmission of video utilizing static content information from video source |
US9432703B2 (en) * | 2014-11-17 | 2016-08-30 | TCL Research America Inc. | Method and system for inserting contents into video presentations |
US10430664B2 (en) * | 2015-03-16 | 2019-10-01 | Rohan Sanil | System for automatically editing video |
KR101741747B1 (ko) * | 2016-06-09 | 2017-05-31 | (주)매직비젼 | 실시간 광고 삽입이 가능한 영상 광고 처리 장치 및 방법 |
KR102200317B1 (ko) | 2017-12-08 | 2021-01-08 | 구글 엘엘씨 | 디지털 비디오 컨텐츠 수정 |
-
2017
- 2017-12-08 KR KR1020197034916A patent/KR102200317B1/ko active IP Right Grant
- 2017-12-08 WO PCT/US2017/065381 patent/WO2019112616A1/en unknown
- 2017-12-08 US US16/625,576 patent/US11044521B2/en active Active
- 2017-12-08 JP JP2019565935A patent/JP6920475B2/ja active Active
- 2017-12-08 EP EP17826024.6A patent/EP3616407A1/en not_active Withdrawn
- 2017-12-08 CN CN201780091424.5A patent/CN110692251B/zh active Active
- 2017-12-08 CN CN202111107479.5A patent/CN113965777A/zh active Pending
-
2021
- 2021-05-19 US US17/325,065 patent/US11412293B2/en active Active
-
2022
- 2022-08-04 US US17/881,262 patent/US11974013B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2416949A (en) * | 2004-07-30 | 2006-02-08 | Agency Science Tech & Res | Insertion of additional content into video |
CN101290787A (zh) * | 2007-04-16 | 2008-10-22 | 奥多比公司 | 改变视频回放速度比率 |
CN102907093A (zh) * | 2010-05-28 | 2013-01-30 | 微软公司 | 使到视频中的动态信息插入自动化 |
CN102254160A (zh) * | 2011-07-12 | 2011-11-23 | 央视国际网络有限公司 | 视频比分的检测识别方法及装置 |
CN102339625A (zh) * | 2011-09-20 | 2012-02-01 | 清华大学 | 视频对象级时域编辑方法及系统 |
CN105103566A (zh) * | 2013-03-15 | 2015-11-25 | 康格尼蒂夫媒体网络公司 | 用于标识视频片段以便显示上下文相关内容的系统和方法 |
CN104219559A (zh) * | 2013-05-31 | 2014-12-17 | 奥多比公司 | 在视频内容中投放不明显叠加 |
KR101610007B1 (ko) * | 2014-11-13 | 2016-04-08 | 주식회사 그로브소프트 | 동영상 생성 방법 |
CN107251008A (zh) * | 2015-02-27 | 2017-10-13 | 索尼克Ip股份有限公司 | 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法 |
Non-Patent Citations (1)
Title |
---|
用于图像认证的小波域半易损水印算法;胡玉平等;《电子学报》;20060430;第34卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
KR20190137924A (ko) | 2019-12-11 |
US20210297736A1 (en) | 2021-09-23 |
CN110692251A (zh) | 2020-01-14 |
EP3616407A1 (en) | 2020-03-04 |
CN113965777A (zh) | 2022-01-21 |
KR102200317B1 (ko) | 2021-01-08 |
US11412293B2 (en) | 2022-08-09 |
US11974013B2 (en) | 2024-04-30 |
US20210084368A1 (en) | 2021-03-18 |
WO2019112616A1 (en) | 2019-06-13 |
JP2020528680A (ja) | 2020-09-24 |
JP6920475B2 (ja) | 2021-08-18 |
US11044521B2 (en) | 2021-06-22 |
US20220377412A1 (en) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110692251B (zh) | 组合数字视频内容的方法及系统 | |
US11902633B2 (en) | Dynamic overlay video advertisement insertion | |
US20190147914A1 (en) | Systems and methods for adding content to video/multimedia based on metadata | |
US9118886B2 (en) | Annotating general objects in video | |
US20160014482A1 (en) | Systems and Methods for Generating Video Summary Sequences From One or More Video Segments | |
US9002175B1 (en) | Automated video trailer creation | |
US20150293995A1 (en) | Systems and Methods for Performing Multi-Modal Video Search | |
US11416546B2 (en) | Content type detection in videos using multiple classifiers | |
US20140289241A1 (en) | Systems and methods for generating a media value metric | |
WO2023011094A1 (zh) | 视频编辑方法、装置、电子设备以及存储介质 | |
US20150195626A1 (en) | Augmented media service providing method, apparatus thereof, and system thereof | |
JP2020516107A (ja) | ビデオコンテンツの要約処理 | |
CN110679153B (zh) | 用于提供重新缓冲事件的时间放置的方法 | |
CN108989905B (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
CN109729425B (zh) | 一种关键片段的预测方法及系统 | |
US20230319346A1 (en) | Systems and methods for automatically generating content items from identified events | |
KR20240037556A (ko) | 인공지능을 기반으로 비디오 품질을 강화시키는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 | |
JP2005080209A (ja) | 動画分割方法、動画分割装置、マルチメディア用検索インデックス付与装置、および動画分割プログラム | |
CN116647735A (zh) | 弹幕数据处理方法、装置、电子设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |