AlexVG: an OpenVG implementation

In these days, there are lots of needs for vector graphics facilities, including SVG and its applications. Especially in the web environment, SVG(scalable vector graphics) becomes one of the most important components. We also have recent emphasis on the graphics facilities for embedded systems. In the field of SVG, they provide SVG Tiny for embedded systems including mobile phones. On the other hand, Khronos group focuses on the embedded programming environment and provides various graphics standards for embedded systems. Among them, OpenVG is designed to support 2D vector graphics facilities on the embedded systems.

From the view point of SVG, OpenVG covers most of SVG Tiny rendering functions. In contrast, OpenVG does not provide other SVG Tiny features, including scene graph handling, parsing, animation, scripting and so on. These features should be independently implemented. We aim to fully implement the mobile 2D environment, in which overall features from various embedded graphics standards including SVG Tiny, OpenVG, etc. In this paper, as the most fundamental step to this goal, we presented our OpenVG engine, AlexVG, with SVG Tiny rendering support.

AlexVG, our commercial OpenVG implementation, is based on the OpenVG pipeline architecture, and implemented using the C programming language. We use fixed-point number representation for more effective calculation of real numbers, since current embedded systems are usually lacking in the floating-point acceleration hardware. We also solved some implementation issues including the followings:

We focused on the efficient and effective implementation for mobile and embedded devices with limited resources.

AlexVG, our OpenVG implementation was already verified through developing some SVG Tiny applications including SVG Tiny players. Now, it is also under its official conformance test. In the near future, AlexVG will become an integrated programming environment, which supports almost all graphics standards related to SVG Tiny and its applications. For more technical details, visit our official AlexVG web site, http://www.alexvg.com/.