MPEG-4 Systems MPEG-J

1. What is MPEG-J?
2. What are MPEGlets?
3.Can an MPEGlet implementaion belong to any arbitrary package ?
4. Are Multiple MPEGlets possible in the same MPEG-4 scene? Can Multiple MPEGlets be aware of each other ?
5. Can an MPEGlet be made aware of the removal of particular node or any changes in the scene?
6. Can Multiple scenes be accessed by a single MPEGlet ?
7. What APIs can be used in an MPEGlet implementation?

1. What is MPEG-J?

MPEG-J is an extension of MPEG-4 that allows the use of Java classes within MPEG-4 content. It allows an audio-visual session to be adapted to the operating characteristics of the terminal. Important characteristics are, for example, the capability to allow graceful degradation under limited or time varying resources and the ability to respond to user interaction to allow programmatic control of the terminal to facilitate the integration of features for applications such as set top box, interactive games and mobile AV terminals in MPEG-4. These features will enable a high level of interaction for both local and remote terminal control. The Java code will be able to create and modify scenes, participate fully in the scene interaction model and control media decoders. It will also be able to generate GUI components to directly implement application functionality. However, the Java code will not participate in the data flow of real-time media, e.g., implementing a video decoder, in order to ensure high quality media decoding. It will be received by an MPEG-4 terminal in its own elementary stream, and will be associated with the scene using a special node and the regular object descriptor facilities.

2. What are MPEGlets?

Java MPEG-J Applications that are streamed to the client along with the MPEG-4 media is called MPEGlets. MPEG-J allows both local and remote applications. The remote applications that are streamed to the client in an MPEG-J elementary stream is called an MPEGlet.

3.Can an MPEGlet implementaion belong to any arbitrary package ?

The MPEGlet cannot be part of an already existing package as the existence of packages other than those defined by MPEG-J cannot be assumed.

4. Are Multiple MPEGlets possible in the same MPEG-4 scene? Can Multiple MPEGlets be aware of each other ?

Yes. It is possible to have multiple MPEGlets in the same scene. No, multiple MPEGlets cannot be assumed to run on the same virtual machine.Therefore, an MPEGlet cannot be aware of another MPEGlet.

5. Can an MPEGlet be made aware of the removal of particular node or any changes in the scene?

This can be easily done by registering for notifications of changes in the scene. When notified, the fields of any node can be examined for the existence of its children or values of the fields. It is even possible to have an eventout from the parent node for this notification.

6. Can Multiple scenes be accessed by a single MPEGlet ?

Yes, in the case of a local MPEG-J application. No, for MPEGlets (remote applications) as the namescope of MPEGlets is limited to the namescope of its OD.

7. What APIs can be used in an MPEGlet implementation?

An MPEGlet can use the Java packages java.io, java.lang, java.util from the underlying platform.It can also use the APIs from the following packages defined by MPEG :

  • org.iso.mpeg.mpegj
  • org.iso.mpeg.mpegj.resource
  • org.iso.mpeg.mpegj.net
  • org.iso.mpeg.mpegj.scene
  • org.iso.mpeg.mpegj.decoder

The DAVIC SI and SF APIs are also normatively referred by MPEG-J.

Webmaster