首页> 中国专利> 用于动态分析、修改和分发数字图像和视频的方法与系统

用于动态分析、修改和分发数字图像和视频的方法与系统

摘要

本发明公开了一种用于以快速、有效、实用和/或有成本效益的方式分析、修改和分发数字图像和视频的新方法。处理视频的方法可以采用一个不同的区域或对象,将具有识别出的区域或对象的特征及特性的场景的帧中的像素,替换上另一组像素。帧和场景的替换或其他定制能产生出人眼或其他视觉系统无法区分的,自然地融合的视频或图像。在一个实施例,本发明可以用于向不同的观看者提供不同的广告元素到一个图像或一组图像中,或者使观看者能够控制视频中的元素并添加他们自己的偏好或其他元素。

著录项

  • 公开/公告号CN113302926A

    专利类型发明专利

  • 公开/公告日2021-08-24

    原文格式PDF

  • 申请/专利权人 潘杜多公司;

    申请/专利号CN201980072791.X

  • 申请日2019-09-04

  • 分类号H04N19/142(20140101);G06T15/00(20110101);G06T15/10(20060101);G06T15/20(20110101);G06T15/30(20110101);G06T15/50(20110101);

  • 代理机构11130 北京华科联合专利事务所(普通合伙);

  • 代理人王为

  • 地址 美国南卡罗来纳州列克星敦开瑞志湖道508号

  • 入库时间 2023-06-19 12:19:35

说明书

背景技术

在典型的视频中,人眼能通过多种方法识别某些场景、区域、对象和特征。以自动化方式识别和追踪这些相同的场景、区域、对象和特征比较困难,因为需要观察、识别和追踪多个不同特性。但是,通过识别场景、区域或对象以及该特定场景、区域或对象的所有相关特性,便可以使用一个不同的区域或对象,将具有识别出的区域或对象的全部特征及特性的所有场景的所有帧中的实际像素,替换上看起来像它们属于原始帧和场景的另一组像素,以致人眼或其他视觉系统无法区分它们。例如,这可以用于为不同的观看者提供不同的广告元素到一个图像或一组图像中,或者使观看者能够控制视频中的元素并添加自己的偏好或其他元素。

发明内容

在一个实施例中,本发明的视频处理方法的特征在于:

(i)识别所述视频的每一帧中的一个或多个元素;

(ii)通过将每一帧中的元素与前一帧和后一帧中的元素进行比较,识别所述视频的一个或多个场景,其中具有大于阈值数的共同元素的帧将被视为在同一场景;

(iii)获得每一帧中的每个元素的一个或多个相关特性;

(iv)基于一个或多个先前帧和一个或多个后续帧中的相关特性,在每个帧中生成3D环境的映射;和

(v)基于所述映射修改所述视频中的一个或多个场景。

在一个实施例,本发明公开的方法的特征还在于,步骤(i)中的元素是所述视频的场景中的对象或选定区域,步骤(i)中的一个或多个元素通过与存储在对象数据库中的特性作比较而识别出;其中,所述元素由存储在检测算法数据库中的检测算法自动检测,或由用户输入选择。

在一个实施例,在本发明中公开的方法进一步包括步骤(ii),其中两个或更多所述场景通过每个所述场景中的元素相关联,并存储在场景数据库中。

在一个实施例,步骤(iii)中的相关特性包括但不限于位置、尺寸、反射、光照、阴影、翘曲、旋转、模糊和遮挡。

在一个实施例,步骤(v)包括通过去除一个或多个元素并应用步骤(iv)中生成的映射,对一个或多个场景内的每一帧中的一个或多个去除了的元素求平均,以修改一个或多个场景。

在一个实施例,步骤(v)包括通过将所需元素翘曲并将步骤(iv)中生成的映射应用于一个或多个场景中的每一帧中的所需元素上,以修改所述一个或多个场景。

在一个实施例,本发明公开的方法还包括通过流式传输或下载,以传递步骤(v)中经修改后的视频。

