CN116828290A - 相机控制方法和装置、电子设备、可读存储介质 - Google Patents
相机控制方法和装置、电子设备、可读存储介质 Download PDFInfo
- Publication number
- CN116828290A CN116828290A CN202210271900.4A CN202210271900A CN116828290A CN 116828290 A CN116828290 A CN 116828290A CN 202210271900 A CN202210271900 A CN 202210271900A CN 116828290 A CN116828290 A CN 116828290A
- Authority
- CN
- China
- Prior art keywords
- requests
- processing time
- request
- camera
- continuous 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000009432 framing Methods 0.000 claims abstract description 79
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 137
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 42
- 238000004422 calculation algorithm Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Abstract
本公开是关于一种相机控制方法和装置、电子设备、可读存储介质。该方法包括:响应于表示连续拍摄的操作,根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;当确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。本实施例中通过调整快速连拍过程中每一次下发请求时拍照请求和取景请求的数量,使得取景请求的数量不少于拍照请求的数量,或者说在两个拍照请求中增加第二数量的取景请求,保证快速连拍过程中可以流畅地预览图像,有利于提升使用体验。
Description
技术领域
本公开涉及控制技术领域,尤其涉及一种相机控制方法和装置、电子设备、可读存储介质。
背景技术
随着个性表达需求的增加,越来越多的用户使用移动终端中相机不同的功能获取图像。以连续拍摄功能为例,用户可以通过长按相机界面的快门按键或者拖拽快门等方式触发,多张图像连续快速曝光成像,以满足用户的抓拍需求。
现有移动设备中取景器是通过连续刷新预览帧图像实现的,相机取景过程是传感器连续曝光,相机应用连续下发成像请求到相机的底层驱动,底层驱动以每秒返回30张预览图像(即30fps)送入相机应用连续显示,以实现取景效果。
实际应用中,随着相机的像素越来越高,拍照过程需要处理图像的尺寸也越来越大,导致成像过程越来越慢,使得连续拍摄过程取景器的流畅度面临着挑战。
发明内容
本公开提供一种相机控制方法和装置、电子设备、可读存储介质,以解决相关技术的不足。
根据本公开实施例的第一方面,提供一种相机控制方法,应用于电子设备,包括:
响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;
根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;
当确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。
可选地,获取所述电子设备中相机的连拍能力参数,包括:
获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
获取所述第一处理时间和所述第二处理时间的比值;
对所述比值进行向上取整操作得到目标比值,并将所述目标比值作为所述电子设备相机的连拍能力参数。
可选地,根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量,包括:
当所述连拍能力参数的取值为1时,确定所述第一数量为1且所述第二数量为0;
当所述连拍能力参数的取值为2时,确定所述第一数量为1且所述第二数量为1;
当所述连拍能力参数的取值为3时,确定所述第一数量为1且所述第二数量为2。
可选地,所述拍照请求按照等间隔排列。
可选地,根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量,包括:
获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
获取所述第一处理时间和所述第二处理时间的比值,并将所述比值作为所述电子设备相机的连拍能力参数。
可选地,所述拍照请求按照预设规则排列。
可选地,所述第一处理时间与所述电子设备中相机拍摄单张图像数据量和影像处理器处理能力相关;并且,所述第二处理时间与所述相机中传感器的曝光时间和预设帧率相关。
根据本公开实施例的第二方面,提供一种相机控制装置,应用于电子设备,包括:
参数获取模块,用于响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;
数量获取模块,用于根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;
请求下发模块,用于在确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。
可选地,所述参数获取模块包括:
第一时间获取单元,用于获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
第二时间获取单元,用于获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
比值获取单元,用于获取所述第一处理时间和所述第二处理时间的比值;
参数获取单元,用于对所述比值进行向上取整操作得到目标比值,并将所述目标比值作为所述电子设备相机的连拍能力参数。
可选地,所述数量获取模块包括:
第一确定单元,用于在所述连拍能力参数的取值为1时确定所述第一数量为1且所述第二数量为0;
第二确定单元,用于在所述连拍能力参数的取值为2时确定所述第一数量为1且所述第二数量为1;
第三确定单元,用于在所述连拍能力参数的取值为3时确定所述第一数量为1且所述第二数量为2。
可选地,所述数量获取模块包括:
第一时间获取单元,用于获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
第二时间获取单元,用于获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
参数获取单元,用于获取所述第一处理时间和所述第二处理时间的比值,并将所述比值作为所述电子设备相机的连拍能力参数。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如上述的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如上述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本公开实施例提供的方案中可以响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;然后,当确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。这样,本实施例中通过调整快速连拍过程中每一次下发请求时拍照请求和取景请求的数量,使得取景请求的数量不少于拍照请求的数量,或者说在两个拍照请求中增加第二数量的取景请求,保证快速连拍过程中可以流畅地预览图像,有利于提升使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种相机架构的框图。
图2是根据一示例性实施例示出的处理取景请求的流程示意图。
图3是根据一示例性实施例示出的一种各处理过程中算法的处理时长的示意图。
图4是根据一示例性实施例示出的一种连续拍摄过程中各请求处理过程的流程示意图。
图5是根据一示例性实施例示出的一种相机控制方法的流程图。
图6是根据一示例性实施例示出的一种获取相机的连拍能力参数的流程图。
图7是根据一示例性实施例示出的一种获取相机的连拍能力参数的流程图。
图8是根据一示例性实施例示出的一种连续拍摄过程中各请求处理过程的流程示意图。
图9是根据一示例性实施例示出的一种相机控制装置的框图。
图10是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置例子。需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
随着个性表达需求的增加,越来越多的用户使用移动终端中相机不同的功能获取图像。以连续拍摄功能为例,用户可以通过长按相机界面的快门按键或者拖拽快门等方式触发,多张图像连续快速曝光成像,以满足用户的抓拍需求。
现有移动设备中取景器是通过连续刷新预览帧图像实现的,相机取景过程是传感器连续曝光,相机应用连续下发成像请求到相机的底层驱动,底层驱动以每秒返回30张预览图像(即30fps)送入相机应用连续显示,以实现取景效果。
实际应用中,安卓操作系统中相机架构如图1所示。参见图1,该相机框架包括相机应用、相机服务和相机驱动。当前相机取景过程其实是连续刷新预览图像实现,相机应用下发一个请求到相机驱动,相机采集一帧图像后返回给相机应用,并由相机应用显示上述图像。
从相机应用下发请求到驱动返回预览图像的时间间隔需要控制在33ms内,才能保证电子设备按照30fps的频率预览显示。考虑到预览图像有曝光、裁剪、缩放、去马赛克、美颜等多种处理需求,相机应用下发请求到帧返回时间不可能控制在33ms内,相关技术中采用并行流水线处理方案,相机驱动允许同时下发多个请求,以流水线的形式处理各个请求,保证连续请求的返回间隔在33ms左右,以达到取景需求。
参见图2,相机取景过程包括:
1)相机启动之后,向相机服务中发送取景请求,通知相机服务需要连续取景。
2)相机服务收到取景请求后,连续往相机驱动中发送请求。
3)相机驱动收到请求后开始处理请求,并将请求处理的结果返回到相机应用中进行后处理(加滤镜/裁剪或者直接显示)。
在图2所示的并行处理的基础上,相机驱动中处理过程需要控制在6*33=200ms才能保证取景器的连续性。此场景下,各处理过程可以如图3所示,每个处理过程由6个算法组合成一条流水线。参见图3,每次处理过程中,针对同一帧图像,必须严格按照算法顺序从1到6处理,前一个算法处理完毕后,后一个算法才能处理,6种算法各处理一次才能获得一帧预览图像。
针对各个算法,每个算法同时只能处理1个请求。第1个请求时,处理1过程中,算法1处理图像,算法2~6闲置;当算法1处理完第1个请求后,算法1可以处理第2个请求,算法2开始处理第1个请求;算法3~6闲置;当算法1处理完第2个请求后可以处理第3个请求,算法2处理完第1个请求后可以处理第2个请求,算法3开始处理第1个请求。依次类推,这样处理1~处理6中每个处理过程可以处理一个请求。需要注意的是,图中“处理7”部分,请求下发之后,处理7处于等待状态,直到处理1处理完毕后,通知处理7继续执行,这是因为如果不加限制的话,相机驱动内会积累大量的请求,形成内存堆积。
继续参见图3,处理1过程,由于此时算法3闲置,算法2处理后马上算法3工作;而处理2过程,虽然算法2早就处理完了,需等待处理1中算法3处理完毕后才可继续处理2的算法3,同理,处理3的算法3等待时间更长。也就是说,算法3是整个处理的瓶颈,如果算法3的单帧处理时长超过33ms,则无法保证30fps的处理效率。
参见图4,相机响应于用户的连续拍摄功能的工作过程。在相机服务中设置请求时,每个请求同时设置一个拍照和取景的请求,并下发到相机驱动。相机驱动收到上述请求后,处理过程既处理拍照也处理取景,其中白色框表示取景请求处理过程,灰色框表示拍照请求处理过程,每个处理过程中,拍照请求和取景请求都完成后才能继续处理下一个请求。由于拍摄请求所获取图像的尺寸较大,如最拍照一张图像的处理时间为80ms,那拍照请求只能支持到1000/80=12.5fps。由于拍照请求和取景请求一起下发相机驱动,取景器也只能支持到12.5fps,导致在使用连续拍摄功能时,连续拍摄过程中会出现取景界面显示卡顿的问题,降低使用体验。
为解决上述技术问题,本公开实施例提供了一种相机控制方法,可以应用于电子设备。该电子设备可以包括但不限于智能手机、平板电脑、个人数据终端、个人计算机等具有连续拍摄功能的相机的设备。图5是根据一示例性实施例示出的一种相机控制方法的流程图。参见图5,一种相机控制方法,包括步骤51~步骤53。
在步骤51中,响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数。
本实施例中,电子设备的相机应用具有连续拍摄功能,该连续拍摄功能是指在操作过程中相机能够连续拍摄图像,直至停止操作或者达到设定时长(5~10秒)或者设定张数(如5、10或者20张)等等。例如该连续拍摄功能可以是定时连拍或者、快速连拍等功能。
本实施例中,当用户启动电子设备的相机应用(即相机APP)后,可以显示相机应用的预览界面。该预览界面内可以设置上述连续拍摄功能的按键。当上述按照被触发后表示启动该连续拍摄功能。当然,上述连续拍摄功能的按键可以是电子设备的物理按键,技术人员可以根据具体场景选择合适的虚拟按键或者物理按键,相应方案落入本公开的保护范围。
本实施例中,电子设备启动或者相机启动时,处理器可以启动相机服务和相机驱动(服务),相机驱动会读取并解析相机能力的描述文件,每个摄像头的能力集成一个相机能力集。相机驱动启动后会连接相机服务,并上报相机能力集给相机服务。相机服务中保留一份相机能力集的副本。
本实施例中,当相机应用启动时,该相机应用会打开对应的底层相机(即图中所示的相机实例),此时为底层相机会提供一个相机识别码(相机ID),此时相机服务中创建上述底层相机对应相机虚拟设备,并从相机能力集中查询到当前相机的能力。需要说明的是,上述相机ID用于表示相机应用需要何种需求,例如后置拍摄、前置拍摄、人像等等,以消除底层相机差异。底层相机接收到相机应用发送的相机识别码可以确定相机应用的需求,如人像模式拍摄。
本实施例中,处理器可以检测用户的触发操作,当检测到表示连续拍摄功能的按键被操作时可以响应于表示连续拍摄的操作,此时处理器可以获取电子设备相机的连拍能力参数。其中,该连拍能力参数是指为本公开实现相机控制方法所设置的参数,其获取方式如图6所示,包括步骤61~步骤64。
在步骤61中,处理器可以获取电子设备拍摄单张图像的处理时间,得到第一处理时间。例如,第一处理时间=ISP处理能力/单张图像数据量。处理器可以获取相机的ISP(Image Signal Processor,影像处理器)处理能力,该ISP处理能力可以通过查询相机中芯片手册获得得到并配置到相机的相机能力的描述文件之中,如ISP处理能力为200MBps,则表示ISP每秒可以处理200MB数据。并且,处理器可以获取单张图像数据量,该单张图像数据量由相机中传感器(sesor)决定。假设每张图像的分辨率为3000*4000,格式为raw10(一个点占用10bit),则单张图像的大小为3000*4000*(10/8)=15MB。那么第一处理时间=15/200=75ms。
在步骤62中,处理器可以获取所述电子设备单次取景图像的处理时间,得到第二处理时间。其中,第二处理时间可以预先设置,并受到环境亮度和传感器的进光量影响。通常情况下,第二处理时间对于的取景帧率为30fps,且随着环境亮度降低,会根据曝光值进行调整。例如,电子设备内可以存储一份根据传感器的特性而设置的曝光表,此时,处理器可以根据当前的曝光值从上述曝光表查询当前的曝光策略(含曝光时间)。相机驱动可以直接读取当前环境的曝光时间。假设环境亮度较暗,曝光值查询结果的曝光时间为1/20s,那么第二处理时间为50ms。又如环境亮度较高,处理器查询曝光表的结果会出现曝光时间低于1/30s的情况,即单次曝光时长少于33ms,此时按预设的30fps进行计算即曝光时间为33ms。
在步骤63中,处理器可以获取所述第一处理时间和所述第二处理时间的比值,即第一处理时间/第二处理时间,如75/33=2.27。
在步骤64中,处理器可以对所述比值进行向上取整操作得到目标比值,并将所述目标比值作为所述电子设备相机的连拍能力参数,即:
burstCnt=ceil(75/33)=3; (1)
式(1)中,burstCnt表示连拍能力参数,ceil()表示向上取整。
在另一示例中,处理器获取电子设备相机的连拍能力参数,参见图7,包括步骤71~步骤73。
在步骤71中,处理器可以获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间。本步骤获取第一处理时间的方式与步骤61中获取第一处理时间的方式相同,具体内容可以参见步骤61的内容,在此不再赘述。
在步骤72中,处理器可以获取所述电子设备单次取景图像的处理时间,得到第二处理时间。本步骤获取第二处理时间的方式与步骤62中获取第二处理时间的方式相同,具体内容可以参见步骤62的内容,在此不再赘述。
在步骤73中,处理器可以获取所述第一处理时间和所述第二处理时间的比值,并将上述比值作为所述电子设备相机的连拍能力参数。本步骤获取比值的方式与步骤63中获取比值的方式相同,具体内容可以参见步骤63的内容,在此不再赘述。
在步骤52中,根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求。
本实施例中,处理器可以根据上述连拍能力参数确定第一请求和第二请求的数量。其中第一请求包括拍照请求和取景请求,第二请求包括取景请求。可理解的是,拍照请求对应的图像需要存储到电子设备的相册之内,而取景请求对应的图像用于预览显示而无需保存,即拍照请求对应的图像尺寸会大于取景请求对应的图像。为方便描述,后续实施例中将第一请求的数量称之为第一数量,第二请求的数量称之为第二数量。
在一示例中,处理器可以根据所述连拍能力参数确定第一请求和第二请求的数量。例如,当所述连拍能力参数的取值为1时,确定所述第一数量为1且所述第二数量为0;当所述连拍能力参数的取值为2时,确定所述第一数量为1且所述第二数量为1;或者,当所述连拍能力参数的取值为3时,确定所述第一数量为1且所述第二数量为2。依此类推,即第一数量取值为1,而第二数量等于连拍能力参数的取值与1的差值。
需要说明的是,考虑到当前相机的分辨率为1亿像素,因此连拍能力参数的取值为3即可满足上述需求。考虑到未来相机的分辨率会继续增加,超过1亿像素,那么连拍能力参数的取值可能会随之增加,例如当分辨率为2亿像素时,那么连拍能力参数的取值可能会变为6。技术人员可以根据具体场景确定连拍能力参数的取值范围,相应方案落入本公开的保护范围。
在另一示例中,处理器根据连拍能力参数确定第一请求和第二请求的数量。处理器可以基于预设的比值和数量的映射关系,确定所述比值对应的第一请求的数量和所述第二请求的数量,得到第一数量和第二数量。电子设备内存储预设的比值和数量的映射关系。在获取比值后,处理器可以查询上述映射关系,获得该比值对应的第一请求的数量和第二请求的数量,即得到第一数量和第二数量。
考虑到上述比值的取值可以存在小数,可以针对不同的比值设置不同的第一数量和第二数量的组合。为减少比值和数量的映射关系中的数据量,上述比值的最小粒度可以为0.5,可以采用类似向上取整的方式,将比值向上取到0.5或者1.0,从而减少映射关系中的数据量。当然,上述比值还可以直接向上取整,可以进一步减少映射关系中的数据量。
需要说明的是,上述各示例中描述了获取第一请求和第二请求的方案,即本步骤中采用获取第一请求和第二请求的数量的方案,其目的在于突出第一请求中拍照请求和取景请求是一个对应的,有利于后续下发请求时减少数据处理量和处理时长。
实际应用中,处理器还可以单独计算拍照请求和取景请求的数量,即拍照请求的数量为第一数量,第二请求的数量为第一数量和第二数量之和。在又一示例中,处理器根据连拍能力参数确定第一请求和第二请求的数量,处理器可以基于预设的比值范围和数量的对应关系,确定所述比值对应的第一数量和第二数量。电子设备内存储有预设的比值范围和数量的对应关系,如表1所示。
表1比值范围和数量的对应关系
BurstCnt | preview | snapshot |
[0,1] | 1 | 1 |
(1,1.25] | 5 | 4 |
(1.25,1.5] | 3 | 2 |
(1.5,2] | 2 | 1 |
(2,2.5] | 5 | 2 |
(2.5,3] | 3 | 1 |
(3,4] | 4 | 1 |
其中,burstCnt表示第一处理周期和第二处理周期的比值,为float类型;preview表示取景请求的数量,即第一数量和第二数量之和;snapshot表示拍照请求的数量,即第一数量。
处理器可以对比上述比值与上述比值范围,确定上述比值所处的比值范围;并将上述比值范围对应的第一数量和第二数据作为上述比值对应的第一数量和第二数量。例如,当burstCnt等于3时,此时preview等于3且snapshot等于1,即连续拍照过程中每一次下发请求时均下发3个取景请求和1个拍照请求。
在步骤53中,当确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。
本实施例中,当确定每一次下发请求时,处理器可以下发第一数量的第一请求和第二数量的第二请求。考虑到第一请求和第二请求中的拍摄请求小于或者等于取景请求的数量,此时处理器先下发第一请求再下发第二请求,即先同步下发第一数量组拍摄请求和取景请求,再下发第二数量组取景请求。参见图8,以burstCnt=2为例,每一次下发请求时,第1次下发1个拍照请求和取景请求,第2次下发1个取景请求。即请求1、3、5和7同时做取景处理和拍照处理,请求2、4和6只做取景处理。可见,此时取景帧率依然是30fps,而拍照请求下发的帧率是15fps(每个周期下发2次取景请求和1次拍照请求),而当前底层能力是20fps(1000/50=20fps),因此保证拍照和取景过程都满足预设帧率(30fps)。以此类推,当拍照处理时长需要80ms时,需要设置burstCnt为3,取景帧率为30fps,连续拍摄功能的帧率为10fps。
至此,本公开实施例提供的方案中可以响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;然后,当确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。这样,本实施例中通过调整快速连拍过程中每一次下发请求时拍照请求和取景请求的数量,使得取景请求的数量不少于拍照请求的数量,或者说在两个拍照请求中增加第二数量的取景请求,保证快速连拍过程中可以流畅地预览图像,有利于提升使用体验。
下面结合一场景来描述本公开实施例提供的一种相机控制方法,包括:
(1)电子设备启动时其系统启动,系统的相机服务和相机驱动(服务)都会启动,相机驱动服务会读取并解析相机能力的描述文件,相机中每个摄像头的能力集合成一个相机能力集。
(2)相机驱动服务启动后会主动连接相机服务,并上报相机能力给相机服务。此时,相机服务可以获取到一份相机能力集,即保留一份相机能力集的副本。
(3)当用户打开相机应用时,相机应用会尝试打开对应的底层相机(即图中所示的相机实例),并为该底层相机提供一个相机ID。此时,指令下发到相机服务中,相机服务创建上述底层相机对应相机虚拟设备,该相机虚拟设备的标识即是上述相机ID;并从相机能力集中查询到当前相机的能力。
(4)针对连续拍摄时无法满足30fps的设备,本实施例中在相机能力描述中新增一个字段用于描述当前连拍能力即连拍能力参数burstCnt,计算式如下:
burstCnt=ceil(连拍单张照片处理时间/单次取景处理时间);
式中,burstCnt表示连拍能力参数,连拍单张照片处理时间即上述第一处理时间,单次取景处理时间即第二处理时间,ceil表示向上取整。
假设电子设备中显示预览图像的取景器(或者说预览区域)显示图像的帧率30fps,即33ms一帧预览图像;若连续拍摄时连拍能力为50ms一帧预览图像,则设置burstCnt=ceil(50/33)=2;并且该burstCnt在用户打开相机应用后保留在相机服务中。
(5)当用户长按快门触发连续拍摄功能(或者极速连拍功能),相机应用收到指令后会下发请求到相机服务中;相机服务收到上述请求后,去查询burstCnt。
如果burstCnt=1,可以确定相机的处理能力能满足30fps,则每次下发请求前生成一个拍照请求和一个取景请求,此时拍照请求和取景请求为一一映射的对应关系,或者说按相机现有逻辑执行极速连拍功能。
若burstCnt>1,可以确定相机的处理能力无法满足30fps,极速连拍会影响取景器。
(6)假设burstCnt为2,每次下发请求前,在相机服务中生成2个请求即1个请求包含拍照请求和取景请求,并且剩余的1个请求只包含取景请求。如果burstCnt为3,每次下发请求前,在相机服务中生成3个请求,即1个请求包含拍照请求和取景请求,并且剩余的2个请求只包含取景请求。依此类推。
(7)相机服务配置完毕后,依次下发相机驱动。参见图8,以burstCnt=2为例,每一次下发请求时,第1次下发1个拍照请求和取景请求,第2次下发1个取景请求。即请求1、3、5和7同时做取景处理和拍照处理,请求2、4和6只做取景处理。可见,此时取景帧率依然是30fps,而拍照请求下发的帧率是15fps(每个周期下发2次取景请求和1次拍照请求),而当前底层能力是20fps(1000/50=20fps),因此保证拍照和取景过程都满足预设帧率(30fps)。以此类推,当拍照处理时长需要80ms时,需要设置burstCnt为3,取景帧率为30fps,连续拍摄功能的帧率为10fps。这样,本实施例中通过在相邻两个拍照请求之间插入不等的取景请求,可以使取景帧率满足预览需求,同时达到满足拍照请求的效果,有利于提升用户的使用体验。
需要说明的是,图8中拍照请求是按照等间隔排列的,即相邻两个拍照请求之间间隔了1个取景请求。可理解的是,当拍照请求的数量为2个,取景请求的数量为3个时,那么会出现2个拍照请求(分别对应1个取景请求)+1个取景请求的排序,即2个拍照请求+1个取景请求+2个拍照请求的排序,此时拍照请求是按照预设规则排列的。本示例中通过对拍照请求和取景请求进行等间隔排列或者预设规则排列可以使在连续拍摄过程中使用户听到“啪”等提示声音,具有较好的交互体验。
在本公开实施例提供的一种相机控制方法的基础上,本公开实施例还提供了一种相机控制装置,应用于电子设备,参见图9,包括:
参数获取模块91,用于响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;
数量获取模块92,用于根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;
请求下发模块93,用于在确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。
在一实施例中,所述参数获取模块包括:
第一时间获取单元,用于获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
第二时间获取单元,用于获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
比值获取单元,用于获取所述第一处理时间和所述第二处理时间的比值;
参数获取单元,用于对所述比值进行向上取整操作得到目标比值,并将所述目标比值作为所述电子设备相机的连拍能力参数。
在一实施例中,所述数量获取模块包括:
第一确定单元,用于在所述连拍能力参数的取值为1时确定所述第一数量为1且所述第二数量为0;
第二确定单元,用于在所述连拍能力参数的取值为2时确定所述第一数量为1且所述第二数量为1;
第三确定单元,用于在所述连拍能力参数的取值为3时确定所述第一数量为1且所述第二数量为2。
在一实施例中,所述数量获取模块包括:
第一时间获取单元,用于获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
第二时间获取单元,用于获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
比值获取单元,用于获取所述第一处理时间和所述第二处理时间的比值;
参数获取单元,用于基于预设的比值和数量的映射关系,确定所述比值对应的第一请求的数量和所述第二请求的数量,得到第一数量和第二数量。
需要说明的是,本实施例中示出的装置与方法实施例的内容相匹配,可以参考上述方法实施例的内容,在此不再赘述。
图10是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备1000可以是智能手机,计算机,数字广播终端,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,电子设备1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(I/O)的接口1012,传感器组件1014,通信组件1016,图像采集组件1018。
处理组件1002通常控制电子设备1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行计算机程序。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。
存储器1004被配置为存储各种类型的数据以支持在电子设备1000的操作。这些数据的示例包括用于在电子设备1000上操作的任何应用程序或方法的计算机程序,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1006为电子设备1000的各种组件提供电力。电源组件1006可以包括电源管理系统,一个或多个电源,及其他与为电子设备1000生成、管理和分配电力相关联的组件。电源组件1006可以包括电源芯片,控制器可以电源芯片通信,从而控制电源芯片导通或者断开开关器件,使电池向主板电路供电或者不供电。
多媒体组件1008包括在电子设备1000和目标对象之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示屏(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自目标对象的输入信息。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
音频组件1010被配置为输出和/或输入音频文件信息。例如,音频组件1010包括一个麦克风(MIC),当电子设备1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频文件信息。所接收的音频文件信息可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频文件信息。
I/O接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。
传感器组件1014包括一个或多个传感器,用于为电子设备1000提供各个方面的状态评估。例如,传感器组件1014可以检测到电子设备1000的打开/关闭状态,组件的相对定位,例如组件为电子设备1000的显示屏和小键盘,传感器组件1014还可以检测电子设备1000或一个组件的位置改变,目标对象与电子设备1000接触的存在或不存在,电子设备1000方位或加速/减速和电子设备1000的温度变化。本示例中,传感器组件1014可以包括磁力传感器、陀螺仪和磁场传感器,其中磁场传感器包括以下至少一种:霍尔传感器、薄膜磁致电阻传感器、磁性液体加速度传感器。
通信组件1016被配置为便于电子设备1000和其他设备之间有线或无线方式的通信。电子设备1000可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G、5G,或它们的组合。在一个示例性实施例中,通信组件1016经由广播信道接收来自外部广播管理系统的广播信息或广播相关信息。在一个示例性实施例中,通信组件1016还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备1000可以被一个或多个应用专用集成电路(ASIC)、数字信息处理器(DSP)、数字信息处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器704,上述可执行的计算机程序可由处理器执行。其中,可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种相机控制方法,其特征在于,应用于电子设备,包括:
响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;
根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;
当确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。
2.根据权利要求1所述的方法,其特征在于,获取所述电子设备中相机的连拍能力参数,包括:
获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
获取所述第一处理时间和所述第二处理时间的比值;
对所述比值进行向上取整操作得到目标比值,并将所述目标比值作为所述电子设备相机的连拍能力参数。
3.根据权利要求1所述的方法,其特征在于,根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量,包括:
当所述连拍能力参数的取值为1时,确定所述第一数量为1且所述第二数量为0;
当所述连拍能力参数的取值为2时,确定所述第一数量为1且所述第二数量为1;
当所述连拍能力参数的取值为3时,确定所述第一数量为1且所述第二数量为2。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述拍照请求按照等间隔排列。
5.根据权利要求1所述的方法,其特征在于,根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量,包括:
获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
获取所述第一处理时间和所述第二处理时间的比值,并将所述比值作为所述电子设备相机的连拍能力参数。
6.根据权利要求5所述的方法,其特征在于,所述拍照请求按照预设规则排列。
7.根据权利要求2或5所述的方法,其特征在于,所述第一处理时间与所述电子设备中相机拍摄单张图像数据量和影像处理器处理能力相关;并且,所述第二处理时间与所述相机中传感器的曝光时间和预设帧率相关。
8.一种相机控制装置,其特征在于,应用于电子设备,包括:
参数获取模块,用于响应于表示连续拍摄的操作,获取所述电子设备中相机的连拍能力参数;
数量获取模块,用于根据所述连拍能力参数确定第一请求和第二请求的数量,得到第一数量和第二数量;所述第一请求包括拍照请求和取景请求,所述第二请求包括取景请求;
请求下发模块,用于在确定每一次下发请求时,依次下发所述第一数量的第一请求和所述第二数量的第二请求。
9.根据权利要求8所述的装置,其特征在于,所述参数获取模块包括:
第一时间获取单元,用于获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
第二时间获取单元,用于获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
比值获取单元,用于获取所述第一处理时间和所述第二处理时间的比值;
参数获取单元,用于对所述比值进行向上取整操作得到目标比值,并将所述目标比值作为所述电子设备相机的连拍能力参数。
10.根据权利要求8所述的装置,其特征在于,所述数量获取模块包括:
第一确定单元,用于在所述连拍能力参数的取值为1时确定所述第一数量为1且所述第二数量为0;
第二确定单元,用于在所述连拍能力参数的取值为2时确定所述第一数量为1且所述第二数量为1;
第三确定单元,用于在所述连拍能力参数的取值为3时确定所述第一数量为1且所述第二数量为2。
11.根据权利要求8所述的装置,其特征在于,所述数量获取模块包括:
第一时间获取单元,用于获取所述电子设备拍摄单张图像的处理时间,得到第一处理时间;
第二时间获取单元,用于获取所述电子设备单次取景图像的处理时间,得到第二处理时间;
参数获取单元,用于获取所述第一处理时间和所述第二处理时间的比值,并将所述比值作为所述电子设备相机的连拍能力参数。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如权利要求1~7任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210271900.4A CN116828290A (zh) | 2022-03-18 | 2022-03-18 | 相机控制方法和装置、电子设备、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210271900.4A CN116828290A (zh) | 2022-03-18 | 2022-03-18 | 相机控制方法和装置、电子设备、可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116828290A true CN116828290A (zh) | 2023-09-29 |
Family
ID=88139719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210271900.4A Pending CN116828290A (zh) | 2022-03-18 | 2022-03-18 | 相机控制方法和装置、电子设备、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116828290A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061861A (zh) * | 2023-10-11 | 2023-11-14 | 荣耀终端有限公司 | 一种拍摄方法、芯片系统和电子设备 |
-
2022
- 2022-03-18 CN CN202210271900.4A patent/CN116828290A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061861A (zh) * | 2023-10-11 | 2023-11-14 | 荣耀终端有限公司 | 一种拍摄方法、芯片系统和电子设备 |
CN117061861B (zh) * | 2023-10-11 | 2024-04-12 | 荣耀终端有限公司 | 一种拍摄方法、芯片系统和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108419016B (zh) | 拍摄方法、装置及终端 | |
CN111586282B (zh) | 拍摄方法、装置、终端及可读存储介质 | |
JP6205065B2 (ja) | 撮影方法、撮影装置、プログラム及び記憶媒体 | |
WO2022089284A1 (zh) | 拍摄处理方法、装置、电子设备和可读存储介质 | |
CN114727004A (zh) | 图像获取方法及装置、电子设备、存储介质 | |
CN116828290A (zh) | 相机控制方法和装置、电子设备、可读存储介质 | |
CN114500821B (zh) | 拍照方法及装置、终端及存储介质 | |
CN111614910B (zh) | 一种文件生成方法、装置、电子设备及存储介质 | |
CN111586280B (zh) | 拍摄方法、装置、终端及可读存储介质 | |
CN115002332A (zh) | 拍摄处理方法、装置、电子设备和存储介质 | |
CN108650412B (zh) | 一种显示方法、显示装置和计算机可读存储介质 | |
US11617023B2 (en) | Method for brightness enhancement of preview image, apparatus, and medium | |
US11252341B2 (en) | Method and device for shooting image, and storage medium | |
CN112087570B (zh) | 图像拍摄方法及装置、电子设备、可读存储介质 | |
CN111835977B (zh) | 图像传感器、图像生成方法及装置、电子设备、存储介质 | |
CN107707819B (zh) | 图像拍摄方法、装置及存储介质 | |
CN112087572B (zh) | 控制镜头变焦的方法及装置、电子设备、可读存储介质 | |
CN110874829A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
CN115733913A (zh) | 连续拍照方法及装置、存储介质 | |
CN116546314A (zh) | 功耗控制方法、装置、设备及介质 | |
CN114449211A (zh) | 拍摄方法及装置、电子设备、存储介质 | |
CN117395505A (zh) | 图像采集方法、装置、电子设备及存储介质 | |
CN116489498A (zh) | 图像预览方法、图像预览装置、电子设备及存储介质 | |
CN112099894A (zh) | 内容确定方法及装置 | |
CN116416323A (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 |