SVG2MHP: A Content Transformation System for the Multimedia Home Platform

The Multimedia Home Platform (MHP) is an international standard for broadcasting applications and deploying them on end users TV sets via Digital Video Broadcasting (DVB). MHP applications allow TV program producers to enrich their product by allowing the viewer to interactively participate in a TV show or access additional information. Since MHP applications are freely programmable the possibilities to enhance a viewer's TV experience are endless.

In this work we present SVG2MHP, a tool to automatically convert SVG Documents into independent Java applications running on the MHP. Besides visual prototyping, SVG2MHP allows the development of complete, animated and interactive applications using standard declarative SVG animations (SMIL) and embedded scripts.

SVG was chosen as the input format for SVG2MHP for a number of reasons. First it is expressive enough to easily describe the graphical user interface elements of an MHP application. Furthermore, SVG is based on XML and therefore extensible, allowing the seamless integration of MHP specific markup to specify DVB stream events, remote control buttons, video position etc. It is also computer parsable and writable allowing for automatic content manipulation needed for a dynamic medium as TV. The benefits for applications such as stock tickers or quiz games are immense. Content creators and artists can easily create the user interfaces for MHP applications using well-known drawing applications or even just a normal text editor and reuse a plethora of content already available in the SVG format.

As the MHP specification only sets very few requirements to the hardware of digital TV terminals (Set Top Boxes), we had to face the fact that - since cost is an important factor - there might be rather poor computing power available for applications. With SVG Tiny (SVGT) a subset of SVG addressing hardware limitations is already available. In fact we observed that SVGT is an even better fit for the current Set Top Boxes. It can be rendered despite the hardware restrictions but still supports all the graphic primitives needed for user interfaces appropriate for TV screens. By optionally pre-rasterizing elements to images, even complex filtering and font facing capabilities of standard SVG are supported although they are then no longer animatable.

Using a conventional SVG viewer such as Batik's Squiggle was not possible for SVG2MHP due to the aforementioned memory, CPU and size limitations. For each SVG document a unique application is therefore compiled including only the code needed to display that document. SVG2MHP works basically as a content transformation pipeline having a standard SVG Document as input and a compiled and runnable MHP Java class and a binary representation of a simplified DOM tree of this Document as its output. These can be broadcasted directly over any DVB channel.

The capability for true user interaction with a standardized remote control must be regarded as one of the key features of the MHP. Since keyboard interaction is not specified for SVG documents SVG2MHP incorporates a simple solution using a separate XML namespace. The elements in this namespace allow a mapping between remote control keys and Java code that is run when a key is pressed. The decision for Java as "scripting" language was mainly driven by performance reasons: interpretation of any true scripting language would simply be too costly. Our approach also has the advantage that one can directly use the standard Java APIs for MHP applications and easily manipulate the simplified DOM tree. Besides assigning scripts to keyboard events it is also possible to run scripts after loading and unloading an application. In the near future, scripts triggered by stream events broadcasted by TV stations will be supported as well.

We believe that SVG2MHP is a prime example of how proven and powerful technologies in one domain (SVG in 2D vector graphics and XML as its markup language) can help bootstrap the emerging technologies in another domain (MHP applications broadcasted to a TV set via DVB). With SVG2MHP SVG has found an entirely new domain in its usage as major component in the rapid application development for interactive, next generation TV.