999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Wu反走樣的三角形光柵化邊緣反走樣算法

2015-03-21 10:01:10吳連慧周建江夏偉杰陳雅雯
液晶與顯示 2015年1期
關鍵詞:效果

吳連慧,周建江,夏偉杰,陳雅雯

(南京航空航天大學 電子信息工程學院,江蘇 南京210016)

1 引 言

在機載顯示系統中,圖形顯示占據重要地位。傳統的機載圖形顯示大多通過處理器(CPU)和軟件方法實現。為了進一步提高圖形的實時性,考慮到FPGA 具有強大的邏輯資源和豐富的IP核,利用FPGA 來代替CPU 完成圖形處理的大量顯示運算任務,實現圖形硬件加速。

三角形光柵化[1-2]是圖形光柵化模塊中重要組成部分,許多復雜多邊形的光柵化都可以在CPU 端分解為多個三角形光柵化命令,通過調用三角形光柵化模塊來實現。由于三角形光柵化的邊緣會出現明顯鋸齒現象,因此需要對其進行反走樣處理。

本文基于水平線掃描轉換設計了一種快速的三角形光柵化硬件加速算法。同時利用Wu直線反走樣思想,研究三角形邊緣反走樣,提出了一種計算量小、顯示效果良好的邊緣反走樣算法。并在FPGA 上實現了該算法。

2 三角形光柵化硬件加速算法

圖形加速系統框圖如圖1所示,用戶接口模塊接收上層CPU 解析的圖形命令,由圖形光柵化模塊來實現基本圖元光柵化,并通過緩存管理模塊將其存儲到外部存儲器中。

圖1 圖形加速系統框圖Fig.1 Diagram of graphics acceleration

光柵化是指把物體的數學描述及其相關的顏色信息轉換為屏幕上的像素的過程。三角形光柵化算法思想是,將三角形分解為水平直線頂點信息;再調用水平直線光柵化模塊進行逐行掃描轉換,從而實現光柵化。難點在于如何將三角形依次分解為水平直線端點。

三角形光柵化示意圖如圖2 所示。步驟如下:

圖2 三角形光柵化示意圖Fig.2 Schematic of triangle rasterization

(1)根據三角形頂點的縱坐標將3個頂點從小到 大 重 新 排 列,記 作(xmin,ymin),(xmid,ymid),(xmax,ymax),其中ymin≤ymid≤ymax,橫坐標之間不存在大小關系。根據ymid所在水平直線將普通的三角形分解成上三角形和下三角形。同時計算出3條邊的斜率:

(2)對上三角形進行水平直線端點的分解,其中i是從1到(ymid-ymin)依次遍歷的整數,則:

(3)對下三角形進行水平直線端點的分解,其中j是從0到(ymax-ymid-1)依次遍歷的整數,則:

圖3為三角形和四邊形光柵化Matlab仿真圖,可以看出,兩者的邊緣存在明顯鋸齒狀的失真現象,所以需要進行反走樣處理。

圖3 光柵化仿真圖Fig.3 Simulation of rasterization

3 基于Wu算法的邊緣反走樣

常見的三角形光柵化反走樣算法有超級采樣、多級采樣和自適應采樣等[3],共同點是通過采樣更多的子像素來反走樣,在提高圖形質量的同時,花費了較大的資源代價和時間消耗。考慮三角形內部像素點完全被三角形像素區域覆蓋,不需要反走樣,因此只需要對三角形邊緣區域進行反走樣,而三角形邊緣是三條直線,因此考慮可以借鑒直線反走樣算法對三角形邊緣進行反走樣處理。

3.1 Wu直線反走樣算法

Wu直線反走樣算法[4]是一種基于區域采樣原理的簡單有效且硬件易實現的直線反走樣算法,其算法思想是:沿著長軸方向每前進一個像素單位,在短軸方向上距離理想直線距離最近的兩個像素都點亮,兩者亮度之和等于待繪制直線的亮度值,且距離理想直線遠的亮度低,距離近的亮度高。Wu反走樣算法原理如圖4所示。

假設繪制顏色的亮度值為color,相鄰像素坐標距離為1,若坐標(x,y)在從軸方向上與理想線段之間的距離為d(0≤d≤1),坐標(x,y)上像素點的亮度值表示為G(x,y),則:

Wu反走樣算法降低了直線光柵化時候的鋸齒現象。借鑒這種算法思想對三角形邊緣單獨處理。

