CN111192351B - 边缘抗锯齿的图形处理方法、系统、存储介质及装置 - Google Patents

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

Info

Publication number
CN111192351B
CN111192351B CN201811354719.XA CN201811354719A CN111192351B CN 111192351 B CN111192351 B CN 111192351B CN 201811354719 A CN201811354719 A CN 201811354719A CN 111192351 B CN111192351 B CN 111192351B
Authority
CN
China
Prior art keywords
pixel
sampling points
triangle
value
covered
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
Application number
CN201811354719.XA
Other languages
English (en)
Other versions
CN111192351A (zh
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.)
Verisilicon Holdings Co ltd
VeriSilicon Microelectronics Shanghai Co Ltd
Original Assignee
Verisilicon Holdings Co ltd
VeriSilicon Microelectronics Shanghai 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 Verisilicon Holdings Co ltd, VeriSilicon Microelectronics Shanghai Co Ltd filed Critical Verisilicon Holdings Co ltd
Priority to CN201811354719.XA priority Critical patent/CN111192351B/zh
Priority to JP2019205948A priority patent/JP7018420B2/ja
Priority to KR1020190146028A priority patent/KR102268446B1/ko
Priority to EP19209081.9A priority patent/EP3675044A1/en
Priority to US16/683,264 priority patent/US11055903B2/en
Publication of CN111192351A publication Critical patent/CN111192351A/zh
Application granted granted Critical
Publication of CN111192351B publication Critical patent/CN111192351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

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

Description

