一种视频特效添加方法、装置、终端设备及存储介质与流程

文档序号:17376895发布日期:2019-04-12 23:24阅读:127来源:国知局
一种视频特效添加方法、装置、终端设备及存储介质与流程

本公开实施例涉及数据技术,尤其涉及一种视频特效添加方法、装置、终端设备及存储介质。



背景技术:

随着通信技术和终端设备设备的发展,各种终端设备例如手机、平板电脑等已经成为了人们工作和生活中不可或缺的一部分,而且随着终端设备的日益普及,视频交互应用成为一种沟通和娱乐的主要渠道。

目前,视频交互应用能够识别出用户面部,并在用户头部上增加静态图像(例如在头发上增加头饰)或者增加面部表情覆盖在用户面部上。这种增加图像的方法过于局限,同时应用场景过于单一,无法满足用户的多样化需求。



技术实现要素:

本公开实施例提供一种视频特效添加方法、装置、终端设备及存储介质,可以针对用户的关节点以及关节点的运动状态添加匹配的动态特效,提高视频交互应用的场景多样化。

第一方面,本公开实施例提供了一种视频特效添加方法,该方法包括:

获取视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点;

如果确定在目标图像帧中识别出的目标人体关节点在目标图像帧中的位置满足预设的视频特效条件中关节位置条件,则获取所述目标图像帧之前的至少两个连续图像帧;

根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态;

如果确定所述目标人体关节点的运动状态满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,则获取与所述视频特效条件匹配的视频特效;

在所述视频中与所述目标图像帧关联的视频位置处,添加与所述视频特效条件匹配的视频特效。

进一步的,所述获取视频中的至少一个图像帧,包括:

在视频录制过程中,实时获取所述视频中的至少一个图像帧;

所述在所述视频中与所述目标图像帧关联的视频位置处,添加与所述视频特效条件匹配的视频特效,包括:

将所述目标图像帧的视频位置作为特效添加起点;

根据与所述视频特效条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

进一步的,所述根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态,包括:

根据在所述视频中与所述至少两个连续图像帧关联的视频位置,以及所述目标人体关节点在各所述连续图像帧中的位置确定所述目标人体关节点的运动状态。

进一步的,所述确定所述目标人体关节点的运动状态满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,包括:

如果所述目标人体关节点在各所述连续图像帧中的位置的变化方向满足所述关节动作条件中变化方向,则确定所述目标人体关节点的运动状态满足所述关节动作条件。

进一步的,所述确定在目标图像帧中识别出的目标人体关节点在目标图像帧中的位置满足预设的视频特效条件中关节位置条件,包括:

当所述目标人体关节点在所述图像帧中的位置处于所述关节位置条件匹配的设定位置范围内,且所述目标人体关节点在所述图像帧的前一图像帧中的位置不在所述设定位置范围内时,则将所述图像帧确定为目标图像帧,同时确定在所述目标图像帧中识别出的目标人体关节点满足所述关节位置条件。

进一步的,所述视频特效添加方法,还包括:

在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;

在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:

在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

进一步的,所述视频特效包括:动态动画特效,和/或音乐特效;

所述在所述视频预览界面中,实时呈现添加所述视频特效的图像帧,包括:

在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

第二方面,本公开实施例还提供了一种视频特效添加装置,该装置包括:

目标人体关节点识别模块,用于获取视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点;

关节位置条件判断模块,用于如果确定在目标图像帧中识别出的目标人体关节点在目标图像帧中的位置满足预设的视频特效条件中关节位置条件,则获取所述目标图像帧之前的至少两个连续图像帧;

关节点运动状态检测模块,用于根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态;

关节动作条件判断模块,用于如果确定所述目标人体关节点的运动状态满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,则获取与所述视频特效条件匹配的视频特效;

视频特效添加模块,用于在所述视频中与所述目标图像帧关联的视频位置处,添加与所述视频特效条件匹配的视频特效。

进一步的,所述目标人体关节点识别模块,包括:

图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;

所述视频特效添加模块,包括:

特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;

