Accelerating OpenVG and SVG Tiny with Multimedia Processors

멀티미디어 프로세서를 이용한 OpenVG 및 SVG Tiny의 가속

  • Received : 2010.03.12
  • Accepted : 2010.05.11
  • Published : 2011.06.01

Abstract

OpenVG and SVG Tiny are the most widely used 2D vector graphics technologies for outputs in the various embedded environments including smart phones. Especially, to show high refresh rates on the high resolution screens, it is necessary to effectively accelerate them. Until now, OpenVG and SVG Tiny are available as hardware implementations such as the fully-dedicated graphics chips or full software implementations. Currently available vector graphics silicon chips are relatively expensive and require high power consumption. In contrast, previous full software implementations show lower performance even with almost 100% CPU usages, which would disrupt other multi-threaded applications, In this paper, we present a cost-effective way of accelerating both of OpenVG and SVG Tiny, based on the multimedia-processing hardware, which is wide-spread on the media devices and mobile phones. Through the effective use of these multimedia processors, we successfully accelerated OpenVG and SVG Tiny at least 3.5 times to at most 30 times, even with lower power consumption and lower CPU usage.

스마트 폰을 비롯한 다양한 임베디드 환경에서 널리 쓰이는 2D 벡터 그래픽스 기술에는 OpenVG와 SVG Tiny가 대표적이다. 고해상도 화면에서 높은 재생속도의 벡터 그래픽스 응용을 위해서는, 이들을 효과적으로 가속해야 한다. 현재까지 OpenVG와 SVG Tiny의 구현방법에는, 전용 그래픽스 칩과 같은 하드웨어로 구현하는 방법과, 전체를 소프트웨어로 구현하는 방식이 있었다. 현재 시장에서 사용 가능한 벡터 그래픽스 전용 칩들은 상대적으로 고가에 큰 전력을 소비한다. 반면, 소프트웨어 구현에서는 100%에 가까운 CPU 사용률에서도 상대적으로 낮은 성능을 보이고, 이 경우에, 다른 멀티-쓰레드 응용프로그램들을 방해할 가능성이 컸다. 본 논문에서는, 현재 미디어 재생 기기들과 휴대폰들에 광범위하게 장착되어 있는 상용 멀티미디어용 하드웨어들을 사용하여 OpenVG와 SVG Tiny 양쪽 모두를 가속하는 비용대비 효과적인 방법을 제시한다. 멀티미디어 프로세서들을 효과적으로 사용함으로써, CPU 사용률과 전력소모량을 줄이면서도 OpenVG와 SVG Tiny를 최소 3.5배에서 최대 30배까지 성공적으로 가속할 수 있었다.

Keywords

References

  1. W3C consortium, Scalable Vector Grsphics (SVG) 1.1, second edition, Working Draft, 2010.
  2. W3C consortium, Mobile SVG Profiles: SVG Tiny and SVG Basic, 2009.
  3. Open Mobile Alliance, Wireless Application Protocol Architecture Specification, version 1.2,2000.
  4. Open Mobile Alliance, Multimedia Messaging Service, version 1.3,2009.
  5. Open Mobile Alliance, Dynamic Content version 1.0,2008.
  6. Java Community Process, ISR226: Scalable 2D Vector Graphics APl for J2ME, 2006.
  7. Java Community Process, ISR287: Scalable 2D Vector Graphics API 2.0 for Java ME, 2009.
  8. Java Community Process, JSR271: Mobile Information Device Profile 3, 2009.
  9. ISO, ISO/IEC 14496-20:2008 - Information technology - Coding of audio-visual objects - Part 20: Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF), 2009.
  10. W3C consortium, HTML 5, Working Draft, 2010.
  11. IDPF, Open Publication Structure (OPS) 2.0, Recommended Specification, 2007.
  12. Macromedia Inc., Macromedia flash developer center, http://www.adobe.com/devnet/flash.
  13. Cairo, "Cairo: A Vector Graphics Library", http://cairographics.org/manual.
  14. Silverlight, "The Official Microsoft Silverlight Site", http://silverlight.net/.
  15. Adobe Systems Inc., PostScript Language Reference Manual, 3rd ed., Addison-Wesley, 1999.
  16. D. Kim, K. Cha and S. Chae, "A high performance OpenVG accelerator with dual-scanline filing rendering", IEEE Transaction on Consumer Electronics, 54(3):1301-1311, 2008.
  17. M. Robart, "OpenVG paint subsystem over OpenGL ES shaders", Digest of Technical Papers lntemational Conference on Consumer Electronics, 2009
  18. D. Rice, and R. J. Simpson, OpenVG Specification, version 1.1, Khronos Group, 2008.
  19. O. Andersson, et.al., Scalable Vector Graphics (SVG) Tiny 1.2 Specification, W3C, 2008
  20. H. Lee and N. Baek, "AlexVG: An OpenVG implementation with SVG-Tiny Support", Computer Standards & Interfaces, 31(4):661-668, 2009. https://doi.org/10.1016/j.csi.2008.06.010
  21. Khronos Group, Khronos group home page, http://www.khronos.org/
  22. 이범렬 외, "모바일 3D API 기술 표준화 연구", 전자통신동향분석 제 20 권 제 4 호: 110-119, 2005 년
  23. Amanith, AmanithVG GLE, http://www.amanithvg.com/project.html
  24. Hooked Wireless, http://www.hookedwireless.com/OpenVG.html