專利名稱:用于實(shí)現(xiàn)全景圖形保真過(guò)采樣的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),更具體地,本發(fā)明涉及處理三維圖形。
背景技術(shù):
計(jì)算機(jī)生成的圖形廣泛用于各種工業(yè)、商業(yè)、教育和娛樂(lè)領(lǐng)域。計(jì)算機(jī)圖形由顯示器上的像素表示。但是,由于該顯示只包含有限數(shù)目的像素,因必須用數(shù)字格式表示模擬數(shù)據(jù)而產(chǎn)生的圖形失真導(dǎo)致顯示的圖像具有鋸齒狀邊緣。
用于減小圖形失真的技術(shù)應(yīng)用通常稱為圖形保真。用于全景圖形保真的一種技術(shù)稱為過(guò)采樣。過(guò)采樣是一種方法,其中,在高分辨率下轉(zhuǎn)換原始圖形場(chǎng)景,然后向下濾波至原始顯示分辨率。因此,過(guò)采樣實(shí)質(zhì)上將圖形失真影響轉(zhuǎn)移到較高空間頻率。
但是,當(dāng)使用過(guò)采樣技術(shù)時(shí),計(jì)算機(jī)系統(tǒng)會(huì)招致性能缺陷。過(guò)采樣的問(wèn)題在于它要求額外的處理和存儲(chǔ)容量以及帶寬來(lái)在較高分辨率下轉(zhuǎn)換圖像,隨后再將其向下濾波。例如,在顯示的X和Y方向分別兩倍(2X)的過(guò)采樣要求四倍(4X)的存儲(chǔ)容量和帶寬。因此,期望實(shí)現(xiàn)高效的過(guò)采樣,而不導(dǎo)致額外的存儲(chǔ)容量和帶寬。
附圖簡(jiǎn)述通過(guò)以下給出的詳細(xì)描述和本發(fā)明各種實(shí)施例的附圖可以更充分理解本發(fā)明。但是,這些附圖不應(yīng)理解為將本發(fā)明限于具體的實(shí)施例,而只是為了解釋和理解。
圖1是計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例的框圖;圖2是處理器的一個(gè)實(shí)施例的框圖;圖3是圖形高速緩存的一個(gè)實(shí)施例的框圖;圖4是過(guò)采樣期間數(shù)據(jù)流動(dòng)的一個(gè)實(shí)施例的流程圖。
發(fā)明詳述描述了一種用于有效實(shí)現(xiàn)過(guò)采樣的方法和裝置。在以下對(duì)本發(fā)明的詳細(xì)描述中,提出了許多具體細(xì)節(jié),以提供對(duì)本發(fā)明的透徹理解。但是,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,本發(fā)明在沒(méi)有這些具體細(xì)節(jié)的情況下也能實(shí)現(xiàn)。在其它情況下,公知的結(jié)構(gòu)和設(shè)備用框圖形式表示,而不用細(xì)節(jié)表示,以避免使本發(fā)明不清楚。
本說(shuō)明書(shū)中,“一個(gè)實(shí)施例”或“實(shí)施例”表示結(jié)合該實(shí)施例描述的一個(gè)特定的部件、結(jié)構(gòu)、或特征包括在本發(fā)明的至少一個(gè)實(shí)施例中。在本說(shuō)明書(shū)不同地方出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”不一定指的是同一個(gè)實(shí)施例。
圖1是計(jì)算機(jī)系統(tǒng)100的一個(gè)實(shí)施例的框圖。計(jì)算機(jī)系統(tǒng)100包括耦合到處理器總線110的中央處理單元(處理器)105。在一個(gè)實(shí)施例中,處理器105是一種Pentium系列處理器,包括PentiumII系列和移動(dòng)Pentium和PentiumII處理器,其可以從Santa Clara,California的Intel公司獲得。可選地,可以使用其它處理器。
芯片設(shè)備120也耦合到處理器總線110。芯片設(shè)備120可以包括用于控制主存儲(chǔ)器113的存儲(chǔ)控制器。此外,芯片設(shè)備120也可以包括由Santa Clara,California的Intel公司開(kāi)發(fā)的加速圖形接口(AGP)規(guī)范版本2.0的接口。芯片設(shè)備120耦合到視頻設(shè)備125并處理視頻數(shù)據(jù)請(qǐng)求,以訪問(wèn)主存儲(chǔ)器113。
主存儲(chǔ)器113通過(guò)芯片設(shè)備120耦合到處理器總線110。主存儲(chǔ)器113存儲(chǔ)由處理器105執(zhí)行的指令序列。在一個(gè)實(shí)施例中,主存儲(chǔ)器113包括一個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)系統(tǒng);但是,主存儲(chǔ)器113可以具有其它配置。由處理器105執(zhí)行的指令序列可以從主存儲(chǔ)器113或其它存儲(chǔ)設(shè)備檢索。另外的設(shè)備也可以耦合到處理器總線110,如多處理器和/或多主存儲(chǔ)器設(shè)備。計(jì)算機(jī)系統(tǒng)100按照單個(gè)處理器描述,但是,多個(gè)處理器可以耦合到處理器總線110。視頻設(shè)備125也耦合到芯片設(shè)備120。在一個(gè)實(shí)施例中,視頻設(shè)備包括一個(gè)視頻監(jiān)視器,如陰極射線管(CRT)或液晶顯示器(LCD),以及必要的支持電路。
處理器總線110通過(guò)芯片設(shè)備120耦合到系統(tǒng)總線130。在一個(gè)實(shí)施例中,系統(tǒng)總線130是外設(shè)部件互連(PCI)規(guī)范2.1版的標(biāo)準(zhǔn)總線,由Santa Clara,California的Intel公司開(kāi)發(fā);但是,其它標(biāo)準(zhǔn)也可以使用。多個(gè)設(shè)備如音頻設(shè)備127等可以耦合到系統(tǒng)總線130。
總線橋140將系統(tǒng)總線130耦合到二級(jí)總線150。在一個(gè)實(shí)施例中,二級(jí)總線150是工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)規(guī)范版本1.0a總線,由Armonk,New York的International Business Machines公司開(kāi)發(fā)。但是,其它總線標(biāo)準(zhǔn)也可以使用,如由Compaq Computer等公司開(kāi)發(fā)的擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(EISA)規(guī)范3.12版。多個(gè)設(shè)備如硬盤(pán)153和盤(pán)片驅(qū)動(dòng)器154可以耦合到二級(jí)總線150。其它設(shè)備,如光標(biāo)控制設(shè)備(圖1未示出),也可以耦合到二級(jí)總線150。
圖2是處理器150的一個(gè)實(shí)施例的框圖。處理器150包括CPU核心210、CPU高速緩存220、圖形核心230、圖形高速緩存240、以及總線接口250。CPU核心210執(zhí)行計(jì)算機(jī)系統(tǒng)100接收的非圖形指令。CPU高速緩存220耦合到CPU核心210。根據(jù)一個(gè)實(shí)施例,CPU核心210是用于存儲(chǔ)數(shù)據(jù)和由CPU核心210執(zhí)行的指令序列的高速存儲(chǔ)機(jī)構(gòu)。
總線接口250耦合到CPU高速緩存220??偩€接口250將CPU高速緩存220和圖形高速緩存240連接到處理器總線110,使得可以與處理器105之間傳遞數(shù)據(jù)。
圖形核心230包括一個(gè)圖形加速器,專用于計(jì)算圖形轉(zhuǎn)換。圖形核心230使得CPU核心210能夠有效執(zhí)行非圖形命令,而圖形核心230處理圖形計(jì)算。根據(jù)一個(gè)實(shí)施例,圖形核心根據(jù)一種以區(qū)域(tile)為基礎(chǔ)的轉(zhuǎn)換(rendering)結(jié)構(gòu)來(lái)運(yùn)行。轉(zhuǎn)換是以每像素為基礎(chǔ)的計(jì)算不同顏色和位置信息的行為。結(jié)果,觀察者可以在視頻設(shè)備125的二維監(jiān)視器上感覺(jué)到深度。
轉(zhuǎn)換填充對(duì)象的表面上先前只按照一組頂點(diǎn)存儲(chǔ)的點(diǎn)。這樣,將在屏幕上畫(huà)出用陰影表示出三維效果的實(shí)心對(duì)象。為了轉(zhuǎn)換一個(gè)對(duì)象,必須確定顏色和位置信息。為了有效做到這一點(diǎn),對(duì)象的頂點(diǎn)被分割為三角形,然后這些三角形(三個(gè)頂點(diǎn)的集合)在圖形核心230中每次被處理一個(gè)。
在基于區(qū)域的轉(zhuǎn)換中,圖形核心230在一個(gè)特定的圖形場(chǎng)景(或圖像)中以三角/三角(triangle per triangle)的方式構(gòu)造多邊形,直到所述場(chǎng)景全部完成。但是,在轉(zhuǎn)換場(chǎng)景之前,圖形核心230將場(chǎng)景分解為一系列三角形。隨后,通過(guò)檢查每個(gè)三角形的邊界框?qū)⑦@些三角形分類(或劃分)為區(qū)域。區(qū)域劃分決定一個(gè)三角形位于哪個(gè)區(qū)域中。根據(jù)一個(gè)實(shí)施例,圖形高速緩存240包括用于一個(gè)場(chǎng)景中每個(gè)區(qū)域的緩沖器。這些緩沖器包括指向包括在這些緩沖器中的具體三角形的指針。每個(gè)三角形都被劃分后,該場(chǎng)景的每個(gè)區(qū)域被逐個(gè)轉(zhuǎn)換。
圖形高速緩存240耦合到圖形核心230和總線接口250。根據(jù)一個(gè)實(shí)施例,圖形高速緩存240是能夠容納128×64像素區(qū)域大小的圖形高速緩存,其中每個(gè)像素包括32位顏色和深度值。在另一實(shí)施例中,圖形高速緩存240除了顏色和深度數(shù)據(jù),還存儲(chǔ)紋理數(shù)據(jù)。在另一實(shí)施例中,圖形高速緩存240是64k字節(jié)靜態(tài)隨機(jī)存取存儲(chǔ)器,用于容納128×64區(qū)域大小。但是,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)明白,其它大小和字節(jié)的存儲(chǔ)器設(shè)備也可以用于實(shí)現(xiàn)圖形高速緩存240。
圖3是圖形高速緩存240的一個(gè)實(shí)施例的框圖。圖形高速緩存240包括圖形紋理高速緩存320和圖形顏色/Z區(qū)域緩沖器340。圖形紋理高速緩存320存儲(chǔ)用于紋理映射一個(gè)對(duì)象的紋理數(shù)據(jù)。紋理映射包括除了二維品質(zhì)如顏色和亮度外,用三維屬性(如對(duì)象有多透明和反射)解碼一個(gè)紋理。一旦定義了紋理,就可以將其纏繞在三維對(duì)象周?chē)?br>
圖形顏色/Z區(qū)域緩沖器340存儲(chǔ)顏色和深度數(shù)據(jù),用于一個(gè)或多個(gè)圖形場(chǎng)景中的每個(gè)區(qū)域。區(qū)域大小可以根據(jù)圖形顏色/Z區(qū)域緩沖器340的顏色和深度格式和大小來(lái)確定。這樣,根據(jù)一個(gè)實(shí)施例,圖形顏色/Z區(qū)域緩沖器340的大小足以滿足用于一個(gè)特定區(qū)域內(nèi)所有三角形的顏色和深度數(shù)據(jù)訪問(wèn)。根據(jù)另一個(gè)實(shí)施例,在完成一個(gè)區(qū)域內(nèi)最后一個(gè)三角形的轉(zhuǎn)換后,顏色和深度數(shù)據(jù)被寫(xiě)入存儲(chǔ)器113。
根據(jù)一個(gè)實(shí)施例,通過(guò)消除額外存儲(chǔ)容量和帶寬的要求,圖形高速緩存240的使用使得圖形核心230能夠高效地執(zhí)行過(guò)采樣。圖4是由圖形核心230進(jìn)行過(guò)采樣期間數(shù)據(jù)流動(dòng)的一個(gè)實(shí)施例的流程圖。為了說(shuō)明,通過(guò)在X和Y方向進(jìn)行兩倍(2x)過(guò)采樣,假設(shè)一個(gè)k=4的值。此外,區(qū)域大小假設(shè)為128×64,多邊形被劃分為64×32的虛擬區(qū)域大小。但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,也可以使用其它k值和大小實(shí)現(xiàn)所述過(guò)程。
參考圖4,在過(guò)程塊410,圖形核心230通過(guò)芯片設(shè)備120內(nèi)的AGP端口從存儲(chǔ)器113接收到一個(gè)區(qū)域的多邊形。在過(guò)程塊420,圖形核心230將這些多邊形放大。因?yàn)樵摾衚=4,這些多邊形被放大到原始大小的4倍(4x)。該放大是通過(guò)使用由圖形核心230支持的視口變換實(shí)現(xiàn)的。在視口變換中,字坐標(biāo)被圖形核心230映射到顯示屏幕上。隨后,圖形核心230加速該變換。通過(guò)應(yīng)用該視口變換,可以操作一個(gè)視口的尺度,以便使得最終的圖像被放大,用于轉(zhuǎn)換為區(qū)域。
在過(guò)程塊430,放大的多邊形被調(diào)整。根據(jù)一個(gè)實(shí)施例,該調(diào)整級(jí)采取與每個(gè)頂點(diǎn)有關(guān)的輸入數(shù)據(jù),并計(jì)算掃描轉(zhuǎn)換所要求的各種參數(shù)。根據(jù)另一實(shí)施例,還計(jì)算解釋整個(gè)多邊形上的各種頂點(diǎn)屬性所要求的梯度。
在過(guò)程塊440,圖形核心230執(zhí)行用于多邊形光柵化和紋理化的紋理數(shù)據(jù)。在光柵化期間,多邊形內(nèi)的像素被處理。此外,如果紋理化被激活,則將紋理應(yīng)用于像素。在過(guò)程塊450,對(duì)區(qū)域的轉(zhuǎn)換完成。當(dāng)完成對(duì)區(qū)域內(nèi)最后一個(gè)三角形的轉(zhuǎn)換后,圖形顏色/Z區(qū)域緩沖器340包括4倍于原始大小的區(qū)域的整個(gè)圖像。在過(guò)程塊460,執(zhí)行展開(kāi)位對(duì)準(zhǔn)塊傳送(BLT)。BLT是一個(gè)過(guò)程,其中,像素或其它數(shù)據(jù)從一個(gè)存儲(chǔ)器位置拷貝到另一個(gè)存儲(chǔ)器位置。展開(kāi)BLT被執(zhí)行,以便將圖像從物理區(qū)域大小下采樣至虛擬區(qū)域大小。
展開(kāi)BLT通過(guò)對(duì)大小等于物理區(qū)域的矩形(由兩個(gè)多邊形組成)轉(zhuǎn)換來(lái)完成。物理區(qū)域中(如圖形顏色/Z區(qū)域緩沖器340中)過(guò)采樣的圖像被認(rèn)為是展開(kāi)BLT的信源,而信宿分配在存儲(chǔ)器113中。根據(jù)一個(gè)實(shí)施例,圖形核心230將展開(kāi)BLT的信源作為信宿矩形的紋理映射。結(jié)果,圖形紋理高速緩存320被維持不受擾動(dòng),以便維持區(qū)域內(nèi)紋理數(shù)據(jù)的良好利用。
在過(guò)程塊470,判斷在圖形顏色/Z區(qū)域緩沖器340中是否還有區(qū)域需要轉(zhuǎn)換。如果還有區(qū)域需要轉(zhuǎn)換,則控制返回過(guò)程塊410,其中圖形核心230從圖形顏色/Z區(qū)域緩沖器340接收另一個(gè)區(qū)域的多邊形。根據(jù)一個(gè)實(shí)施例,圖形核心230包括一個(gè)管道引擎。結(jié)果,在圖形核心230對(duì)下一個(gè)區(qū)域的轉(zhuǎn)換可以在前一個(gè)區(qū)域的展開(kāi)BLT進(jìn)行中開(kāi)始。
如上所述,使用統(tǒng)一的圖形高速緩存結(jié)構(gòu)用于基于區(qū)域的轉(zhuǎn)換使得能夠在不增加外部存儲(chǔ)容量和帶寬要求的情況下產(chǎn)生有效的過(guò)采樣圖像。
典型地,使用基于非區(qū)域的轉(zhuǎn)換的圖形引擎一般必須首先將整個(gè)過(guò)采樣圖像提供給k倍于原始顯示分辨率大小的存儲(chǔ)器位置,才能進(jìn)行下采樣。該存儲(chǔ)器一般來(lái)說(shuō)太大,以至于無(wú)法與圖形引擎在同一半導(dǎo)體設(shè)備上實(shí)現(xiàn)。因此,要求增加主存儲(chǔ)器中的存儲(chǔ)容量和帶寬。
如上所述,統(tǒng)一的圖形高速緩存為隨后將被下采樣(如,通過(guò)展開(kāi)BLT)的過(guò)采樣圖像提供臨時(shí)的存儲(chǔ)。結(jié)果,只有原始大小的最終圖像需要被寫(xiě)出并存入主系統(tǒng)存儲(chǔ)器,如存儲(chǔ)器113中。因此,描述了一種不會(huì)引入額外存儲(chǔ)容量和帶寬的過(guò)采樣實(shí)現(xiàn)。
但是,毫無(wú)疑問(wèn),對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),通過(guò)閱讀上述說(shuō)明,對(duì)本發(fā)明的許多更改和修正將是顯然的。應(yīng)當(dāng)理解,通過(guò)說(shuō)明示出和描述的任何特定實(shí)施例決不應(yīng)當(dāng)被認(rèn)為是限制性的。因此,對(duì)各個(gè)實(shí)施例的參考不是為了限制權(quán)利要求的范圍,權(quán)利要求本身只是引用關(guān)于本發(fā)明的這些特征。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng),包括圖形核心;和耦合到該圖形核心的統(tǒng)一的圖形高速緩存,其中,該統(tǒng)一的圖形高速緩存存儲(chǔ)紋理數(shù)據(jù)、顏色數(shù)據(jù)和深度數(shù)據(jù)。
2.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中,所述圖形高速緩存包括存儲(chǔ)紋理數(shù)據(jù)的紋理高速緩存;和存儲(chǔ)顏色數(shù)據(jù)和深度數(shù)據(jù)的顏色和深度緩沖器。
3.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),還包括中央處理單元(CPU)核心;和耦合到該CPU核心的CPU高速緩存。
4.權(quán)利要求3的計(jì)算機(jī)系統(tǒng),還包括耦合到所述CPU高速緩存和圖形高速緩存的總線接口。
5.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中,所述圖形核心根據(jù)以區(qū)域?yàn)榛A(chǔ)的轉(zhuǎn)換結(jié)構(gòu)操作。
6.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),還包括一個(gè)耦合到所述總線接口的主存儲(chǔ)器。
7.權(quán)利要求2的計(jì)算機(jī)系統(tǒng),其中,所述圖形核心放大圖像多邊形,并將這些多邊形轉(zhuǎn)換到圖形高速緩存中。
8.權(quán)利要求7的計(jì)算機(jī)系統(tǒng),其中,對(duì)所述圖像多邊形的放大是通過(guò)視口變換實(shí)現(xiàn)的。
9.權(quán)利要求7的計(jì)算機(jī)系統(tǒng),其中,當(dāng)多邊形被轉(zhuǎn)換之后,圖形核心對(duì)圖像多邊形下采樣。
10.權(quán)利要求9的計(jì)算機(jī)系統(tǒng),其中,對(duì)所述圖像多邊形的放大是通過(guò)執(zhí)行位對(duì)準(zhǔn)塊傳送實(shí)現(xiàn)的。
11.一種用于對(duì)圖形進(jìn)行上采樣的方法,包括在圖形核心接收?qǐng)D像的第一區(qū)域的多邊形;和將這些第一區(qū)域的多邊形轉(zhuǎn)換到統(tǒng)一的圖形高速緩存中,其中,統(tǒng)一的圖形高速緩存存儲(chǔ)圖像的紋理數(shù)據(jù)、顏色數(shù)據(jù)和深度數(shù)據(jù)。
12.權(quán)利要求11的方法,還包括在圖形核心接收多邊形之后放大所述多邊形。
13.權(quán)利要求12的方法,其中所述多邊形被放大到圖像原始大小的四倍。
14.權(quán)利要求12的方法,其中所述放大是使用視口變換實(shí)現(xiàn)的。
15.權(quán)利要求11的方法,其中所述轉(zhuǎn)換多邊形的步驟包括設(shè)置圖像多邊形;和在圖像多邊形內(nèi)對(duì)像素進(jìn)行光柵化。
16.權(quán)利要求15的方法,還包括在圖像多邊形內(nèi)對(duì)像素進(jìn)行紋理化。
17.權(quán)利要求11的方法,還包括所述多邊形被轉(zhuǎn)換后,對(duì)這些多邊形進(jìn)行下采樣。
18.權(quán)利要求17的方法,其中所述下采樣是通過(guò)執(zhí)行位對(duì)準(zhǔn)塊傳送實(shí)現(xiàn)的。
19.權(quán)利要求11的方法,還包括判斷所述統(tǒng)一的圖形核心是否還包括更多的區(qū)域要被轉(zhuǎn)換;和如果是,就在所述圖形核心接收第二個(gè)區(qū)域的多邊形;和將這些第二個(gè)區(qū)域的多邊形轉(zhuǎn)換到統(tǒng)一的圖形高速緩存中。
20.一種中央處理單元(CPU),包括圖形加速器;和耦合到該圖形加速器的統(tǒng)一的圖形高速緩存,其中該統(tǒng)一的圖形高速緩存存儲(chǔ)紋理數(shù)據(jù)、顏色數(shù)據(jù)、和深度數(shù)據(jù)。
21.權(quán)利要求20的CPU,其中所述圖形高速緩存包括存儲(chǔ)紋理數(shù)據(jù)的紋理高速緩存;和存儲(chǔ)顏色數(shù)據(jù)和深度數(shù)據(jù)的顏色和深度緩沖器。
22.權(quán)利要求20的CPU,還包括CPU核心;和耦合到該CPU核心的CPU高速緩存。
23.權(quán)利要求22的CPU,還包括耦合到所述CPU高速緩存和圖形高速緩存的總線接口。
24.權(quán)利要求23的CPU,其中所述圖形加速器根據(jù)以區(qū)域?yàn)榛A(chǔ)的轉(zhuǎn)換結(jié)構(gòu)操作。
全文摘要
根據(jù)一個(gè)實(shí)施例,公開(kāi)了一種計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)包括一個(gè)圖形加速器和耦合到該圖形加速器的圖形高速緩存。該圖形高速緩存存儲(chǔ)紋理數(shù)據(jù)、顏色數(shù)據(jù)和深度數(shù)據(jù)。
文檔編號(hào)G06T15/00GK1466738SQ01816418
公開(kāi)日2004年1月7日 申請(qǐng)日期2001年9月26日 優(yōu)先權(quán)日2000年9月28日
發(fā)明者H·-C·蔡, S·麥宇蘭, C·-C·王, H -C 蔡, ね, 罾 申請(qǐng)人:英特爾公司