视频特效实时添加模块,用于根据与所述关节位置条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

进一步的,所述关节点运动状态检测模块,包括:

运动状态确定模块,用于根据在所述视频中与所述至少两个连续图像帧关联的视频位置,以及所述目标人体关节点在各所述连续图像帧中的位置确定所述目标人体关节点的运动状态。

进一步的,所述关节动作条件判断模块,包括:

位置变化方向检测模块,用于如果所述目标人体关节点在各所述连续图像帧中的位置的变化方向满足所述关节动作条件中变化方向,则确定所述目标人体关节点的运动状态满足所述关节动作条件。

进一步的,所述关节位置条件判断模块,包括:

位置检测模块,用于当所述目标人体关节点在所述图像帧中的位置处于所述关节位置条件匹配的设定位置范围内,且所述目标人体关节点在所述图像帧的前一图像帧中的位置不在所述设定位置范围内时,则将所述图像帧确定为目标图像帧,同时确定在所述目标图像帧中识别出的目标人体关节点满足所述关节位置条件。

进一步的,所述视频特效添加装置,还包括:

图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;

视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

进一步的,所述视频特效包括:动态动画特效,和/或音乐特效;

所述视频特效实时呈现模块,包括:

特效展示和播放模块,用于在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

第三方面,本公开实施例还提供了一种终端设备,该终端设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述的视频特效添加方法。

第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例所述的视频特效添加方法。

本公开实施例通过在视频的图像帧中识别到的目标人体关节点满足视频特效条件中关节位置条件以及满足与关节位置条件匹配的关节动作条件时,为该视频添加与视频特效条件匹配的动作特效,解决了视频交互应用的视频特效过于单一的问题,实现针对用户的关节点的位置以及关节点的运动状态增加视频特效,提高视频交互应用的丰富度,同时提高视频增加特效的灵活性。

附图说明

图1a是本公开实施例一提供的一种视频特效添加方法的流程图;

图1b是本公开实施例一提供的一种人体关节点的示意图;

图1c是本公开实施例一提供的一种设定位置范围的示意图;

图1d是本公开实施例一提供的另一种设定位置范围的示意图;

图2a是本公开实施例二提供的一种视频特效添加方法的流程图;

图2b是本公开实施例二提供的一种人体关节点的示意图;

图2c是本公开实施例二提供的另一种人体关节点的示意图;

图3是本公开实施例三提供的一种视频特效添加装置的结构示意图;

图4是本公开实施例四提供的一种终端设备的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。

实施例一

图1a为本公开实施例一提供的一种视频特效添加方法的流程图,本实施例可适用于在视频中添加视频特效的情况,该方法可以由视频特效添加装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中,例如典型的是计算机等。如图1a所示,该方法具体包括如下步骤:

s110,获取视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点。

一般来说,视频是由一系列静态的图像帧以极快的速度连续放映形成。由此,可以将视频拆分成一系列图像帧,并对图像帧进行编辑操作,从而实现对视频的编辑操作。图像帧中存在多个用户时,可以根据各用户的关节点的识别完整度、置信度或者各用户与拍摄视频的设备的距离,选择其中一个用户作为后续需要添加视频特效的对象。人体关节点用于确定图像帧中用户的动作状态,例如站立、鞠躬或跳跃等动作状态,以及用于确定用户的位置信息,例如用户与终端设备之间的距离、用户与终端设备所拍摄到的其他物体的相对位置或用户在终端设备所拍摄到的画面中的位置等位置信息。

在一个具体的例子中,如图1b所示,在移动终端中,人体轮廓具体如图所示,其中,人体轮廓中的圆圈表示识别到的人体关节点,两个人体关节点之间的连线用于表示人体的身体部位,例如,手腕关节点和手肘关节点之间的连线用于表示手腕和手肘之间的手臂。

