CN102446364B - 一种基于透明度的图像处理方法、装置及终端 - Google Patents
一种基于透明度的图像处理方法、装置及终端 Download PDFInfo
- Publication number
- CN102446364B CN102446364B CN201110261006.0A CN201110261006A CN102446364B CN 102446364 B CN102446364 B CN 102446364B CN 201110261006 A CN201110261006 A CN 201110261006A CN 102446364 B CN102446364 B CN 102446364B
- Authority
- CN
- China
- Prior art keywords
- pixel
- match
- information
- color component
- value
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种基于透明度的图像处理方法、装置及终端,所述方法包括获取表示第一像素的第一拟合像素信息及第一透明度信息;获取表示第二像素的第二拟合像素信息及第二透明度信息;将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;将所述第三拟合像素信息进行缩小处理,获得第三真实像素。本发明和现有的定点数法相比,将之前的六次整数乘法和三次整数加法,缩减为两次整数乘法和一次整数加法,从而可以提高方法运行的效率;本发明提供的基于透明度的图像处理方法和现有的查表法相比,不需要遍历二维数组表,也不需要占用更多的内存。
Description
技术领域
本发明涉及计算机图形领域,尤其涉及一种基于透明度的图像处理方法、装置及终端。
背景技术
目前,Alpha颜色混合方法在计算机图形领域中应用范围非常广泛,应用该技术,可以实现眩目的火光效果、烟雾效果、阴影效果、动态光源效果等一切可以想象出来的半透明效果。
图像处理中的Alpha颜色混合方法,其作用就是要实现一种半透明效果。假设一不透明对象的像素A,另一透明的对象的像素B,那么透过像素B去看像素A,观测者所观测到的像素C就是像素B和像素A混合后的像素,例如:占30%的像素B,加上占70%的像素A,两者混合成半透明的占100%的像素C,其中,所述像素,又称画素,为图像显示的基本单位。
传统的Alpha颜色混合方法的实现步骤如下:
步骤1:将像素A分解为RGB颜色分量,记为R(A),G(A),B(A);
步骤2:将像素B分解为RGB颜色分量,记为R(B),G(B),B(B);
步骤3:获得像素B的透明度为alpha,(其中,alpha的值域为浮点数[0.0,1.0],当alpha为0.0时,像素为完全透明,当alpha为1.0时,像素为完全不透明);
步骤4:由于像素A与像素B的透明度之和为透明度最大值,所以获得像素A的透明度为1.0-alpha;
步骤5:混合像素C由像素B和像素A混合而成,分别计算混合像素C的RGB颜色分量,记为R(C),G(C),B(C);
对于混合像素C的RGB颜色分量R(C):混合像素C的颜色分量R(C),等于像素B的颜色分量R(B)乘以透明度alpha,再加上像素A的颜色分量R(A)乘以透明度1.0-alpha的和;
对于混合像素C的RGB颜色分量G(C):混合像素C的颜色分量G(C),等于像素B的G颜色分量G(B)乘以透明度alpha,再加上像素A的G颜色分量G(A)乘以透明度1.0-alpha的和;
对于混合像素C的RGB颜色分量B(C):混合像素C的颜色分量B(C),等于像素B的B颜色分量B(B)乘以透明度alpha,再加上像素A的B颜色分量B(A)乘以透明度1.0-alpha的和;
步骤6:将混合像素C的颜色分量R(C)、G(C)、B(C)合成为最终的混合像素C。
采用该Alpha颜色混合方法时,其对屏幕刷新的性能影响较大,因为每次屏幕刷新时,屏幕上每个像素都要采用该方法进行计算。例如:对于目前常见的电脑宽屏显示器,其屏幕分辨率一般为1440*900像素,也就是有1296000个像素,采用该Alpha颜色混合方法时,每次进行屏幕刷新时,就要计算1296000次。
例如,目前公开了一种发明名称为《硬件加速混合模式》,公开号为CN1825353的专利技术。该技术公开了一种利用图形处理单元对源图元和目的图元的颜色的混合方法,其中,图形处理单元执行混合这些图元的混合程序,图形处理单元从中央处理单元或图形应用程序接收混合程序。例如,图形处理单元在源纹理图中绘制源图元,在目的纹理图中绘制目的图元。混合程序(例如,像素着色器)被设置成应用于这些图元,并且,图形处理单元将混合模式应用于这些图元的每个像素,从而在目的呈现目标中呈现合成图元。
该技术的不足之处在于,它使用了上面所述的传统的Alpha颜色混合方法,其将要混合的各个像素先分别分解为RGB颜色分量,然后再对每个颜色分量进行混合计算,最后将混合后的RGB颜色分量合成为最终的混合像素,从而使得采用该方法时需要进行大量的计算,效率较低。
针对这种情况,目前也有采用以下技术方案来实现Alpha颜色混合的目的:
技术方案一,采用定点数法。
先前的Alpha颜色混合方法使用了浮点数alpha,但通常,定点数计算要比浮点数计算快很多,例如,浮点数1.0的8位定点数是255,所以传统的Alpha颜色混合方法可以改进为采用以下方法步骤实现:
步骤1:将像素A分解为RGB颜色分量,记为R(A),G(A),B(A);
步骤2:将像素B分解为RGB颜色分量,记为R(B),G(B),B(B);
步骤3:获取像素B的透明度为alpha(其中,透明度alpha的值域为定点数[0,255],当alpha为0时为完全透明,当alpha为255时为完全不透明);
步骤4:由于像素A与B的透明度之和为透明度最大值,所以获得的像素A的透明度为255-alpha;
步骤5:混合像素C由像素B和A混合而成,分别计算混合像素C的RGB颜色分量,记为R(C),G(C),B(C);
对于混合像素C的RGB颜色分量R(C),其等于像素B的颜色分量R(B)乘以透明度alpha,再加上像素A的颜色分量R(A)乘以透明度255-alpha的和;
对于混合像素C的RGB颜色分量G(C),等于像素B的颜色分量G(B)乘以透明度alpha,再加上像素A的颜色分量G(A)乘以透明度255-alpha的和;
对于混合像素C的RGB颜色分量B(C),等于像素B的颜色分量B(B)乘以透明度alpha,再加上像素A的颜色分量B(A)乘以透明度255-alpha的和;
步骤6:将混合像素C的RGB颜色分量R(C)、G(C)、B(C)分别整除255,再合成为最终的混合像素C。
对于上述技术方案一,由于整数除法是比较慢的计算,因此可以对上式修改,例如目前常见的采用移位代替整数除法。
在上述技术方案一中,透明度alpha等级的值域是[0,255],在实际应用中,常常用不到这么精细的透明度alpha等级,透明度alpha等级的值域可以缩小为[0,32]。由于右移5位,就等于整除32,所以可以对上述的技术方案一进行改进为:
步骤1:将像素A分解为RGB颜色分量,记为R(A),G(A),B(A);
步骤2:将像素B分解为RGB颜色分量,记为R(B),G(B),B(B);
步骤3:获取像素B的透明度为alpha(其中,透明度alpha的值域为定点数[0,32],0为完全透明,32为完全不透明);
步骤4:由于像素A与B的透明度之和为透明度最大值,所以获得像素A的透明度为32-alpha;
步骤5:混合像素C由像素B和A混合而成,分别计算混合像素C的RGB颜色分量,记为R(C),G(C),B(C);
对于混合像素C的颜色分量R(C),等于像素B的颜色分量R(B)乘以透明度alpha,再加上像素A的颜色分量R(A)乘以透明度32-alpha的和;
对于混合像素C的颜色分量G(C),等于像素B的颜色分量G(B)乘以透明度alpha,再加上像素A的颜色分量G(A)乘以透明度32-alpha的和;
对于混合像素C的B颜色分量B(C),等于像素B的颜色分量B(B)乘以透明度alpha,再加上像素A的颜色分量B(A)乘以透明度32-alpha的和;
步骤6:将混合像素C的RGB颜色分量R(C)、G(C)、B(C)分别右移5位,再合成为最终的混合像素C。
技术方案二,采用查表法。
查表法是一种用空间换时间的优化方法,比如颜色分量R(B)乘以透明度alpha的乘法计算结果,可以先计算出来,并存放入一个二维数组表里,每采用Alpha颜色混合方法进行颜色混合时,直接读取二维数组表里的数据。设该二维数组表只保存RGB颜色分量乘以透明度alpha的乘法计算结果,这样占用内存空间小。
基于此,对于传统的Alpha颜色混合方法可以改进为:
步骤1:将像素A分解为RGB颜色分量,记为R(A),G(A),B(A);
步骤2:将像素B分解为RGB颜色分量,记为R(B),G(B),B(B);
步骤3:获取像素B的透明度为alpha,其中,透明度的值域为整数[0,31],0为完全透明,31为完全不透明;
步骤4:由于像素A与B的透明度之和为透明度最大值,所以获得像素A的透明度为31-alpha;
步骤5:混合像素C由像素B和A混合而成,分别计算混合像素C的RGB颜色分量,记为R(C),G(C),B(C);
对于混合像素C的颜色分量R(C),等于像素B的颜色分量R(B)乘以透明度alpha,再加上像素A的颜色分量R(A)乘以透明度31-alpha的和,两个乘积的值直接从二维数组表中读取;
对于混合像素C的颜色分量G(C),等于像素B的颜色分量G(B)乘以透明度alpha,再加上像素A的颜色分量G(A)乘以透明度31-alpha的和,两个乘积的值直接从二维数组表中读取;
对于混合像素C的颜色分量B(C),等于像素B的颜色分量B(B)乘以透明度alpha,再加上像素A的颜色分量B(A)乘以透明度31-alpha的和,两个乘积的值直接从二维数组表中读取;
步骤9:将混合像素C的RGB颜色分量R(C)、G(C)、B(C)合成为最终的混合像素C。
以上两种技术方案,其均要将需要混合的像素分别分解为RGB颜色分量后进行计算,并最终得到混合像素C。其中,采用定点数法存在六次整数乘法,因此运算时间相对较长;采用查表法由于使用了二维数组表,省去了六次整数乘法,但是在二维数组表中提取数据,需要遍历二维数组表,也比较耗时,而且二维数组表需要更多的内存空间。例如:对于16位RGB565像素,alpha等级的值域取[0,31],需要256*32的二维数组表,内存占用达到16KB。
发明内容
本发明的目的在于提供一种基于透明度的图像处理方法、装置及终端,在进行Alpha颜色混合时,不用将需要混合的像素分解为RGB颜色分量,以对每个颜色分量进行混合计算,而是直接对像素进行混合计算,从而一定程度上提高了对目的像素进行Alpha颜色混合的效率。
为了达到本发明的目的,本发明采用以下技术方案:
基于透明度的图像处理方法,包括:
获取表示第一像素的第一拟合像素信息及第一透明度信息;
获取表示第二像素的第二拟合像素信息及第二透明度信息;
将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
将所述第三拟合像素信息进行缩小处理,获得第三真实像素。
优选地,在执行所有步骤之前,还包括:
对第一像素进行拟合处理,获得第一拟合像素信息;
对第二像素进行拟合处理,获得第二拟合像素信息。
更为优选地,所述第一拟合像素信息的位数为第一像素位数的一倍,所述第二拟合像素信息的位数为第二像素位数的一倍。
更为优选地,所述第一像素的位数为16位,所述第一拟合像素信息的位数为32位,所述对第一像素进行拟合处理的拟合处理步骤包括:
获得第一像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第一像素右移11位的值,再位与0x1F;G(A)等于第一像素右移5位的值,再位与0x3F;B(A)等于第一像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第一拟合像素信息;
所述第二像素的位数为16位,所述第二拟合像素信息的位数为32位,所述对第二像素进行拟合处理的拟合处理步骤包括:
获得第二像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第二像素右移11位的值,再位与0x1F;G(A)等于第二像素右移5位的值,再位与0x3F;B(A)等于第二像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第二拟合像素信息。
更为优选地,所述缩小处理包括:
将第三拟合像素信息右移26位,再位与0x1F,获得第三拟合像素信息的R颜色分量R(SC);
将第三拟合像素信息右移15位,再位与0x3F,获得第三拟合像素信息的G颜色分量G(SC);
将第三拟合像素信息右移5位,再位与0x1F,获得第三拟合像素信息的B颜色分量B(SC);
将R颜色分量R(SC)左移11位,位或G颜色分量G(SC)左移5位的值,再位或B颜色分量B(SC),获得第三真实像素。
一种基于透明度的图像处理装置,包括:
第一像素处理单元,用于获取表示第一像素的第一拟合像素信息及第一透明度信息;
第二像素处理单元,用于获取表示第二像素的第二拟合像素信息及第二透明度信息;
中心处理单元,用于将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
第三像素处理单元,将所述第三拟合像素信息进行缩小处理,获得第三真实像素。
优选地,所述第一像素处理单元还用于对第一像素进行拟合处理,获得第一拟合像素信息;所述第二像素处理单元还用于对第二像素进行拟合处理,获得第二拟合像素信息。
更为优选地,所述第一拟合像素信息的位数为第一像素位数的一倍,所述第二拟合像素信息的位数为第二像素位数的一倍。
更为优选地,所述第一像素的位数为16位,所述第一拟合像素信息的位数为32位,所述对第一像素进行拟合处理的拟合处理步骤包括:
获得第一像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第一像素右移11位的值,再位与0x1F;G(A)等于第一像素右移5位的值,再位与0x3F;B(A)等于第一像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第一拟合像素信息;
所述第二像素的位数为16位,所述第二拟合像素信息的位数为32位,所述对第二像素进行拟合处理的拟合处理步骤包括:
获得第二像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第二像素右移11位的值,再位与0x1F;G(A)等于第二像素右移5位的值,再位与0x3F;B(A)等于第二像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第二拟合像素信息。
更为优选地,所述第三像素处理单元对所述第三拟合像素信息进行缩小处理的步骤包括:
将第三拟合像素信息右移26位,再位与0x1F,获得第三拟合像素信息的R颜色分量R(SC);
将第三拟合像素信息右移15位,再位与0x3F,获得第三拟合像素信息的G颜色分量G(SC);
将第三拟合像素信息右移5位,再位与0x1F,获得第三拟合像素信息的B颜色分量B(SC);
将R颜色分量R(SC)左移11位,位或G颜色分量G(SC)左移5位的值,再位或B颜色分量B(SC),获得第三真实像素。
一种终端,包括如上所述的基于透明度的图像处理装置,所述装置包括:
第一像素处理单元,用于获取表示第一像素的第一拟合像素信息及第一透明度信息;
第二像素处理单元,用于获取表示第二像素的第二拟合像素信息及第二透明度信息;
中心处理单元,用于将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
第三像素处理单元,将所述第三拟合像素信息进行缩小处理,获得第三真实像素。
通过以上本发明的技术方案可以看出,本发明提供的基于透明度的图像处理方法和现有的定点数法相比,将之前的六次整数乘法和三次整数加法,缩减为两次整数乘法和一次整数加法,从而可以提高方法运行的效率;本发明提供的基于透明度的图像处理方法和现有的查表法相比,不需要遍历二维数组表,也不需要占用更多的内存。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例提供的基于透明度的图像处理方法流程示意图;
图2是本发明实施例提供的基于透明度的图像处理装置结构示意图;
图3是本发明实施例提供的对像素进行拟合处理的示意图;
图4是本发明实施例提供的对拟合像素信息进行混合计算的示意图;
图5是本发明实施例提供的获得第三拟合像素信息的示意图;
图6是本发明实施例提供的对第三拟合像素信息进行缩小处理的示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了基于透明度的图像处理方法,适用于各种像素格式的Alpha颜色混合。如图1所示,其包括如下步骤:
S101、获取表示第一像素的第一拟合像素信息及第一透明度信息;
S102、获取表示第二像素的第二拟合像素信息及第二透明度信息;
S103、将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
S104、将所述第三拟合像素信息进行缩小处理,获得第三真实像素。
继续参照图1,在该实施例中,在执行上述所有步骤之前,所述基于透明度的图像处理方法还包括如下步骤:
S100、对第一像素进行拟合处理,获得第一拟合像素信息;对第二像素进行拟合处理,获得第二拟合像素信息。
在本实施例一种优选实施方式中,所述第一拟合像素信息的位数为第一像素位数的一倍,所述第二拟合像素信息的位数为第二像素位数的一倍。
例如,以16位RGB565的像素格式为例,所述第一像素的位数为16位,所述第一拟合像素信息的位数为32位,所述对第一像素进行拟合处理的拟合处理步骤包括:
获得第一像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第一像素右移11位的值,再位与0x1F;G(A)等于第一像素右移5位的值,再位与0x3F;B(A)等于第一像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第一拟合像素信息;
同样地,所述第二像素的位数为16位,所述第二拟合像素信息的位数为32位,所述对第二像素进行拟合处理的拟合处理步骤包括:
获得第二像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第二像素右移11位的值,再位与0x1F;G(A)等于第二像素右移5位的值,再位与0x3F;B(A)等于第二像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第二拟合像素信息。
在本实施例一种优选实施方式中,所述基于透明度的图像处理方法的S104步骤中所述的缩小处理包括如下步骤:
S1041、将第三拟合像素信息右移26位,再位与0x1F,获得第三拟合像素信息的R颜色分量R(SC);
S1041、将第三拟合像素信息右移15位,再位与0x3F,获得第三拟合像素信息的G颜色分量G(SC);
S1041、将第三拟合像素信息右移5位,再位与0x1F,获得第三拟合像素信息的B颜色分量B(SC);
S1041、将R颜色分量R(SC)左移11位,位或G颜色分量G(SC)左移5位的值,再位或B颜色分量B(SC),获得第三真实像素。
除此之外,本发明实施例还提供了一种基于透明度的图像处理装置,如图2所示,其包括:
第一像素处理单元10,用于获取表示第一像素的第一拟合像素信息及第一透明度信息;
第二像素处理单元20,用于获取表示第二像素的第二拟合像素信息及第二透明度信息;
中心处理单元40,用于将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
第三像素处理单元30,将所述第三拟合像素信息进行缩小处理,获得第三真实像素。
优选实施方式下,所述第一像素处理单元10还用于对第一像素进行拟合处理,获得第一拟合像素信息;所述第二像素处理单元20还用于对第二像素进行拟合处理,获得第二拟合像素信息。
本实施例的一种优选实施方式下,所述第一拟合像素信息的位数为第一像素位数的一倍,所述第二拟合像素信息的位数为第二像素位数的一倍。
例如,所述第一像素的位数为16位,所述第一拟合像素信息的位数为32位,所述对第一像素进行拟合处理的拟合处理步骤包括:
获得第一像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第一像素右移11位的值,再位与0x1F;G(A)等于第一像素右移5位的值,再位与0x3F;B(A)等于第一像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第一拟合像素信息;
所述第二像素的位数为16位,所述第二拟合像素信息的位数为32位,所述对第二像素进行拟合处理的拟合处理步骤包括:
获得第二像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第二像素右移11位的值,再位与0x1F;G(A)等于第二像素右移5位的值,再位与0x3F;B(A)等于第二像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第二拟合像素信息。
在本实施例一种优选实施方式中,所述第三像素处理单元对所述第三拟合像素信息进行缩小处理的步骤包括:
将第三拟合像素信息右移26位,再位与0x1F,获得第三拟合像素信息的R颜色分量R(SC);
将第三拟合像素信息右移15位,再位与0x3F,获得第三拟合像素信息的G颜色分量G(SC);
将第三拟合像素信息右移5位,再位与0x1F,获得第三拟合像素信息的B颜色分量B(SC);
将R颜色分量R(SC)左移11位,位或G颜色分量G(SC)左移5位的值,再位或B颜色分量B(SC),获得第三真实像素。
下面将第一像素以及第二像素分别以16位RGB565像素为例来详细说明本发明所公开的基于透明度的图像处理方法的精神。
步骤1:将要混合的第一像素(下称像素A)以及第二像素(下称像素B)拟合为第一拟合像素(下称SA),这里,所述拟合方法为扩展方法,即通过对上述像素A及像素B分别予以扩展,获得拟合像素SA。该拟合像素SA是一种32位像素结构,以32位整数保存16位RGB565像素值。如图3所示,RGB三个颜色分量分别用R、G、B表示,空字符0用空格表示。
对所述像素A及像素B扩展成为拟合像素SA及SB的步骤用位运算便可实现,例如,对于像素A的扩展方法如下。
对于16位RGB565的像素A,其三个颜色分量分别记为R(A),G(A),B(A)。R(A)等于像素A右移11位的值,再位与0x1F。G(A)等于像素A右移5位的值,再位与0x3F。B(A)等于像素A位与0x1F。将三个颜色分量合并为拟合像素SA。拟合像素SA等于R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A)。
同样的,采用上述方法可以得到像素B的扩展像素SB。
步骤2:直接对得到的两个拟合像素SA及SB进行混合计算。
透明度alpha等级的值域取[0,31],整数中用5位保存。当进行混合计算时,计算结果可以直接保存在32位整数中。如图4所示,透明度alpha值用A表示。
对于16位RGB565像素A,红色颜色分量R(A)占整数中的5位,透明度alpha值占整数中的5位,两者进行整数乘法,其结果可以用整数中的10位来保存,不会发生数据溢出,其它颜色分量同理适用上述论述。
步骤3:如图5所示,将两个混合后的拟合像素SA及SB进行相加混合。
依据该图5,假设拟合像素SB、SA中保存的RGB颜色分量都为最高值,由于它们俩的乘数分别为透明度alpha、(31-alpha),两乘数相加也不会超过31,也就是不会超过整数中的5位。所以,将两个混合后的拟合像素SB、SA相加,其结果可以用整数中的31位来保存,不会发生数据溢出。
在图5中,所述拟合像素SB、SA的颜色分量分别用r、g、b予以表示,对于混合后得到的拟合像素SC的颜色分量为r1、g1、b1。
步骤4:如图6所示,获取Alpha颜色混合后的最终像素,将相加后的拟合像素进行SC缩小处理,缩小为原来的像素格式,即16位RGB565像素。其中,在图6中,对于混合后得到的最终像素的颜色分量为R1、G1、B1。
在该步骤中,用位运算便可完成。对于32位拟合像素SC,其三个颜色分量分别为记为R(SC),G(SC),B(SC)。R(SC)等于拟合像素SC右移26位的值,再位与0x1F。G(SC)等于拟合像素SC右移15位的值,再位与0x3F。B(SC)等于拟合像素SC右移5位的值,再位与0x1F。将三个颜色分量合并为16位RGB565像素C。C等于R(SC)左移11位的值,位或G(SC)左移5位的值,再位或B(SC)。
采用本发明可以用于实现3D半透明倒影特效,在保证原有视效质量的同时,提高了基于透明度的图像处理方法的性能,且不用占用更多的内存。
本发明适用于各种像素格式的Alpha颜色混合,拟合像素位数取原先像素位数的一倍,使拟合像素可以同时保存原先像素信息和其透明度信息的乘积。例如:对于32位RGBA8888像素,可以扩展为64位拟合像素。
下表是采用本发明(简称扩展法)与现有的两种技术方案(即定点数法及查表法)的性能对比表。其中使用16位RGB565像素。每种方法在电脑上运行一百万次,进行12次采样,去掉最高和最低的采样值,然后对剩下的10次采样取平均值。性能对比数据取相对时间,以明确显示出其性能比例关系。
相对时间 | 占用内存 | |
定点数法 | 1 | 无 |
查表法 | 0.6 | 16KB |
扩展法 | 0.52 | 无 |
通过上表可见,本发明扩展法比定点数法快近一倍,比查表法略快,且不用占用16KB内存。
本发明由于是将低位像素扩展为高位拟合像素来计算,所以,不会对原先的低位像素造成精度损失。本发明在性能和内存占用方面具有优势,提高了基于透明度的图像处理方法的性能,且不用占用更多的内存,同时能够保证视效的质量。
除此之外,本发明实施例还提供了一种终端,所述终端包括如上所述的基于透明度的图像处理装置,所述装置包括:
第一像素处理单元,用于获取表示第一像素的第一拟合像素信息及第一透明度信息;
第二像素处理单元,用于获取表示第二像素的第二拟合像素信息及第二透明度信息;
中心处理单元,用于将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
第三像素处理单元,将所述第三拟合像素信息进行缩小处理,获得第三真实像素。
这里,所述终端为任何一种能够处理透明度信息的终端设备,例如可以为手机、便携电脑等。对于该终端的详细说明请参看上文所述,这里对此不做重复赘述。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (9)
1.一种基于透明度的图像处理方法,其特征在于,包括:
获取表示第一像素的第一拟合像素信息及第一透明度信息;
获取表示第二像素的第二拟合像素信息及第二透明度信息;
将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
将所述第三拟合像素信息进行缩小处理,获得第三真实像素;
在执行所有步骤之前,还包括:
对第一像素进行拟合处理,获得第一拟合像素信息;
对第二像素进行拟合处理,获得第二拟合像素信息;
所述对第一像素进行拟合处理的拟合处理步骤包括:
利用第一像素获得第一像素的三个颜色分量R(A)、G(A)、B(A),
利用所述R(A)、G(A)、B(A)获得第一拟合像素信息;
所述对第二像素进行拟合处理的拟合处理步骤包括:
利用第二像素获得第二像素的三个颜色分量R(A)、G(A)、B(A),
利用所述R(A)、G(A)、B(A)获得第二拟合像素信息。
2.如权利要求1所述的基于透明度的图像处理方法,其特征在于,所述第一拟合像素信息的位数为第一像素位数的一倍,所述第二拟合像素信息的位数为第二像素位数的一倍。
3.如权利要求2所述的基于透明度的图像处理方法,其特征在于,所述第一像素的位数为16位,所述第一拟合像素信息的位数为32位,所述对第一像素进行拟合处理的拟合处理步骤包括:
获得第一像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第一像素右移11位的值,再位与0x1F;G(A)等于第一像素右移5位的值,再位与0x3F;B(A)等于第一像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第一拟合像素信息;
所述第二像素的位数为16位,所述第二拟合像素信息的位数为32位,所述对第二像素进行拟合处理的拟合处理步骤包括:
获得第二像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第二像素右移11位的值,再位与0x1F;G(A)等于第二像素右移5位的值,再位与0x3F;B(A)等于第二像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第二拟合像素信息。
4.如权利要求3所述的基于透明度的图像处理方法,其特征在于,所述缩小处理包括:
将第三拟合像素信息右移26位,再位与0x1F,获得第三拟合像素信息的R颜色分量R(SC);
将第三拟合像素信息右移15位,再位与0x3F,获得第三拟合像素信息的G颜色分量G(SC);
将第三拟合像素信息右移5位,再位与0x1F,获得第三拟合像素信息的B颜色分量B(SC);
将R颜色分量R(SC)左移11位,位或G颜色分量G(SC)左移5位的值,再位或B颜色分量B(SC),获得第三真实像素。
5.一种基于透明度的图像处理装置,其特征在于,包括:
第一像素处理单元,用于获取表示第一像素的第一拟合像素信息及第一透明度信息;
第二像素处理单元,用于获取表示第二像素的第二拟合像素信息及第二透明度信息;
中心处理单元,用于将第一拟合像素信息乘以第一透明度信息得到的值,加上第二拟合像素信息乘以第二透明度信息得到的值,获得表示第三像素的第三拟合像素信息;
第三像素处理单元,将所述第三拟合像素信息进行缩小处理,获得第三真实像素;
所述第一像素处理单元还用于对第一像素进行拟合处理,获得第一拟合像素信息;所述第二像素处理单元还用于对第二像素进行拟合处理,获得第二拟合像素信息;
所述对第一像素进行拟合处理的拟合处理步骤包括:
利用第一像素获得第一像素的三个颜色分量R(A)、G(A)、B(A),
利用所述R(A)、G(A)、B(A)获得第一拟合像素信息;
所述对第二像素进行拟合处理的拟合处理步骤包括:
利用第二像素获得第二像素的三个颜色分量R(A)、G(A)、B(A),
利用所述R(A)、G(A)、B(A)获得第二拟合像素信息。
6.如权利要求5所述的基于透明度的图像处理装置,其特征在于,所述第一拟合像素信息的位数为第一像素位数的一倍,所述第二拟合像素信息的位数为第二像素位数的一倍。
7.如权利要求6所述的基于透明度的图像处理装置,其特征在于,所述第一像素的位数为16位,所述第一拟合像素信息的位数为32位,所述对第一像素进行拟合处理的拟合处理步骤包括:
获得第一像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第一像素右移11位的值,再位与0x1F;G(A)等于第一像素右移5位的值,再位与0x3F;B(A)等于第一像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第一拟合像素信息;
所述第二像素的位数为16位,所述第二拟合像素信息的位数为32位,所述对第二像素进行拟合处理的拟合处理步骤包括:
获得第二像素的三个颜色分量R(A)、G(A)、B(A),其中,R(A)等于第二像素右移11位的值,再位与0x1F;G(A)等于第二像素右移5位的值,再位与0x3F;B(A)等于第二像素位与0x1F;
将R(A)左移21位的值,位或G(A)左移10位的值,再位或B(A),获得第二拟合像素信息。
8.如权利要求7所述的基于透明度的图像处理装置,其特征在于,所述第三像素处理单元对所述第三拟合像素信息进行缩小处理的步骤包括:
将第三拟合像素信息右移26位,再位与0x1F,获得第三拟合像素信息的R颜色分量R(SC);
将第三拟合像素信息右移15位,再位与0x3F,获得第三拟合像素信息的G颜色分量G(SC);
将第三拟合像素信息右移5位,再位与0x1F,获得第三拟合像素信息的B颜色分量B(SC);
将R颜色分量R(SC)左移11位,位或G颜色分量G(SC)左移5位的值,再位或B颜色分量B(SC),获得第三真实像素。
9.一种终端,其特征在于,包括如权利要求5至8任一所述的基于透明度的图像处理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110261006.0A CN102446364B (zh) | 2011-09-05 | 2011-09-05 | 一种基于透明度的图像处理方法、装置及终端 |
US14/342,620 US9230347B2 (en) | 2011-09-05 | 2011-12-14 | Transparency-based image processing method, device, and terminal |
PCT/CN2011/084001 WO2012151995A1 (zh) | 2011-09-05 | 2011-12-14 | 一种基于透明度的图像处理方法、装置及终端 |
EP11865341.9A EP2743891A1 (en) | 2011-09-05 | 2011-12-14 | Transparency-based image processing method and device and terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110261006.0A CN102446364B (zh) | 2011-09-05 | 2011-09-05 | 一种基于透明度的图像处理方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446364A CN102446364A (zh) | 2012-05-09 |
CN102446364B true CN102446364B (zh) | 2017-04-12 |
Family
ID=46008839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110261006.0A Active CN102446364B (zh) | 2011-09-05 | 2011-09-05 | 一种基于透明度的图像处理方法、装置及终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9230347B2 (zh) |
EP (1) | EP2743891A1 (zh) |
CN (1) | CN102446364B (zh) |
WO (1) | WO2012151995A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574920B (zh) * | 2016-01-28 | 2018-03-13 | 网易(杭州)网络有限公司 | 材质贴图生成方法及装置、材质合成方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1397915A (zh) * | 2002-07-26 | 2003-02-19 | 威盛电子股份有限公司 | 覆盖画面透明处理装置与方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377269B1 (en) * | 1998-05-29 | 2002-04-23 | Robert L. Kay | Automated generation of masks for photo-compositing |
CN2553453Y (zh) | 2002-07-26 | 2003-05-28 | 威盛电子股份有限公司 | 覆盖画面透明处理装置 |
US7312801B2 (en) | 2005-02-25 | 2007-12-25 | Microsoft Corporation | Hardware accelerated blend modes |
US8339413B2 (en) * | 2007-05-17 | 2012-12-25 | Adobe Systems Incorporated | Multiplied occluding transparency graphics processing |
ATE550744T1 (de) | 2008-12-31 | 2012-04-15 | St Ericsson Sa | Verfahren und vorrichtung zum mischen von bildern |
CN101668144B (zh) * | 2009-09-24 | 2011-08-17 | 深圳市同洲电子股份有限公司 | 实现图像层在视频层上半透明效果的方法、装置和机顶盒 |
US8749572B2 (en) * | 2010-05-28 | 2014-06-10 | Adobe Systems Incorporated | System and method for simulation of brush-based painting in a color space that includes a fill channel |
-
2011
- 2011-09-05 CN CN201110261006.0A patent/CN102446364B/zh active Active
- 2011-12-14 EP EP11865341.9A patent/EP2743891A1/en not_active Ceased
- 2011-12-14 WO PCT/CN2011/084001 patent/WO2012151995A1/zh active Application Filing
- 2011-12-14 US US14/342,620 patent/US9230347B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1397915A (zh) * | 2002-07-26 | 2003-02-19 | 威盛电子股份有限公司 | 覆盖画面透明处理装置与方法 |
Non-Patent Citations (1)
Title |
---|
Alpha blending without SIMD support;Anonymous;《http://www.virtualdub.org/bolg/pivot/entry.php?id=117》;20060708;第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
US20140198124A1 (en) | 2014-07-17 |
WO2012151995A1 (zh) | 2012-11-15 |
US9230347B2 (en) | 2016-01-05 |
CN102446364A (zh) | 2012-05-09 |
EP2743891A4 (en) | 2014-06-18 |
EP2743891A1 (en) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1025558B1 (en) | A method and apparatus for performing chroma key, transparency and fog operations | |
KR101013345B1 (ko) | 그래픽 처리 장치에 있어서 프로그램 가능 블렌딩 | |
Everitt | Interactive order-independent transparency | |
KR101345362B1 (ko) | 깊이가 가중된 컬러화를 이용한 볼륨 렌더링 방법 및 장치 | |
JPH08241407A (ja) | ディジタル・カラー・イメージの空間フィルタ処理システム | |
CN103093437B (zh) | 生成铅笔画风格图像的方法及装置 | |
CN107657648B (zh) | 一种移动游戏中实时高效的染色方法和系统 | |
US8952981B2 (en) | Subpixel compositing on transparent backgrounds | |
KR102503210B1 (ko) | 텍스처 필터링하는 방법 및 이를 위한 장치 | |
CN102110289A (zh) | 基于变分框架的彩色图像对比度增强方法 | |
US7679620B2 (en) | Image processing using saltating samples | |
CN108664454A (zh) | 电子书页面显示方法、装置和终端设备 | |
AU2006287409B2 (en) | 2D/3D combined rendering | |
WO2023005743A1 (zh) | 图像处理方法及装置、计算机设备、存储介质和计算机程序产品 | |
CN112862943A (zh) | 虚拟模型渲染方法、装置、存储介质及电子设备 | |
US20090304269A1 (en) | Image Construction | |
CN104715454A (zh) | 一种抗锯齿图形叠加算法 | |
CN102446364B (zh) | 一种基于透明度的图像处理方法、装置及终端 | |
US9064336B2 (en) | Multiple texture compositing | |
CN104077794A (zh) | 图片染色方法及装置 | |
US20070057972A1 (en) | Method and apparatus for blending colors | |
CN106973277A (zh) | 一种rgb格式图像转yuv420格式的方法及装置 | |
JP3522714B2 (ja) | 画像生成方法 | |
CN115239833A (zh) | 颜色处理方法、装置、电子设备及计算机可读存储介质 | |
WO2022103117A1 (en) | Perceptual color enhancement based on properties of responses of human vision system to color stimulus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |