CN108701235B - 在计算系统中执行抗混叠操作 - Google Patents
在计算系统中执行抗混叠操作 Download PDFInfo
- Publication number
- CN108701235B CN108701235B CN201780010963.1A CN201780010963A CN108701235B CN 108701235 B CN108701235 B CN 108701235B CN 201780010963 A CN201780010963 A CN 201780010963A CN 108701235 B CN108701235 B CN 108701235B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- sub
- processor
- pixels
- 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
- 238000005070 sampling Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000015654 memory Effects 0.000 claims abstract description 36
- 238000012935 Averaging Methods 0.000 claims abstract description 25
- 238000012805 post-processing Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000001914 filtration Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 45
- 230000005484 gravity Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 58
- 239000000523 sample Substances 0.000 description 47
- 238000009877 rendering Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 239000004744 fabric Substances 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
-
- 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
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/12—Indexing scheme for image data processing or generation, in general involving antialiasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
公开了用于执行混合式抗混叠操作的系统、设备和方法。混合式抗混叠解析操作将多重采样抗混叠和后处理抗混叠组合,以便以在计算方面有效的方式生成更高质量的图像。在一个实施方案中,处理器检测对存储在存储器中的图像执行抗混叠解析操作的请求。响应于检测到所述请求,所述处理器将所述图像的尺寸扩展并且随后利用后处理抗混叠滤波器对所述图像进行滤波。在对所述图像进行滤波之后,所述处理器对所述图像执行平均,形成所述抗混叠解析操作的结果。将所述图像的尺寸扩展涉及将所述图像的子像素转换成规则像素。在对所述图像进行滤波之前,所述处理器还可旋转所述图像以将所述子像素对准成垂直和水平网格图案。还预期处理器的实施方案,所述处理器被配置成:基于旋转网格来生成正被渲染的图像的每个像素的多个子像素采样坐标,其中为所述旋转网格指定旋转量;对由正被多个执行单元渲染的所述图像的每个像素内的所述多个子像素采样坐标指示的子像素位置进行采样;并且将所述子像素位置的值存储在存储器中。
Description
背景
优先权信息
本申请要求2016年1月18日提交的标题为“用于实时3D图形的高级多重采样技术(Advanced Multisampling Techniques For Realtime 3D Graphics)”的美国临时申请序列号62/279,889的优先权权益,其发明人为Evgene Fainstain,该临时申请的全部内容通过引用结合在此,如同在本文中充分且完整地阐述一般。
相关技术描述
三维(3D)渲染是计算密集型过程,并且为了产生逼真(即,电影那样)高质量的实时渲染,需要大量的计算能力。3D硬件制造商不断地创造出更强大的装置(例如,图像处理单元(GPU))来执行渲染任务。GPU是被配置成执行图形处理任务的复杂集成电路。例如,GPU可以执行诸如视频游戏应用等终端用户应用所要求的图形处理任务。GPU可以是离散装置或者可以与诸如中央处理单元(CPU)等另一处理器被包括在相同装置中。
不幸的是,现在的实时3D渲染硬件不够强大,无法正确地实时模拟物理世界。例如,类似光线追踪的算法在计算方面太昂贵,无法实时地实施。因此,使用各种效率提高技术来产生看起来足够真实的图像,但图像并不是完全物理准确的。3D生成图像的常见问题是固有的“拉链”效应(即,“锯齿”或“混叠”)。直到现在,已被开发来最小化渲染图像的这些混叠效应的技术是无效的和/或在计算方面太昂贵。
实施方案概述
预期用于执行抗混叠相关操作的系统和方法的各种实施方案。在一个实施方案中,预期一种系统,所述系统至少包括存储器和处理器。处理器被配置成检测对存储在存储器中的第一图像执行抗混叠解析操作的请求。第一图像包括每像素多个子像素样本并且具有第一组尺寸。响应于检测到请求,处理器被配置成:
将第一图像的尺寸扩展以创建第二图像,所述第二图像包括每像素单个样本并且具有大于第一组尺寸的第二组尺寸;对第二图像执行后处理抗混叠,以创建具有第二组尺寸的第三图像;并且减小第三图像的尺寸以创建第四图像,其中第四图像是抗混叠解析操作的结果。在各种实施方案中,执行后处理抗混叠是在平均之前执行并且包括基于周围像素的值对像素进行滤波。在各种实施方案中,将第一图像的尺寸扩展包括将第一图像的子像素转换成第二图像的规则像素。此外,在一些实施方案中,通过扩展并旋转第一图像来创建第二图像。在一些实施方案中,处理器被配置成旋转第一图像,以将子像素对准成第二图像内的垂直和水平网格图案。另外的实施方案包括处理器将来自第一图像的多个三角形部分重新布置到第二图像内的新位置,并且将第一图像的任何剩余部分重新布置到第二图像内的介于已经重新布置的多个三角形部分之间的新位置。也预期用于执行上述功能的方法。
还预期包括存储器和多个执行单元的处理器。在此类实施方案中,处理器被配置成:基于旋转网格来生成正被渲染的图像的每个像素的多个子像素采样坐标,其中为旋转网格指定旋转量;对由正被多个执行单元渲染的图像的每个像素内的多个子像素采样坐标指示的子像素位置进行采样;并且将子像素位置的值存储在存储器中。在一些实施方案中,当生成多个子像素采样坐标时,处理器被配置成计算与对角地穿过图像的给定位置的第一组平行线对应的位置,并且计算与垂直于第一组平行线的第二组平行线对应的位置,其中第一组平行线和第二组平行线形成旋转网格。此外,在各种实施方案中,处理器被配置成将旋转网格移位以致使第一组平行线和第二组平行线的顶点具有在每个对应像素的中心的重心,并且指定多个子像素采样坐标与第一组平行线和第二组平行线的顶点在图像的像素内的位置重合。在各种实施方案中,给定的位置是像素的拐角或像素的中心。此外,在各种实施方案中,预期执行以上一个或多个确保满足以下条件中的一个或多个的实施方案:子像素采样坐标水平地且垂直地规则间隔开,在横越图像的给定水平或垂直线上只存在每像素一个子像素采样位置,以及第一组平行线中的每条线的斜率等于两个互质数之比。也预期用于执行上述功能的方法。
附图简述
通过结合附图参考以下描述,可以更好地理解本文所述方法和机制的优点,在附图中:
图1是计算系统的一个实施方案的框图。
图2是图形处理流水线的一个实施方案的框图。
图3示出了根据一个实施方案的子像素采样图案的图解。
图4示出了根据一个实施方案的5×MSAA采样图案的图解。
图5示出了根据一个实施方案的10×MSAA子像素采样图案的图解。
图6示出了根据一个实施方案的13×MSAA子像素采样图案的图解。
图7示出了根据一个实施方案的17×MSAA子像素采样图案的图解。
图8示出了根据一个实施方案的采样图案的图解,其中每原始像素8个子像素采样点。
图9示出了根据各种实施方案的像素共享图案的图解。
图10示出了混合式抗混叠方案的一个实施方案的图解。
图11示出了混合式抗混叠方案的另一实施方案的图解。
图12示出了用于减小扩展图像的大小的技术的图解。
图13是示出了用于执行混合式抗混叠解析操作的方法的一个实施方案的概括流程图。
图14是示出了用于在扩展和旋转图像时重新布置图像部分的方法的一个实施方案的概括流程图。
图15是示出了用于在扩展和旋转图像时重新布置图像部分的方法的另一实施方案的概括流程图。
图16是示出了用于对图像的子像素位置进行采样的方法的一个实施方案的概括流程图。
图17是示出了用于生成正被渲染的图像的每个像素的多个子像素采样坐标的方法的一个实施方案的概括流程图。
图18是示出了用于生成子像素采样坐标的方法的一个实施方案的概括流程图。
图19是示出了用于执行抗混叠操作的方法的一个实施方案的概括流程图。
图20是示出了用于生成采样网格的方法的一个实施方案的概括流程图。
实施方案详述
在以下描述中,阐述了许多具体细节以提供对本文中呈现的方法和机制的透彻理解。然而,本领域的一般技术人员应认识到,可以在没有这些具体细节的情况下实践各种实施方案。在一些情况下,并未详细地展示公知的结构、部件、信号、计算机程序指令以及技术,以免模糊本文中描述的方法。应理解,为说明的简洁和清楚起见,附图中所示的元件不一定按比例绘制。例如,一些元件的尺寸可以相对于其他元件放大。
公开了用于在处理器上执行混合式抗混叠操作的各种系统、设备、方法以及计算机可读介质。在一个实施方案中,处理器至少包括存储器和多个执行单元。在一个实施方案中,处理器是GPU。在其他实施方案中,处理器是各种其他类型的处理器(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核处理器)中的任一个。处理器检测对存储在存储器中的第一图像执行抗混叠解析操作的请求。响应于检测到请求,处理器将第一图像的尺寸扩展以创建第二图像、利用后处理抗混叠滤波器对第二图像进行滤波以创建第三图像并且随后执行第三图像的平均以创建第四图像,其中第四图像是抗混叠操作的结果。将第一图像的尺寸扩展涉及将第一图像的子像素转换成第二图像的规则像素。处理器还可以旋转第一图像,以将子像素对准成第二图像内的垂直和水平网格图案。
在一个实施方案中,处理器将来自第一图像的多个三角形部分重新布置到第二图像内的新位置,以便减少存储和/或处理第二图像的未使用区域的存储器开销,其中未使用区域是作为旋转第一图像的结果而被创建的。处理器也将第一图像的任何剩余部分重新布置到第二图像内的介于已经重新布置的多个三角形部分之间的新位置。在一个实施方案中,处理器将第一图像的第一三角形部分重新定位到第二图像的右侧。处理器还将第一图像的第二三角形部分重新定位到第二图像的左侧。更进一步,处理器将第一图像的第三部分重新定位在第二图像内的第一三角形部分与第二三角形部分之间。
现在参考图1,示出了计算系统100的一个实施方案的框图。在一个实施方案中,计算系统100包括耦合到存储器150的片上系统(SoC)105。SoC 105也可以被称为集成电路(IC)。在一个实施方案中,SoC 105包括处理单元115A至115N、输入/输出(I/O)接口110、共享缓存120A至120B、构架(fabric)125、图形处理单元(GPU)130以及存储器控制器140。SoC105还可以包括图1中未示出的其他部件,以避免模糊附图。处理单元115A至115N代表任何数量和类型的处理单元。在一个实施方案中,处理单元115A至115N是中央处理单元(CPU)内核。在另一实施方案中,处理单元115A至115N中的一个或多个是其他类型的处理单元(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP))。处理单元115A至115N耦合到共享缓存120A至120B和构架125。
在一个实施方案中,处理单元115A至115N被配置成执行特定指令集架构(ISA)的指令。每个处理单元115A至115N包括一个或多个执行单元、缓存存储器、调度器、分支预测电路等。在一个实施方案中,处理单元115A至115N被配置成执行诸如操作系统等系统100的主控软件。一般而言,在使用期间由处理单元115A至115N执行的软件可以控制系统100的其他部件,以实现系统100的期望功能。处理单元115A至115N还可以执行其他软件,诸如应用程序。
GPU 130至少包括子像素坐标表135和计算单元145A至145N,所述计算单元代表用于图形或通用处理的任何数量和类型的计算单元。子像素坐标表135是可编程表,其存储正被GPU 130渲染的图像的像素内的子像素采样位置的坐标。应注意,术语“子像素采样位置”被定义为用于对正被渲染的图像的给定像素内的参数(例如,颜色、深度、模板、透明度)的值进行采样的多个位置。术语“子像素采样位置”指示正被渲染的图像的每个像素内将存在多个采样位置。各种不同类型的子像素采样图案中的任一个可以用在不同的实施方案中。子像素采样图案被生成并编程到子像素坐标表135中,以指定在处理给定图像时应对像素内的哪些位置进行采样。
计算单元145A至145N也可以被称为“着色器阵列”、“着色器引擎”、“着色器单元”、“单指令多数据(SIMD)单元”或者“SIMD核”。每个计算单元145A至145N包括多个执行单元。GPU 130耦合到共享缓存120A至120B和构架125。在一个实施方案中,GPU 130被配置成执行图形流水线操作,诸如绘制命令、像素操作、几何计算以及用于将图像渲染到显示器的其他操作。在另一实施方案中,GPU 130被配置成执行与图形无关的操作。在又一实施方案中,GPU 130被配置成执行图形操作和非图形相关操作两者。
在一个实施方案中,GPU 130被配置成检测对第一图像执行抗混叠解析操作的请求。在一个实施方案中,术语“解析操作”被定义为将子像素采样表面转换成具有每像素一个样本的表面。响应于检测到请求,GPU 130将第一图像的尺寸扩展以创建第二图像、利用后处理抗混叠滤波器对第二图像进行滤波以创建第三图像并且随后执行第三图像的平均以创建第四图像,其中第四图像是抗混叠操作的结果。将第一图像的尺寸扩展涉及将第一图像的子像素转换成第二图像的规则像素。GPU 130还可以旋转第一图像,以将子像素对准成第二图像内的垂直和水平网格图案。
I/O接口110耦合到构架125,并且I/O接口110代表任何数量和类型的接口(例如,外围部件互连(PCI)总线、扩展PCI(PCI-X)、PCIE(PCI Express)总线、吉比特以太网(GBE)总线、通用串行总线(USB))。各种类型的外围装置可以耦合到I/O接口110。此类外围装置包括(但不限于)显示器、键盘、鼠标、打印机、扫描仪、操纵杆或其他类型的游戏控制器、媒体记录装置、外部存储装置、网络接口卡等等。
SoC 105耦合到存储器150,所述存储器包括一个或多个存储器模块。存储器模块中的每个包括安装在其上的一个或多个存储器装置。在一些实施方案中,存储器150包括安装在主板上的一个或多个存储器装置或也安装了SoC 105的其他载体。在一个实施方案中,存储器150用于实施随机存取存储器(RAM),以便在操作期间与SoC 105一起使用。所实施的RAM可以是静态RAM(SRAM)、动态RAM(DRAM)、电阻式RAM(ReRAM)、相变RAM(PCRAM)或者任何其他易失性或非易失性RAM。用来实施存储器150的DRAM的类型包括(但不限于)双倍数据速率(DDR)DRAM、DDR2 DRAM、DDR3 DRAM等等。尽管图1中未明确地示出,但SoC 105还可以包括在处理单元115A至115N和/或计算单元145A至145N内部的一个或多个缓存存储器。在一个实施方案中,SoC 105包括由处理单元115A至115N和计算单元145A至145N使用的共享缓存120A至120B。在一个实施方案中,缓存120A至120B是包括缓存控制器的缓存子系统的一部分。
应注意,字母“N”在本文中显示在各种结构旁边时旨在一般指示地用于所述结构的任何数量的元件(例如,任何数量的处理单元115A至115N),包括一个。此外,图1内使用字母“N”的不同标号(例如,处理单元115A至115N和计算单元145A至145N)并不意图指示提供相同数量的不同元件(例如,处理单元115A至115N的数量可以不同于计算单元145A至145N的数量)。
在各种实施方案中,计算系统100可以是计算机、膝上型计算机、移动装置、服务器,或者各种其他类型的计算系统或装置中的任一个。应注意,计算系统100和/或SoC 105的部件的数量可以因实施方案而变化。每个部件/子部件的数量可以比图1所示的数量更多或更少。例如,在另一实施方案中,SoC 105可以包括耦合到多个存储器的多个存储器控制器。还应注意,计算系统100和/或SoC 105可以包括图1中未示出的其他部件。此外,在其他实施方案中,计算系统100和SoC 105可以采用图1所示之外的其他方式构造。
现在转到图2,示出了图形处理流水线200的一个实施方案的框图。在一个实施方案中,图形处理流水线200由(图1的)GPU 130实施。在其他实施方案中,图形处理流水线200可以使用其他类型的处理硬件(例如,FPGA、ASIC、DSP、多核处理器)来实施。一般而言,图形处理流水线200可以使用软件和/或硬件的任何合适的组合来实施。流水线架构可以通过将操作分成多个阶段而更有效地执行长延时操作,其中每个阶段的输出馈入后续流水线阶段的输入。流水线200中的着色器单元205A至205N可以包括顶点着色器、几何着色器、片段着色器、像素着色器和/或耦合到缓存/存储器210的一个或多个其他着色器。缓存/存储器210代表任何类型和数量的缓存或存储器装置。流水线200中示出的着色器单元205A至205N中的一个或多个被配置成执行混合式抗混叠解析操作,如下文进一步详细地描述。这个着色器单元接收图像、纹理或其他输入像素数据,并且着色器单元对图像执行混合式抗混叠解析操作,以产生抗混叠图像作为输出。根据实施方案,抗混叠图像可以被驱动到显示器、写回到存储器或者由一个或多个额外的着色器单元处理。
现在参考图3,示出了子像素采样图案的一个实施方案的图解。图3的顶部示出了图解305,其中图解305包括4×4像素的正方形网格,其中水平线和垂直线指示像素的边界。网格中的每个正方形表示源图像的像素。在一个实施方案中,通过穿过像素的拐角绘制斜率为2×1的第一组线来生成子像素采样图案。应注意,斜率为2×1的第一组线平行于有两像素宽且一像素高的矩形的对角线。如本文中使用,根据传统数学的斜率定义,术语“2×1的斜率”对应于-1/2的斜率。一般而言,当一组线被描述为具有N×M的斜率时,这些线的传统斜率定义将是-M/N。随后,垂直于第一组线绘制出第二组线,其中第一组线和第二组线在4×4像素的正方形网格上形成旋转网格。子像素采样位置被选择为与旋转网格的第一组线和第二组线的顶点(即,交叉点)重合。应注意,尽管本文中的论述描述“绘制”线来形成采样图案,但实际上不必绘制旋转网格的第一组和第二组平行线来生成子像素采样图案。相反,可以在数学上确定线(例如,计算线的等式),以便生成子像素采样图案。
随后,在一个实施方案中,如图解310所示,旋转网格被移位以导致每个原始像素的子像素采样位置的重心在原始像素的中心。例如,在一个实施方案中,网格被移位,使得(X1+X2+…XN)/N的值等于X坐标的原始像素的中心,并且将类似的等式用于子像素的Y坐标,其中N等于子像素样本的数量。应注意,在其他实施方案中可以省略这个将旋转网格移位以导致每个原始像素的子像素采样位置的重心在原始像素的中心的步骤。在图解310中,子像素采样位置由第一组线和第二组线的交叉点处的圆指示。在另一实施方案中,通过穿过原始像素的中心绘制旋转的规则采样网格并且然后任选地移位来生成子像素采样图案。当穿过像素的中心绘制出网格时,那么子像素样本中的一个将在像素的中心,子像素样本的重心将在像素的中心,并且子像素采样图案将围绕像素的中心对称。例如,如果像素的中心具有坐标(0,0),那么对于在坐标(a,b)处的子像素样本而言,在坐标(-a,-b)处将存在另一子像素样本。单个像素的子像素采样位置在图解315中示出。
在一个实施方案中,图解310中示出的子像素采样图案用来生成底层图像的子像素采样坐标。这些坐标随后用来确定在正由处理器(例如,GPU)渲染的图像内对哪些子像素位置进行采样。在一个实施方案中,根据笛卡尔坐标系来生成坐标,其中每个采样点由一对数值坐标指定。在一个实施方案中,数值坐标被存储为浮点(例如,单精度浮点、双精度浮点)值。在其他实施方案中,使用其他类型的表示(例如,固定点、整数)来存储数值坐标。
对单个像素内的多个单独位置进行采样的技术可以被称为“子像素采样”或“多重采样抗混叠”(MSAA)。在一些情况下,对单个像素内的多个单独位置进行采样可以被称为“子采样”。应理解,在这个背景下的“子采样”与在术语“子采样”用于描述信号处理技术时具有不同的含义。在信号处理的领域内,术语“子采样”被定义为降低信号的采样率。在本公开内,术语“子像素采样”将用来描述对单个像素内的多个单独位置进行采样,以避免任何混淆。
例如,图解315中示出的图案可以被称为5×MSAA采样图案。这个图案是通过绘制具有2×1斜率的第一组线来构造的,其中穿过原始像素正方形网格绘制的第一组线中的每条线横越每个垂直像素的两个水平像素。随后,垂直于第一组线绘制出第二组线,其中线的交叉点确定子像素采样位置,从而导致每像素2^2+1^2=5个子像素样本。这个采样图案可以移位、旋转90度并且成镜像。这个采样图案和任何调整可以用于时间抗混叠的各种应用。
现在转到图4,示出了5×MSAA采样图案的图解400。图4的论述是关于图3的论述的延续。图4的图解400中示出的点表示用于确定计算图像的各种参数(例如,颜色、深度、模板、透明度)中的任一个的值所在的位置的子像素采样位置。如图解400所示,绘制成与这些子像素采样位置相交的垂直线和水平线说明5×MSAA采样图案满足规则的矩形网格条件,因为样本水平地且垂直地规则间隔开。5×MSAA采样图案还满足每水平线/垂直线一个样本的条件,因为在横越图像的给定水平或垂直线上每像素仅采样一个子像素位置。满足每水平线/垂直线一个样本的条件可以通过允许在图像内的子像素级别改进垂直线和水平线的表示来增强图案的抗混叠性质。
5×MSAA采样图案在多个方面优于标准的2×2旋转网格超级采样(RGSS)图案。例如,5×MSAA图案为水平线和垂直线产生四个中间色,而不是三个。5×MSAA采样图案还确保整个图像的均匀子像素采样。5×MSAA采样图案可以移位,包括越过像素边界移位,并且成镜像,同时仍保留规则网格质量和图案的每水平/垂直线一个样本的质量。在实施各种时间抗混叠技术时,5×MSAA采样图案可以是有利的。
现在参考图5,示出了10×MSAA子像素采样图案的图解。以与图3所示的图解305、310和315类似的方式生成图解505、510和515。图解505、510和515中示出的10×MSAA采样图案由具有3×1斜率的第一组线和垂直于第一组线的第二组线构造而成,从而导致图像的每个像素中有3^2+1^2=10个样本。
为了创建图解505,首先生成图像的原始像素的正方形像素网格。所述网格包括在源图像的像素的边界处的垂直线和水平线。随后,以斜率为–1/3的穿过像素网格的拐角绘制出第一组线,其中每条线穿过每个垂直像素的三个水平像素。随后,穿过像素网格的拐角绘制出垂直于第一组线的第二组线。第二组线具有斜率3,其中每条线穿过每个水平像素的三个垂直像素。第一组线和第二组线可以被称为旋转网格。
接下来,如图解510所示,将旋转网格移位,以便第一组线和第二组线在每个原始像素内的顶点(即,交叉点)具有在原始像素的中心处的重心。随后,将顶点的坐标编程到图形硬件(例如,GPU)中,以便用作图像的子像素采样坐标。图解515示出了单个像素的子像素采样位置。在另一实施方案中,穿过网格的像素的中心绘制出第一组线和第二组线,而不是穿过像素网格的拐角。
现在转到图6,示出了13×MSAA子像素采样图案的图解。以与图3所示的图解305、310和315和图5所示的图解505、510和515类似的方式生成图解605、610和615。图解605和610中示出的13×MSAA采样图案是基于具有3×2斜率的线构造而成,从而导致图像的每个像素中有3^2+2^2=13个样本。图解615示出了单个像素的13个子像素样本位置。
现在参考图7,示出了17×MSAA子像素采样图案的图解。以与先前图解类似的方式生成图解705、710和715。图解705和710中示出的17×MSAA采样图案是基于具有4×1斜率的线构造而成,从而导致图像的每个像素中有4^2+1^2=17个样本。图解715示出了单个像素的17个子像素样本位置。
还可以采用图3和图5至图7所示的图案类似的方式生成额外的图案。在一个实施方案中,当生成额外的图案时,斜率生成数(例如,3×1)是互质数(互素),以便图案满足每水平/垂直线一个样本的条件。换言之,斜率生成数之间的最大公约数应为一。例如,满足这个条件的额外图案选项包括具有25个子像素样本每像素(sspp)的4×3、具有26个sspp的5×1、具有29个sspp的5×2、具有34个sspp的5×3、具有41个sspp的5×4、具有65个sspp的6×1等。
现在转到图8,示出了具有每原始像素8个子像素采样点的采样图案的图解。图解805和810说明具有非互质数斜率生成数2×2的子像素采样图案。因此,图解805和810中示出的8×MSAA采样图案是基于具有2×2斜率的线构造而成。得到的图案包括每像素8个子像素样本,如图解815所示。对于此8个子像素采样图案,每个垂直线和水平线上存在每像素2个样本。因此,当对显示在源图像中的水平线和竖直线进行抗混叠时,将仅生成3个中间色调,这小于由图3所示的5×MSAA图案生成的4个中间色调。然而,可以有效地实施8×MSAA图案以用于混合式抗混叠解析操作,如下文将进一步详细地描述。可以从非旋转矩形网格4×2中生成8×MSAA图案的另一版本,其中也能够有效地实施这个另一版本以用于混合式抗混叠解析操作。
现在参考图9,示出了像素共享图案的图解。图3和图5至图8所示的先前描述的图案可以以一定方式移位,使得一个子像素采样位置落入源像素的拐角或中心。例如,图解905示出了基于斜率2×1的5×子像素采样图案,其中子像素采样位置移位以便位置中的一个与源像素的右下角重合。图案的移位允许像素的右下角上的子像素位置在四个相邻像素之间共享。图解910说明5×子像素采样图案的替代配置。图解910说明5×子像素采样图案移位,以便子像素中的一个与像素的中心对准。
图解915说明斜率3×1的10×子像素采样图案,其中子像素采样图案移位以便子像素采样位置中的一个落在像素的右下角上。图解920说明斜率3×2的13×子像素采样图案,其中子像素采样图案移位以便子像素采样位置中的一个落在像素的右下角上。图解925说明斜率4×1的17×子像素采样图案,其中子像素采样图案移位以便子像素采样位置中的一个落在像素的右下角上。这些采样图案中的每个允许子像素采样位置中的一个在四个相邻像素之间共享。因此,在解析操作期间将访问四个片段,而不是一个片段。
在一些实施方案中,就实际硬件实施而言,创建含有每片段5个、10个、13个或17个样本的表面可能不是最佳的。然而,可以实施不同类型的变通方案,允许在现有或未来的硬件上有效地实施具有每片段5个、10个、13个或17个样本的这些图案。例如,8×覆盖采样抗混叠(CSAA)图案或4×增强质量抗混叠(EQAA)图案各自具有八个覆盖样本。在一个实施方案中,可以实施8×CSAA图案或4×EQAA图案,以生成图3的图解310和315所示的5×子像素采样图案。对于8×CSAA图案或4×EQAA图案,将额外的三个覆盖样本放置成与5×图案的前五个位置中的三个重合。这些额外的子像素样本随后在渲染流水线的较早阶段被深度剔除,并且因此将不会浪费渲染时间。或者,硬件被配置成不计算不必要的子像素样本。通过使用现有的16×子像素采样模式(例如,16×CSAA、16×五点形CSAA(QCSAA)、16×EQAA)来支持10×或13×子像素采样图案,可以实现这种同样的方法。
在另一实施方案中,当实施5×子像素采样图案时,将两个表面用于存储,其中一个表面实施4×子像素采样图案并且另一表面实施1×子像素采样图案。以类似的方式,可以通过实施8×子像素采样图案表面和2×子像素采样图案表面来利用10×子像素采样图案。此外,13×子像素采样图案可以由12×子像素采样图案表面和1×子像素采样图案表面组成,或者13×子像素采样图案可以由8×子像素采样图案表面、4×子像素采样图案表面以及1×子像素采样图案表面组成。而且,可以使用16×子像素采样图案表面和1×子像素采样图案表面来实施17×子像素采样图案。
在又一实施方案中,可以从图案中省略子像素采样图案中的样本中的一个。例如,对于17×子像素采样图案,可以仅计算16个子像素样本位置。省略采样位置可以导致规则网格图案中出现孔,但在解析操作期间,这些孔可以以编程方式内插。在一个实施方案中,GPU能够以编程方式改变子像素采样图案,但样本的位置可以存在特定的粒度。例如,在一个实施方案中,可以获得像素内部的16×16可能位置的网格。因此,本文中描述的图案中的一些也许不能以绝对的处理来实施,但可以实施样本位置被调整到最近网格点的近似图案并产生合适的结果。
现在转到图10,示出了混合式抗混叠方案的一个实施方案的图解。一般而言,通常存在两类抗混叠算法:多重采样抗混叠和后处理抗混叠。这两种算法通常是互相排斥的。后处理抗混叠的一次执行可以应用于从多重采样的图像解析来的图像。通常,得到的图像将变得模糊并且可能比之前更糟糕。然而,本文中描述的用于实施混合式抗混叠方案的技术是现有技术的改进。
在一个实施方案中,混合式抗混叠方案以多重采样的图案开始,其中子像素采样图案在图案内生成规则网格。可以利用先前描述的子像素采样图案(例如,5×、10×、13×、17×)中的任一个。接下来,将多重采样的图像扩展成子像素采样分辨率下的图像。随后,使用后处理抗混叠算法对扩展的图像进行滤波。最后,将滤波后的扩展图像平均回到原始分辨率下的图像。这种方法可以在当前的图形处理硬件(例如,GPU)上实施。例如,子像素采样位置可以被编程在GPU中,以支持新的子像素采样图案。这种方法对旋转和非旋转的网格图案有效。在一些实施方案中,这种方法可以与时间滤波技术以及二次投影技术结合。在一个实施方案中,现有的游戏可以通过更新图形驱动器软件来利用混合式抗混叠方案。
在一个实施方案中,可以针对图10的框图中示出的情形来实施混合式抗混叠方案。在这个实施方案中,具有尺寸宽度(W)乘高度(H)的图像1005利用基于如图解1010所示的2×2有序网格(OG)的多重采样(即,子像素采样)。通过将子像素视作规则像素来扩展图像1005。得到的图像1015具有尺寸2W×2H。在一个实施方案中,将高动态范围(HDR)纹理的色调映射整合到扩展步骤中。
接下来,由后处理抗混叠滤波器来处理图像1015,以生成图像1020。而且,在一些实施方案中,将诸如锐化等额外的后处理应用于扩展的图像1015。随后,利用平均滤波器,以从图像1020生成图像1025。应注意,图像1005、1015、1020和1025也可以被称为纹理。在一个实施方案中,平均滤波器是箱式平均滤波器(例如,2×2箱式平均滤波器)。在其他实施方案中,可以利用其他类型的平均滤波器(例如,帐篷式滤波器)。此外,平均滤波器可以包括高动态范围(HDR)纹理的逆色调映射、锐化等等。应注意,图像1025具有与原始图像1005相同的尺寸W×H。在其他实施方案中,平均滤波器可以将图像1025的分辨率变成与原始图像1005不同的分辨率。或者,可以省略使用平均滤波器的缩小步骤,其中得到的图像比起始图像具有更大的分辨率。
现在参考图11,示出了混合式抗混叠方案的另一实施方案的图解。在一个实施方案中,将混合式后处理、抗混叠方案应用于图像1105,所述图像代表任何类型的图像、纹理、表面或其他像素数据。图像1105具有尺寸W×H,并且图像1105利用基于斜率2×1的×5MSAA子像素采样图案,如图解1110所示。将图像1105的子像素样本扩展并且随后旋转对准以生成图像1115,所述图像是处于自然分辨率而没有多重采样的图像。换言之,图像1105的子像素被视作图像1115中的像素。而且,像素被旋转,以便图像1115中的像素形成规则的矩形网格。
接下来,对图像1115执行后处理、抗混叠滤波步骤,以生成图像1120。随后,对图像1120执行平均滤波器步骤以生成图像1125,所述图像与原始图像1105具有相同的尺寸W×H。在另一实施方案中,可以省略平均滤波器步骤,并且图像1120可以是混合式抗混叠解析操作的结果。或者,在又一实施方案中,平均滤波器可以将图像1120平均,以便图像1125的分辨率大于图像1105的原始分辨率W×H。
现在转到图12,示出了用于减小扩展图像的大小的技术的图解。图像1205是类似于图11中的图像1115的扩展图像的实例。图像1205包括从子像素采样图像(未示出)创建的扩展且旋转图像。然而,图像1205内的含有“X”的区域中的每个对应于将消耗额外存储器的未使用空间。
因此,在一个实施方案中,代替在当前状态下处理图像1205,将图像1205的部分重新布置以创建图像1210,这导致更有效地使用空间。为了将部分重新布置成更空间有效的图像1210,将三角形部分1215从图像1205的右侧移动到图像1210的左侧。而且,将三角形部分1220从图像1205的顶部移动到图像1210的右下角。在图像1210的右上部分,仍存在用“X”标记的一小部分的未使用空间。然而,这比图像1205中的未使用空间量小得多。在图像1210内,部分1215、1220和1225以更有效的布置配合在一起,其中空间浪费较少。与在图像1205上相比,这将允许在图像1210上更有效地执行下一后处理、抗混叠步骤。
应注意,当通过将部分四处移动来重新布置图像时,可以包括与每个部分的一些重叠,以允许执行后处理算法。例如,如果后处理算法对中心像素周围的五个像素进行采样,那么将五个像素的重叠添加到部分1215、1220和1225,因为它们组合起来形成图像1210。还应注意,可以在扩展子像素阶段期间执行对部分1215、1220和1225的重新布置。因此,对部分1215、1220和1225的重新布置不需要额外的渲染操作。还应注意,有可能使用交替的三角形细分和/或交替的重新布置图案并且预期这样的使用。
现在参考图13,示出了用于执行混合式抗混叠解析操作的方法1300的一个实施方案。出于论述的目的,以连续顺序示出这个实施方案中的步骤和图14至图17的那些步骤。然而,应注意,在所述方法的各种实施方案中,同时执行、以与所示不同的顺序或者完全省略所述元件中的一个或多个。还根据需要执行其他额外的元件。本文中所述的各种系统、设备或计算装置中的任一个被配置成实施方法1300。
处理器检测对具有每像素多个子像素样本和第一组尺寸的第一图像执行抗混叠解析操作的请求(框1305)。在一个实施方案中,处理器是GPU。在其他实施方案中,处理器是各种其他类型的处理器((例如,DSP、FPGA、ASIC、多核处理器)中的任一个。根据实施方案,第一图像可以是纹理、表面或者正由处理器处理的其他类型的像素数据。
响应于检测到请求,处理器将第一图像的尺寸扩展以创建第二图像,所述第二图像包括每像素单个样本并且具有比第一组尺寸大的第二组尺寸(框1310)。在一个实施方案中,将第一图像的尺寸扩展涉及将第一图像的子像素转换成第二图像的规则像素。换言之,第一图像的子像素将被视作第二图像的实际像素一般。第一图像的尺寸的扩展将根据第一图像的每像素子像素采样位置的数量而改变。应注意,将第一图像的尺寸扩展以创建第二图像实际上可以通过执行后续计算来执行,就好像在实际上没有进行扩展并且没有创建第二图像的情况下扩展第一图像一般。在一些实施方案中,除了扩展第一图像的尺寸外,还旋转第一图像。在这些实施方案中,执行旋转,以将第一图像的子像素对准成第二图像内的垂直和水平网格图案。
接下来,处理器对第二图像执行后处理抗混叠,以创建具有第二组尺寸的第三图像(框1315)。在一些实施方案中,实际上可以在没有实际创建第三图像的情况下执行框1315。处理器利用抗混叠滤波器来执行抗混叠处理。抗混叠滤波器也可以被称为后处理、抗混叠滤波器。在一个实施方案中,抗混叠滤波器是基于快速近似抗混叠(FXAA)算法。在其他实施方案中,抗混叠滤波器可以利用其他算法对第二图像进行滤波以创建第三图像。一般而言,抗混叠滤波器分析中心像素并且随后分析周围像素,以确定是否有任何不需要的混叠效应(即,锯齿)将显示在中心像素附近。如果抗混叠滤波器检测到中心像素存在伪影,那么中心像素的值可以与邻近像素进行平均。
随后,处理器减小第三图像的尺寸以创建所需分辨率下的第四图像(框1320)。在一个实施方案中,减小尺寸涉及执行第三图像的平均以创建第四图像。在一个实施方案中,可以适当执行第三图像的平均,而没有创建第四图像。应注意,根据实施方案,在框1320之后,第四图像可以写回到存储器,第四图像可以经历额外的处理,和/或第四图像可以被驱动到显示器。在一个实施方案中,第四图像具有与第一图像相同的分辨率。在另一实施方案中,第四图像具有比第一图像高的分辨率。在一些实施方案中,可以从方法1300中省略框1320,其中第三图像是抗混叠解析操作的结果。例如,在一些应用(例如,虚拟现实(VR)应用)中,获得更高分辨率的图像在将渲染的图像发送到显示器之前使图像翘曲(即,二次投影)时可以是有用的,以便校正在渲染之后出现的头部移动。在框1320之后,方法1300结束。
应理解,在描述方法1300时使用的术语第一图像、第二图像、第三图像和第四图像旨在区分方法1300的不同步骤。每个这样的术语意图指示已经向源图像应用一些处理,以创建修改的源图像。例如,当将第一图像的尺寸扩展以创建第二图像时,处理器实际上可以通过执行后续计算来扩展尺寸,就好像扩展了第一图像而实际上没有创建第二图像一般。此外,当处理器执行第三图像的平均时,处理器可以利用第三图像的平均版本来覆写第三图像。从这个角度看,可以将第三图像进行平均,并且随后平均的输出仍可以被称为第三图像。然而,为了清楚起见,在方法1300中将第三图像进行平均的输出被称为第四图像,以清楚地区分平均步骤的输入和输出。类似地,方法1300的其他步骤可以实际上覆写或修改源图像,而不是创建新图像。
现在转到图14,示出了用于在扩展和旋转图像时重新布置图像部分的方法1400的一个实施方案。处理器将来自第一图像的多个三角形部分重新布置到第二图像内的新位置(框1405)。在一个实施方案中,作为混合式抗混叠解析操作的一部分,处理器将来自第一图像的多个三角形部分重新布置到第二图像内的新位置。当作为混合式抗混叠解析操作的一部分,处理器扩展第一图像并且旋转第一图像成第二图像时,处理器也将来自第一图像的多个三角形部分重新布置到第二图像内的新位置。而且,处理器将第一图像的任何剩余部分重新布置到第二图像内的介于多个三角形部分之间的新位置(框1410)。在框1410之后,方法1400结束。通过将第一图像的图像部分重新布置到第二图像中的新位置,可以由图形硬件更有效地对第二图像执行后续处理操作。
现在参考图15,示出了用于在扩展和旋转图像时重新布置图像部分的方法1500的另一实施方案。处理器将第一三角形部分从源图像的左侧移动到源图像的扩展版本的右侧(框1505)。而且,处理器将第二三角形部分从源图像的右侧移动到源图像的扩展版本的左侧(框1510)。更进一步,处理器移动源图像的第三部分,以配合在源图像的扩展版本内的第一三角形部分与第二三角形部分之间(框1515)。应注意,在一个实施方案中,在将第一部分、第二部分和第三部分移动到源图像的扩展版本中的新位置时,处理器包括在第一部分、第二部分和第三部分的边缘上的子像素的重叠。在框1515之后,方法1500结束。
现在转到图16,示出了用于对图像的子像素位置进行采样的方法1600的一个实施方案。处理器基于旋转网格来生成正被渲染的图像的每个像素的多个子像素采样坐标,其中为旋转网格指定旋转角度(框1605)。旋转角度也可以更一般地被称为旋转量。接下来,处理器对由正被渲染的图像的每个像素内的多个子像素采样坐标指示的子像素位置进行采样(框1610)。随后,处理器将子像素位置的值存储在存储器中(框1615)。应注意,存储器表示缓存、本地数据共享、全局数据共享、存储器装置或者任何其他合适的存储元件集合。在框1615之后,方法1600结束。
现在参考图17,示出了用于生成正被渲染的图像的每个像素的多个子像素采样坐标的方法1700的一个实施方案。处理器计算与对角地穿过图像的给定位置的第一组平行线对应的位置(框1705)。应注意,“对角地穿过”被定义为以除90度或180度以外的角度横越图像。换言之,第一组平行线并不平行于标记图像的像素边界的正方形网格的水平线或垂直线。在一个实施方案中,给定位置是像素的拐角。在另一实施方案中,给定位置是像素的中心。在各种实施方案中,从两个互质数之比中生成第一组平行线中的每条线的斜率。例如,在一个实施方案中,第一组平行线中的每条线的斜率是两个像素乘一个像素。在其他实施方案中,斜率可以是其他合适的比。在一个实施方案中,对于第一组平行线中的每一对相邻线而言,相邻线之间的距离保持不变。
接下来,处理器计算与垂直于第一组平行线的第二组平行线对应的位置,并且其中第一组平行线和第二组平行线形成旋转网格(框1710)。在一个实施方案中,对于第二组平行线中的每一对相邻线而言,相邻线之间的距离保持不变。在一个实施方案中,第一组平行线中的相邻线之间的距离等于第二组平行线中的相邻线之间的距离。随后,处理器使旋转网格移位,以导致第一组平行线和第二组平行线的顶点具有在每个对应像素的中心的重心(框1715)。接下来,处理器利用第一组平行线和第二组平行线的顶点的位置来指定图像的像素内的多个子像素采样坐标(框1720)。在框1720之后,方法1700结束。实施方法1700将导致子像素采样坐标水平地且垂直地规则间隔开。此外,实施方法1700将导致横越图像的给定水平或垂直线上仅存在每像素一个子像素采样位置。应注意,在其他实施方案中,可以实施其他方法来实现与由方法1700生成的那些类似的子像素采样图案。一般而言,对于具有每像素“a^2+b^2”个子样本的密度的正方形网格(其中a和b是整数),如果网格以“atan(a/b)+90*n”的角度旋转或成镜像(其中n是整数),那么每个像素内的采样图案将相同。
现在转到图18,示出了用于生成子像素采样坐标的方法的一个实施方案。处理器指定旋转网格的角度(框1805)。例如,处理器可以指定旋转网格的第一组线具有的2×1斜率,这是指与两个像素宽且一个像素高的矩形的对角线平行的线。旋转网格的第二组线垂直于第一组线。接下来,处理器将旋转网格叠加在正被渲染的图像上(框1810)。随后,处理器基于旋转网格而生成正被渲染的图像的每个像素的多个子像素采样坐标(框1815)。在框1815之后,方法1800结束。
现在参考图19,示出了用于执行抗混叠操作的方法的一个实施方案。处理器检测对图像执行抗混叠操作的请求(框1905)。应注意,抗混叠操作也可以被称为抗混叠解析操作。响应于检测到请求,处理器将图像的尺寸扩展(框1910)。在一个实施方案中,在框1910中,处理器执行图像的虚拟扩展。虚拟扩展可以通过创建更大的新图像或者通过将原始图像处理成更大的图像来执行。在一个实施方案中,处理器将原始图像处理成经过旋转的更大图像。在一个实施方案中,将图像的尺寸扩展被定义将子像素转换成规则像素。在一些实施方案中,也将图像旋转,以导致规则像素在矩形网格中对准。接下来,处理器对图像执行抗混叠处理(框1915)。随后,处理器执行图像的平均,以在所需的分辨率下创建抗混叠操作的最终结果(框1920)。在框1920之后,方法1900结束。
现在转到图20,示出了用于生成采样网格的方法的一个实施方案。为采样网格选择斜率(例如,2×1)(框2005)。接下来,以所选择的斜率绘制穿过像素网格的所有网格交叉点的线(框2010)。在另一实施方案中,在框2010中,以所选择的斜率绘制穿过像素网格的所有像素中心的线。随后,绘制穿过像素网格的所有网格交叉点的垂直线(框2015)。或者,在另一实施方案中,在框2015中,绘制穿过像素网格的所有像素中心的垂直线。在框2010和2015中绘制的线将生成旋转的规则网格。这个旋转的规则网格也可以被称为采样网格。
接下来,在任选步骤中,使采样网格移位、旋转多个90度和/或成镜像(框2020)。将单个像素内的采样网格的网格交叉点创建的图案用作图像的采样图案(框2025)。对于由方法2000创建的采样图案而言,单个像素内的采样图案对图像中的所有像素都将相同。在框2025之后,方法2000结束。应注意,本文中描述的任何系统和/或设备都可以被配置成执行方法2000。
在各种实施方案中,软件应用的程序指令用来实施先前描述的方法和/或机制。程序指令用诸如C等高级编程语言来描述硬件的行为。或者,使用硬件设计语言(HDL),诸如Verilog。程序指令存储在非暂时性计算机可读存储介质上。可用多种类型的存储介质。在使用期间,存储介质可由计算系统访问,以向计算系统提供程序指令和伴随数据来供程序执行。计算系统至少包括一个或多个存储器以及被配置成执行程序指令的一个或多个处理器。
应强调,上述实施方案仅仅是实施的非限制性实例。一旦完全了解上述公开,本领域的技术人员将明白多种变化和修改。所附权利要求意图被解释为涵盖所有此类变化和修改。
Claims (30)
1.一种系统,其包括:
存储器;以及
处理器;
其中所述处理器被配置成:
检测对存储在所述存储器中的第一图像执行抗混叠解析操作的请求,其中所述第一图像包括每像素多个子像素样本并且具有第一组尺寸;
响应于检测到所述请求:
将所述第一图像的尺寸扩展以创建第二图像,使得所述第二图像的每个像素都具有由所述第一图像的所述多个子像素样本之一表示的单个样本,并且所述第二图像具有比所述第一组尺寸大的第二组尺寸;
对所述第二图像执行后处理抗混叠,以创建具有所述第二组尺寸的第三图像;以及
减小所述第三图像的尺寸以创建第四图像,其中所述第四图像是所述抗混叠解析操作的结果。
2.如权利要求1所述的系统,其中执行后处理抗混叠包括基于周围像素的值对像素进行滤波,并且其中所述抗混叠处理在平均之前执行。
3.如权利要求1所述的系统,其中将所述第一图像的尺寸扩展包括将所述第一图像的子像素转换成所述第二图像的规则像素。
4.如权利要求1所述的系统,其中响应于所述请求,所述处理器还被配置为旋转所述第一图像以使得所述多个子像素样本对准所述第二图像的像素。
5.如权利要求4所述的系统,其中所述处理器被配置成旋转所述第一图像,以将所述子像素对准成所述第二图像内的垂直和水平网格图案。
6.如权利要求5所述的系统,其中所述处理器被配置成:
将来自所述第一图像的多个三角形部分重新布置到所述第二图像内的新位置;以及
将所述第一图像的任何剩余部分重新布置到所述第二图像内的介于已经重新布置的所述多个三角形部分之间的新位置。
7.如权利要求6所述的系统,其中所述处理器被配置成:
将第一三角形部分从所述第一图像的左侧移动到所述第二图像的右侧;以及
将第二三角形部分从所述第一图像的右侧移动到所述第二图像的左侧;以及
移动所述第一图像的第三部分,以配合在所述第二图像内的所述第一三角形部分与所述第二三角形部分之间。
8.一种在计算装置中使用的方法,所述方法包括:
检测对第一图像执行抗混叠解析操作的请求,所述第一图像包括每像素多个子像素样本并且具有第一组尺寸;
响应于检测到所述请求:
将所述第一图像的尺寸扩展以创建第二图像,使得所述第二图像的每个像素都具有由所述第一图像的所述多个子像素样本之一表示的单个样本,并且所述第二图像具有比所述第一组尺寸大的第二组尺寸;
对所述第二图像执行后处理抗混叠,以创建具有所述第二组尺寸的第三图像;以及
减小所述第三图像的尺寸以创建第四图像,其中所述第四图像是所述抗混叠解析操作的结果。
9.如权利要求8所述的方法,其中执行后处理抗混叠包括基于周围像素的值对像素进行滤波,并且其中所述抗混叠处理在平均之前执行。
10.如权利要求8所述的方法,其中将所述第一图像的尺寸扩展包括将所述第一图像的子像素转换成所述第二图像的规则像素。
11.如权利要求8所述的方法,其中响应于所述请求,所述方法还包括旋转所述第一图像以使得所述多个子像素样本对准所述第二图像的像素。
12.如权利要求11所述的方法,其还包括旋转所述第一图像,以将所述子像素对准成所述第二图像内的垂直和水平网格图案。
13.如权利要求12所述的方法,其还包括:
将来自所述第一图像的多个三角形部分重新布置到所述第二图像内的新位置;以及
将所述第一图像的任何剩余部分重新布置到所述第二图像内的介于已经重新布置的所述多个三角形部分之间的新位置。
14.如权利要求13所述的方法,其还包括:
将第一三角形部分从所述第一图像的左侧移动到所述第二图像的右侧;
将第二三角形部分从所述第一图像的右侧移动到所述第二图像的左侧;以及
移动所述第一图像的第三部分,以配合在所述第二图像内的所述第一三角形部分与所述第二三角形部分之间。
15.一种处理器,其包括:
存储器;以及
多个执行单元;
其中所述多个执行单元被配置成:
检测对存储在所述存储器中的第一图像执行抗混叠解析操作的请求,其中所述第一图像包括每像素多个子像素样本并且具有第一组尺寸;
响应于检测到所述请求:
将所述第一图像的尺寸扩展以创建第二图像,使得所述第二图像的每个像素都具有由所述第一图像的所述多个子像素样本之一表示的单个样本,并且所述第二图像具有比所述第一组尺寸大的第二组尺寸;
对所述第二图像执行后处理抗混叠,以创建具有所述第二组尺寸的第三图像;以及
减小所述第三图像的尺寸以创建第四图像,其中所述第四图像是所述抗混叠解析操作的结果。
16.如权利要求15所述的处理器,其中执行后处理抗混叠包括基于周围像素的值对像素进行滤波,并且其中所述抗混叠处理在平均之前执行。
17.如权利要求15所述的处理器,其中将所述第一图像的尺寸扩展包括将所述第一图像的子像素转换成所述第二图像的规则像素。
18.如权利要求15所述的处理器,其中响应于所述请求,所述执行单元还被配置为旋转所述第一图像以使得所述多个子像素样本对准所述第二图像的像素。
19.如权利要求18所述的处理器,其中所述处理器被配置成旋转所述第一图像,以将所述子像素对准成所述第二图像内的垂直和水平网格图案。
20.如权利要求19所述的处理器,其中所述处理器被配置成:
将来自所述第一图像的多个三角形部分重新布置到所述第二图像内的新位置;以及
将所述第一图像的任何剩余部分重新布置到所述第二图像内的介于已经重新布置的所述多个三角形部分之间的新位置。
21.一种处理器,其包括:
存储器;以及
多个执行单元;
其中所述处理器被配置成:
基于旋转网格来生成正被渲染的图像的每个像素的多个子像素采样坐标,其中为所述旋转网格指定旋转量并且所述旋转网格的斜率被选择为等于两个互质数之比;
对由正被所述多个执行单元渲染的所述图像的每个像素内的所述多个子像素采样坐标指示的子像素位置进行采样;以及
将所述子像素位置的值存储在所述存储器中。
22.如权利要求21所述的处理器,其中基于所述旋转网格来生成所述多个子像素采样坐标包括:
计算与对角地穿过所述图像的给定位置的第一组平行线对应的位置;
计算与垂直于所述第一组平行线的第二组平行线对应的位置,其中所述第一组平行线和所述第二组平行线形成所述旋转网格;
使所述旋转网格移位,以导致所述第一组平行线和所述第二组平行线的顶点具有在每个对应像素的中心的重心;以及
指定所述多个子像素采样坐标与所述第一组平行线和所述第二组平行线的所述顶点在所述图像的像素内的位置重合。
23.如权利要求22所述的处理器,其中所述给定位置是所述像素的拐角或所述像素的中心。
24.如权利要求21所述的处理器,其中所述子像素采样坐标水平地且垂直地规则间隔开。
25.如权利要求21所述的处理器,其中在横越所述图像的给定水平或垂直线上仅存在每像素一个子像素采样位置。
26.一种在计算装置中使用的方法,所述方法包括:
基于旋转网格来生成正被渲染的图像的每个像素的多个子像素采样坐标,其中为所述旋转网格指定旋转量并且所述旋转网格的斜率被选择为等于两个互质数之比;
对由正被渲染的所述图像的每个像素内的所述多个子像素采样坐标指示的子像素位置进行采样;以及
将所述子像素位置的值存储在所述存储器中。
27.如权利要求26所述的方法,其中基于所述旋转网格来生成所述多个子像素采样坐标包括:
计算与对角地穿过所述图像的给定位置的第一组平行线对应的位置;
计算与垂直于所述第一组平行线的第二组平行线对应的位置,其中所述第一组平行线和所述第二组平行线形成所述旋转网格;
使所述旋转网格移位,以导致所述第一组平行线和所述第二组平行线的顶点具有在每个对应像素的中心的重心;以及
指定所述多个子像素采样坐标与所述第一组平行线和所述第二组平行线的所述顶点在所述图像的像素内的位置重合。
28.如权利要求27所述的方法,其中所述给定位置是所述像素的拐角或所述像素的中心。
29.如权利要求26所述的方法,其中所述子像素采样坐标水平地且垂直地规则间隔开。
30.如权利要求26所述的方法,其中在横越所述图像的给定水平或垂直线上仅存在每像素一个子像素采样位置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662279889P | 2016-01-18 | 2016-01-18 | |
US62/279,889 | 2016-01-18 | ||
PCT/US2017/013786 WO2017127363A1 (en) | 2016-01-18 | 2017-01-17 | Performing anti-aliasing operations in a computing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108701235A CN108701235A (zh) | 2018-10-23 |
CN108701235B true CN108701235B (zh) | 2022-04-12 |
Family
ID=59313891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780010963.1A Active CN108701235B (zh) | 2016-01-18 | 2017-01-17 | 在计算系统中执行抗混叠操作 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10152772B2 (zh) |
EP (2) | EP4040395A1 (zh) |
JP (2) | JP6992005B2 (zh) |
KR (1) | KR102635452B1 (zh) |
CN (1) | CN108701235B (zh) |
WO (1) | WO2017127363A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017127363A1 (en) | 2016-01-18 | 2017-07-27 | Advanced Micro Devices, Inc. | Performing anti-aliasing operations in a computing system |
CA2949383C (en) * | 2016-11-22 | 2023-09-05 | Square Enix, Ltd. | Image processing method and computer-readable medium |
US10628907B2 (en) | 2017-04-01 | 2020-04-21 | Intel Corporation | Multi-resolution smoothing |
CN109710122B (zh) * | 2017-10-26 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 用于展示信息的方法和装置 |
US11113790B2 (en) * | 2018-04-12 | 2021-09-07 | Nvidia Corporation | Adding greater realism to a computer-generated image by smoothing jagged edges |
CN111192351B (zh) * | 2018-11-14 | 2023-06-02 | 芯原微电子(上海)股份有限公司 | 边缘抗锯齿的图形处理方法、系统、存储介质及装置 |
KR102374945B1 (ko) * | 2019-02-22 | 2022-03-16 | 지멘스 메디컬 솔루션즈 유에스에이, 인크. | 영상 처리 방법 및 영상 처리 시스템 |
US11100889B2 (en) | 2019-02-28 | 2021-08-24 | Ati Technologies Ulc | Reducing 3D lookup table interpolation error while minimizing on-chip storage |
US11076151B2 (en) | 2019-09-30 | 2021-07-27 | Ati Technologies Ulc | Hierarchical histogram calculation with application to palette table derivation |
KR20210043068A (ko) | 2019-10-11 | 2021-04-21 | 장혜경 | 커넥터블 연무 재배장치 |
US11915337B2 (en) | 2020-03-13 | 2024-02-27 | Advanced Micro Devices, Inc. | Single pass downsampler |
CN115440153A (zh) * | 2021-06-01 | 2022-12-06 | 力领科技股份有限公司 | 显示面板的子像素渲染方法 |
CN114331844A (zh) * | 2021-12-28 | 2022-04-12 | Tcl华星光电技术有限公司 | 图像处理方法、装置、服务器及存储介质 |
US20230298133A1 (en) * | 2022-03-17 | 2023-09-21 | Advanced Micro Devices, Inc. | Super resolution upscaling |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831447A (en) * | 1987-11-16 | 1989-05-16 | The Grass Valley Group, Inc. | Method and apparatus for anti-aliasing an image boundary during video special effects |
US5251218A (en) * | 1989-01-05 | 1993-10-05 | Hughes Aircraft Company | Efficient digital frequency division multiplexed signal receiver |
WO2002003334A3 (en) * | 2000-06-29 | 2003-04-10 | Sun Microsystems Inc | Graphics system configured to filter samples using a variable support filter |
CN1417745A (zh) * | 2001-11-07 | 2003-05-14 | 富士施乐株式会社 | 图像处理设备和程序 |
CN1601562A (zh) * | 2003-09-25 | 2005-03-30 | 索尼株式会社 | 图像处理装置及其方法 |
EP2028621A1 (en) * | 2007-08-20 | 2009-02-25 | Agfa HealthCare NV | System and method for information embedding and extraction in phantom targets for digital radiography systems |
CN101610340A (zh) * | 2008-06-17 | 2009-12-23 | 佳能株式会社 | 图像处理方法以及图像处理装置 |
CN102571657A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | 一种变换采样率的数字预失真处理系统和方法 |
CN103594487A (zh) * | 2012-08-17 | 2014-02-19 | 三星显示有限公司 | 有机发光显示设备及其制造方法 |
CN105006010A (zh) * | 2014-04-23 | 2015-10-28 | 三星电子株式会社 | 执行路径渲染的方法和设备 |
CN105160355A (zh) * | 2015-08-28 | 2015-12-16 | 北京理工大学 | 一种基于区域相关和视觉单词的遥感图像变化检测方法 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274754A (en) | 1986-04-14 | 1993-12-28 | Advanced Micro Devices, Inc. | Method and apparatus for generating anti-aliased vectors, arcs and circles on a video display |
US5818456A (en) | 1996-04-30 | 1998-10-06 | Evans & Sutherland Computer Corporation | Computer graphics system with adaptive pixel multisampler |
US6525723B1 (en) | 1998-02-17 | 2003-02-25 | Sun Microsystems, Inc. | Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates |
US6339426B1 (en) | 1999-04-29 | 2002-01-15 | Microsoft Corporation | Methods, apparatus and data structures for overscaling or oversampling character feature information in a system for rendering text on horizontally striped displays |
US6924816B2 (en) * | 2000-03-17 | 2005-08-02 | Sun Microsystems, Inc. | Compensating for the chromatic distortion of displayed images |
US6781600B2 (en) * | 2000-04-14 | 2004-08-24 | Picsel Technologies Limited | Shape processor |
US6775420B2 (en) | 2000-06-12 | 2004-08-10 | Sharp Laboratories Of America, Inc. | Methods and systems for improving display resolution using sub-pixel sampling and visual error compensation |
US7061507B1 (en) * | 2000-11-12 | 2006-06-13 | Bitboys, Inc. | Antialiasing method and apparatus for video applications |
US6636232B2 (en) * | 2001-01-12 | 2003-10-21 | Hewlett-Packard Development Company, L.P. | Polygon anti-aliasing with any number of samples on an irregular sample grid using a hierarchical tiler |
US7123277B2 (en) * | 2001-05-09 | 2006-10-17 | Clairvoyante, Inc. | Conversion of a sub-pixel format data to another sub-pixel data format |
US7145577B2 (en) * | 2001-08-31 | 2006-12-05 | Micron Technology, Inc. | System and method for multi-sampling primitives to reduce aliasing |
US6985159B2 (en) * | 2002-05-08 | 2006-01-10 | Intel Corporation | Arrangements for antialiasing coverage computation |
JP3910120B2 (ja) | 2002-08-23 | 2007-04-25 | 株式会社リコー | 画像処理装置、方法、該方法を実行するプログラム及び記録媒体 |
US6967663B1 (en) * | 2003-09-08 | 2005-11-22 | Nvidia Corporation | Antialiasing using hybrid supersampling-multisampling |
KR100580624B1 (ko) * | 2003-09-19 | 2006-05-16 | 삼성전자주식회사 | 영상 표시 방법과 장치 및 컴퓨터 프로그램을 저장하는컴퓨터로 읽을 수 있는 기록 매체 |
US7348996B2 (en) | 2004-09-20 | 2008-03-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and system for pixel sampling |
US8744184B2 (en) * | 2004-10-22 | 2014-06-03 | Autodesk, Inc. | Graphics processing method and system |
GB0426170D0 (en) | 2004-11-29 | 2004-12-29 | Falanx Microsystems As | Processing of computer graphics |
US8666196B2 (en) * | 2005-01-19 | 2014-03-04 | The United States Of America As Represented By The Secretary Of The Army | System and method for super-resolution imaging from a sequence of color filter array (CFA) low-resolution images |
US8577184B2 (en) | 2005-01-19 | 2013-11-05 | The United States Of America As Represented By The Secretary Of The Army | System and method for super-resolution imaging from a sequence of color filter array (CFA) low-resolution images |
US7456846B1 (en) * | 2005-06-03 | 2008-11-25 | Nvidia Corporation | Graphical processing system, graphical pipeline and method for implementing subpixel shifting to anti-alias texture |
US8269788B2 (en) | 2005-11-15 | 2012-09-18 | Advanced Micro Devices Inc. | Vector graphics anti-aliasing |
US7684641B1 (en) * | 2005-12-13 | 2010-03-23 | Nvidia Corporation | Inside testing for paths using a derivative mask |
US7612783B2 (en) * | 2006-05-08 | 2009-11-03 | Ati Technologies Inc. | Advanced anti-aliasing with multiple graphics processing units |
US7916155B1 (en) * | 2007-11-02 | 2011-03-29 | Nvidia Corporation | Complementary anti-aliasing sample patterns |
JP5305641B2 (ja) | 2007-11-21 | 2013-10-02 | 株式会社ニューフレアテクノロジー | パターン検査装置及びパターン検査方法 |
US8396129B2 (en) * | 2007-12-28 | 2013-03-12 | Ati Technologies Ulc | Apparatus and method for single-pass, gradient-based motion compensated image rate conversion |
US8044971B2 (en) | 2008-01-31 | 2011-10-25 | Arm Norway As | Methods of and apparatus for processing computer graphics |
GB0801812D0 (en) * | 2008-01-31 | 2008-03-05 | Arm Noway As | Methods of and apparatus for processing computer graphics |
WO2009124248A1 (en) | 2008-04-04 | 2009-10-08 | Advanced Micro Devices, Inc. | Filtering method and apparatus for anti-aliasing |
US8605087B2 (en) * | 2008-07-03 | 2013-12-10 | Nvidia Corporation | Hybrid multisample/supersample antialiasing |
GB0819570D0 (en) * | 2008-10-24 | 2008-12-03 | Advanced Risc Mach Ltd | Methods of and apparatus for processing computer graphics |
WO2010063881A1 (en) * | 2008-12-03 | 2010-06-10 | Nokia Corporation | Flexible interpolation filter structures for video coding |
WO2010079685A1 (ja) | 2009-01-09 | 2010-07-15 | コニカミノルタホールディングス株式会社 | 動きベクトル生成装置および動きベクトル生成方法 |
US8773448B2 (en) | 2010-04-09 | 2014-07-08 | Intel Corporation | List texture |
US8368774B2 (en) * | 2010-11-22 | 2013-02-05 | The Aerospace Corporation | Imaging geometries for scanning optical detectors with overlapping fields of regard and methods for providing and utilizing same |
GB2497302B (en) * | 2011-12-05 | 2017-04-12 | Advanced Risc Mach Ltd | Methods of and apparatus for processing computer graphics |
US9165526B2 (en) | 2012-02-28 | 2015-10-20 | Shenzhen Yunyinggu Technology Co., Ltd. | Subpixel arrangements of displays and method for rendering the same |
US8928690B2 (en) | 2012-03-20 | 2015-01-06 | Advanced Micro Devices, Inc. | Methods and systems for enhanced quality anti-aliasing |
US8941676B2 (en) * | 2012-10-26 | 2015-01-27 | Nvidia Corporation | On-chip anti-alias resolve in a cache tiling architecture |
US9235926B2 (en) * | 2012-12-24 | 2016-01-12 | Intel Corporation | Techniques for improving MSAA rendering efficiency |
US9478066B2 (en) | 2013-03-14 | 2016-10-25 | Nvidia Corporation | Consistent vertex snapping for variable resolution rendering |
US9299125B2 (en) * | 2013-05-03 | 2016-03-29 | Advanced Micro Devices Inc. | Variable acuity rendering using multisample anti-aliasing |
US9230363B2 (en) * | 2013-09-11 | 2016-01-05 | Nvidia Corporation | System, method, and computer program product for using compression with programmable sample locations |
US9501860B2 (en) | 2014-01-03 | 2016-11-22 | Intel Corporation | Sparse rasterization |
JP6369799B2 (ja) | 2014-04-23 | 2018-08-08 | Tianma Japan株式会社 | 画素アレイ及び電気光学装置並びに電気機器 |
US9978171B2 (en) | 2014-07-29 | 2018-05-22 | Nvidia Corporation | Control of a sample mask from a fragment shader program |
US10412387B2 (en) * | 2014-08-22 | 2019-09-10 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
US9536282B2 (en) * | 2015-01-14 | 2017-01-03 | Lucidlogix Technologies Ltd. | Method and apparatus for controlling spatial resolution in a computer system |
US9426362B2 (en) | 2015-01-16 | 2016-08-23 | Mems Drive, Inc. | Three-axis OIS for super-resolution imaging |
US9659349B2 (en) * | 2015-06-12 | 2017-05-23 | Gopro, Inc. | Color filter array scaler |
US9659402B2 (en) | 2015-06-26 | 2017-05-23 | Intel Corporation | Filtering multi-sample surfaces |
US20170132833A1 (en) * | 2015-11-10 | 2017-05-11 | Intel Corporation | Programmable per pixel sample placement using conservative rasterization |
WO2017127363A1 (en) | 2016-01-18 | 2017-07-27 | Advanced Micro Devices, Inc. | Performing anti-aliasing operations in a computing system |
-
2017
- 2017-01-17 WO PCT/US2017/013786 patent/WO2017127363A1/en active Application Filing
- 2017-01-17 US US15/408,117 patent/US10152772B2/en active Active
- 2017-01-17 KR KR1020187022897A patent/KR102635452B1/ko active IP Right Grant
- 2017-01-17 EP EP22165242.3A patent/EP4040395A1/en active Pending
- 2017-01-17 CN CN201780010963.1A patent/CN108701235B/zh active Active
- 2017-01-17 US US15/408,054 patent/US10354365B2/en active Active
- 2017-01-17 EP EP17741813.4A patent/EP3405907B1/en active Active
- 2017-01-17 JP JP2018555849A patent/JP6992005B2/ja active Active
-
2021
- 2021-12-08 JP JP2021199106A patent/JP7361089B2/ja active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831447A (en) * | 1987-11-16 | 1989-05-16 | The Grass Valley Group, Inc. | Method and apparatus for anti-aliasing an image boundary during video special effects |
US5251218A (en) * | 1989-01-05 | 1993-10-05 | Hughes Aircraft Company | Efficient digital frequency division multiplexed signal receiver |
WO2002003334A3 (en) * | 2000-06-29 | 2003-04-10 | Sun Microsystems Inc | Graphics system configured to filter samples using a variable support filter |
CN1417745A (zh) * | 2001-11-07 | 2003-05-14 | 富士施乐株式会社 | 图像处理设备和程序 |
CN1601562A (zh) * | 2003-09-25 | 2005-03-30 | 索尼株式会社 | 图像处理装置及其方法 |
EP2028621A1 (en) * | 2007-08-20 | 2009-02-25 | Agfa HealthCare NV | System and method for information embedding and extraction in phantom targets for digital radiography systems |
CN101610340A (zh) * | 2008-06-17 | 2009-12-23 | 佳能株式会社 | 图像处理方法以及图像处理装置 |
CN102571657A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | 一种变换采样率的数字预失真处理系统和方法 |
CN103594487A (zh) * | 2012-08-17 | 2014-02-19 | 三星显示有限公司 | 有机发光显示设备及其制造方法 |
CN105006010A (zh) * | 2014-04-23 | 2015-10-28 | 三星电子株式会社 | 执行路径渲染的方法和设备 |
CN105160355A (zh) * | 2015-08-28 | 2015-12-16 | 北京理工大学 | 一种基于区域相关和视觉单词的遥感图像变化检测方法 |
Non-Patent Citations (2)
Title |
---|
Matthäus G. Chajdas.Subpixel reconstruction antialiasing for deferred shadin.《Symposium on Interactive 3D Graphics and Games》.2011,15-22. * |
Morphological antialiasing;ALEXANDER RESHETOV;《PROCEEDINGS OF THE CONFERENCE ONHIGH PERFORMANCE GRAPHICS 2009》;20090801;109-116 * |
Also Published As
Publication number | Publication date |
---|---|
JP7361089B2 (ja) | 2023-10-13 |
EP4040395A1 (en) | 2022-08-10 |
WO2017127363A1 (en) | 2017-07-27 |
KR102635452B1 (ko) | 2024-02-13 |
US20170206638A1 (en) | 2017-07-20 |
EP3405907B1 (en) | 2022-05-04 |
US20170206626A1 (en) | 2017-07-20 |
JP2022031880A (ja) | 2022-02-22 |
EP3405907A1 (en) | 2018-11-28 |
CN108701235A (zh) | 2018-10-23 |
JP6992005B2 (ja) | 2022-01-13 |
EP3405907A4 (en) | 2020-01-01 |
JP2019505939A (ja) | 2019-02-28 |
US10354365B2 (en) | 2019-07-16 |
US10152772B2 (en) | 2018-12-11 |
KR20180102617A (ko) | 2018-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701235B (zh) | 在计算系统中执行抗混叠操作 | |
US10885607B2 (en) | Storage for foveated rendering | |
KR102475212B1 (ko) | 타일식 아키텍처들에서의 포비티드 렌더링 | |
US8730253B2 (en) | Decomposing cubic Bezier segments for tessellation-free stencil filling | |
US9589386B2 (en) | System and method for display of a repeating texture stored in a texture atlas | |
DE102013222685B4 (de) | System, Verfahren und Computer-Programm-Produkt zum Abtasten einer hierarchischen Tiefe-Karte | |
KR102598915B1 (ko) | 그래픽 처리 | |
KR101824665B1 (ko) | 안티-앨리어싱된 샘플들의 분할 저장 | |
DE102015113240A1 (de) | System, verfahren und computerprogrammprodukt für schattierung unter verwendung eines dynamischen objektraumgitters | |
DE102015113927B4 (de) | Graphikverarbeitungseinheit zum Einstellen eines Detailierungsgrads, Verfahren zum Betreiben derselben und Vorrichtungen mit derselben | |
US10019802B2 (en) | Graphics processing unit | |
US10074159B2 (en) | System and methodologies for super sampling to enhance anti-aliasing in high resolution meshes | |
CN115330986B (zh) | 一种分块渲染模式图形处理方法及系统 | |
JP2002042159A (ja) | コンピュータ・グラフィック・システムにおけるアンチエイリアシング方法 | |
DE102015117768A1 (de) | Graphikverarbeitungseinheit und Vorrichtung mit derselben | |
GB2604232A (en) | Graphics texture mapping | |
US8605085B1 (en) | System and method for perspective corrected tessellation using parameter space warping | |
Zemcik et al. | Particle rendering engine in DSP and FPGA | |
US20240127524A1 (en) | Method and system for processing graphics in tile-based rendering mode | |
Herout et al. | Hardware pipeline for rendering clouds of circular points | |
Bergamasco et al. | Saliency-driven Variational Retargeting for Historical Maps |
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 |