掌桥专利:专业的专利平台
掌桥专利
首页

一种视频剪辑痕迹的比对方法及装置

文献发布时间:2024-04-18 19:58:53


一种视频剪辑痕迹的比对方法及装置

技术领域

本发明涉及视频处理技术领域,具体涉及一种视频剪辑痕迹的比对方法及装置。

背景技术

视频剪辑是指将视频通过切割、合并、重组、二次编码等操作生成新视频的过程;视频剪辑痕迹的比对至少具有以下作用:可以帮助剪辑人员快速定位视频剪辑前后的效果,也可以帮助审查者快速定位送审视频剪辑前后版本的差异。

目前视频剪辑痕迹的比对主要还是依赖人工操作,即由人工将视频版本间的差异进行整理,此种方式费时费力且容易出现纰漏,视频剪辑痕迹的比对效率较低和无法保证视频剪辑痕迹的比对准确度。

发明内容

有鉴于此,本发明实施例提供一种视频剪辑痕迹的比对方法及装置,以解决现有依赖人工整理视频剪辑痕迹的方式存在的视频剪辑痕迹的比对效率较低和无法保证视频剪辑痕迹的比对准确度等问题。

为实现上述目的,本发明实施例提供如下技术方案:

本发明实施例第一方面公开一种视频剪辑痕迹的比对方法,所述方法包括:

将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组,所述第一剪辑片段数组包括组成所述第一视频的多个片段,所述第二剪辑片段数组包括组成所述第二视频的多个片段,所述第一视频为源视频或在所述源视频的基础上剪辑得到的视频;

判断所述第一剪辑片段数组和所述第二剪辑片段数组是否为空集;

若所述第一剪辑片段数组和所述第二剪辑片段数组均不为空集,从所述第一剪辑片段数组中移出首个元素以得到第一目标片段,及从所述第二剪辑片段数组中移出首个元素以得到第二目标片段;

在所述第一目标片段和所述第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,将所述第一目标片段和所述第二目标片段分别推送至所述第一视频对应的第一结果数组和所述第二视频对应的第二结果数组中,或者,将所述第一目标片段和所述第二目标片段进行时间补齐后分别插入到所述第一剪辑片段数组和所述第二剪辑片段数组的首位;返回执行判断所述第一剪辑片段数组和所述第二剪辑片段数组是否为空集这一步骤;

在所述第一目标片段和所述第二目标片段之间具有相同主视频ID但不存在时间重叠的情况下,当所述第一目标片段在所述第二目标片段结束时开始,将所述第一目标片段的剪辑类型标识修改为删减标识后推送到所述第二结果数组中,及将所述第二目标片段的剪辑类型标识修改为删减标识后推送到所述第一结果数组中,返回执行判断所述第一剪辑片段数组和所述第二剪辑片段数组是否为空集这一步骤;

在所述第一目标片段和所述第二目标片段具有不同的主视频ID的情况下,基于所述第一目标片段和所述第二目标片段更新所述第一剪辑片段数组和所述第二剪辑片段数组的首个元素,返回执行判断所述第一剪辑片段数组和所述第二剪辑片段数组是否为空集这一步骤;

若所述第一剪辑片段数组和所述第二剪辑片段数组均空集,基于所述第一结果数组和第二结果数组中各片段的剪辑类型标识,展示所述第一视频和所述第二视频之间的剪辑痕迹,所述剪辑痕迹至少包括删减、插入和/或替片。

优选的,在所述第一目标片段和所述第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,将所述第一目标片段和所述第二目标片段分别推送至所述第一视频对应的第一结果数组和所述第二视频对应的第二结果数组中,或者,将所述第一目标片段和所述第二目标片段进行时间补齐后分别插入到所述第一剪辑片段数组和所述第二剪辑片段数组的首位,包括:

在所述第一目标片段和所述第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,当所述第一目标片段和所述第二目标片段的起止时间均相同时,将所述第一目标片段推送至所述第一视频对应的第一结果数组中,及将所述第二目标片段推送至所述第二视频对应的第二结果数组中;

当所述第一目标片段在所述第二目标片段之前开始,将所述第一目标片段的第一部分和第二部分插入到所述第一剪辑片段数组的首位;将所述第一目标片段的第一部分补齐给所述第二目标片段,并将补齐后的所述第二目标片段插入到所述第二剪辑片段数组的首位;其中,所述第一目标片段的第一部分对应的时间段为所述第一目标片段的开始时间至所述第二目标片段的开始时间,所述第一目标片段的第二部分对应的时间段为所述第二目标片段的开始时间至所述第一目标片段的结束时间;

当所述第二目标片段在所述第一目标片段之前开始,将所述第二目标片段的第一部分和第二部分插入到所述第二剪辑片段数组的首位;将所述第二目标片段的第一部分补齐给所述第一目标片段,并将补齐后的所述第一目标片段插入到所述第一剪辑片段数组的首位;其中,所述第二目标片段的第一部分对应的时间段为所述第二目标片段的开始时间至所述第一目标片段的开始时间,所述第二目标片段的第二部分对应的时间段为所述第一目标片段的开始时间至所述第二目标片段的结束时间;

