TWI431548B - 繪圖系統及其像素更新方法 - Google Patents
繪圖系統及其像素更新方法 Download PDFInfo
- Publication number
- TWI431548B TWI431548B TW099140741A TW99140741A TWI431548B TW I431548 B TWI431548 B TW I431548B TW 099140741 A TW099140741 A TW 099140741A TW 99140741 A TW99140741 A TW 99140741A TW I431548 B TWI431548 B TW I431548B
- Authority
- TW
- Taiwan
- Prior art keywords
- edge
- color
- processing unit
- virtual area
- corner point
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/12—Indexing scheme for image data processing or generation, in general involving antialiasing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Description
本發明係關於一種繪圖系統及其像素更新方法;更具體而言,本發明係關於一種採用反鋸齒(anti-aliasing)技術之繪圖系統及其像素更新方法。
近年來,電腦繪圖技術快速地發展,因而被廣泛地應用至各種不同的領域,例如電影工業、電玩產業等等。然而,由於硬體的限制,於電腦繪圖技術中,高解析度的訊號往往須以低解析度表示,甚至有時會無法準確地運算出圖形坐標定位,造成顯示畫面上之圖物的邊緣出現凹凸鋸齒,此現象稱為圖形混疊(aliasing)。
請參閱第1A圖,其係為圖形混疊之示意圖。第1A圖中,一顯示畫面10包含16個像素(pixel),每一像素由一正方形所表示。三角形102則為一虛擬區域,其係代表欲呈現於顯示畫面10之圖像。當取樣(sampling)頻率為每一像素一個取樣點(第1A圖中,每一正方形內之黑點代表取樣點)時,便僅能以該取樣點所取樣到之顏色及亮度來更新該像素。依此取樣頻率對三角形102取樣並以取樣值更新顯示畫面10之像素後,便呈現第1A圖所示之畫面,其中灰色正方形便代表三角形102。由第1A圖可知,此取樣頻率會造成圖形混疊之現象。
提高取樣頻率為解決圖形混疊現象之一種技術手段,其示意圖請參閱第1B、1C、1D及1E圖。第1B圖係描繪取樣頻率為每一像素十六個取樣點之情形,而第1C圖則描繪每一像素四個取樣點之情形。雖然提高取樣點可減少圖形混疊的現象,但卻增加需要儲存及運算之資料量。為減緩提高取樣點對系統所造成之負荷,因而發展出共享取樣點之技術,其示意圖係描繪於第1D及1E圖。第1D圖中,取樣頻率為每一像素五個取樣點,由於有四個取樣點位於該像素之角落,因此該四個取樣點所對應之資料亦能被鄰近像素所使用。第1E圖中,取樣頻率為每一像素四個取樣點,且此四個取樣點所對應之資料亦能被鄰近像素所使用。雖然第1D及1E圖所繪示之提高取樣頻率之技術手段大幅減少需要儲存及運算之資料量,然其所能帶來之畫面品質仍與實務上所要求的品質有段距離。
綜上所述,本領域仍需一種能解決圖形混疊、達到實務上所要求的畫面品質且不需儲存及處理大量資料量之繪圖系統(graphic rendering system)及更新該繪圖系統之像素的方法。
本發明之一目的在於提供一種繪圖系統(graphic rendering system),其係包含一儲存單元及一處理單元。該儲存單元用以儲存一資訊,其中該資訊於一顯示畫面界定一虛擬區域。該處理單元用以根據該資訊,判斷該顯示畫面之一像素與該虛擬區域之一部分重疊。該部分對應之一顏色。該像素界定一第一邊緣、一第二邊緣、一第三邊緣及一第四邊緣。該處理單元更用以決定該虛擬區域於該第一邊緣之一第一涵蓋率、該虛擬區域於該第二邊緣之一第二涵蓋率、該虛擬區域於該第三邊緣之一第三涵蓋率及該虛擬區域於該第四邊緣之一第四涵蓋率。該處理單元更用以根據該第一顏色、該第一涵蓋率、該第二涵蓋率、該第三涵蓋率及該第四涵蓋率,決定該像素之一顯示顏色。
本發明之另一目的在於提供一種適用於一繪圖系統之像素更新方法。該繪圖系統包含一處理單元及一儲存單元,其中該儲存單元儲存一資訊,該資訊於一顯示畫面界定一虛擬區域。該像素更新方法包含下列步驟:(a)令該處理單元根據該資訊,判斷該顯示畫面之一像素與該虛擬區域之一部分重疊,該部分對應至一顏色,該像素界定一第一邊緣、一第二邊緣、一第三邊緣及一第四邊緣;(b)令該處理單元決定該虛擬區域於該第一邊緣之一第一涵蓋率;(c)令該處理單元決定該虛擬區域於該第二邊緣之一第二涵蓋率;(d)令該處理單元決定該虛擬區域於該第三邊緣之一第三涵蓋率;(e)令該處理單元決定該虛擬區域於該第四邊緣之一第四涵蓋率;以及(f)令該處理單元根據該顏色、該第一涵蓋率、該第二涵蓋率、該第三涵蓋率及該第四涵蓋率,決定該像素之一顯示顏色。
由上述說明可知,針對所欲呈現至顯示畫面之虛擬區域,本發明先決定虛擬區域於各像素之邊緣的涵蓋率,再根據虛擬區域與像素重疊部分所對應之顏色及像素四個邊緣之涵蓋率,決定像素之顯示顏色。由於本發明提高取樣頻率,因此能解決圖形混疊的問題。再者,由於本發明係利用像素四個邊之涵蓋率加以運算,因此四個邊之涵蓋率亦可提供與鄰近像素使用,藉此避免過多的資料運算量及資料儲存量。
為讓本發明之上述目的、技術特徵和優點能更明顯易懂,下文係以較佳實施例配合所附圖式進行詳細說明。
以下將透過實施例來解釋本發明之內容。然而,本發明的實施例並非用以限制本發明需在如實施例所述之任何環境、應用或方式方能實施。因此,關於實施例之說明僅為闡釋本發明之目的,而非用以直接限制本發明。需說明者,以下實施例及圖示中,與本發明非直接相關之元件已省略而未繪示。
本發明之第一實施例為一繪圖系統(graphic rendering system)2,其內部元件示意圖如第2A圖所示。繪圖系統2包含一處理單元21及一儲存單元23。處理單元21可為本發明所屬技術領域中具有通常知識者所熟知之各種處理器、中央處理裝置(central processing unit)、微處理器或其它計算裝置其中之任一種或是電路。儲存單元23可為記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或所屬技術領域中具有通常知識者可輕易思及具有相同功能之儲存媒體或是電路。
第2B圖則描繪第一實施例之一顯示畫面上之一像素(pixel)20,此像素20界定第一邊緣201、第二邊緣202、第三邊緣203及第四邊緣204。須說明者,第一邊緣201、第二邊緣202、第三邊緣203及第四邊緣204之「第一」、「第二」、「第三」及「第四」僅用以表示第一邊緣201、第二邊緣202、第三邊緣203及第四邊緣204為像素20所界定之四個不同邊緣而已。
儲存單元23儲存一第一資訊及一第二資訊,此第一資訊於顯示畫面上界定一第一虛擬區域22,而第二資訊於顯示畫面上界定一第二虛擬區域24,如第2C圖所示。第一虛擬區域22及第二虛擬區域24皆代表欲呈現於顯示畫面之圖像。若將繪圖系統2應用於3D繪圖,則第一資訊及第二資訊可為3D模型之基本元件(primitive)。本發明所屬技術領域中具有通常知識者應能輕易思及第一資訊及第二資訊可為許多不同之形式。舉例而言,第一資訊可為第一虛擬區域22之三個頂點之座標,亦可為第一虛擬區域22之三個邊之邊緣函數(edge function)。本發明並未限制第一資訊及第二資訊之形式,故不贅言。同樣的,第一資訊及第二資訊之「第一」及「第二」僅用來表示第一資訊及第二資訊為不同的資訊而已。
處理單元21會讀取儲存單元23內之第一資訊,並根據第一資訊來判斷像素20是否與第一資訊所界定之第一虛擬區域22之一部分重疊。此舉意味著,處理單元21須判斷要將第一虛擬區域22呈現於顯示畫面時,是否需因應地調整像素20之顏色。處理單元21可採用不同之技術手段來加以判斷像素20是否與第一資訊所界定之第一虛擬區域22之一部分重疊。舉例而言,處理單元21可根據像素20所界定之一第一角落點206a、一第二角落點206b、一第三角落點206c及一第四角落點206d,判斷第一角落點206a、第二角落點206b、第三角落點206c及第四角落點206d是否至少其中之一位於第一虛擬區域22內。若判斷之結果為是,表示處理單元21判斷像素20與第一虛擬區域22之一部分重疊。倘若第一資訊包含複數個邊緣函數(edge function),則處理單元21係利用這些邊緣函數來判斷第一角落點206a、第二角落點206b、第三角落點206c及第四角落點206d是否至少其中之一位於第一虛擬區域22內。邊緣函數(edge function)為本發明所屬技術領域中具有通常知識者所熟知之概念,故不贅言。類似的,第一角落點、第二角落點、第三角落點及第四角落點之「第一」、「第二」、「第三」及「第四」僅用來表示第一角落點、第二角落點、第三角落點及第四角落點為不同的角落點而已。
如第2C圖所示,本實施例之像素20與第一虛擬區域22之一部分重疊,且此部份對應至一第一顏色(例如:綠色),亦即欲以綠色將第一虛擬區域22呈現於顯示畫面之像素20。因此,處理單元21接著決定第一虛擬區域22於第一邊緣201之第一涵蓋率、第一虛擬區域22於第二邊緣202之第二涵蓋率、第一虛擬區域22於第三邊緣203之第三涵蓋率及第一虛擬區域22於第四邊緣204之第四涵蓋率。須說明者,第一涵蓋率、第二涵蓋率、第三涵蓋率及第四涵蓋率之「第一」、「第二」、「第三」及「第四」僅用來區分該涵蓋率對應至第一邊緣201、第二邊緣202、第三邊緣203及第四邊緣204而已。
接著,處理單元21便根據第一顏色、第一涵蓋率、第二涵蓋率、第三涵蓋率及第四涵蓋率,決定像素20之一顯示顏色。舉例而言,處理單元21可先根據第一涵蓋率及第一顏色決定第一邊緣201之一第一邊緣顏色、根據第二涵蓋率及第一顏色決定第二邊緣202之一第二邊緣顏色、根據第三涵蓋率及第一顏色決定第三邊緣203之一第三邊緣顏色及根據第四涵蓋率及第一顏色決定第四邊緣204之一第四邊緣顏色。之後,處理單元21再根據第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色決定像素20之顯示顏色。
茲以一具體之範例加以說明。為方便說明,第一涵蓋率、第二涵蓋率、第三涵蓋率及第四涵蓋率分別以a%、b%、c%及d%表示。假設第一顏色為綠色,其三原色光模式(RGB color model)之值為(R,G,B)=(0,255,0),則處理單元21便計算(0,255,0)×a%、(0,255,0)×b%、(0,255,0)×c%及(0,255,0)×d%,並將所得之數值分別設為第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色。儲存單元23會先暫存對應至第一虛擬區域22之第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色。
於之後的繪示(render)階段,處理單元21再自儲存單元23讀取第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色,並將第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色相加後除以四,作為像素20之顯示顏色。假設a%、b%、c%及d%分別為0%、100%、75%及0%,則第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色分別為(0,0,0)、(0,255,0)、(0,192,0)及(0,0,0)。像素20之顯示顏色則為(0,112,0)。於其他實施態樣中,處理單元21亦可選擇不計算第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色,而直接利用第一顏色、第一涵蓋率、第二涵蓋率、第三涵蓋率及第四涵蓋率來計算像素20之顯示顏色。具體而言,處理單元21可先計算(a%+b%+c%+d%)/4,再將與第一顏色之值(亦即(0,255,0))相乘,便可得到像素20之顯示顏色(亦即(0,112,0))。
本實施例中,由於儲存單元23尚有其他未處理之資訊(亦即第二資訊),故處理單元21接著讀取儲存單元23內之第二資訊,並根據第二資訊來判斷像素20是否與第二資訊所界定之第二虛擬區域24之一部分重疊。如第2C圖所示,本實施例之像素20與第二虛擬區域24之一部分重疊,且第二虛擬區域24之該部份對應至一第二顏色(例如:紅色),亦即欲以紅色將第二虛擬區域24呈現於像素20。因此,處理單元21接著決定第二虛擬區域24於第一邊緣201之第五涵蓋率、第二虛擬區域24於第二邊緣202之第六涵蓋率、第二虛擬區域24於第三邊緣203之第七涵蓋率及第二虛擬區域24於第四邊緣204之第八涵蓋率。須說明者,第一顏色及第二顏色之「第一」及「第二」僅用來區分該顏色對應至第一虛擬區域22或第二虛擬區域24而已。此外,第五涵蓋率、第六涵蓋率、第七涵蓋率及第八涵蓋率之「第五」、「第六」、「第七」及「第八」僅用來區分該涵蓋率對應至第一邊緣201、第二邊緣202、第三邊緣203及第四邊緣204而已。接著,處理單元21便根據第二虛擬區域24所對應之第二顏色、第五涵蓋率、第六涵蓋率、第七涵蓋率及第八涵蓋率,決定像素20之一更新顏色,並以此更新顏色更新像素20之顯示顏色。
茲以上述之具體範例接續說明。為方便說明,第五涵蓋率、第六涵蓋率、第七涵蓋率及第八涵蓋率分別以e%、f%、g%及h%表示。假設第二顏色為紅色,其三原色光模式之值為(R,G,B)=(255,0,0),則處理單元21便計算(0,255,0)×e%、(0,255,0)×f%、(0,255,0)×g%及(0,255,0)×h%,並將所得之數值分別設為對應至第二虛擬區域24之第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色。儲存單元23會先暫存對應至第二虛擬區域24之第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色。
於之後的繪示,處理單元21再自儲存單元23讀取對應至第二虛擬區域24之第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色相加後除以四,作為像素20之更新顏色。假設e%、f%、g%及h%分別為100%、0%、25%及100%,則對應至第二虛擬區域24之第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色分別為(255,0,0)、(0,0,0)、(64,0,0)及(255,0,0)。像素20之更新顏色則為(144,0,0)。類似的,於其他實施態樣中,處理單元21亦可選擇不計算對應至第二虛擬區域24之第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色,而直接利用第一顏色、第五涵蓋率、第六涵蓋率、第七涵蓋率及第八涵蓋率來計算像素20之顯示顏色。之後,處理單元21便以(144,0,0)更新像素20之顯示顏色為(144,112,0),亦即,將更新(144,0,0)加上像素20原來之顯示顏色(0,112,0)作為更新後之顯示顏色。
由上述說明可知,針對每一對應至像素20之虛擬區域,處理單元21會計算此虛擬區域於第一邊緣201、第二邊緣202、第三邊緣203及第四邊緣204之涵蓋率,這些涵蓋率反應出虛擬區域所對應之顏色應以何種比例呈現於像素20上。於此概念下,當一虛擬區域與像素20完全重疊(亦即像素20完全包含於虛擬區域內)時,四個邊緣之涵蓋率皆為100%,表示虛擬區域之顏色應該完整地呈現於像素20上。
因此,為了提昇處理之效率,當處理單元21判斷虛擬區域與像素20完全重疊(亦即第一角落點206a、第二角落點206b、第三角落點206c及第四角落點206d皆位於虛擬區域內)時,便不再分析各邊緣之涵蓋率,直接指定像素20之顯示顏色為虛擬區域之顏色;當處理單元21判斷虛擬區域與像素20部份重疊時(第一角落點206a、第二角落點206b、第三角落點206c及第四角落點206d之至少其中之一位於虛擬區域內,而第一角落點206a、第二角落點206b、第三角落點206c及第四角落點206d之至少其中之另一位於虛擬區域外)時,方分析各邊緣之涵蓋率,並據以計算像素20之顯示顏色。
透過上述之配置及運作,第一實施例便能根據虛擬區域於一像素四個邊緣之涵蓋率及邊緣顏色,計算像素之顯示顏色。若該像素存在鄰近像素,鄰近像素亦能使用該像素邊緣之涵蓋率及邊緣顏色等訊息。因此,第一實施例不僅能解決圖形混疊之問題,亦能透過共享像素邊緣之訊息來減少運算量及資料儲存量。
本發明之第二實施例亦為繪圖系統2,適可用以決定一像素之顯示顏色。第二實施例與第一實施例之差別在於計算虛擬區域於第一邊緣201之第一涵蓋率、於第二邊緣202之第二涵蓋率、於第三邊緣203之第三涵蓋率及於第四邊緣204之第四涵蓋率之方式。以下僅說明第二實施例與第一實施例相異之處。
請參閱第3圖,其係描繪第二實施例之顯示畫面上之像素20之示意圖。本實施例中,像素20之第一邊緣201界定四個子邊緣201a、201b、201c、201d、第二邊緣202界定四個子邊緣202a、202b、202c、202d、第三邊緣203界定四個子邊緣203a、203b、203c、203d且第四邊緣204界定四個子邊緣204a、204b、204c、204d。
接著,處理單元21根據第一資訊,判斷第一邊緣201之四個子邊緣201a、201b、201c、201d各自與第一虛擬區域22之一相對位置關係。再根據這些相對位置關係,計算第一虛擬區域22於第一邊緣201之第一涵蓋率。具體而言,針對各子邊緣201a、201b、201c、201d,處理單元21判斷該子邊緣是否至少部分位於第一虛擬區域22內,若該子邊緣至少部分位於第一虛擬區域22內,則該子邊緣便視為位於第一虛擬區域22內。進一步言,處理單元21可藉由判斷第一邊緣201所界定之端點208a、208b、208c及角落點206a、206b是否位於第一虛擬區域22內,來判斷子邊緣201a、201b、201c、201d是否位於第一虛擬區域22內。當子邊緣兩端之端點或角落點至少有一落於第一虛擬區域22內時,便視該子邊緣位於第一虛擬區域22內。
類似的,處理單元21根據第一資訊,判斷第二邊緣202之各子邊緣202a、202b、202c、202d與第一虛擬區域22之一相對位置關係,再根據該等相對位置關係,計算第一虛擬區域22於第二邊緣202之第二涵蓋率;處理單元21根據第一資訊,判斷第三邊緣203之各子邊緣203a、203b、203c、203d與第一虛擬區域22之一相對位置關係,再根據該等相對位置關係,計算第一虛擬區域22於第三邊緣203之第三涵蓋率;處理單元21根據第一資訊,判斷第四邊緣204之各子邊緣204a、204b、204c、204d與第一虛擬區域22之一相對位置關係,再根據該等相對位置關係,計算第一虛擬區域22於第四邊緣204之第四涵蓋率。
透過上述方式,第二實施例以較為有效率之方式計算虛擬區域於一像素四個邊緣之涵蓋率。同樣的,若該像素存在鄰近像素,鄰近像素亦能使用該像素邊緣之涵蓋率及邊緣顏色等訊息。
本發明之第三實施例亦為繪圖系統2,適可用以決定顯示畫面之複數個像素之顯示顏色。請參閱第4圖,顯示畫面4包含32個像素(由第4圖之32個正方形表示),虛擬區域41代表欲呈現於顯示畫面4之圖像。界定虛擬區域41之資訊(例如邊緣函數)則儲存於儲存單元23。
針對每一像素,本實施例會根據界定虛擬區域41之資訊以及該像素之四個角落點,判斷該像素是否與虛擬區域41部分重疊(亦即判斷虛擬區域41之邊緣是否與該像素交會)。針對每一像素,若四個角落點之至少其中之一位於虛擬區域41內,且四個角落點之至少其中之另一個位於虛擬區域41外,表示該像素與虛擬區域41部分重疊。因此,於此階段處理單元21需針對(4+1)×(8+1)×3=135個端點進行處理,其中乘數3代表界定虛擬區域41之三個邊緣函數(edge function)。
第4圖中,11個灰色正方形代表與虛擬區域41之邊緣交會之像素,這些像素需作進一步的處理,具體之處理方式如第一實施例及第二實施例所述,故不贅言。顯示畫面4右下方之9個像素(右下方之9個白色正方形)完全落於虛擬區域41內,因此這些像素將直接顯示虛擬區域41所對應之顏色,故不需作進一步處理。顯示畫面左上方之12個像素(左上方之12個白色正方形)完全落於虛擬區域41外,因此這些像素不會受虛擬區域41所對應之顏色所影響,將呈現其原本之顯示顏色,故亦不需作進一步處理。
接著說明本實施例所需要儲存之資料量。假設顯示畫面之解析度為W×H,則本發明所需儲存之資料量為(W×(H+1)+H×(W+1))×(1+CovergeBit),其中1代表將32位元之R、G、B值正規化後之值,而參數CovergeBit則將用以表示像素四個邊緣之涵蓋率之4個位元正規化後之值。因此,若將第1A圖所繪示之取樣技術(亦即,未採用反鋸齒技術)對虛擬區域41取樣時,所需儲存之資料量為8×4=32筆。至於本實施例所需儲存之資料量則為(8×(4+1)+4×(8+1))×(1+4/32)=85.5筆,其係為第1A圖所繪示之取樣技術所需儲存之資料量的85.5/32=2.671875倍。
本發明之第四實施例為一像素更新方法,其流程圖係描繪於第5圖。此像素更新方法是用於一繪圖系統,例如第一至第三實施例之繪圖系統2。此繪圖系統包含一處理單元及一儲存單元。儲存單元儲存複數個資訊,各個資訊於一顯示畫面界定一虛擬區域。
首先,執行步驟S501,令處理單元自儲存單元讀取一未處理過之資訊。接著,執行步驟S503,令處理單元根據所讀取之資訊,判斷顯示畫面之一像素與該資訊於顯示畫面上所界定之虛擬區域之一部分重疊,該部分對應至一顏色。舉例而言,由於像素界定四個角落點(亦即第一角落點、一第二角落點、一第三角落點及一第四角落點),因此步驟S503可根據所讀取之資訊,判斷四個角落點是否至少有一個位於虛擬區域內,當有一個角落點位於虛擬區域內時,表示此像素與虛擬區域至少部分重疊。須說明者,於其他實施態樣中,步驟S503可設定為僅處理像素與虛擬區域部分重疊之情形,而不處理像素與虛擬區域完全重疊之情形。於該等實施態樣中,步驟S503便會判斷四個角落點是否有一個角落點位於虛擬區域內,且有另一個角落點位於虛擬區域外,若是,則表示此像素與虛擬區域為部分重疊。此外,當界定虛擬區域之資訊之形式為邊緣函數時,步驟S503便是利用邊緣函數來加以判斷。
本實施例中,像素界定一第一邊緣、一第二邊緣、一第三邊緣及一第四邊緣。接著,像素更新方法執行步驟S505、S507、S509及S511,以分別令處理單元決定虛擬區域於第一邊緣之一第一涵蓋率、於第二邊緣之一第二涵蓋率、於第三邊緣之一第三涵蓋率及於第四邊緣之一第四涵蓋率。須說明者,步驟S505、S507、S509及S511之執行順序可彼此對調。
步驟S505、S507、S509及S511可利用不同的手段來達成。舉例而言,像素更新方法可將第一邊緣界定為具有複數個子邊緣、將第二邊緣界定為具有複數個子邊緣、將第三邊緣界定為具有複數個子邊緣及將第四邊緣界定為具有複數個子邊緣。此時,步驟S505便令處理單元根據所讀取之資訊,判斷第一邊緣之各子邊緣與虛擬區域之一相對位置關係(亦即二者是否交會),再令處理單元根據這些相對位置關係,計算虛擬區域於第一邊緣之第一涵蓋率。同理,步驟S507便令處理單元根據所讀取之資訊,判斷第二邊緣之各子邊緣與虛擬區域之一相對位置關係(亦即二者是否交會),再令處理單元根據這些相對位置關係,計算虛擬區域於第二邊緣之第二涵蓋率。步驟S509便令處理單元根據所讀取之資訊,判斷第三邊緣之各子邊緣與虛擬區域之一相對位置關係(亦即二者是否交會),再令處理單元根據這些相對位置關係,計算虛擬區域於第三邊緣之第三涵蓋率。步驟S511便令處理單元根據所讀取之資訊,判斷第四邊緣之各子邊緣與虛擬區域之一相對位置關係(亦即二者是否交會),再令處理單元根據這些相對位置關係,計算虛擬區域於第四邊緣之第四涵蓋率。
像素更新方法接著執行步驟S513,令該處理單元根據虛擬區域所對應之顏色及第一涵蓋率、第二涵蓋率、第三涵蓋率及第四涵蓋率,決定像素之一更新顏色。舉例而言,步驟S513可令處理單元根據第一涵蓋率及該顏色決定第一邊緣之一第一邊緣顏色、根據第二涵蓋率及該顏色決定第二邊緣之一第二邊緣顏色、根據第三涵蓋率及該顏色決定第三邊緣之一第三邊緣顏色及根據第四涵蓋率及該顏色決定第四邊緣之一第四邊緣顏色。此時,本實施例之像素更新方法所決定之更新顏色包含第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色。
之後,像素更新方法執行步驟S515,令處理單元判斷是否仍有未處理之資訊。若步驟S515之判斷結果為是,則像素更新方法再次執行步驟S501至步驟S513。若步驟S515之判斷結果為否,則令處理單元根據該更新顏色,更新該像素之該顯示顏色。舉例而言,當更新顏色包含第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色時,步驟S515可利用第一邊緣顏色、第二邊緣顏色、第三邊緣顏色及第四邊緣顏色相加後除以四之後所得之顏色,來更新顯示顏色。
第四實施例所描述之像素更新方法可由一電腦程式產品執行,當繪圖系統載入該電腦程式產品,並執行該電腦程式產品所包含之複數個指令後,即可完成第四實施例所述之像素更新方法。前述之電腦程式產品可儲存於電腦可讀取記錄媒體中,例如唯讀記憶體(read only memory;ROM)、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或熟習此項技藝者所習知且具有相同功能之任何其它儲存媒體中或是電路。
除了上述步驟,第四實施例亦能執行第一至第三實施例所描述之所有操作及功能,所屬技術領域具有通常知識者可直接瞭解第四實施例如何基於上述第一至第三實施例以執行此等操作及功能,故不贅述。
由上述實施例之說明可知,針對所欲呈現至顯示畫面之虛擬區域,本發明先決定虛擬區域於各像素之邊緣的涵蓋率,再根據虛擬區域所對應之顏色及像素四個邊緣之涵蓋率,決定像素之顯示顏色。由於本發明提高取樣頻率,因此能解決圖形混疊的問題。再者,由於本發明係利用像素四個邊之涵蓋率加以運算,因此四個邊之涵蓋率亦可提供與鄰近像素使用,藉此避免過多的資料運算量及資料儲存量。
上述之實施例僅用來舉例本發明之實施態樣,以及闡述本發明之技術特徵,並非用來限制本發明之保護範疇。任何熟悉此技術者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,本發明之權利保護範圍應以申請專利範圍為準。
10...顯示畫面
102...三角形
2...繪圖系統
20...像素
21...處理單元
22...第一虛擬區域
23...儲存單元
24...第二虛擬區域
201...第一邊緣
202...第二邊緣
203...第三邊緣
204...第四邊緣
201a、201b、201c、201d...子邊緣
202a、202b、202c、202d...子邊緣
203a、203b、203c、203d...子邊緣
204a、204b、204c、204d...子邊緣
206a...第一角落點
206b...第二角落點
206c...第三角落點
206d...第四角落點
208a、208b、208c...端點
4...顯示畫面
41...虛擬區域
402、404、406、408、410、412、414、416...垂直邊緣
422、424、426、428...水平邊緣
第1A圖係為圖形混疊之示意圖;
第1B、1C、1D及1E圖係描繪提高取樣頻率之示意圖;
第2A圖係描繪第一實施例之繪圖系統之內部元件示意圖;
第2B圖係描繪第一實施例之顯示畫面上之像素之示意圖;
第2C圖係描繪第一實施例之虛擬區域之示意圖;
第3圖係描繪第二實施例之顯示畫面上之像素之示意圖;
第4圖係描繪第三實施例之顯示畫面上之像素之示意圖;以及
第5圖係描繪第四實施例之流程示意圖。
Claims (20)
- 一種繪圖系統(graphic rendering system),包含:一儲存單元,用以儲存一第一資訊,該第一資訊於一顯示畫面界定一第一虛擬區域;以及一處理單元,用以根據該第一資訊,判斷該顯示畫面之一像素與該第一虛擬區域之一部分重疊,該部分對應至一第一顏色,該像素界定一第一邊緣、一第二邊緣、一第三邊緣及一第四邊緣,該處理單元更用以決定該第一虛擬區域於該第一邊緣之一第一涵蓋率、該第一虛擬區域於該第二邊緣之一第二涵蓋率、該第一虛擬區域於該第三邊緣之一第三涵蓋率及該第一虛擬區域於該第四邊緣之一第四涵蓋率,以及該處理單元更用以根據該第一顏色、該第一涵蓋率、該第二涵蓋率、該第三涵蓋率及該第四涵蓋率,決定該像素之一顯示顏色。
- 如請求項1所述之繪圖系統,其中該像素更界定一第一角落點、一第二角落點、一第三角落點及一第四角落點,該處理單元係藉由判斷該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之一係位於該第一虛擬區域內,來判斷該像素與該第一虛擬區域之該部分重疊。
- 如請求項2所述之繪圖系統,其中該第一資訊包含複數個邊緣函數(edge function),該處理單元係根據該等邊緣函數,判斷該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之一係位於該第一虛擬區域內。
- 如請求項1所述之繪圖系統,其中該像素更界定一第一角落點、一第二角落點、一第三角落點及一第四角落點,該處理單元係藉由判斷該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之一係位於該第一虛擬區域內且該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之另一係位於該第一虛擬區域外,來判斷該像素與該第一虛擬區域之該部分重疊。
- 如請求項1所述之繪圖系統,其中該第一邊緣界定複數個子邊緣,該處理單元係根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係,且根據該等相對位置關係,計算該第一虛擬區域於該第一邊緣之該第一涵蓋率。
- 如請求項1所述之繪圖系統,其中該第二邊緣界定複數個子邊緣,該處理單元係根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係,且根據該等相對位置關係,計算該第一虛擬區域於該第二邊緣之該第二涵蓋率。
- 如請求項1所述之繪圖系統,其中該第三邊緣界定複數個子邊緣,該處理單元係根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係,且根據該等相對位置關係,計算該第一虛擬區域於該第三邊緣之該第三涵蓋率。
- 如請求項1所述之繪圖系統,其中該第四邊緣界定複數個子邊緣,該處理單元係根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係,且根據該等相對位置關係,計算該第一虛擬區域於該第四邊緣之該第四涵蓋率。
- 如請求項1所述之繪圖系統,其中該處理單元係根據該第一涵蓋率及該第一顏色決定該第一邊緣之一第一邊緣顏色、根據該第二涵蓋率及該第一顏色決定該第二邊緣之一第二邊緣顏色、根據該第三涵蓋率及該第一顏色決定該第三邊緣之一第三邊緣顏色及根據該第四涵蓋率及該第一顏色決定該第四邊緣之一第四邊緣顏色,該處理單元係根據該第一邊緣顏色、該第二邊緣顏色、該第三邊緣顏色及該第四邊緣顏色決定該像素之該顯示顏色。
- 如請求項1所述之繪圖系統,其中該儲存單元更儲存一第二資訊,該第二資訊於該顯示畫面界定一第二虛擬區域,該處理單元更根據該第二資訊,判斷該像素與該第二虛擬區域之一部分重疊,該第二虛擬區域之該部分對應至一第二顏色,該處理單元更決定該第二虛擬區域於該第一邊緣之一第五涵蓋率、該第二虛擬區域於該第二邊緣之一第六涵蓋率、該第二虛擬區域於該第三邊緣之一第七涵蓋率及該第二虛擬區域於該第四邊緣之一第八涵蓋率,該處理單元根據該第二顏色及該第五涵蓋率、該第六涵蓋率、該第七涵蓋率及該第八涵蓋率,更新該像素之該顯示顏色。
- 一種適用於一繪圖系統之像素更新方法,該繪圖系統包含一處理單元及一儲存單元,該儲存單元儲存一第一資訊,該第一資訊於一顯示畫面界定一第一虛擬區域,該像素更新方法包含下列步驟:(a)令該處理單元根據該第一資訊,判斷該顯示畫面之一像素與該第一虛擬區域之一部分重疊,該第一虛擬區域之該部分對應至一第一顏色,該像素界定一第一邊緣、一第二邊緣、一第三邊緣及一第四邊緣;(b)令該處理單元決定該第一虛擬區域於該第一邊緣之一第一涵蓋率;(c)令該處理單元決定該第一虛擬區域於該第二邊緣之一第二涵蓋率;(d)令該處理單元決定該第一虛擬區域於該第三邊緣之一第三涵蓋率;(e)令該處理單元決定該第一虛擬區域於該第四邊緣之一第四涵蓋率;以及(f)令該處理單元根據該第一顏色、該第一涵蓋率、該第二涵蓋率、該第三涵蓋率及該第四涵蓋率,決定該像素之一顯示顏色。
- 如請求項11所述之像素更新方法,其中該像素更界定一第一角落點、一第二角落點、一第三角落點及一第四角落點,該步驟(a)係令該處理單元藉由判斷該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之一係位於該第一虛擬區域內,來判斷該像素與該第一虛擬區域之該部分重疊。
- 如請求項12所述之像素更新方法,其中該第一資訊包含複數個邊緣函數,該步驟(a)係令該處理單元根據該等邊緣函數,判斷該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之一係位於該第一虛擬區域內。
- 如請求項11所述之像素更新方法,其中該像素更界定一第一角落點、一第二角落點、一第三角落點及一第四角落點,該步驟(a)係令該處理單元藉由判斷該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之一係位於該第一虛擬區域內且該第一角落點、該第二角落點、該第三角落點及該第四角落點之至少其中之另一係位於該第一虛擬區域外,來判斷該像素與該第一虛擬區域之該部分重疊。
- 如請求項11所述之像素更新方法,其中該第一邊緣界定複數個子邊緣,該步驟(b)包含下列步驟:(b1)令該處理單元根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係;以及(b2)令該處理單元根據該等相對位置關係,計算該第一虛擬區域於該第一邊緣之該第一涵蓋率。
- 如請求項11所述之像素更新方法,其中該第二邊緣界定複數個子邊緣,該步驟(c)包含下列步驟:(c1)令該處理單元根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係;以及(c2)令該處理單元根據該等相對位置關係,計算該第一虛擬區域於該第二邊緣之該第二涵蓋率。
- 如請求項11所述之像素更新方法,其中該第三邊緣界定複數個子邊緣,該步驟(d)包含下列步驟:(d1)令該處理單元根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係;(d2)令該處理單元根據該等相對位置關係,計算該第一虛擬區域於該第三邊緣之該第三涵蓋率。
- 如請求項11所述之像素更新方法,其中該第四邊緣界定複數個子邊緣,該步驟(e)包含下列步驟:(e1)令該處理單元根據該第一資訊,判斷各該子邊緣與該第一虛擬區域之一相對位置關係;(e2)令該處理單元根據該等相對位置關係,計算該第一虛擬區域於該第四邊緣之該第四涵蓋率。
- 如請求項11所述之像素更新方法,其中該步驟(f)包含下列步驟:(f1)令該處理單元係根據該第一涵蓋率及該第一顏色決定該第一邊緣之一第一邊緣顏色;(f2)令該處理單元根據該第二涵蓋率及該第一顏色決定該第二邊緣之一第二邊緣顏色;(f3)令該處理單元根據該第三涵蓋率及該第一顏色決定該第三邊緣之一第三邊緣顏色;(f4)令該處理單元根據該第四涵蓋率及該第一顏色決定該第四邊緣之一第四邊緣顏色;以及(f5)令該處理單元根據該第一邊緣顏色、該第二邊緣顏色、該第三邊緣顏色及該第四邊緣顏色決定該像素之該顯示顏色。
- 如請求項11所述之像素更新方法,其中該儲存單元更儲存一第二資訊,該第二資訊於該顯示畫面界定一第二虛擬區域,該像素更新方法包含下列步驟:(g)令該處理單元根據該第二資訊,判斷該像素與該第二虛擬區域之一部分重疊,該第二虛擬區域之該部分對應至一第二顏色;(h)令該處理單元決定該第二虛擬區域於該第一邊緣之一第五涵蓋率;(i)令該處理單元決定該第二虛擬區域於該第二邊緣之一第六涵蓋率;(j)令該處理單元決定該第二虛擬區域於該第三邊緣之一第七涵蓋率;(k)令該處理單元決定該第二虛擬區域於該第四邊緣之一第八涵蓋率;以及(l)令該處理單元根據該第二顏色及該第五涵蓋率、該第六涵蓋率、該第七涵蓋率及該第八涵蓋率,更新該像素之該顯示顏色。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099140741A TWI431548B (zh) | 2010-11-25 | 2010-11-25 | 繪圖系統及其像素更新方法 |
US12/963,181 US8553044B2 (en) | 2010-11-25 | 2010-12-08 | Graphic rendering system and pixel update method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099140741A TWI431548B (zh) | 2010-11-25 | 2010-11-25 | 繪圖系統及其像素更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201222472A TW201222472A (en) | 2012-06-01 |
TWI431548B true TWI431548B (zh) | 2014-03-21 |
Family
ID=46126315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099140741A TWI431548B (zh) | 2010-11-25 | 2010-11-25 | 繪圖系統及其像素更新方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8553044B2 (zh) |
TW (1) | TWI431548B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680966B (zh) * | 2015-03-19 | 2017-11-14 | 京东方科技集团股份有限公司 | 一种显示装置的驱动方法及其驱动装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002589B2 (en) * | 2000-03-17 | 2006-02-21 | Sun Microsystems, Inc. | Blending the edges of multiple overlapping screen images |
KR101030825B1 (ko) * | 2002-12-20 | 2011-04-22 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 샘플링 패턴을 이용하는 방법, 샘플링 패턴을 생성하는 방법, 안티 에일리어싱 시스템, 및 컴퓨터 판독 가능한 기록매체 |
US7764833B2 (en) * | 2003-02-13 | 2010-07-27 | Ati Technologies Ulc | Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same |
-
2010
- 2010-11-25 TW TW099140741A patent/TWI431548B/zh active
- 2010-12-08 US US12/963,181 patent/US8553044B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120133669A1 (en) | 2012-05-31 |
US8553044B2 (en) | 2013-10-08 |
TW201222472A (en) | 2012-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9661257B2 (en) | Projection system, image processing device, and projection method | |
US7852350B2 (en) | Graphic antialiasing method and graphic system employing the method | |
JP2017517054A (ja) | スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 | |
US20190073941A1 (en) | Data converting method and apparatus, and computer-readable storage medium | |
US10582089B2 (en) | Image data interpolation | |
US11423511B2 (en) | Image composition method, image composition device, and recording medium | |
US10134171B2 (en) | Graphics processing systems | |
US12106460B2 (en) | Information processing apparatus, information processing method, and non- transitory computer-readable storage medium | |
JP2008059582A (ja) | 省エネのためのlod値計算方法とこれを利用した3次元レンダリングシステム | |
CN106934764B (zh) | 一种图像数据处理方法、装置 | |
RU2469400C1 (ru) | Способ преобразования растрового изображения в метафайл | |
US8134557B2 (en) | Image processing apparatus and image processing method | |
JP5111900B2 (ja) | ポイント補間によるレンダリング方法及び装置 | |
US20220139009A1 (en) | Curve Antialiasing based on Curve-Pixel Intersection | |
CN108305224A (zh) | 一种图像的畸变校正方法、装置及电视机 | |
US8179399B2 (en) | Rasterizing method | |
TWI431548B (zh) | 繪圖系統及其像素更新方法 | |
US7734118B2 (en) | Automatic image feature embedding | |
JP7312040B2 (ja) | テクスチャマッピング装置およびテクスチャマッピング用プログラム | |
JP6508874B2 (ja) | 映像投影装置、映像投影方法、およびコンピュータプログラム | |
CN113793249A (zh) | 一种Pentile图像转换为RGB图像的方法、装置及存储介质 | |
TWI405146B (zh) | 電子裝置與其反鋸齒處理方法 | |
US10482581B2 (en) | System and method for applying antialiasing to images | |
CN109544483A (zh) | 视频图像亮度、对比度增强方法及装置 | |
US9064347B2 (en) | Method, medium, and system rendering 3 dimensional graphics data considering fog effect |