CN117156293A - 拍照方法和相关装置 - Google Patents
拍照方法和相关装置 Download PDFInfo
- Publication number
- CN117156293A CN117156293A CN202310101462.1A CN202310101462A CN117156293A CN 117156293 A CN117156293 A CN 117156293A CN 202310101462 A CN202310101462 A CN 202310101462A CN 117156293 A CN117156293 A CN 117156293A
- Authority
- CN
- China
- Prior art keywords
- image
- photographing
- processed
- processing module
- isp
- 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 112
- 238000012545 processing Methods 0.000 claims abstract description 340
- 230000008569 process Effects 0.000 claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 16
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 231100000289 photo-effect Toxicity 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 238000001356 surgical procedure Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003705 background correction Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本申请实施例提供拍照方法和相关装置,应用于包括拍照管线和ISP处理模块的终端设备,方法包括:接收到在目标拍摄模式中的拍照操作后,拍照管线向ISP处理模块发送包括目标算法参数的处理请求;ISP处理模块基于目标算法参数进行初始化;拍照管线得到多帧待处理图像;拍照管线向ISP处理模块传输多帧待处理图像;ISP处理模块基于算法参数和缓存对多帧待处理图像进行处理,得到多帧处理后的图像;ISP处理模块向拍照管线发送多帧处理后的图像;拍照管线基于多帧处理后的图像生成照片。这样,一次处理请求ISP处理多帧图像,减少ISP的初始化次数,进而缩短ISP处理多帧图像的耗时,提升用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及拍照方法和相关装置。
背景技术
随着科技的发展,终端设备具备有越来越多的娱乐功能,其中,拍照功能作为娱乐功能的核心之一,拍照能力已成为一种重要的终端设备的性能指标。
目前,在用户使用终端设备拍照时,由于需要进行对焦、曝光、白平衡、图像融合等处理。
但是,终端设备在拍照时的处理过程耗时较长,用户体验差。
发明内容
本申请实施例提供一种拍照方法和相关装置,应用于终端设备。一次处理请求ISP处理多帧图像,减少ISP的初始化次数,进而缩短ISP处理多帧图像的耗时,提升用户体验。
第一方面,本申请实施例提出一种拍照方法,应用于终端设备,所述终端设备包括拍照管线pipeline和图像信号ISP处理模块,所述方法包括:
所述终端设备接收到在目标拍摄模式中的拍照操作后,所述拍照管线向所述ISP处理模块发送处理请求,所述处理请求包括目标算法参数;所述目标算法参数为所述目标拍照模式中,所述ISP处理模块进行图像处理时使用的算法参数;所述ISP处理模块进行初始化;所述初始化包括:设置所述ISP处理模块处理图像时使用的算法参数为所述目标算法参数,以及创建缓存,所述缓存用于存储图像;所述拍照管线得到多帧待处理图像;所述拍照管线向所述ISP处理模块传输所述多帧待处理图像;所述ISP处理模块基于所述目标算法参数和所述缓存对所述多帧待处理图像进行处理,得到多帧处理后的图像;所述ISP处理模块向所述拍照管线发送所述多帧处理后的图像;所述拍照管线基于所述多帧处理后的图像生成照片。
这样,通过修改ISP处理模块的处理方式,使得ISP处理模块可以在一次命令下,串行处理多帧图像,减少ISP处理模块的初始化次数,进而缩短ISP处理模块处理多帧图像的耗时,提升ISP的离线效能,提升终端设备的处理速度,提升用户体验。此外,离线feature的实例创建在拍照第一帧的时候进行创建,中间图像处理的时候都使用同一离线资源,提升离线资源的利用率。
可选的,多帧待处理图像包括第一图像和第二图像;ISP处理模块基于目标算法参数和缓存对多帧待处理图像进行处理,得到多帧处理后的图像,包括:ISP处理模块基于目标算法参数和缓存对第一图像进行处理,得到处理后的第一图像;ISP处理模块在得到处理后的第一图像后,基于目标算法参数和缓存对第二图像进行处理,得到处理后的第二图像;ISP处理模块在得到处理后的第一图像与得到处理后的第二图像期间,ISP处理模块不进行初始化。
可选的,方法还包括:ISP处理模块在得到多帧处理后的图像后,销毁ISP处理模块中的缓存。
这样,ISP处理模块在多帧待处理图像处理结束后,销毁缓存;可以减少ISP处理模块的去初始化过程,节省销毁缓存耗时,提升ISP的离线效能,提升照片的生成速度。此外,离线feature的实例创建在第一帧待处理图像时进行创建,在拍照结束进行销毁实现离线资源的常驻。
可选的,多帧待处理图像包括携带有第一标识的第一图像,第一标识用于指示为最后一个;ISP处理模块在得到多帧处理后的图像后,销毁ISP处理模块中的缓存,包括:ISP处理模块在得到处理后的第一图像后,销毁ISP处理模块中的缓存。
这样,ISP处理模块可以基于标识对最后一帧待处理图像进行识别,进而在最后一帧待处理图像处理结束后,销毁缓存。通过标识对最后一帧待处理图像进行识别,方式简单,易于实现。
可选的,处理请求包括需处理的待处理图像的数量;需处理的待处理图像的数量与多帧待处理图像的数量相同,均为整数N;ISP处理模块在第N次得到处理后的图像后,销毁ISP处理模块中的缓存。
这样,可以对ISP处理模块的处理次数进行计算,对最后一帧待处理图像进行识别,进而在最后一帧待处理图像处理结束后,销毁缓存。通过计数实现对最后一帧待处理图像进行识别,方式简单,易于实现。
可选的,拍照管线包括编码器,处理请求还包括编码器的标识信息;方法还包括:ISP处理模块在进行初始化时,基于标识信息注册回调函数;ISP处理模块向拍照管线发送多帧处理后的图像,包括:ISP处理模块基于回调函数向编码器发送多帧处理后的图像;拍照管线基于多帧处理后的图像生成照片,包括:编码器对多帧待处理图像进行处理生成照片。
标识信息可以为编码器的名称,也可以为其他用于表示编码器的信息,此处不做限定。
可以理解的是,ISP处理模块中建立异步回调流程,将处理结果(result)的回调作为异步流程,当离线Feature(ISP硬件)中回调到ISP软件之后,将处理结果(result)发送给下一级插件Plugin(例如拍照管线中的编码器)。
适应性的,接受处理结果(result)需要向ISP软件中注册回调函数,用于离线Feature处理完之后的异步回调。实现一次初始化,多次处理的功能。
这样,通过异步回调进行后续处理,简化少终端设备内部模块的交互。
可选的,拍照管线得到多帧待处理图像,包括:终端设备接收到在拍照操作后,拍照管线基于目标拍摄模式和预先存储的第一对应关系得到拍照请求,拍照请求包括多帧待处理图像的数量,第一对应关系为待处理图像的数量与拍摄模式之间的关系;当多帧待处理图像的数量为N时,拍照管线基于拍照请求从缓存队列中保存的图像中选取N帧图像,得到多帧待处理图像;缓存队列用于缓存终端设备响应于拍照操作拍摄的图像。
这样,可以基于拍照场景确定不同的拍照请求,进而选取不同的帧数的图像。针对不同的拍照场景,选取不同数量的图像,使得选取的图像更加具有针对性,使得生成的照片更加清晰,进而提升照片效果,提升用户体验。
一些实施例中,拍照请求中还包括与目标拍摄模式对应的选帧策略,选帧策略用于指示选取图像的方式。这样,可以基于拍照模式选取不同的选帧策略进行图像的选取。选取的图像更加具有针对性、更加灵活,使得生成的照片更加清晰,进而提升照片效果,提升用户体验。
第二方面,本申请实施例提供一种终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行如第一方面的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。
第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。
第五方面,本申请实施例提供一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面的方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种终端设备的硬件结构示意图;
图2为本申请实施例提供的一种终端设备的软件结构示意图;
图3为本申请实施例提供的一种终端设备的界面示意图;
图4为本申请实施例提供的一种终端设备的界面示意图;
图5为可能的设计中一种终端设备的图像处理的流程示意图;
图6为本申请实施例提供的一种终端设备的图像处理的流程示意图;
图7为本申请实施例提供的一种拍照方法的流程示意图;
图8为本申请实施例提供的一种拍照方法涉及的模块交互流程示意图;
图9为本申请实施例提供的一种拍照装置的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
本申请实施例可以应用于具有拍照功能的终端设备中。终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请实施例还可以应用于具有拍照功能的照相机等设备中。可以理解的是,上述终端设备可以为具有折叠屏的终端设备,也可以为不具备折叠屏的终端设备。折叠屏可以为能实现2折、3折或4折等的折叠屏。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
示例性的,图1为本申请实施例提供的一种终端设备的结构示意图。
如图1所示,终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在本申请另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED)等。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。多个摄像头193的种类可以不同,例如摄像头193可以包括用于获取彩色图像的摄像头或TOF摄像头等。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备可以支持一种或多种视频编解码器。这样,终端设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备的各种功能应用以及数据处理。
示例性的,图2为本申请实施例提供的一种终端设备的软件架构示意图。如图2所示,终端设备可以分为五层,从上至下分别为应用程序层、应用程序框架(framework)层、硬件抽象层(hardware abstraction layer,HAL)、内核层(kernel)、以及硬件(hardware)层。
应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括相机,图库,电话,地图等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,视图系统,相机访问接口等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
相机访问接口使得应用程序可以进行相机管理,访问相机设备。比如管理相机进行图像拍摄等。
硬件抽象层,可以包含多个库模块,库模块如可以为相机库模块等。Android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。本申请实施例中,相机库模块包括拍照管线(pipeline)和ISP处理模块。
拍照管线包括:拍照请求模块、特性模块和编码器。
拍照请求模块中存储有一种或多种的拍照请求。拍照请求可以用于调整相机的拍照方式(例如,曝光时间等)和/或调整后续图像处理时选取的图像的数量。
可以理解的是,拍照请求中包括的具体内容与相机拍照时识别的拍照模式相关。示例性的,当终端设备检测到拍照模式为低亮度模式时,该拍照请求用于指示选取4帧图像进行算法处理。当终端设备检测到拍照模式为高亮度模式时,该拍照请求用于指示选取1帧图像进行算法处理。
当终端设备检测到拍照模式为高动态范围成像(high dynamic range,HDR)模式时,该拍照请求用于指示调整相机的曝光时间,以及用于指示选取4帧图像进行算法处理。
特性模块可以实现拍照请求的获取,并将选取的图像传输至ISP处理模块进行处理。
编码器可以对ISP处理模块处理后的图像进行图像格式转换、图像融合等处理,得到照片,并将照片传输至图库应用保存。
图像格式转换可以为从YUV格式转换为JPEG格式,也可以为从YUV格式转换为其他类型的图片格式,此处不做限定。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层可以包含相机驱动,显示驱动,音频驱动等,本申请实施例对此不做限制。硬件层可以各种类型的传感器,拍摄类传感器例如包括TOF相机、多光谱传感器等。
下面结合图2对可能的实现中拍照过程进行说明。
示例性的,当终端设备打开相机应用时,相机应用经应用程序框架层中的相机访问接口向硬件抽象层的特性模块发送用于指示预览的命令。特性模块从缓存管理模块的缓存队列中选取图像。并将选取的图像经相机访问接口传输至相机应用进行预览显示。
当终端设备接收到用于指示拍照的动作时,相机应用经应用程序框架层中的相机访问接口向硬件抽象层的特性模块发送用于指示拍照的命令。特性模块从拍照请求模块中获取拍照请求,并将根据拍照请求从缓存管理模块的缓存队列中选取图像。拍照请求中包括选取图像的数量。特性模块将选取的图像传输至ISP处理模块转换为缩略图,并将缩略图经相机访问接口传输至相机应用进行显示。
ISP处理模块还可以将选取的图像传输至ISP处理模块进行图像的降噪、等处理,ISP处理模块将处理后的图像传输至编码器。编码器对ISP处理模块处理后的图像进行融合、格式转换等处理以生成照片。编码器将照片经应用框架层传输至图库应用进行保存。
编码器还可以将ISP处理模块处理后的图像转换为缩略图,并将缩略图经相机访问接口传输至相机应用进行显示。
拍照功能作为终端设备的重要娱乐功能之一,拍照能力已成为衡量终端设备性能的一种重要的性能指标。目前,在用户使用终端设备拍照时,由于需要进行对焦、曝光、白平衡、图像融合等处理。
但是,终端设备在拍照时的处理过程耗时较长,用户体验差。
示例性的,图3为本申请实施例提供一种终端设备的显示界面示意图。以终端设备为手机为例,如图3中的a所示,当用户通过手机进行拍照时,手机可以显示拍照界面,该拍照界面中可以包括用于显示预览画面的预览框301、用于触发拍照的拍照控件302、照片的缩略图303。在预览框中可以显示当前拍照的预览画面。预览框301中的预览画面为人物在站在台阶下的画面。
当终端设备在图3中的a所示的界面接收到拍照控件302的触发操作时,终端设备拍摄图像,并将拍摄得到的图像以缩略图的形式显示图3中的b所示的界面中。该界面中包括预览框304、拍照控件305、照片的缩略图306。缩略图306为人物在登上第一个台阶上的画面。
当终端设备在图3中的b所示的界面接收到缩略图306的触发操作时,终端设备显示缩略图306对应的照片,进入图3中的c所示的界面。该界面包括缩略图306对应的照片307,照片307全屏显示。
当终端设备在图3中的c所示的界面的任意位置接收到点击操作时,终端设备进入图3中的d所示的界面,该界面包括照片307和设置项。设置项包括但不限于:分享、收藏、编辑、删除、更多或其他类型的设置项。
可能的实现方式中,当终端设备在图3中的b所示的界面接收到缩略图306的触发操作时,终端设备显示缩略图306对应的照片,进入图3中的d所示的界面。
一些实施例中,终端设备还可以通过图库应用查看终端设备拍摄的照片。
示例性的,图4为本申请实施例提供一种终端设备的显示界面示意图。
如图4所示,当终端设备在图4中的a所示的主界面接收到针对图库应用401的触发操作时,终端设备打开图库应用,显示图4中的b所示的列表界面。该界面包括:一个或多个照片的缩略图、一个或多个视频。
当终端设备在图4中的b所示的列表界面接收到缩略图402的触发操作时,终端设备显示缩略图402对应的照片,进入图4中的c所示的界面。该界面包括缩略图402对应的照片403和设置项。设置项包括但不限于:分享、收藏、编辑、删除、更多或其他类型的设置项。
本申请实施例对于图库应用的进入方式不做具体限定。
一些实施例中,终端设备可以实现后台拍照,即,终端设备在不进行预览的情况下,进行拍照操作。也可以理解为,在不显示拍照界面的情况下,进行拍摄并保存照片。
示例性的,当终端设备接收到快捷操作或识别到特定场景时,终端设备开启后台拍照功能,拍摄图像并将拍摄的图像保存至图库应用。
快捷操作可以为双击音量键的操作、三指下滑操作、用于指示拍照的语音操作等。本申请实施例对于快捷操作的具体形式不做限定。特定场景可以为终端设备的锁屏解锁失败等,此处不做限定。
在终端设备拍照场景中,终端设备会对相机拍摄的多帧图像进行处理,得到照片。具体的,终端设备中的ISP会对相机拍摄的多帧RAW图像进行处理,每帧RAW图像的处理流程相同。
可能的设计中,ISP对应的ISP处理模块在对每帧RAW图像处理前,会进行初始化处理。或者可以理解为,ISP处理模块在一次初始化后,对一帧RAW图像进行一次处理。
这样,每帧RAW图像处理前都会对ISP的硬件资源进行初始化,会导致硬件资源的浪费。此外,ISP处理模块的初始化耗时和销毁耗时较长。
下面结合图5对可能的设计中拍照时ISP的工作流程进行说明。
示例性的,以终端设备拍照时需对3个图像处理为例,图5为可能的设计中一种ISP的工作流程示意图。
以终端设备拍照时需对3帧RAW图像处理为例,拍照管线中的特性模块向ISP处理模块发送第一处理请求,第一处理请求包括拍摄模式对应的算法参数。
ISP处理模块在接收到第一处理请求后,基于第一处理请求进行初始化,初始化过程包括:创建1个缓存以保存来自拍照管线的待处理图像,以及对ISP处理模块中进行图像处理时使用的算法参数的设置;ISP处理模块初始化完成后,对来自拍照管线的第一帧RAW图像进行处理,得到第一帧YUV图像。ISP处理模块向拍照管线发送第一处理结果。第一处理结果包括第一YUV图像。此外,ISP处理模块还进行去初始化,去初始化过程包括:销毁缓存,以及删除对ISP处理模块中多种算法参数的设置
拍照管线中的特性模块向ISP处理模块发送第二处理请求,第二处理请求包括拍摄模式对应的算法参数。
ISP处理模块在得到第一帧YUV图像后,基于第二处理请求进行初始化,初始化过程包括:创建1个缓存以保存来自拍照管线的待处理图像,以及对ISP处理模块中进行图像处理时使用的算法参数的设置;ISP处理模块初始化完成后,对来自拍照管线的第二帧RAW图像以进行处理,得到第二帧YUV图像。ISP处理模块向拍照管线发送第二处理结果。第二处理结果包括第二YUV图像。此外,ISP处理模块还进行去初始化,去初始化过程包括:销毁缓存,以及删除对ISP处理模块中多种算法参数的设置。
拍照管线中的特性模块向ISP处理模块发送第三处理请求,第三处理请求包括拍摄模式对应的算法参数。
ISP处理模块在得到第二帧YUV图像后,基于第三处理请求进行初始化,初始化过程包括:创建1个缓存以保存来自拍照管线的待处理图像,以及对ISP处理模块中进行图像处理时使用的算法参数的设置;ISP处理模块初始化完成后,对来自拍照管线的第三帧RAW图像进行处理,得到第三帧YUV图像。ISP处理模块向拍照管线发送第三处理结果。第三处理结果包括第三YUV图像。此外,ISP处理模块还进行去初始化,去初始化过程包括:销毁缓存,以及删除对ISP处理模块中进行图像处理时使用的算法参数的设置。
拍照管线中的编码器对3个YUV图像进行融合处理、格式转换处理,得到照片。3个YUV图像为第一帧YUV图像、第二帧YUV图像和第三帧YUV图像。
从图5中可以看出,若终端设备拍照时选取3帧RAW图像处理,对ISP处理模块会进行3次初始化处理,初始化次数较多,耗时较长。
需要说明的是,一次拍照操作中,ISP多次初始化处理的过程相同。
有鉴于此,本申请实施例提供拍照方法和相关装置,通过更改ISP的处理逻辑,使得一次处理请求,ISP可以处理多帧图像,减少ISP的初始化次数,进而缩短ISP处理多帧图像的耗时,提升拍照速度,提升用户体验。
示例性的,以终端设备拍照时需对3帧RAW图像处理为例,图6为本申请实施例提供的一种ISP的工作流程示意图。
如图6所示,拍照管线中的特性模块向ISP处理模块发送处理请求。处理请求包括:拍摄模式对应的算法参数。
ISP处理模块在接收到处理请求后,基于处理请求进行初始化,初始化过程包括:创建缓存以保存来自特性模块的待处理图像,以及对ISP处理模块中进行图像处理时使用的算法参数的设置;ISP处理模块初始化完成后,对来自特性模块的第一帧RAW图像进行处理,得到第一帧YUV图像。ISP处理模块向拍照管线发送第一处理结果。第一处理结果包括第一YUV图像。
ISP处理模块在得到第一帧YUV图像后,对来自拍照管线的第二帧RAW图像进行处理,得到第二帧YUV图像。ISP处理模块向拍照管线发送第二处理结果。第二处理结果包括第二YUV图像。
ISP处理模块在得到第二帧YUV图像后,对来自拍照管线的第三帧RAW图像进行处理,得到第三帧YUV图像。ISP处理模块向拍照管线发送第三处理结果。第三处理结果包括第三YUV图像。此外,由于第三帧RAW图像为最后一帧RAW图像,ISP处理模块还进行去初始化,去初始化过程包括:销毁缓存,以及删除ISP处理模块中进行图像处理时使用的算法参数的设置。
另一些实施例中,ISP处理模块在多帧RAW图像未完成处理时,不发送处理结果;在最后一帧RAW图像处理结束后,向拍照管线发送处理结果。示例性的,由于第三帧RAW图像为最后一帧RAW图像,ISP处理模块在第三帧RAW图像处理结束后,向拍照管线发送处理结果。处理结果包括第一YUV图像、第二YUV图像、第三YUV图像。这样,可以减少信令消耗。
拍照管线中的编码器对3个YUV图像进行融合处理、格式转换处理,得到照片。3个YUV图像为第一帧YUV图像、第二帧YUV图像和第三帧YUV图像。
相比较于图5所示的工作流程,图6所示的工作流程中,ISP处理模块的初始化次数减少,缩短ISP处理模块处理多帧RAW图像的耗时,进而缩短终端设备生成照片的时长,提升用户体验。此外,ISP处理模块的去初始化次数减少,缩短ISP处理模块处理多帧RAW图像的耗时。
示例性的,图7为本申请实施例提供的一种拍照方法的流程示意图。如图7所示,方法包括:
S701、终端设备接收到在目标拍摄模式中的拍照操作后,拍照管线向ISP处理模块发送处理请求,处理请求包括目标算法参数;目标算法参数为目标拍照模式中,ISP处理模块进行图像处理时使用的算法参数。
本申请实施例中,目标拍摄模式可以为终端设备中多种拍照模式中任一种。拍照模式包括但不限于:夜景模式、低亮度模式、HDR模式或其他任意拍照模式,此处不做赘述。
拍照操作可以为用户通过触摸、点击等方式触发在相机应用的显示界面上拍照控件的操作;拍照操作也可以为拍照的快捷操作,例如,快捷操作可以为双击电源键等或者用户的特殊手势等。拍照操作还可以为接收到用于指示拍照的语音指令,本申请实施例对于拍照操作不做具体限定。
可以理解的是,ISP可以通过一系列数字图像处理算法完成对数字图像的效果处理。效果处理包括但不限于:黑电平补偿(black level compensation,BLC)、镜头校正(lens shading correction,LSC)、坏点校正(bad pixel correction,DPC)、颜色插值(demosaic)、噪声去除(denoise)、自动白平衡(automatic white balance,AWB)、色彩校正(color correction matrix,CCM)、gamma校正(RGB Gamma)、色彩空间转换(例如,RGB转换为YUV)、在YUV色彩空间上彩噪去除与边缘加强、色彩与对比度加强等。
本申请实施例中算法参数是指ISP处理模块进行图像处理时使用的算法参数。算法参数可以包括下述一种或多种:黑电平补偿参数、镜头校正参数、坏点校正参数、颜色插值参数、噪声去除参数、自动白平衡参数、色彩校正参数、gamma校正参数、色彩空间转换参数、在YUV色彩空间上彩噪去除与边缘加强、色彩与对比度加强等,此处不做限定。
S702、ISP处理模块进行初始化;初始化包括:设置ISP处理模块处理图像时的算法参数为目标算法参数,以及创建缓存,缓存用于存储图像。
一些实施例中,ISP处理模块创建1个缓存。这样,ISP处理模块串行处理图像,减少ISP硬件的内存占用。
另一些实施例中,ISP处理模块创建多个缓存。这样,ISP处理模块可以并行处理多帧图像,提升ISP处理模块的处理速度,缩短多帧图像的处理时间。
S703、拍照管线得到多帧待处理图像。
多帧待处理图像的数量与目标拍摄模式相对应。
示例性的,目标拍摄模式为HDR模式时,多帧待处理图像的数量为4。目标拍摄模式为夜景模式时,多帧待处理图像的数量为2。此处不做限定。
S704、拍照管线向ISP处理模块传输多帧待处理图像。
一些实施例中,拍照管线多次向ISP处理模块传输待处理图像。
示例性的,以待处理图像包括第一图像和第二图像为例,拍照管线向ISP处理模块传输第一图像;当ISP处理模块对第一图像进行处理得到处理后的第一图像后,拍照管线向ISP处理模块传输第二图像。
另一些实施例中,拍照管线一次向ISP处理模块传输多帧待处理图像。
S705、ISP处理模块基于目标算法参数和缓存对多帧待处理图像进行处理,得到多帧处理后的图像。
S706、ISP处理模块向拍照管线发送多帧处理后的图像。
一些实施例中,ISP处理模块可以在每帧待处理图像处理后,向拍照管线发送相应的处理后的图像。示例性的,以待处理图像包括第一图像和第二图像为例,ISP处理模块在对第一图像中处理结束时,生成第一处理结果,第一处理结果包括处理后的第一图像;ISP处理模块在对第二图像中处理结束时,生成第二处理结果,第二处理结果包括处理后的第二图像。
另一些实施例中,ISP处理模块也可以在多帧待处理图像全部处理后,向拍照管线发送多帧处理后的图像。此处不做限定。示例性的,ISP处理模块在对多帧待处理图像中的最后一帧待处理图像处理结束时,生成处理结果。处理结果包括处理后的第一图像和处理后的第二图像。
可能的实现方式中,拍照管线中的编码器向ISP处理模块注册回调函数。ISP处理模块在通过回调函数向编码器发送多帧处理后的图像。
S707、拍照管线基于处理后的图像生成照片。
综上,通过修改ISP处理模块的处理方式,使得ISP处理模块可以在一次命令下,串行处理多帧图像,减少ISP处理模块的初始化次数,进而缩短ISP处理模块处理多帧图像的耗时,提升ISP的离线效能,提升终端设备的处理速度,提升用户体验。此外,离线feature的实例创建在拍照第一帧的时候进行创建,中间图像处理的时候都使用同一离线资源,提升离线资源的利用率。
可选的,多帧待处理图像包括第一图像和第二图像;ISP处理模块基于目标算法参数和缓存对多帧待处理图像进行处理,得到多帧处理后的图像,包括:ISP处理模块基于目标算法参数和缓存对第一图像进行处理,得到处理后的第一图像;ISP处理模块在得到处理后的第一图像后,基于目标算法参数和缓存对第二图像进行处理,得到处理后的第二图像;ISP处理模块在得到处理后的第一图像与得到处理后的第二图像期间,ISP处理模块不进行初始化。
可选的,方法还包括:ISP处理模块在得到多帧处理后的图像后,销毁ISP处理模块中的缓存。
这样,ISP处理模块在多帧待处理图像处理结束后,销毁缓存;可以减少ISP处理模块的去初始化过程,节省销毁缓存耗时,提升ISP的离线效能,提升照片的生成速度。此外,离线feature的实例创建在第一帧待处理图像时进行创建,在拍照结束进行销毁实现离线资源的常驻。
可选的,多帧待处理图像包括携带有第一标识的第一图像,第一标识用于指示为最后一个;ISP处理模块在得到多帧处理后的图像后,销毁ISP处理模块中的缓存,包括:ISP处理模块在得到处理后的第一图像后,销毁ISP处理模块中的缓存。
这样,ISP处理模块可以基于标识对最后一帧待处理图像进行识别,进而在最后一帧待处理图像处理结束后,销毁缓存。通过标识对最后一帧待处理图像进行识别,方式简单,易于实现。
可选的,处理请求包括需处理的待处理图像的数量;需处理的待处理图像的数量与多帧待处理图像的数量相同,均为整数N;ISP处理模块在第N次得到处理后的图像后,销毁ISP处理模块中的缓存。
这样,可以对ISP处理模块的处理次数进行计算,对最后一帧待处理图像进行识别,进而在最后一帧待处理图像处理结束后,销毁缓存。通过计数实现对最后一帧待处理图像进行识别,方式简单,易于实现。
可选的,拍照管线包括编码器,处理请求还包括编码器的标识信息;方法还包括:ISP处理模块在进行初始化时,基于标识信息注册回调函数;ISP处理模块向拍照管线发送多帧处理后的图像,包括:ISP处理模块基于回调函数向编码器发送多帧处理后的图像;拍照管线基于多帧处理后的图像生成照片,包括:编码器对多帧待处理图像进行处理生成照片。
标识信息可以为编码器的名称,也可以为其他用于表示编码器的信息,此处不做限定。
可以理解的是,ISP处理模块中建立异步回调流程,将处理结果(result)的回调作为异步流程,当离线Feature(ISP硬件)中回调到ISP软件之后,将处理结果(result)发送给下一级插件Plugin(例如拍照管线中的编码器)。
适应性的,接受处理结果(result)需要向ISP软件中注册回调函数,用于离线Feature处理完之后的异步回调。实现一次初始化,多次处理的功能。
这样,通过异步回调进行后续处理,简化少终端设备内部模块的交互。
可选的,拍照管线得到多帧待处理图像,包括:终端设备接收到在拍照操作后,拍照管线基于目标拍摄模式和预先存储的第一对应关系得到拍照请求,拍照请求包括多帧待处理图像的数量,第一对应关系为待处理图像的数量与拍摄模式之间的关系;当多帧待处理图像的数量为N时,拍照管线基于拍照请求从缓存队列中保存的图像中选取N帧图像,得到多帧待处理图像;缓存队列用于缓存终端设备响应于拍照操作拍摄的图像。
这样,可以基于拍照场景确定不同的拍照请求,进而选取不同的帧数的图像。针对不同的拍照场景,选取不同数量的图像,使得选取的图像更加具有针对性,使得生成的照片更加清晰,进而提升照片效果,提升用户体验。
一些实施例中,拍照请求中还包括与目标拍摄模式对应的选帧策略,选帧策略用于指示选取图像的方式。这样,可以基于拍照模式选取不同的选帧策略进行图像的选取。选取的图像更加具有针对性、更加灵活,使得生成的照片更加清晰,进而提升照片效果,提升用户体验。
选帧策略中包括一个或多个选帧参数,选帧参数包括但不限于:清晰度、对比度、抖动量或曝光时间。
这样,基于多种选帧参数进行图像的选取,更加全面、准确的选取图像,进而提高照片的生成效果,提高用户体验。
可以理解的是,不同的拍照模式对应的选帧策略中选取图像的方式不同。选取图像的方式可以是基于选取图像的参数(简称为,选帧参数)的优先级顺序选取,也可以是基于选取图像的参数的权重值选取。选取图像的参数包括但不限于:清晰度,对比度、抖动量。
可能的实现方式一中,选取图像的参数分别具备不同的优先级。
示例性的,当拍照时为HDR场景时,清晰度为优先级2,对比度为优先级1、抖动量为优先级3。终端设备按照对比度从高到低的顺序从缓存队列中选取图像;当图像的对比度相同时,按照清晰度从高到低的顺序从缓存队列中选取图像;当图像的对比度相同、清晰度相同时,按照抖动量从高到低的顺序从缓存队列中选取图像。
需要说明的是,上述选取图像的参数对应的优先级仅为示例说明,实际应用中,各参数具体的优先级可以根据实际情况设定,例如,清晰度为优先级1,对比度为优先级2、抖动量为优先级3,等。本申请实施例不作具体限定。
可能的实现方式二中,选取图像的参数分别对应有权重值。
示例性的,当拍照时为HDR场景时,清晰度对应的第一权重为0.4,对比度对应的第二权重为0.5、抖动量对应的第三权重为0.1。终端设备基于三种参数对应的权重值选取图像。可能的实现为:终端设备基于三种参数对缓存队列中的图像分别进行排序,每个图像得到3个排序名次。基于3个排序名次和对应的权重值计算每个图像的评分值。基于评分值从高到低的顺序选取图像。
需要说明的是,上述选取图像的参数对应的权重值仅为示例说明,实际应用中,各参数具体的权重值可以根据实际情况设定,例如,清晰度对应的第一权重为0.5,对比度对应的第二权重为0.4、抖动量对应的第三权重为0.1,等。本申请实施例不作具体限定。
本申请实施例对于选取图像的参数的数量、优先级顺序,以及权重的取值等不做具体限定。
这样,细化选取图像的方式,基于拍照场景选取图像,选取提高图像的处理效果,使得照片更加清晰,细节更加明显,提高照片的拍摄效果。
示例性的,图8为本申请实施例提供的一种拍照方法涉及的模块交互流程示意图。如图8所示,
终端设备在打开相机应用后,进入相机预览场景。终端设备在相机应用打开后,相机应用经相机访问接口向特性模块下发用于指示预览的命令。特性模块在接收到用于指示预览的命令后,经相机驱动打开相机调整底层硬件相机获取图像的间隔。示例性的,调整底层硬件相机每秒获取30帧图像。特性模块将底层硬件相机经相机驱动传输的图像,存储在缓存队列中。
S801、终端设备接收到拍照操作时,相机应用经相机访问接口向特性模块下发用于指示拍照的命令。
可能的实现方式中,用于指示拍照的命令可以为拍照事件。相机应用经相机访问接口向特性模块下发拍照事件。拍照事件包括JPEG内存。JPEG内存用于指示保存照片。拍照事件还可以包括:终端设备接收到拍照操作的时刻、拍照模式等。此处不做具体限定。
拍照操作的具体形式可以参照上述相关说明,此处不再赘述。
S802、特性模块在接收到用于指示拍照的命令后,调用拍照请求模块,以确定拍照请求。
本申请实施例中,拍照请求用于指示选取图像的数量。示例性的,拍照请求可以为选取4帧图像。
可能的实现方式中,拍照请求还可以用于指示调整底层硬件中相机的拍照参数,例如,曝光时间等。本申请实施例对于拍照请求中的具体内容不做限定。
可能的实现方式中,拍照请求与终端设备识别的拍照模式相对应。具体的,拍照请求模块在接收到用于指示拍照的命令后,确定接收拍照操作时对应的拍照模式,拍照请求模块基于拍照模式确定拍照请求。
本申请实施例中,拍照模式可以理解为拍照时周围的环境以及用户的拍照的方式。不同拍照模式中拍照时周围的环境的亮暗程度和拍照方式(例如相机的曝光时间)等可能不同。
示例性的,拍照模式包括但不限于高亮度模式、低亮度模式、逆光模式和高动态范围成像(high dynamic range,HDR)模式等。低亮度模式可以理解为拍照时环境亮度较低的模式。高亮度模式可以理解为拍照时环境亮度较高的模式。逆光场景可以理解为逆光拍摄的模式。上述拍照模式仅作为施例,本申请实施例对于具体的拍照模式划分不做具体限定。
一些实施例中,拍照事件还包括用于表示拍照模式的信息。
可能的实现方式中,拍照请求模块可以检测拍照模式。
或者,终端设备还可以包括场景检测模块。拍照请求模块可以从场景检测模块中获取拍照模式。场景检测模块可以通过对缓存队列中的图像进行拍照模式检测,得到拍照模式;或者通过图像的参数对拍照模式的检测,得到拍照模式。图像的参数包括但不限于:自动曝光控制AE、自动聚焦控制AF、自动白平衡控制AWB信息、图片信息(例如图像宽度、高度)、曝光参数(光圈大小、快门速度和感光度光圈值)等。
S803、特性模块向ISP处理模块发送处理请求。
处理请求包括目标算法参数。算法参数可以参照上述相关说明,此处不做赘述。
适应性的,ISP处理模块基于目标算法参数进行初始化。
S804、特性模块基于拍照请求从缓存管理中选取多帧待处理图像。
可以理解的是,特性模块可以基于拍照请求确认选帧策略,进而从缓存管理中选取待处理图像。
一些实施例中,特性模块基于拍照请求确认选帧策略。特性模块基于拍照请求和选帧策略从缓存管理中选取待处理图像。
本申请实施例中,选取的图像为缓存队列中保存的图像。选取的图像可以为终端设备接收到拍照操作时预览画面对应的图像,也可以为该图像预设时长范围内的图像,还可以为拍照操作后缓存的图像。本申请实施例对于选取的图像的缓存时间不做具体限定。
预设时长可以根据实际情况进行设置,通常预设时长设置的相对较小。以预设时长为一秒钟为例,即,选取用户的拍照操作时的前一秒内(即预设时长为一秒钟)的预览画面对应的一帧或多帧图像。
可能的实现方式中,终端设备可以选取连续的多帧图像,也可以选取不连续的多帧图像。本申请实施例对此不做限定。
本申请实施例中,选帧策略包括选取的待处理图像的数量。数量可以为1,也可以为其他任意数值。此处不做限定。
可能的实现方式中,特性模块还可以基于拍照模式确认选帧策略。选帧策略中可以包括选取图像的方式。具体可以参照上述相关说明,此处不再赘述。
一些实施例中,处理请求还包括编码器的标识信息。编码器的标识信息用于识别编码器,以方便后续对编码器的调用。本申请实施例中,ISP处理模块基于处理请求中编码器的标识信息注册回调函数。回调函数用于在ISP处理模块完成最后一帧待处理图像的处理时,调用拍照管线中的编码器,以进行图像融合处理和格式转换处理,生成照片。
S805、特性模块调用ISP处理模块以对待处理图像进行处理。
S806、ISP处理模块基于处理请求中的算法参数对待处理图像进行处理。
一些实施例中,ISP处理模块串行处理待处理图像。示例性的,以待处理图像的数量为3为例,ISP处理模块处理第一帧待处理图像,得到第一帧处理后的图像;ISP处理模块得到第一帧处理后的图像后,处理第二帧待处理图像,得到第二帧处理后的图像;ISP处理模块得到第二帧处理后的图像后,处理第三帧待处理图像,得到第三帧处理后的图像。
S807、ISP处理模块向编码器发送处理后的图像。
一些实施例中,处理请求中包括编码器的标识信息;ISP处理模块基于标识信息建立回调函数。ISP处理模块通过回调函数向编码器发送处理后的图像。
可以理解的是,ISP处理模块可以在每帧待处理图像处理结束后,向编码器发送相应处理后的图像。ISP处理模块也可以在全部待处理图像处理结束后,向编码器发送全部的处理后的图像。
一些实施例中,ISP处理模块向特性模块发送处理后的图像;特性模块调用编码器以对处理后的图像进行融合、格式转换处理,得到照片。
S808、编码器对处理后的图像进行融合、格式转换处理,得到照片。
示例性的,编码器将融合处理后的图像从YUV格式转换为JPG格式或者JPEG格式。
S809、编码器将照片传输至图库应用进行保存。
这样,一次拍照操作,对应于一次ISP初始化过程,可以减少ISP初始化次数,缩短初始化耗时。
上面已对本申请实施例的拍照方法进行了说明,下面对本申请实施例提供的执行上述拍照方法的终端设备进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的终端设备可以执行上述拍照方法中的步骤。
如图9所示,图9为本申请实施例提供的一种拍照装置的结构示意图,该拍照装置可以是本申请实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。
如图9所示,拍照装置2100可以用于通信设备、电路、硬件组件或者芯片中,该拍照装置包括:显示单元2101、以及处理单元2102。其中,显示单元2101用于支持拍照装置2100执行的显示的步骤;处理单元2102用于支持拍照装置2100执行信息处理的步骤。
可能的实现方式中,该拍照装置2100中也可以包括通信单元2103。具体的,通信单元用于支持拍照装置2100执行数据的发送以及数据的接收的步骤。其中,该通信单元2103可以是输入或者输出接口、管脚或者电路等。
可能的实施例中,拍照装置还可以包括:存储单元2104。处理单元2102、存储单元2104通过线路相连。存储单元2104可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元2104可以独立存在,通过通信线路与拍照装置具有的处理单元2102相连。存储单元2104也可以和处理单元2102集成在一起。
存储单元2104可以存储终端设备中的方法的计算机执行指令,以使处理单元2102执行上述实施例中的方法。存储单元2104可以是寄存器、缓存或者RAM等,存储单元2104可以和处理单元2102集成在一起。存储单元2104可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元2104可以与处理单元2102相独立。
为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的拍照方法,可以应用在具备拍照功能的电子设备中。电子设备包括终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
本申请实施例提供一种终端设备,该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行上述方法。
本申请实施例提供一种芯片,该芯片包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行上述方法。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种拍照方法,其特征在于,应用于终端设备,所述终端设备包括拍照管线pipeline和图像信号ISP处理模块,所述方法包括:
所述终端设备接收到在目标拍摄模式中的拍照操作后,所述拍照管线向所述ISP处理模块发送处理请求,所述处理请求包括目标算法参数;所述目标算法参数为所述目标拍照模式中,所述ISP处理模块进行图像处理时使用的算法参数;
所述ISP处理模块进行初始化;所述初始化包括:设置所述ISP处理模块处理图像时使用的算法参数为所述目标算法参数,以及创建缓存,所述缓存用于存储图像;
所述拍照管线得到多帧待处理图像;
所述拍照管线向所述ISP处理模块传输所述多帧待处理图像;
所述ISP处理模块基于所述目标算法参数和所述缓存对所述多帧待处理图像进行处理,得到多帧处理后的图像;
所述ISP处理模块向所述拍照管线发送所述多帧处理后的图像;
所述拍照管线基于所述多帧处理后的图像生成照片。
2.根据权利要求1所述的方法,其特征在于,所述多帧待处理图像包括第一图像和第二图像;
所述ISP处理模块基于所述目标算法参数和所述缓存对所述多帧待处理图像进行处理,得到多帧处理后的图像,包括:
所述ISP处理模块基于所述目标算法参数和所述缓存对所述第一图像进行处理,得到处理后的第一图像;
所述ISP处理模块在得到处理后的第一图像后,基于所述目标算法参数和所述缓存对所述第二图像进行处理,得到处理后的第二图像;
所述ISP处理模块在得到处理后的所述第一图像与得到处理后的所述第二图像期间,所述ISP处理模块不进行初始化。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述ISP处理模块在得到所述多帧处理后的图像后,销毁所述ISP处理模块中的缓存。
4.根据权利要求3所述的方法,其特征在于,所述多帧待处理图像包括携带有第一标识的第一图像,所述第一标识用于指示最后一个;
所述ISP处理模块在得到所述多帧处理后的图像后,销毁所述ISP处理模块中的缓存,包括:
所述ISP处理模块在得到处理后的所述第一图像后,销毁所述ISP处理模块中的缓存。
5.根据权利要求3或4所述的方法,其特征在于,所述处理请求包括:需处理的所述待处理图像的数量,需处理的所述待处理图像的数量与所述多帧待处理图像的数量相同,均为整数N;
所述ISP处理模块在第N次得到处理后的图像后,销毁所述ISP处理模块中的缓存。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述拍照管线包括编码器,所述处理请求还包括所述编码器的标识信息;
所述方法还包括:所述ISP处理模块在进行初始化时,基于所述标识信息注册回调函数;
所述ISP处理模块向所述拍照管线发送所述多帧处理后的图像,包括:所述ISP处理模块基于所述回调函数向所述编码器发送所述多帧处理后的图像;
所述拍照管线基于所述多帧处理后的图像生成照片,包括:所述编码器对所述多帧待处理图像进行处理生成照片。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述拍照管线得到多帧待处理图像,包括:
所述终端设备接收到在所述拍照操作后,所述拍照管线基于所述目标拍摄模式和预先存储的第一对应关系得到拍照请求,所述拍照请求包括所述多帧待处理图像的数量,所述第一对应关系为待处理图像的数量与拍摄模式之间的关系;
当所述多帧待处理图像的数量为N时,所述拍照管线基于所述拍照请求从缓存队列中保存的图像中选取N帧图像,得到所述多帧待处理图像;
所述缓存队列用于缓存所述终端设备响应于所述拍照操作拍摄的图像。
8.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行如权利要求1-7任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101462.1A CN117156293A (zh) | 2023-01-19 | 2023-01-19 | 拍照方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101462.1A CN117156293A (zh) | 2023-01-19 | 2023-01-19 | 拍照方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117156293A true CN117156293A (zh) | 2023-12-01 |
Family
ID=88903292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310101462.1A Pending CN117156293A (zh) | 2023-01-19 | 2023-01-19 | 拍照方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117156293A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812553A (zh) * | 2015-09-24 | 2016-07-27 | 维沃移动通信有限公司 | 一种快速拍照方法及移动终端 |
CN109961404A (zh) * | 2017-12-25 | 2019-07-02 | 沈阳灵景智能科技有限公司 | 一种基于gpu并行计算的高清视频图像增强方法 |
CN112770059A (zh) * | 2021-01-22 | 2021-05-07 | 维沃移动通信(杭州)有限公司 | 拍照方法、装置及电子设备 |
US20220223017A1 (en) * | 2021-01-14 | 2022-07-14 | Google Llc | Buffered Video Recording for Video Cameras |
CN115278069A (zh) * | 2022-07-22 | 2022-11-01 | 北京紫光展锐通信技术有限公司 | 图像处理方法及装置、计算机可读存储介质、终端 |
-
2023
- 2023-01-19 CN CN202310101462.1A patent/CN117156293A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812553A (zh) * | 2015-09-24 | 2016-07-27 | 维沃移动通信有限公司 | 一种快速拍照方法及移动终端 |
CN109961404A (zh) * | 2017-12-25 | 2019-07-02 | 沈阳灵景智能科技有限公司 | 一种基于gpu并行计算的高清视频图像增强方法 |
US20220223017A1 (en) * | 2021-01-14 | 2022-07-14 | Google Llc | Buffered Video Recording for Video Cameras |
CN112770059A (zh) * | 2021-01-22 | 2021-05-07 | 维沃移动通信(杭州)有限公司 | 拍照方法、装置及电子设备 |
CN115278069A (zh) * | 2022-07-22 | 2022-11-01 | 北京紫光展锐通信技术有限公司 | 图像处理方法及装置、计算机可读存储介质、终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021147482A1 (zh) | 一种长焦拍摄的方法及电子设备 | |
US20150244916A1 (en) | Electronic device and control method of the same | |
WO2021244295A1 (zh) | 拍摄视频的方法和装置 | |
CN112449120B (zh) | 高动态范围视频生成方法及装置 | |
US20210358523A1 (en) | Image processing method and image processing apparatus | |
CN113824873B (zh) | 一种图像处理的方法及相关电子设备 | |
WO2021190348A1 (zh) | 图像处理方法和电子设备 | |
WO2024016564A9 (zh) | 二维码识别方法、电子设备以及存储介质 | |
WO2024031879A1 (zh) | 显示动态壁纸的方法和电子设备 | |
CN115604572B (zh) | 图像的获取方法、电子设备及计算机可读存储介质 | |
WO2023045719A1 (zh) | 算法调用方法与算法调用装置 | |
CN113099146A (zh) | 一种视频生成方法、装置及相关设备 | |
CN116916151B (zh) | 拍摄方法、电子设备和存储介质 | |
CN116306733B (zh) | 一种放大二维码的方法及电子设备 | |
EP4262226A1 (en) | Photographing method and related device | |
CN115633262A (zh) | 图像处理方法和电子设备 | |
CN115514881B (zh) | 控制相机的方法与电子设备 | |
CN117156293A (zh) | 拍照方法和相关装置 | |
CN116723418B (zh) | 拍照方法和相关装置 | |
CN114443894A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN116744106B (zh) | 相机应用的控制方法和终端设备 | |
CN115589539B (zh) | 一种图像调节的方法、设备及存储介质 | |
WO2023035868A1 (zh) | 拍摄方法及电子设备 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
WO2024109203A1 (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 |