当所述第一目标片段在所述第二目标片段之前结束,创建第一新项来对所述第一目标片段进行补齐,并将补齐后的所述第一目标片段插入到所述第一剪辑片段数组的首位,其中,所述第一新项对应的时间段为所述第一目标片段的结束时间至所述第二目标片段的结束时间;

当所述第一目标片段在所述第二目标片段之后结束,创建第二新项来对所述第二目标片段进行补齐,并将补齐后的所述第二目标片段插入到所述第二剪辑片段数组的首位,其中,所述第二新项对应的时间段为所述第二目标片的结束时间至所述第一目标片段的结束时间。

优选的,在所述第一目标片段和所述第二目标片段具有不同的主视频ID的情况下,基于所述第一目标片段和所述第二目标片段更新所述第一剪辑片段数组和所述第二剪辑片段数组的首个元素的过程,包括:

在所述第一目标片段和所述第二目标片段具有不同的主视频ID的情况下,当所述第一目标片段的主视频ID与所述源视频的主视频ID相同时,拷贝所述第二目标片段;将拷贝得到的第二目标片段的剪辑类型标识设置为删减标识后插入到所述第一剪辑片段数组的首位,并将所述第二目标片段的剪辑类型标识修改为插入标识后插入到所述第二剪辑片段数组的首位;

当所述第二目标片段的主视频ID与所述源视频的主视频ID相同时,拷贝所述第一目标片段;将拷贝得到的第一目标片段的剪辑类型标识设置为删减标识后插入到所述第二剪辑片段数组的首位,并将所述第一目标片段的剪辑类型标识修改为替片标识后插入到所述第一剪辑片段数组的首位。

优选的,判断所述第一剪辑片段数组和所述第二剪辑片段数组是否为空集之后,还包括:

若所述第一剪辑片段数组为空集且所述第二剪辑片段数组不为空集,将所述第二剪辑片段数组中剩余的片段的剪辑类型标识修改为插入标识后推送到所述第一视频对应的第一结果数组中,及所述第二剪辑片段数组中剩余的片段推送到所述第二视频对应的第二结果数组中;

若所述第一剪辑片段数组不为空集且所述第二剪辑片段数组为空集,将所述第一剪辑片段数组中剩余的片段的剪辑类型标识修改为删减标识后推送到所述第二结果数组中,及将第一剪辑片段数组中剩余的片段推送到所述第一结果数组中。

优选的,若所述第一剪辑片段数组和所述第二剪辑片段数组均空集,基于所述第一结果数组和第二结果数组中各片段的剪辑类型标识,展示所述第一视频和所述第二视频之间的剪辑痕迹,包括:

若所述第一剪辑片段数组和所述第二剪辑片段数组均空集,基于所述第一结果数组和第二结果数组中各片段的剪辑类型标识,以视频轨道的方式展示所述第一视频和所述第二视频之间的剪辑痕迹。

本发明实施例第二方面公开一种视频剪辑痕迹的比对装置,所述装置包括:

获取单元,用于将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组,所述第一剪辑片段数组包括组成所述第一视频的多个片段,所述第二剪辑片段数组包括组成所述第二视频的多个片段,所述第一视频为源视频或在所述源视频的基础上剪辑得到的视频;

判断单元,用于判断所述第一剪辑片段数组和所述第二剪辑片段数组是否为空集;

移出单元,用于若所述第一剪辑片段数组和所述第二剪辑片段数组均不为空集,从所述第一剪辑片段数组中移出首个元素以得到第一目标片段,及从所述第二剪辑片段数组中移出首个元素以得到第二目标片段;

第一处理单元,用于在所述第一目标片段和所述第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,将所述第一目标片段和所述第二目标片段分别推送至所述第一视频对应的第一结果数组和所述第二视频对应的第二结果数组中,或者,将所述第一目标片段和所述第二目标片段进行时间补齐后分别插入到所述第一剪辑片段数组和所述第二剪辑片段数组的首位;返回执行所述判断单元;

第二处理单元,用于在所述第一目标片段和所述第二目标片段之间具有相同主视频ID但不存在时间重叠的情况下,当所述第一目标片段在所述第二目标片段结束时开始,将所述第一目标片段的剪辑类型标识修改为删减标识后推送到所述第二结果数组中,及将所述第二目标片段的剪辑类型标识修改为删减标识后推送到所述第一结果数组中,返回执行所述判断单元;

第三处理单元,用于在所述第一目标片段和所述第二目标片段具有不同的主视频ID的情况下,基于所述第一目标片段和所述第二目标片段更新所述第一剪辑片段数组和所述第二剪辑片段数组的首个元素,返回执行所述判断单元;

展示单元,用于若所述第一剪辑片段数组和所述第二剪辑片段数组均空集,基于所述第一结果数组和第二结果数组中各片段的剪辑类型标识,展示所述第一视频和所述第二视频之间的剪辑痕迹,所述剪辑痕迹至少包括删减、插入和/或替片。

优选的,所述第一处理单元包括:

推送模块,用于在所述第一目标片段和所述第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,当所述第一目标片段和所述第二目标片段的起止时间均相同时,将所述第一目标片段推送至所述第一视频对应的第一结果数组中,及将所述第二目标片段推送至所述第二视频对应的第二结果数组中;