对每个图像帧进行人体关节点识别操作,首先可以在图像帧中识别出所有人体区域,具体可以是根据图像帧所包含的深度信息(深度信息可以通过红外线摄像机获取),对该图像帧进行图像分割,识别出图像帧中所有人体区域。从所有人体区域中选择一个人体区域用于识别人体关节点,具体可以是根据人体区域与终端设备显示屏幕之间的距离,选择距离最短的人体区域作为需要识别人体关节点的用户,此外还可以选择其他方式确定,对此不做具体限制。在确定人体区域之后,对该人体区域进行人体关节点识别,确定属于该用户的所有人体关节点,进一步可以根据需要从该用户的所有人体关节点中筛选出至少一个目标人体关节点。

其中,识别人体关节点的方法具体可以是:在人体区域中确定属于该人体区域中的身体部位区域(手臂、手、大腿和脚等),并在各身体部位区域计算关节点(手肘、手腕和膝盖等)位置,最后根据识别到的各关节点位置,生成人体骨架系统,并从中根据需要确定目标人体关节点。此外,可以通过采用两个目标人体关节点的连线(如手腕关节点和手肘关节点之间的连线用于表示手腕和手肘之间的手臂),例如通过两个目标人体关节点的坐标确定两点构成的线段的向量,进一步判断用户某个身体部位区域的动作状态或位置,上述涉及到的人体识别、身体部位区域识别和身体部位区域中的关节点位置计算均可以采用预先训练的深度学习模型实现,而深度学习模型可以根据由人体深度信息提取出来的深度特征进行训练。

需要说明的是,识别人体关节点的方法还有其他方法,对此本公开实施例不作具体限制。

s120,在从所述至少一个图像帧中选取的图像帧中,判断识别出的目标人体关节点在所述图像帧中的位置是否满足预设的视频特效条件中关节位置条件,直至所述至少一个图像帧全部判断完成,如果是,执行s130;否则,执行s140。

具体的,对视频中所有图像帧识别到的目标人体关节点进行位置判断,具体可以是以按照视频的播放顺序逐一选取图像帧进行判断的方式。

视频特效条件可以是指用于添加视频特效的条件,具体可以包括关节位置条件和关节动作条件。

关节位置条件可以是指至少一个目标人体关节点的位置要求,用于开始添加视频特效,例如将左手放置在摄像头拍摄画面中心位置处,此外还可以是两个目标人体关节点的相对位置要求,例如将左手放置在左眼关节点所在区域,还有其他具体位置区域,对此本公开实施例不作具体限制。

其中,目标人体关节点满足预设的关节位置条件,可以是指该目标人体关节点持续位于设定位置范围内,或者是指该目标人体关节点进入或退出设定位置范围内。具体的,设定位置范围包括设定平面位置范围或者设定空间位置范围,其中,设定平面位置范围可以是指在与视频拍摄平面相同或平行的平面中的位置范围,当拍摄到的物体映射到该平面时的位置在设定位置范围内时,确定该物体满足设定平面位置范围;而设定空间位置范围是指视频中所拍摄到的空间中的位置范围,当拍摄到的物体在设定空间位置范围内时,确定该物体满足设定空间位置范围。也就是说设定平面位置范围不包含深度信息,而设定空间位置范围包含深度信息。在一个具体的例子中,如图1c所示,三个方框为设定平面位置范围,如图1d所示,正方体内为设定空间位置范围。

需要说明的是,一个关节位置条件对应一个设定位置范围,同时对应一个视频特效,若存在两个关节位置条件,且当两个目标人体关节点分别满足上述两个关节位置条件对应的设定位置范围时,可以同时在该图像帧中添加两个关节位置条件对应的两个视频特效。

此外,一个关节位置条件还可以对应一个目标人体关节点,例如,脚部关节位置条件对应的目标人体关节点为脚腕关节点或,而非手腕关节点、头部关节点或肩部关节点等。

s130,将满足所述关节位置条件的目标人体关节点对应的图像帧作为目标图像帧,并获取所述目标图像帧之前的至少两个连续图像帧,执行s150。

具体的,至少两个连续图像帧可以是指连续的n个图像帧,n大于等于2,其中,连续可以是指n个连续图像帧在视频中的视频位置是连续的,或者是指n个连续图像帧在视频中的播放顺序是连续的。