边缘抗锯齿的图形处理方法、系统、存储介质及装置
技术领域
本发明涉及图像处理技术领域,特别是涉及一种边缘抗锯齿的图形处理方法、系统、存储介质及装置。
背景技术
在3D图形中,每个区域由像素组成,每段瞬间由帧组成,由于技术所限,我们没有足够的采样来表现出3D世界中的所有物品,在过渡的边缘就会产生锯齿和闪烁等失真现象,严重影响了画面的质量。
在现有3D图形处理器的中,三角形边缘的像素由于分辨率的缘故,像素本身具有大小,会呈现出锯齿效应。为了消除锯齿效应,传统的多采样抗锯齿算法(MSAA:MultiSampling Anti-Aliasing)做法是通过对每个像素提高采样率来解决。当一个像素只有部分采样点在当前三角形之内时,当前三角形对此像素点颜色的贡献与采样点的覆盖率成比例。由此三角形边界处的颜色为相邻三角形对应像素颜色的按比例的混合的效果,从而消除了三角形边缘的锯齿效应。多采样所做的正是不再使用单一采样点来决定三角形的覆盖范围,而是采用多个采样点。我们不再使用每个像素中心的采样点,取而代之的是4个子样本,用它们来决定像素的覆盖率。这意味着颜色缓冲的大小也由于每个像素的子样本的增加而增加了。这种方法的缺点是对于4倍采样像素抗锯齿来说每一个像素都要采样4次,从而在图形处理器的许多处理单元都需要从外部存储器读或写4倍的数据,在流水线的运算当中也需要4倍的处理量。对于嵌入式图形处理器来说,外部存储器访问带宽通常是有限的,4倍的读写带宽将使存储访问成为图形处理器性能的瓶颈,从而降低了图形处理器的性能;同时在流水线中需要4倍的运算也降低了图形处理器的吞吐率并增加了功耗。
每个像素的绘制是由它是否完全位于多边形内部所决定的。如果它在多边形内部,则渲染它;否则不渲染。很显然,这是不准确的。一些像素恰好位于边缘上面。如果我们依据一个像素它位于多边形内部的区域的大小来决定它的渲染,那么获得的效果要好很多。最终像素的颜色就是多边形颜色和其外部的颜色的混合。你也许会认为这样会导致性能上的消耗,事实却是如此。但是我们可以针对每个像素使用多个采样来近似估计最终结果。
多采样抗锯齿算法包括针对每个像素实施多个采样,然后对这些采样的结果进行混合来决定这个像素的最终值。采样点位于像素内部的不同位置。很显然,大多数的采样点会位于多边形内部,但是对于那些位于多边形边缘的像素,一些采样点会位于多边形外部。如果对每个像素进行4次采样,那么光栅化的频率将是不进行多重采样的4倍。对于每个像素,片断着色器执行一次,输出结果由4个采样点中位于多边形内部的数量决定。
而快速采样抗锯齿算法(FSAA:Fast Sample Anti-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显示为本发明的边缘抗锯齿的图形处理方法于一实施例中的流程图;
图2显示为本发明的边缘抗锯齿的图形处理系统于一实施例中的结构示意图;
图3显示为本发明的边缘抗锯齿的图形处理系统于又一实施例中的结构示意图;
图4显示为本发明的边缘抗锯齿的图形处理系统于再一实施例中的结构示意图;
图5显示为本发明的边缘抗锯齿的图形处理装置于一实施例中的结构示意图。
元件标号说明
21 深度计算模块
22 深度值测试模块
23 像素处理模块
24 颜色计算模块
25 可编程着色处理模块
26 显示格式转换模块
27 存储访问控制模块
28 命令和顶点处理模块
29 光栅化模块
30 纹理贴图模块
51 处理器
52 存储器
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的边缘抗锯齿的图形处理方法、系统、存储介质及装置,基于判断像素的四个采样点是否被三角形全覆盖,进一步节省了图形处理读取外部存储数据的带宽,大部分像素只需一次深度值的计算和测试及颜色等属性的处理,大大减少了需要处理的数据量。可以减少15%到50%的像素处理,同时减少20%到50%的带宽消耗。本发明可以和图形处理器的压缩算法联合工作,进一步节省系统带宽。
如图1所示,于一实施例中,本发明的边缘抗锯齿的图形处理方法,包括以下步骤:
步骤S11、对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值。
于本发明一实施例中,所述对像素进行水平和垂直方向上同时进行二倍的采样处理,光栅化是将几何数据经过一系列变换后最终转换为像素,从而呈现在显示设备上的过程,光栅化的本质是坐标变换、几何离散化。对所述像素进行水平和垂直二倍的采样处理,并进行光栅化后获得四个采样点,判断所述由同一个像素采样获得的四个采样点是否被同一个三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,所述像素中心点位置的深度值为所述像素的物理中心点位置的深度值,所述像素具有一倍像素标志位,当所述四个采样点被三角形全覆盖时,将所述一倍像素标志位的值设置为第一值,具体地所述第一值为1;判断得到所述同一个像素采样获得的四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值,具体地所述第一值为0。
步骤S12、对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。
于本发明一实施例中,对像素进行深度值测试,若所述若四个采样点被三角形全覆盖或者所述四个采样点所属的像素的一倍像素标志位的值为第一值,则只进行像素中心深度值的比较,若比较通过则采用比较得到的中心深度值替换四个采样点的深度值。若四个采样点未被三角形全覆盖或者所述四个采样点所属的像素的一倍像素标志位的值为第二值,则进行每个采样点的深度值比较,比较通过则将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。
于本发明一实施例中,发送深度值的读请求到缓存。如果深度值的数据已在缓存当中则送到后级流水线做深度值比较,否则发送256B/128B的数据读请求到存储访问控制单元。存储访问控制单元首先检查对应像素块(缓存行)的状态。所述像素块包含多个像素。
于本发明一实施例中,所述像素块的状态由一位十六进制表示;0表示4倍采样像素压缩失败;1表示4倍采样像素清除值;2,4,6,8,0xA,0xC,0xE表示4倍采样像素的7种压缩结果,3表示一倍像素32B压缩结果,5表示一倍像素压缩失败,0xF表示一倍像素清除值。
于本发明一实施例中,在做深度值测试时,若深度值未存储至缓存中,则需从外部存储器读取数据,若像素块所包含的像素的一倍像素标志位全为第一值则解压所述像素块并根据所述像素块的比特数大小返回64B或32B的数据,再将所述数据展开为256B或128B存储至缓存,并将所述像素块的一倍像素标志设为第一值;若像素块的所包含的像素的一倍像素标志位不全为第一值则解压所述像素块并根据所述像素块的比特数大小返回256B或128B的数据,并将像素块的一倍像素标志设为第二值。
所述深度值数据返回缓存之后读取并进入后级流水线做深度值比较,根据比较结果更新深度值和该像素的一倍像素标志位。将更新后的深度值写回缓存,若所述像素块的每个像素的一倍像素标志位都为第一值,则用所述像素的一倍像素标志位更新所述像素块的一倍像素标志,即将所述像素块的一倍像素标志设为第一值,当某缓存行被替换出去之时,存储访问控制单元检查该像素块的一倍像素标志,如果为第一值则读取64B或32B数据进行压缩之后写出到外部存储器,如果为第二值则读取256B或128B数据进行压缩之后写到外部存储器。
于本发明一实施例中,对像素进行深度值测试后还包括:对像素进行颜色计算和对像素进行可编程着色处理。所述颜色计算为对所述像素颜色的计算,所述对像素进行可编程着色处理为对所述像素着色处理。
于本发明一实施例中,对像素进行颜色计算和对像素进行可编程着色处理之后,对像素进行最终颜色处理前还包括进行纹理贴图。将数据送入纹理贴图单元进行处理,进行纹理贴图时如需要访问控制单元从外部读取数据时,首先需要访问控制单元检查待读取的数据对应像素块的状态,如果该像素块的一倍像素标志为第一值,则存储访问单元将所述像素块解压之后根据每像素比特数返回64B或32B的数据给纹理贴图单元,纹理处理单元将数据展开为256B或128B存储至缓存并最终写到外部存储器。如果该像素块的一倍像素标志为第二值,则存储访问单元将所述像素块解压之后根据每像素比特数返回256B或128B的数据给纹理贴图单元。
步骤S13、对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。
于本发明一实施例中,对像素进行可编程着色处理之后,对像素进行最终颜色处理之前还包括:对像素进行深度值测试,判断四个采样点是否被三角形全覆盖,若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值,若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。在做深度值测试时,若深度值未存储至缓存中,则需从外部存储器读取数据,若像素块所包含的像素的一倍像素标志位全为第一值则解压所述像素块并根据所述像素块的比特数大小返回64B或32B的数据,再将所述数据展开为256B或128B存储至缓存,并将所述像素块的一倍像素标志设为第一值;若像素块的所包含的像素的一倍像素标志位不全为第一值则解压所述像素块并根据所述像素块的比特数大小返回256B或128B的数据,并将像素块的一倍像素标志设为第二值。
所述深度值数据返回缓存之后读取并进入后级流水线做深度值比较,根据比较结果更新深度值和该像素的一倍像素标志位。将更新后的深度值写回缓存,若所述像素块的每个像素的一倍像素标志位都为第一值,则用所述像素的一倍像素标志位更新所述像素块的一倍像素标志,即将所述像素块的一倍像素标志设为第一值,当某缓存行被替换出去之时,存储访问控制单元检查该像素块的一倍像素标志,如果为第一值则读取64B或32B数据进行压缩之后写出到外部存储器,如果为第二值则读取256B或128B数据进行压缩之后写到外部存储器。
于本发明一实施例中,对像素进行最终颜色处理包括判断是否需要读取目的像素的颜色值,若需要则发送所述像素颜色值的读请求至缓存,如果所述颜色值已在缓存当中则送到流水线做颜色混合操作,否则发送256B或128B的颜色值的读请求到存储访问控制单元。所述存储访问控制单元首先检查所述像素对应像素块包含的所有像素的一倍像素标志位是否为第一值。如果该像素块的所有像素的一倍像素标志位为第一值,则存储访问单元解压所述像素块之后根据每像素比特数返回64B或32B的数据给像素处理单元,像素处理单元将所述数据展开为256B或128B存储至缓存并将该像素块的一倍像素标志设为第一值。若像素块的所包含的像素的一倍像素标志位不全为第一值则解压所述像素块并根据所述像素块的比特数大小返回256B或128B的数据,并将像素块的一倍像素标志设为第二值。数据返回缓存之后被读取并进入后级流水线做颜色的混合处理。后级流水线对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。或者判断所述四个采样点所属的像素的一倍像素标志位是否为第一值,若为第一值则像素中心点位置的颜色复制到所述四个采样点,若为第二值则对所述像素的四个采样点进行颜色混合处理。像素颜色处理之后写回到缓存。当某缓存行被替换出去之时。存储访问控制单元检查该缓存行的一倍像素标志是否为第一值,如果为第一值则读取64B或32B数据进行压缩之后存储至外部存储器,如果为第二值则读取256B或128B数据进行压缩之后存储至外部存储器。
于本发明一实施例中,还包括:将数据转换成显示器对应的格式传输至外部存储器。由于内部数据的排列格式不同于显示器所能显示的线性格式。所以显示格式转换单元需要将处理好的数据再读取并转换成显示器对应的格式存储至外部存储器。显示格式转换单元发送256B或128B读请求给存储访问控制单元。存储访问控制单元首先检查对应像素块的一倍像素标志。如果该像素块的一倍像素标志为第一值则存储访问单元解压之后根据每像素比特数返回64B或32B的数据给显示格式转换单元,显示格式转换单元将数据展开为256B或128B写入缓存。否则存储访问单元解压后将返回256B或128B的数据给显示格式转换单元。于本发明一实施例中,256B数据对应的像素块为8x8 32bpp、16x8 16bpp、8x1616bpp、16x16 8bpp和8x4 64bpp。128B的数据对应像素块为8x4 32bpp、4x 8 32bpp、8x816bpp、8x16 8bpp、16x8 8bpp和4x 4 64bpp。
如图2所示,于一实施例中,本发明的边缘抗锯齿的图形处理系统,包括深度计算模块21、深度值测试模块22和像素处理模块23。
所述深度计算模块21用于对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值。
所述深度值测试模块22用于对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。
所述像素处理模块23用于对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。
如图3所示,于一实施例中,本发明的边缘抗锯齿的图形处理系统,除深度计算模块21、深度值测试模块22和像素处理模块23外还包括:颜色计算模块24、可编程着色处理模块25、显示格式转换模块26和存储访问控制模块27。
所述颜色计算模块24用于对所述像素颜色的计算。
所述可编程着色处理模块25用于对所述像素着色处理。
所述显示格式转换模块26用于将数据转换成显示器对应的格式传输至外部存储器。
所述存储访问控制模块27用于接收各个模块的读取指令并向外部存储器读取及传输数据。
其他模块功能与上一实施例相同在此不再赘述。
如图4所示,于一实施例中,本发明的边缘抗锯齿的图形处理系统,除深度计算模块21、深度值测试模块22、像素处理模块23、颜色计算模块24、可编程着色处理模块25、显示格式转换模块26和存储访问控制模块27外还包括:命令和顶点处理模块28、光栅化模块29和纹理贴图模块30。
所述命令和顶点处理模块28用于进行边缘抗锯齿的图形处理命令的启动和读取三角形的顶点信息。
所述光栅化模块29用于对像素进行水平和垂直二倍的采样处理后,进行光栅化,获得四个采样点。
所述纹理贴图模块30用于将数据进行处理纹理贴图处理。
其他模块功能与上一实施例相同在此不再赘述。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
于本发明一实施例中,本发明还包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一边缘抗锯齿的图形处理方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图5所示,于一实施例中,本发明的边缘抗锯齿的图形处理装置包括:处理器51和存储器52;所述存储器52用于存储计算机程序;所述处理器51与所述存储器52相连,用于执行所述存储器52存储的计算机程序,以使所述边缘抗锯齿的图形处理装置执行任一所述的边缘抗锯齿的图形处理方法。
具体地,所述存储器52包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
优选地,所述处理器51可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称装置)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明边缘抗锯齿的图形处理方法、系统、存储介质及装置,节省了图形处理读取外部存储数据的带宽,大部分像素只需一次深度值的计算和测试及颜色等属性的处理,大大减少了需要处理的数据量。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (11)