第一处理模块,用于当所述第一目标片段在所述第二目标片段之前开始,将所述第一目标片段的第一部分和第二部分插入到所述第一剪辑片段数组的首位;将所述第一目标片段的第一部分补齐给所述第二目标片段,并将补齐后的所述第二目标片段插入到所述第二剪辑片段数组的首位;其中,所述第一目标片段的第一部分对应的时间段为所述第一目标片段的开始时间至所述第二目标片段的开始时间,所述第一目标片段的第二部分对应的时间段为所述第二目标片段的开始时间至所述第一目标片段的结束时间;

第二处理模块,用于当所述第二目标片段在所述第一目标片段之前开始,将所述第二目标片段的第一部分和第二部分插入到所述第二剪辑片段数组的首位;将所述第二目标片段的第一部分补齐给所述第一目标片段,并将补齐后的所述第一目标片段插入到所述第一剪辑片段数组的首位;其中,所述第二目标片段的第一部分对应的时间段为所述第二目标片段的开始时间至所述第一目标片段的开始时间,所述第二目标片段的第二部分对应的时间段为所述第一目标片段的开始时间至所述第二目标片段的结束时间;

第三处理模块,用于当所述第一目标片段在所述第二目标片段之前结束,创建第一新项来对所述第一目标片段进行补齐,并将补齐后的所述第一目标片段插入到所述第一剪辑片段数组的首位,其中,所述第一新项对应的时间段为所述第一目标片段的结束时间至所述第二目标片段的结束时间;

第四处理模块,用于当所述第一目标片段在所述第二目标片段之后结束,创建第二新项来对所述第二目标片段进行补齐,并将补齐后的所述第二目标片段插入到所述第二剪辑片段数组的首位,其中,所述第二新项对应的时间段为所述第二目标片的结束时间至所述第一目标片段的结束时间。

优选的,所述第三处理单元包括:

第一处理模块,用于在所述第一目标片段和所述第二目标片段具有不同的主视频ID的情况下,当所述第一目标片段的主视频ID与所述源视频的主视频ID相同时,拷贝所述第二目标片段;将拷贝得到的第二目标片段的剪辑类型标识设置为删减标识后插入到所述第一剪辑片段数组的首位,并将所述第二目标片段的剪辑类型标识修改为插入标识后插入到所述第二剪辑片段数组的首位;

第二处理模块,用于当所述第二目标片段的主视频ID与所述源视频的主视频ID相同时,拷贝所述第一目标片段;将拷贝得到的第一目标片段的剪辑类型标识设置为删减标识后插入到所述第二剪辑片段数组的首位,并将所述第一目标片段的剪辑类型标识修改为替片标识后插入到所述第一剪辑片段数组的首位。

优选的,还包括:

第四处理单元,用于若所述第一剪辑片段数组为空集且所述第二剪辑片段数组不为空集,将所述第二剪辑片段数组中剩余的片段的剪辑类型标识修改为插入标识后推送到所述第一视频对应的第一结果数组中,及所述第二剪辑片段数组中剩余的片段推送到所述第二视频对应的第二结果数组中;

第五处理单元,用于若所述第一剪辑片段数组不为空集且所述第二剪辑片段数组为空集,将所述第一剪辑片段数组中剩余的片段的剪辑类型标识修改为删减标识后推送到所述第二结果数组中,及将第一剪辑片段数组中剩余的片段推送到所述第一结果数组中。

优选的,所述展示单元具体用于:若所述第一剪辑片段数组和所述第二剪辑片段数组均空集,基于所述第一结果数组和第二结果数组中各片段的剪辑类型标识,以视频轨道的方式展示所述第一视频和所述第二视频之间的剪辑痕迹。

基于上述本发明实施例提供的一种视频剪辑痕迹的比对方法及装置,该方法包括:将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组;判断第一剪辑片段数组和第二剪辑片段数组是否为空集;若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段;根据第一目标片段和第二目标片段的主视频ID、起止时间采取相应的操作,得到第一视频对应的第一结果数组和第二视频对应的第二结果数组;基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹,不再依赖人工整理视频间的差异就能够实现视频剪辑痕迹的比对,从而提高视频剪辑痕迹的比对效率和可以保证视频剪辑痕迹的比对准确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种视频剪辑痕迹的比对方法的流程图;

图2(A)为本发明实施例提供的第一视频轨道的示例图;图2(B)为本发明实施例提供的第二视频轨道的示例图;

图3(A)-图3(D)为本发明实施例提供的剪辑痕迹比对结果示例图;

图4为本发明实施例提供的一种视频剪辑痕迹的比对方法的另一流程图;

图5为本发明实施例提供的一种视频剪辑痕迹的比对装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合背景技术可见,视频剪辑是指将视频通过切割、合并、重组、二次编码等操作生成新视频的过程;视频剪辑痕迹的比对至少具有以下作用:可以直观展示视频剪辑前后所做的切割、合并、重组、二次编码等操作痕迹;可以帮助剪辑人员快速定位视频剪辑前后的效果;也可以帮助审查者快速定位送审视频剪辑前后版本的差异。目前视频剪辑痕迹的比对主要还是依赖人工操作,即由人工将视频版本间的差异进行整理,此种方式费时费力且容易出现纰漏,视频剪辑痕迹的比对效率较低和无法保证视频剪辑痕迹的比对准确度。