获取目标图像帧之前的至少两个连续图像帧可以是指,根据视频中各图像帧的播放顺序(或拍摄顺序),获取目标图像帧之前的连续的n个图像帧。实际上是获取目标图像帧的前两个图像帧、前三个图像帧或前n个图像帧等,同时获取的图像帧是连续的。

s140,获取下一个图像帧,返回执行s120。

s150,根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态。

具体的,分别在至少两个连续图像帧中识别至少一个目标人体关节点,针对各目标人体关节点在至少两个连续图像帧中的位置,可以确定各目标人体关节点的位移。进一步的,根据目标人体关节点的位移,可以知道目标人体关节点的运动方向和运动距离,并根据至少两个连续图像帧的持续时间,确定目标人体关节点的运动速度,从而根据目标人体关节点的运动方向、运动距离和运动速度等信息,确定目标人体关节点的运动状态。例如,根据手腕关节点分别在30个连续图像帧中的位置,确定手腕关节点是向右持续平移10个像素。

s160,判断所述目标人体关节点的运动状态是否满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,如果是,则执行s170;否则,执行s140。

关节动作条件可以是指预设的关节点的动作,具体可以包括运动的方向、运动的速度和运动的距离等中的至少一种,例如手腕向下运动到设定区域范围,手腕以每帧1个像素的速度向右移动,或者多个关节点(如头部、肩膀和手肘)均向下移动,同时头部关节点的运动距离大于肩膀关节点的运动距离,肩膀关节点的运动距离大于手肘关节点的运动距离等,还有其他具体动作,对此本公开实施例不作具体限制。

需要说明的是,视频特效条件中包括多个关节位置条件和多个关节动作条件,同时包括关节位置条件和关节动作条件的对应关系,可以通过在目标人体关节点满足关节位置条件后,进一步判断目标人体关节点是否满足关节动作条件。例如,确定用户有击鼓动作时,需要先确定用户的手掌关节点是否进入鼓面区域,并在确定手掌关节点进入鼓面区域之后,进一步判断当前图像帧之前多个连续图像帧中手掌是否存在从上向下的运动状态,如果存在,则确定该用户的手掌关节点存在击打该鼓面区域的动作,从而可以对应添加该鼓面被击打对应的音乐效果和动画效果。

s170,获取与所述视频特效条件匹配的视频特效。

在视频中从满足视频特效条件的当前图像帧开始增加与视频特效条件匹配的视频特效。视频特效用于在目标图像帧中添加根据用户动作匹配的特殊效果,以实现与用户交互,具体可以是指动画特效和/或音乐特效,添加动画特效用于目标图像帧在显示的过程中同时绘制静态和/或动态图像覆盖于目标图像帧原有内容上,添加音乐特效用于在目标图像帧中显示的过程中,同时播放音乐。

s180,在所述视频中与所述目标图像帧关联的视频位置处,添加与所述视频特效条件匹配的视频特效。

视频位置用于表示图像帧在视频中的位置。由于视频拆分出的图像帧可以按照视频播放顺序进行排列,从而,视频位置还可以用于表示图像帧在视频播放过程中的播放时刻,该播放时刻可以是指相对视频播放的起始时刻的具体时刻。可以将视频拆分的一系列图像帧按照播放顺序进行编号,具体是:第一个播放的图像帧为第1帧,在第1帧图像帧之后播放的图像帧为第2帧,以此类推,将该视频中拆分的所有图像帧进行编号。例如,视频可拆分成100帧,每个图像帧对应有一个序号,目标图像帧可以是第50帧。

确定目标图像帧的视频位置之后,在该视频位置处添加视频特效。实际上,视频特效可以以代码形式表示,在该视频位置处添加视频特效,也即在该目标图像帧对应的代码片段中添加视频特效对应的代码片段,从而实现在目标图像帧中添加视频特效。

本公开实施例通过在视频的图像帧中识别到的目标人体关节点满足视频特效条件中关节位置条件以及满足与关节位置条件匹配的关节动作条件时,为该视频添加与视频特效条件匹配的动作特效,解决了视频交互应用的视频特效过于单一的问题,实现针对用户的关节点的位置以及关节点的运动状态增加视频特效,提高视频交互应用的丰富度,同时提高视频增加特效的灵活性。