圖4 Wu直線反走樣算法示意圖Fig.4 Schematic of Wu anti-aliasing algorithm

3.2 水平直線外側直接添加插值點

由于三角形光柵化是基于水平直線掃描的,考慮每次生成水平直線時,直接利用Wu反走樣的思想對水平直線端點進行反走樣處理。

圖5 水平直線外側添加插值點示意圖Fig.5 Schematic of adding interpolation points outer the horizontal line

圖5為水平直線外側直接添加插值點示意圖。圖中以上三角形水平直線外側添加插值點為例,水平直線左側的插值點坐標為(xil,yi),對應的像素點的亮度值表示為G(xil,yi),且插值點坐標(xil,yi)到 浮 點 坐 標(xi1,yi)的 距 離 表 示 為dli。則:

其中,? 表示向下取整。水平直線右側的插值點坐標為(xir,yi),對應的像素點的亮度值表示為G(xir,yi),且 插 值 點 坐 標(xir,yi)到 浮 點 坐 標(xi2,yi)的距離表示為dri。則:

圖6為三角形和四邊形光柵化時水平直線外側添加插值點仿真圖。從圖中可以看出當斜率k較大(|k|>1/2)時,圖形邊緣反走樣效果較好;但圖形邊緣斜率k較小(|k|≤1/2)時,反走樣效果不好;且用三角形拼接成多邊形填充時,拼接處會有虛化現象。不同斜率顯示效果有差異的原因是,Wu算法是分長軸短軸的,按照長軸遍歷和按照短軸遍歷,效果是不一樣的。而三角形分解成的水平直線是統一在水平直線端點兩側添加插值點的,本身不好區分長短軸,因此會影響反走樣效果。三角形拼接處出現虛化現象是因為拼接處沒有判斷出是多邊形內部的值,反而按照三角形邊緣進行了插值處理,既浪費了時間又影響顯示效果。

圖6 水平直線外側添加插值點仿真圖 Fig.6 Simulation of adding interpolation points outer the horizontal

水平直線外側直接添加插值點的方法比較簡單,但缺點是,沒有考慮長短軸的問題,當斜率較小時,效果不好;且拼接成多邊形時,拼接處會有虛化現象。

3.3 三角形三邊外側反走樣

水平直線外側添加插值點的方法是對每次分解的水平直線端點進行處理,而不是將三角形3條邊緣看作3條直線單獨處理。考慮直接將其當作3條直線用Wu算法對直線進行單側的反走樣處理。圖7為不反走樣、水平直線外側添加插值點、三邊外側反走樣對比仿真圖。從圖中可以看出,當直線與水平線夾角在±30°之內時,該直線外側反走樣插值效果比水平直線外側直接添加插值點效果好;其他情況下兩者的效果相同。

圖7 反走樣前后仿真對比圖Fig.7 Comparison of anti-aliasing effect

最終顯示效果與圖8右側所示效果相同,三角形三邊外側反走樣優點是顯示質量好。缺點是,對于3條邊本身來說,已經脫離了三角形的關系,很難判斷哪邊是外側;對于同一條邊,不同的三角形內外側也不盡相同;對于同一條邊,端點的順序不同,內外側是相反的。因此,對三角形三條邊單獨進行單側反走樣判斷情況過于復雜。

4 改進的邊緣反走樣算法

分析上述兩種方法的優缺點如表1所示。綜合兩者的優點,提出一種算法能夠有較好的顯示效果,同時實現簡單且沒有虛化現象。

表1 邊緣反走樣算法優缺點對比Tab.1 Advantages and disadvantages of different edge anti-aliasing algorithms

4.1 算法思想

4.1.1 邊緣疊加Wu反走樣直線

由于三角形三邊外側反走樣效果好,但對于邊緣直線本身,內外側的判斷比較復雜,所以考慮直接在三角形光柵化的基礎上進行3條邊的反走樣繪制。直線和三角形命令都是由上層CPU 發送的,但底層FPGA 并行處理時,先后順序是不定的。如果先繪制三角形填充再繪制直線,效果如圖8(a)所示;如果先繪制直線,再繪制三角形填充,效果如圖8(b)所示。從圖8(b)看出,此方法效果比水平直線添加插值的方法好,與三邊外側反走樣效果相同,但不需要進行內外側的判斷。考慮如何解決疊加順序不定帶來的影響。

