CN113473005B - 拍摄中转场动效插入方法、设备、存储介质 - Google Patents

拍摄中转场动效插入方法、设备、存储介质 Download PDF

Info

Publication number
CN113473005B
CN113473005B CN202110682677.8A CN202110682677A CN113473005B CN 113473005 B CN113473005 B CN 113473005B CN 202110682677 A CN202110682677 A CN 202110682677A CN 113473005 B CN113473005 B CN 113473005B
Authority
CN
China
Prior art keywords
picture
video
shooting mode
transition
shooting
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
Application number
CN202110682677.8A
Other languages
English (en)
Other versions
CN113473005A (zh
Inventor
韩林林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110682677.8A priority Critical patent/CN113473005B/zh
Publication of CN113473005A publication Critical patent/CN113473005A/zh
Application granted granted Critical
Publication of CN113473005B publication Critical patent/CN113473005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例提供了一种拍摄中转场动效插入方法、设备、存储介质和程序产品,所述方法包括电子设备开启第一拍摄模式进行视频拍摄,显示第一拍摄模式拍摄的视频画面;在拍摄过程中,电子设备接收拍摄模式切换操作,拍摄模式切换操作用于将第一拍摄模式切换为第二拍摄模式,其中,第一拍摄模式与第二拍摄模式不同;根据拍摄模式切换操作,将第一拍摄模式拍摄的视频画面切换为转场动效画面,其中,转场动效画面与所述第一拍摄模式拍摄的视频画面相关;将转场动效画面切换为第二拍摄模式拍摄的视频画面。用以在拍摄模式切换过程中的断流时间插入转场动效,通过转场动效对切换前后的显示画面进行过度,为用户提供流畅的视频拍摄体验。

Description

拍摄中转场动效插入方法、设备、存储介质
技术领域
本申请涉及计算机技术领域,具体地涉及一种拍摄中转场动效插入方法、设备、存储介质和程序产品。
背景技术
为了提高用户体验,手机、平板电脑等电子设备通常配置多个摄像头,例如在电子设备上分别配置一个前置摄像头和一个后置摄像头。用户可以根据自己的需求选择相应的拍摄模式,例如,前摄模式、后摄模式、前后双摄模式等。
在视频拍摄的场景中,用户可能在视频拍摄过程中需要切换拍摄模式。例如,将前摄模式切换为后摄模式。但是,在拍摄模式切换过程中,会造成视频流的断流,导致用户体验较差。
发明内容
有鉴于此,本申请实施例提供一种拍摄中转场动效插入方法、设备、存储介质和程序产品,以利于解决现有技术在拍摄模式切换过程中,会造成视频流的断流,导致用户体验较差的问题。
第一方面,本申请实施例提供了一种拍摄中转场动效插入方法,包括:
电子设备开启第一拍摄模式进行视频拍摄,显示所述第一拍摄模式拍摄的视频画面;
在拍摄过程中,所述电子设备接收拍摄模式切换操作,所述拍摄模式切换操作用于将所述第一拍摄模式切换为第二拍摄模式,其中,所述第一拍摄模式与所述第二拍摄模式不同;
根据所述拍摄模式切换操作,将所述第一拍摄模式拍摄的视频画面切换为转场动效画面,其中,所述转场动效画面与所述第一拍摄模式拍摄的视频画面相关;
将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面。
优选地,所述将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面,包括:
在完成所有转场动效画面的显示后,将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面。
优选地,所述将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面,包括:
在获取到所述第二拍摄模式拍摄的视频画面后,将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面。
优选地,所述方法还包括:
接收暂停拍摄操作,显示所述暂停拍摄操作对应的所述第一拍摄模式拍摄的视频画面、所述转场动效画面,或所述第二拍摄模式拍摄的视频画面。
优选地,所述转场动效画面的显示时长与所述拍摄模式切换过程中的断流时长相匹配,所述断流时长为所述第一拍摄模式上报的最后一帧视频画面与所述第二拍摄模式上报的第一帧视频画面的时间差。
优选地,所述方法还包括,
所述电子设备监听视频画面,显示所述视频画面;并且,发送所述视频画面到编码器进行编码。
优选地,所述电子设备监听视频画面,显示所述视频画面,包括:
所述电子设备监听两路或两路以上视频画面;将所述两路或两路以上视频画面进行渲染合并处理,获得显示的视频画面。
优选地,所述将所述两路或两路以上视频画面进行渲染合并处理,包括:
根据所述两路或两路以上视频画面的纹理信息、位置信息和合并策略,将所述两路或两路以上视频画面进行渲染合并处理;所述合成策略是用以合成所述两路或两路以上视频画面的显示位置及显示大小的信息。
优选地,所述合并策略至少包括:
对所述两路或两路以上视频画面进行拼接;或
将所述两路或两路以上视频画面中的至少一路视频画面填充至所述两路或两路以上视频画面中的其它视频画面中。
优选地,所述方法还包括:
在拍摄过程中,对所述第一拍摄模式拍摄的视频画面进行编码;
对所述转场动效画面进行编码;
对所述第二拍摄模式拍摄的视频画面进行编码;
接收停止拍摄操作,生成视频文件,所述视频文件包括所述第一拍摄模式拍摄的视频画面、所述转场动效画面和所述第二拍摄模式拍摄的视频画面;
存储所述视频文件。
第二方面,本申请实施例提供了一种电子设备,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行第一方面任一项所述的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述第一方面中任意一项所述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述第一方面中任意一项所述的方法。
采用本申请实施例提供的技术方案,在拍摄模式切换过程中的断流时间插入转场动效,通过转场动效对切换前后的显示画面进行过度,为用户提供流畅的视频拍摄体验。另外,将转场动效同步编码到生成的视频文件中,为用户提供流畅的视频播放体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种电子设备示意图;
图2A为本申请实施例提供的一种前后双摄模式拍摄场景示意图;
图2B为本申请实施例提供的一种前后画中画模式拍摄场景示意图;
图2C为本申请实施例提供的一种后置画中画模式拍摄场景示意图;
图3为本申请实施例提供的一种拍摄模式切换过程中显示流和编码流示意图;
图4为本申请实施例提供的一种拍摄模式切换场景示意图;
图5为本申请实施例提供的一种转场动效插入方法流程示意图;
图6为本申请实施例提供的一种显示流示意图;
图7为本申请实施例提供的另一种转场动效插入方法流程示意图;
图8A为本申请实施例提供的一种编码流示意图;
图8B为本申请实施例提供的另一种编码流示意图;
图9为本申请实施例提供的一种转场动效的生成和插入方法流程示意图;
图10为本申请实施例提供的一种电子设备的软件结构框图;
图11为本申请实施例提供的另一种转场动效插入方法流程示意图;
图12A为本申请实施例提供的一种转场控制模块的软件结构框图;
图12B为本申请实施例提供的一种切换控制模块、转场控制模块和多摄编码模块的连接关系示意图;
图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,为本申请实施例提供的一种后置画中画模式拍摄场景示意图。在后置画中画模式下,采用一个后置摄像头采集远景画面,采用另一个后置摄像头采集近景画面,将近景画面置于远景画面之中。
需要指出的是,上述拍摄模式仅是本申请实施例列举的一些可能的实现方式,本领域技术人员可以根据实际需要配置其它拍摄模式,本申请实施例对此不作具体限制。
在一些可能的实现方式中,拍摄模式还可能描述为单路模式、双路模式或多路模式。可理解,单路模式采用一个摄像头进行拍摄,双路模式采用两个摄像头进行拍摄,多路模式采用两个以上摄像头进行拍摄。
在一些可能的实现方式中,拍摄模式还可能描述为单景模式、双景模式和画中画模式。其中,单景模式可以包括前置单摄模式和后置单摄模式;双景模式可以包括前置双摄模式、后置双摄模式、前后双摄模式;画中画模式可以包括前置画中画模式、后置画中画模式、前后画中画模式。
在视频拍摄的过程中,用户可能需要对拍摄模式进行切换。参见表一,为本申请实施例列举的一些可能的拍摄模式切换场景。
表一:
Figure BDA0003118236380000051
但是,拍摄模式的切换,通常会引起采集视频图像的摄像头的切换,造成视频流的断流。体现在显示界面内,当切换前拍摄模式下采集的视频画面播放结束,切换后拍摄模式下采集的视频画面还未生成,会造成显示界面的断流,影响用户体验。另外,在生成的视频文件中,同样会存在相同的问题。
参见图3,为本申请实施例提供的一种拍摄模式切换过程中显示流和编码流示意图。本申请实施例在进行拍摄模式切换的过程中,会引起摄像头的切换。具体地,当触发拍摄模式切换操作后,断开第一拍摄模式,开启第二拍摄模式,该过程会造成视频流的断流。即第一拍摄模式对应的视频流结束,第二拍摄模式对应的视频流还未到达。如图3所示,第一拍摄模式对应的显示流与第二拍摄模式对应的显示流之间存在1500ms的断流时间;第一拍摄模式对应的编码流与第二拍摄模式对应的编码流之间存在1500ms的断流时间。在断流期间,会引起拍摄的视频画面的黑屏、卡顿等,影响用户体验。其中,为了实现视频防抖等功能,在编码的过程中会对编码流进行缓存,例如在本申请实施例中对编码流进行20帧的缓存。
针对该问题,本申请实施例在拍摄模式切换过程中的断流时间插入转场动效,通过转场动效对切换前后的视频画面进行过渡,避免显示界面和/或生成的视频文件在拍摄模式切换过程中出现断流问题,提高用户体验。
参见图4,为本申请实施例提供的一种拍摄模式切换场景示意图。如图4所示,用户在通过电子设备进行视频拍摄的过程中,显示界面内可以实时显示拍摄过程中的视频画面。另外,在显示界面内还包括拍摄模式选择窗口,用户可以在拍摄模式选择窗口内选择相应的拍摄模式进行视频拍摄。例如,前置单摄模式、后置单摄模式、前后双摄模式、前后画中画模式等。
在图4所示的应用场景中,用户首先选择前置单摄模式进行视频拍摄,在显示界面401内实时显示前景画面。当用户触发拍摄模式选择窗口402内的“前后双摄”控件后,电子设备接收到拍摄模式切换操作,将前置单摄模式切换为前后双摄模式。在切换过程中,电子设备生成转场动效,并在视频流的断流期间,在显示界面401内显示转场动效画面,避免显示界面401 内出现断流现象。在切换完成后,显示界面401内实时显示在前后双摄模式下拍摄的视频画面,例如,图4所示的前景画面和后景画面。也就是说,在前后双摄模式下,分别通过前置摄像头和后置摄像头进行前景画面的采集和后景画面的采集,并在显示界面401内分别显示前景画面和后景画面。
可理解,在视频拍摄过程中,除了可以在显示界面401内对拍摄的视频画面进行显示以外,还可以将拍摄的视频画面编码为视频文件(例如,MP4格式的视频文件),并存储在电子设备中。本申请实施例在拍摄模式切换过程中,将切换前拍摄的视频、转场动效以及切换后拍摄的视频编码为一个视频文件。具体编码方式在下文中进行详细说明。
参见图5,为本申请实施例提供的一种转场动效插入方法流程示意图。该方法可应用于图 1所示的电子设备,该方法重点说明在显示流中插入转场动效的过程,如图5所示,其主要包括以下步骤。
步骤S501:电子设备开启第一拍摄模式进行视频拍摄,显示所述第一拍摄模式拍摄的视频画面。
本申请实施例涉及的第一拍摄模式可以为前置单摄模式、后置单摄模式、前置双摄模式、后置双摄模式、前后双摄模式、前置画中画模式、后置画中画模式、前后画中画模式中的任意一种,本申请实施例对此不作具体限制。
具体实现中,可以监听所述第一拍摄模式拍摄的视频画面,将监听到的所述第一拍摄模式拍摄的视频画面发送至所述显示界面进行显示。
步骤S502:在拍摄过程中,所述电子设备接收拍摄模式切换操作,所述拍摄模式切换操作用于将所述第一拍摄模式切换为第二拍摄模式,其中,所述第一拍摄模式与所述第二拍摄模式不同。
在实际应用中,用户可能在视频拍摄过程中需要切换拍摄模式时,在电子设备中输入拍摄模式切换操作,以将第一拍摄模式切换为第二拍摄模式。其中,用户可以通过触摸屏、物理按键、手势控制、语音控制等方式输入拍摄模式切换操作。
本申请实施例涉及的拍摄模式切换可以为上述表一种任意一种拍摄模式切换场景,本申请实施例对此不作具体限制。
步骤S503:根据所述拍摄模式切换操作,将所述第一拍摄模式拍摄的视频画面切换为转场动效画面,其中,所述转场动效画面与所述第一拍摄模式拍摄的视频画面相关。
如上文所述,在拍摄模式切换过程中,通常会引起视频流的断流,体现在显示界面内,当切换前拍摄模式下采集的视频画面播放结束,切换后拍摄模式下采集的视频画面还未生成,会造成显示界面的断流,影响用户体验。
针对该问题,本申请实施例在拍摄模式切换过程中的断流时间插入转场动效。具体地,在接收到拍摄模式切换操作后,将第一拍摄模式拍摄的视频画面切换为转场动效画面。
具体实现中,将转场动效画面发送至显示界面进行显示。
步骤S504:将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面。
可理解,在拍摄模式切换完成后,需要将显示界面内的转场动效画面切换为按照所述第二拍摄模式拍摄的视频画面。
具体实现中,可以监听所述第二拍摄模式拍摄的视频画面,将监听到的所述第二拍摄模式拍摄的视频画面发送至所述显示界面进行显示。
在一种实现方式中,在步骤S504中,将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面包括,在完成所有转场动效画面的显示后,将转场动效画面切换为第二拍摄模式拍摄的视频画面。
具体实现中,在监听到第二拍摄模式拍摄的视频画面时,转场动效画面可能还未播放完成,此时则继续播放转场动效画面,在将所有的转场动效画面发送至显示界面进行显示之后,再将监听到的第二拍摄模式拍摄的视频画面发送至所述显示界面进行显示。
在一种实现方式中,在步骤S504中,将所述转场动效画面切换为所述第二拍摄模式拍摄的视频画面包括,在获取到第二拍摄模式拍摄的视频画面后,将转场动效画面切换为第二拍摄模式拍摄的视频画面。
具体实现中,在监听到第二拍摄模式拍摄的视频画面时,转场动效画面可能还未播放完成,此时则结束播放转场动效画面,并将监听到的第二拍摄模式拍摄的视频画面发送至所述显示界面进行显示。参见图6,为本申请实施例提供的一种视频流示意图。如图6所示,在拍摄模式切换过程中,第一拍摄模式视频流和第二拍摄模式视频流之间会存在断流,本申请实施例在第一拍摄模式视频流和第二拍摄模式视频流之间插入转场动效视频流,通过转场动效进行过渡。
可理解,在视频拍摄过程中,除了可以在显示界面内对拍摄的视频进行显示以外,还可以将拍摄的视频画面编码为视频文件(例如,MP4格式的视频文件),并存储在电子设备中。本申请实施例在拍摄模式切换过程中,将切换前拍摄的视频画面、转场动效画面以及切换后拍摄的视频画面编码合成为一个视频文件。以下结合流程示意图进行说明。
参见图7,为本申请实施例提供的另一种转场动效插入方法流程示意图。该方法可应用于图1所示的电子设备,该方法重点说明在编码流中插入转场动效的过程,如图7所示,其主要包括以下步骤。
步骤S701:在拍摄过程中,对所述第一拍摄模式拍摄的视频画面进行编码。
本申请实施例在视频拍摄过程中,除了可以在显示界面内对在第一拍摄模式下拍摄的视频进行显示以外,还可以将在第一模式下拍摄的视频画面编码为视频文件。
具体地,在按照第一拍摄模式进行视频拍摄的过程中,第一拍摄模式对应的摄像头会持续上报视频帧。该过程中启用一个编码进程,对摄像头上报的视频帧进行持续编码。
具体实现中,可以监听所述第一拍摄模式拍摄的视频画面,将监听到的所述第一拍摄模式拍摄的视频画面发送至编码器进行编码。
本申请实施例涉及的第一拍摄模式可以为前置单摄模式、后置单摄模式、前置双摄模式、后置双摄模式、前后双摄模式、前置画中画模式、后置画中画模式、前后画中画模式中的任意一种,本申请实施例对此不作具体限制。
步骤S702:对所述转场动效画面进行编码。
具体实现中,可以将转场动效画面发送至所述编码器进行编码;
参见图8A,为本申请实施例提供的一种编码流示意图。如图8A所示,当第一拍摄模式对应的编码流结束后,编码操作继续对转场动效进行编码,将转场动效对应的画面帧持续刷新到视频文件中。
步骤S703:对所述第二拍摄模式拍摄的视频画面进行编码。
具体实现中,监听所述第二拍摄模式拍摄的视频画面,将监听到的所述第二拍摄模式拍摄的视频画面发送至编码器进行编码。
参见图8B,为本申请实施例提供的另一种编码流示意图。如图8B所示,当转场动效对应的编码流结束后,编码操作继续基于第二拍摄模式对应的编码流进行编码,将第二拍摄模式对应的视频画面持续刷新到视频文件中。
步骤S704:接收停止拍摄操作,生成视频文件,所述视频文件包括所述第一拍摄模式拍摄的视频画面、所述转场动效画面和所述第二拍摄模式拍摄的视频画面。
当接收到停止拍摄指令后,第二拍摄模式对应的摄像头停止上报视频帧,第二拍摄模式对应的视频流中断,编码器停止编码,生成视频文件。可理解,该视频文件中包括第一拍摄模式拍摄的视频画面、转场动效画面和第二拍摄模式拍摄的视频画面。
采用本申请实施例提供的技术方案,在拍摄模式切换过程中的断流时间插入转场动效,通过转场动效对切换前后的显示画面进行过渡,为用户提供流畅的视频拍摄体验。另外,将转场动效同步编码到生成的视频文件中,为用户提供流畅的视频播放体验。
在实际应用中,用户可能在拍摄过程中会触发暂停拍摄操作,当电子设备接收到暂停拍摄操作,将监听到的所述第一拍摄模式拍摄的视频画面、所述转场动效画面,或者监听到的所述第二拍摄模式拍摄的视频画面发送至所述显示界面进行显示。也就是说,在接收到暂停拍摄操作后,显示流并不中断。例如,在第一拍摄模式下接收到暂停拍摄操作后,将监听到的所述第一拍摄模式拍摄的视频画面实时发送至显示界面进行显示;在显示转场动效的过程中接收到暂停拍摄操作后,将生成的转场动效画面实时发送至显示界面进行显示,并在转场动效画面显示结束后,将监听到的所述第二拍摄模式拍摄的视频画面实时发送至显示界面进行显示;在第二拍摄模式下接收到暂停拍摄操作后,将监听到的所述第二拍摄模式拍摄的视频画面实时发送至显示界面进行显示。
另外,对于编码流,当接收到暂停拍摄操作后,编码器暂停编码。也就是说,在接收到暂停拍摄操作后,编码流中断。在实际应用场景中,当接收到暂停拍摄操作后,可能还会持续向编码器发送视频画面或转场动效画面,但是编码器拒绝接收,进而实现暂停编码。
参见图9,为本申请实施例提供的一种转场动效的生成和插入方法流程示意图。该方法可应用于图1所述的电子设备,如图9所示,其主要包括以下步骤。
步骤S901:转场动效GL环境初始化。
在本申请实施例中,通过开放图形库(Open Graphics Library,OpenGL)渲染器对图像进行渲染处理。OpenGL为用于渲染2D、3D图形的跨语言、跨平台的应用程序编程接口。在一些描述中,OpenGL也可能简称为“GL”。
可理解,在通过OpenGL渲染器生成转场动效之前,需要进行转场动效GL环境初始化。该转场动效GL环境初始化可以包括初始化转场动效GL纹理大小,申请相应的数据缓存区等。
步骤S902:触发单路模式切换双路模式。
用户在拍摄过程中,希望将拍摄模式由单路模式切换为双路模式,此时触发拍摄模式切换操作,拍摄模式切换操作用于指示将单路模式切换为双路模式。
步骤S903:获取单路模式下拍摄的最后一帧视频图像。
在触发单路模式切换双路模式后,获取单路模式下拍摄的最后一帧视频图像,该最后一帧视频图像为初始转场图像,对该初始转场图像进行相应的变换处理,可以生成对应的转场图像。也可以获取第一拍摄模式下任意至少一帧图像,并将该任意至少一帧图像进行上述操作生成对应的转场图像。
步骤S904:生成一帧转场图像。
具体地,OpenGL渲染器可以根据转场策略(转场动效时长、转场动效帧率、转场效果等) 计算转场动效中每一帧转场图像对应的图像调整参数,并根据图像调整参数渲染对应转场帧纹理,生成一帧转场图像。该图像调整参数可以包括旋转角度、缩放比例、透明度、模糊度、位移量等。OpenGL的渲染过程在下文中进行详细介绍。
步骤S905:对转场图像进行离屏渲染。
在生成一帧转场图像后,将该转场图像进行离屏渲染,以便在显示界面内显示转场图像。可理解,当显示界面显示第一帧转场图像时,在显示界面内相当于将单路模式下拍摄的视频画面切换为转场动效画面。
步骤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包括相机硬件抽象层(CameraHAL),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,为本申请实施例提供的另一种转场动效插入方法流程示意图。该方法可应用于图10所示的软件结构,如图11所示,其主要包括以下步骤。
S1101:在显示界面内显示按照单摄模式拍摄的视频画面。
在本申请实施例中,拍摄模式包括单景模式和双景模式。当前,用户在单景模式下进行视频拍摄,在显示界面内实时显示按照单摄模式拍摄的视频画面。
其中,单景模式可以为前置单摄模式、后置单摄模式等;双景模式可以为前置双摄模式、后置双摄模式、前后双摄模式等。
S1102:对单景模式下拍摄的视频画面进行编码。
在拍摄过程中,多摄编码模块对拍摄的视频画面进行编码。
S1103:触发拍摄模式切换操作。
用户在拍摄过程中,希望将拍摄模式由单景模式切换为双景模式,此时触发拍摄模式切换操作,拍摄模式切换操作用于指示将单景模式切换为双景模式。
S1104:切换控制模块启动拍摄模式切换。
切换控制模块接收到拍摄模式切换操作后,启动拍摄模式切换。
S1105:切换控制模块向多摄编码模块发送保持编码指令。
可理解,在单景模式下,多摄编码模块对单景模式下拍摄的视频画面实时编码。
本申请实例在拍摄模式切换过程中控制多摄编码模块保持编码,以便将单景模式下拍摄的视频画面、转场动效画面和双景模式下拍摄的视频画面生成一个视频文件。
S1106:切换控制模块向显示界面发送切换为双景画面指令。
在单景模式下,显示界面显示单景画面。在启动拍摄模式切换后,切换控制模块向显示界面发送切换为双景画面指令,指示显示界面切换为双景画面。
S1107:切换控制模块向转场控制模块发送启动转场动效指令。
为了避免在拍摄模式切换过程中影响用户体验,在拍摄模式切换的断流期间插入转场动效画面。具体地,切换控制模块向转场控制模块发送启动转场动效指令,以便转场控制模块生成转场动效。
S1108:切换控制模块向框架层发送断开单景模式、启动双景模式指令。
在启动切换后,切换控制模块向框架层发送断开单景模式、启动双景模式指令,以便框架层断开单景模式、启动双景模式。
S1109:框架层向硬件抽象层发送断开单景模式、启动双景模式指令。
框架层在断开单景模式、启动双景模式后,向硬件抽象层发送断开单景、启动双景指令,以便硬件抽象层断开单景模式、启动双景模式。
S1110:硬件抽象层向硬件层发送断开单景模式、启动双景模式指令。
硬件抽象层在断开单景模式、启动双景模式后,向硬件层发送断开单景模式、启动双景模式指令,以便硬件层断开单景模式、启动双景模式。
S1111:转场控制模块生成转场动效。
转场控制模块在接收到启动转场动效指令后生成转场动效,转场动效的生成过程参见上述实施例的描述。
S1112:转场控制模块向多摄编码模块发送转场动效。
转场控制模块在生成转场动效后,将转场动效发送至多摄编码模块,以便对转场动效进行编码。
S1113:多摄编码模块对转场动效画面进行编码。
多摄编码模块在接收到转场动效后,对转场动效画面进行编码。
需要指出的是,在拍摄模式切换过程中,多摄编码模块保持持续编码,也就是说在拍摄模式切换过程中,编码操作并不会中断,而是将编码流由第一拍摄模式编码流切换为第二拍摄模式编码流。
S1114:在显示界面显示转场动效画面。
具体地,转场控制模块在生成转场动效后,将转场动效画面发送至显示界面,以便在断流期间显示转场动效画面。
S1115:向切换控制模块发送双景画面启动消息。
双景模式启动后,双景模式启动消息由底层逐级发送至切换控制模块。具体地,硬件抽象层启动双景模式后,向框架层发送双景模式启动消息;框架层启动双景模式后,向相机管理模块发送双景模式启动消息;相机管理模块启动双景模式后,向切换控制模块发送双景启动消息。
S1116:发送双景画面切换完成消息。
上层的显示界面完成双景画面切换后,将双景画面切换完成消息发送至切换控制模块。至此,表明拍摄模式切换完成。
S1117:切换控制模块向转场控制模块发送停止转场动效指令。
切换至双景模式后,切换控制模块向转场控制模块发送停止转场动效指令。该停止转场动效可以理解为转场控制模块停止生成转场动效图像、停止向多摄编码模块和显示界面发送转场动效画面等,以便停止转场动效画面的编码和拍摄过程中的显示。
S1118:切换控制模块向多摄编码模块发送保持编码指令。
本申请实例在拍摄模式切换过程中控制多摄编码模块保持编码,以便将单景模式下拍摄的视频、转场动效和双景模式下拍摄的视频生成一个视频文件。
S1119:在显示界面内显示在双景模式下拍摄的视频画面。
拍摄模式切换完成后,在双景模式下进行视频画面拍摄,在显示界面内显示在双景模式下拍摄的视频画面。
S1120:对在双景模式下拍摄的视频画面进行编码。
在双景模式下拍摄视频画面的过程中,对双景模式下拍摄的视频画面进行持续编码,最终将单景模式下拍摄的视频画面、转场动效和双景模式下拍摄的视频画面生成一个视频文件。
为了便于本领域技术人员更好地理解本技术方案,下面对转场动效的生成过程进行详细说明。
参见图12A,为本申请实施例提供的一种转场控制模块的软件结构框图。如图12A所示,转场控制模块包括纹理管理器、渲染引擎、渲染器和着色器库。其中,渲染引擎包括显示渲染引擎、编码渲染引擎。
纹理管理器可以获取用于转场的纹理(图像)数据,即初始转场图像,该初始转场图像用于生成转场动效。渲染器用于根据转场策略(转场动效时长、转场动效帧率、转场效果等)计算转场动效中每一帧转场图像对应的图像调整参数,并根据图像调整参数渲染对应的转场帧纹理,进而将转场帧发送至显示界面显示,以及将该转场帧发送至编码器进行编码。着色器库用于配合渲染器的GPU着色程序,可以包括多个着色器(shader),例如,顶点着色器、片元着色器等。显示渲染引擎用于驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送显示界面显示;编码渲染引擎用于驱动渲染器在指定时间区间、按照指定帧率生成转场帧纹理,并送多摄编码模块编码。
参见图12B,为本申请实施例提供的一种切换控制模块、转场控制模块和多摄编码模块的连接关系示意图。如图12B所示,切换控制模块与转场控制模块相连,用于在切换开始时,通知转场控制模块启动转场动效。多摄编码模块为转场控制模块提供转场动效录制接口,即转场控制模块生成的转场图像可以发送至多摄编码模块进行编码。纹理管理器、渲染引擎、渲染器、着色器的功能可以参见图12A所示实施例的描述,为了表述简洁,在此不再赘述。
需要说明的是,上述实施例以由第一拍摄模式为单景模式、第二拍摄模式为双景模式为例对转场动效的生成和插入方法流程进行说明,在实际应用中,上述转场动效的生成和插入方法也可以适用于第一拍摄模式为除单景模式之外的其他模式,第二拍摄模式为除双景模式之外的其他模式的情况。
参见图13,为本申请实施例提供的另一种转场动效生成方法流程示意图。该方法可应用于图12A和图12B所示的软件结构,如图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 augmentationsystems,SBAS)。
电子设备1700通过GPU,显示屏1794,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏1794和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1710可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏1794用于显示图像,视频等。显示屏1794包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode, OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emittingdiode的,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 (10)

