一种基于浮点像素数据的图像Alpha混合方法技术

技术编号:20624898 阅读:31 留言:0更新日期:2019-03-20 15:30
本发明专利技术涉及一种基于浮点像素数据的图像Alpha混合方法,主要解决现有图像混合方法速度慢、混合方式单一的问题。该方法包括以下步骤:1)获取浮点源颜色FP_Cs、浮点目标颜色FP_Cd以及颜色常量;2)进行1‑FP_As操作,FP_As为浮点源颜色的Alpha值;3)选取1‑FP_As与FP_Ad中较大的值作为M,M=Max(1‑FP_As,FP_Ad),FP_Ad为浮点目标颜色的Alpha值;4)获取浮点源因子FP_S与浮点目标因子FP_D:5)对浮点源颜色、浮点目标颜色、浮点源因子和浮点目标因子进行处理,获得浮点像素混合结果;6)进行浮点像素混合结果溢出判断。

An Image Alpha Mixing Method Based on Floating Point Pixel Data

The invention relates to an image Alpha mixing method based on floating-point pixel data, which mainly solves the problems of slow speed and single mixing mode of existing image mixing methods. The method includes the following steps: 1) acquiring FP_Cs, FP_Cd and color constants of floating-point source color; 2) performing 1 FP_As operation, FP_As is the Alpha value of floating-point source color; 3) selecting the larger values of 1 FP_As and FP_Adas M, M=Max (1 FP_As, FP_Ad), FP_Adas the Alpha value of floating-point target color; 4) acquiring FP_S and FP_D_5 as the floating-point source color pairs; Floating-point source color, floating-point target color, floating-point source factor and floating-point target factor are processed to obtain the mixed results of floating-point pixels; 6) Floating-point pixel mixing results overflow judgment.

