CN106600521A - 一种图像处理方法及终端设备 - Google Patents
一种图像处理方法及终端设备 Download PDFInfo
- Publication number
- CN106600521A CN106600521A CN201611089362.8A CN201611089362A CN106600521A CN 106600521 A CN106600521 A CN 106600521A CN 201611089362 A CN201611089362 A CN 201611089362A CN 106600521 A CN106600521 A CN 106600521A
- Authority
- CN
- China
- Prior art keywords
- rendering
- serial
- image
- task
- gpu
- 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
Classifications
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图像处理方法及终端设备,应用于计算机技术领域。本发明实施例方法包括:采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。可以提高图像的渲染速度,进而降低画面的卡顿现象。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种图像处理方法及终端设备。
背景技术
渲染(Render)在计算机图形(Computer Graphics)处理中的具体含义是用软件将3D模型生成图像。渲染所需要的计算量,跟模型的复杂程度及要求的图像的精细程度、尺寸大小直接相关,模型越复杂,计算量越大。目前个人电脑及智能手机等终端设备上的3D游戏,已经实现了“实时渲染”,但是在使用过程中发现,渲染出来的画面经常出现卡顿的现象,具有一定的局限性。
发明内容
本发明实施例提供了一种图像处理方法及终端设备,可以提高图像的渲染速度,进而降低画面的卡顿现象。
本发明实施例第一方面公开了一种图像处理方法,包括:
采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;
将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
作为一种可选的实施方式,所述采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像,包括:
输入3×3像素矩阵,计算所述像素矩阵中的所有像素点的平均值;
计算所述像素矩阵的中心像素点与所述平均值的差值的绝对值;
判断所述差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
若所述差值的绝对值与第一预设阈值之间的差值大于所述第二预设阈值,则对所述中心像素点进行滤波处理,否则不进行滤波处理。
作为一种可选的实施方式,所述对所述中心像素点进行滤波处理包括:
从与所述中心像素点最接近的四个方向上的8个像素点中,选取与所述中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算所述2个像素点的像素平均值,用所述2个像素点的像素平均值替换所述中心像素点。
作为一种可选的实施方式,所述将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理,包括:
所述CPU采用多核同时处理机制按照逻辑先后顺序对所述串行渲染任务完成串行处理,并输出渲染结果;
利用所述GPU的本地内存和总线内存交互,并依靠所述GPU共享内容传递给所述GPU各处理核心对所述并行渲染任务进行并行处理和计算,并最终输出渲染结果。
作为一种可选的实施方式,所述将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像,包括:
按照预设合成次序将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
本发明实施例第二方面公开了一种终端设备,包括:
中值滤波单元,用于采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
任务分解单元,用于将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
任务分配单元,用于将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;
合成单元,用于将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
作为一种可选的实施方式,所述中值滤波单元包括:
第一计算单元,用于输入3×3像素矩阵,计算所述像素矩阵中的所有像素点的平均值;
第二计算单元,用于计算所述像素矩阵的中心像素点与所述平均值的差值的绝对值;
判断单元,用于判断所述差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
中值滤波子单元,用于在所述差值的绝对值与第一预设阈值之间的差值大于所述第二预设阈值时,对所述中心像素点进行滤波处理,否则不进行滤波处理。
作为一种可选的实施方式,
所述中值滤波子单元,具体用于从与所述中心像素点最接近的四个方向上的8个像素点中,选取与所述中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算所述2个像素点的像素平均值,用所述2个像素点的像素平均值替换所述中心像素点。
作为一种可选的实施方式,所述任务分配单元包括:
第一任务分配子单元,用于所述CPU采用多核同时处理机制按照逻辑先后顺序对所述串行渲染任务完成串行处理,并输出渲染结果;
第二任务分配子单元,用于利用所述GPU的本地内存和总线内存交互,并依靠所述GPU共享内容传递给所述GPU各处理核心对所述并行渲染任务进行并行处理和计算,并最终输出渲染结果。
作为一种可选的实施方式,所述合成单元,具体用于按照预设合成次序将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
从以上技术方案可以看出,本发明实施例具有以下优点:首先采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;然后将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;最后将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。可以充分利用CPU的串行处理能力与GPU的并行处理能力,提高图像的处理速度,进而降低画面的卡顿现象。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种图像处理方法的流程示意图;
图2为本发明实施例公开的以中心像素点为中心的3×3像素矩阵的示意图;
图3是本发明实施例公开的另一种图像处理方法的流程示意图;
图4是本发明实施例公开的一种终端设备的结构示意图;
图5是本发明实施例公开的另一种终端设备的结构示意图;
图6是本发明实施例公开的另一种终端设备的实体结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中,终端设备可以包括运行Android操作系统、iOS操作系统、Windows操作系统或其他操作系统的终端设备,例如移动电话、移动电脑、平板电脑、台式电脑、个人数字助理(Personal Digital Assistant,PDA)、智能手表、智能眼镜、智能手环等终端设备,本发明实施例后续不作复述。
本发明实施例提供了一种图像处理方法及终端设备,可以充分利用CPU的串行处理能力与GPU的并行处理能力,提高图像的处理速度,进而降低画面的卡顿现象。以下分别进行详细说明。
请参阅图1,图1是本发明实施例公开的一种图像处理方法的流程示意图。其中,图1所示的图像处理方法可以包括以下步骤:
101:采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
本发明实施例中,通过步骤101对待渲染图像进行滤波处理得到目标待渲染图像可以通过以下方式实现:
输入3×3像素矩阵,计算该像素矩阵中的所有像素点的平均值;
计算该像素矩阵的中心像素点与上述平均值的差值的绝对值;
判断该差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
若该差值的绝对值与第一预设阈值之间的差值大于第二预设阈值,则对中心像素点进行滤波处理,否则不进行滤波处理。
通过上述方式可以判断中心像素点是否属于噪点,若属于噪点则对中心像素点进行滤波处理,若不是属于噪点则不进行滤波处理。
其中,第一预设阈值以及第二预设阈值可以由经验进行确定或者由试验进行确定,本发明实施例不做唯一性限定。
其中,对中心像素点进行滤波处理可以采用以下方式:从与中心像素点最接近的四个方向上的8个像素点中,选取与中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算该2个像素点的像素平均值,用这2个像素点的像素平均值替换中心像素点。
如图2所示,为以中心像素点为中心的3×3像素矩阵的示意图。其中,像素点e为中心像素点,与像素点最接近的四个方向上的8个像素点分布为像素点a、b、c、d、f、g、h、i,相互对称的像素点算同一个方向上的,如像素点a与像素点i为同一方向上的像素点。假设像素点b与像素点e的差值的绝对值,以及像素点h与像素点e的差值的绝对值,两者绝对值之和相较其他方向上的差值的绝对值之和小,将计算像素点b与像素点h的像素平均值,并用像素平均值替换中心像素点,从而实现对图像上噪声点(中心像素点)的滤波处理。
102:将对上述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
其中,终端设备中存在中央处理器(Central Processing Unit,CPU)以及图形处理器(Graphics Processing Unit,GPU),CPU与GPU分别针对了两种不同的应用场景,CPU需要很强的通用性来处理各种不同的数据类型,同时逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境,GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分,所以与CPU擅长逻辑控制和通用类型数据运算不同,GPU擅长的是大规模并发计算。
因此将渲染任务进行划分,按照逻辑上的依赖关系可以划分为串行型和并行型,由于CPU处理逻辑能力强,所以可以将串行型渲染任务交付给CPU处理,将并发型渲染任务交付给GPU处理,可以充分利用CPU和GPU的特点。
103:将上述串行渲染任务发送给中央处理器CPU进行串行处理,将上述并行渲染任务发送给图形处理器GPU进行并行处理;
104:将通过CPU串行处理的渲染结果与通过GPU并行处理的渲染结果进行合成得到目标渲染图像。
在图1所描述的方法中,首先采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;然后将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;最后将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。可以充分利用CPU的串行处理能力与GPU的并行处理能力,提高图像的处理速度,进而降低画面的卡顿现象。
进一步地,请参阅图3,图3是本发明实施例公开的另一种图像处理方法的流程示意图。如图3所示,该方法可以包括以下步骤:
301:采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
302:将对上述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
303:CPU采用多核同时处理机制按照逻辑先后顺序对串行渲染任务完成串行处理,并输出渲染结果;
304:利用GPU的本地内存和总线内存交互,并依靠GPU共享内容传递给GPU各处理核心对并行渲染任务进行并行处理和计算,并最终输出渲染结果;
305:按照预设合成次序将通过CPU串行处理的渲染结果与通过GPU并行处理的渲染结果进行合成得到目标渲染图像。
其中,可以在对渲染任务进行分配时,为各渲染任务分配次序,然后在通过CPU以及GPU处理之后,按照事先分配的次序进行合成得到目标渲染图像。
在图3所描述的方法中,采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;然后将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;最后将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。可以充分利用CPU的串行处理能力与GPU的并行处理能力,提高图像的处理速度,进而降低画面的卡顿现象。
请参阅图4,图4是本发明实施例公开的一种终端设备的结构示意图,如图4所示,该终端设备可以包括:
中值滤波单元401,用于采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
任务分解单元402,用于将对所述中值滤波单元401得到的目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
任务分配单元403,用于将通过所述任务分解单元402分解的串行渲染任务发送给中央处理器CPU进行串行处理,将通过所述任务分解单元402分解的并行渲染任务发送给图形处理器GPU进行并行处理;
合成单元404,用于将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
请一并参阅图5,图5是本发明实施例公开的另一种终端设备的结构示意图。其中,图5所示的终端设备是由图4所示的终端设备进行优化得到的,与图4所示的终端设备相比,上述中值滤波单元401包括:
第一计算单元4011,用于输入3×3像素矩阵,计算所述像素矩阵中的所有像素点的平均值;
第二计算单元4012,用于计算所述像素矩阵的中心像素点与所述平均值的差值的绝对值;
判断单元4013,用于判断所述差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
中值滤波子单元4014,用于在所述差值的绝对值与第一预设阈值之间的差值大于所述第二预设阈值时,对所述中心像素点进行滤波处理,否则不进行滤波处理。
其中,通过第一计算单元4011、第二计算单元4012、判断单元4013以及中值滤波子单元4014可以实现快速中值滤波算法对图像进行滤波处理。
可选地,在图5所示的终端设备中,
上述中值滤波子单元4014,具体用于从与所述中心像素点最接近的四个方向上的8个像素点中,选取与所述中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算所述2个像素点的像素平均值,用所述2个像素点的像素平均值替换所述中心像素点。
可选地,在图5所示的终端设备中,上述任务分配单元403包括:
第一任务分配子单元4031,用于所述CPU采用多核同时处理机制按照逻辑先后顺序对所述串行渲染任务完成串行处理,并输出渲染结果;
第二任务分配子单元4032,用于利用所述GPU的本地内存和总线内存交互,并依靠所述GPU共享内容传递给所述GPU各处理核心对所述并行渲染任务进行并行处理和计算,并最终输出渲染结果。
其中,通过第一任务分配子单元4031以及第二任务分配子单元4032可以充分利用CPU的串行处理能力以及GPU的并行处理能力提高图像的处理速度。
可选地,在图5所示的终端设备中,
上述合成单元404,具体用于按照预设合成次序将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
请参阅图6,图6是本发明实施例公开的另一种终端设备的实体结构示意图,如图6所示,该终端设备可以包括:
输入单元601、处理器单元602、输出单元603、存储单元604、通信单元605以及电源606等组件。这些组件通过一条或多条总线607进行通信。本领域技术人员可以理解,图6所示的终端设备的结构并不构成对本发明的限定,它既可以是总线型结构,也可以是星型结构,还可以包括比图6所示的结构更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施方式中,图6所示的终端设备包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等各种终端设备。
输入单元601用于实现用户与终端设备的交互和/或信息输入到终端设备中。在本发明具体实施方式中,输入单元601可以是触控面板,触控面板也称为触摸屏或触控屏,可收集用户在其上触摸或接近的操作动作。比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或接近触控面板位置的操作动作,并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸操作,并将检测到的触摸操作转换为电信号,以及将电信号传送给触摸控制器;触摸控制器从触摸检测装置上接收电信号,并将它转换成触点坐标,再送给处理器单元602。触摸控制器还可以接收处理器单元602发来的命令并执行。此外,可以采用电阻式、电容式、红外线(Infrared)以及表面声波等多种类型实现触控面板。
处理器单元602为终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储单元604内的程序代码和/或模块,以及调用存储在存储单元604内的数据,以执行终端设备的各种功能和/或处理数据。处理器单元602可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器单元602可以仅包括中央处理器(Central ProcessingUnit,简称CPU),也可以是CPU、数字信号处理器(digitalsignal processor,简称DSP)、图形处理器(Graphic Processing Unit,简称GPU)及通信单元中的控制芯片(例如基带芯片)的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
输出单元603可以包括但不限于影像输出单元、声音输出和触感输出单元。影像输出单元用于输出文字、图片和/或视频。影像输出单元可包括显示面板,例如采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)、场发射显示器(field emission display,简称FED)等形式来配置的显示面板。或者影像输出单元可以包括反射式显示器,例如电泳式(electrophoretic)显示器,或利用光干涉调变技术(Interferometric Modulation of Light)的显示器。影像输出单元可以包括单个显示器或不同尺寸的多个显示器。在本发明的具体实施方式中,上述输入单元601所采用的触控面板亦可同时作为输出单元603的显示面板。虽然在图6中,输入单元601与输出单元603是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板与显示面板集成一体而实现终端设备的输入和输出功能。
存储单元604可用于存储程序代码以及模块,处理器单元602通过运行存储在存储单元604的程序代码以及模块,从而执行终端设备的各种功能应用以及实现数据处理。存储单元604主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的程序代码;数据存储区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。在本发明具体实施方式中,存储单元604可以包括易失性存储器,例如非挥发性动态随机存取内存(Nonvolatile RandomAccess Memory,简称NVRAM)、相变化随机存取内存(Phase Change RAM,简称PRAM)、磁阻式随机存取内存(Magetoresistive RAM,简称MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可抹除可规划只读存储器(Electrically Erasable ProgrammableRead-OnlyMemory,简称EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)。非易失存储器储存处理器单元602所执行的操作系统及程序代码。处理器单元602从非易失存储器加载运行程序与数据到内存并将数字内容储存于大量储存装置中。操作系统包括用于控制和管理常规系统任务,例如内存管理、存储设备控制、电源管理等,以及有助于各种软硬件之间通信的各种组件和/或驱动器。在本发明实施方式中,操作系统可以是Google公司的Android系统、Apple公司开发的iOS系统或Microsoft公司开发的Windows操作系统等,或者是Vxworks这类的嵌入式操作系统。
通信单元605用于建立通信信道,使终端设备通过通信信道连接至远程服务器,并从远程服务器下载媒体数据。通信单元605可以包括无线局域网(Wireless Local AreaNetwork,简称wireless LAN)模块、蓝牙模块、近距离无线通信(Near FieldCommunication,简称NFC)、基带(Base Band)模块等无线通信模块和以太网、通用串行总线(Universal Serial Bus,简称USB)、闪电接口(Lightning,目前Apple用于iPhone6/6s等设备)等有线通信模块。
电源606用于给终端设备的不同部件进行供电以维持其运行。作为一般性理解,电源606可以是内置的电池,例如常见的锂离子电池、镍氢电池等,也包括直接向终端设备供电的外接电源,例如AC适配器等。在本发明的一些实施方式中,电源606还可以作更为广泛的定义,例如还可以包括电源管理系统、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(如发光二极管),以及与终端设备的电能生成、管理及分布相关联的其他任何组件。
在图6所示的终端设备中,处理器单元602可以调用存储单元604中存储的程序代码,用于执行以下操作:
采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;
将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
作为另一种可选的实施方式,处理器单元602调用存储单元604中存储的程序代码,采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像具体包括以下步骤:
输入3×3像素矩阵,计算所述像素矩阵中的所有像素点的平均值;
计算所述像素矩阵的中心像素点与所述平均值的差值的绝对值;
判断所述差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
若所述差值的绝对值与第一预设阈值之间的差值大于所述第二预设阈值,则对所述中心像素点进行滤波处理,否则不进行滤波处理。
作为另一种可选的实施方式,处理器单元602调用存储单元604中存储的程序代码,对所述中心像素点进行滤波处理包括以下操作:
从与所述中心像素点最接近的四个方向上的8个像素点中,选取与所述中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算所述2个像素点的像素平均值,用所述2个像素点的像素平均值替换所述中心像素点。
作为另一种可选的实施方式,处理器单元602调用存储单元604中存储的程序代码,将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理,包括以下步骤:
CPU采用多核同时处理机制按照逻辑先后顺序对所述串行渲染任务完成串行处理,并输出渲染结果;
利用GPU的本地内存和总线内存交互,并依靠所述GPU共享内容传递给所述GPU各处理核心对所述并行渲染任务进行并行处理和计算,并最终输出渲染结果。
作为另一种可选的实施方式,处理器单元602调用存储单元604中存储的程序代码,将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像,包括以下操作:
按照预设合成次序将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
在图6所描述的终端设备中,通过利用CPU的串行能力以及GPU的并行能力对图像进行处理,可以提高图像的处理速度,同时在图像处理之前通过快速中值滤波算法对待渲染图像进行滤波,可以避免大量的区域参与计算,可以大大加速滤波处理过程。
值得注意的是,上述终端设备的实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;
将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
2.根据权利要求1所述方法,其特征在于,所述采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像,包括:
输入3×3像素矩阵,计算所述像素矩阵中的所有像素点的平均值;
计算所述像素矩阵的中心像素点与所述平均值的差值的绝对值;
判断所述差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
若所述差值的绝对值与第一预设阈值之间的差值大于所述第二预设阈值,则对所述中心像素点进行滤波处理,否则不进行滤波处理。
3.根据权利要求2所述方法,其特征在于,所述对所述中心像素点进行滤波处理包括:
从与所述中心像素点最接近的四个方向上的8个像素点中,选取与所述中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算所述2个像素点的像素平均值,用所述2个像素点的像素平均值替换所述中心像素点。
4.根据权利要求1至3任意一项所述方法,其特征在于,所述将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理,包括:
所述CPU采用多核同时处理机制按照逻辑先后顺序对所述串行渲染任务完成串行处理,并输出渲染结果;
利用所述GPU的本地内存和总线内存交互,并依靠所述GPU共享内容传递给所述GPU各处理核心对所述并行渲染任务进行并行处理和计算,并最终输出渲染结果。
5.根据权利要求4所述方法,其特征在于,所述将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像,包括:
按照预设合成次序将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
6.一种终端设备,其特征在于,包括:
中值滤波单元,用于采用均值加速的快速中值滤波算法对待渲染图像进行滤波处理得到目标待渲染图像;
任务分解单元,用于将对所述目标待渲染图像进行渲染的渲染任务分解为串行渲染任务和并行渲染任务;
任务分配单元,用于将所述串行渲染任务发送给中央处理器CPU进行串行处理,将所述并行渲染任务发送给图形处理器GPU进行并行处理;
合成单元,用于将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
7.根据权利要求6所述的终端设备,其特征在于,所述中值滤波单元包括:
第一计算单元,用于输入3×3像素矩阵,计算所述像素矩阵中的所有像素点的平均值;
第二计算单元,用于计算所述像素矩阵的中心像素点与所述平均值的差值的绝对值;
判断单元,用于判断所述差值的绝对值与第一预设阈值之间的差值是否大于第二预设阈值;
中值滤波子单元,用于在所述差值的绝对值与第一预设阈值之间的差值大于所述第二预设阈值时,对所述中心像素点进行滤波处理,否则不进行滤波处理。
8.根据权利要求7所述的终端设备,其特征在于,
所述中值滤波子单元,具体用于从与所述中心像素点最接近的四个方向上的8个像素点中,选取与所述中心像素点的差值的绝对值之和最小的一个方向上的2个像素点,并计算所述2个像素点的像素平均值,用所述2个像素点的像素平均值替换所述中心像素点。
9.根据权利要求6至8任意一项所述的终端设备,其特征在于,所述任务分配单元包括:
第一任务分配子单元,用于所述CPU采用多核同时处理机制按照逻辑先后顺序对所述串行渲染任务完成串行处理,并输出渲染结果;
第二任务分配子单元,用于利用所述GPU的本地内存和总线内存交互,并依靠所述GPU共享内容传递给所述GPU各处理核心对所述并行渲染任务进行并行处理和计算,并最终输出渲染结果。
10.根据权利要求9所述的终端设备,其特征在于,
所述合成单元,具体用于按照预设合成次序将通过所述CPU串行处理的渲染结果与通过所述GPU并行处理的渲染结果进行合成得到目标渲染图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611089362.8A CN106600521A (zh) | 2016-11-30 | 2016-11-30 | 一种图像处理方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611089362.8A CN106600521A (zh) | 2016-11-30 | 2016-11-30 | 一种图像处理方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106600521A true CN106600521A (zh) | 2017-04-26 |
Family
ID=58594647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611089362.8A Pending CN106600521A (zh) | 2016-11-30 | 2016-11-30 | 一种图像处理方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106600521A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123154A (zh) * | 2017-04-27 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 目标对象的渲染方法和装置 |
CN108170526A (zh) * | 2017-12-06 | 2018-06-15 | 北京像素软件科技股份有限公司 | 负载能力优化方法、装置、服务器及可读存储介质 |
CN110033405A (zh) * | 2019-03-20 | 2019-07-19 | 上海交通大学 | 一种基于图像处理器加速的符号执行方法及系统 |
CN111179399A (zh) * | 2019-12-19 | 2020-05-19 | 无锡量子云数字新媒体科技有限公司 | 一种图像渲染方法、装置、系统及存储介质 |
CN112419147A (zh) * | 2020-04-14 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 图像渲染方法及装置 |
CN112954438A (zh) * | 2021-02-05 | 2021-06-11 | 摩尔线程智能科技(北京)有限责任公司 | 一种图像处理方法以及装置 |
CN112965809A (zh) * | 2019-12-12 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 深度学习任务处理系统和方法 |
WO2021237736A1 (zh) * | 2020-05-29 | 2021-12-02 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置和系统,计算机可读存储介质 |
WO2022143082A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为技术有限公司 | 一种图像处理方法和电子设备 |
CN117314730A (zh) * | 2023-11-28 | 2023-12-29 | 进迭时空(杭州)科技有限公司 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050140682A1 (en) * | 2003-12-05 | 2005-06-30 | Siemens Medical Solutions Usa, Inc. | Graphics processing unit for simulation or medical diagnostic imaging |
US20070091097A1 (en) * | 2005-10-18 | 2007-04-26 | Via Technologies, Inc. | Method and system for synchronizing parallel engines in a graphics processing unit |
CN103440627A (zh) * | 2013-08-23 | 2013-12-11 | 北京理工大学 | 一种基于光影强化的卡通风格渲染方法 |
CN103475828A (zh) * | 2013-10-10 | 2013-12-25 | 旗瀚科技有限公司 | 一种图像坏点校正方法及图像传感器 |
CN104952096A (zh) * | 2014-03-31 | 2015-09-30 | 中国电信股份有限公司 | Cpu和gpu混合云渲染方法、装置和系统 |
CN105894464A (zh) * | 2016-03-28 | 2016-08-24 | 福州瑞芯微电子股份有限公司 | 一种中值滤波图像处理方法和装置 |
-
2016
- 2016-11-30 CN CN201611089362.8A patent/CN106600521A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050140682A1 (en) * | 2003-12-05 | 2005-06-30 | Siemens Medical Solutions Usa, Inc. | Graphics processing unit for simulation or medical diagnostic imaging |
US20070091097A1 (en) * | 2005-10-18 | 2007-04-26 | Via Technologies, Inc. | Method and system for synchronizing parallel engines in a graphics processing unit |
CN103440627A (zh) * | 2013-08-23 | 2013-12-11 | 北京理工大学 | 一种基于光影强化的卡通风格渲染方法 |
CN103475828A (zh) * | 2013-10-10 | 2013-12-25 | 旗瀚科技有限公司 | 一种图像坏点校正方法及图像传感器 |
CN104952096A (zh) * | 2014-03-31 | 2015-09-30 | 中国电信股份有限公司 | Cpu和gpu混合云渲染方法、装置和系统 |
CN105894464A (zh) * | 2016-03-28 | 2016-08-24 | 福州瑞芯微电子股份有限公司 | 一种中值滤波图像处理方法和装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123154A (zh) * | 2017-04-27 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 目标对象的渲染方法和装置 |
CN107123154B (zh) * | 2017-04-27 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 目标对象的渲染方法和装置 |
CN108170526A (zh) * | 2017-12-06 | 2018-06-15 | 北京像素软件科技股份有限公司 | 负载能力优化方法、装置、服务器及可读存储介质 |
CN110033405A (zh) * | 2019-03-20 | 2019-07-19 | 上海交通大学 | 一种基于图像处理器加速的符号执行方法及系统 |
CN112965809A (zh) * | 2019-12-12 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 深度学习任务处理系统和方法 |
CN111179399A (zh) * | 2019-12-19 | 2020-05-19 | 无锡量子云数字新媒体科技有限公司 | 一种图像渲染方法、装置、系统及存储介质 |
CN112419147A (zh) * | 2020-04-14 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 图像渲染方法及装置 |
CN112419147B (zh) * | 2020-04-14 | 2023-07-04 | 上海哔哩哔哩科技有限公司 | 图像渲染方法及装置 |
WO2021237736A1 (zh) * | 2020-05-29 | 2021-12-02 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置和系统,计算机可读存储介质 |
WO2022143082A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为技术有限公司 | 一种图像处理方法和电子设备 |
CN112954438A (zh) * | 2021-02-05 | 2021-06-11 | 摩尔线程智能科技(北京)有限责任公司 | 一种图像处理方法以及装置 |
CN117314730A (zh) * | 2023-11-28 | 2023-12-29 | 进迭时空(杭州)科技有限公司 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
CN117314730B (zh) * | 2023-11-28 | 2024-03-15 | 进迭时空(杭州)科技有限公司 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106600521A (zh) | 一种图像处理方法及终端设备 | |
CN104952033A (zh) | 分布式图形处理器分级中的系统一致性 | |
CN104793887B (zh) | 移动终端的双摄像头控制方法及装置 | |
CN103365621B (zh) | 图像处理方法及装置 | |
CN109889875A (zh) | 通信方法、装置、终端设备和计算机可读介质 | |
CN105574808B (zh) | 一种流水线纹理贴图单元系统 | |
CN106325675A (zh) | 一种图标摆放方法及终端设备 | |
CN110035236A (zh) | 图像处理方法、装置和电子设备 | |
CN108304334A (zh) | 应用处理器和包括中断控制器的集成电路 | |
CN106959927A (zh) | 获取虚拟机中的逻辑分区的位置信息的方法及装置 | |
CN106327540A (zh) | 基于OpenGL View的控制方法、装置及终端 | |
CN107506483A (zh) | 页面加载方法、装置、电子设备及存储介质 | |
CN105787986A (zh) | 一种三维图形渲染的方法和装置 | |
CN107909537A (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
US20130286009A1 (en) | Techniques for multiple pass rendering | |
CN108668161A (zh) | 视频图像处理方法、计算机装置及计算机可读存储介质 | |
CN104937551A (zh) | 用于图形设备的上下文感知功率管理 | |
CN107423395A (zh) | 导航数据处理系统 | |
CN104423777A (zh) | 一种窗口显示的方法及装置 | |
CN107391003A (zh) | 导航数据处理方法 | |
CN106843829A (zh) | 桌面控件的显示方法、装置及电子设备 | |
CN108401159A (zh) | 一种目标码率控制的方法以及电子设备 | |
WO2024067145A1 (zh) | 图像修复方法、装置、设备、计算机可读存储介质及产品 | |
CN109718554A (zh) | 一种实时渲染方法、装置及终端 | |
CN106780510A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |