CN113596321B - 转场动效的生成方法、设备和存储介质 - Google Patents
转场动效的生成方法、设备和存储介质 Download PDFInfo
- Publication number
- CN113596321B CN113596321B CN202110682681.4A CN202110682681A CN113596321B CN 113596321 B CN113596321 B CN 113596321B CN 202110682681 A CN202110682681 A CN 202110682681A CN 113596321 B CN113596321 B CN 113596321B
- Authority
- CN
- China
- Prior art keywords
- transition
- image
- transition effect
- images
- 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/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
- H04N23/632—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
-
- 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)
Abstract
本申请实施例提供了一种转场动效的生成方法、设备、存储介质和程序产品,所述方法包括根据用户操作,在第一拍摄模式下启动视频录制,拍摄视频图像;接收拍摄模式切换操作,所述拍摄模式切换操作用于指示将第一拍摄模式切换为第二拍摄模式;获取转场图像,所述转场图像与所述第一拍摄模式拍摄的视频图像相关;根据转场策略确定图像调整参数;根据所述图像调整参数,对所述转场图像进行调整,生成转场动效。采用本申请实施例提供的技术方案,在接收到拍摄模式切换指令后,生成转场动效,该转场动效用于在拍摄模式切换过程中的断流时间,对切换前后的视频画面进行过渡,为用户提供流畅的视频拍摄体验。
Description
技术领域
本申请涉及计算机技术领域,具体地涉及一种转场动效的生成方法、设备和存储介质。
背景技术
为了提高用户体验,手机、平板电脑等电子设备通常配置多个摄像头,例如在电子设备上分别配置一个前置摄像头和一个后置摄像头。用户可以根据自己的需求选择相应的拍摄模式,例如,前摄模式、后摄模式、前后双摄模式等。
在视频拍摄的场景中,用户可能在视频拍摄过程中需要切换拍摄模式。例如,将前摄模式切换为后摄模式。但是,在拍摄模式切换过程中,会造成视频流的断流,导致用户体验较差。
发明内容
有鉴于此,本申请提供一种转场动效的生成方法、设备和存储介质,以利于解决现有技术在拍摄模式切换过程中,会造成视频流的断流,导致用户体验较差的问题。
第一方面,本申请实施例提供了一种视频录制过程转场动效的生成方法,应用于终端设备,包括:
根据用户操作,在第一拍摄模式下启动视频录制,拍摄视频图像;
接收拍摄模式切换操作,所述拍摄模式切换操作用于指示将第一拍摄模式切换为第二拍摄模式,所述第一拍摄模式和所述第二拍摄模式基于不同的摄像头进行拍摄;
获取转场图像,所述转场图像与所述第一拍摄模式拍摄的视频图像相关;
根据转场策略确定图像调整参数,所述转场策略包括转场动效时长、转场动效帧率或所述转场动效的动态变化类型;
根据所述图像调整参数,对所述转场图像进行调整,生成转场动效,所述转场动效包括至少两帧不同的转场图像。
优选地,所述根据转场策略确定图像调整参数,包括:
根据所述转场动效时长和所述转场动效帧率,确定所述转场动效中转场图像的数量N,N≥2;
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数。
优选地,所述根据所述图像调整参数,对所述转场图像进行调整,生成转场动效,包括:
分别根据所述N个图像调整参数对所述转场图像的参数进行调整,生成N帧转场图像。
优选地,所述转场动效的动态变化类型至少包括以下一种:
旋转、拉伸、透明度渐变、模糊度渐变或缩放比例。
优选地,当所述转场动效的动态变化类型为旋转时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个旋转角度,其中,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化。
优选地,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化,包括:
所述转场动效中的第1帧转场图像到第N帧转场图像对应的旋转角度在预设的角度范围内逐渐增大或减小,或先增大再减少或先减小再增大。
优选地,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化,包括:
所述转场动效中的第1帧转场图像到第i帧转场图像对应的旋转角度在预设的角度范围内逐渐增大或减小,所述转场动效中的第i帧转场图像到第N帧转场图像对应的旋转角度在所述预设的角度范围内逐渐增大或减小,其中,1<i<N。
优选地,当所述转场动效的动态变化类型为拉伸时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个拉伸比例,其中,所述转场动效中连续的N帧转场图像对应的N个拉伸比例在预设的拉伸比例范围内逐渐增大或减小。
优选地,当所述转场动效的动态变化类型为透明度渐变时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个透明度,其中,所述转场动效中的N帧转场图像对应的N个透明度在预设的透明度范围内逐渐减小。
优选地,当所述转场动效的动态变化类型为模糊度渐变时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个模糊度,其中,所述转场动效中连续的N帧转场图像对应的N个模糊度在预设的模糊度范围内逐渐增大。
优选地,当所述转场动效的动态变化类型为缩放比例时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个缩放比例,其中,所述转场动效中连续的N帧转场图像对应的N个缩放比例在预设的缩放比例逐渐减小。
优选地,所述转场图像包括在所述第一拍摄模式下拍摄的视频中的至少任一图像。
优选地,所述转场图像包括在所述第一拍摄模式下拍摄的视频中的最后一帧图像。
优选地,所述第一拍摄模式和/或所述第二拍摄模式为以下拍摄模式中的一种:
前置单摄模式、后置单摄模式、前置双摄模式、后置双摄模式、前后双摄模式、前置画中画模式、后置画中画模式和前后画中画模式;
其中,所述第一拍摄模式和所述第二拍摄模式不同。
第二方面,本申请实施例提供了一种电子设备,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行第一方面提供的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第一方面提供的方法。
采用本申请实施例提供的技术方案,在接收到拍摄模式切换指令后,生成转场动效,该转场动效用于在拍摄模式切换过程中的断流时间,对切换前后的显示画面进行过渡,为用户提供流畅的视频拍摄体验。另外,该转场动效还可用于同步编码到生成的视频文件中,为用户提供流畅的视频播放体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种电子设备示意图;
图2A为本申请实施例提供的一种前后双摄模式拍摄场景示意图;
图2B为本申请实施例提供的一种前后画中画模式拍摄场景示意图;
图2C为本申请实施例提供的一种后置画中画模式拍摄场景示意图;
图3为本申请实施例提供的一种拍摄模式切换场景示意图;
图4为本申请实施例提供的一种转场动效生成方法流程示意图;
图5为本申请实施例提供的一种转场策略示意图;
图6为本申请实施例根据图5所示的转场策略生成的一种旋转转场效果示意图;
图7为本申请实施例提供的另一种转场策略示意图;
图8为本申请实施例根据图7所示的转场策略生成的一种拉伸转场效果示意图;
图9为本申请实施例提供的一种转场动效的生成和***方法流程示意图;
图10为本申请实施例提供的一种电子设备的软件结构框图;
图11为本申请实施例提供的一种转场控制模块的软件结构框图;
图12为本申请实施例提供的一种切换控制模块、转场控制模块和多摄编码模块的连接关系示意图;
图13为本申请实施例提供的另一种转场动效生成方法流程示意图;
图14为本申请实施例提供的另一种转场动效生成方法流程示意图;
图15A为本申请实施例提供的一种渲染场景示意图;
图15B为本申请实施例提供的另一种渲染场景示意图;
图16A为本申请实施例提供的一种视频流渲染合并场景示意图;
图16B为本申请实施例提供的另一种视频流渲染合并场景示意图;
图16C为本申请实施例提供的一种转场动效渲染场景示意图;
图17为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
参见图1,为本申请实施例提供的一种电子设备示意图。在图1中以手机100为例对电子设备进行示例性说明,图1中示出了手机100的前视图和后视图,在手机100的前侧配置有两个前置摄像头111、112,在手机100的后侧面配置有四个后置摄像头121、122、123、124。通过配置的多个摄像头,可以为用户提供多种拍摄模式,例如,前摄模式、后摄模式、前后双摄模式等。用户可以根据拍摄场景,选择相应的拍摄模式进行拍摄,以提高用户体验。
可理解,图1所示仅为一种示例性说明,并不应当将其作为本申请保护范围的限制。例如,不同的手机,其摄像头的配置数量和配置位置可能不同。另外,本申请实施例涉及的电子设备除了手机以外,还可以为平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、智能音响、机器人、智能眼镜、智能电视等。
需要指出的是,在一些可能的实现方式中,电子设备也可能称为终端设备、用户设备(User Equipment,UE)等,本申请实施例对此不作限制。
在一些可能的实现方式中,电子设备涉及的拍摄模式可能包括单摄模式和多摄模式。其中,单摄模式可能包括前置单摄模式、后置单摄模式等;多摄模式可能包括前置双摄模式、后置双摄模式、前后双摄模式、前置画中画模式、后置画中画模式、前后画中画模式等。
其中,在单摄模式下,采用一个摄像头进行视频拍摄;在多摄模式下采用两个或两个以上摄像头进行视频拍摄。
具体地,在前置单摄模式下,采用一个前置摄像头进行视频拍摄;在后置单摄模式下,采用一个后置摄像头进行视频拍摄;在前置双摄模式下,采用两个前置摄像头进行视频拍摄;在后置双摄模式下,采用两个后置摄像头进行视频拍摄;在前后双摄模式下,采用一个前置摄像头和一个后置摄像头进行视频拍摄;在前置画中画模式下,采用两个前置摄像头进行视频拍摄,且将一个前置摄像头拍摄的画面置于另一个前置摄像头拍摄的画面之中;在后置画中画模式下,采用两个后置摄像头进行视频拍摄,且将一个后置摄像头拍摄的画面置于另一个后置摄像头拍摄的画面之中;在前后画中画模式下,采用一个前置摄像头和一个后置摄像头进行视频拍摄,且将前置摄像头或后置摄像头拍摄的画面置于后置摄像头或前置摄像头拍摄的画面之中。
参见图2A,为本申请实施例提供的一种前后双摄模式拍摄场景示意图。在前后双摄模式下,采用一个前置摄像头采集前景画面,采用一个后置摄像头采集后景画面,前景画面和后景画面在显示界面内同时显示。
参见图2B,为本申请实施例提供的一种前后画中画模式拍摄场景示意图。在前后画中画模式下,采用一个前置摄像头采集前景画面,采用一个后置摄像头采集后景画面,将前景画面置于后景画面之中。
参见图2C,为本申请实施例提供的一种后置画中画模式拍摄场景示意图。在后置画中画模式下,采用一个后置摄像头采集远景画面,采用另一个后置摄像头采集近景画面,将近景画面置于远景画面之中。
需要指出的是,上述拍摄模式仅是本申请实施例列举的一些可能的实现方式,本领域技术人员可以根据实际需要配置其它拍摄模式,本申请实施例对此不作具体限制。
在一些可能的实现方式中,拍摄模式还可能描述为单路模式、双路模式或多路模式。可理解,单路模式采用一个摄像头进行拍摄,双路模式采用两个摄像头进行拍摄,多路模式采用两个以上摄像头进行拍摄。
在一些可能的实现方式中,拍摄模式还可能描述为单景模式、双景模式和画中画模式。其中,单景模式可以包括前置单摄模式和后置单摄模式;双景模式可以包括前置双摄模式、后置双摄模式、前后双摄模式;画中画模式可以包括前置画中画模式、后置画中画模式、前后画中画模式。
在视频拍摄的过程中,用户可能需要对拍摄模式进行切换。参见表一,为本申请实施例列举的一些可能的拍摄模式切换场景。
表一:
但是,拍摄模式的切换,通常会引起采集视频图像的摄像头的切换,造成视频流的断流。体现在显示界面内,当切换前拍摄模式下采集的视频画面播放结束,切换后拍摄模式下采集的视频画面还未生成,会造成显示界面的断流,影响用户体验。另外,在生成的视频文件中,同样会存在相同的问题。
针对该问题,本申请实施例在拍摄模式切换过程中生成转场动效,并在断流时间***转场动效,通过转场动效对切换前后的视频画面进行过渡,避免显示界面和/或生成的视频文件在拍摄模式切换过程中出现断流问题,提高用户体验。
参见图3,为本申请实施例提供的一种拍摄模式切换场景示意图。如图3所示,用户在通过电子设备进行视频拍摄的过程中,显示界面内可以实时显示拍摄的视频画面。另外,在显示界面内还包括拍摄模式选择窗口,用户可以在拍摄模式选择窗口内选择相应的拍摄模式进行视频拍摄。例如,前置单摄模式、后置单摄模式、前后双摄模式、前后画中画模式等。
在图3所示的应用场景中,用户首先选择前置单摄模式进行视频拍摄,在显示界面301内实时显示前景画面。当用户触发拍摄模式选择窗口302内的“前后双摄”控件后,电子设备接收到拍摄模式切换操作,将前置单摄模式切换为前后双摄模式。在切换过程中,电子设备生成转场动效,并在视频流的断流期间,在显示界面301内显示转场动效画面,避免显示界面301内出现断流现象。在切换完成后,显示界面301内实时显示在前后双摄模式下拍摄的视频画面,例如,图3所示的前景画面和后景画面。也就是说,在前后双摄模式下,分别通过前置摄像头和后置摄像头进行前景画面的采集和后景画面的采集,并在显示界面301内分别显示前景画面和后景画面。
可理解,在视频拍摄过程中,除了可以在显示界面301内对拍摄的视频进行显示以外,还可以将拍摄的视频编码为视频文件(例如,MP4格式的视频文件),并存储在电子设备中。本申请实施例在拍摄模式切换过程中,将切换前拍摄的视频、转场动效以及切换后拍摄的视频编码为一个视频文件。具体编码方式在下文中进行详细说明。
参见图4,为本申请实施例提供的一种视频录制过程转场动效的生成方法流程示意图。该方法可应用于图1所示的电子设备,如图4所示,其主要包括以下步骤。
步骤S401:根据用户操作,在第一拍摄模式下启动视频录制,拍摄视频图像。
在初始状态下,用户可以启动第一拍摄模式进行视频录制,该第一拍摄模式可以为上述拍摄模式中的任意一种。
步骤S402:接收拍摄模式切换操作,所述拍摄模式切换操作用于指示将第一拍摄模式切换为第二拍摄模式,所述第一拍摄模式和所述第二拍摄模式基于不同的摄像头进行拍摄。
在实际应用中,用户可能在视频拍摄过程中需要切换拍摄模式,在电子设备中输入拍摄模式切换操作,以将第一拍摄模式切换为第二拍摄模式。其中,用户可以通过触摸屏、物理按键、手势控制、语音控制等方式输入拍摄模式切换操作,本申请实施例对此不作具体限制。
在本申请实施例涉及的第一拍摄模式和第二拍摄模式基于不同的摄像头进行拍摄。具体地,电子设备涉及的拍摄模式可能包括单摄模式和多摄模式。其中,单摄模式可能包括前置单摄模式、后置单摄模式等;多摄模式可能包括前置双摄模式、后置双摄模式、前后双摄模式、前置画中画模式、后置画中画模式、前后画中画模式等。
在一些可能的实现方式中,拍摄模式还可能描述为单路模式、双路模式或多路模式。可理解,单路模式采用一个摄像头进行拍摄,双路模式采用两个摄像头进行拍摄,多路模式采用两个或两个以上摄像头进行拍摄。
在一些可能的实现方式中,拍摄模式还可能描述为单景模式、双景模式和画中画模式。其中,单景模式可以包括前置单摄模式和后置单摄模式;双景模式可以包括前置双摄模式、后置双摄模式、前后双摄模式;画中画模式可以包括前置画中画模式、后置画中画模式、前后画中画模式。
步骤S403:获取转场图像,所述转场图像与所述第一拍摄模式拍摄的视频图像相关。
本申请实施例在接收到拍摄模式切换操作后,获取转场图像,该转场图像与所述第一拍摄模式拍摄的视频的图像相关。
具体实现中,该转场图像可以为第一拍摄模式下拍摄的视频的图像,可理解地,为了使转场动效更好地衔接第一拍摄模式和第二拍摄模式,转场图像可以为在第一拍摄模式下拍摄的视频的最后一帧图像。
步骤S404:根据转场策略确定图像调整参数,所述转场策略包括转场动效时长、转场动效帧率或所述转场动效的动态变化类型。
具体实现中,可以根据所述转场动效时长和所述转场动效帧率,确定所述转场动效中转场图像的数量N,N≥2;根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数。另外,该转场策略还可以包括转场动效尺寸。在一些可能的实现方式中,转场动效帧率可以为30fps、60fps等;转场动效尺寸可以为全屏、16:9、21:9、4:3等。
可理解,在不同的应用场景(拍摄模式切换场景)中,对转场动效的需求可能不同。例如,需要设置不同的转场动效时长、转场动效帧率、转场效果、转场动效尺寸等。因此,本申请实施例需要根据转场策略确定图像调整参数,进而根据图像调整参数生成相应的转场动效。
一种技术方案中,转场动效中的每一帧转场图像对应一个图像调整参数。也就是说,需要根据转场策略确定所述转场动效中每一帧转场图像对应的图像调整参数。例如,当转场动效时长为1s,转场动效帧率为30时,需要根据转场策略确定30帧转场图像对应的30个图像调整参数。
步骤S405:根据所述图像调整参数,对所述转场图像进行调整,生成转场动效,所述转场动效包括至少两帧不同的转场图像。
具体地,分别根据所述N个图像调整参数对所述转场图像的参数进行调整,生成N帧转场图像。
可理解,转场动效由连续的转场图像帧组成。本申请实施例根据转场动效中每一帧转场图像对应的图像调整参数,对转场图像进行调整(旋转角度、缩放比例、透明度、模糊度、位移量等),生成转场动效中的每一帧转场图像。
例如,当转场动效时长为1s,转场动效帧率为30时,根据转场动效中30帧转场图像对应的30个图像调整参数,对转场图像进行调整,生成30帧转场图像,即转场动效。
采用本申请实施例提供的技术方案,在接收到拍摄模式切换操作后,生成转场动效,该转场动效用于在拍摄模式切换过程中的断流时间,对切换前后的显示画面进行过渡,为用户提供流畅的视频拍摄体验。另外,该转场动效还可用于同步编码到生成的视频文件中,为用户提供流畅的视频播放体验。
在一些可能的实现方式中,转场动效的动态变化类型至少包括以下一种:旋转、拉伸、透明度渐变、模糊度渐变或缩放比例。在下文中进行展开说明。
可理解,为了给用户提供流畅的视频拍摄体验,需要转场动效在显示时是动态画面显示,可选地动态画面的变化方式可以是上述动态变化类型中的至少一种。
当所述转场动效的动态变化类型为旋转时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个旋转角度,其中,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化。
可理解,在转场动效的N帧图像中,第1帧转场图像至第N帧转场图像,相邻两帧的转场图像均是不同的。
在一种可能的实现方式中,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化,包括:所述转场动效中的第1帧转场图像到第N帧转场图像对应的旋转角度在预设的角度范围内逐渐增大或减小,或先增大再减少或先减小再增大。
例如,N帧转场图像中,后一帧的转场图像相对于前一帧的转场图像均向同一个方向旋转。
例如,第1帧转场图像至第i帧转场图像中,后一帧的转场图像相对于前一帧的转场图像均向第一方向旋转;第i帧转场图像至第N帧转场图像中,后一帧的转场图像相对于前一帧的转场图像均向第二方向旋转,第一方向与第二方向相反。
在一种可能的实现方式中,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化,包括:所述转场动效中的第1帧转场图像到第i帧转场图像对应的旋转角度在预设的角度范围内逐渐增大或减小,所述转场动效中的第i帧转场图像到第N帧转场图像对应的旋转角度在所述预设的角度范围内逐渐增大或减小,其中,1<i<N。
例如,第1帧转场图像至第i帧转场图像中,后一帧的转场图像相对于前一帧的转场图像均向第一方向旋转;第i帧转场图像至第N帧转场图像中,后一帧的转场图像相对于前一帧的转场图像均向第二方向旋转,第一方向与第二方向相反。
当所述转场动效的动态变化类型为拉伸时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个拉伸比例,其中,所述转场动效中连续的N帧转场图像对应的N个拉伸比例在预设的拉伸比例范围内逐渐增大或减小。
可理解,在转场动效的N帧图像中,第1帧转场图像至第N帧转场图像,相邻两帧的转场图像的尺寸均是不同的。
例如,N帧转场图像中,后一帧的转场图像的尺寸相对于前一帧的转场图像的尺寸均增大,或者后一帧的转场图像的尺寸相对于前一帧的转场图像的尺寸均减小。
当所述转场动效的动态变化类型为透明度渐变时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个透明度,其中,所述转场动效中的N帧转场图像对应的N个透明度在预设的透明度范围内逐渐减小。
可理解,在转场动效的N帧图像中,第1帧转场图像至第N帧转场图像,相邻两帧的转场图像的透明度均是不同的。
例如,N帧转场图像中,后一帧的转场图像的透明度相对于前一帧的转场图像的透明度均增加,或者后一帧的转场图像的透明度相对于前一帧的转场图像的透明度均减小。
当所述转场动效的动态变化类型为模糊度渐变时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个模糊度,其中,所述转场动效中连续的N帧转场图像对应的N个模糊度在预设的模糊度范围内逐渐增大。
可理解,在转场动效的N帧图像中,第1帧转场图像至第N帧转场图像,后一帧的转场图像的模糊度相对于前一帧的转场图像的模糊度均增加。
当所述转场动效的动态变化类型为缩放比例时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个缩放比例,其中,所述转场动效中连续的N帧转场图像对应的N个缩放比例在预设的缩放比例逐渐减小。
可理解,在转场动效的N帧图像中,第1帧转场图像至第N帧转场图像,相邻两帧的转场图像的长宽等比例变化。
例如,N帧转场图像中,后一帧的转场图像的尺寸相对于前一帧的转场图像的尺寸等比例减小。
可理解,上述转场动效的动态变化类型仅为本申请实施例所列举的一种可能的实现方式,并不应当将其作为本申请保护范围的限制。下面对旋转和拉伸的情况进一步说明。
参见图5,为本申请实施例提供的一种转场策略示意图。参见图6,为本申请实施例根据图5所示的转场策略生成的一种旋转转场效果示意图。在该应用场景中,切换前的拍摄模式为后置单摄模式,切换后的拍摄模式为前置单摄模式,因此在初始状态下(图6A)显示界面内显示后景画面。
如图5所示,该转场动效的总时长为500ms,在0-300ms后景画面由0度逐渐旋转至+36度,如图6A-6D所示。从300ms开始,显示界面内同时显示后景画面和前景画面,后景画面旋转+36度,前景画面旋转-36度,且前景画面位于后景画面的上层,如图6D所示。在300ms-500ms,后景画面由+36度逐渐旋转至0度,前景画面由-36度逐渐旋转至0度,如图6D-6G所示。在图6G中前景画面将后景画面完全覆盖,因此可以取消后景画面仅保留前景画面,转场动效结束。
另外,在0-500ms,后景画面的透明度由100%逐渐降低到0%;在300ms-500ms,前景画面的透明度逐渐由0%提高到100%。
也就是说,在由后置单摄模式切换至前置单摄模式的过程中,后景画面和前景画面沿着相反的方向旋转,最终前景画面将后景画面完全覆盖。
可理解,转场动效是一种随着时间持续变化的动态效果,图6仅为截取部分时刻的示意图。另外,本领域技术人员还可以根据实际需要设置其它的旋转角度;或者,在画面旋转的过程中添加其它的效果,例如调整旋转过程中画面的模糊度等。本申请实施例对此不作限制。
参见图7,为本申请实施例提供的另一种转场策略示意图。参见图8,为本申请实施例根据图7所示的转场策略生成的一种拉伸转场效果示意图。在该应用场景中,切换前的拍摄模式为前后双摄模式;切换后的拍摄模式为前置单摄模式。
如图7所示,该转场动效的总时长为450ms,在0-150ms,前景画面和后景画面分别进行高斯模糊处理,其中,前景画面的高斯模糊值从0逐渐提高到700;后景画面的高斯模糊值从0逐渐提高到200。在150-450ms,前景画面逐渐沿X轴方向(手机画面横屏时的左右方向)拉伸,将前景画面从原始位置逐渐拉伸至整个显示界面,将后景画面覆盖,如图8A-8D所示。在图8D所示的状态下,前景画面将后景画面完全覆盖,因此可以取消后景画面仅保留前景画面,转场动效结束。
当然,本领域技术人员可以根据实际需要在前景画面和/或后景画面中添加其它图像处理效果,其均应当处于本申请的保护范围之内。
可理解,转场效果可能与切换前后的拍摄模式相关。例如,当第一拍摄模式为前后双摄模式,第二拍摄模式为前置单摄模式时,最好采用拉伸效果,通过拉伸前后双摄模式下的前景画面,将后景画面覆盖,进而切换为前置单摄模式。
因此,在一些可能的实现方式中可以根据所述第一拍摄模式和所述第二拍摄模式,确定转场效果。具体实现中,可以建立切换模式与转场效果的对应关系,进而可以根据切换前后的拍摄模式选择相应的转场效果。
可理解,在生成转场动效之后,需要将转场动效***显示流中进行显示,以及***编码流中进行编码。为了便于本领域技术人员更好地理解本技术方案,下面以单路切换双路为例,对转场动效的生成和***过程进行说明。
参见图9,为本申请实施例提供的一种转场动效的生成和***方法流程示意图。该方法可应用于图1所述的电子设备,如图9所示,其主要包括以下步骤。
步骤S901:转场动效GL环境初始化。
在本申请实施例中,通过开放图形库(Open Graphics Library,OpenGL)渲染器对图像进行渲染处理。OpenGL为用于渲染2D、3D图形的跨语言、跨平台的应用程序编程接口。在一些描述中,OpenGL也可能简称为“GL”。
可理解,在通过OpenGL渲染器生成转场动效之前,需要进行转场动效GL环境初始化。该转场动效GL环境初始化可以包括初始化转场动效GL纹理大小,申请相应的数据缓存区等。
步骤S902:触发单路模式切换双路模式指令。
用户在拍摄过程中,希望将拍摄模式由单路模式切换为双路模式,此时触发拍摄模式切换操作,拍摄模式切换操作用于指示将单路模式切换为双路模式。
步骤S903:获取单路模式最后一帧视频图像。
在触发单路模式切换双路模式指令后,获取单路模式最后一帧视频图像,该最后一帧视频图像为转场图像,对该转场图像进行相应的变换处理,可以生成对应的转场图像。
步骤S904:生成一帧转场图像。
具体地,OpenGL渲染器可以根据转场策略(转场动效时长、转场动效帧率、转场效果等)计算转场动效中每一帧转场图像对应的图像调整参数,并根据图像调整参数渲染对应转场帧纹理,生成一帧转场图像。该图像调整参数可以包括旋转角度、缩放比例、透明度、模糊度、位移量等。OpenGL的渲染过程在下文中进行详细介绍。
步骤S905:对转场图像进行离屏渲染。
在生成一帧转场图像后,将该转场图像进行离屏渲染,以便在显示界面内显示转场图像。可理解,当显示界面显示第一帧转场图像时,在显示界面内相当于将单路模式拍摄的视频画面切换为转场动效画面。
在完成一帧转场图像生成后,重新执行步骤S904和步骤S905生成下一帧转场图像,直至生成完成N帧转场图像的生成。
步骤S906:判断单路编码是否结束。
由于编码过程中存在一定的缓存,因此编码相对于显示存在一定的滞后。例如,在缓存中缓存20帧,当显示界面内显示完单路模式的最后一帧视频图像后,缓存中还存在20帧单路模式对应的视频图像需要进行编码。
此时,判断单路编码是否结束,若单路编码结束,则进入步骤S908,开始对转场动效的帧画面进行编码;否则,进入,步骤S907,继续进行单路编码。
步骤S907:单路编码。
若单路编码还未结束,则继续对单路模式拍摄的视频画面进行编码。
步骤S908:动效编码。
若单路编码结束,则开始对转场动效的帧画面进行编码。
步骤S909:切换控制(切双路模式)。
从另一方面来看,在步骤S902触发单路模式切换双路模式指令之后,开始启动切双路模式。例如,打开双路摄像头,进行双路模式的相关配置等。
步骤S910:监听双路视频帧。
在切换为双路模式后,开始监听双路视频帧是否上报。
步骤S911:双路模式GL环境初始化。
由于在双路模式下,需要使用OpenGL渲染器对双路视频帧进行渲染合并处理,因此,需要初始化双路模式GL环境。
步骤S912:双路视频帧渲染合并处理。
在步骤S910监听到双路视频后,通过OpenGL渲染器对双路视频帧进行渲染合并处理。
步骤S913:双路显示。
当完成双路视频帧的渲染合并处理后,将渲染合并处理后的视频帧发送至显示界面进行显示。可理解,此时,在显示界面内,将转场动效画面切换为双路模式拍摄的视频画面。
步骤S914:双路编码。
具体地,当转场动效的帧画面编码完成后,继续进行双路编码,即开始对渲染合并处理后的视频帧进行编码。
采用本申请实施例提供的技术方案,在接收到拍摄模式切换操作后,生成转场动效,该转场动效用于在拍摄模式切换过程中的断流时间,对切换前后的显示画面进行过渡,为用户提供流畅的视频拍摄体验。另外,该转场动效还可用于同步编码到生成的视频文件中,为用户提供流畅的视频播放体验。
参见图10,为本申请实施例提供的一种电子设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将安卓(Android)***分为四层,从上至下分别为应用层、框架层、硬件抽象层和硬件层。
应用层(Application,App)可以包括一系列应用程序包。例如,该应用程序包可以包括相机应用。应用层又可以分为显示界面和应用逻辑。
相机应用的显示界面包括单景模式、双景模式、画中画模式等。其中,在单景模式下仅显示一个拍摄画面;在双景模式下并列显示两个拍摄画面;在画中画模式下显示两个拍摄画面,其中一个拍摄画面位于另一个拍摄画面之中。
相机应用的应用逻辑包括切换控制模块、转场控制模块、多摄编码模块等。切换控制模块用于控制拍摄模式的切换;转场控制模块用于在拍摄模式切换过程中生成转场动效;多摄编码用于在拍摄模式切换过程中保持编码,生成视频文件。
框架层(Framework,FWK)为应用层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架,包括一些预先定义的函数。在图10中,框架层包括相机访问接口(Camera2 API),Camera2 API是Android推出的一套访问摄像头设备的接口,其采用管道式的设计,使数据流从摄像头流向Surface。Camera2 API包括相机管理(CameraManager)和相机设备(CameraDevice)。CameraManager为Camera设备的管理类,通过该类对象可以查询设备的Camera设备信息,得到CameraDevice对象。CameraDevice提供了Camera设备相关的一系列固定参数,例如基础的设置和输出格式等。
硬件抽象层(HAL)是位于操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作***提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。在图10中,HAL包括相机硬件抽象层(Camera HAL),Camera HAL包括设备(Device)1、设备(Device)2、设备(Device)3等。可理解,该Device1、Device2和Device3为抽象的设备。
硬件层(HardWare,HW)是位于操作***最底层的硬件。在图10中,HW包括相机设备(CameraDevice)1、相机设备(CameraDevice)2、相机设备(CameraDevice)3等。其中,CameraDevice1、CameraDevice2和CameraDevice3可对应于电子设备上的多个摄像头。
参见图11,为本申请实施例提供的一种转场控制模块的软件结构框图。如图11所示,转场控制模块包括纹理管理器、渲染引擎、渲染器和着色器库。其中,渲染引擎包括显示渲染引擎、编码渲染引擎。
纹理管理器可以获取用于转场的纹理(图像)数据,即转场图像,该转场图像用于生成转场动效。渲染器用于根据转场策略(转场动效时长、转场动效帧率、转场效果等)计算转场动效中每一帧转场图像对应的图像调整参数,并根据图像调整参数渲染对应的转场帧纹理,进而将转场帧发送至显示界面显示,以及将该转场帧发送至编码器进行编码。着色器库用于配合渲染器的GPU着色程序,可以包括多个着色器(shader),例如,顶点着色器、片元着色器等。显示渲染引擎用于驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送显示界面显示;编码渲染引擎用于驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送多摄编码模块编码。
参见图12,为本申请实施例提供的一种切换控制模块、转场控制模块和多摄编码模块的连接关系示意图。如图12所示,切换控制模块与转场控制模块相连,用于在切换开始时,通知转场控制模块启动转场动效。多摄编码模块为转场控制模块提供转场动效录制接口,即转场控制模块生成的转场图像可以发送至多摄编码模块进行编码。纹理管理器、渲染引擎、渲染器、着色器的功能可以参见图11所示实施例的描述,为了表述简洁,在此不再赘述。
参见图13,为本申请实施例提供的另一种转场动效生成方法流程示意图。该方法可应用于图12所示的软件结构,如图13所示,其主要包括以下步骤。
S1301:切换控制模块向纹理管理器发送启动转场动效指令。
具体地,用户触发拍摄模式切换操作后,切换控制模块向纹理管理器发送启动转场动效指令。
S1302:纹理管理器获取转场图像。
纹理管理器可以生成用于转场的纹理(图像)数据。纹理管理器接收到启动转场动效指令后,获取转场图像,该转场图像用于生成转场动效。
具体实现中,该转场图像可以为第一拍摄模式下拍摄的视频画面中的图像。其中,第一拍摄模式为切换前的拍摄模式;第二拍摄模式为切换后的拍摄模式。
可理解,为了使转场动效更好地衔接第一拍摄模式和第二拍摄模式,转场图像可以为在第一拍摄模式下拍摄的视频的最后一帧图像,也可以为第一拍摄模式下任意至少一帧图像。
S1303A:纹理管理器向显示渲染引擎发送启动转场动效显示指令。
纹理管理器在获取转场图像后,向显示渲染引擎发送启动转场动效显示指令,使得显示渲染引擎驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送显示界面显示。
S1303B:纹理管理器向编码渲染引擎发送启动转场动效编码指令。
纹理管理器在获取转场图像后,向编码渲染引擎发送启动转场动效编码指令,使得显示渲染引擎驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送多摄编码模块编码。
S1304A:显示渲染引擎配置渲染器。
渲染器用于根据转场策略(转场动效时长、转场动效帧率、转场效果等)计算转场动效中每一帧转场图像对应的图像调整参数,并根据图像调整参数渲染对应转场帧纹理。该图像调整参数可以包括旋转角度、缩放比例、透明度、模糊度、位移量等。
显示渲染引擎在接收到启动转场动效预览指令后,配置渲染器,渲染器可以在着色器库中选择对应的着色器。例如,顶点着色器、片元着色器等。
S1304B:编码渲染引擎配置渲染器。
编码渲染引擎在接收到启动转场动效预览指令后,配置渲染器,渲染器可以在着色器库中选择对应的着色器。
S1305A:显示渲染引擎驱动渲染器绘制转场动效中的一帧转场动效显示图像。
在完成渲染器的配置后,显示渲染引擎驱动渲染器绘制转场动效中的一帧转场动效显示图像。具体地,渲染器可以根据转场策略和当前时间计算一帧转场动效显示图像的图像调整参数,并根据该图像调整参数对转场图像进行调整,绘制一帧转场动效显示图像。其中转场动效显示图像为,在由第一拍摄模式向第二拍摄模式切换的中间过程中,显示界面所显示的转场动效画面中的图像。
S1305B:编码渲染引擎驱动渲染器绘制转场动效中的一帧转场编码图像。
在完成渲染器的配置后,编码渲染引擎驱动渲染器绘制转场动效中的一帧转场编码图像。具体地,渲染器可以根据转场策略和当前时间计算一帧转场编码图像的图像调整参数,并根据该图像调整参数对转场图像进行调整,绘制一帧转场编码图像。
S1306A:渲染器向显示界面发送转场显示图像。
具体地,渲染器在绘制完一帧转场拍摄显示图像后,将该转场图像发送至显示界面进行显示。
S1306B:渲染器向多摄编码模块发送转场编码图像。
具体地,渲染器在绘制完一帧转场编码图像后,将该转场编码图像发送至多摄编码模块进行编码。
可理解,在转场动效时长内,渲染器持续向显示界面发送转场动效显示图像,以便在显示界面显示转场动效;渲染器持续向多摄编码模块发送转场编码图像,以便生成转场动效视频文件,保存在电子设备中。
可理解,在上述实现方式中,根据转场策略分别生成每一帧转场动效显示图像和每一帧转场编码图像。
由于转场动效显示图像和转场编码图像具有一一对应关系,因此,在一些可能的实现方式中,还可以根据转场策略分别生成每一帧转场动效显示图像,根据每一帧转场动效显示图像,确定每一帧转场编码图像。也就是说,转场编码图像直接复制转场动效显示图像,减少对转场图像进行调整的计算量。
参见图14,为本申请实施例提供的另一种转场动效生成方法流程示意图。该方法可应用于图12所示的软件结构,如图14所示,其主要包括以下步骤。
S1401:切换控制模块向纹理管理器发送启动转场动效指令。
具体地,用户触发拍摄模式切换操作后,切换控制模块向纹理管理器发送启动转场动效指令。
S1402:纹理管理器获取转场图像。
纹理管理器可以生成用于转场的纹理(图像)数据。纹理管理器接收到启动转场动效指令后,获取转场图像,该转场图像用于生成转场动效。
S1403:纹理管理器向显示渲染引擎发送启动转场动效显示指令。
纹理管理器在获取转场图像后,向显示渲染引擎发送启动转场动效显示指令,使得显示渲染引擎驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送显示界面显示。
S1404:纹理管理器向编码渲染引擎发送启动转场动效编码指令。
纹理管理器在获取转场图像后,向编码渲染引擎发送启动转场动效编码指令,使得显示渲染引擎驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送多摄编码模块编码。
S1405:显示渲染引擎配置渲染器。
渲染器用于根据转场策略(转场动效时长、转场动效帧率、转场效果等)计算转场动效中每一帧转场图像对应的图像调整参数,并根据图像调整参数渲染对应转场帧纹理。该图像调整参数可以包括旋转角度、缩放比例、透明度、模糊度、位移量等。
显示渲染引擎在接收到启动转场动效预览指令后,配置渲染器,渲染器可以在着色器库中选择对应的着色器。例如,顶点着色器、片元着色器等。
S1406:显示渲染引擎驱动渲染器绘制转场动效中的一帧转场显示图像。
在完成渲染器的配置后,显示渲染引擎驱动渲染器绘制转场动效中的一帧转场显示图像。具体地,渲染器可以根据转场策略和当前时间计算一帧转场显示图像的图像调整参数,并根据该图像调整参数对转场图像进行调整,绘制一帧转场显示图像。
S1407:渲染器向显示界面发送转场显示图像。
具体地,渲染器在绘制完一帧转场动效显示图像后,将该转场动效显示图像发送至显示界面进行显示。
S1408:编码渲染引擎根据转场显示图像确定转场编码图像。
在本申请实施例中,编码渲染引擎并不驱动渲染器进行转场编码图像的绘制,而是共享显示渲染引擎的绘制结果,将转场动效显示图像复制为对应的转场编码图像。
S1409:编码渲染引擎向多摄编码模块发送转场编码图像。
具体地,在获得转场编码图像后,将该转场编码图像发送至多摄编码模块进行编码。
参见图15A,为本申请实施例提供的一种渲染场景示意图。在图15A中以Open GL渲染器为例对图像的渲染过程进行说明。
为了分别实现显示图像和编码图像的处理,通常设置两个渲染引擎,即显示渲染引擎和编码渲染引擎,在下文中将显示渲染引擎和编码渲染引擎分别称为Open GL显示渲染引擎和Open GL编码渲染引擎,Open GL显示渲染引擎和Open GL编码渲染引擎可以调用Open GL渲染器实现图像的渲染处理。
在单景模式下,Open GL显示渲染引擎可以分别通过第一监听模块及第二监听模块监听一路视频图像,两个监听模块监听的视频图像一个用作显示渲染,一个用作编码渲染。当然,也可以仅使用一个监听模块监听视频图像,将监听的视频图像进行显示渲染,并将显示渲染后的视频图像进行编码渲染。具体如下:
Open GL显示渲染引擎通过第一监听模块及第二监听模块分别监听第一摄像头采集的视频图像。Open GL显示渲染引擎将第一监听模块监听到的视频图像传输至Open GL渲染器,Open GL渲染器将获取的Open GL显示渲染引擎的第一监听模块监听到的视频图像传输至显示缓存区进行缓存,Open GL显示渲染引擎将第二监听模块监听到的视频图像传输至Open GL渲染器,Open GL渲染器将获取的Open GL显示渲染引擎的第二监听模块监听到的视频图像传输至编码缓存区。将显示缓存区中缓存的视频图像传输至显示界面(SurfaceView),在显示界面内显示该视频图像。Open GL编码渲染引擎获取编码缓存区内的视频图像,并对该视频图像根进行相关渲染,例如对该视频图像进行美颜处理,或者在该视频图像中添加水印,将渲染后的视频图像发送至编码模块,以便编码模块进行相应的编码处理,生成视频文件。
需要说明的是,在上述电子设备通过单摄像头进行视频拍摄时,由于无需对视频图像进行特殊的渲染处理,因此Open GL显示渲染引擎的第一监听模块及第二监听模块监听的视频图像也可以不经过Open GL渲染器,而是直接将Open GL显示渲染引擎的第一监听模块监听的视频图像传输至显示缓存区,将第二监听模块监听的视频图像传输至编码缓存区,本申请对此不作限制。
在双景模式或画中画模式下,Open GL显示渲染引擎通过第一监听模块和第二监听模块监听分别监听第一摄像头及第二摄像头采集的视频图像,并将监听到的两路视频图像及合成策略传输至Open GL渲染器。Open GL渲染器根据合成策略,将两路视频图像合成为一个视频图像,并将该视频图像传输至显示缓存区进行缓存。将显示缓存区中缓存的视频图像分别传输至显示界面(SurfaceView)及编码缓存区。在显示界面内显示该视频图像。Open GL编码渲染引擎获取编码缓存区内的视频图像,并对该视频图像根进行相关渲染,例如对该视频图像进行美颜处理,或者在该视频图像中添加水印,将渲染后的视频图像发送至编码模块,以便编码模块进行相应的编码处理,生成视频文件。
需说明的是,在上述过程中,除了编码模块生成的视频文件为MP4格式外,其他视频图像均是RGB格式的。也就是说,Open GL显示渲染引擎监听的视频图像为RGB格式的图像,Open GL渲染器渲染合成后输出的视频图像也是RGB格式。即为,显示缓存区缓存的视频图像为RGB格式,发送至显示界面及编码缓存区的视频图像也是RGB格式。Open GL编码渲染引擎获取到RGB格式的视频图像,并对该视频图像根据用户输入的图像渲染指令进行相关渲染,得到的渲染后的视频图像是RGB格式。编码模块接收的视频图像为RGB格式,对RGB格式的视频图像进行编码处理,生成MP4格式的视频文件。
在转场动效的应用场景中,Open GL显示渲染引擎和Open GL编码渲染引擎分别初始化一个对应的Open GL渲染器的转场动效渲染环境,即转场动效Open GL环境,分别用于Open GL渲染器的转场动效显示图像和转场编码图像的渲染。该初始化的内容可以包括计时器线程、纹理等。
在另一种可能的实现方式中,还可以仅通过Open GL显示渲染引擎初始化一个对应的Open GL渲染器的转场动效Open GL环境,该Open GL渲染器进行转场动效显示图像渲染。Open GL编码渲染引擎共享转场动效显示图像,根据转场动效显示图像生成转场编码图像,进而实现转场编码图像的编码。
参见图15B,为本申请实施例提供的另一种渲染场景示意图。其与图15A的不同之处在于,在单景模式中Open GL显示渲染引擎可以仅通过一个监听模块监听电子设备的一路视频图像。例如,Open GL显示渲染引擎通过第一监听模块监听第一摄像头采集的视频图像。Open GL显示渲染引擎将第一监听模块监听到的视频图像传输至Open GL渲染器,OpenGL渲染器将获取的视频图像传输至显示缓存区进行缓存。将显示缓存区中缓存的视频图像传输至显示界面。在显示界面内显示该视频图像,并将该视频图像传输至编码缓存区中。Open GL编码渲染引擎获取编码缓存区内的视频图像,并对该视频图像根进行相关渲染,例如对该视频图像进行美颜处理,或者在该视频图像中添加水印,将渲染后的视频图像发送至编码模块,以便编码模块进行相应的编码处理,生成视频文件。
需要说明的是,在上述电子设备通过单摄像头进行视频拍摄时,由于无需对视频图像进行特殊的渲染处理,因此Open GL显示渲染引擎的第一监听模块监听的视频图像也可以不经过Open GL渲染器,而是直接将Open GL显示渲染引擎的第一监听模块监听的视频图像传输至显示缓存区,本申请对此不作限制。
需要说明的是,在附图15A及附图15B中单景模式下的Open GL显示渲染引擎、OpenGL渲染器及显示缓存区与双景模式下的Open GL显示渲染引擎、Open GL渲染器及显示缓存区是同一个Open GL显示渲染引擎、Open GL渲染器及显示缓存区。为了便于说明,在附图15A及附图15B中,在单景模式及双景模式下均绘制了Open GL显示渲染引擎、Open GL渲染器及显示缓存区。
具体地,在Open GL显示渲染引擎和Open GL编码渲染引擎之间可以通过SharedContext实现数据共享。
下面以两路视频图像合并为一路视频图像为例,对Open GL渲染器的渲染处理过程进行说明。
参见图16A,为本申请实施例提供的一种视频流渲染合并场景示意图。在图16A中示出了一帧第一摄像头采集的视频图像和一帧第二摄像头采集的视频图像。其中,第一摄像头和第二摄像头采集的视频图像均为1080*960。根据第一摄像头采集的视频图像和第二摄像头采集的视频图像的位置信息和纹理信息,进行渲染合并处理,获得一帧1080*1920大小的图像,该拼接后的图像为双景模式,即第一摄像头采集的图像和第二摄像头采集的图像并列展示。该拼接后的图像可以送编码器编码,以及送显示界面显示。
参见图16B,为本申请实施例提供的另一种视频流渲染合并场景示意图。在图16B中示出了一帧第一摄像头采集的视频图像和一帧第二摄像头采集的视频图像。其中,第一摄像头采集的视频图像大小为540*480,第二摄像头采集的视频图像大小为1080*960。根据第一摄像头采集的视频图像和第二摄像头采集的视频图像的位置信息和纹理信息,进行渲染合并处理,获得一帧画中画模式的图像。
参见图16C,为本申请实施例提供的一种转场动效渲染场景示意图。在图16C中示出了一帧转场图像,根据转场策略对该转场图像进行旋转处理,获得一帧渲染后的转场图像。
可理解,图16A-16C所示的图像大小仅为本申请实施例一种示例性说明,并不应当将其作为本申请保护范围的限制。
与上述方法实施例相对应,本申请还提供了一种电子设备,该电子设备用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行上述方法实施例中的部分或全部步骤。
参见图17,为本申请实施例提供的一种电子设备的结构示意图。如图17所示,该电子设备1700可以包括处理器1710,外部存储器接口1720,内部存储器1721,通用串行总线(universal serial bus,USB)接口1730,充电管理模块1740,电源管理模块1741,电池1742,天线1,天线2,移动通信模块1750,无线通信模块1760,音频模块1770,扬声器1770A,受话器1770B,麦克风1770C,耳机接口1770D,传感器模块1780,按键1790,马达1791,指示器1792,摄像头1793,显示屏1794,以及用户标识模块(subscriber identification module,SIM)卡接口1795等。其中传感器模块1780可以包括压力传感器1780A,陀螺仪传感器1780B,气压传感器1780C,磁传感器1780D,加速度传感器1780E,距离传感器1780F,接近光传感器1780G,指纹传感器1780H,温度传感器1780J,触摸传感器1780K,环境光传感器1780L,骨传导传感器1780M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备1700的具体限定。在本申请另一些实施例中,电子设备1700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器1710可以包括一个或多个处理单元,例如:处理器1710可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器1710中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1710中的存储器为高速缓冲存储器。该存储器可以保存处理器1710刚用过或循环使用的指令或数据。如果处理器1710需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1710的等待时间,因而提高了***的效率。
在一些实施例中,处理器1710可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器1710可以包含多组I2C总线。处理器1710可以通过不同的I2C总线接口分别耦合触摸传感器1780K,充电器,闪光灯,摄像头1793等。例如:处理器1710可以通过I2C接口耦合触摸传感器1780K,使处理器1710与触摸传感器1780K通过I2C总线接口通信,实现电子设备1700的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器1710可以包含多组I2S总线。处理器1710可以通过I2S总线与音频模块1770耦合,实现处理器1710与音频模块1770之间的通信。在一些实施例中,音频模块1770可以通过I2S接口向无线通信模块1760传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块1770与无线通信模块1760可以通过PCM总线接口耦合。在一些实施例中,音频模块1770也可以通过PCM接口向无线通信模块1760传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器1710与无线通信模块1760。例如:处理器1710通过UART接口与无线通信模块1760中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块1770可以通过UART接口向无线通信模块1760传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器1710与显示屏1794,摄像头1793等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器1710和摄像头1793通过CSI接口通信,实现电子设备1700的拍摄功能。处理器1710和显示屏1794通过DSI接口通信,实现电子设备1700的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器1710与摄像头1793,显示屏1794,无线通信模块1760,音频模块1770,传感器模块1780等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口1730是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口1730可以用于连接充电器为电子设备1700充电,也可以用于电子设备1700与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备1700的结构限定。在本申请另一些实施例中,电子设备1700也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块1740用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块1740可以通过USB接口1730接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块1740可以通过电子设备1700的无线充电线圈接收无线充电输入。充电管理模块1740为电池1742充电的同时,还可以通过电源管理模块1741为电子设备供电。
电源管理模块1741用于连接电池1742,充电管理模块1740与处理器1710。电源管理模块1741接收电池1742和/或充电管理模块1740的输入,为处理器1710,内部存储器1721,显示屏1794,摄像头1793,和无线通信模块1760等供电。电源管理模块1741还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块1741也可以设置于处理器1710中。在另一些实施例中,电源管理模块1741和充电管理模块1740也可以设置于同一个器件中。
电子设备1700的无线通信功能可以通过天线1,天线2,移动通信模块1750,无线通信模块1760,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备1700中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块1750可以提供应用在电子设备1700上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块1750可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块1750可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块1750还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块1750的至少部分功能模块可以被设置于处理器1710中。在一些实施例中,移动通信模块1750的至少部分功能模块可以与处理器1710的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器1770A,受话器1770B等)输出声音信号,或通过显示屏1794显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器1710,与移动通信模块1750或其他功能模块设置在同一个器件中。
无线通信模块1760可以提供应用在电子设备1700上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块1760可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块1760经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器1710。无线通信模块1760还可以从处理器1710接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备1700的天线1和移动通信模块1750耦合,天线2和无线通信模块1760耦合,使得电子设备1700可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobilecommunications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple 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-zenithsatellite system,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备1700通过GPU,显示屏1794,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏1794和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1710可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏1794用于显示图像,视频等。显示屏1794包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备1700可以包括1个或N个显示屏1794,N为大于1的正整数。
电子设备1700可以通过ISP,摄像头1793,视频编解码器,GPU,显示屏1794以及应用处理器等实现拍摄功能。
ISP用于处理摄像头1793反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头1793中。
摄像头1793用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备1700可以包括1个或N个摄像头1793,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备1700在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备1700可以支持一种或多种视频编解码器。这样,电子设备1700可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备1700的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口1720可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备1700的存储能力。外部存储卡通过外部存储器接口1720与处理器1710通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器1721可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器1721可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备1700使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器1721可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器1710通过运行存储在内部存储器1721的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备1700的各种功能应用以及数据处理。
电子设备1700可以通过音频模块1770,扬声器1770A,受话器1770B,麦克风1770C,耳机接口1770D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块1770用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块1770还可以用于对音频信号编码和解码。在一些实施例中,音频模块1770可以设置于处理器1710中,或将音频模块1770的部分功能模块设置于处理器1710中。
扬声器1770A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备1700可以通过扬声器1770A收听音乐,或收听免提通话。
受话器1770B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备1700接听电话或语音信息时,可以通过将受话器1770B靠近人耳接听语音。
麦克风1770C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风1770C发声,将声音信号输入到麦克风1770C。电子设备1700可以设置至少一个麦克风1770C。在另一些实施例中,电子设备1700可以设置两个麦克风1770C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备1700还可以设置三个,四个或更多麦克风1770C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口1770D用于连接有线耳机。耳机接口1770D可以是USB接口1730,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器1780A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器1780A可以设置于显示屏1794。压力传感器1780A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器1780A,电极之间的电容改变。电子设备1700根据电容的变化确定压力的强度。当有触摸操作作用于显示屏1794,电子设备1700根据压力传感器1780A检测所述触摸操作强度。电子设备1700也可以根据压力传感器1780A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器1780B可以用于确定电子设备1700的运动姿态。在一些实施例中,可以通过陀螺仪传感器1780B确定电子设备1700围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器1780B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器1780B检测电子设备1700抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备1700的抖动,实现防抖。陀螺仪传感器1780B还可以用于导航,体感游戏场景。
气压传感器1780C用于测量气压。在一些实施例中,电子设备1700通过气压传感器1780C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器1780D包括霍尔传感器。电子设备1700可以利用磁传感器1780D检测翻盖皮套的开合。在一些实施例中,当电子设备1700是翻盖机时,电子设备1700可以根据磁传感器1780D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器1780E可检测电子设备1700在各个方向上(一般为三轴)加速度的大小。当电子设备1700静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器1780F,用于测量距离。电子设备1700可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备1700可以利用距离传感器1780F测距以实现快速对焦。
接近光传感器1780G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备1700通过发光二极管向外发射红外光。电子设备1700使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备1700附近有物体。当检测到不充分的反射光时,电子设备1700可以确定电子设备1700附近没有物体。电子设备1700可以利用接近光传感器1780G检测用户手持电子设备1700贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器1780G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器1780L用于感知环境光亮度。电子设备1700可以根据感知的环境光亮度自适应调节显示屏1794亮度。环境光传感器1780L也可用于拍照时自动调节白平衡。环境光传感器1780L还可以与接近光传感器1780G配合,检测电子设备1700是否在口袋里,以防误触。
指纹传感器1780H用于采集指纹。电子设备1700可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器1780J用于检测温度。在一些实施例中,电子设备1700利用温度传感器1780J检测的温度,执行温度处理策略。例如,当温度传感器1780J上报的温度超过阈值,电子设备1700执行降低位于温度传感器1780J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备1700对电池1742加热,以避免低温导致电子设备1700异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备1700对电池1742的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器1780K,也称“触控器件”。触摸传感器1780K可以设置于显示屏1794,由触摸传感器1780K与显示屏1794组成触摸屏,也称“触控屏”。触摸传感器1780K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏1794提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器1780K也可以设置于电子设备1700的表面,与显示屏1794所处的位置不同。
骨传导传感器1780M可以获取振动信号。在一些实施例中,骨传导传感器1780M可以获取人体声部振动骨块的振动信号。骨传导传感器1780M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器1780M也可以设置于耳机中,结合成骨传导耳机。音频模块1770可以基于所述骨传导传感器1780M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器1780M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键1790包括开机键,音量键等。按键1790可以是机械按键。也可以是触摸式按键。电子设备1700可以接收按键输入,产生与电子设备1700的用户设置以及功能控制有关的键信号输入。
马达1791可以产生振动提示。马达1791可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏1794不同区域的触摸操作,马达1791也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器1792可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口1795用于连接SIM卡。SIM卡可以通过***SIM卡接口1795,或从SIM卡接口1795拔出,实现和电子设备1700的接触和分离。电子设备1700可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口1795可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口1795可以同时***多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口1795也可以兼容不同类型的SIM卡。SIM卡接口1795也可以兼容外部存储卡。电子设备1700通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备1700采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备1700中,不能和电子设备1700分离。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种视频录制过程转场动效的生成方法,应用于终端设备,其特征在于,包括:
根据用户操作,在第一拍摄模式下启动视频录制,拍摄第一视频图像,所述第一视频图像包括第一摄像头拍摄的第一画面,在所述第一拍摄模式下,Open GL显示渲染引擎分别通过第一监听模块及第二监听模块监听一路视频图像,两个监听模块监听的视频图像一个用于显示渲染,一个用于编码渲染;
接收拍摄模式切换操作,所述拍摄模式切换操作用于指示将第一拍摄模式切换为第二拍摄模式,所述第一拍摄模式和所述第二拍摄模式基于不同的摄像头进行拍摄;其中,所述第二拍摄模式用于拍摄第二视频图像,所述第二视频图像包括所述第一摄像头拍摄的所述第一画面以及第二摄像头拍摄的第二画面,所述第二摄像头与所述第一摄像头不同;
获取转场图像,所述转场图像与所述第一拍摄模式拍摄的视频图像相关,所述转场图像包括在所述第一拍摄模式下拍摄的视频中的至少任一图像;
根据转场策略确定图像调整参数,所述转场策略包括转场动效时长、转场动效帧率或所述转场动效的动态变化类型,所述转场动效时长与所述第一拍摄模式切换为所述第二拍摄模式的断流时间相匹配;
根据所述图像调整参数,对所述转场图像进行调整,生成转场动效,所述转场动效包括至少两帧不同的转场图像;
其中,所述根据转场策略确定图像调整参数,以及,所述根据所述图像调整参数,对所述转场图像进行调整,包括:
Open GL渲染器根据所述转场策略计算转场动效中每一帧转场图像对应的图像调整参数,并根据所述图像调整参数渲染对应转场帧纹理,生成一帧转场图像;
所述方法还包括:
在切换为所述第二拍摄模式后,监听所述第二视频图像,显示所述第二视频图像,并对所述第二视频图像进行编码;
所述监听所述第二视频图像,显示所述第二视频图像,包括:
监听所述第一画面和所述第二画面;将所述第一画面和所述第二画面进行渲染合并处理,获得显示的第二视频图像;
在所述第二拍摄模式下,Open GL显示渲染引擎通过第一监听模块及第二监听模块分别监听所述第一摄像头及所述第二摄像头采集的视频图像,并将监听到的两路视频图像及合成策略传输至所述Open GL渲染器,所述Open GL渲染器根据所述合成策略,将两路视频图像合成为一个视频图像,并将该视频图像传输至显示缓存区进行缓存。
2.根据权利要求1所述的方法,其特征在于,所述根据转场策略确定图像调整参数,包括:
根据所述转场动效时长和所述转场动效帧率,确定所述转场动效中转场图像的数量N,N≥2;
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述图像调整参数,对所述转场图像进行调整,生成转场动效,包括:
分别根据所述N个图像调整参数对所述转场图像的参数进行调整,生成N帧转场图像。
4.根据权利要求2所述的方法,其特征在于,所述转场动效的动态变化类型至少包括以下一种:
旋转、拉伸、透明度渐变、模糊度渐变或缩放比例。
5.根据权利要求4所述的方法,其特征在于,当所述转场动效的动态变化类型为旋转时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个旋转角度,其中,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化。
6.根据权利要求5所述的方法,其特征在于,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化,包括:
所述转场动效中的第1帧转场图像到第N帧转场图像对应的旋转角度在预设的角度范围内逐渐增大或减小,或先增大再减少或先减小再增大。
7.根据权利要求5所述的方法,其特征在于,所述转场动效中的N帧转场图像对应的N个旋转角度在预设的角度范围内连续变化,包括:
所述转场动效中的第1帧转场图像到第i帧转场图像对应的旋转角度在预设的角度范围内逐渐增大或减小,所述转场动效中的第i帧转场图像到第N帧转场图像对应的旋转角度在所述预设的角度范围内逐渐增大或减小,其中,1<i<N。
8.根据权利要求4所述的方法,其特征在于,当所述转场动效的动态变化类型为拉伸时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个拉伸比例,其中,所述转场动效中连续的N帧转场图像对应的N个拉伸比例在预设的拉伸比例范围内逐渐增大或减小。
9.根据权利要求4所述的方法,其特征在于,当所述转场动效的动态变化类型为透明度渐变时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个透明度,其中,所述转场动效中的N帧转场图像对应的N个透明度在预设的透明度范围内逐渐减小。
10.根据权利要求4所述的方法,其特征在于,当所述转场动效的动态变化类型为模糊度渐变时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个模糊度,其中,所述转场动效中连续的N帧转场图像对应的N个模糊度在预设的模糊度范围内逐渐增大。
11.根据权利要求4所述的方法,其特征在于,当所述转场动效的动态变化类型为缩放比例时,所述根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个图像调整参数,包括:
根据所述转场动效的动态变化类型和所述转场动效中转场图像的数量N,确定所述转场动效中的N帧转场图像对应的N个缩放比例,其中,所述转场动效中连续的N帧转场图像对应的N个缩放比例在预设的缩放比例逐渐减小。
12.根据权利要求1所述的方法,其特征在于,所述转场图像包括在所述第一拍摄模式下拍摄的视频中的最后一帧图像。
13.根据权利要求1所述的方法,其特征在于,所述第一拍摄模式和/或所述第二拍摄模式为以下拍摄模式中的一种:
前置单摄模式、后置单摄模式、前置双摄模式、后置双摄模式、前后双摄模式、前置画中画模式、后置画中画模式和前后画中画模式;
其中,所述第一拍摄模式和所述第二拍摄模式不同。
14.一种电子设备,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求1-13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1-13中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682681.4A CN113596321B (zh) | 2021-06-16 | 2021-06-16 | 转场动效的生成方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682681.4A CN113596321B (zh) | 2021-06-16 | 2021-06-16 | 转场动效的生成方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596321A CN113596321A (zh) | 2021-11-02 |
CN113596321B true CN113596321B (zh) | 2023-05-09 |
Family
ID=78244105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110682681.4A Active CN113596321B (zh) | 2021-06-16 | 2021-06-16 | 转场动效的生成方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596321B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037872B (zh) * | 2021-11-30 | 2024-03-19 | 荣耀终端有限公司 | 视频处理方法和相关装置 |
CN114510183B (zh) * | 2022-01-26 | 2023-04-18 | 荣耀终端有限公司 | 动效时长管理方法及电子设备 |
CN114268741B (zh) * | 2022-02-24 | 2023-01-31 | 荣耀终端有限公司 | 转场动效生成方法、电子设备和存储介质 |
CN117729426A (zh) * | 2023-07-05 | 2024-03-19 | 荣耀终端有限公司 | 模式切换方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804459A (zh) * | 2021-01-12 | 2021-05-14 | 杭州星犀科技有限公司 | 基于虚拟摄像头的图像展示方法、装置、存储介质及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9325889B2 (en) * | 2012-06-08 | 2016-04-26 | Samsung Electronics Co., Ltd. | Continuous video capture during switch between video capture devices |
CN105183296B (zh) * | 2015-09-23 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 交互界面显示方法及装置 |
KR102467869B1 (ko) * | 2016-02-19 | 2022-11-16 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
US10547776B2 (en) * | 2016-09-23 | 2020-01-28 | Apple Inc. | Devices, methods, and graphical user interfaces for capturing and recording media in multiple modes |
CN107820006A (zh) * | 2017-11-07 | 2018-03-20 | 北京小米移动软件有限公司 | 控制摄像头摄像的方法及装置 |
CN112019767A (zh) * | 2020-08-07 | 2020-12-01 | 北京奇艺世纪科技有限公司 | 视频的生成方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-16 CN CN202110682681.4A patent/CN113596321B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804459A (zh) * | 2021-01-12 | 2021-05-14 | 杭州星犀科技有限公司 | 基于虚拟摄像头的图像展示方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113596321A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113473005B (zh) | 拍摄中转场动效***方法、设备、存储介质 | |
CN113422903B (zh) | 拍摄模式切换方法、设备、存储介质 | |
EP3893491A1 (en) | Method for photographing the moon and electronic device | |
CN113596321B (zh) | 转场动效的生成方法、设备和存储介质 | |
WO2022262313A1 (zh) | 基于画中画的图像处理方法、设备、存储介质和程序产品 | |
CN113411528B (zh) | 一种录像帧率的控制方法、终端及存储介质 | |
CN111327814A (zh) | 一种图像处理的方法及电子设备 | |
CN110545354A (zh) | 一种具有折叠屏的电子设备的控制方法及电子设备 | |
CN112860428A (zh) | 一种高能效的显示处理方法及设备 | |
US20240056685A1 (en) | Image photographing method, device, storage medium, and program product | |
CN115794287A (zh) | 一种显示方法、电子设备及计算机存储介质 | |
CN112700377A (zh) | 图像泛光处理方法及装置、存储介质 | |
CN113542613A (zh) | 一种用于拍照的装置及方法 | |
CN113572948B (zh) | 视频处理方法和视频处理装置 | |
CN114257920B (zh) | 一种音频播放方法、***和电子设备 | |
CN114339429A (zh) | 音视频播放控制方法、电子设备和存储介质 | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN113852755A (zh) | 拍摄方法、设备、计算机可读存储介质及程序产品 | |
CN113518189B (zh) | 拍摄方法、***、电子设备及存储介质 | |
CN115412678B (zh) | 曝光处理方法、装置及电子设备 | |
CN113923351B (zh) | 多路视频拍摄的退出方法、设备和存储介质 | |
CN113965693B (zh) | 一种视频拍摄方法、设备和存储介质 | |
CN113596320B (zh) | 视频拍摄变速录制方法、设备、存储介质 | |
CN113810595B (zh) | 视频拍摄的编码方法、设备和存储介质 | |
CN114079725A (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 |