亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于編碼紋理信息的方法和設(shè)備的制作方法

文檔序號(hào):6410523閱讀:252來源:國知局
專利名稱:用于編碼紋理信息的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)繪圖學(xué),且更具體地涉及到圖像紋理處理方法、設(shè)備和計(jì)算機(jī)程序產(chǎn)品。
相關(guān)技術(shù)描述在移動(dòng)終端上三維圖形的實(shí)時(shí)著色(rendering)有著很多吸引人的應(yīng)用,包括游戲、人機(jī)接口、消息傳送和移動(dòng)商務(wù)。由于三維著色是一個(gè)計(jì)算量巨大的任務(wù),往往必須設(shè)立專用硬件以達(dá)到足夠的性能。因而,降低此硬件體系結(jié)構(gòu)的復(fù)雜性和帶寬使用率的創(chuàng)新方式是極其重要的。
在實(shí)時(shí)著色中增加真實(shí)程度的一個(gè)標(biāo)準(zhǔn)方式就是將紋理應(yīng)用到表面上。這可以以多種方式實(shí)現(xiàn),包括環(huán)境映射、凸出映射(bump mapping)、經(jīng)過自動(dòng)紋理坐標(biāo)生成的紋理操作、基于投影的紋理操作,等等。對(duì)于所有這些使用紋理的不同方式來說共同的是可能需要高質(zhì)量的紋理過濾以減少鋸齒問題。鋸齒可能極大地干擾人類觀察者,尤其是在動(dòng)態(tài)場(chǎng)景的情況下。
通常使用的、在硬件中實(shí)現(xiàn)的紋理過濾方案是MIP映射(mipmapping,小中見大映射),并且以三線MIP映射的形式存在,這提供了比較高質(zhì)量的過濾。缺點(diǎn)是可能發(fā)生過模糊(overblurring)現(xiàn)象。然而,值得注意的是這可能由于鋸齒。MIP映射在比如Lance Williams的“Pyramidal Parametrics”(ComputerGraphic,SIGGRAPH′83 Proceedings pp.1-11 July 1983)(“錐形參數(shù)”(計(jì)算機(jī)繪圖,計(jì)算機(jī)繪圖專業(yè)組′83會(huì)議記錄1-11頁,1983年7月)中論述過,因此,在這里整體地引入其公開內(nèi)容作為參考。
三線MIP映射需要被過濾成一種所使用顏色的八個(gè)紋理元素,因而,最壞情況下,在獲得該過濾顏色之前可能需要八次存儲(chǔ)器讀取。具有預(yù)取功能的紋理高速緩存可以掩蓋這個(gè)問題,但是這種技術(shù)在硬件上來說可能很昂貴。
各向異性過濾方案可以比如通過過濾幾個(gè)三線MIP映射采樣來減少或消除過模糊現(xiàn)象。最終目的是使它們可以一起完美地覆蓋把像素投影到紋理空間而獲得的四邊形。隨著過濾質(zhì)量的提高,可能非常顯著地增加存儲(chǔ)器讀取的次數(shù)。通常次數(shù)范圍是在16-128次紋理元素讀取。
在下面的參考文獻(xiàn)中論述了著色、紋理過濾、紋理映射,和/或參數(shù)的各個(gè)方面Akenine-Moller、Tomas、and Eric Haines,Real-Time Rendering,2ndedition,June 2002(實(shí)時(shí)著色,第二版,2002年6月);Beers,Andrew C.,ManeeshAgrawala,and Navin Chaddha,″Rendering from Compressed Textures,″ComputerGraphics(SIGGRAPH 96 Proceedings),pp.373-378,August 1996(“由壓縮紋理形成的著色”,計(jì)算機(jī)繪圖(計(jì)算機(jī)繪圖專業(yè)組96會(huì)議記錄)373-378頁,1996年8月);Behrens,Uwe,″Averaged Area Tables for Texture Filtering,″SIGGRAPH 2001 Conference Abstracts and Applications,p.150,2001(“用于紋理過濾的平均面積表”,計(jì)算機(jī)繪圖專業(yè)組2001討論會(huì)摘要和應(yīng)用,第150頁,2001年);Crow,F(xiàn)ranklin C.,″Summed-Area Tables for Texture Mapping,″Computer Graphics(SIGGRAPH′84 Proceedings),pp.207-212,July 1984(“用于紋理映射的總面積表”,計(jì)算機(jī)繪圖(計(jì)算機(jī)繪圖專業(yè)組84會(huì)議記錄)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紋理映射壓縮”,游戲開發(fā)者期刊,第5卷,第8期,42-46頁,1998年8月);and Williams,Lance,″Pyramidal Parametrics,″Computer Graphics(SIGGRAPH′83 Proceedings),pp.1-11,July 1983(“錐形參數(shù)”計(jì)算機(jī)繪圖(計(jì)算機(jī)繪圖專業(yè)組′83會(huì)議記錄)1-11頁,1983年7月)。因此,在這里整體地引入這些參考文獻(xiàn)的各自的分開內(nèi)容作為參考。
對(duì)于移動(dòng)平臺(tái)來說,存儲(chǔ)器存取可以是非常昂貴的。在一個(gè)標(biāo)準(zhǔn)計(jì)算機(jī)繪圖體系結(jié)構(gòu)上,超過三分之二的存儲(chǔ)器存取可以是由于紋理操作而引起的。比如,在三線MIP映射的例子中,紋理操作可能需要八次存儲(chǔ)器存取,而其余的光柵操作可能需要另外三次(z讀、z寫和顏色緩沖器寫)。由于每像素的十一次存儲(chǔ)器存取,為獲得合理的性能可能需要非常高的時(shí)鐘頻率。高時(shí)鐘速率可能耗費(fèi)大量的功率并可能不適用于移動(dòng)平臺(tái)。因而減少用于紋理操作的存儲(chǔ)器存取次數(shù),而同時(shí)維持類似于MIP映射的紋理質(zhì)量可能是令人期待的。
在圖形硬件中,經(jīng)常使用紋理壓縮作為節(jié)省帶寬的手段。其思想是紋理元素值(其可構(gòu)成紋理)以壓縮格式存儲(chǔ)在存儲(chǔ)器中,這可以減少在總線上發(fā)送紋理時(shí)所需的帶寬。當(dāng)數(shù)據(jù)到達(dá)目的地時(shí),一個(gè)硬件機(jī)制將會(huì)解壓縮紋理元素?cái)?shù)據(jù)。
在Andrew C.Beers等人的″Rendering from Compressed Textures,″(Computer Graphics,SIGGRAPH 96 Proceedings,pp.373-378,August 1996)(“由壓縮紋理形成的著色”,計(jì)算機(jī)繪圖,計(jì)算機(jī)繪圖專業(yè)組96會(huì)議記錄,373-378頁,1996年8月)中論述了這一開創(chuàng)性工作,因此在這里整體地引入其公開內(nèi)容作為參考。Beers等人論述了矢量量化的使用,并使用大量圖像來訓(xùn)列矢量集合。一種流行的方案被稱為S3TC。
發(fā)明概要依照本發(fā)明的一些實(shí)施例,像素是通過以下方式被進(jìn)行紋理化的,即存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、和紋理元素值,以用來映射紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的3元組,從而代表一個(gè)紋理元素塊。用于該像素的像素值是從所存儲(chǔ)的紋理元素值生成的,并響應(yīng)于所生成的像素值來顯示該像素。第三紋理元素參考值可以由第一和第二紋理元素參考值算術(shù)地確定,例如,第三紋理元素參考值可以代表第一和第二紋理元素參考值的算術(shù)平均值。舉例來說,紋理元素值可以包含RGB色值、灰度級(jí)值、或其他的圖形表示。
在本發(fā)明的進(jìn)一步的實(shí)施例中,為大量交疊(overlapping)紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值。在一些實(shí)施例中,用于像素分布圖中像素的像素值可以由所存儲(chǔ)的、大量交疊紋理元素塊中最近鄰紋理元素組的紋理元素值生成,其中所述紋理元素塊相交疊,這樣使得為像素分布圖中任一像素生成一個(gè)色值都需要所存儲(chǔ)的、不超過一單個(gè)紋理元素塊的紋理元素值。在進(jìn)一步的實(shí)施例中,可以由所存儲(chǔ)的、大量交疊的紋理元素塊中最近鄰紋理元素組的紋理元素值而為像素分布圖中的像素生成像素值,其中所述紋理元素塊相交疊,這樣使得為像素分布圖中任一像素生成一個(gè)色值都需要所存儲(chǔ)的、不超過兩個(gè)紋理元素塊的紋理元素值。
仍然依照本發(fā)明的進(jìn)一步的實(shí)施例,從檢索到的一組最近鄰紋理元素的紋理元素值進(jìn)行雙線性內(nèi)插而得出像素的第一MIP映射值。
像素的第二MIP映射值是對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均而生成的。像素的像素值是通過在第一和第二MIP映射值之間進(jìn)行內(nèi)插而生成的。
依照本發(fā)明的紋理壓縮、塊交疊和紋理過濾技術(shù)可以被個(gè)別地使用和/或組合地使用。本發(fā)明可以體現(xiàn)為一種方法、設(shè)備和計(jì)算機(jī)程序產(chǎn)品。例如,本發(fā)明可以被方便地使用于手持設(shè)備中,例如用在無線終端、個(gè)人數(shù)字助理(PDA),等等中。
附圖簡(jiǎn)述