【技术实现步骤摘要】
一种基于浮点像素数据的图像Alpha混合方法
本专利技术涉及计算机图形处理领域,具体涉及一种基于浮点像素数据的图像Alpha混合方法。
技术介绍
Alpha混合单元是GPU(GraphicsProcessingUnit)完成图像混合功能的关键模块,处于图形渲染管线的末端,承担着前景像素与背景像素混合的作用。单一的Alpha混合方式会带来生硬的视觉体验,针对不同的绘制场景,GPU采用多样的混合方式以还原现实世界的视见关系,从而提高绘制场景的真实性。近年来,随着半导体工艺的进步和计算机图形学的发展,计算机合成图像的质量得到了极大提高,图像的混合方式对场景真实性的影响更加突出。现有图像混合方法中的混合方式采用混合软件-操作系统-CPU的处理流程,操作系统的延迟以及CPU较慢的处理速度都会降低混合速度。此外,现有图像混合方法中硬件混合方式一般只采用乘加混合方式,混合方式单一,不能满足特定图像的混合。
技术实现思路
本专利技术的目的是解决现有图像混合方法存在速度慢、混合方式单一的技术问题,提供了一种基于浮点像素数据的图像Alpha混合方法。本专利技术的技术方案是:一种基于浮点像素数据的图像Alpha混合方法,包括以下步骤:1)获取浮点源颜色FP_Cs、浮点目标颜色FP_Cd以及颜色常量;2)进行1-FP_As操作,FP_As为浮点源颜色的Alpha值;3)选取1-FP_As与FP_Ad中较大的值作为M,M=Max(1-FP_As,FP_Ad),FP_Ad为浮点目标颜色的Alpha值;4)获取浮点源因子FP_S与浮点目标因子FP_D:从浮点源颜色、浮点目标颜色、颜色常量、步骤3)的M值以及常数0中选择一项作为浮点源因子;从浮点源颜色、浮点目标颜色、颜色常量、步骤3)的M值以及常数0中选择一项作为浮点目标因子FP_D;5)对浮点源颜色、浮点目标颜色、浮点源因子和浮点目标因子进行处理,获得浮点像素混合结果;6)进行浮点像素混合结果溢出判断:当浮点像素混合结果大于等于1时,将浮点像素混合结果替换为1;当浮点像素混合结果小于等于0时,将浮点像素混合结果替换为0;当浮点像素混合结果在0与1之间时,将浮点像素混合结果直接输出。进一步地,步骤5)具体为,5.1)将浮点源颜色与浮点源因子相乘,浮点目标颜色与浮点目标因子相乘,公式为FP_Cs×FP_S,FP_Cd×FP_D;5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×FP_S+FP_Cd×FP_D;或者,5.1)将浮点源颜色与1-浮点源因子相乘,浮点目标颜色与1-浮点目标因子相乘,公式为FP_Cs×(1-FP_S),FP_Cd×(1-FP_D);5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×(1-FP_S)+FP_Cd×(1-FP_D)。或者,5.1)将浮点源颜色与浮点源因子相乘,浮点目标因子与0-浮点目标颜色相乘,公式为FP_Cs×FP_S,(0-FP_Cd)×FP_D;5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×FP_S+(0-FP_Cd)×FP_D;或者,5.1)将浮点源颜色与1-浮点源因子相乘,1-浮点目标因子与0-浮点目标颜色相乘,公式为FP_Cs×(1-FP_S),(0-FP_Cd)×(1-FP_D);5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×(1-FP_S)+(0-FP_Cd)×(1-FP_D)。或者,5.1)将0-浮点源颜色与浮点源因子相乘,浮点目标因子与浮点目标颜色相乘,公式为(0-FP_Cs)×FP_S;5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为(0-FP_Cs)×FP_S+FP_Cd×FP_D;或者5.1)将0-浮点源颜色与1-浮点源因子相乘,1-浮点目标因子与浮点目标颜色相乘,公式为(0-FP_Cs)×(1-FP_S),FP_Cd×(1-FP_D);5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为(0-FP_Cs)×(1-FP_S)+FP_Cd×(1-FP_D)。进一步地,步骤5)执行完成后还进行下列操作:最大值混合:比较浮点目标颜色与步骤5)中浮点像素混合结果的大小,选择较大的值作为浮点像素混合结果。或者,步骤5)执行完成后还进行下列操作:最小值混合:比较浮点目标颜色与步骤5)中浮点像素混合结果的大小,选择较小的值作为浮点像素混合结果。进一步地,步骤4)中还包括Alpha扩展操作,获取浮点源因子和浮点目标因子后,将(As,Bs,Gs,Rs)替换为(As,As,As,As),(Ad,Bd,Gd,Rd)替换为(Ad,Ad,Ad,Ad);其中,As、Bs、Gs、Rs分别为浮点源因子的Alpha值、蓝色值、绿色值和红色值,Ad、Bd、Gd、Rd分别为浮点目标因子的Alpha值、蓝色值、绿色值和红色值。进一步地,步骤2)中的浮点源颜色Alpha值,具体采用外部输入的Alpha值或常数1。进一步地,步骤3)中的浮点目标颜色的Alpha值,具体采用外部输入的Alpha值。本专利技术与现有技术相比,具有以下技术效果:1.相同的混合方式下,本专利技术与现有软件图像混合技术相比,混合速度呈指数倍提高。2.本专利技术在支持现有混合方式的基础上,增加了最大值混合与最小值混合两种混合方式,减少了冗余图像的混合。3.本专利技术减少了混合流程,提高了混合速度,实现了乘加混合、减色混合、逆向减色混合、最大值混合以及最小值混合五种混合方式,解决了混合方式少的问题。4.本专利技术提出专用图像Alpha混合方法,可将此方法设置在处理芯片上,所以可采用硬件方式实现,解决了图像混合速度慢,混合方式少的问题。附图说明图1为本专利技术浮点像素数据处理流程图。具体实施方式以下结合附图和具体实施例对本专利技术的内容作进一步详细描述:本专利技术支持Alpha混合方法实现五种混合模式,如表1所示。表1混合模式类型表编号公式描述1Cs*S+Cd*D乘加混合2Cd*D‐Cs*S逆向减色混合3Cs*S‐Cd*D减色混合4min(Cs*S+Cd*D,Cd)最小值混合5max(Cs*S+Cd*D,Cd)最大值混合源因子与目标因子支持5种数据选择,如表2所示。表2混合因子支持的数据类型一种基于浮点像素数据的图像Alpha混合方法,包括以下步骤:1)获取浮点源颜色FP_Cs、浮点目标颜色FP_Cd以及颜色常量等像素信息,进行数据传递;2)进行1-FP_As操作,FP_As为浮点源颜色的Alpha值,浮点源颜色Alpha值选择具体为:当需要图像完全不透明时,选择常数1,当图像具有半透明属性时,选择外部输入Alpha值;3)选择1-FP_As与FP_Ad中较大的值作为下一步步骤数据选择的一种选项,公式为Max(1-FP_As,FP_Ad),FP_Ad为浮点目标颜色的Alpha值;4)在浮点源颜色、浮点目标颜色、步骤3)处理的结果、颜色常量以及常数0中进行混合因子数据选择,得到浮点源因子FP_S和浮点目标因子FP_D;步骤4)中还可包括Alpha扩展操作,获取浮点源因子和浮点目标因子后,将(As,Bs,Gs,Rs)替换为(As,As,As,As),(Ad,Bd,Gd,Rd)替换为(Ad,Ad,Ad本文档来自技高网...

【技术保护点】
1.一种基于浮点像素数据的图像Alpha混合方法,其特征在于,包括以下步骤:1)获取浮点源颜色FP_Cs、浮点目标颜色FP_Cd以及颜色常量;2)进行1‑FP_As操作,FP_As为浮点源颜色的Alpha值;3)选取1‑FP_As与FP_Ad中较大的值作为M,FP_Ad为浮点目标颜色的Alpha值;4)获取浮点源因子FP_S与浮点目标因子FP_D:从浮点源颜色、浮点目标颜色、颜色常量、步骤3)的M值以及常数0中选择一项作为浮点源因子FP_S;从浮点源颜色、浮点目标颜色、颜色常量、步骤3)的M值以及常数0中选择一项作为浮点目标因子FP_D;5)对浮点源颜色、浮点目标颜色、浮点源因子和浮点目标因子进行处理,获得浮点像素混合结果;6)进行浮点像素混合结果溢出判断:当浮点像素混合结果大于等于1时,将浮点像素混合结果替换为1;当浮点像素混合结果小于等于0时,将浮点像素混合结果替换为0;当浮点像素混合结果在0与1之间时,将浮点像素混合结果直接输出。

