CN113747060A - 图像处理的方法、设备、存储介质及计算机程序产品 - Google Patents
图像处理的方法、设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN113747060A CN113747060A CN202110926999.2A CN202110926999A CN113747060A CN 113747060 A CN113747060 A CN 113747060A CN 202110926999 A CN202110926999 A CN 202110926999A CN 113747060 A CN113747060 A CN 113747060A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- processing sub
- lut
- image processing
- filter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 400
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000004590 computer program Methods 0.000 title claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 464
- 238000007781 pre-processing Methods 0.000 claims abstract description 79
- 230000004044 response Effects 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 73
- 239000000463 material Substances 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 35
- 238000009877 rendering Methods 0.000 claims description 26
- 230000036316 preload Effects 0.000 claims description 8
- 238000003672 processing method Methods 0.000 abstract description 7
- 239000010410 layer Substances 0.000 description 58
- 230000006870 function Effects 0.000 description 39
- 238000004891 communication Methods 0.000 description 32
- 230000006854 communication Effects 0.000 description 32
- 238000012805 post-processing Methods 0.000 description 25
- 238000007726 management method Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 20
- 230000005236 sound signal Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 239000003086 colorant Substances 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 101100021996 Arabidopsis thaliana CYP97C1 gene Proteins 0.000 description 2
- 101100510695 Arabidopsis thaliana LUT2 gene Proteins 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/667—Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供的一种图像处理的方法、设备、存储介质及计算机程序产品,所述方法包括响应于相机模式选择操作,确定对应的Pipeline;对应的Pipeline包含多个图像处理子算法,多个图像处理子算法包含LUT滤镜处理子算法;响应于LUT滤镜选择操作,确定目标LUT滤镜;根据目标LUT滤镜,并按照多个图像处理子算法的预设执行顺序,依次执行多个图像处理子算法对拍摄的图像进行渲染处理,其中,在执行第一图像处理子算法时,加载目标LUT滤镜的预处理信息;第一图像处理子算法为执行顺序在所述LUT滤镜处理子算法之前的图像处理子算法。用以利于解决现有技术中电子设备滤镜功能启用后,图像处理效率低的问题。
Description
技术领域
本申请涉及计算机技术领域,具体地涉及一种图像处理的方法、设备、存储介质及计算机程序产品。
背景技术
用户在使用电子设备拍摄的过程中,可以根据自己的偏好和使用习惯利用色彩滤镜调整拍摄的图像的显示效果,以提高用户体验。
滤镜一般分为两大类:代码实现和显示查找表(LUT,Look Up Table)实现。代码实现是指通过代码描述计算的方式来实现滤镜效果,而LUT实现则是通过查表来实现滤镜效果。一般的,可以将代码实现的滤镜称为普通滤镜,简称滤镜,而将通过LUT来实现的滤镜成为LUT滤镜。其中,LUT滤镜可以通过枚举红绿蓝(RGB,Red Green Blue)像素值可能的取值范围,对其中的每一种可能的取值范围都预先计算出滤镜后的结果,然后保存该结果,这样,后续在需要对某个图像进行LUT滤镜处理时,便可以通过查表来确定滤镜后的结果,而无需进行滤镜计算。因此,LUT滤镜相对于普通滤镜而言,其处理速度可以更快。
但是,由于LUT滤镜在使用前需要加载额外的素材图等滤镜资源,才能进行LUT滤镜处理,而加载LUT滤镜的滤镜资源所需时间较长,会导致拍摄过程中,图像处理的时间较长,导致其图像处理的效率较低。
发明内容
有鉴于此,本申请提供一种图像处理的方法、设备、存储介质及计算机程序产品,以利于解决现有技术中电子设备滤镜功能启用后,图像处理效率低,加载慢耗时长的问题。
第一方面,本申请实施例提供了一种图像处理的方法,包括:
响应于相机模式选择操作,确定对应的算法集Pipeline;所述对应的Pipeline包含多个图像处理子算法,所述多个图像处理子算法包含LUT滤镜处理子算法;所述LUT滤镜处理子算法用以对采集的图像进行LUT滤镜渲染处理;
确定目标LUT滤镜;
按照所述多个图像处理子算法的预设执行顺序,依次执行多个图像处理子算法对拍摄的图像进行处理,得到待显示图像,其中,在执行第一图像处理子算法时,加载所述目标LUT滤镜的预处理信息;所述第一图像处理子算法为执行顺序在所述LUT滤镜处理子算法之前的图像处理子算法。
优选地,所述预处理信息包括:LUT滤镜的动态库信息及目标LUT滤镜的LUT颜色矩阵;
所述在执行第一图像处理子算法时,加载所述目标LUT滤镜的预处理信息包括:
在执行所述第一图像处理子算法时,加载目标LUT滤镜对应的LUT滤镜的动态库信息及所述目标LUT滤镜的LUT颜色矩阵。
优选地,所述在执行所述第一图像处理子算法时,加载所述目标LUT滤镜的LUT颜色矩阵包括:
在执行所述第一图像处理子算法时,加载所述目标LUT滤镜的素材图,并根据所述目标LUT滤镜的素材图通过插值算法计算出所述目标LUT滤镜的LUT颜色矩阵。
优选地,所述多个图像处理子算法包括:防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法。
优选地,所述第一图像处理子算法包括防抖子算法。
优选地,所述第一图像处理子算法是所述LUT滤镜处理子算法前一个执行的图像处理子算法。
优选地,所述第一图像处理子算法与所述LUT滤镜处理子算法间间隔至少一个图像处理子算法。
优选地,所述响应于相机模式选择操作,确定对应的Pipeline包括:
响应于相机模式选择操作,由原相机模式切换至目标相机模式,确定所述目标相机模式的Pipeline,其中,原相机模式是电子设备原来所处的相机模式;所述目标相机模式是用户选择操作后需要切换过去的新相机模式。
优选地,所述原相机模式包括录像模式;所述目标相机模式包括:拍照模式;或者,所述原相机模式包括拍照模式;所述目标相机模式包括:录像模式。
优选地,所述确定目标LUT滤镜包括:
将在所述拍照模式之前用户在上一次拍照模式下拍照时保存的LUT滤镜,确定为所述目标LUT滤镜。
优选地,所述第一图像处理子算法中携带有预加载标识信息;其中,所述预加载标识信息用以指示加载所述LUT滤镜处理子算法的预处理信息。
第二方面,本申请实施例提供了一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,使得计算机执行第一方面任一项所述的方法。
第三方面,本申请实施例提供了一种存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项所述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项所述的方法。
根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:
在执行第一图像处理子算法时预加载目标LUT滤镜的预处理信息,其中第一图像处理子算法是执行顺序在LUT滤镜处理子算法之前的图像处理子算法,在运行LUT滤镜处理子算法时,可以直接使用已加载完成的目标LUT滤镜的预处理信息,从而可以减少拍摄时,电子设备处理图像的时长,提高图像处理的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种不同LUT滤镜渲染效果的场景示意图;
图2a为本申请实施例提供的另一种3D LUT滤镜的存储场景示意图;
图2b为本申请实施例提供的另一种3D LUT滤镜的存储场景示意图;
图2c为本申请实施例提供的另一种3D LUT滤镜的存储场景示意图;
图3a为本发明实施例提供的一种现有拍照流程示意图;
图3b为本发明实施例提供的另一种现有拍照流程示意图;
图4为本发明实施例提供的另一种现有拍照流程示意图;
图5为本申请实施例提供的一种图像处理的方法流程图;
图6为本申请实施例提供的一种三线性插值运算的示意图;
图7a为本申请实施例提供的另一种图像处理的方法流程图;
图7b为本申请实施例提供的另一种图像处理的方法流程图;
图8为本申请实施例提供的另一种图像处理的方法流程图;
图9为本申请实施例提供的一种电子设备的软件结构框图;
图10为本申请实施例提供的一种基于上述电子设备的软件结构的图像处理的方法的流程示意图;
图11为本申请实施例提供的另一种基于上述电子设备的软件结构的图像处理的方法的流程示意图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
1)、用户体验(user experience,UX):也可以称为UX特性,指的是用户使用电子设备在拍摄过程中的感受。
2)、电影模式:指的是电子设备录制视频的一种模式。在本申请实施例中,电影模式包括4K高动态范围图像(high-dynamic range,HDR)功能和颜色查找表(look up table,LUT)功能,当用户选择电影模式录制视频时,能够使得录制的视频具有电影的质感,使画面更加立体。
3)、LUT:也可以称为LUT文件或者LUT参数,是一种颜色转换模板,比如可以是一种红蓝绿(red green blue,RGB)的映射表。LUT能够将实际采样到的像素灰度值经过一定的变换(如阈值、反转、对比度调整以及线性变换等),变成了另外一个与之对应的灰度值,这样可以起到突出图像的有用信息,增强图像的光对比度的作用。
一张图像包括很多像素,每个像素由RGB值表示。电子设备的显示屏可以根据该图像中每个像素点的RGB值来显示该图像。也就是说,这些RGB值会指示显示屏如何发光,以混合出各种各样的色彩呈现给用户。
LUT是一种RGB的映射表,用于表征调整前后的RGB值的对应关系。例如,请参考表1,其示出一种LUT的示例。
表1
当原始RGB值为(14,22,24)时,经过表1所示的LUT的映射,输出RGB值为(6,9,4)。当原始RGB值为(61,34,67)时,经过表1所示的LUT的映射,输出RGB值为(66,17,47)。当原始RGB值为(94,14,171)时,经过表1所示的LUT的映射,输出RGB值为(117,82,187)。当原始RGB值为(241,216,222)时,经过表1所示的LUT的映射,输出RGB值为(255,247,243)。
需要说明的是,采用不同的LUT处理同一张图像时,可以得到不同风格图像效果。例如,图1所示的LUT1、LUT2和LUT3是不同的颜色查找表。采用LUT1处理摄像头采集的原始图像100,可得到图1所示的图像101。采用LUT2处理摄像头采集的原始图像100,可得到图1所示的图像102。采用LUT3处理摄像头采集的原始图像100,可得到图1所示的图像103。对比图1所示的图像101、图像102和图像103可知,图像101、图像102和图像103图像效果或者风格不同。
3D LUT的储存方式有三种:第一种为三维数据,第二种为颜色方块,即为3D LUT的颜色矩阵,第三种为颜色图片,即为素材图片,如图2a所示。第一及第二种所需的存储空间较大,目前常用的存储方式为存储LUT的素材图片。
而在8bit的RGB色域空间中,每个分量的取值范围为[0,255],一张完整的色域空间为256*256*256,将其完整保存时,可采用颜色方块的方式,参考图2c所示,其对应的存储空间为48M。而在电子设备通常设置有多种滤镜效果,则存储所用滤镜效果对应的3D LUT文件所用的存储空间较大,存在存储空间占用较大的问题。
而颜色图片的存储方式其本质就是将颜色矩阵进行二维化处理。在8bit的RGB色域空间中,每个分量的取值范围为[0,255],一张完整的色域空间中具有256*256*256种颜色。颜色矩阵中存储有256*256*256种颜色。在颜色矩阵中,不同的RGB的值对应不同的索引地址,如图2a中的(a)所示。在将颜色矩阵进行降维处理,得到二维化的颜色图片时,是将256种颜色归化到64种颜色中。例如,将附图2a中(2)所示的颜色矩阵中,分别在X方向,Y方向及Z方向均将256种颜色归化到64种颜色中。沿Z方向进行划分,划分为64层,将每一层设置为其内包含有64*64个颜色值的格子,将格子按照8*8的形式排列,形成颜色图片,即为一种LUT滤镜的素材图,如图2b所示,不同LUT滤镜对应的素材图不同。
由于将三维的颜色矩阵降维至二维的颜色图片时,中间会丢失很多颜色。因此,在采用颜色图片的存储方式进行LUT滤镜的存储,在使用时,需预先加载颜色图片,通过插值运算将颜色图片还原为颜色方块,以形成完整的色域空间,才能进行LUT滤镜的渲染处理。
在本申请实施例中,可以以电子设备为手机为例进行说明,当然,电子设备还可以是其他能够进行拍摄的设备,本身对此不作限制。
在实际应用场景中,用户打开手机进入主屏幕界面如图3a中(1)所示,响应于用户在手机主屏幕界面中操作“相机”应用的图像301,手机显示如图3a中(2)所示的界面302。其中,界面302为手机拍照的预览界面,该界面302中还包括“人像”模式、“录像”模式、“专业”模式、“电影”模式等。在界面302中,有LUT滤镜控件303。为了拍摄出不同风格或效果的视频,响应于用户操作滤镜控件303,手机显示如图3a中(3)所示的界面304。在界面304中显示出不同的滤镜,包括LUT滤镜1,LUT滤镜2,LUT滤镜3,……,LUT滤镜8。用户可以根据当前的拍摄场景,在界面304中显示出的LUT滤镜1,LUT滤镜2,LUT滤镜3,……,LUT滤镜8中选择一个。响应于用户操作LUT滤镜2,手机显示如图3a中(4)所示的界面305。响应于用户选择录像模式,手机显示图3b中(1)所示的界面306。在用户想要从录像模式切换至拍照时,响应于用户选择拍照模式,手机重新显示拍照的预览界面。由于上一次进入拍照模式时,用户选择了LUT滤镜2,在本次进入拍照模式时,默认使用拍照模式保存的上一次使用的LUT滤镜,即为LUT滤镜2。此时,手机在使用LUT滤镜2对采集的图像进行渲染处理之前,需先加载LUT滤镜2的素材图,并进行插值算法,得到LUT滤镜2对应的颜色矩阵后才能执行滤镜算法对采集的图像进行渲染处理。而在加载LUT滤镜2的素材图并进行插值算法的过程中,手机界面由于还没完成图像的LUT滤镜2的渲染处理,因此会显示模糊图像,即为手机显示图3b中(2)所示的界面307。在完成LUT滤镜2的素材图的加载,将其进行插值运算得到LUT滤镜2的颜色矩阵后,执行滤镜算法对采集的图像进行渲染处理,得到待显示图像,此时手机显示图3b(3)所述的界面308,在该界面中显示较为清晰的LUT滤镜2的渲染处理的图像;由于加载LUT滤镜2的素材图并进行插值算法的过程需要一定的时间,因此,显示图3b中(2)所示的界面307需要用户等待一段时间才能进入图3b(3)所述的预览界面308,这会给用户带来效率低下,转场慢的问题;反过来,从拍照模式进入录像模式存在相同的问题;在录像模式下,加载LUT滤镜的素材图并进行插值算法的过程同样需要一定的时间,因此,从拍照模式转到录像模式时,同样存在转场慢的问题。
目前,电子设备中包含有多种相机模式,不同的相机模式实现的功能不同。针对每种相机模式预先设定有实现该种相机模式的对应的Pipeline(算法集)。而在每种对应的Pipeline中可以包含有多种图像处理子算法以实现相应相机模式下多种处理图像的功能,例如,滤镜,美肤,防抖等。电子设备可以根据用户选择的相机模式确定相应的对应的Pipeline,并执行相应的对应的Pipeline。图4是现有实现拍照模式下的对应的Pipeline的一种流程示意图。电子设备实现拍照模式的对应的Pipeline为:源文件加载算法(SourceFilter),中继算法(Bridge Sink Filter),拍照算法(PP Source Filter),防抖算法,滤镜算法(Color Effect Filter),达芬奇渲染算法(Davinci Filter),编解码算法(EncoderFilter),保存算法(Writer Filter)。在实现拍照功能时,也会相应的生成拍摄的图片的缩略图,此时对于的生成缩略图算法为:源文件加载算法(Source Filter),中继算法(BridgeSink Filter),拍照算法(PP Source Filter),防抖算法,缩略图生成算法(ThumbnailFilter)及通知算法(Notifier Filter)。上述的算法执行顺序是预先设置好的,电子设备可以按照各个算法的执行顺序依次执行。滤镜算法用于实现3D LUT滤镜效果时,则在执行上述滤镜算法实现对图像的渲染处理之前,需要先加载相应的滤镜资源即为目标LUT滤镜的素材图,并对该素材图进行插值运算,得到所需的3D LUT的RGB值。在得到所需的3DLUT的RGB值后,才能执行滤镜算法实现对图像的渲染处理。也就是说,在图4所示的实施例中,电子设备执行上述各个算法是串行执行的,即为是按照预设执行顺序依次执行,在进行到滤镜算法时,需要先加载滤镜算法所需的LUT滤镜的颜色矩阵,才能执行滤镜算法对图像进行相应的滤镜渲染处理。而在加载LUT滤镜的颜色矩阵的过程一般是先加载LUT滤镜对应的素材图,根据LUT滤镜对应的素材图进行插值运算,得到LUT滤镜的颜色矩阵,上述过程较为耗时,导致电子设备处理图像的时间较长,则上述图3b中(2)所述的界面内显示的模糊图像时间较长,降低用户体验。
而在本申请实施例中,为了减少手机显示界面显示模糊图像的时间,可以在执行滤镜算法之前的某个算法,例如在执行防抖算法时,同时加载滤镜算法所需的预设LUT滤镜的资源信息并进行插值算法,得到预设LUT滤镜对应的颜色矩阵。在执行完防抖算法后,可以直接根据加载完成的预设LUT滤镜对应的颜色矩阵执行滤镜算法对拍摄的图像进行渲染处理,得到待显示图像,在手机显示界面中显示待显示图像。这样一来,可以减少等待加载的预设LUT滤镜的资源信息并进行插值算法的时间,即为可以减少手机界面显示模糊图像的时间,更快速的显示出清晰的图像。
具体的,在本申请实施例中,提出了一种图像处理的方法。图5所示为本申请实施例提供的一种图像处理的方法流程图。如图5所示,图像处理方法包括:
步骤S501、响应于相机模式选择操作,确定对应的Pipeline(算法集)。
其中,对应的Pipeline包含多个图像处理子算法,多个图像处理子算法包含LUT滤镜处理子算法;LUT滤镜处理子算法用以对采集的图像进行LUT滤镜渲染处理。
需要说明的是,相机模式是指电子设备具有的图像拍摄的模式,包含拍照模式,录像模式,专业模式,夜景模式等。在电子设备中针对每种相机模式预先设置了相应的对应的Pipeline,以实现相应的相机模式。例如,针对拍照模式在电子设备中预先设置了实现拍照模式对应的Pipeline。对应的Pipeline内包含有一系列图像处理子算法组合而成。即为在该对应的Pipeline中包含有多个图像处理子算法,每种图像处理子算法可以实现拍照模式下的一种功能,通过多个图像处理子算法可以实现拍照模式下的多种功能。例如,在拍摄模式下,可以实现美肤,防抖,LUT滤镜等功能。此时,实现拍照模式的对应的Pipeline中包含有实现美肤功能的美肤子算法,实现防抖功能的防抖子算法,实现LUT滤镜功能的LUT滤镜处理子算法。也就是说,在电子设备中,针对相机模式中的每种模式均设置有实现该模式的对应的Pipeline,在对应的Pipeline中包含有用于实现该种相机模式下不同功能的图像处理子算法。
在本申请实施例中,用户在选择了相机模式后,电子设备可以接收到相机模式选择操作,电子设备可以根据接收的相机模式选择操作确定出用户选择的相机模式对应的Pipeline。在该相机模式对应的Pipeline中包含有用于对图像进行LUT滤镜渲染处理的LUT滤镜处理子算法及实现其他功能的至少一个图像处理子算法。
需要说明的是,相机模式对应的Pipeline在包含至少两个图像处理子算法时,在确定相机模式对应的Pipeline时,其内的图像处理子算法的执行顺序也会确定出,按照执行顺序执行各个图像处理子算法才能实现相应的处理效果。
进一步地,相机模式对应的Pipeline可以存储在本地存储介质中,这样一来,电子设备在获取了相机模式选择操作后,可以在本地存储介质中获取选定的相机模式对应的Pipeline所在的配置文件,进而从该配置文件中获取到相机模式对应的Pipeline。
进一步地,上述多个图像处理子算法包括:防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法。
需要说明的是,多个图像处理子算法还可以包含有实现其他功能的子算法,本申请对此不做限制。
进一步的,在防抖子算法的执行顺序在LUT滤镜处理子算法之前时,第一图像处理子算法包括防抖子算法。
进一步地,响应于相机模式选择操作,确定对应的Pipeline包括:响应于相机模式选择操作,由原相机模式切换至目标相机模式,确定目标相机模式的Pipeline。
其中,原相机模式是电子设备原来所处的相机模式。所述目标相机模式是用户选择操作后需要切换过去的新相机模式。
在本申请实施例中,当电子设备处于原相机模式,例如录像相机模式时,若用户想要切换至拍照模式,则向电子设备发送拍照模式选择操作,此时,电子设备由录像相机模式切换至拍照相机模式。电子设备在由录像相机模式切换至拍照相机模式时,需同时在存储的不同相机模式对应的Pipeline中,确定出拍照相机模式对应的Pipeline。
进一步地,原相机模式包括录像模式,目标相机模式包括:拍照模式;或者,所述原相机模式包括拍照模式;所述目标相机模式包括:录像模式。
步骤S502、确定目标LUT滤镜。
在本申请实施例中,电子设备中设置有多种LUT滤镜,不同的LUT滤镜实现的渲染效果不同。此时电子设备确定目标LUT滤镜的方式可以是通过用户的选择来确定。此时,用户可以根据实际拍摄场景所需与实际拍摄场景相匹配的LUT滤镜。电子设备可以根据用户的LUT滤镜选择操作,获知用户选择的LUT滤镜,将其确定为目标LUT滤镜。
或者,电子设备可以将针对当前选择的相机模式下保存的LUT滤镜确定为目标LUT滤镜。即为,确定目标LUT滤镜包括:根据相机模式选择操作,将选择的相机模式中保存的LUT滤镜确定为目标LUT滤镜。
也就是说,在当前用户选择的相机模式下保存有预设的LUT滤镜,此时可以直接将该相机模式下的预设LUT滤镜确定为目标LUT滤镜。在该相机模式下可以预先设置默认的LUT滤镜,此时,电子设备可以直接将该预先设置的默认LUT滤镜确定为目标LUT滤镜。或者,该相机模式下保存有之前用户使用过的LUT滤镜,此时,可以将保存的用户使用过的LUT滤镜作为预设的LUT滤镜,将其确定为目标LUT滤镜。
进一步地,确定目标LUT滤镜包括:将在拍照模式之前用户在上一次拍照模式下拍照时保存的LUT滤镜,确定为目标LUT滤镜。
在本申请实施例中,当电子设备由录像模式切换至拍照模式时,可以直接将上一次拍照模式下拍照时保存的LUT滤镜,确定为目标LUT滤镜。
例如,用户打开手机界面,进入主屏幕显示界面后,响应于用户点击“相机”应用的图标,进入拍摄界面。在拍摄界面中,用户选择了某一滤镜,例如黑白LUT滤镜,则电子设备在拍照模式下会保存用户选择的黑白LUT滤镜,此时电子设备可以将用户选择的黑白LUT滤镜确定为目标LUT滤镜。若此时用户由拍照模式切换至录像模式后,又切换至拍照模式时,电子设备可以将拍照模式下保存的黑白LUT滤镜确定为目标LUT滤镜。
步骤S503、按照多个图像处理子算法的预设执行顺序,依次执行多个图像处理子算法对拍摄的图像进行处理,得到待显示图像,其中,在执行第一图像处理子算法时,加载目标LUT滤镜的预处理信息;第一图像处理子算法为执行顺序在所述LUT滤镜处理子算法之前的图像处理子算法。
其中,在执行第一图像处理子算法时,加载目标LUT滤镜的预处理信息;目标LUT滤镜的预处理信息是LUT滤镜处理子算法执行时所需的LUT滤镜相关参数信息;第一图像处理子算法为执行顺序在LUT滤镜处理子算法之前的图像处理子算法。
在本申请实施例中,电子设备在确定出用户选定的相机模式对应的Pipeline及目标LUT滤镜后,可以执行对应的Pipeline对图像进行处理,得到待显示图像。此时,由于对应的Pipeline包含有至少两个图像处理子算法,因此执行对应的Pipeline对图像进行处理,即为,需要执行各个图像处理子算法,实现对图像进行处理。此时,按照多个图像处理子算法的预设执行顺序,依次执行多个图像处理子算法对图像进行处理。在本申请中,在确定出目标LUT滤镜后,说明用户需要在图像中叠加目标LUT滤镜的效果,此时LUT滤镜处理子算法用以实现对图像进行目标LUT滤镜的渲染处理,而LUT滤镜处理子算法在执行前,需要先加载所需的目标LUT滤镜的相关参数信息,即为需要先加载目标LUT滤镜的预处理信息。为了缩短电子设备对图像进行目标LUT滤镜的渲染处理的时长,可以在执行第一图像处理子算法时,同时加载目标LUT滤镜的预处理信息。其中,按照多个图像处理子算法的预设执行顺序,第一图像处理子算法的执行顺序在LUT滤镜处理子算法的执行顺序之前。即为,需要先执行第一图像处理子算法,再执行LUT滤镜处理子算法。也就是说,在本申请实施例中,在执行顺序在LUT滤镜处理子算法之前的第一图像处理子算法被执行时,同时加载目标LUT滤镜的预处理信息,这样由于预加载了目标LUT滤镜的预处理信息,在执行LUT滤镜处理子算法时,可以直接使用目标LUT滤镜的预处理信息,减少了因加载目标LUT滤镜的预处理信息,而暂停执行LUT滤镜处理子算法的等待时间。
进一步地,上述目标LUT滤镜为3D LUT滤镜,此时目标LUT滤镜的预处理信息包括:LUT滤镜的动态库信息及目标LUT滤镜的LUT颜色矩阵。
上述在执行第一图像处理子算法时,加载目标LUT滤镜的预处理信息包括:
在执行第一图像处理子算法时,加载目标LUT滤镜对应的LUT滤镜的动态库信息及目标LUT滤镜的LUT颜色矩阵。
具体的,目标LUT滤镜为3D LUT滤镜时,在通过LUT滤镜处理子算法对图像进行渲染之前,需要先将目标LUT滤镜的LUT颜色矩阵加载至内存中,这样在执行LUT滤镜处理子算法时,该算法才能根据目标LUT滤镜的LUT颜色矩阵对图像进行渲染处理。
但是LUT颜色矩阵若直接存储在本地存储介质,由于每个LUT滤镜的LUT颜色矩阵所需的存储空间较大,且不同LUT滤镜的LUT颜色矩阵不同,需要针对每种LUT滤镜存储每种LUT滤镜的LUT颜色矩阵,则会造成所需的存储空间过大。为了节省存储空间,通常将3D LUT滤镜采用颜色图片即为素材图的方式进行存储。不同3D LUT滤镜效果的素材图是不同的。例如,怀旧风格的3D LUT滤镜对应的素材图与晨光风格的3D LUT滤镜对应的素材图不同。每种LUT滤镜的素材图所需的存储空间较小,不会造成所需的存储空间过大的问题。但是,素材图其实对LUT颜色矩阵的压缩,会造成部分颜色的丢失。在实际使用时,在加载了素材图后,需要通过插值运算将素材图还原为LUT颜色矩阵。基于此,在执行所述第一图像处理子算法时,加载目标LUT滤镜的LUT颜色矩阵包括:
在执行第一图像处理子算法时,加载目标LUT滤镜的素材图,并根据目标LUT滤镜的素材图通过插值算法计算出目标LUT滤镜的LUT颜色矩阵。
也就是说,由于LUT颜色矩阵中有256*256*256种RGB值,所需的存储空间较大,为了节省电子设备的存储空间,并不直接存储LUT颜色矩阵,而是存储能够构建LUT颜色矩阵的素材图。在使用时,需先加载素材图,然后根据素材图利用插值算法构建LUT颜色矩阵。在本申请实施例中,电子设备在执行第一图像处理子算法的过程中,需先加载目标LUT滤镜的素材图,然后通过插值算法计算出素材图对应的LUT颜色矩阵。即为将具有64*64*64种RGB值的素材图插值为具有256*256*256种RGB值的LUT颜色矩阵。
作为一种可能的实现方式,电子设备可以根据素材图中已有的64*64*64种RGB值通过三线性插值算法进行补充,形成具有256*256*256种RGB值的LUT颜色矩阵。
需要说明的是,三线性插值算法是现有的一种插值算法,三线性插值是在三维离散采样数据的张量积网格上进行线性插值的方法。这个张量积网格可能在每一维度上都有任意不重叠的网格点,这种方法通过网格上数据点在局部的矩形棱柱上线性地近似计算点(x,y,z)的值。图6为一种三线性插值示意图。参考附图6中的坐标系,在x方向上对四条棱边进行四次插值,得到每条边上的四个点的值C00,C01,C10,C11,然后在y方向上对上述插值所得的四个点在进行插值,得到两条线段以及中间的两个点的值C0,C1,然后在z方向上对C0,C1两个点进行插值,得到最终的c点的值。具体三线性插值算法的实现方式,是现有方式,在此不再赘述。
需要说明的是,在本申请实施例中,还可以通过其他插值算法实现通过素材图构建LUT颜色矩阵,本申请对此不作限制。
进一步地,为了方便实现,在实际实现时,可以将加载目标LUT滤镜的素材图及通过素材图进行插值运算生成LUT颜色矩阵设置在同一个函数中实现,并将最终生成的LUT颜色矩阵保存在内存中,以便执行LUT滤镜处理子算法对图像进行渲染处理时,通过存储LUT颜色矩阵的内存地址获取到LUT颜色矩阵。
LUT滤镜处理子算法对图像进行渲染处理的实现过程具体如下:
LUT滤镜处理子算法在通过存储LUT颜色矩阵的内存地址获取到LUT颜色矩阵后,可以将图像中某个像素的RGB的值作为索引地址查找LUT颜色矩阵,在LUT颜色矩阵中查找到该像素的RGB的值对应的位置,读取出LUT颜色矩阵中对应位置记录的RGB的值,将读取的LUT颜色矩阵中对应位置记录的RGB的值替换图像中该像素的RGB的值。通过上述方式,将图像中的每个像素的RGB均进行LUT颜色矩阵中RGB值的映射转换,实现对图像进行目标LUT滤镜的渲染处理。例如,电子设备在执行LUT滤镜处理子算法之前,完成加载LUT颜色矩阵,在执行LUT滤镜处理子算法时通过存储LUT颜色矩阵的内存地址获取到LUT颜色矩阵,假设图像中像素a的RGB的值为100,100,100,则LUT滤镜处理子算法可以根据像素a的RGB的值100,100,100作为索引地址查找LUT颜色矩阵,根据RGB的值100,100,100在LUT颜色矩阵中查找到匹配项中对应的RGB的值为200,200,200,则LUT滤镜处理子算法直接将图像中像素a的RGB的值由100,100,100更换为200,200,200。
进一步地,第一图像处理子算法是LUT滤镜处理子算法前一个执行的图像处理子算法。
具体的,在第一图像处理子算法是LUT滤镜处理子算法执行的前一个图像处理子算法时,如图7a所示,按照多个图像处理子算法的预设执行顺序,依次执行执行顺序在第一图像处理子算法之前的第一其他图像处理子算法,按照预设执行顺序执行到第一图像处理子算法时,需在执行第一图像处理子算法时,同时加载目标LUT滤镜的预处理信息。在第一图像处理子算法执行完成,按照预设执行顺序,继续执行LUT滤镜处理子算法。
由于目标LUT滤镜的预处理信息是在第一图像处理子算法执行时同时加载的,存在第一图像处理子算法的执行时间小于加载目标LUT滤镜的预处理信息的加载时间的问题,此时,在第一图像处理子算法执行完成后,但是目标LUT滤镜的预处理信息并未加载完成。基于此,在执行LUT滤镜处理子算法之前,需要先确定目标LUT滤镜的预处理信息是否已经加载完成。例如,电子设备的LUT滤镜处理子算法执行之前,可以先检测是否接收到标示出目标LUT滤镜的预处理信息已经加载完成的标志位信息,如果接收到了标示出目标LUT滤镜的预处理信息已经加载完成的标志位信息,则确定目标LUT滤镜的预处理信息已经加载完成,此时可以继续执行LUT滤镜处理子算法。如果没有接收到标示出目标LUT滤镜的预处理信息已经加载完成的标志位信息,则说明目标LUT滤镜的预处理信息未加载完成,则需等待目标LUT滤镜的预处理信息加载完成后,才能执行LUT滤镜处理子算法。在执行完LUT滤镜处理子算法后,按照预设执行顺序,继续执行后续的第二其他图像处理子算法。在执行完各个图像处理子算法后可以得到待显示图像,将待显示图像在显示界面中显示出。
上述方式第一图像处理子算法是LUT滤镜处理子算法执行的前一个图像处理子算法,在执行第一图像处理子算法的同时,加载目标LUT滤镜的预处理信息,这样可以避免太早加载目标LUT滤镜的预处理信息,造成长时间占用内存资源,浪费内存资源。
但是,可能会存在第一图像处理子算法执行时长小于加载目标LUT滤镜的预处理信息的时长,使得LUT滤镜处理子算法无法直接在第一图像处理子算法执行后立即执行,需先等待目标LUT滤镜的预处理信息加载完成,造成LUT滤镜处理子算法的执行时长变长的问题。
为了解决上述问题,第一图像处理子算法与LUT滤镜处理子算法间间隔至少一个第二图像处理子算法。
其中,至少一个第二图像处理子算法是执行顺序在LUT滤镜处理子算法之前,且在第一图像处理子算法之后的图像处理子算法。
具体的,在第一图像处理子算法是LUT滤镜处理子算法执行的前n个图像处理子算法时,如图7b所示,其n为大于1的整数,按照预设执行顺序,执行执行顺序在第一图像处理子算法之前的第一其他图像处理子算法,第一其他图像处理子算法执行完成后,继续执行第一图像处理子算法,并在执行第一图像处理子算法的同时加载目标LUT滤镜的预处理信息。在执行完第一图像处理子算法时,按照预设执行顺序,继续执行至少一个第二图像处理子算法对图像进行处理。在执行至少一个第二图像处理子算法时,如果目标LUT滤镜的预处理信息未加载完成,则可以继续加载。在执行完至少一个第二图像处理子算法后,需要执行LUT滤镜处理子算法。此时电子设备可以先确定目标LUT滤镜的预处理信息是否已加载完成,电子设备可以先检测是否接收到标示出目标LUT滤镜的预处理信息已经加载完成的标志位信息,如果接收到了标示出目标LUT滤镜的预处理信息已经加载完成的标志位信息,则确定目标LUT滤镜的预处理信息已经加载完成,可以继续执行LUT滤镜处理子算法。如果没有接收到标示出目标LUT滤镜的预处理信息已经加载完成的标志位信息,则说明目标LUT滤镜的预处理信息未加载完成,则需等待目标LUT滤镜的预处理信息加载完成后,才能执行LUT滤镜处理子算法。在执行完LUT滤镜处理子算法后,按照预设执行顺序,继续执行后续的第二其他图像处理子算法。在执行完各个图像处理子算法后可以得到待显示图像,将待显示图像在显示界面中显示出。
上述方式第一图像处理子算法是LUT滤镜处理子算法执行的前n个图像处理子算法,在执行第一图像处理子算法的同时,加载目标LUT滤镜的预处理信息,这样即使第一图像处理子算法执行时长小于加载目标LUT滤镜的预处理信息的时长,在执行完第一图像处理子算法后,可以按照预设执行顺序,继续执行至少一个第二图像处理子算法,并继续加载目标LUT滤镜的预处理信息,降低执行LUT滤镜处理子算法时,目标LUT滤镜的预处理信息未加载完成的可能。但是上述方式中,由于第一图像处理子算法是LUT滤镜处理子算法执行的前n个图像处理子算法,因此可能存在太早加载目标LUT滤镜的预处理信息,造成长时间占用内存资源,浪费内存资源的问题。
综上两种方式,按照多个图像处理子算法的预设执行顺序,第一图像处理子算法可以是LUT滤镜处理子算法执行的前一个图像处理子算法,也可以是LUT滤镜处理子算法执行的前n个图像处理子算法,n为大于1的整数。至于具体将第一图像处理子算法确定为LUT滤镜处理子算法执行之前的第几个图像处理子算法,需要综合考虑LUT滤镜处理子算法执行顺序之前的图像处理子算法需加载资源的情况,运行时长及目标LUT滤镜的预处理信息所占内存的时长。例如,若执行顺序为LUT滤镜处理子算法前一个的图像处理子算法的运行时长大于目标LUT滤镜的预处理信息的加载时长,且其需加载的资源较少,则可以将执行顺序为LUT滤镜处理子算法前一个的图像处理子算法确定为第一图像处理子算法。若执行顺序为LUT滤镜处理子算法前一个的图像处理子算法的运行时长大于目标LUT滤镜的预处理信息的加载时长,但是其需加载的资源较多,且执行顺序为LUT滤镜处理子算法前两个的图像处理子算法的运行时长大于目标LUT滤镜的预处理信息的加载时长,且其需加载的资源较少,则可以将执行顺序为LUT滤镜处理子算法前两个的图像处理子算法确定为第一图像处理子算法。第一图像处理子算法的确定可以是根据对应的Pipeline中包含的各个图像处理子算法的实际情况确定,本申请对此不作限制。
需要说明的还是,LUT滤镜的预处理信息的加载算法是LUT滤镜处理子算法中的部分算法。可以将LUT滤镜处理子算法中LUT滤镜的预处理信息的加载算法称为预加载子算法,将对图像进行渲染处理的算法称为渲染子算法。在本申请实施例中,在执行第一图像处理子算法时,同时加载LUT滤镜的预处理信息是指在执行第一图像处理子算法时,同时执行预加载子算法完成LUT滤镜的预处理信息的预加载。在加载完后,执行到LUT滤镜处理子算法时,执行LUT滤镜处理子算法是指执行渲染子算法,对图像进行渲染处理。
示例性的,用户打开手机进入主屏幕界面参考图3a所示,响应于用户在手机主屏幕界面中操作“相机”应用的图像301,手机显示进入拍照模式的预览界面302,该界面中还包括“人像”模式、“录像”模式、以及“专业”模式等。在进入拍照模式时,如图8所示,电子设备可以确定出拍照模式对应的Pipeline。假设Pipeline中包含有防抖,美肤,滤镜及面部识别四个图像处理子算法。且对应的Pipeline中预先设定了四个图像处理子算法的执行顺序为防抖,美肤,滤镜及面部识别。假设在拍照模式中用户选择了LUT滤镜2进行图像的拍摄,此时,电子设备可以将LUT滤镜2确定为目标LUT滤镜。电子设备将目标LUT滤镜等拍摄参数传输至拍照模式对应的Pipeline,电子设备可以根据各个图像处理子算法的预先执行顺序,依次执行各个图像处理子算法。假设将美肤对应的图像处理子算法确定为第一图像处理子算法。电子设备首先根据拍照模式下的四个图像处理子算法的执行顺序,执行四个图像处理子算法。此时,电子设备需先执行防抖对应的图像处理子算法,并在执行完防抖对应的图像处理子算法后,按照拍照模式下的四个图像处理子算法的执行顺序,继续执行美肤对应的图像处理子算法,并在执行美肤对应的图像处理子算法时,同时加载目标LUT滤镜的预处理信息,即为同时加载LUT滤镜的动态库信息、LUT滤镜2的素材图。并根据加载的LUT滤镜2的素材图通过三线性插值算法,构建LUT滤镜2的LUT颜色矩阵。在加载完LUT滤镜2的LUT颜色矩阵后可以向电子设备反馈标示出LUT滤镜2的预处理信息加载完成后的标志位。在执行完美肤对应的图像处理子算法后,根据拍照模式下的四个图像处理子算法的执行顺序,需要执行LUT滤镜处理子算法,此时检测到接收到了标示出LUT滤镜2的预处理信息加载完成后的标志位,则说明LUT滤镜2的预处理信息加载完成,可以直接根据LUT滤镜2的预处理信息执行LUT滤镜处理子算法,此时电子设备可以根据图像中各个像素的RGB值查找LUT滤镜2的LUT颜色矩阵,找到LUT滤镜2的LUT颜色矩阵中对应的RGB值,将LUT滤镜2的LUT颜色矩阵中对应的RGB值替换图像中各个像素的RGB值,完成对图像的LUT滤镜2的渲染处理。在执行完LUT滤镜处理子算法后,继续执行面部识别算法,完成对图像的处理,得到待显示图像,进而在拍照模式的显示界面中显示待显示图像。通过上述方法,可以完成拍照模式下,对应的Pipeline对拍摄的图像的处理。
进一步地,在得到待显示图像后,可以将待显示图像发送至显示界面进行显示。若是在拍照模式下接收到拍摄操作时,保存该待显示图像。若是在录像模式下接收到拍摄操作时,对待显示图像进行编码处理,并在接收到拍摄结束操作时,生成视频文件,并保存。
进一步地,第一图像处理子算法中携带有预加载标识信息。
其中,预加载标识信息用以指示加载LUT滤镜处理子算法的预处理信息。
此时,电子设备在执行第一图像处理子算法时,检测到第一图像处理子算法中携带有预加载标识信息,则说明需要加载LUT滤镜处理子算法的预处理信息。此时,电子设备在第一图像处理子算法的同时,加载LUT滤镜处理子算法的预处理信息。
需要说明的是,还可以通过其他方式实现触发第一图像处理子算法的同时,加载LUT滤镜处理子算法的预处理信息,本申请对此不作限制。
在执行第一图像处理子算法时预加载目标LUT滤镜的预处理信息,其中第一图像处理子算法是执行顺序在LUT滤镜处理子算法之前的图像处理子算法,在运行LUT滤镜处理子算法时,可以直接使用已加载完成的目标LUT滤镜的预处理信息,从而可以减少拍摄时,电子设备处理图像的时长,提高图像处理的效率。
图9所述为本申请实施例提供的一种电子设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将安卓(Android)系统分为四层,从上至下分别为应用层(Application,App)、框架层(framework,FWK)、硬件抽象层(hardware abstraction layer,HAL)和内核层(kernel)。
应用层可以包括一系列应用程序包。例如,该应用程序包可以包括相机应用。应用层又可以分为显示界面(UI)和应用逻辑。
相机应用的显示界面包括相机应用,图库,其他应用等。其中,相机应用中包含有拍照模式、录像模式、专业模式,LUT控件等。
相机应用的应用逻辑包括编码模块和相机管理。其中,编码模块,用于对拍摄的图像进行编码,生成视频文件。相机管理包括设备管理模块、Surface管理模块、会话管理模块等。在Android系统中,Surface对应一块屏幕缓冲区,用于保存当前窗口的像素数据。
框架层为应用层的应用程序提供应用编程接口(application programminginterface,API)和编程框架,包括一些预先定义的函数。在图9中,框架层包括相机访问接口(Camera2 API),Camera2 API是Android推出的一套访问摄像头设备的接口,其采用管道式的设计,使数据流从摄像头流向Surface。Camera2 API包括相机管理(CameraManager)和相机设备(CameraDevice)。CameraManager为Camera设备的管理类,通过该类对象可以查询设备的Camera设备信息,得到CameraDevice对象。CameraDevice提供了Camera设备相关的一系列固定参数,例如基础的设置和输出格式等。
硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。在图9中,HAL包括相机硬件抽象层(Camera HAL)和图像处理后处理模块,Camera HAL包括设备(Device)1、设备(Device)2、设备(Device)3等。可理解,该Device1、Device2和Device3为抽象的设备。图像后处理模块用于执行当前运行的相机模式对应的Pipeline中各个图像处理子算法。例如,当前运行的拍照模式下,图像后处理模块包含有预加载子算法,防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法等。
需要说明的是,根据不同相机模式,图像后处理模块内包含的各个子算法不同,每个相机模式下对应的图像后处理模块包含的图像处理子算法可以预先设置,在本申请实施例中,以拍照模式下对应的图像后处理模块包含有防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法,及其他图像处理子算法为例进行说明。当然,拍照模式下对应的图像后处理模块还可以包含其他图像处理子算法,本申请对此不作限制。
上述内核层为手机的各种硬件提供了底层驱动。示例性的,如图9所示,内核层包括相机驱动模块,用以驱动摄像头。
参见图10,为本申请实施例提供的另一种图像处理的方法流程示意图。在本申请实施例中,以电子设备开启相机后直接进入拍照模式,且在拍照模式对应的Pipeline包含有预加载子算法,防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法为例进行说明,该方法可应用于图9所示的软件结构。如图10所示,其主要包括以下步骤。
步骤S1001、电子设备接收启动相机应用操作。
步骤S1002、电子设备的相机应用通过框架层向硬件抽象层发送开启相机的请求消息。
其中,开启相机的请求消息中携带有需开启的摄像头的标识信息。
步骤S1003、电子设备的硬件抽象层将开启相机的请求消息发送至相机驱动模块。
步骤S1004、电子设备的相机驱动模块开启相应的摄像头,并向硬件抽象层返回开启相机响应消息。
具体的,由于开启相机的请求消息中携带有需开启的摄像头的标识信息,相机驱动模块在接收到开启相机的请求消息后,可以解析该请求消息,获取需开启的摄像头的标识信息,根据该标识信息开启相应的摄像头,在开启相应的摄像头后向硬件抽象层发送开启相机响应消息。
步骤S1005、电子设备的硬件抽象层通过框架层向相机应用返回开启相机响应消息。
步骤S1006、电子设备的相机应用通过框架层向硬件抽象层发送配置图像流的请求消息。
其中,配置图像流的请求消息中携带有目标相机模式的标识信息。目标相机模式是指用户选的相机模式。目标相机模式的标识信息用以标示出目标相机模式,例如可以是目标相机模式的流格式等。在本申请实施例中,以目标相机模式为拍照模式为例进行说明。
其中,在目标相机模式下进行图像的拍摄,需先针对目标相机模式建立硬件抽象层与相机应用间的图像流通道,在图像流通道中硬件抽象层将得到的待显示图像传输至相机应用。
需要说明的是,目标相机模式为其他模式时,例如录像模式,其具体的图像拍摄流程可以参考本申请实施例中拍照模式下的图像拍摄流程,在此不再针对每种可能的相机模式进行详细赘述。
步骤S1007、电子设备的硬件抽象层解析接收的配置图像流的请求消息,获取拍照模式的标识信息,配置拍照模式对应的图像流的通路,并向图像后处理模块发送创建拍照模式对应的Pipeline的指令。
步骤S1008、电子设备的图像后处理模块根据创建拍照模式对应的Pipeline的指令,加载配置文件,根据配置文件创建拍照模式对应的Pipeline,确定出多个图像处理子算法的执行顺序。
其中,拍照模式对应的Pipeline包含多个图像处理子算法,多个图像处理子算法包含LUT滤镜处理子算法;LUT滤镜处理子算法用以对拍摄的图像进行LUT滤镜渲染处理。配置文件中记录有相机应用的不同相机模式的Pipeline。
示例性的,拍照模式对应的Pipeline中包含有防抖算法,预加载子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法。且各个子算法的执行顺序为:防抖处理子算法,LUT滤镜处理子算法,美肤处理子算法,面部识别处理子算法。在防抖处理子算法中携带有预加载标识信息,例如预加载标记位,用以指示在防抖处理子算法运行时,同时加载LUT滤镜处理子算法所需的预处理信息。即为,加载LUT滤镜的动态库信息、目标LUT滤镜的素材图,并根据目标LUT滤镜的素材图进行插值运算得到目标LUT滤镜的颜色矩阵。
需要说明的是,拍照模式对应的Pipeline还可以包含其他图像处理子算法,可以根据实际需求预先设置,本申请对此不作限制。
需要说明的是,预加载标识信息是预先设置的,用以指示加载LUT滤镜处理子算法所需的预处理信息的信息。在防抖子算法中携带有预加载标识信息,说明需在执行防抖子算法时,同时加载LUT滤镜处理子算法所需的预处理信息的信息。
步骤S1009、电子设备的图像后处理模块向硬件抽象层返回创建Pipeline的响应消息。
步骤S1010、电子设备的硬件抽象层向相机应用返回配置图像流的响应消息。
步骤S1011、电子设备的相机应用向硬件抽象层发送携带有拍摄参数的帧图像请求消息。
其中,拍摄参数中包含有目标LUT滤镜的标识信息,拍摄变焦参数,拍摄画幅参数等其他拍摄图像时所用的参数。
步骤S1012、电子设备的硬件抽象层向相机驱动模块发送图像拍摄指令。
步骤S1013、电子设备的相机驱动模块向硬件抽象层返回拍摄的图像。
步骤S1014、电子设备的硬件抽象层将采集的图像发送至图像后处理模块。
步骤S1015、电子设备的硬件抽象层将拍摄参数发送至图像后处理模块。
步骤S1016、电子设备的图像后处理模块根据多个图像处理子算法的执行顺序,控制拍照模式对应的Pipeline中的各个子算法执行对图像进行处理,得到待显示图像并显示。
在本申请实施例中,图像后处理模块控制拍照模式对应的Pipeline中的各个子算法执行具体如下:
步骤S10161、电子设备的图像后处理模块根据多个图像处理子算法的执行顺序,确定防抖子算法为第一个执行的图像处理子算法,检测出防抖子算法中是否携带有预加载标识信息,在检测出有预加载标识信息则确定在执行防抖子算法时,确定同时执行预加载子算法。
具体的,由于防抖子算法中携带有预加载标识信息,图像后处理模块重新建立一个线程,用以执行LUT滤镜处理子算法中的资源预加载部分,即为在新建的线程中执行预加载子算法,以在防抖处理子算法执行的同时加载LUT滤镜处理子算法所需的预处理信息。即为,加载LUT滤镜的动态库信息、目标LUT滤镜的素材图并根据目标LUT滤镜的素材图进行插值运算,得到目标LUT滤镜的颜色矩阵。
步骤S10162、电子设备的图像后处理模块将图像发送至防抖子算法触发防抖子算法执行,将目标LUT滤镜的标识信息发送至预加载子算法,触发预加载子算法的执行。
步骤S101631、防抖子算法对图像进行防抖处理,并将防抖处理后的图像发送至LUT滤镜处理子算法。
步骤S101632、预加载子算法根据目标LUT滤镜的标识信息加载目标LUT滤镜的颜色矩阵及LUT滤镜的动态库信息,并将目标LUT滤镜的颜色矩阵及LUT滤镜的动态库信息发送至LUT滤镜处理子算法。
具体的,防抖处理子算法接收到图像后,对图像进行防抖处理,将防抖处理后的图像发送至LUT滤镜处理子算法。预加载子算法接收到目标LUT滤镜的标识信息后,在存储介质中加载LUT滤镜的动态库信息至内存,并根据目标LUT滤镜的标识信息加载目标LUT滤镜的素材图,将目标LUT滤镜的素材图进行插值运算,得到目标LUT滤镜的颜色矩阵,将目标LUT滤镜的颜色矩阵存储至内存,以便LUT滤镜处理子算法使用。
步骤S10164、LUT滤镜处理子算法根据预加载的目标LUT滤镜的颜色矩阵,对图像进行渲染处理,将渲染后的图像传输至美肤处理子算法。
步骤S10165、美肤处理子算法对接收的图像进行相应的美肤处理,将美肤处理后的图像传输至面部识别处理子算法。
步骤S10166、面部识别处理子算法对接收的图像进行面部识别处理,得到显示图像。
步骤S1017、将待显示图像在显示界面中显示出。
参见图11,为本申请实施例提供的另一种图像处理的方法流程示意图。在本申请实施例中,以电子设备由录像模式切换至拍照模式,且在拍照模式对应的Pipeline包含有预加载子算法,防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法为例进行说明。示例性的,该方法可应用于图11所示的软件结构。如图9所示,其主要包括以下步骤。
步骤S1101、电子设备的相机应用接收由录像模式切换至拍照模式的切换操作。
具体的,当电子设备的相机应用处于录像模式时,若用户需要切换至拍照模式,则相机应用会接收到用户输入的由录像模式切换至拍照模式的切换操作。
步骤S1102、电子设备的相机应用通过框架层向硬件抽象层发送开启相机的请求消息。
其中,开启相机的请求消息中携带有需开启的摄像头的标识信息。
具体的,录像模式下开启的摄像头与拍照模式下开启的摄像头可能不同,因此,在本步骤中相机应用在向硬件抽象层发送开启相机的请求消息时,需要携带拍照模式下需开启的摄像头的标识信息。
步骤S1103、电子设备的硬件抽象层将开启相机的请求消息发送至相机驱动模块。
步骤S1104、电子设备的相机驱动模块开启摄像头,并向硬件抽象层返回开启相机响应消息。
具体可参考步骤S1004在此不再赘述。
步骤S1105、电子设备的硬件抽象层通过框架层向相机应用返回开启相机响应消息。
步骤S1106、电子设备的相机应用通过框架层向硬件抽象层发送配置图像流的请求消息。
其中,配置图像流的请求消息中携带有目标相机模式的标识信息。目标相机模式是指用户选的相机模式。目标相机模式的标识信息用以标示出目标相机模式。在本申请实施例中,目标相机模式为拍照模式。
具体的,由于电子设备在接收到由录像模式切换至拍照模式的切换操作之前,处于录像模式,则硬件抽象层与相机应用之间建立了录像模式对应的图像流通道。具体的构建过程可参考上述步骤S1002-S1015,在此不再赘述。由于每种相机模式对应的图像流通道不同,对应的Pipeline也不同,因此,在接收到录像模式切换至拍照模式的切换操作时需要重新构建拍照模式对应的图像流通道。此时,电子设备的相机应用通过框架层向硬件抽象层发送配置图像流的请求消息,在配置图像流的请求消息中携带有拍照模式的标识信息。
步骤S1107、电子设备的硬件抽象层解析接收的配置图像流的请求消息,获取拍照模式的标识信息,配置拍照模式对应的图像流的通路,并向图像后处理模块发送创建拍照模式对应的Pipeline的指令。
步骤S1108、电子设备的图像后处理模块根据创建拍照模式对应的Pipeline的指令,加载配置文件,根据配置文件创建拍照模式对应的Pipeline,确定出多个图像处理子算法的执行顺序。
其中,拍照模式对应的Pipeline包含多个图像处理子算法,多个图像处理子算法包含LUT滤镜处理子算法;LUT滤镜处理子算法用以对拍摄的图像进行LUT滤镜渲染处理。配置文件中记录有相机应用的不同相机模式的Pipeline。
示例性的,拍照模式对应的Pipeline中包含有防抖算法,预加载子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法。且各个子算法的执行顺序为:防抖处理子算法,LUT滤镜处理子算法,美肤处理子算法,面部识别处理子算法。在防抖处理子算法中携带有预加载标识信息,例如预加载标记位,用以指示在防抖处理子算法运行时,同时加载LUT滤镜处理子算法所需的预处理信息。即为,加载LUT滤镜的动态库信息、目标LUT滤镜的素材图,并根据目标LUT滤镜的素材图进行插值运算得到目标LUT滤镜的颜色矩阵。
需要说明的是,拍照模式对应的Pipeline还可以包含其他图像处理子算法,可以根据实际需求预先设置,本申请对此不作限制。
需要说明的是,预加载标识信息是预先设置的,用以指示加载LUT滤镜处理子算法所需的预处理信息的信息。在防抖子算法中携带有预加载标识信息,说明需在执行防抖子算法时,同时加载LUT滤镜处理子算法所需的预处理信息的信息。
步骤S1109、电子设备的图像后处理模块向硬件抽象层返回创建Pipeline的响应消息。
步骤S1110、电子设备的硬件抽象层向相机应用返回配置图像流的响应消息。
步骤S1111、电子设备的相机应用向硬件抽象层发送携带有拍摄参数的帧图像请求消息。
其中,拍摄参数中包含有目标LUT滤镜的标识信息,拍摄变焦参数,拍摄画幅参数等其他拍摄图像时所用的参数。
具体的,电子设备通过相机应用获取相机拍照模式下的拍摄参数。此时的拍摄参数可以是电子设备在拍照模式之前用户在上一次拍照模式下拍照时保存的拍照模式下的各个拍摄参数。例如,拍摄参数中包含的目标LUT滤镜,电子设备可以将拍照模式之前用户在上一次拍照模式下拍照时保存的拍照模式下的LUT滤镜,确定为目标LUT滤镜。
当然,若用户此时对拍摄参数进行了相应的输入,则将用户输入的值作为相应拍摄参数的值。
步骤S1112、电子设备的硬件抽象层向相机驱动模块发送图像拍摄指令。
步骤S1113、电子设备的相机驱动模块向硬件抽象层返回拍摄的图像。
步骤S1114、电子设备的硬件抽象层将采集的图像发送至图像后处理模块。
步骤S1115、电子设备的硬件抽象层将拍摄参数发送至图像后处理模块。
步骤S1116、电子设备的图像后处理模块根据多个图像处理子算法的执行顺序,控制拍照模式对应的Pipeline中的各个子算法执行对图像进行处理,得到待显示图像并显示。
在本申请实施例中,图像后处理模块根据多个图像处理子算法的执行顺序,控制拍照模式对应的Pipeline中的各个子算法执行具体如下:
步骤S11161、电子设备的图像后处理模块根据多个图像处理子算法的执行顺序,确定防抖子算法为第一个执行的图像处理子算法,检测出防抖子算法中是否携带有预加载标识信息,在检测出有预加载标识信息则确定在执行防抖子算法时,确定同时执行预加载子算法。
具体的可参考步骤S10161在此不再赘述。
步骤S11162、电子设备的图像后处理模块将图像发送至防抖子算法触发防抖子算法执行,将目标LUT滤镜的标识信息发送至预加载子算法,触发预加载子算法的执行。
步骤S111631、防抖子算法对图像进行防抖处理,并将防抖处理后的图像发送至LUT滤镜处理子算法。
步骤S111632、预加载子算法根据目标LUT滤镜的标识信息加载目标LUT滤镜的颜色矩阵及LUT滤镜的动态库信息,并将目标LUT滤镜的颜色矩阵及LUT滤镜的动态库信息发送至LUT滤镜处理子算法。
具体的可参考步骤S S101631-S101632在此不再赘述。
步骤S11164、LUT滤镜处理子算法根据预加载的目标LUT滤镜的颜色矩阵,对图像进行渲染处理,将渲染后的图像传输至美肤处理子算法。
步骤S11165、美肤处理子算法对接收的图像进行相应的美肤处理,将美肤处理后的图像传输至面部识别处理子算法。
步骤S11166、面部识别处理子算法对接收的图像进行面部识别处理,得到显示图像。
S1117、将待显示图像在显示界面中显示出。
在执行第一图像处理子算法时预加载目标LUT滤镜的预处理信息,其中第一图像处理子算法是执行顺序在LUT滤镜处理子算法之前的图像处理子算法,在运行LUT滤镜处理子算法时,可以直接使用已加载完成的目标LUT滤镜的预处理信息,从而可以减少拍摄时,电子设备处理图像的时长,提高图像处理的效率。
与上述方法实施例相对应,本申请还提供了一种电子设备,该电子设备用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行上述方法实施例中的部分或全部步骤。
参见图12,为本申请实施例提供的一种电子设备的结构示意图。如图12所示,该电子设备1400可以包括处理器1410,外部存储器接口1420,内部存储器1421,通用串行总线(universal serial bus,USB)接口1430,充电管理模块1440,电源管理模块1441,电池1442,天线1,天线2,移动通信模块1450,无线通信模块1460,音频模块1470,扬声器1470A,受话器1470B,麦克风1470C,耳机接口1470D,传感器模块1480,按键1490,马达1491,指示器1492,摄像头1493,显示屏1494,以及用户标识模块(subscriber identification module,SIM)卡接口1495等。其中传感器模块1480可以包括压力传感器1480A,陀螺仪传感器1480B,气压传感器1480C,磁传感器1480D,加速度传感器1480E,距离传感器1480F,接近光传感器1480G,指纹传感器1480H,温度传感器1480J,触摸传感器1480K,环境光传感器1480L,骨传导传感器1480M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备1400的具体限定。在本申请另一些实施例中,电子设备1400可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器1410可以包括一个或多个处理单元,例如:处理器1410可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器1410中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1410中的存储器为高速缓冲存储器。该存储器可以保存处理器1410刚用过或循环使用的指令或数据。如果处理器1410需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1410的等待时间,因而提高了系统的效率。
在一些实施例中,处理器1410可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器1410可以包含多组I2C总线。处理器1410可以通过不同的I2C总线接口分别耦合触摸传感器1480K,充电器,闪光灯,摄像头1493等。例如:处理器1410可以通过I2C接口耦合触摸传感器1480K,使处理器1410与触摸传感器1480K通过I2C总线接口通信,实现电子设备1400的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器1410可以包含多组I2S总线。处理器1410可以通过I2S总线与音频模块1470耦合,实现处理器1410与音频模块1470之间的通信。在一些实施例中,音频模块1470可以通过I2S接口向无线通信模块1460传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块1470与无线通信模块1460可以通过PCM总线接口耦合。在一些实施例中,音频模块1470也可以通过PCM接口向无线通信模块1460传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器1410与无线通信模块1460。例如:处理器1410通过UART接口与无线通信模块1460中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块1470可以通过UART接口向无线通信模块1460传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器1410与显示屏1494,摄像头1493等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器1410和摄像头1493通过CSI接口通信,实现电子设备1400的拍摄功能。处理器1410和显示屏1494通过DSI接口通信,实现电子设备1400的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器1410与摄像头1493,显示屏1494,无线通信模块1460,音频模块1470,传感器模块1480等。GPIO接口还可以被配置为I14C接口,I14S接口,UART接口,MIPI接口等。
USB接口1430是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口1430可以用于连接充电器为电子设备1400充电,也可以用于电子设备1400与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备1400的结构限定。在本申请另一些实施例中,电子设备1400也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块1440用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块1440可以通过USB接口1430接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块1440可以通过电子设备1400的无线充电线圈接收无线充电输入。充电管理模块1440为电池1442充电的同时,还可以通过电源管理模块1441为电子设备供电。
电源管理模块1441用于连接电池1442,充电管理模块1440与处理器1410。电源管理模块1441接收电池1442和/或充电管理模块1440的输入,为处理器1410,内部存储器1421,显示屏1494,摄像头1493,和无线通信模块1460等供电。电源管理模块1441还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块1441也可以设置于处理器1410中。在另一些实施例中,电源管理模块1441和充电管理模块1440也可以设置于同一个器件中。
电子设备1400的无线通信功能可以通过天线1,天线2,移动通信模块1450,无线通信模块1460,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备1400中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块1450可以提供应用在电子设备1400上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块1450可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块1450可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块1450还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块1450的至少部分功能模块可以被设置于处理器1410中。在一些实施例中,移动通信模块1450的至少部分功能模块可以与处理器1410的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器1470A,受话器1470B等)输出声音信号,或通过显示屏1494显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器1410,与移动通信模块1450或其他功能模块设置在同一个器件中。
无线通信模块1460可以提供应用在电子设备1400上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块1460可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块1460经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器1410。无线通信模块1460还可以从处理器1410接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备1400的天线1和移动通信模块1450耦合,天线2和无线通信模块1460耦合,使得电子设备1400可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobilecommunications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备1400通过GPU,显示屏1494,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏1494和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1410可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏1494用于显示图像,视频等。显示屏1494包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备1400可以包括1个或N个显示屏1494,N为大于1的正整数。
电子设备1400可以通过ISP,摄像头1493,视频编解码器,GPU,显示屏1494以及应用处理器等实现拍摄功能。
ISP用于处理摄像头1493反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头1493中。
摄像头1493用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备1400可以包括1个或N个摄像头1493,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备1400在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备1400可以支持一种或多种视频编解码器。这样,电子设备1400可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备1400的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口1420可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备1400的存储能力。外部存储卡通过外部存储器接口1420与处理器1410通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器1421可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器1421可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备1400使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器1421可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器1410通过运行存储在内部存储器1421的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备1400的各种功能应用以及数据处理。
电子设备1400可以通过音频模块1470,扬声器1470A,受话器1470B,麦克风1470C,耳机接口1470D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块1470用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块1470还可以用于对音频信号编码和解码。在一些实施例中,音频模块1470可以设置于处理器1410中,或将音频模块1470的部分功能模块设置于处理器1410中。
扬声器1470A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备1400可以通过扬声器1470A收听音乐,或收听免提通话。
受话器1470B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备1400接听电话或语音信息时,可以通过将受话器1470B靠近人耳接听语音。
麦克风1470C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风1470C发声,将声音信号输入到麦克风1470C。电子设备1400可以设置至少一个麦克风1470C。在另一些实施例中,电子设备1400可以设置两个麦克风1470C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备1400还可以设置三个,四个或更多麦克风1470C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口1470D用于连接有线耳机。耳机接口1470D可以是USB接口1430,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器1480A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器1480A可以设置于显示屏1494。压力传感器1480A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器1480A,电极之间的电容改变。电子设备1400根据电容的变化确定压力的强度。当有触摸操作作用于显示屏1494,电子设备1400根据压力传感器1480A检测所述触摸操作强度。电子设备1400也可以根据压力传感器1480A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器1480B可以用于确定电子设备1400的运动姿态。在一些实施例中,可以通过陀螺仪传感器1480B确定电子设备1400围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器1480B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器1480B检测电子设备1400抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备1400的抖动,实现防抖。陀螺仪传感器1480B还可以用于导航,体感游戏场景。
气压传感器1480C用于测量气压。在一些实施例中,电子设备1400通过气压传感器1480C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器1480D包括霍尔传感器。电子设备1400可以利用磁传感器1480D检测翻盖皮套的开合。在一些实施例中,当电子设备1400是翻盖机时,电子设备1400可以根据磁传感器1480D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器1480E可检测电子设备1400在各个方向上(一般为三轴)加速度的大小。当电子设备1400静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器1480F,用于测量距离。电子设备1400可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备1400可以利用距离传感器1480F测距以实现快速对焦。
接近光传感器1480G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备1400通过发光二极管向外发射红外光。电子设备1400使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备1400附近有物体。当检测到不充分的反射光时,电子设备1400可以确定电子设备1400附近没有物体。电子设备1400可以利用接近光传感器1480G检测用户手持电子设备1400贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器1480G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器1480L用于感知环境光亮度。电子设备1400可以根据感知的环境光亮度自适应调节显示屏1494亮度。环境光传感器1480L也可用于拍照时自动调节白平衡。环境光传感器1480L还可以与接近光传感器1480G配合,检测电子设备1400是否在口袋里,以防误触。
指纹传感器1480H用于采集指纹。电子设备1400可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器1480J用于检测温度。在一些实施例中,电子设备1400利用温度传感器1480J检测的温度,执行温度处理策略。例如,当温度传感器1480J上报的温度超过阈值,电子设备1400执行降低位于温度传感器1480J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备1400对电池1442加热,以避免低温导致电子设备1400异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备1400对电池1442的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器1480K,也称“触控器件”。触摸传感器1480K可以设置于显示屏1494,由触摸传感器1480K与显示屏1494组成触摸屏,也称“触控屏”。触摸传感器1480K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏1494提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器1480K也可以设置于电子设备1400的表面,与显示屏1494所处的位置不同。
骨传导传感器1480M可以获取振动信号。在一些实施例中,骨传导传感器1480M可以获取人体声部振动骨块的振动信号。骨传导传感器1480M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器1480M也可以设置于耳机中,结合成骨传导耳机。音频模块1470可以基于所述骨传导传感器1480M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器1480M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键1490包括开机键,音量键等。按键1490可以是机械按键。也可以是触摸式按键。电子设备1400可以接收按键输入,产生与电子设备1400的用户设置以及功能控制有关的键信号输入。
马达1491可以产生振动提示。马达1491可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏1494不同区域的触摸操作,马达1491也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器1492可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口1495用于连接SIM卡。SIM卡可以通过插入SIM卡接口1495,或从SIM卡接口1495拔出,实现和电子设备1400的接触和分离。电子设备1400可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口1495可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口1495可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口1495也可以兼容不同类型的SIM卡。SIM卡接口1495也可以兼容外部存储卡。电子设备1400通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备1400采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备1400中,不能和电子设备1400分离。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
具体实现中,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种图像处理的方法,其特征在于,包括:
响应于相机模式选择操作,确定对应的算法集Pipeline;所述对应的Pipeline包含多个图像处理子算法,所述多个图像处理子算法包含LUT滤镜处理子算法;所述LUT滤镜处理子算法用以对采集的图像进行LUT滤镜渲染处理;
确定目标LUT滤镜;
按照所述多个图像处理子算法的预设执行顺序,依次执行多个图像处理子算法对拍摄的图像进行处理,得到待显示图像,其中,在执行第一图像处理子算法时,加载所述目标LUT滤镜的预处理信息;所述第一图像处理子算法为执行顺序在所述LUT滤镜处理子算法之前的图像处理子算法。
2.根据权利要求1所述的方法,其特征在于,所述预处理信息包括:LUT滤镜的动态库信息及目标LUT滤镜的LUT颜色矩阵;
所述在执行第一图像处理子算法时,加载所述目标LUT滤镜的预处理信息包括:
在执行所述第一图像处理子算法时,加载目标LUT滤镜对应的LUT滤镜的动态库信息及所述目标LUT滤镜的LUT颜色矩阵。
3.根据权利要求2所述的方法,其特征在于,所述在执行所述第一图像处理子算法时,加载所述目标LUT滤镜的LUT颜色矩阵包括:
在执行所述第一图像处理子算法时,加载所述目标LUT滤镜的素材图,并根据所述目标LUT滤镜的素材图通过插值算法计算出所述目标LUT滤镜的LUT颜色矩阵。
4.根据权利要求1所述的方法,其特征在于,所述多个图像处理子算法包括:防抖子算法,LUT滤镜处理子算法,美肤子算法,面部识别子算法。
5.根据权利要求4所述的方法,其特征在于,所述第一图像处理子算法包括防抖子算法。
6.根据权利要求1所述的方法,其特征在于,所述第一图像处理子算法是所述LUT滤镜处理子算法前一个执行的图像处理子算法。
7.根据权利要求1所述的方法,其特征在于,所述第一图像处理子算法与所述LUT滤镜处理子算法间间隔至少一个图像处理子算法。
8.根据权利要求1所述的方法,其特征在于,所述响应于相机模式选择操作,确定对应的Pipeline包括:
响应于相机模式选择操作,由原相机模式切换至目标相机模式,确定所述目标相机模式的Pipeline,其中,原相机模式是电子设备原来所处的相机模式;所述目标相机模式是用户选择操作后需要切换过去的新相机模式。
9.根据权利要求8所述的方法,其特征在于,所述原相机模式包括录像模式;所述目标相机模式包括:拍照模式;或者,所述原相机模式包括拍照模式;所述目标相机模式包括:录像模式。
10.根据权利要求9所述的方法,其特征在于,所述确定目标LUT滤镜包括:
将在所述拍照模式之前用户在上一次拍照模式下拍照时保存的LUT滤镜,确定为所述目标LUT滤镜。
11.根据权利要求1所述的方法,其特征在于,所述第一图像处理子算法中携带有预加载标识信息;其中,所述预加载标识信息用以指示加载所述LUT滤镜处理子算法的预处理信息。
12.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求1-11任一项所述的方法。
13.一种存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110926999.2A CN113747060B (zh) | 2021-08-12 | 2021-08-12 | 图像处理的方法、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110926999.2A CN113747060B (zh) | 2021-08-12 | 2021-08-12 | 图像处理的方法、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113747060A true CN113747060A (zh) | 2021-12-03 |
CN113747060B CN113747060B (zh) | 2022-10-21 |
Family
ID=78730962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110926999.2A Active CN113747060B (zh) | 2021-08-12 | 2021-08-12 | 图像处理的方法、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113747060B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901485A (zh) * | 2021-12-07 | 2022-01-07 | 展讯通信(天津)有限公司 | 应用程序加载方法、电子设备及存储介质 |
CN116703692A (zh) * | 2022-12-30 | 2023-09-05 | 荣耀终端有限公司 | 一种拍摄性能优化方法和装置 |
CN116761080A (zh) * | 2022-10-13 | 2023-09-15 | 荣耀终端有限公司 | 图像数据的处理方法和终端设备 |
CN116703692B (zh) * | 2022-12-30 | 2024-06-07 | 荣耀终端有限公司 | 一种拍摄性能优化方法和装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2288520A (en) * | 1994-03-24 | 1995-10-18 | Discovision Ass | Serial pipeline processing system |
WO2000004505A1 (en) * | 1998-07-16 | 2000-01-27 | The Research Foundation Of State University Of New York | Apparatus and method for real-time volume processing and universal 3d rendering |
US20040160446A1 (en) * | 2003-02-18 | 2004-08-19 | Gosalia Anuj B. | Multithreaded kernel for graphics processing unit |
US20070269123A1 (en) * | 2006-05-16 | 2007-11-22 | Randall Don Briggs | Method and apparatus for performing image enhancement in an image processing pipeline |
WO2008128205A1 (en) * | 2007-04-13 | 2008-10-23 | Presler Ari M | Digital cinema camera system for recording, editing and visualizing images |
CN102547162A (zh) * | 2010-09-30 | 2012-07-04 | 苹果公司 | 用于处理原始图像数据的图像信号处理器线缓冲器配置 |
CN102855122A (zh) * | 2011-05-25 | 2013-01-02 | Arm有限公司 | 处理流水线控制 |
US20130321677A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Systems and methods for raw image processing |
CN103971325A (zh) * | 2011-10-14 | 2014-08-06 | 美国亚德诺半导体公司 | 可动态配置的流水线预处理器 |
US20160203790A1 (en) * | 2015-01-14 | 2016-07-14 | Intel Corporation | Acceleration of color conversion |
CN108370414A (zh) * | 2016-10-29 | 2018-08-03 | 华为技术有限公司 | 一种拍摄方法和终端 |
CN108363593A (zh) * | 2018-05-21 | 2018-08-03 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN111198730A (zh) * | 2018-10-30 | 2020-05-26 | 广州腾讯科技有限公司 | 子应用程序启动的方法、装置、终端及计算机存储介质 |
-
2021
- 2021-08-12 CN CN202110926999.2A patent/CN113747060B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2288520A (en) * | 1994-03-24 | 1995-10-18 | Discovision Ass | Serial pipeline processing system |
WO2000004505A1 (en) * | 1998-07-16 | 2000-01-27 | The Research Foundation Of State University Of New York | Apparatus and method for real-time volume processing and universal 3d rendering |
US20040160446A1 (en) * | 2003-02-18 | 2004-08-19 | Gosalia Anuj B. | Multithreaded kernel for graphics processing unit |
US20070269123A1 (en) * | 2006-05-16 | 2007-11-22 | Randall Don Briggs | Method and apparatus for performing image enhancement in an image processing pipeline |
WO2008128205A1 (en) * | 2007-04-13 | 2008-10-23 | Presler Ari M | Digital cinema camera system for recording, editing and visualizing images |
CN102547162A (zh) * | 2010-09-30 | 2012-07-04 | 苹果公司 | 用于处理原始图像数据的图像信号处理器线缓冲器配置 |
CN102855122A (zh) * | 2011-05-25 | 2013-01-02 | Arm有限公司 | 处理流水线控制 |
CN103971325A (zh) * | 2011-10-14 | 2014-08-06 | 美国亚德诺半导体公司 | 可动态配置的流水线预处理器 |
US20130321677A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Systems and methods for raw image processing |
US20160203790A1 (en) * | 2015-01-14 | 2016-07-14 | Intel Corporation | Acceleration of color conversion |
CN108370414A (zh) * | 2016-10-29 | 2018-08-03 | 华为技术有限公司 | 一种拍摄方法和终端 |
CN108363593A (zh) * | 2018-05-21 | 2018-08-03 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN111198730A (zh) * | 2018-10-30 | 2020-05-26 | 广州腾讯科技有限公司 | 子应用程序启动的方法、装置、终端及计算机存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901485A (zh) * | 2021-12-07 | 2022-01-07 | 展讯通信(天津)有限公司 | 应用程序加载方法、电子设备及存储介质 |
CN113901485B (zh) * | 2021-12-07 | 2022-05-10 | 展讯通信(天津)有限公司 | 应用程序加载方法、电子设备及存储介质 |
CN116761080A (zh) * | 2022-10-13 | 2023-09-15 | 荣耀终端有限公司 | 图像数据的处理方法和终端设备 |
CN116703692A (zh) * | 2022-12-30 | 2023-09-05 | 荣耀终端有限公司 | 一种拍摄性能优化方法和装置 |
CN116703692B (zh) * | 2022-12-30 | 2024-06-07 | 荣耀终端有限公司 | 一种拍摄性能优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113747060B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112532857B (zh) | 一种延时摄影的拍摄方法及设备 | |
CN110231905B (zh) | 一种截屏方法及电子设备 | |
CN113422903B (zh) | 拍摄模式切换方法、设备、存储介质 | |
CN109559270B (zh) | 一种图像处理方法及电子设备 | |
CN112532892B (zh) | 图像处理方法及电子装置 | |
CN113475057A (zh) | 一种录像帧率的控制方法及相关装置 | |
CN113473005B (zh) | 拍摄中转场动效插入方法、设备、存储介质 | |
CN113726950A (zh) | 一种图像处理方法和电子设备 | |
CN113838490B (zh) | 视频合成方法、装置、电子设备及存储介质 | |
WO2022262313A1 (zh) | 基于画中画的图像处理方法、设备、存储介质和程序产品 | |
CN113747060B (zh) | 图像处理的方法、设备、存储介质 | |
CN112954251B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
CN111552451A (zh) | 显示控制方法及装置、计算机可读介质及终端设备 | |
CN113935898A (zh) | 图像处理方法、系统、电子设备及计算机可读存储介质 | |
CN114489533A (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
CN113572948B (zh) | 视频处理方法和视频处理装置 | |
CN113709464A (zh) | 视频编码方法及相关设备 | |
CN113596321A (zh) | 转场动效的生成方法、设备、存储介质和程序产品 | |
CN113965693B (zh) | 一种视频拍摄方法、设备和存储介质 | |
CN112541861A (zh) | 图像处理方法、装置、设备及计算机存储介质 | |
CN113852755A (zh) | 拍摄方法、设备、计算机可读存储介质及程序产品 | |
CN113542574A (zh) | 变焦下的拍摄预览方法、终端、存储介质及电子设备 | |
CN113923351B (zh) | 多路视频拍摄的退出方法、设备和存储介质 | |
CN115412678A (zh) | 曝光处理方法、装置及电子设备 | |
EP4206865A1 (en) | Brush effect picture generation method, image editing method and device, and storage medium |
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 |