CN117560574A - 一种拍摄方法、电子设备和可读存储介质 - Google Patents
一种拍摄方法、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN117560574A CN117560574A CN202410037625.9A CN202410037625A CN117560574A CN 117560574 A CN117560574 A CN 117560574A CN 202410037625 A CN202410037625 A CN 202410037625A CN 117560574 A CN117560574 A CN 117560574A
- Authority
- CN
- China
- Prior art keywords
- transition
- frame
- magnification
- preview image
- camera
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000003860 storage Methods 0.000 title claims abstract description 8
- 230000007704 transition Effects 0.000 claims abstract description 227
- 238000012545 processing Methods 0.000 claims abstract description 96
- 230000015654 memory Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 abstract description 28
- 230000035945 sensitivity Effects 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 35
- 230000000694 effects Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 238000005520 cutting process Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
-
- 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/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
- H04N23/662—Transmitting camera control signals through networks, e.g. control via the Internet by using master/slave camera arrangements for affecting the control of camera image capture, e.g. placing the camera in a desirable condition to capture a desired image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
Abstract
本申请涉及智能终端技术领域,具体涉及一种拍摄方法、电子设备和可读存储介质。本申请提供的拍摄方法,应用于电子设备,在检测到用户对拍摄应用的变焦指令时,电子设备可以在拍摄应用的拍摄预览界面中显示过渡动画,该过渡动画中部分过渡动画可以基于对检测到变焦指令之前采集的图像进行倍率处理得到。这样,电子设备的变焦响应时间可以缩短,提高了变焦的灵敏度。
Description
技术领域
本发明涉及智能终端技术领域,具体涉及一种拍摄方法、电子设备和可读存储介质。
背景技术
随着手机、平板电脑等电子设备的不断发展,拍照功能成为了用户重视的功能之一。为满足用户拍摄需求,电子设备通常使用多个焦段不同的摄像头来实现变焦(zoom),以得到不同距离的清晰图像。
在拍摄不同距离的景物时,用户可以通过变焦指令(例如点击变焦控件,按下变焦按钮,语音变焦指令等)实现变焦倍率(又称为变焦比、zoomratio值等,为方便描述,后文统称为倍率)切换,调整拍摄预览界面的视场角(field of view,FOV),以获得清晰图像。电子设备在响应用户的变焦指令时,需要开启多个摄像头并在多个摄像头之间进行切换。目前,电子设备对用户的变焦指令的响应时间往往较长,使得电子设备变焦的灵敏度较差。
发明内容
为了解决电子设备变焦的灵敏度较差的问题,本申请实施例提供了一种拍摄方法、电子设备和可读存储介质。
第一方面,本申请实施例提供了一种拍摄方法,应用于电子设备,方法包括:第一时刻检测到对拍摄应用的变焦指令,变焦指令将拍摄倍率从第一倍率改变为第二倍率;在拍摄应用的拍摄预览界面中,显示对应变焦指令的过渡动画,其中,过渡动画包括先后显示的第一过渡帧集合和第二过渡帧集合,并且第一过渡帧集合包括:对第一时刻之前采集的至少一帧预览图像进行倍率处理得到的多个第一过渡帧图像,多个第一过渡帧图像的倍率对应倍率过渡顺序中前序部分的过渡倍率,并且第二过渡帧集合包括:对第一时刻之后采集的至少一帧预览图像进行倍率处理得到的多个第二过渡帧图像,多个第二过渡帧图像的倍率对应倍率过渡顺序中后序部分的过渡倍率,并且倍率过渡顺序包括第一倍率至第二倍率之间的多个过渡倍率;显示对应第二倍率的预览图像。
基于上述方案,电子设备在第一时刻检测到对拍摄应用的变焦指令后,可以在拍摄应用的拍摄预览界面中显示过渡动画,过渡动画中包括多个过渡帧,部分过渡帧可以基于第一时刻之前采集的预览图像进行倍率处理后得到,可以减少过渡帧的采集数量,缩短变焦响应时间,提高变焦的灵敏度。
本申请实施例提及的过渡倍率的倍率值即本申请提及的倍率过渡顺序中的倍率值。
在上述第一方面的一些可实现方式中,电子设备检测到变焦指令时,确定从第一倍率逐渐向第二倍率变化的多个过渡倍率,得到倍率过渡顺序。
例如,当第一倍率大于第二倍率时,倍率过渡顺序中的多个过渡倍率按照降序排列;当第一倍率小于第二倍率时,过渡倍率顺序中的多个过渡倍率按照升序排列。
在上述第一方面的一些可实现方式中,第一时刻之前采集的至少一帧预览图像由以下方式确定:确定在第一时刻响应变焦指令的第一帧预览图像,第一帧预览图像对应的请求中携带倍率过渡顺序中的第一个过渡倍率;将在第一帧预览图像之前采集的预览图像中,未被显示的至少一帧预览图像确定为第一时刻之前采集的至少一帧预览图像。
可以理解,在用户开启相机应用后,电子设备会通过预览图像帧请求连续获取多个预览图像,并在每次采集到一帧预览图像后,再获取一个预览图像帧请求。对预览图像依次进行倍率处理,再将预览图像显示在拍摄预览界面中,即关于每一帧预览图像,在其之前采集的所有预览图像均被显示之后,才会显示该预览图像。因此,电子设备在第一时刻响应变焦指令采集到第一帧预览图像时,还存在第一时刻之前采集的、未被显示的预览图像,可以对该预览图像进行倍率处理,得到过渡动画的部分过渡帧。
在上述第一方面的一些可实现方式中,确定在第一时刻响应变焦指令的第一帧预览图像包括:对第一时刻之后采集的预览图像进行倍率识别;将第一时刻之后采集的预览图像中,对应的倍率大于或小于第一倍率的至少一帧预览图像中,对应的倍率等于第一个过渡倍率的预览图像确定为第一帧预览图像。
可以理解,电子设备响应变焦指令后,采集的预览图像对应的倍率大于或小于第一倍率,即为倍率过渡顺序中的过渡倍率,其中,对应的倍率等于倍率过渡顺序中的第一个过渡倍率的预览图像,就是变焦响应过程中采集的第一帧预览图像。电子设备可以对第一时刻后采集的预览图像进行倍率识别,识别出该第一帧预览图像。
在上述第一方面的一些可实现方式中,电子设备包括第一摄像头和第二摄像头,方法还包括:当检测到拍摄场景发生变化时,在第一摄像头开启的同时,开启第二摄像头;使用第一摄像头和第二摄像头采集的图像数据,确定预备扭曲信息,预备扭曲信息用于对图像数据进行倍率处理。
可以理解,在用户开启相机应用后,电子设备会开启第一摄像头,即本申请实施例提及的当前摄像头。当检测到拍摄场景发生变化时,电子设备会在第一摄像头开启的同时,开启第二摄像头,即本申请实施例提及的目标摄像头,使用第一摄像头和第二摄像头采集的图像数据,计算预备扭曲信息,可以在变焦响应过程中使用该预备扭曲信息对图像数据进行倍率处理。
可以理解,拍摄场景即成像环境,可以包括对焦距离、亮度等,拍摄场景发生变化可以是对焦距离由近距离对焦变化为远距离对焦,也可以是从亮度比较暗的环境变化为亮度比较亮的环境。
在上述第一方面的一些可实现方式中,多个第一过渡帧图像由以下方式确定:基于前序部分的过渡倍率和预备扭曲信息,对第一时刻之前采集的至少一帧预览图像进行倍率处理,得到多个第一过渡帧图像。
可以理解,在变焦响应过程中,对预览图像进行处理时需要同时使用第一摄像头采集的图像数据和第二摄像头采集的图像数据。由于第一时刻之前采集的至少一帧预览图像数据中,只包括第一摄像头采集的图像数据,因此在倍率处理时,需要使用场景检测时计算的预备扭曲信息,可以保证过渡帧图像的空间对齐效果。
在上述第一方面的一些可实现方式中,前序部分的过渡倍率由以下方式确定:根据第一时刻前采集的至少一帧预览图像的帧数,确定前序部分的过渡倍率数量。
可以理解,对第一时刻前采集的至少一帧预览图像进行倍率处理时,需要按照倍率过渡顺序进行处理,因此需要保证前序部分的过渡倍率数量与第一时刻前采集的至少一帧预览图像的帧数相等。由于不同实现方式中该第一时刻前采集的至少一帧预览图像的帧数可能不同,对应的,前序部分的过渡倍率数量可能不同,因此需要根据第一时刻前采集的至少一帧预览图像的帧数来确定前序部分的过渡倍率数量。
在上述第一方面的一些可实现方式中,前序部分的过渡倍率数量与第一时刻前采集的至少一帧预览图像的帧数相等,基于前序部分的过渡倍率和预备扭曲信息,对第一时刻之前采集的至少一帧预览图像进行倍率处理,得到多个第一过渡帧图像包括:针对前序部分中各倍率,基于预备扭曲信息,对第一时刻之前采集的至少一帧预览图像中与前序部分中各过渡倍率对应的预览图像进行倍率处理,得到前序部分中各过渡倍率对应的第一过渡帧图像;基于前序部分中各过渡倍率对应的第一过渡帧图像,得到多个第一过渡帧图像。
可以理解,为了保证过渡动画的连贯性,该多个第一过渡帧图像按照倍率过渡顺序依次显示。
在上述第一方面的一些可实现方式中,多个第二过渡帧图像由以下方式确定:基于后序部分的过渡倍率,对第一时刻之后采集的至少一帧预览图像进行倍率处理,得到多个第二过渡帧图像。
可以理解,对第一时刻之后采集的至少一帧预览图像进行倍率处理时,需要按照倍率过渡顺序进行处理,因此需要保证第一时刻之后采集的至少一帧预览图像的帧数与后序部分的过渡倍率的数量相等。后序部分的过渡倍率数量可以根据前序部分的过渡倍率的数量确定,因此可以基于后序部分的过渡倍率的数量确定第一时刻之后采集的至少一帧预览图像的帧数,保证二者数量相等。
在上述第一方面的一些可实现方式中,第一时刻之后采集的至少一帧预览图像的帧数与后序部分的过渡倍率数量相等,基于后序部分的过渡倍率,对第一时刻之后采集的至少一帧预览图像进行倍率处理,得到个第二过渡帧图像,包括:针对后序部分中各过渡倍率,对第一时刻之后采集的至少一帧预览图像中与后序部分中各过渡倍率对应的预览图像进行倍率处理,得到后序部分中各过渡倍率对应的第二过渡帧图像;基于后序部分中各过渡倍率对应的第二过渡帧图像,得到多个第二过渡帧图像。
可以理解,为了保证过渡动画的连贯性,该多个第二过渡帧图像按照倍率过渡顺序依次显示。
在上述第一方面的一些可实现方式中,电子设备包括第一摄像头和第二摄像头,方法还包括:第一时刻之后采集的至少一帧预览图像中的最后一帧预览图像采集完成后,电子设备切换到第二摄像头,关闭第一摄像头。
可以理解,第一时刻之后采集的至少一帧预览图像中的最后一帧预览图像采集完成后,即变焦响应完成。由于电子设备从第一摄像头切换到第二摄像头时,需要提前开启第二摄像头,使第二摄像头完成缓冲或启流,保证平滑切换,本申请实施例中,变焦响应过程中,第二摄像头可以完成缓冲,变焦响应完成后电子设备切换到第二摄像头,可以实现平滑切换,并且也避免了始终开启多个摄像头导致的系统功耗高的问题。
第二方面,本申请实施例提供了一种电子设备,电子设备包括:一个或多个处理器,一个或多个存储器,一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行第一方面中任一种可实现方式的拍摄方法。
第三方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面中任一种可实现方式的拍摄方法。
附图说明
图1所示为本申请实施例提供的一种手机10的拍摄界面示意图;
图2所示为本申请实施例提供的一种电子设备的硬件结构示意图;
图3所示为本申请实施例提供的一种电子设备的软件结构示意图;
图4所示为本申请实施例提供的一种拍摄方法涉及的模块交互示意图;
图5A所示为本申请实施例提供的另一种拍摄方法涉及的模块交互示意图;
图5B所示为本申请实施例提供的一种预览图像帧显示顺序示意图;
图6所示为本申请实施例提供的基于倍率过渡顺序处理得到过渡帧的示意图;
图7所示为本申请实施例提供的一种拍摄方法的流程图;
图8所示为本申请实施例提供的一种拍摄预览界面显示的图像帧帧号及其对应倍率的示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
还需声明的是,本申请实施例中对方法、流程中的步骤进行编号是为了便于引用,而不是限定先后顺序,各步骤之间如有先后顺序,当以文字说明为准。
上述电子设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)或专门的照相机(例如单反相机、卡片式相机)等,本申请对上述电子设备的具体类型不作任何限制。
如前所述,用户在使用手机等带有摄像头的电子设备拍摄时,可以通过变焦指令切换倍率,调整拍摄预览界面的FOV,拍摄距离不同的景物或拍摄目标的细节。其中,变焦指令可以包括手动变焦操作和语音变焦指令,手动变焦操作可以是点击变焦控件、按下变焦按钮等操作。可以理解,手机等电子设备通常设置有一个主摄像头(简称主摄)和多个副摄像头(简称副摄),其中,主摄和副摄的焦段可以不同,例如,副摄可以包括长焦摄像头、超广角摄像头,不同倍率下可以利用不同的摄像头进行成像,实现拍摄预览界面的FOV的调整。
应理解,电子设备可以采用光学变焦、数码变焦、混合变焦等技术实现变焦。其中,光学变焦可以通过切换摄像头来实现,例如在手机中由主摄切换到长焦摄像头可以实现倍率的增大,由主摄切换到超广角摄像头可以实现倍率的减小,从而实现放大或缩小拍摄预览界面的FOV,并且得到的图像质量比较高。而数码变焦是通过对获取到的全尺寸图像进行裁切和扭曲(warp)操作,放大或缩小画面中的像素点和/或在裁剪后的画面中插入像素值,以实现放大或缩小拍摄预览界面的FOV,得到的图像质量会有损失。混合变焦是将光学变焦和数码变焦结合,融合不同摄像头所采集到的信息,可以改善数码变焦的变焦效果。
下面以电子设备为手机10为例,首先介绍一些实施例中手机10的相机应用的界面。可以理解,相机应用可以是手机10中的系统相机应用,也可以是其他具有拍摄功能的应用,本申请对具体的应用不做限定。
如图1中的(a)所示,手机10的相机应用的拍摄界面101中可以包括拍摄预览界面011、变焦控件012、参数调节区域013、拍摄控件014、图库快捷控件015、摄像头翻转控件016、相机模式选择区域017。
其中,拍摄预览界面011用于显示预览图像,该预览图像可以是摄像头实时采集的与当前倍率对应的图像。变焦控件012用于显示用户可选择的倍率,用户可以通过变焦指令来调节手机当前的变焦倍率,使得拍摄预览界面011显示不同倍率对应的图像。参数调节区域013包括多个参数控件,用户通过点击参数控件进行拍摄参数调整,参数控件可以包括闪关灯设置控件、AI识别开关设置控件、色彩标准设置控件、以及更加详细的相机设置控件。图库快捷控件015可以显示照片缩略图,用户通过点击该控件可以直接进入图库查看历史拍摄图像。相机模式选择区域017可以显示一个或多个拍摄模式选项,包括但不限于:夜景模式选项、人像模式选项、拍照模式选项、录像模式选项、电影模式选项、专业选项模式和更多选项。
可以理解,拍摄界面101可以是相机应用的默认拍摄模式的用户界面,用户通过点击摄像头翻转控件016,可以使手机10在前置摄像头和后置摄像头之间切换。用户可以通过点击该界面中的拍摄控件014完成拍照或视频录制。拍摄界面101也可以是其他拍摄模式的用户界面,可以仅包含上述显示元素中的部分元素,也可以包含其他显示元素,各显示元素也可以显示在其他位置,本申请对此不做限定。
继续参照图1中的(a),拍摄预览界面011中显示的是1×倍率对应的图像012a,用户可以通过变焦操作A切换倍率,点击2.5×倍率,使得拍摄预览界面011中显示的预览图像由图像012a切换为图1中的(b)所示的2.5×倍率对应的图像012b。
可以理解,手机10响应用户的变焦指令切换倍率时,为了保证画面的连贯性,避免出现画面从1×倍率对应的图像直接切换为2.5×倍率对应的图像的情况,会生成一段过渡动画,该过渡动画由在1×到2.5×之间的多个倍率所对应的多个过渡帧组成,例如该过渡动画可以由8个过渡帧组成,8个过渡帧各自对应的倍率分别为1.4×、1.7×、1.9×、2.1×、2.2×、2.3×、2.4×、2.5×,并且,8个过渡帧按照倍率升序排列。从而手机10呈现给用户的画面效果为:1×倍率对应的画面逐渐变化到2.5×倍率对应的画面。
可以理解,由于手机10中各摄像头的焦距是固定的,当执行变焦指令后,例如倍率从1×切换为2.5×时,摄像头也对应从主摄切换到长焦摄像头。
应理解,当电子设备响应用户的变焦指令时,需要同时开启多个摄像头来实现多摄平滑切换、获取对应新倍率的预览图像帧。而同时开启多个摄像头会使得系统功耗增加。并且由于硬件处理延时和软件架构的设计,系统无法达到0ms的响应延时,从而无法实现变焦的快速响应。
在一些实施例中,电子设备只开启一个摄像头(例如主摄),实现固定倍率(例如1×)的拍摄。电子设备在检测到用户的变焦指令(例如点击2.5×倍率的变焦指令)时,基于上述倍率过渡顺序1.4×、1.7×、1.9×、2.1×、2.2×、2.3×、2.4×、2.5×开启目标摄像头(例如长焦摄像头)来采集得到每个倍率对应的过渡帧,然后,在预览界面中依次显示每个倍率对应的过渡帧,形成过渡动画,直至最终显示2.5×倍率的预览图像,完成倍率的切换。可以理解,从检测到用户的变焦指令,到最终显示2.5×倍率的预览图像的过程就是变焦的响应时间,由于要分别采集上述每个倍率对应的过渡帧才能形成过渡动画,导致响应时间较长,使得电子设备变焦的灵敏度较差,影响用户体验。
为解决上述问题,本申请实施例提供了一种拍摄方法,可在保证系统功耗较低的前提下,实现多摄平滑切换和变焦快速响应。在第一时刻检测到对拍摄应用的变焦指令时,获取当前倍率到目标倍率之间的倍率过渡顺序,例如,上述从当前倍率1×到目标倍率2.5×之间的1.4×、1.7×、1.9×、2.1×、2.2×、2.3×、2.4×、2.5×的倍率过渡顺序。识别出第一时刻之前采集到的预览图像中未被显示的至少一帧图像,根据该至少一帧图像的帧数,将倍率过渡顺序中对应数量的倍率值确定为前序部分倍率,将倍率过渡顺序中其余倍率值确定为后序部分倍率。使用前序部分倍率按顺序对该至少一帧图像进行倍率处理,得到与前序部分倍率对应的多个第一过渡帧图像,即第一过渡帧集合。然后,使用后序部分倍率按顺序对第一时刻之后采集到的至少一帧预览图像进行倍率处理,得到与后序部分倍率对应的多个第二过渡帧图像,即第二过渡帧集合。然后,在拍摄应用的拍摄预览界面中先后显示第一过渡帧集合和第二过渡帧集合,形成过渡动画。如此,电子设备可以基于检测到变焦指令之前获取的图像进行倍率处理得到部分过渡帧,从而可以减少过渡帧的采集数量,缩短变焦的响应时间,提高变焦的灵敏度。
为了便于理解本申请实施例中的方案,下面先介绍本申请实施例涉及到的电子设备。
参见图2,图2示出了本申请实施例提供的示例性的电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括环境光传感器(图中未示出)、触摸传感器180K等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),ISP,控制器,存储器,视频编解码器,数字信号处理器(digital signalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在电子设备100上的包括UWB,无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,WiFi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请的一些实施例中,显示屏194中显示有系统当前输出的界面内容。例如,界面内容为相机应用提供的界面,具体可参考图1及其相关描述。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是CCD或CMOS光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
在本申请的一些实施例中,电子设备100可以包括N个摄像头193,N为大于1的正整数。摄像头193的焦距越小,其视场角越大,取景范围就越大,可以拍摄到更多的景物。反之,摄像头193的焦距越大,其视场角越小,取景范围就越小,可以拍摄到更少但更远的景物或近距离景物的细节。电子设备100的N个摄像头193中,一个摄像头可以作为主摄,其余N-1个摄像头可以作为副摄,副摄可包括长焦摄像头、广角摄像头等,示例性的,主摄的倍率范围可以是1×到2.5×,长焦摄像头的倍率范围可以是2.5×到30×,广角摄像头的倍率范围可以是0.5×到1×。
DSP用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,DSP用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。
电子设备100可以通过音频模块170以及应用处理器等实现音频功能。例如音乐播放,录音等。
环境光传感器用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器也可用于拍照时自动调节白平衡。环境光传感器还可以与接近光传感器配合,检测电子设备100是否在口袋里,以防误触。
在本申请的一些实施例中,环境光传感器还可以用于获取当前拍摄环境的环境光参数,进而可以判断拍摄场景是否发生变化。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
在本申请的一些实施例中,触摸传感器180K可以检测到用户点击变焦控件的操作,生成触控报点事件,发送至相机应用。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。
图3为本申请实施例提供的示例性的电子设备100的软件结构。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,硬件抽象层(hardware abstraction layer,HAL),以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括相机应用、图库、具有相机功能的应用等应用程序。应用程序包还可以包括通话、日历、地图、导航、音乐、视频、短信等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括相机服务,该相机服务可供相机应用调用,从而实现与拍摄相关的功能。除此之外,应用程序框架层还可以包括窗口管理器、内容提供器、视图系统、电话管理器、资源管理器、通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
需要指出的是,相机应用也可以依据实际的业务需求,调用内容提供器、资源管理器、通知管理器、窗口管理器、视图系统等,本申请对此不作限制。
内核层是硬件和软件之间的层。内核层至少包含相机驱动。该相机驱动可用于驱动具备拍摄功能的硬件模块,如相机传感器(Camera sensor),即上述相机驱动需负责与相机传感器进行数据交互。内核层也还可以包括显示驱动、音频驱动、传感器驱动等,本申请实施例对此不做任何限制。
HAL层可以对内核层中的驱动程序进行封装,并向应用程序框架层提供调用的接口,屏蔽低层硬件的实现细节。如图3所示,HAL层可以包括相机HAL、多摄决策模块等。其中,相机HAL是Camera核心软件框架,该相机HAL中包括接口模块、传感器节点(Sensor node)和图像处理模块等。图像处理模块可以包括图像信号处理前端(image singnal processingfront end,IFE)模块、空间对齐变换(spatial alignment transform,SAT)模块、图像信号处理后端(image singnal processing post end,IPE)模块。
上述Sensor node、图像处理模块和接口模块是相机HAL中图像数据和控制指令传输管道中的组件。Sensor node可以是面向相机传感器的控制节点,该Sensor node可以通过相机驱动控制相机传感器。接口模块可以是面向应用框架层的软件接口,用于与应用框架层进行数据交互,接口模块还可以与HAL中的其他模块(如多摄决策模块、图像处理模块、Sensor node)进行数据交互。图像处理模块可以处理相机传感器回传的原始图像数据。其中,IFE模块用于处理相机传感器采集的预览图像帧进行初步裁切处理,预留出图像边缘(margin);SAT模块用于根据变焦倍率以及SAT算法对图像数据进行空间对齐,确定出裁切数据以及扭曲数据,以使预览图像更加平滑,减少违和感;IPE模块用于根据SAT模块的计算结果对预览图像帧数据进行裁切及扭曲处理。
多摄决策模块,可以根据应用场景确定出图的相机传感器,如前置摄像头的相机传感器或后置摄像头的相机传感器,又如后置摄像头中的当前摄像头的相机传感器、广角摄像头的相机传感器、长焦摄像头的相机传感器。其中,相机应用可以将用户选择的相机模式、变焦参数等信息,传递给应用框架层的相机服务,再由相机服务通过HAL层的接口模块传递给多摄决策模块。
本申请实施例中,多摄决策模块还可以根据用户的变焦指令,选择待切换的目标摄像头,并通过相机驱动开启目标摄像头的相机传感器。此外,多摄决策模块还可以进行变焦识别和场景检测,其中,变焦识别即对获取的预览图像帧进行识别,判断哪些预览图像帧是在用户点击变焦控件之后获取的;场景检测即对当前拍摄场景进行检测,判断拍摄场景是否发生变化,比如对焦距离、亮度是否发生变化。对于变焦识别的相关描述将在下文进行详细说明,此处暂不赘述。
可以理解,图3示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
另外,可以理解,电子设备为了实现本申请实施例中的拍摄方法,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图4示例性的示出了一种拍摄方法涉及的模块交互流程。在相机应用的预览场景下,参照图4,当用户切换倍率时,手机的触控模块检测到用户对相机应用的变焦指令生成触控报点事件发送给相机应用,相机应用接收到触控报点事件后,将与触控报点事件对应的报点坐标数据转换为倍率值,发送给应用程序框架层中的相机服务。相机服务将该倍率值写入预览图像帧请求中并下发至HAL层中的相机HAL。其中,在相机应用的预览场景中,相机服务会持续向相机HAL发送预览图像帧请求。相机HAL通过相机驱动控制相机传感器采集预览图像帧请求对应的原始图像数据,并将该原始图像数据进行倍率处理,得到该预览图像帧请求中的倍率值对应的预览图像帧,将该预览图像帧经相机服务返回至相机应用进行用户界面(user interface,UI)显示。
下述以相机服务将该倍率值写入第N个预览图像帧请求(简称预览图像帧请求N)中,并下发至相机HAL为例进行说明。在相机HAL中,每个预览图像帧请求要先后经过Sensornode和图像处理模块的倍率处理,即先后经过Sensor node、IFE模块、SAT模块、IPE模块的处理。如图4所示,预览图像帧请求N被发送至Sensor node后,Sensor node根据预览图像帧请求N通过相机驱动控制相机传感器进行曝光出图操作,也可理解为图像采集操作。在相机传感器完成曝光出图操作之后,将与预览图像帧请求N对应的原始图像数据(简称为预览图像帧N数据)通过相机驱动发送至IFE模块。IFE模块对预览图像帧N数据进行初步裁切处理,并将处理后的图像数据发送至SAT模块。其中,IFE模块可以根据预览图像帧请求N中的倍率值对预览图像帧N数据进行初步裁切处理,保留图像边缘区域,以便于SAT模块对图像进行空间对齐处理。SAT模块根据预览图像帧请求N中的倍率值以及相关SAT算法进行图像空间对齐处理,计算与该图像数据对应的裁切数据以及扭曲数据,并将计算结果以及该图像数据发送至IPE模块。IPE模块根据SAT的计算结果对该图像数据进行再次裁切操作以及图像扭曲操作,得到与预览图像帧请求N对应的预览图像帧(简称为预览图像帧N)。进而,预览图像帧N可以经由相机服务等应用程序框架层的处理,反馈回相机应用中进行UI显示。
因此,在电子设备响应用户的变焦指令切换倍率时,相机服务下发的携带相关倍率值的预览图像帧请求在相机HAL中的处理链路比较长,造成了响应时间比较长的问题。
另外,由于Android架构中相机系统在应用程序框架层与HAL层之间的轮转缓存(buffer)机制,当用户开启相机应用后,相机服务会连续下发多个(例如7个)预览图像帧请求至相机HAL,并在每次接收到相机HAL反馈的一个预览图像帧之后再向相机HAL发送一个预览图像帧请求。在相机HAL中,Sensor node会依次基于这多个预览图像帧请求,通过相机驱动控制相机传感器进行曝光出图操作。也就是说,关于任意一个预览图像帧请求,在其之前的所有预览图像帧请求均被Sensor node处理完成后,Sensor node才会针对这个预览图像帧请求控制相机传感器进行处理。
示例性的,以相机服务将基于用户变焦指令设置的倍率过渡顺序中的第一个倍率值(即倍率值1)写入预览图像帧请求12为例,预览图像帧请求12被相机服务下发至相机HAL中。如图5A所示,相机HAL中的接口模块接收到预览图像帧请求12之后,将预览图像帧请求12发送至Sensor node进行处理。假设与此同时Sensor node正在处理预览图像帧请求9以获取预览图像帧9原始数据,预览图像帧请求12需要依次等待Sensor node处理完预览图像帧请求9、10、11后才会被Sensor node处理以获取预览图像帧12原始数据。在如图5A所示的场景中,相机HAL中的接口模块接收到预览图像帧请求12时,Sensor node正在依次控制预览图像帧9-11的曝光,IFE模块正在处理预览图像帧8,SAT模块正在进行关于裁切预览图像帧7的计算,IPE模块正在完成预览图像帧6的裁切和扭曲处理,预览图像帧5被传输至应用程序框架层通过SurfaceFlinger(Android框架中显示系统的服务端部分)合成进行UI显示。
可以理解,参照图5B,在相机HAL中由于预览图像帧请求5-12是依次被处理的,故预览图像帧5-12也是依次被曝光、生产、送显的。在检测到用户的变焦指令,触发生成携带倍率的预览图像帧请求12时,UI显示的是预览图像帧5,与预览图像帧请求12对应的预览图像帧12要在预览图像帧5-11之后才可显示。其中,每个预览图像帧的处理链路是相同的,可以参照图4所示。由于上述排队曝光机制,导致在相机HAL中每个预览图像帧请求的链路处理时间都比较长。进而,当用户通过变焦指令以调整倍率时,与目标倍率对应的预览图像帧请求的处理延时也就会较长,使得电子设备变焦的灵敏度较差。
下面结合图5A和图6介绍本申请实施例提供的拍摄方法。
本申请实施例中,在第一时刻检测到对拍摄应用的指示切换倍率的变焦指令时,在当前摄像头处于开启状态的同时,开启目标摄像头(例如长焦摄像头),同时获取当前摄像头和目标摄像头对应的相机传感器采集的图像数据,并获取当前倍率到目标倍率之间的倍率过渡顺序。首先基于当前倍率到目标倍率之间的倍率过渡顺序,将倍率值依次写入预览图像帧请求中。识别出第一时刻之前,当前摄像头采集到的预览图像帧中未被显示的至少一帧图像,将该至少一帧图像作为待处理图像。根据待处理图像的帧数,将倍率过渡顺序中对应数量的倍率值确定为前序部分倍率,将倍率过渡顺序中其余倍率值确定为后序部分倍率。使用前序部分倍率按顺序对待处理图像数据进行倍率处理,得到与前序部分倍率对应的多个第一过渡帧图像,即第一过渡帧集合。并且使用后序部分倍率按顺序对第一时刻之后采集的至少一帧预览图像数据进行倍率处理,得到与后序部分倍率对应的多个第二过渡帧图像,即第二过渡帧集合,从而得到完整的过渡动画。
可以理解,当电子设备检测到用户切换倍率的变焦指令时,进入变焦过程中,获取的预览图像帧请求中会携带倍率值,如前所述,为了保证画面的连贯性,该倍率值不是用户点击的变焦控件对应的目标倍率值,而是与过渡帧对应的倍率值。并且,变焦过程中生成的过渡动画中,最后一帧过渡帧的倍率值等于目标倍率值。当不处于变焦过程中时,获取的预览图像帧请求中将不携带倍率值,对预览图像帧进行倍率处理时使用的倍率值可以是前一帧预览图像帧的倍率值,也可以是默认倍率值,该倍率值等于当前倍率值。
可以理解,由于排队曝光机制,图像处理模块中未被处理完成的预览图像帧也未被显示在拍摄预览界面中,可以被识别为待处理图像帧。
应理解,当预览图像帧请求中包括倍率值时,表示当前处于变焦过程中,当预览图像帧请求中不包括倍率值时,表示当前不处于变焦过程或者变焦已完成。
下面以电子设备检测到用户切换倍率的变焦指令后,相机HAL接收到预览图像帧请求12,UI显示的是预览图像帧5,过渡动画包括8帧过渡帧为例进行说明。
为方便描述,本申请将预览图像帧请求N对应的预览图像帧N称为预览图像帧N,与预览图像帧N对应的图像数据称为预览图像帧N数据。
如图5A所示,相机HAL接收到预览图像帧请求12后,已获取的当前摄像头拍摄的图像帧包括预览图像帧6-11,多摄决策模块针对预览图像帧请求12进行变焦识别,判断出预览图像帧请求12中包括倍率值1(例如,倍率值1可以是1.4×),确定预览图像帧请求12为设备检测到用户的变焦指令后生成的。并且,还可以识别出位于预览图像帧12之前的4帧预览图像(预览图像帧8-11),将该4帧预览图像中的第一帧即预览图像帧8作为第一待处理图像帧。然后,图像处理模块使用预览图像帧请求12中的倍率值1对预览图像帧8数据进行倍率处理,得到倍率值1对应的预览图像帧8,将预览图像帧8作为过渡动画的第一帧。其他示例中,也可以识别出预览图像帧12之前的3帧预览图像(预览图像帧9-11)或5帧预览图像(预览图像帧7-11),将该3帧预览图像中的第一帧即预览图像帧9或该5帧预览图像中的第一帧即预览图像帧7将作为第一待处理图像帧,本申请对此不作限定。
具体的,IFE模块可以根据倍率值1对预览图像帧请求8原始图像数据进行初步裁切处理,保留图像边缘区域,以便于SAT模块对图像进行空间对齐处理。SAT模块根据倍率值1以及相关SAT算法进行图像空间对齐处理,计算与该图像数据对应的裁切数据以及扭曲数据,并将计算结果以及该图像数据发送至IPE模块。IPE模块根据SAT的计算结果对与该图像数据进行再次裁切操作以及图像扭曲操作,得到与倍率值1对应的预览图像帧8。
如图6所示,倍率过渡顺序中前序部分包括倍率值1、倍率值2、倍率值3和倍率值4,分别携带在预览图像帧请求12、预览图像帧请求13、预览图像帧请求14和预览图像帧请求15中,并且基于预览图像帧请求12-15识别得到的各预览图像帧12-15对应的待处理图像帧分别为预览图像帧8、预览图像帧9、预览图像帧10和预览图像帧11。图像处理模块分别使用倍率值1-4按顺序对预览图像帧8-11数据进行倍率处理,得到与前序部分各倍率值对应的过渡帧。
可以理解,需要保证图像显示的连续性,不能出现图像帧覆盖的情况。如图6所示,需要依据预览图像帧请求12对应的倍率值1对预览图像帧8进行倍率处理,依据预览图像帧请求13对应的倍率值2对预览图像帧9进行倍率处理,依据预览图像帧请求14对应的倍率值3对预览图像帧10进行倍率处理,依据预览图像帧请求15对应的倍率值4对预览图像帧11进行倍率处理。
应理解,该方法中识别出的第一待处理图像帧的位置决定了电子设备对用户变焦指令的响应时间缩短的时间长短,该位置越靠前,则响应时间越短,本申请对第一待处理图像帧位置以及待处理图像帧的数量不做限定,只需要保证获取到第一原始过渡帧对应的预览图像帧请求时,第一待处理图像帧还没有被显示。
参照图6,倍率过渡顺序中后序部分包括倍率值5、倍率值6、倍率值7和倍率值8,分别携带在预览图像帧请求16、预览图像帧请求17、预览图像帧请求18和预览图像帧请求19中,而预览图像帧12-20数据均包括开启目标摄像头后,当前摄像头和目标摄像头对应的相机传感器采集的图像。如前所述,本申请实施例使用倍率过渡顺序中后序部分对应的倍率值5对预览图像帧12数据进行倍率处理,使用倍率值6对预览图像帧13数据进行倍率处理,使用倍率值7对预览图像帧14数据进行倍率处理,使用倍率值8对预览图像帧15数据进行倍率处理,得到与后序部分各倍率值对应的过渡帧,从而得到完整的过渡动画。过渡动画生成之后,当前倍率值切换为目标倍率值,对预览图像帧16数据进行倍率处理时,使用的是倍率值8或默认倍率值(与目标倍率值相等)。
可以理解,过渡动画包含的过渡帧的数量和各过渡帧对应的倍率可以由实际应用中当前倍率与目标倍率的间隔决定,例如该间隔较大时,过渡帧的数量较多,各过渡帧对应的倍率间隔较小;该间隔较小时,过渡帧的数量较少,各过渡帧对应的倍率间隔较大。过渡动画包含的过渡帧对应的倍率间隔可以为等间隔,也可以根据预览图像帧变化效果确定其倍率间隔。本申请对此均不做限定。
本申请实施例中,SAT模块处理待处理图像帧时,需要根据倍率过渡顺序中前序部分倍率以及SAT算法进行空间对齐处理,计算扭曲信息,由于处于变焦过程中,该计算需要同时使用当前摄像头对应的相机传感器获取的图像帧数据和目标摄像头对应的相机传感器获取的图像帧数据。由于电子设备在检测到用户的变焦指令时,才会开启目标摄像头,在此之前获取的预览图像帧请求对应的预览图像帧数据即待处理图像帧数据中只包含当前摄像头对应的相机传感器采集的数据,因此,SAT模块处理待处理图像帧时,可能无法计算好扭曲信息,导致拍摄预览界面中显示的预览图像的SAT效果可能会变差。
可以理解,在处于变焦过程中时,SAT模块根据倍率值以及SAT算法进行空间对齐处理,计算图像帧的扭曲信息时,需要使用当前摄像头获取的图像帧数据作为主要数据,使用目标摄像头获取的图像帧数据来补充细节,才能保证最终的SAT效果。
示例性的,如图5A和图6所示,电子设备检测到用户的变焦指令时,UI界面中显示的是预览图像帧5,获取的预览图像帧请求为预览图像帧请求12。识别得到的待处理图像帧为预览图像帧8-11,均只包含当前摄像头对应的相机传感器采集的数据,SAT模块对其进行处理时,无法获取目标摄像头对应的相机传感器采集到数据,从而无法计算好预览图像帧8-11对应的扭曲信息。
为了保证上述处理后预览图像的SAT效果,本申请实施例提供的方法还可以进行场景检测,在IPE模块处理时利用历史保存的预备扭曲信息。当多摄决策模块检测到当前场景发生变化时,临时开启目标摄像头,采集几帧预览图像发送给SAT模块计算扭曲信息,并将该扭曲信息作为预备扭曲信息,保存在SAT模块中,以备响应用户的下一次变焦指令时计算使用。当IFE模块对待处理图像帧进行处理之后,SAT模块可以将保存的预备扭曲信息发送至IPE模块,IPE模块可以使用该预备扭曲信息对各待处理图像帧进行处理,得到与前序部分各倍率值对应的过渡帧,从而可保证预览图像的SAT效果。
可以理解,若要使用预备扭曲信息进行计算,则需要保证本次响应变焦指令时当前摄像头已采集但未被显示的图像帧的拍摄场景与计算预备扭曲信息时拍摄的图像帧的拍摄场景一致,即当前已采集的预览图像帧与计算预备扭曲信息时采集的预览图像帧基本一致。因此,需要在多摄决策模块每次检测到拍摄场景发生变化时,在当前摄像头处于开启状态的同时临时开启目标摄像头,使用目标摄像头采集几帧图像帧来计算预备扭曲信息,保证计算预备扭曲信息时使用的预览图像帧数据中包括当前摄像头对应的相机传感器获取的图像帧数据和目标摄像头对应的相机传感器获取的图像帧数据。
具体的,拍摄场景即成像环境,可以包括对焦距离、亮度等,拍摄场景发生变化可以是对焦距离由近距离对焦变化为远距离对焦,也可以是从亮度比较暗的环境变化为亮度比较亮的环境。
示例性的,参照图6,IPE模块使用预备扭曲信息对预览图像帧8数据、预览图像帧9数据、预览图像帧10数据和预览图像帧11数据进行处理时,需要保证相机传感器采集预览图像帧8-11时的拍摄场景与计算预备扭曲信息时采集的图像帧的拍摄场景一致。
可以理解,本申请实施例提供的方法在变焦完成后,即携带倍率值的预览图像帧请求获取完毕后,再将出图的摄像头切换为目标摄像头,由于在切换摄像头之前目标摄像头已经开启并获取了多帧图像数据,因此可以实现多摄平滑切换。
应理解,实现多摄平滑切换需要提前开启目标摄像头,使目标摄像头完成缓冲或启流。
本申请实施例通过在检测到用户切换倍率的变焦指令时,获取当前倍率到目标焦段之间的倍率过渡顺序,进行变焦识别,使用倍率过渡顺序中前序部分各倍率对当前摄像头已采集但未被显示的图像帧进行倍率处理,得到前序部分各倍率对应的第一过渡帧集合。并且基于倍率过渡顺序中后序部分各倍率对检测到变焦指令后采集的图像进行倍率处理,得到后序部分各倍率对应的第二过渡帧集合,缩短了变焦响应时间。并且通过场景检测和历史信息利用,保证了前述处理后生成的过渡动画的SAT效果。并且,设备在检测到用户的变焦指令时开启目标摄像头,避免了一直开启多个摄像头导致系统功耗高的问题,在变焦完成后切换摄像头,也实现了多摄平滑切换。
下面结合图7介绍本申请实施例提供的一种拍摄方法。
图7为本申请实施例提供的一种拍摄方法的流程图。如图7所示,该方法包括以下步骤:
S101:响应变焦指令,获取倍率过渡顺序和预览图像帧请求。
本申请实施例中,电子设备检测到用户切换倍率的变焦指令后,在当前摄像头处于开启状态的同时开启目标摄像头。首先获取当前倍率与目标倍率之间的倍率过渡顺序,生成预览图像帧请求,按照倍率过渡顺序将倍率值依次写入预览图像帧请求中。
示例性的,当前倍率为1×,目标倍率为2.5×时,倍率过渡顺序可以是1.4×、1.7×、1.9×、2.1×、2.2×、2.3×、2.4×、2.5×,按照该顺序,将倍率值依次写入预览图像帧请求中。
可以理解,用户切换倍率的变焦指令可以是点击变焦控件或按下变焦按钮,也可以是指示切换倍率的语音指令,该操作取决于实际应用中焦距切换的方式,本申请对此不做限定。
可以理解,电子设备检测到用户的变焦指令时,获取的倍率过渡顺序中倍率值的数量与最终得到的过渡帧的数量相同。当变焦过程结束后,预览图像帧的倍率为目标倍率,摄像头切换为目标摄像头。
S102:进行变焦识别,确定待处理图像。
本申请实施例中,生成预览图像帧请求之后,对预览图像帧请求进行变焦识别。当判断出预览图像帧请求中包括倍率值时,确定此时处于变焦过程中,执行后续步骤;当判断出预览图像帧请求中不包括倍率值时,确定此时不处于变焦过程中或变焦过程已结束,无需执行后续步骤。并且,预览图像帧请求中包括倍率值时,可以识别出当前摄像头已采集的图像帧,将其中未被显示的图像帧确定为待处理图像。根据待处理图像的帧数,将倍率过渡顺序中对应数量的倍率值确定为前序部分倍率,将倍率过渡顺序中其余倍率值确定为后序部分倍率。
可以理解,在检测到用户的变焦指令时,设备中还存在当前摄像头已采集但未被显示的图像,可以将这些图像识别为待处理图像。
可以理解,电子设备中的多摄决策模块识别出预览图像帧请求中包括倍率值时,可以将该倍率值发送到图像处理模块,图像处理模块可以使用该倍率值对待处理图像数据进行倍率处理。电子设备中执行变焦识别的也可以是其他模块,本申请对此不做限定。
S103:进行场景检测。
本申请实施例中,每生成一个预览图像帧请求,都要进行场景检测。判断与该预览图像帧请求对应的预览图像帧的拍摄场景与前一预览图像帧的拍摄场景是否一致。当拍摄场景不一致时,临时开启目标摄像头,采集至少一帧图像计算预备扭曲信息。
可以理解,每次拍摄场景发生变化时,临时开启目标摄像头计算一次预备扭曲信息,在下次变焦过程中,可使用该预备扭曲信息进行预览图像帧的倍率处理,保证图像的SAT效果。
S104:使用倍率过渡顺序中前序部分倍率按顺序对待处理图像帧数据进行倍率处理。
本申请实施例中,使用倍率过渡顺序中前序部分各倍率值按顺序对步骤S102中确定的待处理图像帧进行倍率处理,倍率处理过程中可以使用预备扭曲信息以保证图像的SAT效果。倍率处理完成后,可以得到与前序部分各倍率对应的多个第一过渡帧,即第一过渡帧集合。
可以理解,由于处于变焦过程中,根据前序部分各倍率值以及SAT算法对待处理图像帧进行空间对齐处理,计算扭曲信息时,需要同时使用当前摄像头对应的相机传感器采集的图像帧数据和目标摄像头对应的相机传感器采集的图像帧数据,而待处理图像帧数据中仅包括当前摄像头对应的相机传感器采集的数据,因此可能无法计算好扭曲信息,影响SAT效果。因此,需要使用预备扭曲信息对待处理图像帧数据进行处理。
S105:使用倍率过渡顺序中后序部分倍率按顺序对开启目标摄像头后采集的图像帧数据进行倍率处理。
本申请实施例中,使用倍率过渡顺序中后序部分各倍率值按顺序对开启目标摄像头后采集的图像帧数据进行倍率处理,使后序部分各倍率生效于开启目标摄像头后采集的预览图像帧上,得到与后序部分各倍率对应的多个第二过渡帧,即第二过渡帧集合。因此,得到了完整的过渡动画。
示例性的,当倍率过渡顺序中后序部分包括4个倍率值时,只需要使用开启目标摄像头后采集的4帧预览图像帧数据进行处理,得到与这4个倍率值对应的4帧过渡帧。其中,这4帧预览图像帧数据中均同时包括当前摄像头对应的相机传感器采集的图像帧数据和目标摄像头对应的相机传感器采集的图像帧数据。
本申请实施例中,当过渡动画生成后,电子设备的出图摄像头由当前摄像头切换到目标摄像头,完成摄像头的切换。
可以理解,切换摄像头时,存在一段缓冲时间,无法立即完成摄像头的切换。本申请实施例响应用户的变焦指令的过程中,目标摄像头可以完成缓冲,因此在过渡动画生成后,可以平滑切换到目标摄像头。
示例性的,如图8所示,当前倍率为1×,目标倍率为2.5×时,倍率过渡顺序可以是1.4×、1.7×、1.9×、2.1×、2.2×、2.3×、2.4×、2.45×、2.5×。图8左侧部分为一些实施例中,电子设备检测到用户指示切换倍率的变焦指令后,拍摄预览界面中显示的图像帧帧号以及各图像帧对应的倍率,其中图像帧12-20为过渡动画中的过渡帧;图8右侧部分为本申请实施例中,电子设备检测到用户指示切换倍率的变焦指令后,拍摄预览界面中显示的图像帧帧号以及各图像帧对应的倍率,其中图像帧8-16为过渡动画中的过渡帧。
可以理解,在拍摄预览界面中,各图像帧是按帧号顺序依次显示的。如图8所示,一些实施例中,检测到用户指示切换倍率的变焦指令之后,拍摄预览界面中先显示与当前倍率对应的图像帧6-11,然后才显示过渡帧12-20,使得呈现给用户的画面效果为过一段时间后画面的倍率才开始变化,导致设备响应变焦的响应时间较长,灵敏度较差。本申请实施例中,检测到用户指示切换倍率的变焦指令之后,拍摄预览界面中先显示与当前倍率对应的图像帧6和图像帧7,再显示过渡帧8-16,由于仅显示2帧图像帧之后就开始显示过渡动画,缩短了变焦响应时间,提高了变焦响应的灵敏度。
在另一些实施例中,电子设备始终同时开启多个摄像头。在电子设备检测到用户指示切换倍率的变焦指令时,可以实现多摄平滑切换。并且,由于多个摄像头始终处于开启状态,电子设备可以使用户下发的最新倍率优先生效于该倍率对应的预览图像帧之前生成的预览图像帧数据上,从而缩短变焦倍率值的生效链路,使得电子设备可以实现对变焦快速响应。但是该实施例中,由于多个摄像头是始终开启的,系统的功耗会增加。
本申请实施例中,电子设备在检测到用户的变焦指令后开启目标摄像头,避免了始终开启多个摄像头导致系统功耗高的问题。当变焦响应完成后,即过渡动画生成后,切换到目标摄像头,也可以实现多摄平滑切换。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请实施例的公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。
Claims (13)
1.一种拍摄方法,其特征在于,应用于电子设备,所述方法包括:
第一时刻检测到对拍摄应用的变焦指令,所述变焦指令将拍摄倍率从第一倍率改变为第二倍率;
在所述拍摄应用的拍摄预览界面中,显示对应所述变焦指令的过渡动画,其中,所述过渡动画包括先后显示的第一过渡帧集合和第二过渡帧集合,并且
所述第一过渡帧集合包括:对第一时刻之前采集的至少一帧预览图像进行倍率处理得到的多个第一过渡帧图像,所述多个第一过渡帧图像的倍率对应倍率过渡顺序中前序部分的过渡倍率,并且
所述第二过渡帧集合包括:对第一时刻之后采集的至少一帧预览图像进行倍率处理得到的多个第二过渡帧图像,所述多个第二过渡帧图像的倍率对应倍率过渡顺序中后序部分的过渡倍率,并且
所述倍率过渡顺序包括所述第一倍率至所述第二倍率之间的多个过渡倍率;
显示对应所述第二倍率的预览图像。
2.根据权利要求1所述的方法,其特征在于,还包括:检测到所述变焦指令时,确定从所述第一倍率逐渐向所述第二倍率变化的多个过渡倍率,得到所述倍率过渡顺序。
3.根据权利要求2所述的方法,其特征在于,所述第一时刻之前采集的至少一帧预览图像由以下方式确定:
确定在所述第一时刻响应所述变焦指令的第一帧预览图像,所述第一帧预览图像对应的请求中携带所述倍率过渡顺序中的第一个过渡倍率;
将在所述第一帧预览图像之前采集的预览图像中,未被显示的至少一帧预览图像确定为所述第一时刻之前采集的至少一帧预览图像。
4.根据权利要求3所述的方法,其特征在于,所述确定在所述第一时刻响应所述变焦指令的第一帧预览图像包括:
对所述第一时刻之后采集的预览图像进行倍率识别;
将所述第一时刻之后采集的预览图像中,对应的倍率大于或小于所述第一倍率的至少一帧预览图像中,所述对应的倍率等于所述第一个过渡倍率的预览图像确定为所述第一帧预览图像。
5.根据权利要求1所述的方法,其特征在于,所述电子设备包括第一摄像头和第二摄像头,所述方法还包括:
当检测到拍摄场景发生变化时,在所述第一摄像头开启的同时,开启所述第二摄像头;
使用所述第一摄像头和所述第二摄像头采集的图像数据,确定预备扭曲信息,所述预备扭曲信息用于对图像数据进行倍率处理。
6.根据权利要求5所述的方法,其特征在于,所述多个第一过渡帧图像由以下方式确定:
基于所述前序部分的过渡倍率和所述预备扭曲信息,对所述第一时刻之前采集的至少一帧预览图像进行倍率处理,得到所述多个第一过渡帧图像。
7.根据权利要求6所述的方法,其特征在于,所述前序部分的过渡倍率由以下方式确定:
根据所述第一时刻前采集的至少一帧预览图像的帧数,确定所述前序部分的过渡倍率数量。
8.根据权利要求7所述的方法,其特征在于,所述前序部分的过渡倍率数量与所述第一时刻前采集的至少一帧预览图像的帧数相等,
所述基于所述前序部分的过渡倍率和所述预备扭曲信息,对所述第一时刻之前采集的至少一帧预览图像进行倍率处理,得到所述多个第一过渡帧图像包括:
针对所述前序部分中各倍率,基于所述预备扭曲信息,对所述第一时刻之前采集的至少一帧预览图像中与所述前序部分中各过渡倍率对应的预览图像进行倍率处理,得到所述前序部分中各过渡倍率对应的第一过渡帧图像;
基于所述前序部分中各过渡倍率对应的第一过渡帧图像,得到所述多个第一过渡帧图像。
9.根据权利要求1所述的方法,其特征在于,所述多个第二过渡帧图像由以下方式确定:
基于所述后序部分的过渡倍率,对所述第一时刻之后采集的至少一帧预览图像进行倍率处理,得到所述多个第二过渡帧图像。
10.根据权利要求9所述的方法,其特征在于,所述第一时刻之后采集的至少一帧预览图像的帧数与所述后序部分的过渡倍率数量相等,
所述基于所述后序部分的过渡倍率,对所述第一时刻之后采集的至少一帧预览图像进行倍率处理,得到所述多个第二过渡帧图像,包括:
针对所述后序部分中各过渡倍率,对所述第一时刻之后采集的至少一帧预览图像中与所述后序部分中各过渡倍率对应的预览图像进行倍率处理,得到所述后序部分中各过渡倍率对应的第二过渡帧图像;
基于所述后序部分中各过渡倍率对应的第二过渡帧图像,得到所述多个第二过渡帧图像。
11.根据权利要求9所述的方法,其特征在于,所述电子设备包括第一摄像头和第二摄像头,所述方法还包括:
所述第一时刻之后采集的至少一帧预览图像中的最后一帧预览图像采集完成后,所述电子设备切换到所述第二摄像头,关闭所述第一摄像头。
12.一种电子设备,其特征在于,包括:一个或多个处理器,一个或多个存储器,所述一个或多个存储器存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1至11中任一项所述的拍摄方法。
13.一种可读存储介质,其特征在于,所述可读存储介质上存储有指令,该指令在电子设备上执行时使电子设备执行如权利要求1至11中任一项所述的拍摄方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410037625.9A CN117560574B (zh) | 2024-01-10 | 2024-01-10 | 一种拍摄方法、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410037625.9A CN117560574B (zh) | 2024-01-10 | 2024-01-10 | 一种拍摄方法、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117560574A true CN117560574A (zh) | 2024-02-13 |
CN117560574B CN117560574B (zh) | 2024-06-18 |
Family
ID=89815062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410037625.9A Active CN117560574B (zh) | 2024-01-10 | 2024-01-10 | 一种拍摄方法、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117560574B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510618A (zh) * | 2019-01-30 | 2020-08-07 | 虹软科技股份有限公司 | 变焦方法及应用其的电子设备 |
CN113709355A (zh) * | 2020-05-21 | 2021-11-26 | 华为技术有限公司 | 滑动变焦的拍摄方法及电子设备 |
CN115706870A (zh) * | 2021-08-12 | 2023-02-17 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN116709021A (zh) * | 2023-02-13 | 2023-09-05 | 荣耀终端有限公司 | 变焦响应方法、电子设备及存储介质 |
CN116709016A (zh) * | 2022-02-24 | 2023-09-05 | 荣耀终端有限公司 | 倍率切换方法和倍率切换装置 |
-
2024
- 2024-01-10 CN CN202410037625.9A patent/CN117560574B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510618A (zh) * | 2019-01-30 | 2020-08-07 | 虹软科技股份有限公司 | 变焦方法及应用其的电子设备 |
CN113709355A (zh) * | 2020-05-21 | 2021-11-26 | 华为技术有限公司 | 滑动变焦的拍摄方法及电子设备 |
CN115706870A (zh) * | 2021-08-12 | 2023-02-17 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN116709016A (zh) * | 2022-02-24 | 2023-09-05 | 荣耀终端有限公司 | 倍率切换方法和倍率切换装置 |
CN116709021A (zh) * | 2023-02-13 | 2023-09-05 | 荣耀终端有限公司 | 变焦响应方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117560574B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6834056B2 (ja) | 撮影モバイル端末 | |
CN114205522B (zh) | 一种长焦拍摄的方法及电子设备 | |
US11949978B2 (en) | Image content removal method and related apparatus | |
CN116709021B (zh) | 变焦响应方法、电子设备及存储介质 | |
CN109923850B (zh) | 一种图像捕捉装置及方法 | |
CN115689963B (zh) | 一种图像处理方法及电子设备 | |
CN113630558B (zh) | 一种摄像曝光方法及电子设备 | |
EP4376433A1 (en) | Camera switching method and electronic device | |
CN114531539B (zh) | 拍摄方法及电子设备 | |
EP4262226A1 (en) | Photographing method and related device | |
WO2023231697A1 (zh) | 一种拍摄方法及相关设备 | |
CN116048323B (zh) | 图像处理方法及电子设备 | |
CN117560574B (zh) | 一种拍摄方法、电子设备和可读存储介质 | |
CN117354624B (zh) | 摄像头切换方法、设备以及存储介质 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
CN116668836B (zh) | 拍照处理方法和电子设备 | |
CN117082295B (zh) | 图像流处理方法、设备及存储介质 | |
CN115460343B (zh) | 图像处理方法、设备及存储介质 | |
WO2024088074A1 (zh) | 拍摄月亮的方法和电子设备 | |
WO2023231696A1 (zh) | 一种拍摄方法及相关设备 | |
CN117395496A (zh) | 一种拍摄方法及相关设备 | |
CN117135451A (zh) | 对焦处理方法、电子设备及存储介质 | |
CN117956264A (zh) | 拍摄方法、电子设备、存储介质和程序产品 | |
CN117528229A (zh) | 一种分享方法、系统及相关装置 | |
CN111479075A (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 |