圖8 邊緣疊加Wu反走樣直線仿真圖Fig.8 Simulation of overlaying Wu anti-aliasing line for the edge

4.1.2 插值考慮背景值

為了解決疊加順序不同帶來的顯示效果差異,在用單線寬直線反走樣對邊緣處理時,考慮當前坐標的背景顏色值對插值后顏色值的影響。假設坐標(x,y)在從軸方向上與理想線段之間的距離為d(0≤d≤1),坐標的背景顏色亮度為GB(x,y),當前圖形顏色值為G,若坐標(x,y)上像素點的亮度值表示為G(x,y),則:

先繪制直線,再繪制三角形填充時,在兩者重疊的坐標處,將三角形填充顏色值color直接寫入到當前坐標對應的DDR3地址中,覆蓋掉之前的插值結果。最終顯示效果與圖8(b)相同。

先繪制三角形填充,再繪制直線時,在兩者重疊的坐標處,將背景值color從DDR3 對應地址中讀回,代入公式進行計算,則

從公式可以看出,對于顏色值為color時,重疊部分讀回背景值也是color,最終結果還是color,不會出現虛化現象。最終顯示效果也與圖8(b)相同。

當前方法效果好,簡單易行,且不反走樣三角形和反走樣邊界直線的順序是任意的。多邊形光柵化時,只需要發送多邊形的邊緣直線進行反走樣,而不需要將分解的三角形各邊都進行反走樣。

此外,由于三角形光柵化是圖形加速模塊的子模塊,圖形加速模塊也包括基本的反走樣直線,可以調用現有的反走樣直線算法,不需要另外編寫程序。

4.2 FPGA仿真和硬件實現

在Xilinx的Kintex-7FPGA 上對不反走樣三角形填充和邊緣反走樣進行ModelSim 仿真[5]和FPGA 硬件實現,對比邊緣反走樣前后的三角形光柵化效果。

4.2.1 ModelSim 仿真

三角形填充仿真時,令輸入坐標為(280,100);(300,250);(170,140),對應的Matlab仿真效果如圖3(a)所示。每解析出一條水平直線端點信息,就調用水平直線光柵化程序繪制出來。從圖9可以看出,繪制時,水平直線的長度由短到長,后又由長到短。本文系統輸出分辨率為1 920×1 080,幀速率為60 Hz,時鐘頻率為400 MHz。用新算法繪制該三角形光柵化時,耗時約33.75μs。三條邊反走樣繪制,耗時約2.16μs。相對于三角形光柵化消耗的時間,反走樣處理占用時間少,且效果改進明顯。

圖9 三角形光柵化ModelSim 仿真圖Fig.9 Simulation of triangle rasterization by ModelSim

圖10 三角形光柵化及其反走樣屏幕顯示對比圖Fig.10 Display comparison of triangle rasterization and its anti-aliasing

4.2.2 FPGA 硬件實現

新算法由于計算量小,適合于硬件實現。三角形光柵化及其反走樣顯示效果如圖10 所示。可以看到反走樣后顯示效果比不反走樣效果好。且用新算法繪制耗時遠低于一幀圖像的最大處理時間(16.7ms),滿足系統設計要求,故可以用于機載圖形顯示系統。

5 結 論

介紹了三角形光柵化硬件加速算法,由于其邊緣存在明顯鋸齒狀的失真現象,所以需要進行反走樣處理。基于Wu反走樣算法的思想,考慮了水平線外側加插值點和三邊外側反走樣直線的算法。綜合兩者的優缺點,提出了一種改進的邊緣反走樣算法。該算法在繪制光柵化的三角形的同時,疊加考慮背景像素作用的Wu反走樣直線。且用于多邊形光柵化時只需要發送多邊形的邊緣直線進行反走樣而不需要將分解的三角形各邊都進行反走樣。后續研究中可以進一步改進反走樣直線的算法[6-7],從而改進三角形反走樣的效果。

經過對比,本文提出的三角形光柵化的邊緣反走樣算法有效提高了三角形光柵化后邊緣的顯示效果,計算量小、效果好,且易于FPGA等硬件實現。

[1] 黃銳,付宇卓,趙峰.基于FPGA 的三角形光柵化模塊[J].計算機工程,2008,34(22):242-244.Huang R,Fu Y Z,Zhao F.FPGA-based triangle rasterization module[J].Computer Engineering,2008,34(22):242-244.(in Chinese)