1.一种拍摄中转场动效插入方法,其特征在于,包括:
电子设备开启第一拍摄模式进行视频拍摄,显示所述第一拍摄模式拍摄的第一视频画面,所述第一视频画面包括第一摄像头拍摄的第一画面,在所述第一拍摄模式下,Open GL显示渲染引擎分别通过第一监听模块及第二监听模块监听一路视频画面,两个监听模块监听的视频画面一个用于转场图像渲染,一个用于编码渲染;
在拍摄过程中,所述电子设备接收拍摄模式切换操作,启动第二摄像头,所述拍摄模式切换操作用于将所述第一拍摄模式切换为第二拍摄模式,其中,所述第一拍摄模式与所述第二拍摄模式不同;
根据所述拍摄模式切换操作,将所述第一拍摄模式拍摄的视频画面切换为转场动效画面,其中,所述转场动效画面与所述第一拍摄模式拍摄的视频画面相关;
将所述转场动效画面切换为所述第二拍摄模式拍摄的第二视频画面,所述第二视频画面包括第二摄像头拍摄的第二画面,所述第一摄像头与所述第二摄像头不同;
所述第二视频画面还包括所述第一摄像头拍摄的所述第一画面;所述方法还包括,
所述电子设备监听所述第二视频画面,显示所述第二视频画面;并且,发送所述第二视频画面到编码器进行编码;
所述电子设备监听所述第二视频画面,显示所述第二视频画面,包括:
所述电子设备监听所述第一画面和所述第二画面;将所述第一画面和所述第二画面进行渲染合并处理,获得显示的第二视频画面;
在所述第二拍摄模式下,Open GL显示渲染引擎通过第一监听模块和第二监听模块监听分别监听所述第一摄像头及所述第二摄像头采集的视频图像,并将监听到的两路视频图像及合成策略传输至Open GL渲染器,所述Open GL渲染器根据所述合成策略,将两路视频图像合成为一个视频图像,并将该视频图像传输至显示缓存区进行缓存。
2.根据权利要求1所述的方法,其特征在于,所述将所述转场动效画面切换为所述第二拍摄模式拍摄的第二视频画面,包括:
在完成转场动效的所有画面的显示后,将所述转场动效画面切换为所述第二拍摄模式拍摄的第二视频画面。
3.根据权利要求1所述的方法,其特征在于,所述将所述转场动效画面切换为所述第二拍摄模式拍摄的第二视频画面,包括:
在获取到所述第二拍摄模式拍摄的第二视频画面后,将所述转场动效画面切换为所述第二拍摄模式拍摄的第二视频画面。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在所述第一拍摄模式下接收到暂停拍摄操作后,将监听到的所述第一拍摄模式拍摄的视频画面实时发送至显示界面进行显示;
在显示所述转场动效的过程中接收到所述暂停拍摄操作后,将生成的所述转场动效画面实时发送至显示界面进行显示,并在转场动效画面显示结束后,将监听到的所述第二拍摄模式拍摄的视频画面实时发送至显示界面进行显示;或
在所述第二拍摄模式下接收到所述暂停拍摄操作后,将监听到的所述第二拍摄模式拍摄的视频画面实时发送至显示界面进行显示。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述转场动效画面的显示时长与所述拍摄模式切换过程中的断流时长相匹配,所述断流时长为所述第一拍摄模式上报的最后一帧第一视频画面与所述第二拍摄模式上报的第一帧第二视频画面的时间差。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一画面和所述第二画面进行渲染合并处理,包括:
根据所述第一画面和所述第二画面的纹理信息、位置信息和合并策略,将所述第一画面和所述第二画面进行渲染合并处理;所述合成策略是用以合成所述第一画面和所述第二画面的显示位置及显示大小的信息。
7.根据权利要求6所述的方法,其特征在于,所述合并策略至少包括:
对所述第一画面和所述第二画面进行拼接;或
将所述第一画面和所述第二画面中的一路画面填充至另一路画面中。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在拍摄过程中,对所述第一拍摄模式拍摄的第一视频画面进行编码;
对所述转场动效画面进行编码;
对所述第二拍摄模式拍摄的第二视频画面进行编码;
接收停止拍摄操作,生成视频文件,所述视频文件包括所述第一拍摄模式拍摄的第一视频画面、所述转场动效画面和所述第二拍摄模式拍摄的第二视频画面;
存储所述视频文件。
9.一种电子设备,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求1-8任一项所述的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1-8中任意一项所述的方法。
CN202110682677.8A 2021-06-16 2021-06-16 拍摄中转场动效插入方法、设备、存储介质 Active CN113473005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110682677.8A CN113473005B (zh) 2021-06-16 2021-06-16 拍摄中转场动效插入方法、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110682677.8A CN113473005B (zh) 2021-06-16 2021-06-16 拍摄中转场动效插入方法、设备、存储介质

