嵌入式装置中的灵活抗混叠的制作方法

文档序号:6553051阅读:206来源:国知局
专利名称:嵌入式装置中的灵活抗混叠的制作方法
技术领域
本发明涉及嵌入式装置中的硬件功能性的应用级控制。所述硬件功能性涉及由具有此类装置的3D图形管线处理的三维(3D)图像的抗混叠(antialiasing)。在某些方面,本发明涉及具有此类硬件功能性的移动电话。
背景技术
许多类型的嵌入式装置均具备处理3D场景图像的3D图形管线。给定场景由渲染对象(例如,三角形)的集合组成。此类3D管线可对图像执行抗混叠。抗混叠涉及首先对图像进行过取样,从而导致由一组现更充裕的(经过过取样的)像素表示的信息的量增加。五点形方案(Quincunx scheme)、全场景抗混叠(Full-Scene Antialiasing,FSAA)、累积缓冲(accumulation buffer)和Carpenter的A缓冲(Carpenter’s A-buffer)(有时称为多取样)是用于实行给定图像的抗混叠过取样或增强取样的技术的几个实例。
以较低经预过取样的分辨率频繁地渲染最终图像,在此情况下,通过对较大样本组进行加权(例如,平均)以产生缩减组来完成抗混叠过程。

发明内容
根据一个实施例,一种三维(3D)图形管线渲染3D场景的图像序列,每一个3D场景一组多个对象组成。所述管线包括抗混叠过取样机构,以针对给定图像,在所述管线的较早阶段,对所述给定图像的对象的一部分执行过取样。根据另一实施例,所述管线包括抗混叠过取样机构和抗混叠加权机构。所述抗混叠过取样机构针对给定图像,在所述管线的较早阶段,对所述给定图像的对象的至少一部分执行抗混叠过取样。所述抗混叠加权机构针对给定图像,在所述管线的较早阶段,对所述给定图像的由所述抗混叠过取样机构进行过取样的部分执行抗混叠加权。