因此,本方案提出一种视频剪辑痕迹的比对方法及装置,将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组。若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段。根据第一目标片段和第二目标片段的主视频ID、起止时间采取相应的操作,得到第一视频对应的第一结果数组和第二视频对应的第二结果数组。基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹,不再依赖人工整理视频间的差异就能够实现视频剪辑痕迹的比对,从而提高视频剪辑痕迹的比对效率和可以保证视频剪辑痕迹的比对准确度。

在实际应用中,本方案可以基于送转码工程文件来实现视频剪辑痕迹的比对,送转码工程文件具体是指将剪辑工程转化为调用音视频处理软件(如ffmpeg)的参数;以下通过各个实施例对本方案进行详细说明。

参见图1,示出了本发明实施例提供的一种视频剪辑痕迹的比对方法的流程图,该比对方法包括以下步骤:

步骤S101:将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组。

在具体实现步骤S101的过程中,将第一视频(被剪辑的视频)剪辑成第二视频(剪辑后的视频)后,获取第一剪辑片段数组和第二剪辑片段数组;该第一剪辑片段数组包括组成第一视频的多个片段(也就是剪辑片段),该第二剪辑片段数组包括组成第二视频的多个片段,该第一视频为源视频或在源视频的基础上剪辑得到的视频。

需要说明的是,更具体来说,第一视频和第二视频为需要比对剪辑痕迹的两个视频;第一剪辑片段数组可以记为baseVideos,第二剪辑片段数组可以记为diffVideos;baseVideos和diffVideos即为需要对比剪辑痕迹和需要对齐的剪辑片段的数组。

预先构建第一视频对应的第一结果数组(记为baseVideos_)和第二视频对应的第二结果数组(diffVideos_);第一结果数组和第二结果数组是用于存储补充和同步对齐后的剪辑片段的数组。

第一剪辑片段数组和第二剪辑片段数组中各个片段都具有相应的FileId,FileId即为主视频ID,FileId可以用于区分剪辑片段的属性为插入(也称为中插,记为add)、替片(记为rep)或删减(记为del)。

步骤S102:判断第一剪辑片段数组和第二剪辑片段数组是否为空集。若第一剪辑片段数组和第二剪辑片段数组均不为空集,执行步骤S103-步骤S106;若第一剪辑片段数组和第二剪辑片段数组均空集,执行步骤S107。

在具体实现步骤S102的过程中,判断第一剪辑片段数组和第二剪辑片段数组是否为空集,即判断第一剪辑片段数据和第二剪辑片段数组是否耗尽。

若第一剪辑片段数组和第二剪辑片段数组均不为空集(第一剪辑片段数据和第二剪辑片段数组均未耗尽),执行步骤S103-步骤S106。

若第一剪辑片段数组和第二剪辑片段数组均空集(第一剪辑片段数据和第二剪辑片段数组均耗尽),执行步骤S107。

一些实施例中,在从第一剪辑片段数组和第二剪辑片段数组中取出元素进行比对的过程中(下述步骤S103的内容),可能会存在第一目标片段缺失或第二目标片段缺失的情况(即第一剪辑片段数组或第二剪辑片段数组耗尽的情况),在该情况下,会将剩余的元素推送到结果数组中,并对这些剩余的元素修改剪辑类型标识(修改为add或del)。具体实现中,若第一剪辑片段数组为空集且第二剪辑片段数组不为空集,将第二剪辑片段数组中剩余的片段的剪辑类型标识修改为插入标识后推送到第一视频对应的第一结果数组中,及第二剪辑片段数组中剩余的片段推送到第二视频对应的第二结果数组中。

若第一剪辑片段数组不为空集且第二剪辑片段数组为空集,将第一剪辑片段数组中剩余的片段的剪辑类型标识修改为删减标识后推送到第二结果数组中,及将第一剪辑片段数组中剩余的片段推送到第一结果数组中。

也就是说,在将片段补充给对方结果数组的时候需要修改补进去的片段的剪辑类型标识,补给自身结果数组的片段不需要修改剪辑类型标识。

步骤S103:若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段。

在具体实现步骤S103的过程中,若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出第一个元素存储到baseItem中,从第二剪辑片段数组中移出第一个元素存储到diffItem中;baseItem称为第一目标片段,diffItem称为第二目标片段。

在得到第一目标片段和第二目标片段之后,根据第一目标片段和第二目标片段是否具有相同的主视频ID(fileID)、第一目标片段和第二目标片段的之间是否存在时间重叠等情况,采取不同的措施,这些措施的具体内容详见以下步骤S104-步骤S106。

步骤S104:在第一目标片段和第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,将第一目标片段和第二目标片段分别推送至第一视频对应的第一结果数组和第二视频对应的第二结果数组中,或者,将第一目标片段和第二目标片段进行时间补齐后分别插入到第一剪辑片段数组和第二剪辑片段数组的首位;返回执行步骤S102。

在具体实现步骤S104的过程中,在第一目标片段和第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,即在baseItem和diffItem具有相同的fileID且时间重叠的情况下,将第一目标片段和第二目标片段分别推送至第一视频对应的第一结果数组(baseVideos_)和第二视频对应的第二结果数组中(diffVideos_),返回执行步骤S102继续下一轮的比对;