Publications (2)

Publication Number Publication Date
CN113473005A CN113473005A (zh) 2021-10-01
CN113473005B true CN113473005B (zh) 2022-08-09

Family

ID=77868903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110682677.8A Active CN113473005B (zh) 2021-06-16 2021-06-16 拍摄中转场动效插入方法、设备、存储介质

Country Status (1)

Country Link
CN (1) CN113473005B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115996274B (zh) * 2021-10-18 2025-06-27 华为技术有限公司 视频的制作方法和电子设备
CN115002335B (zh) * 2021-11-26 2024-04-09 荣耀终端有限公司 视频处理方法、装置、电子设备和计算机可读存储介质
CN115037872B (zh) * 2021-11-30 2024-03-19 荣耀终端有限公司 视频处理方法和相关装置
CN114500835B (zh) * 2022-01-20 2025-03-14 深圳市源德盛数码科技有限公司 一种视频拍摄方法、系统、智能终端和存储介质
CN114268741B (zh) * 2022-02-24 2023-01-31 荣耀终端有限公司 转场动效生成方法、电子设备和存储介质
CN117793245B (zh) * 2022-09-20 2025-08-08 荣耀终端股份有限公司 拍摄模式的切换方法、电子设备及可读存储介质
CN115514871A (zh) * 2022-09-30 2022-12-23 读书郎教育科技有限公司 一种基于智能终端的翻转摄像头预览优化系统及方法
CN118075600A (zh) * 2022-11-22 2024-05-24 荣耀终端有限公司 拍摄模式切换方法及相关装置
CN118555481B (zh) * 2023-02-27 2026-03-31 荣耀终端股份有限公司 模式切换方法及终端设备
CN117135259B (zh) * 2023-04-11 2024-06-07 荣耀终端有限公司 摄像头的切换方法、电子设备、芯片系统及可读存储介质
CN117729426B (zh) * 2023-07-05 2024-11-15 荣耀终端有限公司 模式切换方法、电子设备及存储介质
CN117424958B (zh) * 2023-09-15 2024-06-07 荣耀终端有限公司 相机显示界面的切换方法、电子设备、芯片系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107820006A (zh) * 2017-11-07 2018-03-20 北京小米移动软件有限公司 控制摄像头摄像的方法及装置
CN110072070A (zh) * 2019-03-18 2019-07-30 华为技术有限公司 一种多路录像方法及设备
CN111885305A (zh) * 2020-07-28 2020-11-03 Oppo广东移动通信有限公司 预览画面处理方法及装置、存储介质和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110292161A1 (en) * 2010-05-25 2011-12-01 Vidyo, Inc. Systems And Methods For Scalable Video Communication Using Multiple Cameras And Multiple Monitors
US10168882B2 (en) * 2013-06-09 2019-01-01 Apple Inc. Device, method, and graphical user interface for switching between camera interfaces
CN104980644B (zh) * 2014-04-14 2018-12-14 华为技术有限公司 一种拍摄方法及装置
CN105183296B (zh) * 2015-09-23 2018-05-04 腾讯科技(深圳)有限公司 交互界面显示方法及装置
CN106210512B (zh) * 2016-06-30 2019-06-07 维沃移动通信有限公司 一种摄像头切换方法及移动终端
CN106792104A (zh) * 2017-01-19 2017-05-31 北京行云时空科技有限公司 一种同时支持多窗口图像显示的方法和系统
US10537799B1 (en) * 2018-03-23 2020-01-21 Electronic Arts Inc. User interface rendering and post processing during video game streaming
CN110506416B (zh) * 2018-07-27 2021-10-22 华为技术有限公司 一种终端切换摄像头的方法及终端
CN111866404B (zh) * 2019-04-25 2022-04-29 华为技术有限公司 一种视频编辑方法及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107820006A (zh) * 2017-11-07 2018-03-20 北京小米移动软件有限公司 控制摄像头摄像的方法及装置
CN110072070A (zh) * 2019-03-18 2019-07-30 华为技术有限公司 一种多路录像方法及设备
CN111885305A (zh) * 2020-07-28 2020-11-03 Oppo广东移动通信有限公司 预览画面处理方法及装置、存储介质和电子设备

