首页 / 生成视频数据

生成视频数据有效专利 发明

技术领域

[0001] 本发明涉及生成视频数据。特别地但非排他性地,本发明涉及将一个或多个其他视频对象合并到源视频数据以生成输出视频数据的方法和应用、计算机程序、计算机程序产品以及包括适于执行该方法的装置的系统。

相关背景技术

[0002] 近年来,广播行业已经发生了显著变化。随着网络的兴起,基于数字网络的流媒体变得越来越受欢迎并且逐渐替代了传统电视广播。在这些变化之前,电视节目通常在电视演播厅或者外景现场被记录在录像带里。在录像带中没有文件结构,只有线性图片信息。数字技术的可用性使得媒体具有目录和文件结构。从原始捕捉材料到最终材料之间的工艺数量一直是增加的,在基于文件的域中,可能通过连结多个工艺生成工作流。
[0003] 伴随着数字文件的处理,很多可用于将贴有商标的产品回顾性地嵌入到屏幕内的新工艺成为可能。这会涉及数字后加工被捕捉画面,以将例如贴有商标的饮料瓶的展示添加到桌子或货架上。
[0004] 自适性串流是一种将视频传送到网络协议(IP)的设备,如智能手机,平板电脑,联网电视,笔记本电脑等的方法。在自适性串流中,视频数据以小段或小块(2S)的形式被传送。每一段被编码为多个比特率,例如400Kbps,700Kbps和1500Kbps。根据设备在任意时刻的带宽和容量,该视频数据可将用于传送视频数据到该设备的比特率切换至更高或更低。现有不同的自适性比特率格式,HTTP实时流(用于 设备)、HTTP动态流
微软平滑流以及基于HTTP的动态自适应流(DASH)。根据请求该视频数据的设
备,传送合适的视频数据格式。既然这些仅在格式上变化,将视频数据生成或转化为不同的视频数据格式是可能的。
[0005] 已知的系统允许广告被放置在视频材料的块之间,以重复传统的“视频中”或广告休息的广告技术。然而,这一技术的缺陷在于用户可以跳过广告以及视频长度被延长。
[0006] 另一种已知的系统在视频材料的帧内嵌入广告。然而,这承受的问题在于必须传输大量的视频数据,并且将广告指定到特定用户需要生成并传送多个版本的嵌入视频。这种大文件尺寸使得多个文件的传送更加耗时且效率低下。此外,当广告活动发起和结束时,发布者不能切换嵌入广告。此外,发布者不能收集该广告活动的分析。
[0007] 提供一种生成视频数据的改进结构将会是被期待的。

具体实施方式