在一个实施例,本发明提供了一种用于以快速、有效、实用和/或有成本效益的方式分析、修改和分发数字图像或视频的方法。在一个实施例,本发明将视频分成场景和帧,可以将它们分开和并行地进行预处理,然后通过在识别出的对象、区域、帧、场景及其相关的元数据之间建立关系而将其相互关联。在另一个实施例,所述系统和方法被配置成能够在视频中识别场景并将它们相关联。作为另一实施例,采用对象、区域或者对象或区域的一部分以及它们的一些特征,例如光照、阴影和/或遮挡来为每个像素计算一组算法,并可将其应用于以定制方式快速地进行更换或去除。在另一个实施例,使用元素识别算法来识别每个帧内的元素,并确定它们如何相互关联。用于识别对象、区域或其他元素的算法包括但不限于DRIFT、KAZE、SIFT(尺度不变特征转换)、SURF(加速稳健特征)、haar分类器和FLANN(快速近似最近邻搜索库)。在进一步的实施例,被确定为属于同一场景的不同帧中的对象和区域将被存储在场景数据库中,并可进一步用于后续的识别。场景数据库可以指定场景如何相互关联,并存储每个场景中的所有信息。在另一个实施例,场景处理服务器用于将场景智能地传递到场景工作节点,在其中可以将场景按组进行处理以快速处理。在一些实施例,在整体帧中确定的特性可以用于创建不同类型的映射并生成整体对象映射。以便在原始视频中高速检测对象并快速替换定制视频,可以创建一个标识数据库来存储所有信息。在一些实施例,如上所述的识别数据库被进一步分类为“子集”,其允许针对多个节点快速处理包含数百万个对象的单帧,为了以接近标准缓冲和回放速度回放定制的视频。本发明的另一方面涉及用于收集和训练图像数据集的算法,并可用于场景预处理、帧预处理以及替换或去除阶段。该算法包括但不限于PICO、haar分类器和监督学习。本发明的另一方面涉及创建由所有对象、区域、光源、阴影、遮挡的对象和上下文组成的每个帧的3d空间映射。本发明的另一方面允许用户选择要替换或去除的对象或区域。本发明的另一方面涉及在n个帧中进行高速、分布式的对象或区域替换,由此交替过程可以接近实时。本发明的另一方面允许在预下载视频时插入替换项目,当不需要定制插入但要求低服务器负载和成本时,这是优选的。对于另一实施例,视频可以被分割成1+可替换元素数量个部分,由此视频可以保留n个非定制部分并且仅需要对定制部分进行编码。

附图说明

在以下的详细描述和附图中,公开了本发明的各种实施例。

图1是一个流程图,示出了一种可将本发明使用于识别场景、对象和区域的方式,以便随后在找到某些对象和区域的所有场景中替换该对象和区域。

图2示出了如何对场景进行预处理,以及如何基于相似特性,将多个场景相关联。

图3示出了用于快速替换视频中的元素的分布式计算架构,以便对视频进行缓冲、流式传输、编码或其任何组合。

图4示出了视频帧中元素的替换。

图5示出了视频帧中元素的去除。

图6示出了一个像素替换映射,其与一个场景或一组场景中找到的每个对象或区域相关联。

具体实施方式

本发明可以通过多种方式来实现,包括一个过程;仪器;系统;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,例如配置为执行存储在存储器上或被存储器提供的指令的处理器,该存储器耦合到该处理器上。在本说明书中,这些实施方式,或本发明可以采用的任何其他形式,可以被称为技术。一般来说,在本发明的范围内,所公开的过程的步骤顺序可被改变。除非另有说明,否则被描述成配置为执行任务的组件,如处理器或存储器,可被实现为在给定时间执行任务而临时配置的通用组件,或为执行该任务而制造的特定组件。如本文中所使用,术语“处理器”是指被配置为处理如计算机程序指令的数据的一个或多个设备、电路和/或处理器核心。

