CN114677464A - 图像处理方法、图像处理装置、计算机设备及存储介质 - Google Patents

图像处理方法、图像处理装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114677464A
CN114677464A CN202110729016.6A CN202110729016A CN114677464A CN 114677464 A CN114677464 A CN 114677464A CN 202110729016 A CN202110729016 A CN 202110729016A CN 114677464 A CN114677464 A CN 114677464A
Authority
CN
China
Prior art keywords
processed
pixel
image
objects
sampling
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
Application number
CN202110729016.6A
Other languages
English (en)
Inventor
刘毅
陈其锋
李昊沅
范世炜
李峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN202110729016.6A priority Critical patent/CN114677464A/zh
Publication of CN114677464A publication Critical patent/CN114677464A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)

Abstract

本申请实施例提供了一种图像处理方法、图像处理装置、计算机设备及存储介质,其中方法包括:从目标图像中确定M个待处理像素对象,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括各个待处理像素对象对应的采样点子集合,所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。通过本申请实施例可以有效提高图像优化处理的效率,降低图像优化处理的耗时。

Description

图像处理方法、图像处理装置、计算机设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像处理方法、一种图像处理装置、一种计算机设备及计算机可读存储介质。
背景技术
随着电子技术的发展,拍摄装置已广泛应用于人们的日常生活中,人们可以通过拍摄装置拍摄照片或者视频,也可以通过拍摄装置进行视频通话、视频会议、视频直播,等等。而在通过拍摄装置拍摄得到照片或视频之后,或者在通过拍摄装置进行视频通话、视频会议或者视频直播时,如何对拍摄装置采集到的图像进行优化处理是目前的研究热点。
发明内容
本申请实施例提供了一种图像处理方法、图像处理装置、计算机设备及存储介质,可以有效提高图像优化处理的效率,降低图像优化处理的耗时。
一方面,本申请实施例提供了一种图像处理方法,所述方法包括:
从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;
从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;
根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
一方面,本申请实施例提供了一种图像处理装置,所述装置包括:
确定单元,用于从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;
获取单元,用于从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;
处理单元,用于根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
在一实施例中,M为大于1的正整数,所述处理单元,具体用于通过多个线程根据所述采样点集合对所述M个待处理像素对象进行并行优化处理,得到所述M个待处理像素对象的优化处理结果。
在一实施例中,所述处理单元,还用于将所述采样点集合存储到目标存储空间中;其中,所述目标存储空间为对所述目标图像进行处理的线程可直接访问的存储空间。
在一实施例中,所述处理单元,具体用于:
调用多个线程,从所述M个待处理像素对象中确定各个线程需要处理的待处理像素对象;通过各个线程并行优化处理各个线程需要处理的待处理像素对象,得到所述M个待处理像素对象的优化处理结果;
其中,在并行优化处理的过程中,通过所述多个线程中的任一线程从所述目标存储空间中获取需要处理的目标待处理像素对象对应的采样点子集合,并根据获取的采样点子集合对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
在一实施例中,所述采样点选取规则包括:以待处理像素对象为中心,在水平方向上等间隔选取至少两个像素对象作为采样点,在竖直方向上等间隔选取至少两个像素对象作为采样点,以及在一个或多个斜角方向上等间隔选取至少两个像素对象作为采样点。
在一实施例中,所述处理单元,还用于:在优化处理完所述目标图像中的所有待处理像素对象之后,根据所述所有待处理像素对象的优化处理结果生成优化处理后的目标图像;对所述优化处理后的目标图像进行图像渲染处理。
在一实施例中,所述处理单元,还用于:
在对所述目标图像进行优化处理的过程中,获取相对所述目标图像的下一帧图像;在对所述优化处理后的目标图像进行图像渲染处理的过程中,对所述相对所述目标图像的下一帧图像进行图像优化处理。
在一实施例中,所述处理单元,具体用于:
通过所述多个线程中的任一线程根据获取的采样点子集合以及所述目标待处理像素对象确定采样参考值;对所述采样参考值进行增强处理;根据优化系数以及增强处理后的采样参考值,对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
一方面,本申请实施例提供了一种计算机设备,包括:处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行本申请实施例提供的图像处理方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的图像处理方法。
相应地,本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的图像处理方法。
本申请实施例中,针对各个待处理像素对象选取的采样点数量较少,且结合待处理像素对象的选取方式可以使得相邻待处理像素对象之间存在一定数量的相同采样点,这样不仅可以有效减少一批次需要处理的采样点总数量,并且可以对相同采样点只进行少量的操作(如读写),无需对相同采样点进行多次相同的操作,从而可以有效提高图像优化处理的效率,降低图像优化处理的耗时。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种图像优化处理方式的流程示意图;
图2示出了本申请实施例提供的一种采样点选取方式;
图3示出了一批次处理的多个像素对象的一种位置关系;
图4是本申请实施例提供的另一种图像优化处理方式的流程示意图;
图5示出了本申请实施例提供的另一种采样点选取方式;
图6示出了两个像素对象的采样点的重合情况;
图7示出了一批次处理的多个像素对象的另一种位置关系;
图8示出了两种访问数据的方式;
图9是本申请实施例提供的一种图像处理系统的架构示意图;
图10是本申请实施例提供的一种图像处理方法的流程示意图;
图11是本申请实施例提供的一种图像处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为更好的理解本申请实施例,下面先对本申请实施例所涉及的以下术语进行介绍:
滤波:滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。
GPU:Graphics Processing Unit,图形处理器,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
YUV:是一种颜色编码方法。常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。
RGB:代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。
Compute Kernel:为高吞吐量加速器(如图形处理单元(GPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))编译的例程,与主程序(通常在中央处理单元上运行)分离,但由主程序使用。
Thread Block:一组可以串行或并行执行的线程。
Shared Local Memory:一块可以供Thread Block内线程高速访问的地址空间。
FPU:是专门设计用于对浮点数进行运算的计算单元。
随着图像处理技术的发展,在通过拍摄装置拍摄得到照片或者视频之后,或者在通过拍摄装置进行视频通话、视频会议或者视频直播时,为提高图像质量,通常需要对拍摄装置采集到的图像进行图像优化处理。图像优化处理过程往往是针对像素点进行优化处理,需要从图像中获取与待处理像素点相对应的多个采样点,并基于该多个采样点的滤波操作对待处理像素点进行优化处理。以图像优化处理为美颜处理为例,美颜是一种常用的美化人像的技术,该技术往往需要基于多采样点的滤波操作来实现去除痘印、细纹等从而达到美化皮肤的效果。常用的滤波有高斯滤波、双边滤波等,这些滤波操作需要在处理一个像素点时要访问该像素点周围的数个像素(即像素点),需要访问的像素越多,不仅会占用大量的数据带宽,还会增加图像优化处理的耗时。而如何提高图像优化处理的效率,降低图像优化处理的耗时是目前亟需解决的问题。
基于此,本申请实施例提供了一种图像优化处理方式,以对视频中的图像进行美颜处理为例进行说明,处理流程如图1所示。由于美颜处理需要在图像的G通道进行采样,而视频采集出来的图像格式一般为YUV格式,因此需要三个Compute Kernel,分别用于进行YUV格式转为RGB格式,美颜处理,以及RGB格式转回YUV格式的操作。
在美颜处理的Compute Kernel中需要进行以下操作:首先在需要优化处理的像素点周围采样L(L为正整数,如20)个像素在G通道进行滤波(如双边滤波)得到采样平均值,并根据采样平均值计算采样参考值,计算方式如公式1所示:
sampleg=inputg-sampleavg+0.5 公式1
其中,sampleg为采样参考值,sampleavg为采样平均值,inputg为待处理像素点的像素值,下标rgb代表颜色通道(后续类似),如公式1中的下标为g,则表示的是G通道。
然后对采样参考值进行多次(如5次)强光处理,强光处理即将采样参考值带入公式2中进行计算,并将计算得到的新的采样参考值带入公式2中进行重复计算,直至达到预设的强光处理次数。其中,公式2如下所示:
Figure BDA0003138633850000061
最后根据美颜程度(θ)与待处理像素点进行颜色融合就可以得到待处理像素点的优化处理后的像素值,处理方式可以如公式3-公式8所示:
Figure BDA0003138633850000062
samplergb1=α*inputrgb-(1-α)*sampleggg 公式4
Figure BDA0003138633850000063
Figure BDA0003138633850000064
Figure BDA0003138633850000065
Figure BDA0003138633850000066
其中,公式3为根据采样平均值sampleavg以及参考值0.3计算算参考值α,公式4为基于参考值α、采样参考值sampleg(即sampleggg)、以及待处理像素点的初始像素值inputrgb,确定待处理像素点第一次优化处理后的像素值samplergb1。公式5为基于参考值0.33、待处理像素点的初始像素值inputrgb、初始G通道像素值inputggg,以及samplergb1,确定待处理像素点第二次优化处理后的像素值samplergb2。公式6和公式7与公式5类似,经过公式6和公式7处理后得到待处理像素点第四次优化处理后的像素值samplergb4。公式8为基于参考值0.96以及samplergb4,确定待处理像素点优化处理的最终像素值outputrgb。需要说明的是,公式3-公式8中的参考值0.3、0.33、0.39、0.96仅是示意性说明。
在一实施例中,本申请实施例中的采样点选取规则可以包括:从以待处理像素点为中心的半径不同的多个圆周上分别等间隔选取多个像素点作为采样点。在可行的实施方式中,在以待处理像素点为中心,且半径为第一半径的圆周上等间隔选取多个像素点作为采样点;在以待处理像素点为中心,且半径为第二半径的圆周上等间隔选取多个像素点作为采样点;第二半径大于第一半径。需要说明的是,以上所说的圆周可以是指近似圆周,等间隔可以是指近似等间隔,即误差在一定范围内容即可;各圆周上选取采样点的间隔可以相同,也可以不同。
例如,该采样点选取规则所对应的采样方式可以如图2所示,图2中的一个方格表示一个像素点,图2中的黑色填充像素点为待处理像素点,灰色填充像素点为待处理像素点所对应的采样点,图2中共包括20个采样点,包括:以待处理像素点为中心,较短半径的圆周上等间隔选取的8个像素点,较长半径的圆周上等间隔选取的12个像素点。
上述处理流程为对一个待处理像素点的美颜处理方式,而对于多线程的ThreadBlock,则可以对多个待处理像素点进行并行美颜处理,以4*4的Thread Block(即包括16个线程)为例,该4*4的Thread Block可以并行美颜处理一个4*4的像素块,该像素块例如图3中的灰色像素点所示。
采用上述图像优化处理方式,虽然可以在一定程度上提高图像优化处理的效率,以及在一定程度上降低图像优化处理的耗时,但上述图像优化处理方式还存在着以下不足:
1、进行滤波的时候需要在待处理点像素点周围采样较多的像素(如图2所示的需要采样20个像素点),这样会引入大量的数据读取,会影响处理效率;并且按照上述采样点选取规则所选取的采样点的分布,会导致在一个Thread Block内的线程在处理一个像素点而使用的采样点不能被其他线程进行处理时复用,基于此无法利用Thread Block可以高速访问的地址空间Shared Local Memory来实现诸如采样数据读取的加速。
2、图像优化处理过程中有三个Compute Kernel,每个Compute Kernel都是需要对所有像素点进行处理的,这也就意味着需要至少读写图像三次,这会消耗大量的处理时间,进一步降低处理效率。
3、在Compute Kernel中进行计算中有很多浮点运算,上述图像优化(或者说图像美颜)处理过程中的所有计算以及中间结果的存储是基于浮点型数据类型Float实现的,Float数据类型需要占用32位;而对于图像来说,其本身的数据通常是Uint8(8位无符号整型)类型的,不需要这么高的精度,故基于Float数据类型来进行浮点运算会造成FPU计算能力的浪费,并且基于Float数据类型来保存中间结果会降低数据的读取速度。
4、对于诸如视频会议、视频通话等视频应用场景,画面显示要经过拍摄装置采集、图像前处理(即美颜处理)、渲染到UI层这三个阶段才能在界面层显示出来,而拍摄装置采集以及渲染阶段都会消耗较长的时间,上述图像优化处理方式并没有考虑使用异步处理来优化相应时间。
基于上述缺点,采用上述图像优化处理方式,对于尺寸较大比如1080P的图像则很难将处理耗时控制在较短时长(如30ms)以下,从而通常不能满足需要实时处理(如单帧耗时小于30ms)的场景。
为进一步提高图像优化处理的效率,降低图像优化处理的耗时,本申请实施例提供了另一种图像优化处理方式,同样以对视频中的图像进行美颜处理为例进行说明,处理流程如图4所示。该另一种图像优化处理方式相对于前文所述的图像优化处理方式进行了以下优化:
1、提出了一种新的采样点选取规则。该新的采样点选取规则可以包括:以待处理像素点为中心,在水平方向上等间隔选取至少两个像素点作为采样点,在竖直方向上等间隔选取至少两个像素点作为采样点,以及在一个或多个斜角方向上等间隔选取至少两个像素点作为采样点。在一实施方式中,该一个或多个斜角方向可以为45度斜角和225度斜角所形成的斜角方向、135度斜角和315度斜角所形成的斜角方向中的一个或多个。需要说明的是,等间隔可以是指间隔相同数量的像素点。
例如,该新的采样点选取规则所对应的采样方式可以如图5所示,图5中的黑色填充像素点为待处理像素点,灰色填充像素点为待处理像素点所对应的采样像素点,图5中共12个采样像素点,包括:以待处理对象为中心,水平方向上等间隔的4个像素点(待处理像素点左右各两个),竖直方向上等间隔的4个像素点(待处理像素点上下各两个),45度斜角和225度斜角所形成的斜角方向上等间隔的2个像素点(待处理像素点的45度斜角和225度斜角上各一个),以及135度斜角和315度斜角所形成的斜角方向上等间隔的2个像素点(待处理像素点的135度斜角和315度斜角上各一个)。其中,等间隔可以是指间隔4个像素点。
按照该新的采样点选取规则所选取的采样点的数量减少,例如,如图2中的需选取20个采样点降为了如图5中的只需选取12个采样点。虽然采样点的数量变少了,但由于包括了以待处理像素点为中心的水平、竖直以及斜角方向上的采样点,选取的采样点仍然具有较好的参考价值。并且在按照新的采样点选取规则进行采样点选取时,相互间隔一定数量(与该新的采样点选取规则中等间隔的像素点数量相关)像素的待处理像素点就会存在一定数量的可以复用的采样点。如图6所示,针对图6中左边的黑色待处理像素点所选取的采样点,为图6中标识为1的灰色像素点、标识为12的灰色像素点、以及图6中右边的标识为黑色的像素点;针对图6中右边的黑色待处理像素点所选取的采样点,为图6中标识为2的灰色像素点、标识为12的灰色像素点、以及图6中左边的标识为黑色的像素点。其中,两个黑色待处理像素点之间相隔4个像素点,两者复用的像素点为图6中标识为12的6个灰色像素点;另外由于待处理像素点也需要被读取,则两者复用的像素点还包括标识为12的2个黑色像素点,两者总共存在8个像素点可以复用。
另外,同时对一个Thread Block内的线程任务的并行方案进行了修改,修改后的Thread Block一次处理的多个待处理像素点中,任意两个相邻待处理像素点之间间隔一定数量(与该新的采样点选取规则中等间隔的像素点数量相关)的像素。同样以4*4的ThreadBlock为例,该4*4的Thread Block可以一次并行美颜处理16个待处理像素点,如图7所示,该16个待处理像素点之间的任意两个相邻待处理像素点之间间隔4个像素点(是基于图6所示的间隔4个像素点选取新的待处理像素点会存在一定数量可以复用的像素点的特征所确定的)。通过上述修改,这样在一个Thread Block内的至少部分线程任务彼此之间的采样点就可以互相复用。
基于上述改进,对于一个n*n(n为正整数)的Thread Block,可以将n*n个待处理像素点所对应的所有采样点(对于图5所示的采样方式,以及图7所示的待处理像素点选取方式,总共存在(n+4)*(n+4)-4个采样点),先分配给各个线程进行预读,然后将所有采样点写入Shared Local Memory,之后读取的时候就可以直接从Shared Local Memory进行读取(如图8中801所示部分),这样相对于从系统内存(SystemDARM)中读取就少了从系统内存读到LLC,以及从LLC读取到L3 Cache两个步骤(如图8中802所示部分),从而可以有效提升数据访问的速度。
2、合并Compute Kernel。前文实施例中所述的图像优化处理方式中需要三个Compute Kernel,分别用于进行YUV格式转为RGB格式,美颜处理,以及RGB格式转回YUV格式的操作;这样对于一张1080P尺寸的图片抛开算法上的数据读写,也至少需要读写37324800(1920*1080*3*6)个像素点。而经过上述第1点所述的优化后,可以在一个Compute Kernel直接读取YUV数据后转成RGB数据存入Shared Local Memory中,这样可以避免对采样数据重复进行颜色转换的计算,然后经过美颜处理后,再转回YUV格式进行写出,这样对于一张1080P尺寸的图片只需要读写12441600(1920*1080*3*2)个像素点,从而减少了2/3的数据读写量。
3、对浮点计算进行量化。目前大多数的图像处理芯片支持16位浮点数的计算,或者说支持对Half数据类型的数据进行计算,每个负责计算的FPU可以支持8个32位的数据或者16个16位的数据同时进行计算,对于图像来说,其存储类型一般为uint8,改用16位的Half数据类型对精度几乎没有影响,所以可以将图像优化(或者说图像美颜)处理过程中的所有计算以及中间结果的存储,由Float数据类型改为Half数据类型实现,这样可以提高浮点计算的速度。
4、对于诸如视频会议、视频通话等视频应用场景,对画面显示的流程使用异步来进行优化。对于第一帧图像数据,摄像头拍摄采集后,传入美颜处理模块,美颜处理模块拷贝一份图像数据放入异步线程中进行处理,然后直接返回第一帧图像数据,渲染阶段在界面上渲染第一帧画面(未经美颜处理),之后每一帧图像采集后传入美颜处理模块,美颜处理模块会对图像数据先进行拷贝,然后等异步线程美颜处理完上一帧图像数据后,再将新的图像数据传给异步线程,并返回美颜处理完的上一帧图像数据给渲染模块进行渲染,这样可以利用采集图像和渲染图像的时间来对图像进行美颜处理,从而可以提升响应速度,节省各模块之间的等待时间,加快处理效率,而对于用户来说只是会增加一帧的延迟,几乎不会有感知。
本申请实施例提供的另一种图像优化处理方式,通过重新设计了采样点选取方式,可以减少采样点数量以减少数据读取的次数;通过重新设计Thread Block内线程并行运行的方案,使得一个待处理像素点所使用的采样点也可以在处理其他像素点的时候被复用,这样就可以将采样点预先读入到Shared Local Memory当中,并从Shared LocalMemory中读取数据,这样比直接从内存中读取要快速很多,从而可以有效在减少数据读取上的耗时;通过将三个Compute Kernel的逻辑进行融合,在一个Compute Kernel中读取YUV数据后转为RGB进行美颜处理,最后再转回YUV格式的数据写回,从而可以大大减少数据读写量;通过将图像优化(或者说图像美颜)处理过程中的所有计算基于Half类型实现,这样可以提高浮点计算的速度,从而可以降低中间计算所占用的耗时;通过在采集图像和渲染图像的同时,对图像数据进行美颜处理,这样就可以掩盖部分美颜处理的耗时,提升美颜处理速度。基于上述效果,采用优化后的图像优化处理方式,可以大大提高图像优化处理的效率,以及大大降低图像优化处理的耗时,例如对于一张1080P的图像,能够以非常短(如小于20ms)的时间完成图像的优化处理,开启异步处理流程后,单帧图像响应时间甚至可以小于5ms。故优化后的图像优化处理方式可以应用于实时处理的场景。
本申请实施例基于上述优化后的图像优化处理方式的思想,提供了一种图像处理方法,以在通过拍摄装置拍摄得到照片或者视频之后,或者在通过拍摄装置进行视频通话、视频会议或者视频直播时,自动对拍摄装置采集到的图像进行优化处理,并有效提高图像优化处理的效率,降低图像优化处理的耗时。
请参阅图9,图9示出了本申请实施例提供的图像处理方法所适用的图像处理系统结构。该图像处理系统包括图像处理设备10和拍摄装置11。拍摄装置11用于拍摄照片或者视频,图像处理设备10用于对拍摄装置11采集的图像进行图像优化处理。其中,图像处理设备10可以是获取拍摄装置11实时采集的图像进行处理。拍摄装置11可以设置在图像处理设备10上,也可以独立于图像处理设备10存在。当拍摄装置11独立于图像处理设备10存在时,图像处理设备可以通过有线或者无线的方式获取拍摄装置11拍摄的照片或者视频。
本申请实施例提供的图像处理方法可以是基于云技术(Cloud technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。图像处理设备10可以是具备图像处理功能的服务器或者终端,拍摄装置11可以是具备拍摄功能的终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表,等等,但并不局限于此。
请参阅图10,为本申请实施例提供的一种图像处理方法的流程示意图。本申请实施例中所描述的图像处理方法可以应用于图9所示图像处理系统中的图像处理设备,该图像处理方法包括但不限于以下步骤:
S101、从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象。M和N为正整数。
本申请实施例中,目标图像可以是拍摄装置拍摄得到的单张照片,也可以是拍摄装置拍摄的视频中的一帧图像。在一实施方式中,图像处理设备可以从拍摄装置处直接获取其进行拍照或者拍摄视频过程中采集到的图像,此情况下,拍摄装置可以是设置在图像处理设备上,图像处理设备通过内部通信连接获取拍摄装置采集到的图像;也可以是拍摄装置独立于图像处理设备存在,图像处理设备通过与拍摄装置之间的外部通信连接获取拍摄装置采集到的图像。在另一实施方式中,也可以是拍摄装置将拍摄得到的照片或者视频发送给某一存储设备(如存储服务器),图像处理设备从该存储设备中获取拍摄装置拍摄得到的照片或者视频。还可以是拍摄装置将拍摄得到的照片或者视频发送给某一中间设备(如转发服务器),该中间设备将拍摄装置发送的照片或者视频转发给图像处理设备。
本申请实施例中,像素对象可以包括一个或者多个像素点。在一实施方式中,当像素对象包括多个像素点时,可以是将一个C*K(C、K为正整数)的像素块作为一个像素对象。C和K可以相等,例如,将一个2*2的像素块作为一个像素对象。
待处理像素对象的数量M是根据可以串行或并行处理待处理像素对象的线程数所确定的。例如,进行图像优化处理的为一个n*n的Thread Block,则并行处理的待处理像素对象的数量M小于或者等于n*n。
相邻待处理像素对象可以是指在水平、竖直或者斜角方向上相邻的待处理像素对象,即在某方向上两个待处理像素对象之间不存在其他的待处理像素对象。相邻待处理像素对象之间间隔的像素对象的数量N,是根据采样点选取规则所指示的采样像素对象之间以及待处理像素对象与相邻采样像素对象之间间隔的像素对象的数量所确定的。例如,像素对象为一个像素点,采样点选取规则指示采样像素点之间以及待处理像素点与相邻采样像素点之间是间隔4个像素点,则相邻待处理像素点之间间隔的像素点的数量N为4。例如,如果按照图5所示的采样方式进行采样点的选取,则并行处理的M个待处理像素对象的分布如图7所示,具体可参考前文描述,此处不再赘述。
S102、从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点。
本申请实施例中,该采样点集合包括每一个待处理像素对象所对应的全部采样点,即每一个待处理像素对象所对应的采样点子集合是该采样点集合的子集。各个待处理像素对象所对应的全部采样点是按照采样点选取规则从目标图像中选取的。
在一实施例中,该采样点选取规则可以包括:以待处理像素对象为中心,在水平方向上等间隔选取至少两个像素对象作为采样点,在竖直方向上等间隔选取至少两个像素对象作为采样点,以及在一个或多个斜角方向上等间隔选取至少两个像素对象作为采样点。在一实施方式中,该一个或多个斜角方向可以为45度斜角和225度斜角所形成的斜角方向、135度斜角和315度斜角所形成的斜角方向中的一个或多个。需要说明的是,等间隔可以是指间隔相同数量的像素对象。各个方向上设定的采样点选取间隔可以相同,也可以不同。
例如,该采样点选取规则所对应的采样方式可以如图5所示,图5中的一个方格表示一个像素对象,可以是一个像素点,也可以是一个像素块。图5中的黑色填充方格为待处理像素对象,灰色填充方格为待处理像素对象所对应的采样点,图5中共12个采样点,包括:以待处理像素对象为中心,水平方向上等间隔的4个像素对象(待处理像素对象左右各两个),竖直方向上等间隔的4个像素对象(待处理像素对象上下各两个),45度斜角和225度斜角所形成的斜角方向上等间隔的2个像素对象(待处理像素对象的45度斜角和225度斜角上各一个),以及135度斜角和315度斜角所形成的斜角方向上等间隔的2个像素对象(待处理像素对象的135度斜角和315度斜角上各一个)。其中,等间隔是指间隔4个像素对象。
按照该采样点选取规则针对待处理像素对象所选取的采样点的数量较少,例如,如图5所示的只选取12个采样点。虽然采样点的数量较少,但由于包括了以待处理像素对象为中心的水平、竖直以及斜角方向上的采样点,选取的采样点仍然具有较好的参考价值。并且在按照该采样点选取规则进行采样点选取时,相互间隔一定数量(该数量与采样点选取规则所指示的采样像素对象之间以及待处理像素对象与相邻采样像素对象之间间隔的像素对象的数量相关)像素对象的待处理像素对象之间就会存在一定数量的可以复用的采样点。如图6所示,针对图6中左边的黑色待处理像素对象所选取的采样点,为图6中标识为1的灰色像素对象、标识为12的灰色像素对象、以及图6中右边的标识为黑色的像素对象;针对图6中右边的黑色待处理像素对象所选取的采样点,为图6中标识为2的灰色像素对象、标识为12的灰色像素对象、以及图6中左边的标识为黑色的像素对象。其中,两个黑色待处理像素对象之间相隔4个像素对象,两者复用的采样点为图5中标识为12的6个灰色像素对象;另外由于优化处理过程中待处理像素对象也需要被读取,则两者复用的像素对象还包括标识为12的2个黑色像素对象,两者总共存在8个采样点可以复用。
另外,按照该采样点选取规则进行采样点的选取后,任意两个相邻的待处理像素点之间存在一定数量的相同采样点,即上述可以复用的采样点;而对于不相邻的两个待处理像素点之间可能存在相同的采样点,也可能不存在相同的采样点;并且,两个待处理像素点之间距离越近,则存在的相同采样点的数量越多,两个待处理像素点之间距离越远,则存在的相同采样点的数量越少。
在一实施例中,基于按照该采样点选取规则针对待处理像素对象进行采样点选取时,M个待处理像素对象中的至少部分待处理像素对象之间存在相同(即可以复用)的采样点这一特征,可以将M个待处理像素对象对应的所有采样点(即前文所述的采样点集合)存储到对目标图像(或者说待处理像素对象)进行处理的线程可直接访问的目标存储空间中,之后各线程在对相应待处理像素对象进行优化处理时,即可从该目标存储空间中快速获取相应的采样点进行处理,这样可以有效提升数据访问的速度。例如,当利用一个ThreadBlock对该M个待处理像素对象进行优化处理时,可以将M个待处理像素对象对应的采样点集合存储到Thread Block可以高速访问的地址空间Shared Local Memory中,之后读取的时候就可以直接从Shared Local Memory进行读取(如图8中801所示部分),这样相对于从系统内存(SystemDARM)中读取就少了从系统内存读到LLC,以及从LLC读取到L3 Cache两个步骤(如图8中802所示部分),从而可以有效提升数据访问的速度。
S103、根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
本申请实施例中,可以是根据采样点集合对M个待处理像素对象进行串行或并行优化处理,得到每一个待处理像素对象的优化处理结果,该优化处理结果包括待处理像素对象优化后的像素值。优化处理可以是美颜处理。
在一实施例中,当待处理像素对象为多个时,可以通过多个线程根据该采样点集合对M个待处理像素对象进行并行优化处理,得到每一个待处理像素对象的优化处理结果。并行处理可以提高优化处理速度,降低优化处理的耗时。
在一实施方式中,通过多个线程根据该采样点集合对M个待处理像素对象进行并行优化处理,得到每一个待处理像素对象的优化处理结果的方式可以为:调用多个线程,从M个待处理像素对象中确定各个线程需要处理的待处理像素对象;通过各个线程并行优化处理各个线程需要处理的待处理像素对象,得到每一个待处理像素对象的优化处理结果;其中,在并行优化处理的过程中,通过该多个线程中的任一线程从上述目标存储空间中快速获取其需要处理的目标待处理像素对象对应的采样点子集合,并根据获取的采样点子集合对目标待处理像素对象进行优化处理,得到目标待处理像素对象的优化处理结果。
例如,可以是通过一个Thread Block根据该采样点集合对M个待处理像素对象进行并行优化处理,Thread Block中的每一个线程从其可以高速访问的地址空间SharedLocal Memory中,获取其需要处理的目标待处理像素对象所对应的采样点子集合,并根据获取的采样点子集合对目标待处理像素对象进行优化处理,得到目标待处理像素对象的优化处理结果。这样线程可以快速获取需要处理的数据,有利于降低优化处理过程的耗时。
在一实施方式中,通过该多个线程中的任一线程根据获取的采样点子集合对目标待处理像素对象进行优化处理,得到目标待处理像素对象的优化处理结果的方式可以为:通过该多个线程中的任一线程,根据其获取的目标待处理像素对象所对应的采样点子集合确定采样平均值,根据该采样平均值以及该目标待处理像素对象的像素值(对于像素对象为像素块时,其像素值可以是像素块中各像素点的平均像素值)确定采样参考值,计算方式可以采用前文所述的公式1;然后对该采样参考值进行增强处理,包括进行多次强光处理,强光处理的方式可以采用前文所述的公式2;最后根据优化系数(如前文所述的美颜程度θ)以及增强处理后的采样参考值,对该目标待处理像素对象进行优化处理,得到目标待处理像素对象的优化处理结果,此过程可以采用前文所述的公式3-公式8实现。需要说明的是,当优化处理为美颜处理时,优化处理方式可参考前文实施例中的相关描述,此处不再赘述。
本申请实施例中,在对该M个待处理像素对象优化处理完成后,按照前文所述的待处理像素对象选取方式从目标图像中重新选取M个待处理像素对象,并基于重新选取的M个待处理像素对象重复执行步骤S102和S103,直至优化处理完目标图像中的所有待处理像素对象(如所有像素点,或者人像所在区域的所有像素点)。根据所有待处理像素对象的优化处理结果即可生成优化处理后的目标图像。对于不需要立即显示优化处理后的目标图像的应用场景,则可以保存优化处理后的目标图像,而对于需要诸如视频会议、视频通话等需要立即显示优化处理后的目标图像的应用场景,则需要进一步对优化处理后的目标图像进行图像渲染处理,以在显示屏上进行显示。
在一实施例中,对于诸如视频会议、视频通话等视频应用场景,需要对视频流中的每一帧图像进行优化处理,可以在采集图像帧以及对优化处理后的图像进行渲染的过程中,对图像帧进行优化处理,这样可以节省各步骤的等待时间,加快图像帧的优化以及渲染等。基于此,步骤S101至步骤S103中对目标图像进行优化处理的过程,可以是在对视频流中相对目标图像的上一帧图像(可以是优化处理后的)进行渲染处理的过程中执行的,并且目标图像可以是在对该上一帧图像进行优化处理的过程中所采集的。同理,在对目标图像进行优化处理的过程中,获取视频流中相对目标图像的下一帧图像;在对优化处理后的目标图像进行图像渲染处理的过程中,对该下一帧图像进行图像优化处理。
在一实施例中,图像优化处理过程中的所有计算以及中间结果的存储,可以是基于Half数据类型实现,这样可以提高图像优化处理过程中浮点计算的速度,以及可以提高数据的存储和访问速度,均有利于降低图像优化处理的耗时。
需要说明的是,上述图像处理方法中某些步骤的具体实现方式可参考前文实施例中提供的两种图像优化处理方式中的相关描述,此处不再赘述。
本申请实施例中,针对各个待处理像素对象选取的采样点数量较少,且结合待处理像素对象的选取方式可以使得相邻待处理像素对象之间存在一定数量的相同采样点,这样不仅可以有效减少一批次需要处理的采样点总数量,并且可以对相同采样点只进行少量的操作(如读写),无需对相同采样点进行多次相同的操作;另外,还可以从特定存储空间中快速获取采样数据进行处理,以及基于Half数据类型加快数据计算速度;另外,还可以在采集图像以及图像渲染的同时进行图像优化处理,从而加快图像优化处理的速度;基于以上效果,采用本申请实施例提供的图像处理方法可以有效提高图像优化处理的效率,降低图像优化处理的耗时。
需要说明的是,用于执行上述方法实施例中各步骤的执行主体可以是由硬件构成,也可以是由软件构成,还可以是由软硬件结合构成。
请参阅图11,为本申请实施例提供的一种图像处理装置的结构示意图。本申请实施例中所描述的图像处理装置,对应于前文所述的图像处理设备,所述装置包括:
确定单元111,用于从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;
获取单元112,用于从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;
处理单元113,用于根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
在一实施例中,M为大于1的正整数,所述处理单元113,具体用于通过多个线程根据所述采样点集合对所述M个待处理像素对象进行并行优化处理,得到所述M个待处理像素对象的优化处理结果。
在一实施例中,所述处理单元113,还用于将所述采样点集合存储到目标存储空间中;其中,所述目标存储空间为对所述目标图像进行处理的线程可直接访问的存储空间。
在一实施例中,所述处理单元113,具体用于:
调用多个线程,从所述M个待处理像素对象中确定各个线程需要处理的待处理像素对象;通过各个线程并行优化处理各个线程需要处理的待处理像素对象,得到所述M个待处理像素对象的优化处理结果;
其中,在并行优化处理的过程中,通过所述多个线程中的任一线程从所述目标存储空间中获取需要处理的目标待处理像素对象对应的采样点子集合,并根据获取的采样点子集合对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
在一实施例中,所述采样点选取规则包括:以待处理像素对象为中心,在水平方向上等间隔选取至少两个像素对象作为采样点,在竖直方向上等间隔选取至少两个像素对象作为采样点,以及在一个或多个斜角方向上等间隔选取至少两个像素对象作为采样点。
在一实施例中,所述处理单元113,还用于:在优化处理完所述目标图像中的所有待处理像素对象之后,根据所述所有待处理像素对象的优化处理结果生成优化处理后的目标图像;对所述优化处理后的目标图像进行图像渲染处理。
在一实施例中,所述处理单元113,还用于:
在对所述目标图像进行优化处理的过程中,获取相对所述目标图像的下一帧图像;在对所述优化处理后的目标图像进行图像渲染处理的过程中,对所述相对所述目标图像的下一帧图像进行图像优化处理。
在一实施例中,所述处理单元113,具体用于:
通过所述多个线程中的任一线程根据获取的采样点子集合以及所述目标待处理像素对象确定采样参考值;对所述采样参考值进行增强处理;根据优化系数以及增强处理后的采样参考值,对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
可以理解的是,本申请实施例的图像处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例中的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例提供的图像处理装置可以采用软件方式实现,图像处理装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括确定单元、获取单元和处理单元;其中,确定单元、获取单元和处理单元用于实现本申请实施例提供的图像处理方法。
在其它可行的实施例中,本申请实施例提供的图像处理装置也可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的图像处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的图像处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
本申请实施例中,针对各个待处理像素对象选取的采样点数量较少,且结合待处理像素对象的选取方式可以使得相邻待处理像素对象之间存在一定数量的相同采样点,这样不仅可以有效减少一批次需要处理的采样点总数量,并且可以对相同采样点只进行少量的操作(如读写),无需对相同采样点进行多次相同的操作,从而可以有效提高图像优化处理的效率,降低图像优化处理的耗时。
请参阅图12,为本申请实施例提供的一种计算机设备的结构示意图。本申请实施例中所描述的计算机设备包括:处理器121、通信接口122及存储器123。其中,处理器121、通信接口122及存储器123可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,处理器121(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口122可以是计算机设备的内部通信接口,也可以是计算机设备的外部通信接口,外部通信接口可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器121的控制用于收发数据。存储器123(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器123既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器123提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,处理器121通过运行存储器123中的可执行程序代码,执行如下操作:
从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
在一实施例中,M为大于1的正整数,处理器121根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果时,具体用于:通过多个线程根据所述采样点集合对所述M个待处理像素对象进行并行优化处理,得到所述M个待处理像素对象的优化处理结果。
在一实施例中,处理器121还用于:将所述采样点集合存储到目标存储空间中;其中,所述目标存储空间为对所述目标图像进行处理的线程可直接访问的存储空间。
在一实施例中,处理器121通过多个线程根据所述采样点集合对所述M个待处理像素对象进行并行优化处理,得到所述M个待处理像素对象的优化处理结果时,具体用于:
调用多个线程,从所述M个待处理像素对象中确定各个线程需要处理的待处理像素对象;通过各个线程并行优化处理各个线程需要处理的待处理像素对象,得到所述M个待处理像素对象的优化处理结果;
其中,在并行优化处理的过程中,通过所述多个线程中的任一线程从所述目标存储空间中获取需要处理的目标待处理像素对象对应的采样点子集合,并根据获取的采样点子集合对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
在一实施例中,所述采样点选取规则包括:以待处理像素对象为中心,在水平方向上等间隔选取至少两个像素对象作为采样点,在竖直方向上等间隔选取至少两个像素对象作为采样点,以及在一个或多个斜角方向上等间隔选取至少两个像素对象作为采样点。
在一实施例中,处理器121还用于:在优化处理完所述目标图像中的所有待处理像素对象之后,根据所述所有待处理像素对象的优化处理结果生成优化处理后的目标图像;对所述优化处理后的目标图像进行图像渲染处理。
在一实施例中,处理器121还用于:在对所述目标图像进行优化处理的过程中,获取相对所述目标图像的下一帧图像;在对所述优化处理后的目标图像进行图像渲染处理的过程中,对所述相对所述目标图像的下一帧图像进行图像优化处理。
在一实施例中,处理器121通过所述多个线程中的任一线程根据获取的采样点子集合对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果时,具体用于:
通过所述多个线程中的任一线程根据获取的采样点子集合以及所述目标待处理像素对象确定采样参考值;对所述采样参考值进行增强处理;根据优化系数以及增强处理后的采样参考值,对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
具体实现中,本申请实施例中所描述的处理器121、通信接口122及存储器123可执行本申请实施例提供的图像处理方法或者图像处理方式中所描述的图像处理设备的实现方式,也可执行本申请实施例提供的图像处理装置中所描述的实现方式,在此不再赘述。
本申请实施例中,针对各个待处理像素对象选取的采样点数量较少,且结合待处理像素对象的选取方式可以使得相邻待处理像素对象之间存在一定数量的相同采样点,这样不仅可以有效减少一批次需要处理的采样点总数量,并且可以对相同采样点只进行少量的操作(如读写),无需对相同采样点进行多次相同的操作,从而可以有效提高图像优化处理的效率,降低图像优化处理的耗时。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如本申请实施例所述的图像处理方法或者图像优化处理方式。其具体实现方式可参考前文描述,此处不再赘述。
本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行如本申请实施例所述的图像处理方法或者图像优化处理方法。其具体实现方式可参考前文描述,此处不再赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请部分实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (11)

1.一种图像处理方法,其特征在于,所述方法包括:
从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;
从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;
根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
2.如权利要求1所述的方法,其特征在于,M为大于1的正整数,所述根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果,包括:
通过多个线程根据所述采样点集合对所述M个待处理像素对象进行并行优化处理,得到所述M个待处理像素对象的优化处理结果。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
将所述采样点集合存储到目标存储空间中;其中,所述目标存储空间为对所述目标图像进行处理的线程可直接访问的存储空间。
4.如权利要求3所述的方法,其特征在于,所述通过多个线程根据所述采样点集合对所述M个待处理像素对象进行并行优化处理,得到所述M个待处理像素对象的优化处理结果,包括:
调用多个线程,从所述M个待处理像素对象中确定各个线程需要处理的待处理像素对象;
通过各个线程并行优化处理各个线程需要处理的待处理像素对象,得到所述M个待处理像素对象的优化处理结果;
其中,在并行优化处理的过程中,通过所述多个线程中的任一线程从所述目标存储空间中获取需要处理的目标待处理像素对象对应的采样点子集合,并根据获取的采样点子集合对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述采样点选取规则包括:以待处理像素对象为中心,在水平方向上等间隔选取至少两个像素对象作为采样点,在竖直方向上等间隔选取至少两个像素对象作为采样点,以及在一个或多个斜角方向上等间隔选取至少两个像素对象作为采样点。
6.如权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
在优化处理完所述目标图像中的所有待处理像素对象之后,根据所述所有待处理像素对象的优化处理结果生成优化处理后的目标图像;
对所述优化处理后的目标图像进行图像渲染处理。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在对所述目标图像进行优化处理的过程中,获取相对所述目标图像的下一帧图像;
在对所述优化处理后的目标图像进行图像渲染处理的过程中,对所述相对所述目标图像的下一帧图像进行图像优化处理。
8.如权利要求4所述的方法,其特征在于,通过所述多个线程中的任一线程根据获取的采样点子集合对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果,包括:
通过所述多个线程中的任一线程根据获取的采样点子集合以及所述目标待处理像素对象确定采样参考值;
对所述采样参考值进行增强处理;
根据优化系数以及增强处理后的采样参考值,对所述目标待处理像素对象进行优化处理,得到所述目标待处理像素对象的优化处理结果。
9.一种图像处理装置,其特征在于,所述装置包括:
确定单元,用于从目标图像中确定M个待处理像素对象;其中,所述M个待处理像素对象中的任意两个相邻待处理像素对象之间间隔N个像素对象;
获取单元,用于从所述目标图像中获取所述M个待处理像素对象对应的采样点集合;其中,所述采样点集合包括:各个待处理像素对象对应的采样点子集合,所述采样点子集合中的采样点是按照采样点选取规则从所述目标图像中选取的,且所述任意两个相邻待处理像素对象对应的采样点子集合之间存在相同的采样点;
处理单元,用于根据所述采样点集合对所述M个待处理像素对象进行优化处理,得到所述M个待处理像素对象的优化处理结果。
10.一种计算机设备,其特征在于,包括:处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1-8中任一项所述的图像处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的图像处理方法。
CN202110729016.6A 2021-06-29 2021-06-29 图像处理方法、图像处理装置、计算机设备及存储介质 Pending CN114677464A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110729016.6A CN114677464A (zh) 2021-06-29 2021-06-29 图像处理方法、图像处理装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110729016.6A CN114677464A (zh) 2021-06-29 2021-06-29 图像处理方法、图像处理装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN114677464A true CN114677464A (zh) 2022-06-28

Family

ID=82071277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110729016.6A Pending CN114677464A (zh) 2021-06-29 2021-06-29 图像处理方法、图像处理装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114677464A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116033106A (zh) * 2023-03-24 2023-04-28 摩尔线程智能科技(北京)有限责任公司 一种用于多重采样的图像处理方法及装置、电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116033106A (zh) * 2023-03-24 2023-04-28 摩尔线程智能科技(北京)有限责任公司 一种用于多重采样的图像处理方法及装置、电子设备

Similar Documents

Publication Publication Date Title
US20180084292A1 (en) Web-based live broadcast
CN107851307B (zh) 对用于图像处理的拜耳类型图像数据去马赛克的方法和系统
US11922599B2 (en) Video super-resolution processing method and apparatus
US9264692B2 (en) Depth buffer compression for stochastic motion blur rasterization
CN106651797B (zh) 一种信号灯有效区域的确定方法和装置
CN113034358A (zh) 一种超分辨率图像处理方法以及相关装置
CN113068034B (zh) 视频编码方法及装置、编码器、设备、存储介质
CN109783658A (zh) 图像处理方法、装置及存储介质
CN113989173A (zh) 视频融合方法、装置、电子设备及存储介质
CN114677464A (zh) 图像处理方法、图像处理装置、计算机设备及存储介质
CN111681187B (zh) 降彩噪方法、装置、电子设备和可读存储介质
CN110838088A (zh) 一种基于深度学习的多帧降噪方法、装置及终端设备
US11039153B2 (en) Efficient processing of translucent objects in video keying
US20140307116A1 (en) Method and system for managing video recording and/or picture taking in a restricted environment
WO2023273515A1 (zh) 目标检测方法、装置、电子设备和存储介质
CN110858388B (zh) 一种增强视频画质的方法和装置
WO2022247702A1 (zh) 图像处理方法及装置、电子设备和存储介质
US20240153033A1 (en) Method and system of automatic content-dependent image processing algorithm selection
CN111861877A (zh) 视频超分变率的方法和装置
WO2022111269A1 (zh) 视频的细节增强方法、装置、移动终端和存储介质
CN113256785B (zh) 图像处理方法、装置、设备及介质
CN114170082A (zh) 视频播放、图像处理和模型训练方法、装置以及电子设备
CN114697650A (zh) 基于下采样的帧内划分方法、相关装置设备及介质
CN112446848A (zh) 图像处理方法、装置及电子设备
WO2016093978A1 (en) High parallelism dependency pattern for gpu based deblock

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40073369

Country of ref document: HK