一种智能录像方法和装置
本申请要求在2019年8月22日提交中国国家知识产权局、申请号为201910780567.8的中国专利申请的优先权,发明名称为“一种智能录像方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术和人工智能领域,尤其涉及一种智能录像方法和装置。
背景技术
在进行视频播放时,若手机等电子设备每秒播放的帧数小于视频录制时每秒录制的帧数,则会有慢动作的播放效果。例如,如果以30帧/秒(frames per second,fps)的播放帧率播放视频,那么若电子设备以60fps的录像帧率录制视频,则会有2倍的慢动作播放效果;若电子设备以960fps的录像帧率录制视频,则会有32倍的慢动作播放效果。
大数据统计发现,人们在录制慢动作过程中经常来不及捕获转瞬即逝的精彩瞬间,导致录制的慢动作起止点不符合用户预期,造成用户时间浪费甚至用户拍照体验的下降。现有的终端设备自动录制慢动作视频的方案中,最普遍的方式为对屏幕上的检测框内进行突变检测。当前后两帧图像对应像素点灰度值变化大于预设阈值时,则自动录制慢动作视频,实现自动慢动作功能。现有技术的慢动作录制方案,受背景环境因素影响较大,在复杂场景下极易误触发。另一方面,现有技术拍摄的慢动作视频,当检测到检测框内有物体运动时,就会触发慢动作视频录制,很可能无法捕捉到完整的人体动作。如图1所示,此时拍摄场景中为用户从“跑”到“跳”的过程,现有技术的慢动作录制中,当检测框内检测到用户跑的动作就会触发慢动作录制,因此电子设备很可能无法捕捉完整的用户跳跃的精彩动作。
发明内容
本申请实施例提供一种智能录像方法和装置,在慢动作录制过程中,能够对被拍摄人体进行动作识别,当识别到人体预设动作时,自动触发慢动作视频录制。同时,电子设备可对人体动作的起始点和结束点进行识别,并将人体动作起始点和人体动作结束点之间的视频帧编码成慢动作视频。根据不同的人体动作类型,电子设备可推荐不同的慢动作录制帧率,提高用户录制慢动作视频的体验。
为达到上述目的,本申请实施例采用如下技术方案:
一方面,本申请实施例提供了一种视频拍摄装置,包括:一个或多个摄像头,用于采集图像或视频;触摸屏,包括触控面板和显示屏;一个或多个处理器;一个或多个存储器;以及一个或多个计算机程序;其中,一个或多个计算机程序被存储在所述存储器中,一个或多个计算机程序包括指令;当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
启动相机应用;在相机应用的慢动作视频录制模式下,当相机应用的运动侦测功能开启时:检测到用户输入的视频录制指令,开始采集视频帧;
根据采集到的第一视频帧获取视频帧中人体的人体骨骼点信息;
根据第一视频帧中的人体骨骼点信息确定人体的运动;
当人体的运动为预设运动时,自动录制第二视频帧集合;
生成目标视频,目标视频包括慢动作视频片段,慢动作视频片段包括第二视频帧集合中 的部分视频帧。
另一方面,本申请实施例提供了一种视频拍摄装置,包括:一个或多个摄像头,用于采集图像或视频;触摸屏,包括触控面板和显示屏;一个或多个处理器;一个或多个存储器;以及一个或多个计算机程序;其中,一个或多个计算机程序被存储在所述存储器中,一个或多个计算机程序包括指令;当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
启动相机应用;在相机应用的慢动作视频录制模式下,当相机应用的运动侦测功能开启时:检测到用户输入的视频录制指令,开始采集视频帧;当采集的第一视频帧集合中的人体的运动为预设运动时,以第一帧率自动录制第二视频帧集合;生成第一目标视频,第一目标视频包括第一慢动作视频片段,第一慢动作视频片段包括所述第二视频帧集合中的部分视频帧;当人体的运动为第一预设运动时,第一慢动作视频片段在第一播放速度下的播放时长为第一时长;当人体的运动为第二预设运动时,第一慢动作视频片段在所述第一播放速度下的播放时长为第二时长。其中,第一预设动作和所述第二预设动作不同,第一时长和所述第二时长不同。
其中,启动相机应用可以是,相机应用从后台运动到前台运动,也可以是相机应用进程从未创建进程到创建进程。第一人体和第二人体可以相同也可以不同。其中第一目标视频和第二目标视频为慢动作视频,所谓慢动作视频或慢速视频,当视频的播放帧率小于录制帧率时,也会有慢动作效果,即一段慢动作视频。其中第一视频帧集合可以全部视频都包含人体,也可以是部分视频帧包含人体。在该方案中,电子设备可对被拍摄人体的动作进行识别,当识别到人体的运动动作为预设动作时,才会自动触发慢动作视频录制,可为用户抓拍到转瞬即逝的人体精彩动作,提高用户拍摄慢动作视频的体验。不同的人体运动可对应不同的慢动作视频时长,电子设备可根据不同的人体运动生成不同的慢动作视频时长。例如,电子设备在检测到人体运动时触发慢动作视频录制,以960fps录制了1s的视频,当以30fps进行编码时,则会生成一个32倍的慢速视频,例如,原视频中被拍摄对象运动速度为v
0,则生成的慢速视频的速度为v
0/32,即播放速度为原视频播放速度的1/32。当电子设备判断该人体运动为跳跃时,可在1s的视频中选取0.5s生成慢动作视频片段,慢动作视频片段前后可通过抽帧各生成1s的常速视频,当以30fps进行编码时,最终生成的慢动作视频为1s常速+16s慢速+1s常速,即第一慢动作片段的播放时长为16s。当电子设备判断该人体运动为投篮时,可在1s的视频中选取0.3s生成慢动作视频片段,慢动作视频片段前后壳通过抽帧各生成1s的常速视频,当以30fps进行编码时,最终生成的慢动作视频为1s常速+0.3x32s慢速+1s常速=1s常速+9.6慢速+1s常速,即第二慢动作片段的即播放时长为16s。
在一实施方式中,电子设备在启动相机应用后,显示慢动作预览界面,该慢动作预览界面包括运动侦测控件。
在该方案中,电子设备启动相机应用后,可显示慢动作预览界面,一种可能的方式是,相机应用中包含进入到慢动作预览界面的控件,用户点击该控件后,可进入到慢动作预览界面。一种可能的实现方式中,启动相机应用后,可直接显示慢动作预览界面。该慢动作预览界面包括运动侦测控件,用户可触发该运动侦测控件,打开或关闭运动侦测功能。在一种可能的实现方式中,电子设备进入到慢动作预览界面后,该运动侦测功能默认为开启状态,用户可手动关闭该功能。
在一实施方式中,电子设备执行:检测到用户输入的视频录制指令,开始采集视频帧,包括,在慢动作预览界面显示采集到的视频帧。
在该方案中,电子设备在检测到用户输入的视频录制指令后,开始采集视频帧,在慢动作预览界面上可以实时显示电子设备采集的视频。其中“采集”过程电子设备实时获取预览窗口中的视频帧,将视频帧保存在易失性存储介质中。可理解为,用户按在慢动作视频拍摄按钮,到触发慢动作视频拍摄前,电子设备获取慢动作预览界面中的视频帧的过程为“采集”。在一实现方式中,电子设备可对采集到的视频帧进行抽帧,将经过抽帧后的视频帧显示在预览窗口。
在一实施方式中,电子设备执行:当采集的第一视频帧集合中的人体的运动为第一预设运动时,以第一帧率自动录制第二视频帧集合,包括,根据第一视频帧集合获取人体骨骼点信息;根据第一视频帧集合中的人体骨骼点信息确定人体的运动;当人体的运动为预设运动时,以第一帧率自动录制第二视频帧集合。
在该方案中,电子设备可通过神经网络处理器(neural-network processing unit,NPU)中预设的网络推理模块对被拍摄人体进行实时的姿态点估计和动作类型识别,其中网络推理模块中包含有预先基于卷积神经网络(Convolutional Neural Network,CNN)建立的用于识别人体姿态特征点(包括头部、手部、腿部等多个关节点)的关键点检测模型,和用于识别人体动作(包括跳跃、投篮、踢球等常见运动)的动作检测模型。因此可通过关键点检测模型对摄像头实时获取的视频帧进行人体姿态估计,得到人体的骨骼点信息。然后通过运动检测模型对关键点检测模型输出的人体骨骼点信息进行分析,进而得到人体运动类型。当电子设备识别到人体动作类型时,则会自动触发慢动作视频录制。其中“录制”是指电子设备触发慢动作视频拍摄后,将从慢动作预览窗口中获取的视频帧保存下来,保存在非易失性存储介质中。
在一实施方式中,电子设备执行根据第一视频帧集合获取人体骨骼点信息之前,电子设备还执行以下步骤:根据第一视频帧集合判断被拍摄对象为人体时,获取人体骨骼点信息。
在该方案中,电子设备在获取人体骨骼点信息,需要对被拍摄对象进行判断,当被拍摄对象为人体时,才获取人体的骨骼点信息。
在一实施方式中,电子设备执行:生成目标视频,第一目标视频包括第一慢动作视频片段,包括,根据第二视频帧中的一部分生成第一目标视频中的第一慢动作视频片段;或根据第一视频帧中的一部分和第二视频帧中的一部分生成第一目标视频中的第一慢动作视频片段。
在该方案中,电子设备在获取第二视频帧后,可将第二视频帧中的一部分编码生成第一慢动作片段。或者,电子设备也可以选取第二视频帧的一部分和第一视频帧的一部分,生成第一慢动作片段。
其中第一目标视频还可以包括常速视频片段或快速视频片段,其中常速视频片段可以由电子设备对第一视频帧集合或第二视频帧集合抽帧生成,常速视频片段中人体的运动速度与被拍摄人体的真实运动速度相同。所谓快速视频或快动作视频,当视频的播放帧率大于录制帧率时,也会有快速效果,即快速视频中被拍摄人体的运动速度大于被拍摄人体的真实运动速度。例如,以960fps录制1s的视频,1s中可以获取960帧视频帧,可通过对960帧视频帧进行抽帧,生成一个1s的常速视频。可对1s中的960帧视频帧,以低于960fps的帧率进行编码,如30fps,则会生成一个32s的32倍慢速视频。可对1s中的960帧视频帧,以高于960fps的帧率进行编码,如1920fps,则会生成一个0.5秒的2倍快速视频。
其中,第一目标视频还包括常速视频片段或快速视频片段。
在一实施方式中,电子设备还执行:将第二视频帧集合中包含预设运动的起始动作的视频帧,作为第一慢动作视频片段的起始帧;将第二视频帧集合中包含预设运动的结束动作的 视频帧,作为第一慢动作视频片段的结束帧。
该方案中,电子设备在识别出被拍摄人体的运动为第一预设动作后,可对第一预设动作的起始点和动作结束点进行识别,从而将包含人体动作类型的视频帧编码成慢动作视频呈现给用户,带给用户以较好的慢动作视频拍摄体验。
其中预设动作包括:旋转、欢呼、跳跃、投篮、运球、劈腿跳、上篮、滑板、高尔夫击球等。在一种可能的实现方式中,电子设备可根据人体头部、手部、腿部等多个关节点的速度、位移、姿态变化等,对人体的运动进行预判,并可根据人体头部、手部、腿部等多个关节点的速度、位移、姿态变化等判断触发慢动作视频拍摄的条件。
在一实施方式中,电子设备执行:生成第一目标视频,包括,当第二视频帧集合中的目标视频帧出现人体的预设动作时,将目标视频帧作为第一目标视频的封面。
该方案中,电子设备可将第二视频中人体动作最舒展或人体跳跃最高点的视频帧作为最佳帧,并作为慢动作视频的封面呈现给用户。相较现有方案中将慢动作视频的第一帧或最后一帧作为慢动作视频的封面,本方案可以给用户带来更好的视觉体验。其中,预设动作可以理解为在第一预设动作中电子设备为用户推荐的最佳视频帧,如投篮动作中的扣篮瞬间动作、人体跳跃时的最高点等。慢动作视频的封面可以理解为当慢动作视频存储在图库中时,用户在还未播放慢动作视频时,所看到的图库中慢动作视频为用户展示的视频帧。
在一实施例中,电子设备还执行:根据第二视频帧集合中的部分视频帧,生成第一目标图片,其中第一目标图片中的人体动作为预设动作;并保存第一目标图片。
在该方案中,电子设备可将第二视频中人体动作最舒展或人体跳跃最高点的视频帧作为最佳帧,生成一张目标图片保存在图库中。其中保存可理解为将第一目标图片保存在非易失性存储介质中。
在一实施例中,电子设备还执行:根据第二视频帧集合中的部分视频帧,生成第二目标图片,其中第二目标图片中包括预设运动的运动轨迹;并保存所述第二目标图片。
本方案中,电子设备可对第二视频帧中的人体和背景进行分割,生活一张人体运动轨迹图片,保存在图库中。
在一实施例中,电子设备还执行:当相机应用的运动侦测功能开启时:当采集的第三视频帧集合中的人体的运动为预设运动时,自动录制第四视频帧集合;生成第二目标视频,其中第二目标视频包括第二慢动作视频片段,第二慢动作视频片段包括第四视频帧集合中的部分视频帧,当人体的运动为第三预设运动时,第二慢动作视频片段的播放速度被自动确定为第一速度。
其中第三预设动作与第一预设动作可以相同,也可以不同。在该方案中,电子设备可根据人体运动类型为用户推荐更合适的帧率。根据不同的运动推荐不同的帧率,生成的慢动作视频片段的播放速度会有不同,以达到更好的慢动作效果。
另一方面,本申请实施例提供了一种智能录像装置,包括:一个或多个摄像头,用于采集图像或视频;触摸屏,包括触控面板和显示屏;一个或多个处理器;一个或多个存储器;以及一个或多个计算机程序;其中,一个或多个计算机程序被存储在所述存储器中,一个或多个计算机程序包括指令;当指令被电子设备执行时,使得电子设备执行以下步骤:启动相机应用;在相机应用的慢动作视频录制模式下,当相机应用的运动侦测功能开启时:检测到用户输入的视频录制指令,开始采集视频帧;当采集的第一视频帧集合中的人体的运动为预设运动时,自动录制第二视频帧集合;生成目标视频,目标视频包括慢动作视频片段,慢动作视频片段包括第二视频帧集合中的部分视频帧;当人体的运动为第一预设运动时,慢动作视频 片段的播放速度被自动确定为第一速度;当人体的运动为第二预设运动时,慢动作视频片段的播放速度被自动确定为第二速度。其中,第一预设运动和第二预设运动不同,第一速度和第二速度不同。
该方案中,在用户不知道该选择多少帧率来录制慢动作视频,电子设备可根据不同的人体运动为用户推荐更适合的帧率,给用户带来更好的慢动作视频录制体验。在编码帧率一定的情况下,推荐不同的帧率可生成不同的视频播放速度。例如,在跳跃动作下,电子设备推荐帧率为480fps,以30fps进行编码,则可生成16倍速的慢速视频,即慢动作视频的播放速度为原视频速度的1/16。在投篮动作下,电子设备推荐帧率为960fps,以30fps进行编码,则可生成32倍速的慢速视频,即慢动作视频的播放速度为原视频速度的1/32。
在一实施例中,电子设备在启动相机应用后,显示慢动作预览界面,该慢动作预览界面包括运动侦测控件。
在一实施方式中,电子设备执行:检测到用户输入的视频录制指令,开始采集视频帧,包括,在慢动作预览界面显示采集到的视频帧。
在一实施方式中,电子设备执行:当采集的第一视频帧集合中的人体的运动为预设运动时,自动录制第二视频帧集合,包括,根据第一视频帧集合获取人体骨骼点信息;根据第一视频帧集合中的人体骨骼点信息确定人体的运动;当人体的运动为预设运动时,自动录制第二视频帧集合。
在一实施方式中,电子设备执行根据第一视频帧集合获取人体骨骼点信息之前,电子设备还执行以下步骤:根据第一视频帧集合判断被拍摄对象为人体时,获取人体骨骼点信息。
在一实施方式中,电子设备执行:生成目标视频,目标视频包括慢动作视频片段,包括,根据第二视频帧中的一部分生成目标视频中的慢动作视频片段;根据第一视频帧中的一部分和第二视频帧中的一部分生成目标视频中的慢动作视频片段。
其中,目标视频还包括常速视频片段或快速视频片段。
在一实施方式中,电子设备还执行:将第二视频帧集合中包含预设运动的起始动作的视频帧,作为慢动作视频片段的起始帧;将第二视频帧集合中包含预设运动的结束动作的视频帧,作为慢动作视频片段的结束帧。
其中预设动作包括:旋转、欢呼、跳跃、投篮、运球、劈腿跳、上篮、滑板、高尔夫击球等。
在一实施方式中,电子设备执行:生成目标视频,包括,当第二视频帧集合中的目标视频帧出现人体的预设动作时,将目标视频帧作为目标视频的封面。
在一实施例中,电子设备还执行:根据第二视频帧集合中的部分视频帧,生成第一目标图片,其中第一目标图片中的人体动作为预设动作;并保存第一目标图片。
在一实施例中,电子设备还执行:根据第二视频帧集合中的部分视频帧,生成第二目标图片,其中第二目标图片中包括预设运动的运动轨迹;并保存所述第二目标图片。
另一方面,本申请实施例提供了一种视频拍摄方法,包括:启动相机应用;在相机应用的慢动作视频录制模式下,当相机应用的运动侦测功能开启时:检测到用户输入的视频录制指令,开始采集视频帧;当采集的第一视频帧集合中的第一人体的运动为第一预设运动时,以第一帧率自动录制第二视频帧集合;生成第一目标视频,第一目标视频包括第一慢动作视频片段,第一慢动作视频片段包括第二视频帧集合中的部分视频帧;第一慢动作视频片段在第一播放速度下的播放时长为第一时长;
检测到用户输入的视频录制指令,开始采集视频帧;当采集的第三视频帧集合中的第二 人体的运动为第二预设运动时,以第一帧率自动录制第四视频帧集合;生成第二目标视频,第二目标视频包括第二慢动作视频片段,第二慢动作视频片段包括第四视频帧集合中的部分视频帧;第二慢动作视频片段在第一播放速度下的播放时长为第二时长,第一预设动作和第二预设动作不同,第一时长和第二时长不同。
在一实施例中,在启动相机应用后,可以显示慢动作预览界面,该慢动作预览界面包括运动侦测控件。
在一实施方式中,检测到用户输入的视频录制指令,开始采集视频帧,包括,在慢动作预览界面显示采集到的视频帧。
在一实施方式中,当采集的第一视频帧集合中的人体的运动为第一预设运动时,以第一帧率自动录制第二视频帧集合,包括,根据第一视频帧集合获取人体骨骼点信息;根据第一视频帧集合中的人体骨骼点信息确定人体的运动;当人体的运动为预设运动时,以第一帧率自动录制第二视频帧集合。
在一实施方式中,根据第一视频帧集合获取人体骨骼点信息之前,电子设备可根据第一视频帧集合判断被拍摄对象进行判断,当被拍摄对象为人体时,获取人体骨骼点信息。
在一实施方式中,生成目标视频,第一目标视频包括第一慢动作视频片段,包括,根据第二视频帧中的一部分生成第一目标视频中的第一慢动作视频片段;或根据第一视频帧中的一部分和第二视频帧中的一部分生成第一目标视频中的第一慢动作视频片段。
其中,第一目标视频还包括常速视频片段或快速视频片段。
在一实施方式中,第一预设运动包括起始动作和结束动作,电子设备将第二视频帧集合中包含起始动作的视频帧,作为第一慢动作视频片段的起始帧;将第二视频帧集合中包含结束动作的视频帧,作为第一慢动作视频片段的结束帧。
其中预设动作包括:旋转、欢呼、跳跃、投篮、运球、劈腿跳、上篮、滑板、高尔夫击球等。
在一实施方式中,生成第一目标视频,包括,当第二视频帧集合中的目标视频帧出现人体的预设动作时,将目标视频帧作为第一目标视频的封面。
在一实施例中,电子设备根据第二视频帧集合中的部分视频帧,生成第一目标图片,其中第一目标图片中的人体动作为预设动作;并保存第一目标图片。
在一实施例中,电子设备根据第二视频帧集合中的部分视频帧,生成第二目标图片,其中第二目标图片中包括预设运动的运动轨迹;并保存所述第二目标图片。
在一实施例中,在运动侦测功能开启时:检测到用户输入的视频录制指令,开始采集视频帧;当采集的第五视频帧集合中的第三人体的运动为第三预设运动时,自动录制第六视频帧集合;生成第三目标视频,第三目标视频包括第三慢动作视频片段,第三慢动作视频片段包括第六视频帧集合中的部分视频帧,第三慢动作视频片段的播放速度被自动确定为第一速度。
另一方面,本申请实施例提供了一种视频拍摄方法,包括:启动相机应用;在相机应用的慢动作视频录制模式下,当相机应用的运动侦测功能开启时:检测到用户输入的视频录制指令,开始采集视频帧;当采集的第一视频帧集合中的第一人体的运动为第一预设运动时,自动录制第二视频帧集合;生成第一目标视频,第一目标视频包括第一慢动作视频片段,第一慢动作视频片段包括第二视频帧集合中的部分视频帧;第一慢动作视频片段的播放速度被自动确定为第一速度;
检测到用户输入的视频录制指令,开始采集视频帧;当采集的第三视频帧集合中的第二 人体的运动为第二预设运动时,自动录制第四视频帧集合;生成第二目标视频,第二目标视频包括第二慢动作视频片段,第二慢动作视频片段包括第四视频帧集合中的部分视频帧;第二慢动作视频片段的播放速度被自动确定为第二速度,第一预设运动和第二预设运动不同,所述第一速度和所述第二速度不同。
在一实施例中,在启动相机应用后,可以显示慢动作预览界面,该慢动作预览界面包括运动侦测控件。
在一实施方式中,检测到用户输入的视频录制指令,开始采集视频帧,包括,在慢动作预览界面显示采集到的视频帧。
在一实施方式中,当采集的第一视频帧集合中的人体的运动为第一预设运动时,以第一帧率自动录制第二视频帧集合,包括,根据第一视频帧集合获取人体骨骼点信息;根据第一视频帧集合中的人体骨骼点信息确定人体的运动;当人体的运动为预设运动时,以第一帧率自动录制第二视频帧集合。
在一实施方式中,根据第一视频帧集合获取人体骨骼点信息之前,电子设备可根据第一视频帧集合判断被拍摄对象进行判断,当被拍摄对象为人体时,获取人体骨骼点信息。
在一实施方式中,生成目标视频,第一目标视频包括第一慢动作视频片段,包括,根据第二视频帧中的一部分生成第一目标视频中的第一慢动作视频片段;或根据第一视频帧中的一部分和第二视频帧中的一部分生成第一目标视频中的第一慢动作视频片段。
其中,第一目标视频还包括常速视频片段或快速视频片段。
在一实施方式中,第一预设运动包括起始动作和结束动作,电子设备将第二视频帧集合中包含起始动作的视频帧,作为第一慢动作视频片段的起始帧;将第二视频帧集合中包含结束动作的视频帧,作为第一慢动作视频片段的结束帧。
其中预设动作包括:旋转、欢呼、跳跃、投篮、运球、劈腿跳、上篮、滑板、高尔夫击球等。
在一实施方式中,生成第一目标视频,包括,当第二视频帧集合中的目标视频帧出现人体的预设动作时,将目标视频帧作为第一目标视频的封面。
在一实施例中,电子设备根据第二视频帧集合中的部分视频帧,生成第一目标图片,其中第一目标图片中的人体动作为预设动作;并保存第一目标图片。
在一实施例中,电子设备根据第二视频帧集合中的部分视频帧,生成第二目标图片,其中第二目标图片中包括预设运动的运动轨迹;并保存所述第二目标图片。
另一方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的设计中的视频拍摄方法。
另一方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的设计中的视频拍摄方法。
附图说明
图1为现有技术中录制人体动作的慢动作视频的示意图;
图2为本申请实施例提供的一种电子设备的硬件结构示意图;
图3为本申请实施例提供的一种拍摄原理示意图;
图4为本申请实施例提供的一种慢动作视频的录制原理示意图;
图5为本申请实施例提供的一组显示界面示意图;
图6为本申请实施例提供的另一组显示界面示意图;
图7为本申请实施例提供的另一组显示界面示意图;
图8为本申请实施例提供的另一组显示界面示意图;
图9为本申请实施例提供的一种慢动作视频录制时间和播放之间的比例关系图
图10为本申请实施例提供的一组显示界面示意图;
图11为本申请实施例提供的一种慢动作录像方法流程图;
图12为本申请实施例提供的一种自动慢动作视频录像过程示意图;
图13为本申请实施例提供的另一种自动慢动作视频录像过程示意图;
图14为本申请实施例提供的一组显示界面示意图;
图15为本申请实施例提供的一种慢动作视频的录制原理示意图;
图16为本申请实施例提供的一种慢动作视频录像过程示意图;
图17为本申请实施例提供的一组显示界面示意图;
图18为本申请实施例提供的另一组显示界面示意图;
图19为本申请实施例提供的另一组显示界面示意图;
图20为本申请实施例提供的另一组显示界面示意图;
图21为本申请实施例提供的另一组显示界面示意图;
图22为本申请实施例提供的一种生成人体运动轨迹图片的示意图;
图23为本申请实施例提供的一种人体关节点模型示意图;
图24A为本申请实施例提供的一种识别人体动作开始帧的示意图;
图24B为本申请实施例提供的一种识别人体动作结束帧的示意图;
图25A为本申请实施例提供的一种根据人体第一预设运动自动生成慢动作视频的示意图;
图25B为本申请实施例提供的一种根据人体第二预设运动自动生成慢动作视频的示意图;
图25C为本申请实施例提供的另一种根据人体第一预设运动自动生成慢动作视频的示意图;
图25D为本申请实施例提供的另一种根据人体第一预设运动自动生成慢动作视频的示意图;
图26为本申请实施例提供的一种光流法识别推荐区间起止点的示意图;
图27为本申请实施例提供的一种慢动作视频录像过程示意图;
图28为本申请实施例提供的一种调整慢动作区间的示意图;
图29为本申请实施例提供的一种手动模式下慢动作视频录制过程示意图;
图30为本申请实施例提供的另一种手动模式下慢动作视频录制过程示意图;
图31为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。如下所示:
帧率(Frame rate):是以帧为单位的位图图像连续出现在显示器上的频率(速率)。
FPS(Frames Per Second):即每秒显示的帧数(帧/秒),每秒钟帧数越多,电子设备所显示的画面就会越流畅。
视频帧:以960fps为例,在1秒的拍摄时间内电子设备可连续采集到960帧拍摄画面,则每一个拍摄画面即可称为一个视频帧。
录像帧率/录制帧率/拍摄帧率:电子设备在单位时间内录制/拍摄的视频帧的数量。
播放帧率:在进行视频播放时,电子设备每秒播放的视频帧的数量。
显示帧率:电子设备相机应用的预览界面中单位时间内显示的视频帧的数量。当电子设备显示帧率高于16fps时,人眼就会认为看到的画面是连贯的。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请实施例提供的录像方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等任意可以通过摄像头进行视频录制的电子设备上,本申请实施例对此不作任何限制。
示例性的,图2示出了电子设备200的结构示意图。
电子设备200可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接 收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141可接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
电源管理模块141可用于监测电池容量,电池循环次数,电池充电电压,电池放电电压,电池健康状态(例如漏电,阻抗)等性能参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括一个或多个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(Bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成一个或多个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidou navigation satellite system,BDS),准天顶卫星***(quasi-zenith satellite system,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。在一些实施例中,手机100可以包括1个或N个摄像头,N为大于1的正整数。摄像头193可以是前置摄像头也可以是后置摄像头。如图3所示,摄像头193一般包括镜头(lens)和感光元件(sensor),该感光元件可以为CCD(charge-coupled device,电荷耦合元件)或者CMOS(complementary metal oxide semiconductor,互补金属氧化物半导体)等任意感光器件。
仍如图3所示,在拍摄照片的过程中,被拍摄物体的反射光线经过镜头后可生成光学图像,该光学图像投射到感光元件上,感光元件将接收到的光信号转换为电信号,进而,摄像头193将得到的电信号发送至DSP(Digital Signal Processing,数字信号处理)模块进行数字信号处理,最终得到一帧数字图像。
类似的,在拍摄视频的过程中,摄像头193可按照一定的帧率连续拍摄多帧数字图像,这连续的多帧数字图像经过编码后可形成一段视频。由于人类眼睛的特殊生理结构,当所看画面的帧率高于16帧/秒(fps)时,人眼就会认为是看到的画面是连贯的,此现象可称为视觉停留。为了保证用户观看视频的连贯性,手机在拍摄视频时可按照高于16帧/秒的帧率(例如30fps或60fps)采集每一帧图像。这样,用户在观看手机拍摄出的视频时从感官上认为视频中的画面是连贯的。
其中,使用摄像头193拍摄得到的图像或视频可通过显示屏194在手机100上输出,也可以将该数字图像存储在内部存储器121(或外部存储器120)中,本申请实施例对此不做任何限制。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功 能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行本申请一些实施例中所提供的联系人智能推荐的方法,以及各种功能应用和数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备101使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在另一些实施例中,处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,来使得电子设备100执行本申请实施例中所提供的智能推荐号码的方法,以及各种功能应用和数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置一个或多个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等,本申请实施例对此不做任何限制。
当然,本申请实施例提供的电子设备100还可以包括按键190、马达191、指示器192以及SIM卡接口195等一项或多项器件,本申请实施例对此不做任何限制。
为了方便清楚地理解下述各实施例,首先给出相关技术的简要介绍:
慢动作摄影,也可称为高帧率摄影,可慢速播放拍摄到的画面内容。一般,电子设备进行慢动作摄影时使用的拍摄帧率较高。例如,开启慢动作摄影后,如图4所示,用户可选择960fps的拍摄帧率录制短视频,则电子设备可按照960fps的拍摄帧率采集每一帧拍摄画面。也就是说,在1秒的拍摄时间内电子设备可连续采集到960帧拍摄画面。同时,在这1秒的 拍摄过程中用户可在相机应用的预览界面中实时预览正在拍摄的画面。例如,仍如图4所示,电子设备可按照30fps的显示帧率抽帧并显示拍摄画面。也就是说,电子设备每秒可从采集到的960帧拍摄画面中抽取30帧拍摄画面显示在拍摄界面的取景窗口中,从而保证拍摄慢动作视频时用户在取景窗口中看到的画面是连贯的。
后续,在播放这1秒的慢动作视频时,电子设备可按照低于960fps的编码速率对上述960帧拍摄画面进行编码。例如,电子设备可按照30fps的编码速率对采集到的960帧拍摄画面进行编码。此时,原本1秒的视频内容可被慢速播放为32秒(即960fps/32x)的一段视频,即一段32倍(32x)的慢动作视频,实现慢动作播放的功能。
再例如,用户可以选择240fps的拍摄帧率录制短视频,则电子设备可按照240fps的拍摄帧率采集每一帧拍摄画面。也就是说,在1秒的拍摄时间内电子设备可连续采集到240帧拍摄画面。在播放这1秒的慢动作视频时,电子设备可按照低于240fps的编码速率对上述240帧拍摄画面进行编码。例如,电子设备可按照30fps的编码速率对采集到的240帧拍摄画面进行编码。此时,原本1秒的视频内容可被慢速播放为8秒(即240fps/8x)的一段视频,即一段8倍(8x)的慢动作视频,实现慢动作播放的功能。
示例性的,图5示出了一种手机的图形用户界面(graphical user interface,GUI),该GUI为手机的桌面501。参见图5中的(a)当手机检测到用户点击桌面501上的相机应用(application,APP)的图标502的操作后,可以启动相机应用,显示如图5中的(b)所示的另一GUI,该GUI可以称为相机预览界面。该预览界面包含有进入到录像模式的录像控件,还包含有进入到慢动作(slow-motion)视频录制模式的慢动作控件503。
需要说明的是,用户指示电子设备打开相机的方式可以有多种。例如,用户可以通过点击相机图标来指示电子设备打开相机,或者用户可以通过语音方式指示电子设备打开相机,或者用户可以在黑屏状态下在屏幕上画“C”形轨迹来指示电子设备打开相机等,本申请实施例对电子设备打开相机的触发方式不予限定。
再示例性的,当手机检测到用户点击桌面上的相机应用的图标的操作后,启动相机应用,也可以显示如图6所示,用户可以通过点击更多控件,进入如图6中的(b)所示的界面,点击慢动作控件进入慢动作视频录制模式。
再示例性的,打开相机应用后电子设备可直接进入到慢动作视频录制模式(例如电子设备打开相机后默认为慢动作视频录制模式,或者用户上次使用相机时为慢动作视频录制模式),则电子设备直接显示慢动作预览界面。
示例性的,电子设备进入慢动作视频录制模式后,显示如图7中的(a)所示GUI,此时电子设备进入到慢动作预览界面701。该慢动作预览界面701包含有用于开启录制慢动作视频的录制控件702,用于退出慢动作视频录制模式的控件703,用于切换慢动作播放速率(speed)的控件704,用于摄像头变焦的控件705,用于开启/关闭运动侦测功能的运动侦测控件706,此时运动侦测控件706默认为开启状态。还包括用于开启/关闭闪光灯的控件707,用于打开设置的控件708,用于显示提示信息的控件709,以及用于关联到图库应用的控件710。该慢动作预览界面中还可以包含有检测框711,用户可以在整个预览界面中拖动改变检测框位置,也可以改变检测框的大小。示例性,慢动作预览界面中也可以不包含检测框711。
需要说明的是,运动侦测控件706用于开启/关闭运动侦测。当运动侦测功能开启(Motion detection on)时,用户点击慢动作视频录制控件后,电子设备不会立刻触发慢动作视频录制。而是当电子设备检测到预览界面中被拍摄对象的运动满足预设触发条件时,才会自动触发慢动作视频录制。当运动侦测功能关闭时,则在用户手动点击拍摄控件702后便会触发慢动作 视频录制。
在一种可能的设计中,电子设备进入到慢动作预览界面后,显示如图7中的(b)所示GUI,此时GUI上可不包含提示“(960帧/秒)”,只显示帧率倍数,如“32x”。
在一种可能的实现方式中,电子设备进入到慢动作预览界面后,运动侦测控件可默认为关闭状态。如图8中的(a)所示,用户可手动开启运动侦测功能,显示如图8中的(b)所示。
在一种可能的实现方式中,电子设备进入到慢动作预览界面后,该慢动作预览界面也可以不包含运动侦测控件。此时电子设备默认为开启运动侦测功能,进入智能自动慢动作视频录制模式,用户可在设置里,或使用其他手机控件关闭此功能。
在一实施例中,用户可以通过控件704选择录制慢动作视频的帧率。示例性的,如图7中的(a)所示,此时***默认录制帧率为960帧/秒(32x),即电子设备按照960帧/秒进行视频录制,并可以按照30帧/秒的编码速率对采集到的960帧拍摄画面进行编码,原本1秒的视频内容可被慢速播放为32秒的一段慢动作视频,即一段32x的慢动作视频。示例性的,当电子设备检测到用户用于点击控件704的操作后,显示如图9中的(a)所示GUI,此时慢动作预览界面显示有用于选择不同的录制帧率的控件901。示例性的可选速率可以是4x到256x,需要说明的是,本申请实施例中4x速率、32x速率或256x速率是相对于30帧/秒而言的,因此录制帧率的可选范围可以是从120帧/秒到7680帧/秒,例如:120帧/秒(4x)、240帧/秒(8x)、480帧/秒(16x)、960帧/秒(32x)、1920帧/秒(64x)、7680帧/秒(256x)。示例性的,如图9中的(a)所示,用户可以通过拖动或滑动或点击控件801选择录制帧率。当用户通过滑动操作选择帧率时,可以显示如图9中的(b)所示,此时显示界面可以以大图标形式显示当前选中的帧率,以提示用户当前所选帧率。当用户通过点击操作选择帧率时,可以显示如图9中的(c)所示GUI。
在一实施例中,当用户选中4x和8x帧率时,慢动作预览界面可以不包含运动侦测控件。
需要说明的是,不同帧率可对应不同的慢动作视频录制时长。在一种可能的设计中,电子设备录制的慢动作视频的时长可以为预设时长,该预设长度可以是电子设备出厂时预设的。一般来说,录制帧率越高,每秒钟图像传感器需要处理的图像帧越多,因此对图像传感器的处理能力要求越高。与此同时,如果录制时间太长,生成的慢动作视频时间过长,也会影响用户体验。例如,以1920fps录制1s的视频为例,按照30fps进行编码,则会生成一段64s的慢动作视频,显然过长的慢动作视频会影响用户体验。在现实生活中,往往在录制鞭炮***、子弹射击等场景下需要用到7680fps等高帧率模式,而鞭炮***、子弹射击等通常发生在一瞬间(如0.1s)。因此,为了保证良好的用户体验,电子设备在出厂前可以为用户设置好不同帧率模式下的固定录制时长。
如表1所示,当用户选择120fps的录制帧率,如拍摄:拍手、步行等普通速度运动场景时,则电子设备是以120fps录制一段4s的视频。按照30fps的编码速度对采集到的480帧拍摄画面进行编码,生成一段16s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为18s。本申请文件中,可将慢动作视频中的慢速视频区间称为慢动作区间或慢动作视频片段。
当用户选择240fps的录制帧率,如拍摄:拍手、步行等普通速度运动场景时,则电子设备是以240fps录制一段2s的视频,按照30fps的编码速度对采集到的480帧拍摄画面进行编码,生成一段16s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为18s。
当用户选择480fps的录制帧率时,则电子设备是以480fps录制一段1s的视频,当按照30fps的编码速度对采集到的480帧拍摄画面进行编码,生成一段16s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为18s。当用户选择960fps的录制帧率,如拍摄:自然(瀑布,喷泉,雨滴坠溅水面/地面的水花,浪潮等)、运动(奔跑,游泳,飞镖等)、动物(宠物奔跑等)、火焰(打火机,火柴等)、碎裂(玻璃杯,鸡蛋,水果等坠落/撞击)等普通高速运动场景时,则电子设备是以960fps录制一段0.5s的视频,并按照30fps的编码速率对采集到的480帧拍摄画面进行编码,生成一段16s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为18s。在一种可能的实现方式中,电子设备可以是以960fps缓存一段1s的视频,然后在这1s的缓存视频中选取0.5s进行慢速编码,生成一段16s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为18s。
当用户选择1920fps的录制帧率,如拍摄:自然(闪电等)、运动(魔术,搏击,跳绳,击剑等)、动物(骑马,昆虫翅膀等)、高压(气球***,万花筒等)、酷玩(无人机,烟花等)等高速运动场景时,则电子设备是以1920fps录制一段0.5s的视频,并按照30fps的编码速率对采集到的960帧拍摄画面进行编码,生成一段32s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为34s。在一种可能的实现方式中,电子设备可以是以1920fps缓存一段1s的视频,然后在这1s的缓存视频中选取0.5s进行慢速编码,生成一段32s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为34s。
当用户选择7680fps的录制帧率,如拍摄:***(鞭炮等)、射击(射箭,气步枪,弹弓、子弹等)等超高速运动场景时,则电子设备是以7680fps录制一段0.125s的视频,并按照30fps的编码速率对采集到的960帧拍摄画面进行编码,生成一段32s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为34s。
示例性的,在使用7680fps录制视频时,电子设备可以首先以960fps或1920fps录制原始视频帧,而后根据原始视频帧在相邻原始视频帧之间进行插帧,从而生成7680fps的慢动作效果。具体的,电子设备在录制慢动作类型的视频时,可以通过插帧提高录像帧率。在一种可能的实现方式中,电子设备可以是以1920fps缓存一段1s的视频,然后在这1s的缓存视频中选取0.125s(240帧),然后对选取的240帧拍摄画面进行4倍插帧,生成960帧。按照30fps的编码速率对插帧后的960帧拍摄画面进行编码,生成一段32s的慢速视频。慢动作区间外则通过对缓存的视频帧抽帧生成前后各1s的正常速度视频,视频总时长为34s。
此外,本申请实施例也可以对视频录制时长不予限制,以120fps和240fps的录制帧率为例,用户可以自己决定录制视频的时长。
示例性的,图10示出不同的录制帧率下,以30fps进行编码时,录制时长与生成的慢速视频之间的比例关系。
表一
帧率(fps) |
录制时长(s) |
慢动作视频时长(s) |
120 |
4s |
1s常速视频+16s慢速视频+1s常速视频 |
240 |
2s |
1s常速视频+16s慢速视频+1s常速视频 |
480 |
1s |
1s常速视频+16s慢速视频+1s常速视频 |
960 |
0.5s |
1s常速视频+16s慢速视频+1s常速视频 |
1920 |
0.5s |
1s常速视频+32s慢速视频+1s常速视频 |
7680 |
0.125s |
1s常速视频+32s慢速视频+1s常速视频 |
示例性的,如图8中的(a)所示,当电子设备检测到用户触发运动侦测控件的操作后,显示如图8中的(b)所示GUI,此时电子设备进入到智能自动慢动作视频录制模式,电子设备可自动触发慢动作视频录制。在该智能自动慢动作视频录制模式下,电子设备预设有人体框检测模型,电子设备可以通过前置或后置摄像头在整个预览界面内实时检测是否有人体存在。
图11示出电子设备在运动侦测功能开启后,自动触发慢动作视频录制的流程图。
1101:当运动侦测控件处于开启状态时,摄像头可实时获取预览界面中的图像帧。
1102:电子设备可以通过预设的人体检测模型,判断摄像头采集的图像帧中是否有人体存在。
其中,预设的人体检测模型可通过卷积神经网络(Convolutional Neural Network,CNN)训练得到,并在电子设备出厂前存储在电子设备中。当摄像头采集的图像帧中有人体存在时,可由人体检测模型判断此时被拍摄对象为人体,否则判断此时被拍摄对象为非人主体。
1103:电子设备检测到用户输入的视频录制指令。此后电子设备可根据被拍摄对象主体的不同采用不同的方法触发慢动作视频录制。
当电子设备检测到被拍摄物体为人体时,通过步骤1104-1105(动作识别)进行触发慢动作视频录制的条件的判断,电子设备可实时地在整个预览界面内对被拍摄人体进行运动检测。具体的,电子设备可通过神经网络处理器(neural-network processing unit,NPU)中预设的网络推理模块对人体进行实时的姿态点估计和动作类型识别,其中网络推理模块中包含有预先基于卷积神经网络(Convolutional Neural Network,CNN)建立的用于识别人体姿态特征点(包括头部、手部、腿部等多个关节点)的关键点检测模型,和用于识别人体动作(包括跳跃、投篮、踢球等常见运动)的动作检测模型。因此可通过关键点检测模型对摄像头实时获取的视频帧进行人体姿态估计,得到人体的关节点信息。然后通过运动检测模型对关键点检测模型输出的人体关节点信息进行分析,进而得到人体运动类型。当电子设备识别到人体动作类型时,则会自动触发慢动作视频录制。
在一种可能的实现方式中,电子设备可根据人体头部、手部、腿部等多个关节点的速度、位移、姿态变化等,对人体的运动进行预判,并可根据人体头部、手部、腿部等多个关节点的速度、位移、姿态变化等判断触发慢动作视频拍摄的条件。
当电子设备没有检测到被拍摄人体的预设动作时,则通过检测框对被拍摄人体进行光流计算,通过步骤1106-步骤1108(光流法)触发慢动作视频录制。
光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景存在着相对运动。运动物体所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以计算出运动物体的位置。
考虑到光流法计算量大,因此可以只在预览界面中的检测框内对被拍摄人体进行光流计算。具体的,电子设备可逐帧对预览窗口中检测框内被拍摄人体在成像平面上的像素点进行光流计算,得到检测框内被拍摄人体在像平面上每个像素点的瞬时速度,并以所计算的所有 像素点瞬时速度中的最大速度作为当前帧的速度输出。当最大速度超过阈值T时,则会自动触发电子设备开启慢动作视频录制。
当电子设备检测到被拍摄对象为非人主体时,则直接通过步骤1106-步骤1108(光流法)触发慢动作视频录制。只是当被拍摄对象为非人体时预设阈值S<被拍摄对象为人主体时的预设阈值T。当最大速度超过预设阈值S时,则自动触发慢动作录制。也就是说,当被拍摄对象为人体时,光流法不易被触发,当被被拍摄对象为非人体时,预设阈值会小一点,此时光流法更易被触发。
需要说明的是,从运动侦测功能开启到自动触发慢动作视频录制的过程可以有多种。
在一实施例中,当运动侦测功能开启时,电子设备可以通过预设的人体检测模型实时对预览界面中的被拍摄对象进行主体识别,并对预览界面中被拍摄对象是人物主体还是非人主体进行判断。当用户点击慢动作录制控件后,电子设备不会立刻触发慢动作视频录制,而通过关键点检测模型和运动检测模型实时地对被拍摄人体进行动作类型识别。当电子设备检测到预览界面中被拍摄人体的动作为预设动作时,自动触发慢动作视频录制。
在一实施例中,当运动侦测功能开启时,电子设备开始加载人体检测模型和运动检测模型。当用户点击慢动作录制控件后,电子设备可通过人体检测模型实时对预览界面中的被拍摄对象进行主体识别,并对预览界面中被拍摄对象是人物主体还是非人主体进行判断。当检测出被拍摄对象为人体时,通过关键点检测模型和运动检测模型实时地对被拍摄人体进行动作类型识别。当电子设备检测到预览界面中被拍摄人体的动作为预设动作时,自动触发慢动作视频录制。
在一实施例中,当运动侦测功能开启时,电子设备可实时地对预览界面中的被拍摄对象进行主体识别,并对预览界面中被拍摄对象是人物主体还是非人主体进行判断。当检测出被拍摄对象为人体时,通过关键点检测模型和运动检测模型实时地对被拍摄人体进行动作类型识别。当用户点击慢动作录制控件后,电子设备检测到预览界面中被拍摄人体的动作为预设动作时,自动触发慢动作视频录制。
在一种可能的实现方式中,电子设备进入到自动慢动作视频录制模式后,不需要用户再输入视频录制指令(步骤1103)。当检测到被拍摄人体的预设动作时自动触发慢动作视频拍摄。
需要说明的是,能够实现本申请实施例中人体识别、人体动作识别,以及电子设备自动触发慢动作视频录制的软件算法实现方式和算法实现流程有多种,本申请实施例不予限定。
示例性的,如图12所示,此时用户想通过电子设备的智能自动慢动作功能,录制一段好朋友在奔跑中突然跳跃的场景。如图12中的(a)所示,此时电子设备已开启运动侦测功能,显示录制帧率为默认帧率960fps,用户可以通过用于切换慢动作录制帧率的控件选择不同的录制帧率。如图12中的(a)所示,此时预览窗口显示有一个正在跑步的人,电子设备通过运动侦测功能可以检测到此时相机预览窗口中被拍摄对象为人体。需要说明的是,在本申请实施例中,人体走路和跑步不会作为触发慢动作拍摄的人体动作。当电子设备检测到用户触发视频录制控件的操作后,显示如图12中的(b)所示GUI,此时不会触发慢动作视频录制。电子设备可通过预设的关键点检测模型对被拍摄人物进行实时的姿态估计,得到人体的关节点信息,并将关节点信息送入运动检测模型实时地对预览窗口内人体的运动类型进行判断。如图12中的(c)所示,当被拍摄人物突然跳起来,电子设备可预测此时人体的运动趋势为“跳跃”,从而自动触发慢动作视频录制。
再示例性的,如图13所示,此时用户想通过电子设备的智能自动慢动作功能,录制一段 小马在奔跑中突然跳跃的场景。如图13中的(a)所示,用户可以通过用于切换慢动作录制帧率的控件选择不同的录制帧率,此时相机显示录制帧率为默认帧率960fps。如图13中的(a)所示,此时电子设备已开启运动侦测功能,电子设备通过运动侦测功能可以检测到此时相机预览窗口中被拍摄对象为非人主体。当手机检测到用户用于点击拍摄控件的操作后,显示如图13中的(b)所示界面,电子设备可实时的对检测框内被拍摄对象进行光流计算,但不会触发慢动作视频录制。如图13中的(c)所示,当电子设备计算当前视频帧中检测框内被拍摄对象的最大速度超过阈值T,则自动触发智能慢动作录制。
上述实施例中,当运动侦测功能开启时,电子设备进入智能自动慢动作视频录制模式。当被拍摄对象为人体时,电子设备可以对被拍摄人体的运动类型进行识别,一旦检测到人体的运动趋势,则触发慢动作视频录制。当人体运动类型不在预设的运动检测模型内时,或检测对象为非人主体时,则通过光流法触发慢动作视频录制。
本申请实施例中使用AI(Artificial Intelligence,人工智能)算法对人体运动类型进行识别,当识别到人体的运动类型时,才会触发慢动作视频录制,更容易抓拍到用户所关心的精彩片段。同时,相较现有技术中通过画面突变检测等方式触发慢动作视频录制,本申请实施例的方法更稳定,能够降低误触发率。
在一实施例中,电子设备还可以根据用户录制对象或录制场景的不同,为用户推荐更合适的慢动作录制帧率,生成慢动作视频,以达到更好的慢动作的播放效果。
示例性的,参见图14中的(a)所示,当电子设备检测到用户点击用于切换慢动作录制帧率的控件的操作后,显示如图14中的(b)所示GUI,该GUI包含有用于推荐帧率的控件1401。当电子设备检测到用户用于点击控件1401的操作后,显示如图14中的(c)所示GUI,此时电子设备进入自动(auto)帧率模式。在auto模式下,电子设备可根据录制对象或录制场景的不同,为用户推荐更合适的慢动作录制帧率,生成慢动作视频。
需要说明的是,在人体动作识别触发慢动作视频录制的场景下,电子设备可预设有通过大数据统计出的不同人体动作类型下最适合的录制帧率。例如:旋转、欢呼的推荐帧率为240fps;跳跃、投篮、运球的推荐帧率为480fps;劈腿跳、上篮、滑板、高尔夫击球的推荐帧率为960fps。因此,电子设备在识别出人体动作类型后即可推荐相应录制帧率,将预览窗口采集的视频帧以推荐帧率编码成慢动作视频。
在光流法触发的慢动作视频录制场景下,电子设备可以首先对缓存视频帧序列进行抽帧,示例性的可以以30fps进行抽帧,然后对抽帧序列中运动物体在像平面上的像素点进行光流计算,得到运动物体在像平面上的像素运动的速度变化。电子设备预设有不同运动速度对应的最佳慢动作帧率,因此可根据抽帧序列的最大速度读取预设的慢动作帧率。
示例性的,如图15所示,电子设备通过对缓存视频抽帧得到7帧视频帧。进而,电子设备可分别计算第1帧拍摄画面检测框内每个像素点的速度,其中X1点速度最大,输出最大速度Y1;第2帧拍摄画面检测框内每个像素点的速度,其中X2点速度最大,输出最大速度Y2;第3帧拍摄画面检测框内每个像素点的速度,其中X3点速度最大,输出最大速度Y3…以及第7帧拍摄画面检测框内每个像素点的速度,其中X7点速度最大,输出最大速度Y7。本申请实施例对光流和速度的单位不做任何限制。通过比较得到Y4值最大,电子设备读取Y4值对应的慢动作帧率,将录制视频帧编码成慢动作视频,慢动作区间外可以通过对缓存视频帧抽帧生成正常速度视频,最终生成一段“常速视频+慢速视频+常速视频”格式的慢动作视频,保存在图库中。
在一种可能的实现方式中,auto模式下,电子设备可以先以默认帧率960fps进行视频帧 缓存,在识别到人体运动类型时,读取预设的慢动作帧率,如跳跃的推荐帧率为480fps。然后触发慢动作拍摄,以推荐帧率录制慢动作视频。实现在动作起始点切换至推荐帧率进行录制,动作截止点恢复到默认帧率录制。
在一种可能的实现方式中,auto模式下,电子设备可以按照默认帧率如1920fps的帧率缓存1s视频,1s可以采集1920帧拍摄画面。录制完成后通过对缓存视频后处理,读取推荐帧率。
当电子设备读取推荐帧率为7680fps时,则电子设备在这1s的缓存视频中选取0.125s(240帧),然后插帧4倍后生成960帧,按照30fps编码生成32秒慢速视频,慢动作区间外通过对缓存视频抽帧生成前后各1s的正常速度(30fps)视频,视频总时长为34秒。
当电子设备读取推荐帧率为1920fps时,则电子设备在这1s的缓存视频中选取0.5s(960帧),按照30fps编码生成32秒慢速视频,慢动作区间外通过对缓存视频抽帧生成前后各1s的正常速度(30fps)视频,视频总时长为34秒。
当电子设备读取推荐帧率为960fps时,则电子设备先对1s的缓存视频帧抽帧1倍,得到960帧。然后在960帧(1s)中选取480帧(0.5s),按照30fps编码生成16秒慢速视频,慢动作区间外通过对缓存视频抽帧生成前后各1s的正常速度(30fps)视频,视频总时长为18秒。
当电子设备读取推荐帧率为480fps时,则电子设备先对1s的缓存视频帧抽帧4倍,得到480帧。按照30fps编码生成16秒慢速视频,慢动作区间外通过对缓存视频抽帧生成前后各1s的正常速度(30fps)视频,视频总时长为18秒。
当电子设备读取推荐帧率为240fps时,则电子设备先对1s的缓存视频帧抽帧8倍,得到240帧。按照30fps编码生成8秒慢速视频,慢动作区间外通过对缓存视频抽帧生成前后各1s的正常速度(30fps)视频,视频总时长为10秒。
当电子设备读取推荐帧率为120fps时,则电子设备先对1s的缓存视频帧抽帧16倍,得到120帧。按照30fps编码生成4秒慢速视频,慢动作区间外通过对缓存视频抽帧生成前后各1s的正常速度(30fps)视频,视频总时长为6秒。
在一实施例中,电子设备在auto模式下,以推荐帧率生成慢动作视频后,如果用户对推荐帧率不满意,可对生成的慢动作视频进行编辑,重新选择帧率,电子设备可根据用户选择的帧率生成新的慢动作视频。
在一种可能的实现方式中,在auto模式下,电子设备以高帧率(如1920fps)录制慢动作视频,将高帧视频缓存在电子设备中,并以推荐帧率生成慢动作视频显示给用户。用户在拍摄完慢动作视频后,可及时对慢动作视频查看,在用户在点击保存慢动作视频前,可以改变慢动作视频的播放速度。
示例性的,如图16中的(a)所示,用户在拍摄完慢动作视频后,显示如图16中的(b)所示GUI,显示“正在保存”,此时电子设备可以以推荐帧率生成慢动作视频。在生成慢动作视频后,电子设备不会立即把慢动作视频保存在图库中,而是直接显示在电子设备的显示窗口上,如图16中的(c)所示GUI,该GUI包含有用于播放视频的播放控件1601,用于选择慢动作视频的播放速度的“速度选择”控件1602,用于保存视频的保存控件1603,用于删除视频的删除控件1604,用于查看提示信息的控件1605。用户可点击播放控件1601查看慢动作视频。此后,如果用户对该视频满意,可以点击保存控件1603将该推荐帧率拍摄的慢动作保存在图库中。在点击保存之前,用户也可以点击速度选择控件1602选择改变慢动作视频的播放速度生成新的慢动作视频。如图16中的(c)所示GUI,该GUI上可以包含有用于查看提 示信息的控件1605,当用户点击控件1605后,显示如图16中的(d)所示GUI,此时电子设备显示屏上显示有提示信息“保存慢动作视频前,可以尝试点击速度选择改变慢动作视频的播放速度哦!”,以提示用户在保存慢动作视频前还可以改变慢动作视频的播放速度。需要说明的是,在用户初次使用该电子设备时,在执行到相应操作时,本申请文件所提到的提示信息可直接显示在显示屏上,以提示用户。
示例性的,如图17中的(a)所示,用户点击“速度选择”控件,显示如图17中的(b)所示GUI,该GUI上包含有用于选择不同的播放速度的控件1701,如1/2、1/4、1/8和1/16等。其中1/2表示相对于被拍摄对象原始运动速度的1/2速度,1/4表示相对于被拍摄对象原始运动速度的1/4速度。用户可以点击不同的速度以生成新的慢动作视频。如图17中的(c)所示,该GUI上还可以包含有用于提示中户的控件1702,当用户点击控件1702后,显示如图17中的(d)所示GUI,该GUI上显示提示信息以提示用户不同动作下更适合的帧率,如:旋转、欢呼使用1/8速度更佳;跳跃、投篮、运球使用1/16速度更佳;劈腿跳、上篮、滑板、高尔夫使用1/32速度更佳;气球***、子弹射击等高速运动使用1/64速度更佳。因此用户可以选择更合适的帧率生成慢动作视频。
示例性的,如图18中的(a)所示GUI,用户点击保存控件,可将慢动作视频保存在图库中,显示如图18中的(b)所示GUI,此时慢动作视频以小图形式保存在用于关联图库的控件中。
在一种可能的实现方式中,电子设备在auto模式下,可以以推荐帧率生成慢动作视频,并保存在图库中。电子设备可通过插帧方法实现更高帧率的慢动作效果,通过抽帧的方式实现更低帧率的慢动作效果。
示例性的,电子设备在拍摄完慢动作视频后,将慢动作视频保存在图库中,显示如图19中的(a)所示GUI。用户可以通过点击预览界面中用于关联图库的控件,对拍摄完成的慢动作视频进行查看,显示如图19中的(b)所示GUI。如图19中的(b)所示,用户可点击更多控件1901,查看已拍摄完成的慢动作视频的信息,其中包含有用于速度选择的控件,用户可通过自己选择播放速度改变已拍摄完成的慢动作视频。示例性的,如图19中的(c)所示GUI,用户点击速度选择控件,显示如图19中的(d)所示GUI,此时用户,可自己选择播放速度以生成新的慢动作视频。
在一实施例中,如图20所示,用户也可以通过图库对已拍摄完后的慢动作视频进行查看,进行速度选择,以改变慢动作播放效果。
在另一实施例中,电子设备可以对选择的慢动作区间进行动态评分选帧,选出慢动作过程中评分最高的视频帧作为最佳帧保存到图库,也可作为慢动作视频封面。在该实施例中,电子设备预设有动态评分模块,电子设备选择慢动作区间后,可对该慢动作区间中的每帧图像动态加载评分配置参数,比如投篮更注重手臂抬起角度、跳跃对身体跳起高度和腿部弯曲角度施加更高评分权重,据此对整段动作帧进行评分,并选取最高分帧作为最优帧。选出的最优帧可以单独存储在图库中,也可作为慢动作视频的封面使用。示例性的,仍以图12为例,用户通过智能自动慢动作功能录制一段好朋友奔跑中跳跃的视频,录制完成后,显示如图21中的(a)所示GUI。电子设备对慢动作区间的视频帧进行分析,得到最优视频帧,并将最优帧作为慢动作视频的封面,并以小图的形式存储在预览界面中用于关联图库的控件中。当用户打开图库时,可以显示如图21中的(b)所示界面,最优帧作为慢动作视频的封面与慢动作视频一起存储在图库中。也可以显示如图21中的(c)所示界面,最优帧和慢动作视频分别单独存储在图库中。
示例性的,也可以通过模板匹配等方式实现对最优帧的选择,本申请文件对选取最优帧的方法不予限定。
在一实施例中,电子设备可预设有人像分割网络模型,可将慢动作区间内的人体动作进行图像分割。电子设备在识别出人体动作后,将录制视频帧中的人像和背景分离,将每帧视频帧的主体人像分割出来生成一张人体运动轨迹留影图片。示例性的,如图22所示。该人体运动轨迹留影图片可作为慢动作视频的封面,也可以单独存储在图库中。
在另一实施例中,当电子设备触发慢动作视频录制后,可为用户推荐慢动作区间。其中推荐的慢动作区间内的视频可通过编码生成慢动作效果,区间外可通过抽帧生成成常速视频,最终生成一段“快慢快”的视频保存在图库中。
现有技术中,在触发慢动作视频录制后,一般都是取录制视频中间的一段固定时长区间进行慢动作处理,生成慢动作视频。本申请实施例中,电子设备可以对被拍摄对象进行动作识别,识别出录制视频中的人体动作(如跳跃、投篮、旋转等)的起始帧和结束帧,并将动作区间内的视频帧进行慢动作处理。
仍以图12为例进行说明,用户通过电子设备的智能自动慢动作功能,录制一段好朋友在奔跑中突然跳跃的场景。当拍摄完成后显示如图12中的(d)所示,显示“正在保存”。此时电子设备可通过预设的软件处理模块对缓存视频进行处理,为用户推荐慢动作区间。在慢动作录制过程中,电子设备可以通过预设的关键点检测模型得到人体的关节点信息,然后通过用于识别人体动作的动作检测模型即可得到运动类型,并上报给软件处理模块。电子设备可事先对软件处理模块进行网络模型训练,在训练样本中可对不同人体运动的起始帧和结束帧进行标注,神经网络可通过人体姿态变化率对不同人体动作的起始帧和结束帧进行识别。从而将人体动作起始帧到结束帧之间的视频帧编码成慢动作视频推荐给用户。
通过大数据统计,当人体进行跳跃、投篮、踢球等动作时,动作发生瞬间,人体的头部、手部、腿部等关节点的姿态会发生较大变化,例如,人体在跳跃是腿部会瞬间弯曲,投篮时身体起跳状态和手腕弯曲程度会发生瞬间变化,而在进行旋转动作时身体姿态会瞬时向左或向右偏转,同时人体在做跳跃或投篮动作时,人体姿态高度也会发生变化,因此可以通过计算人体关节点的姿态变化率对人体的动作的起始点进行判断。
示例性的,如图23所示,软件处理模型中预设有根据人体的头、颈、肩、肘、腕、臀、膝、踝等不同部位定义人体关节点模型,以及关节点夹角,用于判断人体姿态的变化。参见图23,可在人体上选择15个关节点,并定义10个关节夹角。其中,关节夹角1为人体左腕关节和左肘关节连接与左肘关节和左肩关节连线所成夹角,关节夹角5为左踝关节与左膝关节连线与左膝关节与左臀关节连接做成夹角。通过计算相邻两帧图片10个夹角的角度变化与相邻两帧之间的时间间隔的比值即可得到每个关节夹角对应的姿态变化率。对于部分人体动作,如投篮、跳跃等还需考虑人体姿态高度,因此可将每帧图片10个关节夹角的姿态变化率及人体姿态高度变化率进行加权得到的结果作为当前帧的姿态变化率。
对于不同的人体姿态,人体每个关节角度的姿态变化率有很大不同,因此可针对不同动作对人体关节夹角分配不同的权重值。例如,人在跳跃的时候,更关注人体腿部姿态的变化,可以为角3、角4、角5、角6以及人体高度分配更高的权重值。而人在投篮的时候,更关注人上臂的姿态,可以为角1、角2以及人体高度分配更高的权重值。与此同时,对于同一人体运动,运动开始和运动结束时人体每个关节角度姿态变化率也会有很大不同,因此,在运动开始和运动结束时不同关节角度的权重也是不同的。
针对不同的人体动作,可事先定义好不同动作的起始帧和结束帧,然后通过网络训练得 到不同动作在起始帧和结束帧每个关节夹角的权重值。或者,也可由大数据统计得到人体不同动作的起始帧和结束帧每个关节夹角的权重值。通过权重值和关节角姿态变化率即可得到每帧图片的姿态变化率输出。
示例性的,如图24所示,电子设备可通过对缓存视频抽帧得到7帧视频帧。此时电子设备已经知道视频帧中人体动作为“跳跃”,通过预设值读取“跳跃”动作起始帧时10个关节夹角的权重分别为a
1,a
2…a
10,人体高度的权重为a
11,电子设备可实时计算第i帧图像中人体10个关节夹角的姿态变化率分别为n
i1,n
i2…n
i10,高度变化率为n
i11,由此可以计算第i帧图片的姿态变化率M
i=a
1n
i1+a
2n
i2+a
3n
i3+…+a
10n
i10+a
11n
i11(i=1,2,3…)。其中,第1帧图像的姿态变化率输出为M
1,第2帧图像的姿态变化率输出为M
2,…,第7帧图像的姿态变化率输出为M
7,通过判断M
2值最大,因此第2帧图像为动作起始帧,参见图24中的(a)。同理,由预设值读取“跳跃”动作结束帧时10个关节夹角的权重分别为b
1,b
2…b
10,人体高度的权重为b
11,同样根据加权算得,第1帧图像的姿态变化率输出为M
1’,第2帧图像的姿态变化率输出为M
2’,…,第7帧图像的姿态变化率输出为M
7’,通过判断M
6’值最大,因此第6帧图像为动作结束帧,参见图24中的(b)。
因此电子设备在对录制好的缓存视频处理时,可通过人体姿态变化率对人体动作的起始帧和结束帧进行判断。一旦检测到动作开始,将当前帧标记为动作起始帧,当检测到该动作结束,将当前帧标记为动作结束帧。该起始帧和结束帧对应慢动作区间的开始帧和结束帧,慢动作区间内的视频帧可通过编码生成慢动作视频,慢动作区间外的视频帧可通过对缓存视频帧进行抽帧生成常速视频,最终生成一段“快慢快”形式的慢动作视频,保存在图库中,显示如图12中的(e)所示。
在该实施例中,用户点击视频拍摄控件后,电子设备可对预览窗口中的视频帧进行采集,并对采集的视频帧进行人体运动类型识别,当识别到人体运动时,则会自动触发慢动作视频录制。在一种可能的实现方式中,电子设备自动触发慢动作视频录制后,可录制固定1s的视频,并在这1s的视频中找到人体运动的动作起始帧和动作结束帧,生成慢动作视频片段。慢动作区间外可对缓存视频帧抽帧生成1s的常速视频。如图25A所示,用户点击视频拍摄控件后,示例性的,此时帧率是960fps,电子设备可实时对预览窗口中的视频帧进行采集,当预设此时被拍摄人体运动为跳跃动作时,电子设备以960fps录制一段1s的视频。通过对运动起止点进行判断,发现运动起止点在这1s视频中,运动区间时长为0.5s。则把这0.5s的运动区间编码成慢速视频,以30fps的编码速率为例,则生成一段1s常速+0.5x32慢速+1s常速=1s+16s+1s=18s的视频。如图25B所示,用户点击视频拍摄控件后,示例性的,此时帧率是960fps,电子设备可实时对预览窗口中的视频帧进行采集,当预设此时被拍摄人体运动为投篮动作时,电子设备以960fps录制一段1s的视频。通过对运动起止点进行判断,发现运动起止点在这1s视频中,运动区间时长为0.3s。则把这0.3s的运动区间编码成慢速视频,以30fps的编码速率为例,则生成一段1s常速+0.3x32慢速+1s常速=1s+9.6s+1s=11.6s的视频。
在一种可能的实现方式中,电子设备自动触发慢动作视频录制后,可录制固定1s的视频,特通过触发慢动作录制前采集的视频帧和触发慢动作录制后录制的视频帧中找到人体运动的动作起始帧和动作结束帧,生成慢动作视频片段。如图25C所示,用户点击视频拍摄控件后,示例性的,此时帧率是960fps,电子设备可实时对预览窗口中的视频帧进行采集,当预设此时被拍摄人体运动为跳跃动作时,电子设备以960fps录制一段1s的视频。通过对运动起止点进行判断,发现运动起始帧在触发视频录制前采集的视频帧中,运动结束帧在触发视频录制后录制的视频帧中,运动区间时长为0.5s。则把这0.5s的运动区间编码成慢速视频,以30fps 的编码速率为例,则生成一段1s常速+0.5x32慢速+1s常速=1s+16s+1s=18s的视频。如图25D所示,用户点击视频拍摄控件后,示例性的,此时帧率是960fps,电子设备可实时对预览窗口中的视频帧进行采集,当预设此时被拍摄人体运动为跳跃动作时,电子设备以960fps录制一段1s的视频。通过对运动起止点进行判断,发现运动起始帧在触发视频录制前采集的视频帧中,运动结束帧在触发视频录制后录制的视频帧中,运动区间时长为0.3s。则把这0.3s的运动区间编码成慢速视频,以30fps的编码速率为例,则生成一段1s常速+0.3x32慢速+1s常速=1s+9.6s+1s=11.6s的视频。
此外,当人体动作类型不在预设的运动检测模型内时,或被拍摄对象为非人主体时,电子设备可通过光流法对被拍摄视频进行慢动作处理。如图13所示,用户通过电子设备的智能自动慢动作功能,录制一段小马在奔跑中突然跳跃的场景。当拍摄完成后显示如图13中的(d)所示,显示“正在保存”,此时电子设备可对缓存视频进行处理,为用户推荐慢动作区间。示例性的,电子设备触发慢动作视频录制后缓存有1s的视频帧。电子设备首先对缓存视频帧序列进行抽帧,示例性的可以以30fps进行抽帧,然后对抽帧序列中运动物体在像平面上的像素点进行光流计算,通过计算相邻两帧图片对应像素点的距离与相邻两帧之间的时间间隔的比值即可得到每个像素点运动的速度变化。示例性的,如图26所示,电子设备通过对缓存视频抽帧得到7帧视频帧。进而,电子设备可分别计算第1帧拍摄画面检测框内每个像素点的速度,其中X1点速度最大,输出最大速度Y1;第2帧拍摄画面检测框内每个像素点的速度,其中X2点速度最大,输出最大速度Y2;第3帧拍摄画面检测框内每个像素点的速度,其中X3点速度最大,输出最大速度Y3…以及第7帧拍摄画面检测框内每个像素点的速度,其中X7点速度最大,输出最大速度Y7。本申请实施例对光流和速度的单位不做任何限制。然后电子设备可以以固定窗口逐帧计算窗口内的平均速度,并且以平均速度最大的窗口的起止点作为慢动作区间的起止点。示例性的,电子设备可以以4为固定窗口大小对所抽选帧进行平均速度计算,例如,Y1、Y2、Y3和Y4的平均速度为P1,Y2、Y3、Y4和Y5的平均速度为P2,Y3、Y4、Y5和Y6的平均速度为P3,Y4、Y5、Y6和Y7的光流速度为P4。通过计算得到P2值最大,因此以第二次计算的起点帧即第2帧作为慢动作区间的起始帧,以第二次计算的终止帧即第5帧作为慢动作区间的终止帧。电子设备可以以30fps的帧率对慢动作区间进行编码处理,慢动作区间外通过对缓存视频帧抽帧生成30fps的正常速度视频,最终生成一段“常速视频+慢速视频+常速视频”格式的慢动作视频,保存在图库中。如图13中的(e)所示,用户可以通过点击控件1301对拍摄的慢动作视频进行查看。
需要说明的是,本申请实施例可以对抽帧序列中检测框内的被拍摄对象的像素点进行光流计算,也可以是在整个图像中对被拍摄对象的像素点进行光流计算,输出所有像素点速度中的最大速度。本申请实施例中固定窗口大小可由慢动作区间时长决定,由于每两帧视频帧之间的时间可由录制帧率计算得到,因此不同的慢动作区间时长可对应不同的固定窗口大小。示例性的,以960fps进行慢动作视频录制,1s的缓存里可以有960帧,当电子设备为用户推荐的慢动作区间为0.5s时,所对应滑动窗口大小应该为480帧。此后可对选择的480帧以30fps进行编码,生成16s的慢动作视频。
在另一实施例中,电子设备可以对被拍摄视频帧进行实时慢动作处理,因此在拍摄完成后即可生成慢动作视频。如图27所示,电子设备可以实时地对被拍摄人体进行动作检测,当检测到人体跳跃动作时,触发智能慢动作视频录制。与此同时,电子设备可以被拍摄视频帧的缓存进行处理,找到运动开始帧和结束帧。因此在拍摄完成后即可生成慢动作视频保存在图库中,显示如图27中的(d)所示GUI。
在另一实施例中,慢动作录制结束后,可为用户推荐慢动作区间,并在UI界面上将慢动作区间的起止点呈现给用户,用户可在此基础上自行调节起止点,选定任意想要的录制区间呈现慢动作效果。如图28中的(a)所示,用户在拍摄完成一段慢动作视频后,生成慢动作视频以小图的形式显示在用于关联到图库的控件中。电子设备检测用户点击用于关联到图库的控件的操作后,显示如图28中的(b)所示GUI,该GUI可称为播放界面。当电子设备检测用用户可以点击播放控件2801的操作后,在播放界面上播放慢动作视频。在一实施例中,播放界面上还可以包含用于调整慢动作区间的控件2802,示例性的,用户可通过拖动控件2802,自行调整慢动作区间。再另一种可能的设计中,电子设备在拍摄完慢动作视频后,可直接显示如图28中的(c)所示GUI,用户可及时调整慢动作区间。
在一种可能的实现方式中,电子设备在录制慢动作视频时,可以缓存1-2秒的原帧率视频,选取0.5秒进行慢动作处理,用户可在此基础上自行调整慢动作区间。
在一种可能的实现方式中,电子设备生成慢动作视频后,用户可重新调整慢动作区间,电子设备可通过插帧或抽帧等方式生成新的慢动作视频。
在一实施例中,参见图28中的(d),所示GUI上还可以包含有“锁定”控件2803,“锁定”慢动作视频后,电子设备可将缓存的视频帧释放掉,有利于清理电子设备的缓存。但在“锁定”慢动作视频后,用户不能再对慢动作区间进行调整。
示例性的,如图29所示,当运动侦测功能关闭时,用户可以通过手动触发录制控件,以开启慢动作视频录制。如图29中的(a)所示,此时预览窗口中显示有对象1,当电子设备检测到用户点击录制控件的操作后,开始慢动作视频录制。
在一种可能的设计中,电子设备录制的视频的时长可以为预设时长,该预设长度可以是电子设备出厂时预设的,也可以是用户预设的。当该视频为预设长度时,用户只需要触发录像指示,而不需触发停止指示就可以自动完成视频的录制,因而可以减少用户的手动操作,给用户以智能录制的较好体验。示例性的,参见表1,当用户选择960fps的录制帧率时,该预设录制时长为0.5s。如图29中的(a),当电子设备检测到用户点击录制控件的操作后,开始慢动作视频录制,此时显示如图29中的(b)所示,预览界面显示有提示语“正在拍摄”。示例性的,电子设备可以缓存1s的视频帧。当拍摄完成后,显示如图29中的(c)所示,预览界面可以显示有提示语“正在保存”,此时电子设备可以对缓存的视频帧进行处理,选取缓存视频中的0.5s生成慢动作视频保存到图库中,显示如图29中的(d)所示,生成慢动作视频以小图的形式显示在用于关联到图库的控件中,此后用户可以点击用于关联图库的控件以查看拍摄的慢动作视频。
在一种可能的设计中,电子设备录制的视频时长可以是无限长,例如,录制帧率为120fps或240fps时可以不限制录制时长。如图30中的(a)所示,当电子设备检测到用户点击录制控件的操作后,开始慢动作视频录制。直到用户点击录制结束控件,则结束视频录制。参见图30中的(b),此时预览界面包含有用于结束视频录制的控件3001,还包含用于显示录制时长的控件3002。当电子设备检测到用户点击用于结束录制的控件3001的操作后,则停止慢动作视频录制,显示如图30中的(c)所示,预览界面可以显示有提示语“正在保存”。此时电子设备可以对拍摄的视频进行处理,生成慢动作视频保存到图库中,显示如图30中的(d)所示,生成慢动作视频以小图的形式显示在用于关联到图库的控件中,此后用户可以点击用于关联图库的控件以查看拍摄的慢动作视频。
在一实施例中,电子设备在生成慢动作视频后,可对该慢动作区间进行处理生成更丰富的效果,如快动作、倒放、循环等,还可以生成其他视频格式,如GIF等。在一实施例中, 电子设备还可以为慢动作视频进行AI自动配音,根据拍摄对象、运动类型和拍摄场景的不同,为慢动作视频匹配背景音乐,生成慢动作视频。在一实施例中,电子设备在生成慢动作视频后,还可以为慢动作视频增加水印。
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备、服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例公开了一种电子设备,包括处理器,以及与处理器相连的存储器、输入设备和输出设备。其中,输入设备和输出设备可集成为一个设备,例如,可将触摸传感器作为输入设备,将显示屏作为输出设备,并将触摸传感器和显示屏集成为触摸屏。
此时,如图31所示,上述电子设备可以包括:触摸屏3101,所述触摸屏3101包括触摸传感器3106和显示屏3107;一个或多个处理器3102;一个或多个摄像头3108;存储器3103;一个或多个应用程序(未示出);以及一个或多个计算机程序3104,上述各器件可以通过一个或多个通信总线3105连接。其中该一个或多个计算机程序3104被存储在上述存储器3103中并被配置为被该一个或多个处理器3102执行,该一个或多个计算机程序3104包括指令,上述指令可以用于执行上述实施例中的各个步骤。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应实体器件的功能描述,在此不再赘述。
示例性的,上述处理器3102具体可以为图2所示的处理器110,上述存储器3103具体可以为图2所示的内部存储器116和/或外部存储器120,上述摄像头3108具体可以为图2所示的摄像头193,上述显示屏3107具体可以为图2所示的显示屏194,上述触摸传感器3106具体可以为图2所示的传感器模块180中的触摸传感器,本申请实施例对此不做任何限制。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,该电子设备执行上述相关方法步骤实现上述实施例中的录像方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关方法步骤,以实现上述实施例中的录像方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的录像方法。
其中,本申请实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不 同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。