动态表情生成方法、装置、计算机可读存储介质和计算机设备与流程

文档序号:16466799发布日期:2019-01-02 22:49阅读:149来源:国知局
本申请涉及计算机
技术领域
:,特别是涉及一种动态表情生成方法、装置、计算机可读存储介质和计算机设备。
背景技术
::随着互联网的快速发展,出现了各式各样的在线社交应用,包括即时通讯应用等。在使用这些社交应用的过程中,为了更形象、生动的表达想说的话,用户经常会发送一些动态表情,能够大大促进用户之间交流的灵活性和趣味性。目前,许多动态表情一般都是由社交应用的开发者预先设计好的,用户下载或保存后即可使用,这些动态表情无法满足用户的个性化需求。为了能够使用自定义的动态表情,用户只能先通过额外的工具对自己喜欢的素材处理后生成动态表情,再将动态表情导入至社交应用中方便自己使用,显然,这种生成动态表情的方式效率极低。技术实现要素:基于此,有必要针对现有的生成动态表情的方式效率较低的技术问题,提供一种动态表情生成方法、装置、计算机可读存储介质和计算机设备。一种动态表情生成方法,包括:在会话页面中进入表情输入面板;检测在所述表情输入面板中触发的视频拍摄事件;响应于所述视频拍摄事件,采集视频数据;获取针对所述视频数据的编辑操作;按照所述编辑操作对所述视频数据中各视频帧进行处理后合成动态表情;将所述动态表情对应的表情缩略图添加至所述表情输入面板中;所述表情缩略图用于在所述表情输入面板中检测到针对所述表情缩略图的选取事件时,将所述动态表情作为会话消息展示在所述会话页面中。一种动态表情生成装置,所述装置包括:检测模块,用于在会话页面中进入表情输入面板;检测在所述表情输入面板中触发的视频拍摄事件;采集模块,用于响应于所述视频拍摄事件,采集视频数据;获取模块,用于获取针对所述视频数据的编辑操作;合成模块,用于按照所述编辑操作对所述视频数据中各视频帧进行处理后合成动态表情;添加模块,用于将所述动态表情对应的表情缩略图添加至所述表情输入面板中;所述表情缩略图用于在所述表情输入面板中检测到针对所述表情缩略图的选取事件时,将所述动态表情作为会话消息展示在所述会话页面中。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述动态表情生成方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述动态表情生成方法的步骤。上述动态表情生成方法、装置、计算机可读存储介质和计算机设备,在进入会话页面中的表情输入面板后,可直接在表情输入面板中检测用户触发的视频拍摄事件,并响应于该视频拍摄事件采集视频数据,作为生成动态表情的素材,无需自行收集素材。在获取到针对采集的视频数据的编辑操作时,还可以按照用户的编辑操作对视频数据中各个视频帧进行相应的处理后合成动态表情,在将合成的动态表情对应的表情缩略图添加至表情输入面板中之后,用户就可从表情输入面板中选取添加的动态表情发送给通信对方,不仅能够满足用户个性化需求,也无需使用额外的工具,能够大大提高生成动态表情的效率。附图说明图1为一个实施例中动态表情生成方法的应用环境图;图2为一个实施例中动态表情生成方法的流程示意图;图3为一个实施例中在会话页面中展示表情输入面板的界面示意图;图4为一个实施例中在表情输入面板的收藏页签中展示表情拍摄图标步骤的界面示意图;图5为一个实施例中视频采集页面的界面示意图;图6为一个实施例中对会话页面中表情消息跟拍的步骤的流程示意图;图7为一个实施例中对会话页面中表情消息跟拍的界面示意图;图8为一个实施例中在视频采集页面中展示编辑图标的界面示意图;图9为一个实施例中将动态表情添加至表情输入面板的界面示意图;图10为一个具体的应用场景中生成动态表情的整体流程图;图11为一个实施例中将选择的表情缩略图对应的待附加表情添加至视频数据中的界面示意图;图12为一个实施例中将获取的文本添加至视频数据中的界面示意图;图13为一个具体的实施例中按照编辑操作对视频数据中各视频帧进行处理后合成动态表情的流程示意图;图14为一个具体的实施例中生成动态表情的流程示意图;图15为一个实施例中动态表情生成装置的结构框图;图16为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中动态表情生成方法的应用环境图。参照图1,该动态表情生成方法应用于动态表情生成系统。该动态表情生成系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110可在会话页面中进入表情输入面板,检测在表情输入面板中触发的视频拍摄事件,并响应于视频拍摄事件,采集视频数据;终端110还可获取针对视频数据的编辑操作,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情;终端110还可将动态表情对应的表情缩略图添加至表情输入面板中;表情缩略图用于在表情输入面板中检测到针对表情缩略图的选取事件时,将动态表情作为会话消息展示在会话页面中。需要说明的是,上述的应用环境只是一个示例,在一些实施例中,终端110还可将采集的视频数据以及获取的针对该视频数据的编辑操作发送至服务器120,由服务器120按照编辑操作对视频数据中各视频帧进行处理后合成动态表情,并将合成的动态表情对应的表情缩略图反馈至终端110,由终端110在表情输入面板中添加该表情缩略图,这样终端110在检测到针对表情输入板中该表情缩略图的触发操作时,可从服务器120拉取与该表情缩略图对应的动态表情,并将该动态表情作为会话消息展示在会话页面中。如图2所示,在一个实施例中,提供了一种动态表情生成方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该动态表情生成方法具体包括如下步骤:s202,在会话页面中进入表情输入面板。其中,会话页面是用于展示会话消息的页面,比如可以是社交应用中用于展示会话双方发送的会话消息的页面。社交应用是基于社交网络进行网络社交互动的应用,社交应用通常具有即时通信功能,社交应用可以是即时通信应用等,会话消息就可以是即时会话消息。表情是一种具有意思表达功能的图像,可反映发送该表情的用户的内心活动、情绪、情感或特定语义。表情包括静态表情和动态表情。通常,静态表情是一帧静态图片,可以是png(portablenetworkgraphics,便携式网络图形)的文件格式,而动态表情是一个动画,由多帧图片合成,可以是gif(graphicsinterchangeformat,图像互换格式)的文件格式。表情输入面板是存放各个表情对应的表情缩略图的容器,用户可在表情输入面板中添加新的表情。表情输入面板还可以包括用于容纳不同类别或不同来源的表情对应的表情缩略图的多个页签,比如,用于容纳社交应用的开发者自行设计的表情对应的表情缩略图的常用页签、用于容纳当前用户收藏的表情对应的表情缩略图的收藏页签以及用于下载、保存或导入新的表情的添加页签,等等。通常,在会话页面中,表情输入面板可以与文本输入面板来回切换,用户可在切换至文本输入面板时在文本输入框中输入文本,并向通信对方发送文本消息,在切换至表情输入面板时通过输入表情向通信对方发送表情消息。表情输入面板与文本输入面板可统称为会话面板。具体地,终端可在会话页面中展示表情输入图标,在检测到针对该表情输入图标的触发事件时,在会话页面中展示表情输入面板,进入到表情输入面板中。终端就可在检测到当前用户触发的针对表情输入面板中任意一个表情缩略图的触发操作时,获取该表情缩略图对应的表情,将获取的表情发送至登录了通信对方的登录账号的另一终端,并将获取的表情展示在当前的会话页面中。本实施例中,针对表情缩略图的触发操作可以是点击操作、按压操作、移动操作或滑动操作等。图3为一个实施例中在会话页面中展示表情输入面板的示意图。参照图3终端可在会话页面30中展示输入框31,在输入框31中检测到针对表情输入图标32的触发操作时,在会话页面30中展示表情输入面板33。s204,检测在表情输入面板中触发的视频拍摄事件。其中,视频拍摄事件是触发拍摄视频的事件。具体地,表情输入面板中不仅包括各个表情对应的表情缩略图,还可包括表情拍摄图标,终端可检测当前用户触发的针对该表情拍摄图标的视频拍摄事件。视频拍摄事件可以是针对该表情拍摄图标的点击操作。在一个实施例中,表情输入面板可包括多个页签,终端可在这多个页签中的任意一个页签中展示表情拍摄图标,从而可在该页签检测针对表情拍摄图标的视频拍摄事件;终端也可以在每一个页签中均展示表情拍摄图标,这样,终端可检测在任一个页签中触发的表情拍摄图标的视频拍摄事件。如图4所示,为一个实施例中在表情输入面板的收藏页签中展示表情拍摄图标的示意图。参照图4,用户可在进入到表情输入面板中的收藏页签40,点击表情拍摄图标41,触发视频数据的拍摄。s206,响应于视频拍摄事件,采集视频数据。其中,视频数据是生成动态表情的素材,视频数据包括采集的多个视频帧。具体地,终端可在检测到在表情输入面板中触发的视频拍摄事件时,响应于该视频拍摄事件,控制配置的采集装置采集视频数据。采集装置比如可以是终端上配置的前置摄像头或后置摄像头。在一个实施例中,终端可在检测到视频拍摄事件时,从会话页面跳转至视频采集页面,并在视频采集页面中直接调用采集装置开始采集视频数据,并将采集的视频数据展示在视频采集页面中,直至采集完成。终端可以在检测到用户触发的采集结束事件时结束采集,获得视频数据。在一个实施例中,步骤s206,响应于视频拍摄事件,采集视频数据包括:响应于视频拍摄事件,从会话页面跳转至视频采集页面;在视频采集页面中展示实时采集的画面;检测到视频采集页面中触发的录制启动事件时,开始录制视频数据;直到视频采集页面中触发录制结束事件时,获得录制完成的视频数据。其中,录制启动事件可以是用户触发的针对录制图标的触发事件,比如针对录制图标的按压操作、点击操作或滑动操作等;录制结束事件可以是录制图标的状态从被按压状态切换至未按压状态的事件,或者是录制视频数据的录制时长达到预设时长的事件。具体地,终端可通过视频采集页面展示实时采集的画面,比如,用户可通过终端上配置的前置摄像头采集包括用户人脸的实时画面,还可以通过配置的后置摄像头采集包括用户人脸的实施画面。在检测到在视频采集页面中触发的录制启动事件时,就开始录制视频数据,直到在视频采集页面中检测到触发的录制结束事件时,就获取录制完成的视频数据。如图5所示,为一个实施例中视频采集页面的界面示意图。参照图5,用户可在视频采集页面50中长按录制图标51,触发启动视频数据的录制,并在按压结束时或者录制视频数据的时长到达预设时长时,就获得录制完成的视频数据,其中预设时长比如可以是5至10秒。如图6所示,在一个实施例中,动态表情生成方法还包括:s602,获取针对会话页面中表情消息的跟拍操作。其中,表情消息是以表情为内容的会话消息。跟拍操作也是用户触发的视频拍摄事件。用户既可以在表情输入面板中触发视频拍摄事件,也可以通过表情消息触发视频拍摄事件。具体地,对于展示在会话页面中的表情消息,终端可检测用户触发的针对该表情消息的跟拍操作,从而触发视频数据的采集,获得视频数据,再执行获取针对视频数据的编辑操作,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情,将动态表情对应的表情缩略图添加至表情输入面板中的步骤。在一个实施例中,终端可在检测到针对会话页面中任意一个表情消息中表情的按压操作时,展示该表情对应的详情菜单,检测用户触发的针对该详情菜单中“跟拍”选项的触发操作,获取针对该表情消息的跟拍操作。s604,响应跟拍操作从会话页面跳转至视频采集页面。具体地,在检测到针对表情消息的跟拍操作后,可从会话页面跳转至视频采集页面,在视频采集页面中展示实时采集的画面。s606,将表情消息对应的表情以半透明方式展示在视频采集页面中。s608,将实时采集的画面与以半透明方式展示的表情叠加展示。具体地,终端可将表情消息对应的表情以半透明方式作为实时采集的画面的前景,展示在视频采集页面中,这样,实际采集到的画面就可以与半透明的表情叠加显示在视频采集页面中,能够引导对实时采集的画面录制视频数据。终端仍可在检测到视频采集页面中触发的录制启动事件时,开始对实时采集的画面录制视频数据;直到视频采集页面中触发录制结束事件时,获得录制完成的视频数据。需要说明的是,以半透明方式展示的表情仅用于引导视频数据的录制,在视频数据录制结束后获得的视频数据中并不包括半透明方式展示的表情。在一个实施例中,步骤s606还可以是,将表情消息对应的表情中的文本以原始样式展示在视频采集画面中,将表情消息对应的表情中除文本以外的内容以半透明方式展示在视频采集页面中,即文本是以非透明方式展示在视频采集页面中的。那么,在步骤s608就可以是,将实时采集的画面,与该表情中以原始样式展示的文本以及以半透明方式展示的内容叠加展示在视频采集页面中。在一个实施例中,当表情消息对应的表情为静态表情时,则该静态表情作为前景以半透明方式叠加在实时采集的画面上。当表情消息对应的表情为动态表情时,则该动态表情作为前景以半透明方式循环地在实时采集的画面上播放。如图7所示,为一个实施例中对会话页面中表情消息跟拍的界面示意图。在图7中,用户可点击会话页面70中的表情消息71后弹出该表情消息中表情所对应的详情菜单72,用户再点击该详情菜单72中的“跟拍”选项73,从而触发从会话页面70跳转至视频采集页面74,在该视频采集页面74中进行视频数据的采集。s208,获取针对视频数据的编辑操作。其中,编辑操作是对录制的视频数据进行进一步处理的操作。终端可在视频采集页面中展示录制的视频数据的视频封面,并展示各个编辑操作对应的编辑图标,获取用户通过这些编辑图标触发的针对录制的视频数据的编辑操作。编辑操作包括用于去除视频数据中的背景的去背景操作、用于对视频数据进行加速播放的加速操作、用于在视频数据中添加额外表情的表情附加操作和用于在视频数据中添加额外文字的文字附加操作,等等。表情附加操作比如可以是贴表情操作,文字附加操作比如可以是贴字幕操作。如图8所示,为一个实施例中在视频采集页面中展示编辑图标的示意图。参照图8,在视频采集页面80中,展示录制的视频数据的视频封面81,获取用户在该视频采集页面80中通过去背景图标82、加速播放图标83、贴表情图标84或贴字幕图标85的触发的针对视频数据的编辑操作。s210,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情。其中,视频数据包括多个视频帧,终端可按照获取的针对视频数据的编辑操作对视频数据中各个视频帧进行相应的处理,再将处理后的各个视频帧合成得到动态表情,合成后得到的动态表情的文件格式可以是gif。终端可在检测到用户触发的确认合成操作时,将处理后的各个视频帧合成得到动态表情,也可在编辑操作完成后就对处理后的各个视频帧合成得到动态表情。在一个实施例中,动态表情生成方法还包括:当未获取到针对视频数据的编辑操作、且检测到确认合成操作时,则可直接根据采集的视频数据中各视频帧进行合成,得到动态表情。具体地,若终端未在视频采集页面检测到用户触发的针对视频数据的编辑操作,而在该页面检测到用户触发的针对视频数据的确认合成操作时,就可以按照动态表情的文件格式所对应编码方式直接对采集的视频数据中各视频帧进行编码,将编码后的各视频帧合成动态表情。在一个实施例中,动态表情生成方法还包括:在合成动态表情前,检测各视频帧所包括像素点的透明度;根据透明度从所包括像素点中确定半透明像素点;将各视频帧中的半透明像素点的透明度调整至非透明值后,进行动态表情的合成。其中,各像素点的透明度可用各个像素的非透明度参数的值来表示,非透明度参数的值越大,则该像素点越不透明。非透明度参数值可以用百分比(比如(0%到100%)、整数(比如0到255)或者实数(比如0到1)表示。比如一个像素的非透明度参数的值为0%,那它就是完全透明的,也就是看不见的,非透明度参数的值为100%则该像素点完全不透明,而非透明度参数的值处于0%至100%之间的像素点则可以透过背景显示出来,这些像素点为半透明像素点。为了避免生成的动态表情因为具有透明度在不同背景的界面中显示出来时会出现不同的效果,导致动态表情不能表达出原有的意思,因此,在对处理后的各个视频帧合成动态表情之前,终端可对各视频帧中各像素点的透明度进行检测,并将各视频帧中半透明像素点的透明度调整至非透明值之后,才能将各视频帧进行合成得到动态表情。s212,将动态表情对应的表情缩略图添加至表情输入面板中;表情缩略图用于在表情输入面板中检测到针对表情缩略图的选取事件时,将动态表情作为会话消息展示在会话页面中。其中,表情缩略图与一个表情对应。对于静态表情而言,表情缩略图可以是静态表情的缩小图,对于动态表情而言,可以取动态表情的首帧图或最后一帧图的缩小图作为表情缩略图。表情缩略图与表情对应存储。具体地,终端可将最终合成各视频帧得到的动态表情对应的表情缩略图添加至表情输入面板中,这样,终端在表情输入面板中检测到针对该表情缩略图的选取事件时,就可以将该表情缩略图对应的动态表情发送给通信对方,并将该动态表情展示在当前用户所使用终端的会话页面中。终端还可获取针对表情输入面板中任意一个表情的移除操作,根据移除操作从表情输入面板中移除该表情。如图9所示,为一个实施例中将动态表情添加至表情输入面板的界面示意图。当用户在视频采集页面90中对视频数据编辑完成后,点击确认合成图标91,终端就执行按照编辑操作对视频数据中各视频帧进行处理后合成动态表情的步骤,并将合成的动态表情对应的表情缩略图92添加至表情输入面板93中,用户点击该表情缩略图92就可以将对应的动态表情94发送至通信对方,并将该动态表情展示在会话页面95中。在一个实施例中,终端可获取当前用户的用户信息,将生成的动态表情与该用户信息对应存储在服务器上,以便当前用户可以在不同的设备上都能使用该动态表情。比如,社交应用可以是微信(wechat),终端可将生成动态表情与当前用户的微信号对应存储,用户在不同设备上登录该微信号时就可以从服务器拉取与该微信号对应的动态表情。如图10所示,为一个具体的应用场景中生成动态表情的整体流程图。首先,在会话页面的表情输入面板或表情消息中触发视频拍摄事件;然后,进入视频采集页面采集视频数据;接着,用户根据需要点击去背景图标、加速图标、表情附加图标或文本附加图标,对视频数据进行编辑;接着,用户点击确认合成按钮根据编辑后的视频数据生成动态表情;最后将动态表情与用户信息对应存储并添加至表情输入面板中。上述动态表情生成方法,在进入会话页面中的表情输入面板后,可直接在表情输入面板中检测用户触发的视频拍摄事件,并响应于该视频拍摄事件采集视频数据,作为生成动态表情的素材,无需自行收集素材。在获取到针对采集的视频数据的编辑操作时,还可以按照用户的编辑操作对视频数据中各个视频帧进行相应的处理后合成动态表情,在将合成的动态表情对应的表情缩略图添加至表情输入面板中之后,用户就可从表情输入面板中选取添加的动态表情发送给通信对方,不仅能够满足用户个性化需求,也无需使用额外的工具,能够大大提高生成动态表情的效率。在一个实施例中,编辑操作包括去背景操作;步骤s210,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情包括:按照各视频帧的图像属性对各视频帧提取人脸特征;根据人脸特征确定各视频帧中人体的轮廓信息;按照轮廓信息确定各视频帧的背景区域;将背景区域中各像素点的透明度调整至透明值;对调整后的各视频帧进行合成得到动态表情。当终端实时采集的画面中包括人脸时,比如用户通过前置摄像头采集的画面中包括用户的人脸,终端以录制该画面得到的视频数据作为素材合成动态表情,就能够得到一些个性化、更具趣味性的动态表情。其中,去背景操作是指用户通过视频采集页面中的去背景图标触发的事件,终端可在检测到该去背景操作后对视频数据中各视频帧进行去背景处理。视频帧的图像属性包括视频帧中各像素点的像素值、颜色分量值、色调、饱和度、亮度、色彩通道等。人脸特征是能够表达视频帧中所包括人脸的特征。具体地,终端在检测到针对采集的视频数据的去背景操作后,可通过训练好的机器学习模型按照各视频帧的图像属性对各视频帧提取人脸特征,提取的人脸特征能够表达各视频帧所包含的信息,根据提取的人脸特征在各个视频帧中确定人脸的器官或预定义的特征点所在的位置,位置可以用二维坐标表示,从而根据多个人脸的器官所在的位置或多个特征点在视频帧中的位置得到人体的轮廓信息,轮廓信息包括人脸脸型的轮廓信息和体型的轮廓信息,这样,终端就可按照轮廓信息确定各视频帧中除人脸和人体之外的背景区域,将背景区域中各像素点的透明度调整至完全透明的透明值,使得背景区域不可见,就实现了对采集的视频数据进行去背景处理,以便基于去背景后的各视频帧合成动态表情。在本实施例中,在确定了视频帧中背景区域后,通过将背景区域中各像素点的像素值调整至透明值,实现对各视频帧进行去背景处理,从而使得合成的动态表情也没有了杂乱的背景。并且,用户直接在视频采集页面中触发去背景操作就可实现对采集的视频数据进行去背景,无需额外的工具进行去背景处理后再合成动态表情,提高了生成动态表情的效率。在一个实施例中,编辑操作包括加速操作;步骤s210,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情包括:计算视频数据经过加速操作后对应的时间戳数组;遍历时间戳数组中的元素值;从视频数据选取时间戳与元素值对应的视频帧,直至遍历完毕;对选取的各视频帧进行合成得到动态表情。其中,加速操作是指用户通过视频采集页面中的加速图标触发的事件,终端可在检测到该事件时对采集的视频数据进行加速处理,以得到加速的动态表情。时间戳数组是采集的视频数据的时间戳构成的数组,经过加速操作后对应的时间戳数组是视频数据原始的时间戳中抽取的若干个时间戳构成的数组。抽取的数量与加速的倍率有关。具体地,终端可在计算得到视频数据经过加速后的时间戳数组后,对该时间戳数组中各个元素值进行遍历,按照遍历的元素值从视频数据中选取相应的视频帧,然后对选取的视频帧合成动态表情。在一个实施例中,计算视频数据经过加速操作后对应的时间戳数组具体包括:获取采集的视频数据的录制时长,根据录制时长和视频数据的帧率计算得到视频数据中各视频帧原始的时间戳,获取加速操作对应的加速倍率,按照加速倍率从原始的时间戳中间隔选取原始的时间戳,根据选取的时间戳生成加速操作后对应的时间戳数组。比如,若采集的视频数据的时长为5秒,该视频数据的帧率为40,即每秒40帧视频,则该视频数据各个视频帧对应的原始的时间戳可以是:0.025、0.050、0.075、0.100、0.125、0.150、0.175、0.200、……、4.900、4.925、4.950、4.975、5.000;若加速操作对应的倍率是2倍,那么终端可计算经过加速操作后对应的时间戳数组中各元素值分别为:0.050、0.100、0.150、0.200、0.250、0.300、……、4.850、4.900、4.950、5.000。在一个实施例中,若采集的视频数据的时长、加速操作对应的倍率均是预先定义的,那么相应的加速操作后对应的时间戳数组也可预先定义好,终端只需按预先定义的时间戳数组从视频数据中抽取相应的视频帧。在上述实施例中,通过计算加速操作后对应的时间戳数组,可从原始的视频数据中抽取相应的视频帧,将抽取的视频帧合成后得到动态表情,实现了对采集的视频数据的加速播放。并且,也不需要额外的工具对采集的视频数据进行加速处理,提高了生成动态表情的效率。在一个实施例中,编辑操作包括表情附加操作;步骤s210,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情包括:响应于表情附加操作,展示表情输入面板;获取从表情输入面板中选择的表情缩略图对应的待附加表情;将待附加表情的表情图添加到视频数据的各视频帧中;对添加了表情图的各视频帧进行合成得到动态表情。其中,表情附加操作是指用户通过视频采集页面中的表情附加图标触发的事件,终端可在检测到该事件时对采集的视频数据进行添加表情处理,以得到添加了表情的动态表情,添加的表情是源自于表情输入面板中的表情。具体地,终端在获取到针对视频数据的表情附加操作时,在视频采集页面中展示表情输入面板,获取用户从表情输入面板中选取的表情缩略图对应的待附加表情,将待附加表情添加在视频数据的各个视频帧中,终端就可以将添加了表情的视频帧合成动态表情。由于表情输入面板中的表情包括用户按照自己的兴趣收藏的表情对应的缩略图,还包括用户自定义的动态表情对应的缩略图,因而用户可按自己的兴趣在采集的视频数据中添加表情,这样合成的动态表情更符合用户的个性化需求。如图11所示,为一个实施例中将选择的表情缩略图对应的待附加表情添加至视频数据中的界面示意图。参照图11,终端在检测到用户在视频采集页面1101中通过点击表情附加图标1102触发的表情附加操作后,在视频采集页面1101中弹出表情输入面板1103,用户点击表情输入面板1103中的表情缩略图1104,终端就可将用户选择的表情缩略图对应的表情添加到视频数据中。在一个实施例中,将待附加表情的表情图添加到视频数据的各视频帧中包括:根据待附加表情生成多个不同的表情图;将多个不同的表情图分别对应到视频数据中的各视频帧;在视频数据中的各视频帧中分别添加相对应的表情图。在一个实施例中,待附加表情可以是静态表情。终端可直接将该待附加表情分别添加在视频数据的各个视频帧中。终端也可生成与该待附加表情对应的多个不同规格的表情图,将这多个不同的表情图分别对应的各个视频帧,在各个视频帧中分别添加对应的表情图,这样,在播放合成得到的动态表情时,添加的进来的表情可以呈现出一种动态的晃动效果。在一个实施例中,不同规格的表情图可以是与待附加表情的内容相同、但尺寸不同的表情图。比如,采集的视频数据的帧率为40,终端可在获取到用户从表情输入面板中选取的表情缩略图对应的待附加表情后,就生成与待附加表情对应的四个不同尺寸的表情图,分别为大尺寸表情图、中尺寸表情图、小尺寸表情图和加小尺寸表情图,那么,对于采集的每1秒的视频数据,可在第1帧至第5帧中添加大尺寸表情图,在第6帧至第10帧中添加中尺寸表情图,在第11帧至第15帧中添加小尺寸表情图,在第16帧至第20帧中添加加小尺寸表情图,在第21帧至第25帧中添加大尺寸表情图……,依此类推,可在视频数据的各视频帧中添加相应的表情图。在一个实施例中,待附加表情可以是动态表情。终端可获取待附加表情中每一帧表情图,将多个不同的表情图分别对应到视频数据中的各视频帧;在视频数据中的各视频帧中分别添加相对应的表情图。当待附加表情的时长小于视频数据的总时长时,可将待附加表情对应的多个不同的表情图循环地添加至视频数据的各个视频帧中;当待附加表情的时长等于视频数据的总时长时,可将待附加表情对应的多个不同的表情图一一添加至对应的视频帧中;当待附加表情的时长大于视频数据的总时长时,可从待附加表情对应的多个表情图中截取在前的多个表情图对应到视频数据的各视频帧,或者从待附加表情对应的多个表情图中抽取相应的表情图对应到视频数据的各视频帧,将对应的表情图添加至相应的视频帧中。在上述实施例中,通过在采集的视频数据中添加从表情输入面板中选取的表情,避免了添加的内容较为单一,不能添加用户喜欢的内容的问题。比如,只能添加一些贴纸,并且这些贴纸是由开发者自行设计的固定贴纸,从而生成的动态表情不能满足用户的个性化需求。并且,是在完成视频数据的采集后用户可直接在视频数据中添加表情,不需要额外的根据对采集的视频数据进行贴表情处理,提高了生成动态表情的效率。在一个实施例中,编辑操作包括文本附加操作;步骤s210,按照编辑操作对视频数据中各视频帧进行处理后合成动态表情包括:响应于文本附加操作,获取待添加的文本;将待添加的文本添加到视频数据的各视频帧中;对添加了文本的各视频帧进行合成得到动态表情。其中,文本附加操作是指用户通过视频采集页面中的文本附加图标触发的事件,终端可在检测到该事件时对采集的视频数据进行添加文本处理,以得到添加了文本的动态表情。在一个实施例中,获取待添加的文本包括:提供文本输入框,获取在文本输入框中输入的文本作为待添加的文本;或者,获取在采集视频数据时录制的语音数据,对语音数据进行语音识别得到待添加的文本。也就是,添加的文本可以是用户输入的文本也可以是对视频数据中的语音数据进行语音识别得到的文本。具体地,终端在获取到针对视频数据的文本附加操作时,在视频采集页面中展示文本输入面板,获取用户在文本输入面板的文本输入框中输入的文本,作为待添加文本,将获取的待添加文本添加在视频数据的各个视频帧中,终端就可以将添加了文本的视频帧合成动态表情。终端也可在获取到针对视频数据的文本附加操作时,对视频数据中的语音数据进行语音识别,将识别到的文本作为待添加文本添加到各个视频帧中。终端还可将语音识别得到的文本展示在文本输入面板中,用户可对该文本进行编辑,以保证待添加文本的准确性。如图12所示,为一个实施例中将获取的文本添加至视频数据中的界面示意图。参照图12,终端在检测到用户在视频采集页面1201中通过点击文本附加图标1202触发的表情附加操作后,在视频采集页面1201中弹出文本输入面板1203,用户通过文本输入面板1203输入文本“目瞪口呆”,点击“完成(√)”后终端就可将用户输入的文本添加到视频数据中。在一个实施例中,终端可直接将待添加的文本添加到视频数据的各视频帧中。终端也可根据获取的文本生成多个不同字体大小或不同字体颜色的文本;将多个不同字体大小或不同字体颜色的文本分别对应到视频数据中的各视频帧;在视频数据中的各视频帧中分别添加相对应的文本。这样,在播放合成得到的动态表情时,添加的文本可以呈现出一种动态的晃动效果。比如,采集的视频数据的帧率为40,终端可在获取到用户从文本输入面板中输入的文本后,就生成与输入的文本对应的四个不同字体大小的表情图,分别为大字体文本、中字体文本、小字体文本和加小字体文本,那么,对于采集的每1秒的视频数据,可在第1帧至第5帧中添加大字体文本,在第6帧至第10帧中添加中字体文本,在第11帧至第15帧中添加小字体文本,在第16帧至第20帧中添加加小字体文本,在第21帧至第25帧中添加大字体文本……,依此类推,可在视频数据的各视频帧中添加相应的文本。在上述实施例中,通过在视频采集页面中展示文本输入面板,可直接获取用户输入的或语音识别得到文本,就可以直接添加至采集的视频数据中,无需通过其它工具添加文本后合成动态表情,提高了生成动态表情的效率。如图13所示,为一个具体的实施例中按照编辑操作对视频数据中各视频帧进行处理后合成动态表情的流程示意图。参照图13,首先判断是否获取到针对视频数据的加速操作,若是,则获取与采集的视频数据按照加速操作后对应的时间戳数组,遍历时间戳数组的元素值,从视频数据中选取与元素值对应的视频帧;若否,则获取视频数据中的每一个视频帧;接着判断是否获取到针对视频数据的去背景操作,若是,则对选取或获取的视频帧的背景区域中各像素点的透明度调整为透明值;接着判断是否获取到针对视频数据的表情附加操作或文本附加操作,若是,则在选取或获取的视频帧中绘制获取的待附加表情或待附加文本;进一步地,还可截除选取或获取的视频帧的四个圆角,并将视频帧中的半透明像素点的透明度调整为非透明值,最后将处理后的各个视频帧按照相应的编码标准合成动态表情。如图14所示,为一个具体的实施例中生成动态表情的流程示意图。参照图14,该方法包括:s1402,在会话页面中进入表情输入面板,检测在表情输入面板中触发的视频拍摄事件;响应于视频拍摄事件,从会话页面跳转至视频采集页面;在视频采集页面中展示实时采集的画面;或者,s1404,获取针对会话页面中表情消息的跟拍操作;响应跟拍操作从会话页面跳转至视频采集页面;将表情消息对应的表情以半透明方式展示在视频采集页面中;将实时采集的画面与以半透明方式展示的表情叠加展示。s1406,检测到视频采集页面中触发的录制启动事件时,开始录制视频数据。s1408,直到视频采集页面中触发录制结束事件时,获得录制完成的视频数据。s1410,获取针对视频数据的编辑操作;s1412,当编辑操作包括去背景操作时,则按照各视频帧的图像属性对各视频帧提取人脸特征;根据人脸特征确定各视频帧中人体的轮廓信息;按照轮廓信息确定各视频帧的背景区域;将背景区域中各像素点的透明度调整至透明值;对调整后的各视频帧进行合成得到动态表情。s1414,当编辑操作包括加速操作时,则计算视频数据经过加速操作后对应的时间戳数组;遍历时间戳数组中的元素值;从视频数据选取时间戳与元素值对应的视频帧,直至遍历完毕;对选取的各视频帧进行合成得到动态表情。s1416,当编辑操作包括表情附加操作时,则响应于表情附加操作,展示表情输入面板;获取从表情输入面板中选择的表情缩略图对应的待附加表情;根据待附加表情生成多个不同的表情图;将多个不同的表情图分别对应到视频数据中的各视频帧;在视频数据中的各视频帧中分别添加相对应的表情图;对添加了表情图的各视频帧进行合成得到动态表情。s1418,当编辑操作包括文本附加操作时,则响应于文本附加操作,提供文本输入框,获取在文本输入框中输入的文本作为待添加的文本,或者,获取在采集视频数据时录制的语音数据,对语音数据进行语音识别得到待添加的文本;将待添加的文本添加到视频数据的各视频帧中;对添加了文本的各视频帧进行合成得到动态表情。s1420,将动态表情对应的表情缩略图添加至表情输入面板中;表情缩略图用于在表情输入面板中检测到针对表情缩略图的选取事件时,将动态表情作为会话消息展示在会话页面中。上述动态表情生成方法,在进入会话页面中的表情输入面板后,可直接在表情输入面板中检测用户触发的视频拍摄事件,并响应于该视频拍摄事件采集视频数据,作为生成动态表情的素材,无需自行收集素材。在获取到针对采集的视频数据的编辑操作时,还可以按照用户的编辑操作对视频数据中各个视频帧进行相应的处理后合成动态表情,在将合成的动态表情对应的表情缩略图添加至表情输入面板中之后,用户就可从表情输入面板中选取添加的动态表情发送给通信对方,不仅能够满足用户个性化需求,也无需使用额外的工具,能够大大提高生成动态表情的效率。图14为一个实施例中动态表情生成方法的流程示意图。应该理解的是,虽然图14的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图14中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。在一个实施例中,如图15所示,提供了一种动态表情生成装置1500,该装置1500包括检测模块1502、采集模块1504、获取模块1506、合成模块1508和添加模块1510,其中:检测模块1502,用于在会话页面中进入表情输入面板;检测在表情输入面板中触发的视频拍摄事件;采集模块1504,用于响应于视频拍摄事件,采集视频数据;获取模块1506,用于获取针对视频数据的编辑操作;合成模块1508,用于按照编辑操作对视频数据中各视频帧进行处理后合成动态表情;添加模块1510,用于将动态表情对应的表情缩略图添加至表情输入面板中;表情缩略图用于在表情输入面板中检测到针对表情缩略图的选取事件时,将动态表情作为会话消息展示在会话页面中。在一个实施例中,采集模块1504包括跳转模块、展示模块、录制模块和视频数据获取模块;跳转模块用于响应于视频拍摄事件,从会话页面跳转至视频采集页面;展示模块用于在视频采集页面中展示实时采集的画面;录制模块用于检测到视频采集页面中触发的录制启动事件时,开始录制视频数据;视频数据获取模块用于直到视频采集页面中触发录制结束事件时,获得录制完成的视频数据。在一个实施例中,编辑操作包括去背景操作;合成模块1508还用于按照各视频帧的图像属性对各视频帧提取人脸特征;根据人脸特征确定各视频帧中人体的轮廓信息;按照轮廓信息确定各视频帧的背景区域;将背景区域中各像素点的透明度调整至透明值;对调整后的各视频帧进行合成得到动态表情。在一个实施例中,编辑操作包括加速操作;合成模块1508还用于计算视频数据经过加速操作后对应的时间戳数组;遍历时间戳数组中的元素值;从视频数据选取时间戳与元素值对应的视频帧,直至遍历完毕;对选取的各视频帧进行合成得到动态表情。在一个实施例中,编辑操作包括表情附加操作;合成模块1508还用于响应于表情附加操作,展示表情输入面板;获取从表情输入面板中选择的表情缩略图对应的待附加表情;将待附加表情的表情图添加到视频数据的各视频帧中;对添加了表情图的各视频帧进行合成得到动态表情。在一个实施例中,合成模块1508还用于根据待附加表情生成多个不同的表情图;将多个不同的表情图分别对应到视频数据中的各视频帧;在视频数据中的各视频帧中分别添加相对应的表情图。在一个实施例中,编辑操作包括文本附加操作;合成模块1508还包括文本获取模块和文本添加模块;文本获取模块用于响应于文本附加操作,获取待添加的文本;文本添加模块用于将待添加的文本添加到视频数据的各视频帧中;合成模块还用于对添加了文本的各视频帧进行合成得到动态表情。在一个实施例中,文本获取模块还用于提供文本输入框,获取在文本输入框中输入的文本作为待添加的文本。在一个实施例中,文本获取模块还用于获取在采集视频数据时录制的语音数据,对语音数据进行语音识别得到待添加的文本。在一个实施例中,动态表情生成装置1500还包括透明度调整模块;透明度调整模块用于在合成动态表情前,检测各视频帧所包括像素点的透明度;根据透明度从所包括像素点中确定半透明像素点;将各视频帧中的半透明像素点的透明度调整至非透明值后,进行动态表情的合成。在一个实施例中,动态表情生成装置1500还包括跟拍模块,跟拍模块用于获取针对会话页面中表情消息的跟拍操作;响应跟拍操作从会话页面跳转至视频采集页面;将表情消息对应的表情以半透明方式展示在视频采集页面中;将实时采集的画面与以半透明方式展示的表情叠加展示。在一个实施例中,合成模块1508还用于当未获取到针对视频数据的编辑操作、且检测到确认合成操作时,则直接根据采集的视频数据中各视频帧进行合成,得到动态表情。上述动态表情合成装置1500,在进入会话页面中的表情输入面板后,可直接在表情输入面板中检测用户触发的视频拍摄事件,并响应于该视频拍摄事件采集视频数据,作为生成动态表情的素材,无需自行收集素材。在获取到针对采集的视频数据的编辑操作时,还可以按照用户的编辑操作对视频数据中各个视频帧进行相应的处理后合成动态表情,在将合成的动态表情对应的表情缩略图添加至表情输入面板中之后,用户就可从表情输入面板中选取添加的动态表情发送给通信对方,不仅能够满足用户个性化需求,也无需使用额外的工具,能够大大提高生成动态表情的效率。图16示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图16所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现动态表情生成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行动态表情生成方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。计算机设备的摄像头可以是前置摄像头或后置摄像头,计算机设备的声音采集装置可以是麦克风。本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。在一个实施例中,本申请提供的动态表情生成装置1500可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该动态表情生成装置1500的各个程序模块,比如,图15所示的检测模块1502、采集模块1504、获取模块1506、合成模块1508和添加模块1510。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的动态表情生成方法中的步骤。例如,图16所示的计算机设备可以通过如图15所示的动态表情生成装置1500中的检测模块1502执行步骤s202和步骤s204。计算机设备可通过采集模块1504执行步骤s206。计算机设备可通过获取模块1506执行步骤s208。计算机设备可通过合成模块1508执行步骤s210。计算机设备可通过添加模块1510执行步骤s212。在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述动态表情生成方法的步骤。此处动态表情生成方法的步骤可以是上述各个实施例的动态表情生成方法中的步骤。在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述动态表情生成方法的步骤。此处动态表情生成方法的步骤可以是上述各个实施例的动态表情生成方法中的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1