CN116362983A - 一种图像的处理方法、装置、电子设备及存储介质 - Google Patents
一种图像的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116362983A CN116362983A CN202111625642.7A CN202111625642A CN116362983A CN 116362983 A CN116362983 A CN 116362983A CN 202111625642 A CN202111625642 A CN 202111625642A CN 116362983 A CN116362983 A CN 116362983A
- Authority
- CN
- China
- Prior art keywords
- image
- processing
- image processing
- scheduling
- resource
- 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
- 238000003672 processing method Methods 0.000 title description 4
- 238000012545 processing Methods 0.000 claims abstract description 727
- 238000000034 method Methods 0.000 claims abstract description 192
- 230000008569 process Effects 0.000 claims abstract description 175
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000006872 improvement Effects 0.000 claims description 15
- 238000003384 imaging method Methods 0.000 abstract description 18
- 230000000903 blocking effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000036316 preload Effects 0.000 description 5
- 230000003796 beauty Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 101100450130 Oryza sativa subsp. japonica HAL3 gene Proteins 0.000 description 1
- 101150106604 SIS2 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000003705 background correction Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- 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/10052—Images from lightfield camera
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本公开是关于一种图像的处理方法,包括:响应于拍摄操作,采集图像;在图像的采集过程中,调度所述图像所需的处理资源;基于所述图像处理资源处理所述图像,生成目标图像。通过在采集图像的过程中调度图像处理资源,从而可以实现图像采集和调度图像处理资源同时进行,图像处理资源的调度过程不需要等待图像的采集过程,这样可以在采集图像之后即通过已经调度的图像处理资源对图像进行处理,减少了等待调度图像处理资源的时间,减少了在图像采集之后才开始调度图像处理资源导致的生成目标图像的时间过长的问题,即减少了成像的总时长,提高了成像速度、效率和用户的使用体验。
Description
技术领域
本公开涉及图像处理领域,尤其涉及一种图像的处理方法、装置、电子设备及存储介质。
背景技术
很多电子设备设备中都具有图像采集组件,通过图像采集组件可以采集图像。随着影像处理技术的发展,在图像采集组件采集到图像后通过相应的图像处理技术对采集到的图像进行处理,可以生成不同效果的目标图像。
发明内容
本公开提供一种图像的处理方法、装置、电子设备及存储介质。
本公开实施例的第一方面,提供一种图像的处理方法,包括:响应于拍摄操作,采集图像;在图像的采集过程中,调度对所述图像处理时所需的图像处理资源;基于所述图像处理资源处理所述图像,生成目标图像。
在一个实施例中,所述基于所述图像处理资源处理所述图像,包括:在所述图像所需的所述图像处理资源调度完成之前,若接收到所述图像,暂停基于所述图像处理资源处理所述图像;在所述图像所需的所述图像处理资源调度完成之后,基于所述图像所需的所述图像处理资源处理所述图像。
在一个实施例中,所述图像包括第一图像和第二图像,所述第二图像在所述第一图像之后进行图像处理;所述在图像的采集过程中,调度所述图像所需的图像处理资源,包括:在基于目标处理资源处理所述第一图像处理的过程中,若接收到所述第二图像,暂停为所述第二图像调度所述目标处理资源;其中,所述目标处理资源为所述图像处理资源中,对所述第一图像和第二图像进行同一种处理所需的资源;若基于所述目标处理资源处理完所述第一图像,为所述第二图像调度所述目标处理资源。
在一个实施例中,所述暂停为所述第二图像调度所述目标处理资源,包括:在基于所述目标处理资源处理所述第一图像的过程中,确定所述第一标识;其中,所述第一标识,用于表示所述目标处理资源处于被占用状态;根据所述第一标识,锁定所述目标处理资源。
在一个实施例中,所述若基于所述目标处理资源处理完所述第一图像,为所述第二图像调度所述目标处理资源,包括:在基于所述目标处理资源处理完所述第一图像,确定第二标识;其中,所述第二标识,用于表示所述目标处理资源当前处于空闲状态;根据所述第二标识,解锁所述目标处理资源;为所述第二图像调度解锁后的所述目标处理资源。
在一个实施例中,所述在图像的采集过程中,调度图像处理资源,包括:在通过第一进程采集所述图像的过程中,通过第二进程调度所述图像处理资源。
在一个实施例中,所述第二进程包括:调度线程和处理线程;所述通过第二进程调度所述图像处理资源,包括:通过所述调度线程调度所述图像处理资源;所述基于所述图像处理资源处理所述图像,生成目标图像,包括:通过所述处理线程利用所述图像处理资源对所述图像进行处理,生成所述目标图像。
在一个实施例中,所述调度线程包括:多个调度子线程;所述通过所述调度线程调度所述图像处理资源,包括:通过不同的调度子线程,调度不同图像处理任务的图像处理资源。
在一个实施例中,所述图像处理任务包括以下至少之一:图像质量提升处理、美化处理、夜景处理;所述图像处理资源,包括以下至少之一:第一图像处理资源,用于对所述图像进行图像质量提升;第二图像处理资源,用于对所述图像进行美化处理;第三图像处理资源,用于对所述图像进行夜景处理。
在一个实施例中,所述图像质量提升处理包括:HDR处理。
本公开实施例的第二方面,提供一种图像处理装置,包括:采集模块,用于响应于拍摄操作,采集图像;资源调度模块,用于在图像的采集过程中,调度对所述图像处理时所需的图像处理资源;处理模块,用于利用调度的所述图像处理资源处理所述图像,生成目标图像。
本公开实施例的第三方面,提供一种电子设备,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:处理器用于运行所述可执行指令时,所述可执行指令执行上述任一实施例所述的方法。
本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一实施例所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例响应于拍摄操作采集图像,在采集图像的过程中调度对该图像进行处理的图像处理资源,然后利用该图像所需的图像处理资源处理该图像,从而生成目标图像。通过在采集图像时调度图像处理资源,从而可以实现图像采集和调度图像处理资源同时进行,即并行执行,图像处理资源的调度过程不需要等待图像的采集过程,这样可以在采集图像之后即通过已经调度的图像处理资源对图像进行处理,减少了等待调度图像处理资源的时间,减少了在图像采集之后才开始调度图像处理资源导致的生成目标图像的时间过长的问题,即减少了成像的总时长,提高了成像速度、效率和用户的使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种图像的处理方法的流程示意图;
图2是根据一示例性实施例示出的另一种图像处理的示意图;
图3是根据一示例性实施例示出的一种生成目标图像的示意图;
图4是根据一示例性实施例示出的另一种生成目标图像的示意图;
图5是根据一示例性实施例示出的图像处理的示意图;
图6是根据一示例性实施例示出的一种调度图像所需的图像处理资源的示意图;
图7是根据一示例性实施例示出的一种调度图像处理资源的示意图;
图8是根据一示例性实施例示出的另一种图像处理的示意图;
图9是根据一示例性实施例示出的另一种图像处理的示意图;
图10是根据一示例性实施例示出的一种拍摄时间对比图;
图11是根据一示例性实施例示出的一种图像处理装置的结构示意图;
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置的例子。
通常情况下,影像系统都是基于成像框架进行成像的,例如Camera HAL3框架,HAL定义的应用程序接口(API)将影像系统系统抽象为一个“管道”,这个“管道”将各个处理过程(如算法资源)串联起来做串行处理,完成从“帧捕获请求”到“帧图像”的转化。
通常情况下,影像系统在成像时,各个过程都时串行执行的,执行完一个步骤再执行另一个步骤。这样导致拍摄时间过长,影响用户的使用体验。
参考图1,为本技术方案提供的一种图像的处理方法的流程示意图,该方法包括:
步骤S100,响应于拍摄操作,采集图像。
步骤S200,在图像采集的过程中,调度对图像处理时所需的处理资源。
步骤S300,基于图像处理资源处理图像,生成目标图像。
该方法至少可以在电子设备中执行,电子设备可以包括移动电子设备和固定电子设备等电子设备,即该方法的执行主体至少可以包括移动电子设备和固定电子设备。移动电子设备可以包括手机、平板电脑、车载中控设备、可穿戴设备、智能设备等,智能设备又可包括智能办公设备和智能家居设备等。
在该实施例中,电子设备可以检测拍摄操作,在检测到拍摄操作后可以响应于拍摄操作采集图像。拍摄操作可以包括:基于拍摄预览界面的拍摄控件的触控操作,触发拍照的语音输入操作,用于触发拍照的预设手势输入操作等等中的任一种或者多种组合。
响应于拍摄操作还可以调度对图像处理所需的图像处理资源,在响应于拍摄操作后调度对图像处理所需的图像处理资源,该图像处理资源用于对采集的图像进行处理。具体可以包括:在采集图像的过程中调度该图像所需的图像处理资源,该图像处理资源可以用于对采集的图像进行处理。例如在图像的采集过程结束之前调度图像处理资源。对图像进行处理所需的图像处理资源可以是根据需求确定的图像处理资源,例如可以根据相机应用程序的当前模式确定,不同模式对应的图像处理资源可能不同。例如,人脸模式对应的图像处理资源包括美化(如美颜、美体)处理的美化处理资源,夜景模式对应的图像处理资源包括夜景处理资源。
图像处理资源的调度不需要等待图像采集完成之后才执行,不需要在图像采集完成之后才执行图像所需的图像处理资源的调度,两个操作可以同时进行,也可以在图像采集结束之前执行图像处理资源的调度,从而实现了提前调度图像所需的图像处理资源,从而减少了拍摄的总时长。
处理图像所需的图像处理资源可以包括多个对采集的图像进行不同处理所需的不同图像处理资源,数量并不进行限定。
在完成图像采集和图像处理资源的调度后,通过图像处理资源处理采集的图像,生成目标图像。其中,调度可以包括预加载。
通过在采集图像的过程中调度对图像处理时所需的图像处理资源,这样可以减少在完成图像采集后调度图像处理资源的等待时长,可以实现图像采集和调度图像处理资源同时进行,图像处理资源的调度过程不需要等待图像的采集过程。这样可以在采集图像之后即通过已经调度的图像处理资源对图像进行处理,减少了等待调度图像处理资源的时间,减少了在图像采集之后才开始调度图像处理资源导致的生成目标图像的时间过长的问题,即减少了成像的总时长,提高了成像速度、效率和用户的使用体验。
在另一实施例中,在电子设备检测到用户操作时,根据用户操作同时采集图像和调度图像处理资源,即图像采集和图像处理资源的调度同时进行。将采集图像和图像处理资源调度进行解耦,图像处理资源的调度至少可以在图像的采集结束之前进行,这样可以在图像采集完成之前开始调度图像处理资源,从而减少图像采集和图像处理资源调度的总时长,进而提高拍摄速度,提高用户拍摄体验。
在另一实施例中,采集图像和调度处理图像所需的图像处理资源同时并行执行。
参考图2,为另一种图像处理的示意图。
参考图2,在影像系统的成像过程中,首先响应于拍摄操作,通过图像采集模组采集图像,例如通过摄像头可以采集图像,摄像头中可以包括感光元件,感光元件可以包括电荷耦合元件(CCD)或者互补金属氧化物半导体(CMOS)元件等。图像采集模组采集的图像可以是拜耳(bayer)格式的图像,例如后缀为RAW的图像文件。
在一个实施例中,步骤S100采集的图像,可以是通过图像采集模组采集到的图像,例如通过图像传感器采集到的图像。
在一个实施例中,在图像采集模组采集到图像后还可以通过图像信号处理器(如ISP)进行处理,输出另一种格式的图像,例如YUV格式的图像。
步骤S100采集的图像,可以是经过例如图2所示“硬件进程”处理后得到的图像。
如图2所示,基于图像传感器的图像采集和基于ISP的图像处理作为硬件处理,通过“硬件进程”执行。这里的“硬件进程”可以为响应于拍摄操作,调用图像采集模组和ISP等硬件处理模组处理得到图像的进程。示例地,通过ISP和图像传感器等硬件处理模组处理获得图像的过程可以包括:图像传感器采集图像,然后通过ISP处理采集的图像;通过ISP得到的图像即为步骤S100得到的图像。该过程即为“硬件进程”采集图像的过程。
示例地,在一个实施例中,通过“硬件进程”获取图像还可以单独包括调用图像传感器采集得到图像,这里,通过图像传感器采集的图像即为步骤S100中得到的图像。
通过调度资源对步骤S100得到的图像进行处理的过程为软件处理过程,通过“软件进程”执行。示例地,“软件进程”可以为对通过“硬件进程”得到的图像(如步骤S100得到的图像)进行图像效果处理的进程,例如,通过根据实际的拍摄场景和拍摄模式等调度相应的软件算法资源对通过“硬件进程”得到的图像(如经过步骤S100得到的图像)进行进一步处理。换言之,“软件进程”为可以对通过“硬件进程”得到的图像(如步骤S100得到的图像)根据实际拍摄需求调度相应的图像处理资源进行个性化处理的进程,该过程中可以调用各种算法资源,基于算法资源对步骤S100得到的图像进行处理。在执行“软件进程”的过程中,包括对资源初始化和申请计算资源过程,即调度图像处理资源可以包括图像处理资源的初始化和申请图像处理资源。
示例地,在通过图像信号处理器得到YUV格式的图像之后,通过调度图像处理资源对YUV格式的图像进行进一步处理。举例来说,可以根据需求调度图像处理资源,进而通过调度的图像处理资源对YUV格式的图像进行进一步的处理。这里的图像处理资源是对经过图像信号处理器和图像传感器等硬件处理得到的图像进行处理的计算资源,例如可以是对经过ISP处理后的图像进行图像质量提升和美化等图像效果处理的图像处理资源。图像处理资源具体可以为用于提升图像质量和美化的算法资源等。举例来说,该图像处理资源可以包括但不限于以下至少之一:高动态范围成像(HDR)算法资源、用于对夜景图像进行夜景效果处理的夜景处理算法资源、用于对人像进行美颜处理的美颜算法资源、用于对人像进行美体处理的美体算法资源等。
用于提升图像质量的算法资源可以包括HDR算法资源。
在一个实施例中,图像处理资源也可以是对单独经过图像传感器采集得到图像处理的计算资源。
在一个实施例中,图像处理资源可以是不同于图像信号处理器(如ISP)等硬件对图像采集模组采集到的图像进行处理的资源。图像信号处理器(如ISP)等硬件处理图像采集模组采集的图像的过程,不同于图像处理资源对经过图像信号处理器(如ISP)等硬件处理后的图像进行处理的过程。
参考图2,图像处理资源可以包括:HDR算法资源和美化算法资源;在图像信号处理器得到YUV格式的图像之后,调度对步骤S100得到的图像进行HDR处理的资源。调度对步骤S100得到的图像进行HDR处理的资源可以包括:资源初始化和申请计算资源等,申请计算资源包括如申请对YUV格式的图像进行拉普拉斯处理的计算资源和GPU内存等。然后再通过对步骤S100得到的图像进行HDR处理的资源对YUV格式的图像进行处理,例如进行多帧对齐和融合处理等生成动态范围经过调整的YUV格式的图像。
然后再调度对图像进行美化处理的美化处理资源,如对步骤S100得到的图像进行美化处理的美化处理资源的初始化,然后调度对图像进行美化处理的资源,在一种可能的实现方式中,可以包括加载实现对对步骤S100得到的图像进行美化处理的神经网络、推理引擎和人脸识别的参数等美化算法资源。通过美化处理资源对动态范围经过调整的YUV格式的图像再次进行处理,即美化算法资源的执行,得到目标图像,得到目标图像即可销毁和收回调度的各种资源。在一个实施例中,美化处理资源可以包括对人脸进行美颜的美颜算法资源。
最后还可以通过编码器对目标图像进行编码,例如JPEG编码器,得到拍照结果,如JPEG格式的图像。
图2中的“硬件进程”和“软件进程”为并行的执行顺序,即在通过“硬件进程”执行,的过程中通过“软件进程”执行。
在得到目标图像时,不需要等待“硬件进程”执行完成之后再执行“软件进程”,不需要等待图像采集完成之后,再调度HDR处理资源和美化处理资源,从而减少了拍摄的总时长过长,减少了某一环节耗时增加导致的拍摄的总时长增加的情况,提高了用户的拍摄体验。
例如,手机、平板电脑和相机等具有图像采集组件的电子设备,可以通过图像采集组件采集图像,然后再通过图像处理资源对采集的图像进行处理,进而得到目标图像。手机等电子设备刚开机,开机后第一次打开相机应用程序,响应于拍摄操作采集图像时,所有硬件计算模块需要冷启动,这个时候HDR处理资源和美化处理资源等各种处理资源的初始化和调度是依赖于GPU,DSP和SNPE等模块启动完毕,然后才能调度各种处理资源。等待硬件模块冷启动的时间,会导致手机重启后第一次响应于拍摄操作进行拍照的耗时增加。
在第一次响应于拍摄操作进行拍摄之后,再次启动相机应用程序进行拍摄时,即相机应用程序进行热启动时,同样需要初始化和调度各种处理资源,各种处理资源的初始化时间和调度时间也包含在拍照间隔当中,同样会增加拍摄的总时长。
通过该方法可以减少冷启动和热启动导致的拍摄时长过长的问题。
当然,处理资源还可以包括用于提升图像质量的处理资源和美化处理资源之外的处理资源,图2只是示出了HDR处理资源和美化处理资源两种。
在图2中,将通过图像传感器采集图像和通过ISP对图像传感器采集的图像进行处理的过程作为“硬件处理过程”,通过“硬件进程”执行。调度对图像进行处理所需的处理资源和通过该处理资源对经过“硬件进程”处理后的图像进一步处理的过程作为“软件处理的过程”,通过“软件进程”执行。在该实施例中,图像处理资源用于对经过ISP处理后的图像进行处理,在完成图像处理资源的调度之后,利用图像处理资源即可实现对经过ISP处理后的图像的处理,生成目标图像。
在另一实施例中,步骤S100,在图像的采集过程中,调度图像处理资源,包括:
在通过第一进程采集图像的过程中,通过第二进程调度图像处理资源。
在采集图像的过程中调度图像处理资源,具体可以包括:通过采集图像的进程采集图像,通过调度图像处理资源的进程调度图像处理资源,将采集图像的进程作为第一进程,将至少可以用于调度图像处理资源的进程作为第二进程。
第一进程用于调用硬件器件对图像进行采集或处理的进程,第二进程用于基于算法资源对第一进行处理的图像进行处理的进程。
用于调用图像采集模组和ISP处理模组等硬件模组,调用图像采集模组采集图像,然后调用ISP等处理模组对采集到的图像进行处理。示例地,该第一进程可以为“硬件进程”。第二进程用于调度相应的软件算法资源对经过第一进程处理后的图像进行进一步处理。示例地该第二进程可以为“软件进程”。通过两个不同的进程分别进行图像采集和图像处理资源的调度,从而实现了同时图像采集和图像处理资源的调度。
通过并行执行两个分别执行不同的任务的第一进程和第二进程,实现了在图像采集的过程中调度图像处理资源。
当然,还可以通过进程之外的其他方式执行或者实现同时执行图像采集和图像处理资源的调度,或者实现在图像采集结束之前调度图像处理资源。
在另一实施例中,第二进程还可以利用调度的图像处理资源对图像进行处理。
在另一实施例中,第二进程至少可以包括:调度线程和处理线程,该调度线程至少可以用于图像处理资源的调度,处理线程至少可以用于利用图像处理资源对图像进行处理。
通过第二进程调度图像处理资源,包括:通过调度线程调度图像处理资源。
基于图像处理资源处理图像,生成目标图像,包括:通过处理线程利用图像处理资源对图像进行处理,生成目标图像。
根据第二进程中的调度线程可以调度图像处理资源,通过第二进程中的处理线程可以利用调度的图像处理资源对第一进程处理后的图像进行处理,生成目标图像。
在另一实施例中,调度线程包括:多个调度子线程。
通过调度线程调度图像处理资源,包括:通过不同调度子线程,调度不同图像处理任务的图像处理资源。
在该实施例中,在通过调度线程调度图像处理资源时,多个调度子线程可以同时执行,同时调度不同的图像处理任务的图像处理资源。通过同时调度多个不同处理任务的图像处理资源,不需要在一个图像处理任务的图像处理资源调度完成后才开始另外一个图像处理任务的图像处理资源的调度,减少了调度多个图像处理资源的总时长,进而可以提升拍摄速度。
在采集到图像后利用多个调度子线程调度的图像处理资源依次对图像进行处理,生成目标图像。多个图像处理任务之间可以是顺序执行,在执行完成一个图像处理任务之后,继续执行另外一个图像处理任务。处理线程根据调度子线程调度的图像处理资源对图像进行处理,即为图像处理任务的执行。
在另一实施例中,在当前拍摄模式为人像模式,在该模式下具有图像质量提升(如HDR)处理任务、美化处理任务和夜景处理任务中的至少一种。该调度线程至少包括三个调度子线程,即图像质量提升处理任务的图像处理资源的第一调度子线程、美化处理任务的图像处理资源的第二调度子线程和夜景处理任务的图像处理资源的第三调度子线程。
在调度图像处理资源时,同时通过第一调度子线程调度图像质量提升处理任务的第一图像处理资源,通过第二调度子线程调度美化处理任务的第二图像处理资源,通过第三调度子线程调度夜景处理任务的三图像处理资源,从而可以同时调度图像质量提升处理任务的第一图像处理资源、美化处理任务的第二图像处理资源和夜景处理任务的三图像处理资源。
这里只是示出了个别的处理任务,在实际应用中不仅限于上述几个处理任务。
图像处理资源可以包括以下至少之一:
第一图像处理资源,用于对所述图像进行图像质量提升;
第二图像处理资源,用于对所述图像进行美化处理;
第三图像处理资源,用于对所述图像进行夜景处理。
步骤S300,基于图像处理资源处理图像,包括:
利用第一图像处理资源对图像进行图像质量提升,得到质量提升图像;然后利用第二图像处理资源对质量提升图像进行美化处理得到美化后的图像,美化后的图像即为目标图像。
还可以包括:
单独利用第一图像处理资源对所述图像进行图像质量提升,得到质量提升图像。
还可以包括:
单独利用第二图像处理资源对采集到的图像进行美化处理,得到美化后的图像。
还可以包括:
单独利用第三图像处理资源对所述美化后的图像进行夜景处理,得到夜景图像。
还可以包括:
第一图像处理资源、第二图像处理资源和第三图像处理资源中的至少两个分别对采集的图像进行处理。
在通过调度线程完成图像处理资源的调度后,即可利用调度的图像处理资源对图像进行处理,具体可以通过处理进程利用调度的图像处理资源对图像进行处理。
例如,处理线程可以包括多个处理子线程,通过第一处理子线程利用第一图像处理资源对采集的图像进行图像质量提升处理,得到质量提升图像。然后在通过第二处理子线程利用第二图像处理资源对质量提升图像进行处理,得到美化后的图像。在通过第三处理子线程利用第三图像处理资源对美化后的图像进行夜景处理,得到夜景图像,即目标图像。
在一个实施例中,多个不同的图像处理任务的执行可以根据实际的使用需求进行确定,不同的拍摄模式对应的多个不同的图像处理任务的执行顺序可能不同,通常情况下,多个不同的图像处理任务之间的执行顺序为预定好的,即通过不同的图像处理任务对图像进行处理的顺序是预设的。
在另一实施例中,参考图3,为一种生成目标图像的示意图。步骤S300,基于所述图像处理资源处理所述图像,生成目标图像,包括:
步骤S301,在图像所需的图像处理资源调度完成之前,若接收到该图像,暂停基于该图像处理资源处理该图像。
例如,在第1张图像所需的图像处理资源调度完成之前,若接收到第1张图像,则暂基于第1张图像所需的图像处理资源对第1张图像的处理。
步骤S302,在图像所需的图像处理资源调度完成之后,基于图像所需的图像处理资源处理图像。
例如,在第1张图像所需的图像处理资源调度完成之后,基于第1张图像所需的图像处理资源处理第1张图像。
这样可以减少在第1张图像的图像处理资源没有调度完成就开始对第1张图像进行处理导致的冲突问题。
在一个实施例中,步骤S201中,暂停基于该图像处理资源处理该图像,可以包括:
对第N张图像进行处理的处理线程进入到图像处理的阻塞状态,在阻塞状态下暂停图像的处理。在采集到第N张图像后,对第N张图像进行处理的处理线程接收到第N张图像,如果第N张图像的图像处理资源的调度还未完成,则对第N张图像进行处理的处理线程进入阻塞状态,暂停对第N张图像进行处理。N可以为正整数,该实施例对于单独的某一张图像而言。
参考图4,为另一种生成目标图像的示意图。步骤S302可以包括:
步骤S3021,在第N张图像的图像处理资源的调度完成之后,进入到唤醒状态;
步骤S3022,在唤醒状态下,利用调度的第N张图像的图像处理资源进行第N张图像的处理。
在第N张图像的图像处理资源的调度完成之后,进入到唤醒状态,即对第N张图像进行处理的处理线程进入唤醒状态,在唤醒状态下,可以处理线程可以利用调度的第N张图像的图像处理资源进行第N张图像的处理,从而完成对第N张图像的处理。
通过阻塞和唤醒机制可以减少调度线程和处理线程在并发情况下出现的冲突情况,减少了在接收到第N张图像时由于第N张图像的图像处理资源在没有完成调度的情况下,出现处理线程开始处理图像的情况的发生,进而实现了图像处理资源的调度和处理之间的同步机制,在完成图像处理资源的调度之后再利用图像处理资源对图像进行处理。
在另一实施例中,参考图5,为一种图像处理的示意图。以图像处理任务为HDR处理任务对第1张图像进行处理为例进行说明。
响应于拍摄操作在采集第一张图像的同时调度该处理第一张图像所需的HDR处理任务的图像处理资源,在HDR处理任务的图像处理资源调度完成之前,如果处理线程接收到第一张图像,则进入图像处理的阻塞状态,如图5中的阻塞指令位置处的灰色部分所示,此时处理线程暂停对第一张图像进行处理。在HDR处理任务的图像处理资源调度完成之后,处理线程从阻塞状态切换至唤醒状态,进而利用调度的HDR处理任务的图像处理资源对第一张图像进行处理。
在一个实施例中,在HDR处理任务的图像处理资源调度完成之后,可以向处理线程发送提示消息,该提示消息用于提示处理线程HDR处理任务的图像处理资源调度已经完成,可以利用HDR处理任务的图像处理资源对第一张图像进行处理,则处理线程从阻塞状态切换至唤醒状态,进一步利用HDR处理任务的图像处理资源对第一张图像进行处理。例如,通过调用cv.notify()接口进入唤醒状态。
在另一实施例中,可以通过生成阻塞指令,根据该阻塞指令进入阻塞状态。例如,创建创建条件变量(condition variable,cv),通过cv.wait()接口来实现对处理进程的阻塞。图像处理资源的调度可以通过调度线程调用Init()接口执行。
在另一实施例中,HDR处理任务的图像处理资源调度成功后,即可通过处理线程利用HDR处理任务的图像处理资源对第一张图像进行处理。如果HDR处理任务的图像处理资源调度失败,则退出相机应用程序,如调用Abort()接口进行相机应用程序的退出。
拍摄操作可以对应生成的拍摄请求,在图5中表示为拍摄请求,第一拍摄操作对应第一拍摄请求,生成第一张图像,第N拍摄操作对应第N拍摄请求,生成第N张图像。
在另一实施例中,如果处理图像所需的处理资源包括多个时,如处理第一张图像所需的处理资源包括HDR处理资源和美化处理资源,图像处理任务包括HDR处理任务和美化处理任务,则可以同时调用HDR处理任务的图像处理资源和美化处理任务的图像处理资源。美化处理任务的图像处理资源的调度和利用美化处理任务的图像处理资源对经过HDR处理任务处理后的图像进行处理的过程,与图5所示过程的原理相同。
在利用HDR处理任务的图像处理资源对第一张图像进行处理完成,得到质量提升图像之后,如果美化处理任务的图像处理资源的调度还没有完成,则继续进入阻塞状态,暂停继续对质量提升图像进行处理,等待美化处理任务的图像处理资源的调度的完成,在美化处理任务的图像处理资源的调度完成后,通过相应的处理线程利用美化处理任务的图像处理资源对质量提升图像进行处理。
在另一实施例中,所述图像包括第一图像和第二图像,所述第二图像在所述第一图像之后进行图像处理;
参考图6,为一种调度图像所需的图像处理资源的示意图。步骤S200,所述在图像的采集过程中,调度所述图像所需的图像处理资源,包括:
步骤S201,在基于目标处理资源处理所述第一图像处理的过程中,若接收到所述第二图像,暂停为所述第二图像调度所述目标处理资源;其中,所述目标处理资源为所述图像处理资源中,对所述第一图像和第二图像进行同一种处理所需的资源;
步骤S202,若基于所述目标处理资源处理完所述第一图像,为所述第二图像调度所述目标处理资源。
例如,目标资源可以是对第一图像和第二图像进行HDR处理所需的HDR处理资源,由于处理第一图像和处理第二图像时都需要用该HDR处理资源,在基于该HDR处理资源处理第一图像的过程中,若接收到第二图像,则暂停为第二图像调度该HDR处理资源。在基于该HDR处理资源处理完第一图像后,为第二图像调度该HDR处理资源。这样可以减少在处理多个图像时,某一处理资源同时处理多个图像发送冲突的问题。
在另一实施例中,步骤S200,在图像的采集过程中,调度图像处理资源,包括:
在采集第n张图像之后,并且利用第n-1张图像的图像处理资源完成对第n-1张图像的处理之后,将第n-1张图像的图像处理资源调度为第n张图像的图像处理资源,其中,n为等于或大于2的正整数。
在该实施例中,在根据相邻两次拍摄操作采集图像时,可以采集两张图像,如第一次拍摄操作采集第一张图像,第二次拍摄操作采集第二张图像。在调度第n-1张图像的图像处理资源时,第n-1张图像的图像处理资源被第n-1张图像占用,图像处理资源不能被继续调度。在采集第n张图像之后,如果利用第n-1张图像的图像处理资源完对第n-1张图像的处理,第n-1张图像的图像处理资源不再被第n-1张图像的图像处理资源占用,第n-1张图像的图像处理资源处于空闲状态,则将第n-1张图像的图像处理资源调度为第n张图像的图像处理资源,从而可以继续调度该图像处理资源,便于对第n张图像进行处理。
通过该方法可以减少相邻两张图像的图像处理资源的调度发生冲突,以及减少利用相邻两张图像的图像处理资源分别对相邻两种图像进行处理发生冲突的问题。
在另一实施例中,参考图7,为一种调度图像处理资源的示意图。步骤S200,在图像的采集过程中,调度对所述图像处理时所需的图像处理资源,包括:
步骤S203,在采集到第n张图像并且在第n-1张图像的第m图像处理任务未完成时,暂停将第n-1张图像的第m图像处理任务的图像处理资源,调度为第n张图像的第m图像处理任务的图像处理资源。
步骤S204,在采集第n张图像并且在第n-1张图像的第m图像处理任务完成时,开始将第n-1张图像的第m图像处理任务的图像处理资源,调度为第n张图像的第m图像处理任务的图像处理资源;所述n为等于或大于2的正整数,所述m为正整数。
步骤S201和步骤S202和该实施例中的步骤S201和步骤S201没有必然的先后顺序关系。
在该实施例中,对于相邻两张图像的同一图像处理任务而言,在采集到第n张图像并且第n-1张图像的第m图像处理任务未完成时,第m图像处理任务的图像处理资源被第n-1张图像占用。此时暂停将第n-1张图像的第m图像处理任务的图像处理资源,调度为第n张图像的第m图像处理任务的图像处理资源。
暂停将第n-1张图像的第m图像处理任务的图像处理资源,调度为第n张图像的第m图像处理任务的图像处理资源的方式可以包括多种,例如根据暂停指令或上锁指令等暂停该步骤。
在第n-1张图像的第m图像处理任务完成时,第m图像处理任务的图像处理资源不再被第n-1张图像占用,此时可以将第n-1张图像的第m图像处理任务的图像处理资源,调度为第n张图像的第m图像处理任务的图像处理资源,从而便于利用第m图像处理任务的图像处理资源对第n张图像进行处理。
开始执行步骤S204,可以跟开始指令或者解锁指令等开始执行步骤S204。
在另一实施例中,步骤S201中,暂停为第二图像调度目标处理资源,包括:
在基于目标处理资源处理第一图像的过程中,确定第一标识;其中,第一标识,用于表示目标处理资源处于被占用状态。然后根据第一标识,锁定目标处理资源。
例如,HDR处理资源处理第一图像的过程中,确定出第一标识,该第一标识表示该HDR处理资源正在处于处理第一图像的过程中,即被占用的状态。然后根据该第一标识锁定HDR处理资源,减少在HDR处理资源处理第一图像的过程中被调度为第二图像的HDR图像处理资源处理第二图像时,导致发送冲突的概率。
在另一实施例中,在目标处理资源为多个时,则根据基于目标处理资源处理第一图像和图像的顺序,基于顺序靠前的目标处理资源处理第一图像的过程中,确定第一标识,该第一标识,用于表示该顺序靠前的目标处理资源处于被占用状态。然后根据第一标识,锁定该顺序靠前的目标处理资源。
例如,目标处理资源可以包括HDR处理资源和美化处理资源,基于HDR处理资源处理第一图像和第二图像的优先级,高于基于美化处理资源处理第一图像和第二图像的优先级。
在基于HDR处理资源处理处理第一图像的过程中,确定出第一标识,该第一标识表示该HDR处理资源正在处于处理第一图像的过程中,即被占用的状态。然后根据该第一标识锁定HDR处理资源,此时不会为第二图像调度HDR处理资源。
在另一实施例中,步骤S201中,暂停为第二图像调度所述目标处理资源,包括:
在第n-1张图像的第m图像处理任务未完成时,确定第m图像处理任务的图像处理资源的第一标识。该第一标识,用于表示第n-1张图像的第m图像处理任务的图像处理资源当前处于被占用状态。第一标识的形式并不进行限定。
然后根据第一标识,锁定第n-1张图像的第m图像处理任务的图像处理资源。锁定可以通过上锁指令进行。
在另一实施例中,步骤S202,若基于目标处理资源处理完第一图像,为第二图像调度目标处理资源,包括:
在基于目标处理资源处理完第一图像,确定第二标识;第二标识,用于表示目标处理资源当前处于空闲状态。然后根据第二标识解锁所述目标处理资源,再为第二图像调度解锁后的目标处理资源。
例如,HDR处理资源处理处理完第一图像后,确定第二标识,此时HDR处理资源处理处于空闲状态,然后根据该第二标识解锁HDR处理资源处理,为第二图像调度该HDR处理资源处理,从而便于基于该HDR处理资源处理处理第二图像。
在另一实施例中,在第n-1张图像的第m图像处理任务完成时,确定第m图像处理任务的图像处理资源的第二标识;第二标识,用于表示第m图像处理任务的图像处理资源当前处于空闲状态。第二标识的形式也不进行限定。
然后根据第二标识,解锁第n-1张图像的第m图像处理任务的图像处理资源。解锁可以通过解锁指令进行解锁。
将解锁后的第n-1张图像的第m图像处理任务的图像处理资源,调度为第n张图像的第m图像处理任务的图像处理资源。
参考图8,为另一种图像处理的示意图。以根据两次拍摄操作采集两张图像为例进行说明。根据拍摄请求1采集第一张图像时调度第一张图像的图像处理资源,如调度HDR图像处理资源。在第一张图像的HDR图像处理资源调度完成,并且利用第一张图像的HDR图像处理资源完成对第一张图像的处理之后,解锁第一张图像的图像处理资源。具体可以根据解锁指令1进行解锁,如调用mutex.unlock()接口解锁。
在利用第一张图像的图像处理资源未完成对第一张图像的处理之前,第一张图像的图像处理资源处于锁定状态。具体可以在调度第一张图像的HDR图像处理资源时上锁,具体可以根据上锁指令进行上锁,例如通过调用mutex.lock()接口上锁。
在采集第二张图像之后,将已解锁的第一张图像的HDR图像处理资源调度为第二张图像的HDR图像处理资源,从而可以便于调度第二张图像的HDR图像处理资源,以及利用第二张图像的HDR图像处理资源对第二张图像进行HDR处理。
在另一实施例中,在第n-1张图像的第m图像处理任务未完成时,锁定第n-1张图像的第m图像处理任务的图像处理资源。在第n-1张图像的第m图像处理任务完成时,解锁第n-1张图像的第m图像处理任务的图像处理资源;m为正整数。
参考图8,以m等于1,第m图像处理任务为HDR图像处理任务为例进行说明。在第一张图像的HDR图像处理资源处于上锁状态,并且利用第一张图像的HDR图像处理资源未完成对第一张图像的HDR处理之前,接收到第二拍摄操作的拍摄请求2,根据拍摄请求2采集第二张图像同时调度第二张图像的HDR图像处理资源。此时,由于第一张图像的HDR图像处理资源处于上锁状态,第一张图像的HDR图像处理任务的HDR图像处理资源和第二张图像的HDR图像处理任务的HDR图像处理资源为同一个HDR图像处理资源,所以并不能调度第二张图像的HDR图像处理资源。这样即可减少两张图像调度同一个图像处理任务的图像处理资源发生冲突的情况。
在利用第一张图像的HDR图像处理任务的图像处理资源对第一张图像进行处理结束之前,暂停第二张图像的HDR图像处理任务的图像处理资源的调度,如图8中锁定状态位置处的灰色部分。在利用第一张图像的HDR图像处理任务的图像处理资源对第一张图像进行处理结束之后,根据解锁指令1即可解锁第一张图像的HDR图像处理任务的图像处理资源,进而可以调度第二张图像的HDR图像处理任务的图像处理资源。
如此循环,对应的第三张图像的第m图像处理任务的图像处理资源,在根据解锁指令2解锁第二张图像的第m图像处理任务的图像处理资源,进而可以调度第三张图像的第m图像处理任务的图像处理资源。
在另一实施例中,第n-1张图像的第k图像处理任务未完成时,锁定第n-1张图像的第k图像处理任务的图像处理资源。在第n-1张图像的第k图像处理任务完成,并且第n张图像的第m图像处理任务完成时,解锁第n-1张图像的第k图像处理任务的图像处理资源。K等于m+1。
在另一实施例中,参考图9,为另一种图像处理的示意图。
在得到目标图像之后,还可以对目标图像进行编解码等操作,生成最终保存至相册的图像。
示例地,可以在“硬件进程”完成后输出Nv420 YUV图像,同时“软件进程”中HDR和美化等算法资源预加载完毕,会在“软件进程”中依次调用HDR和美化算法资源的执行接口(Process)做一系列后处理,最后将YUV图像送到JPEG encoder编码模块,然后存到相册文件中,用户收到拍照结果,至此拍照过程完成。这里的“硬件进程”可以是图3中的“硬件进程”,可以为上述实施例中的第一进程,“软件进程”可以是图3中的“硬件进程”,可以为上述实施例中的第二进程。
参考图10,为一种拍摄时间对比图,本公开实施例提供的方案与传统方案在拍摄时得到最终拍摄结果的时间对照图。通过图10中的数据可知,本公开实施例提供的方案明显提高了拍摄速度,提高了用户使用体验。
在另一实施例中,还提供了一种ISP对图像进行处理的过程。
曝光(AE)和对焦(AF)模块输出曝光参参数和对焦参数,图像采集模组根据曝光参参数和对焦参数采集图像,如拜耳(Bayer)格式的raw图。
通过坏点矫正(BPC)、黑电平矫正(BLC),镜头阴影矫正(LSC)等模块对拜耳(Bayer)格式的raw图进行处理,修复由硬件特性造成的画质缺陷。
然后经过平衡白处理模块继续对图像进行白平衡调整,还原色彩。平衡白处理模块具体可通过平衡白算法资源(auto white balance,AWB)进行。
在通过Demosaic做“去马赛克”操作,此时Bayer格式图像转换为RGB格式。
然后依次通过色校正模块(color correction,CC)、色调映射模块(global tonemapping,GTM)进行图像矫正。在通过颜色空间转换模块(color space transformation,CST)转成YUV格式的转换得到YUV格式的图像。
通过降噪模块(noise reduction,NR)对YUV格式的图像做降噪处理。
再经过CST模块降噪完成后的YUV图像转为RGB图像,依次经过LTM(local tonemaping)、CC(color correction)和Gamma矫正等模块,做最后的画质优化。
将RGB图像送CST转成YUV格式图像,再经过DS(down scale)模块,将YUV图像裁剪为符合输出标准的尺寸,最后输出Nv420 YUV格式的图像。
在另一实施例中,参考图11,为一种图像处理装置的结构示意图,该装置包括:
图像采集模块1,用于响应于拍摄操作,采集图像;
资源调度模块2,用于在采集所述图像的过程中,调度对所述图像处理时所需的图像处理资源;
处理模块3,用于利用调度的所述图像处理资源处理所述图像,生成目标图像。
在另一实施例中,资源调度模块2,包括:
采集模块,用于通过采集进程采集所述图像;
调度模块,用于在采集所述图像时通过图像处理进程调度所述图像处理资源。
在另一实施例中,所述图像处理进程包括:调度线程和处理线程;
所述调度线程,用于所述图像处理资源的调度;
所述处理线程,用于所述图像的处理。
在另一实施例中,所述调度线程包括:多个调度子线程,不同调度子线程,用于调度不同图像处理任务的图像处理资源。
在另一实施例中,所述图像处理任务包括以下至少之一:
图像质量提升处理;
美化处理;
所述处理模块3,包括:
质量提升单元,用于利用第一图像处理资源对所述图像进行图像质量提升,得到质量提升图像;
美化单元,利用第二图像处理资源对所述质量提升图像进行美化处理,得到美化后图像。
在另一实施例中,所述图像质量提升处理包括:HDR处理。
在另一实施例中,所述方法还包括:
阻塞模块,用于在第N张图像的图像处理资源的调度完成之前收到所述采集进程提交的第N张图像时,进入到图像处理的阻塞状态,在所述阻塞状态下暂停图像的处理;
所述处理模块3,包括:
唤醒单元,用于在第N张图像的所述图像处理资源的调度完成之后,进入到唤醒状态;
调度单元,用于在所述唤醒状态下,利用调度的第N张图像的所述图像处理资源进行所述第N张图像的处理;N为正整数。
在另一实施例中,所述资源调度模块2,用于:
在采集第n张图像之后,将已解锁的第n-1张图像的图像处理资源调度为第n张图像的图像处理资源,其中,所述n为等于或大于2的正整数。
在另一实施例中,所述装置还包括:
锁定模块,用于在所述第n-1张图像的第m图像处理任务未完成时,锁定第n-1张图像的第m图像处理任务的图像处理资源;
解锁模块,用于在所述第n-1张图像的第m图像处理任务完成时,解锁第n-1张图像的第m图像处理任务的图像处理资源;其中,所述m为正整数。
在另一实施例中,参考图2,“软件进程”是一条多个软件算法资源组成的通路,做一些图像后处理操作,比如HDR融合,人脸美化,畸变矫正等。每个算法资源都有“初始化”(Init)和“执行”(Process)这两个核心接口,并且每次拍照完毕后都会销毁算法资源“初始化”申请的所有资源。在本发明中,拍照请求下发时“软件进程”会通过调用上层“预加载函数”,来依次调用所需要用到的算法资源的“初始化”接口。这样在“硬件进程”出图的过程中,“软件进程”可以同时并行创建比如HDR算法资源的金字塔模型,美化算法资源的神经网络等计算资源。
参考图6。更高度的并发需要更精细的同步机制来管控潜在的冲突和踩踏。本发明中可能遇到这种情况:在同一个请求内,“硬件进程”先处理完成,把图传送给“软件进程”做“算法资源执行函数”,但此时“预加载函数”(即图6中的PreLoad()函数)还没有完成。这就需要为“算法资源执行函数”(即图6中的Process()函数)添加阻塞和唤醒机制,来保证和“预加载函数”的同步。
具体实现:为HDR和美化算法资源节点,各自创建一个condition variable(条件变量,下文简称cv)成员变量,通过cv.wait()接口来实现对“算法资源执行函数”的阻塞。当“预加载函数”完成后会调用cv.notify()接口来唤醒和执行阻塞队列中的一个“算法资源执行函数”任务。
参考图8,本发明解决的另一个并发冲突场景,以HDR算法资源为例:如果两次拍照请求间隔较短,在第二次拍照的“预加载函数”调用的时间点上,第一次拍照的“算法资源执行函数”还没有处理完毕。这时第一次拍照所申请的各种资源(模型,神经网络,金字塔等)都是“临界区对象”(critical section),是不允许多于1个线程同时访问并修改的。
具体实现方案:为算法资源创建一个互斥量mutex,在“预加载函数”开始时候调用mutex.lock()上锁,在“算法资源执行函数”结束之前调用mutex.unlock()解锁。在第一次拍照还没有解锁的情况下,第二次的“预加载函数”的mutex.lock()就会一直阻塞等待直到解锁,从而实现“临界区对象”的串行访问。
在另一实施例中,还提供了一种电子设备,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述任一实施例所述的方法。
在另一实施例中,还提供了一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一实施例所述的方法。
需要说明的是,本公开实施例中的“第一”和“第二”仅为表述和区分方便,并无其他特指含义。
图12是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图12,电子设备可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备的整体操作,诸如与展示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为电子设备的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
多媒体组件808包括在电子设备和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶展示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备的打开/关闭状态,组件的相对定位,例如组件为电子设备的展示器和小键盘,传感器组件814还可以检测电子设备或电子设备一个组件的位置改变,用户与电子设备接触的存在或不存在,电子设备方位或加速/减速和电子设备的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于发频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种图像的处理方法,其特征在于,包括:
响应于拍摄操作,采集图像;
在图像的采集过程中,调度对所述图像处理时所需的图像处理资源;
基于所述图像处理资源处理所述图像,生成目标图像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述图像处理资源处理所述图像,包括:
在所述图像所需的所述图像处理资源调度完成之前,若接收到所述图像,暂停基于所述图像处理资源处理所述图像;
在所述图像所需的所述图像处理资源调度完成之后,基于所述图像所需的所述图像处理资源处理所述图像。
3.根据权利要求1所述的方法,其特征在于,所述图像包括第一图像和第二图像,所述第二图像在所述第一图像之后进行图像处理;
所述在图像的采集过程中,调度所述图像所需的图像处理资源,包括:
在基于目标处理资源处理所述第一图像处理的过程中,若接收到所述第二图像,暂停为所述第二图像调度所述目标处理资源;其中,所述目标处理资源为所述图像处理资源中,对所述第一图像和第二图像进行同一种处理所需的资源;
若基于所述目标处理资源处理完所述第一图像,为所述第二图像调度所述目标处理资源。
4.根据权利要求3所述的方法,其特征在于,所述暂停为所述第二图像调度所述目标处理资源,包括:
在基于所述目标处理资源处理所述第一图像的过程中,确定所述第一标识;其中,所述第一标识,用于表示所述目标处理资源处于被占用状态;
根据所述第一标识,锁定所述目标处理资源。
5.根据权利要求3所述的方法,其特征在于,所述若基于所述目标处理资源处理完所述第一图像,为所述第二图像调度所述目标处理资源,包括:
在基于所述目标处理资源处理完所述第一图像,确定第二标识;其中,所述第二标识,用于表示所述目标处理资源当前处于空闲状态;
根据所述第二标识,解锁所述目标处理资源;
为所述第二图像调度解锁后的所述目标处理资源。
6.根据权利要求1所述的方法,其特征在于,所述在图像的采集过程中,调度图像处理资源,包括:
在通过第一进程采集所述图像的过程中,通过第二进程调度所述图像处理资源。
7.根据权利要求6所述的方法,其特征在于,所述第二进程包括:调度线程和处理线程;
所述通过第二进程调度所述图像处理资源,包括:
通过所述调度线程调度所述图像处理资源;
所述基于所述图像处理资源处理所述图像,生成目标图像,包括:
通过所述处理线程利用所述图像处理资源对所述图像进行处理,生成所述目标图像。
8.根据权利要求7所述的方法,其特征在于,所述调度线程包括:多个调度子线程;
所述通过所述调度线程调度所述图像处理资源,包括:
通过不同的调度子线程,调度不同图像处理任务的图像处理资源。
9.根据权利要求8所述的方法,其特征在于,所述图像处理任务包括以下至少之一:
图像质量提升处理、美化处理、夜景处理;
所述图像处理资源,包括以下至少之一:
第一图像处理资源,用于对所述图像进行图像质量提升;
第二图像处理资源,用于对所述图像进行美化处理;
第三图像处理资源,用于对所述图像进行夜景处理。
10.根据权利要求9所述的方法,其特征在于,所述图像质量提升处理包括:HDR处理。
11.一种图像处理装置,其特征在于,包括:
采集模块,用于响应于拍摄操作,采集图像;
资源调度模块,用于在图像的采集过程中,调度对所述图像处理时所需的图像处理资源;
处理模块,用于基于所述图像处理资源处理所述图像,生成目标图像。
12.一种电子设备,其特征在于,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至10任一项所述的方法。
13.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111625642.7A CN116362983A (zh) | 2021-12-28 | 2021-12-28 | 一种图像的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111625642.7A CN116362983A (zh) | 2021-12-28 | 2021-12-28 | 一种图像的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116362983A true CN116362983A (zh) | 2023-06-30 |
Family
ID=86936435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111625642.7A Pending CN116362983A (zh) | 2021-12-28 | 2021-12-28 | 一种图像的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116362983A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692751A (zh) * | 2023-08-02 | 2024-03-12 | 上海荣耀智慧科技开发有限公司 | 一种图像处理方法、终端、存储介质及程序产品 |
-
2021
- 2021-12-28 CN CN202111625642.7A patent/CN116362983A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692751A (zh) * | 2023-08-02 | 2024-03-12 | 上海荣耀智慧科技开发有限公司 | 一种图像处理方法、终端、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020168956A1 (zh) | 一种拍摄月亮的方法和电子设备 | |
US10674088B2 (en) | Method and device for acquiring image, terminal and computer-readable storage medium | |
CN111586282B (zh) | 拍摄方法、装置、终端及可读存储介质 | |
CN112217990B (zh) | 任务调度方法、任务调度装置及存储介质 | |
CN107615745B (zh) | 一种拍照方法及终端 | |
CN112291475B (zh) | 拍照方法、装置及电子设备 | |
CN115689963B (zh) | 一种图像处理方法及电子设备 | |
CN116939356A (zh) | 相机启动方法、装置及存储介质 | |
CN116362983A (zh) | 一种图像的处理方法、装置、电子设备及存储介质 | |
CN112188034A (zh) | 一种图像处理方法、装置、终端设备及介质 | |
WO2023160230A9 (zh) | 一种拍摄方法及相关设备 | |
CN116866729A (zh) | 拍摄方法、装置及介质 | |
US11252341B2 (en) | Method and device for shooting image, and storage medium | |
CN116416323A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
CN112286687A (zh) | 一种资源处理方法及装置 | |
CN113315904B (zh) | 拍摄方法、拍摄装置及存储介质 | |
EP3809336A1 (en) | Method, device and storage medium for processing overhead of memory access | |
CN113746998A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111698414B (zh) | 图像信号处理方法及装置、电子设备、可读存储介质 | |
CN115514881A (zh) | 控制相机的方法与电子设备 | |
CN113360254A (zh) | 任务调度方法及系统 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
WO2024109203A1 (zh) | 拍照处理方法和电子设备 | |
CN117560574B (zh) | 一种拍摄方法、电子设备和可读存储介质 | |
CN113240084B (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 |