首页> 中国专利> 将高分辨率视频流自动实时帧分割成组成特征并修改各个帧中的特征以同时创建来自相同的视频源的多个不同线性视图的方法和系统

将高分辨率视频流自动实时帧分割成组成特征并修改各个帧中的特征以同时创建来自相同的视频源的多个不同线性视图的方法和系统

摘要

一种方法,被编程的计算机系统,例如,基于网络的硬件设备,以及包含软件程序的机器可读介质,所述软件程序用于实时地、无可见延迟地修改高清晰度视频数据流,以在逐帧的基础上添加内容,从而同时合成多个不同的定制的线性视图,用于诸如实时地创建并广播目标广告的目的。该方法以新颖且有创造性的方式采用常规视频处理技术,以通过在计算机的GPU与CPU之间来回传递由程序选择的数据来实现期望的目标。该方法还可用于期望实时处理的具有低于高清晰度的数据流,并产生比常规方法更好的结果。在这些应用中,所有处理可以由足够强大的通用计算机的CPU来完成。

著录项

  • 公开/公告号CN112262570A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利号CN201980039313.9

  • 申请日2019-02-06

  • 分类号H04N5/45(20110101);H04N21/2343(20110101);H04N21/236(20110101);H04N21/845(20110101);H04N21/44(20110101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人王小东;黄纶伟

  • 地址 以色列马塘

  • 入库时间 2023-06-19 09:36:59

说明书

技术领域

在本发明的一些实施方式中,本发明涉及对高清晰度视频数据的处理,并且更具体地但非排他地,涉及如下装置和方法,所述装置和方法用于通过从高分辨率帧提取颜色映射信息并按所提取的颜色图的级别执行帧修改来在逐帧的基础上修改一个或更多个高清晰度视频数据流以向其添加内容,从而同时创建来自相同的原始视频流源的多个不同的同步线性视图,同时保持所述源原封不动(intact)以供将来使用。本发明还涉及包含用于实现本发明的其它方面的软件的非易失性机器可读介质。

本发明具有各种应用,但是将在用于在逐帧的基础上实时地(即,在个体帧的呈现持续时间内)将附加内容(例如,目标广告)添加到高清晰度视频数据流的系统和方法的特定上下文中描述本发明。

出于在本文讨论的目的,当图像分辨率(包括视频帧分辨率)至少为1920像素×1080行(2.1百万像素,纵横比16:9)的HD分辨率时,该图像分辨率被认为是高的。

背景技术

计算机化的视频创建和编辑以及现场视频传输在许多方面是确立已久的和成熟的技术。市场上可获得的应用和相关支持(诸如,可从纽约市和OBS工作室公司(Inc.of NewYork City and OBS Studio)Videolicious获得的

能够将帧分割成其组成特征的图形处理方法和视频编辑程序在本领域中也是已知的。这种帧处理方法依赖于像素之间关系的计算,这由适当编程的计算机的中央处理单元(CPU)和图形处理单元(GPU)来完成。颜色分割是一种这样的组成特征。例如,参见Zitnick等人的“High-Quality Video View Interpolation Using a LayeredRepresentation”,由华盛顿州雷德蒙市的微软研究的交互视觉媒体小组开发的用于现场视频流的观看者视点控制的应用。

然而,已知的方法需要大量计算时间,计算时间根据帧大小指数地增加,从而使这些方法不适合高分辨率视频流的实时帧处理,尤其是在低功率电子设备上。

还已知能够对帧中的预选区域进行像素修改的视频编辑程序。这样的帧处理方法顺序地应用所选择的帧处理,从而将各个连续的修改应用于其前任(predecessor)的结果。然而,该过程需要使用程序手动编辑和合成视频中的各个帧,这是一个长期且昂贵的后期制作专业过程。

还已知在对所有流出流执行相同的帧修改的同时重新流传输视频的流传输服务器,以及执行相同操作的用于广播视频的电视编辑表和其它专门设计的设备。

还已知电视机顶盒和基于互联网协议的播放器,其可以覆盖图形以便观看者创建统一的视频视图。

然而,发明人不知道基于帧分割或任何其它策略来提供实时高分辨率帧内容修改以在广播源同步地产生来自相同输入视频流的多个不同地定制的视频的现有技术的解决方案。本发明试图满足这种需求,并且代表了用于视频流编辑应用的计算机功能的显著改进。

发明内容

根据本发明的一些实施方式的一方面,提供了一种使用包括GPU的计算机实时地修改高分辨率视频数据的方法。所述方法涉及:由所述计算机接收视频数据流;提取所述视频数据流的帧的个体像素的颜色数据,以创建颜色层;将所述颜色层级联成所述帧中的特征的统一颜色图;根据预定义指令从存储的数据汇编像素修改指令;根据所述像素修改指令、输出分辨率要求和期望的文件格式,创建一个或更多个经修改的视频数据流集,同时原始源保持原封不动;以及使经修改的视频数据能够供一个或更多个预期接收者访问。

根据一些实施方式,所述视频数据采用由任何源提供的并采用任何本机格式的视频流的形式,所述任何源包括数字摄像装置、记录的视频文件、通过互联网获得的流传输视频文件以及直接从空中(off-the-air)获得的商业视频节目。

根据一些实施方式,如果需要,则将所接收的视频数据流从其本机格式解码成由所述计算机采用的内部处理格式。

根据一些实施方式,所述像素修改指令包括对原始数据的颜色的修改。根据一些实施方式,所述像素修改指令包括将与原始图形数据合成的附加图形数据。

根据一些实施方式,所述附加图形数据可以是来自任何源并且采用任何本机格式的视频数据,如果需要,所述附加图形数据已从其本机格式解码成由执行所述方法的所述计算机采用的内部处理格式。根据一些实施方式,附加图形数据可以包括图像、将由所述计算机的所述GPU渲染的3D模型的定义以及文本的定义。

根据一些实施方式,被发送到所述GPU的所述像素修改指令包括用于添加(合成)图形要素的指令。根据一些实施方式,所述像素修改指令包括在处理所述视频流之前创建并在处理期间读取的情节串连图板脚本,和/或在处理期间从人类用户发送到所述系统的命令。根据一些实施方式,所述像素修改指令由执行所述方法的所述计算机外部的计算机算法自动生成。

根据一些实施方式,作为颜色层的帧的一部分或整个帧被从所述GPU传送到所述计算机的CPU,以通过所述外部计算机程序进行处理,其中,所述外部程序是计算机视觉算法和商业智能算法中的一种。根据一些实施方式,将被传送到所述CPU以由所述外部计算机程序进行后续处理的所述颜色层在传送之前经历由所述GPU进行的特定处理,以使所述颜色层准备用于外部逻辑应用。

根据本发明的一些实施方式,所述方法还涉及:通过访问后续视频帧来执行自校准例程,以降低针对检测所述视频数据的不相关变化的灵敏度。

根据一些实施方式,外部处理的结果用于自动生成像素修改指令。根据一些实施方式,基于各个经修改的视频流的各个预期接收者的存储的数据,将包括附加图形要素的用于所述颜色层的像素修改指令发送到所述GPU。

根据一些实施方式,用于所述颜色层的像素修改指令包括由外部系统针对各个经修改的视频流的各个预期接收者提供的数据。根据一些实施方式,通过以下方式来创建所述一个或更多个经修改的视频数据流:将原始地分割的颜色层和所添加的图形分量合并成具有一致的分辨率的一系列单层颜色帧,每离散指令集一个单层颜色帧;根据预期接收者的要求,按一个或更多个分辨率对各个单层颜色帧进行渲染,以创建最终帧;按照分辨率将各个最终帧编码为一个或更多个编解码器,以创建视频分量;以及按照视频分量将视频分量和音频分量复用到一个或更多个不同的容器文件(container file)中。

根据本发明的一方面,即使针对高清晰度视频数据流,也能够在不向经修改的输出流引入可见延迟的情况下修改各个帧,多个不同地修改的视频数据流是同时创建的并且对于多个用户可用,并且基于相同原始视频数据流的所有创建的经修改的视频数据流关于原始视频的时间线同步。

根据一些实施方式,流入视频数据流的特征在于低于高清晰度,并且所有处理步骤由计算机的CPU和有效存储器(active memory)执行而不利用GPU。

根据本发明的一些实施方式的一方面,提供了一种计算机系统,所述计算机系统具有一个或更多个中央处理单元、一个或更多个图形处理单元、一个或更多个网络或其它通信接口单元、包括大容量存储能力的共享存储器,所述共享存储器中安装有用于执行上述方法的程序。根据一些实施方式,所述图形处理功能由以并行处理模式工作的GPU或CPU执行。

根据本发明的一些实施方式的另一方面,提供了一种计算机可读介质,所述计算机可读介质包含在工作时用于执行上述方法的计算机程序。

附图说明

下面参照附图仅通过示例的方式来描述本发明的一些实施方式。然而,将认识到,所示的详细说明仅仅是示例性的,并且出于本发明的实施方式的例示性讨论的目的。在这方面,结合附图的描述使得本领域技术人员清楚如何实施本发明的实施方式。

在附图中:

图1是根据本发明的一些实施方式的提供本发明的功能的计算机系统的框图;

图2是根据本发明的一些实施方式的图1所示系统的内部处理工作流程图;

图3是根据本发明的一些实施方式的视图创建的同步的流程图。

具体实施方式

介绍性概述:

在本发明的一些实施方式中,本发明涉及对高清晰度视频数据的处理,并且更具体地但非排他地,涉及如下装置和方法,所述装置和方法用于通过从高分辨率帧提取颜色映射信息并按所提取的颜色图的级别执行帧修改来在逐帧的基础上修改一个或更多个高清晰度视频数据流以向其添加内容,从而同时创建来自相同的原始视频流源的多个不同的同步线性视图,同时保持所述源原封不动以供将来使用。本发明还涉及包含用于实现本发明的其它方面的软件的非易失性机器可读介质。

本发明具有各种应用,但是将在用于在逐帧的基础上实时地(即,在个体帧的呈现持续时间内)将附加内容(例如,目标广告)添加到高清晰度视频数据流的系统和方法的特定上下文中通过示例的方式描述本发明。

根据本发明的方法还可以用于在不需要如上规定的高清晰度的情况下,在逐帧的基础上改进地实时修改视频数据。

最简单地说,本发明使用应用软件程序来基于特征分割修改个体帧内的视频数据流中的个体像素。根据本发明的一方面,分割所基于的特征是像素颜色。根据一些实施方式,在常规微处理器控制的计算机的编程和CPU的控制下由GPU执行分割。

更具体地,本发明解决了如下问题:处理分辨率越来越高的图像需要计算能力的指数提高,因此不可能单独在CPU上对UHD帧实时地执行所述图形修改,使得利用不同添加图形要素基于相同源同时创建多个不同的同步视图。但是可以对HD帧实时地执行图形修改,即使这需要在大多数计算机中通常不存在的非常强大的CPU。

根据本发明的一方面,同时进行不同的修改以创建多个不同视图。根据本发明的一些实施方式,可以立即向不同观看者广播不同的经修改的视频视图。根据本发明的一些实施方式,可以将不同的经修改的视频视图保存为文件。根据本发明的一方面,原始视频源数据保持原封不动并且可以被重新使用。

根据本发明的一方面,提供了一种用于通用计算机的编程模型,其显著改进了视频流的实时处理和根据可选择准则的视频流的逐帧修改的功能。

根据一些实施方式,准则包括经修改的视频流的预期接收者的身份。

根据一些实施方式,对视频数据的修改包括目标广告。这样的目标广告可以基于收集的关于接收者的人口统计信息和/或从计算机可读介质或存储在主计算机中的信息获得。

根据一些实施方式,修改指令可以从本领域公知的“情节串连图板脚本”获得,即,在处理之前编写并在处理期间读取的程序,并且命令包括添加的图形内容的定义。

根据一些实施方式,作为系统的初始配置的一部分或者在处理和广播期间实时地由人类用户确定广告的内容。

根据其它实施方式,添加的内容可以由外部系统或组织来确定,该外部系统或组织通过处理关于预期接收者的可用数据来做出这种确定。广告的内容还可以由非人类、商业智能和人工智能系统来确定,这些系统分析可用的接收者数据并基于其算法作出决策。

根据一些实施方式,编程操作计算机来实时地自动创建高分辨率视频流的基于颜色的分割,由此可以根据一个或更多个预定准则来修改视频流,以在实时视频流的时间帧限制内,按基于颜色的分段的级别向各个帧添加期望的修改。

根据一些实施方式,程序包括多个帧修改定义、实现上述修改的数学函数的列表、用于优化数学函数的规则和用于应用数学函数来汇编相应帧修改的规则。用于数学函数的汇编的规则被配置成以级联方式将所有相关数学函数汇编成单个复合过程。

如本文所用,“级联方式成单个复合过程”意味着数学函数被设置以使得连续函数的输入是其相应前任的输出,因此数学函数的汇编变成单个计算,所述单个计算容易由GPU执行的共同例程优化,这与一个接一个地应用的离散函数的列表相反。

根据本发明的另一方面,提供了一种非易失性机器可读介质,其包含编程指令,所述编程指令用于操作计算机以实时修改视频数据流,从而在逐帧的基础上将所选择的内容插入该视频数据流中。根据一些实施方式,编程指令实现上述图像处理功能。

根据本发明的另一方面,提供了一种实时修改视频数据流以在逐帧的基础上向该视频数据流添加所选择的内容的方法。根据一些实施方式,该方法实现上述图像处理功能。

根据本发明的又一方面,提供了一种将基于相同源的不同视图的创建同步以使得尽管视图在文件格式、分辨率和/或图形修改方面不同,但所述视图在关于原始源的时间线上没有不同的方法。

例示性实施方式的描述:

参照图1,示出了用于实现本发明的一些实施方式的优选系统(通常由10表示)的框图。该系统包括用于一个或更多个高分辨率(HD或更高)视频文件的一个或更多个输入源12、通常由14表示的微处理器控制的计算机系统以及通常由16表示的输出接口。输入源12可以是数字摄像装置、记录的视频文件、通过互联网获得的流传输视频文件或者直接从空中获得的商业视频节目。

计算机系统14可以具有常规架构并且由常规部件组成,但是根据本发明对其进行编程,以提供一种技术方案,该技术方案产生了通过先前已知的方法和系统无法实现的本文所描述的增强功能。

本发明的一个特别有利的应用是实时处理HD或更高分辨率的视频文件,以在该视频文件的一系列帧中嵌入附加信息(例如,广告消息),该附加信息可以专门针对共享共同兴趣(interest)或其它特征的个体接收者或接收者组。因此,输出接口16提供多个同步的目标输出视频流,作为示例,由l6a-l6d示出的四个同步的目标输出视频流。

在结构上,计算机系统14可以具有适用于高速视频处理的任何类型。在一些示例性实施方式中,这种系统可以包括从源12接收流入视频信号的流入视频输入接口18(诸如,网络接口电路或视频卡)、图形处理单元(GPU)20、中央处理单元(CPU)22、通常将包括大容量存储能力的共享高速存储器24以及提供多个流出视频流l6a,l6b等的流出视频输出接口单元26。

视频流可以从任何已知的或以后开发的源获得,例如,服务器、数字摄像装置、移动手持设备(智能电话)、平板手机、平板电脑、空中电视广播、通过互联网提供的流传输视频或存储在用户个人计算机上的视频节目。

如本领域技术人员将理解的,经修改的输出视频流可以被引导到作为原始视频数据源的上述任何种类的目的地。

图2例示了根据本发明的一些实施方式的诸如图1所示的系统的内部处理流程图。该过程开始于30,例如从上述任何可能的源输入高分辨率(HD)视频数据流(有时称为高清晰度视频文件或摄像装置流)。在32,将视频文件从其本机格式转码为由系统采用的内部处理格式,例如,“原始”视频,或者另选地YUV 420、RGBA 32位。

在34,操作GPU 20以根据颜色将各个图形帧分层为单独的初始层。GPU可选地通过访问后续视频帧来执行自反馈例程,以调整GPU层灵敏度。这有助于消除错误检测(光变化、流质量等)。因此,如果流入视频是来自摄像装置的原始流(与利用颜色校准和平滑进行了后处理的视频相反),则优选地采用该方法。在这样的原始数据流中,可能存在光伪影。多个连续帧的加权平均使得能够消除这种伪影和随后的计算误差。

该程序可以邀请由用户手动地打开/关闭该选项,或者从输入的选择中自动导出(对于现场摄像装置打开,并且对于来自文件的视频关闭)。通过计算当前帧中的颜色和先前帧中的颜色的每像素的加权平均,诸如灰尘斑点的不希望的伪影从视图中消失。

在36,两个过程并行进行。在36a,操作GPU 20以执行像素颜色修改,并且如果外部计算机程序需要,则在36b,GPU创建原始视频流的副本并对副本执行初始预处理并将结果发送到CPU。

本发明的一些实施方式的重要特征是将颜色层数据从GPU 20提供至CPU 22(在36b与40b之间)以使得数据被优化用于分析的方式。

仍参照图2,在38,GPU 20通过从CPU 22产生的指令针对初始颜色层中的一者或更多者对附加图形要素进行渲染;所述指令由CPU根据预定义程序或根据从外部计算机程序接收的数据来创建。添加到个体帧的数据由包含预定义图形分量和用于创建期望的接收者特定视图的用户相关指令的数据库的数据存储源40a提供,或者由将用户智能与图形分量的数据库40b组合的外部计算机程序提供。

在42,编程操作GPU 20以将颜色层合并成合成帧(由原始帧和添加的图形分量(如38中所描述的)组成),合并成具有一致的分辨率的单层颜色帧。关于各层的可选透明度进行合并。将多个图形层合并成一个图形层的动作(也称为“整平”)对于使得能够分层的图形编辑软件(诸如,

然后,在44,GPU 20可以应用附加帧调色板修改来通过修改在42中创建的帧的颜色来创建统一帧。结果,即使图形分量来自不同的源(即,主视频流和合成要素,诸如其它视频流和添加的图形(例如,CGI)),所述图形分量也经历相同的特定修改,并且观察者认为结果似乎来自单个源。

在具有足够强大的CPU和足够有效的存储器的计算机中,代替利用GPU来执行并行视频流处理,程序可以被设计成使得CPU在帧内的所有像素上连续循环地操作。该选项在期望实时视频流处理但是流入视频流具有不足HD分辨率的情况下可能是有用的。

最后,在46,GPU 20关于预期接收者设备分辨率对新视频分量流的多个输出进行渲染。每视频输出多个分辨率流的实践在本领域中是已知的。视频分量流中的各个视频分量流被封装到不同的文件容器(其中三个由46a、46b和46c指示)中,然后这些文件容器可用于预期的接收者48a、48b和48c。

本发明的一些实施方式的重要特征是相同源视频流的不同视图同步可用的方式。下面结合图3描述根据本发明创建的提供视频流(无论是原始的还是预处理的)的实时同步的软件。

图3是例示了根据一些实施方式的本发明的如下实现方式的程序流程图,该实现方式用于同步视频流创建,使得通过应用不同像素修改从相同源创建的任何数量的视频流将同时显示相同的基帧,而不管所执行的修改或处理开始时间。在考虑下面的描述时,将理解,在不脱离本发明的概念的情况下,规定程序的代码可以有很大的变化,并且这种代码的许多变化对于本领域技术人员来说将是显而易见的。

现在具体转向图3,在60,从诸如上述的输入设备接收高分辨率视频数据,并将该高分辨率视频数据解复用成视频分量和音频分量。将理解,可以并行地对多个视频流进行解复用。

在70和80,两个过程并行进行。在70,GPU 20接收视频分量流,使得GPU内部存储器和处理能力的一部分专用于将离散指令集应用于视频分量(由20a、20b和20c指示这种部分中的三个部分)。将理解,当多个专用部分被配置为处理相同的输入源时,则图形帧数据同时对其每一个或所有可用。

在80,一个或多个音频分量流被传递通过将多个音频分量流组合成一个音频分量流的音频滤波器。将理解,当仅传递单个音频分量流时,该单个音频分量流被传递而不被组合。

在90,视频流分量从其编解码器解码成原始格式,并且在100作为新的纹理(即,从各个视频帧获得的颜色数据层)传递,以应用各种像素修改(包括添加图形分量)。虽然本发明的优选实施方式利用GPU 20来执行解码,但是本领域技术人员可以理解,解码也可以由CPU 22来完成。

在110,按一个或更多个分辨率对最终帧进行渲染,并且在120通过分辨率对各个帧进行编码。虽然本发明的优选实施方式利用GPU 20来执行编码,但是本领域技术人员可以理解,编码也可以由CPU 22来完成。

最后,在130,视频流和音频流被解复用到一个或更多个文件容器(其中三个由140a、140b和140c指示)中,使得各个文件容器包含音频流和视频流,其根据与该输出相关的系统的初始配置而被修改。将理解,当在文件格式、分辨率和/或像素修改方面不同的多个输出基于相同的源输入时,那么输出被同步。

根据本发明,以独特的方式使用这些技术能力来实现实时(即,没有明显延迟)地同步创建多个经修改的HD视频文件的增强功能。

一般解释意见:

除非另外规定,否则本文使用的所有技术和/或科学术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。

将理解,本发明在其应用中不必限于在以上描述中阐述和/或在附图中例示的部件和/或方法的结构和布置的细节。本发明能够具有其它实施方式或能够以各种方式实施或执行。

用语“包含(comprises)”、“包含(comprising)”、“包括(includes)”、“包括(including)”、“具有”及其词形变化意思是“包括但不限于”。用语“由……组成”意思是“包括并限于”。

用语“基本上由……组成”意思是组合物、方法或结构可以包括附加成分、步骤和/或部分,但只有当附加成分、步骤和/或部分不实质上改变所要求保护的组合物、方法或结构的基本特征和新颖特征时。

如本文所用,单数形式“一”、“一个”和“该”包括复数指代,除非上下文另外清楚地指示。

所描述的方法和所需的编程可以在任何计算机上执行,该计算机包括用于执行程序的合适的中央处理单元(CPU),以及在那些实施方式中的用于(对于高分辨率视频流)执行复杂帧处理的GPU,用于获取高分辨率输入视频流的装置,以及用于保存预定义特征集合的有效存储器和大容量存储装置。

本发明的实施方式的方法和/或系统的实现方式可以涉及执行或完成一些任务(诸如手动地、自动地或其组合地选择预期接收者)。此外,根据本发明的方法和/或系统的实施方式的实际仪器和设备,可以使用操作系统通过硬件、通过软件或通过固件或通过其组合来实现多个所选择的任务。

例如,用于根据本发明的实施方式执行所选择的任务的硬件可以在本文所述的适当编程的通用计算机上实现,或者实现为一个或更多个专用芯片或电路(即,一个或更多个ASIC)。

尽管已经结合本发明的特定实施方式描述了本发明,但是显然许多替换和/或修改和变化对于本领域技术人员来说将是显而易见的。因此,本发明旨在包括落入所附权利要求的精神和宽范围内的所有这些替换、修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号