实施例二

图2a为本公开实施例二提供的一种视频特效添加方法的流程图。本实施例以上述实施例中各个可选方案为基础进行具体化。在本实施例中,将获取视频中的至少一个图像帧具体化为:在视频录制过程中,实时获取所述视频中的至少一个图像帧。同时,将所述在所述视频中与所述目标图像帧关联的视频位置处,添加与所述关节位置条件匹配的视频特效具体化为:将所述目标图像帧的视频位置作为特效添加起点;根据与所述视频特效条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

相应的,本实施例的方法可以包括:

s210,在视频录制过程中,实时获取所述视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点。

可以实时拍摄视频,并实时获取视频中的各个图像帧。

本实施例中的视频、图像帧、目标人体关节点、视频特效条件、关节位置条件、关节动作条件、视频位置和视频特效等均可以参考上述实施例中的描述。

s220,在从所述至少一个图像帧中选取的图像帧中,判断识别出的目标人体关节点在所述图像帧中的位置是否满足预设的视频特效条件中关节位置条件,直至所述至少一个图像帧全部判断完成,如果是,执行s230;否则,执行s240。

s230,将满足所述关节位置条件的目标人体关节点对应的图像帧作为目标图像帧,并获取所述目标图像帧之前的至少两个连续图像帧,执行s250。

可选的,所述根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态,可以包括:根据在所述视频中与所述至少两个连续图像帧关联的视频位置,以及所述目标人体关节点在各所述连续图像帧中的位置确定所述目标人体关节点的运动状态。

具体的,根据各连续图像帧在视频中关联的视频位置,可以确定各连续图像帧在视频播放过程中的时间顺序,进一步根据目标人体关节点在各连续图像帧中的位置,可以确定任意两个相邻的连续图像帧中该目标人体关节点的运动方向和运动距离,进而确定目标人体关节点在各连续图像帧形成的视频片段中的运动方向和运动距离,从而确定目标人体关节点的运动状态。

可选的,所述确定所述目标人体关节点的运动状态满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,可以包括:如果所述目标人体关节点在各所述连续图像帧中的位置的变化方向满足所述关节动作条件中变化方向,则确定所述目标人体关节点的运动状态满足所述关节动作条件。

具体的,根据目标人体关节点在各连续图像帧中位置,具体可以是坐标信息,可以确定目标人体关节点在各连续图像帧中的变化方向。在一个具体的例子中,目标人体关节点在各连续图像帧中的位置由坐标(x1,y1)逐渐移动到坐标(x2,y2),目标人体关节点的位置的变化方向为坐标(x1,y1)指向坐标(x2,y2)的方向。

此外,通常目标人体关节点在各连续图像帧中的位置是随时间顺序连续变化,但在各连续图像帧中识别到的目标人体关节点存在误差,可以将识别到的突变或离散的位置作为误差剔除,保留目标人体关节点在各连续图像帧中连续变化的位置,作为确定判断位置变化方向的依据。

可选的,所述确定在目标图像帧中识别出的目标人体关节点在目标图像帧中的位置满足预设的视频特效条件中关节位置条件,包括:当所述目标人体关节点在所述图像帧中的位置处于所述关节位置条件匹配的设定位置范围内,且所述目标人体关节点在所述图像帧的前一图像帧中的位置不在所述设定位置范围内时,则将所述图像帧确定为目标图像帧,同时确定在所述目标图像帧中识别出的目标人体关节点满足所述关节位置条件。