以下提供了对本发明的一个或多个实施例的详细描述以及示出本发明原理的附图。本发明透过结合这些实施例而被描述,但本发明并不限于任何实施例。本发明的范围仅由权利要求书限制,且本发明涵盖了许多替代、修改和等同物。在以下描述中阐述了许多具体细节,以提供对本发明的深入“理解”。提供这些细节是出于示例目的,本发明可以根据权利要求来实践,而无需这些特定细节中的一些或全部。为了清楚起见,与本发明相关的技术领域中已知的技术材料没有被详细描述,以免不必要地使本发明晦涩难懂。

本发明涉及一种系统和方法,其中,一个视频可被分解成可能彼此相关的场景,以及跨单个或多个场景存在的对象和区域。通过这样做,本发明允许用户“理解”视频的上下文,或者通过使用被识别的对象和区域以及与对象或区域或场景本身关联的其他类型的元数据,对被识别的视频场景和帧进行预处理,以快速、有效、现实和/或廉价地定制视频。然后,这些元素可以被替换、更改或去除。

在本发明的一些实施例中,描述了一种用于识别和追踪视频中的场景、对象或区域的全部或一部分的系统和方法。在一些实施例,该方法被配置为识别在视频中相互关联的场景。在一些实施例,在每个相关场景中,对象或对象的一部分或区域或区域的一部分与例如光照、阴影、遮挡的相关特性一起被识别,并且被用于为每个对象或区域的每个像素计算一组算法,该算法可用于快速替换每个对象或区域中的所有像素及其相关特性。在一些实施例,该方法用于允许用户或机器使用徽标、对象或替换图像替换视频中每个场景中被识别的对象或区域,从而使最终的徽标、对象或替换图像看起来像是一直都在那里。在一些实施例,该方法用于允许用户或机器去除对象或区域,使其看起来像是一直都没有出现过。在一些实施例,该方法用于为每个帧重建3d空间映射。

图1显示了一个流程图,说明了一个用于捕获场景、对象、区域以及与视频相关的其他相关元数据,并使用该信息生成对象和区域映射,随后再定制和分发视频的系统。参照图1,系统先分析了原始视频,其包含了在视频的原始拍摄期间捕获的自然发生元素。在本发明的一个实施例,场景和帧可以并行地分析。当场景及帧都被分析了,且所有信息已进行了预处理,本发明就可以提供围绕视频上下文的元数据,并可以向用户或其他计算机程序提供最佳的建议替换区。当选择了替换区进行替换或去除或更改后,对象或区域就可以根据预处理信息快速更改,并且可以通过单独更改的帧发送到不同的处理机制进行缓冲或流式传输,或者可以排入列队直到所有定制的帧均已完成处理并发送到如编码的不同处理机制。

在本发明的一些实施例,描述了一种用于分析和使场景相关联的系统和方法。场景是被归类为在视频中以某种方式相关的一个或多个帧。视频中的帧在场景预处理阶段中被分析,其中元素识别算法用于识别视频每个帧中的元素,以确定哪些帧相互关联。该算法识别对象、相似像素的区域、连续动作的序列、光照、地点以及其他可以在帧与帧之间进行比较的元素。例如,一场汽车追逐序列可以通过在连续的帧中识别两辆汽车以及每辆汽车的特性(颜色、类型、品牌)、每辆汽车的驾驶员、汽车行驶的周围位置以及其他可识别元素来识别,并为每个可识别的对象、区域或特性分配权重,以便将其与上一个或下一个帧进行比较。在一个不同的示例中,可以通过识别家具和每种家具的相关特性(例如颜色、类型、品牌、划痕)以及其他元素(例如墙上的艺术品、地毯、门等)来自动检测卧室位置。这些对象或区域可以通过各种算法来识别,包括但不限于DRIFT、KAZE、SIFT(尺度不变特征转换)、SURF(加速稳健特征)、haar分类器和FLANN(快速近似最近邻搜索库)。当两个连续帧或两组帧之间识别出的共同元素数量减少到阈值数以下时,则可当作是场景已更改。在正常的场景序列更改中,共同元素的数量将从一个场景中的大数量减少到下一个场景的零。当从一个场景淡入另一个场景,或者场景逐渐变化时,则可以使用多组帧来确定从一帧到另一帧的过渡点。例如,在一个场景开始逐渐淡入另一个场景的情况下,元素识别算法开始在连续的帧中识别较少的共同元素,并在下一个场景的一组新的帧中识别更多的共同元素。场景之间的过渡点可以通过多种方式确定,包括淡入淡出过渡的中点,这由第一个场景的最后一个可以识别到最多共同元素的帧与第二个场景的第一个可以识别到最多共同元素的帧之间的帧数确定。对于场景中的不同元素,从一个场景到另一个场景的渐变过渡点还可以根据该元素首次淡入或淡出的时间而作出不同的定义。