[0024] 图1是显示了根据一些实施例的视频处理系统100的示意图。该视频处理系统的子系统通过一个或多个数据通信网络(未示出)连接。在一些实施例中,该子系统通过因特网互相连接。
[0025] 子系统102,在这里被称为“源中心”,除其他事项外还执行视频处理系统100的视频数据分析。例如在视频或数据带上、在数字通用光碟(DVD)上、经过高速计算机网络、通过网络、在一个或多个可移除光盘驱动或其他方式提供有一个或多个数字文件时,该源中心102可检索源视频数据。在一实施例中,该源视频数据由发布者提供。在另一实施例中,该源视频数据由内容拥有者104提供。
[0026] 该源视频数据包括视频材料的帧。设置在同一位置的视频材料的连续帧又称为镜头。
[0027] 在一些实施例中,源中心102包括执行涉及源视频数据的预分析的视频数据分析模块。该分析利用可使产品数字化地置入到已有视频材料内的合适的软件来执行。
[0028] 该预分析可以是完全自动的,不涉及任何人工干预。
[0029] 在一些实施例中,该数据分析模块用于执行涉及源视频数据的预分析许可,以确认该源视频数据中的一个或多个镜头。这会涉及到应用镜头检测和/或连续性检测,现对该镜头检测和连续性检测进行更详细的描述。
[0030] 预分析涉及利用视频格式检测算法确认该源视频数据的格式,并且如果必要,将源视频数据转换为可以接收一个或多个其他视频对象的格式。
[0031] 预分析涉及利用镜头检测函数确认视频数据中不同镜头间的边界。例如,该视频数据分析模块102a自动检测不同镜头之间的“硬”和“软”切换,这分别对应于硬过渡和软过渡。硬切换对应于视频数据中两连续帧之间视觉相似度的突然变化。软镜头切换对应于软过渡(例如划变和叠象渐变过渡)的开头或结尾,软过渡的特征在于多个帧之间具有明显却渐变的视频显示。
[0032] 预分析可包括利用连续性检测函数确认视频数据中的相似镜头(如果检测到)。这可用于最大化在给定场景中的每个(类似的)镜头都被确认的可能性——这在数字化产品的放置的情形下是有益的。对于每一个检测到的镜头,镜头相似度算法自动检测源视频数据内视觉上相似的镜头。该相似度检测是基于帧间匹配的,其捕捉背景和布光的整体全局相似度。它可用于确定给定场景的部分镜头,从而加快选择镜头的进程,该镜头在彼此相似的基础上应该归并在一起。
[0033] 预分析可包括利用对象和/或区域模板识别函数和/或人脸检测和识别函数。对象模板识别涉及确认例如在电视节目的多集里重复出现的对象,以及适于数字化产品置入的对象,从而在该节目的其他集中可以自动发现该对象。区域模板识别可使模板专用于电视节目的某区域并且在该节目的后续剧集中自动检测该区域的显示。区域为在节目的多集中规则显示的位置(例如房间)。人脸检测和识别涉及确认例如在电视节目的多集中重复显示的角色。这使得角色与特定的数字化产品位置相关联。
[0034] 预分析可包括利用跟踪(如2D点跟踪)函数来检测和跟踪视频数据中的多个点特征。这涉及利用跟踪算法来检测和跟踪连续帧之间的特征点。特征点对应于图像中在视觉显示上具有特征的位置;换言之,它们表现出较强的对比度(如暗角落或者亮背景)。通过比较位置附近像素的相似度寻找特征在下一帧中的位置以跟踪特征。
[0035] 预分析可包括利用平面跟踪函数以随时间跟随图像区域并且在假定表面为平面的情况下确定它们的移动。这可能涉及跟踪由样条定义的2D区域,计算它们的2D转化、旋转、缩放、剪切以及通过视频数据投影缩减。该过程创建了可供其他视频分析函数利用的移动信息。
[0036] 预分析可包括利用跟踪2D点的相对-特征-移动检测函数来确定视频数据中的2D移动。给定一组跟踪特征点,相对-特征-移动检测涉及根据相同的刚体移动检测哪些点一起移动。
[0037] 预分析可包括利用涉及使用跟踪2D点的3D跟踪函数来确定视频数据中的3D移动。3D跟踪涉及从视频镜头中提取几何信息,例如相机移动时的焦距、位置和方位。其他恢复信息为该视图场景的3D形状,用3D点表示。
[0038] 预分析可包括利用自动密钥函数分离背景和前景区域,使产品数字地放置的同时不妨害任何遮挡(前景)对象,以提供看起来自然的嵌入图像。当前景对象在预期被用数字手段放置产品的背景的前方移动时,产品欲放置所在的区域应该停在前景和背景区域间的边界上。一般地,用数字手段放置的产品应该覆盖该背景区域的“屏蔽”区域。当该前景对象非常细节化或者模糊时,创建正确的屏蔽是尤其困难的。该自动密钥算法利用平面跟踪器创建移动信息,从而已知的背景或前景区域可以及时通过视频向前和向后传送。
[0039] 预分析可包括用于将该视频数据分割成跨越时间和空间的区域分段。区域分段涉及利用检测给定视频数据的帧内部和之间的类似像素的区域的算法,例如用于为运动评估选择点特征。
[0040] 预分析可包括使用黑界检测函数,该黑界检测函数用于寻找视频数据的视频图像部分周围的边界。这涉及利用检测视频序列中的帧附近的黑条的存在的算法,该黑条会干扰多个视频处理算法。
[0041] 预分析可包括代理创建,该代理创建涉及创建低分辨率和/或压缩版本的源视频数据。
[0042] 该源中心分析该源视频数据,以寻找该源视频数据中适于接收一个或多个其他视频部分的区域。该源视频中的适于接收其他视频数据的该区域又被称为插入区域。
[0043] 在一实施例中,该源中心102还被用于该视频处理系统100中的创造性工作。
[0044] 该源中心102提供有模块,如用于当被数字化置位的产品添加到视频资料中时,确定被数字化置位的产品的位置应该如何变化,例如考虑到记录该视频材料的相机的任何移动。跟踪可以是自动的和/或涉及人工干预的。
[0045] 该源中心102还包括屏蔽模块。该屏蔽模块用于评估在考虑到可能已经存在于该视频材料的其他对象的情况下,如何处理将要数字化地放置在视频材料中的产品的遮挡物(如果存在)。屏蔽评估可以是自动的和/或涉及人工干预的。
[0046] 源中心102还包括外观造型模块。该外观造型模块用于提供数字化放置的产品的理想的外观,例如利用模糊、纹理、加亮、3D照明和其他效果。外观造型可以是自动的和/或涉及人工干预的。
[0047] 子系统106表示适于存储视频数据的数据存储。
[0048] 子系统108表示用于将视频编码为一个或多个比特率的编码器。该编码器108可以接收来自于源中心102的视频数据,压缩该视频并将该视频数据转换成一种或多种格式。
[0049] 子系统110和112分别表示原始服务器和内容传递网络(CDN)。CDN允许数据通过网络更有效率地传送并且其在现有技术中是已知的。
[0050] 子系统114,又被称为“发布者”,除其他事项外还执行视频发布。发布者的一个示例为“ ”。发布者允许用户通过网络访问视频文件。
[0051] 子系统122、124和126分别表示流管理器、广告决策系统和广告策略管理器,并且在下文会更详细地描述。
[0052] 传统的视频流技术,如实时流协议(RTP)以及窗口媒体HTTP流协议(MS-WMSP)包含将以统一比特率编码的数据包的稳定流传送给客户端的服务器,客户端如116、118和120。该服务器仅以视频编码的比特率传送数据包给客户。例如,如果源视频以500Kbps被编码,则视频会以500Kbps被串流。此外,服务器仅传送足够的数据包以填充客户端的缓存。该客户端的缓存通常介于1-10秒之间,这表示即使客户端暂停流视频,仅1-10秒的视频材料被下载到客户端。
[0053] 即看式下载先进于传统的流技术,原因在于即看式下载允许在整个视频文件已下载之前可以在客户端播放流视频。即看式下载可得到大多媒体播放器和平台的支撑,并且基于简单的下载形式操作HTTP网络服务器。不同于传统的流,当视频暂停时,余下的视频会被继续下载到客户端。
[0054] 图2描述了自适性串流。自适性串流通过将视频数据202分割成多个“块”或“段”,如A2、B2、C2等工作。这些段是一致的,并且通常在2s到10s之间。该统一的段规则的例外为最后一段的大小与其他段的大小不一致。或者,该段大小可以通过视频材料的帧数确定。在一个实施例中,该段大小介于50帧到250帧。该段大小由发布者确定,并且依发布者传送平台和内容类型(实时、VoD等)而变化。该发布者提供数据到确定该发布者使用的段大小的源中心,最终视频数据在传送前被分割成该段大小。
[0055] 每个段被编码器编码为至少两个比特率。在图2中,该视频数据被编码成三个比特率,分别用204、206和208表示。在一些实施例中,每个段被编码成具有不同质量的介于3到14个不同的比特率。在一实施例中,每个段被编码为三个比特率:400Kbps、700Kbps和
1500Kbps。
[0056] 客户端可以根据客户端可用网络容量在不同比特率编码的段间选择。如果客户端具有高带宽容量,则选择较高比特率编码的段,并且该视频数据以更高的质量串流。如果网络带宽下降,则客户端可选择较低比特率的段。在即看式下载中,如果用户暂停视频,则视频数据会继续下载。在图2示例中,前两个段从编码视频数据204中选择。下一个段从编码视频数据206等中选择。
[0057] 每个段以解码立即刷新(IDR)帧开始。该IDR帧作为该段中其他视频帧的参考帧。由于段中剩余的帧参考IDR帧,可采用压缩技术压缩该段视频数据。随后的帧可以利用IDR帧进行解码,并且在这之前不需要任何其他信息。如果该IDR帧丢失,则段中剩余的帧不会播放。在一实施例中,该段大小等于该IDR帧的间隔。
[0058] 自适性串流允许客户端以适于当前网络情况的速度下载视频数据,并且从而降低了在客户端缓存中视频段不足以继续播放的风险。自适性串流为将输出视频数据插入到源视频数据以生成最终视频数据提供了平台,该输出视频数据包括一个或多个其他视频对象,如广告部分。
[0059] 图3显示了根据一些实施例,与将一个或多个其他视频对象添加到源视频数据中以生成输出视频数据相关的信息流的时序图。
[0060] 在步骤3a中,源中心301检索源视频数据。在一个实施例中,从发布者中检索源视频数据。在一个实施例中,从内容生成器304中检索源视频数据。该源视频数据包括视频材料的帧以及确定发布者使用的段大小的数据,其中视频数据在发布前被分割。该段大小可以按时间段或者帧的数量确认。在一个实施例中,源视频数据包括插入区域的最小允许长度的信息。如果该插入区域小于最低允许长度,则其他视频对象不会嵌入到该源视频数据中。
[0061] 在步骤3b中,源中心302分析视频材料以确认该源视频数据中适于接收一个或多个其他视频对象的“插入区域”或区域。
[0062] 在一个实施例中,在源视频材料的镜头中确认插入区域之后,分析剩余的源视频材料以确认该插入区域是否出现在该源视频材料的一个或多个镜头中。确认插入区域所在的帧被称为被选择帧。
[0063] 在步骤3c中,源中心302基于确定视频数据在发布前被分割成的段大小的数据以及基于被选择帧计算至少一个边界点的位置。该边界点对应于由发布者在发布之前生成的最终视频数据的一个段的起始点。该边界点表示一个段的最早边界,该段中被选择帧会发生在最终视频数据中。在一实施例中,该边界点包括IDR帧。在一个实施例中,该源视频数据包括关于该源视频数据中的帧频的数据。在一实施例中,该源中心提供与该源视频数据相较具有不同帧频的输出视频数据。因此,该源中心需要将帧频之间的差异合并到识别边界点和提供输出视频数据的步骤中。
[0064] 在一示例中,该插入区域已被确认所在的被选择帧从该源视频数据的起始的8.5s到9.5s之间发生,并且该发布者提供段大小为2s的信息,然后在本示例中,该源中心302计算边界点发生在8s。
[0065] 在一示例中,该被选择帧发生在9.5s和10.5s之间,而段大小为2s,然后同样地,边界点发生在8s。
[0066] 计算该边界点以确保由该源中心302生成的该输出视频数据符合该发布者的要求,如它们的自适性串流设置。由于在每个边界点处具有IDR帧,替换最终视频数据的整个段而非一部分段是重要的。通过计算该段的边界点,该源中心302可以计算除被选择帧外,还需要将多少帧包括在该输出视频数据中,从而被提供的输出视频数据对应于多个段大小。替换整个段而非段的一部分意味着由发布者将输出视频数据包括到该源视频数据内更容易些。在一个实施例中,在源视频数据中的每个段中有两个边界点被确认,第一个对应于该段的第一帧并包括IDR帧,第二边界点对应于该段的最后一帧,该最后一帧位于下一个IDR帧的前一帧。
[0067] 在步骤3d中,一个或多个其他视频对象被嵌入到被选择帧内。在一实施例中,该一个或多个其他对象嵌入到该源视频数据是在源中心302自身中执行的。在一替换性实施例中,该源视频数据和该一个或多个其他视频对象被提供到一个或多个远程中心,例如一创造性中心以执行该嵌入。在远程位置提供中心可使资源更有效地发布,例如通过将该远程中心定位在较大的劳动力储备库附近。
[0068] 在步骤3e中,创建输出视频。该输出视频包括一个或多个输出视频数据段。该输出视频数据可包括非被选择帧的一个或多个帧。原因在于该输出视频数据的边界对应于在发布前会被发布者分段的最终视频数据的边界是重要的。在上述示例中,插入区域位于8.5s至9.5s之间,并且段大小为2s的被选择帧集合中,边界点发生在8s。为了确保输出视频数据具有对应于边界点的边界,发生在8s到8.5s之间的视频帧也将被包括在该输出视频数据内,即使在本示例中,它们不包括插入区域。
[0069] 在上述第二示例中,其中插入区域存在于发生在9.5s到10.5s之间的帧中,相关的边界点也是8s。该边界点为8s而非10s的原因是该输出视频的一部分会发生在8s和10s之间的段,该部分会相对于8s处发生的IDR帧被编码。在本示例中,8s到9.5s之间的视频帧还会被包括在该输出视频数据内。此外,被选择帧结尾和下一边界点之间的帧也会被包括,例如10.5s至12s之间的帧。在一实施例中,输出视频数据的大小对应于发布者提供的段的尺寸。
在另一实施例中,该输出视频数据对应于由发布者提供的段的大小的多倍。
[0070] 由于该输出视频数据的持续时间远小于该源视频数据,输出视频数据的文件大小更小,并且因此传送该输出视频数据比传送该源视频数据更容易。
[0071] 在步骤3f中,创建元数据,该元数据提供关于被该输出视频数据替换的该源视频数据的至少一个边界点的信息。该元数据包括时间信息,包括该边界点的时间。在一实施例中,该元数据包括关于该输出视频数据的时间长度的时间信息。在一实施例中,该元数据包括该输出视频数据的帧数的信息。
[0072] 在一实施例中,该元数据包括跟踪像素的数据。该跟踪像素用于传送由于输出视频数据被播放而导致的信息。这些跟踪像素可放置在该输出视频数据的起点,或者该输出视频数据的整个过程的任何点处。该跟踪像素可收集关于特定广告在输出视频数据中播放的次数的数据,这可用于计费目的。如果不止一个跟踪像素被包含在该元数据中,该跟踪像素可用于在该输出视频数据的开始、中间和结尾点火,然后可以收集关于该输出视频数据的开始、中间和结尾的次数的数据。
[0073] 在一实施例中,该元数据为视频多广告播放列表(VMAP)格式。VMAP为交互式广告局(IAB)的标准。VMAP为XML格式,通常用于为传统的视频前和视频中广告描述广告目录插入的结构。视频前广告为视频帧的集合,该视频帧并非源自源视频数据;视频帧用于在最终视频数据提供给用户前播放。视频中广告类似于视频前广告,但是视频中广告在该最终视频数据的帧间隔之间播放。
[0074] VMAP文件被如DoubleclickTM、 和 等公司使用。VMAP和被称为视频广告供应模板(VAST)的另一标准结合使用。VAST为另一基于XML的标准,用于将广告提供到在线数字视频播放器。VMAP文件与该VAST标准结合使用。
[0075] 随着这些标准在行业中建立,它们用于向广大观众提供广告。元数据的应用与VMAP用于指定视频中和视频前信息的方式不完全相同,由于输出视频数据与传统的视频前或视频中应用方式不同。图4显示了VMAP格式的元数据文件的示例。
[0076] 图4中的标记1显示了将要插入到源视频数据内的输出视频数据的信息。该元数据提供关于输出视频数据和嵌入到输出视频数据的其他视频数据的数据的信息。该元数据可提供关于输出视频数据的位置的信息,例如URL地址。
[0077] 图4中标记2显示了将输出视频数据插入到源视频数据中的时间码的信息。图4中标记3显示了输出视频数据的持续时间的信息。例如如果输出视频数据持续时间为14秒,而发布者使用的标准段大小为2秒,则输出视频数据由7段组成。图4中标记4显示了输出视频数据视频文件的信息。图4中标记5显示了当达到该输出视频数据的特定时刻时会点火的点火像素的信息。这些时刻可以是输出视频数据的开始,输出视频数据或者该输出视频数据的结尾的1秒内。在一实施例中,元数据被提供到流管理器。该流管理器可以管理客户端的播放列表和流。在另一实施例中,由于该元数据为VMAP格式,因此元数据可直接被播放器使用。
[0078] 在步骤3g中,输出视频数据和元数据被传送给发布者。
[0079] 图5显示了将输出视频数据插入到源视频数据的序列图。在S500中,检索到源视频数据。在S502中,基于发布者提供的段大小的数据,在源视频数据内确认边界点。该边界点表示基于发布者提供的段大小的数据,该视频数据在发布前会被分割成的段。该源视频数据在此阶段不必要分割。
[0080] 在S504中,源中心分析该源视频数据以确认该源视频数据中的一个或多个插入区域。一个或多个插入区域被确认的被选择帧用b’和de’表示。被选择帧b’对应于段B,因此边界点出现在段A和B之间的边界。被选择帧de’对应于段D和E,因此边界点出现在段C和D之间的边界。
[0081] 在S506中,其他视频数据被嵌入到该被选择帧内,包括该一个或多个其他视频对象的输出视频数据被创建。该输出视频数据的边界对应于被确认的至少一个边界点的边界。在S506中,该段B’包括一个或多个已嵌入其他视频对象的帧,还包括一个或多个没有添加其他视频对象的帧。段B’的大小对应于段B的大小,段B在最终视频数据中被B’替代。通过匹配段B’和B的大小,替代段的过程变得更简单。
[0082] 段D’和E’包括一个或多个已嵌入其他视频对象的被选择帧,也包括一个或多个未添加其他视频对象的被选择帧。该段D’和E’的大小对应于段D和E的大小;段D和E在最终视频数据中被D’和E’替代。
[0083] S508显示了最终视频数据,该最终视频数据显示了输出视频数据的段B’、D’和E’替代了源视频数据的段B、D和E。关于包括B’、D’和E’的输出视频数据的段的位置信息被传送到该元数据的发布者。
[0084] 在S508中所示的最终视频数据发布之前,该最终视频数据在发布者处被分割成段。该段被编码成多种比特率并利用自适性串流技术被传送到客户端。
[0085] 在一个实施例中,输出视频数据被分割成段并且在源中心被编码。如图6所示,每个段在源中心被编码成多个比特率。图6显示了段B’、D’和E’,该段B’、D’和E’分别以第一比特率被编码为第一版本的输出视频数据,用B1、D1和E1表示。图6还显示了被编码为一个或多个比特率的输出视频数据,用B2、D2和E2以及B3、D3和E3表示。该编码输出数据被提供到发布者,并且该发布者可基于对应的元数据将段插入到源视频数据内。
[0086] 定向广告涉及根据用户特征将不同的广告部分提供给不同的用户。图7显示了多个版本的输出视频数据根据一些实施例被创建的示例,该输出视频数据的一个或多个其他版本包括不同于插入到其他版本的输出视频数据种的一个或多个其他对象的一个或多个其他视频对象。步骤700对应于图5所示的步骤S504,其中插入区域b’和de’已经在该源视频数据中被确认。
[0087] 在步骤702中,创建了三个版本的输出视频71、72和73。该输出视频数据71中,对应于第一组其他视频数据的第一广告部分被插入以生成第一版本的输出视频数据。该输出视频数据72中,对应于第二组其他视频数据的第二广告部分被插入以生成第二版本的输出视频数据。该输出视频数据73中,对应于第三组其他视频数据的第三广告部分被插入以生成第三版本的输出视频数据。该三个版本的输出视频数据被传送到发布者。
[0088] 上文所述且如图7所示的方法可创建具有多种生成版本的输出视频数据。例如,如果3个变化的其他视频数据被嵌入到源视频数据中,以在22分钟的源视频数据中创建6s长的输出视频数据,则该4个输出视频数据的总长度依然为6*3=18s,相比之下,源视频数据为1320s。可以想到,在相同的内容中放置有不同的品牌被传送到不同的人群、位置或用户。
[0089] 在实施例中,发布者包括广告策略管理器、广告传送系统以及流管理器。该广告策略管理器制定何时传送各种变化的一般规则,例如可向富人区定向高端汽车的广告。该广告传送系统分析用户文件的特点以确定广告策略管理器设定的哪种规则。该流管理器结合用户的客户端设备操作,并将清单文件提供给客户端设备,该清单文件列举将要提供给客户端设备的内容。
[0090] 图8显示了根据一些实施例的定向过程。该源中心802创建了三个版本的输出视频数据804、806和808。输出视频数据804包括一个或多个第一视频对象。输出视频数据806包括一个或多个第二视频对象。输出视频数据808包括一个或多个第三视频对象。这三个版本的输出视频数据804、806和808由发布者编码和缓存。当用户818从发布者播放器816处请求视频内容时,该播放器从流管理器812处请求清单文件。该流管理器联系广告决策系统814,该广告决策系统814然后分析用户818的文件并且基于广告策略系统810制作的规则选择定向广告,该广告策略系统810可访问输出视频数据804、806和808。该被选择广告已经被嵌入的对应编码输出视频数据被添加到清单文件。该组合的清单文件然后被传送到播放器,播放器随后无缝播放包括作为该最终视频数据一部分的被选择广告的输出视频数据。该广告决策系统可为每个用户818、820和822选择不同的广告。
[0091] 定向广告满足特定地理位置、特定设备或者特定观众的需求。在一实施例中,在单个广告活动中,每一个定向版本具有不同版本的输出视频数据。这些版本不同点在于嵌入到输出视频数据中的广告内容。例如,输出视频数据版本1可包括辣茄酱品的产品,而输出视频数据版本2可包括奶酪(Quezo)口味的产品。具体为观众提供哪种版本的输出视频数据由广告决策系统决定。
[0092] 图9显示了一个时序图,该图显示了根据一些实施例,将输出视频数据放置入源视频数据相关的信息流。
[0093] 在步骤9a中,包括视频资源的帧以及定义由发布者使用的段大小的数据的源视频数据被提供至源中心。该源视频数据可由一个或多个内容生成者创建并且被提供给发布者。该源视频数据包括视频材料的帧和定义由发布者使用的段大小的数据;该输出视频数据在被发布者传送前被分割成该段大小。如上所述,源视频数据在发布供使用前利用自适性比特流被分割成段。
[0094] 在步骤9b中,该发布者接收来自于远程位置,如中心源的输出视频数据,该输出视频数据包括插入到源视频数据的插入区域中的一个或多个其他视频对象,其中该插入区域对应于适于接收其他视频对象的视频材料的被选择帧内的一个或多个区域。在一实施例中,该其他视频对象为广告部分。该输出视频数据还可包括其中不包括其他视频对象的视频材料的一个或多个帧;包括其中不包括其他视频对象的视频材料的一个或多个帧的原因在于延伸了该输出视频数据的边界以对应于数据在发布前被分割成的段的一个或多个边界点。
[0095] 在步骤9c中,发布者接收来自于远程位置的元数据,该元数据包括被创建的输出视频数据替换的源视频数据的至少一个边界点的信息。该元数据包括时间信息,该时间信息包括边界点的时间。在一实施例中,该元数据包括关于输出视频数据的时间长度的时间信息。在一实施例中,该元数据包括关于输出视频数据的帧数的信息。
[0096] 在一实施例中,该元数据包括跟踪像素的数据。该跟踪像素用于传送由于输出视频数据被播放而导致的信息。这些跟踪像素可放置在该输出视频数据的起始,或者该输出视频数据的整个过程的任何点处。该跟踪像素可收集关于特定广告播放的次数的数据。如果不止一个跟踪像素被包含在该元数据中,该跟踪像素可用于在该输出视频数据的开始、中间和结尾点火,然后可以收集关于该输出视频数据的开始、中间和结尾的次数的数据。在一实施例中,该元数据为视频多广告播放列表(VMAP)格式。
[0097] 该边界点基于定义根据发布前被分割成的段大小的数据,并且基于被选择帧。
[0098] 在步骤9d中,该源视频数据被分割成源视频数据段。该源视频数据段的大小对应于提供到远程位置的段的大小相关的数据。基于接收到的输出视频数据和接收到的元数据,该一个或多个输出视频数据段被进入到该源视频数据段,以创建最终视频数据。
[0099] 在一实施例中,该最终视频数据的段被编码为第一比特率的第一版本的最终视频数据;并且该一个或多个其他版本的最终视频数据的段被编码为一个或多个其他比特率。在一些实施例中,每个段被编码为3至14个具有不同质量的不同的比特率。在一实施例中,各段被编码为3个比特率:400Kbps、700Kbps和1500Kbps。
[0100] 客户端现在可以根据客户端可用的网络容量选择以不同比特率编码的段。如果客户端具有高宽带容量,则选择以高比特率编码的段并且该视频数据以较高质量被串流。如果网络带宽降低,则客户端可以选择较低的比特率段。
[0101] 在一实施例中,创建了多个版本的输出视频数据。对应于第一组其他视频数据的第一广告部分被插入,以生成第一版本的输出视频数据。对应于第二组其他视频数据的第二广告部分被插入,以生成第二版本的输出视频数据。对应于第三组其他视频数据的第三广告部分被插入,以生成第三版本的输出视频数据。可能有不止三个版本的输出视频数据被创建。在实施例中,该广告决策系统基于广告策略管理器设定的规则分析用户文件并选择定向广告。该嵌入被选择广告的对应编码输出视频数据然后被添加到清单文件。该缝合的清单文件然后被传送到播放器,播放器随后无缝播放包括作为该最终视频数据一部分的被选择广告的输出视频数据。该广告决策系统可为每个用户选择不同的广告。
[0102] 定向广告满足特定地理位置、特定设备或者特定观众的需求。在一实施例中,在单个广告活动中,每一个定向版本存在不同版本的输出视频数据。这些版本的不同点在于嵌入到输出视频数据中的广告内容。例如,输出视频数据版本1可包括辣茄酱品的产品,而输出视频数据版本2可包括奶酪(Quezo)口味的产品。具体为观众提供哪种版本的输出视频数据由广告决策系统决定。
[0103] 图10描述了根据一些实施例将输出视频数据插入到源视频数据的序列图。步骤S1000、S1002和S1004对应于S500、S502和S504。在S1000中,检索到源视频数据。在S1002中,基于发布者提供的段大小的数据,在源视频数据内确认边界点。该边界点表示基于发布者提供的段大小的数据的,该视频数据在发布前将会被分割成的段。该源视频数据在此阶段不必要分割。
[0104] 在S1004中,源中心分析该源视频数据以确认该源视频数据中的一个或多个插入区域。一个或多个插入区域被确认的被选择帧用b’和de’表示。被选择帧b’对应于段B,因此边界点发生在段A和B之间的边界。被选择帧de’对应于段D和E,因此边界点发生在段C和D之间的边界。
[0105] 在S1006中,其他视频数据被嵌入到该被选择帧内,包括该一个或多个其他视频对象的输出视频数据被创建。然而,与S506对比,输出视频数据的边界不必对应于被确认的至少一个边界点的边界。相反地,如果被选择帧与至少一个边界点有预先确定的相近关系,则输出视频数据段的边界会被延伸。该输出视频数据的边界可以通过将一个或多个其他帧包括到不包括一个或多个其他对象的输出视频数据段内进行调节。如果被选择帧与至少一个边界点有预先确定的相近关系,不包括一个或多个其他对象的一个或多个其他帧会包括到输出数据段中。在一实施例中,该预先确定的相近关系基于帧数。在一实施例中,如果被选择帧在该100帧的边界点内,则不包括一个或多个其他对象的一个或多个其他帧会包括到输出数据段中。在一实施例中,如果被选择帧在该10帧的边界点内,则不包括一个或多个其他对象的一个或多个其他帧会包括到输出数据段中。
[0106] 在一实施例中,预先设定的相近关系是基于时段的。在一实施例中,如果被选择帧在0.5秒的边界点内,不包括一个或多个其他对象的一个或多个其他帧会被包括在该输出数据段中。在一实施例中,如果被选择帧在0.1秒的边界点内,不包括一个或多个其他对象的一个或多个其他帧会被包括在该输出数据段中。
[0107] 在S1006的示例中,输出视频数据段DE’不在该至少一个边界点的预先确定的相近关系内,并且因此一个或多个其他视频帧未被包括并且该输出视频数据段DE’未被延伸到边界。输出视频数据段B’位于该至少一个边界点的预先确定的相近关系内,在本例中边界位于A和B之间。因此,不包括一个或多个其他对象的一个或多个其他帧会包括在该输出数据段B’内。
[0108] 和S506一样,关于包括B’、D’和E’的输出视频数据的段位于何处的信息被传送到元数据中的发布者。
[0109] S1008显示了最终视频数据,该最终视频数据显示了输出视频数据的段B’、D’和E’替代了源视频数据的段B、D和E。关于包括B’、D’和E’的输出视频数据的段位于何处的信息被传送到该元数据中的发布者。
[0110] 在本实施例中,由于并非所有的段被替换,一个或多个其他IDR帧被创建并插入到每个新创建的段的前方。需要新IDR帧的位置的示例由图10中的X和Y表示。该新IDR帧由发布者创建。

当前第1页 第1页 第2页 第3页
相关技术
视频数据相关技术
拉姆·斯里尼瓦桑发明人的其他相关专利技术