具体的,将目标人体关节点进入设定位置范围的进入状态作为预设的关节位置条件,当目标人体关节点在当前图像帧中的设定位置范围内,且不在当前图像帧的前一个图像帧中设定位置范围内时,确定目标人体关节点由设定位置范围外,进入到设定位置范围内,从而确定目标人体关节点针对设定位置范围存在进入状态,进而确定目标人体关节点满足预设的关节位置条件。在一个具体的例子中,如图2b-图2c所示,设定位置范围为5个虚线矩形,各个矩形区域的尺寸可以不全相同,相应的,各矩形区域对应的视频特效可以相同,也可以不全相同,图2b中的左手手腕关节点在设定位置范围外,图2c中的左手手腕关节点在设定位置范围内,当用户左手手腕关节点的位置由图2b所示的位置变为图2c所示的位置时,确定用户左手手腕关节点从设定位置范围外进入到设定位置范围内,从而确定用户左手手腕关节点满足预设的关节位置条件。

s240,获取下一个图像帧,返回执行s220。

s250,根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态。

s260,判断所述目标人体关节点的运动状态是否满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,如果是,则执行s270;否则,执行s240。

s270,获取与所述视频特效条件匹配的视频特效。

s280,将所述目标图像帧的视频位置作为特效添加起点。

由于视频位置可以用于表示图像帧在视频中的位置,特效添加起点可以是指视频特效添加的起始位置。

s290,根据与所述视频特效条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

特效持续时间可以是指视频特效的起始位置到结束位置之间经历的时间。与特效持续时间匹配的图像帧可以是指在视频中从特效添加起点开始,也就是从目标图像帧开始,一直到该视频特效结束时对应的结束图像帧之间的所有图像帧。例如,视频特效为音乐特效,若一个音乐特效的持续时间为3s,在该视频中,1s播放30个图像帧,按视频播放顺序,从目标图像帧开始的90个图像帧(包括目标图像帧)即为与特效持续时间匹配的图像帧。

本公开实施例通过实时拍摄视频,并实时获取视频拆分的一系列图像帧,从而实时判断拍摄的视频中用户的目标人体关节点是否满足视频特效条件中关节位置条件以及与关节位置条件匹配的关节动作条件,并在满足视频特效条件的情况下,实时添加视频特效,可以实现在视频录制的同时添加视频特效,提高视频特效的添加效率。

在上述实施例的基础上,可选的,所述视频特效添加方法,还包括:在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

其中,视频预览界面可以是指用于用户浏览视频的终端设备的界面,其中,终端设备可以包括服务器端设备或客户端设备。在实时拍摄视频的同时,将视频实时显示在视频预览界面中,由此,用户可以实时浏览到拍摄的视频的内容。

在实时添加视频特效的同时,将视频特效跟随视频一起显示在视频预览界面中,以使用户实时浏览到添加视频效果后的视频,提高视频特效添加的效率,提高用户体验。

可选的,所述视频特效包括:动态动画特效,和/或音乐特效;所述在所述视频预览界面中,实时呈现添加所述视频特效的图像帧,包括:在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

具体的,当视频特效包括动态动画特效时,在实时显示的图像帧中绘制动态动画特效,例如,绘制乐器、背景和人物等中至少一种图像。当视频特效包括音乐特效时,在图像帧实时显示的同时播放音乐特效。通过设置视频特效包括动态动画特效和/或音乐特效,提高视频特效的多样性。

在一个具体的例子中,用户选择击鼓场景,并开始录制视频,通过视频预览界面将录制的视频以及添加的特效实时呈现给用户。根据用户的初始动作姿态,在视频中用户下肢部位处渲染鼓的动画效果。当用户左手手掌关节点从上到下落在鼓面区域时,在视频中渲染被击打的鼓面的动画效果,例如,当左手手掌关节点落在鼓面区域时,鼓面呈现凹面形状,同时播放击鼓的音效。

在另一个具体的例子中,用户选择跳舞毯(例如九宫格跳舞毯)场景,并开始录制视频。根据用户的初始动作姿态,在视频中用户的脚部区域处渲染跳舞毯的动画效果。当用户右脚脚腕关节点从上到下落在跳舞毯中间格区域时,在视频中跳舞毯中间格区域上渲染踩踏的动画效果,例如,当右脚脚腕关节点落在跳舞毯中间格区域时,该区域上半部呈现烟圈形状,并向外扩散,同时播放跳舞毯中间格对应的音效。