1.一种边缘抗锯齿的图形处理方法,其特征在于,包括以下步骤:
对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值;
对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器;
对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。
2.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,对像素进行深度值测试后还包括:对像素进行颜色计算,对像素进行可编程着色处理。
3.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,还包括:将数据转换成显示器对应的格式传输至外部存储器。
4.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,对像素进行最终颜色处理前还包括进行纹理贴图。
5.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,对像素进行最终颜色处理之前还包括:对像素进行深度值测试,判断四个采样点是否被三角形全覆盖,若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值,若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存并最终写到外部存储器。
6.根据权利要求1所述的边缘抗锯齿的图形处理方法,其特征在于,在做深度值测试时,若深度值未存储至缓存中,则需从外部存储器读取数据,若像素块所包含的像素的一倍像素标志位全为第一值则解压所述像素块并根据所述像素块的比特数大小返回64B或32B的数据,再将所述数据展开为256B或128B存储至缓存;若像素块的所包含的像素的一倍像素标志位不全为第一值则解压所述像素块并根据所述像素块的比特数大小返回256B或128B的数据。
7.根据权利要求6所述的边缘抗锯齿的图形处理方法,其特征在于,所述像素块的状态由一位十六进制表示;0表示4倍采样像素压缩失败;1表示4倍采样像素清除值;2,4,6,8,0xA,0xC,0xE表示4倍采样像素的7种压缩结果,3表示一倍像素32B压缩结果,5表示一倍像素压缩失败,0xF表示一倍像素清除值。
8.一种边缘抗锯齿的图形处理系统,其特征在于,包括:深度计算模块、深度值测试模块和像素处理模块;
所述深度计算模块用于对像素进行水平和垂直二倍的采样处理,并进行光栅化,获得四个采样点,判断所述四个采样点是否被三角形全覆盖;若所述四个采样点被三角形全覆盖则只计算像素中心点位置的深度值并复制所述像素中心点位置的深度值到所述四个采样点,并将所述四个采样点所属像素的一倍像素标志位设为第一值;若所述四个采样点未被三角形全覆盖则分别计算所述四个采样点的深度值,并将所述四个采样点的所属像素的一倍像素标志位设为第二值;
所述深度值测试模块用于对像素进行深度值测试,判断像素的四个采样点是否被三角形全覆盖;若四个采样点被三角形全覆盖则按照第一预设规则只进行像素中心深度值的比较并采用比较得到的中心深度值替换四个采样点的深度值;若四个采样点未被三角形全覆盖则按照第二预设规则进行每个采样点的深度值比较并将比较得到的四个采样点的深度值存储至缓存;
所述像素处理模块用于对像素进行最终颜色处理,判断所述四个采样点是否被三角形全覆盖,若被三角形全覆盖则将像素中心点位置的颜色复制到所述四个采样点,若未被三角形全覆盖则对所述像素的四个采样点进行颜色混合。
9.根据权利要求8所述的边缘抗锯齿的图形处理系统,其特征在于,还包括:颜色计算模块、可编程着色处理模块、显示格式转换模块和存储访问控制模块;
所述颜色计算模块用于对像素进行颜色计算;
可编程着色处理模块用于对像素进行可编程着色处理;
所述显示格式转换模块用于将数据转换成显示器对应的格式;
所述存储访问控制模块用于缓存深度值并最终存储至外部存储器。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7中任一项所述边缘抗锯齿的图形处理方法。
11.一种边缘抗锯齿的图形处理装置,其特征在于,包括:处理器和存储器;
所述存储器用于存储计算机程序;
所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述边缘抗锯齿的图形处理装置执行权利要求1至7中任一项所述的边缘抗锯齿的图形处理方法。
CN201811354719.XA 2018-11-14 2018-11-14 边缘抗锯齿的图形处理方法、系统、存储介质及装置 Active CN111192351B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811354719.XA CN111192351B (zh) 2018-11-14 2018-11-14 边缘抗锯齿的图形处理方法、系统、存储介质及装置
JP2019205948A JP7018420B2 (ja) 2018-11-14 2019-11-14 エッジをアンチエイリアスするグラフィックス処理方法、システム、記憶媒体及び装置
KR1020190146028A KR102268446B1 (ko) 2018-11-14 2019-11-14 에지 앤티 앨리어싱의 그래픽 처리 방법, 시스템, 저장매체 및 장치
EP19209081.9A EP3675044A1 (en) 2018-11-14 2019-11-14 Anti-aliasing graphic processing
US16/683,264 US11055903B2 (en) 2018-11-14 2020-02-10 Anti-aliasing graphic processing method, system, storage medium and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811354719.XA CN111192351B (zh) 2018-11-14 2018-11-14 边缘抗锯齿的图形处理方法、系统、存储介质及装置