或者,将第一目标片段和第二目标片段进行时间补齐后分别插入到第一剪辑片段数组和第二剪辑片段数组的首位,返回执行步骤S102继续下一轮的比对。

一些实施例中,在第一目标片段和第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,所采取的具体措施可见如下内容:

当第一目标片段和第二目标片段的起止时间均相同时,将第一目标片段推送至第一视频对应的第一结果数组(baseVideos_)中,及将第二目标片段推送至第二视频对应的第二结果数组(diffVideos_)中。

当第一目标片段在第二目标片段之前开始,将第一目标片段的第一部分和第二部分插入到第一剪辑片段数组的首位;将第一目标片段的第一部分补齐给第二目标片段,并将补齐后的第二目标片段插入到第二剪辑片段数组的首位;其中,第一目标片段的第一部分对应的时间段为第一目标片段的开始时间至第二目标片段的开始时间,第一目标片段的第二部分对应的时间段为第二目标片段的开始时间至第一目标片段的结束时间,第一目标片段的第二部分对应的时间段相当于第一目标片段除第一部分以外剩下的部分。

当第二目标片段在第一目标片段之前开始,将第二目标片段的第一部分和第二部分插入到第二剪辑片段数组的首位;将第二目标片段的第一部分补齐给第一目标片段,并将补齐后的第一目标片段插入到第一剪辑片段数组的首位;其中,第二目标片段的第一部分对应的时间段为第二目标片段的开始时间至第一目标片段的开始时间,第二目标片段的第二部分对应的时间段为第一目标片段的开始时间至第二目标片段的结束时间,第二目标片段的第二部分对应的时间段相当于第二目标片段除第一部分以外剩下的部分。

当第一目标片段在第二目标片段之前结束,创建第一新项来对第一目标片段进行补齐,并将补齐后的第一目标片段插入到第一剪辑片段数组的首位,其中,第一新项对应的时间段为第一目标片段的结束时间至第二目标片段的结束时间,即第一新项用来表示第一目标片段结束后的时间段。

当第一目标片段在第二目标片段之后结束,创建第二新项来对第二目标片段进行补齐,并将补齐后的第二目标片段插入到第二剪辑片段数组的首位,其中,第二新项对应的时间段为第二目标片的结束时间至第一目标片段的结束时间,即第二新项用来表示第二目标片段结束后的时间段。

步骤S105:在第一目标片段和第二目标片段之间具有相同主视频ID但不存在时间重叠的情况下,当第一目标片段在第二目标片段结束时开始,将第一目标片段的剪辑类型标识修改为删减标识后推送到第二结果数组中,及将第二目标片段的剪辑类型标识修改为删减标识后推送到第一结果数组中,返回执行步骤S102。

在具体实现步骤S105的过程中,在第一目标片段和第二目标片段之间具有相同主视频ID但不存在时间重叠的情况下,当第一目标片段在第二目标片段结束时开始(相当于第一目标片段紧接在第二目标片段结束之后开始),将第一目标片段的剪辑类型标识修改为删减标识后推送到第二结果数组中,及将第二目标片段的剪辑类型标识修改为删减标识后推送到第一结果数组中,返回执行步骤S102继续下一轮的比对。

需要说明的是,当第一目标片段不存在时,是将第二目标片段的剪辑类型标识修改为插入标识后推送到第一结果数组中。

步骤S106:在第一目标片段和第二目标片段具有不同的主视频ID的情况下,基于第一目标片段和第二目标片段更新第一剪辑片段数组和第二剪辑片段数组的首个元素,返回执行步骤S102。

在具体实现步骤S106的过程中,在第一目标片段和第二目标片段具有不同的主视频ID的情况下,基于第一目标片段和第二目标片段更新第一剪辑片段数组和第二剪辑片段数组的首个元素,返回执行步骤S102继续进行下一轮的比对。

具体实现中,在第一目标片段和第二目标片段具有不同的主视频ID的情况下,基于第一目标片段和第二目标片段更新第一剪辑片段数组和第二剪辑片段数组的首个元素的过程如下内容:

在第一目标片段和第二目标片段具有不同的主视频ID的情况下,当第一目标片段的主视频ID与源视频的主视频ID相同时,拷贝第二目标片段;将拷贝得到的第二目标片段的剪辑类型标识设置为删减标识后(del)插入到第一剪辑片段数组的首位,并将第二目标片段的剪辑类型标识修改为插入标识(add)后插入到第二剪辑片段数组的首位。

当第二目标片段的主视频ID与源视频的主视频ID相同时,拷贝第一目标片段;将拷贝得到的第一目标片段的剪辑类型标识设置为删减标识后插入到所述第二剪辑片段数组的首位,并将第一目标片段的剪辑类型标识修改为替片标识(rep)后插入到第一剪辑片段数组的首位。

步骤S107:若第一剪辑片段数组和第二剪辑片段数组均空集,基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹。

需要说明的是,剪辑痕迹至少包括删减、插入和/或替片。

在具体实现步骤S107的过程中,若第一剪辑片段数组和第二剪辑片段数组均空集,基于第一结果数组和第二结果数组中各片段的剪辑类型标识,以视频轨道的方式展示第一视频和第二视频之间的剪辑痕迹。