一旦前一帧或后一帧中的对象和区域的比较确定了当前的帧属于不同场景,就可以将前一场景及其所有特性存储在数据库中,如图2所示。通过与已经存储了数据的其他非顺序场景进行比较,这资料可以透过场景相关联,以用于在稍后时间识别具有相同特性的相关场景。例如,可能发现了场景1与场景2不相关,但是基于确定场景1和场景2不相关的同类型比较,以及场景1中的帧有相关的缘故,可能发现场景1与场景3相关。通过这样做,即使场景的元素不同,也可以确定视频中的所有相关场景。例如,如果在一系列场景中识别了两辆汽车,但是其余元素发生了变化,就如在汽车追逐中,那么通过两架具有相同驾驶员的快速行驶的汽车的存在,这些场景将以不同的方式相关联。通过这种场景相关联开发一个场景数据库,以指定场景如何相互关联,以及存储有关每个场景中识别的每个对象或区域的所有信息。

如图3所示,场景处理服务器用于将场景智能地传递到场景工作节点。这些场景可以通过连续的分组进行处理,令每个场景都可以发送到特定分组的节点以进行快速处理,因为算法是需要n个前一组和m个下一组帧数据以进行计算。

在本发明的一些实施例中,描述了一种用于分析视频中的帧的系统和方法。透过帧预处理阶段对视频中的各个帧进行分析,以通过与包括先前已训练的对象、区域、地点、动作和其他表现形式的数据库进行比较,并通过检查类似的相邻像素来寻找连续的空间区域,来自动识别所有对象和区域。如图4所示,分析方法通过识别/“理解”并分析视频中的对象和区域,并在取决于特定的确定因素下将它们与统计上合适的位置进行比较,从而对现有方法进行了改进。以此方式,本发明可以对用户想要放置、替换或去除的特定项目提高良好匹配的机会。

如图4和5所示,在识别后,可以确定整个帧中每个对象或区域的相关特性,例如光照、阴影、翘曲、旋转、模糊和遮挡。例如,如果在帧中识别到一个瓶子,可以检测周围的像素以确定阴影或反射有否被投下,并且可以使用此信息来帮助确定光源。在另一个示例中,如果在帧中识别到一个瓶子,并且有一个物体遮挡了瓶子的一部分,则可以计算整个瓶子的尺寸和位置,并且可以使用此信息来计算帧的哪一部分在遮挡物体不存在的情况下会被瓶子占据。在此示例中,本发明还可以检测遮挡物体上的像素,以确定阴影或反射有否被投下,该信息还可以用于帮助确定例如光源和变形之类的事物。在第三个例子中,如果本发明确定了整个帧代表一场在场上有两名球员的足球比赛,而一名球员的手中具有一部分或大部分被遮挡的物体,则该球员极有可能手持着足球,然后本发明可以计算出球的哪个部分显露了出来以及例如阴影和变形之类的其他特性,从而该信息以后可以用于改变、替换或去除某对象。一旦建立了对象或区域及其相关特性之间的关系,组成最终整体区域的每个像素便可以用于计算某些值,例如颜色、光度和色相。这可用于创建不同类型的映射,然后可将其与对象或区域相关联,从而生成整体对象映射。通过将所有这些信息存储在标识数据库中,可以稍后再取出并更快地“理解”场景中的所有对象和区域,而且此信息可以使用于快速替换部分或整个对象或区域,因为已预先计算了替换区域中每个独立像素的调整,并只需要一个简单的算法来创建差异映射。最终结果是完美地融合、更改、替换或去除的对象或区域在回放时自然地融入于场景中。

