From Media Annotations Working Group Wiki
Jump to: navigation, search

Analysis of the MPEG eXtensible Middleware (MXM) API for the API for Media Object

Reviewer: VictorRodriguez

MXM Description

MXM is a collection of MPEG and non-MPEG technologies organised in a middleware with standard APIs to implement harmonious media-handling devices, whose standardization is undergoing (and still at an early stage. Visit the current documents here). It is strongly based on the Chillout project.

The main goal of MXM is to enable the easy design and implementation of media-handling value chains whose devices interoperate because they are all based on the same set of technologies, especially technologies standardised by MPEG, accessible from the MXM middleware.

MXM structure

The scope of the MXM standard is to

  • Specify the MXM API for Applications (either Java or C++)
  • Specify protocols for MXM to MXM communication.
  • Specify the MXM architecture and APIs of MXM components,
  • Reference the technologies that are part of an MXM implementation
MXM architecture

Relevance of MXM for the Media Object API

The MXM is interesting for the MAGW because:

  • It is a relevant and recent API to handle Media Objects
  • It is an API designed pretending to accomodate and abstract different underlying technologies
  • It will also provide methods for handling video metadata

The MXM is not so interesting because:

  • It is not an API based or related to an Ontology
  • Its scope is much broader than the aimed simplicity of the API for Media Object
  • It is at an early stage of definition (perhaps it will become Comittee Draft by February'09)

By comparison, the MXM analysis may pose the following questions to the MAGW:

  • Which will be the programming language for the API specification?
    • Java?
    • UML?
    • A fake WSDL file? Others?
  • How will the API be coupled to the ontology? - (Although perhaps this is only affects the implementation and not the API definition)
    • The API is based on the ontology “in spirit” (perhaps the most simple and best approach)
    • The API actually checks the ontology (this would enhance the flexibility against future changes/updates)
  • MXM emphasizes the definition of an interface between MXM tools. Should we define mechanisms for the dialogue between Media Object-based applications? (probably not)