拍摄模式的切换方法及电子设备技术

技术编号:31232483 阅读:18 留言:0更新日期:2021-12-08 10:09
本申请实施例提供了一种拍摄模式的切换方法及电子设备,该切换方法通过采用按行拷贝预览流内存块中每一行的图像数据到模糊帧内存块的拷贝方式,从而实现了拍摄模式的切换过程中,模糊帧的拷贝能够不受芯片型号限制,进而保证了一套模糊帧的拷贝接口便能从缓冲不同内存对齐格式的预览流的预览流内存块中拷贝到需要进行模糊处理的图像数据,既降低了开发成本和维护难度,又能够保证模糊帧拷贝的顺利进行,从而保证拍摄模式的切换过程,始终能够有一帧模糊帧作为转场动画来进行过渡。够有一帧模糊帧作为转场动画来进行过渡。够有一帧模糊帧作为转场动画来进行过渡。

【技术实现步骤摘要】
拍摄模式的切换方法及电子设备


[0001]本申请实施例涉及终端领域,尤其涉及一种拍摄模式的切换方法及电子设备。

技术介绍

[0002]随着通信技术的发展,电子设备的计算能力和硬件能力的提高,电子设备的摄像功能也越来越强大,比如现在具备摄像头的电子设备的摄像头应用(相机应用),通常提供了拍摄照片和录制视频两种拍摄模式。进一步地,拍摄照片的模式,又细化了美颜模式、延时模式、闪光灯模式、实时模式等。
[0003]目前,电子设备在切换摄像头的拍摄模式时,会使用一帧模糊帧作为转场动画来进行过渡。但是,目前获取模糊帧的操作是在摄像头框架层,从缓冲视频帧数据的内存中以数据块的方式进行拷贝。而随着不同通信平台的迅速崛起,目前的电子设备会根据实际需求,接入到不同的平台,由于不同平台底层实现的差异以及参数的不同,因而往往同一套接口无法直接在多个平台使用,因此想要保证电子设备在切换摄像头的拍摄模式时,能够获取到一帧模糊帧作为转场动态来进行过渡,就需要为不同的平台编译不同的代码,提供不同的接口,如果使用同一套接口,在不同平台进行模糊帧拷贝时,就会出现视频帧数据拷贝异常,进而导致模式切换出现异常,如黑屏、卡顿等,而使用多套接口,又会增加开发成本和维护难度。

技术实现思路