Publications (2)

Publication Number Publication Date
CN111192351A CN111192351A (zh) 2020-05-22
CN111192351B true CN111192351B (zh) 2023-06-02

Family

ID=69147376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811354719.XA Active CN111192351B (zh) 2018-11-14 2018-11-14 边缘抗锯齿的图形处理方法、系统、存储介质及装置

Country Status (5)

Country Link
US (1) US11055903B2 (zh)
EP (1) EP3675044A1 (zh)
JP (1) JP7018420B2 (zh)
KR (1) KR102268446B1 (zh)
CN (1) CN111192351B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111798365B (zh) * 2020-06-12 2023-09-01 完美世界(北京)软件科技发展有限公司 深度抗锯齿数据读取方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000065540A1 (en) * 1999-04-22 2000-11-02 Broadcom Corporation Method and system for providing implicit edge antialiasing
JP2005346605A (ja) * 2004-06-07 2005-12-15 Matsushita Electric Ind Co Ltd アンチエイリアス描画方法およびこれを用いた描画装置
CN103136774A (zh) * 2011-12-05 2013-06-05 Arm有限公司 用于处理计算机图形的方法和装置
CN104463939A (zh) * 2014-11-28 2015-03-25 项天 用于图形渲染的反走样方法和系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2229027A1 (en) 1995-08-04 1997-02-20 Microsoft Corporation Method and system for rendering graphical objects to image chunks and combining image layers into a display image
CA2572967C (en) * 2004-07-08 2012-10-16 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode image processing
US7333119B1 (en) 2004-11-02 2008-02-19 Nvidia Corporation System and method for virtual coverage anti-aliasing
GB0426170D0 (en) 2004-11-29 2004-12-29 Falanx Microsystems As Processing of computer graphics
GB2431842B (en) * 2005-10-28 2008-02-06 Imagination Tech Ltd Full screen anti-aliasing with dynamic filters
JP2007133466A (ja) 2005-11-08 2007-05-31 Matsushita Electric Ind Co Ltd 擬似アンチエリアス描画装置およびそれを実現する集積回路
GB2496394B (en) * 2011-11-08 2014-12-17 Imagination Tech Ltd A method and system for implementing multisample antialiasing
US9330475B2 (en) * 2012-05-01 2016-05-03 Qualcomm Incorporated Color buffer and depth buffer compression
US9965876B2 (en) * 2013-03-18 2018-05-08 Arm Limited Method and apparatus for graphics processing of a graphics fragment
US9396515B2 (en) * 2013-08-16 2016-07-19 Nvidia Corporation Rendering using multiple render target sample masks
US9865074B2 (en) 2014-04-05 2018-01-09 Sony Interactive Entertainment America Llc Method for efficient construction of high resolution display buffers
US9978171B2 (en) * 2014-07-29 2018-05-22 Nvidia Corporation Control of a sample mask from a fragment shader program
US9412195B2 (en) 2014-09-22 2016-08-09 Intel Corporation Constant buffer size multi-sampled anti-aliasing depth compression
US9633452B2 (en) 2014-12-18 2017-04-25 Intel Corporation Resolving multi-sampled anti-aliasing buffers into single sampled buffers
GB2559042B (en) 2015-12-21 2019-06-05 Imagination Tech Ltd Allocation of tiles to processing engines in a graphics processing system
WO2017127363A1 (en) * 2016-01-18 2017-07-27 Advanced Micro Devices, Inc. Performing anti-aliasing operations in a computing system
US10068308B2 (en) * 2016-05-27 2018-09-04 Intel Corporation Lossy depth compression of multi-sample pixels
GB2574361B (en) * 2017-12-18 2021-03-24 Advanced Risc Mach Ltd Graphics Processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000065540A1 (en) * 1999-04-22 2000-11-02 Broadcom Corporation Method and system for providing implicit edge antialiasing
JP2005346605A (ja) * 2004-06-07 2005-12-15 Matsushita Electric Ind Co Ltd アンチエイリアス描画方法およびこれを用いた描画装置
CN103136774A (zh) * 2011-12-05 2013-06-05 Arm有限公司 用于处理计算机图形的方法和装置
CN104463939A (zh) * 2014-11-28 2015-03-25 项天 用于图形渲染的反走样方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴玉培 ; 王斌 ; .基于GPU的实时抗锯齿算法.现代计算机(专业版).2016,(第03期),全文. *

