28.06.2013 Views

Papers in PDF format

Papers in PDF format

Papers in PDF format

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.1 Design and Implementation of an MHEG-5 Eng<strong>in</strong>e<br />

This section describes the design and implementation work which is be<strong>in</strong>g carried out by the authors. The<br />

process or set of processes that <strong>in</strong>terpret MHEG-5 objects and deliver them to an application for<br />

presentation is referred to <strong>in</strong> the standard as an MHEG-5 eng<strong>in</strong>e. A l<strong>in</strong>k eng<strong>in</strong>e processes such events and<br />

associated data, and fires the l<strong>in</strong>ks that have their l<strong>in</strong>k condition satisfied. The model adopted by the<br />

authors is shown <strong>in</strong> Figure 1.<br />

The Object Processor (OP) is the module responsible for the effective <strong>in</strong>terpretation of MHEG-5 objects<br />

and execution of actions. When L<strong>in</strong>k objects have to be activated, the OP registers them <strong>in</strong> the L<strong>in</strong>k<br />

Eng<strong>in</strong>e (LE), where a table mapp<strong>in</strong>g L<strong>in</strong>k-Conditions <strong>in</strong>to L<strong>in</strong>k-Effect is kept. The Object Store (OS)<br />

supplies prepared objects to the OP, and the Object Decoder (OD) deals with decod<strong>in</strong>g and prepar<strong>in</strong>g<br />

MHEG-5 objects.<br />

When the MHEG-5 eng<strong>in</strong>e 1 is first activated, it runs a cold start process to retrieve the first Application<br />

object to be processed. From this first object users can choice their desired Application object.<br />

Once the OP gets the identification of the object to be processed, it requests the prepared object from the<br />

OS module. The OS keeps a cache with Scene objects prepared <strong>in</strong> advance, with the aim of m<strong>in</strong>imize<br />

access time, and objects that had been active before and have high probability to become active aga<strong>in</strong> <strong>in</strong> a<br />

short time. If the OS does not have the required object, it requests the OD to decode the object and then<br />

prepares it.<br />

Based on the type of the object, the OP knows what attributes to look for <strong>in</strong> the data structure result<strong>in</strong>g<br />

from the object preparation. If it is process<strong>in</strong>g an Application or Scene object then it starts the execution<br />

of the Action object specified <strong>in</strong> their On-Start-Up attribute. All elementary actions are queued and<br />

processed accord<strong>in</strong>gly. L<strong>in</strong>k objects found by OP <strong>in</strong> Scene or Application objects are activated and<br />

registered at the L<strong>in</strong>k Table.<br />

Some events may occur as a consequence of the OP process<strong>in</strong>g activities (synchronous events) or<br />

generated by processes that are asynchronous to the MHEG-5 eng<strong>in</strong>e, e.g. user <strong>in</strong>teractions, fir<strong>in</strong>g of the<br />

timer, etc. In the later case, the occurrence of events are passed on to the OP through the primitive<br />

External Input(). These external events are translated to proper events recognized by the standard and,<br />

same as happen with the synchronous events, they are reported to the LE module.<br />

Present()<br />

Presentation and User Interface<br />

Action Queue<br />

Event Table<br />

Object Processor<br />

Is Avaiable<br />

Object<br />

Store<br />

Cache<br />

External Input()<br />

ReportEvent()<br />

Register<br />

L<strong>in</strong>k()<br />

: :<br />

Request Object()<br />

Prepare Object()<br />

MHEG Object<br />

Object Decoder<br />

Prepared Object<br />

Process<br />

Action()<br />

L<strong>in</strong>k Table<br />

L<strong>in</strong>k Eng<strong>in</strong>e : :<br />

Load Object()<br />

Figure 1: MHEG-5 eng<strong>in</strong>e model<br />

[1] An MHEG-5 eng<strong>in</strong>e can be seen as an application that takes MHEG-5 objects as <strong>in</strong>puts and provides<br />

their presentations<br />

Network<br />

ASN.1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!