边缘抗锯齿的图形处理方法、系统、存储介质及装置制造方法及图纸

技术编号:24252899 阅读:59 留言:0更新日期:2020-05-23 00:17
本发明专利技术提供一种边缘抗锯齿的图形处理方法、系统、存储介质及装置,包括以下步骤:对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。本发明专利技术的一种边缘抗锯齿的图形处理方法、系统、存储介质及装置,节省了图形处理读取外部存储数据的带宽,大部分像素只需一次深度值的计算和测试及颜色等属性的处理,大大减少了需要处理的数据量。

Image processing method, system, storage medium and device of edge anti aliasing

【技术实现步骤摘要】
边缘抗锯齿的图形处理方法、系统、存储介质及装置
本专利技术涉及图像处理
,特别是涉及一种边缘抗锯齿的图形处理方法、系统、存储介质及装置。
技术介绍
在3D图形中,每个区域由像素组成,每段瞬间由帧组成,由于技术所限,我们没有足够的采样来表现出3D世界中的所有物品,在过渡的边缘就会产生锯齿和闪烁等失真现象,严重影响了画面的质量。在现有3D图形处理器的中,三角形边缘的像素由于分辨率的缘故,像素本身具有大小,会呈现出锯齿效应。为了消除锯齿效应,传统的多采样抗锯齿算法(MSAA:MultiSamplingAnti-Aliasing)做法是通过对每个像素提高采样率来解决。当一个像素只有部分采样点在当前三角形之内时,当前三角形对此像素点颜色的贡献与采样点的覆盖率成比例。由此三角形边界处的颜色为相邻三角形对应像素颜色的按比例的混合的效果,从而消除了三角形边缘的锯齿效应。多采样所做的正是不再使用单一采样点来决定三角形的覆盖范围,而是采用多个采样点。我们不再使用每个像素中心的采样点,取而代之的是4个子样本,用它们来决定像素的覆盖率。这意味着颜色缓冲的大小也由于每个像素的子样本的增加而增加了。这种方法的缺点是对于4倍采样像素抗锯齿来说每一个像素都要采样4次,从而在图形处理器的许多处理单元都需要从外部存储器读或写4倍的数据,在流水线的运算当中也需要4倍的处理量。对于嵌入式图形处理器来说,外部存储器访问带宽通常是有限的,4倍的读写带宽将使存储访问成为图形处理器性能的瓶颈,从而降低了图形处理器的性能;同时在流水线中需要4倍的运算也降低了图形处理器的吞吐率并增加了功耗。每个像素的绘制是由它是否完全位于多边形内部所决定的。如果它在多边形内部,则渲染它;否则不渲染。很显然,这是不准确的。一些像素恰好位于边缘上面。如果我们依据一个像素它位于多边形内部的区域的大小来决定它的渲染,那么获得的效果要好很多。最终像素的颜色就是多边形颜色和其外部的颜色的混合。你也许会认为这样会导致性能上的消耗,事实却是如此。但是我们可以针对每个像素使用多个采样来近似估计最终结果。多采样抗锯齿算法包括针对每个像素实施多个采样,然后对这些采样的结果进行混合来决定这个像素的最终值。采样点位于像素内部的不同位置。很显然,大多数的采样点会位于多边形内部,但是对于那些位于多边形边缘的像素,一些采样点会位于多边形外部。如果对每个像素进行4次采样,那么光栅化的频率将是不进行多重采样的4倍。对于每个像素,片断着色器执行一次,输出结果由4个采样点中位于多边形内部的数量决定。而快速采样抗锯齿算法(FSAA:FastSampleAnti-Alias)节省了系统带宽和处理开销,但是由于图像没有真正做到上采样处理,而是利用滤波器进行的缩放处理,所以抗锯齿的效果不是很理想。特别是在多种物体边缘交错的情况下,容易造成图像质量问题和物体的位置偏差。存在3D图形处理器芯片存储器读写带宽和像素处理量增加导致图形处理器性能降低的问题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种边缘抗锯齿的图形处理方法、系统、存储介质及装置,用于解决现有技术中大部分像素需四次深度值的计算和测试及颜色处理的,降低处理效率问题。为实现上述目的及其他相关目的,本专利技术提供一种边缘抗锯齿的图形处理方法,包括以下步骤:对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值;对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器;对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。于本专利技术的一实施例中,对像素进行深度值测试后还包括:对像素进行深度值测试后还包括:对像素进行颜色计算,对像素进行可编程着色处理。于本专利技术的一实施例中,还包括:将数据转换成显示器对应的格式传输至外部存储器。于本专利技术的一实施例中,对像素进行最终颜色处理前还包括进行纹理贴图。于本专利技术的一实施例中,对像素进行最终颜色处理之前还包括:对像素进行深度值测试,判断四个采样点是否被三角形全覆盖,若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值,若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。于本专利技术的一实施例中,在做深度值测试时,若深度值未存储至缓存中,则需从外部存储器读取数据,若像素块所包含的像素的一倍像素标志位全为第一值则解压所述像素块并根据所述像素块的比特数大小返回64B或32B的数据,再将所述数据展开为256B或128B存储至缓存;若像素块的所包含的像素的一倍像素标志位不全为第一值则解压所述像素块并根据所述像素块的比特数大小返回256B或128B的数据。于本专利技术的一实施例中,所述像素块的状态由一位十六进制表示;0表示4倍采样像素压缩失败;1表示4倍采样像素清除值;2,4,6,8,0xA,0xC,0xE表示4倍采样像素的7种压缩结果,3表示一倍像素32B压缩结果,5表示一倍像素压缩失败,0xF表示一倍像素清除值。为实现上述目的,本专利技术还提供一种边缘抗锯齿的图形处理系统,包括:深度计算模块、深度值测试模块和像素处理模块;所述深度计算模块用于对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值;所述深度值测试模块用于对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存;所述像素处理模块用于对像素进行最终颜色处理,判断所述四个采样本文档来自技高网
...

【技术保护点】
1.一种边缘抗锯齿的图形处理方法,其特征在于,包括以下步骤:/n对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值;/n对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器;/n对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。/n

【技术特征摘要】
1.一种边缘抗锯齿的图形处理方法,其特征在于,包括以下步骤:
对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值;
对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器;
对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。


2.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,对像素进行深度值测试后还包括:对像素进行颜色计算,对像素进行可编程着色处理。


3.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,还包括:将数据转换成显示器对应的格式传输至外部存储器。


4.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,对像素进行最终颜色处理前还包括进行纹理贴图。


5.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,对像素进行最终颜色处理之前还包括:对像素进行深度值测试,判断四个采样点是否被三角形全覆盖,若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值,若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。


6.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,在做深度值测试时,若深度值未存储至缓存中,则需从外部存储器读取数据,若像素块所包含的像素的一倍像素标志位全为第一值则解压所述像素块并根据所述像素块的比特数大小返回64B或32B的数据,再将所述数据展开为256B或128B存储至缓存;若像素块的所包含的像素的一倍像素标志位不全为第一值则解压所述像素块并根据所述像素块的比特数大小返回256B或12...

【专利技术属性】
技术研发人员:陈勇军张慧明迈克·蔡王平
申请(专利权)人:芯原微电子上海股份有限公司芯原控股有限公司
类型:发明
国别省市:上海;31

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

1