CN114268741B - 转场动效生成方法、电子设备和存储介质 - Google Patents
转场动效生成方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114268741B CN114268741B CN202210171604.7A CN202210171604A CN114268741B CN 114268741 B CN114268741 B CN 114268741B CN 202210171604 A CN202210171604 A CN 202210171604A CN 114268741 B CN114268741 B CN 114268741B
- Authority
- CN
- China
- Prior art keywords
- transition
- image
- shooting mode
- mode
- effect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/667—Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请涉及智能终端技术领域,具体涉及一种转场动效生成方法、电子设备和存储介质。其中的方法包括:在采用第一拍摄模式进行视频拍摄的过程中,检测到从第一拍摄模式切换到第二拍摄模式的第一指令;响应于第一指令,将视频拍摄模式切换为第二拍摄模式,并生成和播放转场动效,其中,转场动效在第一拍摄模式下拍摄的第一视频部分和在第二拍摄模式下拍摄的第二视频部分之间播放,并且转场动效包括第一视频部分中的第一图像、以及第二视频部分中的第二图像。本申请通过所生成的转场动效作为切换拍摄模式时的转场预览界面,能够使切换前后所显示的转场预览界面的转换更加流畅协调、不显生硬,利于提高用户体验。
Description
技术领域
本发明涉及智能终端技术领域,具体涉及一种转场动效生成方法、电子设备和存储介质。
背景技术
为了提高用户体验,手机、平板电脑等电子设备通常配置多个摄像头。例如目前很多手机配置有多个前置摄像头和多个后置摄像头。基于此,一些手机在向用户提供拍照、录像等相机功能的基础上,还可以向用户提供多镜录像功能等。其中,多镜录像功能所提供的各种拍摄模式可以使用一个或多个摄像头进行拍摄,用户可以根据自己的需求选择相应的相机功能进行拍摄。可以理解,开始拍摄视频时,手机的***中可以建立当前拍摄模式所对应启动的摄像头所采集数据送编码的通路,以用于将相应摄像头采集的图像数据送入编码器进行编码以得到所拍摄的视频文件。另外可以理解,如果当前拍摄模式使用的是多个摄像头,手机的***中对应各个摄像头所建立的通路也可以是多个,即多个通路将各个摄像头采集的图像数据送入多路编码器中进行编码以得到所拍摄的视频文件。
用户可以在拍摄视频的过程中,可以选择切换到与当前拍摄模式不同的其他拍摄模式进行拍摄。然而,在切换拍摄模式的过程中,由于切换前后的拍摄模式所使用的镜头取景等方面的差异,会导致手机在从切换前拍摄模式的图像预览界面切换到切换后拍摄模式的图像预览界面的过程中,所显示的转场预览界面比较生硬。尤其当用户选择切换的拍摄模式对应的摄像头取景与切换前使用的拍摄模式对应的摄像头取景的颜色等方面差异较大时,这种生硬的转场预览界面会显得尤为突兀,进而会给用户带来不好的视觉体验,导致用户体验变差。
发明内容
本申请实施例提供了一种转场动效生成方法、电子设备和存储介质,通过所生成的转场动效作为切换拍摄模式时的转场预览界面,能够使切换前后所显示的转场预览界面内容上存在更加流畅协调的接续过渡,转换不会显得生硬,从而利于提高用户体验。
第一方面,本申请实施例提供了一种转场动效生成方法,应用于电子设备,该方法包括:在采用第一拍摄模式进行视频拍摄的过程中,检测到从第一拍摄模式切换到第二拍摄模式的第一指令;响应于第一指令,将视频拍摄模式切换为第二拍摄模式,并生成和播放转场动效,其中,转场动效在第一拍摄模式下拍摄的第一视频部分和在第二拍摄模式下拍摄的第二视频部分之间播放,并且转场动效包括第一视频部分中的第一图像、以及第二视频部分中的第二图像。
即当用户操作电子设备进行拍摄模式的切换时,电子设备可以检测到切换拍摄模式的指令,即上述第一指令。此时,电子设备可以在切换拍摄模式的过程中显示基于第一拍摄模式所拍摄的第一图像和第二拍摄模式所拍摄的第二图像所生成的转场动效,如此电子设备所显示的转换界面与切换前后的两种拍摄模式对应的取景都可以有内容上的关联,因而看起来会更加流畅协调。上述第一拍摄模式和第二拍摄模式可以参考下文实施例中图5e所示例的各种多镜录像功能的拍摄模式等,在此不做限制。
在上述第一方面的一种可能的实现中,第一图像为在第一拍摄模式下拍摄的最后N帧图像,第二图像为在第二拍摄模式下拍摄的前M帧图像,其中,N和M为自然数。
即上述第一图像例如可以是第一拍摄模式所拍摄的第一视频部分的最后一帧图像,切换前第一拍摄模式下采集的多帧图像等;上述第二拍摄模式例如可以是第二拍摄模式所拍摄的第二视频部分的第一帧图像或者前几帧图像等,在此不做限制。
在上述第一方面的一种可能的实现中,在第一拍摄模式下拍摄第一图像采用的摄像头、与在第二拍摄模式下拍摄第二图像采用的摄像头,是位于电子设备不同侧的摄像头。
即切换前后两种拍摄模式可以采用不同的摄像头。例如切换前的第一拍摄模式所采用的摄像头为前置摄像头,而切换后的第二拍摄模式所采用的摄像头为后置摄像头。或者例如切换前的第一拍摄模式所采用的摄像头可以仅包括后置摄像头,而切换后的第二拍摄模式所采用的摄像头包括前置摄像头等,在此不做赘述。
在上述第一方面的一种可能的实现中,通过以下方式生成转场动效:根据电子设备在第二拍摄模式下生成第二视频部分的第一帧图像所需的时间,确定生成的转场动效的各个部分的转场图像帧数。
即所生成的转场动效各个部分的转场图像帧数,可以根据切换到的第二拍摄模式拍摄到第一帧图像的时间来确定,例如第二拍摄模式拍摄到第一帧图像的时间越长,基于第一拍摄模式拍摄到的第一图像所生成的转场图像帧数越多,即下文所描述的转场动效中第一转场部分的转场图像帧数越多,相应地第一转场部分的显示时间也会越长。相反地,第二拍摄模式拍摄到第一帧图像的时间越短,基于第二拍摄模式拍摄到的第二图像生成的转场图像帧数越多,即下文所描述的第二转场部分或第三转场部分的转场图像帧数越多,相应地第二转场部分或第三转场部分的显示时间较长一些。具体可以参考下文实施例中相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,转场动效包括依次生成的第一转场部分和第二转场部分,其中,第一转场部分的各帧转场图像基于第一图像生成;第二转场部分的各帧转场图像基于第二图像生成,或者,第二转场部分的各帧转场图像基于第一图像与第二图像的拼接图像生成。
即所生成的转场动效可以包括两个部分,其中第一部分(即上述第一转场部分)可以基于第一拍摄模式拍摄的第一图像生成。第一转场部分例如可以是下文实施例中图6a所示的A1~A50部分、或者图6b所示的A1~A70。所生成的转场动效的第二部分(即上述第二转场部分)可以基于第二拍摄模式拍摄的第二图像生成,也可以基于两种拍摄模式所拍摄的第一图像和第二图像共同生成,例如基于二者的拼接图像生成上述第二转场部分。在此不做限制。其中,基于第二拍摄模式拍摄的第二图像生成的第二转场部分,例如可以是下文实施例中图6a所示的B1~B50部分、或者图6b所示的B1~B30。
在上述第一方面的一种可能的实现中,电子设备包括对转场动效的第一转场部分预设的转场图像帧数为i、以及对转场动效的第二转场部分预设的转场图像帧数为j,并且,根据电子设备在第二拍摄模式下生成第二视频部分的第一帧图像所需的时间,确定生成的转场动效的各个部分的转场图像帧数,包括:若在第二拍摄模式下生成第二视频部分的第一帧图像所需的时间大于生成第一转场部分所需的时间,则确定生成的转场动效的第一转场部分的转场图像帧数为i+k、以及第二转场部分的转场图像帧数为j-k,其中k<j。
即电子设备中可以在一定的转场时长内,预设转场动效的各个部分所包括的转场图像帧数,例如上述第一转场部分所包括的i帧和第二转场部分所包括的j帧。可以理解,电子设备生成和显示的转场动效所包括的总计转场图像帧数是一定的,转场动效的显示时长是一定的。其中电子设备生成和显示第一转场部分的i帧转场图像的时间也是一定的,当切换拍摄模式时,如果第二拍摄模式对应的摄像头启动较慢等,可能会导致第二拍摄模式拍摄到第一帧图像的时间较长,此时电子设备预设的第一转场部分的i帧转场图像即将显示完,此时电子设备可以基于第一拍摄模式拍摄的第一图像继续生成转场图像并显示,如此,第一转场部分所包括的转场图像帧数便增加了,例如增加了k帧。这一变化过程可以参考下文实施例中图6a所示的A1~A50部分变化至图6b所示的A1~A70的相关描述,在此不做赘述。
鉴于转场动效所包括的总计转场图像帧数(即i+j帧)是一定的,那么在第二拍摄模式获取第一帧图像后,基于第二图像生成的第二转场部分中所包括的转场图像帧数,则可以相应地减少k帧。这一变化过程可以参考下文实施例中图6a所示的B1~B50部分变化至图6b所示的B1~B30的相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,转场动效包括依次生成的第三转场部分、第四转场部分和第五转场部分,其中,第三转场部分的各帧转场图像基于第一图像生成;第四转场部分的各帧转场图像基于第一图像与第二图像的拼接图像生成;第五转场部分的各帧转场图像基于第二图像生成。
即所生成的转场动效可以包括三个部分,为了区别于上述包含两个部分的转场动效的描述,可以分别用上述三转场部分、第四转场部分以及第五转场部分表示转场动效的第一部分、第二部分和第三部分。
所生成的转场动效的第一部分(即上述第三转场部分)可以基于第一拍摄模式拍摄的第一图像生成。第一部分例如可以是下文实施例中图6c所示的A1~A30部分、或者图6d所示的A1~A50。
所生成的转场动效的第二部分(即上述第四转场部分)可以基于两种拍摄模式所拍摄的第一图像和第二图像共同生成,例如基于二者的拼接图像生成转场动效的第一部分。该第一部分,例如可以是下文实施例中图6c所示的AB1~AB40部分、或者图6d所示的AB1至AB30部分。
所生成的转场动效的第三部分(即上述第五转场部分)可以基于第二拍摄模式拍摄的第二图像生成。第三部分例如可以是下文实施例中图6c所示的B1~B30部分、或者图6d所示的B1~B20部分。
在上述第一方面的一种可能的实现中,电子设备包括对转场动效的第三转场部分预设的转场图像帧数为a、对转场动效的第四转场部分预设的转场图像帧数为b、以及对转场动效的第五转场部分预设的转场图像帧数为c,并且,根据电子设备在第二拍摄模式下生成第二视频部分的第一帧图像所需的时间,确定生成的转场动效的各个部分的转场图像帧数,包括:若在第二拍摄模式下生成第二视频部分的第一帧图像所需的时间大于生成第三转场部分所需的时间,则确定生成的转场动效的第三转场部分的转场图像帧数为a+x、第四转场部分的转场图像帧数为b-y、以及第五转场部分的转场图像帧数为c-z,其中x=y+z、并且y<b、z<c。
即电子设备中可以在一定的转场时长内,预设转场动效的各个部分所包括的转场图像帧数,例如上述第三转场部分(即转场动效的第一部分)所包括的a帧、第四转场部分(即转场动效的第二部分)所包括的b帧以及第五转场部分(即转场动效的第三部分)所包括的c帧。
可以理解,电子设备生成和显示的转场动效所包括的总计转场图像帧数是一定的,转场动效的显示时长是一定的。如果第二拍摄模式对应的摄像头启动较慢等,可能会导致第二拍摄模式拍摄到第一帧图像的时间较长,此时电子设备预设的第一部分的a帧转场图像即将显示完,此时电子设备可以基于第一拍摄模式拍摄的第一图像继续生成转场图像并显示,如此,第一部分所包括的转场图像帧数便增加了,例如增加了x帧。这一变化过程可以参考下文实施例中图6c所示的A1~A30部分变化至图6d所示的A1~A50的相关描述,在此不做赘述。
鉴于转场动效所包括的总计转场图像帧数(即a+b+c帧)是一定的,那么在第二拍摄模式获取第一帧图像后,基于第一图像和第二图像生成的第二部分中所包括的转场图像帧数,可以相应地减少y帧;基于第二图像生成的第三部分中所包括的转场图像帧数,可以相应地减少z帧,其中x=y+z。这一变化过程可以参考下文实施例中图6c所示的AB1~AB40部分变化至图6d所示的AB1至AB30部分、以及图6c所示的B1~B30部分变化至图6d所示的B1~B20部分的相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,转场动效的转场图像基于第一图像或第二图像添加动态变化效果处理得到。
在上述第一方面的一种可能的实现中,动态变化效果包括下列中的至少一项:蒙版遮罩、模糊度渐变以及透明度渐变。
即转场动效的效果,可以是经过蒙版遮罩、模糊度渐变以及透明度渐变等特效效果处理得到的。在一些实施例中,转场动效的特效类型可以基于用户选择确定,也可以预设在电子设备中,在此不做限制。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述转场动效生成方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有指令,指令在计算机上执行时使计算机执行上述转场动效生成方法。
第四方面,本申请实施例提供了一种计算机程序产品,该产品包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述转场动效生成方法。
附图说明
图1a所示为本申请实施例提供的一种手机100的相机拍摄功能界面示意图。
图1b所示为本申请实施例提供的一种手机100拍摄视频时切换拍摄模式的操作界面示意图。
图2a所示为本申请实施例提供的第二拍摄模式后采集到第一帧图像耗时为350ms所对应的转场动效中各部分所分配的转场时长示意图。
图2b所示为本申请实施例提供的第二拍摄模式后采集到第一帧图像耗时为500ms所对应的转场动效中各部分所分配的转场时长示意图。
图2c所示为本申请实施例提供的一种手机100的硬件结构示意图。
图3a所示为本申请实施例提供的一种切换前的拍摄模式下的拍摄界面示意图。
图3b所示为本申请实施例提供的一种转场预览界面示意图。
图3c所示为本申请实施例提供的一种切换后的拍摄模式下的拍摄界面示意图。
图4所示为本申请实施例提供的一种转场动效生成方法的实施流程示意图。
图5a所示为本申请实施例提供的一种启动相机后所显示的拍摄界面示意图。
图5b所示为本申请实施例提供的一种启动相机后所显示的拍摄功能选择界面示意图。
图5c所示为本申请实施例提供的一种的多镜录像功能的操作界面示意图。
图5d所示为本申请实施例提供的一些多镜录像拍摄界面示意图。
图5e所示为本申请实施例提供的一种切换拍摄模式的操作界面示意图。
图5f所示为本申请实施例提供的一种切换拍摄模式后的界面示意图。
图6a所示为本申请实施例提供的一种包括两个部分的转场动效基于预设的转场动效生成策略控制各部分中各帧转场图像的生成及送显的顺序示意图。
图6b所示为本申请实施例提供的一种包括两个部分的转场动效基于预设的转场动效生成策略调整各部分的转场图像数量后,控制各帧转场图像的生成及送显的顺序示意图。
图6c所示为本申请实施例提供的一种包括三个部分的转场动效基于预设的转场动效生成策略控制各部分中各帧转场图像的生成及送显的顺序示意图。
图6d所示为本申请实施例提供的一种包括三个部分的转场动效基于预设的转场动效生成策略调整各部分的转场图像数量后,控制各帧转场图像的生成及送显的顺序示意图。
图7a所示为本申请实施例提供的一种切换拍摄模式前手机100显示的前置全景预览界面示意图。
图7b所示为本申请实施例提供的一种切换拍摄模式过程中,第二拍摄模式启动前手机100显示的切换界面示意图。
图7c所示为本申请实施例提供的一种切换拍摄模式过程中,第二拍摄模式启动后手机100显示的切换界面示意图。
图7d所示为本申请实施例提供的完成拍摄模式的切换后手机100显示的双景预览界面示意图。
图8所示为本申请实施例提供的一种手机100的软件结构框图。
图9所示为本申请实施例提供的一种转场动效生成方法的交互流程示意图。
具体实施方式
为了便于理解本申请方案,下面先对本申请应用的切换场景中涉及的各种拍摄模式进行介绍。
图1a根据本申请实施例示出了一种手机100提供多种拍摄模式的相机功能界面示意图。
如图1a所示,例如用户在手机100运行的相机应用的界面上选择使用多镜录像功能时,手机100可以显示图1a所示的相机界面101。其中,该界面101上包括前置单摄模式011、后置单摄模式012、前-后双摄模式013、后-后双摄模式014或者画中画模式015等多种拍摄模式,可以供用户选择。例如用户选择前-后双摄模式013作为当前的拍摄模式,则相机界面101可以显示两部分图像预览区域,即图1a所示的前置摄像头拍摄到的前景预览区域102、和图1a所示的后置摄像头拍摄到的后景预览区域103。
可以理解,在一些实施例中,图1a所示的前置单摄模式011、后置单摄模式012等可以称为单摄模式;图1a所示的前-后双摄模式013、后-后双摄模式014以及画中画模式015等则可以称为多摄模式。具体地,在前置单摄模式011下,手机100采用一个前置摄像头进行视频拍摄;在后置单摄模式012下,手机100采用一个后置摄像头进行视频拍摄。在后-后双摄模式014下,手机100采用两个后置摄像头进行视频拍摄;在前-后双摄模式013下,手机100采用一个前置摄像头和一个后置摄像头进行视频拍摄。在一些实施例中,画中画模式015还可以包括前置画中画模式、后置画中画模式以及前后画中画模式。以前后画中画模式为例,手机100可以采用一个前置摄像头和一个后置摄像头进行视频拍摄,且将前置摄像头或后置摄像头拍摄的画面置于后置摄像头或前置摄像头拍摄的画面之中。
图1b根据本申请实施例示出了一种手机100拍摄视频时切换拍摄模式的操作界面示意图。
如图1b所示,手机100响应于用户选择使用前-后双摄模式013拍摄视频的操作,显示图1b所示的拍摄界面020,在拍摄界面020上,用户可以点击切换控件021选择另一种拍摄模式进行切换。例如用户可以在点击切换控件021后选择后-后双摄模式014作为切换后的拍摄模式,此时手机100则响应于用户的切换操作,由前-后双摄模式013切换为后-后双摄模式014。手机100在响应用户的切换拍摄模式的操作,切换拍摄模式时,如果切换前的拍摄模式与切换后的拍摄模式取景差异较大,例如切换前后取景色差较大时,手机100所显示的转场预览界面转换会比较生硬,用户体验较差。
为了解决手机等电子设备在切换拍摄模式的过程,所显示的转场预览界面比较生硬的问题,本申请实施例提供了一种转场动效生成方法。具体地,该方法通过在检测到用户切换拍摄模式的操作时,基于切换前的拍摄模式下采集的一帧或多帧图像生成转场动效的起始部分,并基于切换后的拍摄模式下采集的一帧或多帧图像生成转场动效的结束部分,从而实现从切换前拍摄模式的拍摄画面预览到切换后拍摄模式的拍摄画面预览的接续过渡。如此,切换拍摄模式的过程中显示该转场动效作为转场预览界面,则会显得比较流畅、协调,从而消除了转场预览界面生硬的问题,有利于提高用户体验。
可以理解,基于本申请实施例所提供的转场动效生成方法所生成的转场动效中,切换前的拍摄模式下采集的一帧或多帧图像例如可以是切换前拍摄模式下采集的最后一帧或多帧图像,切换后的拍摄模式下采集的一帧或多帧图像例如可以是切换后拍摄模式下采集的第一帧或者前几帧图像。对于采集到的用于生成转场动效的图像(简称转场图像),所进行的图像特效处理可以包括但不限于模糊处理、蒙版遮罩、图像旋转等处理方式,在此不做限制。
为了避免混淆,在下文描述中,将切换前的拍摄模式统一描述为第一拍摄模式,将切换后的拍摄模式统一描述为第二拍摄模式。
可以理解,基于本申请实施例所提供的转场动效生成方法所生成的转场动效中,第一拍摄模式下和第二拍摄模式下采集的一帧或多帧图像的显示时长,可以根据预设的转场动效生成策略来控制,该策略所确定的第一拍摄模式和第二拍摄模式的图像的显示时长,可以与启动第二拍摄模式下的各个镜头并采集到第二拍摄模式下第一帧图像的时间长短相关。也就是说,转场动效的各个部分的显示时长可以随第二拍摄模式采集到第一帧图像的时间来动态调整。另外,切换拍摄模式所需要的时间长短也可能会有变动,则转场动效的各个部分显示时间也可以随切换时长的变动相应调整,在此不做限制。
作为示例,参考图2a所示,例如手机响应用户操作切换拍摄模式的过程中,所显示的转场动效持续时间(即转场时长)例如是1s,如果手机从第一拍摄模式切换至第二拍摄模式后采集到第一帧图像耗时350ms,则在转场动效的1s时间内,第1ms至第350ms可以显示基于第一拍摄模式下采集的最后一帧或多帧图像生成的第一部分,第350ms至700ms显示基于第一拍摄模式下的最后一帧和第二拍摄模式下采集的第一帧图像拼接纹理生成的第二部分,第700ms至1s则显示第二拍摄模式下采集的第一帧图像或者前几帧图像生成的第三部分。而如果手机从第一拍摄模式切换至第二拍摄模式后采集到第一帧图像耗时为500ms,如图2b所示,则在转场时长1s间内,第1ms至第500ms可以显示上述第一部分,第500ms至第700ms显示上述第二部分,第700ms至1s显示上述第三部分。
可以理解,本申请实施例所提供的技术方案适用于各种电子设备,可以包括但不限于手机、平板电脑、桌面型、膝上型、手持计算机、上网本、增强现实(Augmented Reality,AR)\虚拟现实(Virtual Reality,VR)设备、智能电视、智能手表等、以及其中嵌入或耦接有一个或多个处理器、或具有拍摄功能的其他电子设备,在此不做限制。下面继续以手机为例,介绍本申请实施例提供的转场动效生成方法的具体实现过程。
图2c根据本申请实施例示出了一种手机100的硬件结构示意图。
如图2c所示,手机100可以包括处理器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等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,加速度传感器180E,距离传感器180F,触摸传感器180K,环境光传感器180L等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,在此不做限制。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在本申请实施例中,控制器根据处理器110的指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制,以执行本申请的转场动效生成方法相关的获取图像、以及对所获取的图像进行特效处理等指令,从而利用所生成的转场动效实现切换拍摄模式,使拍摄模式切换前后手机100所显示的转场预览界面更加流畅,不显生硬。
处理器110中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括通用串行总线(universal serial bus,USB)接口等。其中,USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与***设备之间传输数据。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。调制解调处理器可以包括调制器和解调器。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。在本申请实施例中,手机100可以通过显示屏194显示拍摄视频时相应拍摄模式的摄像头采集的图像预览,以及切换拍摄模式的过程中所生成及显示的转场图像预览,即转场预览界面所显示的图像预览。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照或者拍摄视频时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将该电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。在本申请实施例中,手机100拍摄视频时,可以利用前置或者后置的摄像头193采集视频图像,并在切换拍摄模式时,基于摄像头193采集的图像处理成转场图像等。
视频编解码器用于对数字视频压缩或解压缩。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储数据区可存储手机100使用过程中所创建的数据(比如拍摄得到的视频数据等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。在本申请实施例中,内部存储器121可以存储用于执行本申请实施例所提供的转场动效生成方法的相关指令,以供处理器110调用运行生成相应的转场动效。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,手机100也可以根据压力传感器180A的检测信号计算触摸的位置。
陀螺仪传感器180B可以用于确定手机100的运动姿态。在一些实施例中,陀螺仪传感器180B也可以用于拍摄防抖。
加速度传感器180E可检测手机100在各个方向上(一般为三轴)加速度的大小。当手机100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换等应用。
距离传感器180F,用于测量距离。手机100可以通过红外或激光测量距离。在一些实施例中,例如拍摄场景中,手机100可以利用距离传感器180F测距以实现快速对焦。
环境光传感器180L用于感知环境光亮度。在本申请实施例中,环境光传感器180L也可用于拍摄视频时自动调节白平衡。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。
基于上述图2c所示的手机100的结构,下面结合相关附图详细说明本申请实施例所提供的转场动效生成方法实现过程中所涉及的各个方面。
图3a至3c根据本申请实施例示出了拍摄视频的过程中,用户操作手机100切换拍摄模式时,手机100显示转场动效的场景示意图。
图3a所示为切换前拍摄模式(即第一拍摄模式)下的拍摄界面310。如图3a所示,例如手机100拍摄视频时采用的第一拍摄模式是前置单摄模式,则手机100所显示的拍摄界面310中显示前置摄像头采集的前置全景预览。用户如果在图3a所示的拍摄界面310上点击切换控件311,则手机100可以先进入显示图3b所示的转场预览界面320,继而进入显示图3c所示切换后拍摄模式(即第二拍摄模式)下的拍摄界面330。
例如手机100切换拍摄模式后的第二拍摄模式是前/后双摄模式,如图3c所示,切换拍摄模式后,手机100所显示的拍摄界面330包括前景预览界面331和后景预览界面332。可以理解,在一些实施例中,前-后双摄模式或者后-后双摄模式也可以称为双景拍摄模式,在此不做限制。
其中,切换前第一拍摄模式拍摄到的最后一帧图像,例如是图3a所示的一朵花朵,则在切换后的第二拍摄模式拍摄到第一帧图像之前,图3b所示的转场预览界面320可以是基于第一拍摄模式拍摄到的最后一帧花朵的图像进行添加蒙版遮罩或提高透明度又或者逐渐模糊等处理得到的转场图像,该花朵可以显示为从清晰到模糊逐渐变化等效果。当切换后的第二拍摄模式拍摄到第一帧图像后,图3b所示的转场预览界面也可以切换为图3c所示的界面样式,即图3c所示意的前景预览界面中仍然可以显示基于第一拍摄模式拍摄到的最后一帧花朵的图像处理得到的转场图像,该花朵的动态变化效果可以再从模糊逐渐变清晰。在另一些实施例中,切换拍摄模式的过程中,手机100所显示的转场预览界面也可以是其他形式,在此不做限制。
其中,手机100所显示的图3b所示的转场预览界面320中可以显示转场动效,在本申请实施例中,该转场动效可以基于切换前的第一拍摄模式采集的图像、和切换后的第二拍摄模式采集的图像进行相应图像处理后生成,以实现第一拍摄模式至第二拍摄模式的转场画面内容接续过渡,从而使得拍摄得到的视频内容播放时画面内容更加流畅、协调。
基于上述图3a至3c所示的场景,图4根据本申请实施例示出了一种转场动效生成方法的实施流程示意图。可以理解,在本申请实施例中,图4所示流程中的各步骤执行主体均为手机100,为了避免重复描述,以下描述中将不再逐一描述各步骤的执行主体。
如图4所示,该流程包括以下步骤:
401:响应于用户启动相机拍摄视频的操作,以第一拍摄模式开始拍摄视频。
示例性地,用户可以操作手机100运行相机应用拍摄视频。可以理解,用户启动相机拍摄视频的操作,可以通过语音操作,例如“YOYO,启动相机”;也可以通过触控操作,例如用户可以点击手机100桌面的相机应用图标,或者点击手机100上预设的相机启动按键等;手机100也可以基于预设的触发条件自动触发启动相机,或者用户还可以通过预设的操作手势操作手机100启动相机,在此不做限制。
相机应用启动后,可以进入默认设置的拍摄模式,用户也可以在相机启动后的拍摄界面上选择一种拍摄模式,作为第一拍摄模式,可以理解,第一拍摄模式既可以是相机启动是默认设置的拍摄模式,也可以是用户选择的拍摄模式,在此不做限制。
例如,用户在手机100所显示的相机应用的拍摄界面上选择录像或者多镜录像等功能,然后在相应的功能界面上选择一种拍摄模式,例如选择上述图1a所示的前景单摄模式011,再点击开始拍摄的控件便可以开始拍摄视频。手机100则响应于用户的上述一系列操作,以第一拍摄模式开始采集视频图像、执行视频拍摄。
作为示例,图5a至5d示出了一些启动相机使用多镜录像功能拍摄视频的操作界面示意图。
用户可以在手机100的桌面上点击相机应用的图标,使手机100启动相机应用,显示图5a所示界面。
如图5a所示,手机100启动相机后所显示的拍摄界面510上,用户可以在相机功能菜单511上左右滑动,参考图5a所示的操作①,待拍摄界面510上显示更多选项控件512时,点击该更多选项控件,则手机100可以显示图5b所示的更多功能界面520。
如图5b所示,更多功能界面520上可以显示多种相机功能,例如包括图5b所示的慢动作、全景、延时摄影、水印、文档矫正、超级微距、高像素、微电影等,在另一些实施例中,手机100所运行的相机应用还可以提供比图5b所示更多或者更少的相机功能,在此不做限制。用户可以点击更多功能界面520上的多镜录像521,则手机100可以显示图5c所示的多镜录像操作界面530。
如图5c所示,多镜录像操作界面530上可以显示通过手机100的前置摄像头和后置摄像头采集的图像预览,例如图5c所示的前景预览和后景预览。多镜录像操作界面530上还可以显示开始拍摄控件531以及前后置镜头切换控件532。用户可以在多镜录像操作界面530上点击前后置镜头切换控件532,将图5c所示的前景预览对应使用的前置摄像头切换为后置摄像头,在此不做赘述。
当用户需要录制视频时,可以点击图5c所示的多镜录像操作界面530上的开始拍摄控件,开始拍摄视频。此时,手机100则可以显示图5d所示的多镜录像拍摄界面540。图5d所示界面及相关描述,将在下述步骤402中结合相关实施内容进行描述,在此不做赘述。
402:响应于用户切换拍摄模式的操作,获取第一拍摄模式下的至少一帧图像、以及第二拍摄模式下的至少一帧图像。
示例性地,用户可以在手机100开始拍摄视频后显示的录制界面上操作切换拍摄模式,该录制界面例如可以是图5d所示的多镜录像拍摄界面540,该操作例如是将手机100当前录制视频使用的第一拍摄模式切换为第二拍摄模式。手机100在检测到用户切换拍摄模式的操作时,则可以获取第一拍摄模式下的一帧或多帧图像、并在启动第二拍摄模式对应的镜头后及时获取第二拍摄模式下的一帧或多帧图像。可以理解,手机100所获取的第一拍摄模式下的图像,可以是第一拍摄模式下采集的最后一帧或多帧图像;手机100所获取的第二拍摄模式下的图像,可以是第二拍摄模式下采集的第一帧或前几帧图像。手机100此时所获取的图像,将用于生成转场动效。
作为示例,参考图5d所示,多镜录像拍摄界面540上包括操作提示框541、以及暂停录制控件542和结束录制控件543等。该操作提示框541所显示的操作提示内容可以参考图5d所示的“滑动切换多镜模式”。手机100录制视频的过程中,如果用户或者按照操作提示框541所引导的滑动方向进行滑动操作,并在打开的拍摄模式选择界面上选择一种拍摄模式进行切换等。
图5e根据本申请实施例示出了一种切换拍摄模式的操作界面示意图。
当用户在上述图5d所示的多镜录像拍摄界面540上按照操作提示框541中显示的操作提示进行相应操作后,手机100可以显示图5e所示的拍摄模式选择界面550。可以理解,图5e所示的拍摄模式选择界面550与上述图1a所示的拍摄模式选择界面101的区别之处在于手机100处于竖屏或横屏的状态不同,另外图1a所示的拍摄模式选择界面101也可以是开始拍摄视频前,用户选择拍摄模式的操作界面,在此不做限制。
与图1a所示类似地,如图5e所示,拍摄模式选择界面550上也可以包括前置单摄模式551、后置单摄模式552、前-后双摄模式553、后-后双摄模式554或者画中画模式555。作为示例,手机100当前的第一拍摄模式例如是前-后双摄模式553,用户可以在拍摄模式选择界面550选择界面上选择画中画模式555或者其他拍摄模式进行切换操作。
403:根据预设的转场动效生成策略、切换时长、以及所获取的第一拍摄模式下的至少一帧图像和第二拍摄模式下的至少一帧图像,生成转场动效。
示例性地,手机100在上述步骤402中检测到用户切换拍摄模式的操作时,可以根据预设的转场动效生成策略对所获取的图像进行模糊处理、或添加蒙版遮罩等处理。在另一些实施例中,处理转场图像所基于的转场动效生成策略,也可以是根据用户选择模糊处理效果、或者是添加蒙版遮罩效果、又或者是进行某种透明度处理效果对应的转场动效来确定,在此不做限制。其中,转场动效生成策略对转场动效各个部分的处理及显示时长的控制等,可以与转场时长相关。
可以理解,在一些实施例中,该切换时长可以根据切换拍摄模式前后,第一拍摄模式对应的摄像头数据送编码的通路关闭以及相应摄像头关闭的时刻,到第二拍摄模式对应的各摄像头完成启动并完成建立相应的摄像头数据送编码通路的时刻之间的时间差值来确定。在另一些实施例中,转场时长也可以是用户在拍摄界面上选择设定的切换时长。例如有些用户想要在拍摄的视频中添加较长时间的转场动效,则可以选择设定转场动效的时长为3s或5s等,此时手机100中预设的转场动效生成策略,也可以根据用户设定的转场时长,来控制转场动效各个部分的显示时长。在此不做限制。
上述转场动效生成策略可以包括:对所获取的第一拍摄模式或第二拍摄模式下的图像进行相应特效处理的相关图像处理参数。手机100基于预设的图像处理参数对所获取的各帧图像进行处理后,再编入转场动效的视频流中。其中,手机100在获取第一拍摄模式下的一帧或多帧图像后,便可以对该帧或多帧图像处理为转场动效中的起始部分进行显示。可以理解,在手机100获取到第二拍摄模式下的第一帧图像之前,手机100所显示的转场动效中可以一直是基于第一拍摄模式下的图像生成的连续帧。当手机100获取到第二拍摄模式下的第一帧图像后,手机100则可以将该帧图像以及在该帧之后获取的图像,处理为转场动效的结束部分进行显示。
因此可以理解,手机100上预设的转场动效生成策略还可以包括:对转场动效中基于第一拍摄模式下的图像生成的部分的显示时长、以及基于第二拍摄模式下的图像生成的部分的显示时长的控制规则,以及对所获取的图像处理后在转场动效中的显示顺序(例如下文图6a至图6b所示各帧转场图像的显示顺序)的控制规则等。其中,基于第一拍摄模式下的图像生成的部分例如可以是下文图6a或图6d所示的A1~A50部分,也可以是下文图6b所示的A1~A70部分或者图6c所示的A1~A30部分,在此不做限制。基于第二拍摄模式下的图像生成的部分例如可以是下文图6a所示的B1~B50部分或图6b所示的B1~B30部分,也可以是下文图6c所示的AB1~AB40和B1~B30部分或图6d所示的AB1~AB30和B1~B20部分,在此不做限制。
另外可以理解,转场动效中基于第一拍摄模式下的图像生成的部分的显示时长、与基于第二拍摄模式下的图像生成的部分的显示时长之和,可以小于或者等于切换时长,如上所述,该切换时长例如可以是用户设定或者基于切换前后的拍摄模式对应的摄像头关闭及启动所需时间而确定的,在此不做限定。对于预设的转场动效生成策略控制生成转场动效的各个部分转场图像的过程,具体下文中将结合附图进行详细的示例性描述,在此不做赘述。
404:切换拍摄模式的过程中显示所生成的转场动效。
示例性地,手机100基于第一拍摄模式下的图像、以及第二拍摄模式下的图像所生成转场动效,可以在手机100的屏幕上作为实时的转场预览界面进行显示。参考下文图9所示的交互流程,可以理解,手机100在上述步骤403中根据预设的转场动效生成策略,对第一拍摄模式下的图像、以及第二拍摄模式下的图像进行相应特效处理后,生成的每一帧转场图像可以逐帧送显。即手机100的屏幕可以在切换拍摄模式的时间段(即上述切换时长)内,同步显示完成处理得到的各帧转场图像,该完成处理的各帧转场图像依照生成顺序形成转场动效。
另外,如果要在拍摄得到的视频文件中也显示所生成的转场动效,还可以在手机100的***中建立将处理得到的转场图像送编码的通路,例如可以送入多路编码模块中进行编码,如此拍摄得到的视频文件中因相应拍摄模式的摄像头数据送编码的通路重建导致的断流时段内,便可以显示所生成的转场动效作为拍摄模式切换前后的衔接部分。这也使得拍摄得到的视频文件播放时画面更加流畅。
可以理解,在手机100完成视频的录制时,切换拍摄模式的过程中生成的转场动效也被编码到录制得到的视频内容中。此时录制得到的视频内容中,录制到的用户切换拍摄模式过程对应的部分即为所生成的转场动效。如此,手机100录制得到的视频内容中,切换拍摄模式前后的视频画面过渡可以显得更加流畅,不会再出现一段黑屏或者突兀的转场效果,利于提高用户体验。手机100显示所生成的转场动效的界面示意图,将在下文结合图7a至图7d进行详细描述,在此不做赘述。
405:完成拍摄模式的切换,以第二拍摄模式继续拍摄视频。
示例性地,手机100完成拍摄模式的切换,意味着手机100上对应于第二拍摄模式的镜头等硬件已启动并功能就绪,例如相应镜头可以采集视场角范围内的图像等。此时手机100屏幕显示完转场动效,可以显示第二拍摄模式下采集的图像预览。可以理解,手机100所拍摄的视频是基于拍摄过程中各镜头采集的连续帧图像,经矫正、滤镜等处理后再通过相应的通路送编码处理得到的一段视频流数据。编码形式的各段视频流数据,例如可以是高级视频编码(Advanced Video Coding,AVC)格式等。
由于切换前的拍摄模式所对应建立的摄像头数据送编码的通路,与切换后的拍摄模式所对应建立的摄像头数据送编码的通路往往不同,因此,切换拍摄模式前后,手机等电子设备会关闭切换前拍摄模式对应建立的通路,并在切换后拍摄模式所对应的摄像头启动后重新建立切换后拍摄模式所对应的通路。因此拍摄视频的过程中,如果切换拍摄模式,拍摄得到的视频文件中会出现断流,例如黑屏、模糊等。因此,可选地,在一些实施例中,可以在拍摄模式切换过程中,将所生成的转场动效通过相应的通路送编码得到另一段频流数据。待手机100响应于用户拍摄及切换拍摄模式的操作完成视频拍摄后,编码得到的各段AVC格式的视频流数据可以按照相应的时间戳进行合并封装,从而生成包含转场动效的视频文件。可以理解,封装打包后的视频文件格式例如可以是MP4、或音频视频交错格式(Audio Video Interleaved,AVI)等媒体文件格式,在此不做限制。
如此,本申请实施例所提供的转场动效生成方法,可以将生成的转场动效编码到所拍摄的视频文件中,以解决所拍摄的视频中切换拍摄模式前后视频数据断流的问题,并且该转场动效能够与前后的视频内容形成融合,使所拍摄的视频内容中转场也更加流畅、协调。
作为示例,图5f根据本申请实施例示出了一种切换拍摄模式后的界面示意图。
可以理解,手机100响应于用户操作完成拍摄模式的切换后,手机100例如可以显示图5f所示的切换拍摄模式后的界面。
如图5f所示,用户选择画中画模式555作为第二拍摄模式进行切换后,手机100完成拍摄模式的切换可以显示拍摄界面560。该拍摄界面560所显示的视频图像预览则是画中画的构图形式,例如作为背景的画面561显示后景预览,作为画中的画面562显示前景预览。切换拍摄模式后,手机100继续以切换后的画中画模式555继续拍摄视频,直至用户点击结束录制控件563时结束视频的拍摄并生成相应所拍摄的视频。
下面结合转场动效中各帧转场图像的显示顺序示意图,来示例性的介绍本申请实施例所提供的转场动效生成方法中,对应生成转场动效所基于的转场动效生成策略。
图6a至图6d根据本申请实施例示出了一些基于预设转场动效生成策略控制转场动效中的各帧转场图像的生成以及送显顺序的示意图。作为示例,切换拍摄模式前后切换时长例如为1s,这1s内预设播放的转场图像帧数例如为100帧,并且各部分的转场图像例如基于第一拍摄模式下的最后一帧图像A、以及第二拍摄模式下的第一帧图像B生成。其中手机100上预设的对第一拍摄模式下的图像A、和第二拍摄模式下的图像B进行特效处理并生成相应转场动效所基于的预设转场动效生成策略中,可以包括图6a至图6d所示的控制转场动效中各帧转场图像生成及送显顺序的策略。
作为一种示例,例如手机100上预设的转场动效生成策略中,控制转场动效中各帧转场图像生成及送显顺序的策略可以包括:控制转场动效的第一部分(例如50帧图像)显示第一拍摄模式下的图像、第二部分(例如50帧图像)显示第二拍摄模式下的图像。
图6a根据本申请实施例示出了一种包括两个部分的转场动效基于预设的转场动效生成策略控制各部分中各帧转场图像的生成及送显的顺序示意图。
如图6a所示,A1~A50例如是基于第一拍摄模式下的最后一帧图像A经特效处理得到的各帧转场图像,A1~A50形成转场动效的第一部分。其中A1为转场动效的第一帧显示图像,A1~A50各帧转场图像上的特效程度可以呈渐进变化。例如该特效如果是蒙板遮罩,则A1至A50各帧转场图像上的蒙板颜色可以依次由浅至深逐渐变化;该特效如果是模糊处理,则A1至A50各帧转场图像的模糊程度可以依次由低度至高度逐渐变化,即逐渐由清晰变模糊的特效效果,在另一些实施例中,该特效也可以是其他形式,在此不做限制。
继续如图6a所示,B1~B50例如是基于第二拍摄模式下的第一帧图像B经特效处理得到的各帧转场图像,B1~B50形成转场动效的第二部分。其中B50为转场动效的最后一帧显示图像,B1~B50各帧转场图像上的特效程度可以呈渐进变化。例如该特效如果是蒙板遮罩,则B1至B50各帧转场图像上的蒙板颜色可以依次由深至浅逐渐变化;该特效如果是模糊处理,则B1至B50各帧转场图像的模糊程度可以逐渐降低,即逐渐由模糊逐渐变清晰的特效效果,在另一些实施例中,该特效也可以是其他形式,在此不做限制。
在另一些实施例中,图6a所示的A1~A50也可以是基于第一拍摄模式下的最后几帧图像处理得到,图6a所示的B1~B50也可以是基于第二拍摄模式下的前几帧图像处理得到,在此不做限制。
如此,手机100所显示的转场动效的效果则可以是,先显示由清晰逐渐变模糊的第一拍摄模式下的最后一帧图像A、再显示由模糊逐渐变清晰的第二拍摄模式下的第一帧图像B。两种拍摄模式的图像接续显示处,为蒙版颜色最深效果或者高度模糊的效果,即便图像A与图像B的内容差异很大,例如颜色差别很大,接续时由图像A切换为图像B也会留给用户充足的视觉接受时间,图像切换过渡流畅,不会显得生硬或者突兀。
图6b根据本申请实施例示出了一种包括两个部分的转场动效基于预设的转场动效生成策略调整各部分的转场图像数量后,控制各帧转场图像的生成及送显的顺序示意图。
如果手机100所处理的A50生成以及送显时,第二拍摄模式下的部分或全部镜头尚未功能就绪、无法采集图像,参考图6b所示,则手机100上预设的转场动效生成策略可以控制继续基于第一拍摄模式下的图像A生成由模糊逐渐变清晰的图像A51、A52…A70,直至手机100获取到第二拍摄模式下的图像B时,再基于该图像B处理生成转场动效结束部分需要显示的各帧转场图像,例如图6b所示的B1~B30。在另一些实施例中,图6b所示的A51至A70也可以显示为A50对应的图像特效,直至手机100获取图像B后,B1至B30对应的特效程度可以从A50对应的程度逐渐由模糊变清晰,在此不做限制。
作为另一种示例,例如手机100上预设的转场动效生成策略中,控制转场动效中各帧转场图像生成及送显顺序的策略可以包括:控制转场动效的第一部分(例如30帧图像)基于第一拍摄模式下的图像经特效处理得到、第二部分(例如40帧图像)基于第一拍摄模式下的图像和第二拍摄模式下的图像经拼接+特效处理得到、而第三部分(例如30帧图像)基于第二拍摄模式下的图像经特效处理得到。
图6c根据本申请实施例示出了一种包括三个部分的转场动效基于预设的转场动效生成策略控制各部分中各帧转场图像的生成及送显的顺序示意图。
如图6c所示,A1~A30例如是基于第一拍摄模式下的最后一帧图像A经特效处理得到的各帧转场图像,作为转场动效的前序部分,即转场动效的第一部分。其中A1为转场动效的第一帧显示图像,A1至A30图像的显示效果可以逐渐由清晰变模糊。
继续如图6c所示,AB1~AB40例如是基于第一拍摄模式下的最后一帧图像A、和第二拍摄模式下的第一帧图像B经拼接+特效处理后得到的各帧转场图像,作为转场动效的中间部分,即转场动效的第二部分。其中,图像A与图像B拼接成图像AB的效果,例如可以参考下文图7c所示的前置全景预览最后一帧图像与后景预览第一帧图像的拼接效果,也可以是其他形式的拼接效果,在此不做限制。AB1至AB40图像模糊程度的变化,例如可以是低度模糊→高度模糊→低度模糊的变化效果,其中AB1图像的模糊程度可以与A30图像的模糊程度相同。
继续如图6c所示,B1~B30例如是基于第二拍摄模式下的第一帧图像B经特效处理得到的各帧转场图像,作为转场动效的结束部分,即转场动效的第三部分。其中B30为转场动效的最后一帧显示图像,B1至B30图像的显示效果可以逐渐由模糊变清晰。可以理解,B1图像的模糊程度可以与AB40图像的模糊程度相同。
在另一些实施例中,图6c所示的A1~A30也可以是基于第一拍摄模式下的最后几帧图像处理得到,图6c所示的B1~B30也可以是基于第二拍摄模式下的前几帧图像处理得到,AB1~AB40则可以是第一拍摄模式下的最后一帧、和第二拍摄模式下的第一帧图像拼接+特效处理得到,在此不做限制。
如此,手机100所显示的转场动效的效果则可以是,先显示由清晰逐渐变模糊的第一拍摄模式下的最后一帧图像A,再显示模糊程度逐渐变高后、再逐渐变低的拼接图像AB,最后显示由模糊逐渐变清晰的第二拍摄模式下的第一帧图像B。如此,也可以使手机100生成的转场动效中图像切换过渡流畅,不会显得生硬或者突兀。
图6d根据本申请实施例示出了一种包括三个部分的转场动效基于预设的转场动效生成策略调整各部分的转场图像数量后,控制各帧转场图像的生成及送显的顺序示意图。
如果手机100所处理的A30生成以及送显时,第二拍摄模式下的部分或全部镜头尚未功能就绪、无法采集图像,参考图6d所示,则手机100上预设的转场动效生成策略可以控制继续基于第一拍摄模式下的图像A处理得到图像A31、A32…A50,直至手机100获取到第二拍摄模式下的图像B时,再基于图像A和图像B处理生成转场动效第二部分需要显示的各帧转场图像,例如图6d所示的AB1至AB30。进而基于图像B处理生成转场动效结束部分需要显示的各帧转场图像,例如图6d所示的B1~B20。在另一些实施例中,图6b所示的A31至A50也可以显示为A30对应的图像特效,直至手机100获取图像B后,AB1至AB30以及B1至B20对应的模糊程度再从A30对应的模糊程度开始逐渐由模糊变清晰,在此不做限制。
可以理解,在另一些实施例中,手机100上预设的切换拍摄模式的切换时长也可以是其他时长,例如可以是750ms或450ms等。相应地,转场动效的时长也为750ms或450ms,转场动效的视频流中则可以包括75帧图像、45帧图像或者其他帧数量的图像等,在此不做限制。
图7a至图7d根据本申请实施例示出了一些转场动效的预览界面示意图。
作为示例,以第一拍摄模式为上述图5e所示的前置单摄模式551、第二拍摄模式为前-后双摄模式553为例。
如图7a所示,切换拍摄模式前,手机100在前置单摄模式551下可以显示前置全景预览界面710。当手机100检测到用户切换拍摄模式的操作时,可以获取前置单摄模式551下拍摄的前置全景预览图像中的最后一帧图像,并将该帧图像处理为转场动效中显示的转场图像。
如图7b所示,例如手机100对前置全景预览最后一帧图像所进行的处理是添加蒙版遮罩处理,手机100此时显示的切换界面720上,可以显示前置全景预览最后一帧图像由清晰逐渐变得不清晰的特效,这期间添加在该图像上的蒙版颜色可以由浅至深变化。
如图7c所示,当手机100获取到第二拍摄模式,即前-后双摄模式553模式下相应的前后置镜头工作后采集的第一帧图像时,可以对该帧图像添加与图7b所示颜色一致的蒙版遮罩效果,过渡到显示前-后双摄模式553对应的预览界面,即图7c所示的切换界面730。可以理解,图7b和图7c所示的蒙版遮罩效果可以是蒙版颜色最深时的效果,此时手机100所显示的画面最为模糊,在另一些实施例中,图7b至图7c所示的蒙版遮罩效果也可以是蒙版颜色由深至浅变化过程中的某个蒙版遮罩效果,在此不做限制。
如图7d所示,完成拍摄模式的切换后,手机100则可以显示前-后双摄模式553模式下的双景预览界面740。该双景预览界面740上显示的前景预览,可以与图7c所示的前景前置预览最后一帧图像内容可以相同也可以不同,但此时显示的则是前-后双摄模式553模式下前置镜头当前采集的图像。类似地,该双景预览界面740上显示的后景预览,可以与图7c所示的后景预览第一帧图像的内容可以相同也可以不同,但此时显示的则是前-后双摄模式553模式下后置镜头当前采集的图像。
图8根据本申请实施例示出了一种手机100的软件结构框图。
手机100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android***为例,示例性说明手机100的软件结构。
如图8所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,硬件抽象层,以及内核层。
如图8所示,应用程序层可以包括一系列应用程序包。应用程序包可以包括相机应用。应用程序层又可以分为用户界面(User Interface,又称UI界面)801和应用逻辑802。
其中,相机应用的UI界面801可以包括录像803、多镜录像804等相机功能控件,其中多镜录像功能还可以包括前、后、前-后、后-后以及画中画等拍摄模式。前、后、前-后、后-后以及画中画等拍摄模式例如可以分别对应于上述图5e所示的前置单摄模式551、后置单摄模式552、前-后双摄模式553、后-后双摄模式554以及画中画模式555等。
相机应用的应用逻辑802可以包括切换控制模块810、多路编码模块820以及转场动效生成模块830。
其中,切换控制模块810用于响应用户在UI界面801上选择一种相机功能,启动相机开始拍摄视频的操作,以及切换拍摄模式的操作等。切换控制模块810在响应切换拍摄模式的用户操作时,可以向转场动效生成模块830发送相应指令或者信号,以触发生成转场动效。具体可以参考下文中各结构的交互过程描述,在此不做赘述。
多路编码模块820用于接收转场动效生成模块830对完成特效处理的图像所发送的编码指令,按照处理后的各帧转场图像的生成及送显顺序将各帧转场图像编码为视频流数据,并编码至拍摄得到的视频文件中。
可以理解,在切换拍摄模式前,多路编码模块820可以接收第一拍摄模式对应建立的摄像头数据送编码的通路传送过来的图像数据进行编码,第一拍摄模式对应建立的这一通路所传送的图像数据例如可以是下述硬件抽象层中的相机设备1所对应的图像数据。切换拍摄模式时,第一拍摄模式对应的通路关闭,多路编码模块820的不再对第一拍摄模式对应的通路图像数据进行编码。当所切换的第二拍摄模式对应的摄像头数据送编码的通路建立完成后,多路编码模块820可以继续对第二拍摄模式对应的通路所传送的图像数据进行编码,第二拍摄模式对应建立的这一通路所传送的图像数据例如可以是下述硬件抽象层中的相机设备2和相机设备3所对应的图像数据。可以理解,多路编码模块820接收转场动效生成模块830的编码指令所进行的编码任务,与各个拍摄模式下基于摄像头采集的图像数据编码生成视频文件所进行的编码任务是不同的。
可以理解,多路编码模块820可以对一个或多个镜头采集的图像经绘制渲染以及特效处理后的各帧转场图像进行编码处理,在另一些实施例中,编码模块也可以使用单路编码模块或者双路编码模块等,在此不做限制。
可以理解,在本申请实施例中,可以通过开放图形库(Open Graphics Library,OpenGL)或者针对嵌入式***的开放图形库(Open Graphics Library for EmbeddedSystems,OpenGL ES))渲染器对图像进行渲染处理。OpenGL为用于渲染2D、3D图形的跨语言、跨平台的应用程序编程接口。在一些描述中,OpenGL也可能简称为“GL”,相应地,OpenGLES也可能简称为“GL ES”。可以理解,Android应用程序可以调用OpenGL或OpenGL ES接口来绘制渲染UI界面801。
因此可以理解,相机应用的应用逻辑802中的转场动效生成模块830,具体可以包括纹理生成器(Texture Generator)831、渲染线程(Render Thread)832、渲染处理程序(Render Handler)833以及着色器库834等。
其中,纹理生成器831可以响应于切换控制模块810发来的指令或信号注册图像***,并对监听获取的图像提取纹理特征。可以理解,纹理特征是一种全局特征,反映的是图像中同质现象的视觉特征,体现物体表面的具有缓慢变换或周期性变化的表面组织结构排列属性。图像纹理通过像素及其周围空间邻域的灰度分布来表现,即局部纹理信息。另外,局部纹理信息不同程度上的重复性,就是全局纹理信息。因此,每一帧图像都可以提取出与之对应的唯一纹理特征。
渲染线程832,运行渲染器的线程。可以理解,渲染器通常基于图形应用编程接口(application programming interface,API)来构建,常用的图形API包括OpenGL,因此在一些实施例中,渲染线程832也可以称为GL渲染线程。在切换拍摄模式时,GL渲染线程上运行的渲染器可以获取待渲染显示的图像,作为生成转场动效的素材。
渲染处理程序833则可以由GPU运行,用于对GL渲染线程上获取的图像进行特效或拼接等处理。可以理解,运行在渲染线程832上的渲染器可以调用GPU执行渲染处理程序833,对图像进行处理。
着色器库834,用于配合GPU执行着色程序,可以包括多个着色器(Shader)。其中,Shader的本质时一段执行在GPU上的程序,此程序使用OpenGL ES SL语言来编写,因此在一些实施例中,着色器库834所提供的着色器也可以称之为GL ES着色器(GL ES Shader)。在OpenGL ES中常用的Shader包括顶点着色器(vertex shader)、片元着色器(fragmentshader)等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图8所示,应用程序框架层可以包括框架层包括相机访问接口(Camera API),相机访问接口是Android推出的一套访问摄像头设备的接口,其采用管道式的设计,使数据流从摄像头流向Surface。相机访问接口包括相机管理(Camera Manager)。相机管理可以用于管理相机设备,通过相机管理可以查询手机100上的相机设备信息,进而得到相机设备对象。相机设备信息例如可以包括相机设备相关的一系列固定参数,例如基础的设置参数和输出格式参数等。
硬件抽象层,是位于操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作***提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。在图8中,HAL包括相机硬件抽象层(Camera HAL,又称相机HAL)。
相机HAL可以包括相机设备1、相机设备2、相机设备3等。可以理解,该相机设备1、相机设备2和相机设备3为抽象的设备,例如可以是抽象的摄像头1、摄像头2、摄像头3等设备。
内核驱动层是硬件和软件之间的层。内核驱动层至少包含显示驱动,摄像头驱动等。其中,显示驱动可以用于驱动手机100的显示屏194,摄像头驱动可以用于驱动手机100的各个摄像头193。
基于图8所示的手机100的软件结构,图9根据本申请实施例示出了一种转场动效生成方法的交互流程示意图。如图9所示,该交互流程涉及图8所示的切换控制模块810、多路编码模块820、以及转场动效生成模块830中的纹理生成器831、渲染线程832、渲染处理程序833以及着色器库834。
具体地,如图9所示,该流程包括以下步骤:
S01:切换控制模块810执行第一拍摄模式的环境初始化。
示例性地,用户在相机应用的界面(例如上述图5b所示的相机应用的更多功能界面520)上点击多镜录像功能控件,使用多镜录像功能开始拍摄视频时,切换控制模块810可以响应于用户启动多镜录像的操作,触发多镜录像拍摄环境的初始化。开始拍摄视频时,手机100可以采用默认拍摄模式或者用户选择的某种拍摄模式,此时的所采用的拍摄模式即为第一拍摄模式。因此,拍摄环境的初始化,也即是第一拍摄模式下的环境初始化。可以理解,该环境初始化例如可以包括驱动第一拍摄模式对应的摄像头工作以及手机100***内的绘制渲染环境就绪等。
作为示例,切换控制模块810例如可以设置在上述图8所示的手机100***的应用程序层中。在另一些实施例中,切换控制模块810也可以设置在手机等电子设备***框架的其他层中,例如可以设置在应用程序框架层中以供应用程序层中相机应用的应用逻辑调用,在此不做限制。
S02:切换控制模块810向纹理生成器831发送第一拍摄模式的纹理初始化指令。
示例性地,切换控制模块810在响应用户启动拍摄的操作时,可以向纹理生成器831发送初始化指令,以令纹理生成器831初始化对第一拍摄模式下采集的图像提取纹理的操作环境。
作为示例,纹理生成器831例如可以设置在上述图8所示的手机100***的应用程序层中。在另一些实施例中,纹理生成器831也可以设置在手机等电子设备***框架的其他层中,例如可以设置在应用程序框架层中以供应用程序层中相机应用的应用逻辑调用,在此不做限制。
S03:纹理生成器831计算第一拍摄模式采集的图像所对应的纹理效果。
示例性地,纹理生成器831完成纹理提取环境的初始化后,可以对第一拍摄模式下采集的图像,计算相应的纹理效果,即提取对应于该图像的纹理特征。
S04:纹理生成器831向渲染线程832更新纹理效果。
示例性地,纹理生成器831在完成纹理效果的计算,或者说是完成纹理特征的提取后,可以向渲染线程832发送计算得到的纹理效果参数(即纹理特征参数),以更新当前这一帧图像的纹理效果。
S05:渲染线程832向渲染处理程序833发送初始化渲染环境指令。
示例性地,渲染线程832接收到纹理生成器831发来的更新纹理效果后,可以向渲染处理程序833发送初始化指令,以令GPU运行渲染处理程序进行渲染环境的初始化。
S06:渲染处理程序833调用着色器库834中相应的着色器执行着色程序。
示例性地,GPU运行渲染处理程序833完成渲染环境的初始化后,可以调用着色器库834中相应的着色器,配合GPU运行相应的着色程序。此时,渲染处理程序833可以将已更新纹理效果的帧纹理的位置、颜色、纹理坐标等发送给相应着色器,用于配合GPU执行着色程序。
作为示例,着色器库834例如可以设置在上述图8所示的手机100***的应用程序层中。在另一些实施例中,着色器库834也可以设置在手机等电子设备***框架的其他层中,例如可以设置在应用程序框架层中以供应用程序层中相机应用的应用逻辑调用,在此不做限制。
S07:纹理生成器831响应于初始化指令,注册图像***,并获取第一拍摄模式下的帧图像,提取相应的帧纹理。
示例性地,纹理生成器831在执行上述步骤S03至S04时,也可以响应于上述步骤S02接收到的初始化指令,注册图像***。该图像***用于监听并第一拍摄模式以及用户请求切换的第二拍摄模式下的图像,以用于生成转场动效。
S08:切换控制模块810响应于用户切换拍摄模式的操作,向纹理生成器831发送拍摄模式切换信号。
示例性地,用户在相机应用的界面(例如上述图5e所示的拍摄模式选择界面550)上选择不同于当前拍摄模式的另一拍摄模式进行切换时,切换控制模块810可以响应于用户的切换操作,向纹理生成器831发送拍摄模式切换信号。该拍摄模式切换信号用于通知纹理生成器831拍摄模式即将切换。
S09:纹理生成器831获取第一拍摄模式下的一帧图像,提取相应的帧纹理。
示例性地,纹理生成器831接收到拍摄模式切换信号时,可以基于上述步骤S07注册图像***,获取第一拍摄模式下的一帧图像,并提取相应图像的帧纹理。可以理解,此处纹理生成器831所获取的第一拍摄模式下的一帧图像,例如可以是第一拍摄模式下的最后一帧图像或者连续的最后几帧图像,所获取的图像将用于生成转场动效,在此不做限制。
可以理解,每一帧图像对应于的一帧纹理,后续处理中,对各帧纹理所进行的特效处理等,可以理解为对相应帧图像进行的特效处理等。
S10:纹理生成器831向渲染线程832发送所提取的帧纹理。
示例性地,纹理生成器831在获取图像并提取相应图像的帧纹理后,可以向渲染线程832发送所提取的帧纹理,以供渲染线程832上运行的渲染器进行后续相应处理。
S11:渲染线程832获取该帧纹理。
示例性地,渲染线程832接收纹理生成器831发来的帧纹理,该帧纹理即上述步骤S09中对第一拍摄模式下的一帧图像所提取的帧纹理。
S12:渲染线程832向渲染处理程序833发送该帧纹理,并请求对该帧纹理进行转场动效处理。
示例性地,渲染线程832在接收纹理生成器831发来的帧纹理后,可以向渲染处理程序833发送该帧纹理,并且渲染线程832还可以请求GPU运行的渲染处理程序833对该帧纹理处理为转场动效中的一帧或多帧图像。
可以理解,渲染线程832以及渲染处理程序833的运行并不限于图8所示的应用程序层,实际上渲染线程832以及渲染处理程序833的运行可以涉及应用程序框架层以及内核层中的GPU驱动等部分所执行的处理过程,在此不做限制。渲染线程832以及渲染处理程序833的具体运行过程,可以参考现有技术中渲染进程的执行处理过程,在此不做赘述。
S13:渲染处理程序833向着色器库834发送对应于该帧纹理的特效处理参数。
示例性地,GPU所运行的渲染处理程序833中可以预设上述转场动效生成策略,基于该策略,渲染处理程序可以确定对转场动效的每一帧图像的特效处理参数。该特效处理参数例如包括蒙版遮罩的颜色及不透明度参数、模糊处理的模糊程度系数等,还可以包括每一帧图像的纹理信息等。其中,纹理信息则例如可以是各帧图像对应的纹理的位置、颜色以及纹理坐标信息等。渲染处理程序833在确定当前这一帧纹理对应的特效处理参数后,可以发送给着色器库中834中相应的着色器,以用于配合GPU执行着色程序。
可以理解,着色器库834提供相应的着色器配合GPU运行着色程序,对该帧纹理进行特效处理,从而得到具有相应特效的帧纹理,进而生成转场动效中相应位置上显示的一帧图像。
S14:渲染处理程序833向着色器库834调用相应着色器对该帧纹理进行特效处理,并绘制渲染送显。
示例性地,GPU所运行的渲染处理程序833向着色器库834发送该帧纹理对应的特效处理参数后,可以调用相应着色器,配合GPU执行着色程序,对当前这一帧纹理进行相应的特效处理,并在处理完成后将相应图像的显示参数发送给界面合成服务(surfaceflinger)进行送显,即通过界面合成服务(surface flinger)完成与其他图层的合并后作为待显示界面进行显示的过程,在此不做赘述。
S15:渲染处理程序833将送显的帧纹理发送给多路编码模块820进行编码,生成转场动效的视频流数据。
示例性地,在一些实施例中,GPU所运行的渲染处理程序833在完成对当前这一帧图像的纹理完成特效处理后得到的转场图像,也可以通过相应的通路发送给多路编码模块820进行编码,即送编码的过程,以生成转场动效对应的视频流数据。可以理解,多路编码模块820例如可以利用相应的编码器实现对完成处理的帧纹理或帧图像进行压缩编码,编码形成的视频流文件格式例如可以是上述AVC格式等。如上所述,待手机100响应于用户拍摄视频以及切换拍摄模式的操作完成视频拍摄后,编码得到的各段AVC格式的视频流数据可以按照相应的时间戳进行合并封装,形成包含所生成的转场动效的视频文件,封装打包后的视频文件格式例如可以是MP4、或AVI等媒体文件格式,在此不做赘述。
可以理解,在另一些实施例中,对所生成的转场动效也可以不执行本步骤S15的送编码过程,手机100在实施本申请实施例所提供的转场动效生成方法时,可以仅在切换拍摄模式的转场预览界面中显示所生成的转场动效,在此不做限制。
作为示例,多路编码模块820例如可以设置在上述图8所示的手机100***的应用程序层中。在另一些实施例中,多路编码模块820也可以设置在手机等电子设备***框架的其他层中,例如可以设置在应用程序框架层中以供应用程序层中相机应用的应用逻辑调用,在此不做限制。
S16:渲染处理程序833通过渲染线程832、纹理生成器831向切换控制模块810返回第一拍摄模式的图像处理结果。
示例性地,GPU所运行的渲染处理程序833完成当前这一帧纹理或图像的特效处理后,可以通过渲染线程832、纹理生成器831向切换控制模块810返回第一拍摄模式的图像处理结果。例如通过渲染线程832、纹理生成器831向切换控制模块810发送完成处理的返回值。该返回值表明,转场动效中的当前这一帧纹理或图像已处理完成,可以继续进行下一帧图像的处理。
可以理解,对于第一拍摄模式下的图像处理成转场动效中相应的若干帧图像的过程,可以通过重复上述步骤S13至S14以及S15的过程,在此不做赘述。
S17:纹理生成器831获取第二拍摄模式下的一帧图像,提取相应的帧纹理。
示例性地,在纹理生成器831上注册的图像***监听到第二拍摄模式下的第一帧图像时,纹理生成器831可以基于该图像***获取第二拍摄模式下的第一帧图像。在另一些实施例中,纹理生成器831在获取第二拍摄模式下的第一帧图像之后,可以继续获取连续的第二帧、第三帧等多帧图像,用于处理为转场动效中的各帧转场图像,在此不做限制。
可以理解,纹理生成器831对第二拍摄模式下的图像,提取相应的帧纹理的过程,可以参考上述步骤S09中相关描述,在此不做赘述。
S18:纹理生成器831向渲染线程832发送所提取的帧纹理。
示例性地,纹理生成器831向渲染线程832发送的所提取的帧纹理,为上述步骤S17中获取的第二拍摄模式下的图像对应的帧纹理。纹理生成器831在获取图像并提取相应图像的帧纹理后,可以向渲染线程832发送所提取的帧纹理,以供渲染线程832上运行的渲染器进行后续相应处理。
S19:渲染线程832获取该帧纹理。
示例性地,渲染线程832所获取的帧纹理,为上述步骤S18中纹理生成器831所发送的第二拍摄模式下的图像对应的帧纹理。
S20:渲染线程832向渲染处理程序833发送该帧纹理,并请求对该帧纹理进行转场动效处理。
示例性地,渲染线程832在接收纹理生成器831发来的帧纹理后,可以向渲染处理程序833发送该帧纹理,并且渲染线程832还可以请求GPU运行的渲染处理程序833对该帧纹理处理为转场动效中的一帧或多帧图像。
S21:渲染处理程序833向着色器库834发送对应于该帧纹理的特效处理参数。
示例性地,渲染处理程序833在确定当前这一帧纹理对应的特效处理参数后,可以发送给着色器库中834中相应的着色器,以用于配合GPU执行着色程序。具体可以参考上述步骤S13中相关描述,在此不做赘述。
S22:渲染处理程序833向着色器库834调用相应着色器对该帧纹理进行特效处理,并绘制渲染送显。
示例性地,GPU所运行的渲染处理程序833向着色器库834发送该帧纹理对应的特效处理参数后,可以调用相应着色器,配合GPU执行着色程序,对当前这一帧纹理进行相应的特效处理,并在处理完成后将相应图像的显示参数发送给surface flinger进行送显。具体可以参考上述步骤S14中相关描述,在此不做限制。
S23:渲染处理程序833将送显的帧纹理发送给多路编码模块820进行编码,生成转场动效的视频流数据。
示例性地,在一些实施例中,GPU所运行的渲染处理程序833在完成对当前这一帧图像的纹理完成特效处理后得到的转场图像,也可以通过相应的通路发送给多路编码模块820进行编码,即送编码的过程,以生成转场动效对应的视频流数据。具体可以参考上述步骤S15中相关描述,在此不做赘述。
可以理解,在另一些实施例中,对所生成的转场动效也可以不执行本步骤S23的送编码过程,手机100在实施本申请实施例所提供的转场动效生成方法时,可以仅在切换拍摄模式的转场预览界面中显示所生成的转场动效,在此不做限制。
S24:渲染处理程序833通过渲染线程832、纹理生成器831向切换控制模块810返回第二拍摄模式的图像处理结果。
示例性地,GPU所运行的渲染处理程序833完成当前这一帧纹理或图像的特效处理后,可以通过渲染线程832、纹理生成器831向切换控制模块810返回第二拍摄模式的图像处理结果。例如通过渲染线程832、纹理生成器831向切换控制模块810发送完成处理的返回值。该返回值表明,转场动效中的当前这一帧纹理或图像已处理完成,可以继续进行下一帧图像的处理。
可以理解,对于第一拍摄模式下的图像处理成转场动效中相应的若干帧图像的过程,可以通过重复上述步骤S21至S22以及S23的过程,在此不做赘述。
S25:切换控制模块810向纹理生成器831发送拍摄模式完成切换信号。
示例性地,切换控制模块810在接收到第二拍摄模式的图像处理结果后,可以确定已完成拍摄模式的切换,则可以向纹理生成器831发送拍摄模式完成切换信号。
S26:纹理生成器831注销图像***。
示例性地,纹理生成器831在接收到切换控制模块810发来的拍摄模式完成切换信号后,确定不需要在监听获取某个拍摄模式下的图像,此时可以注销相应的图像***。
可以理解,在另一些实施例中,纹理生成器831上注册的图像***,不仅用于切换拍摄模式时获取第一拍摄模式和第二拍摄模式下的图像,该图像***可以用于在视频拍摄过程中一直监听镜头采集并上传的图像。此种情形下,在完成拍摄模式的切换后,纹理生成器831也可以不注销所注册的图像***。该图像***在完成拍摄模式的切换后,可以持续获取第二拍摄模式下对应工作的镜头所采集并上传的图像。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请实施例的公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机***总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。
Claims (10)
1.一种转场动效生成方法,应用于电子设备,其特征在于,包括:
在采用第一拍摄模式进行视频拍摄的过程中,检测到从所述第一拍摄模式切换到第二拍摄模式的第一指令;
响应于所述第一指令,将视频拍摄模式切换为所述第二拍摄模式,并生成和播放转场动效,其中,
所述转场动效在所述第一拍摄模式下拍摄的第一视频部分和在所述第二拍摄模式下拍摄的第二视频部分之间播放,并且所述转场动效包括所述第一视频部分中的第一图像、以及所述第二视频部分中的第二图像;
所述转场动效至少包括依次生成的第一转场部分和第二转场部分,其中,所述第一转场部分的各帧转场图像基于所述第一图像生成;所述第二转场部分的各帧转场图像基于所述第二图像生成,或者所述第二转场部分的各帧转场图像基于所述第一图像与所述第二图像的拼接图像生成;并且,
所述电子设备包括对所述转场动效的第一转场部分预设的转场图像帧数为i、以及对所述转场动效的第二转场部分预设的转场图像帧数为j,所述电子设备根据所述电子设备在第二拍摄模式下生成所述第二视频部分的第一帧图像所需的时间,确定生成的所述转场动效的各个部分的转场图像帧数,具体包括:
若在第二拍摄模式下生成所述第二视频部分的第一帧图像所需的时间大于生成所述第一转场部分所需的时间,则确定生成的所述转场动效的第一转场部分的转场图像帧数为i+k、以及第二转场部分的转场图像帧数为j-k,其中k<j。
2.根据权利要求1所述的方法,其特征在于,所述第一图像为在所述第一拍摄模式下拍摄的最后N帧图像,所述第二图像为在所述第二拍摄模式下拍摄的前M帧图像,其中,N和M为自然数。
3.根据权利要求1所述的方法,其特征在于,在所述第一拍摄模式下拍摄所述第一图像采用的摄像头、与在所述第二拍摄模式下拍摄所述第二图像采用的摄像头,是位于所述电子设备不同侧的摄像头。
4.根据权利要求1所述的方法,其特征在于,所述第一转场部分预设的转场图像帧数i与第二转场部分预设的转场图像帧数j之间的数值关系包括i=j,并且,
所述电子设备根据所述电子设备在第二拍摄模式下生成所述第二视频部分的第一帧图像所需的时间,确定生成的所述转场动效的各个部分的转场图像帧数,包括:
若在第二拍摄模式下生成所述第二视频部分的第一帧图像所需的时间大于生成所述第一转场部分所需的时间,则确定生成的所述转场动效的第一转场部分的转场图像帧数大于第二转场部分的转场图像帧数。
5.根据权利要求1所述的方法,其特征在于,所述转场动效还包括在所述第二转场部分之后生成的第三转场部分,其中,所述第三转场部分的各帧转场图像基于所述第二图像生成。
6.根据权利要求5所述的方法,其特征在于,所述电子设备包括对所述转场动效的第三转场部分预设的转场图像帧数为c,并且,
所述根据所述电子设备在第二拍摄模式下生成所述第二视频部分的第一帧图像所需的时间,确定生成的所述转场动效的各个部分的转场图像帧数,包括:
若在第二拍摄模式下生成所述第二视频部分的第一帧图像所需的时间大于生成所述第一转场部分所需的时间,则确定生成的所述转场动效的第一转场部分的转场图像帧数为i+x、第二转场部分的转场图像帧数为j-y、以及第三转场部分的转场图像帧数为c-z,其中x=y+z、并且y<j、z<c。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述转场动效的转场图像基于所述第一图像或所述第二图像添加动态变化效果处理得到。
8.根据权利要求7所述的方法,其特征在于,所述动态变化效果包括下列中的至少一项:
蒙版遮罩、模糊度渐变以及透明度渐变。
9.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至8中任一项所述的转场动效生成方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至8中任一项所述的转场动效生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210171604.7A CN114268741B (zh) | 2022-02-24 | 2022-02-24 | 转场动效生成方法、电子设备和存储介质 |
PCT/CN2022/143304 WO2023160234A1 (zh) | 2022-02-24 | 2022-12-29 | 转场动效生成方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210171604.7A CN114268741B (zh) | 2022-02-24 | 2022-02-24 | 转场动效生成方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114268741A CN114268741A (zh) | 2022-04-01 |
CN114268741B true CN114268741B (zh) | 2023-01-31 |
Family
ID=80833626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210171604.7A Active CN114268741B (zh) | 2022-02-24 | 2022-02-24 | 转场动效生成方法、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114268741B (zh) |
WO (1) | WO2023160234A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268741B (zh) * | 2022-02-24 | 2023-01-31 | 荣耀终端有限公司 | 转场动效生成方法、电子设备和存储介质 |
CN114845059B (zh) * | 2022-07-06 | 2022-11-18 | 荣耀终端有限公司 | 一种拍摄方法及相关设备 |
CN115272060A (zh) * | 2022-08-12 | 2022-11-01 | 北京字跳网络技术有限公司 | 转场特效图的生成方法、装置、设备及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2464126A1 (en) * | 2010-12-10 | 2012-06-13 | Advanced Digital Broadcast S.A. | A system and a method for transforming a 3D video sequence to a 2D video sequence |
CN105069827B (zh) * | 2015-08-19 | 2018-08-10 | 北京中科大洋科技发展股份有限公司 | 一种采用三维模型处理视频转场的方法 |
CN109451360B (zh) * | 2018-11-02 | 2021-03-05 | 北京亿幕信息技术有限公司 | 视频转场特效方法及引擎 |
CN109640019B (zh) * | 2018-12-13 | 2021-09-07 | 广州艾美网络科技有限公司 | 一种通过移动终端录制编辑长视频的方法 |
CN109688463B (zh) * | 2018-12-27 | 2020-02-18 | 北京字节跳动网络技术有限公司 | 一种剪辑视频生成方法、装置、终端设备及存储介质 |
CN109788212A (zh) * | 2018-12-27 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种分段视频的处理方法、装置、终端和存储介质 |
CN110113526A (zh) * | 2019-04-22 | 2019-08-09 | 联想(北京)有限公司 | 处理方法、处理装置和电子设备 |
CN110062271B (zh) * | 2019-04-28 | 2022-03-04 | 腾讯科技(成都)有限公司 | 场景切换方法、装置、终端及存储介质 |
CN111083526B (zh) * | 2019-12-31 | 2021-12-10 | 广州酷狗计算机科技有限公司 | 视频转场方法、装置、计算机设备及存储介质 |
CN112702656A (zh) * | 2020-12-21 | 2021-04-23 | 北京达佳互联信息技术有限公司 | 视频编辑方法和视频编辑装置 |
CN112637573A (zh) * | 2020-12-23 | 2021-04-09 | 深圳市尊正数字视频有限公司 | 一种多镜头切换的显示方法、***、智能终端及存储介质 |
CN113052119B (zh) * | 2021-04-07 | 2024-03-15 | 兴体(广州)智能科技有限公司 | 球类运动跟踪摄像方法及*** |
CN113596321B (zh) * | 2021-06-16 | 2023-05-09 | 荣耀终端有限公司 | 转场动效的生成方法、设备和存储介质 |
CN113473005B (zh) * | 2021-06-16 | 2022-08-09 | 荣耀终端有限公司 | 拍摄中转场动效***方法、设备、存储介质 |
CN113422903B (zh) * | 2021-06-16 | 2023-01-03 | 荣耀终端有限公司 | 拍摄模式切换方法、设备、存储介质 |
CN113542802B (zh) * | 2021-07-09 | 2023-07-14 | 北京百度网讯科技有限公司 | 视频的转场方法和装置 |
CN114268741B (zh) * | 2022-02-24 | 2023-01-31 | 荣耀终端有限公司 | 转场动效生成方法、电子设备和存储介质 |
-
2022
- 2022-02-24 CN CN202210171604.7A patent/CN114268741B/zh active Active
- 2022-12-29 WO PCT/CN2022/143304 patent/WO2023160234A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023160234A1 (zh) | 2023-08-31 |
CN114268741A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114268741B (zh) | 转场动效生成方法、电子设备和存储介质 | |
CN113473005B (zh) | 拍摄中转场动效***方法、设备、存储介质 | |
CN113422903B (zh) | 拍摄模式切换方法、设备、存储介质 | |
US11949978B2 (en) | Image content removal method and related apparatus | |
WO2022262313A1 (zh) | 基于画中画的图像处理方法、设备、存储介质和程序产品 | |
CN113099146B (zh) | 一种视频生成方法、装置及相关设备 | |
CN113596321B (zh) | 转场动效的生成方法、设备和存储介质 | |
CN113709355B (zh) | 滑动变焦的拍摄方法及电子设备 | |
CN111279387A (zh) | 图像处理设备,图像捕获***,图像处理方法和记录介质 | |
US20240056685A1 (en) | Image photographing method, device, storage medium, and program product | |
CN117911299A (zh) | 视频处理方法和装置 | |
CN113572948B (zh) | 视频处理方法和视频处理装置 | |
CN115564659B (zh) | 视频处理方法和装置 | |
CN116055895B (zh) | 图像处理方法及其装置、芯片***和存储介质 | |
CN111093096A (zh) | 视频编码方法及装置、存储介质 | |
CN115529411B (zh) | 视频虚化方法和装置 | |
CN114915722B (zh) | 处理视频的方法和装置 | |
CN115550544A (zh) | 图像处理方法及装置 | |
CN116048323A (zh) | 图像处理方法及电子设备 | |
CN111835977B (zh) | 图像传感器、图像生成方法及装置、电子设备、存储介质 | |
CN116723410B (zh) | 调节帧间隔的方法和装置 | |
CN117082295B (zh) | 图像流处理方法、设备及存储介质 | |
CN113810595B (zh) | 视频拍摄的编码方法、设备和存储介质 | |
CN115908221B (zh) | 图像处理方法、电子设备及存储介质 | |
CN116723416B (zh) | 图像处理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |