專利名稱:基于超采樣算法的浮點(diǎn)定點(diǎn)相結(jié)合的線段反走樣的實(shí)現(xiàn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及到圖形芯片設(shè)計(jì)中的線段反走樣領(lǐng)域,特指基于超采樣算法的浮 點(diǎn)定點(diǎn)相結(jié)合的線段反走樣的實(shí)現(xiàn)。
背景技術(shù):
光柵圖形顯示器是目前使用最廣泛的圖形顯示器,因?yàn)樗哂幸韵聝?yōu)點(diǎn)光柵掃 描顯示器具有固定的刷新順序,掃描從屏幕的左上角開(kāi)始,從左到右,從上到下的順序進(jìn)行 刷新,從而刷新控制部件得以簡(jiǎn)化,節(jié)約了成本。在光柵顯示系統(tǒng)中,構(gòu)成圖形的最小圖形 元素是像素,這樣只要計(jì)算屏幕上位于給定區(qū)域以內(nèi)的所有像素,并且賦予一定的顏色,就 完成了圖形的繪制。光柵顯示器中的圖形由像素構(gòu)成,而每一個(gè)像素又可呈現(xiàn)出多級(jí)灰度 或不同的顏色值,顏色豐富,顯示出來(lái)的圖形具有更好的視覺(jué)效果。光柵掃描顯示器是一個(gè) 畫(huà)點(diǎn)設(shè)備,與圖形的復(fù)雜度無(wú)關(guān),刷新頻率固定,因此不會(huì)象隨機(jī)掃描顯示器那樣出現(xiàn)閃爍 現(xiàn)象,人眼看上去更舒服。但光柵顯示器也有它的缺陷,圖形信號(hào)是連續(xù)的,而光柵顯示系統(tǒng)中用來(lái)表示圖 形的卻是一個(gè)個(gè)離散的像素。用離散的像素來(lái)表示連續(xù)的圖形時(shí)會(huì)出現(xiàn)失真,也就稱為走 樣。當(dāng)我們要畫(huà)一條直線時(shí),它通常不可能完全精確地從一個(gè)像素點(diǎn)畫(huà)一條直線到另一個(gè) 像素點(diǎn),只可能用盡可能靠近這條直線路徑的像素點(diǎn)集來(lái)近似地表示這條直線。顯然只有 畫(huà)水平線、垂直線時(shí),像素點(diǎn)集在直線路徑上的位置才是準(zhǔn)確的,其他情況下的直線均或多 或少地存在階梯狀(鋸齒狀)的現(xiàn)象。為了提高圖形的顯示質(zhì)量,需要減少或消除上述走樣 現(xiàn)象。用于減少或消除這種走樣現(xiàn)象的技術(shù),稱為反走樣。研究如何消除或減緩這類走樣 現(xiàn)象,給人視覺(jué)上產(chǎn)生更舒適光滑的圖形,在圖形界面已成為人機(jī)交互主流方式的今天,具 有非常重要的應(yīng)用價(jià)值。目前主要的線段反走樣算法有
1、提高分辨率。提高光柵系統(tǒng)分辨率,使得屏幕像素點(diǎn)增加。即增大采樣頻率,使得每 個(gè)像素的尺寸更小,圖像邊緣產(chǎn)生的鋸齒更小,使得人的視覺(jué)系統(tǒng)對(duì)其敏感度降低。但該方 法受到硬件實(shí)現(xiàn)技術(shù)的限制;
2、超采樣技術(shù)。超采樣,即將一個(gè)像素點(diǎn)分為η個(gè)子像素,對(duì)每個(gè)子像素均進(jìn)行采樣。 對(duì)于圖像所經(jīng)過(guò)的每一個(gè)像素點(diǎn),計(jì)算圖像所覆蓋到的子像素的個(gè)數(shù),根據(jù)子像素的個(gè)數(shù) 對(duì)該像素點(diǎn)的顏色設(shè)置。這種算法比較常用,但在判斷子像素點(diǎn)與線段擴(kuò)展矩形位置關(guān)系 時(shí)需要進(jìn)行大量計(jì)算,耗費(fèi)的硬件資源比較多。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題就在于針對(duì)現(xiàn)有技術(shù)存在的技術(shù)難點(diǎn),本發(fā)明提供了一種 結(jié)構(gòu)相對(duì)簡(jiǎn)單、硬件資源消耗不大、反走樣效果明顯的基于超采樣的浮點(diǎn)定點(diǎn)相結(jié)合的線 段反走樣的實(shí)現(xiàn)。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)就在于1、邏輯簡(jiǎn)單本發(fā)明提出的線段反走樣的實(shí)現(xiàn)結(jié)構(gòu)并未采用很復(fù)雜的算法,都是比較利于硬件實(shí)現(xiàn)的算法,帶來(lái)的好處就是邏輯簡(jiǎn)單; 2、性能優(yōu)良本發(fā)明提出的線段反走樣技術(shù)采用全流水計(jì)算子像素點(diǎn)面積比的方法,保證了 線段反走樣的效率,同時(shí)采用浮點(diǎn)精度與定點(diǎn)精度相結(jié)合的反走樣算法,在保證反走樣效果 的同時(shí)減少了大量的硬件資源;3、使用方便本發(fā)明提出的基于超采樣的浮點(diǎn)定點(diǎn)相結(jié)合的 線段反走樣的實(shí)現(xiàn)可重用性比較好,可以在嵌入式或通用圖形芯片設(shè)計(jì)中很方便的移植。
圖1是本發(fā)明實(shí)現(xiàn)的線段反走樣效果;
圖2是本發(fā)明提出的線段反走樣實(shí)現(xiàn)的結(jié)構(gòu)示意圖; 圖3是本發(fā)明提出的像素點(diǎn)面積比計(jì)算實(shí)現(xiàn)結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。如圖1所示,為本發(fā)明實(shí)現(xiàn)的線段反走樣的效果(a)反走樣放大后;(b)非反走 樣放大后;(c)反走樣運(yùn)行結(jié)果;(d)非反走樣運(yùn)行結(jié)果;可以發(fā)現(xiàn)反走樣的效果非常明顯, 能夠滿足目前的大部分顯示需求。如圖2所示,本發(fā)明的基于超采樣的浮點(diǎn)定點(diǎn)相結(jié)合的線段反走樣的實(shí)現(xiàn),它包 括線段端點(diǎn)順序的調(diào)整將線段方向調(diào)整為第一象限和第四象限;將線段擴(kuò)展為矩形以 線段為中心線、以線寬為矩形的寬將線段擴(kuò)展為矩形;計(jì)算線段的屬性增量反走樣線段 支持顏色漸變;數(shù)據(jù)寫(xiě)入FIFO 反走樣線段生成時(shí)需要的時(shí)鐘周期較多,因此可以前面流 水線結(jié)果寫(xiě)入FIFO,當(dāng)一條線段生成完畢馬上可以讀取下一條線段,節(jié)省時(shí)鐘周期;掃描 線邊界的計(jì)算根據(jù)線段端點(diǎn)I ΔΧ|和I ΔΥ|的關(guān)系確定掃描的主要方向和次要方向,分 別計(jì)算主要邊的邊界和次要邊的邊界,下一掃描線的次要邊邊界由增量法確定;像素點(diǎn)坐 標(biāo)生成根據(jù)掃描線的邊界生成當(dāng)前掃描線上的像素坐標(biāo)和屬性;面積比計(jì)算將每個(gè)屏 幕像素分成4X4的網(wǎng)格,每個(gè)網(wǎng)格點(diǎn)賦予不同的權(quán)值,然后計(jì)算每個(gè)網(wǎng)格點(diǎn)與擴(kuò)展矩形的 位置關(guān)系,若當(dāng)前網(wǎng)格點(diǎn)在擴(kuò)展矩形內(nèi)部則總權(quán)值增加網(wǎng)格點(diǎn)權(quán)值,否則增加0,最終得到 的總權(quán)值除以網(wǎng)格點(diǎn)加權(quán)后的權(quán)值之和即為該像素的面積比,將掃描生成的坐標(biāo)和屬性延 遲面積比計(jì)算所需周期后將坐標(biāo)、屬性、面積比同時(shí)輸出至融合過(guò)程。在計(jì)算中,為確保線 段反走樣的效果,最好是保證單精度浮點(diǎn)數(shù)的精度,但由于面積比的計(jì)算有大量叉乘運(yùn)算, 占用的資源非常大,所以在實(shí)現(xiàn)時(shí)采用浮點(diǎn)定點(diǎn)精度相結(jié)合的方式,計(jì)算擴(kuò)展矩形的四個(gè) 頂點(diǎn)坐標(biāo)采用浮點(diǎn)數(shù)精度,掃描線生成的坐標(biāo)點(diǎn)將其增加兩位小數(shù),變成定點(diǎn)數(shù),將擴(kuò)展矩 形的頂點(diǎn)也轉(zhuǎn)化成含兩位小數(shù)的定點(diǎn)數(shù),這樣面積比就可以采用定點(diǎn)數(shù)來(lái)計(jì)算,在精度損 失不大的情況下,減少了大量資源。如圖3所示,本發(fā)明中的像素點(diǎn)面積比的計(jì)算。采用定點(diǎn)算法實(shí)現(xiàn),首先將擴(kuò)展 矩形的坐標(biāo)和當(dāng)前像素點(diǎn)的坐標(biāo)轉(zhuǎn)化成定點(diǎn)數(shù);然后計(jì)算該像素點(diǎn)與擴(kuò)展矩形四條邊的叉 乘,只需要計(jì)算一個(gè)點(diǎn)的叉乘,其余的可以采用增量法得到;根據(jù)叉乘積的符號(hào)確定像素點(diǎn) 與擴(kuò)展矩形的位置關(guān)系,同時(shí)可以確定該像素點(diǎn)權(quán)重。與傳統(tǒng)的計(jì)算面積比方法相比,本發(fā)明在對(duì)效果影響很小的情況下降低了計(jì)算復(fù) 雜度將大量的浮點(diǎn)運(yùn)算轉(zhuǎn)換成定點(diǎn)運(yùn)算,減小了芯片面積。
權(quán)利要求
1.基于超采樣算法的浮點(diǎn)定點(diǎn)相結(jié)合的線段反走樣的實(shí)現(xiàn),其特征為輸入包含線 段的兩個(gè)端點(diǎn)單精度浮點(diǎn)格式的坐標(biāo)TtlUcl, y0)、T1 (X1, Y1),及其對(duì)應(yīng)的單精度浮點(diǎn)格式 的屬性{Ro, G0, B0, A0, Z0I、(R1, G1, B1, A1, Zj,若χ0>χι;則交換T0, T1兩個(gè)點(diǎn)的坐標(biāo)和屬性, 保證線段的方向是從左到右;以線段為中心線、以線段寬度為寬將線段擴(kuò)展成為一個(gè)矩 形;線段屬性增量的計(jì)算,這三個(gè)點(diǎn)為線段原來(lái)的兩個(gè)端點(diǎn)以及PO點(diǎn),PO點(diǎn)的坐標(biāo)為=, I L PO 的 ζ 坐標(biāo)值與(xQ,y0)是一樣的。
2.確定掃描線,若IiMaW,則主要沿χ方向行進(jìn),則主要沿y方向行進(jìn),分別得到水平和垂直方向的掃描線范圍;進(jìn)行水平、垂直掃描,得到光柵化的像素點(diǎn)坐標(biāo)和屬 性,將像素點(diǎn)坐標(biāo)轉(zhuǎn)化成帶符號(hào)的、帶兩位小數(shù)的定點(diǎn)數(shù),將權(quán)利1得到的擴(kuò)展矩形的頂點(diǎn) 轉(zhuǎn)化為定點(diǎn)數(shù)(含兩位小數(shù))。
3.判斷像素網(wǎng)格點(diǎn)坐標(biāo)與擴(kuò)展矩形的位置關(guān)系 for (i=0; i<=SUB_PIXEL; i++)for (j=0; j<=SUB_PIXEL; j++){(3 fi SUB 1HXEI^ ‘J SUs'piXE^…丨勺網(wǎng)格點(diǎn)的叉乘積,如果都>=0,則表示該網(wǎng)格點(diǎn)在線條矩形內(nèi),確定該網(wǎng)格點(diǎn)的權(quán)重是頂點(diǎn)=1 ;否則,是邊上的 點(diǎn)=2 ;否則,=4},上述公式的計(jì)算均采用定點(diǎn)的全流水運(yùn)算,可以保證面積比計(jì)算的效 率,將一個(gè)像素所有網(wǎng)格點(diǎn)的權(quán)重全部相加得到該像素點(diǎn)的面積比。
全文摘要
本發(fā)明公開(kāi)了一種基于超采樣算法的浮點(diǎn)定點(diǎn)相結(jié)合的線段反走樣的實(shí)現(xiàn)方式。它包括線段端點(diǎn)順序的調(diào)整;將線段擴(kuò)展為矩形;計(jì)算線段的屬性增量;數(shù)據(jù)寫(xiě)入FIFO;掃描線邊界的計(jì)算;像素點(diǎn)坐標(biāo)生成;面積比計(jì)算,最后將掃描生成的坐標(biāo)和屬性延遲面積比計(jì)算所需周期后將坐標(biāo)、屬性、面積比同時(shí)輸出至融合過(guò)程。在實(shí)現(xiàn)時(shí)采用浮點(diǎn)定點(diǎn)精度相結(jié)合的方式,計(jì)算擴(kuò)展矩形的四個(gè)頂點(diǎn)坐標(biāo)采用浮點(diǎn)數(shù)精度,掃描線生成的坐標(biāo)點(diǎn)將其增加兩位小數(shù),變成定點(diǎn)數(shù),將擴(kuò)展矩形的頂點(diǎn)也轉(zhuǎn)化成含兩位小數(shù)的定點(diǎn)數(shù),這樣面積比就可以采用定點(diǎn)數(shù)來(lái)計(jì)算,在精度損失不大的情況下,減少了大量資源。
文檔編號(hào)G06F17/50GK102063523SQ20101055742
公開(kāi)日2011年5月18日 申請(qǐng)日期2010年11月22日 優(yōu)先權(quán)日2010年11月22日
發(fā)明者周敏龍, 焦永, 陳寶民 申請(qǐng)人:長(zhǎng)沙景嘉微電子有限公司