一种目标视频生成方法和系统
技术领域
本申请涉及视频处理领域,特别涉及一种目标视频生成方法和系统。
背景技术
视频作为一种多媒体形式,在现今社会中运用极度广泛。各个行业中每天都会有大量的视频产生,而制作视频是一个耗费时间和人工精力的过程,同时由于制作视频需要一定的经验和创意,很难通过机器替代人工制作视频。
发明内容
本申请实施例之一提供一种目标视频生成方法,所述方法由至少一个处理器执行,其包括:获取待处理图像和待处理视频中的至少一种;获取所述待处理视频中所述目标视频的主体;所述主体为所述目标视频中的特定对象;基于所述目标视频预设尺寸和主体对所述待处理视频进行裁剪缩放和/或剪辑,得到均包括所述主体的视频素材;和/或基于所述目标视频预设尺寸对所述待处理图像进行裁剪和/或缩放,得到包括所述主体的图像素材;至少基于视频模板对所述图像素材和/或视频素材进行拼接,生成所述目标视频。
在一些实施例中,所述目标视频的尺寸对所述待处理图像进行裁剪和/或缩放,包括:获取所述待处理图像中所述目标视频主体的信息;所述信息至少包括所述主体的位置;基于所述信息识别出所述主体的外轮廓;避开所述主体的外轮廓对所述待处理图像进行裁剪;和/或保持所述主体的外轮廓内宽高比对所述待处理图像进行缩放。
在一些实施例中,还包括获取待处理音频;对所述待处理音频基于节奏进行标记得到切分点;所述切分点作为所述目标视频的可选剪辑点;将所述图像素材和/或所述视频素材与所述可选剪辑点匹配。
在一些实施例中,所述视频模板包括美化参数;所述美化参数包括滤镜参数、动画参数、布局参数中的至少一个。
在一些实施例中,对所述图像素材和/或所述视频素材进行归一化处理。
在一些实施例中,获取文字层和/或背景层;将所述文字层和/或背景层嵌入所述视频。
本申请实施例之一提供一种目标视频生成系统,其包括:媒体获取模块,用于获取待处理图像和待处理视频中的至少一种;主体获取模块,用于获取所述待处理视频中所述目标视频的主体;所述主体为所述目标视频中的特定对象;视频处理模块,用于基于所述目标视频预设尺寸和主体对所述待处理视频进行裁剪缩放和/或剪辑,得到均包括所述主体的视频素材;和/或图片处理模块,用于基于所述目标视频预设尺寸对所述待处理图像进行裁剪和/或缩放,得到包括所述主体的图像素材;目标视频生成模块,至少基于视频模板对所述图像素材和/或视频素材进行拼接,生成所述目标视频。
本申请实施例之一提供一种视频生成装置,其包括处理器及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令以实现上述方法。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行上述方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请一些实施例所示的目标视频生成系统的应用场景示意图;
图2是根据申请一些实施例所示的目标视频生成方法的示意图;
图3是根据申请一些实施例所示的目标视频生成方法的示例性流程图;
图4是根据申请一些实施例所示的对待处理图像进行剪裁和/或缩放的示例性流程图;
图5是根据本申请一些实施例所示的添加音频素材的示例性流程图;
图6是根据申请一些实施例所示的目标视频生成系统的模块化示意图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本申请一些实施例所示的目标视频生成系统的应用场景示意图。
在应用场景中可以包括服务器110、网络120、视频输出端130、数据库140和其他数据源150。服务器110可包含处理设备112。
在一些实施例中,目标视频生成系统100可以用于广告行业、媒体行业、互联网行业中,快速且有针对性的生成包含有特定目标的视频。
服务器110与视频输出端130可以通过网络120相连,也可以直接连接;数据库140可以与服务器110通过网络120相连,也可以直接连接于服务器110或者处于服务器110的内部。数据库140、其他数据源150可与网络120连接以与目标视频生成系统100的一个或多个组件通讯。目标视频生成系统100的一个或多个组件可通过网络120访问存储于视频输出端130、数据库140和其他数据源150中的资料或指令。
在一些实施例中,服务器110、数据查询端端130以及其他可能的系统组成部分中可以包括数据库140。
在一些实施例中,服务器110、数据查询端端130以及其他可能的系统组成部分中可以包括处理设备112。
服务器110可以用于管理资源以及处理来自本系统至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。在一些实施例中,服务器110可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务器110可以是分布式系统),可以是专用的也可以由其他设备或系统同时提供服务。在一些实施例中,服务器110可以是区域的或者远程的。在一些实施例中,服务器110可以在云平台上实施,或者以虚拟方式提供。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,服务器110可包含处理设备112。处理设备112可以处理从其他设备或系统组成部分中获得的数据和/或信息。处理器可以基于这些数据、信息和/或处理结果执行程序指令,以执行一个或多个本申请中描述的功能。在一些实施例中,处理设备112可以包含一个或多个子处理设备(例如,单核处理设备或多核多芯处理设备)。仅作为示例,处理设备112可以包括中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。
网络120可以连接系统的各组成部分和/或连接系统与外部资源部分。网络120使得各组成部分之间,以及与系统之外其他部分之间可以进行通讯,促进数据和/或信息的交换。在一些实施例中,网络120可以是有线网络或无线网络中的任意一种或多种。例如,网络120可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。各部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换点120-1、120-2、…,通过这些进出点系统的一个或多个组件可连接到网络120上以交换数据和/或信息。
视频输出端130指用于数据查询的一个或多个终端设备或软件。在一些实施例中,使用视频输出端130的可以是一个或多个用户,可以包括直接使用服务的用户,也可以包括其他相关用户。在一些实施例中,视频输出端130可以是移动设备130-1、平板计算机130-2、膝上型计算机130-3其他具有输入和/或输出功能的设备中的一种或其任意组合。
数据库140可以用于存储数据和/或指令。数据库140在单个中央服务器、通过通信链路连接的多个服务器或多个个人设备中实现。在一些实施例中,数据库140可包括大容量存储器、可移动存储器、挥发性读写存储器(例如,随机存取存储器RAM)、只读存储器(ROM)等或以上任意组合。示例性的,大容量储存器可以包括磁盘、光盘、固态磁盘等。在一些实施例中,数据库140可在云平台上实现。
其他数据源150可以用于为所述系统提供其他信息的一个或多个来源。其他数据源150可以是一个或多个设备,可以是一个或多个应用程序接口,可以是一个或多个数据库查询接口,可以是一个或多个基于协议的信息获取接口,可以是其他可获取信息的方式,可以是上述方式两种或多种的组合。信息源所提供的信息,可以是在提取信息时已存在的,也可以是在提取信息时临时生成的,也可以是上述方式的组合。在一些实施例中,其他数据源150可以用于为系统提供图片、视频、音乐等多媒体信息。
互联网行业和内容创作(如媒体行业、广告行业)等行业,在日常工作中会需要大量生成各类视频,在一些实施例中,利用人工对各类素材进行筛选、裁剪,然后基于软件将各类素材进行拼接后渲染,该方式效率不高且对人员需求量大。随着多媒体素材越来越多,筛选和处理的过程会越来越困难,此时进一步出现效率降低的问题。
针对一些实施例中存在效率降低的问题,本申请一些实施例中提出一种目标视频生成系统,其对媒体文件进行自动化处理后得到具有特定对象的目标视频,效率高且需要人工处理的工作少。
图2是根据申请一些实施例所示的目标视频生成方法的示意图。
图3是根据申请一些实施例所示的目标视频生成方法的示例性流程图。
同时参考图2和图3,在一些实施例中,图3所示的目标视频生成方法200中的一个或多个步骤可以通过图1所示的系统100实现。
步骤210,获取待处理图像320和待处理视频310中的至少一种。在一些实施例中,步骤210可以由媒体获取模块执行。
在一些实施例中,目标视频300可以是通过多个图像和视频经过处理得到,也可以通过图像或视频其中一种经过处理得到。待处理图像320和待处理视频310可以获取至数据库,还可以是通过网络获取其他开源数据库。
在一些实施例中,待处理图像320可以包括照片、广告图、产品渲染图和海报等。待处理视频310可以包括产品demo、广告片段以及含有相关产品、模特的短片或电影等。
步骤220,获取所述待处理视频310中所述目标视频300的主体350。在一些实施例中,步骤220可以由主体获取模块执行。
目标视频300通常包括一个或多个用于突出主题的主体350,可以理解的是,在一些实施例中,主体350可以作为目标视频300中特定对象。示例性的,主体350可以是产品(电子产品、日用品、装饰品等)、生物(人、动物等)或景观(山、房子等)等中的一个或多个。为了便于描述,在本说明书实施例中,以主体350为一个,且主体350为模特进行描述。
在一些实施例中,主体350可以是人为导入或选取目标视频300的主体350,可选的,用户可以从数据库或与数据库连接的用户终端中选取主体350。继续采用模特作为主体350作为示例,用户希望生成模特为主体350的目标视频300,用户在数据库中选取该模特后,利用处理器对步骤210中获取的待处理图像320和待处理视频310进行进一步处理。
在一些实施例中,数据库中的每个待处理图像320或待处理视频310可以分别持有标签,该标签可以表示该待处理图像320或待处理视频310中包括的主体350的名称,如一幅海报中包括了产品A、产品B和模特A,那么可以将该海报添加产品A、产品B和模特A的标签。当用户在数据库中选取产品A、产品B或模特A作为主体350时,数据库能够自动与该海报关联,并将该海报提取作为待处理图像320。在一些其他实施例中,还可以对待处理视频310中的视频帧添加上述标签,在提取待处理视频时,可以直接将带有视频帧的部分视频内容进行进一步处理。
步骤230,基于所述目标视频300预设尺寸和主体350对所述待处理视频310进行裁剪缩放和/或剪辑,得到均包括所述主体350的视频素材312。在一些实施例中,步骤230可以由视频处理模块执行。
在一些实施例中,可以对待处理视频310进行裁剪缩放和/或剪辑。裁剪缩放主要针对待处理视频310尺寸与目标视频300尺寸不符或尺寸比例不符的情况,仅作为示例,目标视频300尺寸为FHD(Full High Definition,1920*1080),当待处理视频310与目标视频300尺寸不符但比例相同(如同为16:9)时,可以将待处理视频310通过缩放的方式得到与目标视频300尺寸同为1920*1080的视频。当待处理视频310与目标视频300比例不符(如待处理视频310为1:1)时,假如待处理视频310尺寸为1024*1024,根据目标视频300尺寸比例得到裁剪目标尺寸为1024*768,即先将待处理视频310进行逐帧裁剪,然后将裁剪后得到尺寸为1024*768的视频等比例放大至1920*1080。需要说明的是,在一些实施例中,当待处理视频310尺寸大于目标视频300尺寸时,如待处理视频310尺寸为2560*2560时,此时可以将待处理视频310直接裁剪为目标视频300尺寸1920*1080,也可以按上述步骤先裁剪为2560*1440后等比例缩放。由于视频帧可以看成是图片,故在该步骤中对视频进行逐帧裁剪的方式,可以参见后文中图像裁剪处理的方式。
在一些实施例中,当待处理视频310尺寸与目标视频300尺寸相符,或经过裁剪缩放后尺寸与目标视频300尺寸相符后,可以对时间较长(如超过15秒或20秒等)的待处理视频310进行剪辑,避免出现单个视频素材312持续时间较长的问题,通常一个视频素材312对应一个场景,长时间播放同一场景内画面可能会使观看者感觉无趣,通过缩短每个视频素材312的方式,以突出重点。需要说明的是,若待处理视频310需要分别进行裁剪缩放和剪辑时,可以先进行剪辑得到具有主体350的视频后再进行裁剪缩放,也可以先进行裁剪缩放得到尺寸一致的视频后再进行裁剪,本申请对此不做限制。
在一些实施例中,时间较长的待处理视频310经过剪辑后可能得到一段或多段视频素材312,在裁剪过程中保留具有主体350的视频片段。在一些实施例中,可以利用机器学习模型对主体350进行标注后裁剪,以保证裁剪后的视频中包括主体350。在一些实施例中,机器学习模型可以是生成模型、判定模型,也可以是机器学习中的深度学习模型,例如,可以是采用yolo系列算法、faster R-CNN算法或Efficient Det算法等的算法的深度学习模型。仅作为示例,在利用深度学习模型进行裁剪时可以将人工标注的物体位置和类别作为训练样本对该模型进行训练,使该模型能够准标注别出待处理视频310中的主体350。在一些实施例中,进一步的可以利用图嵌入模型提取组成待处理视频310的各个视频帧的图像,并提取视频帧的图像特征,同时图嵌入模型提取步骤220中获取的主体350的图像特征,基于视频帧的图像特征和主体350的图像特征确定一系列包含有主体350的视频帧,该一系列视频帧组成的视频片段即为包含主体350的待处理视频310。在一些其他具体实施方式中,根据机器学习模型的特征,还可以可选择的对视频中主体350外的背景部分进行虚化,进一步突出主体350。
步骤240,基于所述目标视频300预设尺寸对所述待处理图像320进行裁剪和/或缩放,得到包括所述主体350的图像素材322。在一些实施例中,步骤240可以由图片处理模块执行。
在一些实施例中,为了使图像也能够满足目标视频300的尺寸要求,对待处理图像320中尺寸与目标视频300尺寸不符的图像文件进行裁剪或缩放,继续以目标视频300尺寸为FHD为例,通过裁剪和/或缩放得到尺寸为1920*1080且包括主体350的图像素材322。需要说明的是,在一些实施例中,步骤中210中获取待处理图像320和待处理视频310中的至少一种,当同时获取待处理图像320和待处理视频310时,执行步骤230和步骤240,且两步骤之间不存在先后顺序;当仅获取待处理视频310时,可以执行步骤230不执行步骤240;当仅获取待处理图像320时,可以跳过步骤230执行步骤240。
图4是根据申请一些实施例所示的对待处理图像320进行剪裁和/或缩放的示例性流程图。
同时参考图2和图4,在一些实施例中,对待处理图像320进行裁剪和/或缩放可以包括以下步骤:
步骤242,获取所述待处理图像320中所述目标视频300主体350的信息。
在一些实施例中,目标视频300主体350的信息至少包括所述主体350的位置。目标视频300主体350的获取可以参考上述步骤220,主体350的信息还可以包括主体350的颜色信息、尺寸信息、名称信息、类别信息或面部识别数据等。主体350的位置信息可以理解位置在图片和/或视频的画面中所处的位置的信息,例如可以是参考点的坐标的信息。主体350的尺寸信息可以包括主体350的实际尺寸信息和主体350占广告视频的画面的尺寸的比例信息等。主体350的类别信息可以理解为主体350的分类,例如,主体350的类别信息包括主体350的分类是产品或模特的信息,或进一步细化为某一类产品信息,如包括多种主体350为手机的类别信息可以是移动设备。
在一些实施例中,可以通过机器学习模型对待处理图像320进行处理,获取主体350的位置。在一些实施例中,具体的,可以继续利用图嵌入模型确定主体350的位置,可以理解的是,视频帧中单帧的图像可以看成是一张图片,能够对多个视频帧处理的图嵌入模型同样能够处理该待处理图像320,因此具体操作可以参见步骤230中相关描述。在一些实施例中,进行视频帧处理和待处理图像320处理的图嵌入模型可以单独训练也可以一同训练,此外,在其他具体实施方式中,主体350位置的确定同样可以利用待处理视频310中所使用的深度学习模型,例如,可以是采用yolo系列算法、R-CNN算法或Efficient Det算法等的算法的深度学习模型。
步骤244,基于所述信息识别出所述主体350的外轮廓。
在确定主体350的位置后,基于主体350位置确定主体350的外轮廓,以便于将主体350与待处理图片中的背景部分区分开。需要说明的是,在一些其他实施例中,主体350的信息还可以包括颜色信息和尺寸信息等,显然基于颜色信息和尺寸信息在主体350位置的基础上能够更加快速高效的确定主体350的外轮廓。
步骤246,避开所述主体350的外轮廓对所述待处理图像320进行裁剪。
在一些实施例中,步骤244中已经识别出主体350在待处理图像320中的外轮廓,可以通过抠图(matting)算法避开主体350外轮廓并将主体350与待处理图像320分离,分离后的主体350的处理方法包括但不仅限于锁定或新建图层,当主体350锁定或新建图层后,可以对背景部分进行进一步处理。
需要说明的是,在一些实施例中,抠图(matting)算法可以是基于深度学习的抠图算法,如基于学习的数字抠图(Learning Based Digital Matting)、最邻近结点算法抠图(KNN matting)等。在一些其他实施例中,抠图算法还可以是基于聚类采样的抠图(Cluster-Based Sampling matting, CBS)、基于迭代直推学习的抠图(IterativeTransductive Learning for alpha matting,ITL)中的至少一个。
步骤248,保持所述主体350的外轮廓内宽高比对所述待处理图像320进行缩放。
在一些实施例中,为了避免主体350在缩放过程中出现变形、扭曲等情况,将主体350和背景部分分开进行缩放,在缩放过程中保持主体350的外轮廓内的宽高比。仅作为示例,待处理图像320为像素尺寸800*600的海报,主体350为海报内像素尺寸为150*330的手机(主体350宽高比为5:11),当目标视频300为1200*800时,即需要将待处理图像320缩放为1200*800,如果主体350直接缩放,得到的缩放后尺寸为225*440,此时宽高比5:9.8,显然此时主体350发成变形,而目标视频300中主体350出现变形可能对于视频的效果、客户对于产品的认识产生不利的影响。在一些实施例中,保持主体350外轮廓内宽高比方法可以是,分别获取待处理图像320缩放为目标视频300尺寸时宽度方向上和长度方向上缩放比例,继续采用上述示例,待处理图像320宽度方向缩放1.25倍、长度方向缩放1.5倍,此时为了保证主体350不发生变形可以选择长度方向和宽度方向上均缩放1.25倍或1.5倍。需要说明的是,在一些其他实施例中,主体350轮廓可能不为矩形,该情况下同样适用于上述缩放方法。
在一些实施例中,由于待处理图像320中背景尺寸比例与目标视频300尺寸不一致,直接进行缩放可能会导致比例变化。当需要对比例保持一致的情况下可以先对背景部分进行裁剪,裁剪后进行缩放,图像的处理和视频的处理方法类似,具体的可以参见步骤230中的处理方法,在此不过多赘述。
步骤250,至少基于视频模板340对所述图像素材322和/或视频素材312进行拼接,生成所述目标视频300。在一些实施例中,步骤250可以由目标视频生成模块执行。
在一些实施例中,视频模板340至少包括时间参数,在一些实施例中,时间参数至少体现目标视频300的长度,在一些实施例中,在前述步骤中已经将待处理图像320和/或待处理视频310处理得到了与目标视频300尺寸一致的图像素材322和/或视频素材312。故拼接可以是随机或有预定规律的将图像素材322和/或视频素材312基于时间参数进行有序播放。仅作为示例,预定规律可以是图像素材322和视频素材312交替拼接、还可以是将图像素材322集中于目标视频300中部播放等。需要说明的是,由于图片不具备时间属性,在拼接中可以定义单幅图片所显示的时间(如3秒、5秒或10秒等),满足显示时间后切换至下一素材。
在一些实施例中,可选的,时间参数还可以将目标视频300进行分段,如划分为开端、中段和结尾共3个分段,时间指标分别表示出3个分段的时长和位置,以根据图像素材322和/或视频素材312的情况(如色调或对素材进行特殊标记)进行分段拼接。仅作为示例,在一段待处理视频310上进行标记,该表示可以是用于在将待处理视频310导入数据库时添加,用于表明该待处理视频310尤其能够体现主体350的信息,在待处理视频310进行处理后得到的视频素材312依旧包含该标记,在进行拼接时,通过该标记得知该视频素材312能够很好的突出主体350,故将该视频素材312放置于目标视频300的结尾,以加深观看者印象。
在一些实施例中,视频模板340可以是Adobe After Effects(AE)软件中的模板素材,该软件为视频制作领域常用软件,在此不过多赘述。
在一些实施例中,视频模板340还可以包括美化参数。通过美化参数对目标视频300进行美化以获得更好的效果。在一些其他实施例中,上述美化参数可以不包括在视频模板340中,而在进行视频渲染前额外获取。
在一些实施例中,具体的,所述美化参数可以包括滤镜参数、动画参数、布局参数中的至少一个。滤镜参数可以是对目标视频300全局增加一个效果滤镜(如黑白、复古、鲜艳等);动画参数可以是当目标视频300有多个视频素材312和/或图像素材322拼接过程中,在素材之间添加动画效果,使目标视频300效果更佳自然;布局参数可以是由于视频素材312和/或图像素材322中主体350位置不同,在一些实施例中,可以在素材中标记主体350位置的信息(如主体350位于整幅图像/视频的左上、右上、左下、右下等),布局参数将该主体350位置信息进行组合和排列,使目标视频300更加流畅,主体350更加突出。在其他一些实施例中,美化参数还可以包括去水印或增加水印等。
在一些实施例中,在进行拼接前,根据实际需要,可以获取文字层和背景层中至少一种。在拼接渲染过程中将所述文字层和/或背景层嵌入所述视频。在一些实施例中,文字层可以是字幕、也可以是额外的文字介绍。此外图像素材322有时候是透明背景的,可能会需要背景层,可以理解的时,上述文字层和背景层均为根据目标视频300实际情况进行添加。在一些实施例中,文字层和背景层可以包括与视频模板340中。
在一些实施例中,图像素材322和视频素材312可能来自于不同途径,其颜色差别可能较大,故在进行拼接渲染前,对所述图像素材322和/或所述视频素材312进行归一化处理。由于视频帧可以看成是图像,对图像归一化是指对图像进行了一系列标准的处理变换,使之变换为一固定标准形式的过程,该标准图像称作归一化图像。仅作为示例,在一些实施例中可以对图像素材322和/或视频素材312进行灰度或Gamma值进行归一化处理,具体可以是首先获取图像或视频帧的图像直方图,至少对图像直方图进行均值化处理,基于至少进行均值化处理后的直方图调整图像或视频帧的灰度或Gamma值,实现图像归一化。在一些其他实施例中,归一化处理还可以是基于目标视频300主体350的缩放归一化和旋转归一化中的一个或多个,此外归一化处理还可以是针对图像素材322和/或视频素材312的亮度、色调、饱和度等进行的归一化处理。
在一些实施例中,目标视频300通常会带有背景音乐,背景音乐作为用于调节气氛的一种音乐,插入于视频中之中,能够增强情感的表达,达到一种让观众身临其境的感受。同时,背景音乐具备时间属性,可以将背景音乐的时长、节奏等元素作为本申请一些实施例中的时间参数。
图5是根据本申请一些实施例所示的添加音频素材的示例性流程图。
同时参考图2和图5,在一些实施例中,具体的,向目标视频300中添加音频素材可以包括以下步骤:
步骤410,获取待处理音频330。
在一些实施例中,待处理音频330可以是用户导入或用户在数据库中选取得到,在一些实施例中,若希望制得的目标视频300较长,可以选择多个待处理音频330,将音频首尾连接,此外在另一些实施例中,若希望制得的目标视频300较短,还可以只选用音频中的高潮部分(如副歌)等。
步骤420,对所述待处理音频330基于节奏进行标记得到切分点;所述切分点作为所述视频的可选剪辑点。
在一些实施例中,基于节奏进行标记可以是基于整个歌曲的结构进行标记,如标记前奏、主歌和副歌等,也可以是将歌曲划分的更为细致,如根据鼓点或者节拍进行切分标记。在一些实施例中,对待处理音频330的标记粒度可以由图像素材322和/或视频素材312的数量决定。仅作为示例,假设图像和视频素材312数量中等,将待处理音频330依照鼓点标记后,一部分切分点无法匹配素材,故可以将待处理音频330先标记为前奏、主歌和副歌,再将副歌部分按照鼓点标记,得到数量合适的切分点。
在一些实施例中,基于节奏对待处理音频330进行标记可以通过软件(如AdobeAudition、FL Studio等)或插件(如基于Vue.js的audio wave plugin等)实现。在一些实施例中,可以通过基于信号分析的音频节奏分析算法实现对待处理音频330的自动标记。需要说明的是,音频标记处理方式多样,在本实施例中不做限制。
在一些实施例中,单个可选剪辑点可以选择添加图像素材322或视频素材312,也可以选择不添加素材,素材是否添加取决于可选剪辑点的数量和两个可选剪辑点之间的时间间隔。仅作为示例,若单个可选剪辑点处未添加素材,可以将前一素材或后一素材的持续时间进行适当延长。由于可选剪辑点与节奏相关联,故通过该可选剪辑点添加素材,易于素材的排布的同时,提供很好的节奏型,提高目标视频300的效果。在一些其他实施例中,该可选剪辑点还可以作为目标视频300的起始点或截止点。
步骤430,将所述图像素材322和/或所述视频素材312与所述可选剪辑点匹配。
在一些实施例中,图像素材322和/或所述视频素材312与可选剪辑点的匹配,可以依照两个可选剪辑点之间的间隔时间进行。仅作为示例,假设待处理音频330中30s处有一个切分点,在该切分点后最近的切分点为45s处,此时可以选择持续时间在15s左右的视频插入30s处的切分点。在一些实施例中,两个剪辑点之间可能间隔只有几秒,此时可以设定一个阈值,如两剪辑点之间间隔小于该阈值(如3秒或5秒等),插入图像素材322。
在一些实施例中,视频素材312的长度不一,可能出现一些视频素材312由于时间的问题无法与可选剪辑点匹配,在一些实施例中,可以将视频进行切分或变速,例如持续时间为15s的视频素材312可以进行切分后得到一个10s的素材和一个5s的素材,将切分后的素材与可选剪辑点匹配。再例如,视频素材312持续时间为22s,两可选剪辑点之间间隔为20s,此时可以将视频素材312进行加速播放,将持续时间缩短至20s后插入该可选剪辑点,需要说明的是,在一些实施例中,为了保证目标视频300的效果,可以对视频素材312的变速设定一个阈值(如±5%或±10%)等,对变速超过该阈值的视频素材312采用拼接的方式处理。
在一些实施例中,视频素材312中可能包括音轨(如背景音、独白等),根据实际需要可以将视频素材312中音轨进行剔除,也可以将该音轨进行保留,在目标视频300中同时播放,在本申请中不做限制。
图6是根据申请一些实施例所示的目标视频生成系统的模块化示意图。
如图6所示,目标视频生成系统500可以包括媒体获取模块、主体获取模块、视频处理模块、图片处理模块和目标视频生成模块。这些模块也可以作为应用程序或一组由处理引擎读取和执行的指令实现。此外,模块可以是硬件电路和应用/指令的任何组合。例如,当处理引擎或处理器执行应用程序/一组指令时,模块可以是处理器的一部分。
媒体获取模块,用于获取待处理图像和待处理视频中的至少一种。
关于待处理图像和待处理视频的更多描述可以在本说明书的其他地方(如步骤210及其相关描述中)找到,在此不作赘述。
主体获取模块,用于获取所述待处理视频中所述目标视频的主体;所述主体为所述目标视频中的特定对象。
关于目标视频的主体的更多描述可以在本说明书的其他地方(如步骤220及其相关描述中)找到,在此不作赘述。
视频处理模块,用于基于所述目标视频预设尺寸和主体对所述待处理视频进行裁剪缩放和/或剪辑,得到均包括所述主体的视频素材。
关于视频素材的更多描述可以在本说明书的其他地方(如步骤230及其相关描述中)找到,在此不作赘述。
图片处理模块,用于基于所述目标视频预设尺寸对所述待处理图像进行裁剪和/或缩放,得到包括所述主体的图像素材;
关于图像素材的更多描述可以在本说明书的其他地方(如步骤240及其相关描述中)找到,在此不作赘述。
目标视频生成模块,至少基于视频模板对所述图像素材和/或视频素材进行拼接,生成所述目标视频。
关于目标视频的更多描述可以在本说明书的其他地方(如步骤250及其相关描述中)找到,在此不作赘述。
在一些实施例中,所述图片处理模块包括:获取所述待处理图像中所述目标视频主体的信息;所述信息至少包括所述主体的位置;基于所述信息识别出所述主体的外轮廓;避开所述主体的外轮廓对所述待处理图像进行裁剪;和/或保持所述主体的外轮廓内宽高比对所述待处理图像进行缩放。
应当理解,图6所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图6中披露的视频处理模块和图片处理模块可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。诸如此类的变形,均在本申请的保护范围之内。
本申请实施例可能带来的有益效果包括但不限于:(1)通过对视频和图像的自动化处理,相较于人工筛选然后渲染的方案,效率得到较大提升,且人工需要处理的工作得到了减少;(2)通过图像、视频与音乐的结合,使得目标视频更加生动,具有更好的观感体验;(3)通过自动化的视频拼接渲染,获得连贯且主体突出的目标视频。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。