[0004]为了解决上述技术问题,本申请提出了一种拍摄模式的切换方法及电子设备。在该法中,通过采用按行拷贝预览流内存块中每一行的图像数据到模糊帧内存块的拷贝方式,从而实现了拍摄模式的切换过程中,模糊帧的拷贝能够不受芯片型号限制,进而保证了一套模糊帧的拷贝接口便能从缓冲不同内存对齐格式的预览流的预览流内存块中拷贝到需要进行模糊处理的图像数据,既降低了开发成本和维护难度,又能够保证模糊帧拷贝的顺利进行,从而保证拍摄模式的切换过程,始终能够有一帧模糊帧作为转场动画来进行过渡。
[0005]第一方面,提供一种拍摄模式的切换方法。该方法应用于电子设备,所述电子设备的应用程序层安装有摄像头应用,应用程序框架层包括摄像头框架,HAL层包括摄像头硬件抽象层,所述摄像头框架分别与所述摄像头应用和所述摄像头硬件抽象层进行数据交互,包括:所述应用程序层监测到对所述摄像头应用的选中操作时,从所述摄像头框架获取缓冲了第一预览流的第一预览流内存块,根据所述第一预览流内存块中缓冲的所述第一预览流生成第一预览画面,并在显示界面显示所述第一预览画面,所述第一预览流由所述摄像头硬件抽象层上传,所述第一预览流的内存对齐格式为第一内存对齐格式;所述应用程序层监测到对所述摄像头应用中的任意一拍摄模式的切换操作时,向所述摄像头框架发送携带了预置画布信息的模糊帧请求,所述预置画布信息包括第二内存对齐格式;所述摄像头框架根据所述预置画布信息分配第二内存对齐格式的模糊帧内存块,采用按行拷贝的方
式,将所述第一预览流内存块中的图像数据按行拷贝到所述模糊帧内存块,并在完成拷贝后将所述模糊帧内存块发送至所述摄像头应用;在拍摄模式的切换过程中,所述摄像头应用对所述模糊帧内存块中的图像数据进行模糊处理,得到第二预览画面,并采用所述第二预览画面替换所述显示界面中显示的第一预览画面。这样,通过采用按行拷贝预览流内存块中每一行的图像数据到模糊帧内存块的拷贝方式,从而实现了拍摄模式的切换过程中,模糊帧的拷贝能够不受芯片型号限制,进而保证了一套模糊帧的拷贝接口便能从缓冲不同内存对齐格式的预览流的预览流内存块中拷贝到需要进行模糊处理的图像数据,既降低了开发成本和维护难度,又能够保证模糊帧拷贝的顺利进行,从而保证拍摄模式的切换过程,始终能够有一帧模糊帧作为转场动画来进行过渡。
[0006]示例性的,第一内存对齐格式与第二内存对齐格式不同。
[0007]示例性的,第一内存对齐格式与第二内存对齐格式相同。
[0008]示例性的,第一内存对齐格式包括但不限于64位、128位、512位中的一种。
[0009]示例性的,第二内存对齐格式包括但不限于64位、128位、512位中的一种。
[0010]根据第一方面,所述应用程序层监测到对所述摄像头应用的选中操作时,从所述摄像头框架获取缓冲了第一预览流的第一预览流内存块,包括:所述应用程序层监测到对所述摄像头应用的选中操作时,向所述摄像头框架发送打开摄像头的请求;所述摄像头框架根据所述打开摄像头的请求,向所述摄像头硬件抽象层发送配置流;所述摄像头硬件抽象层根据所述配置流打开所述摄像头,并向所述摄像头框架上传所述第一内存对齐格式的所述第一预览流;所述摄像头框架根据所述第一内存对齐格式,为所述第一预览流分配所述第一内存对齐格式的所述第一预览流内存块,将所述第一预览流缓冲到所述第一预览流内存块,并将缓冲了所述第一预览流的所述第一预览流内存块发送至所述摄像头应用。这样,实现了摄像头的开启,并且在触发显示界面的任意功能按钮之前,可以持续像摄像头应用上传第一内存对齐格式的第一预览流,使得摄像头应用能够根据不同时刻获取到的第一预览流生成对应的第一预览画面,从而实现显示界面中第一预览画面的实时变化。
[0011]根据第一方面,或者以上第一方面的任意一种实现方式,所述应用程序层监测到对所述摄像头应用的选中操作时,从所述摄像头框架获取缓冲了第一预览流的第一预览流内存块,根据所述第一预览流内存块中缓冲的所述第一预览流生成第一预览画面,并在显示界面显示所述第一预览画面之后,所述方法还包括:所述摄像头应用将取出所述第一预览流后的所述第一预览流内存块回传给所述摄像头框架,供所述摄像头框架在接收到所述摄像头硬件抽象层上传的第二预览流后,将所述第二预览流缓冲到所述第一预览流内存块。这样,摄像头应用在从第一预览流内存块中取出第一预览流后,通过将空的第一预览流内存块回传给摄像头框架,从而使得摄像头框架在接收到摄像头硬件抽象层上传的下一时刻的预览流时,无需在分配新的预览流内存块,直接复用第一预览流内存块,从而有效避免了内存冗余。
[0012]根据第一方面,或者以上第一方面的任意一种实现方式,所述在拍摄模式的切换过程中,所述摄像头应用对所述模糊帧内存块中的图像数据进行模糊处理,得到第二预览画面,并采用所述第二预览画面替换所述显示界面中显示的第一预览画面之后,所述方法还包括:在切换到选中的拍摄模式后,所述摄像头应用从所述摄像头框架中获取缓冲了第二预览流的第二预览流内存块,根据所述第二预览流内存块中缓冲的所述第二预览流生成
第三预览画面,并采用所述第三预览画面替换所述显示界面中显示的第二预览画面,所述第二预览流为切换到选中的拍摄模式后,所述摄像头硬件抽象层上传,所述第二预览流的内存对齐格式为所述第一内存对齐格式。这样,在切换到选中的拍摄模式之后,并且获取到摄像头硬件抽象层上传到摄像头框架中第二预览流内存块的第二预览流时,采用拍摄模式切换后上传的第二预览流生成第三预览画面来替代显示界面显示的第二预览画面,既实现了拍摄模式切换过程中,界面显示的预览画面的平滑过渡,又能够在拍摄模式切换成功后,及时将显示界面切换到最新的预览画面。
[0013]根据第一方面,或者以上第一方面的任意一种实现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种拍摄模式的切换方法,其特征在于,应用于电子设备,所述电子设备的应用程序层安装有摄像头应用,应用程序框架层包括摄像头框架,HAL层包括摄像头硬件抽象层,所述摄像头框架分别与所述摄像头应用和所述摄像头硬件抽象层进行数据交互,所述方法包括:所述应用程序层监测到对所述摄像头应用的选中操作时,从所述摄像头框架获取缓冲了第一预览流的第一预览流内存块,根据所述第一预览流内存块中缓冲的所述第一预览流生成第一预览画面,并在显示界面显示所述第一预览画面,所述第一预览流由所述摄像头硬件抽象层上传,所述第一预览流的内存对齐格式为第一内存对齐格式;所述应用程序层监测到对所述摄像头应用中的任一拍摄模式的切换操作时,向所述摄像头框架发送携带了预置画布信息的模糊帧请求,所述预置画布信息包括第二内存对齐格式;所述摄像头框架根据所述预置画布信息分配第二内存对齐格式的模糊帧内存块,采用按行拷贝的方式,将所述第一预览流内存块中的图像数据按行拷贝到所述模糊帧内存块,并在完成拷贝后将所述模糊帧内存块发送至所述摄像头应用;在拍摄模式的切换过程中,所述摄像头应用对所述模糊帧内存块中的图像数据进行模糊处理,得到第二预览画面,并采用所述第二预览画面替换所述显示界面中显示的第一预览画面。2.根据权利要求1所述的方法,其特征在于,所述应用程序层监测到对所述摄像头应用的选中操作时,从所述摄像头框架获取缓冲了第一预览流的第一预览流内存块,包括:所述应用程序层监测到对所述摄像头应用的选中操作时,向所述摄像头框架发送打开摄像头的请求;所述摄像头框架根据所述打开摄像头的请求,向所述摄像头硬件抽象层发送配置流;所述摄像头硬件抽象层根据所述配置流打开所述摄像头,并向所述摄像头框架上传所述第一内存对齐格式的所述第一预览流;所述摄像头框架根据所述第一内存对齐格式,为所述第一预览流分配所述第一内存对齐格式的所述第一预览流内存块,将所述第一预览流缓冲到所述第一预览流内存块,并将缓冲了所述第一预览流的所述第一预览流内存块发送至所述摄像头应用。3.根据权利要求1所述的方法,其特征在于,所述应用程序层监测到对所述摄像头应用的选中操作时,从所述摄像头框架获取缓冲了第一预览流的第一预览流内存块,根据所述第一预览流内存块中缓冲的所述第一预览流生成第一预览画面,并在显示界面显示所述第一预览画面之后,所述方法还包括:所述摄像头应用将取出所述第一预览流后的所述第一预览流内存块回传给所述摄像头框架,供所述摄像头框架在接收到所述摄像头硬件抽象层上传的第二预览流后,将所述第二预览流缓冲到所述第一预览流内存块。4.根据权利要求3所述的方法,其特征在于,所述在拍摄模式的切换过程中,所述摄像头应用对所述模糊帧内存块中的图像数据进行模糊处理,得到第二预览画面,并采用所述第二预览画面替换所述显示界面中显示的第一预览画面之后,所述方法还包括:在切换到选中的拍摄模式后,所述摄像头应用从所述摄像头框架中获取缓冲了第二预览流的第二预览流内存块,根据所述第二预览流内存块中缓冲的所述第二预览流生成第三
预览画面,并采用所述第三预览画面替换所述显示界面中显示的第二预览画面,所述第二预览流为切换到选中的拍摄模式后,所述摄像头硬件抽象层上传,所述第二预览流的内存对齐格式为所述第一内存对齐格式。5.根据权利要求4所述的方法,其特征在于,在切换到选中的拍摄模式后,所述方法还包括:所述摄像头框架接收到所述摄像头硬件抽象层上传的所述第一内存对齐格式的所述第二预览流时,检测是否存在可复用的所述第一预览流内存块;在存在可复用的所述第一预览流内存块时,所述摄像头框架将所述第二预览流缓冲到所述第一预览流内存块,并将缓冲了所述第二预览流的所述第一预览流内存块发送至所述摄像头应用,供所述摄像头应用根据所述第一预览流内存块中缓冲的所述第二预览流生成第三预览画面,并采用所述第三预览画面替换所述显示界面中显示的第二预览画面;在不存在可复用的所述第一预览流内存块时,所述摄像头框架根据所述第一内存对齐格式,为所述第二预览流分配所述第一内存对齐格式的所述第二预览流内存块,将所述第二预览流缓冲到所述第二预览流内存块,并将缓冲了所述第二预览流的所述第二预览流内存块发送至所述摄像头应用,供所述摄像头应用根据所述第二预览流内存块中缓冲的所述第二预览流生成第三预览画面,并采用所述第三预览画面替换所述显示界面中显示的第二预览画面。6.根据权利要求1至5任一项所述的方法,其特征在于,所述摄像头框架采用按行拷贝的方式,将所述第一预览流内存块中的图像数据按行拷贝到所述模糊帧内存块之前,所述方法还包括:所述摄像头框架将所述第一内存对齐格式与所述第二内存对齐格式进行比较;在所述第一内存对齐格式与所述第二内存对齐格式不同时,执行所述摄像头框架采用按行拷贝的方式,将所述第一预览流内存块中的图像数据按行拷贝到所述模糊帧内存块的步骤;在所述第一内存对齐格式与所述第二内存对齐格式相同时,所述摄像头框架以所述第一预览流内存块为单位,将所述第一预览流内存块中的内容整体拷贝到所述模糊帧内存块。7.根据权利要求6所述的方法,其特征在于,所述第一预览流内存块中的内容包括所述图像数据和与所述图像数据拼接在一起的扩展内容,所述图像数据为生成所述第二预览画面的像素点,所述扩展内容用于占位;所述摄像头框架采用按行拷贝的方式,将所述第一预览流内存块中的图像数据按行拷贝到所述模糊帧内存块,包括:所述摄像头框架基于YUV颜色编码方法,将所述第一预览流内存块中每一行用于生成所述第二预览画面的所述像素点拷贝到所述模糊帧内存块对应行中对应的位置。8.根据权利要求7所述的方法,其特征在于,所述摄像头框架基于YUV颜色编码方法,将所述第一预览流内存块中每一行用于生成所述第二预览画面的所述像素点拷贝到所述模糊帧内存块对应行中对应的位置,包括:所述摄像头框架基于YUV颜色编码方法,确定所述第一预览流内存块中每一行每一位置对应的Y、U和V这三个通道的数值;
所述摄像头框架根据Y、U和V这三个通道的数值的变化,将每一行用于生成所述第二预览画面的所述像素点的图像数据与用于占位的所述扩展内容区分开;所述摄像头框架将所述第一预览流内存块中每一行用于生成所述第二预览画面的所述像素点一一拷贝到所述模糊帧内存块对应行中对应的位置。9.根据权利要求8所述的方法,其特征在于,所述第一预览流内存块中的内容包括所述图像数据和与所述图像数据拼接在一起的扩展内容,所述图像数据为生成所述第二预览画面的像素点,所述扩展内容用于占位;所述摄像头框架以所述第一预览流内存块为单位,将所述第一预览流内存块中的内容整体拷贝到所述模糊帧内存块,包括:所述摄像头框架以所述第一预览流内存块为单位,将所述第一预览流内存块中的所述图像数据和与所述图像数据拼接在一起的所述扩展内容一起拷贝到所述模糊帧内存块。10.根据权利要求6所述的方法,其特征在于,所述摄像头框架将所述第一内存对齐格式与所述第二内存对齐格式进行比较之前,所述方法还包括:所述摄像头框架检测所述第一预览流内存块中缓冲的所述第一预览流是否为预设流格式;在所述第一预览流内存块中缓冲的所述第一预览流是所述预设流格式时,执行所述摄像头框架将所述第一内存对齐格式与所述第二内存对齐格式进行比较的步骤;在所述第一预览流内存块中缓冲的所述第一预览流不是所述预设流格式时,向所述摄像头应用回调模糊帧拷贝失败。11.一种电子设备,其特征在于,所述电子设备的应用程序层安装有摄像头应用,应用程序框架层包括摄像头框架,HAL层包括摄像头硬件抽象层,所述摄像头框架分别与所述摄像头应用和所述摄像头硬件抽象层进行数据交互,所述电子设备还包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:所述应用程序层监测到对所述摄像头应用的选中...

【专利技术属性】
技术研发人员:褚元强
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1