Also Published As

Publication number Publication date
CN113473005A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN113473005B (zh) 拍摄中转场动效插入方法、设备、存储介质
CN113422903B (zh) 拍摄模式切换方法、设备、存储介质
US20230396886A1 (en) Multi-channel video recording method and device
CN110139028B (zh) 一种图像处理的方法及头戴式显示设备
CN113411528B (zh) 一种录像帧率的控制方法、终端及存储介质
CN113747060B (zh) 图像处理的方法、设备、存储介质
CN113596321B (zh) 转场动效的生成方法、设备和存储介质
CN113596319A (zh) 基于画中画的图像处理方法、设备、存储介质和程序产品
CN114205515B (zh) 一种视频的防抖处理方法及电子设备
CN111183632A (zh) 图像捕捉方法及电子设备
US12389117B2 (en) Image photographing method, device, storage medium, and program product
CN111050062B (zh) 一种拍摄方法及电子设备
CN114489533A (zh) 投屏方法、装置、电子设备及计算机可读存储介质
CN114268741A (zh) 转场动效生成方法、电子设备和存储介质
CN113852755A (zh) 拍摄方法、设备、计算机可读存储介质及程序产品
CN113965693B (zh) 一种视频拍摄方法、设备和存储介质
CN114257737B (zh) 一种摄像模式切换方法以及相关设备
CN114339429A (zh) 音视频播放控制方法、电子设备和存储介质
CN113518189B (zh) 拍摄方法、系统、电子设备及存储介质
CN113810595B (zh) 视频拍摄的编码方法、设备和存储介质
CN117880634A (zh) 一种拍摄视频的方法及电子设备
CN113596320B (zh) 视频拍摄变速录制方法、设备、存储介质
CN114257920A (zh) 一种音频播放方法、系统和电子设备
CN113923351B (zh) 多路视频拍摄的退出方法、设备和存储介质
CN115762108A (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
CP03 Change of name, title or address

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Terminal Co.,Ltd.

Country or region after: China

Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before: Honor Device Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address