專利名稱:通過像素采樣抗鋸齒的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及圖形處理,并且更具體地但不是限制地涉及一種在低計算成本下以高幀速率產(chǎn)生高質(zhì)量、抗鋸齒的圖形圖片的方法和系統(tǒng)。
背景技術(shù):
三維圖形的實時繪制在移動終端上有大量吸引人的應(yīng)用,包括游戲、人機界面、消息接發(fā)和電子商務(wù)。由于三維繪制典型地是計算費用大的任務(wù),因此必須經(jīng)常構(gòu)建專用硬件以實現(xiàn)可接受的性能。降低此硬件體系結(jié)構(gòu)的計算復(fù)雜性和帶寬利用率的創(chuàng)新方式因此是非常重要的。如在Akenine-Mller、Tomas和Jacob Strm的“Graphicsfor the MassesA Hardware Architecture for Mobile Phones”(ACMTransactions on Graphics,vol.22,no.3,Proceedings of ACMSIGGRAPH 2003,pp.801-808,July 2003)中所述的,已表明移動電話的平均眼睛至像素的角度約是個人計算機(PC)的2-4倍。因此,移動裝置上的圖像質(zhì)量理論上應(yīng)優(yōu)于用于PC上的圖像質(zhì)量。然而,移動裝置一般具有更少且不太強大的計算資源。
自計算機圖形學的早期開始,當在顯示屏上呈現(xiàn)靜態(tài)或移動圖片時,鋸齒一直是個問題。鋸齒的一個示例是當以某個角度繪制線時在顯示終端上可見的階梯效應(yīng)。這些階梯贗像通常被稱為“鋸齒”。在三維繪制期間,多邊形的邊緣經(jīng)常產(chǎn)生明顯的鋸齒贗像。最好是使用抗鋸齒(anti-aliasing)技術(shù)減少這些贗像。
減少由于鋸齒而在圖片中出現(xiàn)的贗像的一種方法是使用被稱為超級采樣的方法。在超級采樣方法中,按每個像素不止一個點對將要顯示的場景采樣,并根據(jù)樣本計算最終的圖像。作為超級采樣的特殊情況,多重采樣技術(shù)也按每個像素不止一個點對場景采樣,但片段著色器計算的結(jié)果(例如,紋理和顏色)在像素中的樣本之間共享。通常,多重采樣算法是一次性取每個像素的不止一個樣本并在網(wǎng)格單元的樣本之間共享計算。
在抗鋸齒的超級采樣方法中,以比在屏幕上顯示的最終分辨率更高的分辨率來繪制圖片,從而導(dǎo)致每個像素不止一個樣本。各像素的樣本隨后進行平均,例如以形成像素的顏色。這通過為將要顯示的各像素繪制多個子像素樣本并將各像素的值計算為子像素樣本值的加權(quán)和來完成。例如,各顯示像素可由像素內(nèi)一組四個子像素樣本的過濾加權(quán)和組成。
由于使用超級采樣方法,圖形硬件必須為各顯示像素處理四倍量的樣本。這種抗鋸齒的方法經(jīng)常被稱為強力超級采樣。強力超級采樣大大提高了圖像質(zhì)量,但在存儲空間和繪制時間方面付出了高代價。例如,假設(shè)目標圖像的寬度和高度為w×h。如果2w×2h的分辨率用于強力超級采樣,則使用每個像素四個樣本,并需要四倍的存儲空間及四倍的光柵化時間。雖然超級采樣提供了良好的圖片質(zhì)量,但由于計算負擔重,它可導(dǎo)致低的幀速率。
為了降低用于產(chǎn)生抗鋸齒像素的計算負擔,可使用修改的超級采樣方案,在該方案中,子像素樣本位置被置于適當?shù)奈恢靡允挂粋€或多個樣本位置的值可用于計算不止一個像素的最終值。這種超級采樣方案經(jīng)常被稱為樣本共享方案。通過共享樣本,實現(xiàn)每個像素少于四個樣本是可能的。由于部分計算可由像素內(nèi)的所有樣本共享,因此,多重采樣有時可用于進一步降低帶寬需求。
美國圣克拉拉的NVIDIA公司的GeForce3TM圖形處理單元提供了支持超級采樣和像素之間的子樣本共享的硬件。被稱為“Quincunx(五點梅花排列采樣法)”的超級采樣方案介紹了在模片上以“5”的形式的子像素樣本模式(即,5個子像素樣本用于計算最終像素的值)。由于Quincunx方案中樣本位置的放置原因,每個像素只有兩個樣本需要計算。其余的樣本值從相鄰像素獲得。中心子像素樣本得到0.5的權(quán)重,而外圍子像素樣本各得到0.125的權(quán)重。有關(guān)Quincunx方案的信息可在NVIDIA公司的“Technical Brief,HRAAHigh-Resolution Antialiasing through Multisampling”中找到。
單色方案中介于黑色與白色之間的多個灰度等級取決于使用的像素樣本點的數(shù)量。在使用四個像素樣本位置的示例中,在黑色與白色之間最多將有三個灰影。因此,上述Quincunx方案最多提供4個灰影。然而,Quincunx方案的有效灰影數(shù)量可低至2個。在Quincunx方案中,樣本點在垂直、水平和45°方向上形成線,這使得對于一些線取向來說,Quincunx方案比其他一些方案表現(xiàn)得更差。
發(fā)明內(nèi)容
本發(fā)明力圖提供一種用于以低計算成本產(chǎn)生高質(zhì)量抗鋸齒的圖片的方法和設(shè)備。本發(fā)明的一個實施例涉及一種用于減少鋸齒的方法。該方法包括在多個像素樣本點對圖像的像素進行采樣以產(chǎn)生相應(yīng)的多個像素樣本值的步驟,其中多個像素樣本點中的至少一個像素樣本點位于沿像素的邊緣與一個位置有預(yù)定位移的位置。該方法還包括組合多個像素樣本值以產(chǎn)生顯示的像素值。在本發(fā)明的一個實施例中,預(yù)定位移利用查找表來確定。在本發(fā)明的又一個實施例中,預(yù)定位移以偽隨機的方式來確定。
本發(fā)明的另一個實施例涉及一種用于減少鋸齒的系統(tǒng),該系統(tǒng)包括適于存儲圖像的樣本緩沖器和適于在多個像素樣本點執(zhí)行像素采樣以產(chǎn)生相應(yīng)的多個像素樣本值的處理器,其中多個像素樣本點中的至少一個像素樣本點位于沿像素的邊緣與一個位置有預(yù)定位移的位置。處理器還適于組合多個像素樣本值以產(chǎn)生至少一個顯示的像素值。
本發(fā)明的另一個實施例涉及一種制品,該制品包括至少一個計算機可讀介質(zhì)和包含在該至少一個計算機可讀介質(zhì)上的處理器指令,這些處理器指令配置為可由至少一個處理器從該至少一個計算機可讀介質(zhì)中讀取,并由此使該至少一個處理器運行以便在多個像素樣本點對圖像的像素進行采樣以產(chǎn)生相應(yīng)的多個像素樣本值,其中多個像素樣本點中的至少一個像素樣本點位于沿像素的邊緣距一個位置的預(yù)定位移內(nèi)。處理器指令還使該至少一個處理器運行以便組合多個像素樣本值從而產(chǎn)生顯示的像素值。
結(jié)合附圖,參照下面的具體實施方式
可獲得對本發(fā)明更完整的理解,其中圖1A示出用于抗鋸齒的像素采樣模式的示例;圖1B示出用于抗鋸齒的像素采樣模式;圖2A示出用于抗鋸齒的像素采樣模式的另一個示例;圖2B示出用于抗鋸齒的像素采樣模式;圖3A和3B示出像素樣本模式中的像素樣本位置的計算;圖4示出像素樣本模式的鏡像步驟;圖5示出另一個像素樣本模式的另一個鏡像步驟;圖6A和6B示出像素樣本模式;圖7示出像素樣本模式;圖8示出像素樣本模式;圖9A和9B示出用于產(chǎn)生抗鋸齒圖片的方法;圖10A-10D示出各像素包括三個像素樣本的多重采樣方案的變型;圖11示出另一個多重采樣方案;圖12示出包括九個像素的3×3像素配置中的抗鋸齒方案;圖13A-13D示出多重采樣方案;圖14示出多重采樣方案;圖15示出3×3像素配置中的抗鋸齒方案;以及圖16是示出用于創(chuàng)建抗鋸齒圖片的圖形系統(tǒng)的示意框圖。
具體實施例方式
現(xiàn)在將參照附圖,更充分地描述本發(fā)明的實施例。然而,本發(fā)明可體現(xiàn)為許多不同的形式并且不應(yīng)當認為受限于本文所提出的實施例。本發(fā)明應(yīng)只看作受目前存在的權(quán)利要求書及其等同物的限制。
本發(fā)明的各種實施例用于通過提供非周期性像素采樣模式減少抗鋸齒贗像。非周期性像素采樣模式不會使特殊的邊緣角更易于具有鋸齒贗像。本發(fā)明的各種實施例用于消除為相鄰像素實施反射規(guī)則的需要,并只要求被置于像素邊緣上的樣本由共享像素邊緣的相鄰像素來共享。因此,其他像素無需依賴于該樣本。
現(xiàn)在參照圖1A,它示出用于八個像素101a-101h的像素采樣模式。圖1A的像素采樣模式示出位于像素101a-101h邊緣上的九個像素樣本點104-112。為清晰起見,未示出可能位于水平像素邊緣上的任何像素樣本。由于像素采樣模式為每兩個像素重復(fù)進行,因此,圖1A的像素采樣模式具有的周期為2。
現(xiàn)在參照圖1B,它示出依照本發(fā)明實施例的像素采樣模式。圖1B的像素采樣模式示出位于像素101a′-101h′邊緣上的九個像素樣本點104′-112′。為清晰起見,未示出可能位于水平像素邊緣上的任何像素樣本。在圖1B中,像素樣本點105′沿像素101a′和101b′的共享邊緣按預(yù)定偏移量移位,以使它與任一其他像素樣本點104′和106′-112′不在沿像素邊緣的同一垂直距離上。像素樣本點105′移位的距離可通過多種方法或算法中的任何一種來確定。在一種選擇中,像素樣本點105′移位的距離可通過從將要執(zhí)行抗鋸齒方案的一個或多個像素的表中進行查找來確定。在另一種選擇中,偏移量可以偽隨機的方式來確定。像素樣本點105′的位移產(chǎn)生非周期性的像素采樣模式。在又一種選擇中,在要求位于像素邊緣的樣本點由共享該像素邊緣的相鄰像素共享的情況下,像素樣本點104′-112′中的任何一個或多個可沿像素邊緣移位預(yù)定的距離。
現(xiàn)在參照圖2A,它示出用于八個像素201a-201h的像素采樣模式。圖2A的像素采樣模式示出位于像素201a-201h邊緣上的九個像素樣本點204-212。為清晰起見,未示出可能位于水平像素邊緣上的任何像素樣本。由于像素采樣模式為每三個像素重復(fù)進行,因此,圖2A的像素采樣模式具有的周期為3。
現(xiàn)在參照圖2B,它示出本發(fā)明的實施例,其中,像素采樣模式中的每個樣本定位在沿像素邊緣的預(yù)定偏移處,或定位在沿像素邊緣的預(yù)定間隔內(nèi)。圖2B示出八個像素201a′-201h′的像素采樣模式。圖2B的像素采樣模式示出位于像素201a′-201d′和202a′-202d′邊緣上的九個像素樣本點204′-212′。各像素樣本點204′-212′定位于在像素邊緣的預(yù)定間隔內(nèi)的預(yù)定點上。在一種選擇中,像素樣本點204′-212′在以偽隨機的方式定位在像素邊緣的預(yù)定間隔內(nèi)。在另一種選擇中,像素樣本點204′-212′定位于從查找表中讀取的預(yù)定偏移處,以使像素采樣模式不會對至少兩個像素重復(fù)。
圖2B示出與各像素樣本點204′-212′相關(guān)聯(lián)的預(yù)定間隔,各預(yù)定間隔用括號表示。通過使用像素樣本點的位移,在用于產(chǎn)生位移的偽隨機發(fā)生器或查找表的限度內(nèi),產(chǎn)生像素采樣模式的實際無限周期,這導(dǎo)致沿線邊緣的改進的對稱打破并在抗鋸齒圖像中提供更佳的視覺質(zhì)量。雖然像素樣本點204′-212′的預(yù)定間隔示為只沿像素邊緣的一部分延伸,但應(yīng)理解,預(yù)定間隔可沿像素邊緣的整個長度延伸以使特殊像素樣本點可位于沿像素邊緣的任何位置。還應(yīng)理解的是,像素樣本點無需精確地位于像素邊緣上,而是可位于像素邊緣附近,例如,在離像素邊緣三分之一像素寬度的距離處。應(yīng)理解的是,附加的像素樣本點可位于每個像素內(nèi)。
圖3A和3B示出其中像素樣本點303-306被置于像素301邊緣并且像素樣本點307-310被置于像素302邊緣的超級采樣方案。如果像素301和像素302的位置彼此相鄰,則這允許顯示存儲器中像素301與像素302之間的像素樣本共享。在圖3A和3B的超級采樣方案中,樣本不像Quincunx方案一樣被置于像素301、302的角上。相反,以旋轉(zhuǎn)的正方形配置為像素301、302的每個邊緣定義一個像素樣本點,并且賦予每個樣本點0.25的權(quán)重。應(yīng)理解的是,其他權(quán)重也可用于加權(quán)各樣本點。
圖3A和3B下方分別示出了用于確定精確像素樣本位置的等式。如圖3A和3B所示,在圖3A和3B的等式中,項x0和y0分別表示x軸(“x”)和y軸(“y”)的原點。
如圖所示的像素樣本點303-310的布置提供了其中需要相對小數(shù)量的像素樣本點的采樣模式。另外,采樣模式提供了各樣本點位于像素的唯一行和列上的特征,即沒有兩個像素樣本共享特殊像素的同一列或行。這在圖3A和3B中通過虛線來示出,其中沒有兩個點在同一虛線上。采樣模式還用于破壞像素采樣模式配置的對稱性,這增強了顯示屏的非軸線的抗鋸齒效應(yīng),非軸線是不與顯示屏的水平軸或垂直軸平行的線??逛忼X效應(yīng)對于相對于顯示屏接近垂直或接近水平的線來說甚至更大。例如,采用穿過一個或多個像素301、302在顯示屏上繪制的多邊形的接近水平取向的邊緣。例如如果Quincunx方案用于產(chǎn)生抗鋸齒線表示,則將使用四個樣本點,像素的各角上各一個樣本點。對于一些像素,多邊形邊緣將只覆蓋像素的頂部,但仍將覆蓋兩個最高像素樣本位置。因此,通過檢查來自像素中像素樣本位置的值,即使邊緣覆蓋了像素的一半,所確定的像素的抗鋸齒值將為0.25。因此將拙劣地呈現(xiàn)像素。
如果借助于具有定位在接近水平線取向上的、覆蓋像素301、302頂部的一小部分的多邊形邊緣的圖3A和3B的方案發(fā)生同一情況,則多邊形邊緣將不會覆蓋兩個像素樣本位置,而是由于樣本位置的布置只覆蓋像素301、302的最高水平邊緣上的樣本位置。
圖4示出其中像素401的像素樣本點403-406不像Quincunx方案一樣被置于像素的角上的像素采樣模式。如像素樣本點403-406所示出的像素樣本配置稱為“象限A”。相應(yīng)地,表示如像素樣本點406-409所示出的像素樣本配置的像素402稱為“象限B”。
通過檢查并排的象限A和象限B的配置,顯然,當在象限A的右側(cè)垂直邊緣410(并因此為象限B的左側(cè)垂直邊緣)被反射時,象限B的像素樣本點406-409的鏡像是象限A中相應(yīng)的像素樣本點403-406。通過鏡像像素樣本點403-406和406-409的位置,可能的是,在這兩個像素之間共享像素樣本點406并且仍打破像素采樣配置的對稱性以實現(xiàn)更佳的抗鋸齒結(jié)果。每行只有一個樣本,并且每列只有一個樣本。例如,在Quincunx方案中,頂行有兩個樣本。
圖5示出其中左上方像素501包含按象限A配置的四個像素樣本點510-513的抗鋸齒方案。像素501右側(cè)的像素502也包含按象限B配置的四個像素樣本點513-516,這些樣本點在最左像素501的右邊緣被反射。此外,第三像素503也包含按象限A配置的四個像素樣本點516-519。正如從圖5可看到的,像素501-503共享各對像素501-502、502-503之間的一個像素樣本點513、516。包括像素504-506的下方像素行從呈現(xiàn)像素樣本點511、520-522的象限B配置的像素504開始。像素樣本點511在上方像素行上的像素501與像素504之間共享。通過檢查并排的象限A(即,最高像素501)和象限B(即,下方像素504)的配置,顯然,象限B的像素樣本點511、520-522形成了在像素501的底部水平邊緣530(并因此為像素504的頂部水平邊緣)反射的象限A中相應(yīng)點510-513的鏡像。
像素505包含按象限A配置的四個像素樣本點515、522-524。像素505與像素502共享一個像素樣本點515,并與像素504共享一個像素樣本點522。這同樣適用于最右側(cè)的像素506,該像素也與相鄰像素503、505共享兩個像素樣本點517、524。
通過使用鏡像方案,在確定像素501-506的最終值時,除顯示屏上最高和最左像素501-504之外的所有像素只需要計算兩個新像素樣本位置值。在其中為像素501按從左到右且從上到下的順序執(zhí)行像素計算的一個示例中,計算了像素樣本點510-513的值。對于像素502,計算了像素樣本點514-516的值,而像素樣本點513的值由于已經(jīng)為像素501計算得出,因而不必計算。對于像素503,計算了像素樣本點517-519的值,而像素樣本點516的值由于已經(jīng)為像素502計算得出,因而不必計算。對于像素504,計算了像素樣本點520-522的值,而像素樣本點511的值由于已經(jīng)為像素501計算得出,因而不必計算。對于像素505,只計算了像素樣本點523-524的值,而像素樣本點515和522的值由于已經(jīng)分別為像素502和504計算得出,因而不必計算。類似地,對于像素506,只計算了像素樣本點525-526的值,而像素樣本點517和524的值由于已經(jīng)分別為像素503和505計算得出,因而不必計算。在其中可通過從右到左且從下到上掃描遍歷像素的另一種選擇中,除最右列和最底行外的所有像素只需兩個樣本。在又一種選擇中,掃描方向可每隔一行改變以便使存儲器的使用更高效。應(yīng)理解的是,本領(lǐng)域普通技術(shù)人員所了解的、遍歷幾何圖元的像素的許多方式是可能的,只要遍歷方案訪問該幾何圖元內(nèi)的所有像素。
圖6A和6B示出其中像素樣本點303′-306′被置于像素301′的邊緣并且像素樣本點307′-310′被置于像素302′的邊緣的超級采樣方案。如果像素301′和像素302′的位置彼此相鄰,這允許顯示存儲器中像素301′與像素302′之間的像素樣本共享。在圖6A和6B的超級采樣方案中,一個或多個像素樣本點303′-306′可位于沿像素301′和302′邊緣的間隔內(nèi)的預(yù)定位置。圖6A和6B示出與各像素樣本點303′-310′相關(guān)聯(lián)的預(yù)定間隔,各預(yù)定間隔用括號表示。雖然各括號示為沿像素邊緣的一部分延伸,但應(yīng)理解,像素樣本點可沿像素邊緣的任何部分來定位。在圖6A和6B的實施例中,為像素301、302的各邊緣定義了一個像素樣本位置,并且賦予各樣本位置0.25的權(quán)重。對于圖6A,確定精確的像素樣本位置的示范等式如下
303′=(x0+2/3+offset(x0,y0,0),y0+1)304′=(x0,y0+2/3+offset(x0,y0,1))305′=(x0+1/3+offset(x0,y0,2),y0)306′=(x0+1,y0+1/3+offset(x0,y0,3))并且對于圖6B,等式如下307′=(x0+1/3+offset(x0,y0,0),y0+1)308′=(x0,y0+1/3+offset(x0,y0,1))309′=(x0+2/3+offset(x0,y0,2),y0)310′=(x0+1,y0+2/3+offset(x0,y0,3))其中,offset()函數(shù)表示用于生成預(yù)定范圍內(nèi)位移值的函數(shù),并且項x0和y0分別表示如圖6A和6B所示的x軸(“x”)和y軸(“y”)的原點。在另一個實施例中,在用于確定像素樣本位置的等式中不必包括加的常數(shù),因為此信息可已經(jīng)編碼在查找表內(nèi)或偽隨機函數(shù)中。例如,像素樣本位置303′的等式可以是如下形式303′=(x0+offset(x0,y0,0),y0+1)一個或多個像素樣本點303′-310′的移位(或偏移)布置用于破壞采樣模式的周期性以便增強直邊、特別是接近27度的那些直邊上的抗鋸齒效應(yīng)。對于其中不執(zhí)行像素樣本點的位移的采樣模式,27度的邊緣可能由于像素樣本點表示旋轉(zhuǎn)27度的正方形的事實而以其他的方式產(chǎn)生不想要的結(jié)果。依照本發(fā)明的各種實施例引入位移將破壞這種對稱性,從而產(chǎn)生更佳的結(jié)果。
在一種選擇中,各像素樣本點303′-310′可定位在如從查找表中讀取的預(yù)定偏移處,以使像素采樣模式不會為至少每個像素而重復(fù)。在另一種選擇中,各像素樣本點303′-310′可利用偽隨機數(shù)發(fā)生器來定位。在又一種選擇中,除位于像素邊緣或其附近的那些像素樣本點外,采樣模式還可包括位于像素內(nèi)的一個或多個像素樣本點。
圖7示出其中最左側(cè)像素401′的像素樣本點403′-406′被置于沿像素401′邊緣的預(yù)定位置的像素采樣模式。像素樣本點407′-409′被置于像素402′的邊緣。像素樣本點403′-409′的至少其中之一的位置可位于沿像素401′和402′的相應(yīng)邊緣的預(yù)定間隔內(nèi)的預(yù)定位置。圖7示出與各像素樣本點403′-409′相關(guān)聯(lián)的預(yù)定間隔,各預(yù)定間隔用括號表示。雖然括號示為沿像素邊緣的一部分延伸,但應(yīng)理解,像素樣本點可沿像素邊緣的任何部分來定位。
圖8示出其中左上方像素501′包含四個像素樣本點510′-513′的抗鋸齒方案。像素501′右側(cè)的像素502′也包含四個像素樣本點513′-516′。此外,第三像素503′也包含四個像素樣本點516′-519′。正如從圖8中可看到的,像素501′-503′共享各對像素501′-502′、502′-503′之間的一個像素樣本點513′、516′。下方像素行從呈現(xiàn)像素樣本點511′、520′-522′的配置的像素504′開始。像素樣本點511′在上方像素行上的像素501′與像素504′之間共享。
像素505′包含四個像素樣本點515′、522′-524′。像素505′與上方行上的像素502′共享一個像素樣本點515′,并且與像素504′共享一個像素樣本點522′。這同樣適用于最右側(cè)的像素506′,該像素也與相鄰像素503′、505′共享兩個像素樣本點517′、524′。像素樣本點510′-525′的至少其中之一的位置可位于沿像素501′-506′的至少其中之一的相應(yīng)邊緣的預(yù)定間隔內(nèi)的預(yù)定位置。在一種選擇中,像素樣本點定位在從查找表中讀取的預(yù)定偏移處。在另一種選擇中,像素樣本點以偽隨機的方式定位在像素邊緣的預(yù)定間隔內(nèi)。
在確定像素501′-506′的最終值時,除最高和最左像素501′-504′外的所有像素只需要計算兩個新像素樣本點值。在另一種選擇中,圖像中除最右側(cè)列和最底部行外的所有像素只需兩個樣本。通過從左到右掃描行,可遍歷圖像像素中的樣本位置。在又一種選擇中,掃描方向可每隔一行改變以便使存儲器的使用更高效。另外,應(yīng)理解任何遍歷方案可與超級采樣方案結(jié)合實施。
圖9A是示出一種用于產(chǎn)生高質(zhì)量抗鋸齒圖像的方法的流程圖,其中對一個或多個幾何圖元進行采樣以產(chǎn)生圖像。在應(yīng)用階段(步驟610),處理器(例如,中央處理單元(CPU))運行應(yīng)用程序(例如,計算機游戲)并生成要轉(zhuǎn)換成顯示屏上的2D呈現(xiàn)的幾何圖元(例如,三角形形式的多邊形)。
接著,在幾何階段(步驟620),處理器或圖形處理單元(GPU)計算影響顯示屏上的對象外觀的不同視覺效應(yīng),如光照、裁剪、變換或投影。由于當在計算機圖形中創(chuàng)建3D對象時一般使用幾何圖元,因此一般計算出幾何圖元頂點的像素坐標。
在光柵化階段(步驟630),三角形被引入樣本緩沖器。使用一個或多個幾何圖元上的紋理坐標的透視糾正內(nèi)插以便確保獲得正確的投影。光柵化階段可由處理器和/或GPU來執(zhí)行。除此之外,處理器或GPU還可例如內(nèi)插一種或多種顏色、另一組紋理坐標或霧等。處理器或GPU還可執(zhí)行Z緩沖器測試,并確保最終的像素獲得正確的顏色。在過濾階段(步驟640),過濾樣本緩沖器以產(chǎn)生存儲在顏色緩沖器中的像素顏色。顏色緩沖器的內(nèi)容隨后可在屏幕上顯示。
圖9B是示出圖9A的步驟630的更詳細的流程圖。在步驟631中,執(zhí)行第一幾何圖元的幾何圖元設(shè)定,其中,在幾何圖元中發(fā)現(xiàn)依照本發(fā)明各種實施例的像素樣本模式的第一樣本點,并且進程繼續(xù)到步驟632。在步驟632中,確定樣本點是否已在幾何圖元的邊界內(nèi)發(fā)現(xiàn)。如果未在幾何圖元內(nèi)發(fā)現(xiàn)樣本點,則進程繼續(xù)到步驟633,在該步驟中,確定是否還存在將要繪制的幾何圖元。如果還存在將要繪制的幾何圖元,則進程繼續(xù)到步驟634。在步驟634中,取回下一個幾何圖元,并且進程返回到其中執(zhí)行幾何圖元設(shè)定的步驟631。如果在步驟633中確定不再存在將要繪制的幾何圖元,則步驟630結(jié)束,并且進程繼續(xù)到步驟640,在該步驟中執(zhí)行樣本過濾以產(chǎn)生過濾器。
如果在步驟632中確定在幾何圖元內(nèi)發(fā)現(xiàn)了樣本點,則進程繼續(xù)到步驟635,在該步驟中執(zhí)行有關(guān)在幾何圖元中樣本將是否可視的可視性檢查。在步驟636中,進行有關(guān)樣本是否可視的確定。如果樣本不可視,則進程繼續(xù)到步驟637,在該步驟中遍歷幾何圖元以查找?guī)缀螆D元內(nèi)的下一個樣本點,并且進程繼續(xù)到步驟632。
如果在步驟636中確定樣本點可視,則在步驟638中執(zhí)行樣本顏色的計算,并且在步驟639中,在如樣本緩沖器的一個或多個緩沖器中存儲樣本的顏色和深度。隨后,進程返回到步驟637,在該步驟中遍歷幾何圖元以查找?guī)缀螆D元內(nèi)的下一個樣本點。
圖10A-10D示出各像素801、802、811、812包括三個像素樣本點的多重采樣方案的變型。像素樣本點803-808、813-818被置于像素801、802、811、812的邊界上。像素的邊界充當樣本共享的鏡面,這允許顯示存儲器中不同像素801、802、811、812之間的樣本共享。
像素樣本點803-808、813-818的至少其中之一被置于各像素801、802、811、812的角上。術(shù)語“在角上”指大約在像素的兩個相交邊界的角上設(shè)置樣本,例如,離角的距離不大于終止于角的最短像素邊緣的長度的三分之一。然而,只要角樣本可用于多至四個像素值的計算,則角樣本可相對于實際角而稍微移位。
在圖10A-10D的多重采樣方案中,為像素801、802、811、812的兩個邊界的角定義第一像素樣本點。為像素801、802、811、812的未與第一像素樣本所處的像素角相交的單獨邊界定義第二和第三像素樣本點。在圖10A-10D中,各像素801、802、811和812的第二和第三像素樣本定位在兩個角之間的邊界的中心。對于像素801,像素樣本點804、805各自定位在兩個角之間的邊界中心的中心。對于像素802,像素樣本點806、807各自定位在兩個角之間的邊界中心的中心。對于像素811,像素樣本點813、815各自定位在兩個角之間的邊界中心的中心。對于像素812,像素樣本點816、817各自定位在兩個角之間的邊界中心的中心。像素樣本點803、808、814和818各自分別定位在像素801、802、811和812的角上。然而,只要樣本可用于計算兩個相鄰像素的值,第二和第三像素樣本點可定位在邊界上的任何點。此外,在圖10A-10D中,第二和第三像素樣本點804、805、806、807、813、815、816、817定位在其相應(yīng)像素801、802、811、812的邊界上,它們離角的距離相同。在另一種選擇中,各像素樣本點804、805、806、807、813、815、816、817離角的距離可以不同。各像素樣本點被賦予1/3的權(quán)重(即,使得權(quán)重的和等于1)。可使用的另一種權(quán)重分配是對于第一像素樣本為0.2,并且對于第二和第三像素樣本各為0.4。像素樣本的任何其他權(quán)重分配只要其和合計值為一,便可使用。
在圖10A-10D中,在各像素801、802、811、812上疊加網(wǎng)格,并且網(wǎng)格定義了角上及網(wǎng)格與邊界相交而不是與角像素樣本點所處的像素801、802、811、812的角相交的任何地方的可能的像素樣本點。圖10A-10D分別示出了用于確定各像素801、802、811、812的精確樣本點模式的示范等式。如圖10A-10D所示,在圖10A-10D的等式中,項x0和y0分別表示x軸(“x”)和y軸(“y”)的原點。
圖11示出其中最左側(cè)像素901包括角上的一個像素樣本點903和像素901的單獨邊界上的兩個像素樣本點904-905的多重采樣方案。在下文中,此像素樣本配置將被稱為模式A。相應(yīng)地,呈現(xiàn)具有像素樣本點905-907的像素樣本配置的第二像素902被稱為模式B。通過檢查并排的模式A和模式B的配置,顯然,模式B的像素樣本點905-907是模式A中相應(yīng)點903-905的鏡像。模式A在像素901的右側(cè)垂直邊界908上反射以形成像素902的模式B。因此,模式B是模式A的鏡像。
模式A和模式B的像素樣本點還可在其相應(yīng)的底部水平邊界909上鏡像。呈現(xiàn)像素樣本配置的第三像素911將被稱為模式C,該像素樣本配置是模式A在像素901的底部水平邊界上鏡像時的鏡像。模式C具有像素樣本點904、923-924,其中,像素樣本點之一(即,像素樣本點904)與模式A共享。呈現(xiàn)像素樣本配置的第四像素912將被稱為模式D,該像素樣本配置是模式B在底部水平邊界909上鏡像時的鏡像。模式D具有像素樣本點906、924-925,其中,像素樣本點之一(即,像素樣本點906)與模式B共享,并且一個像素樣本點(即,像素樣本點924)與模式C共享。
通過跨垂直邊界908鏡像像素樣本點903-905的位置,在這兩個像素901、902之間共享像素樣本點905并且仍打破配置的對稱性以及實現(xiàn)改進的抗鋸齒結(jié)果是可能的。在圖11的多重采樣方案中,每個像素行和像素列只有一個樣本。與此相比,在Quincunx方案中,頂行有兩個樣本。
圖12示出包括九個像素1001-1009的3×3像素配置中的抗鋸齒方案。最左上方像素1001包含按模式A配置的三個像素樣本點1010-1012。第二像素1002包括按模式B配置的三個像素樣本點1012-1014,這些樣本點是在最左上方像素1001的右邊界上的鏡像。此外,像素1003包括按模式A配置的三個像素樣本點1014-1016。正如從圖12可看到的,上方行的像素1001-1003在各對像素1001-1002、1002-1003之間共享一個像素樣本點1012、1014。
第二像素行從呈現(xiàn)像素樣本點1011、1017-1018的模式C配置的像素1004開始。像素樣本點1011在像素1004與像素1001之間共享。第二行上的像素1005包括按模式D配置的三個像素樣本點1013、1018-1019。像素1005與像素1002共享一個像素樣本點1013,并且與像素1004共享一個像素樣本點1018。這同樣適用于第二行上具有三個像素樣本點1015、1019-1020的像素1006,它也與相鄰的像素1003、1005共享兩個像素樣本點1015、1019。
第三像素行從呈現(xiàn)像素樣本點1017、1021-1022的模式A配置的像素1007開始。像素樣本點1017在像素1007與第四像素1004之間共享。像素1008包括按模式B配置的三個像素樣本點1019、1022-1023。像素1008與像素1005共享一個像素樣本點1019,并且與左側(cè)的像素1007共享一個像素樣本點1022。這同樣適用于在第三行上具有三個像素樣本點1019、1024-1025的像素1009,該像素與相鄰像素1006共享一個像素樣本點1019。
通過檢查圖12,顯然,除在最高行和最左列上的之外、設(shè)置于像素角上的所有像素樣本點在四個像素之間共享。因此,只需為四個像素計算一次角像素樣本的大多數(shù)(對于相對大的像素網(wǎng)格),其中計算成本為每個像素0.25。將只需為兩個相鄰的像素計算一次在兩個像素之間共享的、設(shè)置于未與角像素的邊界相交的邊界上的像素樣本點1011、1012、1013、1015、1018、1021、1022、1023、1024。因此,這些邊界像素的計算成本為每個像素0.5。
因此,通過使用鏡像方案,除最高和最左像素1001-1004、1007之外的所有像素平均只需計算1.25(0.25+0.5+0.5=1.25)個新像素樣本點值,用于確定像素1001-1009的最終值。在另一種選擇中,除最右列上的那些像素和最底行上的那些像素之外的所有像素只需1.25個樣本。在最為人熟知的多重采樣配置中,必須計算至少兩個像素樣本以便確定像素的最終值。
通過從左到右掃描行,可遍歷像素中的樣本位置。在另一種選擇中,掃描方向可每隔一行改變以便使存儲器的使用更高效??衫斫?,任何遍歷方案可與多重采樣方案結(jié)合實施。
圖13A-13D示出一個多重采樣方案。圖13A-13D的多重采樣方案示為各像素801′、802′、811′、812′包括三個像素樣本。像素樣本點803′-808′、813′-818′被置于像素801′、802′、811′、812′的邊界上。像素樣本點801′、808′、814′和818′各自分別被置于像素801′、802′、811′、812′的角上。依照圖13A-13D的多重采樣方案,一個或多個像素樣本點804′、805′、806′、807′、813′、815′、816′及817′位于沿像素801′、802′、811′、812′的邊緣的間隔內(nèi)的預(yù)定位置上。圖13A-13D示出與各像素樣本點804′、805′、806′、807′、813′、815′、816′、817′相關(guān)聯(lián)的預(yù)定間隔,各預(yù)定間隔用括號表示。術(shù)語“在角上”指大約在像素的兩個相交邊界的角上設(shè)置樣本。然而,只要角樣本可用于多至四個像素值的計算,角樣本可相對于實際角而移位。例如,樣本點也可位于角附近,以使樣本點位于小于或等于像素寬度的三分之一的距離處。在又一種選擇中,除位于像素邊緣或角上或其附近的那些像素樣本點外,采樣模式還可包括位于像素內(nèi)的一個或多個像素樣本點。
在圖13A-13D的多重采樣方案中,分別為像素801′、802′、811′、812′的兩個邊界的角定義第一像素樣本點803′、808′、814′、818′。為像素801′、802′、811′、812′的未與角像素樣本相交的單獨邊界定義第二和第三像素樣本點804′、805′、806′、807′、813′、815′、816′、817′。在圖13A-13D中,各像素801′、802′、811′、812′的第二和第三像素樣本點804′、805′、806′、807′、813′、815′、816′、817′定位在兩個角之間的邊界中心。然而,如上所述,只要樣本可用于計算兩個相鄰像素的值,第二和第三像素樣本804′、805′、806′、807′、813′、815′、816′、817′可位于邊界上的任何位置。各像素樣本可被賦予1/3的權(quán)重(即,權(quán)重的和等于1)。因此,對于第一像素樣本來說,另一示范權(quán)重分配為0.2,并且對于第二和第三像素樣本來說各為0.4。
用于確定圖13A的各像素的精確像素樣本點模式的示范等式如下803′=(x0,y0+1)804′=(x0+0.5+offset(0,y0,0),y0)805′=(x0+1,y0+0.5+offset(x0,y0,1))對于圖13B,等式如下806′=(x0,y0+0.5+offset(x0,y0,0))807′=(x0+0.5+offset(x0,y0,1),y0)808′=(x0+1,y0+1)對于圖13C,等式如下813′=(x0+0.5+offset(x0,y0,0),y0+1)814′-(x0,y0)815′=(x0+1,y0+0.5+offset(x0,y0,1))并且對于圖13D,等式如下
816′=(x0,y0+0.5+offset(x0,y0,0)817′=(x0+0.5+offset(x0,y0,1),y0+1)818′=(x0+1,y0)其中,offset()函數(shù)表示用于生成預(yù)定范圍內(nèi)位移值的函數(shù),并且x0和y0項分別表示如圖13A-13D所示的x軸(“x”)和y軸(“y”)的原點。在另一個實施例中,在用于確定像素樣本位置的等式中不必包括加的常數(shù)0.5,因為此信息可已經(jīng)編碼在查找表內(nèi)或偽隨機函數(shù)中。例如,像素樣本位置804′的等式可以是如下形式804′=(x0+offset(x0,y0,0),y0)像素樣本點803′-808′、813′-818′的移位(或偏移)布置用于破壞配置的對稱性并增強抗鋸齒效應(yīng)。在一種選擇中,各像素樣本點804′-807′、813′和815′-817′可定位在如從查找表中讀取的預(yù)定偏移處以使像素采樣模式不會為至少每個像素進行重復(fù)。在另一種選擇中,各像素樣本點804′-807′、813′和815′-817′可利用偽隨機數(shù)發(fā)生器來定位。
圖14示出其中最左像素901′包括角上的一個像素樣本點903′和位于沿像素901′邊界的間隔內(nèi)的預(yù)定位置上的兩個像素樣本點904′-905′的多重采樣方案。第二像素902′具有角上的像素樣本點907′和位于沿像素902′邊界的間隔內(nèi)的預(yù)定位置上的兩個像素樣本點905′和906′。第三像素911′具有角上的像素樣本點923′和位于沿像素911′邊界的間隔內(nèi)的預(yù)定位置的兩個像素樣本點904′和924′。第四像素912′具有角上的像素樣本點925′和位于沿像素912′邊界的間隔內(nèi)的預(yù)定位置的兩個像素樣本點906′和924′。圖14示出與各像素樣本點904′、905′、906′、924′相關(guān)聯(lián)的預(yù)定間隔,各預(yù)定間隔用括號表示。雖然各括號示為沿像素邊緣的一部分延伸,但應(yīng)理解,像素樣本點可沿像素邊緣的任何部分來定位。如圖14所示,像素樣本點904′、923′-924′形成其中像素樣本點904′在像素901′與像素911′之間共享的像素樣本模式。像素樣本點906′、924′-925′形成其中像素樣本點906′在像素902′與像素912′之間共享以及像素樣本點924′在像素911′與像素912′之間共享的像素樣本模式。各像素樣本點的預(yù)定位置可例如通過參照查找表或以偽隨機的方式來確定。
選定像素樣本位置的移位或偏移定位用于打破像素采樣配置的對稱性并實現(xiàn)更佳的抗鋸齒結(jié)果。另外,每個像素行只有一個樣本,并且每個像素列只有一個樣本。例如在Quincunx中,像素的頂行有兩個像素樣本。
圖15示出包括九個像素1001′-1009′的3×3像素配置中的抗鋸齒方案。像素1001′包含三個像素樣本點1010′-1012′。位于像素1001′右側(cè)的像素1002′包括三個像素樣本點1012′-1014′。此外,像素1003′包括三個像素樣本點1014′-1016′。正如從圖15可看到的,上方行的像素1001′-1003′在各對像素1001′-1002′、1002′-1003′之間共享一個像素樣本點1012′、1014′。
第二像素行從呈現(xiàn)像素樣本點1011′、1017′-1018′的配置的像素1004′開始。像素樣本點1011′在像素1004′與像素1001′之間共享。第二行上的像素1005′包括三個像素樣本點1013′、1018′-1019′。像素1005′與像素1002′共享一個像素樣本點1013′,并且與像素1004′共享一個像素樣本點1018′。這同樣適用于位于第二行上并具有三個像素樣本點1015′、1019′-1020′的像素1006′,該像素也與相鄰像素1003′、1005′共享兩個像素樣本點1015′、1019′。
第三像素行從呈現(xiàn)像素樣本點1017′、1021′-1022′的配置的像素1007′開始。像素樣本點1017′在像素1007′與像素1004′之間共享。像素1008′包括三個像素樣本點1019′、1022′-1023′。像素1008′與像素1005′共享一個像素樣本點1019′,并且與像素1007′共享一個像素樣本點1022′。這同樣適用于具有三個像素樣本點1019′、1024′-1025′的像素1009′,該像素與相鄰像素1006′共享一個像素樣本點1019′。一個或多個像素樣本1011′、1012′、1013′、1015′、1016′、1018′、1020′、1021′、1022′、1023′、1024′及1025′可位于沿像素1001′-1009′的邊界的間隔內(nèi)的預(yù)定位置上。圖15示出與各像素樣本點1011′、1012′、1013′、1015′、1016′、1018′、1020′、1021′、1022′、1023′、1024′及1025′相關(guān)聯(lián)的預(yù)定間隔,各預(yù)定間隔用括號表示。雖然各括號示為沿像素邊緣的一部分延伸,但應(yīng)理解,像素樣本點可沿像素邊緣的任何部分來定位。各像素樣本點的預(yù)定位置可例如以偽隨機的方式或通過參照查找表來確定。
通過檢查圖15,顯然,除在最高行和最左列上的之外、設(shè)置于像素角上的所有像素樣本點在四個像素之間共享。因此,只需為四個像素計算一次角像素樣本的大多數(shù)(對于相對大的像素網(wǎng)格),其中計算成本為每個像素0.25。將只需為兩個相鄰的像素計算一次在兩個像素之間共享的、設(shè)置于未與角像素的邊界相交的邊界上的像素樣本點1011′、1012′、1013′、1015′、1016′、1018′、1020′、1021′、1022′、1023′、1024′及1025′。因此,這些邊界像素的計算成本為每個像素0.5。
因此,除最高和最左像素1001′-1004′、1007′之外的所有像素平均只需計算1.25(0.25+0.5+0.5=1.25)個新像素樣本點值,用于確定像素1001′-1009′的最終值。在另一種選擇中,除圖像最右側(cè)列和最底部行的像素之外的所有像素只需1.25個樣本。在最為人熟知的多重采樣配置中,必須計算至少兩個像素樣本以便確定像素的最終值。
通過從左到右掃描行,可遍歷像素中的像素樣本點。在另一種選擇中,掃描方向可每隔一行改變以便使存儲器的使用更高效。要理解的是,在沒有背離本發(fā)明原理的情況下,可實施任何遍歷方案。
通過使用圖15的多重采樣方案,最多只需訪問顯示存儲器三次以計算像素的最終值。然而,通過提供用于暫時存儲在一個或幾個隨后的像素值計算中所需要的樣本的附加的小且快的存儲器,如片上高速緩沖存儲器,使對顯示存儲器的必需訪問減少到最低1.25次是可能的。通過將此方法與Quincunx方案一起使用,計算像素的最終值需最少訪問存儲器兩次。此外,可利用甚至更小的附加的存儲器只存儲一個樣本(即,用于計算第一像素值和隨后像素值計算的樣本)。
再次參照圖14,通過從顯示存儲器中取回像素樣本903′-905′,可計算出像素901′的最終值。像素樣本905′隨后可暫時存儲在附加的存儲器中。對于像素902′的最終值的計算,只需從顯示存儲器中取回像素樣本906′-907′,而像素樣本905′可從附加的存儲器中取回。因此,計算例如移動終端的176×174像素網(wǎng)格的、大的像素網(wǎng)格的大多數(shù)像素只需訪問顯示存儲器兩次。利用Quincunx方案,計算像素的最終值需訪問顯示存儲器三次和附加的存儲器兩次。
圖16是依照具有像素樣本模式的超級采樣方案的、用于繪制例如多邊形的一個或多個幾何圖元的系統(tǒng)的框圖。中央處理單元(CPU)701經(jīng)數(shù)據(jù)總線703連接到存儲器702。存儲器702包括可在系統(tǒng)上運行的應(yīng)用程序(例如,計算機游戲或計算機輔助設(shè)計(CAD)程序)。CPU 701在存儲器702中取出指令并執(zhí)行指令以便執(zhí)行特定的任務(wù)。在此情況中,CPU 701的任務(wù)是為圖形處理單元(GPU)704提供有關(guān)要在顯示屏705上繪制的對象的信息。
GPU 704可以是處理器的形式,例如數(shù)字信號處理器(DSP),或者是專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、硬連線邏輯或諸如此類的形式。在另一種選擇中,它可在CPU 701上執(zhí)行。GPU704也連接到總線703,但在大量信息于CPU 701與GPU 704之間傳送的情況下,還可經(jīng)單獨的高速總線706連接到CPU 701。在單獨的高速總線706上的數(shù)據(jù)傳送將因此不會干擾普通總線703上的數(shù)據(jù)業(yè)務(wù)。
顯示存儲器707也連接到總線703并存儲從GPU 704發(fā)送的有關(guān)要在顯示屏705上繪制的圖片(即,幀)的信息。更具體地,顯示存儲器包含樣本緩沖器707a和顏色緩沖器707b。樣本緩沖器707a包含的樣本數(shù)量大約是最終顏色緩沖器707b中的像素數(shù)量的兩倍。在圖像繪制完成之后,顏色緩沖器707b保存將要在屏幕上顯示的像素的顏色。如同CPU 701與GPU 704之間的互連一樣,顯示存儲器707可經(jīng)單獨的高速總線直接連接到GPU 704。由于GPU 704和顯示存儲器707一般用于產(chǎn)生移動圖像,因此一般期望這兩個單元之間的鏈路盡可能地快,并且不會阻塞總線703上的正常業(yè)務(wù)。
顯示存儲器707或經(jīng)共享總線703或通過單獨的高速總線709連接到視頻數(shù)模轉(zhuǎn)換器(VDAC)708,該轉(zhuǎn)換器從顏色緩沖器707b讀取信息并將它轉(zhuǎn)換成提供給顯示屏705以便在顯示屏705上繪制各個像素的模擬信號(例如,紅色、綠色、藍色(RGB)復(fù)合信號)。GPU 704利用如本文所述的像素采樣模式執(zhí)行超級采樣或多重采樣過程以產(chǎn)生保存在顏色緩沖器707b中的像素。
雖然前面的具體實施方式
描述了其中可利用表查找或偽隨機的方法來確定像素樣本點的定位的示范實施例,但應(yīng)理解,依照本發(fā)明的原理,可使用定位像素樣本點的其他方法。
前面的具體實施方式
是有關(guān)本發(fā)明的實施例。本發(fā)明的范圍應(yīng)不必受此具體實施方式
的限制。例如,應(yīng)理解,本發(fā)明可與將樣本置于像素邊緣上的任何樣本方案一起使用。還應(yīng)理解,本發(fā)明所述各種實施例的超級采樣方案可包括在多個裝置中,這些裝置包括計算機和移動終端。相反,本發(fā)明的范圍由下面的權(quán)利要求書及其等同物來界定。
權(quán)利要求
1.一種用于減少鋸齒的方法,所述方法包括在多個像素樣本點對圖像的像素進行采樣以產(chǎn)生相應(yīng)的多個像素樣本值;其中所述多個像素樣本點中的至少一個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置;以及組合所述多個像素樣本值以產(chǎn)生顯示的像素值。
2.如權(quán)利要求1所述的方法,其中所述預(yù)定位移利用查找表來確定。
3.如權(quán)利要求1所述的方法,其中所述預(yù)定位移以偽隨機的方式來確定。
4.如權(quán)利要求3所述的方法,其中利用偽隨機數(shù)發(fā)生器來確定所述以偽隨機的方式確定的預(yù)定位移。
5.如權(quán)利要求1所述的方法,其中所述多個像素樣本點中的至少一個像素樣本點與相鄰像素的至少一個像素樣本點共享。
6.如權(quán)利要求1所述的方法,其中所述組合所述多個像素樣本值的步驟包括確定所述多個像素樣本值的平均值。
7.如權(quán)利要求1所述的方法,其中所述多個像素樣本值包括多個顏色值。
8.如權(quán)利要求1所述的方法,其中所述顯示的像素值包括顏色值。
9.如權(quán)利要求1所述的方法,其中所述預(yù)定位移包括沿所述像素的邊緣的預(yù)定間隔內(nèi)的位置。
10.如權(quán)利要求1所述的方法,其中所述預(yù)定位移等于零。
11.如權(quán)利要求1所述的方法,其中所述多個像素樣本點中的至少一個像素樣本點對應(yīng)于第二像素的至少一個像素樣本點,所述第二像素與所采樣的像素相鄰。
12.如權(quán)利要求1所述的方法,其中多個像素的樣本點包括實質(zhì)上非周期性的樣本模式。
13.如權(quán)利要求1所述的方法,其中所述多個像素樣本點由四個像素樣本點組成。
14.如權(quán)利要求1所述的方法,其中所述多個像素樣本點中的每個像素樣本點定位在所述像素的邊緣上。
15.如權(quán)利要求1所述的方法,其中所述多個像素樣本點中的每個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置。
16.如權(quán)利要求1所述的方法,其中所述多個像素樣本點由三個像素樣本點組成。
17.如權(quán)利要求1所述的方法,其中所述多個像素樣本點包括位于所述像素的角上的第一像素樣本點;位于沿所述像素的第一邊緣的位置的第二像素樣本點;以及位于沿所述像素的第二邊緣的位置的第三像素樣本點。
18.如權(quán)利要求17所述的方法,其中所述第二像素樣本點和所述第三像素樣本點中的至少一個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置。
19.一種用于減少鋸齒的系統(tǒng),所述系統(tǒng)包括適于存儲圖像的樣本緩沖器;適于在多個像素樣本點執(zhí)行像素采樣以產(chǎn)生相應(yīng)的多個像素樣本值的處理器;其中所述多個像素樣本點中的至少一個像素樣本點位于沿像素的邊緣與一個位置有預(yù)定位移的位置;以及其中所述處理器還適于組合所述多個像素樣本值以產(chǎn)生至少一個顯示的像素值。
20.如權(quán)利要求19所述的系統(tǒng),還包括適于存儲所述至少一個顯示的像素值的顏色存儲器。
21.如權(quán)利要求19所述的系統(tǒng),其中所述處理器包括中央處理單元(CPU)。
22.如權(quán)利要求19所述的系統(tǒng),其中所述處理器包括圖形處理單元(GPU)。
23.如權(quán)利要求19所述的系統(tǒng),其中所述組合所述多個像素樣本值的步驟包括確定所述多個像素樣本值的平均值。
24.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本值包括顏色值。
25.如權(quán)利要求19所述的系統(tǒng),其中所述至少一個顯示的像素值包括顏色值。
26.如權(quán)利要求19所述的系統(tǒng),其中所述預(yù)定位移利用查找表來確定。
27.如權(quán)利要求19所述的系統(tǒng),其中所述預(yù)定位移以偽隨機的方式來確定。
28.如權(quán)利要求27所述的系統(tǒng),還包括適于確定所述以偽隨機的方式確定的預(yù)定位移的偽隨機數(shù)發(fā)生器。
29.如權(quán)利要求19所述的系統(tǒng),其中所述預(yù)定位移包括沿所述像素的邊緣的預(yù)定間隔內(nèi)的位置。
30.如權(quán)利要求19所述的系統(tǒng),其中所述預(yù)定位移等于零。
31.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點中的至少一個像素樣本點對應(yīng)于所述圖像的相鄰像素的至少一個像素樣本點。
32.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點中的至少一個像素樣本點對應(yīng)于第二像素的至少一個像素樣本點,所述第二像素與所采樣的像素相鄰。
33.如權(quán)利要求19所述的系統(tǒng),其中多個像素的樣本點包括實質(zhì)上非周期性的樣本模式。
34.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點由四個像素樣本點組成。
35.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點中的每個像素樣本點定位在所述像素的邊緣上。
36.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點中的每個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置。
37.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點由三個像素樣本點組成。
38.如權(quán)利要求19所述的系統(tǒng),其中所述多個像素樣本點包括位于所述像素的角上的第一像素樣本點;位于沿所述像素的第一邊緣的位置的第二像素樣本點;以及位于沿所述像素的第二邊緣的位置的第三像素樣本點。
39.如權(quán)利要求38所述的系統(tǒng),其中所述第二像素樣本點和所述第三像素樣本點中的至少一個像素樣本點位于沿所述像素的邊緣距一個位置的預(yù)定位移內(nèi)。
40.一種用于減少鋸齒的制品,所述制品包括至少一個計算機可讀介質(zhì);包含在所述至少一個計算機可讀介質(zhì)上的處理器指令,所述處理器指令配置為可由至少一個處理器從所述至少一個計算機可讀介質(zhì)中讀取,并由此使所述至少一個處理器運行以便在多個像素樣本點對圖像的像素進行采樣以產(chǎn)生相應(yīng)的多個像素樣本值;其中所述多個像素樣本點中的至少一個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置;以及組合所述多個像素樣本值以產(chǎn)生顯示的像素值。
41.如權(quán)利要求40所述的制品,其中所述預(yù)定位移利用查找表來確定。
42.如權(quán)利要求40所述的制品,其中所述預(yù)定位移以偽隨機的方式來確定。
43.如權(quán)利要求42所述的制品,其中利用偽隨機數(shù)發(fā)生器來確定所述以偽隨機的方式確定的預(yù)定位移。
44.如權(quán)利要求40所述的制品,其中所述多個像素樣本點中的至少一個像素樣本點與相鄰像素的至少一個像素樣本點共享。
45.如權(quán)利要求40所述的制品,其中所述組合所述多個像素樣本值包括確定所述多個像素樣本值的平均值。
46.如權(quán)利要求40所述的制品,其中所述多個像素樣本值包括多個顏色值。
47.如權(quán)利要求40所述的制品,其中所述顯示的像素值包括顏色值。
48.如權(quán)利要求40所述的制品,其中所述預(yù)定位移包括沿所述像素的邊緣的預(yù)定間隔內(nèi)的位置。
49.如權(quán)利要求40所述的制品,其中所述預(yù)定位移等于零。
50.如權(quán)利要求40所述的制品,其中所述多個像素樣本點中的至少一個像素樣本點對應(yīng)于第二像素的至少一個像素樣本點,所述第二像素與所采樣的像素相鄰。
51.如權(quán)利要求40所述的制品,其中多個像素的樣本點包括實質(zhì)上非周期性的樣本模式。
52.如權(quán)利要求40所述的制品,其中所述多個像素樣本點由四個像素樣本點組成。
53.如權(quán)利要求40所述的制品,其中所述多個像素樣本點中的每個像素樣本點定位在所述像素的邊緣上。
54.如權(quán)利要求40所述的制品,其中所述多個像素樣本點中的每個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置。
55.如權(quán)利要求40所述的制品,其中所述多個像素樣本點由三個像素樣本點組成。
56.如權(quán)利要求40所述的制品,其中所述多個像素樣本點包括位于所述像素的角上的第一像素樣本點;位于沿所述像素的第一邊緣的位置的第二像素樣本點;以及位于沿所述像素的第二邊緣的位置的第三像素樣本點。
57.如權(quán)利要求56所述的制品,其中所述第二像素樣本點和所述第三像素樣本點中的至少一個像素樣本點位于沿所述像素的邊緣與一個位置有預(yù)定位移的位置。
全文摘要
本發(fā)明公開了一種用于減少鋸齒的方法、系統(tǒng)和制品。依照一個實施例的方法在多個像素樣本點對圖像的像素進行采樣以產(chǎn)生相應(yīng)的多個像素樣本值,其中多個像素樣本點中的至少一個像素樣本點位于沿像素的邊緣與一個位置有預(yù)定位移的位置。該方法還包括組合多個像素樣本值以產(chǎn)生顯示的像素值。
文檔編號G06T15/00GK101061517SQ200580039362
公開日2007年10月24日 申請日期2005年9月19日 優(yōu)先權(quán)日2004年9月20日
發(fā)明者T·阿克尼納-默勒, J·斯特倫 申請人:艾利森電話股份有限公司