However, new applications as multimedia need more and more important bandwidth in data transmission, with real time and synchronisation mechanisms which are not yet guaranted in Internet.
Nevertheless Internet and its Multimedia evolution seem to be inescapable.
This paper describes an implementation allowing an interactive access to multimedia documents from heterogeneous stations.
Our aims in the Multimedia Platform project is to provide experiences in a lot of technologies in order to bring solutions to respond to these evolution requirements.
Mark-up Language (HTML), independent platform programming language (Java) and navigation browsers (Netscape) are now more and more inescapable in the Internet world so multimedia applications and their associated standards (MHEG) have to be based on such languages. In Network technologies, new protocols are going to be used in order to implement quality of service over Internet (RSVP) and can be routed over low ATM layer (AAL 5) :
HTML (Hyper Text and Mark-up Language) allows to describe hypertext documents composed of monomedias informations (text, images, ...) and anchors to remote documents or java programms.
* However it does not offer synchronisation mechanisms between multimedia sources.
Netscape, the most widespread navigation browser for the World Wide Web allows to display HTML pages and to run Java programs.
* However it supports multimedia only via external helpers. An external helper is a specific external process dedicated to one particular task (e.g.mpeg_play).
Java, a platform independent programming language, allows to execute the same code for different platforms (Sun, PC, Mac, ...) and provides some classes to write multimedia applications.
* However, multimedia applications directly encoded in Java will be specific and will not respect any standard. Each programmer will have to develop his own internal mechanisms to manage the description, the interactivity and the behaviours of his multimedia documents. The lack of standard would forbid for instance to play in the same viewer several specific multimedia documents developped by different providers .
MHEG (Multimedia and Hypermedia information coding Expert Group) is an emerging standard in the professional multimedia world. It was retained by the DAVIC Consortium (Digital Audio-VIsual Council) for Video On Demand and Interactive TV applications. It allows a description of complex data which composes a multimedia document (images, sounds, texts, video, ...) and provides a formal syntax describing the relationships between these data with their dynamic behaviours (synchronisation, interactivity, ...).
* However, for the transmission of such a MHEG object from a MHEG server to a MHEG client, the MHEG object has to be coded into the transmission language ASN.1. In the MHEG Client , the coded MHEG object has to be decoded. The MHEG Client has also to previously know how to manage the specific behaviour of the MHEG object since only the static description of the MHEG object is exchanged with ASN.1.
ATM (Asynchronous Transfer Mode) provides broad band network with flexibility in bandwidth allocation and efficient multiplexing systems to support multimedia applications.
* However specifs procols (AAL1,AAL3) are not compliant with existent applications.
Internet provides the widespread environment for new multimedia applications.
* However it needs to support data transmission with Quality Of Services .
For our multimedia transportation we chose to implement IP over ATM to be compliant with the existing applications but we decided to add reservation protocol (RSVP) to bring Quality Of Services over classical Internet Protocol.
After many MHEG experiences, we decided to code our MHEG objects directlty in a Java representation. The main difference with other solutions using Java programming language in MHEG is to have a complete java implementation instead of using a classical ASN.1 intermediate format.
As Java works on independent platform, a same Java coded representation of MHEG objects could be executed on different platforms without any recompilation.
* We use Java as an independent platform language to keep the ability to carry objects on heterogeneous platforms without the long coding and decoding ASN-1 phases.
* We use Java as an Object Oriented Language to allow a description as close as possible to the MHEG recommendation.
* We use Java as an Interpretable Language to carry not only the description of the MHEG objects (content, spatial positions, interactivity, relationships between monomedia contents, specific behaviours of the objects, ...) but we carry also in the methods of the MHEG objects the way to manage and visualize the MHEG document.
Our implementation of MHEG classes in Java provides the following functionnalities:
- support for final form representation,
- support for systems with minimal resources,
- support for interactivity and multimedia synchronisation,
- support for real time presentation,
- support for executable interchange format,
as a common base for interactive multimedia and hypermedia applications.
Now with our java library of MHEG classes a programmer can create and provide on the network his own Interactive Multimedia Documents (e.g. CD-ROM On Line) which will be compliant to the MHEG standard and directly runnable under the most popular Internet browser (Netscape).
More over, our vision of MHEG permits us to be more close to the MHEG script notion described in MHEG 6. In fact, if MHEG script are coded in Java byte code, it can be loaded (with the Java ClassLoader mechanism) in the same context that object it may reference.