| 研究生: |
黃斯榆 Huang, Si-Yu |
|---|---|
| 論文名稱: |
應用於掃描線繪圖之可擴充式及可重組的點陣化架構設計 Scalable and Reconfigurable Rasterization Architecture for Scanline-based Rendering |
| 指導教授: |
謝明得
Shieh, Ming-Der |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2011 |
| 畢業學年度: | 99 |
| 語文別: | 中文 |
| 論文頁數: | 57 |
| 中文關鍵詞: | 向量繪圖 、基於掃描線 、點陣化 、著色 |
| 外文關鍵詞: | vector graphic, scanline-based, rasterization, rendering |
| 相關次數: | 點閱:99 下載:4 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
現今的嵌入式系統對於向量圖形的需求日漸增加,OpenVG是為硬體加速所制定之底層(low-level) 二維向量和點陣化(raster)繪圖的規格;它提供和儀器設備與廠商無關(device independent and vendor-neutral)的二維繪圖介面。相較於基於像素以及基於邊緣的繪圖架構,在有一條掃描線大小的繞線匝數緩衝器之基於掃描線的架構是比較合適於嵌入式系統。然而,傳統之基於掃描線的架構有下列的弊病,首先,為了支援全高清(Full HD)解析度(1920x1080)而使用的繞線匝數緩衝器,其面積對於像數位電視等的嵌入式系統而言還是太大。接著,對於存在外部記憶體的邊緣,如果橫跨了j條掃描線,就必須被讀取j次。
本篇論文主要著重在架構一個支援全高清解析度且有效率的點陣化單元。在OpenVG標準中,一張向量圖形由路徑(path)所組成,而路徑的寬度通常遠小於一條掃描線的寬度,這意味著當一條路徑被繪製時,在傳統基於掃描線之架構的繞線匝數緩衝器有大部分的空間未被使用,因此,本篇論文提出可擴充式及可重組的掃描線繪圖架構。這個架構在繪製那些寬度大於所採用之緩衝器的路徑時,會有可擴充式的特性,而且能讓點陣化單元只在限制框(bounding box)的範圍內運作,減少可擴充式的架構所造成之記憶體存取次數增加的代價。此外,當路徑寬度小於或等於所採用之緩衝器一半寬度時,這個架構會有重組化的特性,可以在從記憶體讀取一條邊緣後,同時執行多條的掃描線的點陣化運算,這樣可以減少記憶體存取次數。而邊界邊緣測試演算法也被應用於進一步降低繞線匝數運算的複雜度,在使用TSMC 0.13-μm CMOS製程合成並且操作頻率在200 MHz的情況下,本篇論文所提出的設計需要的等效邏輯閘數(gate count)為85k。在理想的匯流排延遲時間下的模擬結果顯示出本設計可以每秒繪製16.8張的解析度392x483的老虎測試圖。而本篇的論文架構也在包含ARM926EJ和賽林斯Spartan-3系列FPGA板的虹晶CDK平台上驗證。
Nowadays embedded systems have an increasing demand for vector graphics; OpenVG is a royal-free application programming interface (API) specified for two-dimensional vector and raster graphics. Compared to pixel-based and edge-based rendering architectures, scanline-based rendering architectures with scanline-size memory buffer are more suitable for embedded systems. However, conventional scanline-based architectures have the following drawbacks. First, the area for scanline-sized buffer for Full HD (19201080) is still too large for embedded systems like digital TV applications. Second, edges which are stored in the external memory cross j scanlines must be access j times.
This thesis focuses on the efficient rasteriztion implementation for Full HD. In OpenVG, a vector graphic consists of paths. The width of a path is generally much smaller than that of a scanline. This implies that much space in a scanline-sized buffer is not used in conventional scanline-based architectures when a path is drawn. Thus, a scalable and reconfigurable architecture for scanline-based rendering is presented. The proposed architecture has scalability for performing the drawing of the path of which the width is larger than that of the employed buffer. The memory access overhead is reduced for only performing rasterization in the range of the bounding box. Furthermore, when the width of a path is smaller than or equal to a half of that of the employed buffer size, the proposed architecture is reconfigurable for accessing an edge once and performing rasterization for multiple scanlines. This reduces memory access times. Boundary edge test algorithm is also employed for reducing the complexity of the winding number computation. Implementation results based on TSMC 0.13-m CMOS technology show that the proposed architecture operates at 200 MHz with 85K gates. Simulation result using ideal bus latency shows that the proposed design can render 16.8 (392483) Tiger images per second. The proposed design was also verified on the Socle CDK platform including ARM926EJ and Xilinx Spartan-3 series FPGA.
[1] OpenVG 1.1 specification, Khronos Group Inc., Dec. 3, 2008.
[2] J. H. Park, K. Y. Lee, and J. C. Kwak, “A Design of OpenVG Accelerator for a Mobile Device,” in Proc. Int. Tec. Conf. Circuts/Sys.Comput. Commun., 2008, pp. 229-232.
[3] Y. Choi et. al., “A vector graphic accelerator for embedded systems,” in Proc. Int. Tec. Conf. Circuts/Sys.Comput. Commun., 2008, pp. 1633-1636.
[4] H. Lee and N. Baek, “AlexVG: an OpenVG implementation with SVG-Tiny support,” Comput. Standards & Interfaces, vol. 31, no. 4, pp. 661-668, June 2009.
[5] S. H. Kim, Y. Oh, K. Park, and W. W. Ro, “Hardware implementation of a tessellation accelerator for the OpenVG standard,” IEICE Electron. Express, vol. 7, no. 6, pp. 440-446, Mar. 2010.
[6] S. Ma, L. Huang, Z. Wang, and K. Dai, “Implementation of OpenVG path and paint algorithms on synchronous data triggered architecture with optimization,” IEEE Int. Conf. Networking Architecture Storage, 2009, pp.379-385.
[7] M. Robart, “OpenVG paint subsystem over openGL ES shaders,” IEEE Int. Conf. Consumer Electron., 2009, pp. 1-2.
[8] S. Y. Lee, S. Kim, J. Chung and B. U. Choi, “Salable vector graphics (openVG) for creating animation image in embedded systems”, Knowledge-based Intelligent Inform. and Eng. Sys., 2007, pp. 99-108.
[9] K. Cha, D. Kim, and S. I. Chae, “An optimized rendering algorithm for hardware implementation of openVG 2D vector graphics,” s2008 Int. SoC Design Conf., vol. 1, pp. 338-341, 2008.
[10] A. C. Naiman, “Jagged edges: When is filtering needed?,” ACM Trans. Graphics, vol. 17, no. 4, pp. 238-258, Oct. 1998.
[11] M. E. Goss and K. Wu, “Study of supersampling methods for computer graphics hardware antialiasing,” HP Laboratories, Tech. Rep., 1999.
[12] Y. N. Chang, “A fast spline curve rendering accelerator architecture,” IEEE Trans. Circuits and Sys. II: Express Briefs, vol. 56, no. 11, pp. 870-874, Nov. 2009.
[13] B. Ackland and N. Weste, “The edge flag algorithm – a fill method for raster scan displays,” IEEE Trans. Comput., pp. 41-48, Jan. 1981.
[14] J. Foley, A. vanDam, S. Feiner, and J. Hughes, Computer Graphics: pricinple and practice, Addision-Wesley, 1990.
[15] D. Kim, K. Cha, and S. Chae, “A high-performance OpenVG accelerator with dual-scanline filling rendering,” IEEE Trans. Consum. Electron., vol. 54, no. 3, pp. 1303-1311, Aug. 2008.
[16] R. Huang and S. Chae, “Implementation of an OpenVG rasterizaer with configurable anti-aliasing and multi-window scissoring,” in Proc. IEEE Int. Conf. Comput. Inf. Tech., 2006, pp. 179-184.
[17] K. Kallio, “Scanline edge-flag algorithm for antialiasing,” in Proc. Conf. Theory Practice Comput. Graphics, June 2007, pp. 81-88.
[18] Y. L. Shen, S. W. Seo, Y. Zhang, and H. C. Oh, “A low-hardware cost 2D vector graphic rendering algorithm for supersampling antialiasing,” in Proc. IEEE Int. Workshop Edu. Tech. Comput. Sci., 2010, pp. 141-144.
[19] AmanithVGTM testsuite. [online]. Available(06/2011): http://www.amanithvg.com/test- suite/amanithvg_gle/html/.
[20] T. Akenine-Moller and J. Strom, “Graphics processing units for handhelds,” Proc. IEEE, vol. 96, no. 5, pp. 779-789, May 2008.
[21] Khronos Group, OpenVG home page. [online]. Available(06/2011): http://www.khronos. org/openvg/.