Also Published As

Publication number Publication date
JP7018420B2 (ja) 2022-02-10
CN111192351A (zh) 2020-05-22
JP2020087458A (ja) 2020-06-04
US11055903B2 (en) 2021-07-06
EP3675044A1 (en) 2020-07-01
KR20200056941A (ko) 2020-05-25
KR102268446B1 (ko) 2021-06-23
US20200160592A1 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
US20200294305A1 (en) Assigning primitives to tiles in a graphics processing system
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
US6825847B1 (en) System and method for real-time compression of pixel colors
US7932914B1 (en) Storing high dynamic range data in a low dynamic range format
CN105321199B (zh) 图形处理流水线及其操作方法与介质
US8269792B2 (en) Efficient scissoring for graphics application
US8605087B2 (en) Hybrid multisample/supersample antialiasing
US8059144B2 (en) Generating and resolving pixel values within a graphics processing pipeline
WO2021248705A1 (zh) 图像渲染方法、装置、计算机程序和可读介质
CN110415161B (zh) 图形处理方法、装置、设备及存储介质
US7804499B1 (en) Variable performance rasterization with constant effort
KR101009557B1 (ko) 하이브리드 멀티샘플/수퍼샘플 안티에일리어싱
US9519982B2 (en) Rasterisation in graphics processing systems
CN111080761B (zh) 一种渲染任务的调度方法、装置及计算机存储介质
KR20060107834A (ko) 3차원 그래픽 서브시스템들에서의 텍스쳐 맵 데이터의프로그램 가능 필터링을 위한 방법 및 메카니즘
CN113256477A (zh) 用于在图形处理系统中存储平铺信息的方法和平铺引擎
CN111192351B (zh) 边缘抗锯齿的图形处理方法、系统、存储介质及装置
CN104933752A (zh) 一种计算机系统、图形处理单元及其图形处理方法
WO2023202367A1 (zh) 图形处理器、系统、装置、设备及方法
US20200134894A1 (en) Processing of primitives in a graphics processor
US11645732B2 (en) Graphics processing unit having pixel shader, output merger, cache, memory and operation method thereof
CN113012026A (zh) 图形处理器及其操作方法
CN113012025A (zh) 图形处理器及其操作方法
US20220067871A1 (en) Graphics processing
CN114037795A (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
GR01 Patent grant
GR01 Patent grant