在以下
具体实施例方式
中,以非限定性示范性实施例的方式,参考所注附图进一步描述本发明,其中,在附图的若干视图中,相同参考标号始终表示相同部分,且附图中图1是根据本发明一个实施例的移动装置的方框图;图2是与对象抗混叠有关的那些移动装置实体的方框图;
图3是图1中所说明的移动装置的3D图形管线的方框图;和图4是所说明的3D图形管线的着色部分的方框图。
具体实施方式
为了帮助理解本文的描述内容,将提供某些术语的定义。图元可以是(例如)点、线或三角形。三角形可以若干组扇形、条形或网格的形式被渲染。对象是一个或一个以上图元。场景是模型与模型所定位在其中的环境的集合。像素包括关于屏幕上的位置的信息,以及颜色信息,且视情况包括额外信息(例如,深度)。颜色信息可呈现RGB颜色三元组(RGB color triplet)的形式。屏栅单元(screen grid cell)是屏幕的可由给定像素占据的区域。屏栅值是对应于屏栅单元或像素的值。应用程序编程接口(API)是(一方面)应用程序与(另一方面)操作系统、硬件和其它功能性之间的接口。API允许在多种平台上创建驱动程序和程序,其中那些驱动程序和程序与API介接,而不是直接与平台的操作系统或硬件介接。
图1是移动装置10的方框图。所说明的移动装置10可包括例如移动电话的无线移动通信装置。
所说明的移动装置10包括系统存储器12(在所说明的实施例中包括RAM)、系统总线13,和系统存储器12中的软件14(包括应用程序)。装置10进一步包括3D硬件16,其包含(例如)一个或一个以上3D多媒体芯片;和其它硬件18,其包含微处理器和一个或一个以上专用集成电路(ASIC)。3D硬件16和其它硬件18经由系统总线13耦合到系统存储器12。
所说明的3D硬件16可包括形成为还由其它硬件18所共用的集成电路的一部分,或所述3D硬件16可包括其自身的集成电路芯片或芯片组。3D硬件16包括用于保存数据的其自身的本地存储器和寄存器34及包括图形管线部分36的图形管线。
就层级来说,软件14包括一个或一个以上具有3D功能性的应用程序22,其经由3D应用程序编程接口(API)24和一个或一个以上3D硬件装置驱动程序28与3D硬件30通信。在所说明的实施例中,3D API 24除了图1未明确展示的其它元件外还包括对象抗混叠扩展26。
图像数据通常保存在系统存储器12中的一个或一个以上帧缓冲器32中。3D硬件16从这些帧缓冲器32中检索图像数据并将图像数据更新到这些帧缓冲器32中。
图2展示抗混叠方框图,其描绘所说明的移动装置的与抗混叠有关的那些实体。展示给定应用程序40,其通过命名抗混叠扩展44的函数名52且通过指定其参数组54来与API 42互动。
所说明的抗混叠扩展44包括一种类型的抗混叠应用程序编程接口(API)函数,其在由应用程序40调用时,指令3D图形硬件的3D处理部分46(明确地说,3D图形管线)执行某些抗混叠动作。抗混叠API函数包括数据结构以接收函数名52和包括抗混叠参数的参数组54,所述抗混叠参数中的每一者均来自应用程序40。抗混叠API函数将从应用程序接收到的这些抗混叠参数传递到3D图形管线。
如图2所示,如果参数组54中指定给定对象“对象i”进行抗混叠,那么“对象i”在系统的3D处理部分内经受抗混叠50。
参数组可包括对象组识别参数56以识别待进行抗混叠的给定图像的一组对象。对象组识别参数可包括一组识别符,其识别来自组成给定图像的场景的对象序列的个别对象。
参数组可包括待由管线使用的一种选定类型的抗混叠算法58,以及所述选定类型的抗混叠算法的参数60。参数组可进一步包括抗混叠取样指定参数62,以指定当进行抗混叠过取样时,对一组指定对象的每一对象执行过取样,还是对整个图像执行过取样;且参数组可进一步包括抗混叠加权指定参数64,以指定当进行抗混叠加权时,对一组指定对象的每一对象执行加权,还是对整个图像执行加权。
参数组可包括加权计时参数66,以指定在管线的纹理化部分之前还是在管线的混合部分之后执行抗混叠加权。
图3是可在图1中所说明的移动装置10中使用的3D图形管线的有关部分的方框图。所说明的管线80包括模型与视图变换阶段82、光照阶段84、投影阶段86、剪辑阶段88、屏幕映射阶段90,和光栅化阶段92。所说明的光栅化阶段92包括设置部分96、着色部分98、隐藏表面去除部分100、纹理化部分102,和混合部分104。
在模型与视图变换阶段82中,所描绘场景的模型定位在自然空间(world space)中且接着定位在相机或眼空间中。在光照阶段84中添加光照信息,且在投影阶段86中,依据标准化装置坐标来描述经光照修改的对象,即,将三维对象信息转换成二维信息。剪辑阶段88将场景的处于场景的所界定视图体积外的那些部分去除。接着通过屏幕映射阶段90将场景的经投影和剪辑的二维再现映射到屏幕(以屏幕坐标x和y,且缩放为屏幕的尺寸)。还为场景保存z坐标信息。
设置部分96对图像的图元(例如,三角形)中的每一者执行计算。这些计算先于图形管线的内插部分(另外称为着色部分98,或图元到像素转换阶段)。这些计算可包含(例如)使用边的两个端点处的顶点信息来计算三角形边的斜率。着色部分98涉及执行算法以根据沿着二维屏幕依照水平和垂直(X和Y)位置寻址的像素来界定屏幕的三角形。纹理化部分102使图像对象(在所述实施例中为三角形)与经设计以增加到那些对象的实际外观的某些图像匹配。明确地说,纹理化部分102将通过执行表面参数化和检视投影来映射给定的纹理图像。通过执行将表面参数化到对象空间(x0,y0,z0)中而将纹理空间(u,v)(以纹素表示)中的纹理图像转换成对象空间。接着将对象空间中的图像投影到屏幕空间(x,y)(像素)中,并投影到对象(三角形)上。
在所说明的实施例中,混合部分104从纹理化部分102取得纹理像素颜色,并将其与纹理化前的三角形的相关三角形像素颜色组合。混合部分104还对经纹理组合的像素执行α混合,并对输出像素执行逐位逻辑运算。更明确地说,在所说明的系统中,混合部分104是3D图形管线中的最后阶段。因此,混合部分104会将3D硬件16的最终输出像素写入到系统存储器12内的帧缓冲器32。提供隐藏表面去除(HSR)部分100,其使用深度信息来从像素数据中消除隐藏表面。因为在所说明的实施例中隐藏表面去除部分100被提供在着色部分98与纹理化部分102之间,所以其简化了图像数据并减小了对管线的带宽需求。
所说明的着色部分98包括抗混叠过取样机构110和抗混叠加权机构112(如图3中所说明的平均机构)。所说明的混合部分104也包括抗混叠加权机构114(也是如图3中所说明的平均机构)。
抗混叠需要过取样和随后的加权。通过在管线中较早地进行过取样(例如,在执行隐藏表面去除或纹理化之前)而稍后在管线中(例如,在混合部分中)进行加权,可改进经渲染图像的质量。举例来说,这允许在过取样之后但在加权之前完成某些计算。这些计算(例如,关于一个对象何时接触或覆盖另一对象)对于经过过取样的数据来说更为准确。然而,此过取样造成对管线的带宽(即,处理速率)的需求相应增加。举例来说,每标准像素四个过取样的像素的过取样速率要求给定的处理阶段从主存储器存取帧,以致使对于每一帧存取来说,通过系统总线传送多达四倍的数据。
根据一个实施例,着色部分98中的抗混叠过取样机构110可针对给定图像,在所述管线的较早阶段,对所述给定图像的对象的一部分执行过取样。在此实施例中,在混合部分104中的加权机构114处执行加权。通过在图形管线的此较早阶段仅对对象的一部分执行抗混叠,减小了对管线的处理速率需求。
根据另一实施例,着色部分包括抗混叠过取样机构110和抗混叠加权机构112。抗混叠过取样机构110针对给定图像,在所述管线的较早阶段,对所述给定图像的对象的至少一部分执行抗混叠过取样。抗混叠加权机构112针对给定图像,在所述管线的较早阶段,对所述给定图像的由所述抗混叠过取样机构进行过取样的部分执行抗混叠加权。通过在管线的较早阶段(例如,在纹理化之前)执行过取样和加权两者(加权将像素数目减少到过取样过程之前的数目),实现了抗混叠的益处,同时由3D图形管线的稍后部分处理的数据的量保持最少。
图4是经配置以实现按对象抗混叠过取样(per object antialiasing oversampling)的3D图形管线的示范性着色部分120的方框图。所说明的着色部分120包括切换器124,其接收给定对象“对象k”并将“对象k”引导到抗混叠过取样126或标准像素取样128。经取样的值(即,所得的像素值)经由本地缓冲器或寄存器130转发到帧缓冲器。所说明的示范性着色部分120对每一对象(在所说明的实施例中,每一个三角形)的信息执行内插函数,从而计算RGB、a(α)、u,v(纹理坐标)、z(深度)和w(透视校正)。
切换器124可包括(例如)表查找机构,以在表中查找给定对象是否将被过取样。因为给定对象为前景对象,所以可指定给定对象进行过取样,从而调整与抗混叠相关的额外带宽成本。如果(例如)给定对象是不需要清晰a再现的背景对象,那么可指定给定对象进行标准像素取样。可使用抗混叠扩展的参数组(如图2所示)来具体选择对象以进行过取样或标准像素取样。
由图中所示系统执行的处理可由通用计算机单独或结合专门的处理计算机来执行。此处理可由单个平台或由分布式处理平台执行。另外,此处理可以专用硬件的形式或以由通用计算机运行的软件的形式实施。在此处理过程中所处理的或由于此处理而产生的任何数据均可存储在任何类型的存储器中。举例来说,此类数据可存储在临时存储器中,例如存储在给定计算机系统或子系统的RAM中。另外,或作为替代,此类数据可存储在例如磁盘、可重写光盘等长期存储装置中。出于本文的揭示内容的目的,计算机可读媒体可包括任何形式的数据存储机构,包含此类不同的存储技术以及此类结构的和此类数据的硬件或电路表现形式。
虽然已参照某些所说明的实施例描述了本发明,但本文已使用的措辞是描述性措辞而不是限定性措辞。可在不脱离本发明各方面的范围和精神的情况下,在所附权利要求书的界限内作出变化。尽管本文已参照特定结构、动作和材料描述了本发明,但本发明不应限于所揭示的细节,而是扩展到例如在所附权利要求书的范围内的所有等效结果、动作和材料。
权利要求
1.一种三维(3D)图形管线,其渲染3D场景的图像序列,每一个所述3D场景由一组多个对象组成的,所述管线包括纹理化部分、混合部分和抗混叠过取样机构,所述抗混叠过取样机构针对给定图像,在所述纹理化部分进行纹理化之前,对所述给定图像的对象的一部分执行过取样。
2.根据权利要求1所述的管线,其中所述对象为三角形。
3.根据权利要求2所述的管线,其中所述抗混叠过取样机构接收由应用程序通过使用抗混叠应用程序接口(API)函数而指定的抗混叠参数。
4.根据权利要求3所述的管线,其中所述API函数包括API扩展。
5.根据权利要求3所述的管线,其中所述应用程序在所述3D图形管线外部的存储器中运行。
6.根据权利要求3所述的管线,其中所述抗混叠过取样由所述抗混叠过取样机构根据所述接收到的抗混叠参数来执行。
7.根据权利要求2所述的管线,其中所述抗混叠过取样由所述抗混叠过取样机构以每一对象为基础来执行。
8.根据权利要求1所述的管线,其进一步包括抗混叠加权机构,以针对所述给定图像,在所述纹理化部分进行纹理化之后,对所述给定图像的所述经过过取样的对象执行抗混叠加权。
9.根据权利要求8所述的管线,其中所述抗混叠加权由所述抗混叠加权机构在所述管线的混合部分进行混合之后执行。
10.根据权利要求8所述的管线,其中所述抗混叠加权机构对经过取样的对象执行平均运算。
11.一种三维(3D)图形管线,其渲染3D场景的图像序列,每一个所述3D场景由一组多个对象组成,所述管线包括纹理化部分;抗混叠过取样机构,其针对给定图像,在所述管线的由所述纹理化部分进行纹理化之前的给定阶段,对所述给定图像的对象的至少一部分执行抗混叠过取样;和抗混叠加权机构,其针对所述给定图像,在所述管线的所述给定阶段,对所述给定图像的由所述抗混叠过取样机构进行过取样的所述部分执行抗混叠加权。
12.根据权利要求11所述的管线,其中所述对象为三角形。
13.根据权利要求11所述的管线,其中所述抗混叠过取样机构接收由应用程序通过使用抗混叠应用程序接口(API)函数而指定的抗混叠参数。
14.根据权利要求13所述的管线,其中所述API函数包括API扩展。
15.根据权利要求13所述的管线,其中所述应用程序在所述3D图形管线外部的存储器中运行。
16.根据权利要求13所述的管线,其中所述抗混叠过取样由所述抗混叠过取样机构根据所述接收到的抗混叠参数来执行。
17.根据权利要求11所述的管线,其中所述抗混叠过取样由所述抗混叠过取样机构以每一对象为基础来执行。
18.根据权利要求11所述的管线,其所述抗混叠过取样由所述抗混叠过取样机构对所述整个给定图像执行。
19.根据权利要求11所述的管线,其所述抗混叠过取样由所述抗混叠过取样机构对所述给定图像的所有对象执行。
20.根据权利要求11所述的管线,其中所述抗混叠加权机构执行平均运算。
21.一种保存机器可读数据的机器可读媒体,所述机器可读数据在由机器读取时致使三维(3D)图形管线执行某些抗混叠动作,所述机器可读数据包括抗混叠应用程序编程接口(API)函数,其在由应用程序调用时指令3D图形管线执行某些抗混叠动作,所述抗混叠API函数包括数据结构以从所述应用程序接收抗混叠参数并将从所述应用程序接收到的所述抗混叠参数传递到所述3D图形管线。
22.根据权利要求21所述的机器可读媒体,其中所述抗混叠参数包括对象组识别参数以识别待进行抗混叠的给定图像的一组对象。
23.根据权利要求22所述的机器可读媒体,其中所述对象组识别参数包括一组识别符,其识别来自组成所述给定图像的场景的对象序列的个别对象。
24.根据权利要求21所述的机器可读媒体,其中所述抗混叠参数包括待由所述管线使用的一种选定类型的抗混叠算法。
25.根据权利要求24所述的机器可读媒体,其中所述抗混叠参数包括所述选定类型的抗混叠算法的参数。
26.根据权利要求21所述的机器可读媒体,其中所述抗混叠参数包括抗混叠取样指定参数,以指定当进行抗混叠过取样时是每一对象地对一组指定对象执行所述过取样还是对所述整个图像执行所述过取样。
27.根据权利要求26所述的机器可读媒体,其中所述抗混叠参数包括抗混叠加权指定参数,以指定当进行抗混叠加权时是每一对象地对一组指定对象执行所述加权还是对所述整个图像执行所述加权。
28.根据权利要求27所述的机器可读媒体,其中所述抗混叠参数包括加权计时参数,以指定在所述管线的纹理化部分之前还是在所述管线的混合部分之后执行所述抗混叠加权。
29.一种嵌入式装置,其包括系统存储器;系统总线;和3D图形核心,其经由所述系统总线耦合到主存储器,所述3D图形核心包括图形管线,所述图形管线包括着色部分、纹理化部分和混合部分,且经配置以渲染3D场景的图像序列,每一个所述3D场景由一组多个对象组成;所述图形核心进一步包括抗混叠过取样机构,其针对给定图像,在所述管线的由所述纹理化部分进行纹理化之前的阶段,对所述给定图像的对象的一部分执行过取样。
30.根据权利要求29所述的嵌入式装置,其中所述对象为三角形。
31.一种嵌入式装置,其包括系统存储器;系统总线;和3D图形核心,其经由所述系统总线耦合到主存储器,所述3D图形核心包括图形管线,所述图形管线包括着色部分、纹理化部分和混合部分,且经配置以渲染3D场景的图像序列,每一个所述3D场景由一组多个对象组成;所述图形核心进一步包括抗混叠过取样机构,其针对给定图像,在所述管线的由所述纹理化部分进行纹理化之前的给定阶段,对所述给定图像的对象的至少一部分执行抗混叠过取样;且所述图形核心进一步包括抗混叠加权机构,其针对所述给定图像,在所述管线的所述给定阶段,对所述给定图像的由所述抗混叠过取样机构进行过取样的所述部分执行抗混叠加权。
32.根据权利要求31所述的嵌入式装置,其中所述对象为三角形。
33.一种集成电路,其包括三维(3D)图形管线,所述3D图形管线渲染3D场景的图像序列,每一个所述3D场景由一组多个对象组成,所述管线包括纹理化部分、混合部分和抗混叠过取样机构,所述抗混叠过取样机构针对给定图像,在所述管线的由所述纹理化部分进行纹理化之前的阶段,对所述给定图像的对象的一部分执行过取样。
34.根据权利要求33所述的集成电路,其中所述对象为三角形。
35.一种集成电路,其包括三维(3D)图形管线,所述3D图形管线渲染3D场景的图像序列,每一个3D场景由一组多个对象组成,所述管线包括纹理化部分;抗混叠过取样机构,其针对给定图像,在所述管线的由所述纹理化部分进行纹理化之前的给定阶段,对所述给定图像的对象的至少一部分执行抗混叠过取样;和抗混叠加权机构,其针对所述给定图像,在所述管线的所述给定阶段,对所述给定图像的由所述抗混叠过取样机构进行过取样的部分执行抗混叠加权。
36.根据权利要求35所述的管线,其中所述对象为三角形。
全文摘要
本发明提供一种三维(3D)图形管线,其渲染3D场景的图像序列,每一个3D场景由一组多个对象组成。所述管线包括抗混叠过取样机构以针对给定图像,在所述管线的较早阶段,对所述给定图像的对象的一部分执行过取样。
文档编号G06T15/00GK101061518SQ200580039572
公开日2007年10月24日 申请日期2005年9月23日 优先权日2004年9月23日
发明者迈克尔·休·安德森 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1