标识数据库是一组用于识别特定对象、区域、动作(例如参与足球比赛)、地点(例如城市)或环境(例如海滩)的数据集。系统使用多种方法来收集此数据,以进行比较及随后识别特定对象、区域、动作、地点和环境。标识数据库分为多个特定子类别的对象分组,其具有与它们相关联的标签以进行识别。将数据库或“数据集”简化为特定的数据集后,所述方法可以非常快速地(少于创建或渲染一帧的时间)在特定的识别工作节点上搜索n个数据集。这允许本发明针对n个各有它们自己的数据集的节点处理单帧,令本发明可以在处理单帧所花费的时间内处理数百万个对象,从而可以在接近标准视频缓冲和回放的速度来回放视频。

本发明的另一方面涉及一种用于收集和训练特定对象的图像数据集的工具,其可以在预处理阶段以及替换或去除阶段中用作识别用途。通过使用图像分析和训练算法,例如但不限于PICO、haar分类器和监督学习,该工具可以通过搜索所需图像的关键标签,快速收集并在必要时裁剪来自本地存储的图像集或互联网的图像数据。收集并裁剪后,图像数据转换为已训练的元数据文件,可将其放置到服务器节点上,并在以后用于在每个线程/节点/服务器的基础上,识别特定项目或项目分组。在另一个实施例,该收集和训练过程可以在本地计算机上完成,或者可以拆分给联网的服务器以进行更快的训练。该工具允许针对多个数据集进行测试,以确保训练后的数据集是能够正常运作之后,才把其存储在标识数据库中并部署到服务器上。

本发明的另一方面是在视频中采用项目的高速检测。该过程使用来自标识数据库的方法,通过识别关于视频的信息来帮助系统,该信息有助识别观看者的兴趣。例如,该过程可以用于检测人脸、徽标、特定文字、色情图像、暴力场景、成人内容等。作为另一个示例,可以通过替换、去除或其他修改来进一步定制所识别的元素。使用该用户兴趣元数据并结合于定义用户兴趣的其他信息集,如图6所示,本发明可以更具体地针对对象的替换,并选择特定观看者更感兴趣的对象,提高对观看者的关联度。

本发明的另一方面涉及创建每个帧的3d空间映射,其包括已被识别的所有对象、区域、光源、阴影和被遮挡的对象,以及每个帧的上下文。由于本发明能够识别对象、区域、地点、环境和其他完整地“理解”3d场景所需的重要数据,例如阴影、光照和遮挡,因此本发明可以通过使用此类数据重建3d环境的全部或一部分。

本发明的另一方面允许用户选择替换区,以在视频中找出他们认为有位置需要替换的特定帧。该算法在所有相关场景以及先前和后续帧中进行搜索,以替换视频的整个区域。用户可以选择希望保留替换区的一个区域,也可以选择单个点,并允许系统根据用户的输入健议来检测替换区的范围。

本发明的另一方面涉及在n个帧中的高速、分布式对象或区域替换。一旦标识了对象或区域以进行替换、更改或去除,并且生成了对象映射(可以在也可以不在完成整个视频预处理之前进行),系统便可以识别n个更改工作节点,其可以在每个单帧上工作,该帧中的对象已被识别为存在并可以替换、更改或去除,并且每个节点可以为该特定对象或区域或一组重叠的对象或区域进行处理。这样,m个对象或区域的更改过程可以接近实时。

参照图1,被标记为“传递方法”的本发明的另一方面,允许选择在预下载视频时插入替换项目,而不是动态替换、构建、传递和重建视频。在不需要定制插入的情况下,此选项是优选的,并且能减少服务器负载和成本。在一个不同的实施例中,视频可以被分割成1+可替换元素数量个部分。这样,可能无需重新编码整个视频,可以保留n个非定制的部分,而只需要对定制的部分进行编码。在一个不同的实施例中,原始视频可以完全被保留,且所有定制对象或区域可以在除了定制对象或区域之外完全透明的另外一组帧中被定制。然后,可以将这另外一组帧合成到原始的一组帧上,或者作为另外一组帧或另外一个视频发送,其可以与原始、非定制的视频同时被可同步播放多个视频流的视频播放器重播。