具体来说,通过上述步骤S102-步骤S106的处理得到第一结果数组和第二结果数组;第一结果数组和第二结果数组里的片段一一对应(起止时间相同),根据第一结果数组和第二结果数组里各个片段的剪辑类型标识,依序对第一结果数组和第二结果数组里的各个片段进行渲染(可以通过不同颜色来表示不同剪辑类型标识的片段),从而得到第一结果数组的各个片段组成的第一视频轨道,及得到第二结果数组的各个片段组成的第二视频轨道;第一视频轨道和第二视频轨道中至少包含了各片段的剪辑类型标识,将第一视频轨道和第二视频轨道放在同一界面中显示,即可直观地反映出第一视频和第二视频之间的剪辑痕迹。

例如:通过上述步骤S101-步骤S107的处理,可得到如图2(A)和图2(B)示出的视频轨道,图2(A)为第一视频对应的第一视频轨道(也称为上轨道),图2(B)为第二视频对应的第二视频轨道(也称为下轨道)。通过不同颜色来表示各个片段的剪辑类型标识,其中,蓝色(init)代表源视频(主视频),红色(add,rep)代表其他视频,黑色(del)代表删除的片段。

图2(A)和图2(B)中各片段之间的“|”是两个视频剪辑操作对齐的锚点(时刻),表示在锚点处发生了剪辑操作,能够直观反馈给操作者以下内容:上轨道在哪些时刻进行了剪辑变成了下轨道。

图2(A)和图2(B)中,上轨道上的蓝色片段可以表征:该片段未被剪辑操作。上轨道上的黑色片段可以表征:baseItem和diffItem的主视频ID不一样且baseItem的主视频ID与源视频的主视频ID相同时,则将diffItem的剪辑类型标识修改为删减标识(del)补给baseVideos,或者,baseItem和diffItem没有时间上的交集时将diffItem的剪辑类型标识修改为删减标识(del)补给baseVideos_。上轨道上的红色片段可以表征:baseVideos已空,diffItem存在,则将diffItem的剪辑类型标识修改为插入标识(add,红色)补给baseVideos_。

下轨道上的蓝色片段可以表征:该片段不是从baseVideos补充过来的,该片段未被剪辑操作。下轨道上的黑色片段可以表征:该片段仅被删减。下轨道上的红色片段可以表征:上轨道没有该片段,该片段的主视频ID与源视频的主视频ID不同,该片段的剪辑类型标识就即为替片标识(rep)。

在本发明实施例中,将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组。若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段。根据第一目标片段和第二目标片段的主视频ID、起止时间采取相应的操作,得到第一视频对应的第一结果数组和第二视频对应的第二结果数组。基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹,不再依赖人工整理视频间的差异就能够实现视频剪辑痕迹的比对,从而提高视频剪辑痕迹的比对效率和可以保证视频剪辑痕迹的比对准确度。

在实际应用中,可以通过定义程序函数来实现本方案,具体实现方式通过以下过程A1-A5进行举例说明。

A1、定义一个AlignVideos函数,该AlignVideos函数用于将两个视频的片段进行补齐和同步对齐处理;该AlignVideos函数接收以下五个参数:FileId、baseVideos、baseVideos_、diffVideos、diffVideos_。

其中,FileId为主视频ID(用于区分片段的属性为插入、替片或删减);baseVideos和diffVideos为需要对比剪辑痕迹和需要对齐的剪辑片段的数组;baseVideos_和diffVideos_用于存储补充和同步对齐后的剪辑片段的数组。

A2、AlignVideos函数开始时,从baseVideos和diffVideos中分别将第一个项目移出存储至baseItem和diffItem中。

A3、检查baseItem和diffItem是否都存在;如果都存在,根据baseItem和diffItem是否具有相同的FileId、时间是否重叠等条件,采取以下操作:

1)如果baseItem和diffItem具有相同的FileId且时间重叠:

a、如果baseItem和diffItem是起止时间相同的两个片段,则将baseItem推送到baseVideos_中,将diffItem推送到diffVideos_中。

b、如果baseItem在diffItem之前开始,则将baseItem拆分为两部分;将baseItem的第一部分和第二部分插入baseVideos中,将baseItem的第一部分补齐给diffItem后插入diffVideos中,这样就能够使下一轮取出的baseItem和diffItem的开始时间对齐了。

c、如果diffItem在baseItem之前开始,采取上述“b”中的类似方式进行处理。

d、如果baseItem在diffItem之前结束,创建一个新项来表示baseItem结束后的时间段,并将其推送到相应的数组中。

如果baseItem在diffItem之后结束,创建一个新项来表示diffItem结束后的时间段,并将其推送到相应的数组中。

2)如果baseItem和diffItem具有相同的FileId但没有时间充电,并且baseItem紧接在diffItem结束之后开始,则将diffItem的剪辑类型标识修改为del后推送到baseVideos_,将baseItem的剪辑类型标识修改为del后推送到diffVideos_。

3)如果baseItem和diffItem的FileId不一样:

a、如果baseItem的FileId和源视频的主视频ID相同,则拷贝一份diffItem(拷贝的diffItem的剪辑类型标识设置为del)插入到baseVideos的首位,然后修改diffItem自身的剪辑类型标识为add并插入到diffVideos的首位。

