用于编码纹理信息的方法和设备的制作方法

文档序号:6410523阅读:207来源:国知局
专利名称:用于编码纹理信息的方法和设备的制作方法
技术领域
本发明涉及计算机绘图学,且更具体地涉及到图像纹理处理方法、设备和计算机程序产品。
相关技术描述在移动终端上三维图形的实时着色(rendering)有着很多吸引人的应用,包括游戏、人机接口、消息传送和移动商务。由于三维着色是一个计算量巨大的任务,往往必须设立专用硬件以达到足够的性能。因而,降低此硬件体系结构的复杂性和带宽使用率的创新方式是极其重要的。
在实时着色中增加真实程度的一个标准方式就是将纹理应用到表面上。这可以以多种方式实现,包括环境映射、凸出映射(bump mapping)、经过自动纹理坐标生成的纹理操作、基于投影的纹理操作,等等。对于所有这些使用纹理的不同方式来说共同的是可能需要高质量的纹理过滤以减少锯齿问题。锯齿可能极大地干扰人类观察者,尤其是在动态场景的情况下。
通常使用的、在硬件中实现的纹理过滤方案是MIP映射(mipmapping,小中见大映射),并且以三线MIP映射的形式存在,这提供了比较高质量的过滤。缺点是可能发生过模糊(overblurring)现象。然而,值得注意的是这可能由于锯齿。MIP映射在比如Lance Williams的“Pyramidal Parametrics”(ComputerGraphic,SIGGRAPH′83 Proceedings pp.1-11 July 1983)(“锥形参数”(计算机绘图,计算机绘图专业组′83会议记录1-11页,1983年7月)中论述过,因此,在这里整体地引入其公开内容作为参考。
三线MIP映射需要被过滤成一种所使用颜色的八个纹理元素,因而,最坏情况下,在获得该过滤颜色之前可能需要八次存储器读取。具有预取功能的纹理高速缓存可以掩盖这个问题,但是这种技术在硬件上来说可能很昂贵。
各向异性过滤方案可以比如通过过滤几个三线MIP映射采样来减少或消除过模糊现象。最终目的是使它们可以一起完美地覆盖把像素投影到纹理空间而获得的四边形。随着过滤质量的提高,可能非常显著地增加存储器读取的次数。通常次数范围是在16-128次纹理元素读取。
在下面的参考文献中论述了着色、纹理过滤、纹理映射,和/或参数的各个方面Akenine-Moller、Tomas、and Eric Haines,Real-Time Rendering,2ndedition,June 2002(实时着色,第二版,2002年6月);Beers,Andrew C.,ManeeshAgrawala,and Navin Chaddha,″Rendering from Compressed Textures,″ComputerGraphics(SIGGRAPH 96 Proceedings),pp.373-378,August 1996(“由压缩纹理形成的着色”,计算机绘图(计算机绘图专业组96会议记录)373-378页,1996年8月);Behrens,Uwe,″Averaged Area Tables for Texture Filtering,″SIGGRAPH 2001 Conference Abstracts and Applications,p.150,2001(“用于纹理过滤的平均面积表”,计算机绘图专业组2001讨论会摘要和应用,第150页,2001年);Crow,Franklin C.,″Summed-Area Tables for Texture Mapping,″Computer Graphics(SIGGRAPH′84 Proceedings),pp.207-212,July 1984(“用于纹理映射的总面积表”,计算机绘图(计算机绘图专业组84会议记录)207-212页,1984年7月);McCabe,Dan,and John Brothers,″DirectX 6 Texture MapCompression,″Game Developer Magazine,vol.5,no.8,pp.42-46,August 1998(“DirectX6纹理映射压缩”,游戏开发者期刊,第5卷,第8期,42-46页,1998年8月);and Williams,Lance,″Pyramidal Parametrics,″Computer Graphics(SIGGRAPH′83 Proceedings),pp.1-11,July 1983(“锥形参数”计算机绘图(计算机绘图专业组′83会议记录)1-11页,1983年7月)。因此,在这里整体地引入这些参考文献的各自的分开内容作为参考。
对于移动平台来说,存储器存取可以是非常昂贵的。在一个标准计算机绘图体系结构上,超过三分之二的存储器存取可以是由于纹理操作而引起的。比如,在三线MIP映射的例子中,纹理操作可能需要八次存储器存取,而其余的光栅操作可能需要另外三次(z读、z写和颜色缓冲器写)。由于每像素的十一次存储器存取,为获得合理的性能可能需要非常高的时钟频率。高时钟速率可能耗费大量的功率并可能不适用于移动平台。因而减少用于纹理操作的存储器存取次数,而同时维持类似于MIP映射的纹理质量可能是令人期待的。
在图形硬件中,经常使用纹理压缩作为节省带宽的手段。其思想是纹理元素值(其可构成纹理)以压缩格式存储在存储器中,这可以减少在总线上发送纹理时所需的带宽。当数据到达目的地时,一个硬件机制将会解压缩纹理元素数据。
在Andrew C.Beers等人的″Rendering from Compressed Textures,″(Computer Graphics,SIGGRAPH 96 Proceedings,pp.373-378,August 1996)(“由压缩纹理形成的着色”,计算机绘图,计算机绘图专业组96会议记录,373-378页,1996年8月)中论述了这一开创性工作,因此在这里整体地引入其公开内容作为参考。Beers等人论述了矢量量化的使用,并使用大量图像来训列矢量集合。一种流行的方案被称为S3TC。
发明概要依照本发明的一些实施例,像素是通过以下方式被进行纹理化的,即存储第一纹理元素参考值、第二纹理元素参考值、和纹理元素值,以用来映射纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的3元组,从而代表一个纹理元素块。用于该像素的像素值是从所存储的纹理元素值生成的,并响应于所生成的像素值来显示该像素。第三纹理元素参考值可以由第一和第二纹理元素参考值算术地确定,例如,第三纹理元素参考值可以代表第一和第二纹理元素参考值的算术平均值。举例来说,纹理元素值可以包含RGB色值、灰度级值、或其他的图形表示。
在本发明的进一步的实施例中,为大量交叠(overlapping)纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值。在一些实施例中,用于像素分布图中像素的像素值可以由所存储的、大量交叠纹理元素块中最近邻纹理元素组的纹理元素值生成,其中所述纹理元素块相交叠,这样使得为像素分布图中任一像素生成一个色值都需要所存储的、不超过一单个纹理元素块的纹理元素值。在进一步的实施例中,可以由所存储的、大量交叠的纹理元素块中最近邻纹理元素组的纹理元素值而为像素分布图中的像素生成像素值,其中所述纹理元素块相交叠,这样使得为像素分布图中任一像素生成一个色值都需要所存储的、不超过两个纹理元素块的纹理元素值。
仍然依照本发明的进一步的实施例,从检索到的一组最近邻纹理元素的纹理元素值进行双线性内插而得出像素的第一MIP映射值。
像素的第二MIP映射值是对检索到的该组最近邻纹理元素的纹理元素值进行平均而生成的。像素的像素值是通过在第一和第二MIP映射值之间进行内插而生成的。
依照本发明的纹理压缩、块交叠和纹理过滤技术可以被个别地使用和/或组合地使用。本发明可以体现为一种方法、设备和计算机程序产品。例如,本发明可以被方便地使用于手持设备中,例如用在无线终端、个人数字助理(PDA),等等中。
附图简述

图1图示了依照本发明的一些实施例的纹理元素块的存储表示法。
图2图示了依照本发明进一步的实施例的一个示范性三重纹理元素值映射。
图3图示了一个示范性像素/纹理元素关系。
图4图示了依照本发明的一些实施例的交叠纹理元素块的排列。
图5图示了依照本发明的一些实施例的一组示范性最近邻纹理元素。
图6图示了依照本发明的一些实施例的配置成提供纹理处理的无线终端。
图7是一个流程图,它图示了依照本发明进一步的实施例的示例性纹理处理操作。
详细说明现在将参照附图更全面地描述本发明,其中在附图中展示了本发明的示例性实施例。提供这些实施例可以使本申请更加全面和完整。全文中类似的数字指的是类似的元件。
依照在此描述的本发明的各种实施例,提出了可以显著地减少带宽使用率的纹理过滤的新颖提议,本发明的各个方面可包括纹理压缩;和/或纹理块交叠;和/或纹理过滤。
依照本发明的实施例,这三个方面可以结合在一起以提供一个廉价的纹理过滤系统(POOMA)。
首先将给出这种系统的示例性实施例的概要,而接下来将给出可如何建立本发明各方面的更多细节。
在本发明的一些实施例中,纹理图像可以被分成多个小块(例如3×2的纹理元素),而纹理压缩可用来减少访存这样的块所需要的存储器带宽,典型地可下降到一次32位存储器读取。下一步,纹理交叠,可以相当于使块交叠,从而使每纹理元素的4个相邻群总是被完全包含在这些块的其中一个之内。这使得利用一次存储器存取来执行双线性过滤成为可能。在此描述的纹理过滤提供了一种过滤四个纹理元素以获得该像素颜色的方式。正如MIP映射的情形,在四个像素上的双线性过滤可以被使用在底部MIP映射级上。不过,这里是计算四个最近读取的纹理元素的平均并替代地使用这个值,而不是从上部MIP映射级上访存纹理元素。此结果可以提供比使用最近邻的MIP映射明显更好的纹理操作,并可以产生几乎与三线MIP映射一样好的结果。代价可以仅仅是每个过滤颜色一次32位存储器读取,相比之下最近邻的MIP映射(较低质量)需要两次,而三线MIP映射(较高质量)需要八次。
A.纹理压缩依照在此描述的本发明实施例的纹理压缩解码器的各方面类似于流行的S3TC方案,只是做了改进从而有可能仅仅在一次32位存储器传递中就读取整个块。在32位体系结构的例子中,单独地或者组合地采取下列改进,可使块/存储器传递的比率为1块的尺寸显著地更小,例如2×3像素;使用三个颜色(两个参考颜色加一个中间颜色)而不是四个;
参考颜色以每颜色11比特而不是16比特编码;和/或该三个颜色以三进制表示法编码(与二进制表示法相反)。
这些改进使得在一次32位存储器传递(四个字节)中读取整个块成为可能。
一个2×3的纹理元素块可以使用如图1所示的数据单元100来代表。在图1中,rL、gL和bL代表第一参考色的红、绿和蓝成分,这里用“L”标记“左”。同样地,rR、gR和bR代表第二参考色,用“R”标记“右”。根据这两种颜色,通过取R和L的算术平均,而创建出一个“中间的”参考色。这个新的参考色以“M”来表示为“中间的”。注意,虽然可用4+4+3比特来存储R和L,却可用5+5+4比特来代表M。
此外,图1中以x标记的比特代表该块中所述纹理元素中三个的颜色。举例来说,我们可以选择最顶端的三个纹理元素从x中得到它们的颜色,而最底端的纹理元素由y控制。x和y都通过使用表1映射到L、M和R的三元组表1
举例来说,如果x=23(10111)且y=0(00000),则块200将被解码成如图2所示,其中左上像素将得到“右”的参考值,下一个像素得到“中间的”值等等。不使用从27到31的范围。通常,有可能使用最多(log(3^k)/log(2))个比特编码k个3元组。这可允许在仅仅一次32位存储器传递中读取2×3=6个纹理元素值。与每像素两个字节相比,压缩比为2×4∶6×4,也就是说,1∶3。注意,如果所述纹理被放大,则下一个像素有很大的机会将寻址到相同的块。因而,对于该像素的纹理操作可能只需要零存储器传递。
B.纹理块交叠当进行传统的双线性内插时,可能需要纹理图中的最接近于采样点的四个纹理元素。比如,如图3所示,如果一个像素位于灰色区域310内,则在同一块中可以找到全部四个最近邻纹理元素的色值,并且仅仅需要一次存储器传递。不过,更经常的是,可能必需访存多达四个块以便得到全部的最接近的相邻者。
图4中,显示了依照本发明的实施例如何将块布置成交叠的样式,以避免双线性内插的额外读取。因而以实线标记的块400a交叠于以方形虚线标记的块400b(位于右面)和以圆形虚线标记的块400c(位于下面)。采用这种样式,总有可能找到包含某一像素的全部四个相邻者的一个块。因而这四个相邻者可以被布置在仅仅一次存储器访存中。
这可能是以这样的代价,即数据在x轴方向扩展1.5倍而在y轴方向扩展2倍。不过,由于纹理压缩的压缩比是3∶1,因此最终将是有相同的存储器需求,就像既没有使用纹理压缩又没有使用纹理交叠一样。
交叠可能被限制在一个方向上。举例来说,通过仅仅在x轴方向交叠,数据仅仅按系数1.5扩大。(包括压缩,总共的存储量仅仅是原来的0.5倍)。这样,在50%的情况下,全部四个像素都位于该块内。在其余的情况下,必须读取另一个块。表2示出了可能需要什么样的存储器需求和什么样的平均带宽。
表2
C.纹理过滤一旦已经访存该像素的四个相邻纹理元素,纹理操作就可以开始了。如图5所示,用A、B、C和D表示四个最近邻纹理元素,通过在A、B、C和D上使用双线性内插,可以获得一个较低级别的第一MIP映射值Q。通过平均A、B、C和D,可以获得一个较高级别的第二MIP映射值P。取决于该像素靠近较低的和较高的MIP映射级别的情况,在第一和第二MIP映射值Q和P之间可以执行线性内插以确定用于该像素的值。
注意,如果A、B、C和D在纹理元素图上位于偶数位置,则P将是MIP映射分级结构中的对应纹理元素。在这种情况下,结果将等于在较低的MIP映射级别上使用双线性内插和在较高的MIP映射级别上使用最近邻内插。不过,如果A、B、C和D不在偶数位置上,则可以获得比仅仅在较高的MIP映射级别上使用最近邻更正确的值。因而该性能可被改善而优于在较低级别上使用双线性和在较高级别上使用最近邻。
有时,由于过模糊现象可能不是那么严重,此前描述的POOMA纹理过滤的结果甚至看上去比三线性过滤更好。注意,这种纹理过滤可以独立于纹理压缩和纹理块交叠而将存储器传递的次数减半。
依照本发明的各方面,通过使用3个级别(L、M和R)而不是四个级别,可以提供在表达纹理元素中节省比特的能力。三进制表示法可以针对k个纹理元素仅仅使用最多(log(3^k)/log(2))个比特,而不是使用四个级别时需要的2*k个比特。这可以增加每块的压缩效率。依照其它方面,使用交叠块可以使得有可能把为着色一个像素而需要存取的块的平均数降低到每像素一次32位存储器存取。另外,仍依照附加的方面,对四个相邻像素的过滤可用于产生该像素的颜色。这意味着每像素可能仅仅需要存取一个MIP映射级别,而不是三线MIP映射情况中的两个,从而将所需的存储器存取的次数减半。应当理解,这些特征可以在多种组合中使用和/或单独地使用。
D.示例性实现方式在本申请中,图6和7是图示依照本发明的实施例的示例性设备与操作的框图。应当明白,该框图中描绘的那些操作及其组合,可以使用一个或多个电子电路来实现,比如被包含在无线通信系统元件中或无线终端中的电路。还应当理解,通常,该框图中描绘的那些操作及其组合,可以在一个或多个电子电路中实现,比如一个或多个分立电子元件、一个或多个集成电路(IC)、一个或多个专用集成电路(ASIC)、以及专用电路模块,还可以通过计算机或其他数据处理设备(比如微处理器或数字信号处理器(DSP))可执行的计算机程序指令来产生一个机器,使得在计算机或其他可编程数据处理设备上执行的所述指令建立实现指定操作的电子电路或其他装置。所述计算机程序指令也可以在一个或多个计算机或其它数据处理设备上执行,以促成要由该计算机(们)或其它可编程设备来实行的一系列动作,从而产生计算机实现的、包含指定操作的进程。
所述计算机程序指令还可以以计算机程序产品的形式内嵌在计算机可读的存储介质中,也就是说,其作为计算机可读的程序代码被内嵌在供一个指令执行系统使用的或与其有关的介质中。计算机可读的存储介质可以包括但不限于电子的、磁性的、光学的或其他的存储介质,比如磁盘或光盘或集成电路存储器设备。比如,所述计算机程序指令可以内嵌在被包含于无线通信设备的元件中的存储器中和/或可操作以编程此种存储器的存储介质中。因此,图6和7的示意图中的方块可支持实行指定操作的电子电路及其他设备、用于实行指定操作的动作、以及配置成实行指定操作的计算机程序产品。
图6图示了一个可以实现本发明的无线终端600。该终端600包含由数据处理器620控制的显示器610和相关的存储器630,所述数据处理器620比如是一个微处理器、微控制器、数字信号处理器(DSP)或图形处理器。还包含纹理处理器电路622,在这里它被展示为实现在该处理器620中,它把纹理元素块信息存储在存储器630中并从存储器630中检索纹理元素块信息。还包含显示发生器电路624,在这里它也被展示为实现在该处理器620中,它响应于纹理处理器电路622来控制显示器610。纹理处理器622电路可以被配置成实行在此所描述的纹理压缩、块交叠和纹理过滤技术。
应当理解,图6的设备是为示例性用途而提供的,以及可以采用大量其它形式的任何一种形式来实现本发明。比如,本发明同样适合于在生成图形显示的其他类型的设备中的应用,包括但不限于桌面个人电脑和工作站;膝上型、笔记本型、超薄型及其他便携式计算机;个人数字助理(PDA);以及电子书阅读器和其他的轻便图形设备。还应当理解,图6中图示的图形处理体系结构只是一种示例性的,而各类体系结构,比如使用特定用途专用图形硬件来生成图形显示的体系结构,都可以与本发明一起使用。依照本发明的各种实施例,在此描述的纹理压缩、纹理元素块布置和纹理过滤可以被单独地使用或组合地使用,而这些操作可以被应用于大量不同的图形处理环境的任一环境中,包括图6的无线终端600所展示的环境。
图7图示了依照本发明一些实施例的示例性纹理处理操作,这些操作可以例如由图6的无线终端的处理器620和存储器630来实现。为大量交叠纹理元素块中相应的块存储相应的数据单元(例如,上述包含RGB色信息的32位字)(框710)。所述数据单元的每一个包含第一和第二纹理元素参考值以及一个或多个用于该块中纹理元素的纹理元素值,其中所述一个或多个的纹理元素值将所述纹理元素映射到该第一和第二纹理元素参考值及一个第三纹理元素参考值的三元组,所述第三纹理元素参考值由第一和第二参考值决定,例如,作为第一和第二纹理元素参考值的算术平均。应当理解,所述纹理元素值可以包括但不限于RGB色值、灰度级值、和/或其它通常被用于图形应用的表达形式。
像素的纹理操作开始于检索所述数据单元、或与该纹理元素块相关联的元素、或包含该像素最近邻纹理元素(例如,最近的四个相邻纹理元素)的块(框720)。然后所检索到的数据单元中的纹理元素值被映射到所述纹理元素参考值的三元组(框730)。从最近邻纹理元素的纹理元素值进行双线性内插得出第一MIP映射值(框740),以及对最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值(框750)。从第一和第二MIP映射值进行线性内插得到该像素的像素值(框760),以及所生成的像素值被用来显示该像素(框770)。
虽然图7图示了本发明的新颖的纹理压缩、交叠纹理元素块排列、以及纹理过滤技术的组合使用,但应当理解,使用这些技术的子集与传统技术相结合仍然属于本发明的范围。比如,本发明的新颖的纹理压缩技术可以与传统的、不交叠的纹理元素块排列和传统的双线性、三线性或其它纹理过滤技术一起使用。类似地,传统的纹理存储和/或压缩以及传统的纹理过滤技术可以与本发明的新颖的纹理元素块排列一起使用。最后,传统的纹理存储和/或压缩技术以及传统的纹理元素块排列可以与本发明的新颖的纹理过滤技术一起使用。
在这些附图和本说明书中已经公开了本发明的示例性实施例。虽然采用了特定的术语,但它们仅仅是用于一般性的和描述性的意义,而并不出于限制的意图。
权利要求
1.一种对像素进行纹理化的方法,包括存储第一纹理元素参考值、第二纹理元素参考值、和纹理元素值以用来映射纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块;从所存储的纹理元素值生成用于该像素的像素值;以及响应于所生成的像素值而显示该像素。
2.依照权利要求1的方法,其中由第一和第二纹理元素参考值算术地确定第三纹理元素参考值。
3.依照权利要求2的方法,其中第三纹理元素参考值代表第一和第二纹理元素参考值的算术平均。
4.依照权利要求1的方法,其中存储第一纹理元素参考值、第二纹理元素参考值和纹理元素值以用来映射纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块包括存储第一RGB色参考值、第二RGB色参考值、和纹理元素值以用来通过使用不超过最多(log3k/log2)比特来映射一k个纹理元素的块中的纹理元素到该第一RGB色参考值、该第二RGB色参考值和一个第三RGB色参考值的三元组以表现该k个纹理元素的块。
5.依照权利要求5的方法,其中存储第一RGB色参考值、第二RGB色参考值、和纹理元素值以用来通过使用仅仅最多(log3k/log2)比特来数映射一k个纹理元素的块中的纹理元素到该第一RGB色参考值、该第二RGB色参考值和一个第三RGB色参考值的三元组以表现该k个纹理元素的块包括在单个32位字中存储用于一个2x3纹理元素块的第一RGB色参考值、第二RGB色参考值和两个纹理元素值。
6.依照权利要求1的方法,其中存储用于纹理元素的第一纹理元素参考值、第二纹理元素参考值、和纹理元素值包括存储用于多个交叠纹理元素块中相应块的纹理元素的相应的第一纹理元素参考值、第二纹理元素参考值和纹理元素值。
7.依照权利要求1的方法其中存储用于纹理元素的第一纹理元素参考值、第二纹理元素参考值、和纹理元素值包括存储用于多个纹理元素块中相应块的纹理元素的相应的第一纹理元素参考值、第二纹理元素参考值和纹理元素值;以及其生成用于该像素的像素值包括检索存储的至少一个纹理元素块的纹理元素值以获得用于该像素的一组最近邻纹理元素的纹理元素值;从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值;对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值。
8.依照权利要求6的方法,其生成用于该像素的像素值包括检索存储的至少一个纹理元素块的纹理元素值以获得用于该像素的一组最近邻纹理元素的纹理元素值;从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值;对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值。
9.一种对像素进行纹理化的方法,包括为多个交叠纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值;从所存储的纹理元素值生成用于该像素的像素值;以及响应于所生成的像素值而显示该像素。
10.依照权利要求9的方法其中从所存储的纹理元素值生成用于该像素的像素值包括从所存储的多个交叠纹理元素块中最近邻纹理元素组的纹理元素值生成用于像素分布图中像素的像素值;以及其中所述纹理元素块相交叠,使得为像素分布图中任一像素生成像素值都需要被存储的不超过一单个纹理元素块的纹理元素值。
11.依照权利要求9的方法其中从所存储的纹理元素值生成用于该像素的像素值包括从所存储的多个交叠纹理元素块中最近邻纹理元素组的纹理元素值生成用于像素分布图中像素的像素值;以及其中所述纹理元素块相交叠,使得为像素分布图中任一像素生成像素值都需要被存储的不超过两个纹理元素块的纹理元素值。
12.依照权利要求9的方法,其中所述纹理元素块在两个正交方向上交叠。
13.依照权利要求9的方法,其中所述纹理元素块仅仅在一个方向上交叠。
14.依照权利要求9的方法,其生成用于该像素的像素值包括检索存储的至少一个纹理元素块的纹理元素值以获得用于该像素的一组最近邻纹理元素的纹理元素值;从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值;对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值。
15.一种对像素进行纹理化的方法,包括检索存储的至少一个纹理元素块的纹理元素值以获得用于一个像素的一组最近邻纹理元素的纹理元素值;从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值;对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值;以及响应于所生成的像素值而显示该像素。
16.依照权利要求15的方法,其中该组最近邻纹理元素由四个最近邻的纹理元素组成。
17.一种设备,包括一个显示器;用于存储第一纹理元素参考值、第二纹理元素参考值、以及纹理元素值以用来映射纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块的装置;从所存储的纹理元素值生成用于该像素的像素值的装置;以及响应于所生成的像素值在显示器上显示该像素的装置。
18.依照权利要求17的设备,其中用于存储第一纹理元素参考值、第二纹理元素参考值和纹理元素值以用来映射纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块的装置包括存储第一RGB色参考值、第二RGB色参考值、和纹理元素值以用来通过使用仅仅最多(log3k/log2)比特来映射一k个纹理元素的块中的纹理元素到该第一RGB色参考值、该第二RGB色参考值和一个第三RGB色参考值的三元组以表现该k个纹理元素的块的装置。
19.依照权利要求15的设备,其中用于存储的装置、用于生成像素值的装置、和用于显示的装置在一个无线终端中实现。
20.一种设备,包括一个显示器;为多个交叠纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值的装置;从所存储的纹理元素值生成用于该像素的像素值的装置;以及响应于所生成的像素值在该显示器上显示该像素的装置。
21.依照权利要求20的设备,其中用于存储的装置、用于生成像素值的装置、和用于显示的装置在一个无线终端中实现。
22.一种设备,包括一个显示器;检索存储的至少一个纹理元素块的纹理元素值以获得用于一个像素的一组最近邻纹理元素的纹理元素值的装置;从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值的装置;对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值的装置;在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值的装置;以及响应于所生成的像素值在该显示器上显示该像素的装置。
23.依照权利要求22的设备,其中用于检索的装置、用于双线性内插的装置、用于平均的装置、用于内插的装置、和用于显示的装置在一个无线终端中实现。
24.一种设备,包括一个显示器;一个存储器;一个纹理处理器电路,用来在该存储器中存储第一纹理元素参考值、第二纹理元素参考值、和纹理元素值以用来映射一个纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块,并从所存储的纹理元素值生成用于该像素的像素值;以及一个显示发生器电路,用来响应于所生成的像素值而在该显示器上显示该像素。
25.一种设备,包括一个显示器;一个存储器;一个纹理处理器电路,用来在该存储器中为多个交叠纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值,并从所存储的像素值生成用于该像素的像素值;以及一个显示发生器电路,用来响应于所生成的像素值而在该显示器上显示该像素。
26.一种设备,包括一个显示器;一个存储器;一个纹理处理器电路,用来在该存储器中为多个纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值,检索存储的至少一个纹理元素块的纹理元素值以获得用于一个像素的一组最近邻纹理元素的纹理元素值,从检索到的该组最近邻纹理元素的纹理元素值中双线性内插用于该像素的第一MIP映射值,对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值,以及在第一和第二MP映射值之间进行内插以生成用于该像素的像素值;以及一个显示发生器电路,用来响应所生成的像素值而在该显示器上显示该像素。
27.一种用于对像素进行纹理化的计算机程序产品,该计算机程序产品包括内嵌在计算机可读的程序存储介质里的计算机可读程序代码,该计算机可读程序代码包括配置成存储第一纹理元素参考值、第二纹理元素参考值、以及纹理元素值以用来映射纹理元素到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块的程序代码;配置成从所存储的纹理元素值生成用于该像素的像素值的程序代码;以及配置成响应于所生成的像素值而促成该像素的显示的程序代码。
28.依照权利要求27的计算机程序产品,其中配置成存储第一纹理元素参考值、第二纹理元素参考值、和纹理元素值以用于一个纹理元素的程序代码包括配置成存储相应的第一纹理元素参考值、第二纹理元素参考值和纹理元素值以用于多个交叠纹理元素块中相应块的纹理元素的程序代码。
29.依照权利要求27的计算机程序产品其中配置成存储第一纹理元素参考值、第二纹理元素参考值、和纹理元素值以用于一个纹理元素的程序代码包括配置成存储相应的第一纹理元素参考值、第二纹理元素参考值和纹理元素值以用于多个纹理元素块中相应块的纹理元素的程序代码;以及其中配置成生成用于该像素的像素值的程序代码包括配置成检索存储的至少一个纹理元素块的纹理元素值以获得用于该像素的一组最近邻纹理元素的纹理元素值的程序代码;配置成从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值的程序代码;配置成对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值的程序代码;以及配置成在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值的程序代码。
30.依照权利要求28的计算机程序产品,其中配置成生成一个用于该像素的像素值的程序代码包括配置成检索存储的至少一个纹理元素块的纹理元素值以获得用于该像素的一组最近邻纹理元素的纹理元素值的程序代码;配置成从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值的程序代码;配置成对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值的程序代码;以及配置成在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值的程序代码。
31.一种用于对像素进行纹理化的计算机程序产品,该计算机程序产品包括内嵌在计算机可读的程序存储介质里的计算机可读程序代码,该计算机可读程序代码包括配置成为多个交叠纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值的程序代码;配置成从所存储的纹理元素值生成用于该像素的像素值的程序代码;以及配置成响应于所生成的像素值而促成该像素的显示的程序代码。
32.依照权利要求31的计算机程序,其中配置成生成一个用于该像素的像素值的程序代码包括配置成检索所存储的至少一个纹理元素块的纹理元素值以获得用于该像素的一组最近邻纹理元素的纹理元素值的程序代码;配置成从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值的程序代码;配置成对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值的程序代码;以及配置成在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值的程序代码。
33.一种用于对像素进行纹理化的计算机程序产品,该计算机程序产品包括内嵌在计算机可读的程序存储介质里的计算机可读程序代码,该计算机可读程序代码包括配置成检索存储的至少一个纹理元素块的纹理元素值以获得用于一个像素的一组最近邻纹理元素的纹理元素值的程序代码;配置成从检索到的该组最近邻纹理元素的纹理元素值双线性内插用于该像素的第一MIP映射值的程序代码;配置成对检索到的该组最近邻纹理元素的纹理元素值进行平均以生成第二MIP映射值的程序代码;配置成在第一和第二MIP映射值之间进行内插以生成用于该像素的像素值的程序代码;以及配置成响应于所生成的像素值而促成该像素的显示的程序代码。
全文摘要
通过如下方式对一个像素进行纹理化,即存储第一纹理元素参考值、第二纹理元素参考值和纹理元素值以用来将一个纹理元素映射到该第一纹理元素参考值、该第二纹理元素参考值和一个第三纹理元素参考值的三元组从而表现一个纹理元素块。从所存储的纹理元素值生成该像素的像素值,并且响应于所生成的像素值来显示该像素。在一些实施例中,为多个交叠纹理元素块中相应的块存储相应的多个纹理元素参考值和映射到该纹理元素参考值的纹理元素值。在进一步的实施例中,一个像素的第一MIP映射值是从检索到的该组最近邻纹理元素的纹理元素值中进行双线性内插得出的。该像素的第二MIP映射值是通过对检索到的该组最近邻纹理元素的纹理元素值进行平均而生成的。该像素的像素值是通过在该第一和第二MIP映射值间进行内插而生成的。本发明可以体现为一种方法、设备和计算机程序产品。
文档编号G06T15/04GK1659595SQ03812975
公开日2005年8月24日 申请日期2003年6月2日 优先权日2002年6月7日
发明者J·斯特伦, T·阿克尼内-默勒 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1