[2] 饒志恒.圖形處理器圖形管線的研究與實現[D].長沙:湖南大學,2011.Rao Z H.Research and implementation on graphics pipeline of graphic processing unit[D].Changsha:Hunan University,2011.(in Chinese)

[3] 黃銳.實時嵌入式圖形系統中的三角形光柵化研究與設計[D].上海:上海交通大學,2008.Huang R.Study and design of triangle raster in real-time embedded graphics system[D].Shanghai:Shanghai Jiaotong University,2008.(in Chinese)

[4] Wu X.An efficient anti aliasing technique[J].Computer Graphics,1991,25(4):143-152.

[5] 王文華,何斌,任建岳.線陣CCD 成像系統自校圖形設計[J].光學精密工程,2009,17(8):2011-2016.Wang W H,He B,Ren J Y.Design of self-check figures in linear CCD imaging system[J].Optics and Precision Engineering,2009,17(8):2011-2016.(in Chinese)

[6] Xian Z,Xiaobing L.Improved DDA line drawing anti-aliasing algorithm based on embedded graphics system[C].2010 3rd International Conference on Advanced Computer Theory and Engineering (ICACTE),IEEE,2010,2:V2-497-V2-499.

[7] Yong J,Lu-ya W,Yue-yue C.The research and implementation of line anti-aliasing algorithm based on coordinate system rotation[C].2010 International Conference on Audio Language and Image Processing(ICALIP),IEEE,2010:180-184.

猜你喜歡
效果
按摩效果確有理論依據
保濕噴霧大測評!效果最驚艷的才20塊!
好日子(2021年8期)2021-11-04 09:02:46
笑吧
迅速制造慢門虛化效果
創造逼真的長曝光虛化效果
四種去色效果超越傳統黑白照
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
期末怎樣復習效果好
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
主站蜘蛛池模板: 国产91小视频在线观看| 中文字幕在线观看日本| 动漫精品啪啪一区二区三区| 重口调教一区二区视频| 国产亚洲精品无码专| 伊人AV天堂| 日韩无码白| 久久国产黑丝袜视频| 熟妇丰满人妻| 国产剧情无码视频在线观看| 99人妻碰碰碰久久久久禁片| 国产又黄又硬又粗| 国产成人欧美| 色偷偷av男人的天堂不卡| 日韩在线网址| 污网站在线观看视频| 国产精品yjizz视频网一二区| 国产精品粉嫩| 久久精品亚洲热综合一区二区| 99精品热视频这里只有精品7| 丰满人妻一区二区三区视频| 美女被操91视频| 91小视频在线播放| 亚洲第一黄片大全| 99re精彩视频| 狼友av永久网站免费观看| 日本成人一区| 久久亚洲国产视频| 国内老司机精品视频在线播出| 亚洲国产综合自在线另类| 欧美成人精品在线| 国产欧美自拍视频| 中文字幕无码制服中字| 国产精品嫩草影院视频| 日韩精品无码免费一区二区三区| 欧美精品成人| 精品视频一区二区三区在线播| 精品视频免费在线| 特级做a爰片毛片免费69| 国产亚洲视频播放9000| 国产极品美女在线| 无码免费视频| 性视频一区| 欧美笫一页| 欧美精品高清| 久久不卡国产精品无码| 激情综合婷婷丁香五月尤物| 久久久久久国产精品mv| 国产精品视频3p| 无码专区国产精品一区| 91黄视频在线观看| 91丨九色丨首页在线播放 | 日韩成人在线视频| 久青草免费视频| 国产浮力第一页永久地址 | 九九九久久国产精品| 国产99在线观看| 欧美在线国产| 久久综合九九亚洲一区| 91麻豆国产视频| 91久久精品日日躁夜夜躁欧美| 久久综合亚洲色一区二区三区| 尤物视频一区| 欧美国产中文| jizz亚洲高清在线观看| 在线播放国产一区| 97精品国产高清久久久久蜜芽| 性色在线视频精品| 九色综合伊人久久富二代| 国产嫖妓91东北老熟女久久一| 欧美日本在线| 亚洲另类国产欧美一区二区| 免费A级毛片无码免费视频| 久久精品日日躁夜夜躁欧美| 一本大道视频精品人妻| 综合色88| 亚洲av色吊丝无码| 国产成人盗摄精品| 色天天综合| 国产一级一级毛片永久| 女人18一级毛片免费观看 | 国产成人精品亚洲日本对白优播|