圖1圖示了依照本發(fā)明的一些實(shí)施例的紋理元素塊的存儲(chǔ)表示法。
圖2圖示了依照本發(fā)明進(jìn)一步的實(shí)施例的一個(gè)示范性三重紋理元素值映射。
圖3圖示了一個(gè)示范性像素/紋理元素關(guān)系。
圖4圖示了依照本發(fā)明的一些實(shí)施例的交疊紋理元素塊的排列。
圖5圖示了依照本發(fā)明的一些實(shí)施例的一組示范性最近鄰紋理元素。
圖6圖示了依照本發(fā)明的一些實(shí)施例的配置成提供紋理處理的無線終端。
圖7是一個(gè)流程圖,它圖示了依照本發(fā)明進(jìn)一步的實(shí)施例的示例性紋理處理操作。
詳細(xì)說明現(xiàn)在將參照附圖更全面地描述本發(fā)明,其中在附圖中展示了本發(fā)明的示例性實(shí)施例。提供這些實(shí)施例可以使本申請(qǐng)更加全面和完整。全文中類似的數(shù)字指的是類似的元件。
依照在此描述的本發(fā)明的各種實(shí)施例,提出了可以顯著地減少帶寬使用率的紋理過濾的新穎提議,本發(fā)明的各個(gè)方面可包括紋理壓縮;和/或紋理塊交疊;和/或紋理過濾。
依照本發(fā)明的實(shí)施例,這三個(gè)方面可以結(jié)合在一起以提供一個(gè)廉價(jià)的紋理過濾系統(tǒng)(POOMA)。
首先將給出這種系統(tǒng)的示例性實(shí)施例的概要,而接下來將給出可如何建立本發(fā)明各方面的更多細(xì)節(jié)。
在本發(fā)明的一些實(shí)施例中,紋理圖像可以被分成多個(gè)小塊(例如3×2的紋理元素),而紋理壓縮可用來減少訪存這樣的塊所需要的存儲(chǔ)器帶寬,典型地可下降到一次32位存儲(chǔ)器讀取。下一步,紋理交疊,可以相當(dāng)于使塊交疊,從而使每紋理元素的4個(gè)相鄰群總是被完全包含在這些塊的其中一個(gè)之內(nèi)。這使得利用一次存儲(chǔ)器存取來執(zhí)行雙線性過濾成為可能。在此描述的紋理過濾提供了一種過濾四個(gè)紋理元素以獲得該像素顏色的方式。正如MIP映射的情形,在四個(gè)像素上的雙線性過濾可以被使用在底部MIP映射級(jí)上。不過,這里是計(jì)算四個(gè)最近讀取的紋理元素的平均并替代地使用這個(gè)值,而不是從上部MIP映射級(jí)上訪存紋理元素。此結(jié)果可以提供比使用最近鄰的MIP映射明顯更好的紋理操作,并可以產(chǎn)生幾乎與三線MIP映射一樣好的結(jié)果。代價(jià)可以僅僅是每個(gè)過濾顏色一次32位存儲(chǔ)器讀取,相比之下最近鄰的MIP映射(較低質(zhì)量)需要兩次,而三線MIP映射(較高質(zhì)量)需要八次。
A.紋理壓縮依照在此描述的本發(fā)明實(shí)施例的紋理壓縮解碼器的各方面類似于流行的S3TC方案,只是做了改進(jìn)從而有可能僅僅在一次32位存儲(chǔ)器傳遞中就讀取整個(gè)塊。在32位體系結(jié)構(gòu)的例子中,單獨(dú)地或者組合地采取下列改進(jìn),可使塊/存儲(chǔ)器傳遞的比率為1塊的尺寸顯著地更小,例如2×3像素;使用三個(gè)顏色(兩個(gè)參考顏色加一個(gè)中間顏色)而不是四個(gè);
參考顏色以每顏色11比特而不是16比特編碼;和/或該三個(gè)顏色以三進(jìn)制表示法編碼(與二進(jìn)制表示法相反)。
這些改進(jìn)使得在一次32位存儲(chǔ)器傳遞(四個(gè)字節(jié))中讀取整個(gè)塊成為可能。
一個(gè)2×3的紋理元素塊可以使用如圖1所示的數(shù)據(jù)單元100來代表。在圖1中,rL、gL和bL代表第一參考色的紅、綠和藍(lán)成分,這里用“L”標(biāo)記“左”。同樣地,rR、gR和bR代表第二參考色,用“R”標(biāo)記“右”。根據(jù)這兩種顏色,通過取R和L的算術(shù)平均,而創(chuàng)建出一個(gè)“中間的”參考色。這個(gè)新的參考色以“M”來表示為“中間的”。注意,雖然可用4+4+3比特來存儲(chǔ)R和L,卻可用5+5+4比特來代表M。
此外,圖1中以x標(biāo)記的比特代表該塊中所述紋理元素中三個(gè)的顏色。舉例來說,我們可以選擇最頂端的三個(gè)紋理元素從x中得到它們的顏色,而最底端的紋理元素由y控制。x和y都通過使用表1映射到L、M和R的三元組表1
舉例來說,如果x=23(10111)且y=0(00000),則塊200將被解碼成如圖2所示,其中左上像素將得到“右”的參考值,下一個(gè)像素得到“中間的”值等等。不使用從27到31的范圍。通常,有可能使用最多(log(3^k)/log(2))個(gè)比特編碼k個(gè)3元組。這可允許在僅僅一次32位存儲(chǔ)器傳遞中讀取2×3=6個(gè)紋理元素值。與每像素兩個(gè)字節(jié)相比,壓縮比為2×4∶6×4,也就是說,1∶3。注意,如果所述紋理被放大,則下一個(gè)像素有很大的機(jī)會(huì)將尋址到相同的塊。因而,對(duì)于該像素的紋理操作可能只需要零存儲(chǔ)器傳遞。
B.紋理塊交疊當(dāng)進(jìn)行傳統(tǒng)的雙線性內(nèi)插時(shí),可能需要紋理圖中的最接近于采樣點(diǎn)的四個(gè)紋理元素。比如,如圖3所示,如果一個(gè)像素位于灰色區(qū)域310內(nèi),則在同一塊中可以找到全部四個(gè)最近鄰紋理元素的色值,并且僅僅需要一次存儲(chǔ)器傳遞。不過,更經(jīng)常的是,可能必需訪存多達(dá)四個(gè)塊以便得到全部的最接近的相鄰者。
圖4中,顯示了依照本發(fā)明的實(shí)施例如何將塊布置成交疊的樣式,以避免雙線性內(nèi)插的額外讀取。因而以實(shí)線標(biāo)記的塊400a交疊于以方形虛線標(biāo)記的塊400b(位于右面)和以圓形虛線標(biāo)記的塊400c(位于下面)。采用這種樣式,總有可能找到包含某一像素的全部四個(gè)相鄰者的一個(gè)塊。因而這四個(gè)相鄰者可以被布置在僅僅一次存儲(chǔ)器訪存中。
這可能是以這樣的代價(jià),即數(shù)據(jù)在x軸方向擴(kuò)展1.5倍而在y軸方向擴(kuò)展2倍。不過,由于紋理壓縮的壓縮比是3∶1,因此最終將是有相同的存儲(chǔ)器需求,就像既沒有使用紋理壓縮又沒有使用紋理交疊一樣。
交疊可能被限制在一個(gè)方向上。舉例來說,通過僅僅在x軸方向交疊,數(shù)據(jù)僅僅按系數(shù)1.5擴(kuò)大。(包括壓縮,總共的存儲(chǔ)量?jī)H僅是原來的0.5倍)。這樣,在50%的情況下,全部四個(gè)像素都位于該塊內(nèi)。在其余的情況下,必須讀取另一個(gè)塊。表2示出了可能需要什么樣的存儲(chǔ)器需求和什么樣的平均帶寬。
表2
C.紋理過濾一旦已經(jīng)訪存該像素的四個(gè)相鄰紋理元素,紋理操作就可以開始了。如圖5所示,用A、B、C和D表示四個(gè)最近鄰紋理元素,通過在A、B、C和D上使用雙線性內(nèi)插,可以獲得一個(gè)較低級(jí)別的第一MIP映射值Q。通過平均A、B、C和D,可以獲得一個(gè)較高級(jí)別的第二MIP映射值P。取決于該像素靠近較低的和較高的MIP映射級(jí)別的情況,在第一和第二MIP映射值Q和P之間可以執(zhí)行線性內(nèi)插以確定用于該像素的值。
注意,如果A、B、C和D在紋理元素圖上位于偶數(shù)位置,則P將是MIP映射分級(jí)結(jié)構(gòu)中的對(duì)應(yīng)紋理元素。在這種情況下,結(jié)果將等于在較低的MIP映射級(jí)別上使用雙線性內(nèi)插和在較高的MIP映射級(jí)別上使用最近鄰內(nèi)插。不過,如果A、B、C和D不在偶數(shù)位置上,則可以獲得比僅僅在較高的MIP映射級(jí)別上使用最近鄰更正確的值。因而該性能可被改善而優(yōu)于在較低級(jí)別上使用雙線性和在較高級(jí)別上使用最近鄰。
有時(shí),由于過模糊現(xiàn)象可能不是那么嚴(yán)重,此前描述的POOMA紋理過濾的結(jié)果甚至看上去比三線性過濾更好。注意,這種紋理過濾可以獨(dú)立于紋理壓縮和紋理塊交疊而將存儲(chǔ)器傳遞的次數(shù)減半。
依照本發(fā)明的各方面,通過使用3個(gè)級(jí)別(L、M和R)而不是四個(gè)級(jí)別,可以提供在表達(dá)紋理元素中節(jié)省比特的能力。三進(jìn)制表示法可以針對(duì)k個(gè)紋理元素僅僅使用最多(log(3^k)/log(2))個(gè)比特,而不是使用四個(gè)級(jí)別時(shí)需要的2*k個(gè)比特。這可以增加每塊的壓縮效率。依照其它方面,使用交疊塊可以使得有可能把為著色一個(gè)像素而需要存取的塊的平均數(shù)降低到每像素一次32位存儲(chǔ)器存取。另外,仍依照附加的方面,對(duì)四個(gè)相鄰像素的過濾可用于產(chǎn)生該像素的顏色。這意味著每像素可能僅僅需要存取一個(gè)MIP映射級(jí)別,而不是三線MIP映射情況中的兩個(gè),從而將所需的存儲(chǔ)器存取的次數(shù)減半。應(yīng)當(dāng)理解,這些特征可以在多種組合中使用和/或單獨(dú)地使用。
D.示例性實(shí)現(xiàn)方式在本申請(qǐng)中,圖6和7是圖示依照本發(fā)明的實(shí)施例的示例性設(shè)備與操作的框圖。應(yīng)當(dāng)明白,該框圖中描繪的那些操作及其組合,可以使用一個(gè)或多個(gè)電子電路來實(shí)現(xiàn),比如被包含在無線通信系統(tǒng)元件中或無線終端中的電路。還應(yīng)當(dāng)理解,通常,該框圖中描繪的那些操作及其組合,可以在一個(gè)或多個(gè)電子電路中實(shí)現(xiàn),比如一個(gè)或多個(gè)分立電子元件、一個(gè)或多個(gè)集成電路(IC)、一個(gè)或多個(gè)專用集成電路(ASIC)、以及專用電路模塊,還可以通過計(jì)算機(jī)或其他數(shù)據(jù)處理設(shè)備(比如微處理器或數(shù)字信號(hào)處理器(DSP))可執(zhí)行的計(jì)算機(jī)程序指令來產(chǎn)生一個(gè)機(jī)器,使得在計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上執(zhí)行的所述指令建立實(shí)現(xiàn)指定操作的電子電路或其他裝置。所述計(jì)算機(jī)程序指令也可以在一個(gè)或多個(gè)計(jì)算機(jī)或其它數(shù)據(jù)處理設(shè)備上執(zhí)行,以促成要由該計(jì)算機(jī)(們)或其它可編程設(shè)備來實(shí)行的一系列動(dòng)作,從而產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的、包含指定操作的進(jìn)程。
所述計(jì)算機(jī)程序指令還可以以計(jì)算機(jī)程序產(chǎn)品的形式內(nèi)嵌在計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)中,也就是說,其作為計(jì)算機(jī)可讀的程序代碼被內(nèi)嵌在供一個(gè)指令執(zhí)行系統(tǒng)使用的或與其有關(guān)的介質(zhì)中。計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)可以包括但不限于電子的、磁性的、光學(xué)的或其他的存儲(chǔ)介質(zhì),比如磁盤或光盤或集成電路存儲(chǔ)器設(shè)備。比如,所述計(jì)算機(jī)程序指令可以內(nèi)嵌在被包含于無線通信設(shè)備的元件中的存儲(chǔ)器中和/或可操作以編程此種存儲(chǔ)器的存儲(chǔ)介質(zhì)中。因此,圖6和7的示意圖中的方塊可支持實(shí)行指定操作的電子電路及其他設(shè)備、用于實(shí)行指定操作的動(dòng)作、以及配置成實(shí)行指定操作的計(jì)算機(jī)程序產(chǎn)品。
圖6圖示了一個(gè)可以實(shí)現(xiàn)本發(fā)明的無線終端600。該終端600包含由數(shù)據(jù)處理器620控制的顯示器610和相關(guān)的存儲(chǔ)器630,所述數(shù)據(jù)處理器620比如是一個(gè)微處理器、微控制器、數(shù)字信號(hào)處理器(DSP)或圖形處理器。還包含紋理處理器電路622,在這里它被展示為實(shí)現(xiàn)在該處理器620中,它把紋理元素塊信息存儲(chǔ)在存儲(chǔ)器630中并從存儲(chǔ)器630中檢索紋理元素塊信息。還包含顯示發(fā)生器電路624,在這里它也被展示為實(shí)現(xiàn)在該處理器620中,它響應(yīng)于紋理處理器電路622來控制顯示器610。紋理處理器622電路可以被配置成實(shí)行在此所描述的紋理壓縮、塊交疊和紋理過濾技術(shù)。
應(yīng)當(dāng)理解,圖6的設(shè)備是為示例性用途而提供的,以及可以采用大量其它形式的任何一種形式來實(shí)現(xiàn)本發(fā)明。比如,本發(fā)明同樣適合于在生成圖形顯示的其他類型的設(shè)備中的應(yīng)用,包括但不限于桌面?zhèn)€人電腦和工作站;膝上型、筆記本型、超薄型及其他便攜式計(jì)算機(jī);個(gè)人數(shù)字助理(PDA);以及電子書閱讀器和其他的輕便圖形設(shè)備。還應(yīng)當(dāng)理解,圖6中圖示的圖形處理體系結(jié)構(gòu)只是一種示例性的,而各類體系結(jié)構(gòu),比如使用特定用途專用圖形硬件來生成圖形顯示的體系結(jié)構(gòu),都可以與本發(fā)明一起使用。依照本發(fā)明的各種實(shí)施例,在此描述的紋理壓縮、紋理元素塊布置和紋理過濾可以被單獨(dú)地使用或組合地使用,而這些操作可以被應(yīng)用于大量不同的圖形處理環(huán)境的任一環(huán)境中,包括圖6的無線終端600所展示的環(huán)境。
圖7圖示了依照本發(fā)明一些實(shí)施例的示例性紋理處理操作,這些操作可以例如由圖6的無線終端的處理器620和存儲(chǔ)器630來實(shí)現(xiàn)。為大量交疊紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的數(shù)據(jù)單元(例如,上述包含RGB色信息的32位字)(框710)。所述數(shù)據(jù)單元的每一個(gè)包含第一和第二紋理元素參考值以及一個(gè)或多個(gè)用于該塊中紋理元素的紋理元素值,其中所述一個(gè)或多個(gè)的紋理元素值將所述紋理元素映射到該第一和第二紋理元素參考值及一個(gè)第三紋理元素參考值的三元組,所述第三紋理元素參考值由第一和第二參考值決定,例如,作為第一和第二紋理元素參考值的算術(shù)平均。應(yīng)當(dāng)理解,所述紋理元素值可以包括但不限于RGB色值、灰度級(jí)值、和/或其它通常被用于圖形應(yīng)用的表達(dá)形式。
像素的紋理操作開始于檢索所述數(shù)據(jù)單元、或與該紋理元素塊相關(guān)聯(lián)的元素、或包含該像素最近鄰紋理元素(例如,最近的四個(gè)相鄰紋理元素)的塊(框720)。然后所檢索到的數(shù)據(jù)單元中的紋理元素值被映射到所述紋理元素參考值的三元組(框730)。從最近鄰紋理元素的紋理元素值進(jìn)行雙線性內(nèi)插得出第一MIP映射值(框740),以及對(duì)最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值(框750)。從第一和第二MIP映射值進(jìn)行線性內(nèi)插得到該像素的像素值(框760),以及所生成的像素值被用來顯示該像素(框770)。
雖然圖7圖示了本發(fā)明的新穎的紋理壓縮、交疊紋理元素塊排列、以及紋理過濾技術(shù)的組合使用,但應(yīng)當(dāng)理解,使用這些技術(shù)的子集與傳統(tǒng)技術(shù)相結(jié)合仍然屬于本發(fā)明的范圍。比如,本發(fā)明的新穎的紋理壓縮技術(shù)可以與傳統(tǒng)的、不交疊的紋理元素塊排列和傳統(tǒng)的雙線性、三線性或其它紋理過濾技術(shù)一起使用。類似地,傳統(tǒng)的紋理存儲(chǔ)和/或壓縮以及傳統(tǒng)的紋理過濾技術(shù)可以與本發(fā)明的新穎的紋理元素塊排列一起使用。最后,傳統(tǒng)的紋理存儲(chǔ)和/或壓縮技術(shù)以及傳統(tǒng)的紋理元素塊排列可以與本發(fā)明的新穎的紋理過濾技術(shù)一起使用。
在這些附圖和本說明書中已經(jīng)公開了本發(fā)明的示例性實(shí)施例。雖然采用了特定的術(shù)語,但它們僅僅是用于一般性的和描述性的意義,而并不出于限制的意圖。
權(quán)利要求
1.一種對(duì)像素進(jìn)行紋理化的方法,包括存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、和紋理元素值以用來映射紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊;從所存儲(chǔ)的紋理元素值生成用于該像素的像素值;以及響應(yīng)于所生成的像素值而顯示該像素。
2.依照權(quán)利要求1的方法,其中由第一和第二紋理元素參考值算術(shù)地確定第三紋理元素參考值。
3.依照權(quán)利要求2的方法,其中第三紋理元素參考值代表第一和第二紋理元素參考值的算術(shù)平均。
4.依照權(quán)利要求1的方法,其中存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值和紋理元素值以用來映射紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊包括存儲(chǔ)第一RGB色參考值、第二RGB色參考值、和紋理元素值以用來通過使用不超過最多(log3k/log2)比特來映射一k個(gè)紋理元素的塊中的紋理元素到該第一RGB色參考值、該第二RGB色參考值和一個(gè)第三RGB色參考值的三元組以表現(xiàn)該k個(gè)紋理元素的塊。
5.依照權(quán)利要求5的方法,其中存儲(chǔ)第一RGB色參考值、第二RGB色參考值、和紋理元素值以用來通過使用僅僅最多(log3k/log2)比特來數(shù)映射一k個(gè)紋理元素的塊中的紋理元素到該第一RGB色參考值、該第二RGB色參考值和一個(gè)第三RGB色參考值的三元組以表現(xiàn)該k個(gè)紋理元素的塊包括在單個(gè)32位字中存儲(chǔ)用于一個(gè)2x3紋理元素塊的第一RGB色參考值、第二RGB色參考值和兩個(gè)紋理元素值。
6.依照權(quán)利要求1的方法,其中存儲(chǔ)用于紋理元素的第一紋理元素參考值、第二紋理元素參考值、和紋理元素值包括存儲(chǔ)用于多個(gè)交疊紋理元素塊中相應(yīng)塊的紋理元素的相應(yīng)的第一紋理元素參考值、第二紋理元素參考值和紋理元素值。
7.依照權(quán)利要求1的方法其中存儲(chǔ)用于紋理元素的第一紋理元素參考值、第二紋理元素參考值、和紋理元素值包括存儲(chǔ)用于多個(gè)紋理元素塊中相應(yīng)塊的紋理元素的相應(yīng)的第一紋理元素參考值、第二紋理元素參考值和紋理元素值;以及其生成用于該像素的像素值包括檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于該像素的一組最近鄰紋理元素的紋理元素值;從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值;對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值。
8.依照權(quán)利要求6的方法,其生成用于該像素的像素值包括檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于該像素的一組最近鄰紋理元素的紋理元素值;從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值;對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值。
9.一種對(duì)像素進(jìn)行紋理化的方法,包括為多個(gè)交疊紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值;從所存儲(chǔ)的紋理元素值生成用于該像素的像素值;以及響應(yīng)于所生成的像素值而顯示該像素。
10.依照權(quán)利要求9的方法其中從所存儲(chǔ)的紋理元素值生成用于該像素的像素值包括從所存儲(chǔ)的多個(gè)交疊紋理元素塊中最近鄰紋理元素組的紋理元素值生成用于像素分布圖中像素的像素值;以及其中所述紋理元素塊相交疊,使得為像素分布圖中任一像素生成像素值都需要被存儲(chǔ)的不超過一單個(gè)紋理元素塊的紋理元素值。
11.依照權(quán)利要求9的方法其中從所存儲(chǔ)的紋理元素值生成用于該像素的像素值包括從所存儲(chǔ)的多個(gè)交疊紋理元素塊中最近鄰紋理元素組的紋理元素值生成用于像素分布圖中像素的像素值;以及其中所述紋理元素塊相交疊,使得為像素分布圖中任一像素生成像素值都需要被存儲(chǔ)的不超過兩個(gè)紋理元素塊的紋理元素值。
12.依照權(quán)利要求9的方法,其中所述紋理元素塊在兩個(gè)正交方向上交疊。
13.依照權(quán)利要求9的方法,其中所述紋理元素塊僅僅在一個(gè)方向上交疊。
14.依照權(quán)利要求9的方法,其生成用于該像素的像素值包括檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于該像素的一組最近鄰紋理元素的紋理元素值;從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值;對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值。
15.一種對(duì)像素進(jìn)行紋理化的方法,包括檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于一個(gè)像素的一組最近鄰紋理元素的紋理元素值;從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值;對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值;以及在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值;以及響應(yīng)于所生成的像素值而顯示該像素。
16.依照權(quán)利要求15的方法,其中該組最近鄰紋理元素由四個(gè)最近鄰的紋理元素組成。
17.一種設(shè)備,包括一個(gè)顯示器;用于存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、以及紋理元素值以用來映射紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊的裝置;從所存儲(chǔ)的紋理元素值生成用于該像素的像素值的裝置;以及響應(yīng)于所生成的像素值在顯示器上顯示該像素的裝置。
18.依照權(quán)利要求17的設(shè)備,其中用于存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值和紋理元素值以用來映射紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊的裝置包括存儲(chǔ)第一RGB色參考值、第二RGB色參考值、和紋理元素值以用來通過使用僅僅最多(log3k/log2)比特來映射一k個(gè)紋理元素的塊中的紋理元素到該第一RGB色參考值、該第二RGB色參考值和一個(gè)第三RGB色參考值的三元組以表現(xiàn)該k個(gè)紋理元素的塊的裝置。
19.依照權(quán)利要求15的設(shè)備,其中用于存儲(chǔ)的裝置、用于生成像素值的裝置、和用于顯示的裝置在一個(gè)無線終端中實(shí)現(xiàn)。
20.一種設(shè)備,包括一個(gè)顯示器;為多個(gè)交疊紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值的裝置;從所存儲(chǔ)的紋理元素值生成用于該像素的像素值的裝置;以及響應(yīng)于所生成的像素值在該顯示器上顯示該像素的裝置。
21.依照權(quán)利要求20的設(shè)備,其中用于存儲(chǔ)的裝置、用于生成像素值的裝置、和用于顯示的裝置在一個(gè)無線終端中實(shí)現(xiàn)。
22.一種設(shè)備,包括一個(gè)顯示器;檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于一個(gè)像素的一組最近鄰紋理元素的紋理元素值的裝置;從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值的裝置;對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值的裝置;在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值的裝置;以及響應(yīng)于所生成的像素值在該顯示器上顯示該像素的裝置。
23.依照權(quán)利要求22的設(shè)備,其中用于檢索的裝置、用于雙線性內(nèi)插的裝置、用于平均的裝置、用于內(nèi)插的裝置、和用于顯示的裝置在一個(gè)無線終端中實(shí)現(xiàn)。
24.一種設(shè)備,包括一個(gè)顯示器;一個(gè)存儲(chǔ)器;一個(gè)紋理處理器電路,用來在該存儲(chǔ)器中存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、和紋理元素值以用來映射一個(gè)紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊,并從所存儲(chǔ)的紋理元素值生成用于該像素的像素值;以及一個(gè)顯示發(fā)生器電路,用來響應(yīng)于所生成的像素值而在該顯示器上顯示該像素。
25.一種設(shè)備,包括一個(gè)顯示器;一個(gè)存儲(chǔ)器;一個(gè)紋理處理器電路,用來在該存儲(chǔ)器中為多個(gè)交疊紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值,并從所存儲(chǔ)的像素值生成用于該像素的像素值;以及一個(gè)顯示發(fā)生器電路,用來響應(yīng)于所生成的像素值而在該顯示器上顯示該像素。
26.一種設(shè)備,包括一個(gè)顯示器;一個(gè)存儲(chǔ)器;一個(gè)紋理處理器電路,用來在該存儲(chǔ)器中為多個(gè)紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值,檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于一個(gè)像素的一組最近鄰紋理元素的紋理元素值,從檢索到的該組最近鄰紋理元素的紋理元素值中雙線性內(nèi)插用于該像素的第一MIP映射值,對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值,以及在第一和第二MP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值;以及一個(gè)顯示發(fā)生器電路,用來響應(yīng)所生成的像素值而在該顯示器上顯示該像素。
27.一種用于對(duì)像素進(jìn)行紋理化的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括內(nèi)嵌在計(jì)算機(jī)可讀的程序存儲(chǔ)介質(zhì)里的計(jì)算機(jī)可讀程序代碼,該計(jì)算機(jī)可讀程序代碼包括配置成存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、以及紋理元素值以用來映射紋理元素到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊的程序代碼;配置成從所存儲(chǔ)的紋理元素值生成用于該像素的像素值的程序代碼;以及配置成響應(yīng)于所生成的像素值而促成該像素的顯示的程序代碼。
28.依照權(quán)利要求27的計(jì)算機(jī)程序產(chǎn)品,其中配置成存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、和紋理元素值以用于一個(gè)紋理元素的程序代碼包括配置成存儲(chǔ)相應(yīng)的第一紋理元素參考值、第二紋理元素參考值和紋理元素值以用于多個(gè)交疊紋理元素塊中相應(yīng)塊的紋理元素的程序代碼。
29.依照權(quán)利要求27的計(jì)算機(jī)程序產(chǎn)品其中配置成存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值、和紋理元素值以用于一個(gè)紋理元素的程序代碼包括配置成存儲(chǔ)相應(yīng)的第一紋理元素參考值、第二紋理元素參考值和紋理元素值以用于多個(gè)紋理元素塊中相應(yīng)塊的紋理元素的程序代碼;以及其中配置成生成用于該像素的像素值的程序代碼包括配置成檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于該像素的一組最近鄰紋理元素的紋理元素值的程序代碼;配置成從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值的程序代碼;配置成對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值的程序代碼;以及配置成在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值的程序代碼。
30.依照權(quán)利要求28的計(jì)算機(jī)程序產(chǎn)品,其中配置成生成一個(gè)用于該像素的像素值的程序代碼包括配置成檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于該像素的一組最近鄰紋理元素的紋理元素值的程序代碼;配置成從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值的程序代碼;配置成對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值的程序代碼;以及配置成在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值的程序代碼。
31.一種用于對(duì)像素進(jìn)行紋理化的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括內(nèi)嵌在計(jì)算機(jī)可讀的程序存儲(chǔ)介質(zhì)里的計(jì)算機(jī)可讀程序代碼,該計(jì)算機(jī)可讀程序代碼包括配置成為多個(gè)交疊紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值的程序代碼;配置成從所存儲(chǔ)的紋理元素值生成用于該像素的像素值的程序代碼;以及配置成響應(yīng)于所生成的像素值而促成該像素的顯示的程序代碼。
32.依照權(quán)利要求31的計(jì)算機(jī)程序,其中配置成生成一個(gè)用于該像素的像素值的程序代碼包括配置成檢索所存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于該像素的一組最近鄰紋理元素的紋理元素值的程序代碼;配置成從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值的程序代碼;配置成對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值的程序代碼;以及配置成在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值的程序代碼。
33.一種用于對(duì)像素進(jìn)行紋理化的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括內(nèi)嵌在計(jì)算機(jī)可讀的程序存儲(chǔ)介質(zhì)里的計(jì)算機(jī)可讀程序代碼,該計(jì)算機(jī)可讀程序代碼包括配置成檢索存儲(chǔ)的至少一個(gè)紋理元素塊的紋理元素值以獲得用于一個(gè)像素的一組最近鄰紋理元素的紋理元素值的程序代碼;配置成從檢索到的該組最近鄰紋理元素的紋理元素值雙線性內(nèi)插用于該像素的第一MIP映射值的程序代碼;配置成對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均以生成第二MIP映射值的程序代碼;配置成在第一和第二MIP映射值之間進(jìn)行內(nèi)插以生成用于該像素的像素值的程序代碼;以及配置成響應(yīng)于所生成的像素值而促成該像素的顯示的程序代碼。
全文摘要
通過如下方式對(duì)一個(gè)像素進(jìn)行紋理化,即存儲(chǔ)第一紋理元素參考值、第二紋理元素參考值和紋理元素值以用來將一個(gè)紋理元素映射到該第一紋理元素參考值、該第二紋理元素參考值和一個(gè)第三紋理元素參考值的三元組從而表現(xiàn)一個(gè)紋理元素塊。從所存儲(chǔ)的紋理元素值生成該像素的像素值,并且響應(yīng)于所生成的像素值來顯示該像素。在一些實(shí)施例中,為多個(gè)交疊紋理元素塊中相應(yīng)的塊存儲(chǔ)相應(yīng)的多個(gè)紋理元素參考值和映射到該紋理元素參考值的紋理元素值。在進(jìn)一步的實(shí)施例中,一個(gè)像素的第一MIP映射值是從檢索到的該組最近鄰紋理元素的紋理元素值中進(jìn)行雙線性內(nèi)插得出的。該像素的第二MIP映射值是通過對(duì)檢索到的該組最近鄰紋理元素的紋理元素值進(jìn)行平均而生成的。該像素的像素值是通過在該第一和第二MIP映射值間進(jìn)行內(nèi)插而生成的。本發(fā)明可以體現(xiàn)為一種方法、設(shè)備和計(jì)算機(jī)程序產(chǎn)品。
文檔編號(hào)G06T15/04GK1659595SQ03812975
公開日2005年8月24日 申請(qǐng)日期2003年6月2日 優(yōu)先權(quán)日2002年6月7日
發(fā)明者J·斯特倫, T·阿克尼內(nèi)-默勒 申請(qǐng)人:艾利森電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1