在一个实施例,本发明的视频处理方法的特征在于:

(i)识别所述视频的每一帧中的一个或多个元素;

(ii)通过将每一帧中的元素与前一帧和后一帧中的元素进行比较,识别所述视频的一个或多个场景,其中具有大于阈值数的共同元素的帧将被视为在同一场景;

(iii)获得每一帧中的每个元素的一个或多个相关特性;

(iv)基于一个或多个先前帧和一个或多个后续帧中的相关特性,在每个帧中生成3D环境的映射;

(v)基于所述映射修改所述视频中的一个或多个场景。

在一个实施例,本发明公开的方法的特征还在于,步骤(i)中的元素可以是所述视频的场景中的对象或选定区域,步骤(i)中的一个或多个元素通过与存储在对象数据库中的特性作比较而识别出,而且所述元素可以由存储在检测算法数据库中的检测算法自动检测,或由用户输入选择。

在一个实施例,在本发明中公开的方法进一步包括步骤(ii),其中两个或更多所述场景通过每个所述场景中的元素相关联,并存储在场景数据库中。

在一个实施例,步骤(iii)中的相关特性包括但不限于位置、尺寸、反射、光照、阴影、翘曲、旋转、模糊和遮挡。

在一个实施例,步骤(v)包括通过去除一个或多个元素并应用步骤(iv)中生成的映射,对一个或多个场景内的每一帧中的一个或多个去除了的元素求平均,以修改一个或多个场景。

在一个实施例,步骤(v)包括通过将所需元素翘曲并将步骤(iv)中生成的映射应用于一个或多个场景中的每一帧中的所需元素上,以修改所述一个或多个场景。

在一个实施例,本发明公开的方法还包括通过流式传输或下载,以传递步骤(v)中经修改后的视频。

在一个实施例,本发明中用于处理视频的计算机实现系统的特征可以但非必需在于,它包括了以下步骤:

(i)识别所述视频的每一帧中的一个或多个元素;

(ii)通过将每一帧中的元素与前一帧和后一帧中的元素进行比较,识别所述视频的一个或多个场景,其中具有大于阈值数的共同元素的帧将被视为在同一场景;

(iii)获得每一帧中的每个元素的一个或多个相关特性;

(iv)基于一个或多个先前帧和一个或多个后续帧中的相关特性,在每个帧中生成3D环境的映射;和

(v)基于所述映射修改所述视频中的一个或多个场景。

在一个实施例,本发明公开的计算机实现系统的特征还在于,步骤(i)中的元素可以是所述视频的场景中的对象或选定区域,步骤(i)中的一个或多个元素可以通过与存储在对象数据库中的特性作比较而识别出;其中,所述元素可以由存储在检测算法数据库中的检测算法自动检测,或由用户输入选择。

在一个实施例,在本发明中公开的方法进一步包括步骤(ii),其中两个或更多所述场景通过每个所述场景中的元素相关联,并存储在场景数据库中。

在一个实施例,步骤(iii)中的相关特性包括但不限于位置、尺寸、反射、光照、阴影、翘曲、旋转、模糊和遮挡。

在一个实施例,步骤(v)可以包括通过去除一个或多个元素并应用步骤(iv)中生成的映射,对一个或多个场景内的每一帧中的一个或多个去除了的元素求平均,以修改一个或多个场景。

在一个实施例,步骤(v)可以包括通过将所需元素翘曲并将步骤(iv)中生成的映射应用于一个或多个场景中的每一帧中的所需元素上,以修改所述一个或多个场景。

在一个实施例,本发明公开的计算机实现系统还可以包括通过流式传输或下载,以传递步骤(v)中经修改后的视频。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号