b、如果diffItem的FileId和源视频的主视频ID相同,则拷贝一份baseItem(拷贝的baseItem的剪辑类型标识设置为del)插入到diffVideos的首位,然后修改baseItem自身的剪辑类型标识为rep并插入到baseVideos的首位。

A4、如果baseItem或diffItem缺失(即baseVideos或diffVideos已耗尽),则会将剩余的片段推送给baseVideos_和diffVideos_,并根据实际情况修改这些剩余片段的剪辑类型标识(修改为add或del)。

A5、AlignVideos函数继续递归调用自身,直到baseVideos和diffVideos都为空,从而得到最终的baseVideos_和diffVideos_数组。

通过运行AlignVideos函数,可得到如图3(A)-图3(D)所示的剪辑痕迹比对结果示例图;图3(A)中包含了:版本A和版本A1之间的剪辑痕迹比对结果(称为版本区别);图3(B)中包含了:版本A1和版本A11之间的版本区别;图3(C)中包含了:版本A和版本A11之间的版本区别;图3(D)中包含了:版本A11和版本A1之间的版本区别。

需要说明的是,图3(A)-图3(D)中的空白处(空白中断部分)是为了更好展示比对结果而做的时间对齐处理。具体来说,图3(A)-图3(D)中的“-”表示一段段连续的源视频片段,“O”、“P”和“I”表示非源视频片段,“X”表示被删减的片段,“空白处”在时间维度上是连续的(主要是为了使比对效果清晰明了)。

A表示源视频,在A的基础上剪辑得到的视频可以在A后面追加数字编号来命名;对A进行剪辑得到A1,对A1进行剪辑得到A11。

为了更好解释说明上述AlignVideos函数运行的过程,通过图4示出的一种视频剪辑痕迹的比对方法的另一流程图进行举例说明,图4包括以下步骤:

步骤S401:运行AlignVideos函数。

步骤S402:判断baseVideos和diffVideos是否均为非空。若否,将非空的数组中剩余的片段推送到相应结果数组中;若是,执行步骤S403。

步骤S403:取baseVideos和diffVideos的首元素,得到baseItem和diffItem。

步骤S404:baseItem和diffItem的FileId是否相等。若不相等,则执行以下内容补齐片段:1、优先将与源视频FileId不同的片段补充给对方,2、其次将自身补充给对方;返回执行步骤S401。若相等,执行步骤S405。

步骤S405:baseItem和diffItem是否存在时间重叠。若不存在时间重叠,则补齐片段(具体为仅向前补齐片段),其中,向前补齐:将早出来的片段补充给对方;返回执行步骤S401。若存在时间重叠,执行步骤S406。

步骤S406:baseItem和diffItem的起止时间是否相等。若起止时间不相等,执行以下内容:1、分隔片段:具体为将时间重叠的部分分隔出来;2、补齐片段:仅向前补齐片段;3、将分隔和补齐的片段依次从头添加到各自数组中;返回执行步骤S401。若起止时间相等,执行步骤S407。

步骤S407:将baseItem推送到baseVideos_中,将diffItem推送到diffVideos_中,返回执行步骤S401。

以上是关于AlignVideos函数运行的举例说明,上述步骤S401-步骤S407的执行原理,已在上述各个实施例进行详细说明,在此不再赘述。

与上述本发明实施例提供的一种视频剪辑痕迹的比对方法相对应,参见图5,本发明实施例还提供了一种视频剪辑痕迹的比对装置的结构框图,该比对装置包括:获取单元501、判断单元502、移出单元503、第一处理单元504、第二处理单元505、第三处理单元506、展示单元507;

获取单元501,用于将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组,第一剪辑片段数组包括组成第一视频的多个片段,第二剪辑片段数组包括组成第二视频的多个片段,第一视频为源视频或在源视频的基础上剪辑得到的视频。

判断单元502,用于判断第一剪辑片段数组和第二剪辑片段数组是否为空集。

移出单元503,用于若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段。

第一处理单元504,用于在第一目标片段和第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,将第一目标片段和第二目标片段分别推送至第一视频对应的第一结果数组和第二视频对应的第二结果数组中,或者,将第一目标片段和第二目标片段进行时间补齐后分别插入到第一剪辑片段数组和第二剪辑片段数组的首位;返回执行判断单元502。

第二处理单元505,用于在第一目标片段和第二目标片段之间具有相同主视频ID但不存在时间重叠的情况下,当第一目标片段在第二目标片段结束时开始,将第一目标片段的剪辑类型标识修改为删减标识后推送到第二结果数组中,及将第二目标片段的剪辑类型标识修改为删减标识后推送到第一结果数组中,返回执行判断单元502。

第三处理单元506,用于在第一目标片段和第二目标片段具有不同的主视频ID的情况下,基于第一目标片段和第二目标片段更新第一剪辑片段数组和第二剪辑片段数组的首个元素,返回执行判断单元502。

展示单元507,用于若第一剪辑片段数组和第二剪辑片段数组均空集,基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹,剪辑痕迹至少包括删减、插入和/或替片。

在具体实现中,展示单元507具体用于:若第一剪辑片段数组和第二剪辑片段数组均空集,基于第一结果数组和第二结果数组中各片段的剪辑类型标识,以视频轨道的方式展示第一视频和第二视频之间的剪辑痕迹。