【技术特征摘要】
1.一种基于浮点像素数据的图像Alpha混合方法,其特征在于,包括以下步骤:1)获取浮点源颜色FP_Cs、浮点目标颜色FP_Cd以及颜色常量;2)进行1-FP_As操作,FP_As为浮点源颜色的Alpha值;3)选取1-FP_As与FP_Ad中较大的值作为M,FP_Ad为浮点目标颜色的Alpha值;4)获取浮点源因子FP_S与浮点目标因子FP_D:从浮点源颜色、浮点目标颜色、颜色常量、步骤3)的M值以及常数0中选择一项作为浮点源因子FP_S;从浮点源颜色、浮点目标颜色、颜色常量、步骤3)的M值以及常数0中选择一项作为浮点目标因子FP_D;5)对浮点源颜色、浮点目标颜色、浮点源因子和浮点目标因子进行处理,获得浮点像素混合结果;6)进行浮点像素混合结果溢出判断:当浮点像素混合结果大于等于1时,将浮点像素混合结果替换为1;当浮点像素混合结果小于等于0时,将浮点像素混合结果替换为0;当浮点像素混合结果在0与1之间时,将浮点像素混合结果直接输出。2.根据权利要求1所述的基于浮点像素数据的图像Alpha混合方法,其特征在于:步骤5)具体为,5.1)将浮点源颜色与浮点源因子相乘,浮点目标颜色与浮点目标因子相乘,公式为FP_Cs×FP_S,FP_Cd×FP_D;5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×FP_S+FP_Cd×FP_D;或者,5.1)将浮点源颜色与1-浮点源因子相乘,浮点目标颜色与1-浮点目标因子相乘,公式为FP_Cs×(1-FP_S),FP_Cd×(1-FP_D);5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×(1-FP_S)+FP_Cd×(1-FP_D)。3.根据权利要求1所述的基于浮点像素数据的图像Alpha混合方法,其特征在于:步骤5)具体为,5.1)将浮点源颜色与浮点源因子相乘,浮点目标因子与0-浮点目标颜色相乘,公式为FP_Cs×FP_S,(0-FP_Cd)×FP_D;5.2)将步骤5.1)中的乘法值相加作为浮点像素混合结果,公式为FP_Cs×FP_S+(0-FP_Cd)×FP_D;或者,5.1)将浮点源颜色与1-浮点源因子相乘,1-浮点目标因子与0-浮点目标颜色相乘,公式为FP_Cs×(1-FP_S),(0-FP_Cd)...

【专利技术属性】
技术研发人员:张丽果黄世远郝武杜慧敏曾泽沧
申请(专利权)人:西安邮电大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1