CN117692769A - 相机控制方法、装置、图像处理框架、介质、终端及芯片 - Google Patents
相机控制方法、装置、图像处理框架、介质、终端及芯片 Download PDFInfo
- Publication number
- CN117692769A CN117692769A CN202211059297.XA CN202211059297A CN117692769A CN 117692769 A CN117692769 A CN 117692769A CN 202211059297 A CN202211059297 A CN 202211059297A CN 117692769 A CN117692769 A CN 117692769A
- Authority
- CN
- China
- Prior art keywords
- layer
- image data
- image processing
- target image
- frame
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000003993 interaction Effects 0.000 claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims description 90
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 8
- 238000012805 post-processing Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 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
- 230000003068 static effect Effects 0.000 description 1
- 230000004304 visual acuity Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
本公开涉及一种相机控制方法、装置、图像处理框架、介质、终端及芯片,应用于终端,终端包括图像处理框架,所述图像处理框架包括应用层、框架层、硬件抽象层、中间层,中间层分别与框架层和硬件抽象层进行数据交互,应用层与框架层进行数据交互,包括:在中间层接收到硬件抽象层发送的原始图像数据的情况下,确定终端的相机的运行模式;在运行模式为拍照模式的情况下,通过中间层对原始图像数据进行图像处理,得到目标图像数据,通过框架层将目标图像数据发送至应用层,通过应用层显示目标图像数据。本公开针对不同的相机运行模式,设置不同的处理方式,这样,使得图像后处理更加灵活,提高了用户体验。
Description
技术领域
本公开涉及终端技术领域,尤其涉及一种相机控制方法、装置、图像处理框架、介质、终端及芯片。
背景技术
随着移动终端的普及和移动互联网的迅速发展,拍照功能已经成为移动终端的标准配置之一。用户在使用移动终端进行拍照时,为了拍出满意的照片,通常需要对图片进行图像后处理。
相关技术中,移动终端的OEM(Original Equipment Manufacturer,原始设备制造商)基于平台供应商提供的平台代码集成相应的图像处理算法,对原始图像数据进行图像后处理,但是,由于图像处理算法比较复杂,处理速度比较慢,不能满足相机实时性要求比较高的场景。
发明内容
为克服相关技术中存在的问题,本公开提供一种相机控制方法、装置、图像处理框架、介质、终端及芯片。
根据本公开实施例的第一方面,提供一种相机控制方法,应用于终端,所述终端包括图像处理框架,所述图像处理框架包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互,包括:
在所述中间层接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式;
在所述运行模式为拍照模式的情况下,通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据,并通过所述框架层将所述目标图像数据发送至所述应用层,通过所述应用层显示所述目标图像数据。
可选地,所述方法还包括:
在所述运行模式为预览模式或者录像模式的情况下,通过所述中间层和所述框架层,将所述原始图像数据发送至所述应用层,并通过所述应用层显示所述原始图像数据。
可选地,所述方法还包括:
通过所述应用层接收用户触发的相机运行请求消息,并根据所述相机运行请求消息,确定运行参数信息;
通过所述硬件抽象层,根据所述运行参数信息,获取所述原始图像数据。
可选地,所述方法还包括:
在所述运行模式为所述预览模式或者所述录像模式的情况下,通过所述中间层接收所述硬件抽象层发送的拍照场景信息,并存储所述拍照场景信息。
可选地,所述通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据包括:
通过所述中间层获取存储的所述拍照场景信息;
通过所述中间层,按照所述拍照场景信息,对所述原始图像数据进行图像处理,得到所述目标图像数据。
可选地,所述中间层包括多个图像处理算法,所述通过所述中间层,按照所述拍照场景信息,对所述原始图像数据进行图像处理,得到所述目标图像数据包括:
根据所述拍照场景信息,从多个所述图像处理算法中确定至少一个目标图像处理算法;
通过至少一个所述目标图像处理算法,对所述原始图像数据进行图像处理,得到所述目标图像数据。
可选地,所述通过至少一个所述目标图像处理算法,对所述原始图像数据进行图像处理,得到所述目标图像数据包括:
对至少一个所述目标图像处理算法进行初始化;
通过至少一个所述目标图像处理算法对所述原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到所述目标图像数据。
可选地,所述方法还包括:
在所述硬件抽象层接收到所述原始图像数据的情况下,对所述原始图像数据进行格式转换,得到预览图像数据,并通过所述硬件抽象层、所述中间层以及所述框架层,将所述预览图像数据发送至所述应用层;
通过所述应用层显示所述预览图像数据。
根据本公开实施例的第二方面,提供一种相机控制装置,应用于终端,所述终端包括图像处理框架,所述图像处理框架包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互,包括:
第一确定模块,被配置为在所述中间层接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式;
第一显示模块,被配置为在所述运行模式为拍照模式的情况下,通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据,并通过所述框架层将所述目标图像数据发送至所述应用层,通过所述应用层显示所述目标图像数据。
可选地,所述装置还包括:
第二显示模块,被配置为在所述运行模式为预览模式或者录像模式的情况下,通过所述中间层和所述框架层,将所述原始图像数据发送至所述应用层,并通过所述应用层显示所述原始图像数据。
可选地,所述装置还包括:
第二确定模块,被配置为通过所述应用层接收用户触发的相机运行请求消息,并根据所述相机运行请求消息,确定运行参数信息;
第一获取模块,被配置为通过所述硬件抽象层,根据所述运行参数信息,获取所述原始图像数据。
可选地,所述装置还包括:
存储模块,被配置为在所述运行模式为所述预览模式或者所述录像模式的情况下,通过所述中间层接收所述硬件抽象层发送的拍照场景信息,并存储所述拍照场景信息。
可选地,所述第一显示模块,还被配置为:
通过所述中间层获取存储的所述拍照场景信息;
通过所述中间层,按照所述拍照场景信息,对所述原始图像数据进行图像处理,得到所述目标图像数据。
可选地,所述中间层包括多个图像处理算法,所述第一显示模块,还被配置为:
根据所述拍照场景信息,从多个所述图像处理算法中确定至少一个目标图像处理算法;
通过至少一个所述目标图像处理算法,对所述原始图像数据进行图像处理,得到所述目标图像数据。
可选地,所述第一显示模块,还被配置为:
对至少一个所述目标图像处理算法进行初始化;
通过至少一个所述目标图像处理算法对所述原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到所述目标图像数据。
可选地,所述装置还包括:
第二获取模块,被配置为在所述硬件抽象层接收到所述原始图像数据的情况下,对所述原始图像数据进行格式转换,得到预览图像数据,并通过所述硬件抽象层、所述中间层以及所述框架层,将所述预览图像数据发送至所述应用层;
第三显示模块,被配置为通过所述应用层显示所述预览图像数据。
根据本公开实施例的第三方面,提供一种图像处理框架,包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互;
所述中间层,用于在接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式,在所述运行模式为拍照模式的情况下,对所述原始图像数据进行图像处理,得到目标图像数据,并将所述目标图像数据发送至所述框架层;
所述框架层,用于在接收到所述中间层发送的所述目标图像数据的情况下,将所述目标图像数据发送至所述应用层;
所述应用层,用于在接收到所述框架层发送的所述目标图像数据后,显示所述目标图像数据。
可选地,所述中间层,还用于在所述运行模式为预览模式或者录像模式的情况下,将所述原始图像数据发送至所述框架层;
所述框架层,还用于在接收到所述中间层发送的所述原始图像数据的情况下,将所述原始图像数据发送至所述应用层;
所述应用层,还用于在接收到所述框架层发送的所述原始图像数据后,显示所述原始图像数据。
可选地,所述应用层,还用于接收用户触发的相机运行请求消息,并根据所述相机运行请求消息,确定运行参数信息;
所述硬件抽象层,用于根据所述运行参数信息,获取所述原始图像数据。
可选地,所述中间层,还用于在所述运行模式为所述预览模式或者所述录像模式的情况下,接收所述硬件抽象层发送的拍照场景信息,并存储所述拍照场景信息。
可选地,所述中间层,还用于获取存储的所述拍照场景信息,并按照所述拍照场景信息,对所述原始图像数据进行图像处理,得到所述目标图像数据。
可选地,所述中间层包括多个图像处理算法,所述中间层,还用于根据所述拍照场景信息,从多个所述图像处理算法中确定至少一个目标图像处理算法,并通过至少一个所述目标图像处理算法,对所述原始图像数据进行图像处理,得到所述目标图像数据。
可选地,所述中间层,还用于对至少一个所述目标图像处理算法进行初始化,并通过至少一个所述目标图像处理算法对所述原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到所述目标图像数据。
可选地,所述硬件抽象层,还用于在接收到所述原始图像数据的情况下,对所述原始图像数据进行格式转换,得到预览图像数据,并通过所述中间层和所述框架层,将所述预览图像数据发送至所述应用层;
所述应用层,还用于显示所述预览图像数据。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的相机控制方法的步骤。
根据本公开实施例的第五方面,提供一种终端,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所提供的相机控制方法的步骤。
根据本公开实施例的第六方面,提供一种芯片,应用于终端,包括一个或多个处理器,所述处理器用于调用计算机指令以使所述终端实现本公开第一方面所提供的相机控制方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:本公开的相机控制方法应用于终端,所述终端包括图像处理框架,所述图像处理框架包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互,所述方法包括:在所述中间层接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式;在所述运行模式为拍照模式的情况下,通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据,并通过所述框架层将所述目标图像数据发送至所述应用层,通过所述应用层显示所述目标图像数据。也就是说,本公开针对不同的相机运行模式,设置不同的处理方式,使得图像后处理更加灵活,提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种相机控制方法的流程图;
图2是根据一示例性实施例示出的另一种相机控制方法的流程图;
图3是根据一示例性实施例示出的另一种相机控制方法的流程图;
图4是根据一示例性实施例示出的另一种相机控制方法的流程图;
图5是根据一示例性实施例示出的另一种相机控制方法的流程图;
图6是根据一示例性实施例示出的一种相机控制方法的交互图;
图7是根据一示例性实施例示出的另一种相机控制方法的交互图;
图8是根据一示例性实施例示出的一种相机控制装置的框图;
图9是根据一示例性实施例示出的另一种相机控制装置的框图;
图10是根据一示例性实施例示出的另一种相机控制装置的框图;
图11是根据一示例性实施例示出的另一种相机控制装置的框图;
图12是根据一示例性实施例示出的另一种相机控制装置的框图;
图13是根据一示例性实施例示出的一种图像处理框架的示意图;
图14是根据一示例性实施例示出的一种终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
下面结合示例性实施例对本公开进行说明。
图1是根据一示例性实施例示出的一种相机控制方法的流程图,该方法应用于终端,该终端包括图像处理框架,该图像处理框架包括应用层、框架层、硬件抽象层以及中间层,该中间层分别与该框架层和该硬件抽象层进行数据交互,该应用层与该框架层进行数据交互。
其中,该终端所使用的原生系统中包括该应用层、该框架层以及该硬件抽象层,该应用层可以包括多个应用程序,该中间层为该终端的开发人员基于多个图像处理算法开发的一层结构。以Android(安卓)系统为例,本公开可以在Android原生系统的框架层和硬件抽闲层之间增加中间层,该中间层用于对获取的原始图像数据进行图像后处理。该框架层可以为该应用层提供API(Application Program Interface,应用程序编程接口)和组件,为该硬件抽象层提供框架接口,实现该应用层与该硬件抽象层之间的信息传递和调度。该硬件抽象层可以是介于该终端的平台内核和该框架层之间抽象出来的一层结构,将传感器输出的RAW数据转换成YUV数据,并将YUV数据发送至该框架层。
本公开将该中间层集成在该框架层和该硬件抽象层之间,在该硬件抽象层通过该中间层传输图像数据,这样,该中间层可以先对该图像数据进行图像处理,得到目标图像数据,最终将该目标图像数据传输至应用层。其中,该中间层可以包括第一交互接口层、会话层、执行层、第二交互接口层以及算法引擎,该算法引擎包括多个该图像处理算法,该第一交互接口层分别与该框架层、该会话层以及该算法引擎进行数据交互,该执行层分别与该会话层、该第二交互接口层以及该算法引擎进行数据交互,该第二交互接口层与该硬件抽象层进行数据交互。
本公开的相机控制方法可以应用于该中间层,对进行图像后处理相关的软件、硬件资源的控制逻辑和实现细节进行抽象,简化了应用层的业务设计,可以在多个平台上进行移植。该中间层可以包括定制抽象层和算法引擎,该定制抽象层可以从拍照、预览以及录像三种主流的应用模式出发,抽象不同模式图像数据的数据帧获取策略和处理需求,封装图像后处理过程的实现细节,实现了控制策略拆解的下移,能够充分调用硬件资源为相机应用提供高品质的图像数据。该算法引擎可以管理图像后处理相关的软件算法和硬件算法,协调算法之间的数据流转,软件算法面向不同的图像处理需求,例如畸变矫正、去紫边、多帧融合等,硬件算法以图像信号处理器为基础,完成图像处理需求。
如图1所示,该方法可以包括:
S101、在该中间层接收到该硬件抽象层发送的原始图像数据的情况下,确定该终端的相机的运行模式。
其中,该运行模式可以包括拍照模式、预览模式或者录像模式。
在本步骤中,用户可以通过应用层的相机应用程序中的按钮,触发相机运行请求消息,该相机运行请求消息可以包括拍照请求消息、预览请求消息或者录像请求消息。以该拍照请求消息为例,在用户点击拍照按钮后,该拍照应用程序可以向该框架层发送该拍照请求消息,该框架层在接收到该拍照请求消息后,将该拍照请求消息发送至该中间层。该中间层在接收到该框架层发送的该拍照请求消息后,可以根据该拍照请求消息确定该图像输出请求消息,将该图像输出请求消息发送至该硬件抽象层。该硬件抽象层在接收到该中间层发送的该图像输出请求消息后,可以根据该图像输出请求消息控制传感器输出该原始图像数据,并将该原始图像数据发送至该中间层。其中,该拍照应用程序可以是该终端的原生系统中的应用程序,也可以是用户下载的第三方应用程序,本公开对此不作限定。
在该中间层接收到该硬件抽象层发送的该原始图像数据后,可以通过预先创建的函数接口,确定该终端的相机的运行模式。
S102、在该运行模式为拍照模式的情况下,通过该中间层对该原始图像数据进行图像处理,得到目标图像数据,并通过该框架层将该目标图像数据发送至该应用层,通过该应用层显示该目标图像数据。
在本步骤中,在确定该运行模式为拍照模式的情况下,通过该中间层的多个图像处理算法对该原始图像数据进行图像处理,得到该目标图像数据,并将该目标图像数据发送至该框架层,该框架层在接收到该中间层发送的该目标图像数据后,将该目标图像数据发送至该应用层,该应用层在接收到该框架层发送的该目标图像数据后,显示该目标图像数据。
采用上述方法,针对不同的相机运行模式,设置不同的处理方式,仅在拍照模式时对该原始图像数据进行图像处理,得到高质量的目标图像数据,这样,使得图像后处理更加灵活,提高了用户体验。
图2是根据一示例性实施例示出的另一种相机控制方法的流程图,如图2所示,该方法还可以包括:
S103、在该运行模式为预览模式或者录像模式的情况下,通过该中间层和该框架层,将该原始图像数据发送至该应用层,并通过该应用层显示该原始图像数据。
在本步骤中,在确定该运行模式为预览模式或者录像模式的情况下,该中间层不对该原始图像数据进行图像处理,直接将该原始图像数据发送至该框架层,该框架层在接收到该中间层发送的该原始图像数据后,将该原始图像数据发送至该应用层,该应用层在接收到该框架层发送的该原始图像数据后,显示该原始图像数据。
综上所述,针对不同的相机运行模式,设置不同的处理方式,在拍照模式时对该原始图像数据进行图像处理,得到高质量的目标图像数据,在预览模式或者录像模式时不对该原始图像数据进行图像处理,使得预览模式或者录像模式的数据传输速率更快,这样,既能满足拍照场景下高质量图片的需求,也能够满足预览场景和录像场景下实时性的需求,使得图像后处理更加灵活,提高了用户体验。
图3是根据一示例性实施例示出的另一种相机控制方法的流程图,如图3所示,该方法还可以包括:
S104、通过该应用层接收用户触发的相机运行请求消息,并根据该相机运行请求消息,确定运行参数信息。
其中,该相机运行请求消息可以包括拍照请求消息、预览请求消息或者录像请求消息。
在本步骤中,用户可以通过该应用层的相机应用程序触发该相机运行请求消息后,根据该相机运行请求消息,确定该运行参数信息,该运行参数信息可以包括图像分辨率、曝光时长、帧率、传感器信息等。
S105、通过该硬件抽象层,根据该运行参数信息,获取该原始图像数据。
其中,该原始图像数据可以包括Raw数据和预览YUV数据。
在本步骤中,在确定该运行参数信息后,可以将该运行参数信息发送至该框架层,该框架层可以根据该运行参数信息分配缓存空间、构建数据请求消息,并通过该中间层,按照该帧率循环将该数据请求消息发送至该硬件抽象层,该硬件抽象层可以根据该数据请求消息,通过内核驱动层驱动传感器获取该原始图像数据。
图4是根据一示例性实施例示出的另一种相机控制方法的流程图,如图4所示,该方法还可以包括:
S106、在该运行模式为该预览模式或者该录像模式的情况下,通过该中间层接收该硬件抽象层发送的拍照场景信息,并存储该拍照场景信息。
相应的,步骤S102可以为:
在该运行模式为拍照模式的情况下,通过该中间层获取存储的该拍照场景信息;通过该中间层,按照该拍照场景信息,对该原始图像数据进行图像处理,得到该目标图像数据,并通过该框架层将该目标图像数据发送至该应用层,通过该应用层显示该目标图像数据。
其中,该拍照场景信息可以包括当前场景亮度、算法统计参数、明暗对比参数等。
示例地,该硬件抽象层在获取该原始图像数据的同时,还可以获取该拍照场景信息,并将该拍照场景信息发送至该中间层,该中间层在接收到该拍照场景信息的情况下,可以确定该运行模式是否为该预览模式或者该录像模式,在确定该运行模式为该预览模式或者该录像模式的情况下,存储该拍照场景信息。
在一种可能的实现方式中,在该运行模式由该预览模式或者录像模式切换为该拍照模式的情况下,该中间层可以获取存储的该拍照场景信息,根据该拍照场景信息,从多个该图像处理算法中确定至少一个目标图像处理算法;通过至少一个该目标图像处理算法,对该原始图像数据进行图像处理,得到该目标图像数据。
示例地,在该中间层获取该拍照场景信息后,可以根据该拍照场景信息,通过预先设置的算法关联关系,从多个图像处理算法中确定至少一个目标图像处理算法,该算法关联关系可以包括不同拍照场景与图像处理算法之间的对应关系。其中,该图像处理算法可以针对多个场景,该场景可以包括多摄、单摄、人像、夜景、超清、专利定制化等,例如,在0.6x至1x焦段,可以调用超广角镜头为主摄,通过多帧降噪硬件算法和畸变校正软件算法进行图像后处理;在场景亮度较低时,可以根据夜景统计算法返回的曝光值,向镜头模组请求对应的曝光帧,然后在图像后处理阶段由夜景软件算法提升场景解析力,还原高光细节以及暗部细节。
在确定至少一个目标图像处理算法后,可以对至少一个该目标图像处理算法进行初始化,通过至少一个该目标图像处理算法对该原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到该目标图像数据。
示例地,可以通过图像后处理引擎触发初始化流程,对至少一个目标图像处理算法进行初始化。该图像后处理引擎可以将至少一个目标图像处理算法的算法标识、算法输入、算法输出格式等信息发送至算法引擎,该算法引擎可以根据该算法标识,调度至少一个目标图像处理算法进行初始化操作、加载算法库、分配算法中转缓存空间,之后,该图像后处理引擎可以存储已初始化的后处理算法模式,这样,针对相同的应用场景,无需在每次拍照前进行重复的初始化操作,从而提高了图像处理的效率。
在对至少一个目标图像处理算法进行初始化后,可以通过至少一个目标图像处理算法,对该原始图像数据进行图像处理,并将该原始图像数据转换为YUV格式,得到该目标图像数据。其中,至少一个目标图像处理算法可以包括软件图像处理算法和硬件图像处理算法,软件图像处理算法主要基于YUV域的信息进行图像处理,硬件图像处理算法主要基于Raw域进行图像处理,完成格式转换、Raw域降噪等处理。
需要说明的是,本公开中间层是在获取原始图像数据的同时,进行图像处理,这样可以进一步提高图像处理的效率。
该中间层在对该原始图像数据进行图像处理,得到该目标图像数据后,通过该框架层将该目标图像数据发送至该应用层,通过该应用层显示该目标图像数据。
图5是根据一示例性实施例示出的另一种相机控制方法的流程图,如图5所示,该方法还可以包括:
S107、在该硬件抽象层接收到该原始图像数据的情况下,对该原始图像数据进行格式转换,得到预览图像数据,并通过该硬件抽象层、该中间层以及该框架层,将该预览图像数据发送至该应用层。
S108、通过该应用层显示该预览图像数据。
示例地,在该硬件抽象层接收到该原始图像数据后,在将该原始图像数据发送至该中间层的同时,对该原始图像数据进行格式转换,例如,将Raw格式转换为YUV格式,得到该预览图像数据,并将该预览图像数据发送至该中间层,该中间层在接收到该硬件抽象层发送的该预览图像数据后,将该预览图像数据发送至该框架层,该框架层在接收到该中间层发送的该预览图像数据后,将该预览图像数据发送至该应用层,该应用层在接收到该框架层发送的该预览图像数据后,显示该预览图像数据。也就是说,该硬件抽象层获取该预览图像数据和将该原始图像数据发送至该中间层是并行进行的,这样,在提高图像处理效率的同时,不影响预览图像的显示,并且,在图像处理过程中,先为用户显示预览图像,确保用户能够及时看到拍摄的图像,提高了用户体验。
图6是根据一示例性实施例示出的一种相机控制方法的交互图,如图6所示,该交互图为拍照模式的交互图,该中间层可以包括预设抽象层和算法引擎,该应用层响应于用户触发拍照请求消息,可以通过该框架层将该拍照请求消息发送至该预设抽象层,该预设抽象层可以根据该拍照请求消息确定图像处理策略,根据该图像处理策略向该硬件抽象层发送图像输出请求消息,该硬件抽象层可以根据该图像输出请求消息向硬件层请求原始图像数据,该硬件层在获取该原始图像数据后,将该原始图像数据发送至该预设抽象层,该原始图像数据可以包括原始Raw数据和预览YUV数据,该预设抽象层可以通过该框架层将该预览YUV数据返回给该应用层。在该预设抽象层返回该预览YUV数据的同时,可以触发算法初始化操作,在算法初始化完成后,可以协调该算法引擎对该原始图像数据进行图像处理,并通过调用硬件算法,驱动图像信号处理器进行图像处理,最终将处理后的目标图像数据返回给该应用层。
图7是根据一示例性实施例示出的另一种相机控制方法的交互图,如图7所示,该交互图为预览模式或者拍照模式的交互图,该应用层响应于用户触发拍照请求消息,可以通过该框架层将该拍照请求消息发送至该中间层,该中间层可以根据该拍照请求消息向该硬件抽象层发送YUV数据请求消息,该硬件抽象层可以根据该YUV数据请求消息,确定硬件组合方式,硬触发该硬件层获取原始图像数据,并将该原始图像数据返回值该中间层,该中间层可以触发该硬件抽象层和该硬件层对该原始图像数据进行格式转换和数据处理,得到处理后数据,并将该处理后数据返回至该中间层,该中间层在获取并存储该处理后数据对应的拍照场景信息后,可以返回拍照数据至该应用层。
图8是根据一示例性实施例示出的一种相机控制装置的框图,应用于终端,该终端安装的软件系统包括应用层、框架层、硬件抽象层以及中间层,该中间层分别与该框架层和该硬件抽象层进行数据交互,该应用层与该框架层进行数据交互,如图8所示,该装置可以包括:
第一确定模块801,被配置为在该中间层接收到该硬件抽象层发送的原始图像数据的情况下,确定该终端的相机的运行模式;
第一显示模块802,被配置为在该运行模式为拍照模式的情况下,通过该中间层对该原始图像数据进行图像处理,得到目标图像数据,并通过该框架层将该目标图像数据发送至该应用层,通过该应用层显示该目标图像数据。
可选地,图9是根据一示例性实施例示出的另一种相机控制装置的框图,如图9所示,该装置还包括:
第二显示模块803,被配置为在该运行模式为预览模式或者录像模式的情况下,通过该中间层和该框架层,将该原始图像数据发送至该应用层,并通过该应用层显示该原始图像数据。
可选地,图10是根据一示例性实施例示出的另一种相机控制装置的框图,如图10所示,该装置还包括:
第二确定模块804,被配置为通过该应用层接收用户触发的相机运行请求消息,并根据该相机运行请求消息,确定运行参数信息;
第一获取模块805,被配置为通过该硬件抽象层,根据该运行参数信息,获取该原始图像数据。
可选地,图11是根据一示例性实施例示出的另一种相机控制装置的框图,如图11所示,该装置还包括:
存储模块806,被配置为在该运行模式为该预览模式或者该录像模式的情况下,通过该中间层接收该硬件抽象层发送的拍照场景信息,并存储该拍照场景信息。
可选地,该第一显示模块802,还被配置为:
通过该中间层获取存储的该拍照场景信息;
通过该中间层,按照该拍照场景信息,对该原始图像数据进行图像处理,得到该目标图像数据。
可选地,该中间层包括多个图像处理算法,该第一显示模块802,还被配置为:
根据该拍照场景信息,从多个该图像处理算法中确定至少一个目标图像处理算法;
通过至少一个该目标图像处理算法,对该原始图像数据进行图像处理,得到该目标图像数据。
可选地,该第一显示模块802,还被配置为:
对至少一个该目标图像处理算法进行初始化;
通过至少一个该目标图像处理算法对该原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到该目标图像数据。
可选地,图12是根据一示例性实施例示出的另一种相机控制装置的框图,如图12所示,该装置还包括:
第二获取模块807,被配置为在该硬件抽象层接收到该原始图像数据的情况下,对该原始图像数据进行格式转换,得到预览图像数据,并通过该硬件抽象层、该中间层以及该框架层,将该预览图像数据发送至该应用层;
第三显示模块808,被配置为通过该应用层显示该预览图像数据。
通过上述装置,针对不同的相机运行模式,设置不同的处理方式,仅在拍照模式时对该原始图像数据进行图像处理,得到高质量的目标图像数据,这样,使得图像后处理更加灵活,提高了用户体验。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13是根据一示例性实施例示出的一种图像处理框架的示意图,如图13所示,该中间层,用于在接收到该硬件抽象层发送的原始图像数据的情况下,确定该终端的相机的运行模式,在该运行模式为拍照模式的情况下,对该原始图像数据进行图像处理,得到目标图像数据,并将该目标图像数据发送至该框架层;
该框架层,用于在接收到该中间层发送的该目标图像数据的情况下,将该目标图像数据发送至该应用层;
该应用层,用于在接收到该框架层发送的该目标图像数据后,显示该目标图像数据。
可选地,该中间层,还用于在该运行模式为预览模式或者录像模式的情况下,将该原始图像数据发送至该框架层;
该框架层,还用于在接收到该中间层发送的该原始图像数据的情况下,将该原始图像数据发送至该应用层;
该应用层,还用于在接收到该框架层发送的该原始图像数据后,显示该原始图像数据。
可选地,该应用层,还用于接收用户触发的相机运行请求消息,并根据该相机运行请求消息,确定运行参数信息;
该硬件抽象层,用于根据该运行参数信息,获取该原始图像数据。
可选地,该中间层,还用于在该运行模式为该预览模式或者该录像模式的情况下,接收该硬件抽象层发送的拍照场景信息,并存储该拍照场景信息。
可选地,该中间层,还用于获取存储的该拍照场景信息,并按照该拍照场景信息,对该原始图像数据进行图像处理,得到该目标图像数据。
可选地,该中间层包括多个图像处理算法,该中间层,还用于根据该拍照场景信息,从多个该图像处理算法中确定至少一个目标图像处理算法,并通过至少一个该目标图像处理算法,对该原始图像数据进行图像处理,得到该目标图像数据。
可选地,该中间层,还用于对至少一个该目标图像处理算法进行初始化,并通过至少一个该目标图像处理算法对该原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到该目标图像数据。
可选地,该硬件抽象层,还用于在接收到该原始图像数据的情况下,对该原始图像数据进行格式转换,得到预览图像数据,并通过该中间层和该框架层,将该预览图像数据发送至该应用层;
该应用层,还用于显示该预览图像数据。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的相机控制方法的步骤。
上述装置除了可以是独立的电子设备外,也可是独立电子设备的一部分,例如在一种实施例中,该装置可以是集成电路(Integrated Circuit,IC)或芯片,其中该集成电路可以是一个IC,也可以是多个IC的集合;该芯片可以包括但不限于以下种类:GPU(GraphicsProcessing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、FPGA(Field Programmable Gate Array,可编程逻辑阵列)、DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、SOC(System on Chip,SoC,片上系统或系统级芯片)等。上述的集成电路或芯片中可以用于执行可执行指令(或代码),以实现上述的相机控制方法。其中该可执行指令可以存储在该集成电路或芯片中,也可以从其他的装置或设备获取,例如该集成电路或芯片中包括处理器、存储器,以及用于与其他的装置通信的接口。该可执行指令可以存储于该处理器中,当该可执行指令被处理器执行时实现上述的相机控制方法;或者,该集成电路或芯片可以通过该接口接收可执行指令并传输给该处理器执行,以实现上述的相机控制方法。
图14是根据一示例性实施例示出的一种终端800的框图。例如,终端800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图14,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的相机控制方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
输入/输出接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到终端800的打开/关闭状态,组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述相机控制方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述相机控制方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的相机控制方法的代码部分。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种相机控制方法,其特征在于,应用于终端,所述终端包括图像处理框架,所述图像处理框架包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互,包括:
在所述中间层接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式;
在所述运行模式为拍照模式的情况下,通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据,并通过所述框架层将所述目标图像数据发送至所述应用层,通过所述应用层显示所述目标图像数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述运行模式为预览模式或者录像模式的情况下,通过所述中间层和所述框架层,将所述原始图像数据发送至所述应用层,并通过所述应用层显示所述原始图像数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述应用层接收用户触发的相机运行请求消息,并根据所述相机运行请求消息,确定运行参数信息;
通过所述硬件抽象层,根据所述运行参数信息,获取所述原始图像数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述运行模式为所述预览模式或者所述录像模式的情况下,通过所述中间层接收所述硬件抽象层发送的拍照场景信息,并存储所述拍照场景信息。
5.根据权利要求4所述的方法,其特征在于,所述通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据包括:
通过所述中间层获取存储的所述拍照场景信息;
通过所述中间层,按照所述拍照场景信息,对所述原始图像数据进行图像处理,得到所述目标图像数据。
6.根据权利要求5所述的方法,其特征在于,所述中间层包括多个图像处理算法,所述通过所述中间层,按照所述拍照场景信息,对所述原始图像数据进行图像处理,得到所述目标图像数据包括:
根据所述拍照场景信息,从多个所述图像处理算法中确定至少一个目标图像处理算法;
通过至少一个所述目标图像处理算法,对所述原始图像数据进行图像处理,得到所述目标图像数据。
7.根据权利要求6所述的方法,其特征在于,所述通过至少一个所述目标图像处理算法,对所述原始图像数据进行图像处理,得到所述目标图像数据包括:
对至少一个所述目标图像处理算法进行初始化;
通过至少一个所述目标图像处理算法对所述原始图像数据进行图像处理,并对处理后的原始图像数据进行格式转换,得到所述目标图像数据。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
在所述硬件抽象层接收到所述原始图像数据的情况下,对所述原始图像数据进行格式转换,得到预览图像数据,并通过所述硬件抽象层、所述中间层以及所述框架层,将所述预览图像数据发送至所述应用层;
通过所述应用层显示所述预览图像数据。
9.一种相机控制装置,其特征在于,应用于终端,所述终端包括图像处理框架,所述图像处理框架包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互,包括:
第一确定模块,被配置为在所述中间层接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式;
第一显示模块,被配置为在所述运行模式为拍照模式的情况下,通过所述中间层对所述原始图像数据进行图像处理,得到目标图像数据,并通过所述框架层将所述目标图像数据发送至所述应用层,通过所述应用层显示所述目标图像数据。
10.一种图像处理框架,其特征在于,包括应用层、框架层、硬件抽象层以及中间层,所述中间层分别与所述框架层和所述硬件抽象层进行数据交互,所述应用层与所述框架层进行数据交互;
所述中间层,用于在接收到所述硬件抽象层发送的原始图像数据的情况下,确定所述终端的相机的运行模式,在所述运行模式为拍照模式的情况下,对所述原始图像数据进行图像处理,得到目标图像数据,并将所述目标图像数据发送至所述框架层;
所述框架层,用于在接收到所述中间层发送的所述目标图像数据的情况下,将所述目标图像数据发送至所述应用层;
所述应用层,用于在接收到所述框架层发送的所述目标图像数据后,显示所述目标图像数据。
11.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
12.一种终端,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-8中任一项所述方法的步骤。
13.一种芯片,其特征在于,应用于终端,包括一个或多个处理器,所述处理器用于调用计算机指令以使所述终端执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211059297.XA CN117692769A (zh) | 2022-08-31 | 2022-08-31 | 相机控制方法、装置、图像处理框架、介质、终端及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211059297.XA CN117692769A (zh) | 2022-08-31 | 2022-08-31 | 相机控制方法、装置、图像处理框架、介质、终端及芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692769A true CN117692769A (zh) | 2024-03-12 |
Family
ID=90126990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211059297.XA Pending CN117692769A (zh) | 2022-08-31 | 2022-08-31 | 相机控制方法、装置、图像处理框架、介质、终端及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692769A (zh) |
-
2022
- 2022-08-31 CN CN202211059297.XA patent/CN117692769A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020527000A (ja) | 撮影モバイル端末 | |
US20180144546A1 (en) | Method, device and terminal for processing live shows | |
CN113032030A (zh) | 相机启动方法、装置、终端设备和存储介质 | |
CN109117144B (zh) | 页面处理方法、装置、终端及存储介质 | |
CN112291631A (zh) | 信息获取方法、装置、终端及存储介质 | |
CN112188034A (zh) | 一种图像处理方法、装置、终端设备及介质 | |
CN114268802B (zh) | 虚拟空间展示方法、装置、电子设备及存储介质 | |
EP3905660A1 (en) | Method and device for shooting image, and storage medium | |
CN113810675B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN117692769A (zh) | 相机控制方法、装置、图像处理框架、介质、终端及芯片 | |
EP3846012A1 (en) | Application interface display method and apparatus, and storage medium | |
CN111835977B (zh) | 图像传感器、图像生成方法及装置、电子设备、存储介质 | |
CN111698414B (zh) | 图像信号处理方法及装置、电子设备、可读存储介质 | |
CN113746998A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN117692749A (zh) | 拍摄方法、装置、图像处理框架、介质、终端及芯片 | |
CN116893816B (zh) | 远程渲染方法、装置及存储介质 | |
CN116419075A (zh) | 图像数据的处理方法、装置及存储介质 | |
CN116419062A (zh) | 图像处理方法、装置及存储介质 | |
CN110876013B (zh) | 确定图像分辨率的方法及装置、电子设备及存储介质 | |
CN117880644A (zh) | 拍照方法、装置、存储介质、芯片及终端 | |
CN117692789A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115733913A (zh) | 连续拍照方法及装置、存储介质 | |
CN117939224A (zh) | 投屏显示方法、装置、存储介质及芯片 | |
CN116489498A (zh) | 图像预览方法、图像预览装置、电子设备及存储介质 | |
CN116931865A (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 |