在本发明实施例中,将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组。若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段。根据第一目标片段和第二目标片段的主视频ID、起止时间采取相应的操作,得到第一视频对应的第一结果数组和第二视频对应的第二结果数组。基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹,不再依赖人工整理视频间的差异就能够实现视频剪辑痕迹的比对,从而提高视频剪辑痕迹的比对效率和可以保证视频剪辑痕迹的比对准确度。

优选的,结合图5示出的内容,第一处理单元504包括推送模块、第一处理模块、第二处理模块、第三处理模块、第四处理模块;各个模块的执行原理如下:

推送模块,用于在所述第一目标片段和所述第二目标片段之间存在时间重叠且具有相同主视频ID的情况下,当所述第一目标片段和所述第二目标片段的起止时间均相同时,将所述第一目标片段推送至所述第一视频对应的第一结果数组中,及将所述第二目标片段推送至所述第二视频对应的第二结果数组中;

第一处理模块,用于当第一目标片段在第二目标片段之前开始,将第一目标片段的第一部分和第二部分插入到第一剪辑片段数组的首位;将第一目标片段的第一部分补齐给第二目标片段,并将补齐后的第二目标片段插入到第二剪辑片段数组的首位;其中,第一目标片段的第一部分对应的时间段为第一目标片段的开始时间至第二目标片段的开始时间,第一目标片段的第二部分对应的时间段为第二目标片段的开始时间至第一目标片段的结束时间。

第二处理模块,用于当第二目标片段在第一目标片段之前开始,将第二目标片段的第一部分和第二部分插入到第二剪辑片段数组的首位;将第二目标片段的第一部分补齐给第一目标片段,并将补齐后的第一目标片段插入到第一剪辑片段数组的首位;其中,第二目标片段的第一部分对应的时间段为第二目标片段的开始时间至第一目标片段的开始时间,第二目标片段的第二部分对应的时间段为第一目标片段的开始时间至第二目标片段的结束时间。

第三处理模块,用于当第一目标片段在第二目标片段之前结束,创建第一新项来对第一目标片段进行补齐,并将补齐后的第一目标片段插入到第一剪辑片段数组的首位,其中,第一新项对应的时间段为第一目标片段的结束时间至第二目标片段的结束时间。

第四处理模块,用于当第一目标片段在第二目标片段之后结束,创建第二新项来对第二目标片段进行补齐,并将补齐后的第二目标片段插入到第二剪辑片段数组的首位,其中,第二新项对应的时间段为第二目标片的结束时间至第一目标片段的结束时间。

优选的,结合图5示出的内容,第三处理单元506包括第一处理模块和第二处理模块;各个模块的执行原理如下:

第一处理模块,用于在第一目标片段和第二目标片段具有不同的主视频ID的情况下,当第一目标片段的主视频ID与源视频的主视频ID相同时,拷贝第二目标片段;将拷贝得到的第二目标片段的剪辑类型标识设置为删减标识后插入到第一剪辑片段数组的首位,并将第二目标片段的剪辑类型标识修改为插入标识后插入到第二剪辑片段数组的首位。

第二处理模块,用于当第二目标片段的主视频ID与所述源视频的主视频ID相同时,拷贝第一目标片段;将拷贝得到的第一目标片段的剪辑类型标识设置为删减标识后插入到第二剪辑片段数组的首位,并将第一目标片段的剪辑类型标识修改为替片标识后插入到第一剪辑片段数组的首位。

优选的,结合图5示出的内容,该装置还包括:

第四处理单元,用于若第一剪辑片段数组为空集且第二剪辑片段数组不为空集,将第二剪辑片段数组中剩余的片段的剪辑类型标识修改为插入标识后推送到第一视频对应的第一结果数组中,及第二剪辑片段数组中剩余的片段推送到第二视频对应的第二结果数组中。

第五处理单元,用于若第一剪辑片段数组不为空集且第二剪辑片段数组为空集,将第一剪辑片段数组中剩余的片段的剪辑类型标识修改为删减标识后推送到第二结果数组中,及将第一剪辑片段数组中剩余的片段推送到第一结果数组中。

综上所述,本发明实施例提供一种视频剪辑痕迹的比对方法及装置,将第一视频剪辑成第二视频后,获取第一剪辑片段数组和第二剪辑片段数组。若第一剪辑片段数组和第二剪辑片段数组均不为空集,从第一剪辑片段数组中移出首个元素以得到第一目标片段,及从第二剪辑片段数组中移出首个元素以得到第二目标片段。根据第一目标片段和第二目标片段的主视频ID、起止时间采取相应的操作,得到第一视频对应的第一结果数组和第二视频对应的第二结果数组。基于第一结果数组和第二结果数组中各片段的剪辑类型标识,展示第一视频和第二视频之间的剪辑痕迹,不再依赖人工整理视频间的差异就能够实现视频剪辑痕迹的比对,从而提高视频剪辑痕迹的比对效率和可以保证视频剪辑痕迹的比对准确度。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种多源视频剪辑方法、装置及存储介质
  • 一种MEMS微振镜技术产生的结构光的痕迹提取装置及方法
  • 一种音素比对的方法、装置、设备及计算机可读存储介质
  • 一种用于刑事侦查的痕迹比对装置
  • 一种痕迹比对测量装置
技术分类

06120116511153