CN112689090B - 拍照方法和相关设备 - Google Patents
拍照方法和相关设备 Download PDFInfo
- Publication number
- CN112689090B CN112689090B CN202011530925.9A CN202011530925A CN112689090B CN 112689090 B CN112689090 B CN 112689090B CN 202011530925 A CN202011530925 A CN 202011530925A CN 112689090 B CN112689090 B CN 112689090B
- Authority
- CN
- China
- Prior art keywords
- photographing
- frame
- image
- caching
- 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.)
- Active
Links
Images
Landscapes
- Studio Devices (AREA)
Abstract
本发明涉及拍照技术领域,尤其涉及一种拍照方法和相关设备。该方法包括:检测到触发第一拍照模式的第一指令;响应于所述第一指令,确定缓存帧数P和第一缓存空间;所述缓存帧数P根据所述第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定,所述第一缓存空间的大小根据所述缓存帧数P确定;根据所述缓存帧数P,将来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间;响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像。本发明实施例方案,能够在确保低延时甚至零延时拍照精度的前提下,降低提前存储图像数据所需要的缓存空间。
Description
技术领域
本发明涉及拍照技术领域,尤其涉及一种拍照方法和相关设备。
背景技术
随着电子技术、半导体行业和集成电路领域的不断发展,电子设备支持的拍照功能越来越强大。在拍照功能强大的同时,对于拍照的有些基本需求是保持不变的,其中一项较为重要的就是零延时拍照技术。零延时拍照技术即没有延时、所见即所得的拍照技术。但在实际拍照场景中,从触发拍照动作到底层硬件检测到拍照指令并去抓取图像数据不可避免的存在延时。对于如何尽可能的降低延时,达到零延时拍照效果,目前普遍的解决方案是提前缓存可能要抓取的图像数据。当检测到拍照指令时,从已经缓存的图像中输出拍照图像,由此来降低拍照时延。
可见实现零延时拍照的基础是提前进行图像数据的缓存。但提前缓存图像数据,需要分配额外的缓存空间。延时的多少,决定了缓存图像的多少,从而也决定了缓存空间的大小。在电子设备硬件资源有限的情况下,如何在确保低延时甚至零延时拍照精度的前提下,合理分配缓存空间成了一个需要解决的问题。
发明内容
有鉴于此,本发明实施例提供了一种拍照方法和相关设备,能够在确保低延时甚至零延时拍照精度的前提下,降低提前存储图像数据所需要的缓存空间。
第一方面,本发明实施例提供了一种拍照方法,包括:检测到触发第一拍照模式的第一指令;响应于所述第一指令,确定缓存帧数P和第一缓存空间;所述缓存帧数P根据所述第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定,所述第一缓存空间的大小根据所述缓存帧数P确定;根据所述缓存帧数P,将来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间;响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像。
可选的,所述第一延时时间根据从发出拍照动作到检测到拍照指令的第一时间确定;或者,所述第一延时时间根据所述第一时间以及所述第一拍照模式允许的延时时间确定。
可选的,根据所述第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定缓存帧数P,包括:根据所述摄像头的拍摄帧率,计算所述所述第一延时时间内的图像帧数N;根据所述图像帧数N和所述跳帧帧数M,确定所述缓存帧数P。
可选的,根据所述图像帧数N和所述跳帧帧数M,确定所述缓存帧数P,包括:根据公式P=N/(M+1)确定所述缓存帧数P,其中,所述跳帧帧数M为每隔M帧缓存一帧图像。
可选的,所述第一缓存空间的大小根据所述摄像头拍摄的图像大小以及所述缓存帧数P确定。
可选的,根据所述缓存帧数P,将来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间,包括:对于来自所述摄像头的图像每隔M帧保存一帧至所述第一缓存空间;如果所述第一缓存空间已经缓存的图像帧数大于或者等于P,则将当前待缓存的图像覆盖缓存时间最早的图像。
可选的,响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像,包括:确定所述拍照指令或者触发所述拍照指令的拍照动作的第一时间戳;根据所述第一缓存空间已经缓存各图像的第二时间戳,将与所述第一时间戳时间差值最小的已缓存图像确定为拍照图像。
第二方面,本发明实施例提供了一种拍照装置,包括:检测模块,用于检测到触发第一拍照模式的第一指令;确定模块,用于响应于所述第一指令,确定缓存帧数P和第一缓存空间;所述缓存帧数P根据所述第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定,所述第一缓存空间的大小根据所述缓存帧数P确定;缓存模块,用于根据所述缓存帧数P,将来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间;图像输出模块,用于响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像。
第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面或者第一方面任一可能实施例的方法。
第四方面,本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述第一方面或者第一方面任一可能实施例的方法。
本发明实施例方案中,第一拍照模式可以是低延时甚至零延时拍照模式。在第一拍照模式下,为缓存图像分配第一缓存空间。第一缓存空间用于存储摄像头获取的每N帧图像中的P帧图像。第一缓存空间的大小与P帧图像的大小相适应,小于缓存N帧图像需要的缓存空间。而且,本发明实施例中的缓存帧数P是根据第一拍照模式的延时时间、摄像头的拍摄帧数和跳帧帧数M确定的,通过合理设置跳帧帧数M可以确保在第一拍照模式下的拍照精度。因此,通过本发明实施例方案,可以在确保低延时甚至零延时拍照精度稳定的前提下,降低提取缓存图像数据所需要的缓存空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种拍照系统的结构示意图;
图2是本发明实施例提供的一种拍照方法的流程图;
图3是本发明实施例提供的又一种拍照方法的流程图;
图4是本发明实施例提供的一种电拍照装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种拍照系统的结构示意图。如图1所示,该拍照系统包括:摄像头、处理模块和存储模块。其中,摄像头用于获取图像数据,并且将图像数据发送给处理模块。处理模块对来自于摄像头的图像数据进行处理,并将处理之后的图像数据缓存在存储模块。当处理模块接收到拍照指令之后,处理模块从存储模块缓存的图像数据获取并输出拍照图像。
图1所示拍照系统可以应用于手机、平板电脑、照相机、可穿戴设备、车载设备智能家居设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
基于图1所示拍照系统,考虑到电子设备硬件资源有限,在实现低延时甚至零延时拍照效果的前提下,为了合理分配缓存图像的缓存空间,本发明实施例提供了一种拍照方法。在该方法中,根据低延时甚至零延时拍照模式的延时时间、摄像头的拍摄帧率以及跳帧帧数M,确定缓存帧数P。从而可以缓存每N帧图像中的P帧图像,无需缓存摄像头获取的每帧图像,由此可以降低缓存图像需要的缓存空间。进一步,本方案在降低缓存图像需要的缓存空间的基础上,还可以确保低延时甚至零延时拍照模式要求的拍照精度。以下将结合附图对本发明实施例方法进行详细说明。
图2是本发明实施例提供的一种拍照方法的流程图。如图2所示,该方法的执行主体可以为图1所示拍照系统中的处理模块,该方法的处理步骤包括:
101,检测到触发第一拍照模式的第一指令。图1所示的拍照系统可以支持多种拍照模式。对于每种拍照模式,可以设置相应的触发方式。例如每种切换模式均对应有切换按钮,用户通过触发切换按钮可以切换拍照系统的拍照模式。当处理模块检测到触发第一拍照模式的切换动作之后,可以确定获取到第一指令,并且将拍照系统切换至第一拍照模式。
第一拍照模式可以是任意一种具有低延时甚至零延时要求的拍照模式。在一些实施例中,第一拍照模式可以是零延时拍照模式。在零延时拍照模式下,要求拍照系统输出给用户的拍照图像的采集时间与用户下发拍照动作时的时间差趋近于零。当然,对于其它可能的延时时间可以根据实际需要设置,例如设置为0.01秒等,此处不再一一列举。
102,响应于第一指令,确定缓存帧数P和第一缓存空间。可选的,缓存帧数P是根据第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定的。第一缓存空间的大小根据缓存帧数P来确定。如图1所示,处理模块确定第一缓存空间的大小之后,可以在存储模块分配对应的缓存空间。
上述第一拍照模式的第一低延时时间可以根据用户发出拍照动作到处理模块接收到拍照指令的第一时间确定。在一些实施例中,可以首先确定从用户发出拍照动作到处理模块检测到与拍照动作对应的拍照指令的第一时间。处理模块可以将该第一时间作为上述第一延时时间。可选的,处理模块还可以确定第一拍照模式允许的延时时间,之后可以根据第一时间和第一拍照模式允许的延时时间确定第一拍照模式的第一延时时间。可选的,第一延时时间可以是第一时间减去第一拍照模式允许的延时时间。可选的,在零延时拍照模式下,其允许的延时时间为零,则第一延时时间可以等于第一时间。在一些实施例中,第一延时时间可以预先存储。预先存储的第一延时时间满足上述确定第一延时时间的规则。当执行步骤102时可以直接调用预先存储的第一延时时间。
可选的,摄像头的拍摄帧率可以根据摄像头的硬件参数确定。当然,摄像头的拍摄帧率可能会受到曝光时间、拍摄模式等参数的影响。在具体实施例时,可以根据摄像头支持的最大拍摄帧率作为步骤102中的拍摄帧率。当然,步骤102中的拍摄帧率也可以根据摄像头支持的最大拍摄帧率、拍照模式及曝光时间等参数进行适应性调整。在一些实施例中,步骤102的拍摄帧率可以预先存储,当执行步骤102时可以直接调用预先存储的拍摄帧率。
在一些实施例中,为了节省缓存空间,在确保一定的拍摄精度的情况下,可以无需对摄像头获取的每帧图像均进行存储。如图1所示,对于摄像头获取的N帧图像可以跳过一些帧数以存储部分帧数,其中P可以表示实际需要缓存的帧数。其中,图像帧数N可以是基于摄像头的拍摄帧率计算出的在第一延时时间内理论上可以获取的图像帧数。跳帧帧数M即表示对于摄像头获取的图像可以跳过的帧数。其中,跳帧帧数M可以根据第一拍照模式要求的拍照精度和电子设备的内存情况确定。可选的,跳帧帧数M也可以预先存储,当执行步骤102时可以直接调用预先存储的跳帧帧数M。
在第一拍照模式的第一延时时间范围内,假设摄像头实际可以拍摄N帧图像,则可以根据跳帧帧数M确定出实际需要缓存的图像帧数P,并仅对该N帧图像中的P帧对象进行缓存,由此以节约内存空间。进一步,由于降低了实际缓存的图像帧数,因此在分配内存空间时,可以针对确定出的缓存帧数P确定第一缓存空间。第一缓存空间的大小与P帧图像的大小相适应。
在一些实施例中,在用户触发第一拍照模式之后,处理模块可以根据上述预先存储的第一延时时间、摄像头的拍摄帧率和跳帧帧数M来确定缓存帧数P和第一缓存空间的大小。并且根据第一缓存空间的大小分配相应的缓存空间。
在一些实施例中,可以预先存储缓存帧数P,当用户触发第一拍照模式之后,处理模块可以直接根据预先存储的缓存帧数P计算第一缓存空间的大小。当然,在具体实施时,也可以直接预先存储第一缓存空间的大小。当用户触发第一拍照模式之后,处理模块可以根据预先存储的第一缓存空间的大小分配缓存空间。可以理解,为了实施后续步骤还可以预先存储跳帧帧数M等参数。
103,根据缓存帧数P,将来自摄像头的每N帧图像中的P帧图像缓存至第一缓存空间。在第一拍摄模式下,摄像头按照其设置的拍摄帧率抓取图像。处理模块对摄像头获取的图像进行处理。其中,处理模块在对摄像头获取的图像进行处理时,并非每帧均进行处理,可以根据步骤102中的参数每隔M帧处理并缓存一帧图像,由此以实现将每N帧图像中的P帧图像缓存至第一缓存空间的效果。
104,响应于检测到的拍照指令,从第一缓存空间已经缓存的图像中确定拍照图像。在第一拍照模式下,用户通过按压电子设备的显示屏或者按键可以下发拍照动作。电子设备的显示屏或者按键被按压后生成对应的动作信号并发送给处理模块。处理模块根据动作信号可以判断该信号是否是触发拍照的信号。如果该动作信号是触发拍照的信号,则处理模块确定检测到了拍照指令。处理模块根据拍照指令,可以从已缓存的图像中输出拍照图像。可选的,处理模块可以根据拍照动作或者拍照指令的第一时间戳,从已缓存的图像中确定拍照图像。
上述拍照动作的第一时间戳可以是用户按压电子设备的显示屏或者按键后,显示屏或者按键生成或者向处理模块发出动作信号的时间。可选的,动作信号中可以携带第一时间戳。
上述拍照指令的第一时间戳可以是处理模块确定接收到的动作信号是触发拍照的信号的时间。
可选的,在第一缓存空间已经缓存的各图像分别具有第二时间戳。第二时间戳可以是摄像头采集到相应图像的时间。可选的,第二时间戳也可以是相应图像存储到第一缓存空间的时间。
处理模块可以根据上述第一时间戳以及已缓存各图像的第二时间戳,确定出满足低延时甚至零延时要求的拍照图像。可选的,处理模块可以将与第一时间戳差值最小的第二时间戳对应的图像确定为拍照图像。
在一些实施例中,处理模块还可以将最新缓存的图像的前X帧作为拍照图像输出。其中X可以根据从下发拍照动作到接收到拍照指令的延时时间、第一拍照模式允许的延时时间以及缓存的各帧图像之间的时间间隔等因素确定。
上述拍照方法主要通过跳帧缓存机制实现。在第一拍照模式下,例如在零延时拍照模式,从用户触发拍照动作到处理模块检测到拍照指令的延时时间内,基于摄像头的拍摄帧率理论上能获取的图像帧数为N,设定的跳帧帧数为M。N通常可以理解为要实现真正的零延时拍照效果需要缓存的帧数。比如,从用户触发拍照动作到处理模块检测到拍照指令的延时时间为200ms。对于恒定拍摄帧率为30fps的摄像头而言,其在200ms的时间内获取的图像帧数N至少为200*30/1000。即处理模块在接收到拍照指令之后需要向前取第N帧作为最后的拍照图像。为了节省提前缓存图像需要的缓存空间,本发明实施例中可以每隔M帧缓存一帧图像。则实际需要缓存的帧数P=N/(M+1)。比如理论上需要缓存的图像帧数N为8帧,跳帧帧数M为1,则实际要缓存的帧数实际需要缓存的图像帧数减少了一半,相应的实际需要的缓存空间对应也减少一半。
实际缓存的图像帧数减少一定程度上会影响零延时拍照的精度稳定性。以上述例子来看,当真正需要缓存的8帧图像变为4帧之后,在零延时拍照时理论上会存在50%的概率使输出的拍照图像比理想情况差一帧。但这在实际应用中通常是可以被接受的。并且由于这种做法会大幅度降低缓存空间的使用,尤其对于内存紧张的电子设备而言具有很大优势。比如现在很多安卓设备、智能手表等对内存的分配使用具有比较严格的限制。
可见,基于本发明实施例方法进行零延时拍照时可以节省的缓存空间大小为:图像大小*(N-N/(M+1));可能带来的零延时拍照精度稳定性损失为:在实际应用中,可以根据实际需求调整N和M来平衡缓存空间的使用和零延时拍照的精度稳定性。
图3是本发明实施例提供的又一种拍照方法的流程图。图3所示方法的处理步骤包括:
201,确定零延时拍照模式的第一延时时间。其中,可以根据电子设备的硬件特征确定零延时拍照模式的第一延时时间。对于手机而言,第一延时时间可以是从点击屏幕上的拍照功能按钮到处理模块接收到拍照指令的时间。可选的,第一延时时间可以预先存储在电子设备中。在生产配置环节中,第一延时时间可以采用拍摄秒表或者其它相关时间测量手段或方法来获取。
202,确定摄像头的拍摄帧率。摄像头的拍摄帧率可以根据摄像头的硬件参数确定。由于摄像头的拍摄帧率可能会受到曝光时间、拍摄模式等参数的影响,因此可以将摄像头支持的最大拍摄帧率作为步骤202中的拍摄帧率。其中,常用摄像头的拍摄帧率一般为30fps。之后,即可以根据摄像头的拍摄帧率计算出摄像头在第一延时时间范围内理论上需要缓存的图像帧数N。
203,确定跳帧帧数M。可选的,可以根据零延时拍照精度稳定性需求和电子设备的内存情况确定跳帧帧数M。其中,跳帧帧数M可以在理论计算的基础上结合实际测试确定。比如,在生产配置环节中,可以先将跳帧帧数M设置为零。即在不跳帧情况下基于拍摄秒表记录零延时拍照的精度满足情况。之后,将跳帧帧数M设置为1,并比较M分别为1和0时零延时拍照精度的对比情况。以此类推,以确定更为合适的跳帧帧数M。可选的,可以将确定的跳帧帧数保存在电子设备中,以在零延时拍照时调用。基于经验,将跳帧帧数设置为1时,可以在内存使用减少一半的情况下,保持较高的零延时精度的稳定性。
204,确定实际需要的缓存帧数P和第一缓存空间。在零延时拍照模式下,实际需要缓存的缓存帧数P=N/(M+1)向上整取。第一缓存空间的大小=图像大小*P。在一些实施例中,可以将缓存帧数P、第一缓存空间大小以及跳帧帧数M配置在电子设备中。当电子设备启动零延时拍照模式时,可以直接根据已经存储的参数分配缓存空间。
205,在零延时拍照模式下,对来自摄像头的图像每隔M帧保存一帧至第一缓存空间。可选的,处理设备对于摄像头获取的图像每隔M帧处理一帧,并将处理的图像发送至第一缓存空间缓存。其中,对于摄像头获取的第一帧图像默认进行处理并缓存。当第一缓存空间已经缓存的图像帧数大于或者等于P时,处理模块将当前待缓存的图像覆盖缓存时间最早的图像。
206,检测到拍照指令时,处理模块从第一缓存空间已经缓存的图像中确定拍照图像。可选的,处理模块可以根据拍照指令的时间戳和已经缓存的各图像的时间戳,确定拍照图像。其中,由于缓存的图像时根据获取的时间先后顺序存储的,可以从缓存时间最早大帧开始进行时间戳比较,以提高输出拍照图像的效率。
对应上述拍照方法,本发明实施例还提供了一种拍照装置。本领域技术人员可以理解,这些拍照装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
如图4所示,该拍照装置包括:检测模块301,用于检测到触发第一拍照模式的第一指令;确定模块302,用于响应于所述第一指令,确定缓存帧数P和第一缓存空间;所述缓存帧数P根据所述第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定,所述第一缓存空间的大小根据所述缓存帧数P确定;缓存模块303,用于根据所述缓存帧数P,对来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间;图像输出模块304,用于响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像。
本发明实施例的拍照装置包含的功能模块可以对应图1所示拍照系统中的处理模块。本发明实施例的拍照装置可以执行图2-图3所示实施例的方法。本实施例未详细描述的部分,可以参考对图2-图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2-图3所示实施例中的描述,在此不再赘述。
应理解,图4所示的拍照装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
图5是本发明实施例提供的一种电子设备的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。如图5所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,连接不同系统组件(包括存储器430,通信接口420和处理器410)的通信总线440。上述通信接口420可以与其它电子设备或者其它部件连接,例如通信接口420可以与摄像头连接,以获取摄像头拍摄的图像数据。图5所示的电子设备可以包括图1所示的拍照系统。其中,处理器410可以与拍照系统中的处理模块对应。存储器430可以与拍照系统中的存储模块对应。图5所示的电子设备可以通过通信接口420与摄像头连接。所述摄像头可以为图像传感器。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图2~图3所示实施例提供的方法。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图2~图3所示实施例提供的方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (9)
1.一种拍照方法,其特征在于,包括:
检测到触发第一拍照模式的第一指令;
响应于所述第一指令,确定缓存帧数P和第一缓存空间;所述缓存帧数P根据与所述第一拍照模式关联的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定,所述第一缓存空间的大小根据所述缓存帧数P确定;
根据所述缓存帧数P,将来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间;
响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像;
所述第一延时时间根据从发出拍照动作到检测到拍照指令的第一时间以及所述第一拍照模式允许的延时时间确定。
2.根据权利要求1所述的方法,其特征在于,根据所述第一拍照模式的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定缓存帧数P,包括:
根据所述摄像头的拍摄帧率,计算所述第一延时时间内的图像帧数N;
根据所述图像帧数N和所述跳帧帧数M,确定所述缓存帧数P。
3.根据权利要求2所述的方法,其特征在于,根据所述图像帧数N和所述跳帧帧数M,确定所述缓存帧数P,包括:
根据公式P=N/(M+1)确定所述缓存帧数P,其中,所述跳帧帧数M为每隔M帧缓存一帧图像。
4.根据权利要求1所述的方法,其特征在于,所述第一缓存空间的大小根据所述摄像头拍摄的图像大小以及所述缓存帧数P确定。
5.根据权利要求1至4任一所述的方法,其特征在于,根据所述缓存帧数P,将来自所述摄像头获取的每N帧图像中的P帧图像缓存至所述第一缓存空间,包括:
对于来自所述摄像头的图像每隔M帧保存一帧至所述第一缓存空间;
如果所述第一缓存空间已经缓存的图像帧数大于或者等于P,则将当前待缓存的图像覆盖缓存时间最早的图像。
6.根据权利要求1所述的方法,其特征在于,响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像,包括:
确定所述拍照指令或者触发所述拍照指令的拍照动作的第一时间戳;
根据所述第一缓存空间已经缓存各图像的第二时间戳,将与所述第一时间戳时间差值最小的已缓存图像确定为拍照图像。
7.一种拍照装置,其特征在于,包括:
检测模块,用于检测到触发第一拍照模式的第一指令;
确定模块,用于响应于所述第一指令,确定缓存帧数P和第一缓存空间;所述缓存帧数P根据与所述第一拍照模式关联的第一延时时间、摄像头的拍摄帧率和跳帧帧数M确定,所述第一缓存空间的大小根据所述缓存帧数P确定;
缓存模块,用于根据所述缓存帧数P,将来自所述摄像头的每N帧图像中的P帧图像缓存至所述第一缓存空间;
图像输出模块,用于响应于检测到的拍照指令,从所述第一缓存空间已经缓存的各图像中确定拍照图像;
所述第一延时时间根据从发出拍照动作到检测到拍照指令的第一时间以及所述第一拍照模式允许的延时时间确定。
8.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011530925.9A CN112689090B (zh) | 2020-12-22 | 2020-12-22 | 拍照方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011530925.9A CN112689090B (zh) | 2020-12-22 | 2020-12-22 | 拍照方法和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689090A CN112689090A (zh) | 2021-04-20 |
CN112689090B true CN112689090B (zh) | 2022-10-28 |
Family
ID=75450730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011530925.9A Active CN112689090B (zh) | 2020-12-22 | 2020-12-22 | 拍照方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689090B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113329176A (zh) * | 2021-05-25 | 2021-08-31 | 海信电子科技(深圳)有限公司 | 应用于智能终端的相机的图像处理方法及相关装置 |
CN113542545B (zh) * | 2021-05-28 | 2024-03-26 | 青岛海信移动通信技术有限公司 | 电子设备及录像方法 |
CN113660426B (zh) * | 2021-09-08 | 2023-07-18 | 英望科技(山东)有限公司 | 防止用户拍照抖动的方法及系统、计算机可读存储介质 |
CN115225819A (zh) * | 2022-07-20 | 2022-10-21 | 哲库科技(上海)有限公司 | 图像拍摄方法、装置、芯片、终端及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828180A (zh) * | 2016-03-31 | 2016-08-03 | 努比亚技术有限公司 | 一种缓存视频帧的装置和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501695A (zh) * | 2002-11-18 | 2004-06-02 | 矽峰光电科技股份有限公司 | 一种数码相机成像中内在延迟的修正方法 |
CN105025216A (zh) * | 2014-04-28 | 2015-11-04 | 维沃移动通信有限公司 | 一种运动对象的拍照方法及其系统 |
US20180213150A1 (en) * | 2017-01-24 | 2018-07-26 | Qualcomm Incorporated | Adaptive buffering rate technology for zero shutter lag (zsl) camera-inclusive devices |
CN107302664B (zh) * | 2017-08-11 | 2020-06-16 | 维沃移动通信有限公司 | 一种拍摄方法及移动终端 |
-
2020
- 2020-12-22 CN CN202011530925.9A patent/CN112689090B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828180A (zh) * | 2016-03-31 | 2016-08-03 | 努比亚技术有限公司 | 一种缓存视频帧的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112689090A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112689090B (zh) | 拍照方法和相关设备 | |
KR102149187B1 (ko) | 전자 장치와, 그의 제어 방법 | |
KR101180474B1 (ko) | 셔터 지연을 방지하는 영상 획득 모듈 및 영상 획득 방법 | |
KR102263537B1 (ko) | 전자 장치와, 그의 제어 방법 | |
CN113347334B (zh) | 一种移动终端无损拍照方法、装置、终端设备及存储介质 | |
KR20140060750A (ko) | 전자장치에서 다초점 영상 촬영 및 저장 방법 및 장치 | |
CN106331491A (zh) | 一种拍照方法及装置 | |
JP6344830B2 (ja) | 撮像デバイスに対する自動アンチグレア露出 | |
CN109040523B (zh) | 伪影消除方法、装置、存储介质及终端 | |
CN107615745B (zh) | 一种拍照方法及终端 | |
CN116055857B (zh) | 拍照方法及电子设备 | |
CN113099122A (zh) | 拍摄方法、装置、设备和存储介质 | |
KR20230133970A (ko) | 사진촬영 방법, 장치 및 전자기기 | |
CN107147851B (zh) | 照片处理方法、装置、计算机可读存储介质及电子设备 | |
CN107360369B (zh) | 摄像装置及摄像装置的拍照方法、计算机可读存储介质 | |
US20180139367A1 (en) | Multi-camera capture of a high dynamic range image | |
CN105391940A (zh) | 一种图像推荐方法及装置 | |
CN113259594A (zh) | 图像处理方法及装置、计算机可读存储介质、终端 | |
CN115278047A (zh) | 拍摄方法、装置、电子设备和存储介质 | |
WO2018219304A1 (zh) | 照片处理方法、装置、计算机可读存储介质及电子设备 | |
CN110969587A (zh) | 一种图像采集方法、装置及电子设备 | |
WO2022170866A1 (zh) | 数据传输方法、装置及存储介质 | |
CN114945072A (zh) | 双摄像头帧同步处理方法、装置、用户终端及存储介质 | |
CN111698414B (zh) | 图像信号处理方法及装置、电子设备、可读存储介质 | |
CN110519319B (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 |