实施例三

图3为本公开实施例提供的一种视频特效添加装置的结构示意图,本实施例可适用于在视频中添加视频特效的情况。该装置可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中。如图3所示,该装置可以包括:目标人体关节点识别模块310、关节位置条件判断模块320、关节点运动状态检测模块330、关节动作条件判断模块340和视频特效添加模块350。

目标人体关节点识别模块310,用于获取视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点;

关节位置条件判断模块320,用于如果确定在目标图像帧中识别出的目标人体关节点在目标图像帧中的位置满足预设的视频特效条件中关节位置条件,则获取所述目标图像帧之前的至少两个连续图像帧;

关节点运动状态检测模块330,用于根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态;

关节动作条件判断模块340,用于如果确定所述目标人体关节点的运动状态满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,则获取与所述视频特效条件匹配的视频特效;

视频特效添加模块350,用于在所述视频中与所述目标图像帧关联的视频位置处,添加与所述视频特效条件匹配的视频特效。

本公开实施例通过在视频的图像帧中识别到的目标人体关节点满足视频特效条件中关节位置条件以及满足与关节位置条件匹配的关节动作条件时,为该视频添加与视频特效条件匹配的动作特效,解决了视频交互应用的视频特效过于单一的问题,实现针对用户的关节点的位置以及关节点的运动状态增加视频特效,提高视频交互应用的丰富度,同时提高视频增加特效的灵活性。

进一步的,所述目标人体关节点识别模块310,包括:图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;所述视频特效添加模块350,包括:特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;视频特效实时添加模块,用于根据与所述关节位置条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

进一步的,所述关节点运动状态检测模块,包括:运动状态确定模块,用于根据在所述视频中与所述至少两个连续图像帧关联的视频位置,以及所述目标人体关节点在各所述连续图像帧中的位置确定所述目标人体关节点的运动状态。

进一步的,所述关节动作条件判断模块340,包括:位置变化方向检测模块,用于如果所述目标人体关节点在各所述连续图像帧中的位置的变化方向满足所述关节动作条件中变化方向,则确定所述目标人体关节点的运动状态满足所述关节动作条件。

进一步的,所述关节位置条件判断模块320,包括:位置检测模块,用于当所述目标人体关节点在所述图像帧中的位置处于所述关节位置条件匹配的设定位置范围内,且所述目标人体关节点在所述图像帧的前一图像帧中的位置不在所述设定位置范围内时,则将所述图像帧确定为目标图像帧,同时确定在所述目标图像帧中识别出的目标人体关节点满足所述关节位置条件。

进一步的,所述视频特效添加装置,还包括:图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

进一步的,所述视频特效包括:动态动画特效,和/或音乐特效;所述视频特效实时呈现模块,包括:特效展示和播放模块,用于在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

本公开实施例提供的视频特效添加装置,与实施例一提供的视频特效添加方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见实施例一,并且本公开实施例与实施例一具有相同的有益效果。

实施例四

本公开实施例提供了一种终端设备,下面参考图4,其示出了适于用来实现本公开实施例的电子设备(例如客户端或服务器端)400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)、便携式多媒体播放器(pmp)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储装置408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

通常,以下装置可以连接至i/o接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从rom402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。

实施例五

本公开实施例还提供了一种计算机可读存储介质,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(rf)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点;如果确定在目标图像帧中识别出的目标人体关节点在目标图像帧中的位置满足预设的视频特效条件中关节位置条件,则获取所述目标图像帧之前的至少两个连续图像帧;根据所述至少两个连续图像帧识别出的目标人体关节点,确定所述目标人体关节点的运动状态;如果确定所述目标人体关节点的运动状态满足所述视频特效条件中与所述关节位置条件匹配的关节动作条件,则获取与所述视频特效条件匹配的视频特效;在所述视频中与所述目标图像帧关联的视频位置处,添加与所述视频特效条件匹配的视频特效。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,目标人体关节点识别模块还可以被描述为“获取视频中的至少一个图像帧,并在所述图像帧中识别用户的至少一个目标人体关节点的模块”。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1